我想更改文档目录中“部分”标题的显示方式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
和相关命令的更多信息。