
일방적인 문서로 회고록을 사용하고 있는데 머리글에 장과 절의 번호와 이름을 모두 넣고 싶었습니다.
나는 이것을 달성하기 위해 이것을 사용하고 있습니다 (from회고록을 사용하여 헤더에 장 이름과 섹션 이름을 모두 포함)
\pagestyle{ruled}
\makeoddhead{ruled}{\sffamily\leftmark}{}{\sffamily\rightmark}
이것은 대부분의 경우 훌륭하게 작동하지만 둘 다 2페이지 길이의 ToC와 참고문헌의 경우 헤더에 동일한 레이블이 두 번 있어서 끔찍해 보입니다.
\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}