因此,我一直在寻找在已经缩小的自定义矩阵中对齐文本的方法。请参阅下面的链接以供参考。
https://tex.stackexchange.com/a/59080/220808
在 \begin{pmatrix*} 中,我只需输入 [l] 即可将数字对齐到左侧,但在新命令中,这并不是那么简单。有人能帮我吗?
我在我的 .sty 文件中使用了它:
\newcommand{\colvec}[2][.8]{%
\scalebox{#1}{%
\renewcommand{\arraystretch}{.8}%
$\begin{bmatrix}#2\end{bmatrix}$%
}
}
在公式中我使用:
\colvec[0.9]{
-8.6831 \times 10^{-2}&-2.4059 \times 10^{-4}&-3.7120&1.0337 \times 10^{-1}\\
6.3872 \times 10^{-1}&4.5360 \times 10^{-3}&-2.4419 \times 10^{1}&3.7390 \times 10^{-1}\\
-1.1624&-5.3189 \times 10^{-2}&-5.8483 \times 10^{1}&1.0665
}
初始矩阵为:
\begin{pmatrix*}[l]
-8.6831 \times 10^{-2}&-2.4059 \times 10^{-4}&-3.7120&1.0337 \times 10^{-1}\\
6.3872 \times 10^{-1}&4.5360 \times 10^{-3}&-2.4419 \times 10^{1}&3.7390 \times 10^{-1}\\
-1.1624&-5.3189 \times 10^{-2}&-5.8483 \times 10^{1}&1.0665
\end{pmatrix*}
答案1
假设您希望能够使用另一个可选参数来控制对齐,这是一种可能性
\documentclass{article}
\usepackage{mathtools}
\makeatletter
\newcommand{\colvec}[1][.8]{%
\begingroup
\if\relax\detokenize{#1}\relax\def\@tempa{.8}\else\def\@tempa{#1}\fi
\@colvec}
\newcommand{\@colvec}[2][c]{%
\scalebox{\@tempa}{%
\renewcommand{\arraystretch}{.8}%
$\begin{bmatrix*}[#1]#2\end{bmatrix*}$}%
\endgroup}
\makeatother
\begin{document}
\colvec{1\\-2\\3412}
\qquad
\colvec[][l]{1\\-2\\3412}
\qquad
\colvec[.6]{1\\-2\\3412}
\qquad
\colvec[.6][r]{1\\-2\\3412}
\end{document}