从章节编译

从章节编译

我是 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}

相关内容