使用多层嵌套文件定义两次相同的 \label

使用多层嵌套文件定义两次相同的 \label

这个问题是已经回答的定义相同的 \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 两次解决了该问题,但是当文件\refa\label位于其他文件中时却无法解决问题。

相关内容