Latex 公式对齐常用方式

注:本文为 “Latex 公式对齐” 相关文章合辑

未整理去重。


Latex 常见公式环境与对齐方式小节(重修版)

yanxiangtianji于 2017-01-28 18:03:14 发布

本文将讨论全局与局部的公式对齐方式的调节,并对比各种常见的公式环境的差异(尤其是在对齐方面),介绍多行公式、多公式的编写方式。

针对各种常见环境(尤其是多行公式环境)的差异,对它们分别适用于哪种应用环境提出建议。

全局设置

全局对齐

默认的公式对齐方式是居中对齐。

如果全文要大量使用左对齐方式,可以采用在 documentclass 或者 amsmath 包前面加上参数fleqn,这样全局的默认对齐方式就是左对齐了。

\documentclass[fleqn]{article}

\usepackage[fleqn]{amsmath}

公式跨页

默认一个公式环境里面的多行公式是不会跨页显示的,可以使用下面命令开启全局的自动跨页显示:

\allowdisplaybreaks

\allowdisplaybreaks[n]

n 的值为 0 到 4,表示分页的坚决程度,例如 0 表示能不分页就不分页,4 表示强制分页。

也可以在公式环境中使用\displaybreak手工指定分页,它同样可以带有这个参数。

常见公式环境及差异

关于公示环境有一下几点需要注意:

  1. 在这些环境里面默认的输入文本都是公式:

    即不需要再输入$ ... $\[ ... \]

    空格是被自动过滤的,如果需要调整间隔,需要插入文本或使用诸如\; \: \, \quad的公示环境间隔符。

  2. 如果要输入一般文本建议用 \text{...} 它由包 amstext 提供。

    它相对于 latex 内置的\mbox{...}的优势在于\text{}可以根据当前位置自动调整文本样式(尤其是大小),而\mbox{}采用统一的正文样式。这一点在文本被用作上下标的时候非常重要。

  3. 对于非简写的环境(begin 和 end 包裹的)都有两种形式,一种直接写环境名,会参与自动编号;另一种是在环境名后面加一个星号“*”,不会参与编号。如果没有有意修改,编号都是在最右边,在公式排版时,可以认为页面的右边缘被向左移动了一个编号所占用的距离。

下面的讨论为了描述简便都是在带有星号,并且页面是单栏的情况下进行的。

下面讨论各种常见公式环境,并重点讨论它们在对齐方面的差异。

简写形式(一个公式)

$ equation $
$$ equation $$
\[equation\]

它们的特点是都不产生编号公式。

后两种公式单独占一行,即不能嵌入正文中。

$$ ... $$表示的公式自动居中,而\[ ... \]表示的公式会根据配置的全局对齐方式对齐。

标准单个公式环境

\begin{equation}
...
\end{equation}

它是最一般的公式环境,表示一个公式,默认情况下之表示一个单行的公式,但是它的功能可以通过内嵌各种其他环境进行扩展。

它可以内嵌的一些关于对齐的环境,这些环境将在后面介绍。

align(多个公式)

这是最基本的对齐环境,其他多公式环境都不同程度地依赖它。

与表格环境一样,它采用”&“分割各个对齐单元,使用”\\“换行。

它的每行是一个公式,都会独立编号。

在排版过程中,它将&分出来的列又分成组,组间特定方式排版,具体方式在 flalign 环境中讨论。

\begin{align*}
 f(x) & = (x+a)(x+b) \\
   & = x^2 + (a+b)x + ab
\end{align*}

它看起来是这样的:

f ( x ) = ( x + a ) ( x + b ) = x 2 + ( a + b ) x + a b \begin{align*} f(x) & = (x+a)(x+b) \\ & = x^2 + (a+b)x + ab \end{align*} f(x)=(x+a)(x+b)=x2+(a+b)x+ab

其他多公式环境

这些环境的各自对齐方式会覆盖全局的对齐方式,例如即使全局配置的是居中对齐,而flalign也会使它的首列左对齐。

Environment name Description Notes
eqnarray eqnarray* Similar to align and align* Not recommended since spacing is inconsistent
multline multline* First line left aligned, last line right aligned Equation number aligned vertically with first line and not centered as with other environments.
gather gather* Consecutive equations without alignment
flalign flalign* Similar to align, but left aligns first equation column, and right aligns last column
alignat alignat* Takes an argument specifying number of columns. Allows to control explicitly the horizontal space between equations You can calculate the number of columns by counting & characters in a line and adding 1

表格参考自:https://en.wikibooks.org/wiki/LaTeX/Advanced_Mathematics

其中除了 eqnarray 是内置的以外,其他的都需要 amsmath 包支持。

需要注意的是表格中说的对齐方式是从大方面说的,例如flalign的首列左对齐是相对与整个页面而言的,而各行不同长度的第一列却采用右对齐的方式,即其中最长的一个的左端顶着页边,其他的列的右端与它的右端对齐。尾列的右对齐与之类似。后面详细说明。

1. eqnarray

align 相同,只是在名字上更直接地表示它包含了多个公式。

2. gather

它是最简单的多行公式环境,自己不提供任何对齐。其中的各行公式按照全局方式分别对齐。

在设置了全局左对齐之后,因为不存在内部各个公式之间对排版的干扰,这种环境非常适合写数学推导或者证明。

\begin{gather*}
E(X)=\lambda \qquad  D(X)=\lambda    \\
E(\bar{X})=\lambda   \\
D(\bar{X})=\frac{\lambda}{n}    \\
E(S^2)=\frac{n-1}{n}\lambda    \\
\end{gather*}

E ( X ) = λ D ( X ) = λ E ( X ˉ ) = λ D ( X ˉ ) = λ n E ( S 2 ) = n − 1 n λ \begin{gather*} E(X)=\lambda \qquad D(X)=\lambda \\ E(\bar{X})=\lambda \\ D(\bar{X})=\frac{\lambda}{n} \\ E(S^2)=\frac{n-1}{n}\lambda \\ \end{gather*} E(X)=λD(X)=λE(Xˉ)=λD(Xˉ)=nλE(S2)=nn1λ

3. flalign

虽然可以使用多个&,但是比较一般的用法是在只在等号前面使用一个&,它使所有列表现地像是根据等号对齐了,因此这个环境很适合用来编写多行的公式推导和数值计算过程。例如:

\begin{align}
E(S^2)   &=E\left(\frac{1}{n} \sum_{i=1}^n (X_i-\bar{X})^2\right) \\
&  =E\left(\frac{1}{n}\sum_{i=1}^n X_i^2\right) - E\left(\frac{1}{n}\sum_{i=1}^n 2\bar{X}X_i\right) + E\left(\frac{1}{n}\sum_{i=1}^n \bar{X}^2\right) \\
&  =EX^2 -E(\bar{X}^2)  \\
&  =DX + (EX)^2 - D\bar{X} - (E\bar{X})^2  \\
&  =\frac{n-1}{n}DX 
\end{align}

E ( S 2 ) = E ( 1 n ∑ i = 1 n ( X i − X ˉ ) 2 ) = E ( 1 n ∑ i = 1 n X i 2 ) − E ( 1 n ∑ i = 1 n 2 X ˉ X i ) + E ( 1 n ∑ i = 1 n X ˉ 2 )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值