如何在 ConTeXt 的页眉中显示章节编号?

如何在 ConTeXt 的页眉中显示章节编号?

我正在使用 serupheadertexts 来定义文档中的标题:

\setuphead[chapter]                     [number=yes]

\setupheadertexts[{\getmarking[chapter]}][][][]

我想访问章节编号,但它没有显示。

我尝试过这个:

\setupheadertexts[{\getnumber[chapter] \getmarking[chapter]}][][][]

那里没有显示任何数字。

如何在 ConTeXt 的页眉中显示章节编号?

答案1

您可以使用命令通过名称访问当前活动结构组件的节计数器的第一个、当前和最终值\somenamedheadnumber

\somenamedheadnumber接受两个强制参数:

  1. 姓名结构元素,例如部分章节, 和
  2. 标识符之一第一的当前的最后的确定要检索的值。

例子:

%% the initial value of the chapter counter
\somenamedheadnumber{chapter}{first}

%% the number of the final section in the current chapter
\somenamedheadnumber{section}{last}

%% the number of the currently active subsubsection;
%% in the page header this will retrieve the number of the
%% structural last active on the current page
\somenamedheadnumber{subsubsection}{current}

作为简写,\namedheadnumber{<name>}相当于 \somenamedheadnumber{<name>}{current}

一个更广泛的示例展示了结构计数器的各种 getter 的实际作用:

\setuppagenumbering [location=footer,alternative=doublesided]

\startsetups header.outer
  Chapter
  \space
  \namedheadnumber{chapter}
  \space of \space
  \somenamedheadnumber{chapter}{last}
  \space --- \space
  {\cap\getmarking[chapter]}
\stopsetups

\startsetups header.inner
  Section
  \space
  \namedheadnumber{section}
  \space of \space
  \somenamedheadnumber{section}{last}
  \space --- \space
  {\italic\getmarking[section]}
\stopsetups

\setupheadertexts
  [\setups{header.outer}]
  [\setups{header.inner}]

\starttext
  \getrandomnumber\i25
  \completecontent\page
  \dorecurse{\i}{
    \getrandomnumber\j27
    \startchapter[title=foo]
      \input knuth
      \dorecurse{\j}{
        \startsection[title=bar]
          \input ward\par\input dawkins
        \stopsection
      }
    \stopchapter
  }
\stoptext

答案2

获取标题中的章节编号的正常方式是使用\getmarking[chapternumber]

\setupheadertexts[{\getmarking[chapternumber]--\getmarking[chapter]}]

\starttext

\startchapter[title={First chapter}, marking={Mark for first chapter}]
  \input knuth
\stopchapter

\startchapter[title={Second chapter}, marking={Mark for second chapter}]
  \input knuth
\stopchapter

\stoptext

这使

在此处输入图片描述

相关内容