隔離「命名空間」中包含的檔案的引用

隔離「命名空間」中包含的檔案的引用

我想將一系列大部分獨立的乳膠文件編譯成一個文檔,我希望能夠假設每個文件都\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-hyper如果與 結合使用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}

(此選項xr-prefix為 的實驗選項pdfpages

相關內容