使用 titlesec 在页眉中交替显示章节和节子节标题

使用 titlesec 在页眉中交替显示章节和节子节标题

我需要为两个章节设置两种不同的页眉格式。在第一章中,页眉应在偶数页上显示章节(编号和标题),在奇数页上显示节(编号和标题)。在第二章中,页眉应在偶数页上显示节(编号和标题),在奇数页上显示小节(编号和标题)。为了实现这一点,我使用 titlesec 定义了两种页面样式,每个章节一种。我的代码为第一章和第二章的偶数页生成了所需的输出。但是,对于奇数页,页眉仅显示小节编号而不显示小节标题 - 好像 \subsectiontitle 命令未处于活动状态。我怎样才能显示小节标题?这是一个 MWE(包括一些我必须用来格式化标题和目录的行):

\documentclass[openany]{book}
\usepackage{lipsum}
\usepackage[newparttoc]{titlesec}
\usepackage{titletoc}

  \titlecontents{chapter}[9mm]    
    {\vspace{9pt}\normalsize\normalfont\bfseries}  
    {\contentslabel{9mm}}{}   
    {\hfill\thecontentspage}   

  \titlecontents{section}[20.7mm]   
    {\vspace{0pt}\normalsize\normalfont} 
    {\contentslabel[\thecontentslabel]{11.7mm}}{}
    {\titlerule*[.75em]{.}\thecontentspage}   

\newpagestyle{mystandardpagestyle}{
\sethead
    [\thepage][\thechapter\hspace{1em}\chaptertitle][]
    {}{\thesection\hspace{1em}\sectiontitle}{\thepage}
} 

\newpagestyle{myproblempagestyle}{
\sethead
    [\thepage][\thesection\hspace{1em}\sectiontitle][]
    {}{\thesubsection\hspace{1em}\subsectiontitle}{\thepage}
} 

\titleformat{\chapter}{\LARGE}{\thechapter}{1em}{}
\titleformat{\section}{\Large}{\thesection}{1em}{}
\titleformat{\subsection}{\large}{}{0em}{}  


\setcounter{tocdepth}{1}        
\setcounter{secnumdepth}{3}        

\begin{document}

\tableofcontents 

\pagestyle{mystandardpagestyle}
  \chapter{Chapter One} 
\lipsum
  \section{Section One}  
\lipsum
  \subsection{Subsection one} 
\lipsum[1-6]
\clearpage

\pagestyle{myproblempagestyle}
  \chapter{Chapter Two} 
\lipsum
  \section{Section One}  
\lipsum
  \subsection{Subsection one} 
\lipsum[1-6]

\end{document} 

答案1

您需要启用小节的标记机制

 \settitlemarks{chapter,section,subsection}

查看文档标题.pdf

相关内容