LaTeX 基本语法
LaTeX 是一种基于 TeX 的排版系统,它使用标记指令来描述文档的结构和内容,专注于内容的逻辑组织和高质量的排版输出。无论是学术论文、书籍还是报告,LaTeX 都能生成专业美观的文档。
在线体验一下 Overleaf (在线 LaTeX 编辑器)。
千万不要被「排版系统」、「标记指令」吓到,LaTeX 的基本语法也是相当清晰的,常用的指令结构并不复杂,用于日常文档编写完全足够,只要稍加学习就能体会到它的强大之处。
就是这些基本的指令结构,却能让人优雅地进行文档创作,专注于内容逻辑而不是繁琐的格式调整,达到“胸有成竹,排版自如”的境界。
LaTeX 文档结构
每个 LaTeX 文档都遵循一定的基本结构,你需要定义文档的类别,并用特定的环境包裹文档内容。
LaTeX 语法 | 作用 |
---|---|
\documentclass{article} | 定义文档类型为 article (文章) |
\begin{document} | 标记文档内容的开始 |
\end{document} | 标记文档内容的结束 |
\title{文档标题} | 设置文档标题 |
\author{你的名字} | 设置文档作者 |
\date{\today} | 设置文档日期为今天 |
\maketitle | 显示标题、作者和日期信息 |
\section{一级标题} | 创建一级标题 |
\subsection{二级标题} | 创建二级标题 |
\subsubsection{三级标题} | 创建三级标题 |
可选语法 (对于文档结构而言,更多的是不同的文档类)
除了 article
,LaTeX 还提供了其他文档类,如 report
、book
、letter
等,它们适用于不同类型的文档,并提供不同的默认样式和结构。
最佳实践
一个清晰的 LaTeX 文档应该具有良好的结构,明确定义文档类,并使用合适的命令来组织内容。
✅ Do this | ❌ Don't do this |
---|---|
使用 \documentclass{article} 开始 | 直接开始写内容,不定义文档类 |
使用 \begin{document} 和 \end{document} 包裹内容 | 忘记闭合 \begin{document} 环境 |
LaTeX 段落与换行
LaTeX 中,段落是通过空行分隔的。单个换行符在 LaTeX 中会被忽略。
LaTeX 语法 | 作用 | 预览效果 (描述性) |
---|---|---|
`这是第一个段落。\ |
这是第二个段落。| 通过空行分隔段落 | 生成两个独立的段落 | |
这是第一行 \ 这是第二行| 使用
\进行强制换行 | 在同一段落内换行显示 | |
这是第一行\newline 这是第二行| 使用
\newline进行强制换行 | 在同一段落内换行显示 (与
\` 类似) |
段落(Paragraph)用法的最佳实践
使用空行来组织段落,保持文本的逻辑连贯性。谨慎使用强制换行,因为它可能会影响 LaTeX 的自动排版效果。
✅ Do this | ❌ Don't do this |
---|---|
使用空行分隔不同的思想单元 | 依赖单个换行符来分隔段落 |
在需要强调分隔时使用空行 | 在不必要的地方使用 \\ 或 \newline 强制换行 |
LaTeX 文本格式化
LaTeX 提供了多种命令来格式化文本,例如粗体、斜体和下划线等。
LaTeX 语法 | 作用 | 预览效果 (描述性) |
---|---|---|
\textbf{粗体文本} | 将文本设置为粗体 | 文本显示为粗体 |
\textit{斜体文本} | 将文本设置为斜体 | 文本显示为斜体 |
\underline{下划线文本} | 为文本添加下划线 | 文本带有下划线 |
\emph{强调文本} | 强调文本 (通常表现为斜体) | 文本显示为斜体 (或根据上下文) |
{\bfseries 粗体文本} | 另一种设置粗体的方式 | 文本显示为粗体 |
{\itshape 斜体文本} | 另一种设置斜体的方式 | 文本显示为斜体 |
{\scshape 小型大写} | 将文本设置为小型大写 | 文本显示为小型大写 |
文本格式化(Text Formatting)用法的最佳实践
根据语义选择合适的格式化命令。\textbf
和 \textit
用于直接指定样式,而 \emph
则用于逻辑上的强调。
✅ Do this | ❌ Don't do this |
---|---|
使用 \textbf 标记关键词或术语 | 使用 \underline 代替 \emph 进行强调 |
使用 \emph 强调句子的重要部分 | 过度使用文本格式化,导致文档样式混乱 |
LaTeX 列表环境
LaTeX 提供了多种列表环境,包括无序列表、有序列表和描述列表。
LaTeX 语法 | 作用 | 预览效果 (描述性) |
---|---|---|
\begin{itemize} \item 项目一 \item 项目二 \end{itemize} | 创建无序列表 | 生成带有项目符号的列表 |
\begin{enumerate} \item 项目一 \item 项目二 \end{enumerate} | 创建有序列表 | 生成带有数字编号的列表 |
\begin{description} \item[术语一] 解释一 \item[术语二] 解释二 \end{description} | 创建描述列表 | 生成带有术语和解释的列表 |
\item 子项 | 在列表环境中添加列表项 |
列表环境(List Environments)用法的最佳实践
根据信息的逻辑关系选择合适的列表环境。使用缩进可以清晰地表示嵌套列表。
✅ Do this | ❌ Don't do this |
---|---|
使用 itemize 创建项目符号列表 | 使用多个 \item 命令后忘记闭合 itemize 环境 |
使用 enumerate 创建带有顺序的列表 | 混淆 itemize 和 enumerate 的使用场景 |
使用 description 创建术语解释列表 | 在 itemize 或 enumerate 中尝试模拟描述列表的效果 |
LaTeX 代码环境
在 LaTeX 文档中插入代码片段,需要使用特定的环境来保持代码的原始格式。
LaTeX 语法 | 作用 | 预览效果 (描述性) |
---|---|---|
\verb|代码内容| | 行内显示代码 | 代码以等宽字体显示在文本中 |
\begin{verbatim} 代码内容 \end{verbatim} | 显示多行代码块 | 代码块以原始格式显示,保留空格和换行符 |
\begin{lstlisting}[language=Python] 代码内容 \end{lstlisting} | 使用 listings 宏包显示代码块 (需 \usepackage{listings} ) | 代码块以指定语言的格式高亮显示 (如果配置) |
代码环境(Code Environments)用法的最佳实践
对于简短的代码片段,可以使用 \verb
命令。对于多行代码,推荐使用 verbatim
环境或 listings
宏包,后者可以提供代码高亮等功能。
✅ Do this | ❌ Don't do this |
---|---|
使用 \verb 显示命令或短代码片段 | 直接在文本中输入代码,导致格式混乱 |
使用 verbatim 环境显示需要保留格式的代码块 | 手动调整空格和换行符来模拟代码显示 |
使用 listings 宏包并指定语言进行代码高亮 | 忘记引入 listings 宏包就使用 lstlisting 环境 |
LaTeX 水平分隔线和垂直间距
LaTeX 提供了命令来创建水平分隔线和调整垂直间距。
LaTeX 语法 | 作用 | 预览效果 (描述性) |
---|---|---|
\hline | 在表格中绘制水平线 | |
\rule{\linewidth}{0.4pt} | 绘制自定义粗细的水平线 | 生成一条横跨页面宽度的水平线 |
\vspace{长度} | 添加垂直间距 | 在指定位置增加垂直空白 |
\bigskip | 添加较大的垂直间距 | 增加较大的垂直空白 |
\medskip | 添加中等的垂直间距 | 增加中等的垂直空白 |
\smallskip | 添加较小的垂直间距 | 增加较小的垂直空白 |
水平分隔线和垂直间距(Horizontal Rules and Vertical Spacing)用法的最佳实践
使用 \rule
命令可以自定义分隔线的样式。\vspace
用于精确控制垂直间距,而 \bigskip
、\medskip
和 \smallskip
则提供了预定义的间距。
✅ Do this | ❌ Don't do this |
---|---|
使用 \rule 创建自定义样式的分隔线 | 依赖空行来模拟较大的垂直间距 |
使用 \vspace 精确调整元素间的距离 | 在不必要的地方使用过多的 \bigskip 等命令 |
LaTeX 链接与 URL
在 LaTeX 中插入链接需要使用 hyperref
宏包。
LaTeX 语法 | 作用 | 预览效果 (描述性) |
---|---|---|
\usepackage{hyperref} | 引入 hyperref 宏包 | |
\href{URL}{链接文本} | 创建超链接 | “链接文本”显示为可点击的链接,指向 URL |
\url{URL} | 直接显示 URL | URL 以原始形式显示,并可能自动添加链接功能 |
\documentclass[hidelinks]{...} | 编译时不显示链接边框 (需要在文档类选项中设置) | 链接仍然有效,但没有视觉上的边框 |
链接与 URL(Links and URLs)用法的最佳实践
引入 hyperref
宏包后,可以使用 \href
命令创建带有自定义文本的链接,或使用 \url
直接显示 URL。可以通过宏包选项来控制链接的显示样式。
✅ Do this | ❌ Don't do this |
---|---|
引入 hyperref 宏包以使用链接功能 | 尝试手动创建看起来像链接的文本 |
使用 \href 创建带有描述性文本的链接 | 直接在文本中粘贴 URL,影响文档的可读性 |
LaTeX 图片插入
在 LaTeX 文档中插入图片需要使用 graphicx
宏包。
LaTeX 语法 | 作用 | 预览效果 (描述性) |
---|---|---|
\usepackage{graphicx} | 引入 graphicx 宏包 | |
\includegraphics{图片文件名} | 插入图片 | 插入指定文件名的图片 |
\includegraphics[width=宽度]{图片文件名} | 指定图片宽度 | 插入指定宽度 |
好的,这次的内容就到这里啦
感谢你的阅读,欢迎点赞、关注、转发
我们,下次再见!