我想\phantom{-}
向矩阵的每一列添加至少一个-
前面带有 的条目。这是一个答案我当前的代码就是基于此。它插入\phantom{-}
在每一个条目不是负面的,但这不是我真正想要的。
我目前的尝试附在下面。请注意,在没有负数的数组中,它会在每个条目前面插入幻像,从而增加整体宽度。
\documentclass{article}
\usepackage{amsmath}
\usepackage{array}
\usepackage{etoolbox}
\begin{document}
\[
\begin{bmatrix}
1 & 2 & 12345 \\
5 & 2 & 5 \\
0 & 1 & 1
\end{bmatrix}
\]
% code that inserts \phantom{-}
\makeatletter
\def\env@matrix[#1]{\hskip -\arraycolsep
\let\@ifnextchar\new@ifnextchar
\array{*\c@MaxMatrixCols #1}}
\@tfor\@temp:=\matrix\pmatrix\bmatrix\Bmatrix\vmatrix\Vmatrix\do
{\expandafter\patchcmd\@temp
{\env@matrix}
{\@ifnextchar[
\env@matrix{\env@matrix[C]}}
{}{\FAILED}}
\newcolumntype{C}{>{\CheckSign}c}
\def\CheckSign\ignorespaces{%
\@ifnextchar-{}{\@ifnextchar+{}{\phantom{-}}}}
\makeatother
\[
\begin{bmatrix}
1 & 2 & 12345 \\
5 & 2 & 5 \\
0 & 1 & 1
\end{bmatrix}
\]
\end{document}