例子:
\starttext
\startformula
\startalign[n=2,align={right,left}]
\NC x
\NC = a ~ long ~ sequence ~ of ~ terms
\NR
\NC y
\NC = ok ~ left
\NR
\NC \startmatrix[left={\left\lbrack},right={\right\rbrack}]
\NC x \NR
\NC y \NR
\stopmatrix
\NC = why ~ right?
\NR
\NC y
\NC = ok ~ left ~ again
\NR
\stopalign
\stopformula
\stoptext
矩阵之后,指定的对齐\startalign
不再应用:
我认为这与https://mailman.ntg.nl/pipermail/ntg-context/2017/089631.html但那里的代码片段并没有解决我的问题。
使用
\NC \omit $\displaystyle ...$ \hfill
我可以将未对齐行的内容推到左侧,但等号周围的间距就不太正确了。有没有更好的解决方案(理想情况下是可以解决整个文档的问题)?
版本:2019.03.21 21:39
答案1
这是数学矩阵代码中的一个错误,是在尝试修复先前的限制(嵌套矩阵不继承距离键)时引入的。它已在最新测试版(2018.04.04)。
为了完整起见,这里是与问题中的 MWE 相对应的输出:
\starttext
\startformula
\startalign[n=2,align={right,left}]
\NC x
\NC = a ~ long ~ sequence ~ of ~ terms
\NR
\NC y
\NC = ok ~ left
\NR
\NC \startmatrix[left={\left\lbrack},right={\right\rbrack}]
\NC x \NR
\NC y \NR
\stopmatrix
\NC = why ~ right?
\NR
\NC y
\NC = ok ~ left ~ again
\NR
\stopalign
\stopformula
\stoptext
答案2
您的问题看起来像是一个错误。以下是使用三列而不是两列的解决方法:
\starttext
\def\xymatrix{ \startmatrix[left={\left\lbrack},right={\right\rbrack}] \NC x \NR \NC y \NR \stopmatrix }
\startformula
\startalign[n=3,align={right,left,left}]
\NC \NC x \NC = a ~ long ~ sequence ~ of ~ terms \NR
\NC \NC y \NC = ok ~ left \NR
\NC \xymatrix \NC \NC = why ~ right? \NR
\NC \NC y \NC = ok ~ left ~ again \NR
\stopalign
\stopformula
\stoptext