Ich habe derzeit Probleme, den vertikalen Abstand von einer Absatzüberschrift zum nachfolgenden Fließtext zu ändern. Ich möchte eine neue Zeile nach der Absatzüberschrift haben. So wie ich es verstanden habe, \RedeclareSectionCommand
fügt das neue afterskip=1sp
eine neue Zeile (einfacher Abstand) zwischen dem Absatzabschnitt und seinem Fließtext ein. Irgendwie funktioniert das nicht so, wie ich es möchte. Mein Code sieht derzeit ungefähr so aus (MWE):
\documentclass[12pt,english,parskip=half*,listof=nochaptergap,final]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage{setspace}
\RedeclareSectionCommands[
beforeskip=-3.25ex plus -1ex minus -0.2ex,
afterskip=1sp,
%indent=0pt
]{paragraph,subparagraph}
\onehalfspacing
\begin{document}
\paragraph{Test paragraph}
Test test test test test \\
Test test test test test
\end{document}
Ich möchte eine neue Zeile nach einem Absatz und, wenn möglich, eine Option zum Anpassen des vertikalen Abstands.
--- LÖSUNG ---
Nur für den Fall, dass jemand genauso komisch ist wie ich: Entfernen Sie es einfach parskip=half*
aus den Dokumentoptionen, und schon kann es losgehen! DANKE @esdd!!!
Antwort1
Aktualisieren
KOMA-Script Version 3.26führt zwei neue Schlüssel für \RedeclareSectionCommand
und ein \RedeclareSectionCommands
: runin
und afterindent
. Mögliche Werte für beide Schlüssel sind bysign
, true
und false
. Weitere Informationen finden Sie in der KOMA-Script-Dokumentation oder beispielsweiseAnpassen des Abstands um Abschnitts-/Unterabschnittstitel mit Koma-Skript.
Mit dem neuen Schlüssel runin
mit dem Wert false
¹ ist es möglich, das \parskip
zwischen der Überschrift und dem nachfolgenden Text zu entfernen afterskip=-\parskip
.
Beispiel:
\documentclass[12pt,english,parskip=half*,listof=nochaptergap,final]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[onehalfspacing]{setspace}
\RedeclareSectionCommands[
beforeskip=-3.25ex plus -1ex minus -0.2ex,
runin=false,
afterskip=-\parskip
]{paragraph,subparagraph}
\usepackage{blindtext}
\begin{document}
\paragraph{Test paragraph}
\Blindtext[2]
\end{document}
¹ Die Standardeinstellung ist runin=bysign
, was zum gleichen Verhalten wie in der ursprünglichen Antwort führt.
Ursprüngliche Antwort
Der vertikale Abstand zwischen einer Überschrift und dem folgenden Text ist mindestens so groß wie der Abstand zwischen zwei Absätzen im Textkörper. Das bedeutet, wenn Sie einen Parskip anstelle eines Parindents verwenden (wegen parskip=half*
), ist der Abstand zwischen einer Überschrift und dem folgenden Text mindestens so groß wie dieser Parskip.
Code:
\documentclass[12pt,english,parskip=half*,listof=nochaptergap,final]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[onehalfspacing]{setspace}
\RedeclareSectionCommands[
beforeskip=-3.25ex plus -1ex minus -0.2ex,
afterskip=1sp,% smallest possible positive value
]{paragraph,subparagraph}
\usepackage{blindtext}
\begin{document}
\paragraph{Test paragraph}
\Blindtext[2]
\end{document}
Ein positiver Wert von afterskip
für einen Abschnittsbefehl vergrößert den vertikalen Sprung um diesen Wert. Bei einem negativen Wert afterskip
beginnt der Text in der gleichen Zeile wie die Überschrift und der Wert von afterskip
wird als horizontaler Sprung verwendet.
Code:
\documentclass[12pt,english,parskip=half*,listof=nochaptergap,final]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[onehalfspacing]{setspace}
\RedeclareSectionCommands[
beforeskip=-3.25ex plus -1ex minus -0.2ex,
afterskip=-1em,% works as horizontal skip of 1em
]{paragraph,subparagraph}
\usepackage{blindtext}
\begin{document}
\paragraph{Test paragraph}
\Blindtext[2]
\end{document}
Entfernen Sie also parskip=half*
die Optionen aus Ihrer Klasse. Dann wird parindent statt parskip verwendet und nur der positive Wert von afterskip
wird als vertikaler Sprung zwischen der Überschrift und dem folgenden Text verwendet.
Code:
\documentclass[12pt,english,
%parskip=half*,% <- commented, so parskip=false is used
listof=nochaptergap,final
]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[onehalfspacing]{setspace}
\RedeclareSectionCommands[
beforeskip=-3.25ex plus -1ex minus -0.2ex,
afterskip=1sp,
]{paragraph,subparagraph}
\usepackage{blindtext}
\begin{document}
\paragraph{Test paragraph}
\Blindtext[2]
\end{document}
Wenn Sie wirklich wollen oder müssen parkip=half
und entfernen Sie die parskist zwischen den paragraph heading
Sie verwenden könnten
\documentclass[12pt,english,parskip=half,listof=nochaptergap,final]{scrreprt}
\usepackage[utf8]{inputenc}
\RedeclareSectionCommands[
beforeskip=-3.25ex plus -1ex minus -0.2ex,
afterskip=1sp,
%indent=0pt
]{paragraph,subparagraph}
\usepackage{xpatch}
\xapptocmd{\sectionlinesformat}{%
\ifstr{#1}{paragraph}{\vspace*{-\parskip}}{}%
\ifstr{#1}{subparagraph}{\vspace*{-\parskip}}{}%
}{}{}
\usepackage{blindtext}
\begin{document}
\paragraph{Test paragraph}
\Blindtext[2]
\end{document}
Ich empfehle dies jedoch nicht, da es unüblich ist, dass zwischen einer Überschrift und dem nachfolgenden Text ein geringerer Abstand besteht als zwischen zwei Absätzen im Fließtext.