生成选定部分的 PDF

生成选定部分的 PDF

我正在为一本手册写一个委托章节,我想制作一份包含文档三个特定章节的 PDF 文件,发送给正在为同一本手册写不同章节的同事(这是因为有些问题跨越了两个章节,我们希望尽量减少重叠)。显然,我可以将相关章节复制粘贴到一个新的 tex 文件中,然后从那里生成 PDF 文件,但我很好奇是否有办法告诉 LaTeX“生成一个仅包含此 tex 文件中的 xxx、yyy 和 zzz 章节的 PDF 文件”。

我正在运行 TeX Live 2009、Emacs 23 和 Ubuntu 12.04。如果需要,我很乐意使用命令行。

编辑,因为有些人似乎有这样的想法:我知道\includeonly{},过去我曾将其用于一些大型文档的特定目的。我不想在这里使用它,因为本章不够长,不足以陷入为每个部分管理单独的 tex 文件的麻烦。我只是想知道是否有可能tex 文件,然后生成仅包含其中选定部分的 pdftex 文件。

答案1

最常用的方法之一是将主文件分成几个文件,然后使用命令将它们包含进去include

\documentclass{article}
% Preamble

\begin{document}
\include{chap1}
\include{chap2}
\include{chap3}
\include{chap4}
\end{document}

chap1.tex,……,chap4.tex是仅包含这些章节内容的 tex 文件(没有任何序言)。

如果你想要制作仅包含第 2 章和第 3 章的 PDF,你只需添加

\includeonly{chap2, chap3}

在您的序言中。这将需要多次编译,以获得正确的参考、超链接、目录等。

编辑 实现此目的的一种奇怪方法可能是使用包创建每个文件,而无需拆分主文件filecontents,即:

\documentclass{article}
% Preamble
\usepackage{filecontents}
\begin{filecontents*}{chap1.tex}
% The content of chapter 1
\end{filecontents*}
% The same goes for the other files.

\begin{document}
\include{chap1}
\include{chap2}
\include{chap3}
\include{chap4}
\end{document}

您将所有内容保存在一个tex文件中,这就是优势。

答案2

这是一个快速而肮脏的解决方案,但我真的不推荐它(;-))

使用命令\printthis[false]{%

在您不希望在文件中结束的代码部分之前,并在该部分结束后.pdf添加。它会隐藏内容,就像注释一样。}

\documentclass{book}

\usepackage{blindtext}
\usepackage{etoolbox}



\newcommand{\printthis}[2][true]{%
\ifbool{#1}{%
#2%
}{%
% Drop it!!!!!
}%
}% End of \printthis
%


\begin{document}

\chapter{First}
\blindtext

\printthis[false]{%
\chapter{Two}
\blindtext

\chapter{Three}
\blindtext

}% End of \printthis

\chapter{Four}
\blindtext


\end{document}

相关内容