`Zurück zu:` 10 METAFONT und Schriften (Fortsetzung)
`Hoch zu:` Inhalt
`Weiter zu:` Index
`Mehr zu TeX et al.:` DANTE e.V.

DE-TeX-FAQ (Version 72 vom September 2003)
Copyright © 1995-2003 B. Raichle, R. Niepraschk, Th. Hafner

# 11 Tools und Utilities

- 11.1 Tools zur Manipulation von dvi-Dateien
- 11.1.1 Ich möchte durch doppelseitigen Druck und entsprechende Faltung eine Broschüre in DIN A5 mit Hilfe von DIN A4-Bögen erstellen.
- 11.1.2 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.
- 11.1.3 Wenn ich A5-Seiten auf A4-Bögen anordne, warum erscheint das Ergebnis immer stark verschoben?
- 11.1.4 Wie kann ich bei doppelseitigem Druck jede zweite Seite umgedreht drucken lassen?
- 11.1.5 Ist es möglich, zwei dvi-Dateien zu einer zusammenzumontieren? Kann ich einzelne Seiten aus einer dvi-Datei in eine dvi-Datei schreiben?
- 11.1.6 Eine vorhandene PostScript-Datei enthält Grafiken, die ich für einen anderen Zweck wiederverwenden will. Was kann ich tun?
- 11.2 Syntax-Checker
- 11.2.1 Ich möchte ein LaTeX-Dokument möglichst schnell auf Fehler überprüfen.
- 11.2.2 Gibt es auch noch Syntax-Checker, die schneller sind?
- 11.3 Dokument-Konverter von bzw. in das (La)TeX-Markup-Format
- 11.3.1 Ich habe ein Dokument für XYZ vorliegen und möchte es in (La)TeX umwandeln. Gibt es ein Konvertierungsprogramm?
- 11.3.2 Ich habe ein (La)TeX-Dokument vorliegen und möchte es in eine Form für XYZ umwandeln. Gibt es ein Konvertierungsprogramm?
- 11.3.3 Konvertierungsprogramme für MS Word (for Windows), WordPerfect (for Windows), allgemein für ,Rich Text Format` (RTF) sowie für weitere Formate?
- 11.3.4 Konvertierungsprogramme zwischen HTML und LaTeX?
- 11.3.5 Konvertierungsprogramme von (La)TeX in einfaches Textformat?
- 11.3.6 Wie kann ich Excel-Diagramme, Powerpoint-Zeichnungen oder andere Windows-Bilder mit LaTeX verwenden?
- 11.4 TeX-Benutzungsoberflächen und Editoren
- 11.4.1 Emacs: Wie kann ich erreichen, daß für deutsche Texte das Doublequote nicht durch `` bzw.'' ersetzt wird?
- 11.4.2 Emacs: Ich will direkt Umlaute verwenden können, jedoch sollten diese in ,`\"a`` oder ,`"a`` umgewandelt werden, damit ich sie problemlos weitergeben kann.
- 11.4.3 Emacs: Wie kann ich Symbole leichter eingeben oder anschaulicher bei der Eingabe darstellen?
- 11.5 dvi-Treiber - Druckertreiber und Previewer
- 11.5.1 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?
- 11.5.2 Benutze ich Ghostscript 4.0 zur Anzeige von PostScript-Grafiken in Xdvi erhalte ich den Fehler ,`/undefinedfilename in --file--``. Abhilfe?
- 11.5.3 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?
- 11.5.4 Wie kann ich mein Dokument so nach PostScript wandeln, daß alle Seiten gespiegelt erzeugt werden?
- 11.5.5 Was kann ich tun, wenn mein Drucker Teile meines Dokuments, die sich weit am unteren Blattrand befinden, nicht druckt?
- 11.6 Zeichenprogramme
- 11.6.1 Wie bringe ich ,XFig` dazu, beim Exportieren von Graphiken nach (La)TeX Formeln nicht auszukommentieren, sondern so zu übernehmen?
- 11.6.2 Warum funktioniert das DOS-Programm ,TeXCad` nicht mehr auf meinem neuen Rechner?

  ## 11.1 Tools zur Manipulation von dvi-Dateien

  ### 11.1.1 Ich möchte durch doppelseitigen Druck und entsprechende Faltung eine Broschüre in DIN A5 mit Hilfe von DIN A4-Bögen erstellen.

  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

  und nach dem Erzeugen der A5-großen Seiten anschließend

      # 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

  Die Veränderung von ,,`config.ps``` und die Option `-t a5` beim Aufruf von ,dvips` kann entfallen, wenn das Programm ,psresize` verwendet wird:

      # 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: | CTAN: `dviware/dvidvi/`
  dvibook: | CTAN: `dviware/dvibook/`
  psbook: | CTAN: `support/psutils/`
  psresize: | CTAN: `support/psutils/`
  (unterhalb von CTAN: `systems` findet man Binaries dieser Programme für verschiedene Systeme)
  Print Output as Booklet: | `http://www.lyx.org/help/PS/ps.php#booklet`

  ### 11.1.2 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.

  In Frage 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.

  ### 11.1.3 Wenn ich A5-Seiten auf A4-Bögen anordne, warum erscheint das Ergebnis immer stark verschoben?

  In Frage 11.1.1 und Frage 11.1.2 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

        <nn>: begin of page1

  eine Zeile

        <nn>: xxx 'papersize=597.50793pt,845.04694pt'

  aus, dann ist ein solches Special enthalten und das Problem wird auftreten. `<nn>` ist dabei ein Zahlwert, der von Datei zu Datei unterschiedlich sein kann. Obige Werte hinter ,,papersize=`` sind natürlich vom eingestellten Papierformat abhängig.

  KOMA-Script: | CTAN: `macros/latex/contrib/koma-script/`
  geometry: | CTAN: `macros/latex/contrib/geometry/`

  ### 11.1.4 Wie kann ich bei doppelseitigem Druck jede zweite Seite umgedreht drucken lassen?

  Doppelseitige Drucker geben die zweite Seite meist über die längere Kante gewendet aus, so daß hintere Seite eines Papierblattes ,,falsch herum`` gedruckt wird. Mit einem PostScript-fähigen Drucker und dem Programm ,pstops` (aus den PostScript-Utilities) kann dies problemlos korrigiert werden, indem jede zweite Seite mit der Option ,U` (upside-down) auf den Kopf gestellt wird:

      pstops '2:0,1U(21cm,29.7cm)' datei.ps datei-2r.ps

  Will man wie in Frage 11.1.1 oder Frage 11.1.2 Broschüren erstellen, sind die dort gezeigten Verfahren durchzuführen. Anschließend ist dann obige Zeile auf das Ergebnis anzuwenden.

  pstops: | CTAN: `support/psutils/`

  ### 11.1.5 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: | CTAN: `dviware/dvibook/`

  ### 11.1.6 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: | CTAN: `support/psrip/`

  ## 11.2 Syntax-Checker

  ### 11.2.1 Ich möchte ein LaTeX-Dokument möglichst schnell auf Fehler überprüfen.

  In LaTeX 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`

  ### 11.2.2 Gibt es auch noch Syntax-Checker, die schneller sind?

  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/`
  | 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.zip`
  `disk05/texcheck.zip` enthalten. Der Quelltext wurde in der Newsgroup ``comp.sources.unix`` verteilt.: link) | Binary ist im emTeX- und damit auch im 4allTeX-Paket in `disk05/texcheck.zip` enthalten. Der Quelltext wurde in der Newsgroup ``comp.sources.unix`` verteilt.

  ## 11.3 Dokument-Konverter von bzw. in das (La)TeX-Markup-Format

  ### 11.3.1 Ich habe ein Dokument für XYZ vorliegen und möchte es in (La)TeX umwandeln. Gibt es ein Konvertierungsprogramm?

  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.

  ### 11.3.2 Ich habe ein (La)TeX-Dokument vorliegen und möchte es in eine Form für XYZ umwandeln. Gibt es ein Konvertierungsprogramm?

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

  ### 11.3.3 Konvertierungsprogramme für MS Word (for Windows), WordPerfect (for Windows), allgemein für ,Rich Text Format` (RTF) sowie für weitere Formate?

  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 Dokumentvorlagen. Werden vom Autor eines Dokuments die zusätzlichen Strukturierungsmöglichkeiten einer solchen Dokumentvorlage ,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.

  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.tug.org/utilities/texconv/`
  veröffentlicht, die man auch unter
  CTAN: `help/wp-conv/`
  finden kann. Im folgenden sind diese Programme daher nur knapp aufgezählt.
  RTF/Word/WordPerfect => LaTeX (nichtkommerziell):
    - RTF (Word/WordPerfect) => LaTeX:
      - rtf2TeX CTAN: `support/rtf2tex/`
      - rtf2LaTeX `http://members.home.net/setlur/rtf2latex2e/`, CTAN: `support/rtf2latex/`
      - rtfLaTeX CTAN: `support/rtflatex/`
      - w2latex CTAN: `support/w2latex/`
      - wvLaTeX `http://wvware.sourceforge.net/`
      - GNU UnRTF `http://www.geocities.com/tuorfa/unrtf.html`
    - WinWord 2.0 und 6.0 => LaTeX:
      - WINW2LTX CTAN: `support/winw2ltx/` (Dokumentvorlagen, interner Konverter!)
    - WordPerfect => LaTeX:
      - WP2LaTeX CTAN: `support/wp2latex/`
      - TeXPerfect CTAN: `support/texperf/`
      - WP2x
    - Word => LaTeX:
      - word_tex CTAN: `support/word_tex/` (Dokumentvorlagen, interner Konverter!)
      - WORD2TeX `http://www.word2tex.com/`, CTAN: `support/word2tex/`
      - WD2LaTeX
      - CATDOC CTAN: `support/catdoc/`
      - Word2x CTAN: `tools/word2x`
      - W2T `http://www.fi.muni.cz/~nygryn/w2t/`
    - Word => HTML:
      - wvHtml `http://wvware.sourceforge.net/`
      - GNU UnRTF `http://www.geocities.com/tuorfa/unrtf.html`
    - Word => Text/PostScript:
      - AntiWord `http://www.winfield.demon.nl/index.html`
      - wvText `http://wvware.sourceforge.net/`
  RTF/Word/WordPerfect => LaTeX (kommerziell):
    - Word/WordPerfect => (La)TeX:
      - ,,Publishing Companion`` von K-Talk Communications Inc.
        URL: `http://www.ktalk.com`
    - RTF => LaTeX:
      - Scientific Word/Scientific WorkPlace (enthält RTF inkl. math => LaTeX) von TCI Software Research
    - Math => Plain-TeX:
      - MathType Formeleditor von Design Science
        URL: `http://www.mathtype.com/mathtype/`
  Excel-Tabellen => LaTeX (nichtkommerziell):
    - Excel2Latex
      `http://www.jam-software.com/software.html`
      CTAN: `support/excel2latex`
    - xl2Latex
      CTAN: `support/xl2latex/`
    - Tabular
      `http://www.hsh.no/~ag/tabular/` (nicht mehr erreichbar)
  LaTeX => RTF/Word/WordPerfect (nichtkommerziell):
    - LaTeX => RTF, Windows Help RTF, HTML, wxHelp
      - TeX2RTF 1.47 CTAN: `support/tex2rtf/`
        URL: `ftp://ftp.aiai.ed.ac.uk/pub/packages/tex2rtf/` `http://web.ukonline.co.uk/julian.smart/tex2rtf/`
    - LaTeX => RTF
      - latex2rtf
        CTAN: `support/latex2rtf/`
  LaTeX => RTF/Word/WordPerfect (kommerziell):
    - TeX/LaTeX => WordPerfect/Word
      - TexPort
        URL: `http://www.ktalk.com`
      - tex2doc
        URL: `http://webplanet.lion.cc/jupiter/320094/software/Tex2doc.html`
  LaTeX => Framemaker (nicht kommerziell):
  Framemaker => LaTeX (nicht kommerziell):
    URL: `http://www.cs.stir.ac.uk/~kjt/software/framemaker/`

  ### 11.3.4 Konvertierungsprogramme zwischen HTML und LaTeX?

  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/TeX/converters.html` veröffentlicht.

  ### 11.3.5 Konvertierungsprogramme von (La)TeX in einfaches Textformat?

  Da das Ergebnis eines TeX-Laufs ein druckreifes Dokument darstellt, bei dem ein gefälliges Aussehen durch unterschiedliche Schriftarten und -kodierungen u.a. ereicht wird, ist die Reduktion auf das einfache Textformat nicht so einfach, wie man vielleicht glaubt. Die folgenden Wege führen zu einem Endergebnis, welches mehr oder weniger die zugrunde liegende Formatierung erahnen läßt:

  - ,dvi2tty`
    Ein dvi-Treiber, der das Ergebnis auf alphanumerischen Terminals darstellen oder in eine Datei ausgeben kann.
  - ,catdvi`
    Ein dvi-Treiber, der wie ,dvi2tty` Text liefert. Baut auf der kpathsea-Bibliothek von Web2C auf und läuft damit nur auf Betriebssystemen, auf denen diese existiert.
  - ,ps2ascii`
    Bestandteil des Programmpaketes ,Ghostscript`. Erfordert die vorherige Wandlung der dvi-Datei nach PostScript.
  - ,pstotext`
    Benutzt ebenfalls Ghostscript zur Wandlung, wobei bessere Ergebnisse als mit ,ps2ascii` erzielt werden.
  - ,pdftotext`
    Bestandteil des Programmpaketes ,Xpdf`. Erfordert die vorherige Erzeugung einer pdf-Datei. Es werden recht gute Ergebnisse erzielt.
  - LaTeX => HTML => txt
    Vorherige Wandlung der LaTeX-Datei nach HTML (siehe Frage 11.3.4). Die Wandlung vom HTML- in das Textformat kann mit Hilfe eines Web-Browsers (z.B. ,lynx`) oder mit anderen speziellen Konvertierungsprogrammen geschehen.

    Für die DE-TeX-FAQ wird ,html2text` zur Wandlung von HTML- in Textdateien verwendet. Diese Programm liegt im Quellcode vor und die Formatierung der verschiedenen HTML-Konstrukte läßt sich durch eine Style-Konfigurationsdatei anpassen. Für DOS existiert mit ,htmstrip` ein ähnliches Programm.

  dvi2tty: | CTAN: `nonfree/dviware/dvi2tty/`
  catdvi: | `http://www.iki.fi/gaia/programs/catdvi/`
  ps2ascii: | CTAN: `support/ghostscript/`
  pstotext: | `http://www.research.digital.com/SRC/virtualpaper/`
  pdftotext: | CTAN: `support/xpdf/`
  pdftotext/Xpdf: | `http://www.foolabs.com/xpdf/`
  html2text: | `http://userpage.fu-berlin.de/~mbayer/tools/html2text.html`
  | `ftp://ftp.ibiblio.org/pub/linux/apps/www/converters/`
  htmstrip: | `http://www.erols.com/waynesof/`

  ### 11.3.6 Wie kann ich Excel-Diagramme, Powerpoint-Zeichnungen oder andere Windows-Bilder mit LaTeX verwenden?

  Adobe stellt für Windows 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. Frage 6.4.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 Frage 6.4.6 helfen. Weitere Informationen zum Drucker-Treiber für Windows 95/98 und NT/2000/XP, sowie zu den Einstellungen des Drucker-Treibers über eine PPD-Datei, gibt es auf dem Adobe-Web-Server.

  Es empfiehlt sich, zusammen mit dem PostScript-Druckertreiber auch die Adobe PPD-Dateien herunterzuladen. Diese enthalten eine Acrobat Distiller PPD-Datei, die für die Erstellung von EPS-Dateien optimiert ist, welche nicht direkt auf einem bestimmten Drucker ausgegeben werden sollen, sondern zur Weiterverarbeitung (einschließlich PDF-Erstellung) gedacht sind.

  Printer Drivers for Windows: | `http://www.adobe.com/support/downloads/pdrvwin.htm`
  Erstellen von EPS-Grafiken unter Windows: | CTAN: `info/german/grafik/eps_anleitung.html`

  ## 11.4 TeX-Benutzungsoberflächen und Editoren

  ### 11.4.1 Emacs: Wie kann ich erreichen, daß für deutsche Texte das Doublequote nicht durch `` bzw.'' ersetzt wird?

  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. Falls nicht, kann man zwei Doublequotes eingeben, um einen einzelnen Doublequote zu erhalten.

  Einfacher ist es, wenn man dieses Verhalten abschaltet oder ändert. Beispielsweise in dem man in die Startup-Datei ,,`.emacs``` die Zeilen

      (add-hook 'TeX-mode-hook
        (function (lambda ()
          ;;
          ;; 1. besondere Behandlung fuer dt. Texte (u.a. fuer ")
          (TeX-run-style-hooks "german")  ;; nur AucTeX
          ;;
          ;; 2. gesonderte Behandlung von " ganz abschalten
          ; (local-set-key "\"" 'self-insert-command)
          ;;
          ;; 3. je ein " statt ``...'' einfuegen:
          ; (setq TeX-open-quote "\"")
          ; (setq TeX-close-quote "\"")
          ;;
          ;; 4. "`..."' statt ``...'' einfuegen:
          ; (setq TeX-open-quote "\"`")
          ; (setq TeX-close-quote "\"'")
          )))

  einfügt und je nach Wunsch eine der vier Varianten auskommentiert läßt. Ab AucTeX v9.x kann man auch in der Datei ,,`.emacs``` einfach

      (setq TeX-quote-after-quote t)

  schreiben, um dieses Verhalten abzuschalten.

  Achtung: Für den TeX-Mode der Standard-Emacs-Verteilung muß der Teil ,`TeX-`` in den Symbolen als ,`tex-`` kleingeschrieben werden. Einige Erweiterungen funktionieren nur mit AucTeX.

  ### 11.4.2 Emacs: Ich will direkt Umlaute verwenden können, jedoch sollten diese in ,`\"a`` oder ,`"a`` umgewandelt werden, damit ich sie problemlos weitergeben kann.

  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. Folgendes Code-Schnipsel funktioniert nur mit AucTeX und einer neueren Version der Library-Datei ,iso-cvt`.

      (require 'iso-cvt)
      (add-hook 'LaTeX-mode-hook
        (function (lambda ()
          ;; Setze Anfuehrungszeichen etc. fuer Style german
          (TeX-run-style-hooks "german")
          ;;
          ;; Lade Buffer und wandle nach ISO Latin-1:
          (format-encode-buffer 'plain)
          ;; Speichere Buffer in "gtex" = german.sty-Notation ("a etc.):
          (format-decode-buffer 'gtex))))

  Will man das entgegengesetzte Verhalten, soll also Emacs bei Eingabe eines Umlauts statt des einzelnen Umlautzeichens direkt die aus mehreren Zeichen bestehende TeX-Makro-Notation erzeugen, so kann man dies durch Änderung der entsprechenden ,Key-Map` erreichen. Beispielsweise durch folgenden unvollständig gezeigten Code:

      (add-hook 'TeX-mode-hook
        (function (lambda ()
          (local-set-key [228]
            (function (lambda () (interactive)
              (insert "\"a")
              ;; oder
              ; (insert "\\\"a")
              )))
          ;; weitere Zuweisungen mit analogem Aufbau
          ;; 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. Einige Erweiterungen funktionieren nur mit AucTeX.

  ### 11.4.3 Emacs: Wie kann ich Symbole leichter eingeben oder anschaulicher bei der Eingabe darstellen?

  Das Paket `x-symbol` zeigt unter XEmacs oder Emacs 21 sehr viele Symbole in einer Semi-WYSIWYG-Darstellung. Zusätzlich erweitert es die Menüs, so dass man in diesen nach Symbolen suchen kann.

  x-symbol: | `http://x-symbol.sourceforge.net`

  ## 11.5 dvi-Treiber - Druckertreiber und Previewer

  ### 11.5.1 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/```.

  ### 11.5.2 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.

  ### 11.5.3 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.

  ### 11.5.4 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: | CTAN: `macros/generic/TeX-PS/mirr.hd`
  crop: | CTAN: `macros/latex/contrib/crop/`

  ### 11.5.5 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.ps

  oder im LaTeX-Dokument

      \usepackage[rotate]{crop}[2000/02/02]

  pstops: | CTAN: `support/psutils`
  crop: | CTAN: `macros/latex/contrib/crop/`

  ## 11.6 Zeichenprogramme

  ### 11.6.1 Wie bringe ich ,XFig` dazu, beim Exportieren von Graphiken nach (La)TeX Formeln nicht auszukommentieren, sondern so zu übernehmen?

  Ü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 ,-spec[ialtext]` oder über die X11-Resource ,Fig*specialtext` setzen. Dies bewirkt, daß für neue Textobjekte standardmäßig das Special-Flag gesetzt wird.

  ### 11.6.2 Warum funktioniert das DOS-Programm ,TeXCad` nicht mehr auf meinem neuen Rechner?

  Es kann an einem Fehler in der Unit CRT des zum Kompilieren verwendeten ,Borland Pascal 7` liegen, der sich bei schnellen Prozessoren im Abbruch mit der Fehlermeldung

      Runtime error 200 at XXX:YYYY

  äußert. Nähere Informationen dazu und Wege zur Abhilfe finden sich unter dem Stichwort ,,tppatch``.

  tppatch: | `http://www.brain.uni-freiburg.de/~klaus/pascal/runerr200/download.html`
  | `ftp://ftp.heise.de/ct/ctsi/bppatch.zip`
  | `ftp://ftp.heise.de/ct/ctsi/ctbppat.zip`

  DE-TeX-FAQ (Version 72 vom September 2003)
  Copyright © 1995-2003 B. Raichle, R. Niepraschk, Th. Hafner