I'm currently writing a dissertation in report class. I want to modify the Table of Contents in my document. In fact, I apply the following commands:

\usepackage{tocloft}
\newlength\mylength
\renewcommand{\thechapter}{\thechapter}
\renewcommand\cftchappresnum{\chaptername~}
\renewcommand\cftchapaftersnum{:}
\settowidth\mylength{\cftchappresnum\cftchapaftersnum\hspace{-20pt}}


Chapter 1:   Introduction


What I would like to see is

Chapter First:   Introduction


Seems like an easy enough thing to ask for, but can't seem to find a good way to do this. Any feedback would be most appreciative.

• Do you want to have, say Chapter First only in the table of contents, or also in the chapter heading? – Bernard Dec 18 '16 at 12:05
• @Bernard, I want to have "Chapter First:" only in table of contents. – Math-Data Dec 18 '16 at 13:28
• That's what I feared… ;o) – Bernard Dec 18 '16 at 13:31
• @Bernard, why? this is difficult? – Math-Data Dec 18 '16 at 13:34
• \renewcommand{\thechapter}{\thechapter} will of course get TeX in an infinite loop. – Pieter van Oostrum Dec 18 '16 at 15:35

Here is something to start with. It is independent of tocloft, and actually, I don't know how it works with tocloft. By the way, for me "Chapter First" instead of "First Chapter" sounds odd, but in another language this could be the proper order.

\usepackage{fmtcount}
\usepackage{ifthen}
\let\origcontentsline\contentsline
\newif\ifchaptertocline
\renewcommand{\contentsline}[1]{%
\ifthenelse{\equal{#1}{chapter}}{\chaptertoclinetrue}{\chaptertoclinefalse}
\origcontentsline{#1}%
}
\let\orignumberline\numberline
\renewcommand{\numberline}[1]{%
\ifchaptertocline Chapter \Ordinalstringnum{#1}\else#1\fi:\space
}

• why using the commands that I mentioned above, the desired result can not be achieved? – Math-Data Dec 18 '16 at 16:46