标题中的标记与单方面的回忆录相同

标题中的标记与单方面的回忆录相同

我正在使用回忆录来记录单面文档,但我想在页眉中同时显示章节和节号以及名称。

我正在用这个来实现它(来自使用回忆录在标题中包括章节名称和节名称

\pagestyle{ruled}
\makeoddhead{ruled}{\sffamily\leftmark}{}{\sffamily\rightmark}

这种方法在大多数情况下都很有效,但是对于目录和参考书目(它们都有两页长),我在页眉中出现了两次相同的标签,看起来很糟糕。

我希望仅\rightmark当 不同于 时才显示\leftmark。或者以某种方式更改这两个内容的标签。例如,它在 简介 中工作正常,它是一个\unnumberedchapter并且没有\section。我尝试过更改\bibsection\unnumberedchapter,但没有帮助。

谢谢。

答案1

我开始认为,对于任何问题,总有一个受egreg启发的答案(测试两个完全展开的字符串是否相等):

\documentclass[oneside]{memoir}

\usepackage{pdftexcmds} % https://tex.stackexchange.com/questions/59565/on-testing-two-fully-expanded-character-strings-for-equality
\makeatletter
\newcommand*{\test}[2]{%
  \ifnum\pdf@strcmp{#1}{#2}=\z@ \relax \else #2 \fi
}
\makeatother

\pagestyle{ruled}
\makeoddhead{ruled}{\sffamily\leftmark}{}{\sffamily\test{\leftmark}{\rightmark}}

\usepackage{lipsum}

\newcommand{\makechapter}{
\chapter{foo}
\section{foobar}
\lipsum[1-12]
}

\begin{document}

\tableofcontents

\makechapter
\makechapter
\makechapter
\makechapter
\makechapter
\makechapter
\makechapter
\makechapter
\makechapter
\makechapter
\makechapter
\makechapter
\makechapter
\makechapter

\end{document}

在此处输入图片描述

在此处输入图片描述

相关内容