Некоторые из моих названий в заголовке не соответствуют номеру. Это происходит на странице 3 в примере. Какое может быть решение или обходной путь?
\documentclass[twoside]{report}
\usepackage[ansinew]{inputenc}
\usepackage{fancyhdr}
\usepackage{lipsum}
\pagestyle{fancy}
\renewcommand{\subsectionmark}[1]{\markright{ #1}}
\renewcommand{\sectionmark}[1]{\markright{ #1}}
\renewcommand{\chaptermark}[1]{\markright{ #1}}
\rfoot{}
\cfoot{}
\fancyhead[LO,RE]{\thesubsection \rightmark}
\fancyhead[RO,LE]{\thepage}
\renewcommand {\headrulewidth}{0pt}
\renewcommand {\footrulewidth}{0pt}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\begin{document}
\chapter{Some chapter}
\section{Section I}
\lipsum[1]
\subsection{Subsection}
\lipsum[1-2]
\section{Section II}
\lipsum[1-2]
\subsection{Subsection One}
\lipsum[1-2]
\subsection{Subsection Two}
\lipsum[1-2]
\section{Section III}
\lipsum[1-2]
\subsection{Subsection for this section}
\lipsum[1-2]
\subsection{Another subsection}
\lipsum[1-2]
\end{document}
решение1
Номер раздела необходимо добавить вместе с заголовком в \markright
. Делать это в заголовке слишком поздно.
Нумерация контролируется счетчиком secnumdepth
. Поэтому пример также проверяет значение , secnumdepth
чтобы избежать случая, когда число указано в заголовке, но не указано в тексте.
\documentclass[twoside]{report}
\usepackage[ansinew]{inputenc}
\usepackage{fancyhdr}
\usepackage{lipsum}
\pagestyle{fancy}
\renewcommand{\subsectionmark}[1]{%
\markright{%
\ifnum\value{secnumdepth}>1 %
\thesubsection~%
\fi
#1%
}%
}
\renewcommand{\sectionmark}[1]{%
\markright{%
\ifnum\value{secnumdepth}>0 %
\thesection~%
\fi
#1%
}%
}
\renewcommand{\chaptermark}[1]{%
\markright{%
\ifnum\value{secnumdepth}>-1 %
\thechapter~%
\fi
#1%
}%
}
\rfoot{}
\cfoot{}
\fancyhead[LO,RE]{\rightmark}
\fancyhead[RO,LE]{\thepage}
\renewcommand {\headrulewidth}{0pt}
\renewcommand {\footrulewidth}{0pt}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\begin{document}
\chapter{Some chapter}
\section{Section I}
\lipsum[1]
\subsection{Subsection}
\lipsum[1-2]
\section{Section II}
\lipsum[1-2]
\subsection{Subsection One}
\lipsum[1-2]
\subsection{Subsection Two}
\lipsum[1-2]
\section{Section III}
\lipsum[1-2]
\subsection{Subsection for this section}
\lipsum[1-2]
\subsection{Another subsection}
\lipsum[1-2]
\end{document}