使用分数调整矩阵大小

使用分数调整矩阵大小

我试图将两个矩阵的差异写如下:

代码:

\documentclass{standalone}
\usepackage{amsmath}
\begin{document}
$$\begin{bmatrix}
    1 \\[2ex]
    0 \\[2ex]
    0
  \end{bmatrix}
  - 
  \begin{bmatrix}
    \dfrac{1}{2} \\[2ex]
    \dfrac{1}{2} \\[2ex]
    \dfrac{1}{2}
  \end{bmatrix}
  = 
  \begin{bmatrix}
    \dfrac{1}{2} \\[2ex]
    -\dfrac{1}{2} \\[2ex]
    -\dfrac{1}{2}
  \end{bmatrix}$$
\end{document}

输出:

在此处输入图片描述

我只是想知道如何使 <1, 0, 0> 矩阵与其他矩阵大小相同,或者任何显示此表达式的更好的解决方案都将不胜感激!

答案1

如果希望整个数组自动对齐(不使用\vphantom),则可以使用{NiceArray}nicematrix您至少需要 v. 5.15 (2021-04-25)。

\documentclass{article}
\usepackage{nicematrix}
\begin{document}

$A = \begin{NiceArray}{[c]c[c]c[c]}[cell-space-limits=2pt]
1 &   & \frac{1}{2} &   & \frac{1}{2} \\
0 & - & \frac{1}{2} & = & -\frac{1}{2} \\
0 &   & \frac{1}{2} &   & -\frac{1}{2} 
\end{NiceArray}$
 
\end{document}

上述代码的输出

答案2

你可以添加一些\vphantom

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[\begin{bmatrix}
    \vphantom{\frac{1}{2}}1 \\[2ex]
    \vphantom{\frac{1}{2}}0 \\[2ex]
    \vphantom{\frac{1}{2}}0
  \end{bmatrix}
  - 
  \begin{bmatrix}
    \frac{1}{2} \\[2ex]
    \frac{1}{2} \\[2ex]
    \frac{1}{2}
  \end{bmatrix}
  = 
  \begin{bmatrix}
    \frac{1}{2} \\[2ex]
    -\frac{1}{2} \\[2ex]
    -\frac{1}{2}
  \end{bmatrix}\]
\end{document}

上述代码的输出

答案3

我使用过一个名为 spalign 的旧包...我建议不要使用,\dfrac因为您将获得原始屏幕截图。 :-) 在我放置了几个\\空白空间后...我认为这个包中没有用于行/列的选项。您也可以对所有向量使用\spalignvector而不是\spalignmat

\documentclass[a4paper,12pt]{article}
\usepackage{spalign}
\begin{document}
\[ \spaligndelims{[}{]} \spalignmat{1\\; 0\\; 0} - \spalignmat{\frac{1}{2}\\; \frac{1}{2}\\; \frac{1}{2}}=\spalignvector[r]{\frac{1}{2}\\ -\frac{1}{2}\\ -\frac{1}{2}}\]
\[ \spaligndelims{[}{]} \spalignmat{1; 0; 0} - \spalignmat{\frac{1}{2}; \frac{1}{2}; \frac{1}{2}}=\spalignvector[c]{\frac{1}{2} -\frac{1}{2} -\frac{1}{2}}\]
\[ \spaligndelims{[}{]} \spalignmat{1\\; 0\\; 0} - \spalignmat{\frac{1}{2}\\; \frac{1}{2}\\; \frac{1}{2}}=\spalignvector[c]{\frac{1}{2}\\ -\frac{1}{2}\\ -\frac{1}{2}}\]
\end{document}

您可以看到我使用了\spalignvector[lcr] 来使向量的元素居中 (c)。

在此处输入图片描述

答案4

普通 TeX 解决方案:

$$
  \def\mymatrix#1{\left[\matrix{#1}\right]}
  \normalbaselineskip=15pt
  \mymatrix{1\cr 0\cr 0} - \mymatrix{1\over2\cr 1\over2\cr 1\over2} =
                           \mymatrix{1\over2\cr -{1\over2}\cr -{1\over2}}
$$
\bye

相关内容