KOMA-Script und vertikaler Abstand nach Absatzüberschrift

KOMA-Script und vertikaler Abstand nach Absatzüberschrift

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, \RedeclareSectionCommandfügt das neue afterskip=1speine 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 \RedeclareSectionCommandund ein \RedeclareSectionCommands: runinund afterindent. Mögliche Werte für beide Schlüssel sind bysign, trueund 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 runinmit dem Wert false¹ ist es möglich, das \parskipzwischen 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}

Bildschirmfoto

¹ 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.

Bildbeschreibung hier eingeben

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 afterskipfür einen Abschnittsbefehl vergrößert den vertikalen Sprung um diesen Wert. Bei einem negativen Wert afterskipbeginnt der Text in der gleichen Zeile wie die Überschrift und der Wert von afterskipwird als horizontaler Sprung verwendet.

Bildbeschreibung hier eingeben

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 afterskipwird als vertikaler Sprung zwischen der Überschrift und dem folgenden Text verwendet.

Bildbeschreibung hier eingeben

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=halfund entfernen Sie die parskist zwischen den paragraph headingSie 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}

Bildbeschreibung hier eingeben

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.

verwandte Informationen