Unerwünschter Zeilenumbruch in Überschriften

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


Yurji
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: So 10. Jan 2016, 12:53
Wohnort: Bielefeld

Unerwünschter Zeilenumbruch in Überschriften

Beitrag von Yurji »

Hallo Zusammen,

ich habe ein kleines Problem mit Überschriften.
Die Abstände, die KOMA vorgibt sind mir zu groß, weshalb ich diese manuell anpassen wollte.
Hierzu habe ich folgendes versucht:
\documentclass[11pt, parskip=half+]{scrreprt}

\setkomafont{chapter}{\LARGE\sffamily\bfseries}
\setkomafont{section}{\Large\sffamily\bfseries}
\setkomafont{subsection}{\normalsize\sffamily\bfseries}
\setkomafont{subsubsection}{\normalsize\sffamily\bfseries}


\renewcommand{\chapterheadstartvskip}{\vspace*{1\topskip}}
\renewcommand{\chapterheadendvskip}{\vspace*{0.4\topskip}}


\RedeclareSectionCommand[beforeskip=10pt,afterskip=0.1pt]{section}
\RedeclareSectionCommand[beforeskip=10pt,afterskip=0.1pt]{subsection}
\RedeclareSectionCommand[beforeskip=10pt,afterskip=0.1pt]{subsubsection}
\RedeclareSectionCommand[beforeskip=1.5pt]{paragraph}


\begin{document}
\section{Die unkonventionelle Spreng- und Brandvorrichtung}
\end{document}
Die Abstände von Chapter gefallen mir gut.

Ab Section werden aber aus meiner Sicht unsinnige Zeilenumbrüche eingefügt, die ich mir nicht erklären kann.

Könnt Ihr mir sagen, wie ich es hinbekomme, dass der Zeilenumbruch verhindert wird und die Kapitelüberschriften ganz normal darstellt werden?

Vielen Dank für eure Hilfe und
beste Grüße,

Denis

Besserwisser

Beitrag von Besserwisser »

Könnte ein Bug in KOMA-Script sein, solltest du mal nachfragen. Bis dahin:
\documentclass[11pt, parskip=half+]{scrreprt}
\usepackage{showframe}% zu Debuggingzwecken

\setkomafont{chapter}{\LARGE\sffamily\bfseries}
\setkomafont{section}{\Large\sffamily\bfseries}
\setkomafont{subsection}{\normalsize\sffamily\bfseries}
\setkomafont{subsubsection}{\normalsize\sffamily\bfseries}

% Aktuell:
\RedeclareSectionCommand[beforeskip=\topskip,afterskip=.4\topskip]{chapter}
% Veraltet:
%\renewcommand{\chapterheadstartvskip}{\vspace*{1\topskip}}
%\renewcommand{\chapterheadendvskip}{\vspace*{0.4\topskip}}

\RedeclareSectionCommand[beforeskip=10pt,afterskip=0.1pt]{section}
\RedeclareSectionCommand[beforeskip=10pt,afterskip=0.1pt]{subsection}
\RedeclareSectionCommand[beforeskip=10pt,afterskip=0.1pt]{subsubsection}
\RedeclareSectionCommand[beforeskip=1.5pt]{paragraph}

\addtokomafont{section}{\KOMAoptions{parskip=half-}\selectfont}

\begin{document}
\chapter{Test}
\section{Die unkonventionelle Spreng- und Brandvorrichtung}
\end{document}
Entsprechendes ggf. auch für subsection und subsubsection, nicht notwendig jedoch für paragraph und subparagraph.

Yurji
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: So 10. Jan 2016, 12:53
Wohnort: Bielefeld

Beitrag von Yurji »

Hi Besserwisser,

tausend Dank für die Hilfe!
Genau das war es, was ich gesucht habe.
Danke!

Viele Grüße,

Denis

Besserwisser

Beitrag von Besserwisser »

Ich würde übrigens bei den Abständen der Überschriften immer etwas Leim mit einfügen. Bei einseitigen Dokumenten wird sich der in der Regel nicht auswirken. Bei doppelseitigen Dokumenten braucht man den aber, weil die Überschriften mit Abstand nicht immer die Höhe eines ganzzahligen Vielfachen von \normalsize\baselineskip haben.

Bug-Anfrage beim KOMA-Script-Autor hast du gestellt?

Besserwisser

Beitrag von Besserwisser »

Hier die Antwort des KOMA-Script-Autors:
Markus Kohm hat geschrieben:Dieser Yurji hat sich nicht bei mir gemeldet. Das ist schade. Leider muss ich oft beobachten, dass Leute vermeintliche Bugs nicht melden, nachdem sie eine irgendwie geartete Notlösung für sich gefunden haben. So kann das mit Verbesserungen natürlich nichts werden.

Es ist in der Tat ein Bug, wenn auch anders geartet, als vielleicht vermutet. In KOMA-Script befindet sich bereits Code, um \parfillskip an der Stelle korrekt zu setzen. Allerdings wird der dummer Weise in Abhängigkeit davon ausgeführt, ob der Wert von beforeskip negativ ist (was er übrigens im Beispiel besser sein sollte!). In Wirklichkeit müsste er aber in Abhängigkeit davon ausgeführt werden, ob afterskip positiv ist. Im Fall einer Spitzmarke (afterskip ≤ 0) soll der Code nicht ausgeführt werden. Diesen Bug gibt es seit KOMA-Script 3.18. Es sei an dieser Stelle auch darauf hingewiesen, dass bei version=2.96 (oder früher) der Code aus Kompatibilitätsgründen ebenfalls nicht ausgeführt wird.

Hier mein Vorschlag zur Lösung des Problems:
\documentclass[11pt,headings=normal, parskip=half+]{scrreprt}
\usepackage{showframe}% zu Debuggingzwecken

\RedeclareSectionCommand[beforeskip=\topskip,afterskip=.4\topskip]{chapter}
\RedeclareSectionCommand[beforeskip=-10pt,afterskip=0.1pt]{section}
\RedeclareSectionCommand[beforeskip=-10pt,afterskip=0.1pt]{subsection}
\RedeclareSectionCommand[beforeskip=-10pt,afterskip=0.1pt]{subsubsection}
\RedeclareSectionCommand[beforeskip=-1.5pt]{paragraph}

\usepackage{blindtext}

\begin{document}
\chapter{Test}
\section{Die unkonventionelle Spreng- und Brandvorrichtung}
\blindtext

\end{document}
Dabei werden übrigens die gewünschten Schriftgrößen bereits von Option headings eingestellt. \sffamily\bfseries ist ja bereits in der Einstellung für disposition enthalten. Damit kann man sich also das Gefummel an den Fonts für die einzelnen Gliederungsebenen komplett sparen.

Glue würde ich ebenfalls hinzufügen, auch wenn es bei scrreprt in der Voreinstellung unerheblich ist. Außerdem vermute ich fast, dass statt 0.1pt jeweils 1sp oder 1sp plus -1sp minus 1sp gewünscht wird, wie das in der Anleitung auch zur Verhinderung von Spitzmarken empfohlen wird. Siehe dazu das Beispiel zu \RedeclareSectionCommand in der Anleitung.

Bei Weitergabe dieser Antwort bitte auch freundlich darauf hinweisen, dass es immer sinnvoll ist, einen Bug-Report zu schreiben, wenn man voraussichtlich einen Bug gefunden hat. Ich beiße nicht! Im Gegenteil bekommt man für gemeldete Bug von mir normalerweise ein: Ich danke Dir für den Hinweis. ;-)

Yurji
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: So 10. Jan 2016, 12:53
Wohnort: Bielefeld

Beitrag von Yurji »

Sorry, dass ich erst jetzt antworte.
Ich war beruflich einige Tage unterwegs und habe es vorher nicht geschafft Markus eine Nachricht zu schicken.
Vielen Dank an Besserwisser dafür, dass er das übernommen hat. Und Danke an Markus für die Antwort!

Antworten