Aktualisierung während des Kompilierens möglich?

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.


lorenz1980
Forum-Anfänger
Forum-Anfänger
Beiträge: 32
Registriert: Mo 27. Okt 2008, 14:59

Aktualisierung während des Kompilierens möglich?

Beitrag von lorenz1980 »

Aktuell muss ich die tex-Files kompilieren, dann BibTex und makeindex starten (wobei mir die Anzahl und Häufigkeit noch immer völlig unklar ist und ich wie ein Wilder klicken muss bis dann mal alles aktuell ist)..

Ist es möglich (via Befehlszeile in LaTeX), dass das alles während des Kompilierens passiert? Und wenn nicht: Welche Reihenfolge und Anzahl der Aufrufe muss sein?

Bisher dachte ich:
PDF LaTeX
BibTex
makeindex
PDF LaTeX
würde reichen - doch min. Index ist dann immer noch nicht aktuell :-( :?:

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

LaTeX schreibt bei jedem LaTeX-Lauf Informationen in diverse Hilfsdateien:
  • aux - Informationen zu labels, verwendete Literturzitate, Verzeichniseinträge
  • toc - Inhaltsverzeichniseinträge aus den aux-Dateien
  • lof - Abbildungsverzeichniseinträge aus den aux-Dateien
  • lot - Tabellenverzeichniseinträge
  • idx - Indexeinträge in der Rohfassung
Es kann weitere Hilfsdateien geben. Beim nächsten LaTeX-Lauf liest LaTeX all diese Dateien bis auf idx wieder ein und holt sich so Informationen aus dem letzten LaTeX-Lauf. Mit der idx-Datei kann LaTeX selbst nichts anfangen. Ebenso kann LaTeX selbst nichts mit einer bib-Datei anfangen.

Das Hilfprogramm MakeIndex erzeugt aus der idx-Datei eine Datei ind, sie den sortierten Index enthält. Diese Datei liest LaTeX.

Ebenso erzeugt das Hilfsprogramm BibTeX aus der aux- und der bib-Datei eine bbl-Datei mit den gewünschten Literaturverzeichniseinträgen im gewünschten Format. Diese Datei liest LaTeX ein.

Bei einfachen Dokumenten kann nun die Reihenfolge pdflatex, makeindex (oder xindy), bibtex (oder bibtex8) , pdflatex ausreichen, um ein korrektes Dokument zu erzeugen. Bei anderen genügt dies nicht. Wenn nämlich beispielsweise eine Seite Inhaltsverzeichnis hinzugekommen ist, dann stimmen natürlich die Seitenangaben in der ind-Datei, die ja aus der idx-Datei des ersten LaTeX-Laufs stammt, nicht mehr. Also benötigt man einen weiteren Aufruf von makeindex und pdflatex. In den meisten Fällen hat man nach dem zweiten makeindex- und dem dritten pdflatex-Lauf ein korrektes Dokument. Es kann aber sein, dass auch in diesem Fall noch Meldungen wie "Label(s) may have changed. Rerun to get cross-references right" auftauchen (schreibt LaTeX sowohl in die Terminalausgabe als auch in die log-Datei). In dem Fall sind weitere Läufe notwendig.

Der Vollständigkeit halber sei erwähnt, dass MakeIndex natürlich auch noch andere Verzeichnisse aufbereiten kann, beispielsweise ein Glossar. Ebenso kann mehr als ein bibtex-Aufruf notwendig sein, etwas wenn man mit multibib arbeitet.

Ebenso sei erwähnt, dass Dokumente denkbar sind, die niemals einen finalen LaTeX-Lauf erreichen.

Übrigens ist bei MikTeX in den Tools ein Programm (texify?) zu finden, das die ganzen Aufrufe recht gut handhabt.

lorenz1980
Forum-Anfänger
Forum-Anfänger
Beiträge: 32
Registriert: Mo 27. Okt 2008, 14:59

Beitrag von lorenz1980 »

Nun gut... Immerhin weiß ich nun, wozu texify gut sein soll...
Probier ich gleich mal aus :-D


Nun gut, beim Literaturverzeichnis klappts 1a... Beim Index (Abkürzungsverzeichnis) nicht so... Aber was solls, drück ich halt abwechselnd n Dutzend mal auf sämtliche Button und iwann kommt schon was bei raus

Danke^^

Antworten