3

There is a bug in biblatex-chicago package.

Biblatex-chicago prints the urldate information ("accessed September 27, 2017.") even if "url=false" is specified (\usepackage[url=false]{biblatex-chicago}).

This is not the behavior of biblatex.

I informed the author who will fix it. In the meantime, I need a way to clear the urldate field which touching my .bib database.

I tried without success:

\AtEveryBibitem{\clearfield{urldate}}

MWE:

\documentclass{article}
\usepackage[authordate,url=false]{biblatex-chicago}
%\usepackage[style=authoryear,url=false]{biblatex}
\addbibresource{test_biblio.bib}
\begin{document}

text
\autocite{test42}

\printbibliography

\end{document}

test_biblio.bib

@book{test42,
  author = {Author},
  title = {title},
  year = 2001,
  title = {Title},
  url = {tex.stackexchange.com},
  urldate = {2017-09-27}
}
4
  • 1
    \clearfield{urlyear}
    – moewe
    Commented Sep 29, 2017 at 9:57
  • 1
    The problem is that urldate is split up into its components and as such for biblatex internally only urlyear, urlmonth, urlmonth exist, even though the input only uses urldate.
    – moewe
    Commented Sep 29, 2017 at 9:58
  • See also Excessive fields in biblatex could not be removed if using \fullcite
    – moewe
    Commented Sep 29, 2017 at 10:01
  • @moewe ok \AtEveryBibitem{\clearfield{urlyear}\clearfield{urlmonth}\clearfield{urlday}} works. It was "year" and not "date", stupid me... Turn this into an answer and I will accept it.
    – ppr
    Commented Sep 29, 2017 at 15:11

1 Answer 1

5

Internally, date-like fields are decomposed by the backend (Biber or BibTeX) into their dateparts for easier handling within biblatex. So for biblatex there is no such thing as urldate, but there are urlyear, urlmonth, urlday, ... (Of course this does not mean that urldate should not be used as input in the .bib file, in fact only urldate is valid input, urlyear is not.)

So you need to delete the dateparts. Since biblatex doesn't print a date, if its year is missing, it is enough to say

\AtEveryBibitem{\clearfield{urlyear}}

If you don't want the urldate at all,

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[fieldset=urldate, null]
    }
  }
}

is safer because it makes sure that the urldate is completely ignored, whereas even if you use \AtEveryBibitem{\clearfield{urlyear}} it can be used for label generation.

You must log in to answer this question.

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