PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : KOMA-Script: Möglicher Fehler bei \setkomafont (caption, captionlabel)



lockstep
21-01-2009, 23:38
Da ich mich gerade mit der Handhabung von Gleitobjekten vertraut mache, habe ich mit den Features von KOMA-Script in Bezug auf Gleitobjektlegenden experimentiert. Dabei bin ich auf einen möglichen (unbedeutenden) Fehler in KOMA-Script gestoßen: Laut pdf-Dokumentation (S. 135) wird mittels \setkomafont "die Schriftart für das Element caption zunächst auch auf das Element captionlabel angewandt, bevor dessen spezifische Schriftart Anwendung findet". Tatsächlich hat eine Umstellung von caption (z.B. auf \sffamily) zunächst keine Auswirkungen auf captionlabel. Erst wenn man in der Folge eine Umstellung von captionlabel vornimmt (z.B. auf \bfseries), werden auch die geänderten caption-Einstellungen übernommen. Minimalbeispiel:



\documentclass{scrartcl}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage[ngerman]{babel}

\setkomafont{caption}{\sffamily}
% \setkomafont{captionlabel}{\bfseries}

\begin{document}

\section{Ein Abschnitt}

Dieser Satz ist nur ein Platzhalter.

\begin{table}
\centering
\begin{tabular}{cc}
Männlich & Weiblich \\
50,4 & 49,6 \\
\end{tabular}
\caption{Weltbevölkerung nach Geschlecht 2007 (\%)}
\end{table}

\end{document}


Habe ich hier etwas übersehen oder ist das tatsächlich ein Bug in KOMA-Script? (Falls letzteres, könnte er bisher unbemerkt geblieben sein, weil Bezeichnungen wie "Tabelle X" innerhalb von Gleitobjektlegenden meist speziell formatiert sind.)

lockstep

sommerfee
22-01-2009, 08:20
Die Beschreibung ist schon richtig, allerdings sind sowohl "caption" als auch "captionlabel" mit \normalfont vorbelegt, und \normalfont setzt \sffamily zurück.

Ein \settokomafont{captionlabel}{} würde also dafür sorgen, daß \sffamily auch auf das "captionlabel" wirkt.

lockstep
22-01-2009, 17:22
Vielen Dank für den Hinweis samt Workaround, sommerfee! Ich habe mir daraufhin den Code von scrartcl.cls angesehen: Die Voreinstellung der Schrift des labels (mittels Befehl \caplabelfont) lautet \normalfont\normalcolor. Wenn man also (von meinem obigen Beispiel ausgehend) die Legendenschrift auf Sans Serif ändert und auch stark vergrößert (\setkomafont{caption}{\sffamily\Large}), übernimmt die Schrift des labels die erste Änderung nicht, die zweite aber schon! Das ist wohl nicht im Sinne des Erfinders.