一方的な回想録のヘッダーに同じマーク

一方的な回想録のヘッダーに同じマーク

私は片面文書に memoir を使用していますが、ヘッダーに章と節の番号と名前の両方を入れたいと考えていました。

私はこれを使ってそれを達成しています(ヘッダーに章名とセクション名の両方を含める(memoirを使用)

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

これはほとんどの場合うまく機能しますが、2 ページの長さの目次と参考文献の場合、ヘッダーに同じラベルが 2 回表示され、見栄えが悪くなります。

\rightmarkが と異なる場合にのみ を表示したいと思います\leftmark。または、何らかの方法でこれら 2 つのラベルを変更したいと思います。たとえば、 introduction では は正常に動作しますが、これは であり\unnumberedchapter、 はありません。を に\section変更してみましたが、役に立ちませんでした。\bibsection\unnumberedchapter

ありがとう。

答え1

私は、どんな質問にも必ずエグレッグに触発された答えがあると考え始めています(完全に展開された2つの文字列が等しいかどうかをテストする場合):

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

ここに画像の説明を入力してください

ここに画像の説明を入力してください

関連情報