我经常需要在文档 B(致编辑的信,解释我如何修改稿件)中包含文档 A(我的主要稿件)中的文本片段。这两个文档都是成熟的 Latex 文档,因此 \include 不是一个选项。看来,一般来说,\catchfilebetweentags
这是可行的方法。我了解如何使用标签将文本块从 A“导入”到 B。但是,导入的文本不会显示计数器,如编号部分或图号。相反,它显示 ??。
我发现了一个相关的问题,但我不确定如何将答案应用到我的问题中: “\仅输入文件的一部分”并继续编号
有没有办法“导入”正确的计数器数字?谢谢您的帮助!
主要“手稿” main.tex
\documentclass{article}
\begin{document}
\section{Introduction} \label{introsection}
\begin{figure} \label{myfigure}
\caption{An empty figure.}
\end{figure}
%<*tag>
This is section \ref{introsection} of the main file. We present the results in Figure \ref{myfigure}.
%</tag>
\end{document}
“致编辑的信”
\documentclass{article}
\usepackage{catchfilebetweentags} % load the package
\newcommand{\loadRevision}[1]{ % define command to load figures
\ExecuteMetaData[main.tex]{#1} % call the package macro to
}
\begin{document}
The revised Introduction now reads as follows:
\loadRevision{tag}
\end{document}
答案1
由于包含引用,因此无需以其他方式存储计数器值,因为这些值已经存储。使用\usepackage{xr}
(或 withhyperref
\usepackage{xr-hyper}
检索“计数器”值(而不是引用内容)
\externaldocument{main}
这是“信件”文件:
\documentclass{article}
\usepackage{catchfilebetweentags} % load the package
\usepackage{xr}
\externaldocument{main}
\newcommand{\loadRevision}[1]{ % define command to load figures
\ExecuteMetaData[main.tex]{#1} % call the package macro to
}
\begin{document}
The revised Introduction now reads as follows:
\loadRevision{tag}
\end{document}