是否可以编译一份 LaTeX 文档但只包含一个部分及其相关的表格和图表?
我有两个案例可以证明这一点:
我想向同事提供论文的方法部分。
我想要一个文档的多个版本,其中包含主文档各部分的不同组合。
我知道我可以将每个部分放在单独的文件中,然后拥有单独的主文件 - 很可能我会对情况 2 这样做,因为它是最终文档结构不可或缺的一部分,但至少对于情况 1,我希望有一种方法可以只编译一个部分。
谢谢!
答案1
我会看看子文件第 1 部分的 LaTeX 包。它提供了很大的灵活性,并且省去了在构建文件之前更改文件的麻烦。
本质上,您可以拥有主文档 Paper.tex:
% Preamble
\usepackage{subfiles}
% More preamble
\begin{document}
\subfile{Methods}
\subfile{AnotherSection}
\subfile{OtherStuff}
\end{document}
然后每个其他部分看起来有点像这样:
\documentclass[Paper.tex]{subfiles}
\begin{document}
\section{Methods}
\end{document}
然后,您可以在各个部分(例如 Methods.tex)上运行 LaTeX,它将使用主根文档中的序言进行编译。
为了解决第 2 部分,我会做一些类似下面的事情,我刚刚用上面的例子进行了测试。
\documentclass[Paper.tex]{subfiles}
\begin{document}
\subfile{Methods}
\subfile{AnotherSection}
\end{document}
这意味着你只需要维护一个前言,并且避免了大量的根文件,即使对于涉及多个子文件的每个文档版本,您都会有一个最小化的根文件。
答案2
对于问题 1:如果你不想改变文档的结构并将每个部分放入单独的文件中,则可以使用
\usepackage{comment}
\excludecomment{toexclude} % you can name the comment as you wish
在序言中,并用
\begin{toexclude}
...
\end{toexclude}
如果你想再次编译所有内容,只需替换
\excludecomment{toexclude}
经过
\includecomment{toexclude}
答案3
对于情况 1:
创建一个文件methods.tex
并将你的方法放入其中:
\section{Methods}
The methods employed here...
将文件的剩余部分放入文件中rest.tex
。
在主文档的文本位置放入
\include{methods}
\include{rest}
最后,在你的序言中
\includeonly{methods}
这个解决方案的缺点是方法部分将开始一个新页面。
您也可以使用 PDF 实用程序从 PDF 中删除非方法页面。或者您可以将整篇论文发送给他们,并告诉他们只需阅读方法部分。:-)