Sie sind hier

Kopfzeileninhalt

Meine Kopfzeile ist wie folgt aufgebaut:¹

  • Linke Seite: Seitennummer / Titel des Kapitels / Kap. Nr., § \thesection²
  • Rechte Seite: Nr. \thesubsection² / Titel von \section² / Seitennummer

Ich möchte erreichen, dass bei der Änderung eines Abschnittes (also \thesection² wird erhöht) in der Kopfzeile auf der ungeraden Seite erscheint:

$ \thesection², Nr. \thesubsection² / Titel \section² / Seitennummer

Mein Problem ist, dass ich nicht weiß, ob es eine Anfragemöglichkeit bereits gibt, wenn sich der Zähler \thesection²
erhöht. Wenn nicht, dann müsste ich mir dieses selber schreiben.

Hier noch mein TeX-Code (bin mir nicht sicher, ob dies so richtig eingefügt ist), bei diesem habe ich von M. Kohm seinen Beiträgen in DTK, seinem Buch und seinen Antworten hier gelernt. Alles was falsch ist, ist meine Schuld.

% ------------------------------
%
\documentclass[german]{scrbook}
\usepackage{mwe}
%
\usepackage{scrlayer-scrpage}
\pagestyle{scrheadings}
\clearscrheadfoot
\renewcommand*{\chaptermarkformat}{}					% KOMA-script 5.5. /285
\renewcommand*{\sectionmarkformat}{}					% KOMA-script 5.5. /285
%
\lehead[]{\pagemark}%
\cehead[]{\hspace{.75\marginparwidth}{\scshape\headmark}}
\rehead[]{\normalfont{Kap. \thechapter, \thesection}}
%%
\rohead[]{\pagemark}
\cohead[]{\hspace{-.75\marginparwidth}{\scshape\headmark}}
\lohead[]{\normalfont{Nr. \thesubsection}}
% --
\renewcommand*{\pagemark}{%								% M.Kohm, DTK
\usekomafont{pagenumber}%
 \ifodd\value{page}%
 \makebox[.75\marginparwidth][l]{\pnumbar\enskip\thepage}% 
  \else
  \makebox[.75\marginparwidth][r]{\thepage\enskip\pnumbar}%
  \fi 
 }
% --
\newcommand*{\pnumbar}{%									% M. Kohm, DTK
  \raisebox{0pt}[\ht\strutbox][\dp\strutbox]{%
  \rule[-\dp\strutbox]{1.5pt}{1.1\baselineskip}%
	}%
}
%
\AfterCalculatingTypearea{%								% M. Kohm, DTK
  \setheadwidth[0pt]{\dimexpr\textwidth+\marginparsep+\marginparwidth\relax}%
}%
\recalctypearea
%%  Aus KOMA-Script und aus Beiträgen von M. Kohm zusammengestellt
\KOMAoptions{chapterprefix=true,numbers=autoenddot}
\renewcommand*{\thechapter}{\Roman{chapter}}  %
\renewcommand*{\chapterformat}{\chapapp~\thechapter}%\autodot}
\addtokomafont{chapter}{\centering\scshape}
%%
\renewcommand*{\addchaptertocentry}[2]{%  Seite 524 / http://www.komascript.de/node/1780
  \ifstr{#1}{}{% keine Nummer:
    \addtocentrydefault{chapter}{#1}{#2}% wie bisher
  }{% mit Nummer:
    \addtocentrydefault{chapter}{}{\chapapp\ #1\autodot \ --- #2}%
  }%
}
%%
\renewcommand*{\thesection}{\S \arabic{section}}%\autodot}
\addtokomafont{section}{\centering}
\addtokomafont{subsection}{\itshape}
\renewcommand*{\addsectiontocentry}[2]{%  Seite 526 / 
	\addtocontents{toc}{\protect\addvspace{\protect.5\baselineskip}}  % Leerzeile
  		\ifstr{#1}{}{% keine Nummer:
    			\addtocentrydefault{section}{#1}{#2}% wie bisher
  			}{% mit Nummer:
    			\addtocentrydefault{section}{}{#1\autodot{\enskip\itshape#2}}%
  }%
}
%%%
\renewcommand*{\thesubsection}{\arabic{subsection}}%\autodot}
%
\renewcommand*{\addsubsectiontocentry}[2]{%  Seite 526 / 
  \ifstr{#1}{}{% keine Nummer:
    \addtocentrydefault{subsection}{#1}{#2}% 
  }{% mit Nummer:
	   \addtocentrydefault{subsection}{}{#1\autodot{\enskip\enskip}{#2}}%
  }%
}
%%
\begin{document}
\tableofcontents
\blinddocument
\blinddocument
\blinddocument
\end{document}

[Admin-Edit:]

  1. <ol></ol> und <li></li> Tags eingefügt (siehe Formatierungshinweise)
  2. <code></code> Tags eingefügt (siehe Formatierungshinweise)
  3. <latex>-Tag correkt mit </latex> geschlossen.

Bild von Admin

Der Blog-Bereich ist grundsätzlich nicht dazu gedacht, LaTeX-Fragen zu stellen. Dafür haben wir das Forum!

Administratorentscheidungen sind grundsätzlich nicht im Forum zu diskutieren. Für Fragen an die Administratoren ist die bekannte Administrator-E-Mail-Adresse oder das Forum Site zu verwenden.

Bild von Markus Kohm

In der KOMA-Script-Anleitung heißt es nicht umsonst:

Erlauben Sie mir einen wichtigen Hinweis: Sie sollten niemals die Überschrift oder die Nummer einer Gliederungsebene mit Hilfe einer dieser Anweisungen als Kolumnentitel in den Kopf der Seite setzen. Aufgrund der Asynchronizität von Seitenaufbau und Seitenausgabe kann es sonst leicht geschehen, dass die falsche Nummer oder die falsche Überschrift im Kolumnentitel ausgegeben wird. Stattdessen ist der Mark-Mechanismus idealer Weise in Verbindung mit den Automatismen, die im nächsten Abschnitt erklärt werden, zu verwenden.

Genau das, also die Nummern direkt mit \rehead und \lohead in den Kopf zu schreiben, machst Du hier. Das ist falsch und führt zu den genannten Problemen!

Mir ist auch nur teilweise klar, was erreicht werden soll. So erscheint es mir unsinnig den Titel der aktuellen \section auf die Nummer der aktuellen \subsection folgen zu lassen. Das sähe dann ja aus als habe die aktuelle \subsection diesen Titel, was offensichtlich nicht der Fall ist. Kann also eigentlich wohl eher nicht sein. Und was soll passieren, wenn zwar auf der aktuellen Seite ein neuer Abschnitt (\section) aber kein Unterabschnitt (\subsection) begonnen wurde?

Mit den offenen Fragen und Angesichts der Komplexität und meiner verfügbaren Zeit kann ich deshalb keine vollständige Lösung bieten. Ich kann nur empfehlen, Dich mit \markboth, \markright, \markleft und ggf. auch mit dem TeX-Primitiv \marks und dessen e-TeX-Erweiterung \marks zu beschäftigen. Ja, das ist nicht trivial, das kann sogar ausgesprochen kompliziert werden.

Markus, danke für die Hinweise und Erläuterungen. Ich werde mich also hinsetzen und mir dieses alles anlesen (und hoffentlich auch verstehen und umsetzen können). Hintergrund meiner Anfrage ist es, die Art der Kopfzeile in
N. Bourbaki, Théories Spectrales (Hermann, Paris 1967) "nachzubauen". Einiges habe ich jetzt hinbekommen, so dass das Ergebnis entsprechend aussieht. Dennoch werde deinen Hinweisen folgen.

Sorry, wenn mein Beitrag in der falschen Rubrik gelandet ist. Ich weiß auch nicht, ob ich meine derzeitige Lösung noch einstellen soll.

--
Ulrich

Markus, ich habe mich heute mit \markboth etc. ausgiebig beschäftig. Mir ist aber weiterhin unklar, wie ich meine \rehead und \lohead umdefinierten soll, damit die von die angesprochenen Probleme nicht auftreten. Ich habe dein Forum durchsucht, bin aber momentan nicht richtig fündig geworden (bis auf einen älteren Beitrag; http://www.komascript.de/node/745, der mir aber auch nicht so richtig momentan weitergeholfen hat).

Zusätzliche Frage: Kann man die Kopfzeile so definieren, dass die in dem Teil \frontmatter keine Wirkung hat und dort nur die üblichen Seitenzahlen in "roman" erscheinen?

Danke im voraus.

Ulrich

--
Ulrich

Bild von Markus Kohm

Klingt so, als wolltest Du im Vorderteil einfach nur \pagestyle{plain}. Den Seitenstil kann man im Dokument mehrfach wechseln. Wenn Dir selbst das nicht klar ist, solltest Du Dich von Deinem Vorhaben entweder verabschieden oder jemand dafür bezahlen. Das wird aufwändig – erst recht, wenn Du die offenen Fragen offen lässt.

Hier noch ein Beispiel, das zeigt, warum man unbedingt über den Mark-Mechanismus gehen muss und nicht einfach \thesection o. ä. in die Kopfdefinition schreiben darf:

\documentclass{scrartcl}
\usepackage[automark]{scrlayer-scrpage}
\clearpairofpagestyles
\ihead{\texttt{\string\thesection} ist \thesection, wirklich aktuell ist
  \headmark}
\renewcommand*{\sectionmark}[1]{\markright{Abschnitt \thesection}}
\ohead{\thepage}
\usepackage{mwe}
\begin{document}
\section{Test}
\blindtext[4]
 
Und noch ein wenig mehr Text, damit der neue Abschnitt genau mit dem
Seitenumbruch kollidiert.
 
\section{Neuer Abschnitt}
\blindtext
\end{document}

Man beachte den Kopf auf Seite 1.

Außerdem habe ich jetzt Feierabend.

Markus, eine kleine Antwort auf deine erste Anmerkung: Dass man mit \pagestyle{..} umschalten kann ist mir bekannt. Meine Frage bezog sich darauf, ob man für den Bereich \frontmatter einen andere Kopfzeile definieren kann, als die man dann im Bereich \mainmatter benutzt (analog dann auch für den Bereich \backmatter). Ich meine, etwas dazu in deinem Forum gesehen zu haben, konnte es aber nicht finden.

Mir ist auch nicht ganz klar, welche offenen Frage ich offen gelassen habe.

Danke für das Beispiel, dass ich mir heute im Detail ansehen werde. Ich bin dankbar für Tipps und Hilfestellungen, nur erwarte ich nicht, dass diese zu Lasten deiner Freizeit gehen.

Ulrich

--
Ulrich

Bild von Markus Kohm

Wenn die Lösung schlicht lautet im Vorderteil \pagestyle{plain} zu verwenden, wo ist dann das Problem?

Natürlich kannst Du auch einen anderen Seitenstil definieren. Wie man neue Seitenstile oder neue Paare von Seitenstilen definiert, steht ebenfalls in der Anleitung. Soweit ich Dich verstanden habe, genügt der Seitenstil plain (entspricht dann plain.scrheadings) hier aber.

Offen sind die ganzen Fragen, die ich in meiner ersten Antwort angesprochen habe. Dazu kommt ggf. noch die Frage, ob Kapitel im Kolumnentitel tatsächlich unberücksichtigt bleiben sollen. Das würde fast darauf hinweisen, dass Kapitel eigentlich Teile wären. Für mich alles sehr unklar. Ein Verweis auf ein Buch reicht als Antwort schon deshalb nicht, weil die wenigsten von uns dieses Buch haben dürften.

Auch ein Dienstleister wird das Problem nur lösen können, wenn Du es genauer spezifizierst.

Comments for "Kopfzeileninhalt" abonnieren