数学环境下行内向量的基线对齐问题
在描述行向量时,常采用只有单行元素的矩阵环境,例如matrix
、bmatrix
、pmatrix
等矩阵环境来实现,当只有单行时,矩阵内元素的基线和矩阵外公式的基线并没有对齐,在大行距的情况下表现尤其明显。
下面的例子给出了该问题
\documentclass{standalone}
\usepackage{amsmath}
\linespread{1.5}\selectfont
\begin{document}
$\underline{A}=\begin{bmatrix}
\underline{A} & \underline{B} & \underline{C}
\end{bmatrix}$
\end{document}
效果如下
在 1.5 倍行距的情况下,基线明显没有对齐,在单倍行距下,会有一定的改善,但依然没有彻底解决该问题。查看bmatrix
的代码可以发现,其实际上为array
环境,其默认为垂直居中(array
宏包文档,1.2 节),因此在这里我们定义了一条命令,对array
环境指定对齐样式,如首行基线对齐t
,同时将行距设置为单倍行距。
\documentclass{standalone}
\usepackage{amsmath}
\linespread{1.5}\selectfont
\newcommand*{\rowvector}[2]
{%
\begingroup%
\linespread{1}\selectfont%
\everymath{\displaystyle}%
\begin{array}[t]{@{}*#1 c@{}}
#2
\end{array}%
\endgroup%
}
\newcommand*{\browvector}[2]{\left[\rowvector{#1}{#2}\right]}
\begin{document}
$\underline{A}=\browvector{3}{\underline{A} & \underline{B} & \underline{C}}$
\end{document}
效果如下: