¿Cómo puedo poner un minitoc antes de un capítulo, en la página de enfrente?

¿Cómo puedo poner un minitoc antes de un capítulo, en la página de enfrente?

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 \minitocconseguir 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:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Respuesta2

Bueno, esta es una característica algo oculta, pero minitocproporciona el \adjustmtccomando, 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 minitocsque 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, minitocetc. con una cantidad de entradas; no son importantes para la funcionalidad.

ingrese la descripción de la imagen aquí

Actualizar(¡Con algo del \cleartoevenpagecódigo de la respuesta de `jfbu!)

Esto ahora funciona automáticamente, es decir, \chapteragrega minitocla 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}

información relacionada