Sie sind hier

Seitengröße seitenweise anpassen

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

Bild von Markus Kohm

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.

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.

\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}
\KOMAoptions{paper=10cm:5cm}
\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. 
}}
\newpage
\KOMAoptions{paper=10cm:15cm}
\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}

Ich möchte also die Seitengröße seitenweise (an die shadowbox) anpassen.

Besten Dank
Christian

Bild von Markus Kohm

Deshalb nur zwei kleine Hinweise, dann muss ich weg:

  • Du musst noch eine Neuberechnung veranlassen, damit das neue Papierformat auch Auswirkungen auf den Satzspiegel haben. Das geht u. a. mit \recalctypearea oder \areaset.
  • Du solltest Option 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.

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 mit areasetund der entstehenden Positionierung noch ein paar Worte erklären?

Besten Dank
Christian

\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}
\KOMAoptions{paper=8.6cm:3.5cm,pagesize}
\areaset{9cm}{3.2cm}
\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. 
}}
\newpage
\KOMAoptions{paper=12.6cm:4.5cm,pagesize}
\areaset{13cm}{4.2cm}
\shadowbox{\parbox{12cm}{%
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. 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}
Bild von Markus Kohm

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, ändert paper aber wirklich nur das Papierformat. Es führt nicht zu einer Neubrechnung des Satzspiegels und der Ränder. Eine solche erreicht man nur mit Option DIV, 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 per

eine 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.

Mit Deiner umfangreiche Antwort konnte ich die Einstellungen noch einmal verbessern.

Vielen Dank!
Christian

Bild von Markus Kohm

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.

Comments for "Seitengröße seitenweise anpassen" abonnieren