以下引用自gauss
软件包文档:
该包定义了一个新的矩阵环境
gmatrix
,其行为与 Latex 和 AMS-Latex 的矩阵一样。
但是当使用gmatrix
环境时align
,输出是不是相当于相应的amsmath
环境:
\documentclass{scrartcl}
\usepackage{lmodern}
\usepackage{amsmath}
\usepackage{gauss}
\begin{document}
\begin{align*}
\begin{pmatrix}
0 & 1 & 0 & 1 & 1\\
1 & 0 & 1 & 1 & 1\\
1 & 1 & 0 & 1 & 0
\end{pmatrix}
\end{align*}
\begin{align*}
\begin{gmatrix}[p]
0 & 1 & 0 & 1 & 1\\
1 & 0 & 1 & 1 & 1\\
1 & 1 & 0 & 1 & 0
\end{gmatrix}
\end{align*}
\end{document}
括号的高度相同,但行距不同,我认为上面的版本看起来更好:
此外,整个矩阵的水平对齐方式略有不同,但这可能是因为在排版矩阵操作时需要一些额外的空间(这是包的重点gauss
)。
有趣的是,当使用equation
而不是 时align
,第一个问题就消失了。有没有办法让align
环境获得相同的行为?
答案1
该gauss
包直接用于\halign
构建矩阵。这使用当前的baselineskip,它align
被放大了。
\documentclass{scrartcl}
\usepackage{lmodern}
\usepackage{amsmath}
\usepackage{gauss}
\usepackage{etoolbox}
\makeatletter
\patchcmd\g@matrix
{\vbox\bgroup}
{\vbox\bgroup\normalbaselines}% restore the standard baselineskip
{}{}
\makeatother
\begin{document}
\begin{align*}
\begin{pmatrix}
0 & 1 & 0 & 1 & 1\\
1 & 0 & 1 & 1 & 1\\
1 & 1 & 0 & 1 & 0
\end{pmatrix}
\begin{gmatrix}[p]
0 & 1 & 0 & 1 & 1\\
1 & 0 & 1 & 1 & 1\\
1 & 1 & 0 & 1 & 0
\end{gmatrix}
\end{align*}
\begin{equation*}
\begin{pmatrix}
0 & 1 & 0 & 1 & 1\\
1 & 0 & 1 & 1 & 1\\
1 & 1 & 0 & 1 & 0
\end{pmatrix}
\begin{gmatrix}[p]
0 & 1 & 0 & 1 & 1\\
1 & 0 & 1 & 1 & 1\\
1 & 1 & 0 & 1 & 0
\end{gmatrix}
\end{equation*}
\end{document}