What is the easiest way to generate a compact bibliography?

Another biblatex solution.

As basis we take biblatex's numeric with maxnames=2

\usepackage[style=numeric,maxnames=2]{biblatex}

We define our short bibliography driver std that prints only the author/editor, title and date

\DeclareBibliographyDriver{std}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/editor+others/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit\newblock
  \usebibmacro{date}%
  \newunit\newblock
  \usebibmacro{finentry}}

We then map all the entries to use this driver (I really hoped, there would be a shorter, more elegant way to do this, but I have yet to find it)

\DeclareBibliographyAlias{article}{std}
\DeclareBibliographyAlias{book}{std}
\DeclareBibliographyAlias{booklet}{std}
\DeclareBibliographyAlias{collection}{std}
\DeclareBibliographyAlias{inbook}{std}
\DeclareBibliographyAlias{incollection}{std}
\DeclareBibliographyAlias{inproceedings}{std}
\DeclareBibliographyAlias{manual}{std}
\DeclareBibliographyAlias{misc}{std}
\DeclareBibliographyAlias{online}{std}
\DeclareBibliographyAlias{patent}{std}
\DeclareBibliographyAlias{periodical}{std}
\DeclareBibliographyAlias{proceedings}{std}
\DeclareBibliographyAlias{report}{std}
\DeclareBibliographyAlias{thesis}{std}
\DeclareBibliographyAlias{unpublished}{std}
\DeclareBibliographyAlias{*}{std}

To get the citation label instead of the "cute little icon", we can use

\setbeamertemplate{bibliography item}[text]

See Beamer-Template/-Color/-Font bibliography item, p. 102 of the beamer user guide.

MWE

\documentclass{beamer}
\usepackage[style=numeric,maxnames=2]{biblatex}
\addbibresource{biblatex-examples.bib}

\setbeamertemplate{bibliography item}[text]

\DeclareBibliographyAlias{article}{std}
\DeclareBibliographyAlias{book}{std}
\DeclareBibliographyAlias{booklet}{std}
\DeclareBibliographyAlias{collection}{std}
\DeclareBibliographyAlias{inbook}{std}
\DeclareBibliographyAlias{incollection}{std}
\DeclareBibliographyAlias{inproceedings}{std}
\DeclareBibliographyAlias{manual}{std}
\DeclareBibliographyAlias{misc}{std}
\DeclareBibliographyAlias{online}{std}
\DeclareBibliographyAlias{patent}{std}
\DeclareBibliographyAlias{periodical}{std}
\DeclareBibliographyAlias{proceedings}{std}
\DeclareBibliographyAlias{report}{std}
\DeclareBibliographyAlias{thesis}{std}
\DeclareBibliographyAlias{unpublished}{std}
\DeclareBibliographyAlias{*}{std}

\DeclareBibliographyDriver{std}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/editor+others/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit\newblock
  \usebibmacro{date}%
  \newunit\newblock
  \usebibmacro{finentry}}

\begin{document}
\begin{frame}
  \cite{wilde,baez/article,cicero,aksin,westfahl:space,westfahl:frontier,gaonkar,britannica}
\end{frame}
\begin{frame}
  \printbibliography
\end{frame}
\end{document}

enter image description here


In the following, I use biblatex to:

  • Restrict the number of author names to two by passing the maxnames=2, minnames=2 options to the biblatex package.
  • Tailor the content of the bibliography via the \AtEveryitem hook. Inside this hook, I use \clearfield/name/list{<element>} to exclude certain fields from being printed.

For many fields the latter is also possible by global biblatex options, such as doi=false. However, this does not work for all fields. For me, the hooks makes it also more easy to "play" with different settings by just commenting in/out the respective \clearfield lines.

\documentclass{beamer}
\usepackage{filecontents}
\usepackage[backend=bibtex,style=numeric,maxnames=2, minnames=2]{biblatex}
\addbibresource{beamer.bib}
\usepackage[utf8]{inputenc}

\begin{filecontents}{beamer.bib}
@article{hoare:69:cacm,
  author = {Hoare, C. A. R.},
  title = {An axiomatic basis for computer programming},
  journal = {Communications of the ACM},
  volume = 12,
  number = 10,
  month = oct,
  year = 1969,
  issn = {0001-0782},
  pages = {576--580},
  doi = {10.1145/363235.363259},
  publisher = {ACM Press},
  address = {New York, NY, USA},
}
@article{dijkstra:68:cacm,
  author = {Edsger Wybe Dijkstra},
  title = {The Structure of the {THE}-Multiprogramming System},
  journal = {Communications of the ACM},
  year = {1968},
  month = may,
  volume = 11,
  number = 5,
  pages = {341--346},
}
@article{graham:68:cacm,
  author = {Robert M. Graham},
  title = {Protection in an Information Processing Utility},
  journal = {Communications of the ACM},
  volume = {11},
  number = {5},
  month = may,
  year = {1968},
  issn = {0001-0782},
  pages = {365--369},
  doi = {10.1145/363095.363146},
  publisher = {ACM Press},
  address = {New York, NY, USA},
}
@inproceedings{henkel:11:codesisss,
  title = {Design and Architectures for Dependable Embedded Systems},
  author = { Henkel,J{\"o}rg and Bauer,Lars and Becker,Joachim and Bringmann,Oliver and Brinkschulte,Uwe and Chakraborty,Samarjit and Engel,Michael and Ernst,Rolf and H{\"a}rtig,Hermann and Hedrich,Lars and Herkersdorf,Andreas and R{\"u}diger Kapitza and Daniel Lohmann and Marwedel,Peter and Platzner,Marco and Rosenstiel,Wolfgang and Schlichtmann,Ulf and Spinczyk,Olaf and Tahoori,Mehdi and J{\"u}rgen Teich and Wehn,Norbert and Wunderlich,Hans-Joachim},
  keywords = {embedded systems, dependable systems, danceos},
  doi = {10.1145/2039370.2039384},
  pages = {69--78},
  editor = {Robert P. Dick and Jan Madsen},
  isbn = {978-1-4503-0715-4},
  venue = {Taipei, Taiwan},
  booktitle = {Proceedings of the 9th IEEE/ACM International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS '11)},
  year = {2011},
  month = oct,
  publisher = {ACM Press},
}

\end{filecontents}


% Content Tailoring
%
% tailor content of bibliography
\AtEveryBibitem{
   \clearfield{month}
   \clearfield{series}
   \clearfield{venue}
   \clearname{editor}
   \clearlist{publisher}
   \clearlist{location} % alias to field 'address'
   \clearfield{doi}
   \clearfield{url}
   \clearfield{venue}
   \clearfield{issn}
   \clearfield{isbn}
   \clearfield{urldate}
   \clearfield{eventdate}
   %\clearfield{pages}
   %\clearfield{booktitle}
   %\clearfield{journaltitle}
   %\clearfield{number}
   %\clearfield{volume}
}

\begin{document}
\nocite{*}
\begin{frame}[allowframebreaks]
    \printbibliography
\end{frame}
\end{document}

The result looks as follows:

enter image description here

If you want to get rid of even more data, just uncomment the additional lines in the \AtEveryBibitem handler:

enter image description here


With this style file: http://comedy.dante.de/~herbert/Bibliography/plain-short.bst

and

\documentclass{article}
\begin{document}
\nocite{*}
\bibliographystyle{plain-short}
\bibliography{ref-antibiotics}

\end{document}

you'll get:

enter image description here