
Estoy escribiendo un libro grande y uso minitoc para colocar una pequeña tabla de contenido al comienzo de cada capítulo. Pero tiene una pinta terrible.
En lugar de eso, me gustaría poner el minitoc en la página opuesta.antesla primera página del capítulo. Por ejemplo, si el Capítulo 9 comienza en la página 503, entonces me gustaría que el minitoc del Capítulo 9 aparezca en la página 502.
Sé cómo pasar a una página par. La pregunta es ¿qué uso en lugar de \minitoc
conseguir el minitoc para elpróximocapítulo en lugar del actual?
Pregunta relacionada:¿Cómo poner una figura en la página opuesta de una página de capítulo con la numeración correcta?
Respuesta1
Puedes usaretocpara ello, a través de su mecanismo de etiqueta/referencia para tocs.
\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}
Capturas de pantalla:
Respuesta2
Bueno, esta es una característica algo oculta, pero minitoc
proporciona el \adjustmtc
comando, que está destinado a capítulos destacados, etc., es decir, en el caso de que el contador mtc esté desviado en uno.
Este comando puede "utilizarse mal" para proporcionar el minitoc para el siguiente capítulo.
El \adjustmtc[n]
comando está documentado en la página 34 del manual actual de minitoc
. El argumento opcional contiene el número de elementos minitocs
que se van a incrementar (predeterminado 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}
Tenga en cuenta: las \setcounter...
declaraciones son solo para completar, minitoc
etc. con una cantidad de entradas; no son importantes para la funcionalidad.
Actualizar(¡Con algo del \cleartoevenpage
código de la respuesta de `jfbu!)
Esto ahora funciona automáticamente, es decir, \chapter
agrega minitoc
la página par anterior.
\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}