背景

背景

背景

以下屏幕截图显示了四个不均匀的列,这是所需的结果:

不均匀柱

问题

该命令的和选项似乎beforesection没有任何效果,导致以下结果:aftersectionsetuphead

无响应的 beforesection 和 aftersection 选项

代码

使用以下方法重现问题:

\usemodule[newcolumnsets]

\definecolumnset[BookColumns][n=4]
\setupcolumnset[BookColumns:1][width=6in]
\setupcolumnset[BookColumns:2][width=4in]
\setupcolumnset[BookColumns:3][width=4in]
\setupcolumnset[BookColumns:4][width=4in]

\setuphead[chapter][
  beforesection={\startcolumnset[BookColumns]},
  aftersection={\stopcolumnset},
]

\definepapersize[BookPaperSize][
  width=24in,
  height=12in,
]

\setuppapersize[BookPaperSize]

\starttext
  \chapter[title={Chapter Title}]

  \dorecurse{5}{\input knuth \input lorem}
\stoptext

可以通过改变主体来生成不均匀的柱子\startcolumnset\stopcolumnset直接使用:

  \startcolumnset[BookColumns]
    \chapter[title={Chapter Title}]

    \dorecurse{5}{\input knuth \input lorem}
  \stopcolumnset

想法

我尝试将chapter元素重新定义为:

\let\oldchapter\chapter
\unexpanded\def\chapter{\dosingleempty\newchapter}
\def\chapter[#1]{\startcolumnset[BookColumns]\oldchapter[#1]\stopcolumnset}

这不起作用。起作用的是一系列sed调用:

sed -i 's/^\\chapter\(.*\)/\\stopcolumnset\n\\startcolumnset[BookColumns]\n\\chapter\1/' body.tex
sed -i '1d' body.tex
echo "\\stopcolumnset" >> body.tex

sed当然,呼叫不是“ConTeXt 方式”。

另一个问题显示使用beforesectionaftersectionmixedcolumns

\setuphead[subsection][
  beforesection={\startmixedcolumns[n=2,balance=no,]},
  aftersection={\stopmixedcolumns},
  page=no,
]

问题

如何确保\startcolumnset\stopcolumnset命令将每一章括起来而不修改正文?(也就是说,仅通过更改设置来应用每章的列集。)

有关的

相关问题包括:

答案1

在使用and选项之前,必须用\startand\stop命令(例如\startsectionand\stopsection\startchapterand )平衡各部分。例如:\stopchapterbeforesectionaftersection

\setuphead[section][
  beforesection={\startcolumnset[BookColumns]},
  aftersection={\stopcolumnset},
]

当使用 pandoc 的顶级划分选项时,它会产生\chapter命令:

pandoc --top-level-division=chapter ...

通过将命令行参数更改为--section-divs,pandoc 会生成\startsection\startsubsection\startsubsubsection等效\stop命令:

pandoc --section-divs ...

结合两个参数产生\startchapter\stopchapter,这也使得beforesectionaftersection能够起作用:

pandoc --top-level-division=chapter --section-divs ...

相关内容