Zusammenfassung
Diese Lektion zeigt, wie man sicher kompiliert und behebt, was schiefgeht. Sie erklärt, dass eine Kompilierung in Durchläufen erfolgt, warum Querverweise und das Inhaltsverzeichnis einen zweiten benötigen und wie latexmk die Durchläufe selbstständig wiederholt, in Texmaker und im Terminal. Sie lehrt, die Logdatei zu lesen: wo sie liegt, wie man einen Fehler mit seiner Ausrufezeichenzeile, seiner Zeilennummer und seinem zweigeteilten Kontext liest und was einen Fehler von einer Warnung und von einer Meldung über eine überfüllte Box unterscheidet. Sie geht die häufigsten Fehler mit ihren tatsächlichen Meldungen durch, die Interaktionsmodi des Programms und eine Strategie der Fehlersuche: zuerst den ersten Fehler lesen, den Quelltext halbieren, das Problem auf ein Minimalbeispiel reduzieren, die Hilfsdateien löschen und nach dem Text der Meldung suchen. Am Ende stehen die Warnungen, die Beachtung verdienen.
Lernziele
- Erklären, warum ein Dokument mit Querverweisen oder Inhaltsverzeichnis mehr als einen Durchlauf benötigt, und es mit latexmk kompilieren.
- Einen Fehler in der Logdatei lesen und seine Meldung, die Zeile, in der das Programm ihn entdeckt hat, und die genaue Stelle in dieser Zeile bestimmen.
- Die häufigsten Fehler an ihrer Meldung erkennen und jeden mit seinen wahrscheinlichen Ursachen in Verbindung bringen.
- Die eigentliche Ursache eines Fehlers finden, wenn sie nicht in der angegebenen Zeile liegt, indem man zuerst den ersten Fehler liest und den Quelltext halbiert.
- Die Warnungen, die eine Korrektur verlangen, von denen unterscheiden, die man ignorieren kann.
Was eine Kompilierung tut
Das Programm liest den Quelltext nur ein einziges Mal, von Anfang bis Ende, und setzt jede Seite, während es fortschreitet. Dieses einmalige Lesen hat eine Folge: Wenn auf der zweiten Seite ein Verweis auf Abschnitt fünf steht oder wenn das Inhaltsverzeichnis auf der ersten Seite Abschnitte aufführen soll, die noch nicht gelesen wurden, kann das Programm noch nicht wissen, welche Nummer oder welche Seite ihnen entspricht. Die Lösung von LaTeX besteht darin, in Durchläufen zu arbeiten. In jedem Durchlauf notiert es in der Datei .aux die Nummer und die Seite jedes Labels (der mit \label gesetzten Marken) und in der Datei .toc die Abschnittsüberschriften; im nächsten Durchlauf liest es diese Dateien zu Beginn ein und verwendet das Notierte. Daraus folgt, dass beim ersten Kompilieren die Verweise als zwei Fragezeichen erscheinen und das Inhaltsverzeichnis leer bleibt und dass ein erneutes Kompilieren genügt, damit sie vervollständigt werden. Verschiebt eine Änderung die Nummern, kann ein dritter Durchlauf nötig sein; die Bibliographie fügt, wie in ihrer Einheit zu sehen sein wird, zwischen den Durchläufen ein weiteres Programm hinzu, Biber.
Durchläufe von Hand zu zählen ist mühsam und fehleranfällig. Dafür gibt es latexmk, ein Programm, das mit den Distributionen geliefert wird: Es startet das Programm, prüft die Logdatei und die Hilfsdateien und wiederholt die Durchläufe oder ruft Biber auf, bis sich nichts mehr ändert. Seine Option -lualatex weist es an, LuaLaTeX zu verwenden, und seine Option -c löscht die Hilfsdateien und behält das PDF.
Der erste Befehl kompiliert arbeit.tex mit LuaLaTeX so oft wie nötig; der zweite räumt die Hilfsdateien auf.
$ latexmk -lualatex arbeit.tex$ latexmk -c arbeit.texIn Texmaker verwendet eine der vordefinierten Abfolgen der Schnellübersetzung latexmk (LatexMk + View PDF); in der Befehlsliste des Konfigurationsdialogs ersetzt man den Befehl für latexmk durch latexmk -lualatex -synctex=1 -interaction=nonstopmode %.tex, damit LuaLaTeX verwendet wird und die Synchronisation mit dem PDF erhalten bleibt.
Inhalt wird geladen…
Abgeschlossen
Melde dich an, um deinen Fortschritt zu speichern