1

I have to use a journal's Latex template, which specifies \documentclass{book}. The template assumes I will enter my references manually in the format that they want. However, I would like to use bibtex to enter my references. When I do that, it forces the Bibliography to start on an odd-numbered page. I would like the references to start directly after the end of the article. I have tried changing the documentclass to "article", but that causes errors because the template uses the chapter format. Is there a way to revert back to the article-style references within the book documentclass?

\documentclass[10pt]{book}

\begin{document}

Document contents here with use of \cite.

\renewcommand{\bibname}{References} % to change "Bibliography" to "References"
\bibliography{refs} % starts references on next odd-numbered page
\bibliographystyle{plainnat}

\end{document}
5
  • Add the following lines to the preamble: \usepackage{etoolbox} \patchcmd{\thebibliography} {\chapter*} {\section*} {} {} Commented Apr 16, 2014 at 17:58
  • Are you loading the natbib package? Commented Apr 16, 2014 at 18:04
  • I tried this (along with a few permutations), and it still starts the References on the next odd-numbered page. Yes, I am loading the natbib package. Sorry I forget to add that line of code. Commented Apr 16, 2014 at 18:08
  • Please see my updated answer below. Since you load natbib, you can use the second code in my answer. Commented Apr 16, 2014 at 18:12
  • Try adding openany to your class options. Commented Apr 16, 2014 at 18:23

1 Answer 1

4

If you are not loading natbib, you can pacth \thebibliography so it uses \section* instead of \chapter*:

\documentclass[10pt]{book}
\usepackage{etoolbox}

\patchcmd{\thebibliography}
  {\chapter*}
  {\section*}
  {}
  {}
\renewcommand{\bibname}{References}

% this is just for the example
\usepackage{filecontents}
\begin{filecontents*}{refs.bib}
@article{testa,
  author = {The A Author},
  year = {2014},
  title = {The title A},
  journal = {The journal A},
  pages = {1--5},
}
\end{filecontents*}
% this is just for the example

\begin{document}

\cite{testa}

\bibliographystyle{plainnat}
\bibliography{refs}

\end{document}

enter image description here

If you are loading natbib, then all you have to do is to redefine \bibsection:

\documentclass[10pt]{book}
\usepackage{natbib}

\renewcommand\bibsection{%
  \section*{\bibname\markright{\MakeUppercase{\bibname}}}}
\renewcommand{\bibname}{References}

% this is just for the example
\usepackage{filecontents}
\begin{filecontents*}{refs.bib}
@article{testa,
  author = {The A Author},
  year = {2014},
  title = {The title A},
  journal = {The journal A},
  pages = {1--5},
}
\end{filecontents*}
% this is just for the example

\begin{document}

\cite{testa}

\bibliographystyle{plainnat}
\bibliography{refs}

\end{document}
3
  • You are amazing. The second one worked great. Commented Apr 16, 2014 at 18:27
  • The second suggestion had one quirk in that it renamed the page heading to "REFERENCES", which I'm sure you knew, but I didn't notice at first. The following gives me the behavior that I want. \renewcommand\bibsection{\section*{\large References}}. That is entered without the \renewcommand{\bibname}{References} line. Commented Apr 16, 2014 at 20:20
  • @user50028 Or simply remove the \markright part: \renewcommand\bibsection{\section*{\bibname}}. Commented Apr 16, 2014 at 20:50

You must log in to answer this question.

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