162

I need to make my (BibTeX) references section appear in the table of contents of my LaTeX document (documentclass: article), with section numbering too.

My approach until now has been making a new section and including the bibliography (references.bib) at that point:

\section{References}
\bibliography{references}

However, the final document shows both the section title that I have written and the section title that BibTeX writes, which is quite redundant and I definitely dislike.

How can I either remove BibTeX's section title, or make the BibTeX bibliography appear in the table of contents without making a new section?

If I were to make the BibTeX bibliography appear in the table of contents without making a new section, how could I assure that the section title that BibTeX writes looks exactly like sections typeset with \section?

  • 3
    The information on this related question might be useful. – Juan A. Navarro Jan 7 '11 at 15:46
  • @Juan: The related question was actually more tricky because it included "downgrading" the bibliography from a chapter to a section. – lockstep Jan 7 '11 at 15:50
119

As Herbert has hinted, your document class may include options to control the inclusion of the bibliography in the table of contents. For standard classes (article, book, report), adding \usepackage[nottoc,numbib]{tocbibind} to your document preamble should work. See the tocbibind documentation for more details.

EDIT: Herbert's suggestion (adding \addcontentsline{toc}{section}{References}) may result in an incorrect ToC entry unless the Reference section is forced on a separate page with \clearpage:

\documentclass[11pt]{article}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
\end{filecontents}

\usepackage{blindtext}

\begin{document}

\nocite{*}

\tableofcontents

\section{foo}

\blindtext[3]

% \clearpage

\addcontentsline{toc}{section}{References}
\bibliographystyle{plain}
\bibliography{\jobname}

\end{document}
  • 1
    @hsigrist: This is the default behaviour in many classes. – lockstep Nov 2 '11 at 22:55
  • 1
    The first suggestion is nice (tocbibind), but it changes the name of the section from "References" to "Bibliography". The former is more accurate in my case. Is there a simple way to change it back? – naught101 Apr 26 '12 at 6:40
  • 3
    this: \settocbibname{References} – naught101 Apr 26 '12 at 6:46
  • 2
    This doesn't work for me. I use report. Check out the complete source and the result document. – Emanuel Berg Feb 27 '13 at 2:06
  • 1
    @AkseliPalén for me, with either command, the page number was correct but the link took me to the page before the one with the table of contents. I fixed it with the answer from this relevant question: tex.stackexchange.com/questions/23499/… – Zero3 Dec 17 '15 at 4:09
57

Using hyperref, one should say:

\cleardoublepage

\phantomsection

\addcontentsline{toc}{chapter}{Bibliography}

\bibliography{your_bib_archive}
31

The following should help, I think:

\documentclass[bibliography=totocnumbered]{scrartcl}

If you don't want the bibliography to have a chapter number, use the following instead:

\documentclass[bibliography=totoc]{scrartcl}
  • 9
    This works indeed, but forces you to use the KOMA classes. – Henri Menke Aug 6 '13 at 19:24
  • Actually, it shouldn't be numbered. Use bibliography=totoc instead. – usr1234567 Aug 11 '17 at 21:58
20

Another simple solution with Biblatex is found at https://fr.sharelatex.com/learn/Bibliography_management_with_biblatex

\printbibliography[
heading=bibintoc,
title={Whole bibliography}
]

\printbibliography[heading=subbibintoc,type=article,title={Articles only}]
15

Here a simple solution for biblatex. Then you can omit the heading and just add a sections as you like.

\section{References}
\printbibliography[heading=none]
  • 1
    This great solution (for biblatex) also helps when using the nameref package to do something like \section{References}\label{sec:references}, which is then pointed to from the text with "See \nameref{sec:references}". – John Bentley May 17 '16 at 11:31
  • 3
    \printbibliography[ heading=bibintoc, title={Whole bibliography}] is neater. See Making the bibliography appear in the table of contents – Ooker Dec 18 '17 at 11:54
9
\documentclass{article}
\begin{document}

\tableofcontents

\section{foo}
\nocite{*}% only for demo to get all entries from the bib data file

\let\Section\section 
\def\section*#1{\Section{#1}} 
\bibliographystyle{plain}
\bibliography{komoedie}

\end{document}

It is easier with a class which supports a bib entry in the table of contents, eg. the KOMA-Script classes.

  • @Herbert: This will always place the Reference section on a separate page, which may not be appropriate for the article class. – lockstep Jan 7 '11 at 16:17
  • @lockstep: sure, this is what I prefer. If one want it not start at an own page then deleting of clearpage maybe a good idea ... :-) – user2478 Jan 7 '11 at 16:19
  • 1
    @Herbert: Assuming one deletes clearpage, could it happen that \addcontentsline will point to the wrong page if the Reference section by chance starts a new page? (I dimly remember that I stumbled upon such behaviour once, but I'm not sure about it.) – lockstep Jan 7 '11 at 16:25
  • @Herbert: I reproduced the problematic behaviour - see my edited answer. – lockstep Jan 7 '11 at 20:23
  • 2
    @lockstep: ah, a competition, I like it :-) No extra answer by me, because it didn't help the one who ask a question ... However: \let\Section\section \def\section*#1{\Section*{#1} \addcontentsline{toc}{section}{References}} \bibliography{\jobname} – user2478 Jan 7 '11 at 20:50

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.