对于我正在编写的文档的每一章,我都有一个单独的文件夹,并且所有文件夹都包含在一个公共超级文件夹中,并附带一个main.tex
将它们放在一起的文件。理想情况下,可以单独编译每一章,以节省编译和调试的时间。我希望以一种高效灵活的方式连接所有文件。
所以我通过使用standalone
主文件中的包来实现这一点,而且效果很好。最好我还能够在每个章节文件中引用其他章节的章节/公式/...,方法是包括它们的辅助文件并使用该xr
包进行交叉引用。但我在文件管理方面有点吃力。
这是一个最小main.tex
文件:
\documentclass[a4paper, twoside]{report}
\usepackage{standalone}
\begin{document}
\include{./Chapter1/Chapter1}
\include{./Chapter2/Chapter2}
\end{document}
这是一个最小Chapter1.tex
文件
\documentclass[a4paper, twoside]{report}
\usepackage{xr}
\externaldocument{../main}
\begin{document}
\chapter{Chapter 1}
\begin{equation}\label{eq1}
a^2 + b^2 = c^2
\end{equation}
\end{document}
对于 也类似Chapter2.tex
。但是,当我编译Chapter2.tex
对第 1 章的引用时,它不起作用,并且我收到警告
Package xr Warning:
No file ./Chapter1/Chapter1.aux
LABELS NOT IMPORTED.
我推测这是因为当通过 包含主文件时\externaldocument{../main}
,对活动目录的所有引用./
仍根据当前正在编译的文件的目录进行解释,即Chapter2.tex
。有什么优雅的方法可以解决这个问题,而不必诉诸绝对文件目录?我在 Linux 系统上工作。