253

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, 2011 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, 2011 at 15:50

8 Answers 8

191

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, 2011 at 22:55
  • 3
    this: \settocbibname{References}
    – naught101
    Apr 26, 2012 at 6:46
  • 2
    This doesn't work for me. I use report. Check out the complete source and the result document. Feb 27, 2013 at 2:06
  • 6
    This work but my bibliography is prefixed by "Chapter 7". How can I remove this ?
    – Overdrivr
    Feb 2, 2017 at 8:03
  • 5
    To avoid numbering the bibliography chapter remove numbib i.e \usepackage[nottoc]{tocbibind} Apr 12, 2021 at 16:26
96

Using hyperref, one should say:

\cleardoublepage

\phantomsection

\addcontentsline{toc}{chapter}{Bibliography}

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

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

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

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
  • 2
    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, 2016 at 11:31
  • 8
    \printbibliography[ heading=bibintoc, title={Whole bibliography}] is neater. See Making the bibliography appear in the table of contents
    – Ooker
    Dec 18, 2017 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
  • 1
    @Herbert: This will always place the Reference section on a separate page, which may not be appropriate for the article class.
    – lockstep
    Jan 7, 2011 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, 2011 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, 2011 at 16:25
  • @Herbert: I reproduced the problematic behaviour - see my edited answer.
    – lockstep
    Jan 7, 2011 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, 2011 at 20:50
0

I do not like the previous answers because it does not provides you a full control on how the Reference section appears in the table of contents.

If you use natbib (that I recommend), simple add one line after the import of the package:

\usepackage{natbib}
\renewcommand{\bibsection}{\section{\bibname}}

of course you can replace \section bu whatever you want: chapter, subsection, etc.

I found this in this answer to a similar question on the LaTeX.org forum.

2
  • Downvoted for an over ten years old link. bibtex vs. biber and biblatex vs. natbib addresses issues related to natlib.biblatex adds an option to use natlib-like macros for easy switch. Finally in biblatex, the heading options heading=bibintoc or heading=bibnumbered adds a title in ToC. The former is a non-numbered while the latter is a numbered title. Whether the added title is chapter-like or section-like depends on the document class.
    – Celdor
    Aug 6, 2022 at 10:37
  • 1
    thank you for the link @Celdor, nevertheless I do not see any information related to how to do this with natbib. The link is old because natbib is an old package.
    – lehalle
    Aug 12, 2022 at 16:06
0

This is the only thing that worked for me after much trial and error.

\usepackage{afterpage}
...
    \addtocontents{toc}{\protect\hypertarget{toc}{}}
    \tableofcontents
    \addcontentsline{toc}{chapter}{Table of Contents}
    \setcounter{page}{1}
...
    \cleardoublepage
    \phantomsection
    \addcontentsline{toc}{chapter}{Bibliography}
    \printbibliography

    \afterpage{\phantomsection
    \addcontentsline{toc}{chapter}{Acronyms}}
    \printglossaries
    

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .