Esta questão é uma extensão da já respondidadefinindo o mesmo \label duas vezes. Estou tentando encontrar uma solução que resolva o problema descrito emdefinindo o mesmo \label duas vezes, ao mesmo tempo que permite referências cruzadas entre documentos chamados no documento principal. Por exemplo, veja os três arquivos aninhados a seguir e suas saídas:
Primeiro arquivo
\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}
Segundo arquivo
\documentclass{article}
\usepackage{catchfilebetweentags}
\begin{document}
%<*tag>
\section{SECOND FILE}
\subsection{SECOND FILE}
\subsubsection{SECOND FILE \ref{hey}}
\ExecuteMetaData[example3]{tag}
%</tag>
\end{document}
Terceiro arquivo
\documentclass{article}
\usepackage{catchfilebetweentags}
\begin{document}
%<*tag>
\section{THIRD FILE}
\subsection{THIRD FILE \ref{arrow}}
\subsubsection{THIRD FILE}\label{hey}
%</tag>
\end{document}
O que dá o seguinte:
O que procuro é manter a capacidade de referência cruzada entre os arquivos 1, 2 e 3, o que funciona perfeitamente até que eu chame o arquivo 2 uma segunda vez, resultando nas referências em 1.1.1 e 2.1.1 como 5.1. 1 em vez de 3.1.1. Como mencionado antes da solução emdefinindo o mesmo \label duas vezesresolve o problema, mas não quando os arquivos \ref
estão \label
em outros arquivos.