使用 memoir 修改 ToC 中的 \part 条目

使用 memoir 修改 ToC 中的 \part 条目

我想更改文档目录中“部分”标题的显示方式memoir。具体来说,我想将“部分标题”放在两行之间。请看以下简单示例:

\documentclass[b5paper,10pt,twoside,openright,final,english]{memoir}
\usepackage{lipsum}
\usepackage[english]{babel}

\makepagestyle{part}
\makeevenfoot{part}{}{}{}
\makeoddfoot{part}{}{}{}
\makeevenhead{part}{}{}{}
\makeoddhead{part}{}{}{}

\begin{document}
\tableofcontents

\chapter{Introduction}
\lipsum

\addtocontents{toc}{\protect\mbox{}\protect\hrulefill\par}
\part{Basics}
\addtocontents{toc}{\protect\mbox{}\protect\hrulefill\par}

\chapter{A Chapter}
\lipsum

\end{document}

我如何才能强制目录中的行变长并改变“部分”标题内的距离?

答案1

这样,您就可以改变零件入口前的距离:

\setlength{\cftbeforepartskip}{1ex}

要填充整行,请向左跳转:

\addtocontents{toc}{\hskip -\memRTLleftskip\protect\mbox{}\protect\hrulefill\par}

这是一个对所有部分执行一次的定义:

\setlength{\cftbeforepartskip}{0pt}
\makeatletter
\g@addto@macro{\cftpartbreak}{\hskip -\parindent\hrulefill\par}
\makeatother
\renewcommand{\cftpartafterpnum}{\par\vspace{-1.5ex}\hskip -\memRTLleftskip\hrulefill}

带线条的零件条目

答案2

根据 Stefan 的回答,如果您想要零件标题之前和之后的行,则可以使用以下方法:

\renewcommand{\cftpartafterpnum}{\par %
\vspace{-2\baselineskip} \hskip -\memRTLleftskip\protect\mbox{}\protect\hrulefill\par%
\vspace{0.5\baselineskip} \hskip -\memRTLleftskip\protect\mbox{}\protect\hrulefill\par}

在此处输入图片描述

请参阅第 9.2 节梅曼.pdf了解有关\cftpartafterpnum和相关命令的更多信息。

相关内容