LaTeX 入门指南

前言:排版工具与书写工具的讨论

LaTeX是一种基于ΤeΧ的“非所见即所得”排版系统。用户通过编写特定的代码(通常保存在 .tex 的文件中),再经过编译器处理,最终生成专业级的PDF文档。

例如以下代码:

\documentclass{article}

\begin{document}
Hello, world!
\end{document}

编译后会输出一个内容为“Hello, world!”的PDF文件。

“非所见即所得” vs “所见即所得”

以Microsoft Word为例,其界面就是一张虚拟A4纸,输入时的样式即为最终输出的样式,这被称为“所见即所得”(WYSIWYG)。这种方式直观、易上手,但存在一些问题:

相比之下,使用LaTeX进行排版,就像在铺好的轨道上驾驶火车。虽然自由度不如Word,但其严格的规范性确保了文档的高度一致和专业,尤其适合学术论文、书籍和报告的排版。无论是LaTeX还是Word,其归根结底都只是工具。值得一提的是,Markdown作为一种轻量级标记语言,书写时可专注于内容,并支持LaTeX语法输入公式,与LaTeX的转换也十分方便,是理想的草稿书写工具。

准备工作:安装与配置

1. 安装 TeX Live

TeX Live 是主流的LaTeX发行版,包含了编译所需的引擎和宏包。推荐安装最新版本(每年更新)。

官方下载地址速度可能较慢,建议使用国内镜像(注意年份,请下载最新版,如 `texlive.iso` 或 `texlive2025.iso`):

下载ISO文件后,可使用压缩软件解压或虚拟光驱加载,然后运行其中的安装脚本即可。

2. 选择 TeX 编辑器

3. 选择 PDF 阅读器

专业的PDF阅读器能提供更好的体验,尤其是在查看 `beamer` 幻灯片和使用反向同步(从PDF点击跳转回源码)时。

文档基础

文档类型 (Document Class)

每个LaTeX文档都始于 \documentclass{} 命令。它定义了文档的整体类型。

可以在文档类型后用方括号传入选项,如字体大小、纸张、单双面等。

\documentclass[12pt, a4paper, oneside]{ctexart}

文档骨架

文档内容必须放在 \begin{document}\end{coment} 之间。在此之前的部分称为 **导言区 (Preamble)**,用于加载宏包和进行全局设置。

\documentclass{ctexart}

% 这里是导言区,用于全局设置

\begin{document}

这里是正文部分,会显示在最终的PDF中。

\end{document}

宏包 (Packages)

LaTeX 的强大功能很大程度上来自于宏包。使用 \usepackage{} 命令在导言区加载所需宏包。

% 数学公式与定理环境
\usepackage{amsmath, amsthm, amssymb}
% 插入图片
\usepackage{graphicx}
% 超链接与PDF书签
\usepackage[bookmarks=true, colorlinks, citecolor=blue, linkcolor=black]{hyperref}
% 页面边距设置
\usepackage{geometry}
% 粗体数学符号
\usepackage{bm}

文档结构

标题、作者与日期

在导言区设置标题等信息,然后在正文区使用 \maketitle 命令来生成标题块。

\documentclass{ctexart}

\title{我的第一个 \LaTeX{} 文档}
\author{张三}
\date{\today} % \today 会自动生成当天的日期

\begin{document}
\maketitle

这里是正文...
\end{document}

章节与段落

使用章节命令来组织文章结构,LaTeX会自动为其编号。

对于 ctexbook 等书籍类型,还可以使用 \chapter{章标题}

在LaTeX中,一个或多个连续的空行用来分隔段落,代码中的换行和多余空格会被忽略。新段落默认会首行缩进。

目录

在文档的适当位置(通常是标题之后)使用 \tableofcontents 命令,即可自动生成基于章节标题的目录。

带有目录或交叉引用的文档通常需要 **编译两次** 以确保所有编号和引用都正确更新。

交叉引用 (Label and Reference)

这是LaTeX的核心优势之一。使用 \label{key} 为几乎任何可编号的对象(章节、图、表、公式)设置一个唯一的标签,然后使用 \ref{key} 在文中的任何地方引用它的编号。

\section{绪论}
\label{sec:intro}

在章节 \ref{sec:intro} 中,我们讨论了...

\begin{equation}
    a^2 + b^2 = c^2 \label{eq:pythagoras}
\end{equation}

公式 \ref{eq:pythagoras} 是著名的勾股定理。

内容元素

图片

使用 figure 环境和 \includegraphics 命令插入图片。需要加载 graphicx 宏包。

\begin{figure}[htbp]
    \centering
    \includegraphics[width=0.8\textwidth]{figure.png}
    \caption{这是一张示例图片}
    \label{fig:example}
\end{figure}

表格

表格使用 tabletabular 环境。手动创建较为繁琐,推荐使用在线工具 TablesGenerator.com 自动生成代码。

\begin{table}[htbp]
    \centering
    \caption{一个简单的三列表格}
    \label{tab:example}
    \begin{tabular}{lcr} % l=left, c=center, r=right
        \hline
        左对齐 & 居中 & 右对齐 \\
        \hline
        1 & 2 & 3 \\
        4 & 5 & 6 \\
        7 & 8 & 9 \\
        \hline
    \end{tabular}
\end{table}

列表

\begin{enumerate}
    \item 这是第一点。
    \item 这是第二点,可以自定义标号:
    \begin{enumerate}
        \item[(a)] 子项目一。
        \item[(b)] 子项目二。
    \end{enumerate}
    \item 这是第三点。
\end{enumerate}

参考文献

对于入门,最简单的方式是使用 thebibliography 环境。在文中使用 \cite{key} 引用。

对于大规模的文献管理,推荐学习 BibTeX 或 BibLaTeX,它们能通过 .bib 文件自动管理和格式化参考文献。
% 在正文中引用
Knuth 的著作 \cite{knuth1984texbook} 是 \TeX{} 的经典。

% 在文档末尾(\end{document}之前)
\begin{thebibliography}{9} % {9} 表示引用标签最大是一位数

\bibitem{knuth1984texbook}
Donald E. Knuth.
\newblock \textit{The TeXbook}.
\newblock Addison-Wesley Professional, 1984.

\end{thebibliography}

定理环境

学术写作离不开定理、定义、引理等。使用 amsthm 宏包可以轻松定义这些环境。

定义环境

在导言区使用 \newtheorem 定义新环境。

\newtheorem{theorem}{定理}[section] % {环境名}{显示名}[计数器依赖]
\newtheorem{definition}[theorem]{定义} % [theorem]表示与定理环境共享编号
\newtheorem{lemma}[theorem]{引理}
\newtheorem{corollary}[theorem]{推论}

使用环境

在正文中使用定义好的环境。证明过程可以使用 proof 环境,它会自动添加证毕符号。

\begin{theorem}[勾股定理]
    \label{thm:pythagoras}
    在一个直角三角形中,两条直角边的平方和等于斜边的平方。
\end{theorem}

\begin{proof}
    证明过程略。
\end{proof}

页面设置

页边距

LaTeX 默认页边距较大。使用 geometry 宏包可以方便地进行调整。

\usepackage{geometry}
\geometry{left=2.5cm, right=2.5cm, top=3cm, bottom=3cm}

行间距

虽然 \linespread{1.5} 可以设置1.5倍行距,但更推荐使用 setspace 宏包,它能更精细地控制行距,避免在某些环境(如图表标题)中出现不协调的间距。

\usepackage{setspace}
% 在导言区设置后全文生效
\onehalfspacing % 1.5倍行距
% \doublespacing % 双倍行距
% \singlespacing % 单倍行距

数学公式

LaTeX 的数学公式排版功能是其核心魅力所在。需要加载 amsmath, amssymb, bm 等宏包。

行内公式与行间公式

质能方程是现代物理学的基石:
\begin{equation}
    E = mc^2 \label{eq:emc}
\end{equation}
注意: 应当避免使用陈旧的 $$...$$ 写法,因为它可能导致错误的垂直间距。请始终使用 \[...\] 或 `amsmath` 提供的环境。

常用语法

功能命令示例
上下标^_$x^{2\alpha_i}$
分式\frac{分子}{分母}$\frac{1}{2}$ (小) vs $\displaystyle\frac{1}{2}$$\dfrac{1}{2}$ (大)
根号\sqrt[n]{...}$\sqrt{x^2+y^2}$, $\sqrt[3]{8}=2$
求和/积分\sum, \int$\sum_{i=1}^{n} i = \frac{n(n+1)}{2}$, $\int_a^b f(x)dx$
括号() [] \{\}对于高大的内容,使用 \left( ... \right) 自动调整大小
粗体符号\bm{...} (需 bm 宏包)$\bm{v} = (v_1, v_2, v_3)$

多行公式

使用 aligned 环境(在数学环境内)进行对齐,使用 & 标记对齐点,\\ 换行。

\[
\begin{aligned}
    (a+b)^2 & = (a+b)(a+b) \\
            & = a^2 + ab + ba + b^2 \\
            & = a^2 + 2ab + b^2
\end{aligned}
\]

矩阵与分段函数

\[
% 矩阵
\mathbf{A} = \begin{pmatrix} a & b \\ c & d \end{pmatrix}
\quad
% 分段函数
|x| = \begin{cases}
    x, & \text{if } x \ge 0 \\
    -x, & \text{if } x < 0
\end{cases}
\]

结语

本教程涵盖了LaTeX日常使用的核心功能。耐心学习完后,您应该足以应对大多数文档的排版需求。熟练掌握LaTeX需要不断的实践,您可以尝试:

祝您在LaTeX的世界中探索愉快!