Isole referências de arquivos incluídos em um "namespace"

Isole referências de arquivos incluídos em um "namespace"

Quero compilar uma grande série de arquivos látex, em sua maioria independentes, em um único documento e gostaria de poder assumir que cada um \labelvive em seu próprio "espaço para nome". Idealmente, o que eu gostaria de ter é:

arquivo1.tex:

\begin{equation}
  \label{eq:a}
  a+b
\end{equation}

This is \eqref{eq:a}

arquivo2.tex:

\begin{equation}
  \label{eq:a}
  a+2b
\end{equation}

This is a very different \eqref{eq:a}

principal.tex:

\include{file1.tex}
\include{file2.tex}

I would like to reference (with hyperref) both \ref{eq:[email protected]} and \ref{eq:[email protected]}

O objetivo disso é cruzar referências e reunir uma grande coleção de documentos independentes (mas não gastar dias fazendo isso).

Uma solução em que a referência cruzada funcionasse em vários arquivos PDF também seria adequada para mim, mas temo que seria muito mais difícil.

Responder1

Por exemplo com document.tex:

\documentclass{article}
\usepackage{hyperref}

\begin{document}

\begin{equation}
  \label{eq:a}
  a+2b
\end{equation}

This is a very different \ref{eq:a}

\end{document}

você pode referenciar o rótulo com um prefixo usando o xrpacote (ou xr-hyperse combinado com hyperref)

\documentclass{article}

\usepackage{xr-hyper}
\usepackage{hyperref}

\externaldocument[doc-]{document}

\usepackage{pdfpages}

\begin{document}

\includepdf[xr-prefix=doc-]{document}


bla \ref{doc-eq:a}

\end{document}

(a opção xr-prefixé uma opção experimental de pdfpages)

informação relacionada