这个问题是已经回答的定义相同的 \label 两次。我正在尝试找到一个解决方案来解决定义相同的 \label 两次,同时仍允许调用主文档的文档之间进行交叉引用。例如,查看以下三个嵌套文件及其输出:
第一个文件
\documentclass{article}
\usepackage{catchfilebetweentags}
\begin{document}
\section{FIRST FILE}
\subsection{FIRST FILE}\label{arrow}
\subsubsection{FIRST FILE \ref{hey}}
\ExecuteMetaData[example2]{tag}
Call the nested files again.
\ExecuteMetaData[example2]{tag}
\end{document}
第二个文件
\documentclass{article}
\usepackage{catchfilebetweentags}
\begin{document}
%<*tag>
\section{SECOND FILE}
\subsection{SECOND FILE}
\subsubsection{SECOND FILE \ref{hey}}
\ExecuteMetaData[example3]{tag}
%</tag>
\end{document}
第三个文件
\documentclass{article}
\usepackage{catchfilebetweentags}
\begin{document}
%<*tag>
\section{THIRD FILE}
\subsection{THIRD FILE \ref{arrow}}
\subsubsection{THIRD FILE}\label{hey}
%</tag>
\end{document}
得出以下结论:
我所寻找的是保持文件 1、2 和 3 之间交叉引用的能力,这工作得很好,直到我第二次调用文件 2,导致 1.1.1 和 2.1.1 中的引用为 5.1.1,而不是 3.1.1。如前所述,解决方案定义相同的 \label 两次解决了该问题,但是当文件\ref
a\label
位于其他文件中时却无法解决问题。