Schwierig mit Fancyhdr und Inhaltsverzeichnis

Schwierig mit Fancyhdr und Inhaltsverzeichnis

Prämisse: Ich bin neu bei fancyhdr. Ich habe den folgenden ausgefallenen Stil definiert:

\lhead{}
\chead{\slshape\leftmark}
\rhead{}
\lfoot{}
\cfoot{\thepage}
\rfoot{}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt}

Dadurch werden Kapitelnummer und -name, die obere Zeile, die untere Zeile und die Seitenzahl auf allen Seiten außer der ersten jedes Kapitels korrekt gezeichnet.

Daher habe ich den einfachen Stil folgendermaßen neu definiert:

\fancypagestyle{plain}{
\lhead{}
\chead{}
\rhead{}
\lfoot{}
\cfoot{\thepage}
\rfoot{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0.4pt}}

die die obere Zeile, die untere Zeile und die Seitenzahl auf der ersten Seite jedes Kapitels korrekt zeichnen (Hinweis: Beim einfachen Stil fehlen die Kapitelnummer und der Name des ausgefallenen Stils)

Jetzt habe ich ein Problem mit dem Inhaltsverzeichnis. Die erste Seite des Inhaltsverzeichnisses hat den einfachen Stil (ohne Kapitelnummer und -name), aber die folgenden Seiten haben den ausgefallenen Stil (mit Kapitelnummer und -name). Wie kann ich den einfachen Stil auf ALLE Seiten des Inhaltsverzeichnisses anwenden?

Antwort1

Da Sie die Klasse verwenden book, gehe ich davon aus, dass alles im Frontmatter dem Seitenstil unterliegen soll plain:

\documentclass[a4paper,oneside]{book}
\usepackage{fancyhdr}
\usepackage{etoolbox}
\usepackage{lipsum} % just for the example

\pagestyle{fancy}
\fancypagestyle{main}{%
  \fancyhf{}%
  \fancyhead[C]{\slshape\leftmark}%
  \fancyfoot[C]{\thepage}%
  \renewcommand{\headrulewidth}{0.4pt}%
  \renewcommand{\footrulewidth}{0.4pt}%
}
\fancypagestyle{plain}{%
  \fancyhf{}%
  \fancyfoot[C]{\thepage}%
  \renewcommand{\headrulewidth}{0pt}%
  \renewcommand{\footrulewidth}{0.4pt}%
}

\appto\frontmatter{\pagestyle{plain}}
\appto\mainmatter{\pagestyle{main}}

\begin{document}

\frontmatter
\tableofcontents

\mainmatter

%%% fill with some mock text
\def\testsec{\section{B}\lipsum}
\def\test{\chapter{A}
  \testsec
  \testsec
  \testsec
  \testsec
  \testsec
  \testsec
  \testsec
  \testsec
  \testsec
  \testsec
}
\test
\test
\test
\test
\test
\test
\test
\test
\end{document}

Von der Fußregel rate ich allerdings ab.

Antwort2

Versuchen Sie dies in der Präambel Ihres eigentlichen Dokuments

\usepackage{etoc}
\renewcommand{\etocaftertitlehook}{\pagestyle{plain}}
\renewcommand{\etocaftertochook}{\thispagestyle{plain}}

(Bearbeiten wird in der Zeile darüber \pagestyledurch ersetzt)\thispagestyle

MWE:

\documentclass{book}

\usepackage{fancyhdr}
\lhead{}
\chead{\slshape\leftmark}
\rhead{}
\lfoot{}
\cfoot{\thepage}
\rfoot{}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt}
\fancypagestyle{plain}{
\lhead{}
\chead{}
\rhead{}
\lfoot{}
\cfoot{\thepage}
\rfoot{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0.4pt}}


\usepackage{etoc}
\renewcommand{\etocaftertitlehook}{\pagestyle{plain}}
\renewcommand{\etocaftertochook}{\thispagestyle{plain}}

\begin{document}

\tableofcontents

\chapter{ONE}

\section {A}

\chapter{TW0}

\section {B}

\newcount\cnta
\loop
\chapter{\the\cnta}

\ifnum\cnta<50
\advance\cnta 1
\repeat
\end{document}

verwandte Informationen