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}
Output if one uncomments \biblatextrue
:
Best Answer
I don't deprecate any testing ;-) -- all standard styles are available as biblatex styles here: trad-biblatex
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:
fields:
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 requiredbbx
files.First I collect some details of the style:
AUTHOR
thentitle
thenYEAR
and others
in the fieldthe field
title
is printed with emphasis for the entry types:the field
title
is printed as normal for the entry types:all other fields are printed as
\normalfont
in
, excluding@incollection
Style
plain
Style
unsrt
plain
Style
alpha
NOTE: requires
biber
Style
abbrv
plain
Usage
This current development branch can be found at github: biblatex-trad
All traditional bibliography styles can be loaded via options by the package
biblatex
:This method allows the using of all options provided by
biblatex
. Available styles will be (not yet):trad-plain
which emulatedplain
trad-unsrt
which emulatedunsrt
trad-alpha
which emulatedalpha
trad-abbrv
which emulatedabbrv
I hope I didn't forget any traditional style
Some technical hints will be collected in the documentation.
Documentation
A small documentation is available at biblatex-trad
Results:
trd-plain
References
biblatex
-manualBased on the example given by lockstep here the required result: