我正在尝试使用数组环境创建一个“矩阵”。我有多行这样的行,每行旁边都有不同长度的文本。我希望数组对齐;然而,在下面的例子中,文本的不同长度改变了这种对齐方式
\documentclass{article}
\usepackage{gensymb}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{dcolumn}
\newcolumntype{R}{D{.}{.}{2,6}}
\begin{document}
\[
\left[
\begin{array}{@{}RR|R@{}}
0.28 &0.72 &45\\
0.72 &0.28 &55\\
\end{array}
\right]
test
\]
\[
\left[
\begin{array}{@{}RR|R@{}}
0.28 &0.72 &45\\
0.2016 &0.0784 &15.4\\
\end{array}
\right]
test1
\]
\[
\left[
\begin{array}{@{}RR|R@{}}
0.2016 &0.5184 &32.4\\
0.2016 &0.0784 &15.4\\
\end{array}
\right]
test12
\]
\end{document}
我尝试使用 /hfill 和 align/* 环境,但没有成功;然而,我对乳胶的了解极其有限。
答案1
我会用aligned
(而siunitx
不是dcolumn
)
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{siunitx}
\newcolumntype{R}[1]{S[table-format=#1]}
\begin{document}
\[
\begin{aligned}
\left[
\begin{array}{@{}R{2.4}R{2.4}|R{2.1}@{}}
0.28 &0.72 &45\\
0.72 &0.28 &55\\
\end{array}
\right]
&\quad\text{test}
\\
\left[
\begin{array}{@{}R{2.4}R{2.4}|R{2.1}@{}}
0.28 &0.72 &45\\
0.2016 &0.0784 &15.4\\
\end{array}
\right]
&\quad\text{test1}
\\
\left[
\begin{array}{@{}R{2.4}R{2.4}|R{2.1}@{}}
0.2016 &0.5184 &32.4\\
0.2016 &0.0784 &15.4\\
\end{array}
\right]
&\quad\text{test12}
\end{aligned}
\]
\end{document}
答案2
您可以将右侧的文本材料放入固定宽度的\parbox
:
下面代码中选择的固定宽度是2cm
;您显然可以根据排版需要随意调整此宽度。还请注意,默认情况下,a 的内容在文本模式下排版;即使发生在数学模式中\parbox
也是如此。\parbox
\documentclass{article}
\usepackage{gensymb}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{dcolumn}
\newcolumntype{R}{D{.}{.}{2,6}}
\begin{document}
\[
\left[
\begin{array}{@{}RR|R@{}}
0.28 &0.72 &45\\
0.72 &0.28 &55\\
\end{array}
\right]
\parbox{2cm}{test}
\]
\[
\left[
\begin{array}{@{}RR|R@{}}
0.28 &0.72 &45\\
0.2016 &0.0784 &15.4\\
\end{array}
\right]
\parbox{2cm}{test1}
\]
\[
\left[
\begin{array}{@{}RR|R@{}}
0.2016 &0.5184 &32.4\\
0.2016 &0.0784 &15.4\\
\end{array}
\right]
\parbox{2cm}{test12}
\]
\end{document}