将论文章节分成单独的文件以提高编译速度

将论文章节分成单独的文件以提高编译速度

我正在使用类似以下模板撰写论文这个模板。主文件 (dissertation.tex) 用于\include{}包含每个章节。我有一个大章节(超过 60 页,包含 70 张图片),需要三十多秒才能编译和查看。我想将这一章拆分为两个文件,chapter4part1 和 chapter4part2,这样我就可以只编译和查看我正在处理的部分。

我曾尝试使用\includeonly{}\input{}并且subfiles包,但无法比原始包更快地进行编译和查看。有没有办法构造我的文件和命令,以便快速编译和查看 chapter4part1?

编辑:澄清问题,说明我想将一个章节分成两个文件。

答案1

你没有提到你有什么样的论文、图片等等,所以我只好按照我得到的内容去做了。我会将这两个部分放在环境中,然后\excludecomment使用comment包。

在此处输入图片描述

\documentclass{article}

\newenvironment{partone}{}{}
\newenvironment{parttwo}{}{}

\usepackage{comment}
%\excludecomment{partone}
\excludecomment{parttwo}


\usepackage{filecontents}
\begin{filecontents*}{mychapter.tex}
\begin{partone}
Part one of your thesis
\end{partone}
\begin{parttwo}
Part two
\end{parttwo}
\end{filecontents*}

\begin{document}
Tableofcontents
\input mychapter.tex
Chapter 2,3,4,5

\end{document}

为了完整起见,我还将包含一些用于外部化图像的内容(如问题评论中所述)。下面的图片没有任何意义。我只是想使用至少需要一些编译时间的东西。您需要使用pdflatexshell escape 选项运行(或论文所需的任何引擎)才能使用此方法。

\documentclass{article}

\usepackage{tikz}
\usepackage{tikz-3dplot}
\usetikzlibrary{external}
\tikzexternalize

\begin{document}
\tdplotsetmaincoords{65}{155}
\begin{tikzpicture}
    [scale=5,
        tdplot_main_coords,
        axis/.style={->,black,very thin},
        vector/.style={-stealth,black,thick },
        curve/.style={black,thin}]
    \coordinate (O) at (0,0,0);
    \draw[axis] (0,0,0) -- (1.2,0,0) node[anchor=north east]{$x$};
    \draw[axis] (0,0,0) -- (0,1.2,0) node[anchor=north west]{$y$};
    \draw[axis] (0,0,0) -- (0,0,1.2) node[anchor=south]{$z$};
    \draw[axis,dashed] (0,0,0) -- (-1.2,0,0) node[anchor=south west]{};
    \draw[axis,dashed] (0,0,0) -- (0,-1.2,0) node[anchor=south east]{};
    \tdplotsinandcos{\sintheta}{\costheta}{45}
    \draw[vector,green!80!black] (0,0,0) -- (.62*\costheta,.62*\sintheta,0) node[above=.27in,right=.03in] {\Large $\rho$};
    \tdplotsetthetaplanecoords{0}
    \tdplotdrawarc[curve,tdplot_rotated_coords,thick,magenta!80,<-]{(O)}{1}{0}{90}{}{}
    \node[magenta!80] at (.8,0,.8) {\Large$\phi$};
    \foreach \angle in {0,30,...,180}
    {
        \tdplotsinandcos{\sintheta}{\costheta}{\angle}%
        \coordinate (P) at (0,0,.62*\sintheta);
        \tdplotdrawarc[curve,very thin]{(P)}{.62*\costheta}{0}{180}{}{}
    }
    \tdplotsinandcos{\sintheta}{\costheta}{180}
    \tdplotdrawarc[curve,thick,cyan!80,->]{(P)}{.8*\costheta}{-90}{260}{}{}
    \node[cyan!80] at (.7,.7,0) {\Large$\theta$};
    \foreach \angle in {0,30,...,360}
    {
        \tdplotsetthetaplanecoords{\angle}
        \tdplotdrawarc[curve,tdplot_rotated_coords,very thin]{(O)}{.62}{0}{90}{}{}
    }
\end{tikzpicture}

\end{document}

答案2

你看过了吗http://www.howtotex.com/tag/faster-latex/

我认为您已经尝试了“第一部分”中的所有内容,因此您应该查看“第四部分”。

我猜想编译速度很大程度上取决于所包含的软件包。通过编译文档的部分内容,您还可以包含所有需要的软件包。因此,这样做static可以提高文档的编译速度。

编辑:如果您可以的话,您也可以使用draftmode-\documentclass[draft]来删除图片。参见:草稿模式有什么变化?

相关内容