问题:是否可以标记显示的方程式(在 ConTeXt 内部
\startformula
并\stopformula
使用任意标签?
使用 LaTeX 我可以
\documentclass[preview]{standalone}
\usepackage{amsmath}
\begin{document}
\begin{equation}
1+1=2\tag{A}
\end{equation}
\end{document}
结果
我认为以前人们可以在 ConTeXt 中写
\startTEXpage[offset=2bp]
\startformula
1+1=2\eqno{A}
\stopformula
\stopTEXpage
用 A 标记方程式,但现在我得到了最近的独立方程式,
我希望标签像 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]
确保在tagformula
s 中仅显示此数字的第二段(即仅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