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

# Overleaf에서 xr 패키지를 사용한 상호 참조

## 개요

이 [`xr` 패키지](https://ctan.org/pkg/xr?lang=en) 는 외부 LaTeX 문서에 포함된 방정식, 그림, 표 등에 대한 상호 참조를 만들 수 있게 해 주며, 단 해당 문서들이 *독립형입니다.* 독립형 LaTeX 문서는 다음을 포함하므로 컴파일할 수 있는 문서를 말합니다. `\documentclass{...}` 문장과 `\begin{document}`...`\end{document}` 구조를.

### 사용 요약

1. 작성 `\usepackage{xr}` 를 외부 LaTeX 파일에 포함된 내용을 상호 참조해야 하는 LaTeX 파일의 프리앰블에 작성합니다.
2. 다음을 사용하세요 `xr` 패키지 명령 `\externaldocument{filename}` 를 사용하여 상호 참조할 외부 문서를 지정합니다.

이 `xr` 패키지는 다음에 포함된 상호 참조 레이블을 사용하여 동작합니다. `.aux` 외부 LaTeX 문서가 컴파일될 때 생성되는 파일들입니다.

### 상호 참조가 작동하는 방식(간단 요약)

LaTeX 문서의 항목을 상호 참조하려면 다음이 필요합니다:

1. 고유 식별자를 부여합니다, `some_string`를 `\label` 명령:

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

3. 로 사용하여

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

아주 간단히 말하면, LaTeX는 다음이라는 파일에 데이터를 기록하여 상호 참조를 관리합니다. `filename.aux` 여기서 `filename` 은 주 `.tex` 컴파일 중인 파일의 이름입니다.

이 과정이 작동하려면 LaTeX 문서는 최소 두 번 컴파일되어야 합니다. 첫 번째 컴파일은 *생성하고* 참조 데이터를 생성하여 이를 `filename.aux`에 기록합니다. 두 번째 컴파일에서 LaTeX는 *를* `filename.aux` 읽어 참조를 해결하고, 다음 인스턴스를 대체할 데이터를 제공합니다. `\ref{some_string}`.

* 상호 참조에 대한 자세한 내용은 Overleaf 문서 [섹션, 방정식 및 플로트 상호 참조](/latex/ko/document-structure/03-cross-referencing-sections-equations-and-floats.md).

## xr 패키지가 필요하지 않은 프로젝트

책이나 긴 보고서 같은 대규모 LaTeX 프로젝트는 종종 여러 개의 더 작은 `.tex` 파일로 나뉘며, 장마다 하나의 파일을 두고 각 장의 `.tex` 파일은 다음을 사용하여 주 LaTeX 문서에 추가됩니다. `\input` 또는 `\include`. 일반적으로 그런 장들은 독립형이 아닙니다. 다음을 포함하지 않으므로 개별 장을 컴파일할 수 없습니다. `\documentclass{...}` 문장이나 `\begin{document}...\end{document}` 구조를. 그런 장들은 *포함* 될 *수* 있는 “컨테이너” 문서를 위해 만들어집니다. 그러한 상황에서는 개별 장 파일 안에서 문서 요소를 상호 참조하는 것은 평소와 같이 진행할 수 있습니다. 다음을 사용할 필요가 없습니다. `xr` 패키지.

대규모 프로젝트의 예를 살펴보려면 [이 예제를 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=)

## xr 패키지가 필요한 프로젝트의 예

예를 들어 N개의 논문 모음과 같은 독립형 LaTeX 문서 집합이 있다고 가정해 봅시다: `article1.tex`, `article2.tex` ... `articleN.tex`. 이 논문들은 각각 별도로 컴파일할 수 있으며, 서로 다른 문서 클래스, 패키지 등을 사용하여 작성되었을 가능성이 큽니다.

이제 LaTeX를 사용해 그 논문들의 개요나 요약을 작성하고 싶다고 해 봅시다. 파일 이름은 `summary.tex`라고 하겠습니다. 우리의 요약은 각각의 독립형 N개 논문 안에 들어 있는 섹션, 그림, 표, 식 등을 참조해야 합니다. 어떻게 할 수 있을까요?

이 `xr` 패키지는 이를 가능하게 해 줍니다. 즉, `summary.tex` 가 생성한 참조 레이블을 사용할 수 있게 합니다. `article*.tex` 파일을 준비하는 방법을 간단히 살펴보았습니다.

### .aux 파일에 대한 참고

* 참고로, 여기서는 1에서 N까지의 어떤 번호를 나타내는 자리표시자로 별표(`*`)를 사용합니다.

독립형 파일 중 하나를 컴파일하면 `article1.tex`, `article2.tex` ... `articleN.tex` LaTeX가 해당하는 `article*.aux` (\*\*`aux`보조 파일을 생성하게 되며, 여기에는 상호 참조를 생성하는 데 필요한 레이블 데이터가 포함됩니다.

만약 `article*.tex` 파일이 편집되면—예를 들어 레이블을 변경, 추가, 제거할 경우(`\label{...}`)—해당 `article*.tex` 파일은 연관된 `article*.aux` 파일(들).

다음의 변경을 감지하는 것 `article*.tex`과 이후 이를 재컴파일하는 작업은 적절한 `latexmkrc` 파일.

## Overleaf에서 xr을 사용하는 방법

우리는 여러 논문 예제를 단순화한 버전을 사용할 것입니다. 특히, 다음을 통해 컴파일 과정을 자동화하는 방법을 보여 줍니다. `latexmkrc` 파일 [Overleaf에 제공된](#code-for-latexmkrc) ([의 관리자 `latexmk`](https://ctan.org/pkg/latexmk?lang=en)).

### 예제에서 사용한 파일

우리 예제는 다음 파일을 사용합니다:

* `**summary.tex**`: 이것은 우리의 개요 문서입니다. 여기서는 `article1.tex`에 포함된 내용, 예를 들어 그림과 섹션을 참조해야 합니다.
  * `summary.tex` 로드합니다 `xr` 패키지를 `\externaldocument{article1}` 를 사용하여 `article1.aux` 의 참조 데이터를 사용하도록 지정합니다.
* `**article1.tex**`: 내부 상호 참조를 포함한 단일 독립형 논문입니다. 컴파일하면 `article1.tex` 이 들어 있는 파일 `article1.aux`.
  * 예를 들어 `article1.tex` 와 같은 외부 파일은 다른 사람이 작성했을 수 있으며, 여러분은 그것을 “제공된 그대로”, 즉 손대지 않은 상태로 사용합니다.
* `**latexmkrc**`: (Perl) 코드를 포함하여 `article1.tex` 를 재컴파일하도록 자동화합니다. `article1.aux` 파일.
  * 우리의 `latexmkrc` 파일은 [Overleaf에 제공된](#code-for-latexmkrc) ([의 관리자 `latexmk`](https://ctan.org/pkg/latexmk?lang=en)).

### \externaldocument 명령에 대하여

이 `xr` 패키지는`\externaldocument` 명령을 제공하며, 일반적인 형식은 다음과 같습니다.

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

* **`prefix` (선택 사항):** 이 선택적 인수는 외부 문서에서 가져온 모든 레이블 앞에 붙일 접두사를 정의할 수 있게 합니다. 동일한 레이블 이름이 여러 문서에서 사용되는 경우 충돌을 피하는 데 유용합니다.
* **`external_file` (필수):** 이 필수 인수는 다음의 확장자 없이 외부 LaTeX 문서의 이름을 지정합니다. `.tex` 에서 참조를 가져오고자 하는 문서입니다.  `xr` 패키지는 `.aux` 에 해당하는 `external_file` (예: `external_file.aux`) 파일을 찾아 레이블을 가져옵니다.

예를 들면, 우리의 주 `.tex` 파일 `summary.tex` 와 외부 파일, `article1.tex` 둘 다 레이블 `\label{eq:1}` 을 포함하고 있다면, 레이블 이름 충돌이 발생합니다. 그 충돌은 다음과 같이 작성하여 방지할 수 있습니다.

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

그 경우 `article1.tex` 를 컴파일하여 생성된 모든 레이블 앞에 `art1-`를 붙입니다. 이제 다음을 접근할 수 있습니다. `\label{eq:1}`,가 포함된 `article1.tex`를 `\ref{art1-eq:1}` 를 `summary.tex`.

### 프로젝트 파일

#### article1.tex

다음 코드는 아래 목록 아래의 링크를 사용해 Overleaf에서 열 수 있습니다.

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

이것은 다음을 포함하는 독립형 \LaTeX{} 문서입니다.
\texttt{summary.tex}에서 사용하고자 하는 참조가 들어 있습니다.

\subsection{Math references}
\label{mathrefs}
\ref{introduction} 절에서 언급했듯이,
다양한 요소를
문서 내에서 참조할 수 있습니다.

\subsection{Powers series}
\label{powers}

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

방정식 \ref{eq:1}은 전형적인 멱급수입니다.
\end{document}
```

[열기 `article1.tex` 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)

컴파일하면 `article1.tex` 다음 출력이 생성됩니다:

![Overleaf에서 article1.tex 파일을 컴파일하여 생성된 출력](/files/aee07756ab0ac768c9ec9bbeb9b504a9b816b530)

#### summary.tex

여기 우리의 초기 `summary.tex` 파일 *이전에* 가 있습니다. 우리는 참조할 외부 문서를 지정했습니다. 간단히 하기 위해, `summary.tex` 에는 어떤 `\label` 명령도 포함되어 있지 않습니다. 내부 상호 참조가 없기 때문입니다. 모든 `\ref` 명령은 `\label` 에 포함된 `article1.tex`.

```latex
\documentclass{article}
\usepackage{xr}
\title{This is \texttt{summary.tex}}
\begin{document}
파일 \texttt{article1.tex}에서 서론은 \ref{introduction} 절입니다. 그 파일에는 두 개의 하위 절, 즉 \ref{mathrefs}와 \ref{powers}가 있습니다. \ref{powers} 하위 절에서 \ref{eq:1} 방정식은 멱급수를 보여 줍니다.
\end{document}
```

[이 *불완전한* `summary.tex` 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)

이 버전의 `summary.tex` 를 컴파일하면 `summary.aux` 에서 참조 데이터를 읽으려고 시도하지만, `article1.aux` 필요한 데이터는 외부 파일에 들어 있어

이 불완전한 `summary.tex` 파일을 컴파일하면 다음과 같은 출력이 생성되며, 물음표 두 개는 정의되지 않은 참조를 나타냅니다:

![누락된 참조를 보고하는 그림](/files/fd738a88948ab9fb00c95b23fedb70d3651247bd)

### 외부 문서 지정

다음 단계는 `article1` 을 우리가 레이블을 참조하고자 하는 외부 문서의 이름으로 지정하는 것입니다. 다음 줄을 `summary.tex`:

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

여기서, `article1` 는 접근하고자 하는 레이블이 있는 어떤 파일로도 대체될 수 있습니다. 추가 외부 파일에 접근하려면 여러 `\externaldocument` 명령을 사용할 수 있습니다.

### latexmkrc 파일 만들기

다음 단계는 아래와 같이 `latexmkrc` 파일을 만드는 것입니다:

* 프로젝트 편집기 창에서 프로젝트 창의 왼쪽 위에 있는 **새 파일** 아이콘을 선택합니다.
* 선택하세요 **새 파일** 안의 **파일 추가** 팝업 대화상자에서 파일 이름을 `latexmkrc`으로 지정합니다—파일 확장자가 없다는 점에 유의하세요:

![Overleaf에서 latexmkrc 파일 만들기](/files/1661496c4d64ffa9b8b32ec11024c54a1a256139)

* 다음을 `latexmkrc` 파일이 프로젝트 파일 영역의 맨 위(루트) 수준에 생성되고 저장되었는지 확인하세요. 즉, 파일 트리의 어떤 폴더 안에도 있으면 안 됩니다.
* 다음 코드를 `latexmkrc` 파일.

#### latexmkrc용 코드

Overleaf는 John Collins께 감사드립니다, [의 관리자 `latexmk`](https://ctan.org/pkg/latexmk?lang=en)께서 다음 `latexmkrc` 파일을 제공해 주시기 위해 저희에게 연락해 주셨으며, 매우 도움이 되는 인라인 주석까지 포함하여 전체를 기쁘게 공개합니다.

```perl
# 이것은 latexmk와 함께 xr 패키지를 사용하는 방법을 보여 줍니다.
# John Collins 2023-03-29
#
# xr 패키지(“eXternal References” 시스템)는 문서에서 사용됩니다
# 다른 외부 문서의 섹션, 방정식 등에 대한 참조를 만들기 위해
# 문서들.
# 이 파일의 정의는 latexmk가
# .tex 파일이 변경될 때마다 외부 문서를 자동으로 업데이트하도록 latexmk를 적용하게 해 줍니다,
# 그렇게 해서 주 문서의 참조가 최신 상태로 유지되도록 합니다.

# 참고:
#    1. 이 버전은 다음의 컴파일에서 생성된 파일들을
#       외부 문서들의 파일을 지정된 하위 디렉터리에 두도록 정의되어 있어,
#       생성될 수 있는 많은 파일을 주 문서의
#       디렉터리와 분리합니다.
#    2. 하지만 여기서처럼 latexmk의 사용자 정의 의존성 메커니즘을 사용하려면,
#       하위 문서 컴파일에서 생성된 aux 파일은
#       해당 원본 .tex 파일과 동일한 디렉터리에 생성되어야 합니다. 따라서
#       .aux 파일을 복사합니다.
#    3. 외부 문서들은
#       pdflatex로 컴파일된다고 가정합니다. 물론 이는 호출된 latexmk에 전달된 '-pdf'
#       옵션을 필요한 것으로 바꾸면 변경할 수 있습니다.
#    4. 이상적인 구현은 외부 문서의 다른 원본
#       파일이 변경될 때마다 해당 문서의 재컴파일도 이루어지도록 보장할 것입니다.
#       하지만 현재 버전에서는 그렇게 하지 않으며,
#       아마도 latexmk의 내부 변수 사용이나
#       latexmk에 대한 추가 확장이 필요할 것입니다.
#    5. 이 코드는 Perl 패키지 File::Copy와 File::Basename에서
#       latexmk가 불러오는 copy 및 fileparse 서브루틴을 사용합니다.
#    6. 또한 아직 문서화되지 않은 latexmk 기능 중 일부를 사용합니다: 배열
#       변수 @file_not_found 및 popd, pushd,
#       rdb_add_generated 서브루틴들.

#--------------------
# 외부 문서 컴파일을 위한 구성 가능한 선택 사항

# 외부 문서 컴파일 결과를 위한 출력 파일용 하위 디렉터리:
$sub_doc_output = 'output-subdoc';

# 외부 문서 컴파일을 위해 latexmk에 전달할 옵션:
@sub_doc_options = ();

push @sub_doc_options, '-pdf'; # 외부 문서 컴파일에는 pdflatex를 사용합니다.
# 필요하면 '-pdf'를 '-pdfdvi', 'pdfxe' 또는 'pdflua'로 바꾸세요.

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

# xr의 누락 파일에 대한 로그 파일 메시지에 대한 패턴을 latexmk의
# 목록에 추가합니다. latexmk의 변수 @file_not_found는 아직 문서화되지 않았습니다.
# 이 줄은 latexmk 4.80 이상에서는 필요하지 않습니다.
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 '.') ) {
               # 이 경우, pdflatex가 생성한 .aux 파일은 같은
               # 디렉터리에 있지 않습니다 .tex 파일과.
               # 따라서:
               # 1. 실제로 생성된 aux 파일은 이
               #    규칙에 의해 생성된 것으로 목록에 올라야 하며, 그래야 latexmk가 의존성을 올바르게 처리합니다.
               #    (해결해야 할 문제: $sub_dir_output가 주 문서의 $aux_dir와 같다면, xr은
               #    .aux 파일이 아니라
               #    cus dep가 latexmk에 의해 생성된다고 가정되는
               #    .tex 원본과 같은 디렉터리에 있는
               #    aux_dir의 .aux 파일을 읽을 수 있습니다.
               #    이 사용자 정의 의존성에 대해)
               # 2. .aux 파일의 복사본이 .tex 파일과 같은 디렉터리에 있어야 합니다.
               #    이는 latexmk의 사용자 정의 의존성 정의를 충족하기 위해서입니다.
               rdb_add_generated( "$sub_doc_output/$base_name.aux" );
             copy "$sub_doc_output/$base_name.aux", ".";
             popd;
        }
        return $return;
        xr을 보여 주는 Overleaf 프로젝트 열기
   }
}
```

### 다음의 세 파일 프로젝트는 이제 위와 아래의 파일 목록에 제공된 링크를 사용하여 Overleaf에서 열 수 있습니다. 다음 사항에 유의하세요.

파일에는 John Collins가 제공한 코드가 들어 있지만, 간결함을 위해 대부분의 주석은 제거되었습니다. `latexmkrc` 이 세 파일 예제를 Overleaf에서 열기.

[이것은 우리의 요약 파일입니다. 이 파일 안에서 외부 파일들에 생성된 상호 참조를 사용하고자 합니다. 여기서는](/latex/ko/knowledge-base/033-cross-referencing-with-the-xr-package-in-overleaf.md)

**summary.tex**

\documentclass\[12pt]{article} `article1.tex`.

```latex
\title{Overleaf에서 xr 패키지 사용하기}
\usepackage{xr}

% 모든 외부 문서는 여기에 둡니다!
이 파일은 우리의 논문 중 하나입니다. 그것이 다양한
\externaldocument{article1}

\begin{document}

파일 \texttt{article1.tex}에서 서론은 \ref{introduction} 절입니다. 그 파일에는 두 개의 하위 절, 즉 \ref{mathrefs}와 \ref{powers}가 있습니다. \ref{powers} 하위 절에서 \ref{eq:1} 방정식은 멱급수를 보여 줍니다.

\end{document}
```

**article1.tex**

레이블을 만드는 명령을 포함하고 있으며, 덕분에 `\label` 패키지를 사용하여 파일 `xr` 이 `summary.tex`.

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

이것은 다음을 포함하는 독립형 \LaTeX{} 문서입니다.
\texttt{summary.tex}에서 사용하고자 하는 참조가 들어 있습니다.

\subsection{Math references}
\label{mathrefs}
\ref{introduction} 절에서 언급했듯이,
다양한 요소를
문서 내에서 참조할 수 있습니다.

\subsection{Powers series}
\label{powers}

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

방정식 \ref{eq:1}은 전형적인 멱급수입니다.
\end{document}
```

**latexmkrc**

외부 파일들이 컴파일되도록 보장하는 코드가 포함되어 있습니다. `latexmkrc` 다음 그래픽은

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

@sub_doc_options = ();

push @sub_doc_options, '-pdf'; # 외부 문서 컴파일에는 pdflatex를 사용합니다.
# 필요하면 '-pdf'를 '-pdfdvi', 'pdfxe' 또는 '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 '.') ) {

             copy "$sub_doc_output/$base_name.aux", ".";
             popd;
        }
        return $return;
        xr을 보여 주는 Overleaf 프로젝트 열기
   }
}
```

[이것은 우리의 요약 파일입니다. 이 파일 안에서 외부 파일들에 생성된 상호 참조를 사용하고자 합니다. 여기서는](/latex/ko/knowledge-base/033-cross-referencing-with-the-xr-package-in-overleaf.md)

를 조판한 출력의 주석이 달린 버전으로, 외부 파일 `summary.tex`에서 가져온 상호 참조와 해당 레이블을 보여 줍니다. `article1.tex`.

![외부 파일에서 가져온 참조 표시](/files/58ec2e54358968e044ace62c0c1a9fb343f69c12)

* 상호 참조에 대한 자세한 내용은 Overleaf 문서 [섹션, 방정식 및 플로트 상호 참조](/latex/ko/document-structure/03-cross-referencing-sections-equations-and-floats.md).

## 구문 오류에 대한 참고

주 프로젝트 파일에서는 Overleaf의 [첫 번째 오류에서 중지하는 컴파일 모드](/latex/ko/knowledge-base/149-using-the-stop-on-first-error-compilation-mode.md) 를 사용하여 첫 번째 오류가 감지되자마자 컴파일이 즉시 종료되도록 할 수 있습니다. 이렇게 하면 오류가 연쇄적으로 퍼져 문제를 찾고 디버깅하기 훨씬 어려워지는 대신, 코드의 오류를 분리하고 식별하는 데 도움이 됩니다.

이 *라이브러리를* 문서들은 `latexmkrc` 파일을 통해 자동으로 컴파일됩니다. 따라서 그 안의 LaTeX 구문 오류는 Overleaf 인터페이스에 표시되지 않습니다—Overleaf에서 다시 컴파일하지 않는 한은요. 그런 외부 파일의 오류는 조판된 PDF 파일에서 상호 참조가 올바르게 나타나지 못하게 할 수 있으므로, 오류가 발생하는 즉시 확인하고 수정할 것을 강력히 권장합니다.


---

# 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/ko/knowledge-base/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.
