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.

I'm currently usin biblatex with the following settings:

\usepackage[firstinits=true, sorting=nyt, maxbibnames=99]{biblatex}

%Document stuff...

\printbibliography

The resulting bibliography is good looking, but I'm missing two details:

  • Authors are written with the first name first (although they seem to be sorted on the last name). What I want is last names first.
  • The year is put together with the journal/publisher. I want it after the authors.

For example. What I get is

J. J. Monaghan. “Smoothed particle hydrodynamics”. In: Reports on Progress in Physics 68.8 (2005), pp. 1703–1759. issn: 0034-4885. doi: 10.1088/0034-4885/68/8/R01.

What I want is

Monaghan, J. J. (2005) “Smoothed particle hydrodynamics”. In: Reports on Progress in Physics 68.8, pp. 1703–1759. issn: 0034-4885. doi: 10.1088/0034-4885/68/8/R01.

Is it possible to do this with some settings or do I have to modify the style file?

share|improve this question
add comment

1 Answer 1

up vote 11 down vote accepted

One possibility would be to simply switch to style=authoryear. However, this will not only change the position of the year, but also remove the label number of bibliography entries (and change the formatting of citations). Workaround: Declare bibstyle=authoryear and add the bibliography environment definitions of the numeric bibstyle.

To change the order of names, use \DeclareNameAlias. See this question for details.

\documentclass{article}

\usepackage[bibstyle=authoryear,firstinits=true,maxbibnames=99]{biblatex}

\DeclareFieldFormat{bibentrysetcount}{\mkbibparens{\mknumalph{#1}}}
\DeclareFieldFormat{labelnumberwidth}{\mkbibbrackets{#1}}

\defbibenvironment{bibliography}
  {\list
     {\printtext[labelnumberwidth]{%
    \printfield{prefixnumber}%
    \printfield{labelnumber}}}
     {\setlength{\labelwidth}{\labelnumberwidth}%
      \setlength{\leftmargin}{\labelwidth}%
      \setlength{\labelsep}{\biblabelsep}%
      \addtolength{\leftmargin}{\labelsep}%
      \setlength{\itemsep}{\bibitemsep}%
      \setlength{\parsep}{\bibparsep}}%
      \renewcommand*{\makelabel}[1]{\hss##1}}
  {\endlist}
  {\item}

\DeclareNameAlias{sortname}{last-first}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A. and Buthor, B.},
  year = {2001},
  title = {Alpha},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}

Some text \autocite{A01}.

\printbibliography

\end{document}

EDIT: Removed package option sorting=nyt because this is the default for bibstyle=authoryear.

enter image description here

share|improve this answer
    
With biblatex v0.9a I get AuthorA.A.A.ButhorB.B.B. (2001). Alpha.. –  pirad May 8 '12 at 8:32
add comment

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.