titleps 的标题在 \appendix 之前丢失了数字

titleps 的标题在 \appendix 之前丢失了数字

在以下 MWE 中,由于该包的存在,标题是可定制的titleps。它们应该显示章节和部分(取决于页面的奇偶校验):

  1. 相应的编号(以及章节名称),但前提是它们有编号
  2. 标题。

对于前一种情况,我定义了新的命令\chapterheader\sectionheader进行了一些测试。整个机制运行良好,除了附录前的最后两页(第 11 页和第 12 页):标题中的数字消失了。

\cleardoublepage使用之前插入的方法很容易修复这个问题,\appendix但是你知道为什么默认情况下会出现这个问题吗?

\documentclass{book}
\usepackage{mwe}
\usepackage{etoolbox}
\usepackage{titleps}
%
\newcommand*{\chapterheader}{%
  \ifboolexpr{
    test {\ifnumcomp{\value{secnumdepth}}{>}{-1}} and test {\ifnumcomp{\value{chapter}}{>}{0}}
  }{%
    \MakeUppercase\chaptername{}\ \thechapter.
  }{%
  }%
  \chaptertitle%
}%
\newcommand*{\sectionheader}{%
  \ifboolexpr{
    test {\ifnumcomp{\value{secnumdepth}}{>}{0}} and test {\ifnumcomp{\value{chapter}}{>}{0}}
  }{%
    \thesection.
  }{%
  }%
  \sectiontitle%
}%
%
\newpagestyle{mypagestyle}[]{%
  \sethead[\thepage]%
  []%
  [\chapterheader]%
  {%
    \ifcsempty{\sectiontitle}{%
      \chapterheader%
    }{%
      \sectionheader%
    }%
  }%
  {}%
  {\thepage}%
  \headrule%
}%
%
\newcommand{\dummytext}{%
  \chapter{A chapter}
  \lipsum[1-5]

  \section{A section}
  \lipsum[1-15]
}
%
\begin{document}
%
\pagestyle{mypagestyle}
%
\dummytext
\dummytext
%
% \cleardoublepage
%
\appendix
\dummytext
\dummytext
\end{document}

在此处输入图片描述

答案1

titleps为此类情况提供了一个宏,它“将命令或变量添加到要在分段命令中发出的“标记”列表中”。只需添加以下行:

\newtitlemark*{chapter}

现在\value{chapter}将返回正确的值。默认情况下不执行此操作,因为通常仅\thechapter使用。

相关内容