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