DE-TeX-FAQ (Version 56 vom Oktober 1999)
Copyright © 1995-1999 B. Raichle, R. Niepraschk, Th. Hafner
Mit ,dvidvi' oder ,dvibook' lassen sich die Seiten in einer dvi-Datei so umordnen, daß auf einem Papierbogen die entsprechenden Seiten doppelseitig gedruckt werden können. Neben diesen dvi-Manipulationsprogrammen können auch einige dvi-Gerätetreiber die Seiten so gedreht und sortiert ausgeben, daß man diese zu einer Broschüre bzw. die einzelnen Bogenpäckchen zu einem dickeren Buch binden kann. Beispiele für solche Treiber sind ,dvidrv' (emTeX-Paket, OS/2 und MS-DOS) ,dvi_dot' (MultiTeX-Paket, Atari ST), DVI 3.xx (Atari ST). Hilfreich ist hierbei neben der Fähigkeit, die Seiten entsprechend anzuordnen, daß man die Signaturgröße, d.h. die Größe eines Heftchens, über einen Parameter angeben kann (Bsp: ,section-count' bei den emTeX-Treibern). Verwendet man PostScript, so kann man mit ,psbook' (aus den PostScript-Utilities) statt der Seiten in der dvi-Datei auch die Seiten in der aus der dvi-Datei erzeugten PostScript-Datei umordnen. Dabei sollte man darauf achten, daß die PostScript-Dateien sogenannte ,strukturierte Kommentare' enthalten, da ,psbook', andere PostScript-Utilities und beispielsweise auch ,ghostview' diese Kommentare benötigen, um den Vorspann und die einzelnen Seiten voneinander trennen zu können. (In ,dvips' darf man die Option -N, ,No structured comments', daher nicht verwenden!)
Lösungsbeispiel mit ,dvidvi' und ,dvips':
# 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 # Sortieren der Seiten der PS-Datei, Signaturgroesse: je 16 Seiten # ergibt 4 Boegen (doppelseitig und gefaltet) psbook -s16 tmp.ps tmp-sorted.ps # Zusammenfassen von 4 Seiten auf ein DIN A4-Blatt pstops '4:0L(21cm,0)+1L(21cm,14.85cm),2R(0,29.7cm)+3R(0,14.85cm)' \ tmp-sorted.ps datei.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: | CTAN: dviware/dvidvi/ |
dvibook: | CTAN: dviware/dvibook/ |
psbook: | CTAN: support/psutils/ |
(unterhalb von CTAN: systems findet man Binaries | |
dieser Programme für verschiedene Systeme) | |
In Abschnitt 11.1.1 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.
,dviconcat' von Chris Torek, das im ,dvibook'-Paket von Angus Duggan 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: | CTAN: dviware/dvibook/ |
In LaTeX2e gibt es das Paket ,syntonly', das durch die Anweisung ,\syntaxonly' in der Dokumentpräambel einige LaTeX-Interna so umdefiniert, daß kein oder nur spärlich dvi-Code erzeugt und so der Übersetzungslauf beschleunigt wird. Dabei werden weiterhin die meisten Fehler, insbesonders syntaktische, von TeX gemeldet. Jedoch können auch weitere Fehler gemeldet werden, wenn Makros von den intern jetzt nicht mehr erzeugten Strukturen abhängen. ,syntonly' benötigt die tfm-Datei für den Font ,dummy'.
syntonly: | CTAN: macros/latex/base/ |
dummy: | CTAN: fonts/amsfonts/sources/dummy.mf |
CTAN: fonts/amsfonts/tfm/dummy.tfm | |
Externe Syntax-Checker, wie ,lacheck', ,ChkTeX' oder
,texchk', sind schneller, jedoch kann es vorkommen, daß sie
z.B. bei ,verbatim'-ähnlichen Umgebungen sehr viele Fehler
melden, obwohl keine existieren. Meist ignorieren diese Programme auch
\input
- und \include
-Anweisungen, so daß die einzelnen
Dokumentdateien separat getestet werden müssen. Sie sind jedoch
schnell und ideal zum Finden von Fehlern durch inkorrekte Schachtelung
von Gruppen/Umgebungen.
lacheck: | CTAN: support/lacheck/ |
(war früher im AucTeX-Paket enthalten).: link) | C/lex-Source von ,lacheck' (war früher im AucTeX-Paket enthalten). |
ChkTeX: | CTAN: support/chktex/ |
Sources und Binaries für verschiedene Architekturen. | |
texchk: | CTAN: obsolete/systems/msdos/4alltex/disk05/texcheck.zip |
Binary ist im emTeX- und damit auch im 4allTeX-Paket enthalten. | |
Für relativ viele Dokumentformate gibt es Programme, die diese in eine (La)TeX-Eingabedatei mit entsprechendem Markup umwandeln. Leider können die meisten dieser Programme nur eine a) unvollständige Konvertierung durchführen, b) ein (La)TeX-Dokument mit schlechtem Markup erzeugen oder c) brechen mit Fehlern ab oder stürzen im schlimmsten Fall ab. Dies liegt an unterschiedlichen Gründen, wie z.B. daran, daß die Markup-Möglichkeiten des anderen Programms nicht mächtig genug sind oder daß das Dateiformat nicht offiziell dokumentiert vorliegt und daher nur unvollständig und fehlerhaft ,re-engineered' wurde. Es ist daher besser, wenn Sie nicht allzu viel von diesen Konvertierungsprogrammen erwarten und sich darauf einstellen, daß Sie noch nacharbeiten müssen.
Konvertierungsprogramme, die (La)TeX-Dokumente erzeugen, existieren für Word/WordPerfect/RTF, SGML, HTML, troff, Scribe u.v.m.
Es existieren relativ viele Konvertierungsprogramme, um ein LaTeX-Dokument in eine Form zu wandeln, um das Dokument oder Teile daraus in anderen Programmen weiterzuverwenden. Auch hier muß man mehr oder weniger Abstriche machen, wenn ein Dokument a) nicht strukturiert eingegeben und konsistent mit LaTeX-Markup versehen wurde, b) spezielle LaTeX-Pakete und -Erweiterungen verwendet, c) mathematische Formeln, Tabellen und Grafiken mit der ,picture'-Umgebung enthält oder d) das Konvertierungsprogramm spezielle Markup-Deklarationen benötigt. Sie müssen daher auch hier entweder das entstandene Ergebnis nachbearbeiten oder ihr LaTeX-Dokument vorher entsprechend anpassen.
Konvertierungsprogramme, die aus (La)TeX-Dokumenten ein anderes Format erzeugen, existieren für RTF (Word/WordPerfect), gewöhnlichen ASCII-Text, HTML, Portable Document Format (PDF) von Adobe u.v.m..
LaTeX zwingt den Autor, sein Dokument in strukturierter Form einzugeben, während Textverarbeitungsprogramme wie Word und WordPerfect auch die unstrukturierte Eingabe eines Dokuments erlauben, was leider auch die meisten Autoren tun. Daher ist es nur sehr schwer und mit viel Aufwand möglich, ein unstrukturiertes Dokument automatisch in eine strukturierte LaTeX-Eingabe umzusetzen. Für die Textverarbeitungsprogramme existieren jedoch auch sogenannte Style-Sheets. Werden vom Autor eines Dokuments die zusätzlichen Strukturierungsmöglichkeiten eines solchen Style-Sheet ,sauber' und konsistent verwendet, ist eine automatische Umsetzung in eine klar strukturierte LaTeX-Eingabedatei über einen ,internen' Konverter (z.B. durch Makros des Textverarbeitungsprogrammes) möglich.
Die nachfolgenden Informationen sind u.a. diesen Quellen entnommen:
comp.text.tex
'.
Eine Übersicht über eine Vielzahl von Konvertierungsprogrammen zwischen (La)TeX-Dokumenten und RTF-/Word/WP-Dokumenten hat Wilfried Hennings in seiner FAQ unter
http://www.kfa-juelich.de/isr/1/texconv/texcnv.html
veröffentlicht, die man auch unter
finden kann. Diese FAQ wird regelmäßig nach 'comp.text.tex
'
gepostet. Im folgenden sind diese Programme daher nur knapp
aufgezählt.
support/rtf2tex/
http://members.home.net/setlur/rtf2latex2e/
,
CTAN: support/rtf2latex/
support/rtflatex/
support/w2latex/
support/winw2ltx/
(Style-Sheets, interner Konverter!)
support/wp2latex/
support/texperf/
support/word_tex/
(Style-Sheets, interner Konverter!)
support/word2tex/
support/catdoc/
http://word2x.astra.co.uk/
CTAN: tools/word2x
http://www.ktalk.com
ftp://ftp.infinet.com/pub/ktalk
http://www.mathtype.com/mathtype/
ftp://ftp.mathtype.com/
http://www.jam-software.com/software.html#X2L
http://www.hsh.no/~ag/tabular/
support/latex2rtf/
http://www.ktalk.com
ftp://ftp.infinet.com/pub/ktalk
Eine Übersicht über eine Vielzahl von Konvertierungsprogrammen
zwischen (La)TeX- und HTML-Dokumenten hat Günter Partosch in seiner
Liste ,,,Gleichzeitiges' Publizieren in HTML und LaTeX''
unter http://www.uni-giessen.de/~g029/converters.html
veröffentlicht.
Adobe stellt für Windows einen PostScript-Druckertreiber zur Verfügung. Damit hat man die Möglichkeit, ein Dokument als EPS abzuspeichern, auch wenn das Windows-Programm keinen EPS-Export vorsieht. Abschnitt 6.3.1 führt aus, wie man EPS-Bilder in LaTeX-Dokumente einbindet. Sollten die wie oben angegeben erzeugten EPS-Bilder fehlerhafte Abmessungen aufweisen, so kann der Tip in Abschnitt 6.3.7 helfen.
Weitere Informationen zum Drucker-Treiber gibt es unter:
http://www.adobe.de/products/printhome.html
Windows 95/98:
http://www.adobe.de/products/printerdrivers/printdwin.html
ftp://ftp.adobe.com/pub/adobe/printerdrivers/win/4.x/adbps4de.exe
Windows NT:
http://www.adobe.com/supportservice/custsupport/LIBRARY/52d6.htm
ftp://ftp.adobe.com/pub/adobe/printerdrivers/win/5.x/aps5eng.exe
In vielen, wenn auch nicht allen Fällen erkennt AucTeX, eine empfehlenswerte Erweiterung des Emacs-TeX-Mode, durch die Verwendung des Pakets ,german' in der Dokumentpräambel, daß dieses Verhalten ausgeschaltet werden soll. Gibt man zwei Doublequotes ein, so erhält man immer einen Doublequote.
Ansonsten kann man dieses Verhalten abschalten oder ändern, in dem man in die Startup-Datei ,,.emacs'' die Zeilen
(add-hook 'TeX-mode-hook (function (lambda () ;; ;; 1. gesonderte Behandlung von " ganz abschalten ; (local-set-key "\"" 'self-insert-command) ;; ;; 2. je ein " statt ``...'' einfuegen: (setq TeX-open-quote "\"") (setq TeX-close-quote "\"") ;; ;; 3. "`..."' statt ``...'' einfuegen: ; (setq TeX-open-quote "\"`") ; (setq TeX-close-quote "\"'") )))einfügt und je nach Wunsch eine der drei Varianten auskommentiert läßt. Achtung: Für den TeX-Mode der Standard-Emacs-Verteilung muß der Teil ,TeX-' in den Symbolen als ,tex-' kleingeschrieben werden. Ab AucTeX v9.x kann man auch in der Datei ,,.emacs'' einfach
(setq TeX-quote-after-quote t)schreiben, um dieses Verhalten abzuschalten.
Die Emacs-Library-Datei ,iso-cvt' wandelt automatisch beim Laden und Speichern eines Textes die Umlaute von bzw. in die entsprechenden TeX- bzw. German-Style-Makro-Notation.
Soll Emacs bei Eingabe eines Umlauts für den Umlaut statt eines einzelnen Zeichens direkt die TeX-Makro-Notation erzeugen, so kann man dies durch Änderung der entsprechenden ,Key-Map' erreichen. Beispielsweise durch
(add-hook 'TeX-mode-hook (function (lambda () (local-set-key [228] (function (lambda () (interactive) (insert "\"a") ;; oder ; (insert "\\\"a") ))) ;; dto. fuer die anderen Umlaute und das scharfe s )))
Wenn man dies verwendet, wäre es noch ratsam, mit etwas zusätzlichem Emacs-Lisp-Code beim Löschen eines so erzeugten ,Umlautes' nicht nur ein Zeichen, sondern alle Zeichen des kompletten Makros zu entfernen. Achtung: Für den TeX-Mode der Standard-Emacs-Verteilung muß statt des Symbols ,TeX-mode-hook' das kleingeschriebene Symbol ,tex-mode-hook' verwendet werden.
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/''.
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 putanhängen. In kurzer Zeit dürfte auch eine neue xdvi-Version erscheinen (bzw. ist schon erschienen), die diesen Fehler beseitigt.
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.0beginnen, als fehlerhaft zurückweist.
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.dvihinzuladen 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: | CTAN: macros/generic/TeX-PS/mirr.hd |
crop: | CTAN: macros/latex/contrib/supported/crop/ |
Über das Menü ,Text Flags' (ab XFig Version 3) muß man für diese Texte das sogenannte Special-Flag setzen, damit diese ohne jede Änderung in die (La)TeX-Datei exportiert werden. Dies kann man bei schon gezeichneten Textobjekten auch nachträglich über den Menüpunkt ,Edit' ändern.
Das Special-Flag kann man auch beim Aufruf von XFig über die Option ,-sp[ecialtext]' oder über die X11-Resource ,Fig*specialtext' setzen.
DE-TeX-FAQ (Version 56 vom Oktober 1999)
Copyright © 1995-1999 B. Raichle, R. Niepraschk, Th. Hafner
detexfaq@dante.de
'
- bitte keine Fragen zu TeX!