我想用ut-thesis
包来组织一份类似论文的文档,使其包含.tex
如下主文件:
\documentclass{ut-thesis}
\degree{X}
\department{X}
\gradyear{X}
\author{X}
\title{X}
\setcounter{tocdepth}{2}
\flushbottom
\begin{document}
\begin{preliminary}
\maketitle
\begin{abstract}
\end{abstract}
\tableofcontents
\end{preliminary}
\include{chap1}
\addcontentsline{toc}{chapter}{Bibliography}
\bibliographystyle{plain}
\bibliography{thesis}
\end{document}
哪里chap1.tex
:
\chapter{Introduction}
This chapter is your first plan...
现在,假设我想定义一些命令或将一些包添加到我的章节文件中。例如,amsthm
除了以下命令之外,我可能还需要添加包:
\renewcommand{\qedsymbol}{$\blacksquare$}
\newtheorem{thm}{Theorem}
\newtheorem{lem}{Lemma}
\newtheorem{prop}[thm]{Proposition}
\newtheorem{cor}{Corollary}
\newtheorem{conj}{Conjecture}
\theoremstyle{definition}
\newtheorem{defn}{Definition}
\newtheorem{exmp}{Example}
\newtheorem{rem}{Remark}
如果我在之前添加任何内容chapter{}
,就会引发以下错误:
Can be used only in preamble. \usepackage
如何将包和命令导入章节文件?
答案1
一般来说,人们会在序言中添加包并定义整个文档所共有的宏,这发生在文档环境开始之后\documentclass
和之前。\begin{document}
其中一个原因是一些使用 的软件包的行为\AtBeginDocument
,它将标记附加到在文档环境开始时展开的标记列表中,如下所述这里。
对此有一些例外,但这些例外在文档和有关类(例如)memoir
和包(例如)的讨论中有所涵盖cmap
。在这种情况下,必须使用\RequirePackage
,这是一个与这个问题有些无关的主题这里。
\include
有关和之间的区别,请\input
参阅本文。同样,您通常会将文档范围内使用的通用宏放入序言中。这可以防止意外情况,即您可能处于范围之内(由分组标记{ }
、同义词\bgroup ... \egroup
和另外创建\begingroup ... \endgroup
)并定义宏等。当您离开该范围时,除非您使用\global
,否则该定义将消失。还有其他注意事项。
按照通常的方式做事有助于避免不必要的错误,这不仅包括文档编译停止的情况,还包括编译成功但可能出现细微和意外错误的情况。