我怎样才能在 Context 中使用网格布局,但它不应该强制对标题、图片、表格等进行严格的网格排版?只有段落需要始终在网格上。我该如何实现这一点?下面的示例不起作用。
\setuplayout[grid=yes]
\setuppagenumbering[alternative=doublesided,location=right]
\setuphead[section][grid=no]
\showgrid
\starttext
\startchapter[title=First chapter]
\input lorem
\startsection[title=First section]
\input lorem
\stopsection
\stopchapter
\stoptext
答案1
以我的经验,TeX 中的网格排版很困难。人们经常需要手动调整。在你的问题中,你问如何设置标题、图片、表格等以不使用网格。问题是人们想回到网格,那么应该如何先脱离网格然后再返回网格?在底部和顶部要添加/删除什么空间?
在 ConTeXt 中,您有一个相当完整的网格系统,但您仍然需要手动操作。您可以向grid
键添加几个不同的值。正如我在评论中提到的,您应该考虑详细手册。
对于标题,请参见下面的示例(可在手册中找到)。对于图形,您应该力求用图像代替固定数量的行,对于表格,这通常会发生(对吗?)。对于数学,您可以在上述详细手册中找到一些选项。
这是标题周围间距的示例。你可以尝试一下。如果你有更具体的问题,最好提出一个新问题,并准确显示该问题(在这个问题中,你提到了图片、表格……但只显示了一个带有标题的示例)。
\setuplayout[grid=both]
\showgrid
\setuphead[section][
style=\bfb,
before={\blank[2*line]},
after={\blank[line]},
grid=local:yes,
]
\starttext
\startbuffer
\section[title=A test]
\samplefile{knuth}
\section[title=Another test]
\samplefile{knuth}
\section[title=A third title that is so long that it breaks over two lines well now it is]
\samplefile{douglas}
\stopbuffer
\dorecurse{5}{
\getbuffer
}
\stoptext
如果你看一下这个例子,你会发现第三页的最后一行是空的。这是因为下一页的顶部有一个新部分。
我曾经有几次雄心勃勃地想要在电网上工作,但最后却需要进行太多的手动调整,从而浪费了写作的时间。