答案1
您必须比较\leftmark
和\rightmark
。如果它们在页面上相等,则删除例如\rightmark
。这可以\rightmark
通过替换来完成\ifstr{\rightmark}{\leftmark}{}{\rightmark}
。\ifstr
由包提供scrbase
或scrextend
或所有 KOMA-Script 类。但也有其他包具有类似的命令。
不幸的是我不知道页眉和页脚使用的类和包。但这里有两个例子:
book
和fancyhdr
:
\documentclass{book}
\usepackage{blindtext}
\usepackage{scrbase}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead[LE,RO]{\slshape\ifstr{\rightmark}{\leftmark}{}{\rightmark}}
\begin{document}
\tableofcontents
\Blinddocument\Blinddocument\Blinddocument\Blinddocument
\Blinddocument\Blinddocument\Blinddocument\Blinddocument
\end{document}
book
和scrlayer-scrpage
:
\documentclass{book}
\usepackage{blindtext}
\usepackage[automark,headsepline]{scrlayer-scrpage}
\clearpairofpagestyles
\ohead{\ifstr{\rightmark}{\leftmark}{}{\rightmark}}
\ihead{\leftmark}
\cfoot*{\pagemark}
\begin{document}
\tableofcontents
\Blinddocument\Blinddocument\Blinddocument\Blinddocument
\Blinddocument\Blinddocument\Blinddocument\Blinddocument
\end{document}