<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to HowTo_ToC_pagefirst</title><link>https://sourceforge.net/p/koma-script/wiki-de/HowTo_ToC_pagefirst/</link><description>Recent changes to HowTo_ToC_pagefirst</description><atom:link href="https://sourceforge.net/p/koma-script/wiki-de/HowTo_ToC_pagefirst/feed" rel="self"/><language>en</language><lastBuildDate>Wed, 06 Aug 2025 08:09:16 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/koma-script/wiki-de/HowTo_ToC_pagefirst/feed" rel="self" type="application/rss+xml"/><item><title>HowTo_ToC_pagefirst modified by Markus Kohm</title><link>https://sourceforge.net/p/koma-script/wiki-de/HowTo_ToC_pagefirst/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v3
+++ v4
@@ -172,4 +172,4 @@

 Also alles kein großes Geheimnis. Wer in die Erstellung eigener Stile einsteigen will, dem sei noch einmal das Studium der vordefinierten Stile aus `tocbasic.sty` empfohlen. Dabei sollte mit den weniger komplexen Stilen `dottedtocline`, `undottedtocline` und `largetocline` begonnen werden. Die stark konfigurierbaren Stile `tocline` und `toctext` sind dann für diejenigen Interessant, die viele Einstellmöglichkeiten benötigen und vor entsprechend komplexen Definitionen nicht zurückschrecken.

-Es sei noch erwähnt, dass die Verwendung von `tocbasic` natürlich auch mit anderen Klassen möglich ist. Während die KOMA-Script-Klassen das Paket automatisch laden und verwenden, muss das Paket aber beispielsweise bei Verwendung einer Standardklasse explizit geladen werden.
+Es sei noch erwähnt, dass die Verwendung von `tocbasic` natürlich auch mit anderen Klassen möglich ist. Während die KOMA-Script-Klassen das Paket automatisch laden und verwenden, muss das Paket aber beispielsweise bei Verwendung einer Standardklasse explizit geladen werden. Darüber hinaus ist die Verwendung des neu definierten Eintragsstils nicht auf das Inhaltsverzeichnis beschränkt. Man kann ihn per `\DeclareTOCStyleEntry` ebenso beispielsweise auf `figure` oder `table` anwenden.
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Markus Kohm</dc:creator><pubDate>Wed, 06 Aug 2025 08:09:16 -0000</pubDate><guid>https://sourceforge.netd5709ebed8dc63b006bbc6086212d552c1ffacbf</guid></item><item><title>HowTo_ToC_pagefirst modified by Markus Kohm</title><link>https://sourceforge.net/p/koma-script/wiki-de/HowTo_ToC_pagefirst/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Markus Kohm</dc:creator><pubDate>Thu, 12 Dec 2024 12:13:20 -0000</pubDate><guid>https://sourceforge.neta6e356ed1ec6d1aa4232707fc598bf3db3452d07</guid></item><item><title>HowTo_ToC_pagefirst modified by Markus Kohm</title><link>https://sourceforge.net/p/koma-script/wiki-de/HowTo_ToC_pagefirst/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -1,4 +1,4 @@
-# Wie können die Inhaltsverzeichniseinträge zuerst die Seitenzahl gefolgt von der Überschrift anzeigen?
+# Wie die Inhaltsverzeichniseinträge zuerst die Seitenzahl gefolgt von der Überschrift anzeigen

 In einigen Zeitschriften findet man, dass die Inhaltsverzeichniseinträge zuerst die Seitenzahl gefolgt von der Artikelüberschrift zeigen, also beispielsweise:
 ```ascii
@@ -14,7 +14,7 @@
 \usepackage[ngerman]{babel}
 \usepackage{mwe}
 \makeatletter
-% Diese Anweisung dient nur der Demontration und erzeugt Blindtext
+% Diese Anweisung dient nur der Demonstration und erzeugt Blindtext
 % bis zur angegebenen Seitenzahl.
 \newcommand*{\gotopage}[1]{%
   \@whilenum\c@page&amp;lt;#1 \do{\blindtext\par}%
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Markus Kohm</dc:creator><pubDate>Thu, 12 Dec 2024 12:11:38 -0000</pubDate><guid>https://sourceforge.net1ef517077c17c5c6a3392e5fb722fd61be56275a</guid></item><item><title>HowTo_ToC_pagefirst modified by Markus Kohm</title><link>https://sourceforge.net/p/koma-script/wiki-de/HowTo_ToC_pagefirst/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="wie-konnen-die-inhaltsverzeichniseintrage-zuerst-die-seitenzahl-gefolgt-von-der-uberschrift-anzeigen"&gt;Wie können die Inhaltsverzeichniseinträge zuerst die Seitenzahl gefolgt von der Überschrift anzeigen?&lt;/h1&gt;
&lt;p&gt;In einigen Zeitschriften findet man, dass die Inhaltsverzeichniseinträge zuerst die Seitenzahl gefolgt von der Artikelüberschrift zeigen, also beispielsweise:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt; 90 OLED-TV als Gaming-Display
 94 Outdoor-Handy mit Satellitenfunktion
 98 Smartphones unter 500 Euro
102 Mittelklasse-GPUs von AMD und Nvidia
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Die in KOMA-Script vorhandenen Stile für Verzeichniseinträge geben eine solche Formatierung nicht her und können auch nicht entsprechend umkonfiguriert werden. Mit Hilfe der Anweisung &lt;code&gt;\DeclareTOCEntryStyle&lt;/code&gt; aus dem Paket &lt;code&gt;tocbasic&lt;/code&gt; kann man bei KOMA-Script  jedoch neue Stile definieren. Näheres zu der Anweisung und den darin verwendbaren Argumenten ist der Anleitung zu entnehmen. Hier ein Beispiel:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;\documentclass&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;scrartcl&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\usepackage&lt;/span&gt;&lt;span class="na"&gt;[ngerman]&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;babel&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\usepackage&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;mwe&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\makeatletter&lt;/span&gt;
&lt;span class="c"&gt;% Diese Anweisung dient nur der Demontration und erzeugt Blindtext&lt;/span&gt;
&lt;span class="c"&gt;% bis zur angegebenen Seitenzahl.&lt;/span&gt;
&lt;span class="k"&gt;\newcommand*&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\gotopage&lt;/span&gt;&lt;span class="nb"&gt;}&lt;/span&gt;[1]&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="k"&gt;\@whilenum\c@page&lt;/span&gt;&amp;lt;#1 &lt;span class="k"&gt;\do&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\blindtext\par&lt;/span&gt;&lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\makeatother&lt;/span&gt;

&lt;span class="k"&gt;\makeatletter&lt;/span&gt;
&lt;span class="c"&gt;% Hinweis: Es funktionieren die bekannten Optionen toclevel, beforeskip,&lt;/span&gt;
&lt;span class="c"&gt;% entryformat, pagenumberwidth. Bei pagenumberwidth gibt es aber die Änderung,&lt;/span&gt;
&lt;span class="c"&gt;% dass die Seitenzahl vorn steht. Der Abstand 1em nach der Seitenzahl ist&lt;/span&gt;
&lt;span class="c"&gt;% bisher fest durch ein \quad im Code für die Ausgabe vorgegeben.&lt;/span&gt;
&lt;span class="k"&gt;\DeclareTOCEntryStyle&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;ct&lt;span class="nb"&gt;}&lt;/span&gt;[&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="c"&gt;% Zuerst Definition und Initialisierung von Optionen:&lt;/span&gt;
  &lt;span class="k"&gt;\DefineTOCEntryCommandOption&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;entryformat&lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
    &lt;span class="nb"&gt;{&lt;/span&gt;scr@tso@&lt;span class="nb"&gt;}{&lt;/span&gt;@entryformat&lt;span class="nb"&gt;}&lt;/span&gt;[1]&lt;span class="nb"&gt;{&lt;/span&gt;entry format&lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="k"&gt;\DefineTOCEntryLengthOption&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;beforeskip&lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
    &lt;span class="nb"&gt;{&lt;/span&gt;scr@tso@&lt;span class="nb"&gt;}{&lt;/span&gt;@beforeskip&lt;span class="nb"&gt;}{&lt;/span&gt;vertical skip before the entry&lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="k"&gt;\DefineTOCEntryLengthOption&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;pagenumberwidth&lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
    &lt;span class="nb"&gt;{&lt;/span&gt;scr@tso@&lt;span class="nb"&gt;}{&lt;/span&gt;@pagenumberwidth&lt;span class="nb"&gt;}{&lt;/span&gt;width of page number box&lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="k"&gt;\expandafter\providecommand&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="k"&gt;\csname&lt;/span&gt; scr@tso@#1@entryformat&lt;span class="k"&gt;\endcsname&lt;/span&gt;&lt;span class="na"&gt;[1]&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\normalfont&lt;/span&gt; ##1&lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="c"&gt;% oder:&lt;/span&gt;
  &lt;span class="c"&gt;% \csname scr@tso@#1@entryformat\endcsname[1]{\normalfont\sffamily\bfseries ##1}%&lt;/span&gt;
  &lt;span class="k"&gt;\expandafter\providecommand\expandafter*&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="k"&gt;\csname&lt;/span&gt; scr@tso@#1@beforeskip&lt;span class="k"&gt;\endcsname&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\glueexpr&lt;/span&gt; &lt;span class="k"&gt;\z@&lt;/span&gt; plus .2&lt;span class="k"&gt;\p@\relax&lt;/span&gt;&lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="c"&gt;% Automatische Bestimmung der nummerischen Ebene aus dem Namen der Ebene&lt;/span&gt;
  &lt;span class="k"&gt;\@ifundefined&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1tocdepth&lt;span class="nb"&gt;}{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
    &lt;span class="k"&gt;\Ifstr&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1&lt;span class="nb"&gt;}{&lt;/span&gt;part&lt;span class="nb"&gt;}{&lt;/span&gt;&lt;span class="k"&gt;\@namedef&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1tocdepth&lt;span class="nb"&gt;}{&lt;/span&gt;-1&lt;span class="nb"&gt;}}{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
      &lt;span class="k"&gt;\Ifstr&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1&lt;span class="nb"&gt;}{&lt;/span&gt;chapter&lt;span class="nb"&gt;}{&lt;/span&gt;&lt;span class="k"&gt;\@namedef&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1tocdepth&lt;span class="nb"&gt;}{&lt;/span&gt;0&lt;span class="nb"&gt;}}{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
        &lt;span class="k"&gt;\Ifstr&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1&lt;span class="nb"&gt;}{&lt;/span&gt;section&lt;span class="nb"&gt;}{&lt;/span&gt;&lt;span class="k"&gt;\@namedef&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1tocdepth&lt;span class="nb"&gt;}{&lt;/span&gt;1&lt;span class="nb"&gt;}}{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
          &lt;span class="k"&gt;\Ifstr&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1&lt;span class="nb"&gt;}{&lt;/span&gt;subsection&lt;span class="nb"&gt;}{&lt;/span&gt;&lt;span class="k"&gt;\@namedef&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1tocdepth&lt;span class="nb"&gt;}{&lt;/span&gt;2&lt;span class="nb"&gt;}}{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
            &lt;span class="k"&gt;\Ifstr&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1&lt;span class="nb"&gt;}{&lt;/span&gt;subsubsection&lt;span class="nb"&gt;}{&lt;/span&gt;&lt;span class="k"&gt;\@namedef&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1tocdepth&lt;span class="nb"&gt;}{&lt;/span&gt;3&lt;span class="nb"&gt;}}{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
              &lt;span class="k"&gt;\Ifstr&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1&lt;span class="nb"&gt;}{&lt;/span&gt;paragraph&lt;span class="nb"&gt;}{&lt;/span&gt;&lt;span class="k"&gt;\@namedef&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1tocdepth&lt;span class="nb"&gt;}{&lt;/span&gt;4&lt;span class="nb"&gt;}}{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
                &lt;span class="k"&gt;\Ifstr&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1&lt;span class="nb"&gt;}{&lt;/span&gt;subparagraph&lt;span class="nb"&gt;}{&lt;/span&gt;&lt;span class="k"&gt;\@namedef&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1tocdepth&lt;span class="nb"&gt;}{&lt;/span&gt;5&lt;span class="nb"&gt;}}{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
                  &lt;span class="k"&gt;\Ifstr&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1&lt;span class="nb"&gt;}{&lt;/span&gt;figure&lt;span class="nb"&gt;}{&lt;/span&gt;&lt;span class="k"&gt;\@namedef&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1tocdepth&lt;span class="nb"&gt;}{&lt;/span&gt;1&lt;span class="nb"&gt;}}{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
                    &lt;span class="k"&gt;\Ifstr&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1&lt;span class="nb"&gt;}{&lt;/span&gt;table&lt;span class="nb"&gt;}{&lt;/span&gt;&lt;span class="k"&gt;\@namedef&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1tocdepth&lt;span class="nb"&gt;}{&lt;/span&gt;1&lt;span class="nb"&gt;}}{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
                      &lt;span class="k"&gt;\Ifstr&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1&lt;span class="nb"&gt;}{&lt;/span&gt;lstlisting&lt;span class="nb"&gt;}{&lt;/span&gt;&lt;span class="k"&gt;\@namedef&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1tocdepth&lt;span class="nb"&gt;}{&lt;/span&gt;1&lt;span class="nb"&gt;}}{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
                        &lt;span class="k"&gt;\expandafter\let\csname&lt;/span&gt; #1tocdepth&lt;span class="k"&gt;\expandafter\endcsname&lt;/span&gt;
                        &lt;span class="k"&gt;\csname&lt;/span&gt; #1numdepth&lt;span class="k"&gt;\endcsname&lt;/span&gt;
                      &lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
                    &lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
                  &lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
                &lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
              &lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
            &lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
          &lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
        &lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
      &lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
    &lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="nb"&gt;}{}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="k"&gt;\@ifundefined&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1tocdepth&lt;span class="nb"&gt;}{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
    &lt;span class="k"&gt;\expandafter\let\csname&lt;/span&gt; #1tocdepth&lt;span class="k"&gt;\expandafter\endcsname&lt;/span&gt;
    &lt;span class="k"&gt;\csname&lt;/span&gt; toclevel@#1&lt;span class="k"&gt;\endcsname&lt;/span&gt;
  &lt;span class="nb"&gt;}{}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="c"&gt;% Automatische Bestimmung der Seitenzahlbreite anhand der Elternebene&lt;/span&gt;
  &lt;span class="k"&gt;\scr@ifundefinedorrelax&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;scr@tso@#1@pagenumberwidth&lt;span class="nb"&gt;}{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
    &lt;span class="k"&gt;\Ifstrstart&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1&lt;span class="nb"&gt;}{&lt;/span&gt;sub&lt;span class="nb"&gt;}{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
      &lt;span class="k"&gt;\scr@ifundefinedorrelax&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;scr@tso@&lt;span class="k"&gt;\scr@dte@nosub&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1&lt;span class="nb"&gt;}&lt;/span&gt;@pagenumberwidth&lt;span class="nb"&gt;}{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
        &lt;span class="k"&gt;\@namedef&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;scr@tso@#1@pagenumberwidth&lt;span class="nb"&gt;}{&lt;/span&gt;&lt;span class="k"&gt;\@pnumwidth&lt;/span&gt;&lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
      &lt;span class="nb"&gt;}{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
        &lt;span class="k"&gt;\expandafter\let&lt;/span&gt;
        &lt;span class="k"&gt;\csname&lt;/span&gt; scr@tso@#1@pagenumberwidth&lt;span class="k"&gt;\expandafter\endcsname&lt;/span&gt;
        &lt;span class="k"&gt;\csname&lt;/span&gt; scr@tso@&lt;span class="k"&gt;\scr@dte@nosub&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1&lt;span class="nb"&gt;}&lt;/span&gt;@pagenumberwidth&lt;span class="k"&gt;\endcsname&lt;/span&gt;
      &lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
    &lt;span class="nb"&gt;}{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
      &lt;span class="k"&gt;\@namedef&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;scr@tso@#1@pagenumberwidth&lt;span class="nb"&gt;}{&lt;/span&gt;&lt;span class="k"&gt;\@pnumwidth&lt;/span&gt;&lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
    &lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="nb"&gt;}{}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
&lt;span class="nb"&gt;}&lt;/span&gt;]&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="c"&gt;% Es folgt die eigentliche Ausgabe:&lt;/span&gt;
  &lt;span class="k"&gt;\renewcommand*&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\numberline&lt;/span&gt;&lt;span class="nb"&gt;}&lt;/span&gt;[1]&lt;span class="nb"&gt;{}&lt;/span&gt;&lt;span class="c"&gt;% Alle Einträge ohne Gliederungsnummer!&lt;/span&gt;
  &lt;span class="k"&gt;\ifnum&lt;/span&gt; &lt;span class="k"&gt;\c@tocdepth&lt;/span&gt; &amp;gt;&lt;span class="k"&gt;\numexpr&lt;/span&gt; &lt;span class="k"&gt;\@nameuse&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1tocdepth&lt;span class="nb"&gt;}&lt;/span&gt;-&lt;span class="k"&gt;\@ne\relax&lt;/span&gt;
    &lt;span class="k"&gt;\addpenalty\@secpenalty&lt;/span&gt;
    &lt;span class="k"&gt;\addvspace&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\@nameuse&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;scr@tso@#1@beforeskip&lt;span class="nb"&gt;}}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
    &lt;span class="k"&gt;\begingroup&lt;/span&gt;
      &lt;span class="k"&gt;\parindent&lt;/span&gt; &lt;span class="k"&gt;\z@&lt;/span&gt; &lt;span class="k"&gt;\rightskip&lt;/span&gt; &lt;span class="k"&gt;\z@&lt;/span&gt;
      &lt;span class="k"&gt;\parfillskip&lt;/span&gt; &lt;span class="k"&gt;\z@&lt;/span&gt; &lt;span class="k"&gt;\@plus&lt;/span&gt; 1fil
      &lt;span class="k"&gt;\@nameuse&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;scr@tso@#1@entryformat&lt;span class="nb"&gt;}{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
        &lt;span class="k"&gt;\@hangfrom&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
          &lt;span class="k"&gt;\makebox&lt;/span&gt;&lt;span class="na"&gt;[\@nameuse{scr@tso@#1@pagenumberwidth}][r]&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;##2&lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="k"&gt;\quad&lt;/span&gt;
        &lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
        ##1&lt;span class="k"&gt;\par&lt;/span&gt;
      &lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
    &lt;span class="k"&gt;\endgroup&lt;/span&gt;
    &lt;span class="k"&gt;\penalty\@highpenalty&lt;/span&gt;
  &lt;span class="k"&gt;\fi&lt;/span&gt;
&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\makeatother&lt;/span&gt;

&lt;span class="k"&gt;\DeclareTOCStyleEntry&lt;/span&gt;&lt;span class="na"&gt;[beforeskip=.5\baselineskip plus 2pt]&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;ct&lt;span class="nb"&gt;}{&lt;/span&gt;section&lt;span class="nb"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;\begin&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;document&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\tableofcontents&lt;/span&gt;
&lt;span class="k"&gt;\newpage&lt;/span&gt;
&lt;span class="k"&gt;\setcounter&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;page&lt;span class="nb"&gt;}{&lt;/span&gt;90&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\section&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;OLED-TV als Gaming-Display&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\gotopage&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;94&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\section&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;Outdoor-Handy mit Satellitenfunktion&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\gotopage&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;98&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\section&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;Smartphones unter 500 Euro&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\gotopage&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;102&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\section&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;Mittelklasse-GPUs von AMD und Nvidia&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\gotopage&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;103&lt;span class="nb"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;\end&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;document&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Das erste, verpflichtende Argument von &lt;code&gt;\DeclareTOCEntryStyle&lt;/code&gt; ist der Name des neuen Eintragsstils. Im Beispiel wurde in Anlehnung an die Computerzeitschrift c't der Name &lt;code&gt;ct&lt;/code&gt; gewählt.&lt;/p&gt;
&lt;p&gt;Das zweite Argument ist optional und gibt den Initialisierungscode an. Dieser wird bei Verwendung der Anweisung &lt;code&gt;\DeclareTOCStyleEntry&lt;/code&gt; bzw. &lt;code&gt;\DeclareTOCStyleEntries&lt;/code&gt; ausgeführt. Das Argument &lt;code&gt;#1&lt;/code&gt; ist dann der Name der jeweiligen Verzeichnisebene, beispielsweise &lt;code&gt;section&lt;/code&gt;. Die hier gezeigte Initialisierung definiert die Optionen &lt;code&gt;entryformat&lt;/code&gt;, &lt;code&gt;beforeskip&lt;/code&gt;, &lt;code&gt;pagenumberwidth&lt;/code&gt; und &lt;code&gt;entryformat&lt;/code&gt;. Die Option &lt;code&gt;level&lt;/code&gt; wird für alle Stile automatisch definiert. Außerdem initialisiert sie Werte für die Optionen bzw. die dahinter stehenden Makros und Längen. Der Code dafür ist in großen Teilen den in &lt;code&gt;tocbasic&lt;/code&gt; vordefinierten Stilen entnommen und in der KOMA-Script-Quelldatei &lt;a class="" href="https://sourceforge.net/p/koma-script/code/HEAD/tree/trunk/scrkernel-tocstyle.dtx"&gt;&lt;code&gt;scrkernel-tocstyle.dtx&lt;/code&gt;&lt;/a&gt; dokumentiert.&lt;/p&gt;
&lt;p&gt;Das dritte, erneut verpflichtende Argument enthält den Code für die eigentliche Formatierung des Verzeichniseintrags. Dieser sei hier etwas näher erläutert:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;\renewcommand*&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\numberline&lt;/span&gt;&lt;span class="nb"&gt;}&lt;/span&gt;[1]&lt;span class="nb"&gt;{}&lt;/span&gt;&lt;span class="c"&gt;% Alle Einträge ohne Gliederungsnummer!&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Als erstes wird die Anweisung &lt;code&gt;\numberline&lt;/code&gt; so umdefiniert, dass sie ihr Argument verwirft. Dieses Argument ist normalerweise die Gliederungsnummer des Verzeichniseintrags. Da der Eintragsstil bereits die Seitenzahl als erstes zeigt, wäre nach meiner Meinung die &lt;br/&gt;
zusätzliche Anzeige der Gliederungsnummer eher verwirrend. Daher wird sie verworfen.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;\ifnum&lt;/span&gt; &lt;span class="k"&gt;\c@tocdepth&lt;/span&gt; &amp;gt;&lt;span class="k"&gt;\numexpr&lt;/span&gt; &lt;span class="k"&gt;\@nameuse&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1tocdepth&lt;span class="nb"&gt;}&lt;/span&gt;-&lt;span class="k"&gt;\@ne\relax&lt;/span&gt;
  …
&lt;span class="k"&gt;\fi&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;code&gt;\c@tocdepth&lt;/code&gt; ist die LaTeX-interne Definition des Zählers &lt;code&gt;tocdepth&lt;/code&gt;. Hier wird also getestet, ob &lt;code&gt;tocdepth&lt;/code&gt; größer oder gleich der die in &lt;code&gt;#1tocdepth&lt;/code&gt; – das ist beispielsweise &lt;code&gt;\sectiontocdepth&lt;/code&gt; – Zahl ist. Nur, wenn das der Fall ist, findet überhaupt eine Ausgabe statt. Das ist letztlich das &lt;em&gt;Geheimnis&lt;/em&gt; hinter dem Zähler &lt;code&gt;tocdepth&lt;/code&gt;.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt; &lt;span class="k"&gt;\addpenalty\@secpenalty&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Diese Anweisung nimmt Einfluss auf die Erlaubnis für einen Seitenumbruch vor dem Eintrag. Der Standardwert für &lt;code&gt;\@secpenalty&lt;/code&gt; in LaTeX is -300, was bedeutet, dass ein Umbruch hier bevorzugt wird. Eine Alternative wäre hier die Verwendung einer Einstellung, die von der Ebene oder auch der vorherigen Ebene abhängt.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;\addvspace&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\@nameuse&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;scr@tso@#1@beforeskip&lt;span class="nb"&gt;}}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Es wird ein vertikaler Abstand entsprechend Option &lt;code&gt;beforeskip&lt;/code&gt; eingefügt, wobei &lt;code&gt;\addvspace&lt;/code&gt; nicht kumulativ arbeitet, so dass sich aufeinanderfolgende &lt;code&gt;\addvspace&lt;/code&gt; nicht summieren, sondern lediglich der Maximalwert erhalten bleibt.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;\begingroup&lt;/span&gt;
      &lt;span class="k"&gt;\parindent&lt;/span&gt; &lt;span class="k"&gt;\z@&lt;/span&gt; &lt;span class="k"&gt;\rightskip&lt;/span&gt; &lt;span class="k"&gt;\z@&lt;/span&gt;
      &lt;span class="k"&gt;\parfillskip&lt;/span&gt; &lt;span class="k"&gt;\z@&lt;/span&gt; &lt;span class="k"&gt;\@plus&lt;/span&gt; 1fil
&lt;span class="k"&gt;\endgroup&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Die eigentliche Ausgabe, aber vor allem die Änderung des Absatzeinzugs und der Füllweite der letzten Zeile des Absatzes erfolgt in einer Gruppe. Alle Änderungen bleiben daher lokal zu dieser Gruppe. Der Absatzeinzug wird auf 0 gesetzt, die letzte Zeile des Absatzes darf beliebig lang sein.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;  &lt;span class="k"&gt;\@nameuse&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;scr@tso@#1@entryformat&lt;span class="nb"&gt;}{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
    …
  &lt;span class="nb"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Der Eintrag wird entsprechend Option &lt;code&gt;entryformat&lt;/code&gt; formatiert. In der Voreinstellung für &lt;code&gt;section&lt;/code&gt; der Klasse &lt;code&gt;scrartcl&lt;/code&gt; ist das &lt;code&gt;\normalfont\sffamily\bfseries&lt;/code&gt;, also serifenlos und fett.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;      &lt;span class="k"&gt;\@hangfrom&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
        &lt;span class="k"&gt;\makebox&lt;/span&gt;&lt;span class="na"&gt;[\@nameuse{scr@tso@#1@pagenumberwidth}][r]&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;##2&lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="k"&gt;\quad&lt;/span&gt;
      &lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
      ##1&lt;span class="k"&gt;\par&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Die Seitenzahl aus &lt;code&gt;##2&lt;/code&gt; wird rechtsbündig in einer Box der Breite aus Option &lt;code&gt;pagenumberwidth&lt;/code&gt; ausgegeben. Der Text aus Argument &lt;code&gt;##1&lt;/code&gt; wird dazu hängend ausgegeben. Hinweis: Bei &lt;code&gt;##1&lt;/code&gt; handelt es sich genau genommen um die Gliederungsnummer und den Text, wobei die Gliederungsnummer als Argument der Anweisung &lt;code&gt;\numberline&lt;/code&gt; dem Text vorangestellt ist. Da diese Anweisung weiter oben so definiert wurde, dass sie ihr Argument ignoriert, wird die Gliederungsnummer hier jedoch nicht mit ausgegeben.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;  &lt;span class="k"&gt;\penalty\@highpenalty&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Hier wird ein Seitenumbruch zunächst verboten. Aber wir erinnern uns, dass im Falle eines weiteren Eintrags dieses Stils, dann ein Seitenumbruch wieder explizit erlaubt würde.&lt;/p&gt;
&lt;p&gt;Also alles kein großes Geheimnis. Wer in die Erstellung eigener Stile einsteigen will, dem sei noch einmal das Studium der vordefinierten Stile aus &lt;code&gt;tocbasic.sty&lt;/code&gt; empfohlen. Dabei sollte mit den weniger komplexen Stilen &lt;code&gt;dottedtocline&lt;/code&gt;, &lt;code&gt;undottedtocline&lt;/code&gt; und &lt;code&gt;largetocline&lt;/code&gt; begonnen werden. Die stark konfigurierbaren Stile &lt;code&gt;tocline&lt;/code&gt; und &lt;code&gt;toctext&lt;/code&gt; sind dann für diejenigen Interessant, die viele Einstellmöglichkeiten benötigen und vor entsprechend komplexen Definitionen nicht zurückschrecken.&lt;/p&gt;
&lt;p&gt;Es sei noch erwähnt, dass die Verwendung von &lt;code&gt;tocbasic&lt;/code&gt; natürlich auch mit anderen Klassen möglich ist. Während die KOMA-Script-Klassen das Paket automatisch laden und verwenden, muss das Paket aber beispielsweise bei Verwendung einer Standardklasse explizit geladen werden.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Markus Kohm</dc:creator><pubDate>Thu, 12 Dec 2024 11:47:43 -0000</pubDate><guid>https://sourceforge.nete95936cdb5a16708a9cb738d4aefeb9a131df0c1</guid></item></channel></rss>