Как разместить мини-руководство перед главой на развороте?

Как разместить мини-руководство перед главой на развороте?

Я пишу большую книгу, использую minitoc, чтобы разместить небольшое оглавление в начале каждой главы. Но выглядит ужасно.

Вместо этого я хотел бы разместить мини-документ на следующей странице.допервая страница главы. Например, если Глава 9 начинается на странице 503, то я бы хотел, чтобы мини-руководство для Главы 9 появилось на странице 502.

Я знаю, как очистить до четной страницы. Вопрос в том, что мне использовать вместо того, чтобы \minitocполучить миниток дляследующийглаву, а не текущую?


Сопутствующий вопрос:Как разместить рисунок на титульном листе главы с правильной нумерацией?

решение1

Вы можете использоватьэтокдля этого используется механизм меток/ссылок для 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}

Скриншоты:

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

решение2

Ну, это несколько скрытая функция, но minitocона обеспечивает команду \adjustmtc, которая предназначена для отмеченных звездочкой глав и т. д., т. е. для случая, когда счетчик mtc отключился на единицу.

Эту команду можно «неправильно» использовать для предоставления мини-документа для следующей главы.

Команда \adjustmtc[n]описана на странице 34 текущего руководства minitoc. Необязательный аргумент содержит число для minitocsувеличения (по умолчанию 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}

Обратите внимание: \setcounter...операторы предназначены только для заполнения minitocи т. д. определенного количества записей — они не важны для функциональности.

введите описание изображения здесь

Обновлять(с частью \cleartoevenpageкода из ответа `jfbu!)

Теперь это работает автоматически, т.е. \chapterдобавляется 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}

Связанный контент