Sie sind hier

Kompatibilitätsproblem zwischen ragged2e und KOMA-Script

Hallo,

letztens ist mir aufgefallen, daß das Makro \KOMAoptions durch das Einbinden von ragged2e zumindest teilweise ignoriert wird. Ich glaube, ich habe darüber schon mal irgendwo etwas gelesen, finde es aber nicht mehr, wahrscheinlich ist das schon bekannt. Minimalbeispiel:

\documentclass[DIV=calc]{scrartcl}
 
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[german]{babel}
 
\usepackage{microtype}
\usepackage{blindtext}
\usepackage{ragged2e}
 
\recalctypearea
\begin{document}
 
\section{Blindüberschrift}
 
\KOMAoptions{parskip}
 
Das Makro \verb|\KOMAoptions{parskip}| wird durch Einbinden des Pakets »ragged2e« außer Kraft gesetzt.
 
\blindtext
\end{document}
forum: 

Hallo,

gleicher Effekt bei mir, auch nach einem Seitenumbruch. Darüber bin ich schon öfter gestolpert, hatte aber immer angenommen, ich hätte `KOMA-options` falsch verstanden oder angewendet.

Gruß,
Alexander

Verschiebe \KOMAoptions{parskip} in die Präambel, d.h. vor \begin{document} – dann funktioniert die Änderung der Absatzauszeichnung auch mit dem ragged2e-Paket.

Im Allgemeinen werden mit \KOMAoptions bzw. \KOMAoption Einstellungen vorgenommen, die das ganze Dokument hindurch gültig sind. Daher sollte man meiner Meinung nach die Verwendung dieser beiden Makros grundsätzlich auf die Präambel beschränken.

Dann kann ich die Option aber auch gleich als Klassenoption angeben. Ich brauche \KOMAoptions, um im Dokument die Absatzauszeichnung zu ändern.

Ich habe mir die Sache etwas genauer angeschaut. Das Problem steht nicht direkt im Zusammenhang mit dem ragged2e-Paket, sondern mit dem everysel-Paket, welches vom ragged2e-Paket geladen wird. Die Verwendung des everysel-Pakets wird von den KOMA-Script-Klassen grundsätzlich einkalkuliert; es fehlt jedoch der Kompatibilitätscode für den Fall, dass \KOMAoptions{parskip} oder \KOMAoption{parskip}{true} nach \begin{document} gesetzt wird. Der langen Rede kurzer Sinn, was du brauchst, ist folgender zusätzlicher Code in der Präambel deines Dokuments:

...
 
\makeatletter
\@ifundefined{KOMAClassName}{%
}{%
  \AfterPackage*{everysel}{%
    \AtBeginDocument{%
      \g@addto@macro\selectfont{\par@update}%
    }%
  }%
}
\makeatother
 
...
 
\begin{document}
 
...
Bild von Markus Kohm

Das Problem wurde in der aktuellen SVN-Version behoben. ACHTUNG: Obiger Workaround sollte ab Version 3.10 auf keinen Fall mehr verwendet werden. Die doppelte Ausführung von \par@update kann sonst zu Problem führen.

Bei der Gelegenheit wurde auch gleich die Zusammenarbeit mit Paket tracefnt verbessert.

Danke für den Hinweis.

Comments for "Kompatibilitätsproblem zwischen ragged2e und KOMA-Script" abonnieren