ConTeXt 中对齐方程的网格

ConTeXt 中对齐方程的网格

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

相关内容