fancyhdr: タイトルがタイトル番号と一致しません

fancyhdr: タイトルがタイトル番号と一致しません

ヘッダーのタイトルの一部が番号と一致しません。これは、例ではページ 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。ヘッダーで追加するのは遅すぎます。

番号付けは counter によって制御されます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}

関連情報