dif.tex

dif.tex

我正在制作数学公式集,但文件太大太长了!
所以我想知道是否可以制作一个用于乘法的 .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.texdiv.tex应该只包含相应的文本和公式,但不包含序言(无documentclass、无\begin{document}等)。

请注意,\include始终会开始一个新页面。这是获得一致布局和页码所必需的。另一方面,\input不会插入新页面,但您无法获得正确的目录,并且当您注释掉其中一个文件时页码会发生变化。

答案2

对您的项目应用“分而治之”的方法——将您的项目分成几个较小的输入文件——是一种很好的做法。

除此之外,如果您可以编译每个较小的输入文件,以便您可以看到您关注的结果,那就更好了。当然,与编译整个项目相比,编译每个较小的输入文件所需的时间更短。

以下模拟您的情况。假设您有 2 个较小的输入文件,分别名为dif.texint.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语句之一,并确保重新编译两次以传播所有更改(包括目录)。

相关内容