ConTeXt 中的方程组

ConTeXt 中的方程组

在 LaTeX+ 中amsmath,我可以说

\documentclass{article}
\usepackage{amsmath}

\begin{document}
\begin{equation*}
  \left\{
    \begin{aligned}
      px-y-4&=0\\
      2x-2y-6m&=0
    \end{aligned}
  \right.
\end{equation*}
\end{document}

得到一个对齐的方程组,左边有一个括号。如何在 ConTeXt 中实现类似的效果?我试过说\startalign[left=\{]类似的话,但没有效果。

编辑:感谢 Aditya 和 Marco 在下面的评论,我想到这个:

\starttext
\startformula
  \startmathmatrix[left={\left\{},right={\right.},distance=0pt,align={right,left}]
    \NC px-y-4\NC{}=0\NC\NR
    \NC 2x-2y-6m\NC{}=0\NC\NR
  \stopmathmatrix
\stopformula
\stoptext

现在我的问题是:这能做得更好吗?我不太喜欢distance=0pt和这个{}东西(但我想这可以保持间距两个都等式两边的符号均匀分布)。

答案1

正如文档中提到的使用 \startalign在 ConTeXt 中显示数学您可以使用该\startmathmatrix … \stopmathmatrix环境。

为方程组定义自己的环境是有意义的。这样做的好处是,它具有逻辑标记性。“这是一个方程系统”而不是“这是一个多行公式,左侧有一个括号”。您可以全局更改方程系统的布局,这样可以保持源代码整洁,更易于阅读。

我也会去掉那副难看的牙套。但是,我没有找到正确的间距解决方案(要么等待 Aditya 的回复 - 他是数学专家,要么在邮件列表中询问)。

\definemathmatrix
  [eqnsystem]
  [left={\left\{},
   right=\right.,
   distance=.3em,
   align={right, left}]

\starttext
\startformula
  \starteqnsystem
    \NC px-y-4   \NC =0 \NC\NR
    \NC 2x-2y-6m \NC =0 \NC\NR
  \stopeqnsystem
\stopformula
\stoptext

结果

相关内容