I'm using the following to span the bibliography to two columns:


Yet, the section title ("References" in the article document style) also appear as part of the two columns, while I want it to span the whole page. How can I do something equivalent to the following code, but still using BibTeX?



4 Answers 4


Building upon Gonzalo's answer, I suggest to use the etoolbox package to selectively change the definitions of \thebibliography and \endthebibliography. Add the following to your preamble:


EDIT: How does it work? The \patchcmd command needs five arguments, but you may ignore (as I did) the two last ones, which generate patching success/error messages. Argument no. 1 is the command to be "patched" (selectively changed), argument no. 2 is the part of the command definition that should be replaced, argument no. 3 is the replacement. (Because thebibliography is an environment, I had to patch the two commands that define it.)

  • 2
    Patching using \section*{\refname} has the problem that the solution does not work for report or book classes. You can use \list as the search pattern and replace it with {\list\begin{multicols}{2}}.
    – Guido
    Commented Oct 17, 2012 at 10:32
  • @Guido True, but I prefer to use multicols optional second argument because I've had some trouble with regard to spacing if I start multicols after sectioning commands.
    – lockstep
    Commented Oct 17, 2012 at 10:38

You can redefine the thebibliography environment to use two columns and use the optional argument of multicols to place the title; add the following lines to the preamble of your document:


      \@clubpenalty \clubpenalty
       {\@latex@warning{Empty `thebibliography' environment}}%

Now in the body of your document, simply use

  • Works great.. but it is unfortunate to need to redefine everything. I like the solution of lockstep for its brevity (although I am not sure I yet understand how it works)
    – Ran G.
    Commented Jun 14, 2011 at 22:36
  • 3
    @Ran G. my solution doesn't redefine everything; it only changes two lines in the original definition of the thebibliography environment; lockstep's solution does exactly what I did, but with the help of a package. The idea in both cases is to make two replacements in the original definition: 1) Instead of \section*{\refname} use \begin{multicols}{2}[\section*{\refname}] and 2) Instead of \endlist use \endlist\end{multicols}. Commented Jun 14, 2011 at 22:42
  • thanks for the explanations. Since I don't really understand the internals I try to avoid low-level hacks (that is, anything that begins with \makeatletter, etc :)
    – Ran G.
    Commented Jun 14, 2011 at 22:52
  • How do you with your method change the name from References to e.g. Bibliography ?
    – chwi
    Commented Oct 17, 2012 at 10:27
  • 2
    @Wilhelmsen there are a number of questions in this site addressing this issue. Depends on whether you use babel or not. Without babel: \renewcommand\refname{The New Name}, with babel you need \addto\captions<language>{\renewcommand\refname{The New Name}}, where <language> is the main language declared. Commented Oct 17, 2012 at 11:54

If you're using natbib, The easiest way to tackle this problem is to use bibpreamble and bibpostamble:



In this manner, only the references are placed in two columns and your title is left out. Nevertheless, it keeps the heading of the bibliography in the chapter-style. To change that, you could use e.g. bibsection:


  • 1
    Welcome to TeX.SX! Could add compilable code? It would be easier for other people to test your solution.
    – Bobyandbob
    Commented Jul 12, 2018 at 15:50
  • This seems neater than the other answers, and works for me.
    – Roly
    Commented Jan 16, 2020 at 20:42
  • Perfect solution!
    – alexhg
    Commented Jun 30, 2020 at 8:17

The easiest solution I found to have references in two columns is to use \twocolumn command like this:

  • It seems that this solution yields an empty second column in each frame of the bibliography...
    – Laurent90
    Commented Jan 18 at 10:11

You must log in to answer this question.

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