当新章节刚好从奇数页开始时,如何在页眉中显示当前章节标题

当新章节刚好从奇数页开始时,如何在页眉中显示当前章节标题

我正在使用包花式高清帮助我构建书的页眉。编辑希望我在新章节从偶数页开始的情况下将章节标题添加到页眉中,并在新章节从奇数页开始的情况下将章节标题添加到页眉中。然后我修改了页面样式“plain”,如下所示(只是一个测试文件):

 \documentclass[openany]{book}
 \usepackage{fancyhdr}
 \renewcommand{\headwidth}{\textwidth} 

 \pagestyle{fancy}                        
 \renewcommand{\headrulewidth}{0.5pt}
 \fancyhf{}                                                 
 \fancyhead[LE,RO]{\thepage}                       
 \fancyhead[RE]{\leftmark}                                
 \fancyhead[LO]{\rightmark} 

 \fancypagestyle{plain}{
\fancyhf{}                                
\renewcommand{\headrulewidth}{0.5pt}                               
\fancyhead[LE,RO]{\thepage}                          
\fancyhead[RE]{\leftmark}                                
\fancyhead[LO]{\rightmark}  
}

 \begin{document}
 \chapter{Test-1}     
 \section{test-section-1}
 \newpage
 \section{test-section-2}
 \newpage
 \section{test-section-3}
 \newpage
 \chapter{Test-2}
 \section{test-section-4}
 \end{document}

但我只能部分实现规范。如果新章节从偶数页开始,所有代码都正确,但如果新章节从奇怪的页,则无法显示章节标题,只能显示页码。以下是屏幕截图:

  1. 新的章节页面带有奇数页码,需要章节标题 奇数页-无章节标题-新章节

  2. 偶数页,一切正常 偶数页有章节标题

  3. 奇数页,一切正常 奇数页-有章节标题

  4. 新章节页面为偶数页码,一切正常 偶数页-带章节标题-新章节

然后我尝试了很多方法,最后终于想出了一个方法,虽然很复杂,但确实管用,我只是定义了一个新命令,如下:

  \newcommand{\headodd}[2]{\fancypagestyle{myplain}{%  
    \fancyhf{} %   
    \pagestyle{fancy}                               
    \renewcommand{\headrulewidth}{0.5pt}                                     
    \fancyhead[LE,RO]{\thepage}                         
    \fancyhead[RE]{\leftmark}  
    %\hypersetup{   
      %  colorlinks=false,
     %   pdfborder={0 0 0},
    %}                             
    \fancyhead[LO]{ \ref{#1} #2}  
    }
   \thispagestyle{myplain}
}

然后我将主体修改为:

     \chapter{Test-1}
     \headodd{s-1}{test-section-1}
     \section{test-section-1}\label{s-1}

因此我得到以下结果: 我想要得到什么

我的问题是:(1)还有其他方法可以满足编辑器的所有规格吗?(2)如何简化我的代码?

答案1

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

虽然对这个包不是很熟悉titleps,但经过一些实验和谷歌搜索后,在这个网站上https://tex.stackexchange.com/questions/208370/title-marking-with-titleps-breaks-when-tableofcontents-is-used,感谢@cfr

\documentclass[twoside,openany]{book}
\usepackage{lipsum}
\usepackage[pagestyles]{titlesec}
\renewpagestyle{plain}{
  \sethead[\firsttitlemarks\bfseries\ifthesection{\thesection}{\ifthechapter{\chaptertitle}{\chaptertitle}}][][]% even-left | even-center | even-right
  {}{}{\bottitlemarks\bfseries\ifthesection{\thesection}{\ifthechapter{\thechapter}{\chaptertitle}}}% odd-left | odd-center | odd-right
  \setfoot[\thepage][][]% even-left | even-center | even-right
  {}{}{\thepage}% odd-left | odd-center | odd-right
  \setheadrule{0.4pt}
}
\pagestyle{plain}

\begin{document}

  \tableofcontents

  \chapter{Header Test}
  \section{Sec1}
  \lipsum[1]
  \section{Sec2}
  \lipsum[3-4]
  \section{Sec3}
  \lipsum[5]
  \section{Sec4}
  \lipsum[7]
  \chapter{New Chapter}
  \section{Sec5}
  \lipsum[2]
  \section{Sec6}
  \lipsum[6]
  \section{Sec7}
  \lipsum[8-9]
  \section{Sec8}
  \lipsum[10]
  \chapter{GAH}
  \lipsum[1-4]
  \chapter{New Chapter AAAA}
  \section{Sec5}
  \lipsum[2]
  \section{Sec6}
  \lipsum[6]
  \section{Sec7}
  \lipsum[8-9]
  \section{Sec8}
  \lipsum[10]
  \chapter{GAH1}
  \section{Sec8}
  \lipsum[10]
  \lipsum[1-4]
  \lipsum[1-4]
  \lipsum[1-4]
  \lipsum[1-4]
  \chapter{New CHAPTER AAAAA}
  \section{Sec5}
  \lipsum[2]
  \section{Sec6}
  \lipsum[6]
  \section{Sec7}
  \lipsum[8-9]
  \section{Sec8}
  \lipsum[10]
\end{document}

相关内容