如何使用 \ref 引用另一个文档中的 \label?

如何使用 \ref 引用另一个文档中的 \label?

我有两个文档,并尝试使用该包xr在第二个文档中创建对\label第一个文档中的 的引用。但??PDF 中却出现了 。如何使第二个文档能够看到第一个文档中的\labels

最小示例:

xr2a.tex

\documentclass[12pt,a4paper]{article}
\begin{document}
\section{A}\label{a}
\end{document}

xr2b.tex

\documentclass[12pt,a4paper]{article}
\usepackage{xr}
\externaldocument{xr2a}
\begin{document}
\ref{a}
\end{document}

我正在使用 pdfLaTeX 和 TeXworks。

这些文件位于同一目录中。

我不想要超链接。

该软件包的文档非常少xr——我是否正确使用了它?

一些关于同一主题的类似旧问题的答案是xr需要读取.aux文件。pdfLaTeX 最近在没有任何.aux文件的情况下运行正常。现在xr还需要读取.aux文件吗?如果是,我如何让 TeXworks 让 pdfLaTeX a) 保留文件.auxb) 恢复为不保留文件的默认行为.aux

答案1

正如 David Carlisle 指出的那样,TeX 引擎需要写入.aux文件。因此,XY 问题,Y 现在是“如何在成功运行后停止自动删除文件?”。我使用 TeXworks,我的情况的解决方案是:当使用 TeXworks 制作包含其他文档.aux的文档时,选择编译模式(而不是)。我一直在使用编译模式——如果运行成功,MakeIndex 或 BibTeX 可能会清理和文件。正如 moewe 所说,pdfLaTeX 阶段不会删除这些文件,因此它必须是后面的阶段之一。\label\refpdfLaTeXpdfLaTeX+MakeIndex+BibTeXpdfLaTeX+MakeIndex+BibTeX.aux.log

相关内容