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

# Cross-referencing dengan paket xr di Overleaf

## Ikhtisar

Fitur [`xr` ke preambel dokumen Anda (seperti disarankan](https://ctan.org/pkg/xr?lang=en) memungkinkan Anda membuat referensi silang ke persamaan, gambar, tabel, dll. yang terdapat dalam dokumen LaTeX eksternal, asalkan dokumen-dokumen tersebut *mandiri.* Dokumen LaTeX mandiri adalah dokumen yang dapat dikompilasi karena berisi sebuah `\documentclass{...}` pernyataan dan `\begin{document}`...`\end{document}` konstruk.

### Ringkasan penggunaan

1. Tulis `\usepackage{xr}` di preambel file LaTeX yang perlu membuat referensi silang ke konten yang terdapat dalam file LaTeX eksternal.
2. Gunakan `xr` perintah paket `\externaldocument{filename}` untuk menentukan dokumen eksternal yang kontennya ingin Anda jadikan referensi silang.

Fitur `xr` paket bekerja dengan menggunakan label referensi silang yang terdapat dalam `) ditulis ke` berkas yang dihasilkan saat dokumen LaTeX eksternal dikompilasi.

### Cara kerja referensi silang (ringkasan singkat)

Untuk membuat referensi silang pada sebuah item dalam dokumen LaTeX Anda perlu:

1. Berikan pengenal unik, `some_string`, menggunakan `\label` perintah:

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

3. Pada lokasi tempat Anda ingin mereferensikan elemen tersebut, Anda perlu menulis

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

Secara singkat, LaTeX mengelola referensi silang dengan menulis data ke berkas bernama `filename.aux` di mana `filename` adalah nama `.tex` berkas utama yang sedang dikompilasi.

Agar proses ini berhasil, dokumen LaTeX harus dikompilasi setidaknya dua kali: kompilasi pertama *menghasilkan* data referensi—menuliskannya ke `filename.aux`. Selama kompilasi kedua, LaTeX *membaca* `filename.aux` untuk menyelesaikan referensi, menyediakan data untuk menggantikan kemunculan `\ref{some_string}`.

* Untuk detail lebih lanjut tentang referensi silang lihat artikel Overleaf [Referensi silang untuk bagian, persamaan, dan objek mengambang](/latex/id/struktur-dokumen/03-cross-referencing-sections-equations-and-floats.md).

## Proyek tempat paket xr tidak diperlukan

Proyek LaTeX besar, seperti buku atau laporan panjang, sering dibagi menjadi serangkaian `.tex` berkas yang lebih kecil, satu per bab, dengan berkas `.tex` tiap bab ditambahkan ke dokumen LaTeX utama menggunakan `\input` atau `\include`. Biasanya, bab-bab tersebut tidak mandiri: Anda tidak dapat mengompilasi bab individual karena bab tersebut tidak berisi sebuah `\documentclass{...}` pernyataan atau `\begin{document}...\end{document}` konstruk. Bab-bab tersebut ditujukan untuk *penyertaan* ke dalam dokumen “wadah” yang *dapat* dikompilasi. Dalam situasi seperti itu, referensi silang ke elemen dokumen—di dalam setiap berkas bab individual—dapat dilakukan seperti biasa: Anda tidak perlu menggunakan `xr` paket.

Untuk menjelajahi contoh proyek besar, Anda dapat [buka contoh ini di 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=)

## Contoh proyek yang memerlukan paket xr

Misalkan Anda memiliki sekumpulan dokumen LaTeX mandiri seperti kumpulan N artikel: `article1.tex`, `article2.tex` ... `articleN.tex`. Masing-masing artikel tersebut dapat dikompilasi secara terpisah dan kemungkinan ditulis menggunakan berbagai kelas dokumen, paket, dll.

Sekarang bayangkan Anda ingin menggunakan LaTeX untuk menulis ikhtisar atau ringkasan artikel-artikel tersebut—kami akan menyebut berkas kami `summary.tex`. Ringkasan kami perlu mereferensikan bagian, gambar, tabel, persamaan, dll. yang terdapat dalam N artikel mandiri tersebut. Bagaimana cara melakukannya?

Fitur `xr` paket ini memungkinkan Anda melakukan hal ini: paket ini memungkinkan `summary.tex` untuk menggunakan label referensi yang dihasilkan oleh salah satu `article*.tex` berkas.

### Catatan tentang berkas .aux

* Catatan, di sini kami menggunakan tanda asterisk (`*`) sebagai pengganti untuk angka apa pun dari 1 sampai N.

Mengompilasi salah satu berkas mandiri `article1.tex`, `article2.tex` ... `articleN.tex` menyebabkan LaTeX menghasilkan `article*.aux` (\*\*`aux`\*\*illary) file yang, di antara item lainnya, berisi data label yang diperlukan untuk menghasilkan referensi silang.

Jika salah satu `article*.tex` berkas diedit—misalnya, untuk mengubah, menambah, atau menghapus label (`\label{...}`)—berkas yang sesuai `article*.tex` harus dikompilasi ulang untuk memperbarui yang terkait `article*.aux` file proyek Anda.

Mendeteksi perubahan pada `article*.tex`, dan kemudian mengompilasinya ulang, dapat diotomatiskan di Overleaf dengan menggunakan `latexmkrc` .

## Cara menggunakan xr di Overleaf

Kami akan menggunakan versi sederhana dari contoh multi-artikel kami; khususnya, kami menunjukkan cara mengotomatiskan proses kompilasi melalui sebuah `latexmkrc` yang dapat diedit [yang disediakan kepada Overleaf oleh John Collins](#code-for-latexmkrc) ([pemelihara `latexmk`](https://ctan.org/pkg/latexmk?lang=en)).

### Berkas yang digunakan dalam contoh kami

Contoh kami menggunakan berkas-berkas berikut:

* `**summary.tex**`: ini adalah dokumen ikhtisar kami. Kami membutuhkannya untuk mereferensikan konten yang terdapat dalam `article1.tex`, seperti gambar dan bagian.
  * `summary.tex` memuat `xr` paket dan menggunakan `\externaldocument{article1}` untuk menentukan bahwa data referensi dari `article1.aux` harus digunakan.
* `**article1.tex**`: sebuah artikel mandiri tunggal yang berisi referensi silang internal. Mengompilasi `article1.tex` menghasilkan data referensi silang yang terdapat dalam berkas `article1.aux`.
  * Berkas eksternal seperti `article1.tex` yang mungkin telah ditulis oleh orang lain—untuk Anda gunakan “sebagaimana disediakan,” yaitu tanpa diubah.
* `**latexmkrc**`: berisi kode (Perl) untuk mengotomatiskan pengompilan ulang `article1.tex` akibat perubahan apa pun yang dibuat padanya—untuk membuat sebuah `article1.aux` .
  * Kami `latexmkrc` adalah [yang disediakan kepada Overleaf oleh John Collins](#code-for-latexmkrc) ([pemelihara `latexmk`](https://ctan.org/pkg/latexmk?lang=en)).

### Tentang perintah \externaldocument

Fitur `xr` paket menyediakan`\externaldocument` perintah, yang memiliki bentuk umum

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

* **`prefiks` (opsional):** Argumen opsional ini memungkinkan Anda menentukan prefiks yang akan ditambahkan ke semua label yang diimpor dari dokumen eksternal. Ini berguna untuk menghindari konflik jika nama label yang sama digunakan di beberapa dokumen.
* **`external_file` (wajib):** Argumen wajib ini menentukan nama dokumen LaTeX eksternal (tanpa `.tex` ekstensi) tempat Anda ingin mengimpor referensi.  `xr` paket akan mencari `) ditulis ke` berkas yang sesuai dengan `external_file` (misalnya, `external_file.aux`) untuk mengambil label.

Sebagai contoh, jika berkas utama kami `.tex` yang dapat diedit `summary.tex` dan berkas eksternal, `article1.tex` keduanya berisi label `\label{eq:1}` maka terjadi bentrokan nama label. Bentrokan itu dapat dicegah dengan menulis

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

dalam hal itu semua label yang dibuat dengan mengompilasi `article1.tex` diberi prefiks `art1-`. Sekarang Anda dapat mengakses `\label{eq:1}`, yang terdapat dalam `article1.tex`, dengan menulis `\ref{art1-eq:1}` di `summary.tex`.

### Berkas proyek

#### article1.tex

Kode berikut dapat dibuka di Overleaf menggunakan tautan di bawah daftar.

```latex
\documentclass{article}
\title{Ini adalah \texttt{article1.tex}}
\begin{document}
\section{Pendahuluan}
\label{introduction}

Ini adalah dokumen \LaTeX{} mandiri dengan
referensi yang ingin kami gunakan di \texttt{summary.tex}.

\subsection{Referensi matematika}
\label{mathrefs}
Seperti disebutkan pada bagian \ref{introduction},
elemen yang berbeda dapat direferensikan dalam
sebuah dokumen.

\subsection{Deret pangkat}
\label{powers}

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

Persamaan \ref{eq:1} adalah deret pangkat yang khas.
\end{document}
```

[Buka `article1.tex` di 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)

Mengompilasi `article1.tex` menghasilkan keluaran berikut:

![Keluaran yang dihasilkan oleh pengompilan berkas article1.tex di Overleaf](/files/825b632f28d391fce3fa6c96e37205936c13acd5)

#### summary.tex

Berikut adalah versi awal kami `summary.tex` yang dapat diedit *sebelum* kami telah menentukan dokumen eksternal mana yang ingin kami rujuk. Untuk kesederhanaan, `summary.tex` tidak berisi `\label` perintah karena tidak ada referensi silang internal. Semua `\ref` perintah merujuk ke label yang dihasilkan oleh `\label` perintah yang terdapat dalam `article1.tex`.

```latex
\documentclass{article}
\usepackage{xr}
\title{Ini adalah \texttt{summary.tex}}
\begin{document}
Dalam berkas \texttt{article1.tex}, pendahuluannya adalah bagian \ref{introduction}. Dalam berkas itu, ada dua subbagian: \ref{mathrefs} dan \ref{powers}. Dalam subbagian \ref{powers}, persamaan \ref{eq:1} mendemonstrasikan deret pangkat.
\end{document}
```

[Buka *tidak lengkap* `summary.tex` di 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)

Jika kita mengompilasi versi `summary.tex` ini, ia akan mencoba membaca data referensi dari `summary.aux` tetapi data yang diperlukan terdapat dalam berkas eksternal `article1.aux` yang belum dapat diakses.

Mengompilasi versi tidak lengkap ini `summary.tex` berkas ini menghasilkan keluaran berikut, dengan tanda tanya ganda yang menunjukkan referensi tak terdefinisi:

![Gambar yang menunjukkan laporan referensi yang hilang](/files/0cc62689ea878cc6e400d314fab9a4cada796afe)

### Menentukan dokumen eksternal

Langkah berikutnya adalah menentukan `article1` sebagai nama dokumen eksternal yang labelnya ingin kita referensikan. Tambahkan baris berikut ke preambel `summary.tex`:

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

Di sini, `article1` dapat diganti dengan berkas apa pun yang labelnya ingin Anda akses—Anda dapat menggunakan beberapa `\externaldocument` perintah untuk mengakses berkas eksternal tambahan.

### Membuat berkas latexmkrc

Langkah berikutnya adalah membuat sebuah `latexmkrc` berkas seperti ditunjukkan di bawah ini:

* Di jendela editor proyek Anda, pilih **File Baru** ikon di kiri atas jendela proyek.
* Pilih **File Baru** dari dalam **Add Files** kotak dialog pop-up dan beri nama berkas `latexmkrc`—catat bahwa tidak ada ekstensi berkas:

![Membuat berkas latexmkrc di Overleaf](/files/7cfe9d970b3441e6297f3654d2b649f2ee519a0d)

* Pastikan bahwa `latexmkrc` berkas dibuat dan disimpan di tingkat teratas (root) area berkas proyek. Artinya, tidak berada di dalam folder mana pun di pohon berkas.
* Salin dan tempel kode berikut ke dalam `latexmkrc` .

#### Kode untuk latexmkrc

Overleaf berterima kasih kepada John Collins, [pemelihara `latexmk`](https://ctan.org/pkg/latexmk?lang=en), karena telah menghubungi kami untuk menyediakan `latexmkrc` berkas berikut, yang dengan senang hati kami terbitkan secara lengkap—termasuk komentar inline yang sangat membantu.

```perl
# Ini menunjukkan cara menggunakan paket xr dengan latexmk.
# John Collins 2023-03-29
#
# Paket xr ("sistem untuk Referensi Eksternal") digunakan oleh sebuah dokumen
# untuk membuat referensi ke bagian, persamaan, dll. dalam dokumen eksternal lain
# dokumen.
# Definisi dalam berkas ini memungkinkan latexmk menerapkan latexmk pada
# memperbarui dokumen eksternal secara otomatis setiap kali berkas .tex-nya berubah,
# sehingga referensi dalam dokumen utama tetap mutakhir.

# Catatan:
#    1. Versi ini didefinisikan untuk menempatkan berkas dari hasil kompilasi
#       dokumen eksternal ke dalam subdirektori yang ditentukan, untuk memisahkan
#       berpotensi banyak berkas yang dihasilkan dari dokumen utama
#       direktori.
#    2. Namun agar mekanisme dependensi kustom latexmk dapat digunakan, seperti di sini,
#       berkas aux dari kompilasi subdokumen harus dihasilkan di
#       direktori yang sama dengan berkas sumber .tex yang sesuai. Jadi
#       berkas .aux disalin.
#    3. Diasumsikan bahwa dokumen eksternal akan dikompilasi oleh
#       pdflatex. Ini tentu dapat diubah dengan mengubah opsi '-pdf'
#       yang diberikan ke latexmk yang dipanggil sesuai kebutuhan.
#    4. Implementasi ideal juga akan memastikan bahwa pengompilan ulang sebuah
#       dokumen eksternal juga terjadi setiap kali salah satu berkas sumber lainnya
#       berubah. Namun ini tidak dilakukan pada versi saat ini, dan
#       kemungkinan akan memerlukan penggunaan variabel internal latexmk
#       atau pengembangan tambahan pada latexmk.
#    5. Kode ini menggunakan subrutin copy dan fileparse yang dimuat oleh
#       latexmk dari paket Perl File::Copy dan File::Basename.
#    6. Kode ini juga menggunakan beberapa fitur latexmk yang belum didokumentasikan: sebuah array
#       variabel @file_not_found dan subrutin popd, pushd, dan
#       rdb_add_generated.

#--------------------
# Pilihan yang dapat dikonfigurasi untuk kompilasi dokumen eksternal

# Subdirektori untuk berkas keluaran dari kompilasi dokumen eksternal:
$sub_doc_output = 'output-subdoc';

# Opsi yang akan diberikan kepada latexmk untuk kompilasi dokumen eksternal:
@sub_doc_options = ();

push @sub_doc_options, '-pdf'; # Gunakan pdflatex untuk kompilasi dokumen eksternal.
# Ganti '-pdf' dengan '-pdfdvi', 'pdfxe', atau 'pdflua' jika diperlukan.

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

# Tambahkan pola untuk pesan file log xr tentang file yang hilang ke
# daftar latexmk. Variabel latexmk @file_not_found belum didokumentasikan.
# Baris ini tidak diperlukan untuk latexmk versi 4.80 atau yang lebih baru.
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 '.') ) {
               # Dalam kasus ini, berkas .aux yang dihasilkan oleh pdflatex tidak berada di direktori yang sama
               # dengan berkas .tex.
               # Oleh karena itu:
               # 1. Berkas aux yang benar-benar dihasilkan harus dicantumkan sebagai keluaran dari
               #    aturan ini, agar latexmk menangani dependensi dengan benar.
               #    (Masalah yang harus diatasi: Jika $sub_dir_output sama dengan $aux_dir
               #    untuk dokumen utama, xr mungkin membaca berkas .aux di
               #    aux_dir alih-alih yang diasumsikan oleh latexmk sebagai keluaran cus dep
               #    untuk dihasilkan, yang berada di direktori yang sama dengan berkas sumber .tex
               #    untuk dependensi kustom ini.)
               #    Gunakan subrutin latexmk rdb_add_generated yang belum didokumentasikan
               #    untuk melakukan ini:
               # 2. Salinan berkas .aux harus berada di direktori yang sama dengan berkas .tex
               #    agar memenuhi definisi latexmk tentang dependensi kustom.
             rdb_add_generated( "$sub_doc_output/$base_name.aux" );
             copy "$sub_doc_output/$base_name.aux", ".";
        }
        popd;
        return $return;
   }
}
```

### Buka proyek Overleaf yang mendemonstrasikan xr

Proyek tiga berkas berikut sekarang dapat dibuka di Overleaf menggunakan tautan yang disediakan di atas dan di bawah daftar berkas. Perhatikan bahwa `latexmkrc` berkas ini berisi kode yang disediakan oleh John Collins tetapi, demi singkatnya, sebagian besar komentar telah dihapus.

[Buka contoh tiga berkas ini di Overleaf.](/latex/id/basis-pengetahuan/033-cross-referencing-with-the-xr-package-in-overleaf.md)

**summary.tex**

Ini adalah berkas ringkasan kami. Dari dalam berkas ini kami ingin menggunakan referensi silang yang dibuat dalam berkas eksternal. Di sini, kami ingin menggunakan label yang dihasilkan dalam `article1.tex`.

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

\title{Menggunakan paket xr di Overleaf}
% letakkan semua dokumen eksternal di sini!
\externaldocument{article1}

\begin{document}

Dalam berkas \texttt{article1.tex}, pendahuluannya adalah bagian \ref{introduction}. Dalam berkas itu, ada dua subbagian: \ref{mathrefs} dan \ref{powers}. Dalam subbagian \ref{powers}, persamaan \ref{eq:1} mendemonstrasikan deret pangkat.

\end{document}
```

**article1.tex**

Berkas ini adalah salah satu artikel kami. Perhatikan bahwa berkas ini berisi berbagai `\label` perintah untuk membuat label yang, berkat `xr` paket ini, dapat kami gunakan dalam berkas `summary.tex`.

```latex
\documentclass{article}
\title{Ini adalah \texttt{article1.tex}}
\begin{document}
\section{Pendahuluan}
\label{introduction}

Ini adalah dokumen \LaTeX{} mandiri dengan
referensi yang ingin kami gunakan di \texttt{summary.tex}.

\subsection{Referensi matematika}
\label{mathrefs}
Seperti disebutkan pada bagian \ref{introduction},
elemen yang berbeda dapat direferensikan dalam
sebuah dokumen.

\subsection{Deret pangkat}
\label{powers}

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

Persamaan \ref{eq:1} adalah deret pangkat yang khas.
\end{document}
```

**latexmkrc**

Ini `latexmkrc` berkas berisi kode untuk memastikan berkas eksternal dikompilasi.

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

@sub_doc_options = ();

push @sub_doc_options, '-pdf'; # Gunakan pdflatex untuk kompilasi dokumen eksternal.
# Ganti '-pdf' dengan '-pdfdvi', 'pdfxe', atau 'pdflua' jika diperlukan.

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

[Buka contoh tiga berkas ini di Overleaf.](/latex/id/basis-pengetahuan/033-cross-referencing-with-the-xr-package-in-overleaf.md)

Grafik berikut adalah versi beranotasi dari keluaran penataan huruf `summary.tex`, yang menunjukkan referensi silang dan label yang sesuai dari berkas eksternal `article1.tex`.

![Menampilkan referensi yang diimpor dari berkas eksternal](/files/f112929f27ff2c0760cde38be2bee1eccef1db1c)

* Untuk detail lebih lanjut tentang referensi silang lihat artikel Overleaf [Referensi silang untuk bagian, persamaan, dan objek mengambang](/latex/id/struktur-dokumen/03-cross-referencing-sections-equations-and-floats.md).

## Catatan tentang kesalahan sintaks

Untuk berkas proyek utama Anda, Anda dapat menggunakan mode kompilasi Overleaf [Hentikan pada Error Pertama](/latex/id/basis-pengetahuan/149-using-the-stop-on-first-error-compilation-mode.md) untuk memastikan kompilasi berhenti segera setelah kesalahan pertama terdeteksi. Ini dapat membantu mengisolasi dan mengidentifikasi kesalahan dalam kode Anda, daripada membiarkan kesalahan berantai yang membuat masalah jauh lebih sulit ditemukan dan di-debug.

Fitur *external* dokumen dikompilasi secara otomatis melalui `latexmkrc` berkas; akibatnya, kesalahan sintaks LaTeX apa pun di dalamnya tidak akan muncul di antarmuka Overleaf—kecuali Anda mengompilasinya ulang di Overleaf juga. Kesalahan dalam berkas eksternal tersebut dapat mencegah referensi silang tampil dengan benar dalam berkas PDF yang ditata, jadi kami sangat merekomendasikan untuk memeriksa dan memperbaiki kesalahan semacam itu segera setelah terjadi.


---

# 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/id/basis-pengetahuan/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.
