我正在尝试将章节和部分排列在回忆录目录中,如下所示:
Chapter one Chapter title
Section title
Another section
A third section
Chapter two Second chapter title
Another etc.
我真的无法理解手册第 158 页上的伪代码,但我尝试设置和的宽度\cftpartnumwidth
,\cftchapternumwidth
但我无法让这些框工作。我的代码:
% part
\cftpagenumbersoff{part}
\setlength{\cftpartnumwidth}{4.0cm}
% chapter
\setlength{\cftchapternumwidth}{4.0cm}
\renewcommand*{\cftchaptername}{Chapter\space}
\renewcommand*{\cftchapteraftersnum}{\hfill}
\renewcommand*{\chapternumberline}[1]{\cftchaptername \numtoname #1 \cftchapteraftersnum}
% section
\setlength{\cftsectionnumwidth}{4.0cm}
我可以控制章节标题的位置,但是有些东西破坏了章节标题的位置(我推测是的更新定义\cftchapteraftersnum
。
有人能给我这个咒语吗?谢谢
============================== 更新:
我根据 Gonzalo 的建议将代码修改为:
\newlength\mylen
\settowidth\mylen{\bfseries\chaptername\hspace{3em}}
% part
\cftpagenumbersoff{part}
\addtolength\cftpartnumwidth{\mylen}
% chapter
\addtolength\cftchapternumwidth{\mylen}
\renewcommand\cftchapterpresnum{\chaptername~}
% section
\renewcommand\cftsectionindent{\dimexpr\mylen+1.5em\relax}
但它给出了这个:
“章节”与“章节”不一致……
答案1
\chapind
以下代码可以实现您想要的功能(根据需要更改长度的值):
\documentclass{memoir}
\newlength\chapind
\setlength\chapind{2.8cm}% change according to your needs
\cftpagenumbersoff{part}
\setlength{\cftpartnumwidth}{\chapind}
\renewcommand*{\chapternumberline}[1]{%
\parbox[t]{\chapind}{\chaptername~\numtoname#1\cftchapteraftersnum}%
}
\renewcommand\cftsectionindent{\dimexpr\chapind-2.1em\relax}
\makeatletter
\def\cftsectionpresnum #1\@cftasnum{}
\makeatother
\begin{document}
\tableofcontents*
\part{Test Part One}
\chapter{Test Chapter One}
\section{Section One One}
\section{Section One Two}
\section{Section One Three}
\part{Test Part Two}
\chapter{Test Chapter Two}
\section{Section Two One}
\section{Section Two Two}
\section{Section Two Three}
\end{document}