PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Getrennte Verzeichnisse, funktionierendes MiniBsp nur abändern



sharpType
04-09-2009, 15:03
Hallo nochmal,

ich versuch gerade durch (in diesem Forum unübersehbare schwierigkeiten) mit minitoc eine alternative zu finden. und bin da auf diverse postings gestoßen, die das Inhaltsverzeichnis, AbbVZ und TabVZ splitten für den Anhang.

Das Funktionierende MiniBsp sieht so aus:



\documentclass[listof=totoc]{scrbook}
\usepackage[ngerman]{babel}
\usepackage{blindtext}

\newcommand*\alltocdepth{2}
\setcounter{tocdepth}{\alltocdepth}
\newcounter{kapmerker}
\makeatletter% --> De-TeX-FAQ
\newcommand*{\maintoc}{% Hauptinhaltsverzeichnis
\begingroup
\@fileswfalse% kein neues Verzeichnis öffnen
\renewcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
\value{tocdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
}%
\tableofcontents% Verzeichnis ausgeben
\endgroup
}
\newcommand*{\appendixtoc}{% Anhangsinhaltsverzeichnis
\begingroup
\setcounter{tocdepth}{-10000}% Keine Verzeichniseinträge
\renewcommand*{\contentsname}{% Verzeichnisname ändern
Verzeichnis der Anh\"ange}%
\renewcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
\setcounter{tocdepth}{\alltocdepth}% tocdepth wiederherstellen
}%
\renewcommand*\afterappendixattoc{%
\value{tocdepth}=-10000 % ab hier nix mehr...
}%
\tableofcontents% Verzeichnis ausgeben
\setcounter{tocdepth}{\alltocdepth}% tocdepth wiederherstellen
\endgroup
}
\newcommand*{\mainlof}{% Hauptabbildungsverzeichnis
\begingroup
\@fileswfalse% kein neues Verzeichnis öffnen
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Abbildungsverzeichnis
\value{tocdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
}%
\listoffigures% Verzeichnis ausgeben
\endgroup
}
\newcommand*{\appendixlof}{% Anhangsabbildungsverzeichnis
\begingroup
\setcounter{tocdepth}{-10000}% Keine Verzeichniseinträge
\renewcommand*{\listfigurename}{% Verzeichnisname ändern
Abbildungsverzeichnis der Anh\"ange}%
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Abbildungsverzeichnis
\setcounter{tocdepth}{\alltocdepth}% tocdepth wiederherstellen
}%
\renewcommand*\afterappendixattoc{%
\value{tocdepth}=-10000 % ab hier nix mehr...
}%
\listoffigures% Verzeichnis ausgeben
\setcounter{tocdepth}{\alltocdepth}% tocdepth wiederherstellen
\endgroup
}
\newcommand*{\mainlot}{% Haupttabellenverzeichnis
\begingroup
\@fileswfalse% kein neues Verzeichnis öffnen
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Tabellenverzeichnis
\value{tocdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
}%
\listoftables% Verzeichnis ausgeben
\endgroup
}
\newcommand*{\appendixlot}{% Anhangstabellenverzeichnis
\begingroup
\setcounter{tocdepth}{-10000}% Keine Verzeichniseinträge
\renewcommand*{\listtablename}{% Verzeichnisname ändern
Tabellenverzeichnis der Anh\"ange}%
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Tabellenverzeichnis
\setcounter{tocdepth}{\alltocdepth}% tocdepth wiederherstellen
}%
\renewcommand*\afterappendixattoc{%
\value{tocdepth}=-10000 % ab hier nix mehr...
}%
\listoftables% Verzeichnis ausgeben
\setcounter{tocdepth}{\alltocdepth}% tocdepth wiederherstellen
\endgroup
}
\newcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
}
\newcommand*\afterappendixattoc{% noch ne Trennanweisung im TOC...
\setcounter{tocdepth}{\alltocdepth}%
}
\let\orgappendix\appendix
\renewcommand*\appendix{% \appendix erweitern
\setcounter{kapmerker}{\value{chapter}}%<--Kapitelstand merken
\orgappendix
\if@openright\cleardoublepage\else\clearpage\fi% Neue Seite
\addcontentsline{toc}{chapter}{\appendixname}% Eintrag ins Hauptverzeichnis
\addtocontents{toc}{\protect\appendixattoc}% Trennanweisung in die toc-Datei
\addtocontents{lof}{\protect\appendixattoc}% Trennanweisung in die lof-Datei
\addtocontents{lot}{\protect\appendixattoc}% Trennanweisung in die lot-Datei
}

\newcommand*\uebersicht{%
\addchap*{Inhalts\"ubersicht}
\markboth{Inhalts\"ubersicht}{}
\begingroup
\value{tocdepth}\shorttocdepth\relax % uebler Hack!
\renewcommand*{\appendixattoc}{%<--
\value{tocdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
}%
\renewcommand*\afterappendixattoc{%
\value{tocdepth}\shorttocdepth\relax % uebler Hack!
}%
\makeatletter
\@input{\jobname.toc}%
\makeatother
\endgroup
}

\newcommand*\appendixendshere{%
\addtocontents{toc}{\protect\afterappendixattoc}%
\addtocontents{lof}{\protect\afterappendixattoc}%<--
\addtocontents{lot}{\protect\afterappendixattoc}%<--
\renewcommand*\thechapter{\arabic{chapter}}%<--ab hier Nummerierung mit Ziffern
\setcounter{chapter}{\value{kapmerker}}%<--fortsetzen
\gdef \@chapapp {\chaptername}%<--wieder `Kapitel'
}
\makeatother

\newcommand*{\shorttocdepth}{1}
\begin{document}
\uebersicht
\maintoc
\mainlof
\mainlot
\blinddocument
\begin{table}
\caption{Testtabelle im Hauptteil}
\end{table}
\blinddocument
\begin{figure}
\caption{Testbild im Hauptteil}
\end{figure}
\appendix
\appendixtoc
\appendixlof
\appendixlot
\blinddocument
\begin{table}
\caption{Testtabelle im Anhang}
\end{table}
\blinddocument
\begin{figure}
\caption{Testbild im Anhang}
\end{figure}

\appendixendshere

\addchap{\bibname\ (simuliert)}
\end{document}




Will ich das jetzt mal ändern auf mein Dokument bzw ändere ich es nur indem ich mal das blinddocument rausnehme (vgl. unteres minibsp) geht irgendwie gar nichtsmehr und in den Hauptverzeichnissen tauchen die Tabellen aus dem Anhang auf und in den Anhangsverzeichnissen steht was falsches oder gar nichts. :confused:



\documentclass[listof=totoc]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage{blindtext}

\newcommand*\alltocdepth{2}
\setcounter{tocdepth}{\alltocdepth}
\newcounter{kapmerker}
\makeatletter% --> De-TeX-FAQ
\newcommand*{\maintoc}{% Hauptinhaltsverzeichnis
\begingroup
\@fileswfalse% kein neues Verzeichnis öffnen
\renewcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
\value{tocdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
}%
\tableofcontents% Verzeichnis ausgeben
\endgroup
}
\newcommand*{\appendixtoc}{% Anhangsinhaltsverzeichnis
\begingroup
\setcounter{tocdepth}{-10000}% Keine Verzeichniseinträge
\renewcommand*{\contentsname}{% Verzeichnisname ändern
Verzeichnis der Anh\"ange}%
\renewcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
\setcounter{tocdepth}{\alltocdepth}% tocdepth wiederherstellen
}%
\renewcommand*\afterappendixattoc{%
\value{tocdepth}=-10000 % ab hier nix mehr...
}%
\tableofcontents% Verzeichnis ausgeben
\setcounter{tocdepth}{\alltocdepth}% tocdepth wiederherstellen
\endgroup
}
\newcommand*{\mainlof}{% Hauptabbildungsverzeichnis
\begingroup
\@fileswfalse% kein neues Verzeichnis öffnen
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Abbildungsverzeichnis
\value{tocdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
}%
\listoffigures% Verzeichnis ausgeben
\endgroup
}
\newcommand*{\appendixlof}{% Anhangsabbildungsverzeichnis
\begingroup
\setcounter{tocdepth}{-10000}% Keine Verzeichniseinträge
\renewcommand*{\listfigurename}{% Verzeichnisname ändern
Abbildungsverzeichnis der Anh\"ange}%
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Abbildungsverzeichnis
\setcounter{tocdepth}{\alltocdepth}% tocdepth wiederherstellen
}%
\renewcommand*\afterappendixattoc{%
\value{tocdepth}=-10000 % ab hier nix mehr...
}%
\listoffigures% Verzeichnis ausgeben
\setcounter{tocdepth}{\alltocdepth}% tocdepth wiederherstellen
\endgroup
}
\newcommand*{\mainlot}{% Haupttabellenverzeichnis
\begingroup
\@fileswfalse% kein neues Verzeichnis öffnen
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Tabellenverzeichnis
\value{tocdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
}%
\listoftables% Verzeichnis ausgeben
\endgroup
}
\newcommand*{\appendixlot}{% Anhangstabellenverzeichnis
\begingroup
\setcounter{tocdepth}{-10000}% Keine Verzeichniseinträge
\renewcommand*{\listtablename}{% Verzeichnisname ändern
Tabellenverzeichnis der Anh\"ange}%
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Tabellenverzeichnis
\setcounter{tocdepth}{\alltocdepth}% tocdepth wiederherstellen
}%
\renewcommand*\afterappendixattoc{%
\value{tocdepth}=-10000 % ab hier nix mehr...
}%
\listoftables% Verzeichnis ausgeben
\setcounter{tocdepth}{\alltocdepth}% tocdepth wiederherstellen
\endgroup
}
\newcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
}
\newcommand*\afterappendixattoc{% noch ne Trennanweisung im TOC...
\setcounter{tocdepth}{\alltocdepth}%
}
\let\orgappendix\appendix
\renewcommand*\appendix{% \appendix erweitern
\setcounter{kapmerker}{\value{chapter}}%<--Kapitelstand merken
\orgappendix
\if@openright\cleardoublepage\else\clearpage\fi% Neue Seite
\addcontentsline{toc}{chapter}{\appendixname}% Eintrag ins Hauptverzeichnis
\addtocontents{toc}{\protect\appendixattoc}% Trennanweisung in die toc-Datei
\addtocontents{lof}{\protect\appendixattoc}% Trennanweisung in die lof-Datei
\addtocontents{lot}{\protect\appendixattoc}% Trennanweisung in die lot-Datei
}

\newcommand*\uebersicht{%
\addchap*{Inhalts\"ubersicht}
\markboth{Inhalts\"ubersicht}{}
\begingroup
\value{tocdepth}\shorttocdepth\relax % uebler Hack!
\renewcommand*{\appendixattoc}{%<--
\value{tocdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
}%
\renewcommand*\afterappendixattoc{%
\value{tocdepth}\shorttocdepth\relax % uebler Hack!
}%
\makeatletter
\@input{\jobname.toc}%
\makeatother
\endgroup
}

\newcommand*\appendixendshere{%
\addtocontents{toc}{\protect\afterappendixattoc}%
\addtocontents{lof}{\protect\afterappendixattoc}%<--
\addtocontents{lot}{\protect\afterappendixattoc}%<--
\renewcommand*\thechapter{\arabic{chapter}}%<--ab hier Nummerierung mit Ziffern
\setcounter{chapter}{\value{kapmerker}}%<--fortsetzen
\gdef \@chapapp {\chaptername}%<--wieder `Kapitel'
}
\makeatother

\newcommand*{\shorttocdepth}{1}
\begin{document}
\uebersicht
\maintoc
\mainlof
\mainlot

\chapter{Hauptteil}
%\blinddocument

\begin{table}
\caption{Testtabelle im Hauptteil}
\end{table}

\chapter{Hauptteil 2}
%\blinddocument

\begin{figure}
\caption{Testbild im Hauptteil}
\end{figure}
\appendix

\appendixtoc
\appendixlof
\appendixlot

%\blinddocument

\section{Anhang}
\begin{table}
\caption{Testtabelle im Anhang}
\end{table}
%\blinddocument
\begin{figure}
\caption{Testbild im Anhang}
\end{figure}

\appendixendshere

\addchap{\bibname\ (simuliert)}
\end{document}


Wie muss man das denn entsprechend anpassen? Ist ja schon recht kompliziert der code (acuh wenn beschrieben)...

und ich nehme mal an mit

\newcommand*\alltocdepth{2}

kann man die tiefe aller verzeichnisse einstellen , richtig?

Wäre echt super, wenn mir das jmd zum laufen bringt, denn kann ich das blöde minitoc nämlich übergehen.

vielen dank

u_fischer
04-09-2009, 15:32
Wenn du mal z.B. in die lof-Datei schaust, kannst du die Quelle des Problems erkennen:


\select@language {ngerman}
\addvspace {10\p@ }
\addvspace {10\p@ }
\contentsline {figure}{\numberline {2.1}{\ignorespaces Testbild im Hauptteil}}{6}
\appendixattoc
\afterappendixattoc
\contentsline {figure}{\numberline {.2}{\ignorespaces Testbild im Anhang}}{10}
\addvspace {10\p@ }


Die zweite figure-Umgebung ist hinter das \afterappendixattoc gerutscht. Dreimal darfst du raten, warum ....

Füge an den richtigen Stellen \clearpage ein.

sharpType
04-09-2009, 16:01
Hey,

vielen dank, das hilft mir für das MiniBsp. In meinem großen Dokument versuche ich das gerade auch zu beheben und habe auch "ignorespace" in der .lof datei gefunden, allerdings weiß ich nicht wirklich, wo UNBEDINGT ein clearpage hin muss. bei dem Minibeispiel habe ich es vor

\clearpage <<<<<<<<<<=======

\begin{figure}
\caption{Testbild im Anhang}

eingefügt. das brachte mich bei meinem großen dokument aber nicht zum erfolg, obwohl es scheinbar der selbe fehler ist. vielleicht doch etwas in dem code für die trennung der verzeichnisse einstellen?

u_fischer
04-09-2009, 16:14
\clearpage
\appendixendshere


Das \ignorespace kannst du höchstwahrscheinlich ignorieren.

sharpType
04-09-2009, 16:19
Das versteh ich irgendwie nicht.

Ich hab den Fehler immer noch. Es funktioniert alles wunderbar ohne Fehlermeldung in meinem Dokument, aber die Abbildungen aus meinem Anhang sind im Hauptabbildungsverzeichnis und im Anhangsabbildungsverzeichnis befindet sich die Abbildung aus dem Hauptteil....

Und vor allen Abbildungen, die im Hauptabbvz sind (aus dem anhang, die da nicht reinsollen) ist ein ignorespace in der lof file.

hab jetzt schon überall ein clearpage gemacht, aber kein erfolg:(

u_fischer
04-09-2009, 16:31
Zeig mal deine lof-Datei.
Und kümmere nicht um das \ignorespaces.

sharpType
04-09-2009, 16:39
Ok alles klar.....

Meine lof Datei sieht so aus:




\select@language {ngerman}
\contentsline {xchapter}{}{V}{chapter*.8}
\contentsline {xchapter}{}{VI}{table.0.1}
\contentsline {xchapter}{}{VI}{table.0.1}
\contentsline {xchapter}{}{VII}{table.0.2}
\contentsline {xchapter}{}{VII}{table.0.2}
\contentsline {chapteratlist}{\numberline {1}Programmentwicklung}{1}{chapter.1}
\contentsline {xchapter}{Programmentwicklung}{1}{chapter.1}
\contentsline {figure}{\numberline {1.1}{\ignorespaces Automatisch erzeugte Excel-Tabelle zur Visualisierung der generellen Legbarkeit jeder einzelnen Lage}}{5}{figure.caption.17}
\appendixattoc
\contentsline {chapteratlist}{\numberline {A}CD-Version der Applikation}{17}{appendix.A}
\contentsline {xchapter}{CD-Version der Applikation}{17}{appendix.A}
\contentsline {chapteratlist}{\numberline {B}Quellcode}{18}{appendix.B}
\contentsline {xchapter}{Quellcode}{18}{appendix.B}
\contentsline {chapteratlist}{\numberline {C}Abbildungen}{85}{appendix.C}
\contentsline {xchapter}{Abbildungen}{85}{appendix.C}
\contentsline {figure}{\numberline {C.1}{\ignorespaces Lagenvorgabe -- Fl\"ugeloberschale\relax }}{86}{figure.caption.32}
\contentsline {figure}{\numberline {C.2}{\ignorespaces Plykonturen -- Fl\"ugeloberschale\relax }}{87}{figure.caption.33}
\contentsline {figure}{\numberline {C.3}{\ignorespaces Reales Modell -- Fl\"ugeloberschale als Matrix mit Stringern und Rippen\relax }}{88}{figure.caption.34}
\contentsline {figure}{\numberline {C.4}{\ignorespaces Bereichsausschnitt der Fl\"ugeloberschale (Testmodell)\relax }}{89}{figure.caption.35}




Das was raus kommt ist hab ich mal abfotografiert :o

Total blöd, das sieht alles so gut aus und dann sowas...:mad:

rais
04-09-2009, 17:19
Meine lof Datei sieht so aus:




\select@language {ngerman}
\contentsline {xchapter}{}{V}{chapter*.8}


ich weiß ja nicht, ob es eine so gute Idee ist, diesen Ansatz auch noch mit mintoc verheiraten zu wollen ...

MfG

sharpType
04-09-2009, 17:23
Naja ich versuche irgendwie eine für mich passende lösung zu finden. wir sind ja gerade am basteln für eine lösung mit minitoc und nebenher versuche ich iregdnwie deinen anderen ansatz mal umzusetzen aber keine von den beiden möglichkeiten funktioniert bei mir :-(

entweder das mit den verzeichnissen wie hier beschrieben (wo hoffe ich nur ein kleiner fehler vorliegt) funktioniert nicht oder das mit minitoc...:-(

u_fischer
04-09-2009, 18:02
Und dir ist nicht der Gedanke gekommen, dass ein Paket wie minitoc, das ebenfalls massiv mit den Verzeichnissen rummacht, irgendwelche Wirkungen auf die anderen Befehle haben könnte? Entscheide dich für eine Methode.

sharpType
04-09-2009, 18:07
na klar ich habe nicht beide methoden in meinem dokumetn aber ich probiere gerade mit zwei dokumenten das ich irgendeines von den beiden hinbekomme. das was hier besprochen ist ist fast perfekt , nur das beschrieben problem mit den abbildungen im hauptabbildungsverzeichnis und umgekehrt funktioniert nicht....:-(

u_fischer
04-09-2009, 18:21
na klar ich habe nicht beide methoden in meinem dokumetn

Da sagt deine lof-Datei aber was anderes. Oder wo kommen die xchapter-Einträge her? Standard sind die nämlich nicht.

sharpType
04-09-2009, 18:28
ich seh das auch gerade...ich bereinige mal mein dokument und lasse alles sauber durchlaufen. daran liegt es aber nicht, denn das hab ichv orhin auch schon gemacht. ich poste jetzt gleich mal eine saubere lof datei die erscheint, wenn ich die verzeichnisse ohne das blöde minitoc spalte. einen augenblick...

hab auch irgendwie so das gefühl das die beiden probleme zusammenhängen. denn wenn ich deninput von rainer jetzt nehme und mein dokument (minitoc) anpasse funktioniert alles bis auf die eine minilof von exakt den abbildungen erscheint nicht, die bei dieser methode hier ohne minitoc im hauptabbildungsverzeichnis statt im anhangsabb.vz auftauchen....das ist echt komisch. solche probleme sind echt beschissen, denn da findet man den fehler so schwer :-(

rais
04-09-2009, 18:36
zusätzlich könntest Du mal


\show\listoffigures

in Deinem Dokument z. B. vor \mainlof und/oder vor \appendixlof einbauen und Dir die Ausgabe auf der Konsole (bzw. in der .log) ansehen und mit


> \listoffigures=macro:
->\listoftoc {lof}.
l.x \show\listoffigures

vergleichen -- so sähe es zumindest in untenstehendem Beispiel aus.

MfG

sharpType
04-09-2009, 19:05
So..euch erstmal vielen dank das ihr mir so Unterstützung leistet. Ich schiebe das mit minitoc jetzt erstmal bei Seite, denn diese Lösung ist "fast" perfekt, wenn das Problem mit den vertauschten Abbildungen irgendwie hinhaut..

Ich habe jetzt alles einmal aufgeräumt und alles von minitoc (auch das package) rausgeschmissen. davon ist nix mehr im dokument. dann habe ich das mit diesen aufrufen:



Mode con cols=100 lines=40
TITLE ### Erzeugung des LateX-Dokumentes ###
@echo off
CLS
COLOR 17
ECHO PDF-Latex-RUN
ECHO =======================================
pdflatex doc

CLS
COLOR 20
ECHO MAKEGLOSSARIES-RUN
ECHO =======================================
makeglossaries doc

CLS
COLOR 17
ECHO PDF-Latex-RUN
ECHO =======================================
pdflatex doc

CLS
COLOR 20
ECHO MAKEGLOSSARIES-RUN
ECHO =======================================
makeglossaries doc

CLS
COLOR 47
ECHO BIBTEX-RUN (MAINDOC)
ECHO =======================================
bibtex doc

CLS
COLOR 47
ECHO BIBTEX-RUN (ON)
ECHO =======================================
bibtex On

CLS
COLOR 17
ECHO PDF-Latex-RUN
ECHO =======================================
pdflatex doc

CLS
COLOR 17
ECHO PDF-Latex-RUN
ECHO =======================================
pdflatex doc

kompiliert. Dabei sind dann folgende Datein herausgekommen:

doc.lof



\select@language {ngerman}
\contentsline {chapteratlist}{\numberline {1}Programmentwicklung}{1}{chapter.1}
\contentsline {figure}{\numberline {1.1}{\ignorespaces Automatisch erzeugte Excel-Tabelle zur Visualisierung der generellen Legbarkeit jeder einzelnen Lage}}{5}{figure.caption.19}
\appendixattoc
\contentsline {chapteratlist}{\numberline {A}CD-Version der Applikation}{18}{appendix.A}
\contentsline {chapteratlist}{\numberline {B}Quellcode}{19}{appendix.B}
\contentsline {chapteratlist}{\numberline {C}Abbildungen}{86}{appendix.C}
\contentsline {figure}{\numberline {C.1}{\ignorespaces Lagenvorgabe -- Fl\"ugeloberschale\relax }}{86}{figure.caption.34}
\contentsline {figure}{\numberline {C.2}{\ignorespaces Plykonturen -- Fl\"ugeloberschale\relax }}{87}{figure.caption.35}
\contentsline {figure}{\numberline {C.3}{\ignorespaces Reales Modell -- Fl\"ugeloberschale als Matrix mit Stringern und Rippen\relax }}{88}{figure.caption.36}
\contentsline {figure}{\numberline {C.4}{\ignorespaces Bereichsausschnitt der Fl\"ugeloberschale (Testmodell)\relax }}{90}{figure.caption.37}
\contentsline {figure}{\numberline {C.5}{\ignorespaces Testabbildung im Anhang\relax }}{91}{figure.caption.39}




sowie

doc.lot



\select@language {ngerman}
\contentsline {chapteratlist}{\numberline {1}Programmentwicklung}{1}{chapter.1}
\appendixattoc
\contentsline {chapteratlist}{\numberline {A}CD-Version der Applikation}{18}{appendix.A}
\contentsline {chapteratlist}{\numberline {B}Quellcode}{19}{appendix.B}
\contentsline {chapteratlist}{\numberline {C}Abbildungen}{86}{appendix.C}
\contentsline {table}{\numberline {C.1}{\ignorespaces test\relax }}{89}{table.caption.38}



in der doc.lot ist eine testtabelle drin. Auch im TabellenHAUPTverzeichnis wird eine tabelle aus dem anhang aufgelistet. Ich weiß nicht warum :mad:
Das kann man so ja schlecht ausdrucken :(

Ja und das was dabei raus kommt ist oben schon dargestellt in den angehängten Bildern, da hat sich nichts verändert.

für mich wäre es auch nochmal gut zu wissen was wichtig ist bei

\newcommand*\alltocdepth{2}

einzustellen. da steht halt immer bei mir eine 2 für die tiefe. ist das die tiefe, die in ALLEN verzeichnissen angezeigt werden soll oder nur eine hilfsvariable?

ich habe nämlich mit

\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{3}

die tiefe schon eingestellt davor.

rais
04-09-2009, 20:31
hmm, Du kannst ja mal testhalber


\newcommand*\mynote{tocdepth derzeit: \protect\arabic{tocdepth}}
\newcommand*\addmynote{%
\addcontentsline{toc}{ueberall}{\mynote}%
\addcontentsline{lof}{ueberall}{\mynote}%
\addcontentsline{lot}{ueberall}{\mynote}%
}
\makeatletter% --> De-TeX-FAQ
\newcommand*\l@ueberall{\@dottedtocline{-10000}{1.5em}{2.3em}}
und hier und da -- speziell um den/die Einträge herum, die im falschen Verzeichnis landen, aber auch sonst -- ein \addmynote einstreuen, dann sollte diesem Verhalten doch auf die Schliche zu kommen sein ... das sollte Dir auch anzeigen, daß ein etwaiger \setcounter{tocdepth}{3} ignoriert wird ... mag aber davon abhängen, wann Du wo genau diesen \setcounter aufrufst.

\alltocdepth respektive tocdepth (book/report-Klassen):
-1 part,
0 chapter,
1 section; ab hier auch figure in LOF und table in LOT,
2 subsection; ab hier auch subfigure/subtable usw.

Parallel dazu schau nochmal, was ohne `tocloft' -- noch so ein Kandidat dafür, an \listoffigures/\listoftables zu schrauben -- passiert.

@alle anderen: Nein, das mit tocloft hat hier nix mit meiner Glaskugel zu tun, vielmehr mit der (den) Dateiliste(n) hier (http://www.mrunix.de/forums/showthread.php?t=65852), #9/#11.;)

MfG

sharpType
04-09-2009, 20:56
okay, ich weiß zwar gar nicht was mit dem befehl gemacht wird, aber ich versuch das mal, mal schaun was passiert....ansonsten muss ich wohl mal versuchen irgendwie ein etwas größeres "minimalbeispiel" zu kreieren?:confused:

sharpType
04-09-2009, 21:12
ok schon gecheckt...aber das kann ja irgendwo nicht sein oder?

schau dir mal das bild an oder bin ich blöd? ich habe genau einmal mit dem befehl das bild eingeklammert was immer im anhang auftaucht (welches aus dem hauptteil ist) und einmal die aus dem anhang (die im hauptverzeichnis angezeigt werden)

die tocdeph scheint doch zu stimmen oder irre ich mich?

ich leite mein anlagenverzeichnis ganz normal ein übrigens oder muss ich da nochwas umstellen vorher?



\appendix

\pagenumbering{Roman}
\setcounter{page}{\value{Roman}}

\appendixtoc
%\clearpage
%\show\listoffigures
\appendixlof
%\clearpage
\appendixlot

\chapter{Abbildungen}

\begin{figure}[!htbp]
\centering
\includegraphics[angle=90,height=\textheight]{bilder/wing_meop_contours}
\caption{Plykonturen -- Flügeloberschale}
\label{fig:PlykonturenWUC}
\end{figure}


und so weiter



:confused:

sharpType
04-09-2009, 21:13
ups hier der anhang

rais
04-09-2009, 22:01
ergänze diesen \addmynote nochmal zwischen Abbildung C.1 und C.2 -- was steht nun zwischen diesen beiden Abbildungen in der lof?

Obwohl, `3' kommt mir irgendwie seltsam vor ... wann rufst Du diesen \setcounter{tocdepth}{3} auf? Oder hast Du \alltocdepth auf `3' gesetzt?

MfG

sharpType
04-09-2009, 22:33
aha jetzt kommen wir der sache schon näher. da war bereits ein \mynote zwischen. er zeigt das aber nicht an...ich hab nochmal paar dazwischen gepackt aber kein erfolg.

der code sieht so aus in dem abschnitt..die hälfte steht ja schon oben..



\appendix

\pagenumbering{Roman}
\setcounter{page}{\value{Roman}}


\appendixtoc
%\clearpage
%\show\listoffigures
\appendixlof
%\clearpage
\appendixlot


\pagenumbering{arabic}
\setcounter{page}{\value{arabic}}



\chapter{Abbildungen}

\addmynote
\begin{figure}[!htbp]
\centering
\includegraphics[angle=90,height=0.85\textheight]{bilder/wing_lagenvorgabe}
\caption{Lagenvorgabe -- Flügeloberschale}
\label{fig:wing_lagenvorgabe}
\end{figure}

\addmynote

\clearpage

\addmynote


\begin{figure}[!htbp]
\centering
\includegraphics[angle=90,height=\textheight]{bilder/wing_meop_contours}
\caption{Plykonturen -- Flügeloberschale}
\label{fig:PlykonturenWUC}
\end{figure}


das ergebnisverzeichnis sieht aus wie oben...auch bei dem abbvz im anhang ist zwischen diesen beiden figures kein infoeintrag im verzeichnis...:rolleyes:

komisch..vielleicht ist da irgendwo der fehler?

sharpType
04-09-2009, 22:39
und die

%\setcounter{tocdepth}{3}
%\setcounter{secnumdepth}{3}

habe ich davor aufgerufen und jetzt auch mal auskommentiert aber keine änderung. der fehler besteht nach wie vor...

auch mit dem \mynote zwischen den fehlerhaften abbildungen aus dem anhang sieht das abbildungsverzeichnis im anhang ebenfalls nur so aus..aber der zähler ist da auf 3. muss der nich bei -10000 sein? die sind irgendwi egenau umgedreht im anhang...oder muss das so? ne oder?

rais
04-09-2009, 22:52
`just a hunch' -- hast Du esDir schon ohne tocloft angesehen?

MfG

sharpType
04-09-2009, 23:19
ganz ehrlich? ich weiß jetzt nich ob ich mich schämen, lachen oder weinen soll..auf jeden fall vielen dank für deine geduld!

ohne tocloft funktioniert es!!! :eek:

jetzt hab ich aber ein problem: ich brauche tocloft. meine verzeichnisse sind so groß und mit den komaeinstellungen kann ich das verzeichnis nich genug formatieren und toctitle machte bei mir auch probleme soweit ich mich noch dran errinern kann. was mach ich denn jetzt? das tritt ja beim inhaltsverzeichnis nicht auf....komischerweise...nur beim abb und tb verzeichnis...was passiert denn bei dir wenn du

\usepackage[titles]{tocloft}

einbindest?

nochmal ne warscheinlich einfache frage nebenbei: wie kann ich den zeilenabstand von der inhaltsübersicht auf normal ändern? die ist so riesig...

sharpType
04-09-2009, 23:34
bei dem minimalbeispiel



\documentclass[listof=totoc]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage[titles]{tocloft}

\newcommand*\alltocdepth{2}
\setcounter{tocdepth}{\alltocdepth}
\newcounter{kapmerker}
\makeatletter% --> De-TeX-FAQ
\newcommand*{\maintoc}{% Hauptinhaltsverzeichnis
\begingroup
\@fileswfalse% kein neues Verzeichnis öffnen
\renewcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
\value{tocdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
}%
\tableofcontents% Verzeichnis ausgeben
\endgroup
}
\newcommand*{\appendixtoc}{% Anhangsinhaltsverzeichnis
\begingroup
\setcounter{tocdepth}{-10000}% Keine Verzeichniseinträge
\renewcommand*{\contentsname}{% Verzeichnisname ändern
Verzeichnis der Anh\"ange}%
\renewcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
\setcounter{tocdepth}{\alltocdepth}% tocdepth wiederherstellen
}%
\renewcommand*\afterappendixattoc{%
\value{tocdepth}=-10000 % ab hier nix mehr...
}%
\tableofcontents% Verzeichnis ausgeben
\setcounter{tocdepth}{\alltocdepth}% tocdepth wiederherstellen
\endgroup
}
\newcommand*{\mainlof}{% Hauptabbildungsverzeichnis
\begingroup
\@fileswfalse% kein neues Verzeichnis öffnen
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Abbildungsverzeichnis
\value{tocdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
}%
\listoffigures% Verzeichnis ausgeben
\endgroup
}
\newcommand*{\appendixlof}{% Anhangsabbildungsverzeichnis
\begingroup
\setcounter{tocdepth}{-10000}% Keine Verzeichniseinträge
\renewcommand*{\listfigurename}{% Verzeichnisname ändern
Abbildungsverzeichnis der Anh\"ange}%
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Abbildungsverzeichnis
\setcounter{tocdepth}{\alltocdepth}% tocdepth wiederherstellen
}%
\renewcommand*\afterappendixattoc{%
\value{tocdepth}=-10000 % ab hier nix mehr...
}%
\listoffigures% Verzeichnis ausgeben
\setcounter{tocdepth}{\alltocdepth}% tocdepth wiederherstellen
\endgroup
}
\newcommand*{\mainlot}{% Haupttabellenverzeichnis
\begingroup
\@fileswfalse% kein neues Verzeichnis öffnen
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Tabellenverzeichnis
\value{tocdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
}%
\listoftables% Verzeichnis ausgeben
\endgroup
}
\newcommand*{\appendixlot}{% Anhangstabellenverzeichnis
\begingroup
\setcounter{tocdepth}{-10000}% Keine Verzeichniseinträge
\renewcommand*{\listtablename}{% Verzeichnisname ändern
Tabellenverzeichnis der Anh\"ange}%
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Tabellenverzeichnis
\setcounter{tocdepth}{\alltocdepth}% tocdepth wiederherstellen
}%
\renewcommand*\afterappendixattoc{%
\value{tocdepth}=-10000 % ab hier nix mehr...
}%
\listoftables% Verzeichnis ausgeben
\setcounter{tocdepth}{\alltocdepth}% tocdepth wiederherstellen
\endgroup
}
\newcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
}
\newcommand*\afterappendixattoc{% noch ne Trennanweisung im TOC...
\setcounter{tocdepth}{\alltocdepth}%
}
\let\orgappendix\appendix
\renewcommand*\appendix{% \appendix erweitern
\setcounter{kapmerker}{\value{chapter}}%<--Kapitelstand merken
\orgappendix
\if@openright\cleardoublepage\else\clearpage\fi% Neue Seite
\addcontentsline{toc}{chapter}{\appendixname}% Eintrag ins Hauptverzeichnis
\addtocontents{toc}{\protect\appendixattoc}% Trennanweisung in die toc-Datei
\addtocontents{lof}{\protect\appendixattoc}% Trennanweisung in die lof-Datei
\addtocontents{lot}{\protect\appendixattoc}% Trennanweisung in die lot-Datei
}

\newcommand*\uebersicht{%
\addchap*{Inhalts\"ubersicht}
\markboth{Inhalts\"ubersicht}{}
\begingroup
\value{tocdepth}\shorttocdepth\relax % uebler Hack!
\renewcommand*{\appendixattoc}{%<--
\value{tocdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
}%
\renewcommand*\afterappendixattoc{%
\value{tocdepth}\shorttocdepth\relax % uebler Hack!
}%
\makeatletter
\@input{\jobname.toc}%
\makeatother
\endgroup
}

\newcommand*\appendixendshere{%
\addtocontents{toc}{\protect\afterappendixattoc}%
\addtocontents{lof}{\protect\afterappendixattoc}%<--
\addtocontents{lot}{\protect\afterappendixattoc}%<--
\renewcommand*\thechapter{\arabic{chapter}}%<--ab hier Nummerierung mit Ziffern
\setcounter{chapter}{\value{kapmerker}}%<--fortsetzen
\gdef \@chapapp {\chaptername}%<--wieder `Kapitel'
}
\makeatother

\newcommand*{\shorttocdepth}{1}
\begin{document}
\uebersicht
\maintoc
\mainlof
\mainlot

\chapter{Hauptteil}
%\blinddocument

\begin{table}
\caption{Testtabelle im Hauptteil}
\end{table}

\chapter{Hauptteil 2}
%\blinddocument

\begin{figure}
\caption{Testbild im Hauptteil}
\end{figure}
\appendix

\appendixtoc
\appendixlof
\appendixlot

%\blinddocument

\section{Anhang}
\clearpage

\begin{table}
\caption{Testtabelle im Anhang}
\end{table}
%\blinddocument
\begin{figure}

\clearpage

\caption{Testbild im Anhang}
\end{figure}

\appendixendshere

\addchap{\bibname\ (simuliert)}
\end{document}



ist das genauso.. kann man da snicht irgendwie doch mit tocloft zum laufen bringen? :confused:

Ich habe auch mal irgendwo gelesen das tocloft nur die counter tocdepth in depthtoc oder so umbennent? aber hab schon versucht da was zu ändern, negativ. aber da fehlt mir auch der hintergrund zu allem....

rais
05-09-2009, 08:30
kann man da snicht irgendwie doch mit tocloft zum laufen bringen? :confused:
Ich habe auch mal irgendwo gelesen das tocloft nur die counter tocdepth in depthtoc oder so umbennent?
nunja, tocloft verändert z. B. \l@figure -- das ist der Befehl, mit dem ein Eintrag im Abbildungsverzeichnis ausgegeben werden soll -- u. a. dahingehend, dass es sich für tocdepth nicht mehr interessiert und stattdessen auf den eigens dazu angelegten lofdepth vergleicht. Versuch es so


\documentclass[listof=totoc]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage[titles]{tocloft}

\newcommand*\alltocdepth{2}
\setcounter{tocdepth}{\alltocdepth}
\newcounter{kapmerker}
\makeatletter% --> De-TeX-FAQ
\newcommand*{\maintoc}{% Hauptinhaltsverzeichnis
\begingroup
\@fileswfalse% kein neues Verzeichnis öffnen
\renewcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
\value{tocdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
}%
\tableofcontents% Verzeichnis ausgeben
\endgroup
}
\newcommand*{\appendixtoc}{% Anhangsinhaltsverzeichnis
\begingroup
\setcounter{tocdepth}{-10000}% Keine Verzeichniseinträge
\renewcommand*{\contentsname}{% Verzeichnisname ändern
Verzeichnis der Anh\"ange}%
\renewcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
\setcounter{tocdepth}{\alltocdepth}% tocdepth wiederherstellen
}%
\renewcommand*\afterappendixattoc{%
\value{tocdepth}=-10000 % ab hier nix mehr...
}%
\tableofcontents% Verzeichnis ausgeben
\setcounter{tocdepth}{\alltocdepth}% tocdepth wiederherstellen
\endgroup
}
\newcommand*{\mainlof}{% Hauptabbildungsverzeichnis
\begingroup
\@fileswfalse% kein neues Verzeichnis öffnen
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Abbildungsverzeichnis
\value{lofdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
}%
\listoffigures% Verzeichnis ausgeben
\endgroup
}
\newcommand*{\appendixlof}{% Anhangsabbildungsverzeichnis
\begingroup
\setcounter{lofdepth}{-10000}% Keine Verzeichniseinträge
\renewcommand*{\listfigurename}{% Verzeichnisname ändern
Abbildungsverzeichnis der Anh\"ange}%
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Abbildungsverzeichnis
\setcounter{lofdepth}{\alltocdepth}% tocdepth wiederherstellen
}%
\renewcommand*\afterappendixattoc{%
\value{lofdepth}=-10000 % ab hier nix mehr...
}%
\listoffigures% Verzeichnis ausgeben
\setcounter{lofdepth}{\alltocdepth}% tocdepth wiederherstellen
\endgroup
}
\newcommand*{\mainlot}{% Haupttabellenverzeichnis
\begingroup
\@fileswfalse% kein neues Verzeichnis öffnen
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Tabellenverzeichnis
\value{lotdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
}%
\listoftables% Verzeichnis ausgeben
\endgroup
}
\newcommand*{\appendixlot}{% Anhangstabellenverzeichnis
\begingroup
\setcounter{lotdepth}{-10000}% Keine Verzeichniseinträge
\renewcommand*{\listtablename}{% Verzeichnisname ändern
Tabellenverzeichnis der Anh\"ange}%
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Tabellenverzeichnis
\setcounter{lotdepth}{\alltocdepth}% tocdepth wiederherstellen
}%
\renewcommand*\afterappendixattoc{%
\value{lotdepth}=-10000 % ab hier nix mehr...
}%
\listoftables% Verzeichnis ausgeben
\setcounter{lotdepth}{\alltocdepth}% tocdepth wiederherstellen
\endgroup
}
\newcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
}
\newcommand*\afterappendixattoc{% noch ne Trennanweisung im TOC...
\setcounter{lotdepth}{\alltocdepth}%
}
\let\orgappendix\appendix
\renewcommand*\appendix{% \appendix erweitern
\setcounter{kapmerker}{\value{chapter}}%<--Kapitelstand merken
\orgappendix
\if@openright\cleardoublepage\else\clearpage\fi% Neue Seite
\addcontentsline{toc}{chapter}{\appendixname}% Eintrag ins Hauptverzeichnis
\addtocontents{toc}{\protect\appendixattoc}% Trennanweisung in die toc-Datei
\addtocontents{lof}{\protect\appendixattoc}% Trennanweisung in die lof-Datei
\addtocontents{lot}{\protect\appendixattoc}% Trennanweisung in die lot-Datei
}

\newcommand*\uebersicht{%
\addchap*{Inhalts\"ubersicht}
\markboth{Inhalts\"ubersicht}{}
\begingroup
\value{tocdepth}\shorttocdepth\relax % uebler Hack!
\renewcommand*{\appendixattoc}{%<--
\value{tocdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
}%
\renewcommand*\afterappendixattoc{%
\value{tocdepth}\shorttocdepth\relax % uebler Hack!
}%
\makeatletter
\@input{\jobname.toc}%
\makeatother
\endgroup
}

\newcommand*\appendixendshere{%
\addtocontents{toc}{\protect\afterappendixattoc}%
\addtocontents{lof}{\protect\afterappendixattoc}%<--
\addtocontents{lot}{\protect\afterappendixattoc}%<--
\renewcommand*\thechapter{\arabic{chapter}}%<--ab hier Nummerierung mit Ziffern
\setcounter{chapter}{\value{kapmerker}}%<--fortsetzen
\gdef \@chapapp {\chaptername}%<--wieder `Kapitel'
}
\makeatother

\newcommand*{\shorttocdepth}{1}
\begin{document}
\uebersicht
\maintoc
\mainlof
\mainlot

\chapter{Hauptteil}
%\blinddocument

\begin{table}
\caption{Testtabelle im Hauptteil}
\end{table}

\chapter{Hauptteil 2}
%\blinddocument

\begin{figure}
\caption{Testbild im Hauptteil}
\end{figure}
\appendix

\appendixtoc
\appendixlof
\appendixlot

%\blinddocument

\section{Anhang}

\begin{table}
\caption{Testtabelle im Anhang}
\end{table}
%\blinddocument
\begin{figure}
\caption{Testbild im Anhang}
\end{figure}

\clearpage
\appendixendshere

\addchap{\bibname\ (simuliert)}
\end{document}

Mag ein, daß der Initialwert bei lofdepth/lotdepth nicht \alltocdepth entspricht, aber bei LOF/LOT ist das vermutlich nicht so tragisch; tiefer als `2' (subfigure/subtable) kommt da imho eh nix rein.



nochmal ne warscheinlich einfache frage nebenbei: wie kann ich den zeilenabstand von der inhaltsübersicht auf normal ändern? die ist so riesig...

Ist der denn anders als im Inhaltsverzeichnis?

MfG

sharpType
05-09-2009, 09:10
Ok im minibsp geht es in meinem großendoku probier ich es gleich. aber ich will es ja halbwegs verstehen.

was hab ich jetzt genau dabei für nachteile?

ich stelle ja mit den beiden

\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{3}

befehlen die tiefe der verzeichnisse (naja nur toc) vorher ein.welche auswirkungen hat das nun auf den befehl

\newcommand*\alltocdepth{3} <<< wo bei mir auch eine 3 drin steht, weil ich ja im inhaltsverzeichnis tiefe 3 habe (wie auch voreingestellt durch die tocloft befehle) oder wie stehen die im zusammenhang nun?

und weiterhin, kann man nich einfach neue counter machen die einfach vorher lofdepth und lotdepth auslesen und auf die dann referenzieren irgendwie anstatt auf alltocdepth, denn das scheint ja nur eine allgemeine variable zu sein für die tiefe die jedoch tocloft verändert weil es eigene macht?ginge das nicht? aber wenn ich genau den nachteil der sache verstehen würde so wie es jetzt ist wäre es viel. egal ja. aber zusätzliche einstellungen sind immer gut (wenn man sie versteht)..

dann versteh ich nicht, warum du bei



\newcommand*\afterappendixattoc{% noch ne Trennanweisung im TOC...
\setcounter{lotdepth}{\alltocdepth}%


den lotdepth ansprichst? muss lotdepth bei der trennanweisung hin weil das zuletzt verändert wurde? ja und der abstand ist bei mir glaube ich über 1,5 zeilen. sieht total brachial aus in der übersicht. aber uach nur da...aber das liegt bestimmt wieder an irgendeine einstellung bei mir fragt sich nur welche, da im minibsp ja alles ok ist....jetzt müssen wir den rest auch noch klären :-)

und vor allem was ist wenn ich einfach

\setcounter{lofdepth}{3} oder
\setcounter{lotdepth}{3}

vorher ändere? kann man dasdamit dann nich umgehen?

sharpType
05-09-2009, 10:19
ok dann noch eine info. der komische abstand in der inhaltsübersicht kommt von

parskip=full-

in den komaoptionen...hast du dazu eine idee? :-/

hab mal versucht das wegzulassen und danach irgendwo
\KOMAoptions{parskip=full-}

zu machen aber das geht nicht :-(

rais
05-09-2009, 11:24
Moin moin,

ok dann noch eine info. der komische abstand in der inhaltsübersicht kommt von

parskip=full-

in den komaoptionen...hast du dazu eine idee? :-/

ich hab nicht genau verfolgt, woher es kommt, aber Du könntest die Definition von \uebersicht an \maintoc angleichen, etwa


\newcommand*\uebersicht{%
\begingroup
\@fileswfalse% kein neues Verzeichnis öffnen
\renewcommand*\contentsname{Inhalts\"ubersicht}%
\value{tocdepth}\shorttocdepth\relax % uebler Hack!
\renewcommand*\appendixattoc{% Trennanweisung im Inhaltsverzeichnis
\value{tocdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
%oder nix {} tun, je nachdem was alles in die Übersicht rein soll
}%
\renewcommand*\afterappendixattoc{%
\value{tocdepth}\shorttocdepth\relax % uebler Hack!
}%
\tableofcontents% Verzeichnis ausgeben
\endgroup
}



was hab ich jetzt genau dabei für nachteile?

Abgesehen davon, daß der Code jetzt nicht mehr ohne tocloft funktioniert?


ich stelle ja mit den beiden

\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{3}

befehlen die tiefe der verzeichnisse (naja nur toc) vorher ein.welche auswirkungen hat das nun auf den befehl

\newcommand*\alltocdepth{3} <<< wo bei mir auch eine 3 drin steht, weil ich ja im inhaltsverzeichnis tiefe 3 habe (wie auch voreingestellt durch die tocloft befehle) oder wie stehen die im zusammenhang nun?

Mit secnumdepth stellst Du die Tiefe ein, bis zu der Gliederungen im Text nummeriert werden sollen.
Den \setcounter{tocdepth}{3} kannst Du Dir sparen, wenn Du \newcommand*\alltocdepth{3} definiert hast, der ist hier stellvertretend für den, hmm, `normalen' Wert für den tocdepth-Zähler anzusehen, den Du sonst (beim einfachen \tableofcontents) eben mit \setcounter{tocdepth}{..} einstellen kannst Der Witz ist ja gerade, daß tocdepth hier öfters überschrieben wird, z. B. mit -10000, um von da an in der entsprechenden Liste die Ausgabe der Einträge zu unterdrücken, aber ja,


und weiterhin, kann man nich einfach neue counter machen die einfach vorher lofdepth und lotdepth auslesen und auf die dann referenzieren irgendwie anstatt auf alltocdepth, denn das scheint ja nur eine allgemeine variable zu sein für die tiefe die jedoch tocloft verändert weil es eigene macht?ginge das nicht? aber wenn ich genau den nachteil der sache verstehen würde so wie es jetzt ist wäre es viel. egal ja. aber zusätzliche einstellungen sind immer gut (wenn man sie versteht)..

auch das wäre eine gangbare Alternative, etwa


\newcounter{tocdepthsaved}
\setcounter{tocdepth}{xx}
\setcounter{tocdepthsaved}{\value{tocdepth}}

irgendwo zu Beginn und dann bei allen Zuweisungen von tocdepth auf `\alltocdepth' stattdessen `\value{tocdepthsaved}' verwenden, wobei die Erste (der initiale \setcounter{tocdepth}{\alltocdepth}) entfallen kann, genauso wie der \alltocdepth selbst, so Du denn analog dazu lofdepthsaved und lotdepthsaved kreierst und einsetzt.


dann versteh ich nicht, warum du bei



\newcommand*\afterappendixattoc{% noch ne Trennanweisung im TOC...
\setcounter{lotdepth}{\alltocdepth}%

den lotdepth ansprichst? muss lotdepth bei der trennanweisung hin weil das zuletzt verändert wurde?
Jetzt, wo Du das sagst, versteh' ich das auch nicht ... da hab ich einen tocdepth zuviel zu lotdepth werden lassen.:D


\setcounter{lofdepth}{3} oder
\setcounter{lotdepth}{3}

vorher ändere? kann man dasdamit dann nich umgehen?

Nein. Im Grunde genommen ist genau das beim Einbinden des tocloft-Pakets passiert, die tatsächliche Tiefe einmal außer Acht gelassen. Der Test hat sich geändert (siehe zuvor bei \l@figure), also muß man sich dieser Änderung anpassen. Eine Alternative zur Verwendung von lofdepth, lotdepth wäre z. B., \l@figure und \l@table dahingehend zu verändern, daß sie zwar ihre \cft*-Befehle eben aus dem tocloft-Paket noch verstehen, aber zum Vergleich, ob der Eintrag überhaupt gesetzt werden soll, auf tocdepth zu schauen.
Eine Alternative zu dieser Alternative wäre vllt mit


\let\c@lofdepth=\c@tocdepth
\let\c@lotdepth=\c@tocdepth

erreichbar (ungetestet).

MfG

sharpType
05-09-2009, 11:38
ok vielen dank für die lange beschreibung. ich werde das mit der übersicht auch gleich mal testen und mit den anderen codes auch. setz mich gleich mal ran.

jetz thab ich (vorausgesetzt zu deinem letzten post gibt es bei der anwendung keine fragen und problem emehr) noch eine zusätzliche frage (warhscienlich dann die letzte :-)

kann man das verzeichnis von den listings ebenfalls (listings package) so trennen?ich habe das mal versucht einzubauen aber:

1. ich stoße darauf das es natürlich kein loldepth gibt
2. dann habe ich versucht mit irgendetwas was ich so im netz (herrlich wenig) gefunden habe



\makeatletter
\begingroup
\let\newcounter\@gobble\let\setcounter\@gobbletwo
\globaldefs=\@ne \let\c@loldepth\@ne
\newlistof{listings}{lol}{\lstlistlistingname}
\endgroup
\let\l@lstlisting\l@listings
\let\lstlistoflistings\listoflistings
\makeatother


etwas zu deifnieren was nach einem loldepth aussah....

und dann mit



\newcommand*{\mainlol}{
\begingroup
\@fileswfalse
\renewcommand*{\appendixattoc}{
\value{loldepth}=-10000
}%
\lstlistoflistings
\endgroup
}
\newcommand*{\appendixlol}{
\begingroup
\setcounter{loldepth}{-10000}
\renewcommand*{\lstlistingname}{
Listingsverzeichnis der Anh\"ange}%
\renewcommand*{\appendixattoc}{
\setcounter{loldepth}{\alltocdepth}
}%
\renewcommand*\afterappendixattoc{%
\value{loldepth}=-10000
}%
\lstlistoflistings%
\setcounter{loldepth}{\alltocdepth}
\endgroup
}


das zu realisieren aber da krieg ich so ein prefix fehler. aber ich denke das das so auch nicht geht, wenn das mit dem listingsverzeichnis überhaupt geht?

oman tut mir echt leid, das ich dich damit so nerve, aber wenn das geklärt ist bin ich so glücklich :)

Achja und wenn ich das richtig verstehe dann brauche ich



\newcounter{tocdepthsaved}
\setcounter{tocdepth}{xx}
\setcounter{tocdepthsaved}{\value{tocdepth}}


nur, wenn ich in den verschiedenen getrennten verzeichnisse unterschiedliche tiefen haben möchte, richtig? sonst kann ich mir das sparen?

rais
05-09-2009, 12:06
Moin moin,


kann man das verzeichnis von den listings ebenfalls (listings package) so trennen?ich habe das mal versucht einzubauen aber:

1. ich stoße darauf das es natürlich kein loldepth gibt

naja, wenn Du schon festgestellt hast, daß es kein loldepth gibt, was soll dann der Code?
Ersetze alle `loldepth' durch `tocdepth' und damit es mit der Trennung auch was wird, ergänze


\renewcommand*\appendix{% \appendix erweitern
\setcounter{kapmerker}{\value{chapter}}%<--Kapitelstand merken
\orgappendix
\if@openright\cleardoublepage\else\clearpage\fi% Neue Seite
\addcontentsline{toc}{chapter}{\appendixname}% Eintrag ins Hauptverzeichnis
\addtocontents{toc}{\protect\appendixattoc}% Trennanweisung in die toc-Datei
\addtocontents{lof}{\protect\appendixattoc}% Trennanweisung in die lof-Datei
\addtocontents{lot}{\protect\appendixattoc}% Trennanweisung in die lot-Datei
\addtocontents{lol}{\protect\appendixattoc}% Trennanweisung in die lol-Datei
}

analog dazu


\newcommand*\appendixendshere{%
\addtocontents{toc}{\protect\afterappendixattoc}%
\addtocontents{lof}{\protect\afterappendixattoc}%<--
\addtocontents{lot}{\protect\afterappendixattoc}%<--
\addtocontents{lol}{\protect\afterappendixattoc}%<--
\renewcommand*\thechapter{\arabic{chapter}}%<--ab hier Nummerierung mit Ziffern
\setcounter{chapter}{\value{kapmerker}}%<--fortsetzen
\gdef \@chapapp {\chaptername}%<--wieder `Kapitel'
}

dann sollte das schon tun.;)

Wobei \appendixendshere im Grunde genommen weggelassen werden kann (bezüglich Abbildungen und Tabellen auch), wer hängt schon an den Anhang noch wieder n Listing/Abbildung/Tabelle dran, das/die wieder zum Haupttext zählen soll?
Vom Text fang ich lieber nicht erst an.;-)

MfG

sharpType
05-09-2009, 15:11
*freu*freu*freu*:eek::)

VIELEN DANK RAINER! Ich weiß nicht, aber ohne deine Hilfte würde ich im nächsten Leben noch da dran sitzen. Das ist echt genial! Sogar mit dem Listingsverzeichnis haut das alles hin! TOP!

Jetzt hab ich nur noch ein paar kleine Verständnisfragen zu dem ganzen geschsehen und so ne kleine hyperlink formalität, die aber mit dem code zusammenhängt.

Also zum einen erstmal noch mal zum Verständnis. Das hier



\newcounter{tocdepthsaved}
\setcounter{tocdepth}{xx}
\setcounter{tocdepthsaved}{\value{tocdepth}}


habe ich jetzt NICHT eingebaut. Ist die Variante jetzt nur dafür gewesen, für den fall das ich die tiefe jedes einzelnen verzeichnisses separat einstellen möchte oder wofür war das jetzt? Besteht durch das NICHTEINBAUEN dieser Codes irgendwo die Gefahr das sich Abbildungen/Tabellen/Listings etc aus dem Hauptteil oder aus dem Anhangteil durch unglückliche Fälle (zu tiefe nummerierung oder so) nicht in den verzeichnissen mit aufnehmen? Habe nämlich zb auch abbildungen in paragraph oder subsubsection im hauptteil. Dazu ist zu sagen das alltocdepth{2} auf 2! steht und ich vor dem Code zur Aufspaltung der Verzeichnisse

\setcounter{secnumdepth}{3}

aufrufe. Also die Texttiefe der nummerierung bis subsubsection zulasse, jedoch durch alltocdepth{2} sie nicht mit in die verzeichnisse aufnehme.

Andersrum kann ich auch fragen: Besteht irgendwie die Gefahr das ich durch meine Einstellung:



\setcounter{secnumdepth}{3}

....

\newcommand*\alltocdepth{2}
CODEKRAM ZUR TRENNUNG

\newcommand*{\shorttocdepth}{1}%Tiefe des Uebersichtsverzeichnisses setzen



irgendwelche Tabellen/Abbildungen/Listings etc. in Verzeichnissen verliere, die zb zu tief in dem text sitzen(subsubsection/paragraph) oder so? Ich will eben durch secnumdepth=3 erreichen das auch subsubsections im text nummeriert werden wenn diese nicht explizit ein * erhalten, aber diese sollen nicht in das toc mit aufgenommen werden, daher alltocdepth=2.



Weiter:
====================================

Dann ist mein Anhang wie folgt aufgebaut:



\input{extras/titelseite_appendix}


\appendix

\pagenumbering{Roman}
\setcounter{page}{\value{Roman}}


%_______________________________ Anhangsverzeichnisse ________________________________

\phantomsection
\addcontentsline{toc}{chapter}{Verzeichnis der Anh\"ange}
\appendixtoc

%\show\listoffigures
\appendixlof
\phantomsection
\addcontentsline{toc}{chapter}{Abbildungsverzeichn is der Anhänge}

\appendixlot
\phantomsection
\addcontentsline{toc}{chapter}{Tabellenverzeichnis der Anhänge}


\appendixlol
\phantomsection
\addcontentsline{toc}{chapter}{Listingsverzeichnis der Anhänge}

%_______________________________ Anhangsverzeichnisse ________________________________



%_______________________________ Anhang BEGIN ________________________________________
\chapter{CD-Version der Applikation}
\pagenumbering{arabic}
\setcounter{page}{\value{arabic}}

.............weiter Anhaenge



Ich nutze auch hyperref etc. und bekomme in dem PDFMenu keine richtigen Verlinkungen. Der landet wo er gerade will.
Ich habe die komaoption listtotoc nun erstmal ausgestellt.

ich möchte das im PDFMenu folgende Links da landen wo sie sollen:

AbbHauptVerzeichnis(AHVZ)
TabHauptVerzeichnis(THVZ)
ListingsHauptVerzeichnis(LHVZ)

VerzeichnisDerAnhänge
AbbAnhangsverzeichnis(AAVZ)
TabAnhangsverzeichnis(TAVZ)
ListingsAnhangsVerzeichnis(LAVZ)

diese sollen ebenfalls im inhaltsverzeichnis erscheinen.

versuche gerade mit

\phantomsection

und

\addcontentsline{toc}{chapter}{Verzeichnis der Anh\"ange}

herumzuspielen, aber irgendiwe scheint das nicht zu klappen.:confused:


Weiterhin wäre eine Sache noch gut:

Im PDFMenu erscheint nur ein Eintrag (ANHANG) , der warscheinlich vom \appendix befehl kreiert wird.

wenn ich auf den klicke lande ich iregdnwie im anhangshauptverzeichnis. kann man das so einstellen das wenn ich den klicke ich auf der titelseite vom anhang lande?

Die Hauptverzeichnisse mit den Links versuche ich so zu kreieren



\phantomsection
\addcontentsline{toc}{chapter}{Abbildungsverzeichn is}
\mainlof


Entsprechend auf für lot, lol. aber auch die landen nicht da wo sie sollen....

Kannst du mir dabei nochmal helfen? Wäre super nett...

Danke

rais
05-09-2009, 16:28
Das hier



\newcounter{tocdepthsaved}
\setcounter{tocdepth}{xx}
\setcounter{tocdepthsaved}{\value{tocdepth}}


habe ich jetzt NICHT eingebaut. Ist die Variante jetzt nur dafür gewesen, für den fall das ich die tiefe jedes einzelnen verzeichnisses separat einstellen möchte oder wofür war das jetzt?

Du hast doch gerade zuvor nach dieser Möglichkeit gefragt?


Besteht durch das NICHTEINBAUEN dieser Codes irgendwo die Gefahr das sich Abbildungen/Tabellen/Listings etc aus dem Hauptteil oder aus dem Anhangteil durch unglückliche Fälle (zu tiefe nummerierung oder so) nicht in den verzeichnissen mit aufnehmen?
Nein.


Habe nämlich zb auch abbildungen in paragraph oder subsubsection im hauptteil.
Darum kümmert sich der Eintrag in die LOF bzw. der hinterher aufgerufene \l@figure nicht, nur um tocdepth, ahem, lofdepth und damit ist innerhalb der Listen nur dieser lofdepth (Abbildungen), lotdepth (Tabellen) bzw. tocdepth (Gliederung und Listings) interessant -- und ohne tocloft halt auch tocdepth bei Abbildungs- und Tabellenverzeichnis(sen).


Andersrum kann ich auch fragen: Besteht irgendwie die Gefahr das ich durch meine Einstellung:



\setcounter{secnumdepth}{3}

....

\newcommand*\alltocdepth{2}
CODEKRAM ZUR TRENNUNG

\newcommand*{\shorttocdepth}{1}%Tiefe des Uebersichtsverzeichnisses setzen



irgendwelche Tabellen/Abbildungen/Listings etc. in Verzeichnissen verliere, die zb zu tief in dem text sitzen(subsubsection/paragraph) oder so?

Nein. Die einzige Möglichkeit in diesen Verzeichnissen etwas zu `verlieren' besteht darin, wenn der entsprechende Zähler (tocdepth/lofdepth/lotdepth) kleiner ist als der Wert des entsprechenden Eintrags ... innerhalb des entsprechenden Verzeichnisses.


Ich will eben durch secnumdepth=3 erreichen das auch subsubsections im text nummeriert werden wenn diese nicht explizit ein * erhalten, aber diese sollen nicht in das toc mit aufgenommen werden, daher alltocdepth=2.

Ok.


Dann ist mein Anhang wie folgt aufgebaut:



\input{extras/titelseite_appendix}


\appendix

\pagenumbering{Roman}
\setcounter{page}{\value{Roman}}


%_______________________________ Anhangsverzeichnisse ________________________________

\phantomsection
\addcontentsline{toc}{chapter}{Verzeichnis der Anh\"ange}
\appendixtoc

%\show\listoffigures
\appendixlof
\phantomsection
\addcontentsline{toc}{chapter}{Abbildungsverzeichn is der Anhänge}

\appendixlot
\phantomsection
\addcontentsline{toc}{chapter}{Tabellenverzeichnis der Anhänge}


\appendixlol
\phantomsection
\addcontentsline{toc}{chapter}{Listingsverzeichnis der Anhänge}

%_______________________________ Anhangsverzeichnisse ________________________________



%_______________________________ Anhang BEGIN ________________________________________
\chapter{CD-Version der Applikation}
\pagenumbering{arabic}
\setcounter{page}{\value{arabic}}

.............weiter Anhaenge



Ich nutze auch hyperref etc. und bekomme in dem PDFMenu keine richtigen Verlinkungen. Der landet wo er gerade will.
Ich habe die komaoption listtotoc nun erstmal ausgestellt.

ich möchte das im PDFMenu folgende Links da landen wo sie sollen:

AbbHauptVerzeichnis(AHVZ)
TabHauptVerzeichnis(THVZ)
ListingsHauptVerzeichnis(LHVZ)

VerzeichnisDerAnhänge
AbbAnhangsverzeichnis(AAVZ)
TabAnhangsverzeichnis(TAVZ)
ListingsAnhangsVerzeichnis(LAVZ)

diese sollen ebenfalls im inhaltsverzeichnis erscheinen.

Nun, die ersteren aus dem Hauptteil sollten eigentlich mit listof=totoc bzw. toc=listof automatisch ins TOC aufgenommen werden, theoretisch auch die aus dem Anhang, aber dann befindest Du Dich im TOC bereits südlich der Trennanweisung ...
Nu könntest Du dabeigehen und Dir einen neuen Eintragstyp einfallen lassen ähnlich \l@ueberall irgendwo weiter vorne, etwa `\l@immerinshaupttoc', dem Ding -9999 zuweisen und ansonsten so aufbauen wie \l@chapter, dann im \maintoc statt -10000 dann -9999 verwenden und bei einem \addcontentsline dann entsprechend `immerinshaupttoc' statt `chapter' nehmen und es könnte klappen wie geplant.


Weiterhin wäre eine Sache noch gut:

Im PDFMenu erscheint nur ein Eintrag (ANHANG) , der warscheinlich vom \appendix befehl kreiert wird.

evtl hilft Dir \pdfbookmark, siehe hyperref-Manual.

MfG

sharpType
05-09-2009, 16:43
oh mensch :confused: das versteh ich nicht. oje..

jetzt ist alles perfekt und die blöden links gehen nicht vernünftig....

ich bastel nochmal ein minibsp....das muss ja irgendwie klappen

sharpType
05-09-2009, 16:58
Sooooooooo...

Jetzt kann ich dir mal zeigen, wie das bei mir aussieht. Habe ein schönes Minibeispiel gemacht. Hoffe doch auch recht übersichtlich...Jedenfalls sind da alle deine Hinweis eingebaut und auch jetzt die mit tocloft und den einzelnen Countern...Das ist vielleicht auch gut, falls hier jmd mal auf den Beitrag stößt und das selbe machen will. Auch die Listings sind drin.

Jetzt fehlen:

Die PDF Bookmarkeinträge für die Hauptverzeichnisse und das Listingsverzeichnis im Anhang.:mad:

Ich hab schon ganz viel mit \phantomsection und addcontentsline probiert, aber kein Erfolg. Die Komaoption listtotoc ist jetzt drin.




\documentclass[pdftex,
final,
10pt,
toc=indented,%Toc hierachisch
listof=chapterentry,%Kapitelanfänge in den Verzeichnissen
listof=totoc,
numbers=noenddot,
a4paper,
pagesize,
oneside,
titlepage,
ngerman,
parskip=full-]{scrreprt}


\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}


\usepackage{scrhack}
\usepackage{listings}
\usepackage{todonotes}


\PassOptionsToPackage{hyphens}{url}
\usepackage{hyperref}

\hypersetup{
pdflang=de,
pdfdisplaydoctitle=true,
pdftitle={Diplomarbeit},
pdfsubject={Wichtig},
pdfauthor={Ich},
pdfcreator={MiKTeX, LaTeX with hyperref and KOMA-Script},
bookmarksopen=true,
bookmarksopenlevel={1},
bookmarksnumbered=true,
pdfpagemode=UseOutlines,
pdfstartview=FitV,
pdfview=FitH,
plainpages=false,
hypertexnames=true,
breaklinks=true
}

\usepackage[left=2.8cm,right=1.75cm,top=2.25cm,bottom=2.25cm]{geometry}
\usepackage{avant}

\usepackage[titles]{tocloft}



%_________________________________________________ __________________________
\renewcommand*\familydefault{\sfdefault}


\setlength{\cftsecindent}{.85cm}
\setlength{\cftsubsecindent}{2cm}
\setlength{\cftsubsubsecindent}{2.5cm}
\cftsetpnumwidth{2em}
\setlength{\cftsecnumwidth}{2.5em}
\setlength{\cftsubsecnumwidth}{3.5em}
\setlength{\cftfignumwidth}{3em}

\setcounter{secnumdepth}{3}
%---------------------------------------------------------------
%Jeder Gliederungsebene ist in LaTeX eine Nummer zugeordnet:
%
%-1 part 1 section 3 subsubsection 5 subparagraph
% 0 chapter 2 subsection 4 paragraph
%---------------------------------------------------------------









%___________________________ Verzeichnisse aufspalten (mit TOCLOFT) ______________________________

\newcounter{tocdepthsaved}
\setcounter{tocdepth}{3}%bis subsubsection anzeigen im TOC (wegen eventuelle offenhaltung bei der nutzung im anhang). ansonsten im text immer subsubsection* machen, damit nur bis zur zb 3.2.3 angezeigt wird!(auf das listingsverzeichnis, auch wenn dieses auf tocdepth zugreift, hat dies keine auswirkungen)
\setcounter{tocdepthsaved}{\value{tocdepth}}

\newcounter{lofdepthsaved}
\setcounter{lofdepth}{2} %1 = nur figures, 2 = figures + subfigures (package subfig)
\setcounter{lofdepthsaved}{\value{lofdepth}}

\newcounter{lotdepthsaved}
\setcounter{lotdepth}{2}
\setcounter{lotdepthsaved}{\value{lotdepth}}

%---------------------------------------------------------------
%Jeder Gliederungsebene ist in LaTeX eine Nummer zugeordnet:
%
%-1 part 1 section 3 subsubsection 5 subparagraph
% 0 chapter 2 subsection 4 paragraph
%---------------------------------------------------------------


%------------------------------ Inhalsverzeichnis ----------------------------------------
%\newcommand*\alltocdepth{2}
%\setcounter{tocdepth}{\alltocdepth}

\newcounter{kapmerker}
\makeatletter% --> De-TeX-FAQ
\newcommand*{\maintoc}{% Hauptinhaltsverzeichnis
\begingroup
\@fileswfalse% kein neues Verzeichnis öffnen
\renewcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
\value{tocdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
}%
\tableofcontents% Verzeichnis ausgeben
\endgroup
}
\newcommand*{\appendixtoc}{% Anhangsinhaltsverzeichnis
\begingroup
\setcounter{tocdepth}{-10000}% Keine Verzeichniseinträge
\renewcommand*{\contentsname}{% Verzeichnisname ändern
Verzeichnis der Anh\"ange}%
\renewcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
\setcounter{tocdepth}{\value{tocdepthsaved}}% tocdepth wiederherstellen
}%
\renewcommand*\afterappendixattoc{%
\value{tocdepth}=-10000 % ab hier nix mehr...
}%
\tableofcontents% Verzeichnis ausgeben
\setcounter{tocdepth}{\value{tocdepthsaved}}% tocdepth wiederherstellen
\endgroup
}

%------------------------------ Inhalsverzeichnis ----------------------------------------

%-------------------------------- Abbildungsverzeichnis -----------------------------------
\newcommand*{\mainlof}{% Hauptabbildungsverzeichnis
\begingroup
\@fileswfalse% kein neues Verzeichnis öffnen
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Abbildungsverzeichnis
\value{lofdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
}%
\listoffigures% Verzeichnis ausgeben
\endgroup
}
\newcommand*{\appendixlof}{% Anhangsabbildungsverzeichnis
\begingroup
\setcounter{lofdepth}{-10000}% Keine Verzeichniseinträge
\renewcommand*{\listfigurename}{% Verzeichnisname ändern
Abbildungsverzeichnis der Anh\"ange}%
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Abbildungsverzeichnis
\setcounter{lofdepth}{\value{lofdepthsaved}}% tocdepth wiederherstellen
}%
\renewcommand*\afterappendixattoc{%
\value{lofdepth}=-10000 % ab hier nix mehr...
}%
\listoffigures% Verzeichnis ausgeben
\setcounter{lofdepth}{\value{lofdepthsaved}}% tocdepth wiederherstellen
\endgroup
}
%-------------------------------- Abbildungsverzeichnis -----------------------------------


%-------------------------------- Listingssverzeichnis ------------------------------------
\newcommand*{\mainlol}{
\begingroup
\@fileswfalse
\renewcommand*{\appendixattoc}{
\value{tocdepth}=-10000
}%
\lstlistoflistings
\endgroup
}
\newcommand*{\appendixlol}{
\begingroup
\setcounter{tocdepth}{-10000}
\renewcommand*{\lstlistlistingname}{
Listingsverzeichnis der Anh\"ange}%
\renewcommand*{\appendixattoc}{
\setcounter{tocdepth}{\value{tocdepthsaved}}
}%
\renewcommand*\afterappendixattoc{%
\value{tocdepth}=-10000
}%
\lstlistoflistings%
\setcounter{tocdepth}{\value{tocdepthsaved}}
\endgroup
}
%-------------------------------- Listingssverzeichnis ------------------------------------


%-------------------------------- Tabellenverzeichnis -----------------------------------
\newcommand*{\mainlot}{% Haupttabellenverzeichnis
\begingroup
\@fileswfalse% kein neues Verzeichnis öffnen
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Tabellenverzeichnis
\value{lotdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
}%
\listoftables% Verzeichnis ausgeben
\endgroup
}
\newcommand*{\appendixlot}{% Anhangstabellenverzeichnis
\begingroup
\setcounter{lotdepth}{-10000}% Keine Verzeichniseinträge
\renewcommand*{\listtablename}{% Verzeichnisname ändern
Tabellenverzeichnis der Anh\"ange}%
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Tabellenverzeichnis
\setcounter{lotdepth}{\value{lotdepthsaved}}% tocdepth wiederherstellen
}%
\renewcommand*\afterappendixattoc{%
\value{lotdepth}=-10000 % ab hier nix mehr...
}%
\listoftables% Verzeichnis ausgeben
\setcounter{lotdepth}{\value{lotdepthsaved}}% tocdepth wiederherstellen
\endgroup
}
%-------------------------------- Tabellenverzeichnis -----------------------------------


%-------------------------------- Anhang veraendern -------------------------------------
\newcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
}
\newcommand*\afterappendixattoc{% noch ne Trennanweisung im TOC...
\setcounter{tocdepth}{\value{tocdepthsaved}}%
}
\let\orgappendix\appendix
\renewcommand*\appendix{% \appendix erweitern
\setcounter{kapmerker}{\value{chapter}}%<--Kapitelstand merken
\orgappendix
\if@openright\cleardoublepage\else\clearpage\fi% Neue Seite
\phantomsection
\addcontentsline{toc}{chapter}{\appendixname}% Eintrag ins Hauptverzeichnis
\addtocontents{toc}{\protect\appendixattoc}% Trennanweisung in die toc-Datei
\addtocontents{lof}{\protect\appendixattoc}% Trennanweisung in die lof-Datei
\addtocontents{lot}{\protect\appendixattoc}% Trennanweisung in die lot-Datei
\addtocontents{lol}{\protect\appendixattoc}% Trennanweisung in die lol-Datei
}
%-------------------------------- Anhang veraendern -------------------------------------


%-------------------------------- Uebersichtsverzeichnis --------------------------------

%?????????????????? VARIANTE HAT ZUVIEL ZEILENABSTAND ??????????????????
%\newcommand*\uebersicht{%
% \addchap*{Inhalts\"ubersicht}
% \markboth{Inhalts\"ubersicht}{}
% \begingroup
% \value{tocdepth}\shorttocdepth\relax % uebler Hack!
% \renewcommand*{\appendixattoc}{%<--
% \value{tocdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
% }%
% \renewcommand*\afterappendixattoc{%
% \value{tocdepth}\shorttocdepth\relax % uebler Hack!
% }%
% \makeatletter
% \@input{\jobname.toc}%
% \makeatother
% \endgroup
%}
%?????????????????? VARIANTE HAT ZUVIEL ZEILENABSTAND ??????????????????




%?????????????????? MIT NORMALEM ZEILENABSTAND ?????????????????????????
\newcommand*\uebersicht{%
\begingroup
\@fileswfalse% kein neues Verzeichnis öffnen
\renewcommand*\contentsname{Inhalts\"ubersicht}%
\value{tocdepth}\shorttocdepth\relax % uebler Hack!
\renewcommand*\appendixattoc{% Trennanweisung im Inhaltsverzeichnis
\value{tocdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen oder nix {} tun, je nachdem was alles in die Übersicht rein soll
}%
\renewcommand*\afterappendixattoc{%
\value{tocdepth}\shorttocdepth\relax % uebler Hack!
}%
\tableofcontents% Verzeichnis ausgeben
\endgroup
}
%?????????????????? MIT NORMALEM ZEILENABSTAND ?????????????????????????
%-------------------------------- Uebersichtsverzeichnis --------------------------------



%------------------- Falls nach dem Anhang noch was in normale VZ soll ------------------
\newcommand*\appendixendshere{%
\addtocontents{toc}{\protect\afterappendixattoc}%
\addtocontents{lof}{\protect\afterappendixattoc}%<--
\addtocontents{lot}{\protect\afterappendixattoc}%<--
\addtocontents{lol}{\protect\afterappendixattoc}%<--
\renewcommand*\thechapter{\arabic{chapter}}%<--ab hier Nummerierung mit Ziffern
\setcounter{chapter}{\value{kapmerker}}%<--fortsetzen
\gdef \@chapapp {\chaptername}%<--wieder `Kapitel'
}
\makeatother
%------------------- Falls nach dem Anhang noch was in normale VZ soll ------------------


\newcommand*{\shorttocdepth}{1}%Tiefe des Uebersichtsverzeichnisses setzen

%___________________________ Verzeichnisse aufspalten (mit TOCLOFT) ______________________________


















\begin{document}


%_______________________________ Inhaltsverzeichnisse _______________________________

\uebersicht
\maintoc


%_______________________________ Abbildungsverzeichnis ______________________________
\mainlof


%_______________________________ Tabellenverzeichnis ________________________________
\mainlot


%_______________________________ TODO-Verzeichnis ___________________________________
\cleardoublepage
\phantomsection
\addcontentsline{toc}{chapter}{Liste der noch zu erledigenden Punkte}
\chapter*{Liste der noch zu erledigenden Punkte}
\markboth{Liste der noch zu erledigenden Punkte}{Liste der noch zu erledigenden Punkte}
\listoftodos[]


%_______________________________ Listingsverzeichnis _________________________________
\renewcommand{\lstlistlistingname}{Listingsverzeic hnis}
\cleardoublepage
\phantomsection
\addcontentsline{toc}{chapter}{Listingsverzeichnis }
\mainlol



\chapter{Kapitel 1}
Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text
\section{Unterkapitel 1}
Test
\subsection{Unterunterkapitel 1}
Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text

\chapter{Kapitel 2}
Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text



%_______________________________ Anhang ____________________________________
\appendix



%_______________________________ Anhangsverzeichnisse ________________________________

\appendixtoc
\appendixlof
\appendixlot
\appendixlol

%_______________________________ Anhangsverzeichnisse ________________________________



%_______________________________ Anhang BEGIN ________________________________________
\chapter{CD-Version der Applikation}

\chapter{Quellcode}



\end{document}


und ein

\pdfbookmark[1]{\listfigurename}{lof}

zb vor mainlof, um zumindest ein pdfbookmark zu bekommen funktioniert ebenfalls nicht. :-(
ich dachte, wenn ich die listtotoc option aus dem komaeinstellungen rausnehme und alle verzeichnisse manuell adde mit

\phantomsection
\addcontentsline{toc}{chapter}{MAINABBVZ}
\mainlof

würde es viel. gehen, aber fehlanzeige.

rais
05-09-2009, 22:47
Moin moin,


Die PDF Bookmarkeinträge für die Hauptverzeichnisse und das Listingsverzeichnis im Anhang.:mad:
so als Beispiel für \mainlof:


\clearpage\pdfbookmark[0]{\listfigurename}{lof}
\mainlof

oder das Listingsverzeichnis im Anhang


\clearpage
\phantomsection\addcontentsline{toc}{chapter}{List ings im Anhang}
\appendixlol

erzeugt beides bei mir klickbare Links bei den Bookmarks (und landen auch an der richtigen Stelle).


\pdfbookmark[1]{\listfigurename}{lof}

zb vor mainlof, um zumindest ein pdfbookmark zu bekommen funktioniert ebenfalls nicht. :-(

Nun ja, mit Ausdrücken wie `funktioniert nicht' kann ich wenig bis gar nix anfangen, schon gar nicht, wenn es nicht Bestandteil des Beispiels ist ... aber vergleiche das mit dem \pdfbookmark oben.

MfG

sharpType
06-09-2009, 02:15
:) Vielen vielen vielen! Dank Rainer!

Jetzt scheint alles zu funktionieren. Hut ab für deine LateX-Kenntnisse!

sharpType
06-09-2009, 16:02
Hallo Rainer,

(ja ich nochmal). Ich muss den Thread nochmal wiederbeleben, denn ich glaube da kannst nur du mir bei helfen. Ursprünglich habe ich mit dem subfig paket gearbeitet um unterabbildungen zu erzeugen. Wegen den nichtklickbaren links in den subfigures (viel. problem mit hyperref) bin ich auf subcaption umgestiegen. funktioniert auch super und gefällt mir besser als subfig, jedoch habe ich dann das Problem, das wenn ich unterabbildungen im Anhang habe, diese auch im Hauptabbildungsverzeichnis auftauchen.:(

Kann man das irgendwie abschalten? subcaption habe ich mit

\usepackage[list=on]{subcaption}

geladen, damit diese im abbildungsverzeichnis der anhänge auftauchen (tun sie auch wie gewollt), nur sin diese dann auch (komischerweise ohne ihre zugehörige referenzabb) im hauptAbbVZ. list=off behebt alles, jedoch habe ich dann auch im anhangsabbildungsverzeichnis keine subfigures mehr drin.

Hier ist das dafür passende MiniBsp (von oben abgeändert)



\documentclass[pdftex,
final,
10pt,
toc=indented,%Toc hierachisch
listof=chapterentry,%Kapitelanfänge in den Verzeichnissen
listof=totoc,
numbers=noenddot,
a4paper,
pagesize,
oneside,
titlepage,
ngerman,
parskip=full-]{scrreprt}


\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}


\usepackage{scrhack}
\usepackage{listings}
\usepackage{todonotes}


\PassOptionsToPackage{hyphens}{url}
\usepackage{hyperref}

\hypersetup{
pdflang=de,
pdfdisplaydoctitle=true,
pdftitle={Diplomarbeit},
pdfsubject={Wichtig},
pdfauthor={Ich},
pdfcreator={MiKTeX, LaTeX with hyperref and KOMA-Script},
bookmarksopen=true,
bookmarksopenlevel={1},
bookmarksnumbered=true,
pdfpagemode=UseOutlines,
pdfstartview=FitV,
pdfview=FitH,
plainpages=false,
hypertexnames=true,
breaklinks=true
}

\usepackage[left=2.8cm,right=1.75cm,top=2.25cm,bottom=2.25cm]{geometry}
\usepackage{avant}

\usepackage[titles]{tocloft}

\usepackage{caption}
\usepackage[list=on]{subcaption}


%_________________________________________________ __________________________
\renewcommand*\familydefault{\sfdefault}


\setlength{\cftsecindent}{.85cm}
\setlength{\cftsubsecindent}{2cm}
\setlength{\cftsubsubsecindent}{2.5cm}
\cftsetpnumwidth{2em}
\setlength{\cftsecnumwidth}{2.5em}
\setlength{\cftsubsecnumwidth}{3.5em}
\setlength{\cftfignumwidth}{3em}

\setcounter{secnumdepth}{3}
%---------------------------------------------------------------
%Jeder Gliederungsebene ist in LaTeX eine Nummer zugeordnet:
%
%-1 part 1 section 3 subsubsection 5 subparagraph
% 0 chapter 2 subsection 4 paragraph
%---------------------------------------------------------------









%___________________________ Verzeichnisse aufspalten (mit TOCLOFT) ______________________________

\newcounter{tocdepthsaved}
\setcounter{tocdepth}{3}
\setcounter{tocdepthsaved}{\value{tocdepth}}

\newcounter{lofdepthsaved}
\setcounter{lofdepth}{2} %1 = nur figures, 2 = figures + subfigures
\setcounter{lofdepthsaved}{\value{lofdepth}}

\newcounter{lotdepthsaved}
\setcounter{lotdepth}{2}
\setcounter{lotdepthsaved}{\value{lotdepth}}

%---------------------------------------------------------------
%Jeder Gliederungsebene ist in LaTeX eine Nummer zugeordnet:
%
%-1 part 1 section 3 subsubsection 5 subparagraph
% 0 chapter 2 subsection 4 paragraph
%---------------------------------------------------------------


%------------------------------ Inhalsverzeichnis ----------------------------------------
%\newcommand*\alltocdepth{2}
%\setcounter{tocdepth}{\alltocdepth}

\newcounter{kapmerker}
\makeatletter% --> De-TeX-FAQ
\newcommand*{\maintoc}{% Hauptinhaltsverzeichnis
\begingroup
\@fileswfalse% kein neues Verzeichnis öffnen
\renewcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
\value{tocdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
}%
\tableofcontents% Verzeichnis ausgeben
\endgroup
}
\newcommand*{\appendixtoc}{% Anhangsinhaltsverzeichnis
\begingroup
\setcounter{tocdepth}{-10000}% Keine Verzeichniseinträge
\renewcommand*{\contentsname}{% Verzeichnisname ändern
Verzeichnis der Anh\"ange}%
\renewcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
\setcounter{tocdepth}{\value{tocdepthsaved}}% tocdepth wiederherstellen
}%
\renewcommand*\afterappendixattoc{%
\value{tocdepth}=-10000 % ab hier nix mehr...
}%
\tableofcontents% Verzeichnis ausgeben
\setcounter{tocdepth}{\value{tocdepthsaved}}% tocdepth wiederherstellen
\endgroup
}

%------------------------------ Inhalsverzeichnis ----------------------------------------

%-------------------------------- Abbildungsverzeichnis -----------------------------------
\newcommand*{\mainlof}{% Hauptabbildungsverzeichnis
\begingroup
\@fileswfalse% kein neues Verzeichnis öffnen
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Abbildungsverzeichnis
\value{lofdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
}%
\listoffigures% Verzeichnis ausgeben
\endgroup
}
\newcommand*{\appendixlof}{% Anhangsabbildungsverzeichnis
\begingroup
\setcounter{lofdepth}{-10000}% Keine Verzeichniseinträge
\renewcommand*{\listfigurename}{% Verzeichnisname ändern
Abbildungsverzeichnis der Anh\"ange}%
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Abbildungsverzeichnis
\setcounter{lofdepth}{\value{lofdepthsaved}}% tocdepth wiederherstellen
}%
\renewcommand*\afterappendixattoc{%
\value{lofdepth}=-10000 % ab hier nix mehr...
}%
\listoffigures% Verzeichnis ausgeben
\setcounter{lofdepth}{\value{lofdepthsaved}}% tocdepth wiederherstellen
\endgroup
}
%-------------------------------- Abbildungsverzeichnis -----------------------------------


%-------------------------------- Listingssverzeichnis ------------------------------------
\newcommand*{\mainlol}{
\begingroup
\@fileswfalse
\renewcommand*{\appendixattoc}{
\value{tocdepth}=-10000
}%
\lstlistoflistings
\endgroup
}
\newcommand*{\appendixlol}{
\begingroup
\setcounter{tocdepth}{-10000}
\renewcommand*{\lstlistlistingname}{
Listingsverzeichnis der Anh\"ange}%
\renewcommand*{\appendixattoc}{
\setcounter{tocdepth}{\value{tocdepthsaved}}
}%
\renewcommand*\afterappendixattoc{%
\value{tocdepth}=-10000
}%
\lstlistoflistings%
\setcounter{tocdepth}{\value{tocdepthsaved}}
\endgroup
}
%-------------------------------- Listingssverzeichnis ------------------------------------


%-------------------------------- Tabellenverzeichnis -----------------------------------
\newcommand*{\mainlot}{% Haupttabellenverzeichnis
\begingroup
\@fileswfalse% kein neues Verzeichnis öffnen
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Tabellenverzeichnis
\value{lotdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
}%
\listoftables% Verzeichnis ausgeben
\endgroup
}
\newcommand*{\appendixlot}{% Anhangstabellenverzeichnis
\begingroup
\setcounter{lotdepth}{-10000}% Keine Verzeichniseinträge
\renewcommand*{\listtablename}{% Verzeichnisname ändern
Tabellenverzeichnis der Anh\"ange}%
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Tabellenverzeichnis
\setcounter{lotdepth}{\value{lotdepthsaved}}% tocdepth wiederherstellen
}%
\renewcommand*\afterappendixattoc{%
\value{lotdepth}=-10000 % ab hier nix mehr...
}%
\listoftables% Verzeichnis ausgeben
\setcounter{lotdepth}{\value{lotdepthsaved}}% tocdepth wiederherstellen
\endgroup
}
%-------------------------------- Tabellenverzeichnis -----------------------------------


%-------------------------------- Anhang veraendern -------------------------------------
\newcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
}
\newcommand*\afterappendixattoc{% noch ne Trennanweisung im TOC...
\setcounter{tocdepth}{\value{tocdepthsaved}}%
}
\let\orgappendix\appendix
\renewcommand*\appendix{% \appendix erweitern
\setcounter{kapmerker}{\value{chapter}}%<--Kapitelstand merken
\orgappendix
\if@openright\cleardoublepage\else\clearpage\fi% Neue Seite
\phantomsection
\addcontentsline{toc}{chapter}{\appendixname}% Eintrag ins Hauptverzeichnis
\addtocontents{toc}{\protect\appendixattoc}% Trennanweisung in die toc-Datei
\addtocontents{lof}{\protect\appendixattoc}% Trennanweisung in die lof-Datei
\addtocontents{lot}{\protect\appendixattoc}% Trennanweisung in die lot-Datei
\addtocontents{lol}{\protect\appendixattoc}% Trennanweisung in die lol-Datei
}
%-------------------------------- Anhang veraendern -------------------------------------


%-------------------------------- Uebersichtsverzeichnis --------------------------------


%?????????????????? MIT NORMALEM ZEILENABSTAND ?????????????????????????
\newcommand*\uebersicht{%
\begingroup
\@fileswfalse% kein neues Verzeichnis öffnen
\renewcommand*\contentsname{Inhalts\"ubersicht}%
\value{tocdepth}\shorttocdepth\relax % uebler Hack!
\renewcommand*\appendixattoc{% Trennanweisung im Inhaltsverzeichnis
\value{tocdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen oder nix {} tun, je nachdem was alles in die Übersicht rein soll
}%
\renewcommand*\afterappendixattoc{%
\value{tocdepth}\shorttocdepth\relax % uebler Hack!
}%
\tableofcontents% Verzeichnis ausgeben
\endgroup
}
%?????????????????? MIT NORMALEM ZEILENABSTAND ?????????????????????????
%-------------------------------- Uebersichtsverzeichnis --------------------------------



%------------------- Falls nach dem Anhang noch was in normale VZ soll ------------------
\newcommand*\appendixendshere{%
\addtocontents{toc}{\protect\afterappendixattoc}%
\addtocontents{lof}{\protect\afterappendixattoc}%<--
\addtocontents{lot}{\protect\afterappendixattoc}%<--
\addtocontents{lol}{\protect\afterappendixattoc}%<--
\renewcommand*\thechapter{\arabic{chapter}}%<--ab hier Nummerierung mit Ziffern
\setcounter{chapter}{\value{kapmerker}}%<--fortsetzen
\gdef \@chapapp {\chaptername}%<--wieder `Kapitel'
}
\makeatother
%------------------- Falls nach dem Anhang noch was in normale VZ soll ------------------


\newcommand*{\shorttocdepth}{1}%Tiefe des Uebersichtsverzeichnisses setzen

%___________________________ Verzeichnisse aufspalten (mit TOCLOFT) ______________________________



\begin{document}
%_______________________________ Inhaltsverzeichnisse _______________________________

\uebersicht
\maintoc


%_______________________________ Abbildungsverzeichnis ______________________________
\clearpage\pdfbookmark[0]{\listfigurename}{lof}
\mainlof


%_______________________________ Tabellenverzeichnis ________________________________
\mainlot


%_______________________________ TODO-Verzeichnis ___________________________________
\cleardoublepage
\phantomsection
\addcontentsline{toc}{chapter}{Liste der noch zu erledigenden Punkte}
\chapter*{Liste der noch zu erledigenden Punkte}
\markboth{Liste der noch zu erledigenden Punkte}{Liste der noch zu erledigenden Punkte}
\listoftodos[]


%_______________________________ Listingsverzeichnis _________________________________
\renewcommand{\lstlistlistingname}{Listingsverzeic hnis}
\cleardoublepage
\phantomsection
\addcontentsline{toc}{chapter}{Listingsverzeichnis }
\mainlol



\chapter{Kapitel 1}
Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text
\section{Unterkapitel 1}
Test
\subsection{Unterunterkapitel 1}
Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text

\chapter{Kapitel 2}
Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text



%_______________________________ Anhang ____________________________________
\appendix



%_______________________________ Anhangsverzeichnisse ________________________________

\appendixtoc
\appendixlof
\appendixlot

\clearpage
\phantomsection\addcontentsline{toc}{chapter}{List ings im Anhang}
\appendixlol

%_______________________________ Anhangsverzeichnisse ________________________________



%_______________________________ Anhang BEGIN ________________________________________
\chapter{Abbildungen im Anhang}

\begin{figure}[htbp]
\begin{minipage}[b]{0.45\linewidth}
\Large A
\subcaption{Teilabbildung A im Anhang}
\end{minipage}
\hfill
\begin{minipage}[b]{0.5\linewidth}
\Large B
\subcaption{Teilabbildung B im Anhang}
\end{minipage}
\caption{Abbildung im Anhang}
\end{figure}



\end{document}



Meine lof Datei sieht so aus:



\select@language {ngerman}
\contentsline {chapteratlist}{\numberline {1}Kapitel 1}{7}{chapter.1}
\contentsline {chapteratlist}{\numberline {2}Kapitel 2}{8}{chapter.2}
\appendixattoc
\contentsline {chapteratlist}{\numberline {A}Abbildungen im Anhang}{13}{appendix.A}
\contentsline {figure}{\numberline {A.1}{\ignorespaces Abbildung im Anhang\relax }}{13}{figure.caption.16}
\contentsline {subfigure}{\numberline {a}{\ignorespaces Teilabbildung A im Anhang\relax }}{13}{figure.caption.16}
\contentsline {subfigure}{\numberline {b}{\ignorespaces Teilabbildung B im Anhang\relax }}{13}{figure.caption.16}



Die sieht doch ganz richtig aus oder nicht?:mad:

Ich danke dir erneut für deine Hilfe....

sharpType
07-09-2009, 01:22
hmm eine Alternative wäre doch das subfig paket, da scheint es zu funktionieren.Die subfigures aus dem anhang sind wie gewollt nur im anhang gelistet und nicht auch im hauptabbilungsverzeichnis.

allerings sind die subfigurelinks! nicht auf die figures referenziert...kann man das irgendwie beheben? :(


minimalbeispiel:



\documentclass[pdftex,
final,
10pt,
toc=indented,%Toc hierachisch
listof=chapterentry,%Kapitelanfänge in den Verzeichnissen
listof=totoc,
numbers=noenddot,
a4paper,
pagesize,
oneside,
titlepage,
ngerman,
parskip=full-]{scrreprt}


\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}


\usepackage{scrhack}
\usepackage{listings}
\usepackage{todonotes}


\PassOptionsToPackage{hyphens}{url}
\usepackage{hyperref}

\hypersetup{
pdflang=de,
pdfdisplaydoctitle=true,
pdftitle={Diplomarbeit},
pdfsubject={Wichtig},
pdfauthor={Ich},
pdfcreator={MiKTeX, LaTeX with hyperref and KOMA-Script},
bookmarksopen=true,
bookmarksopenlevel={1},
bookmarksnumbered=true,
pdfpagemode=UseOutlines,
pdfstartview=FitV,
pdfview=FitH,
plainpages=false,
hypertexnames=true,
breaklinks=true
}

\usepackage[left=2.8cm,right=1.75cm,top=2.25cm,bottom=2.25cm]{geometry}
\usepackage{avant}

\usepackage[titles]{tocloft}

\usepackage{caption}
%\usepackage[list=on]{subcaption}
\usepackage{subfig}

%_________________________________________________ __________________________
\renewcommand*\familydefault{\sfdefault}


\setlength{\cftsecindent}{.85cm}
\setlength{\cftsubsecindent}{2cm}
\setlength{\cftsubsubsecindent}{2.5cm}
\cftsetpnumwidth{2em}
\setlength{\cftsecnumwidth}{2.5em}
\setlength{\cftsubsecnumwidth}{3.5em}
\setlength{\cftfignumwidth}{3em}

\setcounter{secnumdepth}{3}
%---------------------------------------------------------------
%Jeder Gliederungsebene ist in LaTeX eine Nummer zugeordnet:
%
%-1 part 1 section 3 subsubsection 5 subparagraph
% 0 chapter 2 subsection 4 paragraph
%---------------------------------------------------------------









%___________________________ Verzeichnisse aufspalten (mit TOCLOFT) ______________________________

\newcounter{tocdepthsaved}
\setcounter{tocdepth}{3}
\setcounter{tocdepthsaved}{\value{tocdepth}}

\newcounter{lofdepthsaved}
\setcounter{lofdepth}{2} %1 = nur figures, 2 = figures + subfigures
\setcounter{lofdepthsaved}{\value{lofdepth}}

\newcounter{lotdepthsaved}
\setcounter{lotdepth}{2}
\setcounter{lotdepthsaved}{\value{lotdepth}}

%---------------------------------------------------------------
%Jeder Gliederungsebene ist in LaTeX eine Nummer zugeordnet:
%
%-1 part 1 section 3 subsubsection 5 subparagraph
% 0 chapter 2 subsection 4 paragraph
%---------------------------------------------------------------


%------------------------------ Inhalsverzeichnis ----------------------------------------
%\newcommand*\alltocdepth{2}
%\setcounter{tocdepth}{\alltocdepth}

\newcounter{kapmerker}
\makeatletter% --> De-TeX-FAQ
\newcommand*{\maintoc}{% Hauptinhaltsverzeichnis
\begingroup
\@fileswfalse% kein neues Verzeichnis öffnen
\renewcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
\value{tocdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
}%
\tableofcontents% Verzeichnis ausgeben
\endgroup
}
\newcommand*{\appendixtoc}{% Anhangsinhaltsverzeichnis
\begingroup
\setcounter{tocdepth}{-10000}% Keine Verzeichniseinträge
\renewcommand*{\contentsname}{% Verzeichnisname ändern
Verzeichnis der Anh\"ange}%
\renewcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
\setcounter{tocdepth}{\value{tocdepthsaved}}% tocdepth wiederherstellen
}%
\renewcommand*\afterappendixattoc{%
\value{tocdepth}=-10000 % ab hier nix mehr...
}%
\tableofcontents% Verzeichnis ausgeben
\setcounter{tocdepth}{\value{tocdepthsaved}}% tocdepth wiederherstellen
\endgroup
}

%------------------------------ Inhalsverzeichnis ----------------------------------------

%-------------------------------- Abbildungsverzeichnis -----------------------------------
\newcommand*{\mainlof}{% Hauptabbildungsverzeichnis
\begingroup
\@fileswfalse% kein neues Verzeichnis öffnen
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Abbildungsverzeichnis
\value{lofdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
}%
\listoffigures% Verzeichnis ausgeben
\endgroup
}
\newcommand*{\appendixlof}{% Anhangsabbildungsverzeichnis
\begingroup
\setcounter{lofdepth}{-10000}% Keine Verzeichniseinträge
\renewcommand*{\listfigurename}{% Verzeichnisname ändern
Abbildungsverzeichnis der Anh\"ange}%
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Abbildungsverzeichnis
\setcounter{lofdepth}{\value{lofdepthsaved}}% tocdepth wiederherstellen
}%
\renewcommand*\afterappendixattoc{%
\value{lofdepth}=-10000 % ab hier nix mehr...
}%
\listoffigures% Verzeichnis ausgeben
\setcounter{lofdepth}{\value{lofdepthsaved}}% tocdepth wiederherstellen
\endgroup
}
%-------------------------------- Abbildungsverzeichnis -----------------------------------


%-------------------------------- Listingssverzeichnis ------------------------------------
\newcommand*{\mainlol}{
\begingroup
\@fileswfalse
\renewcommand*{\appendixattoc}{
\value{tocdepth}=-10000
}%
\lstlistoflistings
\endgroup
}
\newcommand*{\appendixlol}{
\begingroup
\setcounter{tocdepth}{-10000}
\renewcommand*{\lstlistlistingname}{
Listingsverzeichnis der Anh\"ange}%
\renewcommand*{\appendixattoc}{
\setcounter{tocdepth}{\value{tocdepthsaved}}
}%
\renewcommand*\afterappendixattoc{%
\value{tocdepth}=-10000
}%
\lstlistoflistings%
\setcounter{tocdepth}{\value{tocdepthsaved}}
\endgroup
}
%-------------------------------- Listingssverzeichnis ------------------------------------


%-------------------------------- Tabellenverzeichnis -----------------------------------
\newcommand*{\mainlot}{% Haupttabellenverzeichnis
\begingroup
\@fileswfalse% kein neues Verzeichnis öffnen
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Tabellenverzeichnis
\value{lotdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
}%
\listoftables% Verzeichnis ausgeben
\endgroup
}
\newcommand*{\appendixlot}{% Anhangstabellenverzeichnis
\begingroup
\setcounter{lotdepth}{-10000}% Keine Verzeichniseinträge
\renewcommand*{\listtablename}{% Verzeichnisname ändern
Tabellenverzeichnis der Anh\"ange}%
\renewcommand*{\appendixattoc}{% Trennanweisung auch im Tabellenverzeichnis
\setcounter{lotdepth}{\value{lotdepthsaved}}% tocdepth wiederherstellen
}%
\renewcommand*\afterappendixattoc{%
\value{lotdepth}=-10000 % ab hier nix mehr...
}%
\listoftables% Verzeichnis ausgeben
\setcounter{lotdepth}{\value{lotdepthsaved}}% tocdepth wiederherstellen
\endgroup
}
%-------------------------------- Tabellenverzeichnis -----------------------------------


%-------------------------------- Anhang veraendern -------------------------------------
\newcommand*{\appendixattoc}{% Trennanweisung im Inhaltsverzeichnis
}
\newcommand*\afterappendixattoc{% noch ne Trennanweisung im TOC...
\setcounter{tocdepth}{\value{tocdepthsaved}}%
}
\let\orgappendix\appendix
\renewcommand*\appendix{% \appendix erweitern
\setcounter{kapmerker}{\value{chapter}}%<--Kapitelstand merken
\orgappendix
\if@openright\cleardoublepage\else\clearpage\fi% Neue Seite
\phantomsection
\addcontentsline{toc}{chapter}{\appendixname}% Eintrag ins Hauptverzeichnis
\addtocontents{toc}{\protect\appendixattoc}% Trennanweisung in die toc-Datei
\addtocontents{lof}{\protect\appendixattoc}% Trennanweisung in die lof-Datei
\addtocontents{lot}{\protect\appendixattoc}% Trennanweisung in die lot-Datei
\addtocontents{lol}{\protect\appendixattoc}% Trennanweisung in die lol-Datei
}
%-------------------------------- Anhang veraendern -------------------------------------


%-------------------------------- Uebersichtsverzeichnis --------------------------------


%?????????????????? MIT NORMALEM ZEILENABSTAND ?????????????????????????
\newcommand*\uebersicht{%
\begingroup
\@fileswfalse% kein neues Verzeichnis öffnen
\renewcommand*\contentsname{Inhalts\"ubersicht}%
\value{tocdepth}\shorttocdepth\relax % uebler Hack!
\renewcommand*\appendixattoc{% Trennanweisung im Inhaltsverzeichnis
\value{tocdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen oder nix {} tun, je nachdem was alles in die Übersicht rein soll
}%
\renewcommand*\afterappendixattoc{%
\value{tocdepth}\shorttocdepth\relax % uebler Hack!
}%
\tableofcontents% Verzeichnis ausgeben
\endgroup
}
%?????????????????? MIT NORMALEM ZEILENABSTAND ?????????????????????????
%-------------------------------- Uebersichtsverzeichnis --------------------------------



%------------------- Falls nach dem Anhang noch was in normale VZ soll ------------------
\newcommand*\appendixendshere{%
\addtocontents{toc}{\protect\afterappendixattoc}%
\addtocontents{lof}{\protect\afterappendixattoc}%<--
\addtocontents{lot}{\protect\afterappendixattoc}%<--
\addtocontents{lol}{\protect\afterappendixattoc}%<--
\renewcommand*\thechapter{\arabic{chapter}}%<--ab hier Nummerierung mit Ziffern
\setcounter{chapter}{\value{kapmerker}}%<--fortsetzen
\gdef \@chapapp {\chaptername}%<--wieder `Kapitel'
}
\makeatother
%------------------- Falls nach dem Anhang noch was in normale VZ soll ------------------


\newcommand*{\shorttocdepth}{1}%Tiefe des Uebersichtsverzeichnisses setzen

%___________________________ Verzeichnisse aufspalten (mit TOCLOFT) ______________________________



\begin{document}
%_______________________________ Inhaltsverzeichnisse _______________________________

\uebersicht
\maintoc


%_______________________________ Abbildungsverzeichnis ______________________________
\clearpage\pdfbookmark[0]{\listfigurename}{lof}
\mainlof


%_______________________________ Tabellenverzeichnis ________________________________
\mainlot


%_______________________________ TODO-Verzeichnis ___________________________________
\cleardoublepage
\phantomsection
\addcontentsline{toc}{chapter}{Liste der noch zu erledigenden Punkte}
\chapter*{Liste der noch zu erledigenden Punkte}
\markboth{Liste der noch zu erledigenden Punkte}{Liste der noch zu erledigenden Punkte}
\listoftodos[]


%_______________________________ Listingsverzeichnis _________________________________
\renewcommand{\lstlistlistingname}{Listingsverzeic hnis}
\cleardoublepage
\phantomsection
\addcontentsline{toc}{chapter}{Listingsverzeichnis }
\mainlol



\chapter{Kapitel 1}
Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text
\section{Unterkapitel 1}
Test
\subsection{Unterunterkapitel 1}
Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text

\chapter{Kapitel 2}
Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text Test Text



%_______________________________ Anhang ____________________________________
\appendix



%_______________________________ Anhangsverzeichnisse ________________________________

\appendixtoc
\appendixlof
\appendixlot

\clearpage
\phantomsection\addcontentsline{toc}{chapter}{List ings im Anhang}
\appendixlol

%_______________________________ Anhangsverzeichnisse ________________________________



%_______________________________ Anhang BEGIN ________________________________________
\chapter{Abbildungen im Anhang}

\begin{figure}[htbp]
\subfloat[captionOfPic1InLof][]{\label{subfig:1}{\Large A}}
\hfill
\subfloat[captionOfPic2InLof][]{\label{subfig:2}{\Large B}}
\caption{captionOfPic1And2}
\label{fig:2}
\end{figure}


\end{document}

rais
07-09-2009, 18:57
Moin moin,

Die sieht doch ganz richtig aus oder nicht?:mad:

ja, die sieht richtig aus und wie Du von Axel inzwischen erfahren hast (hier (http://www.mrunix.de/forums/showthread.php?t=65888)), wird hier für \l@subfigure statt lofdepth LaTeX-Standard tocdepth für den Vergleich genommen, also ergänze in \mainlof + \appendixlof überall dort, wo Du `lofdepth' auf irgendwas zuweist, eine entsprechende Zuweisung für tocdepth (auf gleichen Wert wie lofdepth).
Es kann vermutlich auch nicht schaden, in \mainlot + \appendixlot bei allen lotdepth-Zuweisungen eine tocdepth-Entsprechung einzubauen.
Mit beiden dieser Änderungen werden dann vllt auch überflüssige Einträge ausgeklammert, die durch den listof=chapterentry in \mainlof/\mainlot entstanden sein dürften -- bei dem entsprechenden Eintrag wird ja vermutlich auch tocloft für die Entscheidung dahergenommen, ob's erscheinen soll oder nicht.
Und halt auch für subfigure & co.
(Kann ich erst testen, wenn ich wieder an meinem eigenen Rechner sitz ... das kann noch ne Weile dauern).

MfG

sharpType
07-09-2009, 19:21
alles klar, ich werde es mal versuchen und gebe denn mal rückmeldung. bisschen zeit zur abgabe habe ich ja noch...

sharpType
08-09-2009, 08:33
es scheint zu funktionieren...

also ich habe zb

\value{lofdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
\value{tocdepth}=\value{lofdepth} <<<<<<<<<=========

eingebaut und auch wenn setcounter genutzt wurde

\setcounter{lofdepth}{\value{lofdepthsaved}}% tocdepth wiederherstellen
\value{tocdepth}=\value{lofdepth}

. Weiss zwar nich wo der unterschied ist mit setcounter den wert zuzuweisen oder einfahc \value{x}=\value{Y} zu benutzen, aber es scheint zu gehen. Hoffe das wwar so auch richtig, nicht das ich da jetzt mist gebaut habe. Kann sowas immer schlecht kontrollieren wenn ich so viele Abbildungen drin habe. Aber es sieht gut aus..Danke :)

sharpType
08-09-2009, 13:28
Oje das mit den Problemen hört ja gar nicht mehr auf...

Rainer, nochmal eines: Durch die obige Änderung funtkioniert das mit dem subcaption Paket! Das ist sehr gut! Allerdings verschwindet dadurch die automatische Eintragung in den PDFBookmarks für das Abbildungs und Tabellenverzeichnis im ANHANG!

Wie kriege ich den bookmark wieder in die liste der bookmarks nur für das anhangsabbildungsVZ und TVVZ?

mit

\clearpage\pdfbookmark[0]{\listfigurename}{lof}
\appendixlof

also analog zu den Verzeichnissen für den Hauptteil, wie du das bereits erklärt hast, funktioniert es nicht, da dann in den PDF-Bookmarks ein Link zum HauptAbbildungsVZ erstellt wird.

und versuche ich eine lösung mit addcontentsline zu erstellen, erhalte ich ein doppelteintrag im anhangsverzeichnis.

rais
12-09-2009, 09:51
Moin moin,


Rainer, nochmal eines: Durch die obige Änderung funtkioniert das mit dem subcaption Paket! Das ist sehr gut! Allerdings verschwindet dadurch die automatische Eintragung in den PDFBookmarks für das Abbildungs und Tabellenverzeichnis im ANHANG!

Wie kriege ich den bookmark wieder in die liste der bookmarks nur für das anhangsabbildungsVZ und TVVZ?

ein paar Möglichkeiten:

mit diesen \value{tocdepth}=\value{lofdepth} ginge evtl.


\makeatletter% --> De-TeX-FAQ
\newcommand*\l@dastutnix{\@dottedtocline{10000}{0e m}{0em}}%<--

und


\clearpage\phantomsection\addcontentsline{toc}{das tutnix}{Was auch immer}%
\appendixlof

hiermit wird ein Eintrag ins TOC geschrieben, der dort gar nicht erscheinen soll (die `10000' beim \@dottedtocline ist bewußt größer als Dein tocdepth), da hyperref mit `dastutnix' aber eigentlich nix anfangen kann, setzt es den Bookmarklevel für diesen unbekannten Eintrag auf 0 -- und damit erscheint dieser Eintrag bei den PDFBookmarks.;)
statt dieser \value{tocdepth}=\value{lofdepth} könntest Du auch einfach innerhalb von \mainlof und \appendixlof lokal tocdepth auf lofdepth spiegeln:


\newcommand*{\mainlof}{% Hauptabbildungsverzeichnis
\begingroup
\let\c@tocdepth=\c@lofdepth
\@fileswfalse% kein neues Verzeichnis öffnen
(...)

dieser \let genauso in \appendixlof nach \begingroup eingebaut und entsprechend in \mainlot und \appendixlot mit \c@lotdepth statt \c@lofdepth sollte dafür sorgen, daß innerhalb \mainlof/\appendixlof eine etwaige Abfrage auf tocdepth den Wert von lofdepth liefert. Es kann Dir also egal sein, ob nun tatsächlich lofdepth oder tocdepth für den Test dahergenommen wird, ob der entsprechende Eintrag in diesem Verzeichnis erscheinen soll oder nicht. :cool:
Noch ne Alternative wär Axels Patch (http://www.mrunix.de/forums/showthread.php?t=65888).:D

BTW: \value{..}=.. wirkt sich lokal aus, \setcounter dagegen global (auch nochmal zum Test, ob die \let-Geschichte wirklich lokal bleibt):


\documentclass{article}
\newcounter{Z}
\renewcommand*\theZ{Z: \arabic{Z}}
\setcounter{Z}{10}
\begin{document}
\theZ\ zu Beginn,

\begingroup
\value{Z}=5
\theZ\ nach Zuweisung innerhalb der Gruppe (mit \verb!\value{Z}=5!),
\endgroup

\theZ\ nach dieser Gruppe,

\begingroup
\setcounter{Z}{25}
\theZ\ nach Zuweisung innerhalb der Gruppe (mit \verb!\setcounter{Z}{25}!),
\endgroup

\theZ\ nach dieser Gruppe,

\makeatletter\begingroup
\let\c@Z=\c@tocdepth
\theZ\ nach Spiegeln auf \verb!tocdepth! innerhalb der Gruppe,

\setcounter{tocdepth}{1}
\theZ\ nach \verb!\setcounter{tocdepth}{1}! innerhalb der Gruppe,
\endgroup\makeatother

\theZ\ nach dieser Gruppe.
\end{document}

MfG