正确设置未编号章节和带标题的节的标记

正确设置未编号章节和带标题的节的标记

考虑以下 MWE:

\documentclass{book}

\usepackage[pagestyles]{titlesec}

\usepackage{lipsum}

\newpagestyle{myps}[\sffamily]{
  \sethead[\thepage][][\chaptertitle~\thechapter]  % even
          {\thesection~\sectiontitle}{}{\thepage} % odd
}

\pagestyle{myps}

\begin{document}

\chapter{Introduction}
\lipsum[1-5]

\chapter*{Acknowledgements}
\chaptermark{Acknowledgements}
\lipsum[1-5]

\end{document}

章节第二页的标记Acknowledgements仍打印为Acknowledgements 1,即打印上一章的章节号。

我需要获取的是Acknowledgements标题,没有任何章节编号,因为章节没有编号。

如何获得预期的行为?

答案1

解决方案包括重新定义\titleformat{\chapter}...并使用密钥对编号和未编号的章节numberless使用不同的密钥:\chaptermark

\documentclass{book}

\usepackage[pagestyles, explicit]{titlesec}

\titleformat{\chapter}[display]{\chaptermark{#1 \thechapter}\bfseries}{\huge\chaptername \thechapter}{4ex}{\Huge#1}%
\titleformat{name=\chapter, numberless}[block]{\chaptermark{#1}\bfseries}{}{0ex}{\Huge#1}

\usepackage{lipsum}

\newpagestyle{myps}[\sffamily]{%
  \sethead[\thepage][][\chaptertitle]% even
          {\thesection~\sectiontitle}{}{\thepage} % odd
}

\pagestyle{myps}

\begin{document}

\chapter{Introduction}
\lipsum[1-5]
\cleardoublepage
\chapter*{Acknowledgements}
\lipsum[1-2]

\section{A test section}
\lipsum[3-20]

\end{document} 

在此处输入图片描述 在此处输入图片描述

相关内容