
Ich schreibe ein großes Buch und verwende Minitoc, um an den Anfang jedes Kapitels ein kleines Inhaltsverzeichnis zu setzen. Aber es sieht schrecklich aus.
Ich möchte stattdessen den Minitoc auf die gegenüberliegende Seite setzenVordie erste Seite des Kapitels. Wenn beispielsweise Kapitel 9 auf Seite 503 beginnt, möchte ich, dass das Minitoc für Kapitel 9 auf Seite 502 erscheint.
Ich weiß, wie man eine gerade Seite löscht. Die Frage ist, was ich stattdessen verwende, \minitoc
um das Minitoc für das zu erhaltennächsteKapitel und nicht das aktuelle?
Verwandte Frage:Wie platziert man eine Abbildung mit korrekter Nummerierung auf der gegenüberliegenden Seite einer Kapitelseite?
Antwort1
Sie könnenetochierfür über seinen Label/Ref-Mechanismus für Inhaltsverzeichnisse.
\documentclass{book}
\usepackage{etoc}
\usepackage{blindtext}
\makeatletter
\newcommand*\cleartoevenpage {%
\clearpage
\if@twoside \ifodd \c@page \hbox {}\newpage
\if@twocolumn \hbox {}\newpage \fi
\fi \fi }
\makeatother
\begin{document}
\tableofcontents
% switch to article like style for table of contents
% (else they will start like chapters on odd numbered pages)
% would need adjustment in two-column mode
\etocarticlestyle
\renewcommand*\etocbeforetitlehook {\cleartoevenpage}
\tableofcontents\ref{toc:first}
\chapter{First}
\invisiblelocaltableofcontents\label{toc:first}
\section{Foo}
\blindtext[2]
\subsection{FooFoo}
\blindtext[5]
\subsubsection{FooFooFoo}
\blindtext[5]
\section{Foo2}
\blindtext[3]
\subsection{FooFoo2}
\blindtext[7]
\subsubsection{FooFooFoo2}
\blindtext[7]
\tableofcontents\ref{toc:bar}
\chapter{Bar}
\invisiblelocaltableofcontents\label{toc:bar}
\section{Bar}
\blindtext[2]
\subsection{BarBar}
\blindtext[5]
\subsubsection{BarBarBar}
\blindtext[5]
\tableofcontents\ref{toc:ear}
\chapter{Ear}
\invisiblelocaltableofcontents\label{toc:ear}
\section{Ear}
\blindtext[2]
\subsection{EarEar}
\blindtext[5]
\subsubsection{EarEarEar}
\blindtext[5]
\section{Ear2}
\blindtext[3]
\subsection{EarEar2}
\blindtext[7]
\subsubsection{EarEarEar2}
\blindtext[7]
\tableofcontents\ref{toc:fur}
\chapter{Fur}
\invisiblelocaltableofcontents\label{toc:fur}
\section{Fur}
\blindtext[2]
\subsection{FurFur}
\blindtext[5]
\subsubsection{FurFurFur}
\blindtext[5]
\end{document}
Screenshots:
Antwort2
Nun, dies ist eine etwas versteckte Funktion, minitoc
sorgt aber für den \adjustmtc
Befehl, der für markierte Kapitel usw. gedacht ist, also für den Fall, dass der MTC-Zähler um eins abweicht.
Dieser Befehl kann „missbraucht“ werden, um den Minitoc für das folgende Kapitel bereitzustellen.
Der \adjustmtc[n]
Befehl ist auf Seite 34 des aktuellen Handbuchs dokumentiert minitoc
. Das optionale Argument enthält die Anzahl der minitocs
zu inkrementierenden Werte (Standard n=1
).
\documentclass{book}
\usepackage{minitoc}
\usepackage{blindtext}
\setcounter{minitocdepth}{3}
\setcounter{secnumdepth}{3}
\dominitoc
\begin{document}
\tableofcontents
\markboth{}{}
\clearpage
\adjustmtc
\minitoc
\chapter{First}
\section{Foo}
\blindtext[2]
\subsection{FooFoo}
\blindtext[5]
\subsubsection{FooFooFoo}
\blindtext[5]
\chapter{Foobar}
\end{document}
Bitte beachten: Die \setcounter...
Angaben dienen lediglich zum Auffüllen der minitoc
Felder etc. mit einer Anzahl von Einträgen – sie sind für die Funktionalität nicht von Belang.
Aktualisieren(mit etwas \cleartoevenpage
Code aus der Antwort von „jfbu“)
Dies funktioniert nun automatisch, d.h. es wird auf der geraden Seite davor \chapter
hinzugefügt .minitoc
\documentclass{book}
\usepackage{xparse}
\usepackage{minitoc}
\setcounter{tocdepth}{5}
\usepackage{blindtext}
\setcounter{minitocdepth}{3}
\setcounter{secnumdepth}{3}
\makeatletter
\let\latex@chapter\chapter
\newcommand*\cleartoevenpage {%
\clearpage
\if@twoside \ifodd \c@page \hbox {}\newpage
\if@twocolumn \hbox {}\newpage \fi
\fi \fi
}
% Automatic addition of minitoc
\RenewDocumentCommand{\chapter}{som}{%
\def\@@chaptertitlefortoc{#3}%
\IfValueTF{#2}{%
\def\@@chaptertitlefortoc{#2}%
}%
\IfBooleanTF{#1}{%
\latex@chapter*{#3}
}{%
\cleartoevenpage
\markboth{}{}%
\ifnum\value{chapter} = 0
\adjustmtc
\fi
\minitoc
\latex@chapter[\@@chaptertitlefortoc]{#3}
}
}
\makeatother
\dominitoc
\begin{document}
\tableofcontents
\chapter{First}
\section{Foo}
\blindtext[2]
\subsection{FooFoo}
\blindtext[5]
\subsubsection{FooFooFoo}
\blindtext[5]
\chapter{Foobar}
\blindtext[5]
\section{Foo}
\blindtext[5]
\chapter{Foobar other}
\blindtext[5]
\section{Other Foo}
\blindtext[5]
\end{document}