你知道怎样结合这个解决方案是将章节号和其名称+页面放在不同的行中?请看一下图片。我想用回忆录来实现这一点(理想情况下,如果我们可以集中实现的话)。
我的问题是我使用了回忆录课程(现在无法更改课程)但它对我来说不起作用。
最小非 MWE 是:
\documentclass{report}
\usepackage{tocloft}
\setlength{\cftchapnumwidth}{0pt}
\renewcommand{\cftchappresnum}{\chaptername\ }
\renewcommand{\cftchapaftersnum}{.}
\renewcommand{\cftchapaftersnumb}{\newline}
\renewcommand{\cftchapdotsep}{\cftdotsep}
\begin{document}
\tableofcontents
\chapter{A Chapter}
\chapter{Another Chapter}
\end{document}
我也尝试重新定义设置 TOC 的方式
\documentclass{memoir}
% redefinition for the ToC title
\renewcommand\printtoctitle[1]{\HUGE\sffamily#1}
% redefinitions for chapter entries
\renewcommand\chapternumberline[1]{}
\renewcommand\cftchapterfont{\sffamily}
\renewcommand\cftchapterpagefont{\huge\sffamily}
\makeatletter
\newcommand\l@mychap[3]{%
\vskip2ex%
\par\noindent
\parbox{15em}{%
\hfill\cftchapterfont#1%
}\hspace*{3em}%
\parbox{\dimexpr\textwidth-5.5em-15pt\relax}{%
{\cftchapterpagefont#2} %
}\par%
}
\renewcommand*\l@chapter[2]{\\%
\l@mychap{#1}{#2}{\chaptername}%
}
\makeatother
\begin{document}
\tableofcontents*
\chapter{Down the Rabbit Hole}
\chapter{The Pool of Tears}
\chapter{The Caucus Race and a Long Tale}
\setcounter{page}{14}% just for the example
\end{document}
来自这里。
关于解决方案您有什么想法吗?谢谢并致以问候。
编辑:
您能否帮我看看我关于这个问题的其他问题。我觉得现在创建下一个问题不太好。
我使用了两行代码:
\usepackage{fmtcount}
\renewcommand{\thechapter}{\NUMBERstring{chapter}}
将数字改为单词,使其看起来像第一章、第二章等。相反,我只需要一、二、三,这样就可以正确集中。目前看起来像这样。
它看起来像是居中对齐,但我希望它正确居中。代码如下:
\documentclass{memoir}
\usepackage{fmtcount}
\renewcommand{\thechapter}{\NUMBERstring{chapter}}
\newlength\mylen
\settowidth\mylen{\thechapter}
\addtolength\mylen{0pt}
\renewcommand{\cftchapteraftersnum}{\ }
\renewcommand{\cftchapteraftersnumb}{\newline\normalfont}
\renewcommand{\cftchapterleader}{}
\renewcommand{\cftchapterafterpnum}{\cftparfillskip}
\makeatletter
\renewcommand*{\l@chapapp}[3]{%
\ifnum \c@tocdepth >\m@ne
\cftchapterbreak
\vskip\cftbeforechapterskip%
\centering%
{\memRTLrightskip\@tocrmarg%
\@afterindenttrue%
\interlinepenalty\@M%
\leavevmode%
\let\@cftbsnum\cftchapterpresnum
\let\@cftasnum\cftchapteraftersnum%
\let\@cftasnumb\cftchapteraftersnumb%
\def\@chapapp@head{}%
\setlength{\@tempdima}{\mylen}%
{\cftchapterfont\sffamily#1}\nobreak%
~ --- \cftchapterfillnum{\sffamily#2}}%
\fi}
\makeatother
\begin{document}
\tableofcontents*
\chapter{A Chapter}
\chapter{Another Chapter}
\chapter{A Chapter}
\chapter{Another Chapter}
\chapter{A Chapter}
\chapter{Another Chapter}
\chapter{A Chapter}
\chapter{Another Chapter}
\chapter{A Chapter}
\chapter{Another Chapter}
\chapter{A Chapter}
\chapter{Another Chapter}
\chapter{A Chapter}
\chapter{Another Chapter}
\chapter{A Chapter}
\chapter{Another Chapter}
\chapter{A Chapter}
\chapter{Another Chapter}
\end{document}
有什么想法吗?提前谢谢您!
答案1
\documentclass{memoir}
\newlength\mylen
\settowidth\mylen{\bfseries\chaptername\ .}
\addtolength\mylen{5pt}
\addtolength{\cftchapternumwidth}{\mylen}
\cftsetindents{chapter}{0em}{\mylen}
\renewcommand{\cftchapterpresnum}{\chaptername\ }
\renewcommand{\cftchapteraftersnum}{.}
\renewcommand{\cftchapteraftersnumb}{\newline\hspace*{-\mylen}}
\renewcommand{\cftchapterdotsep}{\cftdotsep}
\begin{document}
\tableofcontents*
\chapter{A Chapter}
\chapter{Another Chapter}
\end{document}
下面我提供了实现此答案的评论中以及对原始问题的编辑中所要求的格式所需的代码;居中条目,标题和标签位于不同的行中,页码紧跟在标题之后。没有提供有关目录标题的信息,因此我使用了默认格式:
\documentclass{memoir}
\usepackage{fmtcount}
\renewcommand{\thechapter}{\NUMBERstring{chapter}}
\newlength\mylen
\setlength\mylen{.5\linewidth}
\renewcommand{\cftchapteraftersnum}{\ }
\renewcommand{\cftchapteraftersnumb}{\newline\normalfont}
\renewcommand{\cftchapterleader}{}
\renewcommand{\cftchapterafterpnum}{\cftparfillskip}
\makeatletter
\renewcommand*{\l@chapapp}[3]{%
\ifnum \c@tocdepth >\m@ne
\cftchapterbreak
\vskip\cftbeforechapterskip%
\centering%
{\memRTLrightskip\@tocrmarg%
\@afterindenttrue%
\interlinepenalty\@M%
\leavevmode%
\let\@cftbsnum\cftchapterpresnum
\let\@cftasnum\cftchapteraftersnum%
\let\@cftasnumb\cftchapteraftersnumb%
\def\@chapapp@head{}%
\setlength{\@tempdima}{\mylen}%
{\cftchapterfont\sffamily#1}\nobreak%
~ --- \cftchapterfillnum{\sffamily#2}}%
\fi}
\renewcommand{\chapternumberline}[1]{%
\chapternumberlinehook{#1}%
\hb@xt@\@tempdima{\hfil\@chapapp@head\@cftbsnum #1\@cftasnum\hfil}%
\@cftasnumb}
\makeatother
\begin{document}
\tableofcontents*
\chapter{A Chapter}
\chapter{Another Chapter}
\chapter{A Chapter}
\chapter{Another Chapter}
\chapter{A Chapter}
\chapter{Another Chapter}
\chapter{A Chapter}
\chapter{Another Chapter}
\chapter{A Chapter}
\chapter{Another Chapter}
\chapter{A Chapter}
\chapter{Another Chapter}
\chapter{A Chapter}
\chapter{Another Chapter}
\chapter{A Chapter}
\chapter{Another Chapter}
\chapter{A Chapter}
\chapter{Another Chapter}
\end{document}