10

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...

1
  • 3
    Please post a MWE to let people try the suggestions before posting. You can delete the month in entries with \AtEveryCitekey{\clearfield{month}} if I remember correctly. You can do that with other entries as well, but some of them are lists. You have to use \AtEveryCitekey{\clearlist{...}} then. The BibLaTeX manual shows which entries are lists fields. \DeclareFieldFormat[article]{year}{(#1)} works in my documents (Biblatex+biber). Also, you can define aliases if you are happy with the article style. \DeclareBibliographyAlias{letter}{article} formats every letter the same as an article
    – Andy
    May 20, 2012 at 18:02

1 Answer 1

9

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.

6
  • We are getting closer. For more information, please read my edited question. Thanks
    – Berserk
    May 20, 2012 at 20:28
  • 1
    @Berserk address is an alias for location, so location should be suppressed as well. The date formatting should work in languages other than English or with either of the fixes I suggested.
    – Audrey
    May 20, 2012 at 20:39
  • location did the trick. For the bugfix, it seems rather easy (change four lines). However, I can't edit the english.lbx (all my editors tell me "access denied").
    – Berserk
    May 20, 2012 at 20:59
  • 1
    @Berserk I've tested both ways and they work fine for me. I guess you're having problems with file permissions. Fixing that will depend on your system/installation.
    – Audrey
    May 20, 2012 at 21:10
  • You were right. I copied the file out of the MiKTeX 2.9\tex\latex\biblatex\lbx folder to my desktop and could then edit it and reload it into the folder. Everything works now.
    – Berserk
    May 21, 2012 at 7:18

You must log in to answer this question.

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