是否有可能在几个工作草案之间自动引用一些具有正确数字的方程式或定理?

是否有可能在几个工作草案之间自动引用一些具有正确数字的方程式或定理?

我正在写几份独立的草稿。每份草稿都可能提交一篇单独的论文。我需要将一份草稿中的一些结果引用到另一份草稿中。由于它们都还没有完成,所以数字可能会改变。有没有办法让我在修改一些草稿时,所有草稿中的编号系统都会自动更新。

举个例子:假设在第一稿中,有一个引理——引理 3.1 和一个方程 (3.2.4)。由于我仍在修改此稿,因此这些数字可能会发生变化。

同时,我正在写第二篇论文。我想参考上面提到的两个结果:[1] 的引理 3.1 和 [1] 的引理 (3.2.4)。是否可以让系统自动更新数字?

答案1

编辑后:

\documentclass{report}
%%%put this in a "real" file
%%% run latex on 'superfilex.tex'
\usepackage{filecontents}
\begin{filecontents}{superfilex.tex}
\documentclass{report}

\begin{document}
\section{other}
\setcounter{equation}{14}% showcase only
\begin{equation}
x=a \label{otherdoc:x}
\end{equation}
\end{document}
\end{filecontents}
{
\makeatletter
\def\@writefile#1#2{}% does nothing and eats all arguments.
\input{superfilex.aux}
\makeatother
}
\begin{document}


\tableofcontents
\section{this}
\begin{equation}
x=b \label{thisdoc:x}
\end{equation}
\ref{thisdoc:x} and \ref{otherdoc:x}

\end{document}

对两个文件运行 latex。

可能会出现以下问题:

  • 写入 .aux 的所有内容(部分和公式标签除外)都可能引发错误
  • 可能会发生意外错误
  • 任何更改都可能引发错误

由于您隐藏了实际文件,因此这可能不适用于您的文件。在这种情况下,我可以被视为原理证明。

更安全的方法是使用@DavidCarlisle 的xr包:

\documentclass{report}
%%%put this in a "real" file
%%% run latex on 'superfilex.tex'
\usepackage{filecontents}
\begin{filecontents}{superfilex.tex}
 \documentclass{report}
 \begin{document}
  \section{other}
  \setcounter{equation}{14}% showcase only
   \begin{equation}
    x=a \label{otherdoc:x}
   \end{equation}
  \end{document}
\end{filecontents}
\usepackage{xr}
\externaldocument{superfilex}
\begin{document}


\tableofcontents
\section{this}
\begin{equation}
x=b \label{thisdoc:x}
\end{equation}
\ref{thisdoc:x} and \ref{otherdoc:x}

\end{document}

它应该适用于大多数常见的包/类,包括hyperref。再次确保您指向的是外部文档的正确路径。

相关内容