2

I just started a major project which presumably will grow up to 70 pages, including quite some for my bibliography. So I want that to look neat and orderly.

Until now, I have been satisfied with the default outcome of \usepackage[round,sort]{natbib}, \bibliographystyle{agsm}, but I have ever wanted to change it. What I would like the thing to look like in the end is (text between slashes should be in italics, caps should be small caps):

AUTHOR, F.O.
    2000 - /This is my First Book/, Address: Publisher

SCHREIBER, K.
    1802 - /Wenn Wir Auf Deutsch Geschrieben Habe/, Address: Publisher
    1803 - 'Ich weiss nicht wie das heisst', in: Etwas, E. (ed.), /Das Buch/, Address: Publisher, pp. 5-6

It would be nice to be able to put in two columns. But I don't know what the options are. Is this possible? Or is this not an option in latex and do I have to accept it the way it is?

Here's the output generated by the basic agsm bibliography style; note that it differs in several ways from the preferred style laid out above.

enter image description here

MWE:

\documentclass{report}
\usepackage[round,sort]{natbib}
\bibliographystyle{agsm}

\begin{document}
\nocite{*}
\bibliography{bibl}
\end{document}

bibl.bib file:

@book{auth00,
author={Author, First One},
title={This is my First Book},
year={2000},
publisher={Publisher},
address={Address}}

@book{schr02,
author={Schreiber, Kugel},
title={Wenn Wir Auf Deutsch Geschrieben Habe},
year={1802},
publisher={Publisher},
address={Address}}

@incollection{schr03,
author={Schreiber, Kugel},
title={Ich weiss nicht wie das heisst},
year={1803},
booktitle={Das Buch},
editor={Etwas, Edward},
publisher={Publisher},
address={Address}}
Mico
  • 506,678
Jopie
  • 594
  • Do you want to continue using the agsm bibliography style? (I didn't think that this style introduces a line break between the author's name(s) and the subsequent bibliographic information...) – Mico Feb 28 '15 at 14:23
  • you should look to biblatex-package. It's the best to have customized bibliography. – Maïeul Feb 28 '15 at 14:33
  • @Maïeul - Is there a predefined biblatex style that reproduces the output of the agsm style? – Mico Feb 28 '15 at 14:54
  • @Mico : i don't know, but all is possible. – Maïeul Feb 28 '15 at 17:11
  • @Maïeul - How helpful is it to suggest a switch to biblatex unless such a suggestion is accompanied by specific advice regarding implementing all components of a specific 'look' (such as the one generated by the agsm style)? I have absolutely nothing against biblatex, by the way. I'm mostly concerned that a generic piece of advice ("switch to biblatex, it's highly customizable") may go over well unless it's accompanied by additional, style-specific advice. – Mico Feb 28 '15 at 17:19
  • @Mico that why it was not an answer, but just a remark. I don't know the agsm bibliography style, so I can't answer more. I just send a pist. – Maïeul Feb 28 '15 at 19:58
  • @Mico I'm not unwilling to try something totally different, but this is what I have used the last two years. I sorted out what the best option was for me at that time, but I don't really know all the reasons I have. – Jopie Mar 02 '15 at 10:19
  • I would second @Maïeul's recommendation just switched to biblatex because I was fed up trying to work out how to get a style I liked with bibtex/natbib. I found it quite painless and I made the switch and set up exactly the style I wanted in a couple of hours. I have no idea about the two columns, but it sounds like the sort of thing that ought to be possible – FionaSmith Mar 02 '15 at 10:30
  • @Maïeul If you can explain me how this can be achieved with Biblatex, including Harvard-like style of citing, I'm not unwilling to get acquainted with it. – Jopie Mar 02 '15 at 10:41
  • AFAICT, you want to make five changes: (i) "Address: Publisher" instead of "Publisher, Address", (ii) "in: Editor, E. Etwas" instead of "in E. Etwas, ed.,"; (iii) title field of @incollection-type entries should be surrounded by single quotes; (iv) booktitle field of @incollection-type entries should be set in italics rather than be surrounded by single quotes; and (v) no . at the end of every entry. Please confirm or correct. – Mico Mar 02 '15 at 10:47
  • All correct, except (ii); that was an error in my example. The main problem, however, is that entries should be listed by year under the authors name. This makes it much easier to find something in bibliographies of several pages (earlier essays had a ratio 3:1 of text:bibliography). The features you listed are not the most important changes. – Jopie Mar 04 '15 at 11:14
  • Would you be OK replacing repeated author names with triple em-dashes? That would be much easier to program than line breaks and indentations. – Mico Mar 06 '15 at 20:09
  • For the bibliography in two columns see http://tex.stackexchange.com/a/77983/16895 – Guido Mar 06 '15 at 20:48
  • 3
    To organise bibliographies per authors (using biblatex) see http://tex.stackexchange.com/a/83891/16895 – Guido Mar 06 '15 at 20:54
  • Well, I shifted to Biblatex, succeeded to get the author/editor in the bibliography in small caps, got the bibliography organised per authors, and abandoned the idea of two columns. Now one step remains: replacing the numbers of the counter with the years of publication. I tried several things, but I just don't get how to get them at the exact same spot. – Jopie Mar 08 '15 at 14:30

1 Answers1

2

Here is an adjustment of this answer for this question

\documentclass{article}
\usepackage{filecontents}

\begin{filecontents*}{\jobname.bib}
@book{fruits,
  title = {The apple and the banana},
  publisher = {Tomatopress},
  editor = {Straw Berry},
  author = {Annoying Orange},
  year = {1970}
}
@book{fruits2,
  title = {The pineapple and the banana},
  publisher = {Tomatopress},
  editor = {Straw Berry},
  author = {Annoying Orange},
  year = {1971}
}
@book{fruits3,
  title = {The mangos and the banana and other tropical fruits},
  publisher = {Tomatopress},
  editor = {Straw Berry},
  author = {Annoying Orange and Peachy Pear},
  year = {1970}
}
\end{filecontents*}


\usepackage[utf8]{inputenc}
\usepackage[firstinits,citestyle=authoryear]{biblatex}

\addbibresource{\jobname.bib}

\makeatletter
\newcommand{\@currentauthor}{}
\newcommand{\@current}{}

\AtEveryBibitem{%
  \savename{labelname}{\@current}%
  \ifdefstrequal{\@currentauthor}{\@current}
    {\par}
    {\item[]%
      \printnames[last-first/first-last]{labelname}\par}%
    \usedriver{}{special}%
    \makebox[0em][r]{\printfield{labelyear}\addspace--\addspace}%
    \clearfield{year}%
}

\DeclareBibliographyDriver{special}{%
\savename{labelname}{\@currentauthor}%
}
\makeatother

\renewbibmacro{editor+others}{}
\renewbibmacro{author/translator+others}{}
\renewbibmacro{author/editor+others/translator+others}{}

\defbibenvironment{bibliography}
  {\list
    {}
    {\setlength{\itemindent}{-4em}%
      \setlength{\leftmargin}{4em}%
      \setlength{\itemsep}{\bibitemsep}%
      \setlength{\parsep}{\bibparsep}}}
  {\endlist}
  {}


\begin{document}
Hello world \cite{fruits,fruits2,fruits3}.

\printbibliography

\end{document}

producing

enter image description here

For a version where the bibliography is over two column, load the multicols and relsize packages (i.e., \usepackage{mulitcols,relksize}) and then use the following (re)definition of the bibliography environment:

\defbibenvironment{bibliography}
  {\begin{multicols}{2}\smaller\list
    {}
    {\setlength{\itemindent}{-4.5em}%
      \setlength{\leftmargin}{4.5em}%
      \setlength{\itemsep}{\bibitemsep}%
      \setlength{\parsep}{\bibparsep}}}
  {\endlist\end{multicols}}
  {}

This produces:

enter image description here

Guido
  • 30,740
  • Great! This is almost exactly what I needed. However, in cases where there are two publications by the same author in the same year it is necessary to distinguish between them in the bibliography. I changed \printfield{labelyear} to \printedateextra – Jopie Mar 12 '15 at 11:56