我是 LaTeX 新手。我创建了一个新文档,其结构如下
\documentclass{scrreprt}
\usepackage[english]{babel}
\usepackage{appendix}
% ... %
\begin{document}
\maketitle
\tableofcontents
\input{./content/1-Introduction}
% ... %
\input{./content/7-Appendix}
\end{document}
当我从“主”文件编译它时,一切正常。但是当我从我的一个章节文件编译它时,它显示:
! Undefined control sequence.
l.1 \chapter
! LaTeX Error: Missing \begin{document}.
一章如下所示:
\chapter{My Chapter}
% ... %
\section{...}
% ... %
答案1
每个 LaTeX 文档必须以 开头\documentclass
、包含\begin{document}
并以 结尾\end{document}
。您的章节文件没有这些内容,因此它们无法自行编译。
但是如果在主文件中使用\include
而不是,那么您可以在序言中使用来选择要编译的部分。\input
\includeonly
比如\include{chapters/first} \include{chapters/second}
在主文档中使用,然后\includeonly{chapters/first}
在序言部分添加一行,并编译主文档。
答案2
这显示了\includeonly
方法,仅指定部分文件,尽管“所有”文件均在文档中以\include{chapter1.tex}
等形式给出。
\documentclass{scrreprt}
\usepackage[english]{babel}
\usepackage{appendix}
\usepackage{blindtext}
\usepackage{filecontents}
\begin{filecontents}{chapter1.tex}
\chapter{This is chapter one}
\blindtext
\end{filecontents}
\begin{filecontents}{chapter2.tex}
\chapter{This is chapter two}
\blindtext
\end{filecontents}
\begin{filecontents}{chapter3.tex}
\chapter{This is chapter three}
\blindtext
\end{filecontents}
\title{Some title}
% ... %
\includeonly{chapter1,chapter2}
\begin{document}
\maketitle
\tableofcontents
\include{chapter1}
\include{chapter2}
\include{chapter3}
%\input{./content/1-Introduction}
% ... %
%\input{./content/7-Appendix}
\end{document}
答案3
您应该将每一章都写在一个单独的文件中(\chapter
之后立即发布),然后在主文件中\begin{document}
加载包:此包将抑制您在章节文件之前包含的所有内容。docmute
\end{document}
\begin{document}
\input
例子:
ch01.tex:
\documentclass{book}
\begin{document}
\chapter{Chapter One}
...text...
\end{document}
ch02.tex:
\documentclass{book}
\begin{document}
\chapter{Chapter Two}
...text...
\end{document}
主要.tex:
\documentclass{book}
\usepackage{docmute}
\begin{document}
\input{ch01}
\input{ch02}
\end{document}