Sie sind hier

Ignoriert KOMA-Script polyglossia?

In einer Diskussion auf goLaTeX äußert Ulrike Fischer zu KOMA-Script die Ansicht:

das liegt aber an scrlttr2 und nicht polyglossia. Selbstverständlich könnte scrlttr2 testen, ob polyglossia benutzt wird und ob spelling=new aktiv ist.

wobei sich "das" darauf bezieht, dass bei Verwendung von polyglossia unabhängig von spelling=new oder spelling=old beispielsweise "Telephon" verwendet wird, während es bei babel mit ngerman "Telefon" heißt.

Etwas später schreibt sie:

man sollte polyglossia nicht vorwerfen, dass manche Klasse das Paket ignorieren.

Da ich mal davon ausgehe, dass Ulrike Fischer als anerkannte Expertin weiß, wovon sie schreibt: Warum ignoriert KOMA-Script polyglossia, also warum testet scrlttr2 nicht einfach, ob spelling=new aktiv ist und verwendet dann "Telefon"?

Bild von Markus Kohm

Zum einen wurde die Umschaltung zwischen den Begriffen nach alter Rechtschreibung und nach neuer Rechtschreibung schon lange bevor es polyglossia gab darüber durchgeführt, dass entweder \captionsgerman (alte Rechtschreibung) oder \captionsngerman (neue Rechtschreibung) ausgeführt werden.¹ Das war schon bei den inzwischen veralteten Paketen german und ngerman so. polyglossia nutzt auch die ngerman-Infrastruktur, indem es für german bei spelling=old die \language \l@german aktiviert, bei spelling=new aber \l@ngerman. Es kennt also die grundsätzliche Unterscheidung zwischen german und ngerman. Allerdings scheint es davon auszugehen, dass die \captions bei beiden Sprachvarianten gleich sind und deshalb keine Notwendigkeit besteht diese Unterscheidung auch an der Stelle durchzuführen. Wobei ich nicht unterstellen will, dass die Autoren das mit Absicht und im Bewusstsein, dass es relevant sein könnte, getan haben. Ich hatte zwar in Erinnerung, dass ich François diesbezüglich mal eine E-Mail geschrieben habe, kann diese aber nicht mehr finden. So kann es gut sein, dass ich das nur beabsichtigt aber nie gemacht habe. Insofern mag es zutreffen, dass ich polyglossia ignoriert habe.

Auf der anderen Seite kann ich in der Anleitung von polyglossia zwar finden, wie man variant und spelling setzt. Eine Abfragemöglichkeit kann ich dort aber nicht finden. Gäbe es diese, könnte ich möglicherweise bei der Erweiterung von \captionsgerman, \captionaustrian und \captionsswiss einerseits prüfen, ob diese Abfragemöglichkeit existiert und ob spelling=new oder spelling=old aktiv ist. Bisher habe ich von Ulrike auch keinen Verbesserungsvorschlag bekommen, der eine solche Möglichkeit erwähnt. Da sie aber offenbar eine kennt, werde ich sie natürlich umgehend danach fragen.

Es sei noch erwähnt, dass schon die Erkennung, welche Sprache denn aktuell aktiv ist, kaum dokumentiert ist und sich dafür für die unterschiedlichen Versionen verschiedener Sprachpakete diverse Tricks in KOMA-Script befinden.

Im übrigen finde ich das Verb »ignorieren«, das laut Duden die Bedeutung »absichtlich übersehen« hat, schon etwas unfair. scrlttr2 und das restliche KOMA-Script übersehen polyglossia keineswegs absichtlich. Vielmehr bin ich mir des Problems durchaus bewusst und habe dazu auch schon Tipps gegeben, etwa die Verwendung von \let\captionsgerman\captionsngerman falls man nicht beide Sprachen benötigt. Mir fehlt bisher aber schlicht die Möglichkeit, das Problem zu beheben. Wenn polyglossia die \captionsn nicht verwendet und gleichzeitig die Autoren keine Möglichkeit dokumentieren wie man bei der Definition der captions… auf unterschiedliche spelling-Einstellungen reagieren kann, dann fehlt mir irgendwie die Handhabe. Trotzdem mache ich mir nicht nur in schlaflosen Nächten immer wieder Gedanken auch dazu.


1  Genau genommen kann die Umschaltung auch mit \extrasngerman bzw. \extrasgerman erfolgen und natürlich gibt es für die übrigen deutschen Sprachen zumindest bei babel auch noch \captionsaustrian, \captionsnaustrian, \captionsswiss und \captionsnswiss und noch einmal entsprechend mit \extra. Aber das sei hier nur am Rande erwähnt.

Bild von Markus Kohm

Nachdem ich mir den Code von polyglossia gründlich vorgenommen habe, ist es mir heute vermutlich gelungen, mit einigen Tricks und Sonderbehandlungen dafür zu sorgen, dass \defcaptionname etc. auch mit polyglossia auch für die Sprachen ngerman, austrian, naustrian, swiss und nswiss funktionieren, wenn dort die Sprache german mit einer der Varianten oder Schreibweisen aktiviert wird. Jedenfalls liefert nun

\documentclass{scrlttr2}
\usepackage{fontspec}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}
%\usepackage[ngerman]{babel}
\usepackage{mwe}
 
%\renewcaptionname{ngerman}\phonename{Teledingens}
 
\begin{document}
\phonename
\end{document}
 
% Local Variables:
% TeX-engine: xetex
% End:

mit polyglossia und mit babel dieselben Ergebnisse (auch wenn man die auskommentierte Zeile reaktiviert), wohingegen bisher mit polyglossia immer "Telephon" ausgegeben wurde.

So gesehen hat die Diskussion tatsächlich zu etwas geführt.

Comments for "Ignoriert KOMA-Script polyglossia?" abonnieren