> 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/nl/kennisbank/033-cross-referencing-with-the-xr-package-in-overleaf.md).

# Kruisverwijzingen met het xr-pakket in Overleaf

## Overzicht

De [`xr` pakket](https://ctan.org/pkg/xr?lang=en) stelt je in staat kruisverwijzingen te maken naar vergelijkingen, figuren, tabellen enz. in externe LaTeX-documenten, mits die documenten *zelfstandig zijn.* Een zelfstandig LaTeX-document is een document dat kan worden gecompileerd omdat het een `\documentclass{...}` verklaring en de `\begin{document}`...`\end{document}` constructie.

### Gebruiks­samenvatting

1. Schrijf `\usepackage{xr}` in de preambule van het LaTeX-bestand dat inhoud uit externe LaTeX-bestanden moet kunnen kruislings verwijzen.
2. Gebruik de `xr` pakketopdracht `\externaldocument{filename}` om het externe document/de externe documenten op te geven waarvan je de inhoud wilt kruislings verwijzen.

De `xr` pakket werkt door gebruik te maken van kruisverwijzingslabels in de `.aux` bestanden die worden gegenereerd wanneer de externe LaTeX-documenten worden gecompileerd.

### Hoe kruisverwijzingen werken (korte samenvatting)

Om een item in een LaTeX-document te kunnen kruislings verwijzen, moet je:

1. Geef het een unieke identificatie, `some_string`, met behulp van de `\label` commando:

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

3. Op de locatie waar je naar dat element wilt verwijzen, moet je schrijven

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

Heel kort gezegd beheert LaTeX kruisverwijzingen door gegevens weg te schrijven naar een bestand met de naam `filename.aux` waar `filename` is de naam van het hoofd- `.tex` bestand dat wordt gecompileerd.

Om dit te laten werken, moet het LaTeX-document minstens twee keer worden gecompileerd: de eerste compilatie *genereert* de referentiegegevens — en schrijft die naar `filename.aux`. Tijdens de tweede compilatie leest LaTeX *leest* `filename.aux` om de verwijzingen op te lossen en gegevens te leveren ter vervanging van instanties van `\ref{some_string}`.

* Voor meer details over kruisverwijzingen, zie het Overleaf-artikel [Kruisverwijzen naar secties, vergelijkingen en zwevende objecten](/latex/nl/documentstructuur/03-cross-referencing-sections-equations-and-floats.md).

## Projecten waarvoor het xr-pakket niet vereist is

Grote LaTeX-projecten, zoals boeken of lange rapporten, worden vaak opgesplitst in een reeks kleinere `.tex` bestanden, één per hoofdstuk, waarbij van elk hoofdstuk de `.tex` bestand aan het hoofd-LaTeX-document wordt toegevoegd met behulp van `\input` of `\include`. Doorgaans zijn die hoofdstukken niet zelfstandig: je kunt individuele hoofdstukken niet compileren omdat ze geen `\documentclass{...}` verklaring of de `\begin{document}...\end{document}` constructie bevatten. Die hoofdstukken zijn bedoeld voor *opname* in een 'container'-document, dat *kan* worden gecompileerd. In die gevallen kan kruisverwijzen naar documentelementen — binnen elk afzonderlijk hoofdstukbestand — normaal verlopen: je hoeft het `xr` pakket niet te gebruiken.

Om een voorbeeld van een groot project te bekijken kun je [dit voorbeeld in Overleaf openen.](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=)

## Voorbeeld van een project waarvoor het xr-pakket vereist is

Stel dat je een set zelfstandige LaTeX-documenten hebt, zoals een verzameling van N artikelen: `article1.tex`, `article2.tex` ... `articleN.tex`. Elk van die artikelen kan afzonderlijk worden gecompileerd en waarschijnlijk zijn ze geschreven met uiteenlopende documentklassen, pakketten enz.

Stel je nu voor dat je LaTeX wilt gebruiken om een overzicht of samenvatting van die artikelen te schrijven—we noemen ons bestand `summary.tex`. Onze samenvatting moet verwijzen naar secties, figuren, tabellen, vergelijkingen enz. in die afzonderlijke, zelfstandige N artikelen. Hoe kunnen we dat doen?

De `xr` pakket maakt dit mogelijk: het stelt `summary.tex` je in staat referentielabels te gebruiken die zijn gegenereerd door een van de zelfstandige `article*.tex` bestanden.

### Een opmerking over .aux-bestanden

* Let op: hier gebruiken we een sterretje (`*`) als placeholder voor elk getal van 1 tot N.

Het compileren van een van de zelfstandige bestanden `article1.tex`, `article2.tex` ... `articleN.tex` zorgt ervoor dat LaTeX een overeenkomstig `article*.aux` (\*\*`aux`\*\*iliair) bestand dat, onder andere, labelgegevens bevat die nodig zijn om kruisverwijzingen te genereren.

Als een van de `article*.tex` bestanden wordt bewerkt—bijvoorbeeld om labels te wijzigen, toe te voegen of te verwijderen (`\label{...}`)—moeten de overeenkomstige `article*.tex` bestand(en) opnieuw worden gecompileerd om de bijbehorende `article*.aux` bestand(en) bij te werken.

Wijzigingen in `article*.tex`, en ze vervolgens opnieuw compileren, kan in Overleaf worden geautomatiseerd met behulp van een geschikte `latexmkrc` bestand.

## Hoe xr op Overleaf te gebruiken

We gebruiken een vereenvoudigde versie van ons voorbeeld met meerdere artikelen; in het bijzonder laten we zien hoe je het compilatieproces automatiseert via een `latexmkrc` bestand [bestand dat door John Collins aan Overleaf is geleverd](#code-for-latexmkrc) ([beheerder van `latexmk`](https://ctan.org/pkg/latexmk?lang=en)).

### Bestanden die in ons voorbeeld worden gebruikt

Ons voorbeeld gebruikt de volgende bestanden:

* `**summary.tex**`: dit is ons overzichtsdocument. We hebben het nodig om te verwijzen naar inhoud in `article1.tex`, zoals figuren en secties.
  * `summary.tex` laadt het `xr` pakket en gebruikt `\externaldocument{article1}` om op te geven dat referentiegegevens uit `article1.aux` moeten worden gebruikt.
* `**article1.tex**`: een enkel zelfstandig artikel met interne kruisverwijzingen. Het compileren van `article1.tex` genereert kruisverwijzingsgegevens die in het bestand staan `article1.aux`.
  * Een extern bestand zoals `article1.tex` dat mogelijk door iemand anders is geschreven—om door jou te gebruiken “zoals geleverd”, dus ongewijzigd.
* `**latexmkrc**`: bevat code (Perl) om het opnieuw compileren van `article1.tex` als gevolg van aangebrachte wijzigingen—om een bijgewerkt `article1.aux` bestand.
  * Ons `latexmkrc` bestand was [bestand dat door John Collins aan Overleaf is geleverd](#code-for-latexmkrc) ([beheerder van `latexmk`](https://ctan.org/pkg/latexmk?lang=en)).

### Over de opdracht \externaldocument

De `xr` pakket biedt de`\externaldocument` opdracht, die de algemene vorm heeft

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

* **`prefix` (optioneel):** Met dit optionele argument kun je een prefix definiëren die aan alle labels uit het externe document wordt toegevoegd. Dit is handig om conflicten te vermijden als dezelfde labelnamen in meerdere documenten worden gebruikt.
* **`external_file` (vereist):** Dit verplichte argument geeft de naam op van het externe LaTeX-document (zonder de `.tex` extensie) waaruit je verwijzingen wilt importeren. De `xr` pakket zal zoeken naar het `.aux` bestand dat overeenkomt met `external_file` (bijv., `external_file.aux`) om de labels op te halen.

Bijvoorbeeld, als ons hoofd- `.tex` bestand `summary.tex` en het externe bestand, `article1.tex` beide het label `\label{eq:1}` dan hebben we een labelnaamconflict. Dat conflict kan worden voorkomen door te schrijven

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

in welk geval alle labels die worden aangemaakt door het compileren van `article1.tex` een voorvoegsel krijgen van `art1-`. Nu kun je `\label{eq:1}`, opgenomen in `article1.tex`, benaderen door te schrijven `\ref{art1-eq:1}` in `summary.tex`.

### De projectbestanden

#### article1.tex

De volgende code kan in Overleaf worden geopend via de link onder de codevermelding.

```latex
\documentclass{article}
\title{Dit is \texttt{article1.tex}}
\begin{document}
\section{Introduction}
\label{introduction}

Dit is een zelfstandig \LaTeX{}-document met
verwijzingen die we willen gebruiken in \texttt{summary.tex}.

\subsection{Math references}
\label{mathrefs}
Zoals vermeld in sectie \ref{introduction},
kunnen verschillende elementen worden verwezen binnen
een document.

\subsection{Machtsreeksen}
\label{powers}

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

Vergelijking \ref{eq:1} is een typische machtreeks.
\end{document}
```

[Open `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)

Compileren `article1.tex` produceert de volgende uitvoer:

![Uitvoer geproduceerd door het compileren van het bestand article1.tex in Overleaf](/files/a9e057d3851a92840e4a342ebcbbca42b7422155)

#### summary.tex

Hier is onze eerste `summary.tex` bestand *voordat* we hebben opgegeven naar welk extern document we willen verwijzen. Voor de eenvoud, `summary.tex` bevat geen enkele `\label` opdrachten omdat er geen interne kruisverwijzingen zijn. Alle `\ref` opdrachten verwijzen naar labels gegenereerd door `\label` opdrachten in `article1.tex`.

```latex
\documentclass{article}
\usepackage{xr}
\title{Dit is \texttt{summary.tex}}
\begin{document}
In het bestand \texttt{article1.tex} is de inleiding sectie \ref{introduction}. In dat bestand zijn er twee subsecties: \ref{mathrefs} en \ref{powers}. In subsectie \ref{powers} laat vergelijking \ref{eq:1} een machtreeks zien.
\end{document}
```

[Open dit *onvolledige* `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)

Als we deze versie van `summary.tex` zal het proberen referentiegegevens te lezen uit `summary.aux` maar de vereiste gegevens bevinden zich in het externe bestand `article1.aux` waartoe nog geen toegang kan worden verkregen.

Het compileren van dit onvolledige `summary.tex` bestand produceert de volgende uitvoer, waarbij dubbele vraagtekens ongedefinieerde verwijzingen aangeven:

![Afbeelding die het melden van ontbrekende verwijzingen toont](/files/4923e295cfcf6a9e57a31d2f83e761ac2d974ac5)

### Het externe document opgeven

De volgende stap is het opgeven van `article1` als naam van het externe document waarvan we de labels willen gebruiken. Voeg de volgende regel toe aan de preambule van `summary.tex`:

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

Hier, `article1` kan worden vervangen door elk bestand waarvan je de labels wilt gebruiken—je kunt meerdere `\externaldocument` opdrachten gebruiken om extra externe bestanden te benaderen.

### Het latexmkrc-bestand maken

De volgende stap is om een `latexmkrc` bestand te maken zoals hieronder getoond:

* Selecteer in het venster van je projecteditor het **Nieuw bestand** pictogram linksboven in het projectvenster.
* Selecteer **Nieuw bestand** vanuit het **Bestanden toevoegen** pop-updialoogvenster en geef het bestand de naam `latexmkrc`—let op: er is geen bestandsextensie:

![Een latexmkrc-bestand maken in Overleaf](/files/ef103d654039ca4f358cae8ff9f7c5d66579bb61)

* Zorg ervoor dat het `latexmkrc` bestand wordt gemaakt en opgeslagen op het bovenste (root) niveau van het bestandengebied van het project. Dus niet binnen mappen in de bestandsboom.
* Kopieer en plak de volgende code in je `latexmkrc` bestand.

#### Code voor latexmkrc

Overleaf is John Collins dankbaar, [beheerder van `latexmk`](https://ctan.org/pkg/latexmk?lang=en), omdat hij contact met ons opnam om het volgende `latexmkrc` bestand aan te leveren, dat we met genoegen volledig publiceren — inclusief de uiterst behulpzame inline opmerkingen.

```perl
# Dit laat zien hoe je het xr-pakket met latexmk gebruikt.
# John Collins 2023-03-29
#
# Het xr-pakket ("een systeem voor eXternal References") wordt door een document gebruikt
# om verwijzingen te maken naar secties, vergelijkingen enz. in andere externe
# documenten.
# De definities in dit bestand stellen latexmk in staat om latexmk toe te passen op
# een extern document automatisch bij te werken wanneer het .tex-bestand wijzigt,
# zodat de verwijzingen in het hoofddocument actueel blijven.

# Opmerkingen:
#    1. Deze versie is zo gedefinieerd dat de bestanden uit de compilaties van
#       de externe documenten in een gedefinieerde submap worden geplaatst, om
#       mogelijk veel gegenereerde bestanden te scheiden van de hoofddocument-
#       mappen.
#    2. Maar om het aangepaste-afhankelijkheidsmechanisme van latexmk te kunnen gebruiken, zoals hier,
#       moet het aux-bestand van de compilatie van een subdocument worden gegenereerd in
#       dezelfde map als het overeenkomstige bron-.tex-bestand. Dus het
#       .aux-bestand wordt gekopieerd.
#    3. Er wordt aangenomen dat de externe documenten worden gecompileerd met
#       pdflatex. Dit kan natuurlijk worden gewijzigd door de '-pdf'-
#       optie die aan de aangeroepen latexmk wordt gegeven te veranderen in wat nodig is.
#    4. Een ideale implementatie zou ook ervoor zorgen dat het opnieuw compileren van een
#       extern document ook plaatsvindt wanneer een van de andere bron-
#       bestanden wijzigt. Maar dit gebeurt niet in de huidige versie, en
#       zou waarschijnlijk ofwel het gebruik van interne latexmk-variabelen
#       of extra uitbreidingen aan latexmk vereisen.
#    5. De code gebruikt subroutines copy en fileparse die worden geladen door
#       latexmk uit de Perl-pakketten File::Copy en File::Basename.
#    6. Het gebruikt ook enkele nog niet gedocumenteerde functies van latexmk: een array
#       variabele @file_not_found en subroutines popd, pushd en
#       rdb_add_generated.

#--------------------
# Configureerbare keuzes voor het compileren van externe documenten

# Submap voor uitvoerbestanden van het compileren van externe documenten:
$sub_doc_output = 'output-subdoc';

# Opties om aan latexmk mee te geven voor het compileren van externe documenten:
@sub_doc_options = ();

push @sub_doc_options, '-pdf'; # Gebruik pdflatex voor het compileren van externe documenten.
# Vervang '-pdf' door '-pdfdvi', 'pdfxe' of 'pdflua' indien nodig.

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

# Voeg een patroon voor xr's logbestandbericht over ontbrekende bestanden toe aan latexmk's
# lijst. De variabele @file_not_found van latexmk is nog niet gedocumenteerd.
# Deze regel is niet nodig voor latexmk versie 4.80 of later.
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 dit geval bevindt het door pdflatex gegenereerde .aux-bestand zich niet in dezelfde
               # map als het .tex-bestand.
               # Daarom:
               # 1. Het daadwerkelijk gegenereerde aux-bestand moet worden vermeld als geproduceerd door deze
               #    regel, zodat latexmk correct met afhankelijkheden omgaat.
               #    (Probleem om op te lossen: als $sub_dir_output hetzelfde is als $aux_dir
               #    voor het hoofddocument, kan xr het .aux-bestand lezen in de
               #    aux_dir in plaats van degene waarvan latexmk aanneemt dat de cus dep
               #    die te produceren, die zich in dezelfde map bevindt als het .tex-bron
               #    bestand voor deze aangepaste afhankelijkheid.)
               #    Gebruik de nog niet gedocumenteerde latexmk-subroutine rdb_add_generated
               #    om dit te doen:
               # 2. Een kopie van het .aux-bestand moet zich in dezelfde map als het .tex-bestand bevinden
               #    om te voldoen aan latexmk's definitie van een aangepaste afhankelijkheid.
             rdb_add_generated( "$sub_doc_output/$base_name.aux" );
             copy "$sub_doc_output/$base_name.aux", ".";
        }
        popd;
        return $return;
   }
}
```

### Open een Overleaf-project dat xr demonstreert

Het volgende project met drie bestanden kan nu in Overleaf worden geopend met de links hierboven en onder de bestandsvermeldingen. Let op dat het `latexmkrc` bestand de door John Collins aangeleverde code bevat, maar dat voor de beknoptheid de meeste opmerkingen zijn verwijderd.

[Open dit voorbeeld met drie bestanden in Overleaf.](/latex/nl/kennisbank/033-cross-referencing-with-the-xr-package-in-overleaf.md)

**summary.tex**

Dit is ons samenvattingsbestand. Vanuit dit bestand willen we kruisverwijzingen gebruiken die in externe bestanden zijn gemaakt. Hier willen we labels gebruiken die zijn gegenereerd in `article1.tex`.

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

\title{Het xr-pakket gebruiken in Overleaf}
% plaats hier alle externe documenten!
\externaldocument{article1}

\begin{document}

In het bestand \texttt{article1.tex} is de inleiding sectie \ref{introduction}. In dat bestand zijn er twee subsecties: \ref{mathrefs} en \ref{powers}. In subsectie \ref{powers} laat vergelijking \ref{eq:1} een machtreeks zien.

\end{document}
```

**article1.tex**

Dit bestand is een van onze artikelen. Let op hoe het verschillende `\label` opdrachten bevat om labels te maken die, dankzij het `xr` pakket, we kunnen gebruiken in het bestand `summary.tex`.

```latex
\documentclass{article}
\title{Dit is \texttt{article1.tex}}
\begin{document}
\section{Introduction}
\label{introduction}

Dit is een zelfstandig \LaTeX{}-document met
verwijzingen die we willen gebruiken in \texttt{summary.tex}.

\subsection{Math references}
\label{mathrefs}
Zoals vermeld in sectie \ref{introduction},
kunnen verschillende elementen worden verwezen binnen
een document.

\subsection{Machtsreeksen}
\label{powers}

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

Vergelijking \ref{eq:1} is een typische machtreeks.
\end{document}
```

**latexmkrc**

Dit `latexmkrc` bestand bevat code om ervoor te zorgen dat de externe bestanden worden gecompileerd.

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

@sub_doc_options = ();

push @sub_doc_options, '-pdf'; # Gebruik pdflatex voor het compileren van externe documenten.
# Vervang '-pdf' door '-pdfdvi', 'pdfxe' of 'pdflua' indien nodig.

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;
   }
}
```

[Open dit voorbeeld met drie bestanden in Overleaf.](/latex/nl/kennisbank/033-cross-referencing-with-the-xr-package-in-overleaf.md)

De volgende afbeelding is een geannoteerde versie van de uitvoer van het opmaken van `summary.tex`, waarin de kruisverwijzingen en de overeenkomstige labels uit het externe bestand worden getoond `article1.tex`.

![Verwijzingen tonen die uit een extern bestand zijn geïmporteerd](/files/5a6fc7b852f7ff6e0c28f44269f07242b7fc0cf7)

* Voor meer details over kruisverwijzingen, zie het Overleaf-artikel [Kruisverwijzen naar secties, vergelijkingen en zwevende objecten](/latex/nl/documentstructuur/03-cross-referencing-sections-equations-and-floats.md).

## Een opmerking over syntaxisfouten

Voor je hoofdprojectbestand kun je de Overleaf‑ [Compilatormodus ‘Stoppen bij de eerste fout’](/latex/nl/kennisbank/149-using-the-stop-on-first-error-compilation-mode.md) om ervoor te zorgen dat het compileren onmiddellijk stopt zodra de eerste fout wordt gedetecteerd. Dit kan helpen om fouten in je code te isoleren en te identificeren, in plaats van fouten zich te laten opstapelen, waardoor het veel moeilijker wordt om problemen te vinden en te debuggen.

De *extern* documenten worden automatisch gecompileerd via de `latexmkrc` bestand; bijgevolg worden eventuele LaTeX-syntaxisfouten daarin niet weergegeven in de Overleaf-interface—tenzij je ze ook opnieuw compileert in Overleaf. Fouten in die externe bestanden kunnen ervoor zorgen dat kruisverwijzingen niet correct verschijnen in het opgemaakte PDF-bestand, dus we raden sterk aan om dergelijke fouten zo snel mogelijk te controleren en te corrigeren zodra ze optreden.


---

# 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/nl/kennisbank/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.
