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

# Odwołania krzyżowe z pakietem xr w Overleaf

## Przegląd

Ta [`xr` pakietu](https://ctan.org/pkg/xr?lang=en) pozwala tworzyć odwołania krzyżowe do równań, rysunków, tabel itp. zawartych w zewnętrznych dokumentach LaTeX, pod warunkiem że te dokumenty są *samodzielne.* Samodzielny dokument LaTeX to taki, który można skompilować, ponieważ zawiera `\documentclass{...}` dyrektywę i `\begin{document}`...`\end{document}` konstrukcję.

### Podsumowanie użycia

1. Wpisz `\usepackage{xr}` w preambule pliku LaTeX, który ma odwoływać się krzyżowo do treści zawartej w zewnętrznych plikach LaTeX.
2. Użyj `xr` polecenie pakietu `\externaldocument{filename}` aby określić zewnętrzny dokument(y), do których treści chcesz się odwoływać krzyżowo.

Ta `xr` pakiet działa, wykorzystując etykiety odwołań krzyżowych zawarte w `.aux` plikach generowanych podczas kompilacji zewnętrznych dokumentów LaTeX.

### Jak działa odwoływanie krzyżowe (krótkie podsumowanie)

Aby odwołać się krzyżowo do elementu w dokumencie LaTeX, trzeba:

1. Nadać mu unikalny identyfikator, `some_string`, używając `\label` polecenia:

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

3. W miejscu, w którym chcesz odwołać się do tego elementu, należy wpisać

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

Mówiąc bardzo krótko, LaTeX zarządza odwołaniami krzyżowymi, zapisując dane do pliku o nazwie `filename.aux` gdzie `filename` jest nazwą głównego `.tex` kompilowanego pliku.

Aby proces działał, dokument LaTeX musi zostać skompilowany co najmniej dwa razy: pierwsza kompilacja *generuje* dane referencyjne — zapisując je do `filename.aux`. Podczas drugiej kompilacji LaTeX *odczytuje* `filename.aux` aby rozwiązać odwołania, dostarczając dane do zastąpienia wystąpień `\ref{some_string}`.

* Więcej szczegółów na temat odwołań krzyżowych znajdziesz w artykule Overleaf [Odwoływanie krzyżowe do sekcji, równań i obiektów pływających](/latex/pl/struktura-dokumentu/03-cross-referencing-sections-equations-and-floats.md).

## Projekty, w których pakiet xr nie jest wymagany

Duże projekty LaTeX, takie jak książki lub długie raporty, często dzieli się na serię mniejszych `.tex` plików, po jednym na rozdział, przy czym plik każdego rozdziału `.tex` jest dodawany do głównego dokumentu LaTeX za pomocą `\input` lub `\include`. Zazwyczaj te rozdziały nie są samodzielne: nie można kompilować poszczególnych rozdziałów, ponieważ nie zawierają `\documentclass{...}` dyrektywy ani `\begin{document}...\end{document}` konstrukcji. Te rozdziały są przeznaczone do *włączenia* do dokumentu „kontenerowego”, który *może* zostać skompilowany. W takich okolicznościach odwoływanie krzyżowe do elementów dokumentu — w dowolnym pojedynczym pliku rozdziału — może przebiegać normalnie: nie trzeba używać `xr` pakiet.

Aby zobaczyć przykład dużego projektu, możesz [otworzyć ten przykład w Overleaf.](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=)

## Przykład projektu, w którym pakiet xr jest wymagany

Załóżmy, że masz zestaw samodzielnych dokumentów LaTeX, na przykład zbiór N artykułów: `article1.tex`, `article2.tex` ... `articleN.tex`. Każdy z tych artykułów można kompilować osobno i prawdopodobnie został napisany z użyciem różnych klas dokumentów, pakietów itp.

Wyobraź sobie teraz, że chcesz użyć LaTeX do napisania przeglądu lub podsumowania tych artykułów — nazwijmy nasz plik `summary.tex`. Nasze podsumowanie musi odwoływać się do sekcji, rysunków, tabel, równań itp. zawartych w tych poszczególnych samodzielnych artykułach N. Jak możemy to zrobić?

Ta `xr` pakiet pozwala ci to zrobić: umożliwia `summary.tex` korzystanie z etykiet odwołań wygenerowanych przez dowolny z samodzielnych `article*.tex` pliki.

### Uwaga dotycząca plików .aux

* Uwaga: tutaj używamy gwiazdki (`*`) jako symbolu zastępczego dla dowolnej liczby od 1 do N.

Kompilacja dowolnego z samodzielnych plików `article1.tex`, `article2.tex` ... `articleN.tex` powoduje, że LaTeX generuje odpowiedni `article*.aux` (\*\*`aux`plik (pomocniczy), który między innymi zawiera dane etykiet wymagane do generowania odwołań krzyżowych.

Jeśli którykolwiek z `article*.tex` pliki są edytowane — na przykład w celu zmiany, dodania lub usunięcia etykiet (`\label{...}`) — odpowiadający `article*.tex` plik(i) muszą zostać ponownie skompilowane, aby zaktualizować powiązane `article*.aux` pliku(ach) Twojego projektu.

Wykrywanie zmian w `article*.tex`, a następnie ponowna ich kompilacja, może zostać zautomatyzowana w Overleaf za pomocą odpowiedniego `latexmkrc` pliku.

## Jak używać xr w Overleaf

Skorzystamy z uproszczonej wersji naszego przykładu wieloartykułowego; w szczególności pokażemy, jak zautomatyzować proces kompilacji za pomocą `latexmkrc` pliku [dostarczonego do Overleaf przez Johna Collinsa](#code-for-latexmkrc) ([opiekuna `latexmk`](https://ctan.org/pkg/latexmk?lang=en)).

### Pliki użyte w naszym przykładzie

Nasz przykład wykorzystuje następujące pliki:

* `**summary.tex**`: to jest nasz dokument przeglądowy. Potrzebujemy go, aby odwoływał się do treści zawartej w `article1.tex`, takich jak rysunki i sekcje.
  * `summary.tex` wczytuje `xr` pakiet i używa `\externaldocument{article1}` aby określić, że dane odwołań z `article1.aux` mają być użyte.
* `**article1.tex**`: pojedynczy samodzielny artykuł zawierający wewnętrzne odwołania krzyżowe. Kompilacja `article1.tex` generuje dane odwołań krzyżowych zawarte w pliku `article1.aux`.
  * Zewnętrzny plik, taki jak `article1.tex` który mógł zostać napisany przez kogoś innego — do użycia „w stanie dostarczonym”, tj. bez zmian.
* `**latexmkrc**`: zawiera kod (Perl) do automatyzacji ponownej kompilacji `article1.tex` z powodu jakichkolwiek zmian w nim — aby utworzyć zaktualizowany `article1.aux` pliku.
  * Nasz `latexmkrc` plik został [dostarczonego do Overleaf przez Johna Collinsa](#code-for-latexmkrc) ([opiekuna `latexmk`](https://ctan.org/pkg/latexmk?lang=en)).

### O poleceniu \externaldocument

Ta `xr` pakiet udostępnia`\externaldocument` polecenie, które ma ogólną postać

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

* **`prefiks` (opcjonalny):** Ten opcjonalny argument pozwala zdefiniować prefiks, który zostanie dodany do wszystkich etykiet zaimportowanych z zewnętrznego dokumentu. Jest to przydatne, aby uniknąć konfliktów, jeśli w wielu dokumentach używane są te same nazwy etykiet.
* **`external_file` (wymagany):** Ten wymagany argument określa nazwę zewnętrznego dokumentu LaTeX (bez `.tex` rozszerzenia), z którego chcesz importować odwołania.  `xr` Pakiet będzie szukał `.aux` pliku odpowiadającego `external_file` (np. `external_file.aux`), aby pobrać etykiety.

Na przykład, jeśli nasz główny `.tex` pliku `summary.tex` i plik zewnętrzny, `article1.tex` oba zawierają etykietę `\label{eq:1}` to mamy konflikt nazw etykiet. Można go uniknąć, wpisując

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

w takim przypadku wszystkie etykiety utworzone podczas kompilacji `article1.tex` są poprzedzone prefiksem `art1-`. Teraz możesz uzyskać dostęp do `\label{eq:1}`, zawartego w `article1.tex`, wpisując `\ref{art1-eq:1}` % `summary.tex`.

### Pliki projektu

#### article1.tex

Poniższy kod można otworzyć w Overleaf za pomocą łącza pod listingiem.

```latex
\documentclass{article}
\title{To jest \texttt{article1.tex}}
\begin{document}
\section{Wprowadzenie}
\label{introduction}

To jest samodzielny dokument \LaTeX{} z
odwołaniami, których chcemy użyć w \texttt{summary.tex}.

\subsection{Odwołania do matematyki}
\label{mathrefs}
Jak wspomniano w sekcji \ref{introduction},
do różnych elementów można odwoływać się w obrębie
dokumentu.

\subsection{Szeregi potęgowe}
\label{powers}

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

Równanie \ref{eq:1} jest typowym szeregiem potęgowym.
\end{document}
```

[Otwórz `article1.tex` w 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)

Kompilowanie `article1.tex` daje następujący wynik:

![Wynik wygenerowany podczas kompilacji pliku article1.tex w Overleaf](/files/75937822a029af0e39ba87e683f983da8378ffe2)

#### summary.tex

Oto nasza początkowa `summary.tex` pliku *zanim* określiliśmy, do którego zewnętrznego dokumentu chcemy się odwołać. Dla uproszczenia, `summary.tex` nie zawiera żadnych `\label` poleceń, ponieważ nie ma wewnętrznych odwołań krzyżowych. Wszystkie `\ref` polecenia odnoszą się do etykiet wygenerowanych przez `\label` polecenia zawarte w `article1.tex`.

```latex
\documentclass{article}
\usepackage{xr}
\title{To jest \texttt{summary.tex}}
\begin{document}
W pliku \texttt{article1.tex} wprowadzenie znajduje się w sekcji \ref{introduction}. W tym pliku są dwie podsekcje: \ref{mathrefs} i \ref{powers}. W podsekcji \ref{powers} równanie \ref{eq:1} przedstawia szereg potęgowy.
\end{document}
```

[Otwórz ten *niekompletny* `summary.tex` w 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)

Jeśli skompilujemy tę wersję `summary.tex` będzie próbował odczytać dane odwołań z `summary.aux` ale wymagane dane znajdują się w zewnętrznym pliku `article1.aux` do którego nie można jeszcze uzyskać dostępu.

Kompilowanie tego niekompletnego `summary.tex` pliku daje następujący wynik, przy czym podwójne znaki zapytania oznaczają niezdefiniowane odwołania:

![Obraz pokazujący zgłaszanie brakujących odwołań](/files/9394cb07796deca1c468d05719e64ef7546ab325)

### Określanie zewnętrznego dokumentu

Następnym krokiem jest określenie `article1` jako nazwy zewnętrznego dokumentu, którego etykiety chcemy wykorzystać. Dodaj następującą linię do preambuły `summary.tex`:

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

Tutaj, `article1` można zastąpić dowolnym plikiem, którego etykiety chcesz odczytać — możesz użyć wielu `\externaldocument` poleceń, aby uzyskać dostęp do dodatkowych plików zewnętrznych.

### Tworzenie pliku latexmkrc

Następnym krokiem jest utworzenie `latexmkrc` pliku, jak pokazano poniżej:

* W oknie edytora projektu wybierz **Nowy plik** ikonę w lewym górnym rogu okna projektu.
* Wybierz **Nowy plik** z poziomu **Add Files** okna dialogowego i nazwij plik `latexmkrc`— zauważ, że nie ma rozszerzenia pliku:

![Tworzenie pliku latexmkrc w Overleaf](/files/a0be85bf45e81046814cfc04debe03363f397c80)

* Upewnij się, że `latexmkrc` plik został utworzony i zapisany na najwyższym (głównym) poziomie obszaru plików projektu. To znaczy nie wewnątrz żadnych folderów w drzewie plików.
* Skopiuj i wklej poniższy kod do swojego `latexmkrc` pliku.

#### Kod dla latexmkrc

Overleaf są wdzięczni Johnowi Collinsowi, [opiekuna `latexmk`](https://ctan.org/pkg/latexmk?lang=en), za skontaktowanie się z nami i dostarczenie następującego `latexmkrc` pliku, który z przyjemnością publikujemy w całości — wraz z niezwykle pomocnymi komentarzami w treści.

```perl
# To pokazuje, jak używać pakietu xr z latexmk.
# John Collins 2023-03-29
#
# Pakiet xr („system zewnętrznych odwołań”) jest używany przez dokument
# aby odwoływać się do sekcji, równań itp. w innych zewnętrznych
# dokumentach.
# Definicje w tym pliku umożliwiają latexmk zastosowanie latexmk do
# automatycznego aktualizowania zewnętrznego dokumentu za każdym razem, gdy jego plik .tex się zmieni,
# tak aby odwołania w głównym dokumencie pozostawały aktualne.

# Uwagi:
#    1. Ta wersja jest zdefiniowana tak, aby umieszczać pliki z kompilacji
#       zewnętrznych dokumentów w zdefiniowanym podkatalogu, aby oddzielić
#       potencjalnie wiele wygenerowanych plików od katalogów głównego dokumentu
#       .
#    2. Jednak aby użyć mechanizmu niestandardowych zależności latexmk, jak tutaj,
#       plik .aux z kompilacji poddokumentu musi zostać wygenerowany w
#       tym samym katalogu co odpowiadający mu źródłowy plik .tex. Zatem
#       plik .aux jest kopiowany.
#    3. Zakłada się, że zewnętrzne dokumenty będą kompilowane za pomocą
#       pdflatex. Oczywiście można to zmienić, zmieniając opcję '-pdf'
#       przekazywaną uruchamianemu latexmk na dowolną potrzebną.
#    4. Idealna implementacja zapewniałaby również, że ponowna kompilacja
#       zewnętrznego dokumentu następowałaby także za każdym razem, gdy którykolwiek z jego innych plików źródłowych
#       się zmieni. Jednak w obecnej wersji nie jest to zrobione i
#       prawdopodobnie wymagałoby użycia wewnętrznych zmiennych latexmk
#       lub dodatkowych rozszerzeń latexmk.
#    5. Kod używa podprocedur copy i fileparse, które są ładowane przez
#       latexmk z pakietów Perla File::Copy i File::Basename.
#    6. Używa także nieudokumentowanych jeszcze funkcji latexmk: tablicowej
#       zmiennej @file_not_found oraz podprocedur popd, pushd i
#       rdb_add_generated.

#--------------------
# Konfigurowalne opcje kompilacji zewnętrznych dokumentów

# Podkatalog dla plików wyjściowych z kompilacji zewnętrznych dokumentów:
$sub_doc_output = 'output-subdoc';

# Opcje przekazywane latexmk do kompilacji zewnętrznych dokumentów:
@sub_doc_options = ();

push @sub_doc_options, '-pdf'; # Użyj pdflatex do kompilacji zewnętrznych dokumentów.
# W razie potrzeby zastąp '-pdf' przez '-pdfdvi', 'pdfxe' lub 'pdflua'.

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

# Dodaj wzorzec dla komunikatu xr w pliku log o brakujących plikach do
# listy latexmk. Zmienna @file_not_found latexmk nie jest jeszcze udokumentowana.
# Ta linia nie jest potrzebna w wersji 4.80 lub nowszej latexmk.
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 '.') ) {
               # W takim przypadku plik .aux wygenerowany przez pdflatex nie znajduje się w tym samym
               # katalogu co plik .tex.
               # Dlatego:
               # 1. Faktycznie wygenerowany plik aux musi być wymieniony jako wytworzony przez tę
               #    regułę, aby latexmk poprawnie obsługiwał zależności.
               #    (Problem do rozwiązania: jeśli $sub_dir_output jest taki sam jak $aux_dir
               #    dla głównego dokumentu, xr może odczytać plik .aux z
               #    aux_dir zamiast tego, który latexmk zakłada, że zostanie wygenerowany przez cus dep,
               #    a który znajduje się w tym samym katalogu co źródłowy plik .tex
               #    dla tej niestandardowej zależności.)
               #    Użyj jeszcze nieudokumentowanej podprocedury latexmk rdb_add_generated
               #    aby to zrobić:
               # 2. Kopia pliku .aux musi znajdować się w tym samym katalogu co plik .tex
               #    aby spełnić definicję niestandardowej zależności latexmk.
             rdb_add_generated( "$sub_doc_output/$base_name.aux" );
             copy "$sub_doc_output/$base_name.aux", ".";
        }
        popd;
        return $return;
   }
}
```

### Otwórz projekt Overleaf demonstrujący xr

Następujący trzyplikowy projekt można teraz otworzyć w Overleaf za pomocą linków podanych powyżej i poniżej list plików. Zauważ, że `latexmkrc` plik zawiera kod dostarczony przez Johna Collinsa, ale dla zwięzłości większość komentarzy została usunięta.

[Otwórz ten przykład z trzema plikami w Overleaf.](/latex/pl/baza-wiedzy/033-cross-referencing-with-the-xr-package-in-overleaf.md)

**summary.tex**

To jest nasz plik podsumowania. W tym pliku chcemy korzystać z odwołań krzyżowych utworzonych w plikach zewnętrznych. Tutaj chcemy użyć etykiet wygenerowanych w `article1.tex`.

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

\title{Korzystanie z pakietu xr w Overleaf}
% umieść tutaj wszystkie zewnętrzne dokumenty!
\externaldocument{article1}

\begin{document}

W pliku \texttt{article1.tex} wprowadzenie znajduje się w sekcji \ref{introduction}. W tym pliku są dwie podsekcje: \ref{mathrefs} i \ref{powers}. W podsekcji \ref{powers} równanie \ref{eq:1} przedstawia szereg potęgowy.

\end{document}
```

**article1.tex**

To jest jeden z naszych artykułów. Zwróć uwagę, że zawiera różne `\label` polecenia do tworzenia etykiet, które dzięki `xr` pakietowi możemy wykorzystać w pliku `summary.tex`.

```latex
\documentclass{article}
\title{To jest \texttt{article1.tex}}
\begin{document}
\section{Wprowadzenie}
\label{introduction}

To jest samodzielny dokument \LaTeX{} z
odwołaniami, których chcemy użyć w \texttt{summary.tex}.

\subsection{Odwołania do matematyki}
\label{mathrefs}
Jak wspomniano w sekcji \ref{introduction},
do różnych elementów można odwoływać się w obrębie
dokumentu.

\subsection{Szeregi potęgowe}
\label{powers}

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

Równanie \ref{eq:1} jest typowym szeregiem potęgowym.
\end{document}
```

**latexmkrc**

Ten `latexmkrc` plik zawiera kod zapewniający kompilację plików zewnętrznych.

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

@sub_doc_options = ();

push @sub_doc_options, '-pdf'; # Użyj pdflatex do kompilacji zewnętrznych dokumentów.
# W razie potrzeby zastąp '-pdf' przez '-pdfdvi', 'pdfxe' lub '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;
   }
}
```

[Otwórz ten przykład z trzema plikami w Overleaf.](/latex/pl/baza-wiedzy/033-cross-referencing-with-the-xr-package-in-overleaf.md)

Poniższa grafika jest opatrzoną adnotacjami wersją wyniku składu `summary.tex`, pokazującą odwołania krzyżowe i odpowiadające im etykiety z pliku zewnętrznego `article1.tex`.

![Pokazywanie odwołań zaimportowanych z pliku zewnętrznego](/files/6e83b4e7129c7b267d95212f28fafa5a1af2c64c)

* Więcej szczegółów na temat odwołań krzyżowych znajdziesz w artykule Overleaf [Odwoływanie krzyżowe do sekcji, równań i obiektów pływających](/latex/pl/struktura-dokumentu/03-cross-referencing-sections-equations-and-floats.md).

## Uwaga dotycząca błędów składni

W głównym pliku projektu możesz użyć opcji Overleaf [trybu kompilacji „Stop on First Error”](/latex/pl/baza-wiedzy/149-using-the-stop-on-first-error-compilation-mode.md) aby upewnić się, że kompilacja zakończy się natychmiast po wykryciu pierwszego błędu. Może to pomóc w odizolowaniu i zidentyfikowaniu błędów w kodzie, zamiast pozwalać, by błędy się kaskadowo nakładały, co znacznie utrudnia znalezienie i debugowanie problemów.

Ta *external* dokumenty są kompilowane automatycznie za pomocą `latexmkrc` pliku; w konsekwencji wszelkie błędy składni LaTeX w nich nie będą widoczne w interfejsie Overleaf — chyba że skompilujesz je również w Overleaf. Błędy w tych zewnętrznych plikach mogą uniemożliwić poprawne wyświetlanie odwołań krzyżowych w złożonym pliku PDF, dlatego zdecydowanie zalecamy sprawdzanie i poprawianie takich błędów natychmiast po ich wystąpieniu.


---

# 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/pl/baza-wiedzy/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.
