如何将一个文档包含到另一个文档中?

如何将一个文档包含到另一个文档中?

我有两个文档 A 和 B。它们都是独立的文档。但文档 A 还必须包含文档 B。

现在如果我使用\include{B}我会收到以下错误:

! LaTeX Error: Can be used only in preamble.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.1 \documentclass
                  [11pt]{article}
? 

那么我怎样才能强制将文档 B 与文档 A 的“样式”和“模板”一起包含呢?

答案1

将内容( 之间的部分)剪切\begin{document}...\end{document}B.tex一个新的文件中B-content.tex

更改B.tex为:

\documentclass{...}
% your preamble here
\begin{document}
\include{B-content}
\end{document}

然后\include{B-content}放入A.tex

答案2

您可以使用standalonedocmutesubfiles包让 LaTeX 忽略第二个前导码。

只需将standalone包加载到主文件或文档中\input即可\include。如果要包含的文档仅包含一张图片,并且该图片也应单独编译,那么这种方法就很好。在这种情况下,每个图片文件都有一个主文件会很烦人。

% A.tex
\documentclass{article}
\usepackage{standalone}
% your preamble here
\begin{document}
% ...
\input{B}% or \include
% ...
\end{document}
% B.tex (for normal text)
\documentclass{article}
% your preamble here
\begin{document}
% your B content here
\end{document}

或者如果 B 应该只保存一些图表(注意不同的类):

% B.tex
\documentclass{standalone}
% your preamble here
\begin{document}
% your diagram code here
\end{document}

答案3

您可以尝试使用该类combine,但请注意,这不是 LaTeX 的设计目的!

我还没有尝试过的另一种方法是使用newclude包并编写

\includedoc{fileB.tex}

后一种方法假定您需要的所有包等都由第一个文件加载。

答案4

据我所知,include 只是在使用文本的地方插入文本。因此,您不能在文档 B 中添加序言。快速浏览一下,我会创建一个包装文档 C,并在\include{B}编辑 B 后在两者中使用,以便它只包含您想要的输出文本

相关内容