215

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?

2
  • 3
    The information on this related question might be useful. Jan 7 '11 at 15:46
  • 1
    @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
166

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}
11
  • 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. Feb 27 '13 at 2:06
  • 3
    This work but my bibliography is prefixed by "Chapter 7". How can I remove this ?
    – Overdrivr
    Feb 2 '17 at 8:03
72

Using hyperref, one should say:

\cleardoublepage

\phantomsection

\addcontentsline{toc}{chapter}{Bibliography}

\bibliography{your_bib_archive}
1
  • By far the cleanest solution
    – Chris
    Jul 14 at 8:10
38

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}
2
  • 10
    This works indeed, but forces you to use the KOMA classes. Aug 6 '13 at 19:24
  • 1
    Actually, it shouldn't be numbered. Use bibliography=totoc instead.
    – usr1234567
    Aug 11 '17 at 21:58
34

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}]
21

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]
2
  • 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}". May 17 '16 at 11:31
  • 5
    \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.

12
  • @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.