在以下 MWE 中,由于该包的存在,标题是可定制的titleps
。它们应该显示章节和部分(取决于页面的奇偶校验):
- 相应的编号(以及章节名称),但前提是它们有编号,
- 标题。
对于前一种情况,我定义了新的命令\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
使用。