%
% This file prints an annotated bibliography. The example entries in
% examples.bib feature `annotation' fields with some remarks about
% the respective entry. The main point of this file is printing
% these annotations. As a positive side-effect, it also serves as a
% five-minute guide to creating simple annotated bibliographies with
% biblatex.
%
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[american]{babel}
\usepackage[babel]{csquotes}
%
% All example entries in examples.bib include a `hyphenation' field.
% By setting `babel=hyphen', we instruct biblatex to switch
% hyphenation patterns in the bibliography.
\usepackage[babel=hyphen,hyperref]{biblatex}
\bibliography{examples}
\usepackage{hyperref}
%
% So how do you create an annotated bibliography? Essentially, you
% write a new bibliography style which prints the `annotation' fields
% (they are ignored by the default styles). Unless you need a special
% layout, however, there is no need to write a new style from
% scratch. In this example, we'll simply add some code to biblatex's
% standard style.
%
% A bibliography entry is terminated with \finentry. The standard
% styles wrap that in a `bibmacro' called `finentry' instead of
% calling \finentry directly. This macro may be used as a hook. Its
% default definition, which is found in biblatex.def, looks like
% that:
%
%   \newbibmacro*{finentry}{\finentry}
%
% We insert the `annotation' field at the end of the entry. We're
% also overriding the default punctuation inserted between the
% individual chunks of a bibliography entry. We want a dash and
% spaces as a separator.
%
\renewbibmacro*{finentry}{%
  \setunit{\addperiod\addnbspace\textendash\space}%
  \printfield{annotation}%
  \finentry}
%
% We want the annotations formatted in a certain way. We wrap all
% annotations in babel's `hyphenrules' environment since they're in
% (American) English. We also print them in boldface.
%
\DeclareFieldFormat{annotation}{%
  \begin{hyphenrules}{american}%
  \bfseries #1\addperiod
  \end{hyphenrules}}
%
% That's it as far as annotations are concerned. What follows is
% mostly cosmetic. First of, let's define a suitable heading for our
% bibliography.
%
\defbibheading{annotated}{%
  \section*{Annotated Bibliography}}
%
% Let's also adjust the layout of the list of references a bit by
% redefining the `thebibliography' environment.
%
\renewenvironment*{thebibliography}
  {\list{}{%
     \setlength{\leftmargin}{1.5em}%
     \setlength{\itemindent}{-\leftmargin}%
     \setlength{\itemsep}{0.5\baselineskip}%
     \setlength{\parsep}{0pt}}}
  {\endlist}
%
\begin{document}
% Now let's add all entries found in the bib file to our annotated
% bibliography and print it.
\nocite{*}
\printbibliography[heading=annotated]
\end{document}
