简单的例子:
\documentclass{scrreprt}
\usepackage{minitoc}
\begin{document}
\doparttoc[n]
\noptcrule
\tableofcontents
\part{foo}
\parttoc
\chapter{bar1}
\chapter{bar2}
\chapter{bar3}
\chapter{bar4}
\end{document}
这样会创建一个不错的文档,但该部分的目录位于新页面上,但它与部分标题完全适合放在同一页上。有没有办法让部分目录与部分标题放在同一页上?这样它就像章节的 minitoc 一样。
答案1
您可以重新定义\partheadendvskip
以抑制默认值\vfil\newpage
;您可能还想重新定义\partheadstartvskip
以垂直向上移动零件标题。最后,您需要重新定义\beforeparttoc
:
\documentclass{scrreprt}
\usepackage{minitoc}
\renewcommand*{\partheadstartvskip}{%
\null\vskip20pt
}
\renewcommand*{\partheadendvskip}{%
\vskip2pt
}
\renewcommand\beforeparttoc{}
\begin{document}
\doparttoc[n]
\noptcrule
\tableofcontents
\part{foo}
\parttoc
\chapter{bar1}
\chapter{bar2}
\chapter{bar3}
\chapter{bar4}
\end{document}
答案2
下面是一个最小的工作示例:
\documentclass[a4paper,11pt,twoside,openright]{memoir}
\setlrmargins{*}{*}{1}
\setulmargins{*}{*}{1}
\checkandfixthelayout[nearest]
\usepackage{color}
\usepackage{xcolor}
\usepackage{titletoc}
\settocdepth{subsection}
\setsecnumdepth{subsection}
\makeatletter
\def\@endpart{
%
\vfil
\textcolor{red}{\hrule height 1.5 pt}
\setcounter{tocdepth}{0}
\startcontents[parts]
\printcontents[parts]{}{0}{}
\textcolor{red}{\hrule height 1.5 pt}
\par\bigskip
\vfil\newpage
\if@twoside
\if@openright
\null
\thispagestyle{empty}%
\newpage
\fi
\fi
\if@tempswa
\twocolumn
\fi}
\makeatother
\begin{document}
\part{First Part}
\chapter{First Chapter}
\section{First Section}
\subsection{First Subsection}
\chapter{Second Chapter}
\section{Second Section}
\subsection{Second Subsection}
\chapter{Third Chapter}
\section{Third Section}
\subsection{Third Subsection}
\end{document}
第一页如下所示:
如果您有兴趣对其进行进一步的调整,请查看此帖子:精美图表清单和表格清单。
受到 工作的启发Gonzalo Medina
,我设法做了一个相当不错的程序Part TOC
,你可以使用。查看链接并重复使用一些代码,如果你觉得有用的话。
顺便说一下,选择这些颜色是为了让我能轻易找到序言中的代码块,以及对和中的不同元素进行TOC
编码Part TOC
。
图片可见下面: