LaTeX: Verweise auf externe Dokumente

Ich kam kürzlich in die Verlegenheit, Querverweise auf ein anderes Dokument anlegen zu wollen. Glücklicherweise liegen beide Dateien im selben Verzeichnis und heißen beispielsweise thesis.tex und anhang.tex.

Beide Dokumente sollen mit voller Absicht voneinander getrennt sein. Dennoch wird man in thesis.tex auf den Anhang referenzieren wollen – und das bitteschön mit dem von LaTeX gewohnten Komfort!

Paket xr

Möglich wird das mit dem Paket xr – „eXternal References“. Die Benutzung ist einfach: In der Präambel des Hauptdokumentes gibt man das externe Dokument (ohne .tex am Ende) an, etwa so:

\usepackage{xr}
\externaldocument{anhang}

Nun kann man wie gewohnt auf die Labels von anhang.tex referenzieren. Bedingung ist, dass anhang.aux im selben Verzeichnis liegt, wie das Hauptdokument thesis.tex. Das erwirkt man am einfachsten dadurch, dass man anhang.tex im selben Verzeichnis liegen hat und einmal parst. Dabei wird die aux-Datei automatisch erzeugt.

Mit LyX auf externe Dokumente verweisen

… ist wiederum nicht so einfach, denn LyX versteckt die .aux-Datei beim Parsen von Dokumenten.

Sinnvolle Strategien:

  1. In LyX den LaTeX-Export verwenden und das ausgegebene .tex-File separat parsen (z.B. via TeXworks oder direkt über die Konsole); dann entsteht die benötigte .aux-Datei.
  2. Die .aux-Datei manuell aus dem temporären LyX-Verzeichnis fischen und in das Verzeichnis kopieren, in dem das Hauptdokument liegt.
  3. Die referenzierte Datei von vornherein in reinem LaTeX schreiben – meiner Meinung nach die angenehmste Methode

In LyX kopiert man die obigen Code-Zeilen in die Präambel. Ab dann können Labels aus anhang.tex referenziert werden. Sie müssen allerdings manuell ins Dialogfenster getippt werden und es wird ein Hinweis erscheinen, dass die Marke nicht gefunden wurde. Die Meldung kann getrost ignoriert werden – wenn die .aux-Datei im selben Verzeichnis wie das .lyx-Dokument lieg.

[via stackexchange]

Andwils Avatar

~andwil

Geek aus Kiel. Tobt sich hier vor allem über den Open-Source-Kosmos im Allgemeinen (und Linux im Speziellen) sowie Heavy Metal aus.