9

I have something like this:

\tableofcontents*
\chapter{chap1}
\chapter{chap2}
\addtocontents{toc}{test}
\chapter{chap3}

and the ToC is produced like this

chap1
chap2
chap3
test

I was wondering how to force test to be placed in correct order (chap1, chap2, test, chap3).

Thorsten
  • 12,872
user5540
  • 539
  • We need a minimal example. In a rough test this works as expected. – egreg May 14 '11 at 23:57
  • Sorry, I know I should have included a minimal working sample but couldnt make one, the original one is a huge text and I cant include that. – user5540 May 15 '11 at 00:59

1 Answers1

19

The command \addtocontents is mainly intended to be used to enter formatting information (extra spacing, for example) not directly related to any particular actual line of contents of the ToC; if you want to introduce some text together with some information (such as the page number) and some formatting (such as the one used for a particuar sectional unit), then you might want to use \addcontentsline:

\documentclass{book}

\begin{document}

\tableofcontents
\chapter{chap1}
\chapter{chap2}
\addcontentsline{toc}{chapter}{test}
\chapter{chap3}

\end{document}

If used together with the hyperref package, a \phantomsection command should also be included to get the proper result for the hyperlinks in the table of contents and for the bookmarks.

EDIT: since you don't want the page number nor any special formatting for the text to be included, then you can use \addtocontents:

\documentclass{memoir}

\begin{document}

\tableofcontents
\chapter{chap1}
\chapter{chap2}
\addtocontents{toc}{\bigskip text\par}
\chapter{chap3}

\end{document}
Gonzalo Medina
  • 505,128
  • Thanks, that works. I have another question then. How would I remove dots and page number using \addcontentsline command? I use memoir class. With \addtocontents, I use \addtocontents{toc}{ \protect\noindent test \protect\par } but that wouldnt work with \addcontentsline. – user5540 May 15 '11 at 00:59
  • @user5540: The information provided in this comment was crucial and you should have included it in your question. In this case, it would be better to use a \addcontents command; I'll update my answer with a nes example. – Gonzalo Medina May 15 '11 at 01:31
  • originally I used \addtocontents, which caused the problem of incorrect order. I tried your updated code and the problem is still there :( Is there anyway to fix this? Thanks. – user5540 May 15 '11 at 03:58
  • 8
    @user5540: If you have a huge document, you are probably using the \include command to insert chapter. If that is the case, you have encountered one of the oldest bugs in Latex. To work around this, insert the \addtocontents as the first line of the file (in the example Chap 3) before the \chapter command. – Danie Els May 15 '11 at 10:38
  • @Danie Els: Yes, I use \include and your trick fixes my problem. Thanks a lot :) – user5540 May 15 '11 at 13:19
  • 2
    This answer explains why the \addtocontents fails and offers a solution: http://tex.stackexchange.com/a/10297/16069 – Ruben Verborgh Jan 02 '14 at 21:48