PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Inhaltsverzeichnis mit Abbildungs- und Tabellenverzeichnis kombinieren



doro
10-07-2012, 18:24
Hallo Forum,

ich würde gerne für ein längeres Dokument eine Gliederung erstellen, also eine Seite, die wie ein Inhaltsverzeichnis aussieht, aber die Namen der Abbildungen und Tabellen beinhaltet. Ob das ganze die Seitenzahlen enthält ist erstmal zweitrangig.

Im Beispiel unten hätte ich also gerne eine Ausgabe von:

1. chapter 1
Figure 1.1: figure1
2. chapter 2
Table 2.1: table1

Hoffentlich gibt es wie bei so vielen Problemen eine ganz einfache Lösung und ich bin einfach nur nicht auf den richtigen Suchbegriff gekommen. :-)

Danke,
Doro


Ein Minibeispiel zum Rumspielen:



\documentclass{scrreprt}

\begin{document}

\tableofcontents
\listoffigures
\listoftables

\chapter{chapter1}
\begin{figure}
\caption{figure1}
\label{fig:fig1}
\end{figure}

\chapter{chapter2}
\begin{table}
\caption{table1}
\label{tab:tab1}
\end{table}

\end{document}

Sepp99
10-07-2012, 18:43
Meinst du so etwas?

\documentclass[chapteratlists]{scrreprt}
\KOMAoptions{listof=leveldown}
\begin{document}

\tableofcontents
\addchap{Listen}
\listoffigures
\listoftables

\chapter{chapter1}
\begin{figure}
\caption{figure1}
\label{fig:fig1}
\end{figure}

\chapter{chapter2}
\begin{table}
\caption{table1}
\label{tab:tab1}
\end{table}

\end{document}
Näheres im scrguide.pdf

Gruß, Sepp.-

doro
10-07-2012, 19:28
Danke, Sepp, für die schnelle Antwort. Ja, so was in der Art meine ich! :-)

Deine Lösung hat leider das Abbildungs- und Tabellenverzeichnis nicht kombiniert. Das habe ich jetzt allerdings dank eines Threads aus einem Konkurrenzforum selbst gelöst (siehe hier: http://www.golatex.de/abbildungs-und-tabellenverzeichnis-zusammen-t3568.html).
Damit gibt es dann natürlich ggf. zweimal den Punkt 2.1 im Verzeichnis, einmal für Tabelle 2.1, einmal für Abbildung 2.1... Das habe ich mich der Option listof=entryprefix gelöst... Nur leider denkt LaTex auf Grund der Kombination beider Verzeichnisse jetzt, dass meine Tabellen auch Abbildungen sind (siehe Beispiel unten: "Figure2.1 table1")... Und außerdem heißen meine Kapitel dann auch "Figure"... Wie löse ich das?

Ein anderes Problem bleibt auch noch: Das Verzeichnis geht nur bis zur \chapter Ebene, alles darunter wird nicht angezeigt... Wie man das fürs Inhaltsverzeichnis ändert, weiß ich (z.B. \setcounter{tocdepth}{5}) -- aber das funktioniert in diesem Kontext natürlich nicht. Wie bekomme ich mehr Ebenen in meine Gliederung?


Mein Minibeispiel mit Update:


\documentclass[%
chapteratlists,
% Kapitelnamen in die Verzeichnisse
listof=entryprefix
% Praefix in die Verzeichnisse
]{scrreprt}

\makeatletter
\renewcommand\ext@table{lof}
\makeatother
% um die Tabellen ins Abbildungsverzeichnis zu transferieren

\renewcommand\listfigurename{Gliederung}
% um die "List of figures" in "Gliederung" umzubenennen


\begin{document}
\listoffigures

\chapter{chapter1}
\section{section1}

\begin{figure}
\caption{figure1}
\label{fig:fig1}
\end{figure}

\chapter{chapter2}
\section{section1}
\subsection{subsection}

\begin{figure}
\caption{figure2}
\label{fig:fig2}
\end{figure}

\begin{table}
\caption{table1}
\label{tab:tab1}
\end{table}

\end{document}

klops
11-07-2012, 08:45
Ich würde das mit dem neuen KOMA-Script-Paket scrwfile machen, das AFAIK seit Version 3.11 Bestandteil von KOMA-Script ist. Zusätzlich muss man dann aber noch \l@figure, \l@table etc. so umdefinieren, dass der Prefix wieder verwendet wird. Hier mal ein Beispiel, bei dem auch Kapitel, Abschnitte und Unterabschnitt einen Prefix bekommen:

\documentclass[%
listof=flat % anderenfalls wird die Formatierung unbrauchbar und müsste mit
% tocstyle zusätzlich korrigiert werden
]{scrreprt}

\usepackage{scrwfile}% see scrguide.pdf
\TOCclone[Gliederung]{toc}{owv}
\TOCclone[Gliederung]{lof}{owv}
\TOCclone[Gliederung]{lot}{owv}

\makeatletter
\newcommand*{\redefinewithprefix}[2][\@gobble]{%
\expandafter\providecommand\csname #2name\endcsname{#1}%
\expandafter\let\csname lf@#2\expandafter\endcsname\csname l@#2\endcsname
\expandafter\renewcommand\expandafter*\csname l@#2\endcsname[2]{%
\let\lf@numberline\numberline
\renewcommand*{\numberline}[1]{%
\lf@numberline{\csname #2name\endcsname~####1}%
}%
\csname lf@#2\endcsname{##1}{##2}%
\let\numberline\lf@numberline
}%
}
\makeatother
\redefinewithprefix{figure}% definiert \lf@figure und definiert \l@figure um
\redefinewithprefix{table}
\redefinewithprefix{chapter}
\redefinewithprefix[Section]{section}
\redefinewithprefix[Section]{subsection}

\begin{document}
\listofowv

\chapter{chapter1}
\section{section1}

\begin{figure}
\caption{figure1}
\label{fig:fig1}
\end{figure}

\chapter{chapter2}
\section{section1}
\subsection{subsection}

\begin{figure}
\caption{figure2}
\label{fig:fig2}
\end{figure}

\begin{table}
\caption{table1}
\label{tab:tab1}
\end{table}

\end{document}

Die Verzeichnisse \tableofcontents, \listoffigures und \listoftables können übrigens zusätzlich auch weiterhin verwendet werden. Mit der \TOCclone-Anweisung (siehe scrwfile-Kapitel in der KOMA-Script-Anleitung scrguide.pdf oder scrguien.pdf) kann man wirklich interessante Dinge machen. Außerdem wird für das neue Verzeichnis kein weiteres \newwrite benötigt und sogar die Dateien *.toc, *.lof und *.lot belegen keines mehr. Das hilft das "no more write"-Problem zu reduzieren.

doro
12-07-2012, 14:30
Danke, klops. Das sieht schon sehr gut aus! Nur wäre es natürlich noch super, wenn die einzelnen Einträge eingerückt werden. Ich probiere es mal mit tocstyle und melde mich ggf. nochmal, wenn ich nicht das gewünschte Ergebnis bekomme.