隔离“命名空间”内包含文件的引用

隔离“命名空间”内包含文件的引用

我想将一系列大部分独立的 latex 文件编译成一个文档,并且我希望能够假设每个文件\label都位于自己的“命名空间”中。理想情况下,我希望拥有的是:

文件1.tex:

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

This is \eqref{eq:a}

文件2.tex:

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

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

主要.tex:

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

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

这样做的目的是交叉引用并收集大量独立文献(但不需要花费数天时间)。

可以在多个 PDF 文件中进行交叉引用的解决方案也适合我,但我担心它会困难得多。

答案1

例如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}

xr您可以使用包(或xr-hyperhyperref)引用带有前缀的标签

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

(该选项xr-prefix是 的一个实验选项pdfpages

相关内容