![ConTeXt:如何将标题和目录保留在同一页上](https://linux22.com/image/438171/ConTeXt%EF%BC%9A%E5%A6%82%E4%BD%95%E5%B0%86%E6%A0%87%E9%A2%98%E5%92%8C%E7%9B%AE%E5%BD%95%E4%BF%9D%E7%95%99%E5%9C%A8%E5%90%8C%E4%B8%80%E9%A1%B5%E4%B8%8A.png)
我怎样才能告诉 ConTeXt 不要在 之前插入分页符\completecontent
?我试图保持A title
与目录在同一页上:
\starttext
\startfrontmatter
A title
\completecontent
\stopfrontmatter
\startbodymatter
\startchapter [title=Foo]
\stopchapter
\stopbodymatter
\stoptext
答案1
该\completecontent
命令用于\title
放置目录的标题。要删除开头的分页符,您可以使用以下方法禁用分页符
\setuphead
[title]
[page=no]
但不建议这样做,因为该设置会影响所有\title
命令。虽然可以将设置限制为frontmatter
更好的解决方案是创建一个新的标题
\definehead
[contenttitle]
[title]
并仅针对此标题禁用分页符
\setuphead
[contenttitle]
[page=no]
下一步是从\completecontent
文档中删除该命令,并用新标题和后面没有自动标题的目录的组合来替换它。
\contenttitle{\headtext{content}}
\placecontent
您\headtext{content}
可以访问目录的语言相关标题,但设置固定文本也没有错(\contenttitle{Contents}
)。
答案2
虽然没有完全明确地说明这一点,但 Wiki (https://wiki.contextgarden.net/Table_of_Contents) 建议如下:
\completecontent % with title
\placecontent % without title
您会发现,用 替换\completecontent
即可\placecontent
达到目的。