goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Mehrere verschachtelte Inhaltsverzeichnisse

 

MoonKid
Forum-Meister
Forum-Meister

Beiträge: 683
Anmeldedatum: 30.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.08.2017, 17:07     Titel:
  Antworten mit Zitat      
Anonymous hat Folgendes geschrieben:
Kannst Du bitte genau angeben, welche Überschrift in welchem Verzeichnis landen soll? Ich werde bisher aus Deinen Erklärungen nicht so ganz schlau.

Sorry. Ähm...

Hauptinhaltsverzeichnis (standardtoc)
  • alles vom ersten \blinddocument
  • "Anhang"


Anhangsverzeichnis (appendixtoc)
  • alles vom zweiten \blinddocument
  • "Protocol"
  • \section{Section im Anhang (zweiter Teil)}
  • alles vom vierten \blinddocument


Protokollinhaltsverzeichnis (protocoltoc)
  • alles vom dritten \blinddocument
  • \section{Letzte Section im Protokol}

_________________

XeLaTeX, TeX Live, vim-latexsuite aus Siduction (Debian GNU/Linux unstable)

Zuletzt bearbeitet von MoonKid am 05.08.2017, 12:41, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen

esdd
Forum-Meister
Forum-Meister

Beiträge: 2216
Anmeldedatum: 07.02.10
Wohnort: Stutensee
Version: MiKTeX 2.9
     Beitrag Verfasst am: 04.08.2017, 20:31     Titel:
  Antworten mit Zitat      
Die Überschriften nehmen jeweils einen Eintrag in die Datei mit der Endung \ext@toc vor. Wenn \ext@toc den Wert toc hat, erfolgt der Eintrag also in die .toc Datei und die Überschrift taucht dann (natürlich abhängig vom Wert von tocdepth) im Hauptinhaltsverzeichnis auf.

Ist der Wert dagegen atoc, dann kommt der Eintrag dagegen in die Datei mit der Endung .atoc. Analoges gilt für ptoc.

Den Wechsel der Werte von \ext@toc nimmst Du mit den \use...tocs Befehl vor, da diese \ext@toc jeweils passend umdefinieren.

Du musst \useappendixtocs also vor der ersten Überschrift positionieren, die im Anhangsverzeichnis stehen soll. \useprotocoltocs vor der ersten Überschrift, die statt dessen im Protokollverzeichnis stehen soll. Und dann wieder \useappendixtocs vor der ersten Überschrift, die dann wieder im Anhangsverzeichnis auftauchen soll.

Das wäre dann vermutlich etwas wie

Code • Öffne in Overleaf
\documentclass[listof=totoc]{scrartcl}
\usepackage{xltxtra}
\defaultfontfeatures{Mapping=tex-text}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}
\usepackage{mwe}% minimal working example
\usepackage{hyperref}
\usepackage{bookmark}

\DeclareNewTOC[%
    owner=\jobname,
    listname={Inhalt des Anhangs},% Titel des Verzeichnisses
]{atoc}% Dateierweiterung (a=appendix, toc=table of contents)
\DeclareNewTOC[%
    owner=\jobname,
    listname={Inhalt des Protokolls},
]{ptoc}% Dateierweiterung (p=protocol, top=table of contents)

\makeatletter
\newcommand*{\useappendixtocs}{%
  \renewcommand*{\ext@toc}{atoc}%
  \scr@ifundefinedorrelax{hypersetup}{}{% damit es auch ohne hyperref funktioniert
    \hypersetup{bookmarkstype=atoc}%
  }%
}
\newcommand*{\useprotocoltocs}{%
  \renewcommand*{\ext@toc}{ptoc}%
  \scr@ifundefinedorrelax{hypersetup}{}{% damit es auch ohne hyperref funktioniert
    \hypersetup{bookmarkstype=ptoc}%
  }%
}
\newcommand*{\usestandardtocs}{%
  \renewcommand*{\ext@toc}{toc}%
  \scr@ifundefinedorrelax{hypersetup}{}{% damit es auch ohne hyperref funktioniert
    \hypersetup{bookmarkstype=toc}%
  }%
}
\ifundefinedorrelax{ext@toc}{% damit es auch mit  älteren KOMA-Script Versionen funktioniert
  \newcommand*{\ext@toc}{toc}
  \renewcommand{\addtocentrydefault}[3]{%
    \expandafter\tocbasic@addxcontentsline\expandafter{\ext@toc}{#1}{#2}{#3}%
  }
}{}
\makeatother

\begin{document
}
% Hauptdokument
\tableofcontents
\blinddocument % #1
% Anhang
\appendix
\addpart{\appendixname}
  \useappendixtocs% ab hier Eintrag ins Anhangsverzeichnis
  \listofatocs
  \blinddocument % #2
  % Protokoll
  \section{Protokoll}
    \useprotocoltocs% ab hier Eintrag ins Protokollverzeichnis
    \listofptocs
    \blinddocument % #3
    \section{Letzte Section im Protokoll}
  % wieder Anhang
  \useappendixtocs% ab hier wieder Eintrag ins Anhangsverzeichnis
  \section{Section im Anhang (zweiter Teil)}
  \blinddocument % #4
\end{document}


Wobei ich den Abschnitt Protokoll dann eher in Unterabschnitte unterteilen würde:

Code • Öffne in Overleaf
\documentclass[listof=totoc]{scrartcl}
\usepackage{xltxtra}
\defaultfontfeatures{Mapping=tex-text}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}
\usepackage{mwe}% minimal working example
\usepackage{hyperref}
\usepackage{bookmark}

\DeclareNewTOC[%
    owner=\jobname,
    listname={Inhalt des Anhangs},% Titel des Verzeichnisses
]{atoc}% Dateierweiterung (a=appendix, toc=table of contents)
\DeclareNewTOC[%
    owner=\jobname,
    listname={Inhalt des Protokolls},
]{ptoc}% Dateierweiterung (p=protocol, top=table of contents)
\setuptoc{ptoc}{leveldown}% Überschrift als Unterabschnitt statt als Abschnitt

\makeatletter
\newcommand*{\useappendixtocs}{%
  \renewcommand*{\ext@toc}{atoc}%
  \scr@ifundefinedorrelax{hypersetup}{}{% damit es auch ohne hyperref funktioniert
    \hypersetup{bookmarkstype=atoc}%
  }%
}
\newcommand*{\useprotocoltocs}{%
  \renewcommand*{\ext@toc}{ptoc}%
  \scr@ifundefinedorrelax{hypersetup}{}{% damit es auch ohne hyperref funktioniert
    \hypersetup{bookmarkstype=ptoc}%
  }%
}
\newcommand*{\usestandardtocs}{%
  \renewcommand*{\ext@toc}{toc}%
  \scr@ifundefinedorrelax{hypersetup}{}{% damit es auch ohne hyperref funktioniert
    \hypersetup{bookmarkstype=toc}%
  }%
}
\ifundefinedorrelax{ext@toc}{% damit es auch mit  älteren KOMA-Script Versionen funktioniert
  \newcommand*{\ext@toc}{toc}
  \renewcommand{\addtocentrydefault}[3]{%
    \expandafter\tocbasic@addxcontentsline\expandafter{\ext@toc}{#1}{#2}{#3}%
  }
}{}
\makeatother

\begin{document
}
% Hauptdokument
\tableofcontents
\blinddocument % #1
% Anhang
\appendix
\addpart{\appendixname}
  \useappendixtocs% ab hier Eintrag ins Anhangsverzeichnis
  \listofatocs
  \blinddocument % #2
  % Protokoll
  \section{Protokoll}
    \useprotocoltocs% ab hier Eintrag ins Protokollverzeichnis
    \listofptocs
    \subsection{Erster Unterabschnitt im Protokoll}
    \Blindtext[10] % #3
    \subsection{Letzter Unterabschnitt im Protokoll}
  % wieder Anhang
  \useappendixtocs% ab hier wieder Eintrag ins Anhangsverzeichnis
  \section{Section im Anhang (zweiter Teil)}
  \blinddocument % #4
\end{document}


Was jetzt noch nicht realisiert ist, weil ich mir auch nicht sicher bin, ob Du das tatsächlich willst, ist, dass die Überschrift "Protokoll" sowohl im Anhangsverzeichnis als auch im Protokollverzeichnis selbst eingetragen wird.
Private Nachricht senden Benutzer-Profile anzeigen

MoonKid
Forum-Meister
Forum-Meister

Beiträge: 683
Anmeldedatum: 30.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.08.2017, 12:59     Titel:
  Antworten mit Zitat      
Super! Vielen Dank für die Erklärung. Jetzt hab ich es auch verstanden - denk ich. Wink

Das mit der Protkoll-Überschrift hatte ich nicht zu Ende gedacht. Habs jetzt so gemacht.
Code • Öffne in Overleaf

...
% Protokol im Anhang
\addpart{Protokoll}
\useprotocoltocs
\listofptocs
\blinddocument % #3
\subsection{Letzte Section im Protokoll}
% wieder Anhang
\useappendixtocs
...
 

_________________

XeLaTeX, TeX Live, vim-latexsuite aus Siduction (Debian GNU/Linux unstable)
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen Gehe zu Seite Zurück  1, 2



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de goPCB.de


  Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2017 goLaTeX.de