Einige Anwender sind sehr daran interessiert, wie es mit KOMA-Script weiter geht. Nun, die wichtigste Nachricht ist, dass es weiter geht. Derzeit sogar sehr intensiv. Gleichzeitig ist davon aber scheinbar nichts zu sehen.
Wie bekannt sein dürfte, ist PDF-Tagging derzeit eines der bei KOMA-Script
intensiv diskutierten Themen. Dazu hat Ulrike Fischer auf der DANTE-Tagung
kürzlich gezeigt, wie man bereits heute den KOMA-Script-Klassen an einigen
Stellen Tagging beibringen kann. Bisher war das aber eher Stückwerk in Form
von Notlösungen. Hinter den Kulissen hat sich aber sehr viel in dieser
Richtung getan. Dazu haben Marei und ich sehr intensiv diskutiert und sind zu
dem Schluss gekommen, dass wir derzeit nicht auf das noch sehr wackelige
Template-Interface von
latex-lab aufbauen können. Wir wollen
nämlich kein KOMA-Script, das möglicherweise von einem Tag auf den anderen nur
so mit Fehlern um sich wirft, sondern eines, das möglichst zuverlässig
funktioniert. Das ist Angesichts der sehr intensiven Weiterentwicklung von
LaTeX ohnehin nicht einfach.
Stattdessen haben wir uns dafür entschieden, den vorhandenen Code an die Erfordernisse für das PDF-Tagging anzupassen. Das bedeutet in erster Linie, dass entsprechende Sockets eingebaut und mit passender Funktion definiert werden. Diesen Teil der Arbeit übernimmt Marei. Als Perfektionistin baut sie dazu auch gleich ein vollautomatisches Testsytem auf, das die Korrektheit der Änderungen einschließlich möglichst hoher optischer Kompatibilität sicherstellt.
Im Zuge der Diskussionen zum PDF-Tagging zeigte sich auch – wieder einmal! –,
dass die große Menge an Kompatibilitätscode in KOMA-Script die Arbeit deutlich
erschwert. Eine weitere Aufgabe besteht deshalb darin, diesen Code los zu
werden. Wir haben uns die Entscheidung nicht leicht gemacht, denken aber, dass
jetzt genau der richtige Zeitpunkt dafür ist. Trotzdem werden wir den Schnitt
ein klein wenig abfedern. Das heißt konkret, dass die nächste Version auf
veraltete Optionen nur noch mit einer Warnung reagieren wird, in der darauf
hingewiesen wird, wie man es richtig macht. Veraltete Befehle werden hingegen
eine Fehlermeldung erzeugen. Die Fehlerliste im
Wiki wird parallel
entsprechend erweitert, so für alle, die entsprechende Warnungen in den
letzten Jahren oder gar Jahrzehnten ignoriert haben, trotzdem noch Hilfe
finden. Das macht zwar erst einmal sehr viel zusätzliche Arbeit, wird sich am
Ende aber auszahlen. Es ist geplant, innerhalb der nächsten sechs bis zwölf
Monate dann die nächste Stufe zu zünden und die veralteten Optionen und
Befehle endgültig aus dem Code zu entfernen. Das betrifft dann auch Option
version. Für diesen Teil der Arbeit bin in erster Linie ich verantwortlich.
Es gibt aber auch ein paar Überscheidungen. Wir wollen bei der Vereinfachung
von Code nämlich nicht beim Entfernen veralteter Optionen und Befehle stehen
bleiben. So hat sich beispielsweise gezeigt, dass der Code für
Gliederungsbefehle eine unschöne Dopplung enthält. Aufgrund der Orientierung
an der Schnittstelle für Klassenautoren, die bisher vom LaTeX-Kern
angeboten wurde, werden beispielsweise Sternform (wie \chapter*{…}) und
Normalform (wie \chapter[…]{…}) nahezu komplett unabhängig voneinander
implementiert. In weiten Teilen sind die Implementierungen aber
identisch. Wenn also in der einen Form etwas geändert werden muss, muss häufig
die entsprechende Stelle in der anderen ebenfalls angepasst werden. Solche
Codedopplungen wollen wir auflösen und künftig vermeiden. Auch andere
Vereinfachungen sind durch die Abkehr von LaTeX-Kern-Anweisungen
inzwischen möglich und sinnvoll. Hier gibt es keine klare Trennung zwischen
Aufgaben für mich und Aufgaben für Marei. Beim genannen Beispiel war es
einfacher, dass Marei das im Zuge ihrer Anpassungen mit übernimmt. Nebenbei
ist so übrigens auch ein neues Feature entstanden. Man kann nun frei wählen,
ob Überschriften einen neuen Kolumnentitel erzeugen oder nicht. Nummerierte
Überschriften von der Aufnahme ins Inhaltsverzeichnis auszunehmen, war ja
bereits bisher möglich.
Der Anwender fragt sich jetzt natürlich, wann es eine neue Version mit all
diesen Änderungen geben wird. Die Antwort ist so einfach wie unbefriedigend:
Wenn wir damit fertig sind. Tatsächlich sind wir aber schon recht weit. Ich
würde sicher nicht davon gackern, wenn nicht die Hoffnung bestünde, dass Marei
demnächst meine Änderungen mit ihren zusammenführt. Wer dann egal – ob mit
oder ohne aktiviertem PDF-Tagging – intensiv testen will, kann sich schon
einmal in die Startaufstellung begeben und sich beispielsweise mit dem
dev-Branch von
komascript-tagging-lab
beschäftigen. Die anderen müssen einfach gespannt bleiben.
Bis demnächst
Markus