![Wie hebe ich den Kapiteltitel in Koma-Skript an, sodass er mit dem Kapitelpräfix übereinstimmt?](https://rvso.com/image/286992/Wie%20hebe%20ich%20den%20Kapiteltitel%20in%20Koma-Skript%20an%2C%20sodass%20er%20mit%20dem%20Kapitelpr%C3%A4fix%20%C3%BCbereinstimmt%3F.png)
Ich habe derzeit Folgendes:
\documentclass{scrbook}
\usepackage{mwe}
\renewcommand*{\chapterformat}{\mbox{\chapappifchapterprefix{\nobreakspace}\scalebox{3}{\thechapter}\enskip}}
\begin{document}
\chapter{\baselineskip{-1em}This chapter caption has multiple lines and does not fit into a single line}
\lipsum[1]
\end{document}
Ich möchte aber, dass der Kapiteltitel ungefähr wie folgt an der Grundlinie des Präfixes ausgerichtet ist:
Ich weiß, dass zu lange Kapitelüberschriften lästig sind. Aber manchmal passen sie nicht in eine einzige Zeile und ich empfinde das erste Ergebnis als etwas störend.
Antwort1
Die Verwendung von \Longstack
funktioniert für einen zweizeiligen Kapitelnamen mit manuell eingefügten Umbrüchen. Wenn Sie jedoch drei Zeilen erreichen, ist keine Methode geeignet.
\documentclass{scrbook}
\usepackage{mwe}
\renewcommand*{\chapterformat}{\mbox{\chapappifchapterprefix{\nobreakspace}\scalebox{3}{\thechapter}\enskip}}
\usepackage{lipsum}
\usepackage[usestackEOL]{stackengine}
\begin{document}
\chapter{\Longstack[l]{This chapter caption has multiple lines\\ and does not fit into a single line}}
\lipsum[1]
\end{document}
Beachten Sie auch, dass \Longstack
der rechte Überschriftentext nicht am rechten Rand ausgerichtet wird. Sein Erscheinen hier ist rein zufällig.
Wenn Sie ein Inhaltsverzeichnis verwenden möchten, müssen Sie das optionale Argument \chapter
wie folgt verwenden:
\chapter[This chapter caption has multiple lines and does not fit into a single line]%
{\Longstack[l]{This chapter caption has multiple lines\\ and does not fit into a single line}}
um zu vermeiden, dass der Stapel im Inhaltsverzeichnis angezeigt wird.
Antwort2
Eine Lösung mit automatischem Zeilenumbruch durch Minipages:
Minipages benötigen eine Breitenangabe. Daher habe ich einen neuen Befehl definiert, \chapmark
der den Großteil der \chapterformat
Definition enthält und dessen Länge ich messen kann. Dazu habe ich zwei Features des Pakets verwendet calc
: den Befehl \widthof
und die Möglichkeit, Längenberechnungen durchzuführen. Die Grundlinienorientierung wird durch das optionale b
Argument der Minipages sichergestellt.
Der neue \Chapter
Befehl (mit großem C) ist so definiert, dass Sie die erweiterten Funktionen von KOMA-Script nutzen können, die im optionalen Argument angegeben werden. Beachten Sie jedoch, dass er nicht verwendet werden kann, wenn die Option KOMA-Script chapterprefix
auf true gesetzt ist. Stattdessen muss dann der Standardwert \chapter
verwendet werden, siehe Ausgabe unten in den Kapiteln 11 und 12 im Beispiel.
Auch die Ausgabe des Inhaltsverzeichnisses wird von den Miniseiten nicht beeinflusst, siehe auch Ausgabe unten.
Zusätzlich habe ich zur besseren Ausrichtung „ \RaggedRight
von“ ragged2e
als Ersatz für „durch“ verwendet.\raggedright
Anstelle von \NewDocumentCommand
from xparse
hätte ich auch ein klassisches \newcommand
zusammen mit Tests auf leere Strings aus Paketen (x)ifthen
oder verwenden können etoolbox
.
\documentclass{scrbook}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{calc} % provides advanced length computation and command "\widthof"
\usepackage{ragged2e}% better text alignment
\usepackage{xparse}% advanced command definitions
\renewcommand*{\raggedchapterentry}{\RaggedRight}% for chapter TOC entries
\renewcommand*{\raggedsection}{\RaggedRight}% for alignment in titles
\newcommand*{\chapmark}{%
\scalebox{1.5}{\chapappifchapterprefix{\nobreakspace}}\scalebox{3}{\thechapter}\enskip%
}
\renewcommand*{\chapterformat}{%
\begin{minipage}[b]{\widthof{\chapmark}}
\chapmark
\end{minipage}%
}
\NewDocumentCommand\Chapter{o m}{% note the uppercase "C"
\IfValueTF{#1}% optional argument given or not
{% with optional argument:
\chapter[#1]{%
\begin{minipage}[b]{\textwidth-\widthof{\chapmark}}
#2
\end{minipage}}%
}{% without optional argument:
\chapter[#2]{%
\begin{minipage}[b]{\textwidth-\widthof{\chapmark}}
#2
\end{minipage}}%
}
}
\begin{document}
\Chapter{This chapter caption is too long to fit into a single line} % ch. 1
\Chapter[TOC entry for caption with 3 lines] % ch. 2
{This chapter caption is longer than the first one and does not even fit into
two lines}
\setcounter{chapter}{9}
\Chapter{Another chapter caption that is too long to fit into a single line} % ch. 10
\KOMAoption{chapterprefix}{true}
\Chapter[Another TOC entry for caption with 3 lines] % ch. 11
{This chapter caption is also longer than the first one and does not even fit into
two lines}
\chapter{% ch. 12
This caption produced with \textmd{\textbackslash chapter} is too long to fit into
a single line}
\tableofcontents
\end{document}