数组环境中的垂直对齐

数组环境中的垂直对齐

我已经制作了以下阵列

\begin{equation*}
\begin{array}{c|ccc}
\hline
{}          &  {\bf{b}}_1  &  {\bf{b}}_2   &  {\bf{b}}_3  \\
\hline
{\bf{a}}_1  &  \cos\theta  &  -\sin\theta  &  0  \\
{\bf{a}}_2  &  \sin\theta  &  \cos\theta   &  0  \\
{\bf{a}}_3  &      0       &       0       &  1  \\
\hline
\end{array}
\end{equation*}

输出如下

在此处输入图片描述

我怎样才能垂直对齐sin第二cos列?

答案1

您可以在第二行\phantom{-}之前立即插入一条指令。\cos\theta

哦,不要使用\bf——而是使用\mathbf\bf自 1994 年以来,在 LaTeX 文档中已被弃用。它仍然适用于articlereportbook文档类,但不再适用于 KOMA 脚本和memoir类。

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation*}
\begin{array}{c|ccc}
\hline
     &  \mathbf{b}_1  &  \mathbf{b}_2   &  \mathbf{b}_3  \\
\hline
\mathbf{a}_1  &  \cos\theta  &            -\sin\theta  &  0 \\
\mathbf{a}_2  &  \sin\theta  &  \phantom{-}\cos\theta  &  0 \\
\mathbf{a}_3  &      0       &                  0      &  1 \\
\hline
\end{array}
\end{equation*}
\end{document}

附录:为了使数组更加“美观”——这是您在后续评论中提到的标准 :-)——您可能需要微调第二和第三数据列的水平定位使整个数组看起来更加“开放”,例如,通过使用包的画线宏booktabs

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath,booktabs}
\begin{document}
\begin{equation*}
\begin{array}{@{}ccc@{\qquad}c@{}}
\toprule
& \mathbf{b}_1 & \phantom{-}\mathbf{b}_2 & \mathbf{b}_3 \\
\cmidrule(l){2-4}
\mathbf{a}_1  &  \cos\theta  &            -\sin\theta & 0 \\
\mathbf{a}_2  &  \sin\theta  &  \phantom{-}\cos\theta & 0 \\
\mathbf{a}_3  &      0       &  \phantom{-}0          & 1 \\
\bottomrule
\end{array}
\end{equation*}
\end{document}

答案2

另一个选择是这种情况是r对数据使用列对齐,并将\multicolumn{1}{c}{}标题和零居中:

在此处输入图片描述

代码:

\documentclass{article}
\usepackage{amsmath}

\newcommand*{\Mc}[1]{\multicolumn{1}{c}{#1}}%

\begin{document}
\begin{equation*}
\begin{array}{c|rrc}
\hline
     &  \Mc{\mathbf{b}_1}  &  \Mc{\mathbf{b}_2}   &  \Mc{\mathbf{b}_3}  \\
\hline
\mathbf{a}_1  &  \cos\theta  & -\sin\theta  &  0 \\
\mathbf{a}_2  &  \sin\theta  &  \cos\theta  &  0 \\
\mathbf{a}_3  &    \Mc{0}     &    \Mc{0}   &  1 \\
\hline
\end{array}
\end{equation*}
\end{document}

相关内容