如何沿数学轴对齐标记的数学表达式?

如何沿数学轴对齐标记的数学表达式?

我有一堆公式和图表,我想将它们与下面的一些标签对齐呈现。每个项目都是一个略微复杂的公式,具有不同的高度和深度,如下所示:

$$\halign{\hfil#\hfil&&\quad\hfil#\hfil\cr
\vrule width 8em height 8em&$\left(\matrix{1&2&3\cr 2 1 3}\right)$&$X$\cr
\noalign{\vskip1em}
$a=123$&$b=456$&$c=789$\cr}$$

其中\vrule代表某个图表。但是,如果我这样做,项目就不会在单元格内垂直居中。我可以将其添加\vfil到单元格中,但这样项目就只能与其边界框对齐,而不是与数学轴对齐。有没有办法将单元格条目对齐成一行,以便它们都与同一个数学轴对齐?

答案1

我应用$\vcenter{\hbox{\vrule width 8em height 8em}}$了该规则(图像)。

\documentclass{article}
\begin{document}

$$\halign{\hfil#\hfil&&\quad\hfil#\hfil\cr
$\vcenter{\hbox{\vrule width 8em height 8em}}$&$\left(\matrix{1&2&3\cr 2 1 3}\right)$&$X$\cr
\noalign{\vskip1em}
$a=123$&$b=456$&$c=789$\cr}$$
\end{document}

在此处输入图片描述

答案2

花些时间来定义有用的宏,以减轻您重复做同样事情的负担。

这里\xeqalign模仿的是\eqalign

\catcode`@=11
\def\xeqalign#1{%
  \null\vcenter{\openup\jot\m@th
    \ialign{\hfil$\displaystyle{##}$\hfil&&\quad\hfil$\displaystyle{##}$\hfil\crcr#1\crcr}%
  }%
}
\def\vcen#1{%
  \vcenter{\hbox{$\m@th\displaystyle{#1}$}}%
}
\catcode`@=12

$$
\openup2\jot
\xeqalign{
\vcen{\vrule width 8em height 8em}&
  \pmatrix{1&2&3\cr 2 1 3}&X\cr
  a=123&b=456&c=789\cr
}
$$

\bye

在此处输入图片描述

相关内容