[Tex/LaTex] biblatex: change inproceedings

biblatex

I'd love to change the bibliography representation of @inproceedings. I use biblatex without biber (since I can't get biber to work) and my bibliography definitions currently read as follows:

\usepackage[style=alphabetic,maxbibnames=99,sorting=anyt,firstinits=true,url=false,doi=false]{biblatex}
    \renewcommand*{\newunitpunct}{\addcomma\space}
    \renewcommand{\labelalphaothers}{}
    \renewcommand{\labelnamepunct}{\addcolon\space}
    \renewbibmacro{in:}{}
    \DeclareFieldFormat*{journaltitle}{#1}
    \DeclareFieldFormat*{title}{\enquote{\textsl{#1}}}
    \DeclareFieldFormat*{volume}{\textbf{#1}}
    \renewbibmacro*{volume+number+eid}{\printfield{volume}}
    \AtEveryBibitem{\clearfield{issn}} 

This pretty much worked for journals and books, but inproceedings do not look as I want them to. With a typical entry like:

@inproceedings{Wilis2001,
address = {Les Ulis, France},
author = {Wills, A.},
booktitle = {JDN 9 – Neutrons et Magn\'{e}tisme},
doi = {10.1051/jp4:2001906},
file = {:D\:/NP430 MasterThesis/Bibliography/2001_JDN9_Wills_Magnetic structures and their determination.pdf:pdf},
issn = {1155-4339},
pages = {133--158},
publisher = {EDP Sciences},
title = {{Magnetic structures and their determination using group theory}},
url = {http://www.edpsciences.org/10.1051/jp4:2001906},
year = {2001}
}

I get something like this:

A. Wills: "Magnetic structures and their determination using group theory", JDN 9 – Neutrons et Magnétisme, Les Ulis, France: EDP Sciences, 2001, pp. 133-158

  1. Now first of all I wanted the year to be in parentheses, as it is done for journal articles. I tried \DeclareFieldFormat[inproceedings]{year}{(#1)} but it didn't change a thing.
  2. And second, I would like to get rid of the publisher and address (or maybe only the address, I need to see what it gives…).
  3. And while you're at it, maybe you could also let me know how to suppress the month, that is printed for journal articles. Thanks.

———EDIT————-

Here is the MWE:

\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[backend=biber,style=alphabetic,maxbibnames=99,sorting=anyt,firstinits=true,url=false,doi=false]{biblatex}
\renewcommand*{\newunitpunct}{\addcomma\space}
\renewcommand{\labelalphaothers}{}
\renewcommand{\labelnamepunct}{\addcolon\space}
\renewbibmacro{in:}{}
\DeclareFieldFormat*{journaltitle}{#1}
\DeclareFieldFormat*{title}{\enquote{\textsl{#1}}}
\DeclareFieldFormat*{volume}{\textbf{#1}}
\renewbibmacro*{volume+number+eid}{\printfield{volume}}
\AtEveryBibitem{\clearfield{issn}}
\DeclareFieldFormat[inproceedings]{booktitle}{Conference: #1}
\DeclareFieldFormat[inproceedings]{date}{\ifbibliography{\mkbibparens{#1}}{#1}}

\AtEveryBibitem{%
  \ifentrytype{article}
    {\clearfield{month}%
     \clearfield{day}}
    {}%  
  \ifentrytype{inproceedings}
    {\clearlist{address}
     \clearfield{month}
     }
    {}}

\begin{filecontents}{\jobname.bib}
@inproceedings{Wilis2001,
address = {Les Ulis, France},
author = {Wills, A.},
booktitle = {JDN 9 -- Neutrons et Magn\'{e}tisme},
doi = {10.1051/jp4:2001906},
file = {:D\:/NP430 MasterThesis/Bibliography/2001_JDN9_Wills_Magnetic structures and their determination.pdf:pdf},
issn = {1155-4339},
pages = {133--158},
month = {July},
publisher = {EDP Sciences},
title = {{Magnetic structures and their determination using group theory}},
url = {http://www.edpsciences.org/10.1051/jp4:2001906},
year = {2001}
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

As you can see, I managed to get biber to work (a simple update can work miracles…). But I still don't access the year, even with

\DeclareFieldFormat[inproceedings]{date}{\ifbibliography{\mkbibparens{#1}}{#1}}

Also I could get rid of the publisher and months with the suggested \clearfields etc. but not the address…

Best Answer

Standard bibliography drivers print dates with \printdate and friends. So you'll have to change the date format:

\DeclareFieldFormat[inproceedings]{date}{\ifbibliography{\mkbibparens{#1}}{#1}}

The date format feature was added to biblatex 1.7, but it fails to work in English documents. This is due to a known bug in the English localization module (english.lbx). To fix this (along with some other 1.7 bugs) you can upgrade to biblatex 2.0. This beta version requires biber 1.0 and its default setting for the backend option is biber. To use bibtex instead, add backend=bibtex to the biblatex load-time option settings. Alternatively you can edit the module yourself with the bug fix documentation at the "caretaker" github repo for biblatex.

You can suppress data in the bibliography using \clearfield and friends. A couple questions cover this topic already. Here's an example.

\AtEveryBibitem{%
  \ifentrytype{article}
    {\clearfield{month}%
     \clearfield{day}}
    {}%  
  \ifentrytype{inproceedings}
    {\clearlist{publisher}%
     \clearlist{location}}
    {}}

The address field is an alias for location, so we suppress location instead. We use \clearlist because both location and publisher are literal lists.

Related Question