Anzeige:
Ergebnis 1 bis 10 von 10

Thema: Mehrere Verzeichnisse in LaTeX

  1. #1
    Registrierter Benutzer
    Registriert seit
    01.07.2009
    Beiträge
    11

    Mehrere Verzeichnisse in LaTeX

    Hallo zusammen!

    Also, ich habe folgendes Problem. Für meine Bachelorarbeit benutze ich LaTeX und zwar die Vorlage von Matthias Pospiech (dürfte hier ja bekannt sein ).

    Das Problem ist, dass ich dämliche Vorgaben habe, die nicht ganz von dieser Vorlage unterstützt werden.

    Ich fang einfach mal mit dem größten Problem an.

    Die Struktur meiner Arbeit soll wie folgt sein:

    Deckblatt
    Sperrvermerk
    Inhaltsverzeichnis
    Abkürzungsverzeichnis
    Tabellenverzeichnis


    Text

    Anhang
    Anhangsverzeichnis
    Anhangsabbildungsverzeichnis
    Anhangstabellenverzeichnis
    Anhangstext


    Quellenverzeichnisse
    Ehrenwörtliche Erklärung


    Die roten Sachen sollen ins Inhaltsverzeichnis, die grünen Sachen ins Anhangsverzeichnis.

    Folgende Lösungsansätze habe ich schon probiert:
    http://www.komascript.de/node/458 bietet eine Lösung an, ein Inhalts- und ein Anhangsverzeichnis zu machen. Funktioniert wunderbar, nur leider ist dann das Quellenverzeichnis & und die Erklärung im Anhangsverzeichnis und nicht im Inhaltsverzeichnis.
    Außerdem funktioniert diese Lösung nicht für Abbildungs- und Tabellenverzeichnisse.

    Wenn ich die \section's im Anhang mit * "ausklammere", dann erscheinen sie nicht im Abbildungsverzeichnis, aber dadurch werden sie nicht mehr nummeriert, was ja eigentlich trotzdem noch der Fall sein soll. Und das Verzeichnis von Hand mit \ref{} funktioniert dann auch nicht mehr so toll.

    Ein Minimalbeispiel ist dabei ein bisschen schwierig, oder?
    Kann aber natürlich bei Bedarf eins machen.
    Ich benutze TeXnicCenter mit der aktuellen MikTeXDistribution auf XP.

    Schonmal vielen Dank für die Hilfe

  2. #2
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Hallo,

    verwende die Lösung von Rainer (rais):
    http://www.mrunix.de/forums/showthre...395#post271395

    Gruß
    Marco

  3. #3
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.859
    Moin moin,
    sicherlich ließe sich das Teil um Befehle wie \mainlof/lot und \appendixlof/lot analog zu \maintoc, \appendixtoc erweitern, aber eigentlich sollte der OP mit minitoc auch an sein Ziel gelangen.;-)

    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  4. #4
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Hallo Rainer,

    ich mag deine Lösung , da sie mit KOMA harmoniert. (was bei minitoc ja nicht gegeben ist).

    Gruß
    Marco

  5. #5
    Registrierter Benutzer Avatar von Maverick
    Registriert seit
    12.12.2006
    Beiträge
    513
    Ich mache das einfach mit dem minitoc-Paket.

    Welche Probleme gibt es aber mit KOMA?
    Windows 10
    TeX Live 2022 (Distribution) und Sublime Text V4140 (Editor)
    LaTeX-Anfänger

  6. #6
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Zitat Zitat von Maverick Beitrag anzeigen
    Ich mache das einfach mit dem minitoc-Paket.

    Welche Probleme gibt es aber mit KOMA?
    Hallo,

    hast du keine Warnungen beim Kompilieren? Ich hatte es mal probiert und hatte nur Warnungen.

    Gruß
    Marco

  7. #7
    Registrierter Benutzer
    Registriert seit
    01.07.2009
    Beiträge
    11
    Ihr Götter! Danke! Funktioniert auf anhieb
    Das mit den Tabellen- und Abbildungsverzeichnissen probier ich auch gleich mal aus!

    So, edit:
    Das mit den Tabellen/Abbildungsverzeichnissen klappt nicht so ganz.
    Es kommt kein Fehler/Warnung, aber die Trennung der Verzeichnisse wird nicht durchgeführt.
    Liegt vermutlich daran, dass "tocdepth" dafür die falsche Variable ist, aber wie heißt denn die "Tiefe" des Tabellenverzeichnissees?

    Hier mal ein Minimalbeispiel:
    Code:
    \documentclass{scrbook}
    \usepackage[ngerman]{babel}
    \usepackage{blindtext}
    
    \makeatletter% --> De-TeX-FAQ
    \newcommand*{\mainlot}{% Hauptinhaltsverzeichnis
      \begingroup
        \@fileswfalse% kein neues Verzeichnis öffnen
        \renewcommand*{\appendixatlot}{% Trennanweisung im Inhaltsverzeichnis
          \value{tocdepth}=-10000 % lokal tocdepth auf sehr kleinen Wert setzen
        }%
        \listoftables% Verzeichnis ausgeben
      \endgroup
    }
    \newcommand*{\appendixlot}{% Anhangsinhaltsverzeichnis
      \begingroup
        \edef\@alltocdepth{\the\value{tocdepth}}% tocdepth merken
        \setcounter{tocdepth}{-10000}% Keine Verzeichniseinträge
        \renewcommand*{\contentsname}{% Verzeichnisname ändern
          Tabellen im Anhang}%
        \renewcommand*{\appendixatlot}{% Trennanweisung im Inhaltsverzeichnis
          \setcounter{tocdepth}{\@alltocdepth}% tocdepth wiederherstellen
        }%
        \tableofcontents% Verzeichnis ausgeben
        \setcounter{tocdepth}{\@alltocdepth}% tocdepth wiederherstellen
      \endgroup
    }
    \newcommand*{\appendixatlot}{% Trennanweisung im Inhaltsverzeichnis
    }
    \g@addto@macro\appendix{% \appendix erweitern
      \if@openright\cleardoublepage\else\clearpage\fi% Neue Seite
      \addcontentsline{toc}{chapter}{\appendixname}% Eintrag ins Hauptverzeichnis
      \addtocontents{toc}{\protect\appendixatlot}% Trennanweisung in die toc-Datei
    }
    \makeatother
    
    
    \begin{document}
    \mainlot
    \chapter{Tabelle im Text}
    \begin{table}
    \begin{tabular}{llc}
    Rang & Name & Rating\\
    1 & Garry Kasparov & 2817\\
    2 & Visnawathan Anand & 2774\\
    3 & Wladimir Kramnik & 2764
    \end{tabular}
    \caption{Tabelle im Text}
    \end{table}
    
    \appendix
    \appendixlot
    \chapter{Tabelle im Anhang}
    \begin{table}
    \begin{tabular}{llc}
    Rang & Name & Rating\\
    1 & Garry Kasparov & 2817\\
    2 & Visnawathan Anand & 2774\\
    3 & Wladimir Kramnik & 2764
    \end{tabular}
    \caption{Tabelle im Anhang}
    \end{table}
    
    
    \end{document}
    Danke schonmal im Voraus!
    Geändert von Thorben4787 (06-07-2009 um 15:31 Uhr)

  8. #8
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.859
    Moin moin,
    Zitat Zitat von Thorben4787 Beitrag anzeigen
    Das mit den Tabellen/Abbildungsverzeichnissen klappt nicht so ganz.
    Es kommt kein Fehler/Warnung, aber die Trennung der Verzeichnisse wird nicht durchgeführt.
    Liegt vermutlich daran, dass "tocdepth" dafür die falsche Variable ist, aber wie heißt denn die "Tiefe" des Tabellenverzeichnissees?
    nee, tocdepth ist schon richtig, aber Du musst diese Trennanweisung auch in die LOF/LOT und nicht nur ins TOC schreiben -- vgl mal:
    Code:
    \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}
    Nu kann man sich streiten, ob \appendixattoc nicht besser \appendixatloflottoc oder so genannt werden sollte, aber dann ist's ja auch nur tocdepth, so nicht Pakete wie minitoc ins Spiel kommen.;-)

    @Marco: welche Warnungen bekommst Du denn so? Evtl lassen sie sich ja mit der nohints-Option bei minitoc abschalten ...

    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  9. #9
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Zitat Zitat von rais Beitrag anzeigen
    @Marco: welche Warnungen bekommst Du denn so? Evtl lassen sie sich ja mit der nohints-Option bei minitoc abschalten ...
    Hallo Rainer,

    diese Option habe ich irgendwie überlesen. Also bei diesem einfachen MB klappt es:
    Code:
    \documentclass[ngerman]{scrreprt}
    \usepackage{babel}
    \usepackage[utf8]{inputenc}
    \usepackage{hyperref}
    \usepackage[nohints]{minitoc}
    
    \begin{document}
    \dominitoc
    \tableofcontents
    \chapter{foo}
    \minitoc
    \section{foobar}
    \section{foobar}
    \subsection{foobarfoo}
    \section{foobar}
    \chapter{foo}
    \minitoc
    \section{foobar}
    \section{foobar}
    \subsection{foobarfoo}
    \section{foobar}
    \end{document}
    Gruß
    Marco

  10. #10
    Registrierter Benutzer
    Registriert seit
    01.07.2009
    Beiträge
    11
    Danke für die schnelle und kompetente Hilfe, klappt natürlich wunderbar!
    Vielen Dank!

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •