我正在使用 mikep 描述的目录:ConTeXt:我可以从位置列表目录中排除条目吗?。
我受到 Max Chernoff 的回答的启发,对目录中的各个部分进行了样式设计:上下文:自定义章节标题。
在目录中,我想要一个水平布局,每个部分的名称及其页码都在同一行。我的 MWE 实现了这一点,但存在 3 个问题:
1 - 部分可以延伸到右边距。我想要在 之前换行Another~section~looooooooong · 3
。
2 - 我的宏 在目录中的每个章节名称和编号后myTOC
插入一个。我可以阻止新章节前的最后一项出现这种情况吗?\hskip 10mm
3 - 我在章节名称的单词之间添加了波浪号,这样名称就不会在目录中换行。有没有办法使用空格而不换行?
\showframe
\define[3]\myTOC{{#2}~·~{#3}\hskip 10mm}% Write a section TOC entry
\setuphead[part][placehead=yes, number=no,]
\definehead[mypart][part][number=no,]
\setuphead[chapter][sectionsegments={chapter:section},]
\setuphead[section][sectionsegments={chapter:section},]
\setuplist[part][style={\bfa}, pagenumber=no,]
\setuplist[chapter][style={\bf}, pagenumber=no,]
\setuplist[chapter,section][headnumber=no,]
\setuplist[section][command=\myTOC,alternative=command,]
%\setuplist[section][alternative=d,]
\setupcombinedlist[content][list={part,chapter,section}]
\starttext
\unhyphenated{ {\raggedright % no bad line breaks in horizontal
\completecontent }}
\chapter[title={Introduction chapter}]
\section[title=Section~one]\samplefile{douglas}
\section[title=Section~two]\samplefile{douglas}
\section[title=Third~section]\samplefile{douglas}
\section[title=Another~section~looooooooong]\samplefile{douglas}
\section[title=Yet~another~section]\samplefile{douglas}
\section[title=A~following~section]\samplefile{douglas}
\stoptext
答案1
您永远不需要插入这样的手动波浪线。要将东西放在一起,请将其放入一个盒子中(在芭芭拉的评论之后也有一些支撑):
\define[3]\myTOC{\dontleavehmode\hbox{\begstrut #2 · #3\endstrut}\hskip 10mm}%
另外,除了\unhyphenated
和之外\raggedright
,您还可以尝试
\startalign[flushleft,broad]
\completecontent
\stopalign
因此,
\showframe
\setuphead[part][placehead=yes,number=no,]
\definehead[mypart][part][number=no,]
\setuphead[chapter][sectionsegments={chapter:section},]
\setuphead[section][sectionsegments={chapter:section},]
\setuplist[part][style={\bfa}, pagenumber=no,]
\setuplist[chapter][style={\bf}, pagenumber=no,]
\setuplist[chapter,section][headnumber=no,]
\define[3]\myTOC{\dontleavehmode\hbox{\begstrut #2 · #3\endstrut}\hskip 10mm}%
\setuplist[section][
alternative=command,
command=\myTOC,
]
\setupcombinedlist[content][list={part,chapter,section}]
\starttext
\startalign[flushleft,broad]
\completecontent
\stopalign
\chapter[title={Introduction chapter}]
\section[title=Section one]\samplefile{douglas}
\section[title=Section two]\samplefile{douglas}
\section[title=Third section]\samplefile{douglas}
\section[title=Another section looooooooong]\samplefile{douglas}
\section[title=Yet another section]\samplefile{douglas}
\section[title=A following section]\samplefile{douglas}
\stoptext
我得到以下输出:
如果我们展示盒子和支柱(\showboxes
和\showstruts
),它看起来像这样:
来自旧答案且没有支柱的图像: