如何用纯 TeX 编写垂直向量

如何用纯 TeX 编写垂直向量

我想在不使用命令的情况下在纯 TeX 中右移一个列向量\matrix(否则它看起来太宽了)。我该怎么做?

答案1

我假设宽是指分隔符和内部内容之间的间距。

\matrix是用宏定义的\thinmuskip(即,默认情况下为) 。3 mu\,

它的完整定义如下:

\def\matrix#1{\null\,\vcenter{\normalbaselines\m@th
    \ialign{\hfil$##$\hfil&&\quad\hfil$##$\hfil\crcr
      \mathstrut\crcr\noalign{\kern-\baselineskip}
      #1\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}\,}

\tightmatrix因此,您可以通过复制上面的内容(不带“'s” )来制作自己的内容\,,例如:

\def\tightmatrix#1{\null\vcenter{\normalbaselines\mathsurround=0pt
  \ialign{\hfil$##$\hfil&&\quad\hfil$##$\hfil\crcr
    \mathstrut\crcr\noalign{\kern-\baselineskip}
    #1\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}}
\def\bmatrix#1{\left[\tightmatrix{#1}\right]}

$$ A \left[ \matrix{a_1\cr a_2} \right] B $$
$$ A \bmatrix{a_1\cr a_2} B $$ % can have more than two rows
$$ A {a_1\atopwithdelims[] a_2} B $$ % aka \brack only two rows
\bye

也许可以考虑将\vcenter里面包裹起来\mathinner

以下是比较:

在此处输入图片描述

我最喜欢最后一个的整体间距,但对于超过两行的情况,您需要开始添加样式更改和分组,而且很快就会变得非常混乱。

答案2

以下是我使用 LaTeX MWE 更正的答案:

\documentclass{article}
\usepackage{plain}
\begin{document}
\begin{plain}
$$\left[\vcenter{\hbox{$\mathstrut a_1$}\hbox{$\mathstrut a_2$}}\right]$$
\end{plain}
\end{document}

列向量

相关内容