Sie sind hier

pdf \setpapersize

Hallo, ich versuche gerade, ein Dokument mit benutzerdefiniertem Seitenformat zu erstellen. Ich bekomme die richtige typearea, aber das Format der Seite bleibt A4 (im dvi und dem daraus hergestellten pdf), es sei denn ich verwende pdflatex, was sich aber wiederum nicht mit ledmac vertraegt, so dass ich es bei diesem Dokument nicht verwenden kann. Waere fuer jeden Rat dankbar! Barbara

\documentclass{scrbook}
\usepackage{ledmac}
\usepackage{vmargin}
\setpapersize[portrait]{custom}{16.0cm}{24.0cm}
\setmarginsrb{1.8cm}{1.7cm}% left, top
{3.3cm}{3.3cm} %right, bottom
{1.4cm}{0.3cm}%head height, sep
{0cm}{0cm}% foot height, sep

Bild von Markus Kohm

Das Paket jongliert beispielsweise mit \hoffset und \voffset in einer Weise, die schon DEK in The TeXbook nicht empiehlt. Wenn Du also unbedingt die Ränder selbst setzen willst, dann empfehle ich das Paket geometry. Unabhängig von dessen Verwendung sei außerdem die Verwendung der KOMA-Script-Option pagesize empfohlen.

Beide Empfehlungen finden sich übrigens auch in der KOMA-Script-Anleitung.

Ob im DVI etwas anderes als A4 angezeigt wird, hängt übrigens stark von DVI-Viewer ab. Das DVI-Format kennt nämlich gar kein Papierformat. Hier ist eine automatische Formateinstellung deshalb nur möglich, wenn der Viewer beispielsweise dvips-specials für das Papierformat auswertet und diese auch – beispielsweise durch Verwendung der oben genannten Option – in der DVI-Datei vorhanden sind. Zwingend ist das für DVI-Viewer nicht.

Frage am Rande: Was hat ledmac mit der Verwendung von pdfTeX zu tun? Ich sehe nicht, wieso man nicht pdflatex zusammen mit ledmac verwenden können sollte.

Danke, das probiere ich gleich mal aus! Ledmac muss latex drei Mal durchlaufen lassen, um eine korrekte Fussnotennumerierung zu erzeugen, und das geht mit pdflatex nicht - ich habe es auch schon ausprobiert.

Ohne ledmac, in einer beliebigen Testdatei, sieht es so aus: Wenn ich mit latex eine dvi Datei erzeuge, und sie mir in xdvik ansehe, bekomme ich eine A4 Seite mit der korrekten typearea, und so sieht auch das pdf aus, das ich daraus erzeuge. Wenn ich hingegen pdflatex verwende, bekomme ich ein pdf von 16 zu 24 cm mit der korrekten typearea, also genau das, was ich auch eingestellt habe.

Was ich an der ganzen Sache nicht begreife, ist die korrekte typearea im dvi. Die Raender sind ja schliesslich relativ gesetzt, das heisst, ich ziehe von den 16 zu 24 cm die Raender ab - wo genau springt das wieder auf A4 zurueck?

Das Buch muss zum Verlag, und im Moment kann ich nur die Einleitung formattieren, nicht aber die Textausgabe (sehr lang und kompliziert). Wenn es nicht klappt, muss ich eben das pdf zurechtstutzen, auch wenn das keine besonders elegante Loesung ist. Hat jemand damit Erfahrung??

I will keep you posted!

Barbara

Bild von Markus Kohm

Mach mal ein vollständiges Minimalbeispiel bei dem das angeblich nicht funktioniert. pdfTeX ist aufwärtskompatibel zu TeX. Das einzige, was mit pdfTeX im PDF-Modus nicht funktioniert ist, wenn man \special-Anweisungen benötigt, die pdfTeX nicht kennt, beispielsweise Postscript-specials für dvips. ledmac verwendet aber AFAIK keine \special-Anweisungen, schon gar nicht für Fußnoten.

Es springt auch nichts auf A4 zurück. Wie ich bereits erklärt habe: Damit ein DVI-Treiber eine Seite in einem bestimmten Format anzeigen kann, muss er wissen, welches Format das sein soll. In der DVI-Datei steht aber nichts über das Format. Da stehen nur Dinge wie: gehe y Einheiten vertikal weiter, gehe x Einheiten horizontal weiter, setze ein »A«, usw. Wie ich schon sagte, benötigt man zusätzliche Informationen im DVI, um das Seitenformat anzugeben. Solche zusätzliche Informationen kann man bei TeX/DVI per \special-Anweisung setzen. dvips definiert ein solches \special für das Papierformat. DVI-Treiber müssen die \special-Angaben aber nicht auswerten. Darüber hinaus wird ein solches \special von KOMA-Script nur dann eingefügt, wenn Du die bereits erwähnte Option pagesize verwendest. vmargin macht das nicht einmal optional. Ohne das \special wird _jeder_ DVI-Treiber – auch dvips – einfach das Format nehmen, das bei ihm als Default eingetragen ist. Das ist bei Dir offenbar A4.

Bei pdfTeX mit PDF-Ausgabe wird das Papierformat hingegen über spezielle Register gesetzt. Das funktioniert eventuell auch, ohne dass man besagte Option pagesize verwendet. Auf der sicheren Seite ist man jedoch mit deren Verwendung.

Also nimm bitte die genannte KOMA-Script-Option und setze Papierformat und Ränder, wenn diese fest vorgegeben sind, mit geometry, wie das in der KOMA-Script-Anleitung und auch hier von mir empfohlen wird. Dann wird das auch funktionieren. Solange Du Dich weigerst, meiner Empfehlung zu folgen, kann ich Dir nicht helfen.

BTW: Ich glaube im LaTeX2e Sündenregister steht auch etwas über vmargin. Das Dokument sei allen wärmstens empfohlen. Dabei spielt es keine Rolle, ob jemand schon vor Jahrzehnten LaTeX gelernt hat und deshalb etwas macht, weil er es schon immer so macht, oder ob jemand gerade erst angefangen hat und sich deshalb auf die gut gemeinten Ratschläge von jemandem verlässt, der von sich behauptet, das schon immer so zu machen und deshalb zu wissen, wie man es macht.

Danke, mit pagesize geht es jetzt!

Ich habe gerade eben noch einmal spasseshalber ausprobiert, ob pdflatex wirklich mit ledmac umgehen kann, und es geht wirklich nicht - in etwa ab Seite 12 kommen Zeilenzaehlung und Fussnoten durcheinander. Kein Problem hingegen bei dem selben Dokument und latex. Aber das ist eigentlich irrelevant.

Tausend Dank noch einmal!
Barbara

Hallo, ich bin wieder einmal gescheitert, diesmal an den Raendern. Ich habe geometry ausprobiert, und ich habe genau die selben Probleme wie mit vmargin - pdflatex erkennt alles korrekt, aber wenn ich ein dvi erzeuge, das dann in ps oder pdf umwandele, kriege ich die korrekte typearea auf einer A4 Seite. pdflatex kann ich aus mehreren Gruenden nicht verwenden, auch weil es mir einen font nur sehr schlecht darstellt. Habe ich irgendwo einen ganz banalen Fehler gemacht? Waere fuer jede Hilfe dankbar! Barbara

\documentclass[parindent]{scrbook}
\usepackage[paperwidth=16cm,paperheight=24cm,
left=1.8cm,right=3.3cm,top=2.6cm,bottom=3.3cm,headsep=0.3cm]{geometry}

Bild von Markus Kohm

... in Deinem Codeschnippsel?

Hier ein Beispiel, das bei mir einwandfrei funktioniert:

\documentclass[paper=10cm:10cm,pagesize]{scrbook}
\begin{document}
\rule{\textwidth}{\textheight}
\end{document}

Lasse ich das von latex in ein DVI übersetzen und schaue ich mir das Ergebnis mit xdvi an, habe ich schön eine Seite von 10cm auf 10cm (weil xdvil 22.84.14, das bei mir verwendet wird, das \special, das von Option pagesize gesetzt wird, auswertet).

Mache ich daraus mit

dvips -o test.ps test.dvi

ein PS, dann zeigt mit gv schön eine Seite von 10cm auf 10cm an, was nicht weiter verwundert, steht doch im PS als Kommentar

%%BoundingBox: 0 0 284 284

Lasse ich daraus mit pstopdf 2.0.1 ein PDF erzeugen, dann zeigen mit xpdf und der Adobe Reader brav eine Seite von 10cm auf 10cm an und pdfinfo sagt

Title:          tmp.dvi
Creator:        dvips(k) 5.97 Copyright 2008 Radical Eye Software
Producer:       GPL Ghostscript 8.62
CreationDate:   Sa 07 Mär 2009 16:21:29 CET
ModDate:        Sa 07 Mär 2009 16:21:29 CET
Tagged:         no
Pages:          1
Encrypted:      no
Page size:      284 x 284 pts
File size:      3401 bytes
Optimized:      no
PDF version:    1.4

Bei 1 pts = 1/72 in passt das sehr gut.

Wenn ich stattdessen direkt mit pdflatex ein PDF erzeuge, funktioniert das genauso.

Ich würde also vorschlagen, dass Du Dich per vollständigem Minimalbeispiel auf die Ursachensuche begibst. Ich kann leider nicht hellsehen.

Ich werde das gleich noch einmal ausprobieren... meine Loesung, zu der ich in der Zwischenzeit gekommen bin, gibt mir zwar das gewunschte Ergebnis, ist aber nicht ganz so elegant. Ich hatte einfach typearea und geometry kombiniert, mit dem einen das Seitenformat und mit dem anderen die Raender erstellt.

\documentclass{book}
\usepackage[pagesize]{typearea}
\setlength{\paperheight}{240mm}
\setlength{\paperwidth}{160mm}
\begin{document}
Irgendein Text
\end{document}

So bekomme ich das richtige Seitenformat - aber nicht, wenn ich statt "book" "scrbook" schreibe. Was merkwuerdig ist, da ich meine, das in einer koma script Einfuehrung gelesen zu haben. Ich habe es gerade eben noch einmal ausprobiert, es geht wirklich nicht.

Und fuer die Raender fuege ich dann die oben genannte geometry Zeile ein. Wenn ich nur geometry verwende, so wie ich es oben in dem Beispiel gemacht habe, bekomme ich weiterhin eine A4 Seite, egal ob in scrbook oder book.

Aber tausend Dank noch einmal fuer die elegante Loesung!

Barbara

Bild von Markus Kohm

Wenn du scrbook nimmst, dann schreib pagesize in die Liste der Optionen bei \documentclass oder verwende \KOMAoptions. Das man bei Verwendung einer KOMA-Script-Klasse typearea nicht explizit lädt und, wenn man es doch macht, keine Optionen angibt, ist explizit in der KOMA-Script-Anleitung zu finden und zwar bei der Erklärung zu \documentclass und \usepackage in Abschnitt 2.4 der aktuellen Anleitung. Ich habe das in meinem Beispiel auch explizit korrekt vorgeführt! Ich habe dort sogar gezeigt, wie man bei Verwendung einer KOMA-Script-Klasse das Papierformat direkt per Option setzen kann. Auch diese Option ist selbstverständlich in der KOMA-Script-Anleitung dokumentiert.

Ich habe langsam das Gefühl, dass ich bei Dir gegen eine Wand rede ... Es wäre schön, wenn Du den ganzen Thread nochmal langsam und aufmerksam durchlesen würdest – sobald Du dazu Zeit findest. Du wirst sehen, dass ich bereits in der ersten Antwort die korrekte Lösung angegeben hatte.

Es gibt auch nur zwei offizielle Referenzen zu KOMA-Script. Das ist einmal die freie Anleitung, die mit dem jeweiligen KOMA-Script mitgeliefert wird und Bestandteil jeder legalen KOMA-Script-Verteilung sein muss. Das ist zum anderen das KOMA-Script-Buch, das ca. 200 Seiten zusätzlich enthält. Was Du in irgendwelchen anderen KOMA-Script-Einführungen liest, ist im Zweifelsfall nicht maßgeblich.

Desweiteren möchte ich Dich bitten, Code-Beispiele in Deinen Beiträgen in die entsprechende Umgebung zu packen.

Comments for "pdf \setpapersize" abonnieren