使用 ConTeXt 进行书籍样式页码编号

使用 ConTeXt 进行书籍样式页码编号
  1. 我想设置这样的编号

    • 封面 = 不显示页码
    • TOC = 罗马页码
    • 正文=阿拉伯文页码

    许多人之前都问过类似的问题ConTeXt 中的页码(罗马数字和阿拉伯数字)但是,当我们依赖默认页码样式时,答案似乎有效。

    但是,当我使用 修改上面示例中的模板时\setupfootertext,编号不再起作用。以下是tex文件。

  2. 希望隐藏页脚直到到达正文

  3. 有页脚,可选择显示标题和章节名称的页面。两页均有阿拉伯数字。

% Template from the line provide above
\definestructureconversionset [frontpart:pagenumber] [] [romannumerals]

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


%=========================ADDITION====================================
\setuppagenumbering[location=,alternative=doublesided]

\setupfootertexts[\setups{text right}][][][\setups{text left}]

\startsetups[text right]
  \rlap{}
  \hfill
  \bf {\sl Title goes here }
  \hfill
  \llap{\pagenumber}
\stopsetups

\startsetups[text left]
  \rlap{\pagenumber}
  \hfill
  \bf \cap{ Chapter \getmarking[chapternumber] }  \getmarking[chapter]
  \hfill
  \llap{}
\stopsetups
%=========================ADDITION END====================================
\starttext
  \startstandardmakeup
    Cover page
  \stopstandardmakeup
  \startfrontmatter
    \completecontent
  \stopfrontmatter

  \startbodymatter

    \section[production]{Production}
      Production is a two part process.
    \section[background]{Background}

  \stopbodymatter

\stoptext

答案1

ConTeXt 有两种页码概念:实际页码(使用 访问\pagenumber)和用户页码(使用 访问\userpagenumber)。userpagenumber用于表示您要查找的内容(frontpart 和 bodypart 中的页码不同)。

在您发布的代码中,在sectionblock环境中您正在重置计数器userpage;但在页脚中您正在使用\pagenumber。要查看正确的数字,请\userpagenumber在页脚中也使用。

答案2

以下是更通用的答案。在 mkii 下从第一页开始:\setuppagenumber[number=1] 在 mkiv 下:\setcounter[userpage][1]

相关内容