当某些行(但不是全部)前面有一个一元减号时,我对 TeX 中对齐矩阵的选项一直不太满意。我想实现一个环境,它可以自动检测前面的一元减号,并向\phantom{-}
不包含该减号的每一行添加一个。我不确定该怎么做,但也愿意接受其他解决方案。我的主要参数是,它需要像环境一样简单易用ams bmatrix
。
\phantom{-}
以下是我为什么认为这是可行的方法的 输出
以下是演示代码:
\documentclass{article}
\usepackage{mathtools} %for minus signes in matrices
\usepackage{amsmath,amsfonts,amssymb,amsthm} % For math equations, theorems, sy
\begin{document}
\begin{tabular}{cc}
Usual & \\ \hline
& \\
$
\begin{bmatrix}
1 & 2 & 12345\\
-5 & 2 & -5 \\
0 & -1 & 1
\end{bmatrix}
$
&
$
\begin{bmatrix}
1-\lambda & 2 & 12345\\
-5 & 2-\lambda & -5 \\
0 & -1 & 1-\lambda
\end{bmatrix}
$\\[1cm]
Right Aligned &\\ \hline
& \\
$
\begin{bmatrix*}[r]
1 & 2 & 12345\\
-5 & 2 & -5 \\
0 & -1 & 1
\end{bmatrix*}
$
&
$
\begin{bmatrix*}[r]
1-\lambda & 2 & 12345\\
-5 & 2-\lambda & -5 \\
0 & -1 & 1-\lambda
\end{bmatrix*}
$\\[1cm]
Phantom Minues & \\ \hline
& \\
$
\begin{bmatrix}
\phantom{-}1 & \phantom{-}2 & \phantom{-}12345\\
-5 & \phantom{-}2 & -5 \\
\phantom{-}0 & -1 & \phantom{-}1
\end{bmatrix}
$
&
$
\begin{bmatrix}
\phantom{-}1-\lambda & \phantom{-}2 & \phantom{-}12345\\
-5 & \phantom{-}2-\lambda & -5 \\
\phantom{-}0 & -1 & \phantom{-}1-\lambda
\end{bmatrix}
$
\end{tabular}
\end{document}
答案1
您可以声明一个列类型来查找-
\documentclass{article}
\usepackage{array}
\usepackage{mathtools} %for minus signes in matrices
\usepackage{amsmath,amsfonts,amssymb,amsthm} % For math equations, theorems, sy
\makeatletter
\def\zz\ignorespaces{\@ifnextchar-{}{\phantom{-}}}
\newcolumntype{C}{>{\zz}{c}}
\makeatother
\begin{document}
\begin{tabular}{cc}
Usual & \\ \hline
& \\
$
\begin{bmatrix*}[C]
1 & 2 & 12345\\
-5 & 2 & -5 \\
0 & -1 & 1
\end{bmatrix*}
$
&
$
\begin{bmatrix*}[C]
1-\lambda & 2 & 12345\\
-5 & 2-\lambda & -5 \\
0 & -1 & 1-\lambda
\end{bmatrix*}
$\\[1cm]
$
\begin{bmatrix*}[C]
1 & 2 & 12345\\
5 & 2 & -5 \\
0 & -1 & 1
\end{bmatrix*}
$
&
$
\begin{bmatrix*}[C]
1-\lambda & 2 & 12345\\
5 & 2-\lambda & -5 \\
0 & -1 & 1-\lambda
\end{bmatrix*}
$\\[1cm]
$
\begin{bmatrix}
\phantom{-}1 & \phantom{-}2 & \phantom{-}12345\\
-5 & \phantom{-}2 & -5 \\
\phantom{-}0 & -1 & \phantom{-}1
\end{bmatrix}
$
&
$
\begin{bmatrix}
\phantom{-}1-\lambda & \phantom{-}2 & \phantom{-}12345\\
-5 & \phantom{-}2-\lambda & -5 \\
\phantom{-}0 & -1 & \phantom{-}1-\lambda
\end{bmatrix}
$
\end{tabular}
\end{document}