我有两个问题
- 我如何水平对齐它们,即如何使第 4、5 和 6 列与第 1、2 和 3 列的宽度相同?
- 如何垂直对齐它们,即如何使长度相等,以便所有矩阵的顶部和底部对齐。
我正在使用环境 bsmallmatrix,因为我希望将此解决方案应用于 24x24 矩阵。
我曾尝试使用描述的 align* 方法这里以及描述的 arraystetch 命令这里,这些并没有得到预期的结果,但可能是我使用错了。
这是我的 Latex 代码的一个示例。
\documentclass[a4 paper,11 pt]{article}
\usepackage{amsmath}
\usepackage{esvect}
\newenvironment{bsmallmatrix}
{\left[\begin{smallmatrix}}
{\end{smallmatrix}\right]}
\begin{document}
\begin{equation}
\frac{d^2}{dt^2}
\begin{bsmallmatrix}
X_e \\
Y_e \\
Z_e \\
X'_e \\
Y'_e \\
Z'_e
\end{bsmallmatrix}
=
\begin{bsmallmatrix}
0 & 0 & 0 & 1 & 0 & 0 \\
0 & 0 & 0 & 0 & 1 & 0 \\
0 & 0 & 0 & 0 & 0 & 1 \\
\ddot{\vv{r}}_{e_{x}} & 0 & 0 & 0 & 0 & 0 \\
0 & \ddot{\vv{r}}_{e_{y}} & 0 & 0 & 0 & 0 \\
0 & 0 & \ddot{\vv{r}}_{e_{z}} & 0 & 0 & 0\\
\end{bsmallmatrix}
\begin{bsmallmatrix}
X_e \\
Y_e \\
Z_e \\
X'_e \\
Y'_e \\
Z'_e
\end{bsmallmatrix}
\end{equation}
\end{document}
提前致谢
答案1
我建议使用包\bracketMatrixstack
中的tabstackengine
。行基线间距和列间距是可设置的,还可以要求所有列的宽度相同(基于最宽的列内容)。还可以指定单元格样式,此处为\scriptstyle
。
\documentclass[a4 paper,11 pt]{article}
\usepackage{amsmath}
\usepackage{esvect}
\usepackage{tabstackengine}
\TABstackMath
\TABstackMathstyle{\scriptstyle}% CELL STYLE
\setstackgap{L}{9pt}% ROW BASELINESKIP
\setstacktabbedgap{1pt}% INTER-COLUMN GAP
\fixTABwidth{T}% MAKE ALL COLUMNS EQUAL WIDTH
\begin{document}
\begin{equation}
\frac{d^2}{dt^2}
\bracketMatrixstack{
X_e \\
Y_e \\
Z_e \\
X'_e \\
Y'_e \\
Z'_e
}
=
\bracketMatrixstack{
0 & 0 & 0 & 1 & 0 & 0 \\
0 & 0 & 0 & 0 & 1 & 0 \\
0 & 0 & 0 & 0 & 0 & 1 \\
\ddot{\vv{r}}_{e_{x}} & 0 & 0 & 0 & 0 & 0 \\
0 & \ddot{\vv{r}}_{e_{y}} & 0 & 0 & 0 & 0 \\
0 & 0 & \ddot{\vv{r}}_{e_{z}} & 0 & 0 & 0
}
\bracketMatrixstack{
X_e \\
Y_e \\
Z_e \\
X'_e \\
Y'_e \\
Z'_e
}
\end{equation}
\end{document}