ConTeXt 中的页码(罗马数字和阿拉伯数字)

ConTeXt 中的页码(罗马数字和阿拉伯数字)

我的简单文档仅分为两部分(仅是一些数学笔记)。

\starttext
% frontmatter
\startstandardmakeup
... % the cover
\stopstandardmakeup
\completecontent
\startbodymatter
... % main part
\stopbodymatter
\stoptext

我希望中的页码frontmatter可以Roman numbers从内容开始not the standardmakeup,这样我可以通过以下方式实现:

\startfrontmatter
...
\stopstandardmakeup
\setupuserpagenumber[numberconversion=romannumerals]
\completecontent
\stopfrontmatter
\startbodymatter
% some settings?
...

并且我还希望中的页码bodypart可以来自Arabic numeral 1,如何实现?

更清楚一点:当 ConTeXt 进入 时bodymatter,我可以重置页码以便它从 1 开始吗?

答案1

要获取前部的罗马页码,您可以使用

\definestructureconversionset [frontpart:pagenumber] [] [romannumerals]

或者

\startsectionblockenvironment [frontpart]
  \setupuserpagenumber [numberconversion=romannumerals]
\stopsectionblockenvironment

需要在正文部分调用的命令使用相同的机制,只需替换frontpartbodypart并使用即可\setcounter更改页码:

\startsectionblockenvironment [bodypart]
  \setcounter [userpage] [1]
\stopsectionblockenvironment

这是一个完整的例子:

\definestructureconversionset [frontpart:pagenumber] [] [romannumerals]

\startsectionblockenvironment [bodypart]
  \setcounter [userpage] [1]
\stopsectionblockenvironment

\starttext
  \startstandardmakeup
    Cover page
  \stopstandardmakeup
  \startfrontmatter
    \completecontent
  \stopfrontmatter
  \startbodymatter
    Main part
  \stopbodymatter
\stoptext

相关内容