我正在制作数学公式集,但文件太大太长了!
所以我想知道是否可以制作一个用于乘法的 .tex 文件和一个用于除法的 .tex 文件。然后制作第三个 .tex 文件,我将在其中导入其他两个文件,并且仍然可以制作目录?假设每个 .tex 文件也有多个部分和子部分
答案1
为了有选择地包含文档的部分内容并仍然获得正确的页码和目录,您可以使用\include
和\includeonly
。您的主文件应如下所示:
\documentclass{whatever}
% put preamble here
% \includeonly{mult}
% \includeonly{div}
% \includeonly{mult,div}
\begin{document}
\tableofcontents
\include{mult}
\include{div}
\end{document}
文件mult.tex
和div.tex
应该只包含相应的文本和公式,但不包含序言(无documentclass
、无\begin{document}
等)。
请注意,\include
始终会开始一个新页面。这是获得一致布局和页码所必需的。另一方面,\input
不会插入新页面,但您无法获得正确的目录,并且当您注释掉其中一个文件时页码会发生变化。
答案2
对您的项目应用“分而治之”的方法——将您的项目分成几个较小的输入文件——是一种很好的做法。
除此之外,如果您可以编译每个较小的输入文件,以便您可以看到您关注的结果,那就更好了。当然,与编译整个项目相比,编译每个较小的输入文件所需的时间更短。
以下模拟您的情况。假设您有 2 个较小的输入文件,分别名为dif.tex
和int.tex
。两者都可以按如下方式进行编译。
dif.tex
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\section{Definition}
\[
\lim_{h\to 0}\frac{f(x+h)-f(x)}{h} = f'(x)
\]
\section{Partial differentiation}
\[
\textrm{d}(AB) = B\,\textrm{d}A +A\,\textrm{d}B
\]
\end{document}
int.tex
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\section{Definite integral}
\[
\int_a^b f(x)\, \textrm{d}x = F(b) - F(a)
\]
\section{Partial integral}
\[
\int A\, \textrm{d}B = AB -\int B \, \textrm{d}A
\]
\end{document}
现在,您可以从主输入文件(称为main.tex
)导入两个较小的文件,如下所示。请注意,我们需要docmute
在中加载main.tex
。此包的目的是只导入和\input
之间的内容。\begin{document}
\end{document}
main.tex
\documentclass{article}
\usepackage{docmute}
\usepackage{amsmath}
\begin{document}
\input{dif}
\input{int}
\end{document}
根据补充评论进行更新
如果你的项目结构如下,
.../main/main.tex
.../main/dif/dif.tex
.../main/int/int.tex
需要main.tex
稍微修改如下,
\documentclass{article}
\usepackage{docmute}
\usepackage{amsmath}
\begin{document}
\input{dif/dif}
\input{int/int}
\end{document}
答案3
你可以将你的材料组织到三个单独的文件中:
文件
mult.tex
:仅包含与乘法相关的材料的主体,没有序言,没有\begin{document}
,也没有\end{document}
。文件
div.tex
:仅包含与该部门相关的材料正文,无序言,无\begin{document}
,也无\end{document}
。文件
driver.tex
,组织如下:\documentclass[<options, if any>]{article} % or `report`, or `book`, etc ... % preamble material, such as page size, etc \begin{document} \tableofcontents \input mult \clearpage \input div \end{document}
如果您只想编译mult
材料,或者只想编译div
材料,请注释掉其他\input
语句之一,并确保重新编译两次以传播所有更改(包括目录)。