Hallo,
für meine Bsp. möchte ich die Seitengröße für jede Seite im PDF individuell anpassen. Dies ist notwendig, da ich auf jeder der PDF-Seiten ein Bsp. erzeuge und dies direkt mit \includegarphics[page=Seite]{pdfdatei}
einbinde.
Wie könnte man so eine Seitenpassung vornehmen?
Folgendes MB zeigt ein Testbsp. an die ich die Seitengröße anpassen möchte.
\documentclass[fontsize=8pt]{scrreprt} \usepackage[ngerman]{babel} \usepackage[T1]{fontenc} \usepackage[latin1]{inputenc} \usepackage{microtype} \usepackage{fancybox} \usepackage{shadow} \setlength\sdim{4pt} \begin{document} \pagestyle{empty} \shadowbox{\parbox{8cm}{% das ist etwas text als bsp. das ist etwas text als bsp. das ist etwas text als bsp. das ist etwas text als bsp. das ist etwas text als bsp. das ist etwas text als bsp. das ist etwas text als bsp. das ist etwas text als bsp. das ist etwas text als bsp. das ist etwas text als bsp. das ist etwas text als bsp. das ist etwas text als bsp. das ist etwas text als bsp. das ist etwas text als bsp. das ist etwas text als bsp. das ist etwas text als bsp. das ist etwas text als bsp. das ist etwas text als bsp. das ist etwas text als bsp. das ist etwas text als bsp. }} \end{document}
Beste Grüße
Christian
Rückfrage
Verstehe ich Dich richtig, dass es Dir darum geht, unterschiedlich große PDF-Seiten in eine Dokument einzubinden und sich die Seitengröße im einbindenden Dokument nach der Originalgröße der eingebundenen PDF-Seiten richten soll? Falls das so ist, geht das am einfachsten mit Hilfe des Pakets pdfpages. Dort gibt es Optionen, um die Anpassung der eingebundenen Seiten ein und aus zu schalten (siehe Anleitung zum Paket).
Ansonsten kann man bei KOMA-Script seit Version 3.00 die Seitengröße und den Satzspiegel per
\KOMAoptions
auch im Dokument ändern. Näheres ist der Erklärung der genannten Anweisung und der entsprechenden Optionen in der KOMA-Script-Anleitung zu entnehmen. Falls Du damit nicht klar kommen solltest, bitte möglichst konkret weiter nachfragen.Konkreter
Hallo Markus,
Teilweise. In der "BeispielPDFDatei" geht es mir darum, jedes Bsp. mit einer kleinen Schriftgröße (s. scrreprt-Option) auf einer extra Seite zu platzieren. Dabei möchte ich jede Seite in der Größe individuell, dem Bsp. entsprechend, anpassen können. Es würden also in der "BeispielPDFDatei" mehrere Seiten mit unterschiedlichen Dimensionen entstehen.
In der "ErklaerDatei" werde ich die entsprechende Seite der "BeispielPDFDatei" mit
\includegraphics[page=X]{BeispielPDFDatei}
einbinden (\includegraphics
verwende ich wegen Kompatibilität zu latex2html). Deswegen auch die anpassbare Seitengröße.Im folgenden MB habe ich
\KOMAoptions{paper=Breite:Höhe} verwendet, leider zeigt sich in der Seitengröße kein Unterschied zu A4. Die Box ist auf beiden Seiten an der gleichen Position, ändert diese aber wenn <code>Breite:Höhe
geändert werden.Ich möchte also die Seitengröße seitenweise (an die shadowbox) anpassen.
Besten Dank
Christian
Ich habe gerade keine Zeit
Deshalb nur zwei kleine Hinweise, dann muss ich weg:
\recalctypearea
oder\areaset
.pagesize
verwenden, damit die Papiergröße überhaupt im PDF landet und ggf. dort auch bei Änderungen angepasst wird.Falls das noch nicht reicht, um Dein Problem zu lösen, bitte Bescheid geben. Dann schaue ich mir das näher an, sobald ich Zeit habe.
Hat etwas gebracht
Das folgende MB zeigt meine Einstellung, richtig verstanden habe ich die Vorgehensweise - auch mit KOMA-Script - jedoch noch nicht. Kannst Du bitte zu den
paper
-Einstellungen in Verbindung mitareaset
und der entstehenden Positionierung noch ein paar Worte erklären?Besten Dank
Christian
Was paper macht und was nicht
Zunächst einmal ist zu erwähnen, dass TeX selbst die Papiergröße nicht kennen muss. TeX braucht nur den vertikalen und horizontalen Abstand von der letzten Box bzw. vom oberen linken Eck der gerade begonnen Box. Das gleiche gilt für das DVI-Format. Bei anderen Dateiformaten (oder Seitenbeschreibungssprachen) kann es ganz anders aussehen. So kann beispielsweise der Ursprung statt irgendwo links oben irgendwo links unten liegen. In dem Fall muss man die Höhe kennen, um Positionen korrekt umzurechnen. Bei PS und PDF kommt hinzu, dass sie in der Lage sind, Informationen über die Mediengröße (aka Seitengröße oder BoundingBox) zu speichern. Damit kann dann ein Ausgabegerät beispielsweise das korrekte Ausgabemedium wählen oder ermitteln, ob es zur Ausgabe überhaupt in der Lage ist oder die Ausgabe passend skalieren oder überstehendes nicht mit auszugeben.
Letzteres ist beispielsweise etwas, was beim PS-Preview gerne gemacht wird. Ggf. wundern sich Anwender dann, wenn der Drucker noch etwas mit ausgibt, was außerhalb der BoundingBox lag.
Da TeX und DVI keine Papiergrößeninformationen vorsehen, bietet das Programm dvips bietet die Möglichkeit per
\special
-Anweisung eingefügte Papiergrößeninformationen in die PS-Datei zu übernehmen.\special
ist eine Möglichkeit, treiberabhängige Anweisungen oder Informationen bereitzustellen, die TeX selbst als Box ohne Ausdehnung (so etwas wie \rule{0pt}{0pt}) wertet – sogenannte whatsits.pdfTeX wiederum hat zwei spezielle Längenregister, um diese Informationen aufzunehmen. VTeX hat so etwas ebenfalls, aber nicht genau wie pdfTeX.
KOMA-Script bietet nun optional, nämlich über die Option
pagesize
sowohl dvips, also auch pdfTeX als auch VTeX über die Papiergröße zu informieren. Für dvips funktioniert das leider nur vor der Ausgabe der ersten Seite. Zwar kann man theoretisch auch später noch PS-Code für entsprechende Änderungen in ein Dokument einfügen, Previewer wie gv oder GSView schalten die Anzeige dann aber nicht mehr um. Bei PDF sieht es viel besser aus. Änderungen an den entsprechenden Registern von pdfTeX oder VTeX werden in die PDF-Ausgabe übernommen und auch von PDF-Viewern beachtet.Ändert man also im Dokument das Seitenformat und hat min. einmal die Option pagesize verwendet, dann reagieren PDF-Viewer in der Regel darauf.
Voraussetzung ist, dass man das Seitenformat mit der Option
paper
ändert, weil KOMA-Script das selbst sonst nicht mitbekommt. Wie der KOMA-Script-Anleitung zu entnehmen sein sollte, ändertpaper
aber wirklich nur das Papierformat. Es führt nicht zu einer Neubrechnung des Satzspiegels und der Ränder. Eine solche erreicht man nur mit OptionDIV
,BCOR
oder eben durch die Anweisungen\typearea
,\areaset
oder\recalctypearea
. Der Grund dafür ist einfach: Es gibt Leute, die das genau so haben wollen, etwa Leute, die unter Beibehaltung des oberen, unteren und linken Randes, eine A3-quer-Seite einbinden wollen und darauf pereine Abbildung im Querformat setzen wollen. Die Querseite wird dann später gefaltet und fertig. Im Extremfall soll die Seite dann eine längere Kopf- oder Fußzeile bekommen, was wiederum über das scrpage2-Paket durchaus realisierbar ist.
Damit nun alles klar? Wenn Du – nach nochmaligem Nachlesen aller genannten Optionen und Anweisungen in der KOMA-Script-Anleitung zu KOMA-Script 3 – verstanden hast, dass es genügt, die Option
pagesize
einmal in der Präambel, vorzugsweise als optionales Argument von\documentclass
zu setzen, dann dürftest Du obiges verstanden haben.Besten Dank
Mit Deiner umfangreiche Antwort konnte ich die Einstellungen noch einmal verbessern.
Vielen Dank!
Christian
Änderung in der aktuellen CVS-Version
Ich habe übrigens am Wochenende eine halbe Nacht experimentiert, um zu sehen, ob es doch möglich ist, mit dvips die Papiergrößenänderung so in die PS-Datei zu bekommen, dass sie angezeigt und bei der Weiterverarbeitung beispielsweise in ein PDF übernommen wird. Dabei gibt es leider die Einschränkung bei dvips, dass man nicht unmittelbar vor dem Beginn einer Seite Material einschleusen kann, bzw. man kann das nur für alle Seiten über Präambel-Daten machen. Es gibt aber die Möglichkeit, alle Seiteninformationen zu verwerfen und dann neu anzufangen. Genau das macht die aktuelle Entwicklerversion von typearea jetzt. Man darf dann nur zwischen der Neuberechnung des Satzspiegels und der Ausgabe der Seite keine everyshi-Dinge machen. Die gingen nämlich komplett verloren. Notfalls kann man das Feature per
\KOMAoptions{pagesize=pdftex}
oder\KOMAoptions{pagesize=false}
vor der Neuberechnung des Satzspiegels abschalten.Ich betrachte das trotzdem nicht als ideale Lösung. Besser wäre es, dvips so zu erweitern, dass das mit dem pagesize-special innerhalb des Dokuments entsprechenden Code selbst am Anfang der Seite einfügt. Leider habe ich keine Zeit, mich auch noch damit zu befassen.
pdfTeX ist dvips an der Stelle jedenfalls weit überlegen.