Я использую titlesec и titletoc для создания собственного стиля главы, которая содержит minitoc после заголовка главы. И я использую epigraph, когда хочу иметь его перед заголовком главы.
В настоящее время я пишу главу, содержащую несколько разделов, поэтому мини-тему приходится продолжать на следующей странице. Это приводит к неправильной печати эпиграфа, а последние разделы не печатаются в следующем примере:
\documentclass[11pt]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{titletoc}
\usepackage{titlesec}
\newlength{\HeightBeforeChap}
\setlength{\HeightBeforeChap}{0pt}
% redefine chapter style
\titleformat{\chapter}[hang]{\filright}{}{0pt}
{\vspace*{\HeightBeforeChap} \\! \Huge \bfseries\raggedleft}
[\vspace*{4pc}%
\startcontents
{\raggedright\bfseries \large Mini ToC \endgraf}
\titlerule
\vspace{6pt}
\printcontents{p}{1}{\setcounter{tocdepth}{3}}
\vspace{6pt}
\titlerule
]
\usepackage{epigraph}
\renewcommand{\textflush}{flushepinormal}
\setlength\epigraphwidth{.55\textwidth}
\makeatletter
\@ifundefined{HeightBeforeChap}
{% \HeightBeforeChap not defined
}
{% \HeightBeforeChap defined
\renewcommand{\dropchapter}[1]{\setlength{\HeightBeforeChap}{#1} }
}%
\makeatother
\begin{document}
\dropchapter{11pt}
\chapter{title 1}
\epigraphhead[40]{
\epigraph{\itshape Computer programming is an art, because it applies
accumulated knowledge to the world, because it requires skill and ingenuity,
and especially because it produces objects of beauty.
}{Donald Knuth, \textit{"Computer Programming as an Art". Communications of the ACM, Volume 17, Issue 12, dl.acm.org., December 1974}}
}
\dropchapter{0cm}
\section{section 1}
\subsection{title}
\subsubsection{title}
\section{section 2}
\section{section 3}
\section{section 4}
\subsection{title}
\subsubsection{title}
\section{section 5}
\section{section 6}
\section{section 7}
\subsection{title}
\subsubsection{title}
\section{section 8}
\subsection{title}
\subsubsection{title}
\section{section 9}
\subsection{title}
\subsubsection{title}
\section{section 10}
\section{section 11}
\section{section 12}
\section{section 13}
\subsection{title}
\subsubsection{title}
\section{section 14}
\subsection{title}
\subsubsection{title}
\section{section 15}
\subsection{title}
\subsubsection{title}
\section{section 16}
\section{section 17}
\section{section 18}
\section{section 19}
\subsection{title}
\subsubsection{title}
\section{section 20}
\subsection{title}
\subsubsection{title}
\section{section 21}
\subsection{title}
\subsubsection{title}
\section{section}
\chapter{title 2}
\section{title}
\end{document}
Вот какие результаты я получаю:
Спасибо за ответэгрегЯ думаю, что это связано с окончанием страницы, необходимой для печати эпиграфа, но я не знаю, как это решить.
Спасибо за помощь.
решение1
Поскольку даже после назначенного мной вознаграждения не было ни одного комментария, я придумал ужасное решение, ожидая лучших решений от SE.
Уродливый:
\documentclass[11pt]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{titletoc}
\usepackage{titlesec}
\newlength{\HeightBeforeChap}
\setlength{\HeightBeforeChap}{0pt}
\newcommand{\BeforeChapCmd}{}
\newcommand{\BeforeChap}[1]{\gdef\BeforeChapCmd{#1}}
% redefine chapter style
\titleformat{\chapter}[hang]{\filright}{}{0pt}
{\BeforeChapCmd\leavevmode\vspace*{\HeightBeforeChap}\BeforeChap{}\\ \Huge \bfseries\raggedleft}
[\vspace*{4pc}%
\startcontents
{\raggedright\bfseries \large Mini ToC \endgraf}
\titlerule
\vspace{6pt}
\printcontents{p}{1}{\setcounter{tocdepth}{3}}
\vspace{6pt}
\titlerule
\leavevmode
]
\usepackage{epigraph}
\renewcommand{\epigraphhead}[2][]{\BeforeChap{#2}
\begin{document}
% \dropchapter{11pt}
\epigraphhead[40]{
\epigraph{\itshape Computer programming is an art, because it applies
accumulated knowledge to the world, because it requires skill and ingenuity,
and especially because it produces objects of beauty.
}{Donald Knuth, \textit{"Computer Programming as an Art". Communications of the ACM, Volume 17, Issue 12, dl.acm.org., December 1974}}
}
\chapter{title 1}
% \dropchapter{0cm}
\section{section 1}
\subsection{title}
\subsubsection{title}
\section{section 2}
\section{section 3}
\section{section 4}
\subsection{title}
\subsubsection{title}
\section{section 5}
\section{section 6}
\section{section 7}
\subsection{title}
\subsubsection{title}
\section{section 8}
\subsection{title}
\subsubsection{title}
\section{section 9}
\subsection{title}
\subsubsection{title}
\section{section 10}
\section{section 11}
\section{section 12}
\section{section 13}
\subsection{title}
\subsubsection{title}
blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla.
\section{section 14}
\subsection{title}
\subsubsection{title}
\section{section 15}
\subsection{title}
\subsubsection{title}
\section{section 16}
\section{section 17}
\section{section 18}
\section{section 19}
\subsection{title}
\subsubsection{title}
\section{section 20}
\subsection{title}
\subsubsection{title}
\section{section 21}
\subsection{title}
\subsubsection{title}
\section{section}
\chapter{title 2}
\section{title}
\end{document}