在我的目录中,part
定义如下:
\setuplist[part][pagenumber=no]
我想将该部分的标题居中对齐,以便它在目录中显示如下:
__________
| Contents |
| |
| Part 1 |
| Ch. 1..1 |
| Ch. 2..5 |
| Ch. 3.10 |
|__________|
我查阅了关于设置列表在 ConTeXt wiki 上,但我看不到水平对齐条目的选项。
- 如何使目录中的部分条目居中对齐?
答案1
定义专用的列表替代方案可能是最明智的选择:
\unprotect
%%% We’ll wrap the header title into a frame for convenience.
\defineframed [centered_list_frame] [
frame=off,
width=broad,
align=middle,
]
%%% A new list alternative employing the frame. The three args are:
%%% #1 -> Item number.
%%% #2 -> Item title.
%%% #3 -> Page number (ignored in this example).
\definelistplacement [centered_list_placement]#1#2#3{%
\centered_list_frame{\words\sc Part #1:\hskip\emwidth#2}%
}
%%% Here instruct the part list to use the new list alternative.
\setuplist [part] [alternative=centered_list_placement,]
\protect
\starttext
\placelist [part,chapter]
\dorecurse{3} {\part{foo} \dorecurse{5}{\chapter{bar}}}
\stoptext
这样,您就可以完全控制构成目录条目的三个项目,并可以随意将它们居中对齐。