Seite 1 von 1

Abbildungsverzeichnis mit tocstyle und subfigures

Verfasst: Do 10. Jul 2014, 15:27
von freakyhorst
Hallo alle zusammen,

ich möchte in mein Dokument mehrere subfigures einfügen und die captions dann entsprechend hi­e­r­ar­chisch ins Abbildungsverzeichnis eintragen lassen.

Nach zwei Durchläufen wird mit einige Fehler für die .lof angezeigt:
Package scrkbase Error: font of element `chapterentrypagenumber' can't be used.
Die entprechenden Einträge in der .lof dazu ist:
\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {1st image}}}{1}
\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {2nd image}}}{1}
\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {3rd image}}}{1}
\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {4th image}}}{1}
Mein Minimalbeispiel:
\documentclass{scrartcl}

\usepackage{subfigure}
\setcounter{lofdepth}{2}

\usepackage[pdftex]{graphicx}

\usepackage{tocstyle}
\usetocstyle{KOMAlike}

\begin{document}
\listoffigures

\begin{figure}[htbp]
\centering
\subfigure[1st image]{\includegraphics[width=.35\textwidth]{Bild1.jpg}}\hspace*{.05\textwidth}
\subfigure[2nd image]{\includegraphics[width=.35\textwidth]{Bild2.jpg}}\\
\subfigure[3rd image]{\includegraphics[width=.35\textwidth]{Bild3.jpg}}\hspace*{.05\textwidth}
\subfigure[4th image]{\includegraphics[width=.35\textwidth]{Bild4.jpg}}
\caption{CompleteImage}
\label{fig:Something}
\end{figure}

\end{document}
Das Problem tritt nicht auf, wenn ich entweder:
\usetocstyle{KOMAlike} 
oder:
\setcounter{lofdepth}{2}
entferne.
Die Formatierung will ich aber eigentlich beibehalten.

Vielen Dank für eure Hilfe!

Verfasst: Do 10. Jul 2014, 16:58
von Noch so einer
Die Verzeichniseinträge von subfigure sind nicht kompatibel mit tocstyle. Das lässt sich aber ändern:
\documentclass{scrartcl}

\usepackage{subfigure}

\usepackage[demo]{graphicx}

\usepackage{tocstyle}
\usetocstyle{KOMAlike}
\makeatletter
\renewcommand*{\l@subfigure}{\@dottedtocline{2}{2.3em}{2.5em}}
\makeatother
\begin{document}
\listoffigures
\begin{figure}[htbp]
\centering
\subfigure[1st image]{\includegraphics[width=.35\textwidth]{Bild1.jpg}}\hspace*{.05\textwidth}
\subfigure[2nd image]{\includegraphics[width=.35\textwidth]{Bild2.jpg}}\\
\subfigure[3rd image]{\includegraphics[width=.35\textwidth]{Bild3.jpg}}\hspace*{.05\textwidth}
\subfigure[4th image]{\includegraphics[width=.35\textwidth]{Bild4.jpg}}
\caption{CompleteImage}
\label{fig:Something}
\end{figure}

\end{document}
Damit funktioniert zwar lofdepth nicht mehr, aber notfalls kann man einfach tocdepth local für das Verzeichnis ändern.

Die Zahlenwerte, die man bei \@dottedtocline angibt, sind übrigens ziemlich egal, da sie nur beim ersten Lauf eine Rolle spielen. Danach verwendet tocstyle selbst ermittelte Werte aus dem jeweils vorherigen Lauf.

BTW: Du brauchst bei keinem Paket pdftex als Option anzugeben. Die Pakete erkennen pdftex selbst. Dafür ist es sinnvoll bei VMs Option demo für graphicx zu setzen. Die nimmst Du bei Dir im realen Dokument natürlich wieder raus.

Verfasst: Do 10. Jul 2014, 17:13
von Besserwisser
Es sollte eventuell noch darauf hingewiesen werden, dass das Paket subfigure als veraltet gilt. Der offizielle Nachfolger heißt subfig. Die empfehlenswerte Alternative heißt subcaption. Wie gut die beiden mit tocstyle zusammen funktionieren, habe ich nicht getestet.

Verfasst: Fr 11. Jul 2014, 05:27
von freakyhorst
Vielen Dank für die Hilfe,

mit Hilfe von \dotsep bin ich noch die Punkte losgeworden. Die Seitenzahlen für subfigure konnte ich mit \settocfeature entfernen.

Jetzt passen die Einträge in meine Formatierung.
\documentclass{scrartcl}

\usepackage{subfigure}

\usepackage{graphicx}

\usepackage{tocstyle}
\usetocstyle{KOMAlike}
\makeatletter
\addtocontents{lof}{\def\string\@dotsep{500}}
\renewcommand*{\l@subfigure}{\@dottedtocline{2}{2.3em}{70em}}%
\makeatother
\settocfeature[lof][2]{pagenumberbox}{\csname @gobble\endcsname}%no page numbers for subfigure

\begin{document}
\listoffigures

\begin{figure}[htbp]
\centering
\subfigure[1st image]{\includegraphics[width=.35\textwidth]{Bild1.jpg}}\hspace*{.05\textwidth}
\subfigure[2nd image]{\includegraphics[width=.35\textwidth]{Bild2.jpg}}\\
\subfigure[3rd image]{\includegraphics[width=.35\textwidth]{Bild3.jpg}}\hspace*{.05\textwidth}
\subfigure[4th image]{\includegraphics[width=.35\textwidth]{Bild4.jpg}} 
\caption{CompleteImage}
\label{fig:Something}
\end{figure}

\end{document}

Verfasst: Fr 11. Jul 2014, 07:45
von Besserwisser
Die Punkte kann man ebenfalls per feature entfernen. Außerdem gibt es dafür bereits den Stil noonewithdot (siehe die Beispiele in der toctsyle-Anleitung, Anhang A.1, A.2 und A.3, Seite 35, 41 und 47).