LaTeX 入门 · 第2篇 文字与文档骨架

1926 字
10 分钟
LaTeX 入门 · 第2篇 文字与文档骨架

1. 文字的输入#

1.1 字符编码#

纯英文文档只需考虑 ASCII 编码,pdflatex 可以直接处理。包含中文或其他非 ASCII 字符的文档,编码方式会影响编译器的选择:

  • pdflatex:传统引擎,处理 UTF-8 需要配合 inputenc 宏包(较新版本已默认支持);
  • xelatex / lualatex:原生支持 UTF-8,能直接使用系统安装的 TrueType / OpenType 字体,是中文文档的首选。

本系列从这一篇起,所有示例都使用 ctexart 文档类 + xelatex 编译,这样中英文混排都能正常显示。

1.2 空格、换行与段落#

LaTeX 对空白符的处理和普通文本编辑器不同,规则如下:

  • 连续多个空格等同于一个空格;
  • 行首的空格被忽略;
  • 一个换行符(回车)等同于一个空格;
  • 空一行开始一个新段落
  • \par 命令的作用和空一行相同。
\documentclass{ctexart}
\begin{document}
多个空格 等于一个空格。
行首的空格 被忽略。
一个空行开始一个新段落。
\par 命令的作用和空行一样,也
开始新的段落。
\end{document}

渲染效果:

空格与段落规则
空格与段落规则

一个关键习惯:用空行分段,而不是用 \\ 换行\\ 是强制换行命令,会在该处断行但不产生新的段落缩进,通常只用于表格、标题、诗歌等特殊场合。

1.3 引号、破折号与省略号#

LaTeX 不接受直引号 ",而是用反引号和单引号的组合:

想要的效果输入方式
单引号 ‘xxx’`xxx'
双引号 “xxx” xxx” “
连字符(hyphen)--
短破折号(en-dash)–--
长破折号(em-dash)—---
省略号 …\ldots\dots
\section{引号}
单引号:`press the x key'。
双引号:``please press the `x' key''。
\section{破折号与省略号}
连字符:daughter-in-law, X-rated。
短破折号:第 13--67 页。
长破折号:yes---or no?
省略号:one, two, three, \ldots one hundred.

渲染效果:

引号、破折号与省略号
引号、破折号与省略号

注意区分三个长度的破折号:- 用于复合词(daughter-in-law),-- 用于数字范围(13–67),--- 用于句中插入语(yes—or no?)。三者不能混用。

1.4 注释#

% 之后到行尾的内容是注释,编译时被忽略。注释常用于给源代码加说明,或临时屏蔽某段内容:

\documentclass{ctexart} % 使用中文文章文档类
% \usepackage{geometry} 这一行被注释掉,不会生效

2. 章节命令与文档层次#

2.1 章节命令的层级#

LaTeX 用一组命令描述文档的层级结构,从大到小依次为:

命令层级说明
\part{...}部分最高层级,不编号或单独编号
\chapter{...}book / report 可用,article 不可用
\section{...}article 的顶层
\subsection{...}小节
\subsubsection{...}子小节
\paragraph{...}段落标题不编号,粗体行内标题
\subparagraph{...}子段落标题

各命令会自动编号(\part\paragraph\subparagraph 通常不编号),并默认进入目录。带星号的版本 \section*{...} 则不编号、不进目录。

\documentclass{ctexart}
\usepackage[margin=2.5cm]{geometry}
\title{文档结构与章节命令示例}
\author{作者}
\date{\today}
\begin{document}
\maketitle
\section{引言}
这是引言部分的内容。
\subsection{研究背景}
背景介绍。
\subsection{研究动机}
动机说明。
\subsubsection{细分小节}
更细的层次。
\section{方法}
这是方法部分。
\section*{致谢}
带星号的章节不编号,也不进入目录。
\end{document}

渲染效果:

章节命令的层级效果
章节命令的层级效果

2.2 标题、作者与日期#

文档的标题信息在导言区用三条命令声明,然后在正文用 \maketitle 输出:

\title{文档标题}
\author{作者}
\date{\today}
  • \title:文档标题,必填;
  • \author:作者,多个作者用 \and 分隔;
  • \date:日期,\today 自动填当日日期;不写 \date 则默认编译当天的日期。

\maketitle 必须放在正文区(\begin{document} 之后)。article 默认标题和正文同页,report / book 默认标题单独成页(由文档类选项 titlepage / notitlepage 控制)。

2.3 目录#

生成目录只需一条命令 \tableofcontents,LaTeX 会自动扫描全文的章节命令,生成带页码的目录。目录需要编译两次:第一次把章节信息写入 .toc 辅助文件,第二次读取后生成目录。

带星号的 \section*{...} 默认不进目录。若要让未编号的章节出现在目录中,需手动用:

\addcontentsline{toc}{section}{标题}

3. 列表#

LaTeX 提供三种列表环境:编号列表、无序列表、描述列表。

3.1 编号列表 enumerate#

\begin{enumerate} 生成自动编号的列表,可多层嵌套(每层编号样式不同):

\begin{enumerate}
\item 第一项。
\begin{enumerate}
\item 嵌套的子项,自动用 (a) 编号。
\item[*] 带星号的项,自定义标记。
\end{enumerate}
\item 第二项。
\end{enumerate}

\item 可选地接受自定义标记,如 \item[*] 会用 * 替代默认编号。

3.2 无序列表 itemize#

\begin{itemize} 生成无编号的项目符号列表,同样可嵌套,每层符号不同:

\begin{itemize}
\item 一个项目。
\begin{itemize}
\item 嵌套项目。
\item[+] 自定义标记的项目。
\end{itemize}
\item 回到上层。
\end{itemize}

3.3 描述列表 description#

\begin{description} 生成带标题的列表,每个 \item 必须带一个标题:

\begin{description}
\item[enumerate] 编号列表。
\item[itemize] 无序列表。
\item[description] 带标题的描述列表。
\end{description}

三种列表的完整渲染效果:

三种列表环境的渲染效果
三种列表环境的渲染效果

三种列表可以互相嵌套,LaTeX 会自动处理缩进和编号/符号样式。


4. 脚注与交叉引用#

4.1 脚注#

\footnote{...} 在当前位置插入一个脚注标记,脚注内容自动编号并出现在页面底部:

正文中的内容需要补充说明时,可以使用脚注\footnote{这是脚注的内容。}。

4.2 交叉引用#

交叉引用用来引用文档内其他位置的编号(章节、图、表、公式、列表项等)。机制是两步:

  1. 在目标位置用 \label{label-name} 打上标签;
  2. 在引用处用 \ref{label-name} 引用编号,或 \pageref{label-name} 引用页码。
\section{脚注与交叉引用示例}\label{sec:intro}
正文中的内容需要补充说明时,可以使用脚注\footnote{这是脚注的内容。}。
\subsection{交叉引用}\label{sub:crossref}
交叉引用用来引用其他位置的编号。
例如,引用本节:见第 \ref{sub:crossref} 节(\pageref{sub:crossref} 页),
或引用上一节:见第 \ref{sec:intro} 节。

渲染效果:

脚注与交叉引用
脚注与交叉引用

几个要点:

  • \label 必须放在它要引用的对象之后。例如引用某节,\label 要紧跟在 \section 之后;引用图表,\label 要放在 \caption 之后;
  • 交叉引用和目录一样需要编译两次才能正确显示编号;
  • 引用编号前的波浪号 ~(如 第~\ref{...} 节)是不可断空格,防止”第”和编号之间断行;
  • 引用未定义的标签会输出两个问号 ??,通常是忘了编译两次,或 \label 名拼错了。

4.3 标签命名建议#

\label 的名字可以任意取,但养成带前缀的习惯,能避免混淆:

前缀对象示例
sec:章节\label{sec:intro}
fig:\label{fig:logo}
tab:\label{tab:result}
eq:公式\label{eq:euler}

这只是约定俗成,LaTeX 不强制,但后续篇章会一直沿用这个规范。


5. 小结#

这一篇覆盖了搭建一篇文档骨架所需的全部要素:

  • 文字输入:空格与段落规则、引号/破折号/省略号的写法、注释;
  • 文档层次\section / \subsection 等章节命令、带星号的不编号版本、标题与日期、目录;
  • 列表enumerate(编号)、itemize(无序)、description(描述)三种环境;
  • 脚注与交叉引用\footnote\label + \ref / \pageref,以及编译两次的原理。

到这里已经能写出结构完整的文章了。下一篇进入图、表和浮动体——在文档中插入图片、排版表格、控制浮动位置。


本系列基于《一份(不太)简短的 LaTeX2e 介绍》(lshort-zh-cn)整理,辅以实战讲解和渲染示例。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
LaTeX 入门 · 第2篇 文字与文档骨架
https://xingyun8.fun/posts/latex-text-structure/
作者
nanashi
发布于
2026-07-07
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
nanashi
众生皆苦,唯有自渡
公告
欢迎来到我的博客!这是一则示例公告。
音乐
封面

音乐

暂未播放

0:000:00
暂无歌词
分类
标签
站点统计
文章
20
分类
3
标签
37
总字数
27,069
运行时长
0
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.13.8
文章许可
CC BY-NC-SA 4.0