DVI-Konverter

Der Befehl latex sowie die japanischen platex / uplatex erzeugen keine PDF-Datei, sondern eine Zwischendatei im Format DVI. Ein DVI-Konverter macht daraus ein wirklich lesbares Dokument: dvipdfmx für PDF, dvips für PostScript und, für japanische Dokumente, ptex2pdf, das Satz und Konvertierung in einem Befehl ausführt. Diese Seite behandelt alle drei und die Optionen, die man praktisch verwendet.

Was DVI ist und warum man es konvertiert

DVI (device-independent) ist das Zwischenformat, das TeX ausgibt: Es hält fest, *welcher Glyph oder welche Linie an welcher Position steht*. Wie der Name sagt, ist es unabhängig vom Ausgabegerät und bettet die eigentlichen Fonts nicht ein. Dadurch ist es kompakt, aber direkt schwer anzusehen, zu drucken oder weiterzugeben. Deshalb konvertiert man es je nach Ziel: PDF für Bildschirm und Verteilung, PostScript für Druckabläufe und bestimmte Pakete. Die Befehle, die DVI *erzeugen*, stehen unter „Compile commands“.

dvipdfmx — von DVI zu PDF

dvipdfmx ist der Standardkonverter von DVI nach PDF in TeX Live. Sein Vorläufer dvipdfm wurde von Mark A. Wicks geschrieben; dvipdfmx ist die erweiterte Fassung von Jin-Hwan Cho, Shunsaku Hirata und anderen, mit CJK-Unterstützung, Font-Einbettung, Objektstreams und mehr. Das von XeTeX intern verwendete xdvipdfmx gehört zur selben Familie, ist aber nicht für direkten Aufruf gedacht.

terminal
dvipdfmx document.dvi            # → document.pdf
dvipdfmx -p a4 -o out.pdf document.dvi
OptionWirkung
-o FILEName der Ausgabedatei (- für stdout); Standard ist der Eingabename
-p SIZEPapierformat nach Name: a4, letter, a3, legal, ...
-V NPDF-Minor-Version (Standard 5 = PDF 1.5)
-lQuerformat (Breite und Höhe des Papiers tauschen)
-s RANGEBeschränkt die verarbeiteten Seiten, z. B. -s 1-10

dvips — von DVI zu PostScript

dvips von Tomas Rokicki ist das klassische Werkzeug, das DVI in PostScript (.ps) umwandelt. Es wird weiterhin für Druckabgaben, die Erzeugung von EPS und PostScript-basierte Zeichenpakete wie PSTricks verwendet. Wenn Sie eine PDF-Datei benötigen, führt der übliche Weg über die erzeugte .ps-Datei und ps2pdf aus Ghostscript.

terminal
dvips -t a4 -o document.ps document.dvi   # DVI → PostScript
ps2pdf document.ps                        # PostScript → PDF
OptionWirkung
-o FILEName der auszugebenden PostScript-Datei
-t PAPERPapiertyp: a4, letter, legal oder landscape
-P NAMELädt die Druckerkonfiguration config.NAME (Auflösung, Font-Einstellungen)

ptex2pdf — japanische Dokumente in einem Schritt zu PDF

Für japanische Dokumente sind es normalerweise zwei Schritte: mit uplatex setzen und anschließend mit dvipdfmx eine PDF-Datei erzeugen. ptex2pdf bündelt das in einem Befehl: Es startet eine Engine der pTeX-Familie und ruft danach automatisch dvipdfmx auf. Es ist ein texlua-Skript von texjporg, der japanischen TeX-Entwicklergemeinschaft, und Norbert Preining, ursprünglich gebaut, damit TeXworks leicht eine japanische Engine auswählen konnte.

Die Engine wählen Sie durch Kombination von Flags. Ohne Flag ist es ptex; -l wählt ein LaTeX-Format, -u die upTeX-Familie, -e die e-pTeX-Familie. upLaTeX, der Standard für japanische Arbeiten, ist zum Beispiel -l -u.

FlagsVerwendete Engine
(なし / none)ptex
-lplatex (pLaTeX)
-uuptex
-l -uuplatex (upLaTeX)
terminal
# upLaTeX で組版し、UTF-8 入力と SyncTeX を指定して PDF まで
ptex2pdf -l -u -ot '-kanji=utf8 -synctex=1' document.tex

Feinere Optionen reichen Sie mit -ot '...' an die TeX-Engine und mit -od '...' an dvipdfmx weiter. Mit -s stoppen Sie bei DVI, mit -i behalten Sie Zwischendateien, und mit -output-directory ändern Sie den Ausgabeort.

Welches Werkzeug verwenden?

  • PDF, englischer/europäischer Textlatexdvipdfmx.
  • PDF, japanischer Text — ein Durchlauf mit ptex2pdf -l -u ….
  • Druckabgabe, EPS, PSTricksdvipsps2pdf.
  • DVI ganz vermeiden — PDF direkt mit pdflatex / lualatex ausgeben.

In der Praxis führt man diese Befehle selten nacheinander von Hand aus. Ein Build-Werkzeug wie latexmk kümmert sich um die Anzahl der Kompilierläufe und die DVI-Konvertierung; latexmk unterstützt auch die Kombination (u)platex + dvipdfmx.

DVI-Konvertierung vor der Abgabe prüfen

  • Bei PDF-Abgabe: Öffnen Sie die PDF nach dvipdfmx im selben Viewer oder Upload-Ziel wie später und prüfen Sie eingebettete Fonts, Papierformat, Lesezeichen und Links.
  • Bei Druckabläufen: Prüfen Sie vor und nach ps2pdf auf dem von dvips erzeugten PostScript, ob EPS und PostScript-Specials erhalten geblieben sind.
  • Bei japanischen Dokumenten: ptex2pdf -l -u ist bequem, aber entscheidend ist, dass der Zweischritt uplatex plus dvipdfmx erfolgreich durchläuft.
  • Namen und Orte: Halten Sie die Basisnamen von DVI, PDF und .synctex.gz gleich; wenn Ausgaben woanders landen, soll das Build-Werkzeug diesen Pfad konsequent setzen.