> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/de/wissensdatenbank/033-cross-referencing-with-the-xr-package-in-overleaf.md).

# Querverweise mit dem xr-Paket in Overleaf

## Überblick

Die [`xr` Paket](https://ctan.org/pkg/xr?lang=en) ermöglicht Ihnen, Querverweise auf Gleichungen, Abbildungen, Tabellen usw. zu erstellen, die in externen LaTeX-Dokumenten enthalten sind, vorausgesetzt, diese Dokumente sind *standalone.* Ein eigenständiges LaTeX-Dokument ist eines, das kompiliert werden kann, weil es eine `\documentclass{...}` Anweisung und den `\begin{document}`...`\end{document}` Konstrukt enthält.

### Zusammenfassung der Verwendung

1. Schreiben Sie `\usepackage{xr}` in die Präambel der LaTeX-Datei, die Inhalte, die in externen LaTeX-Dateien enthalten sind, per Querverweis referenzieren muss.
2. Verwenden Sie die `xr` Paketbefehl `\externaldocument{filename}` um das oder die externen Dokumente anzugeben, deren Inhalt Sie per Querverweis referenzieren möchten.

Die `xr` Das Paket funktioniert, indem es Querverweis-Labels verwendet, die in den `.aux` Dateien enthalten sind, die erzeugt werden, wenn die externen LaTeX-Dokumente kompiliert werden.

### Wie Querverweise funktionieren (eine kurze Zusammenfassung)

Um einen Eintrag in einem LaTeX-Dokument per Querverweis zu referenzieren, müssen Sie:

1. Ihm einen eindeutigen Bezeichner geben, `some_string`, mit dem `\label` Befehl:

```latex
\label{some_string}
```

3. An der Stelle, an der Sie dieses Element referenzieren möchten, müssen Sie schreiben

```latex
\ref{some_string}
```

Ganz kurz gesagt verwaltet LaTeX Querverweise, indem es Daten in eine Datei namens `filename.aux` wobei `filename` ist der Name des Haupt- `.tex` zu kompilierenden Dokuments.

Damit der Prozess funktioniert, muss das LaTeX-Dokument mindestens zweimal kompiliert werden: Die erste Kompilierung *erzeugt* die Referenzdaten — und schreibt sie in `filename.aux`. Während der zweiten Kompilierung *liest* `filename.aux` LaTeX sie ein, um die Verweise aufzulösen, und liefert Daten, die die Vorkommen von `\ref{some_string}`.

* Für weitere Details zu Querverweisen siehe den Overleaf-Artikel [Querverweise auf Abschnitte, Gleichungen und Gleitobjekte](/latex/de/dokumentstruktur/03-cross-referencing-sections-equations-and-floats.md).

## Projekte, in denen das xr-Paket nicht erforderlich ist

Große LaTeX-Projekte, wie Bücher oder lange Berichte, werden oft in eine Reihe kleinerer `.tex` Dateien aufgeteilt, eine pro Kapitel, wobei jede Kapitel- `.tex` Datei in das Haupt-LaTeX-Dokument mit `\input` oder `\include`eingefügt wird. Typischerweise sind diese Kapitel nicht eigenständig: Sie können einzelne Kapitel nicht kompilieren, weil sie keine `\documentclass{...}` Anweisung oder den `\begin{document}...\end{document}` Konstrukt enthalten. Diese Kapitel sind für die *Einbindung* in ein „Container“-Dokument bestimmt, das *kann* kompiliert werden. Unter diesen Umständen kann die Querverweisreferenzierung auf Dokumentelemente — innerhalb einer einzelnen Kapiteldatei — wie gewohnt erfolgen: Sie müssen das `xr` Paket nicht verwenden.

Um ein Beispiel für ein großes Projekt zu erkunden, können Sie [dieses Beispiel in Overleaf öffnen.](https://www.overleaf.com/project/new/template/20618?id=70769185\&templateName=Managing+a+large+project+on+Overleaf\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

## Beispiel eines Projekts, in dem das xr-Paket erforderlich ist

Angenommen, Sie haben eine Reihe eigenständiger LaTeX-Dokumente, etwa eine Sammlung von N Artikeln: `article1.tex`, `article2.tex` ... `articleN.tex`. Jeder dieser Artikel kann separat kompiliert werden, und es ist wahrscheinlich, dass sie mit verschiedenen Dokumentklassen, Paketen usw. geschrieben wurden.

Stellen Sie sich nun vor, Sie möchten mit LaTeX eine Übersicht oder Zusammenfassung dieser Artikel schreiben — wir nennen unsere Datei `summary.tex`. Unsere Zusammenfassung muss auf Abschnitte, Abbildungen, Tabellen, Gleichungen usw. verweisen, die in diesen einzelnen eigenständigen N Artikeln enthalten sind. Wie können wir das tun?

Die `xr` Das Paket ermöglicht Ihnen genau das: Es erlaubt `summary.tex` die Verwendung von Referenz-Labels, die von einem beliebigen der eigenständigen `article*.tex` Dateien vorbereitet.

### Ein Hinweis zu .aux-Dateien

* Hinweis: Hier verwenden wir ein Sternchen (`*`) als Platzhalter für eine beliebige Zahl von 1 bis N.

Das Kompilieren einer der eigenständigen Dateien `article1.tex`, `article2.tex` ... `articleN.tex` führt dazu, dass LaTeX eine entsprechende `article*.aux` (\*\*`aux`\*\*ilfsdatei erzeugt, die unter anderem Label-Daten enthält, die zur Erzeugung von Querverweisen benötigt werden.

Wenn eine der `article*.tex` Dateien bearbeitet wird — zum Beispiel, um Labels zu ändern, hinzuzufügen oder zu entfernen (`\label{...}`) — müssen die entsprechenden `article*.tex` Datei(en) neu kompiliert werden, um die zugehörigen `article*.aux` Datei(en) zu durchsuchen und zu filtern.

Änderungen an `article*.tex`zu erkennen und sie anschließend neu zu kompilieren, kann in Overleaf automatisiert werden, indem ein geeignetes `latexmkrc` -Datei verwendet werden.

## Wie man xr in Overleaf verwendet

Wir verwenden eine vereinfachte Version unseres Mehrfach-Artikel-Beispiels; insbesondere zeigen wir, wie sich der Kompilierungsprozess über eine `latexmkrc` Datei [bereitgestellt für Overleaf von John Collins](#code-for-latexmkrc) ([Betreuer von `latexmk`](https://ctan.org/pkg/latexmk?lang=en)).

### In unserem Beispiel verwendete Dateien

Unser Beispiel verwendet die folgenden Dateien:

* `**summary.tex**`: Dies ist unser Übersichts­dokument. Wir benötigen es, um auf Inhalte zu verweisen, die in `article1.tex`enthalten sind, wie etwa Abbildungen und Abschnitte.
  * `summary.tex` lädt das `xr` Paket und verwendet `\externaldocument{article1}` um anzugeben, dass Referenzdaten aus `article1.aux` verwendet werden sollen.
* `**article1.tex**`: ein einzelner eigenständiger Artikel, der interne Querverweise enthält. Das Kompilieren von `article1.tex` erzeugt Querverweisdaten, die in der Datei enthalten sind `article1.aux`.
  * Eine externe Datei wie `article1.tex` die möglicherweise von jemand anderem geschrieben wurde — damit Sie sie „wie geliefert“, also unverändert, verwenden können.
* `**latexmkrc**`: enthält Code (Perl), um die erneute Kompilierung von `article1.tex` aufgrund von daran vorgenommenen Änderungen zu automatisieren — um eine aktualisierte `article1.aux` -Datei verwendet werden.
  * Unsere `latexmkrc` Datei wurde [bereitgestellt für Overleaf von John Collins](#code-for-latexmkrc) ([Betreuer von `latexmk`](https://ctan.org/pkg/latexmk?lang=en)).

### Über den Befehl \externaldocument

Die `xr` Paket stellt den`\externaldocument` Befehl bereit, der die allgemeine Form

```latex
\externaldocument[prefix]{external_file}
```

* **`prefix` (optional):** Mit diesem optionalen Argument können Sie ein Präfix definieren, das allen aus dem externen Dokument importierten Labels vorangestellt wird. Das ist nützlich, um Konflikte zu vermeiden, wenn in mehreren Dokumenten dieselben Labelnamen verwendet werden.
* **`external_file` (erforderlich):** Dieses erforderliche Argument gibt den Namen des externen LaTeX-Dokuments an (ohne die `.tex` Erweiterung), aus dem Sie Referenzen importieren möchten. Das `xr` Paket sucht nach der `.aux` Datei, die zu `external_file` gehört (z. B. `external_file.aux`), um die Labels abzurufen.

Zum Beispiel: Wenn unser Haupt- `.tex` Datei `summary.tex` und die externe Datei, `article1.tex` beide das Label enthalten `\label{eq:1}` dann haben wir einen Labelnamen-Konflikt. Dieser Konflikt kann vermieden werden, indem man schreibt

```latex
\externaldocument[art1-]{article1}
```

in welchem Fall alle Labels, die beim Kompilieren von `article1.tex` erzeugt werden, mit `art1-`präfixiert werden. Jetzt können Sie auf `\label{eq:1}`zugreifen, das in `article1.tex`enthalten ist, indem Sie schreiben `\ref{art1-eq:1}` in `summary.tex`.

### Die Projektdateien

#### article1.tex

Der folgende Code kann in Overleaf über den Link unterhalb des Listings geöffnet werden.

```latex
\documentclass{article}
\title{Dies ist \texttt{article1.tex}}
\begin{document}
\section{Einleitung}
\label{introduction}

Dies ist ein eigenständiges \LaTeX{}-Dokument mit
Referenzen, die wir in \texttt{summary.tex} verwenden möchten.

\subsection{Mathe-Referenzen}
\label{mathrefs}
Wie in Abschnitt \ref{introduction} erwähnt,
können verschiedene Elemente innerhalb
eines Dokuments referenziert werden.

\subsection{Potenzenreihen}
\label{powers}

\begin{equation}
\label{eq:1}
\sum_{i=0}^{\infty} a_i x^i
\end{equation}

Gleichung \ref{eq:1} ist eine typische Potenzreihe.
\end{document}
```

[Öffnen `article1.tex` in Overleaf](https://www.overleaf.com/docs?engine=%5B%5B%3ATemplate%3AEngine%5D%5D}\&snip_name\[]=readme.txt\&snip\[]=A+project+created+from+the+Overleaf+wiki\&snip_name\[]=article1.tex\&main_document=article1.tex\&snip\[]=%5Cdocumentclass%7Barticle%7D%0A%5Ctitle%7BThis+is+%5Ctexttt%7Barticle1.tex%7D%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csection%7BIntroduction%7D%0A%5Clabel%7Bintroduction%7D%0A%0AThis+is+a+standalone+%5CLaTeX%7B%7D+document+with%0Areferences+we+want+to+use+in+%5Ctexttt%7Bsummary.tex%7D.%0A%0A%5Csubsection%7BMath+references%7D%0A%5Clabel%7Bmathrefs%7D%0AAs+mentioned+in+section+%5Cref%7Bintroduction%7D%2C+%0Adifferent+elements+can+be+referenced+within%0Aa+document.%0A%0A%5Csubsection%7BPowers+series%7D%0A%5Clabel%7Bpowers%7D%0A%0A%5Cbegin%7Bequation%7D%0A%5Clabel%7Beq%3A1%7D%0A%5Csum_%7Bi%3D0%7D%5E%7B%5Cinfty%7D+a_i+x%5Ei%0A%5Cend%7Bequation%7D%0A%0AEquation+%5Cref%7Beq%3A1%7D+is+a+typical+power+series.%0A%5Cend%7Bdocument)

Das Kompilieren `article1.tex` ergibt die folgende Ausgabe:

![Ausgabe, die beim Kompilieren der Datei article1.tex in Overleaf erzeugt wurde](/files/f45ebb02c9cf40f954303b0e6ad4f457a0e1789c)

#### summary.tex

Hier ist unser anfängliches `summary.tex` Datei *bevor* wir haben festgelegt, auf welches externe Dokument wir verweisen möchten. Zur Vereinfachung `summary.tex` enthält keine `\label` Befehle, da es keine internen Querverweise gibt. Alle `\ref` Befehle verweisen auf Labels, die von `\label` enthaltenen Befehlen erzeugt werden `article1.tex`.

```latex
\documentclass{article}
\usepackage{xr}
\title{Dies ist \texttt{summary.tex}}
\begin{document}
In der Datei \texttt{article1.tex} ist die Einleitung Abschnitt \ref{introduction}. In dieser Datei gibt es zwei Unterabschnitte: \ref{mathrefs} und \ref{powers}. Im Unterabschnitt \ref{powers} zeigt Gleichung \ref{eq:1} eine Potenzreihe.
\end{document}
```

[Öffnen Sie dieses *unvollständig* `summary.tex` in Overleaf](https://www.overleaf.com/docs?engine=%5B%5B%3ATemplate%3AEngine%5D%5D}\&snip_name\[]=readme.txt\&snip\[]=A+project+created+from+the+Overleaf+wiki\&snip_name\[]=summary.tex\&main_document=summary.tex\&snip\[]=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bxr%7D%0A%5Ctitle%7BThis+is+%5Ctexttt%7Bsummary.tex%7D%7D%0A%5Cbegin%7Bdocument%7D%0AIn+the+file+%5Ctexttt%7Barticle1.tex%7D%2C+the+introduction+is+section+%5Cref%7Bintroduction%7D.++In+that+file%2C+there+are+two+subsections%3A+%5Cref%7Bmathrefs%7D+and+%5Cref%7Bpowers%7D.+In+subsection+%5Cref%7Bpowers%7D%2C+equation+%5Cref%7Beq%3A1%7D+demonstrates+a+power+series.%0A%5Cend%7Bdocument%7D)

Wenn wir diese Version von `summary.tex` kompilieren, wird versucht, Referenzdaten aus `summary.aux` einzulesen, aber die erforderlichen Daten befinden sich in der externen Datei `article1.aux` die noch nicht zugänglich ist.

Das Kompilieren dieser unvollständigen `summary.tex` Datei erzeugt die folgende Ausgabe, wobei doppelte Fragezeichen undefinierte Verweise anzeigen:

![Bild, das fehlende Verweise meldet](/files/e2278d5747f51ad4a37f13c0f2e9a3b116bd5b75)

### Das externe Dokument angeben

Der nächste Schritt besteht darin, `article1` als Namen des externen Dokuments anzugeben, dessen Labels wir referenzieren möchten. Fügen Sie die folgende Zeile in die Präambel von `summary.tex`:

```latex
\externaldocument{article1}
```

Hier `article1` kann durch beliebige Dateien ersetzt werden, deren Labels Sie zugreifen möchten — Sie können mehrere `\externaldocument` Befehle verwenden, um auf zusätzliche externe Dateien zuzugreifen.

### Die latexmkrc-Datei erstellen

Der nächste Schritt besteht darin, eine `latexmkrc` Datei wie unten gezeigt zu erstellen:

* Wählen Sie in Ihrem Projekt-Editorfenster das **Neue Datei** Symbol oben links im Projektfenster aus.
* Wählen Sie **Neue Datei** aus dem **Dateien hinzufügen** Popup-Dialogfeld und nennen Sie die Datei `latexmkrc`— beachten Sie, dass es keine Dateiendung gibt:

![Erstellen einer latexmkrc-Datei in Overleaf](/files/871a8df3c948226a6ccea80c995e5bdf733f06b2)

* Stellen Sie sicher, dass die `latexmkrc` Datei im obersten (Root-)Verzeichnis des Dateibereichs des Projekts erstellt und gespeichert wird. Also nicht innerhalb eines Ordners im Dateibaum.
* Kopieren Sie den folgenden Code in Ihr `latexmkrc` -Datei verwendet werden.

#### Code für latexmkrc

Overleaf dankt John Collins, [Betreuer von `latexmk`](https://ctan.org/pkg/latexmk?lang=en), dafür, dass er uns kontaktiert hat, um die folgende `latexmkrc` Datei bereitzustellen, die wir mit Freude vollständig veröffentlichen — einschließlich der äußerst hilfreichen Inline-Kommentare.

```perl
# Dies zeigt, wie man das xr-Paket mit latexmk verwendet.
# John Collins 2023-03-29
#
# Das xr-Paket ("ein System für eXternal References") wird von einem Dokument verwendet
# um Verweise auf Abschnitte, Gleichungen usw. in anderen externen
# Dokumenten zu erstellen.
# Die Definitionen in dieser Datei ermöglichen es latexmk, latexmk auf
# anzuwenden, um ein externes Dokument automatisch zu aktualisieren, sobald sich dessen .tex-Datei ändert,
# damit die Verweise im Hauptdokument aktuell bleiben.

# Hinweise:
#    1. Diese Version ist so definiert, dass die Dateien aus den Kompilierungen von
#       den externen Dokumenten in ein definiertes Unterverzeichnis gelegt werden, um
#       potenziell viele erzeugte Dateien von den Verzeichnissen des Hauptdokuments
#       zu trennen.
#    2. Damit jedoch, wie hier, der benutzerdefinierte Abhängigkeitsmechanismus von latexmk verwendet werden kann,
#       muss die aux-Datei aus der Kompilierung eines Unterdokuments im
#       selben Verzeichnis wie die entsprechende Quelldatei .tex erzeugt werden. Das
#       .aux-Datei wird daher kopiert.
#    3. Es wird angenommen, dass die externen Dokumente mit
#       pdflatex kompiliert werden. Dies kann natürlich geändert werden, indem die mit dem aufgerufenen latexmk übergebene Option '-pdf'
#       in das jeweils benötigte umgewandelt wird.
#    4. Eine ideale Implementierung würde auch sicherstellen, dass die erneute Kompilierung eines
#       externen Dokuments auch dann erfolgt, wenn sich eine seiner anderen Quell-
#       dateien ändert. Aber das wird in der vorliegenden Version nicht getan, und
#       würde wahrscheinlich entweder die Verwendung interner latexmk-Variablen
#       oder zusätzliche Erweiterungen von latexmk erfordern.
#    5. Der Code verwendet die Unterroutinen copy und fileparse, die von
#       latexmk aus den Perl-Paketen File::Copy und File::Basename geladen werden.
#    6. Er verwendet außerdem einige noch nicht dokumentierte Funktionen von latexmk: eine Array-
#       Variable @file_not_found und die Unterroutinen popd, pushd und
#       rdb_add_generated.

#--------------------
# Konfigurierbare Optionen für die Kompilierung externer Dokumente

# Unterverzeichnis für Ausgabedateien aus der Kompilierung externer Dokumente:
$sub_doc_output = 'output-subdoc';

# Optionen, die an latexmk für die Kompilierung externer Dokumente übergeben werden sollen:
@sub_doc_options = ();

push @sub_doc_options, '-pdf'; # Verwenden Sie pdflatex für die Kompilierung externer Dokumente.
# Ersetzen Sie '-pdf' bei Bedarf durch '-pdfdvi', 'pdfxe' oder 'pdflua'.

#--------------------

# Fügen Sie ein Muster für die Log-Datei-Nachricht von xr über fehlende Dateien zu latexmks
# Liste hinzu. Die Variable @file_not_found von Latexmk ist noch nicht dokumentiert.
# Diese Zeile ist für latexmk ab Version 4.80 nicht erforderlich.
push @file_not_found, '^No file\\s*(.+)\s*$';

add_cus_dep( 'tex', 'aux', 0, 'makeexternaldocument' );
sub makeexternaldocument {
    if ( $root_filename ne $_[0] )  {
        my ($base_name, $path) = fileparse( $_[0] );
        pushd $path;
        my $return = system "latexmk",
                            @sub_doc_options,
                            "-aux-directory=$sub_doc_output",
                            "-output-directory=$sub_doc_output",
                            $base_name;
        if ( ($sub_doc_output ne '') && ($sub_doc_output ne '.') ) {
               # In diesem Fall befindet sich die von pdflatex erzeugte .aux-Datei nicht im selben
               # Verzeichnis wie die .tex-Datei.
               # Daher:
               # 1. Die tatsächlich erzeugte aux-Datei muss als durch diese
               #    Regel erzeugt aufgeführt werden, damit latexmk Abhängigkeiten korrekt behandelt.
               #    (Zu überwindendes Problem: Wenn $sub_dir_output dasselbe ist wie $aux_dir
               #    für das Hauptdokument, kann xr die .aux-Datei in der
               #    aux_dir lesen statt derjenigen, von der die benutzerdefinierte Abhängigkeit laut latexmk erzeugt werden soll,
               #    die sich im selben Verzeichnis wie die .tex-Quelldatei
               #    für diese benutzerdefinierte Abhängigkeit befindet.)
               #    Verwenden Sie die noch nicht dokumentierte latexmk-Unterroutine rdb_add_generated
               #    dazu:
               # 2. Eine Kopie der .aux-Datei muss sich im selben Verzeichnis wie die .tex-Datei befinden,
               #    um latexmks Definition einer benutzerdefinierten Abhängigkeit zu erfüllen.
             rdb_add_generated( "$sub_doc_output/$base_name.aux" );
             copy "$sub_doc_output/$base_name.aux", ".";
        }
        popd;
        return $return;
   }
}
```

### Ein Overleaf-Projekt öffnen, das xr demonstriert

Das folgende Drei-Dateien-Projekt kann jetzt in Overleaf über die oben und unter den Dateilisten angegebenen Links geöffnet werden. Beachten Sie, dass die `latexmkrc` Datei den von John Collins bereitgestellten Code enthält, aber der Kürze halber wurden die meisten Kommentare entfernt.

[Dieses Drei-Dateien-Beispiel in Overleaf öffnen.](/latex/de/wissensdatenbank/033-cross-referencing-with-the-xr-package-in-overleaf.md)

**summary.tex**

Dies ist unsere Zusammenfassungsdatei. Aus dieser Datei heraus möchten wir Querverweise verwenden, die in externen Dateien erstellt wurden. Hier möchten wir Labels verwenden, die in `article1.tex`.

```latex
\documentclass[12pt]{article}
\usepackage{xr}

\title{Verwendung des xr-Pakets in Overleaf}
% hier alle externen Dokumente ablegen!
\externaldocument{article1}

\begin{document}

In der Datei \texttt{article1.tex} ist die Einleitung Abschnitt \ref{introduction}. In dieser Datei gibt es zwei Unterabschnitte: \ref{mathrefs} und \ref{powers}. Im Unterabschnitt \ref{powers} zeigt Gleichung \ref{eq:1} eine Potenzreihe.

\end{document}
```

**article1.tex**

Diese Datei ist einer unserer Artikel. Beachten Sie, dass sie verschiedene `\label` Befehle enthält, um Labels zu erzeugen, die wir dank des `xr` Pakets in der Datei `summary.tex`.

```latex
\documentclass{article}
\title{Dies ist \texttt{article1.tex}}
\begin{document}
\section{Einleitung}
\label{introduction}

Dies ist ein eigenständiges \LaTeX{}-Dokument mit
Referenzen, die wir in \texttt{summary.tex} verwenden möchten.

\subsection{Mathe-Referenzen}
\label{mathrefs}
Wie in Abschnitt \ref{introduction} erwähnt,
können verschiedene Elemente innerhalb
eines Dokuments referenziert werden.

\subsection{Potenzenreihen}
\label{powers}

\begin{equation}
\label{eq:1}
\sum_{i=0}^{\infty} a_i x^i
\end{equation}

Gleichung \ref{eq:1} ist eine typische Potenzreihe.
\end{document}
```

**latexmkrc**

Diese `latexmkrc` Datei enthält Code, um sicherzustellen, dass die externen Dateien kompiliert werden.

```latex
$sub_doc_output = 'output-subdoc';

@sub_doc_options = ();

push @sub_doc_options, '-pdf'; # Verwenden Sie pdflatex für die Kompilierung externer Dokumente.
# Ersetzen Sie '-pdf' bei Bedarf durch '-pdfdvi', 'pdfxe' oder 'pdflua'.

push @file_not_found, '^No file\\s*(.+)\s*$';

add_cus_dep( 'tex', 'aux', 0, 'makeexternaldocument' );
sub makeexternaldocument {
    if ( $root_filename ne $_[0] )  {
        my ($base_name, $path) = fileparse( $_[0] );
        pushd $path;
        my $return = system "latexmk",
                            @sub_doc_options,
                            "-aux-directory=$sub_doc_output",
                            "-output-directory=$sub_doc_output",
                            $base_name;
        if ( ($sub_doc_output ne '') && ($sub_doc_output ne '.') ) {

             rdb_add_generated( "$sub_doc_output/$base_name.aux" );
             copy "$sub_doc_output/$base_name.aux", ".";
        }
        popd;
        return $return;
   }
}
```

[Dieses Drei-Dateien-Beispiel in Overleaf öffnen.](/latex/de/wissensdatenbank/033-cross-referencing-with-the-xr-package-in-overleaf.md)

Die folgende Grafik ist eine kommentierte Version der Ausgabe des Satzes von `summary.tex`, und zeigt die Querverweise und die entsprechenden Labels aus der externen Datei `article1.tex`.

![Anzeige von aus einer externen Datei importierten Verweisen](/files/1c0927007f19970e14a1e7f9e161fec655370876)

* Für weitere Details zu Querverweisen siehe den Overleaf-Artikel [Querverweise auf Abschnitte, Gleichungen und Gleitobjekte](/latex/de/dokumentstruktur/03-cross-referencing-sections-equations-and-floats.md).

## Ein Hinweis zu Syntaxfehlern

Für Ihre Hauptprojektdatei können Sie Overleafs [Modus „Bei erstem Fehler anhalten“](/latex/de/wissensdatenbank/149-using-the-stop-on-first-error-compilation-mode.md) verwenden, um sicherzustellen, dass die Kompilierung sofort beim Erkennen des ersten Fehlers abbricht. Das kann helfen, Fehler in Ihrem Code einzugrenzen und zu identifizieren, anstatt Fehler sich ausbreiten zu lassen, was das Auffinden und Debuggen von Problemen erheblich erschwert.

Die *external* Dokumente werden automatisch über die `latexmkrc` Datei kompiliert; folglich werden alle LaTeX-Syntaxfehler darin nicht in der Overleaf-Oberfläche angezeigt — es sei denn, Sie kompilieren sie ebenfalls in Overleaf neu. Fehler in diesen externen Dateien können verhindern, dass Querverweise im gesetzten PDF korrekt erscheinen, daher empfehlen wir dringend, solche Fehler so bald wie möglich zu prüfen und zu korrigieren.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/de/wissensdatenbank/033-cross-referencing-with-the-xr-package-in-overleaf.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
