Идентичные знаки в заголовке с односторонним мемуаром

Идентичные знаки в заголовке с односторонним мемуаром

Я использую мемуары для одностороннего документа, но мне хотелось бы, чтобы в заголовке были указаны номера и названия глав и разделов.

Я использую это, чтобы достичь этого (изВключение названия главы и названия раздела в заголовок с использованием мемуаров)

\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}

введите описание изображения здесь

введите описание изображения здесь

Связанный контент