Hallo,

wie kann man (konform mit KOMA-Script) die Überschrift des Inhaltsverzeichnis und von allen \addsec gleichermaßen formatieren, dass der Text rechtsbündig steht und an einer senkrechten Linie grenzt. Die Formatierung der Überschriften darf keinerlei Einfluss auf die Wiedergabe an anderen Stellen wie der Kopf- und Fußzeilen haben. Auch soll sich die Gestaltung von \addchap von der bestehenden Formatierung der benummerten Kapitelüberschriften (\chapter) unterscheiden.

Öffne in Overleaf
\documentclass[
    paper=17cm:24cm,
    12pt
    ]{scrbook}

\usepackage[ngerman]{babel} % deutsche Sprache
\usepackage{blindtext}

\newcommand{\seplinewidth}{.5pt}

\KOMAoption{chapterprefix}{true}
\renewcommand*\raggedchapter{\flushright}

\newif\ifmakeupper

\newcommand*\chaptertitleformat[1]{%
    \ifmakeupper\MakeUppercase{#1}\else#1\fi
}
\setkomafont{chapterprefix}{\large}
\addtokomafont{chapter}{\normalfont}

\renewcommand*{\chapterformat}{%
    \MakeUppercase{\chapappifchapterprefix{\nobreakspace}}\thechapter%
    \IfUsePrefixLine{%
        \par\nobreak\vspace{-\parskip}\vspace{-.5\baselineskip}%
        {\rule{\textwidth}{\seplinewidth}}\\[-.75\baselineskip]
        }{\enskip}%
}

\RedeclareSectionCommand[beforeskip=0pt,afterskip=8\baselineskip]{chapter}

\begin{document}

\tableofcontents % Inhaltsverzeichnisses

\addchap{Vorwort}
    \blindtext[2]

\chapter{Das ist ein Kapitel}
    \blindtext[2]

\end{document}

alt text

gefragt 20 Apr '18, 11:58

rix's gravatar image

rix
39021523
Akzeptiert: 94%

bearbeitet 21 Apr '18, 07:47

Ijon%20Tichy's gravatar image

Ijon Tichy
8.8k31022


Deine Frage ist ein wenig inkonsistent. Mal ist von \addsec mal von \addchap die Rede. Da im Beispiel nur \addchap verwendet wurde, spare ich den Punkt \addsec weitgehend aus.

\addchap-Überschriften sind laut KOMA-Script-Anleitung nicht nummerierte Überschriften der Ebene chapter, für die in der Voreinstellung der Überschriftenstil chapter verwendet wird, wobei die Formatierung bei Überschriften mit Präfixzeile die Anweisung \chapterlineswithprefixformat verwendet wird. Die Unterscheidung, ob die Überschrift nummeriert ist oder nicht, kann darin über das zweite Argument der Anweisung getroffen werden. Ist dieses komplett leer, dann ist die Überschrift nicht nummeriert. Ob es sich tatsächlich um eine Überschrift der Ebene chapter handelt oder eine andere Überschrift im Stil chapter kann über das erste Argument ermittelt werden, das den Namen der Ebene enthält. Damit kann man die Linie für nicht nummerierte Überschriften einfach durch Umdefinierung von \chapterlineswithprefixformat und zwei Fallunterscheidungen erreichen:

Öffne in Overleaf
\documentclass[
    paper=17cm:24cm,
    12pt,
    chapterprefix
    ]{scrbook}

\usepackage[ngerman]{babel} % deutsche Sprache
\usepackage{blindtext}

\newcommand{\seplinewidth}{.5pt}

\renewcommand*\raggedchapter{\flushright}

\setkomafont{chapterprefix}{\large}
\addtokomafont{chapter}{\normalfont}

\renewcommand*{\chapterformat}{%
    \MakeUppercase{\chapappifchapterprefix{\nobreakspace}}\thechapter%
    \IfUsePrefixLine{%
        \par\nobreak\vspace{-\parskip}\vspace{-.5\baselineskip}%
        {\rule{\textwidth}{\seplinewidth}}\\[-.75\baselineskip]
        }{\enskip}%
}

\RedeclareSectionCommand[beforeskip=0pt,afterskip=8\baselineskip]{chapter}

\renewcommand{\chapterlineswithprefixformat}[3]{%
  \ifstr{#1}{chapter}{% Für alle Überschriften der Ebene chapter":
    \IfArgIsEmpty{#2}{% Für nicht nummerierte Überschriften:
      \parbox{\dimexpr\linewidth-.5em-1pt}{\raggedchapter #3}%
      \enskip
      \raisebox{0pt}[0pt][0pt]{% Die Linie soll effektiv weder Höhe noch Tiefe haben.
        \rule[-3.5\baselineskip]{1pt}{5\baselineskip}%
        \par
      }%
    }{% Für nummerierte Überschriften:
      #2#3% Die Standarddefinition aus der Anleitung übernehmen.
    }%
  }{% Für alle anderen Überschriften im Stil chapter:
    #2#3% Die Standarddefinition aus der Anleitung übernehmen.
  }%
}

\begin{document}

\tableofcontents % Inhaltsverzeichnisses

\addchap{Vorwort}
    \blindtext[2]

\chapter{Das ist ein Kapitel}
    \blindtext[2]

\end{document}

Das Inhaltsverzeichnis

Das Vorwort

Das erste Kapitel (unverändert)

Ich habe überflüssigen (weil nicht verwendeten) Code entfernt und die Option direkt zu den anderen in \documentclass verschoben, weil ich keinen Sinn darin sehe, sie erst später per \KOMAoptions zu setzen.

Für \addsec gilt übrigens sinngemäß das gleiche, nur dass es dort keine Form mit Präfixzeile gibt und deshalb \sectionlinesformat für die Formatierung zuständig wäre.

Näheres zu den verwendeten Anweisungen findet sich in der KOMA-Script-Anleitung. \raisebox und \rule sind in jeder besseren LaTeX-Einführung einschl. ihrer optionalen Argumente dokumentiert.

Off-Topic: Versalsatz ohne Sperrung (min. mit microtype, besser manuell mit korrektem Ausgleich) kann ich nicht empfehlen. Siehe dazu beispielsweise Tschicholds Hauptregeln der Typografie. Leider ist auch der Kerning von Versalien bei vielen Fonts alles andere als optimal. Eine brauchbare Alternative zu \MakeUppercase ist oftmals auch ein schlichtes \textsc.

Permanenter link

beantwortet 21 Apr '18, 07:56

Ijon%20Tichy's gravatar image

Ijon Tichy
8.8k31022

bearbeitet 21 Apr '18, 08:05

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

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üge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×118
×58
×47
×2

Frage gestellt: 20 Apr '18, 11:58

Frage wurde angeschaut: 1,747 Mal

Zuletzt aktualisiert: 21 Apr '18, 08:05