# Default article-like classes with compact bibliography

In most academic journal styles, the bibliography is typeset in a much more compact fashion than in the usual classes. Compare for instance these two:

The former is obtained with siamltex.cls, the latter from article.cls. I would like to obtain something that resembles the former, without using a class from a specific journal: the journal classes include lots of quirks for author and title formatting, and generally tend to be old, badly written and incompatible one with each other and with many modern packages.

So I would like to have the benefits of "standard" classes (like article.cls, paper.cls or scrartcl.cls), together with a more compact typesetting. I am focusing here on the bibliography, but there are also some other small details such as the font size for the paper title.

Are there any standard documentclasses that allow for a more compact display of the bibliography? Or, alternatively, are there any additional packages that alter the aspect of the standard classes to obtain a more compact look (possibly not as extreme as savetrees.sty)?

-
the class amsart does set the size of biblio entries to \footnotesize. it also allows a user to change the size by \renewcommand{\bibliofont}{<font spec>}. –  barbara beeton Jan 27 '13 at 16:47
I don't see too much difference, apart from the smaller type size and the hanging indentation. For the article class it's just a matter of patching the thebibliography environment or just issuing \footnotesize before the references. –  egreg Jan 27 '13 at 16:49
The other thing that makes a large difference is the spacing between successive entries. I know that I can change most of these things by hand, but I would like to avoid reinventing the wheel every time with low-level TeX code. In my eyes it would be nicer to have a class that sets everything up in a compatible and typographically nice way. –  Federico Poloni Jan 27 '13 at 17:07

If you use natbib the two parameters you need to change the space between the various entries and the fonts are \bibsep and \bibfont. You can change them using

\setlength{\bibsep}{1pt} % or use whatever dimension you want
\renewcommand{\bibfont}{\small} % or any other  appropriate font command


In biblatex the equivalent parameters are \bibitemsep and \bibfont.

-

If you want to emulate the bibliography design by the siamltex class, just copy in your document the relevant part of the class; I'll make some changes to correct a couple of mistakes.

\makeatletter
\newdimen\bibindent
\bibindent=16pt
\renewenvironment{thebibliography}[1]
{\par\bigskip\footnotesize
\section*{\centering\normalfont\footnotesize\MakeUppercase{\refname}}
\@mkboth{\MakeUppercase{\refname}}{\MakeUppercase{\refname}}
\list{\@biblabel{\arabic{enumi}}}%
{\settowidth\labelwidth{\@biblabel{#1}}%
\leftmargin\labelwidth
\itemindent -\bibindent
\listparindent \itemindent
\parsep \z@
\usecounter{enumi}%
\let\p@enumi\@empty
\renewcommand\theenumi{\arabic{enumi}}}%
\renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%
\sloppy\clubpenalty4000\widowpenalty4000%
\frenchspacing\footnotesize}
{\def\@noitemerr
{\@latex@warning{Empty thebibliography' environment}}%
\endlist}
\makeatother

-

I don't know if they are some people like me who still do their bibliographies by hand with a thebibliography environment... but at least in the article class, here is how you can go about suppressing inter-item spaces:

\footnotesize

\begin{thebibliography}{99}
\parskip0pt
\itemsep0pt
\bibitem .....
\end{thebibliography}
`
-
Why are you still preparing your bibliographies by hand? –  pluton Jan 27 '13 at 23:57
@pluton the publishers have their own database. Why should I lose my time with .bib files or whatever they are called? –  jfbu Jan 28 '13 at 15:31