So mach ich es: PDF erzeugen mit lyx und tex2pdf

Wozu PDF, DVI und PS sind doch in Ordnung?

PS bietet zwar eine Spitzen-Ausgabequalität, irgendwie merkt man dem Format aber das Alter an. Es ist eben statisch und bläht Dateien ganz schön auf. Dazu kommt noch, daß Postscript außerhalb der Unix- und Mac-Welt immer noch exotisch ist, während dank Adobes Acrobat-Reader heutzutage PDF auf jeder Plattform kostenlos gelesen und ausgedruckt werden kann.

Dank 'pdflatex' existiert nun die Möglichkeit die Qualität des LATEX-Satzes mit den Vorteilen des PDF-Formats zu verbinden. Dabei erzeugt 'pdflatex' sofort PDF, ohne über das DVI-Format zu gehen, was zu einer wirklich rasanten Übersetzungsgeschwindigkeit führt. In Verbindung mit 'hyperref' werden sämtliche Querverweise, Literaturangaben und das Inhaltsverzeichnis zu Links im PDF umgewandelt, so daß ein Navigieren durch das Dokument wie in HTML möglich wird. Zusätzlich kann mit den "Thumbnails" eine kleine Seitenvorschau in das PDF-Dokument eingebaut werden und das Inhaltsverzeichnis wird in die Lesezeichen übernommen.

Als Nachteil muß man halt einige neue Befehle lernen und kann keine eps-Dateien mehr verwenden: 'pdflatex' kann mit eps-Bildern, wie sie in meinem Dokument über 150-mal ;) vorkommen, nichts anfangen. Stattdessen unterstützt 'pdflatex' *.pdf und *.png (und ich glaube noch andere Bitmap-Formate). Das stellt sich normalerweise als Vorteil dar, da diese Bildformate verglichen mit *.eps relativ klein ausfallen. Zudem existiert mit 'epstopdf' ein komfortables Script zum Batchkonvertieren von bereits vorhandenen Bildern.

Zwar besitzt 'lyx' seit Version 1.1.6 rudimentäre Unterstützung für pdflatex, da ich aber ein bereits exisierendes größeres Dokument nicht komplett umstellen wollte, meine Variante:

Und noch ein Tip: Normalerweise gibt es in LATEX ja für alles Makropakete. Zur Ermittlung der Seitenanzahl des Dokuments habe ich so eines auch gefunden, nicht aber zur Ermittlung der Anzahl der Bilder, Tabellen und Literaturangaben im Dokument. Deshalb bestimme ich dies einfach so:

      figs=`grep \begin_float mydoc.lyx | grep fig |wc -l`
      tabs=`grep \begin_float mydoc.lyx | grep tab |wc -l `
      cite=`grep \cite        mydoc.lyx | sort | uniq | wc -l`
  
und patche das TEX-File vor dem Aufruf von 'latex', bzw. pdflatex.

---<snip>---
8.6.2002: Nachtrag

Die Ermittlung der Literaturangaben nach obiger Zeile führt zu falschen Ergebnissen, wenn die in neueren LyX-Versionen vorhandene Mehrfachliteraturangabe benutzt wird (z. B. cite\{Koch76, Mueller 85}).

Quick-Hack:

      #!/bin/sh
      TEMP=/tmp/cite_count_tmp
      
      #Zeile 1: alle einfachen Lit.verweise
      #Zeile 2: doppelte Lit.verweise, vor dem Komma
      #Zeile 3: doppelte Lit.verweise, nach dem Komma, evtl. fuehrende Leerzeichen entfernen
      grep \cite mydoc.lyx | cut -f2 -d"{" | cut -f1 -d"}" | grep -v , >$TEMP
      grep \cite mydoc.lyx | cut -f2 -d"{" | cut -f1 -d"}" | grep , | cut -f1 -d "," >>$TEMP
      grep \cite mydoc.lyx | cut -f2 -d"{" | cut -f1 -d"}" | grep , | cut -f2 -d "," | cut -f2 -d " " >>$TEMP
      cite=`cat $TEMP | sort | uniq | wc -l`
      rm $TEMP
      
---<snap>---

Kann man sicherlich alles eleganter lösen, aber so funktionierts bei mir ;)


Letzte Änderung vom 08.06.02, Für Fragen, Berichtigungen, Ergänzungen: Holger Daßler