# How to suppress certain .bib fields (e.g. year) only for certain entry types (e.g. inproceedings)

How can I suppress the year from appearing in the bibliography for entries of type @inproceedings? In my specific case the year is implied in the booktitle (e.g. FOCS '09) so it is redundant when I need to save space. I found http://www.latex-community.org/forum/viewtopic.php?f=50&t=11447 and the "second solution" looks promising but I am not sure how to translate it to only suppress the year for one type of entry. I am guessing \ifentrytype might be helpful. I am using biblatex+biber.

-

\documentclass{article}

\usepackage{biblatex}

\AtEveryBibitem{%
\ifentrytype{inproceedings}{%
\clearfield{year}%
}{%
}%
}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
author = {Author, A.},
year = {2001},
title = {Alpha},
}
@inproceedings{B09,
author = {Buthor, B.},
editor = {Cuthor, C.},
year = {2009},
title = {Bravo},
booktitle = {FOCS'09},
}
\end{filecontents}

\nocite{*}

\begin{document}

\printbibliography

\end{document}

-
Thanks. I didn't realise it would be that straightforward. –  Raphael Jul 15 '11 at 5:17

Or, you can do this before the data even gets to biblatex. Assuming biber 0.9.8+; put this in your biber:conf:

<?xml version="1.0" encoding="UTF-8"?>
<config>
<sourcemap>
<maps datatype="bibtex" map_overwrite="1">
<map>
<per_type>INPROCEEDINGS</per_type>
<map_step map_field_set="YEAR" map_null="1"/>
</map>
</maps>
</sourcemap>
</config>

-