我想要创建两列段落。左列和右列的对齐方式应分别为右对齐和左对齐。
以下示例以正确的对齐方式显示主要文本,但章节标题始终显示在左对齐位置:
\defineparagraphs[paras][n=2, distance=0.08\textwidth]
\setupparagraphs[paras][1][width=0.46\textwidth, align=flushright]
\setupparagraphs[paras][2][width=0.46\textwidth, align=flushleft]
\setuphead[section][style=bold, number=no]
\starttext
\startparas
\startsection[title=Knuth]
\input knuth
\stopsection
\nextparas
\startsection[title=Tufte]
\input tufte
\stopsection
\stopparas
\stoptext
我想将“Knuth”设置为粗体,并使其右对齐。我知道我可以通过创建自定义部分来实现所需的结果,\definehead
如下所示:
\definehead[sectionr][section]
\setuphead[sectionr][align=flushright]
并在右列中使用\startsectionr ... \stopsectionr
。但是,如果可能的话,我想避免使用自定义标题。有没有办法在不使用自定义标题的情况下实现相同的结果?
答案1
该paragraph
机制是一个简单的表格。如果您愿意使用自然表,那么您可以单独更改每列的呈现方式。例如:
\defineparagraphs[paras][n=2, distance=0.08\textwidth]
\setupparagraphs[paras][1][width=0.46\textwidth, align=flushright]
\setupparagraphs[paras][2][width=0.46\textwidth, align=flushleft]
\setuphead[section][style=bold, number=no]
\startsetups left
\setuphead[section][align=flushright]
\stopsetups
\startsetups paragraphs
\setupTABLE[frame=off]
\setupTABLE[column][1,2][width=0.46\textwidth]
\setupTABLE[column][1][roffset=0.04\textwidth, align=flushright, setups=left]
\setupTABLE[column][2][loffset=0.04\textwidth, align=flushleft]
\stopsetups
\starttext
\startTABLE[setups=paragraphs]
\NC
\startsection[title=Knuth]
\input knuth
\stopsection
\NC
\startsection[title=Tufte]
\input tufte
\stopsection
\NC \NR
\stopTABLE
\stoptext