Bibliography as section in LaTeX / BibTeX

Martijn picture Martijn · Jun 24, 2009 · Viewed 47.9k times · Source

I'm writing a short document using sections rather than chapters as the top-level (documentclass report). However,

\bibliographystyle{amsplain}
\bibliography{general}

causes the bibliography to be inserted as a chapter rather than a section. Is there any way to change this?

Answer

godbyk picture godbyk · Jun 25, 2009

By default, the report document class uses \chapter as the bibliography heading level. In contrast, the article document class uses \section as the bibliography heading level. If you're not using \chapter anywhere in your document, you might want to use the article class instead.

If you really want to use the report class, you'll need to redefine the thebibliography environment to use \section instead of \chapter. In the preamble of your document (after the \documentclass line but before the \begin{document} line, insert the following:

\makeatletter
\renewenvironment{thebibliography}[1]
     {\section*{\bibname}% <-- this line was changed from \chapter* to \section*
      \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}%
      \list{\@biblabel{\@arabic\c@enumiv}}%
           {\settowidth\labelwidth{\@biblabel{#1}}%
            \leftmargin\labelwidth
            \advance\leftmargin\labelsep
            \@openbib@code
            \usecounter{enumiv}%
            \let\p@enumiv\@empty
            \renewcommand\theenumiv{\@arabic\c@enumiv}}%
      \sloppy
      \clubpenalty4000
      \@clubpenalty \clubpenalty
      \widowpenalty4000%
      \sfcode`\.\@m}
     {\def\@noitemerr
       {\@latex@warning{Empty `thebibliography' environment}}%
      \endlist}
\makeatother

Now your bibliography will have a \section heading instead of a \chapter heading.

Note that if you load any special bibliography packages, you might want to put this code before those packages are loaded (so you don't overwrite their work).