Изолировать ссылки включенных файлов в «пространстве имен»

Изолировать ссылки включенных файлов в «пространстве имен»

Я хочу скомпилировать большую серию в основном независимых файлов 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}

main.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)

Связанный контент