Hallo, Mein Text beginnt mit einer Section-Überschrift "A". Darauf folgt eine Subsection-Überschrift A.1. Der Text unter dieser Überschrift ist ca. 1 ½ Seiten lang. Wenn ich nun nach dem Text eine neue Section-Überschrift "B" einfüge, steht in der Kopfzeile "B" anstatt "A | A.1". Hier ist mein Quellcode (auf der Seite 2. Sollte in der Kopfzeile eigentlich stehen " Section A | Subsection A.1"

Code, hier editierbar zum Übersetzen:
% !TeX spellcheck = de_DE_igerman96
\documentclass[a4papier,12pt]{scrartcl}
%\usepackage[applemac]{inputenc}
\usepackage[ngerman]{babel}
%\renewcommand{\familydefault}{\sfdefault}
%\usepackage{helvet}
\usepackage[left=2.5cm, right=2cm, top=2cm, bottom=2cm]{geometry} %Seitenränder
%Kopfzeile
%Macht: Section | Subsection und die Kopfzeile wird erst NACH der Überschrift angepasst
\usepackage[headsepline=1pt,autooneside=false]{scrlayer-scrpage}
\clearpairofpagestyles
\automark[subsection]{section}
\ihead{\leftmark{}\ifstr{\leftmark}{\rightmark}{}{ $|$ \righttopmark}}
\ohead*{\pagemark}
\renewcommand*{\sectionmarkformat}{} %Kopfzeile ohne Kaptitelnummer
\renewcommand*{\subsectionmarkformat}{} %Kopfzeile ohne Kapitelnummer
\usepackage{blindtext}
\begin{document}
\section{Section A}
\blindtext
\subsection{Subsection A.1}
\blindtext \blindtext \blindtext \blindtext \blindtext \blindtext
\section{Section B}
\blindtext
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

gefragt 21 Jul '19, 14:21

Simon's gravatar image

Simon
45158
Akzeptiert-Rate: 0%


Um die in Ijon's Antwort auf deine letzte Frage erwähnten Anweisungen besser zu verstehen, könntest du sie versuchsweise zunächst einfach einmal alle verwenden, beispielsweise (die fehlerhafte Option a4papier habe ich entfernt):

Code, hier editierbar zum Übersetzen:
% !TeX spellcheck = de_DE_igerman96
\documentclass[12pt]{scrartcl}
%\usepackage[applemac]{inputenc}
\usepackage[ngerman]{babel}
%\renewcommand{\familydefault}{\sfdefault}
%\usepackage{helvet}
\usepackage[left=2.5cm, right=2cm, top=2cm, bottom=2cm]{geometry} %Seitenränder
%Kopfzeile
%Macht: Section | Subsection und die Kopfzeile wird erst NACH der Überschrift angepasst
\usepackage[headsepline=1pt,autooneside=false]{scrlayer-scrpage}
\clearpairofpagestyles
\automark[subsection]{section}
\ihead{%
leftfirst=\leftfirstmark, lefttop=\lefttopmark, leftbot=\leftbotmark\\
rightfirst=\rightfirstmark, righttop=\righttopmark, rightbot=\rightbotmark}
\ohead*{\pagemark}
\renewcommand*{\sectionmarkformat}{} %Kopfzeile ohne Kaptitelnummer
\renewcommand*{\subsectionmarkformat}{} %Kopfzeile ohne Kapitelnummer
\usepackage{blindtext}
\begin{document}
\section{Section A}
\blindtext
\subsection{Subsection A.1}
\blindtext \blindtext \blindtext \blindtext \blindtext \blindtext
\section{Section B}
\blindtext
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Schaut man sich das Ergebnis auf der zweiten Seite an:

leftfirst=Section B, lefttop=Section A, leftbot=Section B
rightfirst=Section B, righttop=Subsection A.1, rightbot=Section B

so sieht es sehr danach aus, dass

\ihead{\lefttopmark $|$ \righttopmark}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

das gewünschte Ergebnis liefert. Allerdings stimmt dann vermutlich das Ergebnis auf der ersten Seite, bei dem die beiden Felder laut Anzeige mit dem Testdokument leer ist:

leftfirst=Section A, lefttop=, leftbot=Section A
rightfirst=Section A, righttop=, rightbot=Subsection A.1

vermutlich nicht mit dem wunsch überein. Also braucht man zusätzich eine Fallunterscheidung, beispielsweise

Code, hier editierbar zum Übersetzen:
\ihead{%
\ifstr{\lefttopmark}{}{\leftfirstmark}{\lefttopmark}
\ifstr{\righttopmark}{}{}{$|$ \righttopmark}%
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

o. ä. Als vollständiges Beispiel also eventuell:

Code, hier editierbar zum Übersetzen:
% !TeX spellcheck = de_DE_igerman96
\documentclass[12pt]{scrartcl}
%\usepackage[applemac]{inputenc}
\usepackage[ngerman]{babel}
%\renewcommand{\familydefault}{\sfdefault}
%\usepackage{helvet}
\usepackage[left=2.5cm, right=2cm, top=2cm, bottom=2cm]{geometry} %Seitenränder
%Kopfzeile
%Macht: Section | Subsection und die Kopfzeile wird erst NACH der Überschrift angepasst
\usepackage[headsepline=1pt,autooneside=false]{scrlayer-scrpage}
\clearpairofpagestyles
\automark[subsection]{section}
\ihead{%
\ifstr{\lefttopmark}{}{\leftfirstmark}{\lefttopmark}
\ifstr{\righttopmark}{}{}{$|$ \righttopmark}%
}
\ohead*{\pagemark}
\renewcommand*{\sectionmarkformat}{} %Kopfzeile ohne Kaptitelnummer
\renewcommand*{\subsectionmarkformat}{} %Kopfzeile ohne Kapitelnummer
\usepackage{blindtext}
\begin{document}
\section{Section A}
\blindtext
\subsection{Subsection A.1}
\blindtext \blindtext \blindtext \blindtext \blindtext \blindtext
\section{Section B}
\blindtext
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Mit Hilfe der Testdefinition aus dem Eingangsbeispiel, sollte es möglich sein, auch weitere Sonderfälle zu berücksichtigen. Für einige Sonderfälle muss man eventuell auch mit der Sternform von \automark die Markenerzeugung erweitern, was dann natürlich auch Auswikrungen auf das Ergebnis der Ausgabe anderer Marken haben kann. Es gibt vermutlich auch Sonderfälle, die nicht oder nur sehr schwer vollautomatisch lösbar sind. In dem Fall kann ggf. ein \sectionmark oder \subsectionmark an der richtigen Stelle helfen.

Permanenter link

beantwortet 21 Jul '19, 15:18

okay's gravatar image

okay
1513
Akzeptiert-Rate: 0%

bearbeitet 21 Jul '19, 15:49

vielen dank! eine super Erklärung + Lösung. Mir ist gerade leider nur aufgefallen, dass wenn ich ein Inhaltsverzeichnis einfüge

also:

Code, hier editierbar zum Übersetzen:
\begin{document}
\tableofcontents
\newpage
\section{Section A}
\blindtext
\subsection{Subsection A.1}
\blindtext \blindtext \blindtext \blindtext \blindtext \blindtext
\section{Section B}
\blindtext
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

dann ist die Kopfzeile des ersten Kapitels "Inhaltsverzeichnis | Inhaltsverzeichnis". Wie könnte man das noch beheben?

(22 Jul '19, 12:34) Simon
3

@Simon Das ist genau eines der Probleme, wenn man mit \lefttopmark (aber auch \righttopmark) arbeitet. Das geht eigentlich auch aus der Erklärung in der KOMA-Script-Anleitung hervor. Letztlich musst du in solchen Fällen vor dem Seitenumbruch die Marke mit \sectionmark ändern. solange man \leftbotmark nicht verwendet, sollte das gefahrlos sein. Trotzdem bleibt das Problem auch im Falle, dass zufällig der Seitenumbruch genau vor der Überschrift landet. Das eigentliche Problem ist, der (unübliche) Wunsch aus der Frage, dass auf Seite 2 nicht die erste Überschrift von Seite 2 steht.

(22 Jul '19, 12:48) gast3
2

@Simon In der Tat hat @Ijon da absolut recht. LaTeX selbst verwendet daher auch \topmark (das TeX-Primitiv, das hinter \lefttopmark und \righttopmark steht) nicht, sondern nur \firstmark (das TeX-Primitiv hinter \leftfirstmark und \rightfirstmark) und \botmark (das TeX-Primitiv hinter \leftbotmark und \rightbotmark). In der Regel ist es besser, es LaTeX gleich zu tun und nur \leftfirstmark, \leftbotmark, \rightfirstmark und \rightbotmark zu verwenden. Für seltsame Anforderungen sind aber manchmal auch \lefttopmark und \righttopmark verlockend.

(22 Jul '19, 13:17) okay

Und wie könnte man das Problem lösen, dass wenn ich in Section B mehr Text einfüge und dieser auf einer neuen Seite landet, dass dort in der Kopfzeile nicht "Section B | Section B" steht?

(22 Jul '19, 13:18) Simon

@Simon Genau wegen solcher Sonderfälle oder Randbedingungen habe ich auch darauf hingewiesen, dass Automatismen für alles und jedes u. U. recht aufwänmdig werden können und es dann sinnvoller sein kann, von Fall zu Fall manuell einzugreifen.

(22 Jul '19, 13:21) okay
1

@Simon: Hast du dir mal mein letztes Beispiel in https://texwelt.de/wissen/fragen/25282/kopfzeilenaktualisierung-falsch/25283 angeschaut? Da steht nicht zweimal „Section B“ in der Kopfzeile – auch nicht, wenn man am Ende noch ein \blindtext[10] anfügt. Ansonsten: Entweder Fallunterscheidung mit \ifstr basteln, nachdem man sich mit einer Definition wie in der Antwort hier angeschaut hat, welches Feld, welches Ergebnis bringt, oder eben wie von okay erwähnt, von Hand eingreifen.

(22 Jul '19, 15:04) gast3
1

BTW: Das wird mir schon wieder viel zu diskutierend … Ich klinke mich deshalb aus.

(22 Jul '19, 15:06) gast3
Ergebnis 5 von 7 show 2 more comments
Deine Antwort
[Vorschau ausblenden]

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Frage-Themen:

×5

gestellte Frage: 21 Jul '19, 14:21

Frage wurde gesehen: 4,723 Mal

zuletzt geändert: 22 Jul '19, 15:07

Willkommen, erstes Mal hier? Schau mal unter FAQ!

×