30分钟学会LaTex

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 还提供了其他文档类,如 reportbookletter 等,它们适用于不同类型的文档,并提供不同的默认样式和结构。

最佳实践

一个清晰的 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 创建带有顺序的列表 混淆 itemizeenumerate 的使用场景
使用 description 创建术语解释列表 itemizeenumerate 中尝试模拟描述列表的效果

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]{...} 编译时不显示链接边框 (需要在文档类选项中设置) 链接仍然有效,但没有视觉上的边框

引入 hyperref 宏包后,可以使用 \href 命令创建带有自定义文本的链接,或使用 \url 直接显示 URL。可以通过宏包选项来控制链接的显示样式。

✅ Do this ❌ Don't do this
引入 hyperref 宏包以使用链接功能 尝试手动创建看起来像链接的文本
使用 \href 创建带有描述性文本的链接 直接在文本中粘贴 URL,影响文档的可读性

LaTeX 图片插入

在 LaTeX 文档中插入图片需要使用 graphicx 宏包。

LaTeX 语法 作用 预览效果 (描述性)
\usepackage{graphicx} 引入 graphicx 宏包
\includegraphics{图片文件名} 插入图片 插入指定文件名的图片
\includegraphics[width=宽度]{图片文件名} 指定图片宽度 插入指定宽度

好的,这次的内容就到这里啦

感谢你的阅读,欢迎点赞、关注、转发

我们,下次再见!

相关推荐
ByteBlossom66610 分钟前
R语言的语法糖
开发语言·后端·golang
Pee Wee13 分钟前
责任链模式
java·前端·责任链模式
我家媳妇儿萌哒哒31 分钟前
vue Element Ui Upload 上传 点击一个按钮,选择多个文件后直接上传,使用防抖解决多次上传的问题。
前端·javascript·vue.js
lgily-122536 分钟前
Python常用算法
开发语言·python·算法
Tiger Z41 分钟前
R 语言科研绘图第 14 期 --- 柱状图-分组堆叠
开发语言·程序人生·r语言·贴图
前端青山1 小时前
JavaScript闭包的深度剖析与实际应用
开发语言·前端·javascript·前端框架·ecmascript
JINGWHALE11 小时前
设计模式 结构型 组合模式(Composite Pattern)与 常见技术框架应用 解析
前端·人工智能·后端·设计模式·性能优化·系统架构·组合模式
青颜的天空1 小时前
CSS 中 content换行符实现打点 loading 正在加载中的效果
前端·css
凌小添1 小时前
Python教程丨Python环境搭建 (含IDE安装)——保姆级教程!
开发语言·python·教程
DX_水位流量监测1 小时前
水库水位监测系统的自动化功能:减少人工干预,可实现实时监控
运维·前端·人工智能·自动化·制造·信息与通信·零售