bmatrix
我有 8 个向量,它们在对齐环境中显示如下:
但如您所见,第一个向量略细,导致其余向量也未对齐。如何使第一个向量与其他向量一样宽?如果有人知道如何使高度也相同,那就更棒了!
以下是 MWE:
\documentclass[preview, border = 2pt]{standalone}
\usepackage{amsmath}
\begin{document}
\begin{align*}
b_1 &= \begin{bmatrix} 0 \\ 0 \end{bmatrix}, \quad b_2 = \begin{bmatrix} \frac{1}{3} \\ 0 \end{bmatrix}, \quad
b_3 = \begin{bmatrix} 0 \\ \frac{1}{3} \end{bmatrix}, \quad b_4 = \begin{bmatrix} \frac{1}{3} \\[.1cm] \frac{2}{3} \end{bmatrix} \\
b_5 &= \begin{bmatrix} \frac{2}{3} \\[.1cm] \frac{2}{3} \end{bmatrix}, \quad b_6 = \begin{bmatrix} \frac{2}{3} \\ 0 \end{bmatrix}, \quad
b_7 = \begin{bmatrix} 0 \\ \frac{2}{3} \end{bmatrix}, \quad b_8 = \begin{bmatrix} \frac{2}{3} \\[.1cm] \frac{1}{3} \end{bmatrix}
\end{align*}
\end{document}
编辑:以下解决方案(也由 Ignasi 提供)不符合我的需要,因为我也有一些不需要align
环境的单行情况,并且它在方程之间看起来很奇怪。
\documentclass[preview, border = 2pt]{standalone}
\usepackage{amsmath}
\begin{document}
\begin{align*}
b_1 &= \begin{bmatrix} 0 \\ 0 \end{bmatrix},
&
b_2 &= \begin{bmatrix} \frac{1}{3} \\ 0 \end{bmatrix},
&
b_3 &= \begin{bmatrix} 0 \\ \frac{1}{3} \end{bmatrix},
&
b_4 &= \begin{bmatrix} \frac{1}{3} \\ \frac{2}{3} \end{bmatrix} \\
b_5 &= \begin{bmatrix} \frac{2}{3} \\ \frac{2}{3} \end{bmatrix},
&
b_6 &= \begin{bmatrix} \frac{2}{3} \\ 0 \end{bmatrix},
&
b_7 &= \begin{bmatrix} 0 \\ \frac{2}{3} \end{bmatrix},
&
b_8 &= \begin{bmatrix} \frac{2}{3} \\ \frac{1}{3} \end{bmatrix}
\end{align*}
\end{document}
答案1
这里有两个不同的间距问题。第一个是 的0
宽度不如\frac{2}{3}
。可以通过将 中的第一个数字 0 设置\makebox
为与 相同的宽度来纠正此问题。
第二个问题是您有两个不同的括号大小。当您用 修正间距时\\[.1cm]
,您会得到一个分数项的难看的对齐,以及两个分数项的下一个更大的括号大小。好吧,如果这两个括号大小前面的间距相同,那么这不会是一个问题。不幸的是,事实并非如此。较大的括号在其前面占据了更多的空间。
最简单的方法是将所有向量放大到相同的大小。这样做,您将获得所需的水平对齐。
我使用了一些 Stefan Kottwitz 魔法为每个矩阵提供了一个可选的拉伸参数。我添加了该lua-visual-debug
包以证明完美对齐。您可以删除它并改用 PDFLaTeX 进行编译。
% arara: lualatex
\documentclass{article}
\usepackage{amsmath}
\usepackage{calc}
\usepackage{lua-visual-debug}
\makeatletter
\renewcommand*\env@matrix[1][\arraystretch]{%
\edef\arraystretch{#1}%
\hskip -\arraycolsep
\let\@ifnextchar\new@ifnextchar
\array{*\c@MaxMatrixCols c}}
\makeatother
\begin{document}
\begin{align*}
b_1 &= \begin{bmatrix}[1.2] \makebox[\widthof{$\frac{1}{2}$}][c]{0} \\ 0 \end{bmatrix}, \quad
b_2 = \begin{bmatrix}[1.2] \frac{1}{3} \\ 0 \end{bmatrix}, \quad
b_3 = \begin{bmatrix}[1.2] 0 \\ \frac{1}{3} \end{bmatrix}, \quad
b_4 = \begin{bmatrix}[1.2] \frac{1}{3}\\\frac{2}{3}\end{bmatrix}\\
%%%%%%%%%%
b_5 &= \begin{bmatrix}[1.2] \frac{2}{3} \\ \frac{2}{3} \end{bmatrix}, \quad
b_6 = \begin{bmatrix}[1.2] \frac{2}{3} \\ 0 \end{bmatrix}, \quad
b_7 = \begin{bmatrix}[1.2] 0 \\ \frac{2}{3} \end{bmatrix}, \quad
b_8 = \begin{bmatrix}[1.2] \frac{2}{3} \\ \frac{1}{3} \end{bmatrix}
\end{align*}
\end{document}
答案2
align
可以有任意多个对齐点,而不只有一个:
\documentclass[preview, border = 2pt]{standalone}
\usepackage{amsmath}
\begin{document}
\begin{align*}
b_1 &= \begin{bmatrix} 0 \\ 0 \end{bmatrix},
&
b_2 &= \begin{bmatrix} \frac{1}{3} \\ 0 \end{bmatrix},
&
b_3 &= \begin{bmatrix} 0 \\ \frac{1}{3} \end{bmatrix},
&
b_4 &= \begin{bmatrix} \frac{1}{3} \\ \frac{2}{3} \end{bmatrix} \\
b_5 &= \begin{bmatrix} \frac{2}{3} \\ \frac{2}{3} \end{bmatrix},
&
b_6 &= \begin{bmatrix} \frac{2}{3} \\ 0 \end{bmatrix},
&
b_7 &= \begin{bmatrix} 0 \\ \frac{2}{3} \end{bmatrix},
&
b_8 &= \begin{bmatrix} \frac{2}{3} \\ \frac{1}{3} \end{bmatrix}
\end{align*}
\end{document}