我正在使用 TeXworks 在 LaTeX 中创建文档,但无法使不同文件之间的交叉引用正常工作。每次使用\ref
标签时,我都会得到两个问号。
我有三个独立的文件:main.tex
、background.tex
和implementation.tex
。background.tex
和implementation.tex
文件位于名为的子目录中sections
。
我在文件中的某个部分中有一个标签,background.tex
我想引用它implementation.tex
。它们的定义如下:
background.tex
:
\section{MySection}
\label{background:MySection}
参考implementation.tex
我写的:
As described in section \ref{background:MySection}
在我的main.tex
文件中我使用xr
如下方法:
\usepackage{xr}
\externaldocument{sections/background}
然后我使用 pdfLaTeX 进行编译,然后运行 BiBTeX 作为参考,然后运行 pdfLaTeX 两次。我使用的部分\ref
出现了两个问号。我得到以下控制台输出:
LaTeX Warning: Reference `background:MySection' on page 24 undefined on input line 5.
有人知道我做错了什么吗?
答案1
要使 xr 正常工作,您必须在所引用的文档上运行 latex,并且当您处理引用的文档时,该运行的辅助文件必须可供 TeX 使用。换句话说,sections/background.aux
必须存在并具有以下定义background:MySection
然而,如果这些是被放入主文档的部分\input
,\include
您xr
根本不需要,只需\label
正常使用即可。