上下文:自定义 \intertext

上下文:自定义 \intertext

在 ConTeXt 文件中,我想插入一行文本\eqalign

当我使用时\intertext

\starttext
\startalignment[middle]
$\eqalign{
  a &= b \cr
  \intertext{and}
  b &= c \cr
}$
\stopalignment
\stoptext

我得到了左对齐的方程式,并且在插入行周围有较大的垂直间距: 当前结果

我需要一个基于\intertext此的自定义宏:

  • 像我所有的方程一样保持方程居中,
  • 不添加垂直间距。

结果应如下所示: 想要的结果

我的黑客尝试ConTeXt 的定义\intertext

\def\intertext#1%
  {\noalign{\math_intertext{#1}}}

\unexpanded\def\math_intertext#1%
  {\penalty\postdisplaypenalty
   \afterdisplayspace
   \vbox{\forgetall\noindent#1\par}%
   \penalty\predisplaypenalty
   \beforedisplayspace}

均未成功。

答案1

该命令使用和键\intertext添加正常的公式空间设置。spacebeforespaceafter\setupformula

\setupformula
  [spacebefore=small,
   spaceafter=none]

\starttext

\startformula
    \startmathalignment
        \NC a \EQ b \NR
        \intertext{\midaligned{and}}
        \NC b \EQ c \NR
    \stopmathalignment
\stopformula

\stoptext

相关内容