43

The position of Bibliography section is defined by document class, report class is a new page, some articles class no has page break.

How change this witout change the class of the document? So i have a report class but how generate Bibliography without page break.

lockstep
  • 250,273

6 Answers6

39

Internally, thebibliography environment uses \chapter*; if you want the bibliography to behave like a section, you can patch the \thebibliography command to use \section* instead of chapter*. To do this, add the following lines to the preamble:

\usepackage{etoolbox}
\patchcmd{\thebibliography}{\chapter*}{\section*}{}{}

A complete example:

\documentclass{report}
\usepackage{etoolbox}
\usepackage{lipsum}% just to generate text for the example

\patchcmd{\thebibliography}{\chapter*}{\section*}{}{}

\begin{document}

\lipsum[1]

\begin{thebibliography}{9}
\bibitem{a} Test A.
\end{thebibliography}

\end{document}

enter image description here

If the biblatex package is used to produce the bibliography, one can use \defbibheading to define a heading using \section*:

\documentclass{report}
\usepackage{lipsum}
\usepackage{biblatex}

\addbibresource{biblatex-examples.bib}
\defbibheading{secbib}[\bibname]{%
  \section*{#1}%
  \markboth{#1}{#1}}

\begin{document}

\lipsum[1]
\nocite{*}

\printbibliography[heading=secbib]

\end{document}

enter image description here

Gonzalo Medina
  • 505,128
25

If you are using the natbib package, you may try the option sectionbib:

\usepackage[sectionbib]{natbib}

Björn
  • 351
17

If the biblatex package is used to produce the bibliography, you can also use one of the predefined headings, i.e. subbibliography

For instance:

\printbibliography[heading=subbibliography]

You can refer to section 3.6.8 Bibliography Headings and Environments in the biblatex manual.

zakkak
  • 387
  • 8
    This works like a charm, n.b. the actual command is \printbibliography[heading=subbibliography] – Mr. Tao Jul 27 '18 at 00:30
3

bilatex package is useful and very easy in such case. Suppose,

  1. You want a section inside document as well as an un-numbered section entry in table of contents, then use

    \printbibliography[heading=subbibintoc,] % TOC has an entry 'References' as an un-numbered section
    
  2. You just want a section inside document and no entry in table of contents, then use

    \printbibliography[heading=subbibliography,] % No entry in TOC
    

An MWE, borrowed from Gonzalo Medina's answer would be like this:

\documentclass{report}
\usepackage{lipsum}
\usepackage{biblatex}
\addbibresource{biblatex-examples.bib}

\begin{document}
\tableofcontents
\lipsum[1]
\nocite{*}
% un-comment any one from the following as per your choice
%\printbibliography[heading=subbibliography,] % No entry in TOC
%\printbibliography[heading=subbibintoc,] % TOC has an entry 'References' as an un-numbered section
\end{document}
moewe
  • 175,683
Wings
  • 131
  • 1
    I removed the definition of secbib that remained in the copy of Gonzalo's MWE, it was not used here and would probably only confuse people. – moewe Nov 30 '18 at 12:04
  • 1
    FWIW I think this use of subbibliography or subbibintoc (or subbibnumbered) is generally slightly nicer than a new heading definition such as secbib in simple cases. But in more complicated case a new definition might be inevitable. – moewe Nov 30 '18 at 12:05
1

FWIW, when using the llncs class together with the natbib package, one gets a bibliography on a separate page, listing reference indexed as [1], [2]... instead of 1., 2.... as expected by LNCS.

To avoid that problem, I use:

\usepackage[numbers]{natbib}
% Hack natbib so it matches the LNCS style: reference list in a
% section with small font and no square brackets.
\renewcommand\bibsection
  {\section*{\refname}\small\renewcommand\bibnumfmt[1]{##1.}}
akim
  • 407
0

If you use koma-script, you can select this in the options. The option leveldown changes the bibliography from a chapter to a section in the class scrbook. I borrow the nice example from Gonzalo Medina above:

\documentclass[bibliography=leveldown]{scrbook}
\usepackage{lipsum}% just to generate text for the example

\begin{document}

\lipsum[1]

\begin{thebibliography}{9} \bibitem{a} Test A. \end{thebibliography}

\end{document}

enter image description here

Thorsten
  • 101