With dynnumwidth=true
the value of numwidth
is not completly ignored (unlike the documentation). Instead it works as minimum width of the entry numbers including numsep
. That means the used width for the entry numbers is at least numwidth
, but it will be adjusted if there are numbers which need space wider than numwidth
. So the effect of dynumwidth=true
and/or changes of numsep
is only visible, if the needed space is wider than numwidth
. I think the documentation for tocdynnumwidth
have to be changed (or it is a bug of tocbasic
).
If you add numwidth=0pt
to the settings for each TOC style entry, then dynnumwidth
and numsep
have an effect even if there are only short entry numbers.
\documentclass[fontsize=11pt]{scrreprt}
%\documentclass[11pt]{report}
%\usepackage{tocbasic}% with a KOMA-Script class do not load explicitly
\usepackage[left=25mm,right=25mm,top=8.4mm,bottom=10.7mm%
,includeheadfoot,headsep=15.4mm,marginparwidth=18mm,marginparsep=4mm]%
{geometry}
\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{3}
\usepackage{blindtext}
\makeatletter
\def\@dotsep{0.072}
\newcommand*{\skillmon@chapter@dotfill}{%
\TOCLineLeaderFill[\textbf{.}]%
}
\newcommand*{\skillmon@section@dotfill}{%
\TOCLineLeaderFill%
}
\newcommand*\skillmon@pagenumberbox[1]{\makebox{#1}}
\newcommand*\skillmon@numsep{0pt}% <- adjust this to set the minimum space between the numbers and the titles
\DeclareTOCStyleEntry[%
,beforeskip=1.15em plus 1pt%
,dynnumwidth=true%
,numwidth=0pt,% <- added
,numsep=\skillmon@numsep%
,linefill=\skillmon@chapter@dotfill%
,entryformat=\textbf%
,indent=0pt%
,level=0%
,pagenumberbox=\skillmon@pagenumberbox%
]{tocline}{chapter}
\DeclareTOCStyleEntry[%
,beforeskip=0pt plus .2pt%
,dynnumwidth=true%
,numwidth=0pt,% <- added
,numsep=\skillmon@numsep%
,linefill=\skillmon@section@dotfill%
,indent=1.3em%
,pagenumberbox=\skillmon@pagenumberbox%
]{tocline}{section}
\DeclareTOCStyleEntry[%
,beforeskip=0pt plus .2pt%
,dynnumwidth=true%
,numwidth=0pt,% <- added
,numsep=\skillmon@numsep%
,linefill=\skillmon@section@dotfill%
,indent=3.38em%
,pagenumberbox=\skillmon@pagenumberbox%
]{tocline}{subsection}
\DeclareTOCStyleEntry[%
,beforeskip=0pt plus .2pt%
,dynnumwidth=true%
,numwidth=0pt,% <- added
,numsep=\skillmon@numsep%
,linefill=\skillmon@section@dotfill%
,indent=6.38em%
,pagenumberbox=\skillmon@pagenumberbox%
]{tocline}{subsubsection}
\DeclareTOCStyleEntry[%
,beforeskip=0pt plus .2pt%
,dynnumwidth=true%
,numwidth=0pt,% <- added
,numsep=\skillmon@numsep%
,linefill=\skillmon@section@dotfill%
,indent=1.5em%
,pagenumberbox=\relax%
]{tocline}{table}
\DeclareTOCStyleEntry[%
,beforeskip=0pt plus .2pt%
,dynnumwidth=true%
,numwidth=0pt,% <- added
,numsep=\skillmon@numsep%
,linefill=\skillmon@section@dotfill%
,indent=1.5em%
,pagenumberbox=\skillmon@pagenumberbox%
]{tocline}{figure}
\makeatother
\begin{document}
\tableofcontents
\listoftables
\listoffigures
\blinddocument
\addxcontentsline{lot}{table}[1.1]{example of table}
\addxcontentsline{lot}{table}[1.2]{example of table}
\addxcontentsline{lof}{figure}[1.1]{example of figure}
\addxcontentsline{lof}{figure}[1.2]{example of figure}
\blinddocument
\addxcontentsline{lot}{table}[2.1]{example of table}
\addxcontentsline{lot}{table}[2.2]{example of table}
\addxcontentsline{lof}{figure}[2.1]{example of figure}
\addxcontentsline{lof}{figure}[2.2]{example of figure}
\blinddocument
\addxcontentsline{lot}{table}[3.1]{example of table}
\addxcontentsline{lot}{table}[3.2]{example of table}
\addxcontentsline{lof}{figure}[3.1]{example of figure}
\addxcontentsline{lof}{figure}[3.2]{example of figure}
\end{document}
Now the value of \skillmon@numsep
sets the minimum space between the numbers and the titles in ToC. In the example it is set to 0pt
.
Run three times to get

Note that this example will also work if you replace scrreprt
by the standard class report
. But then you have to load package scrtocbasic
explicitly.
You are using the KOMA-Script class scrreprt
. So it is possible to set the options for the toc entries also in the optional argument of \RedeclareSectionCommand
, \RedeclareSectionCommands
etc. But note there you have to add the prefix toc
to each of these options.
Example:
\documentclass[fontsize=11pt,
%listof=nochaptergap% remove the chapter gap in lists like LOT or LOF
]{scrreprt}[2017/01/03]
\usepackage[left=25mm,right=25mm,top=8.4mm,bottom=10.7mm%
,includeheadfoot,headsep=15.4mm,marginparwidth=18mm,marginparsep=4mm]%
{geometry}
\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{3}
\usepackage{blindtext}
\makeatletter
\def\@dotsep{0.072}
\newcommand*\skillmon@pagenumberbox[1]{\makebox{#1}}
\newcommand*\skillmon@numsep{0pt}
\RedeclareSectionCommands[%
,tocnumwidth=0pt%
,tocdynnumwidth=true%
,tocnumsep=\skillmon@numsep%
,tocpagenumberbox=\skillmon@pagenumberbox%
]{chapter,section,subsection,subsubsection}
\RedeclareSectionCommand[%
,beforeskip=1.15em plus 1pt%
,tocentryformat=\textbf%
,toclinefill={\TOCLineLeaderFill[\textbf{.}]}%
]{chapter}
\RedeclareSectionCommand[%
,tocindent=3.38em%
]{subsection}
\RedeclareSectionCommand[%
,tocindent=6.38em%
]{subsubsection}
\DeclareTOCStyleEntry[%
,dynnumwidth=true%
,numwidth=0pt%
,numsep=\skillmon@numsep%
,pagenumberbox=\skillmon@pagenumberbox%
]{tocline}{table}
\DeclareTOCStyleEntry[%
,dynnumwidth=true%
,numwidth=0pt%
,numsep=\skillmon@numsep%
,pagenumberbox=\skillmon@pagenumberbox%
]{tocline}{figure}
\makeatother
\begin{document}
\tableofcontents
\listoftables
\listoffigures
\blinddocument
\addxcontentsline{lot}{table}[1.1]{example of table}
\addxcontentsline{lot}{table}[1.2]{example of table}
\addxcontentsline{lof}{figure}[1.1]{example of figure}
\addxcontentsline{lof}{figure}[1.2]{example of figure}
\blinddocument
\addxcontentsline{lot}{table}[2.1]{example of table}
\addxcontentsline{lot}{table}[2.2]{example of table}
\addxcontentsline{lof}{figure}[2.1]{example of figure}
\addxcontentsline{lof}{figure}[2.2]{example of figure}
\blinddocument
\addxcontentsline{lot}{table}[3.1]{example of table}
\addxcontentsline{lot}{table}[3.2]{example of table}
\addxcontentsline{lof}{figure}[3.1]{example of figure}
\addxcontentsline{lof}{figure}[3.2]{example of figure}
\end{document}
I have removed the options with values equal to the defaults. Run three times to get the same result as above.
Because \CloneTOCEntryStyle
is mentioned in the question:
scrreprt
uses \CloneTOCEntryStyle
to clone tocline
to the styles chapter
and section
and \TOCEntryStyleStartInitCode
to declare the initial settings for some of the options of the new styles. Then style section
is cloned to style default
.
So you could also do something like (warning: the example below uses undocumented internal commands, so it can break in the future)
\documentclass[fontsize=11pt,
%listof=nochaptergap% remove the chapter gap in lists like LOT or LOF
]{scrreprt}[2017/01/03]
\usepackage[left=25mm,right=25mm,top=8.4mm,bottom=10.7mm%
,includeheadfoot,headsep=15.4mm,marginparwidth=18mm,marginparsep=4mm]%
{geometry}
\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{3}
\usepackage{blindtext}
\makeatletter
\def\@dotsep{0.072}
\TOCEntryStyleInitCode{default}{%
\expandafter\renewcommand%
\csname scr@tso@#1@numwidth\endcsname{0pt}%
\expandafter\renewcommand%
\csname scr@tso@#1@numsep\endcsname{0pt}%
\expandafter\renewcommand%
\csname scr@tso@#1@pagenumberbox\endcsname[1]{\makebox{##1}}%
}
\makeatother
\RedeclareSectionCommands[tocstyle=default,tocdynnumwidth=true]{chapter,section,subsection,subsubsection}
\DeclareTOCStyleEntry[dynnumwidth=true]{default}{table}
\DeclareTOCStyleEntry[dynnumwidth=true]{default}{figure}
\RedeclareSectionCommand[%
,beforeskip=1.15em plus 1pt%
,tocentryformat=\textbf%
,toclinefill={\TOCLineLeaderFill[\textbf{.}]}%
]{chapter}
\RedeclareSectionCommand[%
,tocindent=6.38em%
]{subsection}
\begin{document}
\tableofcontents
\listoftables
\listoffigures
\blinddocument
\addxcontentsline{lot}{table}[1.1]{example of table}
\addxcontentsline{lot}{table}[1.2]{example of table}
\addxcontentsline{lof}{figure}[1.1]{example of figure}
\addxcontentsline{lof}{figure}[1.2]{example of figure}
\blinddocument
\addxcontentsline{lot}{table}[2.1]{example of table}
\addxcontentsline{lot}{table}[2.2]{example of table}
\addxcontentsline{lof}{figure}[2.1]{example of figure}
\addxcontentsline{lof}{figure}[2.2]{example of figure}
\blinddocument
\addxcontentsline{lot}{table}[3.1]{example of table}
\addxcontentsline{lot}{table}[3.2]{example of table}
\addxcontentsline{lof}{figure}[3.1]{example of figure}
\addxcontentsline{lof}{figure}[3.2]{example of figure}
\end{document}
tocbasic
? KOMA?tocbasic
is the package KOMA-script uses to format all its lists. It is loaded automatically if you use a KOMA-class (see also the description of thetocbasic
-tag).