使用时,我有以下内容来修改目录间距memoir
:
\setlength{\cftbeforechapterskip}{0.5em}
\setlength{\cftchapternumwidth}{10em}
使用该类时等效于什么book
?
答案1
使用该tocloft
包。
\documentclass{book}
\usepackage{tocloft}
\setlength{\cftbeforechapskip}{0.5em}
\setlength{\cftchapnumwidth}{10em}
答案2
这是一个使用memoir
:
\documentclass{memoir}
\setlength{\cftbeforechapterskip}{0.5em}
\setlength{\cftchapternumwidth}{10em}
\begin{document}
\tableofcontents
\chapter{A chapter}
\section{A section}
\chapter{Another chapter}
\end{document}
以下是使用以下方法复制的输出tocloft
在文档类中(请注意,使用book
下的目录的章节级长度,而不是与 一起使用的长度):tocloft
\cftchap...
\cftchapter...
memoir
\documentclass{book}
\usepackage{tocloft}
\setlength{\cftbeforechapskip}{0.5em}
\setlength{\cftchapnumwidth}{10em}
\begin{document}
\clearpage
\addcontentsline{toc}{chapter}{\contentsname}
\tableofcontents
\chapter{A chapter}
\section{A section}
\chapter{Another chapter}
\end{document}
如果没有任何包,您必须更改 的定义\l@chapter
。以下是来自book.cls
:
\newcommand*\l@chapter[2]{%
\ifnum \c@tocdepth >\m@ne
\addpenalty{-\@highpenalty}%
\vskip 1.0em \@plus\p@
\setlength\@tempdima{1.5em}%
\begingroup
\parindent \z@ \rightskip \@pnumwidth
\parfillskip -\@pnumwidth
\leavevmode \bfseries
\advance\leftskip\@tempdima
\hskip -\leftskip
#1\nobreak\hfil
\nobreak\hb@xt@\@pnumwidth{\hss #2%
\kern-\p@\kern\p@}\par
\penalty\@highpenalty
\endgroup
\fi}
这是更新后的定义,以复制memoir
and/or的行为tocloft
:
\documentclass{book}
\makeatletter
\renewcommand*\l@chapter[2]{%
\ifnum \c@tocdepth >\m@ne
\addpenalty{-\@highpenalty}%
\vskip 0.5em% <----------------- Similar to \cftbeforechapskip from tocloft
\setlength\@tempdima{10em}% <--- Similar to \cftchapnumwidth from tocloft
\begingroup
\parindent \z@ \rightskip \@pnumwidth
\parfillskip -\@pnumwidth
\leavevmode \bfseries
\advance\leftskip\@tempdima
\hskip -\leftskip
#1\nobreak\hfil
\nobreak\hb@xt@\@pnumwidth{\hss #2%
\kern-\p@\kern\p@}\par
\penalty\@highpenalty
\endgroup
\fi}
\makeatother
\begin{document}
\clearpage
\addcontentsline{toc}{chapter}{\contentsname}
\tableofcontents
\chapter{A chapter}
\section{A section}
\chapter{Another chapter}
\end{document}