TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In my tex file I have changed the chapter name from 'Chapter' to 'Day', using:

\renewcommand \chaptername {Day}

But when I generate a table of contents it only shows '1' and not 'Day 1'. How do I get the 'Day' to show up in the contents?

share|improve this question
up vote 17 down vote accepted

I recommend using the tocloft package, although I suspect the titletoc package could also be used quite easily. tocloft provides many hooks for content to be inserted into the table of contents.

Here's an example:


In this case \cftchappresnum inserts its argument in the chap entry, pre (before) the snum (sectioning number).

As mentioned by Juan (thanks!), it's also necessary to increase the size of the space allocated for the "chapter number". In this case we calculate how large Day 999 would be (using the calc package) and use that length.

share|improve this answer
In the above example you also need something like \setlength{\cftchapnumwidth}{1.4cm} to increase the space available to typeset “Day n”. – Juan A. Navarro Sep 23 '10 at 11:45
@Juan: I guess you should be the answering, and not me :) – Will Robertson Sep 23 '10 at 11:50
This works for me when I copy your example, but I was using the Memoir class for my file, and when I try it in that I get this error: ! LaTeX Error: \cftchappresnum undefined. – whoiscraig Sep 23 '10 at 23:41

Woo, answering my own question!

I probably should have mentioned it was Memoir class in the first place. Anyway, after some investigating, I worked out that I had to add the line:


Which did it for me.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.