![从多个 PDF 或 Tex 制作一个 PDF 文件?](https://linux22.com/image/283112/%E4%BB%8E%E5%A4%9A%E4%B8%AA%20PDF%20%E6%88%96%20Tex%20%E5%88%B6%E4%BD%9C%E4%B8%80%E4%B8%AA%20PDF%20%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我正在创建包含十几个不同实验室的实验室手册。我想将每个实验室手册创建为可编译的独立文档,并将main.tex
它们按顺序放在一个文件中。
我研究了\input
、\include
和\import
命令。\input
显然不是我想要的。\include
由于前导命令不在前导中,所以没有起作用。答案可能在\import
某个地方,但我不知道如何使用它。(如果有人能告诉我就太好了。)
另外,我可以将 PDF 与 shell 脚本合并,但如果这是答案,那么我不确定如何合并 PDF。
答案1
您可能正在寻找subfiles
包。您有一个主 tex 文件(main.tex
例如),其中包含您想要的每个文件中的完整前言。在这里,您可以选择您喜欢的文档类并使用包子文件:\usepackage{subfiles}
。在和之间\begin{document}
,\end{document}
您可以使用\subfile{chapter1.tex}
包含chapter1.tex
。
在您的单独文件(例如chapter1.tex
,,)中写入以下内容:。这样,您可以从每个章节创建单独的 pdf(例如,只需编译文件),并且您可以创建chapter2.tex
一个。chapter3.tex
\documentclass[main.tex]{subfiles}
chapter1.tex
main.pdf
一个简单的例子:
主文本
\documentclass{report}
\usepackage{subfiles}
\begin{document}
\tableofcontents
\subfile{chapter1.tex}
\end{document}
第一章.tex
\documentclass[main.tex]{subfiles}
\begin{document}
Here comes some text
\end{document}
答案2
我发现这是有效的:
\documentclass{report}
\usepackage{pdfpages}
\begin{document}
\includepdf[pages=-]{doc1.pdf}
\includepdf[pages=-]{doc2.pdf}
%... continue for all docs
\end{document}
这会按照指定的顺序将您的文档插入到一个文件中。
答案3
命令\input
和\include
适用于将单个 TeX 文档拆分为多个文件,但合并后的文本应该看起来像一个文档(即,只有一个序言,并且定义从一个文本延续到下一个文本)。由于您有多个独立的文件,这些命令不适合您。
你没有完全表达清楚你想要什么,所以这里有两种情况:
a) 您只想将 PDF 绑定到单个 PDF 中,而无需进行任何更改。在这种情况下,pdfpages
是您的好朋友。创建一个简单的文档,使用 加载pdfpages
并仅包含每个组件 pdf \includepdf{docname}
。请参阅pdfpages
文档以获取更多详细信息和选项(例如部分纳入)。
b) 您想要合并独立文档并将它们编译为单个 TeX 文档。在这种情况下,请docmute
使用这个答案。
答案4
如果您创建一个主文件,其中列出了文档类以及您想要在每个独立文档中使用的所有包(假设您使用相同的格式等),那么您可以使用 \include 命令来调用任何或所有独立部分。然后,您可以在主文件中注释掉您不想包含在最终 PDF 中的各个部分。
这是一个 MWE 示例。
文件名:00.master.tex
\documentclass[12pt,a4paper]{report}
\begin{document}
\pagenumbering{roman}
\include{01.title}
\include{02.contents}
\pagenumbering{arabic}
\include{03.labreport1}
\include{04.labreport2}
\include{05.labreport3}
\end{document}
文件名:01.title.tex
\label{01.title}
\begin{titlepage}
\begin{center}
\vspace*{1in}
{\LARGE Your title here}
\par
\vspace{1.5in}
\end{center}
\end{titlepage}
文件名:02.contents.tex
\label{02.contents}
\tableofcontents
文件名:03.labreport1.tex
\label{03.labreport1}
\chapter{Your Chapter 1 Title Here}
\section{Your Section Here}
\subsection{Your Sub-section Here}
文件名:04.labreport1.tex
\label{04.labreport2}
\chapter{Your Chapter 2 Title Here}
\section{Your Section Here}
\subsection{Your Sub-section Here}
文件名:05.labreport1.tex
\label{05.labreport3}
\chapter{Your Chapter 3 Title Here}
\section{Your Section Here}
\subsection{Your Sub-section Here}
对于您不想包含的任何部分,只需在主文件中该行的开头放置一个 % 符号,该主文件包含您想要跳过/忽略的部分的 \include 命令。
我希望这能有所帮助。