ConTeXt 中的网格排版对于单行方程式来说效果很好(见下面的第一个示例)。但是,如果将其替换为任意数量的对齐方程式(包括仅一个“对齐”方程式),则会导致页面的其余部分与网格不对齐(见下面的第二个示例)。我可以获得对齐方程组的网格排版吗?
\setuplayout
[grid=yes]
\setupindenting[yes,medium]
\definecolumnset[example][n=2]
\setupformulas[indentnext=auto]
\starttext
\showgrid
\startcolumnset[example]
\input knuth
\input knuth
\input knuth
\startformula
x^2 + y^2 = z^2
\stopformula
\input knuth
\input knuth
\input knuth
\stopcolumnset
\stoptext
将公式替换为
\startformula
\startmathalignment
\NC x^2 + y^2 \NC = z^2\NR[+]
\NC u^2 + v^2 \NC = w^2\NR[+]
\stopmathalignment
\stopformula
我明白了
答案1
最简单的解决方案是将公式包装成一对startlinecorrection ... stoplinecorrection
;这将忽略公式本身的网格,但会在网格上对齐它们后面的材料,我认为这就是您想要的。如果您需要更多控制,请查看第 4 章细节决定成败,可在[pragma 网站]上找到:1
答案2
也许这是一个错误。在 TeXlive 2017 中,您的 MWE 运行正常。
\setuplayout[grid=yes]
\setupindenting[yes,medium]
\definecolumnset[example][n=2]
\setupformulas[indentnext=auto]
\starttext
\showgrid
\startcolumnset[example]
\input knuth
\input knuth
\input knuth
\startformula
\startmathalignment
\NC x^2 + y^2 \NC = z^2\NR[+]
\NC u^2 + v^2 \NC = w^2\NR[+]
\stopmathalignment
\stopformula
\input knuth
\stopcolumnset
\stoptext
如果您使用最新测试版并且想要对这些对齐的公式进行编号,请使用
\placeformula
\startformula
\startmathalignment[number=auto,grid=both]
\NC x^2 + y^2 \NC = z^2\NR
\NC u^2 + v^2 \NC = w^2\NR
\stopmathalignment
\stopformula