我收集了大约一百份短篇tex
文档(每份 1 或 2 页)。我想引用它们,不是通过它们的名称,而是通过编号。这个编号将根据编译顺序来定义。
最小示例:假设我的一份文档解释了李群,另一份文档讲述了我祖父的生平,我们假设他发明了李群。我想使用文件名而不是任意编号来引用每份文档。
因此如果运行第一的 pdflatex lie_group.tex
和然后 pdflatex grandfather.tex
,我想要lie_groups.pdf
:
和grandfather.pdf
:
相反,如果我grandfather.tex
先编译,则输出应该是:
和
问题是如何定义\magicFileNumber
并\magicReference
产生上述结果(撇开颜色不谈),方法如下:
% this is lie_groups.tex
\documentclass{standalone}
\begin{document}
\textbf{Lie groups} (\textit{This is Document~\magicFileNumber})
Lie groups were introduced by my grandfather whose life is described in Document~\magicReference{grandfather}.
\end{document}
和
% this is grandfather.tex
\documentclass{standalone}
\begin{document}
\textbf{My grandfather} (\textit{This is Document~\magicFileNumber})
He invented Lie groups, see Document~\magicReference{lie_groups}.
\end{document}
答案1
这是一个解决方案。我们需要创建一个文件 files.tex
文件.tex(文件按编译顺序排列)
\newcounter{mtfile}
\refstepcounter{mtfile}
\label{liegroups}
\refstepcounter{mtfile}
\label{grandfather}
\refstepcounter{mtfile}
\label{otherfile}
或者
\newcounter{mtfile}
\newcommand*{\runpdflatex}[1]{%
\refstepcounter{mtfile}\label{#1}}
\runpdflatex{liegroups}
\runpdflatex{grandfather}
\runpdflatex{otherfile}
并将其输入到每个文件中。
祖父.tex
\documentclass{article}
\input{files.tex}
\begin{document}
\textbf{My grandfather} (\textit{This is Document~\ref{grandfather}})
He invented Lie groups, see Document~\ref{liegroups}.
\end{document}
请注意,我们不需要复制所有文件。