![章节间交叉引用](https://linux22.com/image/333695/%E7%AB%A0%E8%8A%82%E9%97%B4%E4%BA%A4%E5%8F%89%E5%BC%95%E7%94%A8.png)
我正在写一篇论文。在论文的主文件中,我包含了\usepackage{xr}
。然后在第 2 章中,我包含了\externaldocument{./Chapters/Chapter1}
获取第 1 章方程式的权限。但我做不到。有人能在这方面帮助我吗?
答案1
该xr
包并不是为了从包含的外部文件中获取引用——它可以工作,但它会抱怨多重定义的标签(除非\externaldocument
使用可选参数)。
最好使用\include
或\input
。这样,文件的内容就被包括在内,而且引用也是正确的!
\documentclass{book}
\begin{document}
In \ref{eq:first} and \ref{eq:second} we will see that
\include{chapterone}
\include{chaptertwo}
\end{document}
chapterone.tex
:
\chapter{First chapter}
\begin{equation}
E=mc^2 \label{eq:first}
\end{equation}
chaptertwo.tex
\chapter{Second chapter}
\begin{equation}
c^2 = a^2 + b^2 \label{eq:second}
\end{equation}
其他方法(但不太有用!):
\documentclass{book}
\usepackage{xr}
\externaldocument[Aext]{chapterone}
\externaldocument[Bext]{chaptertwo}
\begin{document}
In \ref{eq:first} and \ref{eq:second} we will see that
\include{chapterone}
\include{chaptertwo}
\end{document}
答案2
\RequirePackage{filecontents}
\begin{filecontents*}{chapter1.tex}
\chapter{foo}\label{chap:foo}
\end{filecontents*}
\begin{filecontents*}{chapter2.tex}
\chapter{bar}\label{chap:bar}
\end{filecontents*}
\documentclass{book}
\begin{document}
\input{chapter1}
\input{chapter2}
See chapter \ref{chap:foo} and \ref{chap:bar}
\end{document}