
Я использую класс двусторонней книги с пакетом titlesec и переопределением стиля заголовка моей детали.
Я хочу, чтобы названия моих частей были на одной правой странице, а небольшой вводный текст был на левой странице сразу за ней. Этот текст не является главой или чем-то, на что ссылается оглавление.
Я пытался :
\documentclass[twoside,12pt,openright]{book}
\usepackage{titlesec}
\titleformat{\part}[frame]
{\bfseries\Huge}
{\filright\large\enspace{\partname}\enspace}
{40pt}
{\Large\filcenter\MakeUppercase}
\begin{document}
\makeatletter
\@openrightfalse
\part{part I}
bla bla bla
\@openrighttrue
\makeatother
\end{document}
но название моей части идет слева.
Если я сделаю :
\documentclass[twoside,12pt,openright]{book}
\usepackage{titlesec}
\titleformat{\part}[frame]
{\bfseries\Huge}
{\filright\large\enspace{\partname}\enspace}
{40pt}
{\Large\filcenter\MakeUppercase}
\begin{document}
\part{part I}
\makeatletter
\@openrightfalse
bla bla bla
\@openrighttrue
\makeatother
\end{document}
после заголовка части имеется пустая страница.
Есть идеи ?
решение1
\part
создает пустую страницу, но вы можете переопределить ее, добавив текст, например:
\documentclass[twoside,12pt,openright]{book}
\makeatletter
\def\@endpart{\vfil\newpage
\if@twoside
\if@openright
\null
\thispagestyle{empty}%
%<<<<<<<<<<<<<<<<<<<<
\vspace*{\fill}%
\begin{quote}%
\partnote
\end{quote}%
\vspace*{\fill}%
%<<<<<<<<<<<<<<<<<<<<
\newpage
\fi
\fi
\if@tempswa
\twocolumn
\fi}
\newcommand\partnote{}
\makeatother
\begin{document}
\renewcommand\partnote{This part is about something}
\part{pone title}
bla bla bla
\end{document}
с titlesec определение необходимо немного переместить и скорректировать:
\documentclass[twoside,12pt,openright]{book}
\usepackage{titlesec}
\titleformat{\part}[frame]
{\bfseries\Huge}
{\filright\large\enspace{\partname}\enspace}
{40pt}
{\Large\filcenter\MakeUppercase}
\def\@endpart{\vfil\newpage
\if@twoside
\if@openright
\null
\thispagestyle{empty}%
%<<<<<<<<<<<<<<<<<<<<
\vspace*{\fill}%
\begin{quote}%
\partnote
\end{quote}%
\vspace*{\fill}%
%<<<<<<<<<<<<<<<<<<<<
\newpage
\fi
\fi
\if@tempswa
\twocolumn
\fi}
\newcommand\partnote{}
\begin{document}
\makeatletter
\def\ttl@page@ii#1#2#3#4#5#6#7{%
\ttl@assign\@tempskipa#3\relax\beforetitleunit
\if@openright
\cleardoublepage
\else
\clearpage
\fi
\@ifundefined{ttl@ps@#6}%
{\thispagestyle{plain}}%
{\thispagestyle{\@nameuse{ttl@ps@#6}}}%
\if@twocolumn
\onecolumn
\@tempswatrue
\else
\@tempswafalse
\fi
\vspace*{\@tempskipa}%
\@afterindenttrue
\ifcase#5 \@afterindentfalse\fi
\ttl@assign\@tempskipb#4\relax\aftertitleunit
\ttl@select{#6}{#1}{#2}{#7}%
\ttl@finmarks
\@ifundefined{ttlp@#6}{}{\ttlp@write{#6}}%
\vspace{\@tempskipb}%
\newpage
\if@twoside
\if@openright
\null
\@ifundefined{ttl@ps@#6}%
{\thispagestyle{empty}}%
{\thispagestyle{\@nameuse{ttl@ps@#6}}}%
%<<<<<<<<<<<<<<<<<<<<
\vspace*{\fill}%
\begin{quote}%
\partnote
\end{quote}%
\vspace*{\fill}%
%<<<<<<<<<<<<<<<<<<<<
\newpage
\fi
\fi
\if@tempswa
\twocolumn
\fi
\ignorespaces}%
\makeatother
\renewcommand\partnote{This part is about something}
\part{pone title}
bla bla bla
\end{document}
решение2
Я нашел способ. Не уверен, что он лучший, но он работает.
\documentclass[twoside,12pt,openright]{book}
\usepackage{titlesec}
\titleformat{\part}[frame]
{\bfseries\Huge}
{\filright\large\enspace{\partname}\enspace}
{40pt}
{\Large\filcenter\MakeUppercase}
\titleformat{\part}{top}
\begin{document}
\part{part I}
\clearpage
bla bla bla
\end{document}
Начинает \titleformat{\part}{top}
страницу и размещает заголовок наверху. С форматом, который я определил, он находится на нужной мне высоте. Затем \clearpage
создает новую страницу, на которой я могу написать свое вступление.
Не очень чисто, но эффективно.