Sie sind hier

Evtl. veränderte Abstände nach \section*{} seit 3.20 ?

Guten Tag!

Mir ist folgendes aufgefallen:

test.cls

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{test}
 
\LoadClass[parskip=half]{scrartcl}
 
\def\@maketitle{%
   \section*{Titel}
   bla
}
 
\endinput

test.tex

\documentclass{test}
 
\begin{document}
\maketitle
\end{document}

Beim Übergang von 3.19a zu 3.20 ist der Abstand zwischen dem Titel und dem ersten Absatz deutlich kleiner. Ohne die Option parskip=half sind die Abstände in beiden Versionen wieder gleich.

In den Änderungen und bekannten Problemen habe ich nichts gefunden, was auf eine geänderte Praxis hindeuten würde. Wenn ich den der Klasse die Option version=3.19 verwende, hat das keinen Einfluss, es scheint sich also auch nicht um eine beabsichtigte typographische Anpassung zu handeln, wenn ich den Sinn der Option im Manual richtig verstanden habe.

Besten Dank für allfällige Tipps.

Bild von Markus Kohm

Passiert das bei Dir nur über den Umweg einer zusätzlichen Klassen und der Umdefinierung von \@maketitle? Wenn ich das Ergebnis von

\documentclass[parskip=half]{scrartcl}
 
\begin{document}
\section*{Test}
Test
\end{document}

mit KOMA-Script 3.19a und der aktuellen Release 3.22 vergleiche, dann habe ich jedenfalls identische Ergebnisse. Ob es bei 3.20 eventuell anders war, könnte ich nur testen, indem ich jene Version erst einmal installiere. Da die aber auch bereits stark veraltet ist und es für so alte Versionen keinen Support mehr gibt, würde ich mir das gerne ersparen, wenn das Problem mit der aktuellen Version gar nicht existiert. Der Rat wäre dann ohnehin: Update auf die aktuelle Version.

Ja, das Problem tritt nur so auf. Dann allerdings auch in der aktuellen Version; so bin ich ursprünglich darauf gestossen und habe es dann eingegrenzt, um herauszufinden, bei welchem Versionssprung des andere Verhalten zum ersten Mal auftrat.

Bild von Markus Kohm

In Version 3.20 wurde der Bug beseitigt, dass Absatzabstände und auch die Beschränkung bezüglich der Füllung der letzten Zeile eines Absatzes Anwendung fanden.

Mit Änderungen bei den Abständen von Überschriften hat das also nichts zu tun.

Die Umdefinierung der internen Anweisung \@maketitle ist übrigens ein übler Hack, den ich keinem empfehlen würde. Dass das in die Hose gehen kann, sollte klar sein. Der Missbrauch von \section* für den Titel ist dagegen eher harmlos. Ideal sehe ich ihn aber auch nicht.

Danke für die Erläuterung und den Hinweis. Im konkreten Fall geht es um eine Klasse, welche ich für Klausuren verwende. Vielleicht darf ich dich dabei um deine Expertenmeinung fragen.

Die Idee war es, z. B. Datum, Prüfungsart, Prüfungsthema mithilfe von subject oder date zu setzen und dann mit \maketitle den Kopf zu setzen. Beim Betrachten von \maketitle schien es mir, dass dieses Makro sehr viele Dinge tut, bevor es dann \@maketitle expandiert, darum habe ich letzteres umdefiniert.

Wäre es vertretbar, stattdessen \maketitle umzudefinieren? Oder sollte ich ganz darauf verzichten, und ein eigenes Marko definieren?

Ich nehme an, statt \section* zu missbrauchen, wäre \usekomafont und die explizite Angabe von Abständen vor/nach dem Titel die saubere Lösung?

Bild von Markus Kohm

Wenn der Titel (egal ob Titelkopf oder Titelseite) anders aussehen soll, als das, was KOMA-Script bereitstellt, dann ist es für eine Klasse sinnvoll, direkt bei \maketitle anzusetzen. Ob es dabei dann sinnvoll ist, sowohl Titelköpfe als auch Titelseiten zu unterstützen, sei dahin gestellt.

Es gibt Ausnahmen, beispielsweise wenn einfach nur \titlehead{} in mehrere Felder unterteilt werden soll. Dann würde man nur neue Variablen definieren und diese über einen \titlehead-Aufruf in der Klasse realisieren.

Wie so oft kann ich also ohne ganz konkrete Angaben nur sagen: Kommt darauf an.

Comments for "Evtl. veränderte Abstände nach \section*{} seit 3.20 ?" abonnieren