LaTeX 文档类

什么是 LaTeX 中的 documentclass?

LaTeX 定义了一些每个文档作者必须遵守的规则。它还定义了源文件的结构,本质上是一个排版程序。根据这种结构,文档源代码必须包含一部分负责文档内容本身——正文——该部分被一对命令包围:\begin{document}\end{document}。LaTeX 会忽略正文结束后出现的任何内容。位于 \begin{document} 之前的源代码部分称为 前导区(preamble)。

通常,前导区中的第一条命令必须是 \documentclass,它接受一个必需参数,即 文档类 的名称。文档类本身是一组格式化参数、版面度量、宏等,适用于并有助于编写某种类型的文档,并以单一名称汇集。在本文中,我们将讨论 LaTeX 预定义 的内置文档类,并展示它们的用法、区别和相似之处。我们还会提及 \documentclass 命令可以接受的一些可选参数,它们用于自定义文档的外观。

预定义的 LaTeX 文档类

标准 LaTeX 包含以下文档类:

LaTeX
document
class
Usage
articleLaTeX article 类用于创建期刊文章、简短报告、程序文档,以及一般任何不需要复杂章节划分的短文档。
reportLaTeX report 类用于包含多个章节的长篇文章(类似小型书籍和学位论文)。
book用于排版正式的书籍。它包含所有适用于印刷书籍的排版标准:章节与部、两种页面风格、前言、后记等。
slides可用于制作幻灯片,尽管还有功能更强大的外部宏包 beamer
letter该文档类用于撰写信件。

前两个文档类是最基础的。因此,如果不确定需要哪种类,请先使用 article

report 类与之非常相似。与 article 的主要区别在于,你可以使用 \chapter 命令插入章节,而 article 文档类并未定义这样的章节单元。

LaTeX book

在排版标准中,书籍拥有前言(front matter)和后记(back matter),这正是书籍与报告或文章的主要区别。一本书的前言通常包括半标题页、正式标题页、版权页、前言或序言以及目录。非必需的内容还有致谢、献词、插图列表、表格列表、同系列其他书籍列表以及其他编辑和宣传内容。后记通常包括索引,可能还有后记、致谢、参考文献、版权页等。

book 文档类为你提供了生成上述逻辑结构的命令,而其他文档类则无法提供这些工具。不过,不同出版社通常会提供带有额外命令的宏包,以便根据其特定样式排版。

前言、主体和后记的命令

主体(main matter)指包含书本正文的部分,从第一章或第一部开始,到附录结束。前言、主体和后记分别通过 \frontmatter\mainmatter\backmatter 命令启动。

在标准 book 类中,前言页面使用罗马数字编号,而主体和后记页面使用阿拉伯数字编号。

\chapter 命令在前言和后记中不会生成章节编号,但会在目录中创建条目。这通常用于创建前言或致谢章节。在此类章节中,其他分节命令(如 \section*\subsection)只能使用带星号的形式。

使用 LaTeX book 类的示例

 1% Book document class
 2\documentclass{book}
 3
 4\title{My first book}
 5\author{Me}
 6\date{\today}
 7
 8\begin{document}
 9
10\maketitle
11
12\frontmatter
13\chapter{Dedication}
14\chapter{Copyright}
15\chapter{Acknowledgements}
16
17\tableofcontents
18
19\listoffigures
20\listoftables
21
22\mainmatter
23\part{The first part}
24\chapter{Chapter one}
25\chapter{Chapter two}
26
27\part{Last part}
28\chapter{Chapter three}
29
30\appendix
31\chapter{First and only appendix}
32
33\backmatter
34\chapter{Bibliography}
35\chapter{Other titles in this collection}
36
37\end{document}

下面是该 LaTeX 代码生成的文档结构:

Example output Example output

以下是详细的目录结构:

Table of contents

书籍中的 奇数 页和 偶数

在书籍中,奇数 页和 偶数 页的排版并不相同。页边距以及通常的页眉页脚会有所区别,以提高装订后阅读的舒适度。LaTeX 文档类会自动处理这些差异,表现为:

请注意,新章节总是从右侧页面开始,此时页眉为空,页脚仅在页面中心显示页码。

缺少 摘要(Abstract)部分

学术论文(如文章或报告)通常在标题之后、目录之前包含一个名为 “Abstract” 的引言性章节,用于快速概述文档主题。在 LaTeX 中,这一结构通过 abstract 环境实现。

book 文档类并未提供 abstract 环境,这也是它与 article 和 report 类的另一区别。

LaTeX letter

目前,letter 文档类显得有些老派(slide 文档类也是如此)。如果你需要撰写传统信件、装入信封并通过邮寄方式发送,这个文档类可能会对你有帮助。虽然这种通信方式已经相对过时,但在某些场景下仍然需要准备类似信件的文档,例如推荐信或自荐信。

下面简要介绍该类的用法。

你可以使用单一的输入文件生成任意数量的信件。姓名和地址(通常对所有信件相同)一般在前导区指定。回信地址通过 \address 命令声明,该命令接受多行文本,以 \\(LaTeX 换行命令)分隔。类似地,\signature 命令接受包括姓名、头衔等在内的多行文本。不过,你可以在任何时候更改回信地址和签名。

每封信由单独的 letter 环境生成,环境的参数是收信人的姓名和地址。信件以 \opening 命令开始,生成称呼;以 \closing 命令结束,生成结束语和签名。信件正文则是普通的 LaTeX 输入。

所有这些命令都易于使用,且功能强大,LaTeX 会自动处理信件的排版。因此不要因为命令数量而望而却步。

下面的示例展示了完整的工作流程。

 1% Example of a letter document class
 2\documentclass{letter}
 3 
 4\address{1234 Heart Avenue\\ Thoraxland, 12555}
 5
 6\signature{Dr.~Lung\\ Head of Department}
 7
 8\begin{document}
 9
10\begin{letter}
11{Dr.~Gallbladder \\ University of Digestion\\ 66 Liver Street\\ Abdomenia, 45888}
12
13\opening{Appreciated Anything,}
14
15I write you a letter, and this is the body of the
16letter.
17
18\closing{I look forward to your reply,}
19
20\end{letter}
21
22\end{document}

A letter document class example

请注意,当前日期会自动生成。不过,你可以重新定义 \today 命令来修改信件中的日期,方法如下:

1\renewcommand{\today}{01th of March of 2492}

如果将此声明放在特定的 letter 环境中,仅会影响该信件;若放在前导区,则对所有信件生效(除非在某个 letter 环境中再次声明)。

LaTeX 文档类选项

下面我们来看看文章开头提到的 \documentclass 命令的各种选项。

字体大小

字体大小由三个选项控制:10pt、11pt、12pt。默认是 10pt。这些选项决定了整篇文档的基准字体大小,除非在某处另行修改。同时,它们也影响某些格式尺寸的比例因子。

1\documentclass[12pt]{article}

这些选项在 slides 类中不可识别。

纸张尺寸

这里的 “纸张尺寸” 指的是你 计划 打印文档时所用的纸张规格。它不影响如 PDF TeX 等排版系统输出页面的实际尺寸。共有 6 种选项:letterpaper(8.5 × 11 英寸)、legalpaper(8.5 × 14 英寸)、executivepaper(7.25 × 10.5 英寸)、a4paper(210 mm × 297 mm)、a5paper(148 mm × 210 mm)以及 b5paper(176 mm × 250 mm)。默认值为 letterpaper

1\documentclass[a4paper]{article}

页面方向

landscape 选项使输出针对所选纸张尺寸的横向打印进行排版,实际上会在排版过程中交换宽度和高度的数值。portrait 选项则保持默认的纵向排版。

1\documentclass[landscape]{article} % landscape printing on the letterpaper

草稿模式

当 TeX 在段落构建过程中无法找到足够好的换行点时,会产生超出正文右边界的行,并在日志文件(以及终端)中给出 “overfull box” 警告。draft 选项会在输出中用黑色方框标记这些行;final 选项则不产生黑框,默认即为 final

双面打印

openany 选项允许章节在任意页面开始,而 openright 选项则强制所有章节在右手页(即奇数页)开始。report 类的默认值是 openanybook 类的默认值是 openright。其他文档类不识别这两个选项。

标题页

使用 titlepage 选项时,LaTeX 会为 \maketitle 命令生成的标题单独创建一页。该选项还会使 abstract 环境在新页开始并在摘要后强制分页。除 article 类外,所有类的默认值都是 titlepage;而 article 类的默认值是 notitlepage

这些选项在 letter 类中不可识别。

编号显示公式

leqno 选项会让 LaTeX 将公式编号(标签)放在左侧,而不是默认的右侧。

显示公式对齐方式

fleqn 选项会将显示公式左对齐。若不使用该选项,公式默认居中排列。

Have any questions about Aspose.TeX?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.