我正在使用回忆录来记录单面文档,但我想在页眉中同时显示章节和节号以及名称。
我正在用这个来实现它(来自使用回忆录在标题中包括章节名称和节名称)
\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}