8

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).

  • 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 0:59
16

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}
  • 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 0: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 1: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 3:58
  • 7
    @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
  • 2
    This answer explains why the \addtocontents fails and offers a solution: tex.stackexchange.com/a/10297/16069 – Ruben Verborgh Jan 2 '14 at 21:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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