我正在将book
类与titlesec
、fancyhdr
和包一起使用。使用在部分之后打印部分目录titletoc
时出现问题。\printcontents
“一些文本”出现在该章节之后的下一个奇数页上。
\part{One}
Some text
\chapter{First}
但我希望它出现在部分目录之后。
我的 MWE(如果有必要的话,我会使用 LuaLaTeX)
\documentclass[10pt]{book}
\usepackage{lipsum}
\usepackage{geometry}
\usepackage{fancyhdr}
\usepackage[newparttoc,explicit]{titlesec}
\usepackage{titletoc}
\usepackage[%
hidelinks,%
final,%
]{hyperref}
\titleformat{\part}[display]
{\raggedright\sffamily\bfseries\fontsize{80}{80}\selectfont}
{Part~\thepart}
{1cm}
{\Huge\bfseries#1}[{
\startcontents[parts]
\normalsize
\normalfont
\mdseries
\vspace*{1cm}
\printcontents[parts]{p}{0}{\setcounter{tocdepth}{4}}
}]
\renewcommand{\thechapter}{\thepart.\arabic{chapter}}
\begin{document}
\tableofcontents
\part{One}
Some text
\chapter{First}
\section{1}
\lipsum
\end{document}
答案1
并控制随部分附带的空白页,请在解决该问题的book.cls
命令后放置以下标签:titlesec.sty
\begin{document}
\documentclass[openany,10pt]{book}
\usepackage{lipsum}
\usepackage{geometry}
\usepackage{fancyhdr}
\usepackage[newparttoc,explicit]{titlesec}
\usepackage{titletoc}
\usepackage[%
hidelinks,%
final,%
]{hyperref}
\titleformat{\part}[display]
{\raggedright\sffamily\bfseries\fontsize{80}{80}\selectfont}
{Part~\thepart}
{1cm}
{\Huge\bfseries#1}[{
\startcontents[parts]
\normalsize
\normalfont
\mdseries
\vspace*{1cm}
\printcontents[parts]{p}{0}{\setcounter{tocdepth}{4}}
}]
\renewcommand{\thechapter}{\thepart.\arabic{chapter}}
\begin{document}
\makeatletter
\def\@endpart{%\vfil\newpage
\if@twoside
\if@openright
\null
\thispagestyle{empty}%
%\newpage
\fi
\fi
\if@tempswa
\twocolumn
\fi}
\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}}}%
\newpage
\fi
\fi
\if@tempswa
\twocolumn
\fi
\ignorespaces}
\makeatother
\tableofcontents
\part{One}
Some text
\chapter{First}
\section{1}
\lipsum
\end{document}
输出为: