複数レベルのネストされたファイルで同じ \label を 2 回定義する

複数レベルのネストされたファイルで同じ \label を 2 回定義する

この質問は既に回答した質問の延長です同じ\labelを2回定義する私は、で説明されている問題を解決する解決策を見つけようとしています。同じ\labelを2回定義する同時に、メイン ドキュメントに呼び出されるドキュメント間の相互参照も許可されます。たとえば、次の 3 つのネストされたファイルとその出力を参照してください。

最初のファイル

\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}

2番目のファイル

\documentclass{article}
\usepackage{catchfilebetweentags}

\begin{document}

%<*tag>
\section{SECOND FILE}

\subsection{SECOND FILE}

\subsubsection{SECOND FILE \ref{hey}}

\ExecuteMetaData[example3]{tag}
%</tag>

\end{document}

3番目のファイル

\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を2回目に呼び出すまでは問題なく機能しますが、その結果、1.1.1と2.1.1の参照が3.1.1ではなく5.1.1になります。前述のように、解決策は同じ\labelを2回定義する問題は解決しますが、ファイルが他のファイル内に\refある場合は解決しません。\label

関連情報