Inhaltsverzeichnis-Formatierung (4. Untergliederungsebene)

Inhalt, Abbildungen, Tabellen, Quellcodes und andere Verzeichnisse


Schmantii
Forum-Anfänger
Forum-Anfänger
Beiträge: 22
Registriert: Sa 5. Dez 2015, 02:42

Inhaltsverzeichnis-Formatierung (4. Untergliederungsebene)

Beitrag von Schmantii »

Hallo liebe Latex Gemeinde!

Beim Schreiben eines Uni-Berichts bin ich momentan gezwungen, eine 4. Untergliederungsebene zu verwenden. Für dieses Unterfangen habe ich bereits eine recht solide Lösung (entnommen von http://uweziegenhagen.de/?p=1074), bei der es lediglich nur noch am Inhaltsverzeichnis hapert:
\documentclass{scrartcl}	
	
	
%  Neue Untergliederungsebene definieren + anpassen

		\makeatletter
			\renewcommand*\l@paragraph{\@dottedtocline{5}{7.0em}{4.1em}}
				\renewcommand*\l@subparagraph{\@dottedtocline{6}{10em}{5em}}
		\makeatother
							
							
	\usepackage{titlesec}
	\usepackage[]{titletoc}
							
		\titlecontents{subsubsubsection}[9em]{}{\contentslabel{3.9em}}%
							{\hspace*{-1.2em}}{\titlerule*[0.675pc]{.}\contentspage}
							
		\makeatletter
			\newcounter{subsubsubsection}[subsubsection]
			\setcounter{subsubsubsection}{1}
			\setcounter{secnumdepth}{4}
			\renewcommand{\thesubsubsubsection}{\thesubsubsection.\@arabic\c@subsubsubsection}
							
			\titleclass{\subsubsubsection}{straight}[\subsubsection]
							\titleformat{\subsubsubsection}{\normalfont\large}{\thetitle}{0.9em}{}[]                       
							\titlespacing{\subsubsubsection}{0pt}{3.25ex plus 1ex minus 0.2ex}{1.5ex plus 0.2ex}
							
			\renewcommand\paragraph{\@startsection{paragraph}{5}%
								{\z@}%
								{3.25ex \@plus1ex \@minus.2ex}%
								{-1em}%
								{\sffamily\normalsize\bfseries}%
							}
							
			\renewcommand\subparagraph{\@startsection{subparagraph}{6}%
								{\parindent}%
								{3.25ex \@plus1ex \@minus .2ex}%
								{-1em}%
								{\sffamily\normalsize\bfseries}%
							}
							
		\makeatother
							
							
%  Inhaltsverzeichnis formatieren
							
		\usepackage{tocloft}
						
						
			\renewcommand{\cftsecfont}{\sffamily\bfseries}
							
			\renewcommand{\cftsecpagefont}{\rmfamily\normalfont}
							
				\setlength{\cftbeforesecskip}{9pt}
				\setlength{\cftbeforesubsecskip}{9pt}
				\setlength{\cftbeforesubsubsecskip}{9pt}
				

%  Dokument
				
\begin{document}
	
		\setcounter{tocdepth}{4}
		\tableofcontents
	
	
	\section{Section}
		\subsection{Subsection}
			\subsubsection{Subsubsection}
				\subsubsubsection{Subsubsubsection}
				\subsubsubsection{Subsubsubsection}
			\subsubsection{Subsubsection}
				\subsubsubsection{Subsubsubsection}
				\subsubsubsection{Subsubsubsection}
				\subsubsubsection{Subsubsubsection}
				
	\section{Section}
		\subsection{Subsection}
		\subsubsection{Subsubsection}
		\subsubsubsection{Subsubsubsection}
		\subsubsubsection{Subsubsubsection}
		\subsubsection{Subsubsection}
		\subsubsubsection{Subsubsubsection}
		\subsubsubsection{Subsubsubsection}
		\subsubsubsection{Subsubsubsection}
	
\end{document}				

Problem ist, dass ich den Abstand die Formatierung der 4. Ebene im Inhaltsverzeichnis nicht so hinbekomme, wie ich das gerne hätte. Die Formatierung der ersten 3 Ebenen ist ja an sich kein Ding - das lässt sich ja mit tocloft und Befehlen wie
  • - \setlength{\cftbeforesecskip}{length}
    - \setlength{\cftbeforesubsecskip}{length}
    - \setlength{\cftbeforesubsubsecskip}{length}
    - u. ä.
leicht bewerkstelligen.

Ich würde ganz gerne die Abstände vor den Einträgen (beforeskip) und den Einzug der "subsubsub"-Einträge verändern, damit sich das schön bündig einordnet.

Meine Frage ist nun, ob es irgendwie möglich ist, die dementsprechenden Befehle (wie z.B. oben genannt) nachträglich zu schreiben? Z.B. in Form von
  • \cftbeforesubsubsubsecskip
    \cftsubsubsubsecindent
Ich bin in Latex schon recht fit, aber dafür reichen meine Fähigkeiten dann doch nicht aus. ;)

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Der Beitrag von Uwe unter Deinem Link ist über 5 Jahre alt. Seit dem hat sich bei KOMA-Script sehr viel verändert. Die Pakete titlesec und tocloft sollten nicht (mehr) mit den KOMA-Script Klassen verwendet werden. Es ist auch nicht nötig.

Mit der derzeit auf CTAN aktuellen KOMA-Script Version 3.19a wird nur für die Einstellung der Abstände im Inhaltsverzeichnis noch das ebenfalls zur KOMA-Script Sammlung gehörige tocstyle benötigt.
\documentclass{scrartcl}
\setcounter{secnumdepth}{4}
\setcounter{tocdepth}{4}

\setkomafont{sectionentrypagenumber}{\rmfamily\normalfont}

\RedeclareSectionCommands[
  level=5,
  toclevel=5,
  increaselevel=1
]{paragraph,subparagraph}

\DeclareNewSectionCommand[
  style=section,
  level=4,
  counterwithin=subsubsection,
  indent=0pt,
  beforeskip=-3.25ex plus -1ex minus -0.2ex,
  afterskip=1.5ex plus .2ex,
  font=\normalfont\large,
  toclevel=4,
  tocindent=7em,
  tocnumwidth=4.1em
]{subsubsubsection}

\usepackage[tocindentmanual]{tocstyle}
\usetocstyle{KOMAlike}
\settocfeature[toc]{entryvskip}{9pt}

\begin{document} 
\tableofcontents 
\section{Section} 
  \subsection{Subsection} 
    \subsubsection{Subsubsection} 
       \subsubsubsection{Subsubsubsection} 
       \subsubsubsection{Subsubsubsection} 
    \subsubsection{Subsubsection} 
       \subsubsubsection{Subsubsubsection} 
       \subsubsubsection{Subsubsubsection} 
       \subsubsubsection{Subsubsubsection} 
\section{Section} 
  \subsection{Subsection} 
    \subsubsection{Subsubsection} 
      \subsubsubsection{Subsubsubsection} 
      \subsubsubsection{Subsubsubsection} 
    \subsubsection{Subsubsection} 
      \subsubsubsection{Subsubsubsection} 
      \subsubsubsection{Subsubsubsection} 
      \subsubsubsection{Subsubsubsection} 
\end{document}
Ergebnis:

Bild

Mit der nächsten KOMA-Script Version (3.20) - die Pre-Release bekommt man unter http://www.komascript.de/current - kann man das ganze ohne weitere Pakete erreichen:
\documentclass{scrartcl}[2016/03/16]
\setcounter{secnumdepth}{4}
\setcounter{tocdepth}{4}

\setkomafont{sectionentrypagenumber}{\rmfamily\normalfont}

\RedeclareSectionCommands[
  level=5,
  toclevel=5,
  increaselevel=1
]{paragraph,subparagraph}

\DeclareNewSectionCommand[
  style=section,
  level=4,
  counterwithin=subsubsection,
  indent=0pt,
  beforeskip=-3.25ex plus -1ex minus -0.2ex,
  afterskip=1.5ex plus .2ex,
  font=\normalfont\large,
  toclevel=4,
  tocindent=7em,
  tocnumwidth=4.1em
]{subsubsubsection}

\RedeclareSectionCommands[
  tocbeforeskip=9pt
]{section,subsection,subsubsection,subsubsubsection}

\begin{document} 
\tableofcontents 
\section{Section} 
  \subsection{Subsection} 
    \subsubsection{Subsubsection} 
       \subsubsubsection{Subsubsubsection} 
       \subsubsubsection{Subsubsubsection} 
    \subsubsection{Subsubsection} 
       \subsubsubsection{Subsubsubsection} 
       \subsubsubsection{Subsubsubsection} 
       \subsubsubsection{Subsubsubsection} 
\section{Section} 
  \subsection{Subsection} 
    \subsubsection{Subsubsection} 
      \subsubsubsection{Subsubsubsection} 
      \subsubsubsection{Subsubsubsection} 
    \subsubsection{Subsubsection} 
      \subsubsubsection{Subsubsubsection} 
      \subsubsubsection{Subsubsubsection} 
      \subsubsubsection{Subsubsubsection} 
\end{document}
Ergebnis:

Bild

Gruß
Elke
Dateianhänge
gl_subsubsubsection1.png
gl_subsubsubsection1.png (33.6 KiB) 1987 mal betrachtet
gl_subsubsubsection2.png
gl_subsubsubsection2.png (32.77 KiB) 1966 mal betrachtet

Schmantii
Forum-Anfänger
Forum-Anfänger
Beiträge: 22
Registriert: Sa 5. Dez 2015, 02:42

Beitrag von Schmantii »

Hallo Elke!
esdd hat geschrieben:Der Beitrag von Uwe unter Deinem Link ist über 5 Jahre alt. Seit dem hat sich bei KOMA-Script sehr viel verändert. Die Pakete titlesec und tocloft sollten nicht (mehr) mit den KOMA-Script Klassen verwendet werden. Es ist auch nicht nötig.
Das ist auf jeden Fall gut zu wissen! Habe mich nach der Arbeit direkt wieder dran gesetzt und mein Skript dementsprechend angepasst und ausgebessert. Nach einem Update meiner Latex Distribution und von KOMA Skript (habe andauernd Fehlermeldungen erhalten, dass die Befehle nicht definiert sind), habe ich es dann mit deinem 2. Lösungsansatz versucht:
esdd hat geschrieben: Mit der nächsten KOMA-Script Version (3.20) - die Pre-Release bekommt man unter http://www.komascript.de/current - kann man das ganze ohne weitere Pakete erreichen:
\setcounter{secnumdepth}{4} 
\setcounter{tocdepth}{4} 

\setkomafont{sectionentrypagenumber}{\rmfamily\normalfont}

\RedeclareSectionCommands[ 
   level=5, 
   toclevel=5, 
   increaselevel=1 
]{paragraph,subparagraph} 

\DeclareNewSectionCommand[ 
   style=section, 
   level=4, 
   counterwithin=subsubsection, 
   indent=0pt, 
   beforeskip=-3.25ex plus -1ex minus -0.2ex, 
   afterskip=1.5ex plus .2ex, 
   font=\normalfont\large, 
   toclevel=4, 
   tocindent=7em, 
   tocnumwidth=4.1em 
]{subsubsubsection} 

\RedeclareSectionCommands[ 
   tocbeforeskip=9pt 
]{section,subsection,subsubsection,subsubsubsection}
Wie zu erwarten: Funktioniert blendend!

Habe mir auch direkt eine aktuellere Version des scrguides (zu finden hier: http://texdoc.net/texmf-dist/doc/latex/ ... rguide.pdf) besorgt - meine war schon ein wenig veraltet. Werde mir das auch noch weiter zu Gemüte führen, damit ich in Zukunft solche Probleme selbstständig lösen kann.

Trotzdem: Vielen Dank für die Infos und die tolle Hilfe - besonders für das Update bzgl. KOMA Skript!

Besten Gruß,

Marius

Besserwisser

Beitrag von Besserwisser »

Die KOMA-Script-Anleitung hast du eigentlich mit der Installation von KOMA-Script automatisch immer in der zur Installation passenden Version auf deinem Rechner: → Wie finde ich die Anleitung zu einem Paket?

Wenn du die Pre-Release KOMA-Script über den Link von esdd installiert hast, wäre die Anleitung von texdoc dagegen schon stark veraltet. Dort gibt es AFAIR noch die 2014er-Anleitung.

Schmantii
Forum-Anfänger
Forum-Anfänger
Beiträge: 22
Registriert: Sa 5. Dez 2015, 02:42

Beitrag von Schmantii »

Besserwisser hat geschrieben:Die KOMA-Script-Anleitung hast du eigentlich mit der Installation von KOMA-Script automatisch immer in der zur Installation passenden Version auf deinem Rechner[/url]
Super Hinweis! Habe gerade mal nachgeschaut - sieht SEHR gut aus! :D
Besserwisser hat geschrieben: Wenn du die Pre-Release KOMA-Script über den Link von esdd installiert hast, wäre die Anleitung von texdoc dagegen schon stark veraltet. Dort gibt es AFAIR noch die 2014er-Anleitung.
Die scrguide-Version, die ich auf meinem Rechner habe (Pre-Release von esdd) ist - entgegen meiner zuvor geposteten Version - höchst aktuell. Datum: 15.03.2016 (keine Woche alt)! Hammer!
Danke dafür! Jetzt weiß ich auch, wo ich unbedingt mal nachschauen werde, wenn mal wieder ein Problem auftaucht. :wink:

Antworten