使用 LaTeX 命令与环境
理解命令参数、可选设置和 begin–end 环境,避免猜测语法。
本页内容
看懂 LaTeX 的语法结构后,调试会容易许多。命令执行操作,参数提供内容,环境对一段内容应用同一规则,宏包则补充基础格式没有的定义。
从左到右理解命令#
多数命令以反斜杠开始。必需参数用花括号,可选设置用方括号:
\section{Method}有一个必需参数。\documentclass[11pt]{article}在必需的文档类名称前添加可选设置。\includegraphics[width=0.7\linewidth]{figures/result.pdf}包含键值选项和必需的文件路径。%开始注释;LaTeX 忽略该源码行余下的内容。
只有命令或宏包定义过的选项才有意义。交换花括号和方括号,不能把必需参数变成可选参数。
配对作用域和环境#
花括号也限定作用域。在 {\small calibration data} 中,字号更改在右花括号处结束。环境以 \begin{name} 开始,必须用同名的 \end{name} 结束。
\documentclass[11pt]{article}
\usepackage[margin=30mm]{geometry} % page layout package
\newcommand{\dataset}{\textsc{RiverFlow}}
\begin{document}
We evaluated the model on the \dataset{} data set.
\begin{quote}
Reproducible analysis begins with a clearly defined data set.
\end{quote}
The full text is normal size; {\small this qualification is smaller}.
\end{document}结果包含 30 mm 页边距、可复用的小型大写数据集名称、缩进引用,以及仅影响一个短语的字号变化。文档通用的 \newcommand 定义宜放在导言区,以便在使用前就已生效;这是组织源码的建议,并不意味着每个命令定义都必须写在那里。\dataset{} 中的空花括号在后面的空格之前结束命令,否则 TeX 可能吞掉源码中的这个空格。
识别不完整的语法结构#
下面这些错误常常在后续行才出现,因为 LaTeX 会继续寻找缺失的边界:
| 错误源码 | 正确源码 | 原因 |
|---|---|---|
\textbf{Key result |
\textbf{Key result} |
必需参数缺少右花括号。 |
\begin{quote} ... \end{quotation} |
\begin{quote} ... \end{quote} |
环境名必须完全一致。 |
\includegraphics{width=5cm}[plot.pdf] |
\includegraphics[width=5cm]{plot.pdf} |
可选参数写在必需参数之前。 |
50% of samples |
50\% of samples |
未转义的 % 会注释掉该行剩余内容。 |
“Undefined control sequence”通常表示命令拼错、宏包未加载,或定义出现得太晚。不要随意添加宏包;先确认命令,再查看未定义命令指南。
试着在导言区添加 \newcommand{\species}{\textit{E. coli}},并在示例中使用两次 \species{}。编译后确认两处会一起变化,再学习文档结构。
