数学环境下行内向量的基线对齐问题

在描述行向量时,常采用只有单行元素的矩阵环境,例如matrixbmatrixpmatrix等矩阵环境来实现,当只有单行时,矩阵内元素的基线和矩阵外公式的基线并没有对齐,在大行距的情况下表现尤其明显。

下面的例子给出了该问题

\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 倍行距时的行内向量

在 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}

效果如下:

基线对齐模式下的行内向量

参考文献