在工程和学术领域,高质量文档编制的重要性怎么强调都不为过。LaTeX排版系统因其精确性和灵活性而备受推崇,它能提高技术文档的质量,因此成为学者和专业人士的首选。根据 Overleaf 和 ACM 2019 年的一项调查,计算机科学和数学等领域超过 80% 的研究人员依赖 LaTeX,因为它能出色地处理复杂文档,尤其是那些包含复杂数学内容的文档。 本文提供了一份全面的 LaTeX 语言完整小抄和详细的公式书写示例。
关键要点

- LaTeX 能有效地将内容与版式分开。
- 结构包括序言和主体部分。
- 数学符号与文字巧妙结合。
- 图和表可以方便地引用。
- BibTeX 等其他库简化了引文管理,令人印象深刻。
无论是撰写论文、技术报告还是期刊文章,掌握 LaTeX 都能大大简化您的工作。 发布 在学术和行业环境中,提升您的工作。
从根本上说,LaTeX 是一种高级文档编制系统和标记语言,因其能够制作专业排版文档而闻名,尤其是那些包含复杂数学公式和科学符号的文档。LaTeX 最初由莱斯利-兰波特(Leslie Lamport)于 20 世纪 80 年代初编写,是唐纳德-克努特(Donald Knuth)开发的 TeX 排版程序的增强版,具有用户友好的特点。
LaTeX 简介及与 WYSIWYG 编辑器相比的优势

LaTeX 作为一种排版系统,具有众多优势,可满足复杂文档编写的需要,尤其是在科学和技术领域。其主要优势之一是能够无缝处理复杂的排版和格式化任务,而一般的所见即所得编辑器往往很难做到这一点。例如,LaTeX 对书目、引文和参考文献的强大处理能力使其成为从事研究工作的专业人士的首选,因为在这些领域,准确性和精确性是最重要的。
另一个显著优势是使用 LaTeX 创建的文档具有卓越的输出质量。该系统遵循排版最佳实践,确保最终文档不仅美观,而且符合出版业的高标准 标准.
LaTeX 的版本控制功能使其与标准编辑器区别开来。通过文本文件,多位作者可以使用 Git 等软件工具进行协作,从而有效地跟踪更改。与传统编辑器相比,此功能能更高效地解决冲突,因为只会修改文本而不会破坏格式。 团队 在大型项目中,这种方法可以显著加强协作。
最后,LaTeX 的灵活性允许用户创建自定义样式和命令,使其能够适应各种文档需求。无论是学术论文还是商业报告,用户都可以定义自己的格式规则。这种自定义功能是所见即所得编辑器通常无法实现的。
提示: 利用 TikZ 等软件包在文档中创建复杂的图表,以提高视觉清晰度,同时充分利用 LaTeX 的功能(请参阅我们的 Bonus#2 更多图书馆)。
LaTeX 中的基本文档结构
LaTeX 文档从文档类的声明开始,文档类定义了整体布局和格式。常用的类包括 条, 报告, 和 图书.开始执行命令 文件类型{文章}.典型的 LaTeX 文档都有一个前言,其中包括增强功能的软件包,例如 usepackage{amsmath} 数学和 使用{graphicx}包 用于图像处理。结构如下 开始{文档} 命令,指明内容开始的位置,以 结束{文档}.
提示: 使用 label{key} 命令之后 部分 命令来创建交叉引用。这样就可以在整个文档中自动编号并准确更新参考资料,从而提高工作流程效率。例如,为公式或章节创建标签,然后可以使用 ref{key}确保一致性。
提示: 为了使大型文档的格式保持一致,建议使用 LaTeX 中的预定义样式或模板。
数学表达式和方程格式
LaTeX 为呈现数学表达式和方程式提供了广泛的功能,允许用户精确地格式化它们。该语言支持两种主要的数学显示环境:"内联 "和 "显示":
- "内联数学"由 $…$在段落中使用 LaTex 时
- "显示数学"由 […],将方程居中放在自己的直线上,以便更好地显示
例如,内联表达式如 $E = mc^2$ 将呈现为 [latex]E = mc^2[/latex],其中的显示版本为 [E = mc^2] 将显示为 :
[latex]E = mc^2[/latex]
其中后者的表现更为突出。
超级小贴士 你可能会遇到这样的记号 $ $…$ $ (双面 $) 而不是 […]尽管美国数学学会(AMS)不鼓励这样做。
重要提示:为清楚起见,以下所有示例都将省略 "$...$"(内联模式)和"[...]"(显示模式),以集中显示确切的 LaTeX 功能。
在 LaTeX 中,数学符号的格式化非常简单。用户可以轻松创建分数、根和下标:
| 格式类型 | 命令 |
|---|---|
| 分数 | \frac{a}{b} 将显示为: [latex]\frac{a}{b}[/latex] |
| 平方根 | \sqrt{x}将显示为 [latex]\sqrt{x}[/latex] |
| 下标 | x_i 将呈现为 [latex]x_i[/latex] |
在 LaTeX 中,可以对数学间距和对齐方式进行操作。例如,命令Ⅴ(细间距)、:(中间距)和;(粗间距)可以在运算符或符号之间进行调整。在显示数据时,还可以将项目排列成表格。
为了增强数学格式,LaTeX 支持对齐环境。对齐 "环境允许多个方程在等号处对齐,这一功能在正式演示中尤为有用。通过使用 开始{对齐}......结束{对齐}在 LaTeX 中,人们可以整齐地排列方程。使用 LaTeX 不仅能增强数学内容的外观,还能保持各种文档的一致性。
完整的 LaTex 公式小抄
| 特点 | 说明 | 代码示例 提醒:除 2 个第一模式示例外,以下所有示例都将省略 "$......$ "和"[...]" |
渲染示例 |
|---|---|---|---|
| 内联数学模式 | 用于书写作为段落或流水账文本一部分的公式。文本和公式位于同一行。 | 等式为 $E=mc^2$。
|
等式为 [latex]E=mc^2[/latex]。
另一个例子是 [latex]a^2 + b^2 = c^2[/latex]。 |
| 显示数学模式 | 用于书写不属于段落的表达方式,因此单独成行,通常居中。 | 等式为 [E=mc^2]
|
等式为 [latex]E=mc^2[/latex] [latex]x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}[/latex] |
| 方程环境(编号) | 与显示数学模式类似,但它会自动为方程编号。 | \开始{公式}F = ma \end{equation}
|
[latex]begin{equation}F = ma \\oint_C \mathbf{B}\cdot d\mathbf{l} = \mu_0 I_{enc}\end{equation}[/latex] |
| 方程* 环境(无编号) | 在一行中显示方程,居中,但不带数字。需要使用 "amsmath "软件包。 | \开始Eneq mc^3 end{equation*}
|
[latex]begin{equation*}E neq mc^3 end{equation*}[/latex]
[latex]begin{equation*}\nabla \cdot \mathbf{E} = \frac\{rho}{\epsilon_0}\end{equation*}[/latex] |
| 上标(指数) | 要创建上标(指数),请使用粗体符号 ^.对于上标中的多个字符,请用大括号括起来 {}. |
x^2
|
[latex]x^2[/latex]
[latex]e^{i\pi} + 1 = 0[/latex] |
| 下标 | 要创建下标,请使用下划线符号 _.如果下标中有多个字符,请用大括号括起来 {}. |
a_1
|
[latex]a_1[/latex]
[latex]H_2O[/latex] |
| 分数 | 使用 \{分母}{分母} 命令来创建分数。 |
\{1}{2}。
|
[latex]\frac{1}{2}[/latex]
[latex]\frac{d}{dx}\left( \frac{x^2+1}{x-1} \right)[/latex] |
| 二项式系数 | 使用 \binom{n}{k} 命令(来自 "amsmath "软件包)或 {n (选择 k} 为二项式系数。 |
\binom{n}{k}
|
[latex]\binom{n}{k}[/latex]
[latex]{N (选择 k+1}[/latex] |
| 平方根 | 使用 \sqrt{expression} 命令计算平方根。 |
\sqrt{x}
|
[latex] (sqrt{x}[/latex]
[latex]\sqrt{b^2-4ac}[/latex] |
| 第 N 根 | 使用 \sqrt[n]{expression} n 次根的命令。 |
\sqrt[3]{8}
|
[latex]\sqrt[3]{8}[/latex]
[latex]\sqrt[n]{\frac{x}{y}}[/latex] |
| 总结 | 使用 \总和 命令求和。使用 _ 为较低和 ^ 为上部。 |
\sum_{i=1}^{n} i^2
|
[latex] (sum_{i=1}^{n} i^2[/latex]
[latex]\sum_{k=0}^{\infty}= e[/latex] |
| 产品 | 使用 \prod 命令对产品进行限制。使用 _ 为较低和 ^ 为上部。 |
\prod_{j=1}^{m} x_j
|
[latex]\prod_{j=1}^{m} x_j[/latex]
[latex]\prod_{n=1}^{N}\left(1+\frac{1}{n}\right)[/latex] |
| 积分 | 使用 \int 命令进行积分。使用 _ 为较低和 ^ 为上部。 |
\int_a^b f(x) \, dx
|
[latex]\int_a^b f(x)\, dx[/latex]
[latex]\int_{-\infty}^{\infty} e^{-x^2}\dx = \sqrt{\pi}[/latex] |
| 其他积分(oint、iint 等) | LaTeX 提供各种积分符号,如等值线积分 (\点)、双积分(\íint)、三重积分(\iiint).部分需要 amsmath 软件包。 |
\oint_C \vec{E}\cdot d\vec{l}
|
[latex]\oint_C \vec{E}\[/latex]
[latex]\iint_D f(x,y) \,dA[/latex] |
| 限制 | 使用 \lim 命令来限制。下标用 _. |
\lim_{x \to \infty}\frac{1}{x}
|
[latex]lim_{x \to \infty}\frac{1}{x}[/latex]
[latex]lim_{n \to 0} \frac{sin(n)}{n} = 1[/latex] |
| 括号、小括号、大括号 | 标准字符 (), [] 可以直接使用。对于字面上的大括号,使用 \{ 和 \}. |
(x+y)[z]
|
[latex](x+y)[z][/latex]
[latex]a = ({1, 2, 3\}[/latex] |
| 自动确定分隔符大小 | 使用 \左 和 \权利 分隔符(如 (, ], \{, |) 使其自动调整大小,以适应所包含表达式的高度。每个 \左 必须有相应的 \权利.使用 . 为不可见的分隔符(如 \左转). |
\left( \frac{a}{b} \right)
|
[latex] (left( (frac{a}{b} \right)[/latex]
[latex]\left\{ \sum_{i=0}^n x_i \middle| x_i > 0 \right\}[/latex] |
| 希腊字母(小写) | 小写希腊字母的输入法为 \名字例如 \α, \贝塔, \gamma. |
\α, β, γ
|
[latex]\alpha, \beta, \gamma[/latex]
[latex]\theta = \frac{\pi}{4}[/latex] |
| 希腊字母(大写) | 大写希腊字母的输入法为 \名字例如 \Gamma, \德尔塔.有些字母与拉丁字母相同(如 A 代表 Alpha),没有特殊指令。 |
\γ, \Delta, \Sigma
|
[latex]\Gamma, \Delta, \Sigma[/latex]
[latex]\Omega = \frac{V}{I}[/latex] |
| 数学函数 | sin、cos、tan、log、ln、exp 等标准函数应使用反斜线键入,以确保它们以直立字体排版,而不是作为变量排版。例如 \sin(x) 不是 sin(x). |
\sin(\theta) + \cos^2(\phi)
|
[latex] (sin(theta) + (cos^2(\phi))[/latex]
[latex]\log_b(x) = \frac{\ln(x)}{\ln(b)}[/latex] |
| 调制运算符 | 使用 \pmod{m} 为同余关系或 \模式 为二元运算符(amsmath)。 |
a \equiv b \pmod{n}
|
[latex]a \equiv b \pmod{n}[/latex]
[latex]x = y (mod) z[/latex] |
| 数学口音 | 帽子、斜线、条、点等重音符号被置于字符之上。 | \hat{x}, tilde{y}, bar{z}
|
[latex]hat{x}, \tilde{y}, \bar{z}[/latex]
[latex]\vec{a}, \dot{q}, \ddot{p}[/latex] |
| 宽大的装饰 | 对于多个字符的重音,可使用以下命令 \widehat{} 和 \Widetilde{}. |
\widehat{AB}
|
[latex]\widehat{AB}[/latex]
[latex]\widetilde{xyz}[/latex] |
| 上罩和下罩 | 在表达式的上方或下方放置水平大括号,使用 \overbrace{expression}^{label} 或者 \下划线{表达}_{标签}. |
\在{a+b+c}^{组}上方
|
[latex]\overbrace{a+b+c}^{group}[/latex]
[latex]underbrace{x_1 + x_2 + \dots + x_n}_{n \text{ terms}}[/latex] |
| 上划线和下划线 | 使用 \overline{expression} 或者 \下划线{表达}. |
\overline{A \cup B}
|
[latex]\overline{A\cup B}[/latex]
[latex]\underline{x+y}[/latex] |
| 矩阵和数组(数组环境) | 这 矩阵 环境用于在数学模式下创建矩阵或表格。可指定列对齐方式(c 表示居中,l 表示居左,r 表示居右)。使用方法 & 作为列分隔符,而 \\ 开始新的一行。通常用分隔符括起来,如 \left( \right) 或者 \left[ \right]. |
M = \begin{pmatrix} a & b \c & d \end{pmatrix}(使用 amsmath pmatrix)
|
[latex]M = \begin{pmatrix} a & b \ c & d \end{pmatrix}[/latex]
[latex]A = \left[ \begin{array}{cc|r} 1 & 2 & 3 \ 4 & 5 & 6 \end{array} \right][/latex] |
| 案例(案例环境) | 这 案件 环境(来自 amsmath 软件包)用于片断函数。每种情况都在新的一行中,以 \\.文本后 & 是典型的条件。 |
f(x) = \begin{cases} x^2 & \text{if }x Æ 0 \ -x & \text{if }x < 0 \end{cases}
|
[latex]f(x) = \begin{cases} x^2 & \text{if }x Æ 0 \ -x & \text{if }x < 0 \end{cases}[/latex]
[latex]|x| = \begin{cases} x & x > 0 \ 0 & x = 0 \ -x & x < 0 \end{cases}[/latex] |
| 对齐方程(对齐环境) |
这 提示: 有些渲染环境要求使用 "aligned"(对齐),而不是官方的 "align"(对齐)。 |
\begin{align} a &= b + c\x &= y - z \end{align}
|
[latex] (begin{align} a &= b + c \ x &= y - z \end{align}[/latex]
[latex]begin{align}E &= mc^2\ F &= ma\end{align}[/latex] |
| 对齐* 环境(无编号) | 相同 调整但不对方程编号。需要 amsmath 软件包。 |
\开始2x + 3y &= 5 (x - y &= 1) end{align*}
|
[latex] (开始{align*}2x + 3y &= 5 (x - y &= 1 ) end{align*}[/latex]
[latex]begin{align*}\cos^2\theta + sin^2\theta &= 1 (sec^2\theta - tan^2\theta &= 1 ) end{align*}[/latex] |
| 收集环境 | 这 会 环境(来自 "amsmath "软件包)将一组方程居中排列。每个方程都有一个数字。 |
\a^2 + b^2 = c^2 (x+y+z = 10) end{gather}
|
[latex] (begin{gather} a^2 + b^2 = c^2 (x+y+z = 10 ) end{gather}[/latex]
[latex]}begin{gather}\int e^x dx = e^x + C (frac{d}{dx})\sin(x) = cos(x) [/latex] |
| 多线方程(多线环境) | 这 多线 环境(来自 "amsmath "软件包)适用于需要分成多行的单一方程。第一行左对齐,最后一行右对齐,中间行居中。获取单个数字。 |
\a+b+c+d+e+f \ +g+h+i+j+k+l \ +m+n+o+p \end{multline}
|
[latex]\begin{multline} a+b+c+d+e+f \ +g+h+i+j+k+l \ +m+n+o+p \ end{multline}[/latex]
[latex] (begin{multline})\(text{long expression first part}) = (text{second part continued})+ (第三部分最后)\end{multline}[/latex] |
| 分割环境(在另一个数学环境中) | 这 (意见) 分歧 在另一个显示数学环境(如 方程式 或者 调整)可以将一个等式分割成多行并进行对齐,但它只能为整个等式块获取一个等式号。 |
\开始\H_c &= \frac{1}{2n}\sum_{l=0}^{n-1} (-1)^l (n-l)^{p-2} \binom{n-1}{l}\ & \quad \cdot [(N-l)\alpha N + N] \end{split}\end{equation}
|
[latex] (开始{公式}\H_c &= \frac{1}{2n}\sum_{l=0}^{n-1} (-1)^l (n-l)^{p-2} \binom{n-1}{l}\\ & \quad \cdot [(N-l)\alpha N + N] \end{split}\end{equation}[/latex]
[latex] (开始{公式}\(a+b)^3 &= (a+b)(a+b)^2 \ &= (a+b)(a^2+2ab+b^2) \ &= a^3+3a^2b+3ab^2+b^3 \ end{split}\end{equation}[/latex] |
| 数学模式下的文本 | 要在公式中包含正常文本(直立字体、正常间距),请使用 \text{ your text here}.需要 "amsmath "软件包。 |
E=mc^2 (爱因斯坦方程)
|
[latex]E=mc^2 (爱因斯坦方程)}[/latex]
[latex]x = 5 (text{ if } y > 0[/latex] |
| 数学模式下的间距 | LaTeX 通常可以很好地处理间距,但也可以使用以下命令进行手动调整 \, (薄空间)、 \: (中空)、 \; (厚空间)、 \! (负薄空间)、 \quad (空格)、 \qquad (2 em 空格)。 |
\f(x) dx(dx 前的细空间)
|
[latex]\int f(x)\, dx[/latex]
[latex]a \quad b \qquad c[/latex] |
| 点(椭圆) | 各种类型的点: \ldots (基线上)、 \cdots (居中)、 \vdots (垂直)、 \ddots (对角线)。 |
x_1, x_2, \ldots, x_n
|
[latex]x_1, x_2,\ldots, x_n[/latex]
[latex]A = \begin{pmatrix} a_{11} & \cdots & a_{1n}\\ a_{m1} & \cdots & a_{mn}\end{pmatrix}[/latex] |
| 载体 | 通常使用 \vec{v} 上方的小箭头,或粗体 \mathbf{v}. |
\vec{F} = m\vec{a}
|
[latex]\vec{F} = m\vec{a}[/latex]
[latex]\mathbf{x}\cdot \mathbf{y} = \sum x_i y_i[/latex] |
| 特殊符号(关系符号) | 符号,如 \leq (≤), \ggeq (≥), \neq (≠), \大约 (≈), \equiv (≡), \子集 (⊂), \在 (∈). |
a leq b \text{ and } x neq y
|
[latex]a \leq b \text{ and } x \neq y[/latex]
[latex]A \subset B \text{ or }A equiv B[/latex] |
| 特殊符号(运算符) | 二进制运算符,如 \ppm (±), \times (×), \div (÷), \cdot (-), \oplus (⊕), \时报 (⊗). |
x = \frac{-b \pm \sqrt{d}}{2a}
|
[latex]x = \frac{-b \pm \sqrt{d}}{2a}[/latex]
[latex]A \otimes B = C[/latex] |
| 特殊符号(箭头) | 箭头如 \rightarrow (→), \leftarrow (←), \右箭头 (⇒), \Leftrightarrow (⇔), \地图 (↦). |
x (右箭头) (左箭头
|
[latex]x \rightarrow \infty[/latex]
[latex]A \右箭 B \左箭 \负 A \光 B[/latex] |
| 特殊符号(杂项) | 符号,如 \infty (∞), \nabla (∇, nabla)、 \部分 (∂,偏导数)、 \hbar (ħ,h-bar)、 \全部 (∀,为所有)、 \存在 (∃,存在)。 |
\int_0^\infty e^{-x} dx = 1
|
[latex]\int_0^\infty e^{-x} dx = 1[/latex]
[latex]\nabla \times \mathbf{B} - \frac{1}{c^2}\frac{partial \mathbf{E}}{partial t} = \mu_0 \mathbf{J}[/latex] |
| 黑板粗体 | 用于实数 (ℝ)、复数 (ℂ) 等数集。需要 "amsfonts" 软件包(通常包含在 "amsmath "中)。命令是 \mathbb{R}. |
\在 \mathbb{R} 中
|
[latex]x \in \mathbb{R}[/latex]
[latex]z \in \mathbb{C}[/latex] 其中 [latex]z = a+bi[/latex] |
| 楷书(书法)字母 | 用于某些数学符号或集合。指令为 \mathcal{L}. |
mathcal{L}\{f(t)}(拉普拉斯变换)
|
[latex]\mathcal{L}\[/latex]
[latex]\mathcal{P}(S)[/latex] |
| 强制显示风格 | 这 \displaystyle 命令强制 LaTeX 对内联方程的一部分使用较大的 "显示 "样式,这对行文中的分数、和或积分非常有用,使其更易读。 |
Inline fraction \frac{1}{2} vs \displaystyle \frac{1}{2}。
|
Inline fraction [latex]\frac{1}{2}[/latex] vs [latex]\displaystyle \frac{1}{2}[/latex]。
Inline sum [latex]\sum_{i=1}^n x_i[/latex] vs [latex]\displaystyle \sum_{i=1}^n x_i[/latex]。 |
| 标记方程 | 使用 \标签 或覆盖有编号环境中的编号,以提供自定义标签。需要使用 "amsmath"。 |
\a^2+b^2=c^2 (毕达哥拉斯)\end{equation*}
|
[latex] (begin{equation*} a^2+b^2=c^2 \tag{Pythagoras}\end{equation*}[/latex]
[latex] (开始{公式}E=mc^2 \tag{ फेमस}\end{equation}[/latex] |
| 抑制方程编号 | 在 `align` 或 `eqnarray` 中(尽管 `align` 比 `eqnarray` 更受青睐),在 `\\` 前使用 `\nonumber` 来抑制特定行的编号。 |
\a &= b+c \end{align}
|
[latex] (begin{align} x &= y+z \nonumber \ a &= b+c \end{align}[/latex]
[latex] (begin{align} f(x) &= (x+1)^2 \ &= x^2+2x+1 \nonumber \end{align}[/latex] |
| 保留所有权利 - © 2025 innovation.word - https://innovation.world - 仅在注明出处并链接至本页的情况下方可转载。 | |||
笔记: 本博文只关注使用 LaTeX 的数学公式。 它并没有说明 LaTeX 的所有功能,如文档规范、页面管理和格式化、书目管理、版本控制、纳入内部和外部参考文献......
奖励 #1:混合使用 LateX 和 HTML 时的陷阱或混合使用编程语言时的陷阱
这种常见错误主要是由于在一种语言中转义或不转义特殊字符,而在另一种语言中对这些特殊字符的理解是不同的。 我们的 12 条最佳建议
- 不转义 LaTeX 特殊字符: 请注意,像 \, {, }, ^, _, $, &, #, % 这样的字符在 LaTeX 中具有特殊含义。如果这些字符是插入 LaTeX 字符串的数据的一部分(例如来自变量),则必须转义(例如:\%, \_, \textasciicircum)。
- 不转义 HTML/编程语言特殊字符: 反之,如果 LaTeX 代码作为字符串嵌入 HTML 或 编程语言,您可能需要转义该语言的特殊字符(例如,许多编程语言字符串中的()可能需要转义为 LaTeX 中的单反斜杠,或 HTML 中的 )。
- 数学分隔符或环境不匹配: 忘了结尾的 $ 表示内联数学,或 \) 表示 \(,或 \end{...} 表示类似 \begin{equation} ... \end{equation}这样的环境。这在以编程方式生成 LaTeX 时非常常见。
- 缺少 \usepackage 声明: 生成依赖于特定软件包的 LaTeX 代码(例如,amsmath 用于 \begin{align}、\text{}、\binom{};amssymb 用于 \mathbb{R}),而不在前言中包含必要的 \usepackage{packagename} ,尤其是在每个片段都被独立处理的情况下。
- 数学模式使用不当: 尝试在数学环境中直接使用文本模式命令而不使用 \text{...} (来自 amsmath),或在数学环境外使用数学模式命令。
- 假设命令/软件包普遍可用: 不同的 LaTeX 渲染引擎或最小化安装(如某些在线渲染器或轻量级服务器端工具)可能不支持完整 TeX Live 发行版中的所有命令或软件包。
- 在程序生成的 LaTeX 中忽略空白和换行: 虽然 LaTeX 通常能灵活处理空白,但在某些情况下(如在命令参数或某些环境中),程序逻辑插入的换行或额外空格会破坏 LaTeX 语法。
- 忽略了客户端与服务器端渲染的差异: 使用与 MathJax/KaTeX(客户端)配合良好的命令,但在服务器端生成 PDF 到图像时可能会导致问题或看起来不同,反之亦然。例如,一些复杂的布局宏可能会有不同的表现。
- 不处理来自 LaTeX 处理器的错误: if the generated LaTeX has an error, the rendering might fail silently or produce cryptic HTML output if error messages from the LaTeX 编者 (or MathJax/KaTeX) are not captured and handled by the integrating programming language.
- 在编程语言中不使用原始字符串的 LaTeX: 许多编程语言都会在字符串中解释反斜线。对于大量使用反斜线的 LaTeX 代码来说,使用原始字符串字面量(例如,LaTeX 中的 r"\frac{a}{b}" )通常会更好。 Python),以避免每个反斜线都需要双斜线(例如,"\\frac{a}{b}")。
- 无效率地重新渲染静态 LaTeX: 如果多次显示相同的 LaTeX 公式,每次请求时都要重新渲染(尤其是服务器端),而不是缓存生成的图像或 HTML 片段,就会成为性能瓶颈。
- 字体和样式冲突: 当 LaTeX 被渲染为图像或 SVG 并嵌入 HTML 时,其字体和样式可能会与周围 HTML 页面的 CSS 相冲突。确保一致性或优雅降级可能很棘手。
奖励 #2:LateX 最常用的附加库

- amsmath: 这是美国数学协会(AMS)推出的一个基础软件包,为排版高级数学公式提供了广泛的功能。它扩展了 LaTeX 的默认数学功能,为对齐方程、矩阵和各种数学结构提供了更多环境。
- amssymb: 该软件包是对 amsmath 的补充,提供了大量额外的数学符号和字体。
- graphicx(或 graphics): 将外部图像(如 JPG、PNG、PDF)纳入 LaTeX 文档的必备工具。它允许对图形进行缩放、旋转和其他操作。
- hyperref: 该软件包用于在文档中(如目录、引文、URL)和生成的 PDF 中创建超链接。
- 几何形状 提供了一种灵活简便的方法来更改页面布局尺寸,如页边距、纸张大小和文本区域。
- PGF/TikZ: 是一个功能强大、用途广泛的系统,可直接在 LaTeX 中创建矢量图形。TikZ 是 PGF 的用户友好语法层。它用于制作图表和复杂的插图。
- booktabs: 提高了表格的质量,与标准的 LaTeX 表格环境相比,表格的外观更专业,间距更合理。
- 列表: 用于排版各种编程语言的源代码列表,并提供语法高亮显示和格式选项。
- biblatex(通常使用 Biber 后端): 提供先进的、高度可定制的书目和引文管理,比传统的 BibTeX 更灵活。
- xcolor(或颜色): 允许在文档中使用文本、背景和其他元素的颜色。
- 枚举项目: 增强了对列表环境(如 itemize、enumerate 和 description)的控制,允许自定义标签、间距和布局。
- fancyhdr: 可对页眉和页脚进行广泛的自定义,从而实现带有章节标题、页码和其他信息的复杂布局。
结论
LaTeX 仍然是创建格式严谨的科技文档的主要工具,尤其是在要求准确性和清晰度的领域。通过掌握其全面的功能--从基本的文档结构和有效的文本格式到高级数学符号和无缝书目管理--工程师和研究人员可以制作出高质量的成果。这本小抄不仅是创建和编辑公式的实用指南,也是完善文档准备技能的邀请函,有助于完美地展示您的工作成果。
随着你对 LaTeX 使用的深入,它所提供的多种可能性将变得越来越明显。它处理复杂内容的精确性使其有别于传统的文字处理器,成为技术文档和研究出版物的不二之选。
常见问题
什么是 LaTeX,它与所见即所得编辑器相比有哪些优势?
LaTeX 文件的基本文档结构是什么?
如何在 LaTeX 中设置文本格式?
在 LaTeX 中排版数学表达式的方法有哪些?
如何在 LaTeX 文档中包含数字和表格?
LaTeX 中如何进行书目管理?
通常使用 LaTeX 制作哪些类型的文档?
相关主题
-
-
- 制作演示文稿: 使用 Beamer class 制作专业演示文稿和幻灯片。
- 处理不同语言: 使用多语言排版软件包和特定语言功能。
- 附录和词汇表 包括 LaTeX 文档中的附加信息部分和词汇表。
- 高级数学格式化: 利用高级功能进行复杂的数学符号和格式化。
- 将 LaTeX 转换为其他格式: 将 LaTeX 文档导出为 HTML、RTF 或其他文件类型的方法。
- 与版本控制集成: 使用版本控制系统协同管理 LaTeX 文档的修订版。
- 错误处理和调试 排查和修复 LaTeX 文档中常见错误的策略。
- 创建高质量图形 使用 TikZ 或 PGF 软件包生成并包括复杂的图形。
-











