考虑以下 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}