原 文:Sections and chapters
译 者:Xovee
翻译时间:2021年5月26日
章节
在 LaTeX 文档中,我们使用章和节来让文档的结构清晰明了。LaTeX 支持各种章节的类型,以及对它们进行自定义。
介绍
文档的结构取决于文档自身的类型。最简单的对文档进行格式化的方式是章。
\documentclass{article}
\usepackage{blindtext}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\title{Sections and Chapters}
\author{Gubert Farnsworth}
\date{\today}
\begin{document}
\maketitle
\section{Introduction}
This is the first section.
Lorem ipsum dolor sit amet, consectetuer adipiscing
elit. Etiam lobortisfacilisis sem. Nullam nec mi et
neque pharetra sollicitudin. Praesent imperdietmi nec ante.
Donec ullamcorper, felis non sodales...
\section{Second Section}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Etiam lobortis facilisissem. Nullam nec mi et neque pharetra
sollicitudin. Praesent imperdiet mi necante...
\end{document}
命令\section{}
标志着一个新章的开始,大括号内的文字为章的标题。章的编号是自动生成的,你也可以使用没有编号的章。
文档的章节
LaTeX 可以对文档中的章节进行组织、编号,以及索引。取决于文档的类型,最多有七种等级的定义章节的命令。
等级 | 命令 |
---|---|
-1 | \part{part} |
0 | \chapter{chapter} |
1 | \section{section} |
2 | \subsection{subsection} |
3 | \subsubsection{subsubsection} |
4 | \paragraph{paragraph} |
5 | \subparagraph{subparagraph} |
一般来说,对于大多数文档,\section
是最高的等级。对于某些类型的文档,例如 report、book,或者类似的类型,\chapter
和\part
是最高的等级。
编号章节和无编号章节
如果你想取消某个章节的编号,简单地在命令的大括号前加一个星号(*)即可。这些章节不会显示在目录中。
\documentclass{article}
\usepackage{blindtext}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\title{Sections and Chapters}
\author{Gubert Farnsworth}
\date{\today}
\begin{document}
\maketitle
\section*{Introduction}
This is the first section.
Lorem ipsum dolor sit amet, consectetuer adipiscing
elit. Etiam lobortisfacilisis sem. Nullam nec mi et
neque pharetra sollicitudin. Praesent imperdietmi nec ante.
Donec ullamcorper, felis non sodales...
\section*{Second Section}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Etiam lobortis facilisissem. Nullam nec mi et neque pharetra
sollicitudin. Praesent imperdiet mi necante...
\end{document}
如果你想在目录中显示这个无编号章节,使用这个命令:\addcontentsline
\addcontentsline{toc}{section}{Title of the section}
关于这个命令的更多信息,请参考这篇文档。
Book/Report 中的章节
命令\chapter
可以用在类型为 Book 或者 Report 的文档中。下面是一个例子:
\documentclass{report}
\begin{document}
\tableofcontents{}
\chapter{Editing compile}
\section{First Compile}
how to compile basic hello world into a pdf.
Write your favorite text editor create file and copy/paste the following (with hello.tex):
\subsection{Output formats}
different output formats (dvi, pdf)
The output of this command \$latex hello.tex will be a dvi
file (hello.dvi). This file (.dvi) can be converted by \$dvipdf
hello.dvi The get an pdf file from tex file, run this
command \$texi2pdf hello.tex
\chapter{Document Structure}
\section{Reserved Characters}
The following symbols characters are reserved by LATEX because
they introduce a command and have a special meaning.
\end{document}
Books 是一种最为复杂的文档类型。下面是一个完整的例子,包括了parts, chapters, sections 和 subsections。
\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\title{42}
\author{Jane Doe}
\date{\today}
\begin{document}
\maketitle
\tableofcontents
\part{First Part of this document}
\chapter{First}
\section{Introduction}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
enim ad minim veniam, quis nostrud exercitation ullamco...
\subsection{Sample subsection}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
enim ad minim veniam, quis nostrud exercitation ullamco laboris..
\subsubsection{Sample subsubsection}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
enim ad minim veniam, quis nostrud exercita...
自定义章节
你可以使用titlesec
包来自定义章节的样式。
\documentclass[a4paper,12pt]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{titlesec}
\titleformat
{\chapter} % command
[display] % shape
{\bfseries\Large\itshape} % format
{Story No. \ \thechapter} % label
{0.5ex} % sep
{
\rule{\textwidth}{1pt}
\vspace{1ex}
\centering
} % before-code
[
\vspace{-0.5ex}%
\rule{\textwidth}{0.3pt}
] % after-code
\titleformat{\section}[wrap]
{\normalfont\bfseries}
{\thesection.}{0.5em}{}
\titlespacing{\section}{12pc}{1.5ex plus .1ex minus .2ex}{1pc}
\begin{document}
\chapter{Let's begin}
\section{First Attempt}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
enim ad minim veniam, quis nostrud exercitation ullamco laboris...
\section{Second attempt}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
enim ad minim veniam, quis nostrud exercitation ullamco laboris...
\end{document}
它包括两个基础的命令:
\titleformat{<command>}[<shape>]{<format>}{<label>}{<sep>}{<before-code>}[<after-code>]
其中[<shape>]
和[<after-code>]
是可选参数。
<command>
中的参数是你想重定义的章节,例如 \chapter、\section 等<shape>
定义了段落的形状,可选的值包括:hang, block, display, runin, leftmargin, rightmargin, drop, wrap, frame 等<format>
定义了标题、标签和文本的格式;例如\normalfont\Large\bfseries
<label>
指定了章节的标签<sep>
是标签和标题主体之间的水平间距,它必须是一个值,不能留空<before-code>
是标题主体之前的代码<after-code>
是标题主体之后的代码
还有一个命令是:
\titlespacing{<command>}{<left>}{<before-sep>}{<after-sep>}
其中
<left>
增加了左外边距<before-sep>
是标题的垂直间距<after-sep>
是标题和非章节文本之间的间距
命令的加星版本(\titlespacing*
)取消了标题之后段落的缩进。