Anscheinend verstehe ich die Koma-Script-Dokumentation nicht richtig.

Folgendes Beispiel (nicht schön - soll nur das Prinzip erklären):

Open in writeLaTeX
\documentclass[twoside]{scrreprt}
\usepackage{scrlayer-scrpage}

\KOMAoptions{
    headwidth   = page:0pt,
    headsepline = 1pt:page
}

\automark{chapter}

\lehead[]
{\fbox{\strut\hspace*{2cm}}%    
    \ifunnumbered{chapter}{\hspace*{3em}}{}%
    \leftmark%
}

\renewcommand*{\chapterpagestyle}   {plain.scrheadings}
\pagestyle{scrheadings}

\begin{document}
    \chapter{Ein Kapitel mit \textbackslash chapter}
    \newpage
    Hier wird in der Kopfzeile noch eine Nummer angezeigt

    \addchap{Ein unnummerierte Kapitel mit \textbackslash addchap}
    \newpage
    Hier fehlt in der Kopfzeile die Nummer. Stattdessen soll ein Leerraum vor dem Kapitelname eingefügt werden.
\end{document}

In der Kopfzeile möchte ich, wenn ein Kapitel unnummeriert ist (mit addchap bewerkstelligt), einen Leerraum setzen. Wenn man addchap verwendet wird ja anscheinend alles so wie bei einem chapter gesetzt aber in der Kopfzeile wird chaptermarkformat ausgelassen. Statt dessen möchte ich dann im Fall von addchap den Raum der fehlenden Nummer durch einen Leerraum ersetzen. In der Koma-Script-Dokumentation finden sich dann hierfür die Befehle ifnumbered und ifunnumbered. Das Problem: Bei mir funktioniert es nicht - es wird ignoriert.

Kann mir einer erklären warum?

gefragt 29 Jul '14, 15:28

Sylvan's gravatar image

Sylvan
38951117
Akzeptiert-Rate: 0%

2

Wenn ich das richtige verstehe, dann testet \ifnumbered{chapter} nicht, ob das gerade verwendete Kapitel nummeriert ist oder nicht, sondern ob die gesamte Gliederungsebene chapter nummeriert wird oder nicht (Je nachdem also, welchen Wert der Zähler secnumdepth hat).

(29 Jul '14, 15:53) cgnieder

Ah verda**t. Dachte mir schon dass ich das missverstanden habe. Gibt es da vielleicht eine Alternativlösung? Hab schon viel mit ifnum ifundefined etc bzg. chapter, thechapter etc. probiert aber bin nicht wirklich zu einer Lösung gekommen.

(29 Jul '14, 15:55) Sylvan
3

\ifnumbered tested den Wert von secnumdepth. Dieser wird in \addchap lokal (kurzzeitig) auf -1 gesetzt, aber in der Kopfzeile ist wieder der normal Wert aktiv. Du musst \chaptermark umdefinieren, so dass es bereits beim \mark-Befehl die Fallunterscheidung macht. Oder du definiert \chaptermarkformat (das nur bei nummerierten Kapiteln eingefügt wird) so um, dass es wieder 3 cm zurück geht.

(29 Jul '14, 15:59) Ulrike Fischer

Ergänzend zu @esdd's Antwort sei noch darauf hingewiesen, dass KOMA-Script (seit Version 3.12, also seit der Version, die auch \ifnumbered besitzt) auch noch ein \addchapmark analog zu \chaptermark kennt. In der Voreinstellung macht das genau das, was Ulrike beschrieben hat, nämlich lokal secnumdepth auf -1 zu setzen, außerdem \if@mainmatter auf \iffalse zu setzen und dann \chaptermark aufzurufen. Man kann es aber natürlich auch umdefinieren, damit es unabhängig von \chaptermark wird, also beispielsweise:

Open in writeLaTeX
\renewcommand*{\addchapmark}[1]{\markboth{\hspace*{3em}\MakeMarkcase{#1}}{}}

Ebenso gibt es ein \addsecmark, das in der Voreinstellung allerdings \if@mainmatter nicht antastet, sondern nur secnumdepth lokal verändert. Dieses kann entsprechend umdefiniert werden.

Permanenter link

beantwortet 30 Jul '14, 08:32

gast3's gravatar image

gast3
(ausgesetzt)
Akzeptiert-Rate: 53%

Das wird ja immer besser. Danke dir - es funktioniert wie es soll.

Langsam frage ich mich ob ich die Doku wirklich richtig lese. Keine Ahnung wie ich solche Sachen einfach überlesen kann. Vielleicht fehlt mir da aber auch noch bisschen Grundverständnis.

(30 Jul '14, 08:58) Sylvan
1

@Sylvan Da es zu \chaptermark ein Beispiel gibt, zu \addchapmark aber nicht, kann man das durchaus etwas leichter übersehen. Außerdem werden viele, die \chaptermark bereits kennen, \addchapmark eventuell übersehen, wenn sie nicht regelmäßig die Änderungsliste der Anleitung nach Neuerungen durchsuchen. Trotzdem: Erklärungen zu einem Block von Befehlen etc. immer komplett lesen!

BTW: Dank-Kommentare sind eigentlich überflüssig. Wenn ich das richtig verstehe, dann ist der Daumen nach oben auch dafür gedacht. Man kann den im Gegensatz zum Haken auch für mehrere Antworten vergeben. ;)

(30 Jul '14, 09:17) gast3

Nein das war mir nicht klar. Ich bin hier um meine Probleme gelöst zu bekommen und eventuell Probleme anderer zu lösen. Irgendwelche imaginären Punkte interessieren mich nicht.

(30 Jul '14, 10:56) Sylvan
1

@Sylvan: Ich sehe das Punktesystem ja durchaus auch zwiespältig, aber das Punktesystem hat durchaus einen Sinn. Du hilfst mit Daumen und Haken auch anderen Anwendern mit ähnlichen Problemen bei der Orientierung.

(30 Jul '14, 11:07) gast3

@Sylvan Ja, ignorier die Punkte gern. Als Seiteneffekt des Votings nach Qualität für die Sortierung werden die Punkte den Nutzern auch zugeordnet. Automatisch kriegen sie bei gewissen Punktestand Moderationsrechte, da Beteiligung erkannt. Folge gern Ijons Link in seinem vorangehenden Kommentar, da steht noch mehr. Es wird immer wieder jemanden unnötig vorkommen, hat jedoch schon Nutzen. Ich hoffe, es stört Dich nicht zu sehr.

(30 Jul '14, 12:07) stefan ♦♦

Nein wie gesagt: Der Link ist auch aussagekräftig und die Begründung warum das gemacht hat ist auch ok. Dort steht es ja schon richtig da: Man muss es nicht beachten - ich ignoriere es einfach. Es ist überhaupt kein Problem - es interessiert mich halt nur einfach nicht. Wollte hiermit auch keine Diskussion darüber lostreten. Ihr macht es wie ihr es für richtig haltet. Von allen TeX-Seiten bleibt es auch so weiterhin meine erste Anlaufstelle ;-)

(30 Jul '14, 13:47) Sylvan
1

@Sylvan meine eigenen Punkte interessieren mich auch nicht wirklich, ich finde es aber aus zweierlei Hinsicht für mich wichtig, trotzdem abzustimmen: ich zeige dem oder der FragestellerIn oder Antwortenden, dass ich seine oder ihre Bemühungen wertschätze, und ich kann anderen Suchenden anzeigen, welche Antwort ich für gut erachte. Wenn man sucht und man findet eine Antwort mit postiven Stimmen und eine mit negativen, dann kann man, selbst wenn man die Güte des jeweiligen (La)TeX-Codes nicht einschätzen kann, dennoch einschätzen, welche Antwort wahrscheinlich besser ist.

(30 Jul '14, 13:53) cgnieder

@Clemens Keine Angst - ich verstehe das und werde das auch so handhaben. Das mit dem egal war mehr auf @Ijons Hinweis, dass ich meine eigenen Punkte verschenke, bezogen.

Btw: Ich habe jetzt Punkte vergeben - muss ich jetzt noch extra den Daumen-Button drücken wenn ich einen Beitrag als "empfehlenswert" kennzeichnen möchte?

(30 Jul '14, 15:00) Sylvan

@Sylvan Wenn Du Punkte vergibst, dann ist das zusätzlich zu denen, die durch Abstimmen vergeben werden. Etwas detaillierter ist das unter Für Fragen und Antworten stimmen beschrieben.

(30 Jul '14, 15:03) cgnieder

@Sylvan Daumen hoch und Haken haben gegenüber verschenkten Punkten den Vorteil, dass sie die "Wertung" der Antwort verändern und so als besagte Orientierungshilfe für andere Hilfesuchende dienen. Dass der Autor dafür gleichzeitig (10 bzw. 15 Punkte) bekommt, ist ein (in meinem Augen eher unwichtiger) Nebeneffekt. Ob Du nun noch Daumen oder Haken vergeben willst, musst Du selbst entscheiden.

(30 Jul '14, 15:05) gast3

@Sylvan Das Anklicken des Hakens hat zusätzlich die Funktion die Frage als beantwortet zu markieren. In den Fragenlisten ist dann das Feld mit der Anzahl der Antworten grün und die Frage steht nicht mehr in der Liste der offenen Fragen.

(30 Jul '14, 21:53) esdd
Ergebnis 5 von 11 show 6 more comments

Du kannst \chaptermark mit Hilfe von \ifunnumbered entsprechend deiner Wünsche umdefinieren

Open in writeLaTeX
\renewcommand{\chaptermark}[1]{%
  \markboth{\ifunnumbered{chapter}{\hspace*{3em}}{%
    \chapappifchapterprefix{\ }\thechapter\autodot\ }#1}{}}    
\lehead{\fbox{\strut\hspace*{2cm}}\leftmark}

alt text

alt text

Das sieht aber irgendwie sehr seltsam aus, selbst wenn ich davon ausgehe, dass die \fbox nur zur Darstellung des Abstandes dient. Ich würde den Überschriftentext dann wenigstens im gleichen ausreichend großen Abstand von Rand beginnen lassen und die gegebenenfalls vorhandene Kapitelnummer mit Hilfe von \llap links vom Überschriftentext einfügen.

Open in writeLaTeX
\renewcommand{\chaptermark}[1]{%
  \markboth{\ifunnumbered{chapter}{}{%
    \llap{\chapappifchapterprefix{\ }\thechapter\autodot\ }}#1}{}}
\lehead{\fbox{\strut\hspace*{2.5cm}}\leftmark}

Alternativ kann man auch \chaptermarkformat umdefinieren.

Open in writeLaTeX
\automark{chapter}
\renewcommand{\chaptermarkformat}[1]{%
  \llap{\chapappifchapterprefix{\ }\thechapter\autodot\enskip}}
\lehead{\fbox{\strut\hspace*{2.5cm}}\leftmark}

Beides liefert

alt text

alt text

Code:

Open in writeLaTeX
\documentclass[twoside,headheight=21pt]{scrreprt}
\usepackage{scrlayer-scrpage}
\pagestyle{scrheadings}
\clearpairofpagestyles
\KOMAoptions{
    headwidth   = page,
    headsepline = 1pt:page,
}

\automark{chapter}
\renewcommand{\chaptermarkformat}[1]{%
  \llap{\chapappifchapterprefix{\ }\thechapter\autodot\enskip}}
\lehead{\fbox{\strut\hspace*{2.5cm}}\leftmark}

\renewcommand*{\chapterpagestyle}{plain}

\renewcommand*{\chapterpagestyle}{plain}

\begin{document}
\chapter{Ein Kapitel mit \textbackslash chapter}
\clearpage
Hier wird in der Kopfzeile noch eine Nummer angezeigt.
\addchap{Ein unnummerierte Kapitel mit \textbackslash addchap}
\clearpage
Hier fehlt in der Kopfzeile die Nummer. Stattdessen soll ein Leerraum vor dem Kapitelname eingefügt werden.
\end{document}

Ich habe außerdem headheight entsprechend der Empfehlung von scrlayer-scrpage erhöht. Die Änderung des Offsets bei headwidthentfernt, da die Kopfzeile sonst aus der Seite herausrutscht.

Permanenter link

beantwortet 29 Jul '14, 16:05

esdd's gravatar image

esdd
17.8k284257
Akzeptiert-Rate: 62%

bearbeitet 29 Jul '14, 17:11

Vielen Dank (auch an Ulrike). Die Umdefinierung von chaptermark hat das gewünschte Ergebnis gebracht.

Wie du schon richtig festgestellt hattest - die fbox war nur als optische Hilfe zur Verdeutlichung der Abstände gedacht.

(29 Jul '14, 20:00) Sylvan
Deine Antwort
Vorschau umschalten

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

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×131
×17

gestellte Frage: 29 Jul '14, 15:28

Frage wurde gesehen: 12,621 Mal

zuletzt geändert: 30 Jul '14, 21:53