Separate Inhaltsübersicht VOR Inhaltsverzeichnis

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Separate Inhaltsübersicht VOR Inhaltsverzeichnis

von RedLenco » Di 11. Feb 2020, 13:03

Moin moin,

die zweite Lösung hat super geklappt und ich finde sie deutlich eleganter als mit scrwfile. Ich glaube, ich habe auch verstanden, wie die Lösung funktioniert. Vielen Dank!

BG aus dem Ruhrgebiet

von oft gesehener » Di 21. Jan 2020, 08:19

Warnungen? Was für Warnungen? Meinst Du die ALPHA-Warnung von scrwfile? Die kommt immer. Im zweiten Beispiel wird man sie aber einfach los, indem man das dort nicht benötigte scrwfile weglässt.

Wie dem auch sei, auch für deinen neuen Wunsch kann man wiederum den Zähler tocdepth manipulieren. Dieses Mal muss man ihn allerdings innerhalb des Inhaltsverzeichnisses manipulieren, die Änderung also in die toc-Datei schreiben. Für den ersten gezeigten Lösungsvorschlag ist das einfach, weil man die Änderung lediglich in die Datei mit Endung .stoc schreibt, statt in die eigentliche toc-Datei. Damit wirkt sie sich dann nur auf die Gliederungsübersicht, die mit \listofstocs gesetzt wird, aus. Das brauche ich sicher nicht zu zeigen.

Bei dem zweiten kann man die Änderung nicht ganz so einfach durchführen, weil ja zweimal dieselbe Datei gelesen wird. Man kann also nicht einfach nur etwas in die Gliederungsübersicht schreiben. Da TeX aber eine Makrosprache ist, kann man natürlich Makros in die toc-Datei schreiben, die dann je nach Verzeichnis zu unterschiedlichen Ergebnissen expandieren. Das Schreiben in die toc-Datei knüpfe ich in dem Fall einmal beispielhaft an die Befehle \frontmatter und \mainmatter. Man kann sich aber natürlich auch eigene Anweisungen dafür definieren, beispielsweise um sie mehrfach im Dokument aufzurufen:
\documentclass[listof=totoc]{scrbook}
\usepackage[ngerman]{babel}
\usepackage{blindtext}

\usepackage{xpatch}
\makeatletter
\xapptocmd{\frontmatter}{%
  \addtocontents{\ext@toc}{\protect\setcounter{tocdepth}{\protect\nothingtocdepth}}%
}{}{\PatchFailed}
\xapptocmd{\mainmatter}{%
  \addtocontents{\ext@toc}{\protect\setcounter{tocdepth}{\protect\defaulttocdepth}}%
}{}{\PatchFailed}
\makeatother
\newcommand*{\nothingtocdepth}{\subsectiontocdepth}
\newcommand*{\defaulttocdepth}{\subsectiontocdepth}

\begin{document}
\frontmatter
\title{Beispiel}
\author{Ich}
\maketitle
\begingroup
\csname @fileswfalse\endcsname
\renewcommand*{\nothingtocdepth}{-\maxdimen}
\renewcommand*{\defaulttocdepth}{\chaptertocdepth}
\listoftoc[Gliederungsübersicht]{toc}
\endgroup

\tableofcontents
\listoffigures
\listoftables
\addchap{Vorwort}
\blindtext
\mainmatter
\blinddocument
\blinddocument
\blinddocument
\end{document}
Bitte die gezeigten Anweisungen in den jeweiligen Anleitungen nachlesen!

Alternativ könnte man für die Gliederungsübersicht mit \DeclareNewTOC auch ein eigenes Verzeichnis anlegen und durch Umdefinieren von \addchaptertocentry dafür sorgen, dass nur in dem Bereich, in dem man es haben will, zusätzlich zum Inhaltsverzeichnis auch in die Gliederungsübersicht geschrieben wird. Das ist auch wieder recht einfach:
\documentclass[listof=totoc]{scrbook}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage{xpatch}

\DeclareNewTOC[%
  types=shortcontents,
  listname={Gliederungsübersicht},
  owner=ich,
]{stoc}
\newif\ifaddtostoc
\xapptocmd{\addchaptertocentry}{%
  \ifaddtostoc
    \addxcontentsline{stoc}{chapter}[{#1}]{#2}%
  \fi
}{}{\PatchFailed}  

\begin{document}
\listofshortcontents

\tableofcontents
\listoffigures
\listoftables
\addchap{Vorwort}
\blindtext
\addtostoctrue

\blinddocument
\blinddocument
\blinddocument
\end{document}
Hier ist es für das Verständnis erst recht wichtig, die verwendeten Befehle in den jeweiligen Anleitungen nachzulesen.

Da beide Beispiel ohne scrwfile auskommen, gibt es auch keine Warnung.

von RedLenco » Mo 20. Jan 2020, 20:07

Hey, vielen Dank für die Antwort. Ich habe es jetzt mal ausprobiert. Man bekommt zwar eine Warnung aber es funktioniert immerhin.

Kann mir jetzt noch einer sagen, wie ich aus der erstellten STOC-Datei spezielle Einträge lösche? Konkret: ich möchte alle Verzeichnisse (Inhaltsverzeichnis, Tabellenverzeichnis, etc.) und auch Vorwort o.Ä. NICHT mit in die Gliederungsübersicht haben. Da sie aber auch auf der gleichen Gliederungsebene wie die normalen Kapitel sind, werden sie direkt mit aufgenommen.

Ich hoffe auch dafür gibts einen super Tip! Vielen Dank schonmal!!

von Gast » Mi 27. Nov 2019, 22:04

Dafür gibt es viele Möglichkeiten. Eine IMHO seltener gezeigte wäre die Verwendung von scrwfile:
\documentclass{scrbook}
\usepackage[ngerman]{babel}
\usepackage{scrwfile}
\usepackage{blindtext}

\TOCclone[Gliederungsübersicht]{toc}{stoc}
\AfterTOCHead[stoc]{\value{tocdepth}=\chaptertocdepth}
\begin{document}
\listofstoc

\tableofcontents
\blinddocument
\blinddocument
\blinddocument
\end{document}
Die Anleitung zu dem Paket ist ebenfalls im scrguide.
Andere Möglichkeiten wäre, die toc-Datei zweimal einzulesen, aber nur beim zweiten Mal auch zum Schreiben zu öffnen, beispielsweise mit:
\documentclass{scrbook}
\usepackage[ngerman]{babel}
\usepackage{scrwfile}
\usepackage{blindtext}

\begin{document}
\begingroup
\csname @fileswfalse\endcsname
\value{tocdepth}\chaptertocdepth
\listoftoc[Gliederungsübersicht]{toc}
\endgroup

\tableofcontents
\blinddocument
\blinddocument
\blinddocument
\end{document}
Das ist aber ein übler Hack und kann auch in die Hose gehen. Oder man definiert sich ein neues Verzeichnis mit \DeclareNewTOC und definiert dann \addchaptertocentry so um, dass beide Verzeichnisse gefüllt werden. Die Lösung findet man sicher irgendwo im Netz, so dass ich sie mir jetzt erst einmal spare.

Separate Inhaltsübersicht VOR Inhaltsverzeichnis

von RedLenco » Mi 27. Nov 2019, 21:31

Moin Zusammen,

Ich glaube mein Anliegen ist gar nicht so kompliziert, aber ich habe trotzdem noch keine Lösung finden können:

Ich schreibe eine Arbeit, die relativ viele Kapitel enthält; das Inhaltsverzeichnis umfasst über eine Seite. Die Vorgabe der Uni ist in einem solchen Fall vor das Inhaltsverzeichnis noch eine Inhaltsübersicht einzufügen, die lediglich die Kapitelüberschriften abbildet und eben nur eine Seite lang ist.

Wie kann ich das am Besten erreichen? Ich habe es schon mit minitoc versucht, aber damit noch keine Lösung gefunden und außerdem ist die Verwendung in der KOMA-Klasse ja nicht empfohlen.

Hoffentlich kann mir jemand helfen! Danke schonmal!

Beste Grüße!

Nach oben