71

This question led to a new package:
biblatex-trad

I'd like to use biblatex while at the same time maintaining the bibliography format of the traditional BibTeX styles (plain, abbrv, unsrt, alpha). Looking at Guidelines for customizing biblatex styles, some of the necessary tweaks to the styles shipped with biblatex seem rather straightforward, but others (e.g., shifting the location of the pages field for @article entries) are more tricky. What customizations of biblatex are needed to emulate the traditional BibTeX styles as closely as possible?

Here's a compilable example for the plain style displaying the entry types @article, @book, and @incollection. (The [sometimes idiosyncratic] formatting of the BibTeX database is modelled after xampl.bib which is part of most TeX distributions.)

\documentclass{article}

\newif\ifbiblatex

% \biblatextrue

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@article{A+01,
  author = {Author, Aa and Buthor, Bb and Cuthor, Cc and Duthor, Dd},
  title = {Title},
  journal = {Journal title},
  year = {2001},
  volume = {1},
  number = {2},
  pages = {101--109},
  month = jan,
  note = {This is an article entry},
}
@book{A+02,
  author = {Author, Aa and Buthor, Bb and Cuthor, Cc and Duthor, Dd},
  title = {Title},
  volume ={1},
  series = {Series},
  publisher = {Publisher},
  address = {Location},
  edition = {First},
  month = "1~" # jan,
  year = {2002},
  note = {This is a book entry}
}
@incollection{A+03,
  author = {Author, Aa and Buthor, Bb and Cuthor, Cc and Duthor, Dd},
  title = {Title},
  editor = {Zuthor, Zz and Yuthor, Yy and Xuthor, Xx and Wuthor, Ww},
  booktitle = {Book title},
  number = {1},
  series = {Series},
  chapter = {2},
  type = {Part},
  pages = {101--109},
  publisher = {Publisher},
  address = {Location},
  edition ={First},
  month = jan,
  year = {2003},
  note = {This is an incollection entry},
}
\end{filecontents}

\ifbiblatex
  \usepackage[style=numeric]{biblatex}
  \addbibresource{\jobname.bib}
\fi

\begin{document}

\nocite{*}

\ifbiblatex
  \printbibliography
\else
  \bibliographystyle{plain}
  \bibliography{\jobname}
\fi

\end{document}

enter image description here

Output if one uncomments \biblatextrue:

enter image description here

5
  • Are you suggesting that, so far at least, there are no biblatex-affiliated packages that implement the look-and-feel of the "classic" plain, unsrt, etc bibliography styles?
    – Mico
    Jun 1, 2012 at 17:35
  • 2
    @Mico I'm not aware of any such packages. My answer here provides a starting point, but not a perfect emulation.
    – lockstep
    Jun 1, 2012 at 17:39
  • Do you mean for all traditional BibTeX entry types (e.g., @Booklet, @Manual, @MastersThesis, etc.)? AUCTeX gives me 14 entry types to choose from; worrying about all of them for each of the four styles seems like a fairly tedious task. Though maybe one answer per style would make people more inclined to give it a go (especially if they are users of one of those styles and would like an easy migration route to biblatex).
    – jon
    Jun 1, 2012 at 20:10
  • 1
    @jon a) Tweaking @article, @book, and @incollection will cover most cases b) I suspect that, apart from the differences outlined in my answer here, the tweaks will be the same (or at least similar) for the four styles c) If nobody else comes up with an answer, I'll have a go at it.
    – lockstep
    Jun 1, 2012 at 20:15
  • @MarcoDaniel As you want to tackle this, note that xampl.bib is not a sufficient test file, becuase there are also differences in the treatment of multiple-author works.
    – lockstep
    Sep 1, 2012 at 18:16

1 Answer 1

55

I don't deprecate any testing ;-) -- all standard styles are available as biblatex styles here: trad-biblatex GitHub


The following remarks requires biblatex 2.0 or newer!

The aim is to setup standard bibliography styles which allow all modifications provided by BibLaTeX. In the first step the implementation of the entry types @BOOK, @ARTICLE and @INCOLLECTION are on focus. The implemented styles are marked by a green check mark ;-)

Preface

The traditional BibTeX styles are providing the following fields and entry types.

Entry types:

article  book  booklet  inbook  incollection 
inproceedings conference manual mastersthesis 
misc phdthesis proceedings techreport unpublished

fields:

address   author    booktitle    chapter    edition
editor    howpublished    institution    journal
key    month    note    number    organization
pages    publisher    school    series    title
type    volume    year

All traditional fields and entry types are provided by BibLaTeX too. However BibLaTeX offers more entry types and fields. So I recommend by using BibLaTeX to change the bib entries related to BibLaTeX.

Modifications

The basic order and settings for all standard styles are equal. So I am providing a file trad-standard.bbx which yields the standard settings. The extra settings are done in the required bbx files.

First I collect some details of the style:

  • the sorting is chronological by AUTHOR then title then YEAR
  • Names are printed as: Firstname (no initials) Surname
  • all names are printed; et~al. is set as a replacement of and others in the field
  • the field title is printed with emphasis for the entry types:

    book  inbook  manual  phdthesis  proceedings
    
  • the field title is printed as normal for the entry types:

    article  booklet  conference incollection  inproceedings
    mastersthesis  misc  techreport  unpublished
    
  • all other fields are printed as \normalfont

  • the journal title isn't introduced by a string in, excluding @incollection
  • ordering of entries can be seen in the examples

Style plain Check Mark Green

  • all entries are numbered

Style unsrt Check Mark Green

  • equal to the style plain
  • sorting scheme is none.

Style alpha Check Mark Green

NOTE: requires biber

  • standard with a label

Style abbrv Check Mark Green

  • equal to plain
  • usage of abbreviation

Usage

This current development branch can be found at github: biblatex-trad GitHub

All traditional bibliography styles can be loaded via options by the package biblatex:

\usepackage[style=trad-plain]{biblatex}

This method allows the using of all options provided by biblatex. Available styles will be (not yet):

  • trad-plain which emulated plain
  • trad-unsrt which emulated unsrt
  • trad-alpha which emulated alpha
  • trad-abbrv which emulated abbrv

I hope I didn't forget any traditional style

Some technical hints will be collected in the documentation.

Documentation Check Mark Gray

A small documentation is available at biblatex-trad GitHub

Results:

trd-plain

enter image description here

References

  1. BiBTeXing -- btxdoc.pdf
  2. biblatex-manual
  3. Testfiles ;-)

Based on the example given by lockstep here the required result:

enter image description here

enter image description here

4
  • I had just begun a similar project (but focusing merely on plain), so your project is very welcome. Thanks! There seem to be some minor issues with your code. Shall I post comments here or on your github site?
    – acr
    Sep 24, 2012 at 2:18
  • @acr: I answered here: github.com/marcodaniel/trad-biblatex/issues/1 Sep 24, 2012 at 5:40
  • Titlecase / capitalization does not match bibtex for me. The resulting bibliography was much larger than with bibtex, too, (using the 2015 ACM SIG templates, with abbrv). :-( Feb 6, 2016 at 17:05
  • I see one warning: Macro 'in:' already defined.
    – hola
    Jul 29, 2018 at 15:15

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .