如何使用列集创建不等的列宽?

如何使用列集创建不等的列宽?

我想创建一个列集,其中第一列比其他列更宽。我知道在这样的环境中列分隔符会变得复杂。

上下文柱手册声称解释了如何使列集中的一列比其他列更宽,但有限制。它给出了如下代码:

\usemodule[visual]

\definecolumnset[example][n=4]

\setupcolumnset[example][1][width=.3\makeupwidth]
\starttext
\startcolumnset[example]
\dorecurse{25}{\fakewords{50}{75}\column[local]}
\stopcolumnset
\stoptext

不幸的是,编译后的结果为四列平等的宽度。我该如何按照手册中演示的那样做到这一点?我正在使用 mkiv。

答案1

我建议你使用newcolumnsets将旧 MKII 列集的部分内容移植到 MKIV 的模块。但是,语法已经发生了很大变化,所以要小心。有一个手动的但它有点不完整。如果你在那里找不到某些东西,只需在邮件列表中询问即可。

\showframe
\usemodule[newcolumnsets,visual]

\definecolumnset[example][n=4,distance=0.0333\makeupwidth]

% left page (even page numbers)
\setupcolumnset[example:1][width=.3\makeupwidth]
\setupcolumnset[example:2][width=.2\makeupwidth]
\setupcolumnset[example:3][width=.2\makeupwidth]
\setupcolumnset[example:4][width=.2\makeupwidth]
% right page (odd page numbers)
\setupcolumnset[example:5][width=.3\makeupwidth]
\setupcolumnset[example:6][width=.2\makeupwidth]
\setupcolumnset[example:7][width=.2\makeupwidth]
\setupcolumnset[example:8][width=.2\makeupwidth]

\starttext

\startcolumnset[example]
  \dorecurse{25}{\fakewords{50}{75}\column}
\stopcolumnset

\stoptext

如果你不想重复太多,你也可以width在实例中设置并在设置中将列组合在一起。如果除一列外所有列的宽度相同,则这样做很有意义。

\definecolumnset
  [example]
  [n=4,
   width=.2\makeupwidth,
   distance=0.0333\makeupwidth]

\setupcolumnset
  [example:1,example:5]
  [width=.3\makeupwidth]

在此处输入图片描述

相关内容