Sie sind hier

Breite der Gliederungszahlen bei aktivierter "tocleft"-Option

Hallo,

aufgrund von Vorgaben meines Lehrstuhl darf das Inhaltsverzeichnis keine Einzüge auf den verschiedenen Gliederungsebenen haben.
Nach einem Blick in die Koma-Skript Dokumentation bin ich auf die Option "tocleft" gestoßen, welche die gewünschte Formatierung durchführt. Laut Anleitung werden die Abstände und damit auch die Breite der Gliederungszahlen automatisch bestimmt und gesezt.
Meinem Empfinden nach ist jedoch der Abstand zwischen den Gliederungszahlen und den Überschriften auf der letzten Gliederungsebene (in meinem Fall subsection) zu eng.
Wo werden die Abstände berechnet? Wie kann ich diese Berechnung beeinflussen bzw. manuell den Abstand setzen?
Da ich mich bisher nur leidlich mit Latex auskenne und von Tex selbst so gut wie nichts weiß, wäre mir eine Copy&Paste-Lösung (mit Erläuterung) am liebsten.

Zur Veranschaulichung
[EDIT]
Kann man hier geschützte Leerzeichen eingeben? Chapter, section und subsection stehen natürlich direkt untereinander. Jeweils mit dem gleichen Abstand zum linken Seitenrand.
[\EDIT]
1. chapter
1.1. section
1.1.1. subsection
^^^^^^^ mir geht es um diesen Abstand bei Verwendung von tocleft

Vielen Dank für eure Hilfe
Patrick

Bild von Markus Kohm

Die Breite der Nummernspalte ist – unabhängig davon, wieviele Gliederungsebenen im Inhaltsverzeichnis ausgegeben werden – die Breite der breitesten Nummer gefolgt von einem \enskip (das entspricht 0,5 em). Man kann da auch nicht einfach irgendwie einen zusätzlichen Abstand einfügen. Automatik ist nunmal Automatik und nicht irgend etwas, das irgendwie funktioniert, wenn man noch irgendwo dran dreht.

Ich kann natürlich nicht ausschließen, dass da vielleicht bei Dir doch irgend etwas schief läuft. Um das zu beurteilen, fehlen mir schlicht die notwendigen Informationen.

Hallo Markus,

danke für deine Hilfe. Ich habe das "enskip" durch einen etwas großzügigere Breite ersetzt. Jetzt finde ich mein Inhaltsverzeichnis optisch ansprechender. Aber das ist sicherlich sehr subjektiv und widerspricht möglicherweise jeglichem ästhetischen Grundsatz.

Ich habe in der Präambel den verantwortlichen Befehl aus der "scrreprt.cls" überschrieben. Wenn ich das richtig verstehe, müsste dies aber auch für die anderen Dokumentarten wie z.B. scrbook funktionieren, oder?

\makeatletter
\renewcommand*{\set@l@number}[1]{%
  \settowidth{\@tempdima}{#1\hspace{1cm}}%
  \ifdim\@tempdima >\@l@number
    \xdef\@l@number{\the\@tempdima}%
  \fi%
  \ifdim\@tempdima >\last@l@number \else
    \setlength{\@tempdima}{\last@l@number}%
  \fi%
  }
\makeatother

Ich weiß, diese schmutzige Lösung ist sicherlich nicht im Sinne des Erfinders, aber in diesem Fall empfinde ich die "Automatik" als nicht optimal.

Vielen Dank für die Hilfe
Patrick

Bild von Markus Kohm

Du solltest wenigstens vor der Umdefinierung zusätzlich mit \CheckCommand testen, ob die von Dir als ursprünglich angenommene Definition unverändert ist. Sollte man immer machen, wenn man interne Anweisungen komplett umdefiniert. Ach übrigens: \quad ist wie \enskip nur ein Token und auch noch schneller zu scannen als \hspace{1cm}.

BTW: Ich habe mir erlaubt, in Deinem Beitrag <CODE>...<\CODE> durch <pre>...</pre> zu ersetzen. Am wichtigsten ist dabei die Änderung des Backslash zu einem Slash, weil sonst die Umgebung nie endet.

Danke für deine Tips. Ich habe von Tex keine Ahnung und das zeigt sich dann in solchen Stümpereien ;)
Das mit dem CheckCommand habe ich übernommen (s. unten). Auch deinen Vorschlag mit dem quad habe ich beherzigt. Das es einen Unterschied in der Laufzeit zwischen hspace und einem Token gibt war mir nicht bewusst.
Ich habe jedoch statt quad qquad verwendet. Jetzt sieht es richtig nett aus :)

Danke auch für den Tip mit dem "pre". Jetzt klappt es auch mit den mehrfachen Leerzeichen (s. erstes Posting).

Hier nochmal die Änderung:

%vegrößert den Abstand zwischen Gliederungszahlen und Überschriften im linksbündigen Inhaltsverzeichnis
\makeatletter
%zunächst wird geprüft, ob der alte Befehl überhaupt noch existiert
\CheckCommand*{\set@l@number}[1]{%
  \settowidth{\@tempdima}{#1\enskip}%
  \ifdim\@tempdima >\@l@number
    \xdef\@l@number{\the\@tempdima}%
  \fi%
  \ifdim\@tempdima >\last@l@number \else
    \setlength{\@tempdima}{\last@l@number}%
  \fi%
  }
  
\renewcommand*{\set@l@number}[1]{%
  \settowidth{\@tempdima}{#1\qquad}%
%			    ^^^^ hier kann man die Breite justieren z.b. hspace{1cm} oder quad	
  \ifdim\@tempdima >\@l@number
    \xdef\@l@number{\the\@tempdima}%
  \fi%
  \ifdim\@tempdima >\last@l@number \else
    \setlength{\@tempdima}{\last@l@number}%
  \fi%
  }
\makeatother
Comments for "Breite der Gliederungszahlen bei aktivierter &quot;tocleft&quot;-Option" abonnieren