使用任意文本在 ConTeXt 中标记方程式

使用任意文本在 ConTeXt 中标记方程式

问题:是否可以标记显示的方程式(在 ConTeXt 内部\startformula\stopformula使用任意标签?

使用 LaTeX 我可以

\documentclass[preview]{standalone}
\usepackage{amsmath}
\begin{document}
\begin{equation}
1+1=2\tag{A}
\end{equation}
\end{document}

结果

LaTeX 代码的结果

我认为以前人们可以在 ConTeXt 中写

\startTEXpage[offset=2bp]
\startformula
1+1=2\eqno{A}
\stopformula
\stopTEXpage

用 A 标记方程式,但现在我得到了最近的独立方程式,

ConTeXt 输出,不带标签

我希望标签像 LaTeX 示例中那样放在右侧,这样以后就无法引用公式了。为了让问题更清楚,我不要想要用字符 A、B、... 来给方程式编号,但实际上想要能够设置任意标签。抱歉,在问题的第一个版本中没有完全清楚地说明这一点。

我到目前为止的努力就是寻找一些可以适应的东西安装-en.pdf。我也在源代码中进行了搜索,该文件strc-mat.mkiv看起来很有趣,但我找不到它是否有我要找的东西。

答案1

正如其他人指出的那样,目前还没有干净的解决方案。但是,既然你说如果不能引用公式也没关系,那么你可以滥用后缀机制:

\defineformula[tag][numbersegments=2]

\starttext

\placeformula[test1]
\startformula E = mc^2 \stopformula

\placeformula[test2]{ABC}
\starttagformula E = mc^2 \stoptagformula

\placeformula[test3]
\startformula E = mc^2 \stopformula

We can still refer to other formulas: \in[test1] and \in[test3], but not the
tagged formula: \in[test2].

 \stoptext

在此处输入图片描述

请注意 将\placeformula{suffix}方程编号更改为n.suffix,其中n是当前方程编号。设置:

\defineformula[tag][numbersegments=2]

确保在tagformulas 中仅显示此数字的第二段(即仅suffix显示 )。

感谢@Metafox 建议简化我之前的回答。

答案2

您可以设置虚拟转换。但每个新标签都需要一个新的转换:

 \starttext

   \def\mytagforformulaA#1{testtesttest}
   \defineconversion[dummyA][\mytagforformulaA]
   \setupformulae[numberconversion=dummyA]
   \placeformula[test1]
   \startformula E = mc^2 \stopformula
   This is my reference: \in{formula}[test1].

   \def\mytagforformulaB#1{blublubblu}
   \defineconversion[dummyB][\mytagforformulaB]
   \setupformulae[numberconversion=dummyB]
   \placeformula[test2]
   \startformula E = mc^2 \stopformula
   This is my reference: \in{formula}[test2].

   This is my reference from 1: \in{formula}[test1].
 \stoptext

在此处输入图片描述

答案3

您可以使用 分配标签\placefomula并使用 更改外观\setupformulas

\setupformulas[numberconversion=Character]

\starttext

\placeformula[formulalabel]
\startformula
1+1=2
\stopformula

You can refer to the formula like this: \in[formulalabel]

\stoptext

在此处输入图片描述

相关内容