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?

-

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:

\documentclass{book}
\usepackage{tocloft,calc}
\renewcommand\chaptername{Day}
\renewcommand\cftchappresnum{\chaptername\space}
\setlength{\cftchapnumwidth}{\widthof{\textbf{Day~999~}}}
\begin{document}
\tableofcontents
\setcounter{chapter}{500}
\chapter{Hello}
\end{document}


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.

-
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

\renewcommand*{\cftchaptername}{Day\space}