如何在上下文中指定自己的方程编号?与 Latex 中的 align* 相比?

如何在上下文中指定自己的方程编号?与 Latex 中的 align* 相比?

我如何在上下文中重现此情况?我正在使用 TL 2023

\documentclass[12pt,notitlepage]{article}
\usepackage{amsmath}
\begin{document} 
\begin{align*} 
\sin x &= \int_{0}^\infty \cos x \,dx \tag{101}  \\
\sin y &= \int_{0}^\infty \cos y \,dy  \tag{ABC}
\end{align*} 
\end{document}

在此处输入图片描述

我不知道如何在上下文中给出我自己的方程编号。这是我的尝试(众多尝试之一)

\starttext
\placeformula
    \startformula
       \startmathalignment[n=1,align=right]
          \NC  \sin x = \int_{0}^\infty \cos x \,dx   \NR
          \NC  \sin y = \int_{0}^\infty \cos y \,dy   \NR
      \stopmathalignment
    \stopformula
\stoptext

使用编译context main.tex给出

在此处输入图片描述

在上面指定我想要的任何方程标签/数字的语法是什么?与 Latex 相同。

TL 2023

答案1

我不记得这是否进入了 TL2023,但你可以尝试这个:

\starttext

\samplefile{knuthmath}

\startplaceformula
  \startformula
    \startalign
      \NC  \sin x \EQ \int_{0}^\infty \cos x \dd x   \NR[eq:a]
      \NC  \sin y \EQ \int_{0}^\infty \cos y \dd y   \NR[eq:b]
    \stopalign
  \stopformula
\stopplaceformula

\samplefile{knuthmath}

\startformula
  \startalign[text:1={(101)},text:2={(ABC)}]
    \NC  \sin x \EQ \int_{0}^\infty \cos x \dd x   \NR
    \NC  \sin y \EQ \int_{0}^\infty \cos y \dd y   \NR
  \stopalign
\stopformula

\samplefile{knuthmath}

\startformula
  \sin x \alignhere = \int_{0}^\infty \cos x \dd x \texthere[right]{(101)}
  \breakhere
  \sin y \alignhere = \int_{0}^\infty \cos y \dd y \texthere[right]{(ABC)}
\stopformula

\samplefile{knuthmath}

\stoptext

结果

一些评论:

  • 很少有人再使用对齐了。第三种方法通常更容易、更自然,因为它不是在单元格中设置数学,而是在一个段落中设置。
  • \,不适用于 ConTeXt(事实上,它甚至可能被改为输出逗号)。这里使用\dd来获取原生微分 d。
  • 我不明白你align=right要做什么,所以我把它拿走了。
  • 在对齐中,我们可以使用text:1等来插入文本,但它们会插入到左侧。目前无法将它们插入到右侧。但如上所述,第三种方法更受欢迎。

有趣的是,我们(嗯,Hans 负责编码,我负责测试)本周还添加了一项功能,\numberhere这使得对齐变得不再那么必要。所以,如果我在这里做(尚未发布,因此只是个预告)

\startformula
  \sin x \alignhere = \int_{0}^\infty \cos x \dd x \numberhere
  \breakhere
  \sin y \alignhere = \int_{0}^\infty \cos y \dd y \numberhere
\stopformula

在我得到其他公式之后

编号段落公式

\numberhere[eq:foo]可以使用,以便人们可以参考它。

相关内容