ABER

ABER

Um mein Problem zu erklären, möchte ich mit meinem MWE beginnen:

\documentclass[a4paper,10pt]{book}
\usepackage{lipsum}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
\usepackage{extramarks}
\makeatletter
 \renewcommand\chapter{\@startsection%                          
  {chapter}{0}{0mm}%
  {2.5\baselineskip}{1.5\baselineskip}%
  {\centering\normalfont\large\scshape
  }%
 }
 \makeatother
 \newcommand{\mychap}[1]{
 \chapter*{#1}
 \markboth{#1}{#1}}
 \renewcommand{\sectionmark}{}
\renewcommand{\chaptermark}{\markboth{\thechapter}}
\pagestyle{fancy}
\fancyhf{}
\fancyhead{}

  \fancyhead[LE]{{\thepage}}
 \fancyhead[RE]{ {\itshape \nouppercase  \firstleftmark}}%higher level \scshape  \MakeUppercase
  \fancyhead[LO]{ {\itshape \nouppercase  \lastrightmark}} 
  \fancyhead[RO]{ {\thepage}}   %odd page
\begin{document}
\mychap{one}
\lipsum
\mychap{two}
aaa
\mychap{five halves}
\mychap{three}
\lipsum
\mychap{fourth}
\lipsum[5]
\mychap{five}
d
\end{document}

Beachte das:

  1. Ich möchte Kapitel als Abschnitte behandeln (kein Seitenumbruch, einfacher Titel)
  2. In der Kopfzeile möchte ich den Namen des Kapitels

Ich konnte diese Funktionen erhalten

ABER

Ich möchte auch

  1. In der Kopfzeile desseltsamSeiten, die ich möchte diezuletztKapitel erscheint auf der Seite (das scheint mit zu funktionieren \lastrightmark)
  2. In der Kopfzeile dessogarSeiten, die ich nicht möchteErsteKapitel beginnt auf der Seite, aber dieaktuellKapitel, also das Kapitel, das ich beim Umblättern lese.

In meinem Beispiel

  1. Auf Seite 2 hätte ich gerne „eins“, da Kapitel zwei nach dem Seitenumbruch zwischen Seite 1 und Seite 2 beginnt;
  2. Auf Seite 4 hätte ich gerne „vier“, da Kapitel fünf nach dem Seitenumbruch zwischen Seite 3 und Seite 4 beginnt.

Wie kann ich das bekommen?

Antwort1

Sie können diese Header erreichen, indem Sie \extramarkssie wie folgt festlegen und verwenden:

\newcommand{\mychap}[1]{%
\chapter*{#1}%
\markboth{#1}{#1}%
\extramarks{#1}{#1}}

\fancyhead[RE]{\textit{\MakeLowercase{\firstxmark}}}
\fancyhead[LO]{\textit{\MakeLowercase{\lastxmark}}}

In einem Dokument wie Ihrem Muster erhalten Sie also one' in the heading page 2 andwie gewünscht die Überschrift „vier“.

Seite 1

Seite 2

Seite 3

Seite 4

\documentclass[a4paper,10pt]{book}

\usepackage{lipsum}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
\usepackage{extramarks}

\makeatletter
\renewcommand\chapter{\@startsection%
{chapter}{0}{0mm}%
{2.5\baselineskip}{1.5\baselineskip}%
{\centering\normalfont\large\scshape
}%
}
\makeatother

\newcommand{\mychap}[1]{%
\chapter*{#1}%
\markboth{#1}{#1}%
\extramarks{#1}{#1}}

\pagestyle{fancy}
\fancyhf{}
\fancyhead{}

\fancyhead[LE]{\thepage}
\fancyhead[RE]{\textit{\MakeLowercase{\firstxmark}}}
\fancyhead[LO]{\textit{\MakeLowercase{\lastxmark}}}
\fancyhead[RO]{\thepage}

\begin{document}

\mychap{One}
\lipsum
\mychap{Two}
Two words.
\mychap{Two and a half}
\mychap{Three}
\lipsum
\mychap{Four}
\lipsum[5]
\mychap{Five}
A sentence of five words.
\end{document}

Beachten Sie, dass beide\markboth Und \extramarksmüssen die richtigen Werte erhalten (was möglicherweise auf einem „Bug“ in beruht extramarks). Außerdem muss ich \MakeLowercaseden Überschriftentext in die gewünschte Form zwingen, da wir jetzt nicht mehr die Standardmarkierungen verwenden.

verwandte Informationen