Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

After successfully applying tips on how to insert multiple manual bibliographies I have a new problem: each bibliography begins on a new page. This does not look good, and I tried supressing it with \nopagebreak (does not work).

After some browsing I discovered that book class handles thebibliography by inserting new chapter, but I don't know how to modify the behaviour.

So, my question is: how to stop inserting new page/heading after each thebibliography item in a book document class?

share|improve this question

1 Answer 1

up vote 2 down vote accepted

You could a) disable \clearpage inside a group b) add a \chapter*{Bibliography} and patch \thebibliography so that it uses \section* instead of \chapter*.

EDIT: Added code to correct running headers for \section* (sub)bibliographies.

\documentclass{book}

\usepackage{etoolbox}
\makeatletter
\newcommand*{\patchthebibliography}{%
  \patchcmd{\thebibliography}{\chapter*}{\section*}{}{}%
  \patchcmd{\thebibliography}{%
    \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}%
  }{%
    \markright{\MakeUppercase\bibname}%
  }{}{} %
}
\makeatother

\newcounter{firstbib}

\begin{document}

\chapter{foo}

Some text \cite{A01,B02}.

\renewcommand{\bibname}{Literary works}

\begin{thebibliography}{9}

\bibitem{A01} A. Author. \emph{Alpha}. 2001.

\setcounter{firstbib}{\value{enumiv}}

\end{thebibliography}

\begingroup
\let\clearpage\relax

\renewcommand{\bibname}{Web references}

\begin{thebibliography}{9}

\setcounter{enumiv}{\value{firstbib}}

\bibitem{B02} B. Buthor. \emph{Bravo}. 2002.

\end{thebibliography}

\endgroup

\begingroup
\patchthebibliography

\chapter*{Bibliography}
\markboth{\MakeUppercase{Bibliography}}{\MakeUppercase{Bibliography}}

\renewcommand{\bibname}{Literary works}

\begin{thebibliography}{9}

\bibitem{A01} A. Author. \emph{Alpha}. 2001.

\setcounter{firstbib}{\value{enumiv}}

\end{thebibliography}

\renewcommand{\bibname}{Web references}

\begin{thebibliography}{9}

\setcounter{enumiv}{\value{firstbib}}

\bibitem{B02} B. Buthor. \emph{Bravo}. 2002.

\end{thebibliography}

\end{document}
share|improve this answer
1  
you might consider making a separate environment, inchapterbibliography; it's basically just a clone of thebibliography with \chapter* replaced by \section*. some books have both kinds of reference lists, so it's handy to be able to make the choice. (this feature is on the list to be added to amsbook in the next upgrade, not yet scheduled.) –  barbara beeton Jan 2 '12 at 14:12
    
The solution worked great, thanks! First I edited the main file by inserting \newcommand code. Then, I inserted \patchthebibliography at the beginning of the file with the manual bibliographies. That was all it was needed. –  marw Jan 17 '12 at 11:13

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.