Abbildungsverzeichnis

Inhalt, Abbildungen, Tabellen, Quellcodes und andere Verzeichnisse


eberlinin
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Mi 23. Nov 2022, 15:12

Abbildungsverzeichnis

Beitrag von eberlinin »

Ich habe folgendes neue Problem: Sobald ich mit \setcounter{tocdepth}{\chaptertocdepth} die Tiefe meines Inhaltsverzeichnisses so einstelle, dass nur die Kapitel erscheinen, sind alle Einträge im Abbildungsverzeichnis weg.
Das gleiche mit \setcounter{tocdepth}{0}

Wie kann ich das so definieren, dass das funktioniert?
\documentclass[paper=A4, headings=small, toc=listof]{scrbook}
\usepackage[papersize={17.0cm,24cm}, left=2.2cm, right=2.8cm, top=2.6cm, bottom=0.8cm, includefoot]{geometry}
\usepackage[german]{varioref}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage[utf8]{luainputenc}
\usepackage{graphicx}
\usepackage{float}
\usepackage{luatex85}
\usepackage{tocbasic}

\setkomafont{disposition}{\normalcolor\bfseries}
\setkomafont{pagehead}{\small\emph}% Kopf in \small
\addtokomafont{chapterentry}{\normalfont}
\addtokomafont{caption}{\centering\footnotesize}
\renewcommand*{\raggedsection}{\centering}
\usepackage{ragged2e}
\setcaptionalignment{C}

\usepackage{scrlayer-scrpage}
\automark{chapter}
\renewcommand*{\chaptermark}[1]{
	\markright{#1}
}
\clearpairofpagestyles
\chead{\headmark}
\ofoot*{\pagemark}
\setcounter{secnumdepth}{-\maxdimen}% Gliederungsbefehle ohne Nummern

% Neuen Verzeichniseintragstyp chapterauthor definieren.
\DeclareTOCStyleEntry[%
level=\chaptertocdepth,
beforeskip:=chapter,
indent=0pt,
numwidth=0pt,
entryformat=\scshape,
linefill=\hfill,
pagenumberbox=\gobble,
]{tocline}{chapterauthor}
\newcommand*{\gobble}[1]{}  
\DeclareTOCStyleEntry[beforeskip=0pt]{chapter}{chapter}% Kein Abstand mehr vor Kapiteleinträgen im Inhaltsverzeichnis  

\newcommand*{\chapterauthor}[1]{%
	\cleardoublepage
	\addchapterauthortocentry{}{#1}%
	\markleft{#1}
	\setchapterpreamble{%
		\centering\usekomafont{chapterauthor}{#1}\par
		\vspace{2\baselineskip}%
	}%
}
\newkomafont{chapterauthor}{\large\scshape}

\newcommand{\addchapterauthortocentry}[2]{%	
	\addtocentrydefault{chapterauthor}{#1}{#2}%
}
\setcounter{tocdepth}{\sectiontocdepth} %Dieser Befehl wirkt nicht nur auf das Inhaltsverzeichnis, sondern auch auf das Abbildungsverzeichnis, sodass, wenn ich \chaptertocdepth eingebe, im Abbildungsverzeichnis alle Einträge verschwinden.

\flushbottom
\begin{document}
	\tableofcontents
	\listoffigures
	\chapterauthor{Max Mustermann}
	\addchap{Das eine zweifelhafte Bild}
	\blindtext
	\addsec{Über ein anderes zweifelhaftes Bild}
	\blindtext
	\addsec{Und noch ein zweifelhaftes Bild}
	\blindtext
			\begin{figure}
				\centering
				\includegraphics[width=0.9\linewidth]{Abbildungen/ABB01}
				\caption[Cousine Rosi]{Cousine Rosi, Öl auf Leinwand, ca. 1760.}
				\label{fig:abb01}
			\end{figure}
			\begin{figure}
				\centering
				\includegraphics[width=0.9\linewidth]{Abbildungen/ABB04}
				\caption[Cousin Leopold]{Cousin Leopold, Öl auf Leinwand, ca. 1766.}
				\label{fig:abb04}
			\end{figure}
\end{document}
ABB01: Bild
ABB04: Bild

Vielen Dank für eure Hilfe!

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Re: Abbildungsverzeichnis

Beitrag von KOMA »

Das ist ein Standardproblem. Häufig wird als Lösung empfohlen, tocdepth mehrfach zu ändern. KOMA-Script hat allerdings eine einfachere Lösung dafür, indem man den Zähler nur lokal für das Inhaltsverzeichnis ändert:
\documentclass[
  paper=A4,% Das ist übrigens die Voreinstellung und kann deshalb auch weggelassen werden.
  headings=small, toc=listof]{scrbook}
\usepackage[papersize={17.0cm,24cm}, left=2.2cm, right=2.8cm, top=2.6cm, bottom=0.8cm, includefoot]{geometry}
\usepackage[german]{varioref}% Das Paket versteht auch Option ngerman. Am einfachsten setzt man die Option daher direkt bei \documentclass,
\usepackage[ngerman]{babel}% dann kann man die Option sowohl bei varioref als auch beim Laden von babel weglassen.
\usepackage{blindtext}
\usepackage[utf8]{luainputenc}% Das sollte man besser weglassen. luainputenc ist ein Notfallpaket für die Verwendung mit sog. Legacy-Fonts mit LuaLaTeX. Besser keine Legacy-Fonts verwenden und Fonts ggf. mit fontspec laden.
\usepackage{graphicx}
\usepackage{float}% Braucht man mit KOMA-Script eigentlich nicht.
\usepackage{luatex85}% Das ist ebenfalls ein Notfallpaket, das man nur verwenden sollte, wenn man es wirklich braucht.
\usepackage{tocbasic}% Das wird bereits von scrbook geladen und ist deshalb überflüssig.

\setkomafont{disposition}{\normalcolor\bfseries}
\setkomafont{pagehead}{\small\emph}% Kopf in \small
\addtokomafont{chapterentry}{\normalfont}
\addtokomafont{caption}{\centering\footnotesize}
\renewcommand*{\raggedsection}{\centering}
\usepackage{ragged2e}
\setcaptionalignment{C}

\usepackage{scrlayer-scrpage}
\automark{chapter}
\renewcommand*{\chaptermark}[1]{%<-- Das Prozentzeichen ist wichtig → https://sourceforge.net/p/koma-script/wiki-de/HowTo_AvoidSpaces/
	\markright{#1}%<-- Das Prozentzeichen ist wichtig → https://sourceforge.net/p/koma-script/wiki-de/HowTo_AvoidSpaces/
}
\clearpairofpagestyles
\chead{\headmark}
\ofoot*{\pagemark}
\setcounter{secnumdepth}{-\maxdimen}% Gliederungsbefehle ohne Nummern

% Neuen Verzeichniseintragstyp chapterauthor definieren.
\DeclareTOCStyleEntry[%
level=\chaptertocdepth,
beforeskip:=chapter,
indent=0pt,
numwidth=0pt,
entryformat=\scshape,
linefill=\hfill,
pagenumberbox=\gobble,
]{tocline}{chapterauthor}
\newcommand*{\gobble}[1]{}  
\DeclareTOCStyleEntry[beforeskip=0pt]{chapter}{chapter}% Kein Abstand mehr vor Kapiteleinträgen im Inhaltsverzeichnis  

\newcommand*{\chapterauthor}[1]{%
	\cleardoublepage
	\addchapterauthortocentry{}{#1}%
	\markleft{#1}
	\setchapterpreamble{%
		\centering\usekomafont{chapterauthor}{#1}\par
		\vspace{2\baselineskip}%
	}%
}
\newkomafont{chapterauthor}{\large\scshape}

\newcommand{\addchapterauthortocentry}[2]{%	
	\addtocentrydefault{chapterauthor}{#1}{#2}%
}
\BeforeStartingTOC[toc]{\value{tocdepth}=\chaptertocdepth\relax}% Neu. Die Anweisung \BeforeStartingTOC ist in der Anleitung erklärt.
%\setcounter{tocdepth}{\sectiontocdepth} %Dieser Befehl wirkt nicht nur auf das Inhaltsverzeichnis, sondern auch auf das Abbildungsverzeichnis, sodass, wenn ich \chaptertocdepth eingebe, im Abbildungsverzeichnis alle Einträge verschwinden.

\flushbottom% Das ist Voreinstellung bei zweiseitigen KOMA-Script-Dokumenten, also auch bei scrbook. Es kann also weg.
\begin{document}
	\tableofcontents
	\listoffigures
	\chapterauthor{Max Mustermann}
	\addchap{Das eine zweifelhafte Bild}
	\blindtext
	\addsec{Über ein anderes zweifelhaftes Bild}
	\blindtext
	\addsec{Und noch ein zweifelhaftes Bild}
	\blindtext
			\begin{figure}
				\centering
				\includegraphics[width=0.9\linewidth]{example-image-a}% Da wir Dein Bild nicht haben, habe ich es ersetzt. Siehe dazu die Minimalbeispiel-Anleitung.
				\caption[Cousine Rosi]{Cousine Rosi, Öl auf Leinwand, ca. 1760.}
				\label{fig:abb01}
			\end{figure}
			\begin{figure}
				\centering
				\includegraphics[width=0.9\linewidth]{example-image-b}% siehe oben.
				\caption[Cousin Leopold]{Cousin Leopold, Öl auf Leinwand, ca. 1766.}
				\label{fig:abb04}
			\end{figure}
\end{document}
Eine alternative Lösung wäre übrigens, die Verzeichnisebene von Tabellen-Einträgen und Abbildungseinträgen mit Hilfe von \DeclareTOCStyleEntries auf \chaptertocdepth zu ändern. Auch das wäre keine Hexerei. Wie man sieht, bietet KOMA-Script wieder einmal mehrere Wege zum Ziel.

Frohe Weihnachten! Insider: Meine Geschenke habe ich ja schon. :wink: Danke dafür.

ich meine ja nur

Re: Abbildungsverzeichnis

Beitrag von ich meine ja nur »

Warum ist eigentlich der Level von Einträgen ins Abbildungsverzeichnis und ins Tabellenverzeichnis nicht -\maxdimen o. ä. Normalerweise macht man ja keine Einträge in diese Verzeichnisse, die man nicht angezeigt haben will, oder?

Antworten