dynnumwidth%20funktioniert%20in%20KOMA-Script%20nicht%20zuverl%C3%A4ssig.png)
Entsprechend derKOMA-Script Dokumentationbewirkt die Option dynnumwidth
im tocbasic
-style toclines
(das ist die Vorlage für die Stile, die von den Abschnittsbefehlen von KOMA-Script im Inhaltsverzeichnis verwendet werden) Folgendes:
dynnumwidth=switch
: Wenn der Schalter mit style aktiv isttocline
,numwidth
wird das Attribut ignoriert. Stattdessen wird die beim letzten LaTeX-Lauf ermittelte maximale Zahlenbreite erhöht um den Wert vonnumsep
verwendet.
Allerdings scheint die Erkennung der maximalen Zahlenbreite nicht zuverlässig zu funktionieren. Betrachten wir die beiden folgenden MWE:
test_1.tex
:
\documentclass[american]{scrartcl}
\usepackage{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\RedeclareSectionCommands[tocdynnumwidth]{section,subsection,subsubsection}
\begin{document}
\tableofcontents
\addsectiontocentry{Nr.~1}{Test1}
\addsectiontocentry{Nr.~2}{Test2}
\addsectiontocentry{Nr.~3}{Test3}
\addsectiontocentry{Number~4}{Test4 (long)}
\end{document}
Ausgabe:
test_2.tex
:
\documentclass[american]{scrartcl}
\usepackage{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\RedeclareSectionCommands[tocdynnumwidth]{section,subsection,subsubsection}
\begin{document}
\tableofcontents
\addsectiontocentry{Nr.~1}{Test1}
\addsectiontocentry{Nr.~2}{Test2}
\addsectiontocentry{Number~3}{Test3 (long)}
\addsectiontocentry{Number~4}{Test4 (long)}
\end{document}
Ausgabe:
Wenn ich also drei oder mehr Einträge mit kurzen Zahlenbreiten habe, dynnumwidth
erkennt es den längeren Eintrag nicht und wählt einen numwidth
zu kleinen Wert (MWE 1). Bei zwei kurzen und zwei langen Zahlenbreiten hingegen numwidth
wird der richtige ermittelt (MWE 2). Ist das ein Bug oder verwende ich dynnumwidth
das falsch?
Ich verwende TeX Live 2016/KOMA-Script v3.21.
Antwort1
Ich habe dem KOMA-Script-Autor Markus Kohm einen Fehlerbericht geschickt, der bestätigt hat, dass dies nicht wie vorgesehen funktioniert.
Wie erwähnt vonesdd, der Fehler wurde behoben inVorabversion v3.22.2559. Aus dem Änderungsprotokoll:
r2559 02.12.2016 09:03:11 +0100 kOhm:
- scrkernel-tocstyle.dtx: fehlendes \relax hinzugefügt, um die Dynnumwidth-
Funktion zu beheben
Daher wird es in der KOMA-Script-Version v3.22 nicht mehr vorhanden sein.