Ich möchte Überschriftenabstände wie im Bronstein. Was muss ich bei

Open in Online-Editor
\RedeclareSectionCommand[
  beforeskip=XXX,
  afterskip=XXX]{XXX}

dafür einstellen?

Ich habe einmal die Zeilenhöhe z gemessen und dafür relative Maße berechnet.

Seite oben:

alt text

Open in Online-Editor
\documentclass[fontsize=12pt, paper=a4]{scrreprt}%

\usepackage{selinput}       % Kodierung
\SelectInputMappings{adieresis={ä},  germandbls={ß}}
\usepackage[ngerman]{babel}     % Sprache
\usepackage[T1]{fontenc}        %Trennungen
\usepackage{microtype}      %
% Schrift
\usepackage{bera}

% Einstellung der Abstände von Überschriften
\RedeclareSectionCommand[
  beforeskip=1em,
  afterskip=.5\baselineskip]{chapter}
\RedeclareSectionCommand[
  beforeskip=-1\baselineskip,
  afterskip=.5\baselineskip]{section}
\RedeclareSectionCommand[
  beforeskip=-.75\baselineskip,
  afterskip=.5\baselineskip]{subsection}
\RedeclareSectionCommand[
  beforeskip=-.5\baselineskip,
  afterskip=.25\baselineskip]{subsubsection}
\RedeclareSectionCommand[
  beforeskip=.5\baselineskip,
  afterskip=-1em]{paragraph}
\RedeclareSectionCommand[
  beforeskip=-.5\baselineskip,
  afterskip=-1em]{subparagraph}

\usepackage{mwe}
\usepackage{showframe}
\begin{document}
%\tableofcontents
\chapter{Erstes Kapitel}
\section{Erster Abschnitt}
\subsection{Erster Unterabschnitt}
\subsubsection{Erster Unter-Unterabschnitt}
\lipsum\lipsum
\subsubsection{Zweiter Unter-Unterabschnitt}

\chapter{Zweites Kapitel}
\blindtext[4]
\chapter{Drittes Kapitel}
\lipsum[66]
\chapter{Viertes Kapitel}
\lipsum[66]
\end{document}

gefragt 28 Aug '16, 20:10

cis's gravatar image

cis
9.5k95459491
Akzeptiert-Rate: 29%

1

Die Angaben in z nutzen Dir in dem Fall wenig. Die Werte für beforeskip und afterskip sind von der Schriftgröße der Überschriften abhängig. Dazu kommt, dass Du nicht einfach von der Unterkante eines beliebigen Buchstaben zu Oberkante eines anderen beliebigen Buchstaben messen kannst, sondern den normalen Grundlinienabstand um einen Zusatzwert erweitern musst. Wenn Du also die Originalschriftgröße nicht kennst, dann musst Du ein wenig mit den Werten spielen, bis genau die gewünschten Abstände herauskommen. Aber das ist letztlich nur Fleißarbeit. Die richtigen Befehle hast Du ja gefunden.

(29 Aug '16, 07:28) saputello

Ich würde deshalb vorschlagen, dass Du einfach einmal einen Probedruck mit minimalen Abständen machst, nachmisst und dann die Beträge um den fehlenden Abstand vergrößerst. Außerdem solltest Du Glue mit einbeziehen.

(29 Aug '16, 07:34) saputello

Die exakten Werte musst Du durch Versuch und Irrtum ermitteln. Ich würde jedoch generell empfehlen, etwas glue in die Abstände einzufügen, um das Risiko von underfull \vbox-Meldungen im doppelseitigen Satz zu vermindern. Das könnte beispielsweise so aussehen:

Open in Online-Editor
\documentclass[fontsize=12pt, paper=a4]{scrreprt}%

\usepackage{selinput}       % Kodierung
\SelectInputMappings{adieresis={ä},  germandbls={ß}}
\usepackage[ngerman]{babel}     % Sprache
\usepackage[T1]{fontenc}        %Trennungen
\usepackage{microtype}      %
% Schrift
\usepackage{bera}
\setkomafont{disposition}{\bfseries}
\setcounter{secnumdepth}{\subsubsectionnumdepth}
% Einstellung der Abstände von Überschriften
\RedeclareSectionCommand[
  beforeskip=1em plus 2pt minus 1pt,
  afterskip=.5\baselineskip plus 1pt minus 1pt]{chapter}
\RedeclareSectionCommand[
  beforeskip=-1\baselineskip plus -2pt minus -1pt,
  afterskip=.5\baselineskip plus 1pt minus 1pt]{section}
\RedeclareSectionCommand[
  beforeskip=-.75\baselineskip plus -1pt minus -.5pt,
  afterskip=.5\baselineskip plus 1pt minus .5pt]{subsection}
\RedeclareSectionCommand[
  beforeskip=-.5\baselineskip plus -1pt minus -.5pt,
  afterskip=.25\baselineskip plus 1pt minus .5pt]{subsubsection}
\RedeclareSectionCommands[
  beforeskip=.5\baselineskip,
  afterskip=-1em]{paragraph,subparagraph}

\usepackage{mwe}
\usepackage{showframe}
\begin{document}
%\tableofcontents
\chapter{Erstes Kapitel}
\section{Erster Abschnitt}
\subsection{Erster Unterabschnitt}
\subsubsection{Erster Unter-Unterabschnitt}
\lipsum\lipsum
\subsubsection{Zweiter Unter-Unterabschnitt}

\chapter{Zweites Kapitel}
\blindtext[4]
\chapter{Drittes Kapitel}
\lipsum[66]
\chapter{Viertes Kapitel}
\lipsum[66]
\end{document}

Ich habe dabei außerdem die Schrift entsprechend der Abbildung nicht serifenlos gewählt und auch die \subsubsection-Ebene nummeriert. Dies ergibt dann:

mit fetten Überschriften

Mir persönlich erscheinen die fetten Antiqua-Überschriften allerdings zu protzig, weshalb ich \bfseries herausnehmen würde:

Open in Online-Editor
\setkomafont{disposition}{}

und dafür die letzten beiden Ebenen ggf. per

Open in Online-Editor
\RedeclareSectionCommands[
  beforeskip=.5\baselineskip,
  afterskip=-1em,
  font=\itshape]{paragraph,subparagraph}

nur kursiv hervorheben würde.

Bei den genauen glue-Angaben musst Du Dir überlegen, was an Erhöhung oder Vermindung der Abstände noch tolerierbar ist. Darüber hinausgehende Anpassungen führt TeX dann notfalls zwar trotzdem durch, quittiert dies aber ggf. mit einer underfull \vbox-Meldung.

Permanenter link

beantwortet 29 Aug '16, 08:31

saputello's gravatar image

saputello
11.1k174365
Akzeptiert-Rate: 51%

bearbeitet 29 Aug '16, 08:34

OK, das hilft mir schonmal weiter. Wobei die Aufgabe evtl. schwer oder gar nicht lösbar ist, da die Seitengeometrie zu berücksichtigen ist und vermutlich auch Abstände, die der Drucker reinbringt.

Aber, nur zur Sicherheit nochmal: Die Summe von afterskip(chapter) und beforeskip(section) sollte den tatsächlichen Abstand von chapter- und section-Überschrift liefern, richtig? Und Maße gleich Null sollte man nicht reinschreiben, weil es sonst zu Fehlermeldungen kommen kann?

Ich habe angefangen tikz-Hilflinien einzuzeichnen.

(29 Aug '16, 20:16) cis
1

@cis: Nix Summe. beforeskip ist der Abstand davor und afterskip der Abstand danach. Negative Werte haben eine besondere Bedeutung. 0pt als Maß ist möglich und gibt auch keine Fehlermeldungen. Du musst nur beachten, dass 0pt bei afterskip kein positiver Wert ist. Das ist aber (im Stil section) wichtig dafür, ob Spitzmarken oder richtige Überschriften erzeugt werden. Die vertikalen Abstände werden AFAIK mit addvspace erzeugt und addieren sich daher nicht wie man auch im Beispiel sieht.

(29 Aug '16, 23:26) saputello

Wie kann ich rausfinden, welche Werte für before- und afterskip zulassig sind? Vieles hat gar keinen Effekt.

(31 Aug '16, 19:31) cis

@cis: Da sind alle positiven und negativen Längen mit positivem und negativem Leim zulässig, die für TeX gültig sind. Ich kann mir nicht vorstellen, dass es Werte gibt, die keinen Effekt haben. Das einzige, was ich mir vorstellen kann, ist, dass Du zwei Überschriften direkt aufeinander folgen lässt und dabei die Arbeitsweise von \addvspace nicht beachtet hast.

(31 Aug '16, 19:36) saputello

Ja, das kann gut sein; aber wenn ich z.B. \RedeclareSectionCommand[ beforeskip=-20mm, afterskip=-5mm]{chapter}

verwende, wird der Abstand vor der chapter-Überschrift größer; mit dem danach passiert nichts.

(31 Aug '16, 20:06) cis
1

@cis: Das stimmt nicht:

\documentclass{scrbook}
\usepackage{mwe}
\begin{document}
\chapter{Test}
\blindtext
\RedeclareSectionCommand[
  beforeskip=-20mm,
  afterskip=-5mm]{chapter}
\chapter{Test}
\blindtext
\end{document}
Der Abstand nach der zweiten Kapitelüberschrift ist eindeutig kleiner!

Für mich riecht das sehr nach einer neuen Frage, zu der auch ein neues VM benötigt wird. Und nochmal: Lies unbedingt nach wie \addvspace arbeitet.

(01 Sep '16, 07:59) saputello

Ich mache mal eine Frage auf, ich habe den addvspace-Beitrag gelesen, verstehe daraus aber nicht, was ich da wie einstellen muss.

(04 Sep '16, 20:58) cis
Ergebnis 5 von 7 show 2 more comments
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

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

Frage-Themen:

×131
×42
×32

gestellte Frage: 28 Aug '16, 20:10

Frage wurde gesehen: 9,694 Mal

zuletzt geändert: 04 Sep '16, 20:58