scrlayer-scrpage subsection wird im header nicht angezeigt

Klassen und Pakete zur einfachen Umsetzung individueller Vorstellungen


Satuaria
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Di 20. Nov 2018, 09:37

scrlayer-scrpage subsection wird im header nicht angezeigt

Beitrag von Satuaria »

Hallo,
ich habe eine Frage, die wahrscheinlich sehr simpel ist, aber nachdem ich weder mit der KOMA-Script Doku noch mit Forensuche weiterkomme, frage ich trotzdem mal.

Ich möchte mit scrlayer-scrpage eine Kopfzeile erstellen, die ganz klassisch die Titel von section und subsection enthält. Soweit ich die Doku verstanden habe, sollte das mit \automark der Standard sein. In folgendem Beispiel bekomme ich allerdings nur die sections, nicht die subsections in den Titel. Was fehlt?
Danke schonmal :)

Code: Alles auswählen

\documentclass[twoside]{scrartcl}
\usepackage[headsepline, headtopline]{scrlayer-scrpage}
\automark[subsection]{section}

\begin{document}
\section{Introduction and Theory}
In a hole in the ground there lived a hobbit...
\newpage
\section{another section}
In a hole in the ground there lived a hobbit...
\newpage
\section{yet another section}
In a hole in the ground there lived a hobbit...
\newpage

\end{document}

markusv
Forum-Meister
Forum-Meister
Beiträge: 827
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Beitrag von markusv »

Hallo und willkommen im Forum!
Satuaria hat geschrieben:Was fehlt?
In deinem Beispiel fehlt eine subsection, die angezeigt werden könnte...

Ansonsten funktioniert das soweit:

Code: Alles auswählen

\documentclass[twoside]{scrartcl}
\usepackage[headsepline, headtopline]{scrlayer-scrpage}
\automark[subsection]{section}
\usepackage{blindtext}
\begin{document}
\Blinddocument
\end{document}
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

Satuaria
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Di 20. Nov 2018, 09:37

Beitrag von Satuaria »

OK, sorry, dummer Fehler mit dem Beispiel :roll:
aber es funktioniert auch nicht wenn ich subsections und Text einfüge.

Code: Alles auswählen

\documentclass[twoside]{scrartcl}
\usepackage[headsepline, headtopline]{scrlayer-scrpage}
\automark[subsection]{section}

\begin{document}
\section{Introduction and Theory}
\subsection{a subsection}
blablablablbalbalblablablbalbablablablablbalbalblablablbalba blablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablab lablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalba lblablablbalbablablablablbalbalblablablbalbablablablablba lbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblabla blbalbablablablablbalbalbla blablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablba lbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablab lbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblabl ablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablab lbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablabl ablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalba
In a hole in the ground there lived a hobbit...
\newpage
\section{another section}
\subsection{a subsection}
In a hole in the ground there lived a hobbit...
blablablablbalbalblablablbalbablablablablbalbalblablablbalba blablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablab lablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalba lblablablbalbablablablablbalbalblablablbalbablablablablba lbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblabla blbalbablablablablbalbalbla blablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablba lbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablab lbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblabl ablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablab lbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablabl ablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalba
\newpage
\section{yet another section}
\subsection{another one}
In a hole in the ground there lived a hobbit...
blablablablbalbalblablablbalbablablablablbalbalblablablbalba blablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablab lablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalba lblablablbalbablablablablbalbalblablablbalbablablablablba lbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblabla blbalbablablablablbalbalbla blablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablba lbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablab lbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblabl ablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablab lbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablabl ablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalbablablablablbalbalblablablbalba
\newpage

\end{document}

Rolli
Forum-Guru
Forum-Guru
Beiträge: 345
Registriert: Mi 15. Feb 2017, 08:50
Wohnort: Mittelfranken

Beitrag von Rolli »

Hi, das liegt zunächst mal am "twoside". Weglassen oder in "oneside" ändern, dann kommt schon mal etwas mehr.
Und wenn Du auf jeder neuen Seite eine neue Section anfängst, können ja auch nur Sections angezeigt werden (wenn ich den Mechanismus richtig verstanden habe).

Gruß vom Rolli

markusv
Forum-Meister
Forum-Meister
Beiträge: 827
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Beitrag von markusv »

Rolli hat geschrieben:Hi, das liegt zunächst mal am "twoside". Weglassen oder in "oneside" ändern, dann kommt schon mal etwas mehr.
Und wenn Du auf jeder neuen Seite eine neue Section anfängst, können ja auch nur Sections angezeigt werden (wenn ich den Mechanismus richtig verstanden habe).
Nunja. twoside legt grundsätzlich fest, dass das Dokument zweiseitig ist. Ein einfaches Weglassen oder in oneside ändern ist also nicht unbedingt möglich, wenn man tatsächlich ein zweiseitiges Dokument haben möchte.

Mit twoside ist auch überhaupt erst einmal der Grundstein gelegt, dass das optionale Argument von \automark[rechte Marke]{linke Marke} berücksichtigt wird. Dies legt nämlich im zweiseitigen Satz die rechte Marke fest, die entsprechend auf den rechten (also ungeraden) Seiten ausgegeben wird. Im einseitigen Fall ist das anders: \automark{(rechte) Marke}, da es in einseitigen Dokumenten nur rechte Seiten gibt.

Zu deinem speziellen Fall: richtig ist, dass eine subsection, welche auf einer vorherigen Seite begonnen hat, auf einer rechten Seite nicht markiert wird, wenn auf dieser Seite eine neue Section beginnt. Die Markierung der subsection erfolgt dann erst auf der übernächsten Seite, siehe Beispiel. Anders ist es, wenn auf der Seite erst eine subsection beginnt, danach eine neue section: hier wird die auf der Seite begonnene subsection ausgegeben.

Einfach gesagt: KOMA-Script schaut sich den ersten neuen Gliederungspunkt auf der jeweiligen rechten Seite an. Ist dies eine Section, erfolgt keine Ausgabe der (möglicherweise nachfolgenden) Subsection, ist es eine Subsection, wird diese ausgegeben.

Grund für dieses Verhalten ist wahrscheinlich der Gedanke, dass sonst auf der linken Seite womöglich 2. Sectiontitel in der Kopfzeile stehen könnte, auf der nächsten rechten Seite ggü. dann 3.1 Subsectiontitel ...

PS: die Einstellung entspricht der Voreinstellung bei Option automark.

Code: Alles auswählen

\documentclass[twoside]{scrartcl}
\usepackage[automark]{scrlayer-scrpage}
\usepackage{blindtext}
\begin{document}
\section{Section 1}%rechte Seite -> keine Ausgabe der subsection
\subsection{Subsection 1a}
\newpage
\section{Section 2}%linke Seite -> Ausgabe der section
\subsection{Subsection 2a}
\newpage
\blindtext%rechte Seite -> ohne neue section, Ausgabe der subsection
\newpage
\section{Section 3}%linke Seite -> Ausgabe der section
\subsection{Subsection 3a}
\newpage
\section{Section 4}%rechte Seite -> neue section, daher keine Ausgabe der subsection
\subsection{Subsection 4a}
\end{document}
Zuletzt geändert von markusv am Di 20. Nov 2018, 12:48, insgesamt 1-mal geändert.
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

schaulustiger

Beitrag von schaulustiger »

Kurze Frage: Wie groß ist dein Bilschirm? :?

Bist du ganz allein auf diesesn extrem sinnvollen Text gekommen?

Satuaria
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Di 20. Nov 2018, 09:37

Beitrag von Satuaria »

Der Text war ganz schön viel Arbeit, schön, dass es dir auffällt! Ist gut geworden, oder? :wink:

Danke euch!

markusv
Forum-Meister
Forum-Meister
Beiträge: 827
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Beitrag von markusv »

Satuaria hat geschrieben:Ist gut geworden, oder?
Nein. Ganz abgesehen davon ist es auch völlig nutzlos, da die Seite dadurch auch nicht voll wird ...

PS für die Zukunft: freundlicher Hinweis zur Seite des Minimalbeispiels
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

Gast

Beitrag von Gast »

markusv hat geschrieben:KOMA-Script schaut sich den ersten neuen Gliederungspunkt auf der jeweiligen rechten Seite an.
Eigentlich schaut KOMA-Script nicht wirklich, was die erste Gliederungsebene auf der Seite ist. Stattdessen wird der normale Mark-Mechanismus von LaTeX verwendet. Konkret:
  • Der Seitenstil scrheadings ist so vordefiniert, dass im Kopf der Kolumnentitel per \headmark gesetzt wird.
  • \headmark ist auf linken Seiten (gibt es nur im doppelseitigen Satz) \leftmark und auf rechten Seiten (im einseitigen Satz sind das alle Seiten) \rightmark.
  • \automark[subsection]{section} definiert \sectionmark so, dass im doppelseitigen Satz im Prinzip \markboth{\sectionmarkformat Überschrift}{} aufgerufen wird. Es wird also die linke Marke mit der \section-Überschrift versehen und die rechte Marke leer gesetzt. Dadurch wird verhindert, dass danach noch eine alte Marke aus dem letzten Abschnitt überlebt. \subsectionmark verwendet hingegen \markright.
  • \leftmark entspricht \leftbotmark gibt also die letzte auf einer Seite gesetzte Marke aus. Wurde auf der Seite keine Marke gesetzt, ist es die letzte zuvor gesetzte Marke.
  • \rightmark entspricht \righttopmark gibt also die erste auf einer Seite gesetzte Marke aus. Wurde auf der Seite keine Marke gesetzt, ist es die letzte zuvor gesetzte Marke.
Damit sollte klar sein, warum auf einer Seite, auf der \section die erste Überschrift ist, auch dann keine \subsection-Überschrift im Kolumnentitel erscheint.

Natürlich kann man den Seitenstil umdefinieren, so dass auf rechten Seiten nicht \rightmark, sondern beispielsweise \rightbotmark verwendet wird. Näheres zu diesem und weiteren Befehlen, um auf die Marken zuzugreifen, ist in der KOMA-Script-Anleitung und im KOMA-Script-Buch zu finden, und natürlich findet man in den dortigen Erklärungen auch obige Fakten.

In besagter Literatur ist übrigens auch \markleft dokumentiert. Man könnte \sectionmark natürlich auch so umdefinieren, dass es diese Anweisung verwendet. Dann kann es allerdings passieren, dass eine \subsection-Überschrift aus dem letzten Abschnitt die Grenze zum neuen Abschnitt überspringt.

Und natürlich könnte man auch:

Code: Alles auswählen

\automark[section]{section}
\automark*[subsection]{}
oder

Code: Alles auswählen

\automark[subsection]{section}
\automark*[section]{section}
verwenden. Wozu das führt, überlasse ich dem lesekundigen und experimentierfreudigen Anwender.

markusv
Forum-Meister
Forum-Meister
Beiträge: 827
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Beitrag von markusv »

Anonymous hat geschrieben:
markusv hat geschrieben:KOMA-Script schaut sich den ersten neuen Gliederungspunkt auf der jeweiligen rechten Seite an.
Eigentlich schaut KOMA-Script nicht wirklich, was die erste Gliederungsebene auf der Seite ist.
Dachte mir schon, dass dieser Satz auf Gegenwind stößt. Sollte eine einfache Erklärung sein i.S.v.
Anonymous hat geschrieben: \rightmark entspricht \righttopmark gibt also die erste auf einer Seite gesetzte Marke aus. Wurde auf der Seite keine Marke gesetzt, ist es die letzte zuvor gesetzte Marke.
, ohne in die LaTeX-Mechanismen einzutauchen (die mir so auch nicht in der Tiefe bekannt sind). Hätte das noch klarer herausstellen sollen.
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

Antworten