Nachdem ich nun seit 1,5 Tagen an folgendem Problem hocke, würde ich euch gerne um Rat bitten. Ich muss die folgenden Formatvorlagen, die aus einer Wordvorlage stammen, zwingend umsetzen:

  • Abstand vor Section genau 16 pt und danach genau 6 pt
  • Abstand vor Subsection genau 18 pt und danach 0 pt
  • Abstand vor Subsubsection genau 18 pt und danach 0 pt
  • Abstand vor Paragraph genau 18 pt und danach 0 pt

Zuerst dachte ich an titelsec, wobei dies mit der verwendeten KOMA-Script-Klasse nicht funktioniert. Ich habe bereits u. a. hier (TexWelt) nachgelesen und verstehe das Grundprinzip. Allerdings bekomme ich es mit keiner der gewählten Einheiten so hin, dass die Abstände stimmen. Gerade, wenn ich 0 pt nach den Überschriften einstellen möchte, funktioniert das nicht wie gewünscht.

Hier das Minimalbeispiel zu meinem Problem:

Öffne in Overleaf
\RequirePackage{fix-cm}
\documentclass[fontsize=13bp, DIV=calc, parskip]{scrartcl}
\usepackage[ngerman]{babel}

\RedeclareSectionCommand[ 
  beforeskip=0bp, 
  afterskip=6bp 
]{section}

\RedeclareSectionCommand[ 
  beforeskip=18bp, 
  afterskip=0bp 
]{subsection}

\RedeclareSectionCommand[ 
  beforeskip=18bp, 
  afterskip=0bp  
]{subsubsection}

\RedeclareSectionCommand[ 
  beforeskip=18bp, 
  afterskip=0bp 
]{paragraph}

 \begin{document}

Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text
\section{Ueberschrift 1}
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text
\subsection{Ueberschrift 2}
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text
\subsubsection{Ueberschrift 3}
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text
\paragraph{Ueberschrift 4}
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text

\end{document}

gefragt 13 Feb, 13:42

MatthiasL's gravatar image

MatthiasL
262
Akzeptiert: 100%

bearbeitet 22 Mär, 06:45

saputello's gravatar image

saputello
20.5k43458

1

Willkommen! Beachte bitte, wie Beiträge hier per Markdown formatiert werden. Wir haben auch einen Sandkasten, zum Testen der Formatierung.

(13 Feb, 14:05) saputello

Super, das war die Lösung - klasse! Kannst du mir eventuell noch sagen, wie ich den Einzug direkt nach der Überschrift verhindere (habe die Option parskip nun rausgenommen)?

Viele Grüße und besten Dank Matthias

(13 Feb, 14:19) MatthiasL

Indem man die Anleitung liest:

beforeskip: Der Betrag gibt den vertikalen Abstand vor der Überschrift an. Ist der Wert negativ, so wird also trotzdem ein positiver Abstand eingefügt. Negative Werte bedeuten in diesem Fall, dass der Absatz nach der Überschrift ohne horizontalen Einzug gesetzt werden soll.

(aus Tabelle 21.2 der aktuellen KOMA-Script-Anleitung.

BTW: Grüße etc. sparen wir uns hier. Ist kein Zeichen von Respektlosigkeit oder Unhöflichkeit, sondern einfach nur kurz und knapp.

(13 Feb, 14:24) saputello

Super, herzlichen Dank! Jetzt habe ich es verstanden und es funktioniert einwandfrei!

(13 Feb, 14:30) MatthiasL

Vorsicht! Der kleinste positive Wert für afterskip ist 1sp nicht 0bp! 0bp wird als Spitzmarke formatiert. Siehe dazu die Tabelle mit den Optionen für den Stil section in Teil der der KOMA-Script-Anleitung. 1sp ist so nah an 0, dass das niemand bemerken wird. Ähnlich muss man bei beforeskip einen negativen Wert verwenden, wenn nach der Überschrift der horizontale Einzug unterdrückt werden soll. Das spielt bei Dir allerdings keine Rolle, solange parskip verwendet wird. Dann werden Absätze je ohnehin nicht mit Einzug, sondern mit Abstand gesetzt. Trotzdem würde ich darauf achten:

Öffne in Overleaf
\documentclass[fontsize=13bp, DIV=calc, parskip]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}% Besser als …
\usepackage{lmodern}% … fix-cm
\RedeclareSectionCommand[ 
  beforeskip=-1sp, 
  afterskip=6bp 
]{section}

\RedeclareSectionCommand[ 
  beforeskip=-18bp, 
  afterskip=1sp 
]{subsection}

\RedeclareSectionCommand[ 
  beforeskip=-18bp, 
  afterskip=1sp  
]{subsubsection}

\RedeclareSectionCommand[ 
  beforeskip=-18bp, 
  afterskip=1sp 
]{paragraph}

\begin{document}

Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text
\section{Ueberschrift 1}
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text
\subsection{Ueberschrift 2}
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text
\subsubsection{Ueberschrift 3}
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text
\paragraph{Ueberschrift 4}
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text

\end{document}

Allerdings stellt die Überschrift auch immer einen Absatz dar, es wird also bei Verwendung von parskip immer auch ein Absatzabstand davor und danach eingefügt:

Geht so

Das ist eigentlich auch grundsätzlich richtig, weil sonst eine Überschrift weniger Gewicht bekommt als ein Absatz. (Was an dem Beispiel aber bereits auffällt ist, dass die Einstellungen für section nicht optimal sind.)

Wollte man mit Absatzabstand arbeiten, aber die Absatzabstände vor und nach den Überschriften unterdrücken, so müsste man patchen. Für den Abstand davor bietet KOMA-Script mit \At@startsection selbst eine Eingriffsmöglichkeit. Für den Abstand danach gibt es diese nicht. Man muss also in die Trickkiste greifen und mit xpatch das Einfügen des Abstandes nach der Überschrift ändern. Gesetzt wird dieser Abstand in der internen LaTeX-Kernanweisung \@xsect, die derzeit auch von KOMA-Script verwendet wird. Eine Möglichkeit wäre also:

Öffne in Overleaf
\usepackage{xpatch}
\makeatletter
\At@startsection{\addtolength{\@tempskipa}{-\parskip}}
% Jetzt folgt ein übler Hack ohne Garantie, dass der auch zukünftig noch funktionieren wird!
\xpatchcmd{\@xsect}{\vskip\@tempskipa}{\vskip\dimexpr\@tempskipa-\parskip\relax}{}{}
\makeatother

zusätzlich in die Dokumentpräambel einzufügen. Das führt dann zu dem hässlichen Ergebnis:

Unschönes Ergebnis

Wie man sieht, sind die Abstände bei der höchsten Ebene section im Vergleich zu denen der tieferen Ebenen schlicht unsinnig. Noch schlimmer wird der Eindruck, wenn man noch Absätze hinzufügt:

Unbrauchbares Ergebnis

Man sollte also in dem Fall insgesamt besser Absatzeinzug statt Absatzabstand verwenden und natürlich muss man die Abstände bei section vergrößeren, damit sie wieder in einem brauchbaren Verhältnis zu denen der tieferen Gliederungsebenen stehen!

Permanenter link

beantwortet 13 Feb, 14:07

saputello's gravatar image

saputello
20.5k43458

bearbeitet 13 Feb, 14:47

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:

×98
×42
×7

Frage gestellt: 13 Feb, 13:42

Frage wurde angeschaut: 458 Mal

Zuletzt aktualisiert: 13 Feb, 14:47