%META:TOPICINFO{author="HerbertVoss" date="1364029199" format="1.1" version="1.7"}% %META:TOPICPARENT{name="WebHome"}% ====== DVI-Dateien ====== Das Format dvi ist heutzutage im Allgemeinen nur noch ein Zwischenformat auf dem Weg zu PDF. Es hat gewisse Vorteile, da es Dateien sehr schnell in entsprechenden Viewern darstellen kann. Mit den Programmen dvips und xdvipdfmx kann man dvi-Dateien (bzw. xdvi -- xetex) nach PS bzw. PDF konvertieren. Im allgemeinen erledigt dies der Editor für einen. Die folgenden Anmerkungen haben daher eher einen historischen Wert, da insbesondere Ausdrucke meist nur noch über PDF erfolgen. [[#1|Grundlegendes]] ===== Tools zur Manipulation von dvi-Dateien =====
# Vorderseiten:
dvidvi -m '4:-1,2(148.5mm,0mm)' datei.dvi tmp1.dvi
dvips -t landscape tmp1.dvi
#
# Rueckseiten:
dvidvi -m '4:-3,0(148.5mm,0mm)' datei.dvi tmp2.dvi
dvips -t landscape tmp2.dvi
#
# danach zuerst die Vorderseiten in `tmp1.ps' ausdrucken, diese in
# den Drucker so einlegen, dass die letzte Vorderseite zuerst
# eingezogen wird, und dann die Rueckseiten in `tmp2.ps' ausdrucken.
**Lösungsbeispiel mit ,psbook`, ,pstops` und ,dvips`:**
Damit ,dvips` auch weiterverarbeitbare PostScript-Seiten im DIN A5-Format erzeugen kann, muß in die ,dvips`-Konfigurationsdatei ,,config.ps`` noch folgender Eintrag hinzugefügt werden:
@ A5 148.5mm 210mm
@+ %%PaperSize: A5
@+ ! %%DocumentPaperSizes: A5
Anschließend können die folgenden Anweisungen abgesetzt werden:
# Ausgabe im Hochformat in DIN A5
dvips -t a5 -o tmp.ps datei.dvi
und nach dem Erzeugen der A5-großen Seiten anschließend
# Ausgabe im Hochformat (in DIN A5)
dvips -o tmp-in.ps datei.dvi
# Korrigiere Papiergroessenangabe von A4 auf A5
psresize -Pa4 -pa5 tmp-in.ps tmp.ps
Man beachte, daß unter manchen Betriebssystemen die Hochkommata entfallen oder durch doppelte Hochkommata ersetzt werden müssen. Der Backslash am Ende der letzten Anweisung zeigt an, daß diese und die nachfolgende Zeile zusammengehören! | **dvidvi:** | [[http://mirror.ctan.org/dviware/dvidvi/|dviware/dvidvi/]] | | **dvibook:** | [[http://mirror.ctan.org/dviware/dvibook/|dviware/dvibook/]] | | **psbook:** | [[http://mirror.ctan.org/support/psutils/|support/psutils/]] | | **psresize:** | [[http://mirror.ctan.org/support/psutils/|support/psutils/]] |
|(unterhalb von [[http://mirror.ctan.org/systems|systems]] findet man Binaries dieser Programme für verschiedene Systeme)| |
|**Print Output as Booklet:** |http://www.lyx.org/help/PS/ps.php#booklet|
==== Ich möchte aus einer bereits fertigen, jedoch für DIN A4 formatierte Broschüre durch Verkleinerung, doppelseitigen Druck und entsprechende Faltung eine Broschüre in DIN A5 erstellen. ====
Oben wurden bereits entsprechende Programme vorgestellt, mit denen die Manipulationen durchgeführt werden können. Im Unterschied zu der dort vorgestellten Lösung sind nun die Seiten zusätzlich von DIN A4 auf DIN A5 zu verkleinern. Diese Skalierung ist typographisch nicht empfehlenswert; eine Layout-Änderung und Neuformatierung der Vorlage auf DIN A5, um eine Skalierung zu vermeiden, wäre besser.
**Lösungsbeispiel mit ,dvidvi` und ,dvips`:**
# Vorderseiten:
dvidvi -m '4:-1,2(148.5mm,0mm)' datei.dvi tmp1.dvi
dvips -t landscape -x 707 tmp1.dvi
#
# Rueckseiten:
dvidvi -m '4:-3,0(148.5mm,0mm)' datei.dvi tmp2.dvi
dvips -t landscape -x 707 tmp2.dvi
#
# danach zuerst die Vorderseiten in `tmp1.ps' ausdrucken, diese in
# den Drucker so einlegen, dass die letzte Vorderseite zuerst
# eingezogen wird, und dann die Rueckseiten in `tmp2.ps' ausdrucken.
**Lösungsbeispiel mit ,psbook`, ,pstops` und ,dvips`:**
# Ausgabe im Querformat und auf DIN A5 (= 1/sqrt{2}) verkleinert
dvips -t landscape -x 707 -o tmp.ps datei.dvi
# Sortieren der Seiten der PS-Datei, Signaturgroesse: je 16 Seiten
# ergibt 4 Boegen (doppelseitig und gefaltet)
psbook -s16 tmp.ps tmp-sorted.ps
# Zusammenfassen auf eine DIN A4-Seite
pstops '2:0(.744cm,.744cm)+1(.744cm,-14.106cm)' tmp-sorted.ps datei.ps
Man beachte, daß unter manchen Betriebssystemen die Hochkommata entfallen oder durch doppelte Hochkommata ersetzt werden müssen.
==== Wenn ich A5-Seiten auf A4-Bögen anordne, warum erscheint das Ergebnis immer stark verschoben? ====
In [[#2|huer]] und [[#4|hier]] wurde bereits vorgestellt, wie normalerweise eine Broschüre in DIN A5 erstellt werden kann. Dabei kann jedoch das Problem auftreten, dass das Ergebnis stark verschoben ist und deshalb nicht auf einen Papierbogen passt. Dieser Effekt tritt auf, wenn durch ein Paket das Papersize-Special in die DVI-Datei geschrieben wird. Dies geschieht beispielsweise beim Paket ,geometry` bei Verwendung der Option ,dvips` oder beim Paket ,typearea` aus dem KOMA-Script-Paket bei Verwendung der Option ,dvips` oder der Option ,pagesize`.
Die Lösung für das Problem ist in diesem Fall ganz einfach. Verzichten Sie auf die entsprechende Option und gehen Sie dann wie in den Antworten beschrieben vor.
Wenn Sie eine DVI-Datei erhalten und feststellen wollen, ob ein entsprechendes Special enthalten ist, können Sie das mit Hilfe des Programms ,dvitype` erreichen. Gibt ,dvitype` unmittelbar nach der Zeile
: begin of page1
eine Zeile : xxx 'papersize=597.50793pt,845.04694pt'aus, dann ist ein solches Special enthalten und das Problem wird auftreten.
pstops '2:0,1U(21cm,29.7cm)' datei.ps datei-2r.ps
Will man Broschüren erstellen, sind die oben gezeigten Verfahren durchzuführen. Anschließend ist dann obige Zeile auf das Ergebnis anzuwenden. | **pstops:** | [[http://mirror.ctan.org/support/psutils/|support/psutils/]] |
==== Ist es möglich, zwei dvi-Dateien zu einer zusammenzumontieren? Kann ich einzelne Seiten aus einer dvi-Datei in eine dvi-Datei schreiben? ====
,dviconcat`, das im ,dvibook`-Paket enthalten ist, hängt dvi-Dateien aneinander. Mit ,dviselect` aus demselben Paket kann man einzelne Seiten bzw. Folgen von Seiten aus einer dvi-Datei extrahieren. | **dvibook:** | [[http://mirror.ctan.org/dviware/dvibook/|dviware/dvibook/]] |
==== Eine vorhandene PostScript-Datei enthält Grafiken, die ich für einen anderen Zweck wiederverwenden will. Was kann ich tun? ====
Das Programm ,psrip` kann in vielen Fällen enthaltene EPS-Grafiken aus einer PostScript-Datei extrahieren. | **psrip:** | [[http://mirror.ctan.org/support/psrip/|support/psrip/]] |
==== Wieso zeigt Xdvi das polnische L oder für \sqrt[n]{2} das ,n` nicht an, obwohl es beim Ausdruck auf einem Drucker korrekt vorhanden ist? ====
Xdvi sollte in diesem Fall die Warnung ,,Note: overstrike characters may be incorrect.`` ausgeben. Bei Zeichen, die aus mehreren, übereinander gesetzten Einzelzeichen erzeugt werden, löscht Xdvi zur schnelleren Ausgabe Teile des bzw. der darunterliegenden Einzelzeichen. In den Manual-Seiten zu Xdvi findet man dazu mehr im Abschnitt zu den Optionen ,-thorough/-copy`. (Nicht vergessen: Xdvi ist nur ein Previewer für niedrigstauflösende Ausgabegeräte mit ca. 90-100dpi)
Mit ,xdvi +copy file.dvi` (oder mit ,-thorough -nogrey`) sollte man das ,n` in obiger Wurzel erhalten, ohne diese Optionen erscheint nur die Wurzel. Die gleiche Wirkung erreicht man mit dem Eintrag ,XDvi*thorough: true` in der Datei ,XDvi` (X-Resource-Datei). Diese Datei befindet sich bei der teTeX-Distribution im Verzeichnis ,,.../texmf/xdvi/`` bzw. sonst in ,,.../lib/X11/app-defaults/``.
==== Benutze ich Ghostscript 4.0 zur Anzeige von PostScript-Grafiken in Xdvi erhalte ich den Fehler ,/undefinedfilename in --file--`. Abhilfe? ====
Dies ist ein inzwischen gut bekannter Fehler. Die momentan einfachste Abhilfe besteht darin, mindestens Version 4.03 oder neuer zu benutzen. Ist dies nicht möglich, kann man in der Zwischenzeit an die Ghostscript-Datei ,gs_init.ps` die Zeile
$error /newerror false put
anhängen. In kurzer Zeit dürfte auch eine neue xdvi-Version erscheinen (bzw. ist schon erschienen), die diesen Fehler beseitigt.
==== Wieso weisen Satzbelichter meine mit ,dvips` oder den ,psutils` erzeugten PostScript-Dateien mit der Meldung zurück, daß diese kein korrektes PostScript konform zu DSC 3.0 wären? ====
Kommentare in einer PostScript-Datei sollen den Konventionen für ,Structured Comments`, den sogenannten ,Document Structuring Conventions` (DSC), genügen. Ältere Versionen von ,dvips` und den Programmen ,pstops`, ,psbook`, ,psselect` etc. der PostScript-Utilities erzeugen jedoch beispielsweise einen nicht ganz korrekten Kommentar für ,%%Pages:`. Hier darf nur //eine// einzige Zahl folgen, die die Seitenzahl angibt. Ältere Versionen von ,dvips` und der PostScript-Utilities geben jedoch noch eine zweite Zahl aus, so daß Software, die den ,Document Structuring Conventions` Version 3.0 strikt folgt, solche PostScript-Dateien, die mit
%!PS-Adobe-3.0
beginnen, als fehlerhaft zurückweist.
==== Wie kann ich mein Dokument so nach PostScript wandeln, daß alle Seiten gespiegelt erzeugt werden? ====
Durch die Option -h kann man mit ,dvips` noch zusätzlichen PostScript-Code in einer sogenannten Header-Datei hinzuladen. Zum Spiegeln sämtlicher Seiten existiert die Header-Datei ,,mirr.hd``, die man durch
dvips -h mirr.hd document.dvi
hinzuladen kann. Eine weitere in größerem Maße treiberunabhängige Möglichkeit, da auf den Paketen ,graphics` und ,color` basierend, bietet das LaTeX-Paket ,crop`. Neben der Spiegelung von Seiten mit der Paketoption ,mirror` können diese mit der Option ,invert` auch invertiert, also weiß auf schwarz, ausgegeben werden.
| **mirr.hd:** | [[http://mirror.ctan.org/macros/generic/TeX-PS/mirr.hd|macros/generic/TeX-PS/mirr.hd]] | | **crop:** | [[http://mirror.ctan.org/macros/latex/contrib/crop/|macros/latex/contrib/crop/]] |
==== Was kann ich tun, wenn mein Drucker Teile meines Dokuments, die sich weit am unteren Blattrand befinden, nicht druckt? ====
Zuerst ist zu prüfen, ob möglicherweise ein falsches Papierformat eingestellt ist. Der Druck vom Ergebnis des folgenden LaTeX-Aufrufs
latex testpage
ist ein guter Test, um falsche Druckereinstellungen herauszufinden. Fällt dieser Test zufriedenstellend aus, kann versucht werden, das Problem dadurch zu lösen, daß die betreffenden Seiten kopfstehend an den Drucker geschickt werden. Mit den beiden folgenden Verfahren kann man kopfstehende Seiten unter Verwendung von PostScript erzeugen. pstops "U(210mm,297mm)" original.ps kopfstehend.psoder im LaTeX-Dokument
\usepackage[rotate]{crop}[2000/02/02]| **pstops:** | [[http://mirror.ctan.org/support/psutils|support/psutils]] | | **crop:** | [[http://mirror.ctan.org/macros/latex/contrib/crop/|macros/latex/contrib/crop/]] | -- Main.HerbertVoss - 07 Mar 2009