我正在准备一篇包含方程式、图表和表格的论文。我已经阅读了有关合并 LaTeX 文件的内容,但问题仍然存在。我创建了主文件并将序言、章节文件和参考书目导入主文件。如果没有所需的包,则不会处理包含表格的章节文件,但声明的包仅在序言文件中,而不在章节文件中。另一方面,如果我在章节文件中声明包,编译器会给出错误,说我不能在之前声明包\documentclass{}
。但是,我只能使用一个\documentclass{}
,对吗?如何解决这个问题?请帮帮我。
答案1
您可以在主文件中插入子文档\input{subdocument}
。
您还可以使用\include{subdocument}
,这大致相当于\clearpage \input{subdocument} \clearpage
(参见何时应使用 \input 和 \include?)。
无论如何,subdocument.tex
任何一段 LaTeX 代码如下:
Some \textcolor{red}{text}
它可能是主要文档内容的任何部分,或序言,但不是独立文档,因为:
\documentclass{article}
\usepackage{xcolor}
\begin{document}
Some \textcolor{red}{text}
\end{document}
这是因为\input
这就像将一个代码粘贴到另一个代码中,并且您不能拥有一个包含两个\documentclass
声明、两个序言等的文档。
但是,您可以跳过这些不必要的代码,只需加载包standalone
或docmute
在主文件的前言中执行即可:
这是主文件的 MWE:
\documentclass{article} % This in the main.tex file
\usepackage{standalone} % load only in the main file
% \usepackage{docmute} % alternative to standalone
% Tip: put the rest of the preamble in 'preamble.tex'
% so you can reuse in standalone subdocuments
\input{preamble}
\begin{document}
\maketitle
\tableofcontents
\input{SectionOne} % Load standalone SectionOne.tex
\input{SectionTwo} % Load "\section{Two} Some text ..."
\section{Three}
Lore \input{ipsum} % Load simple text of ipsum.tex
\end{document}