I would like to create two separate lists of references using biblatex. The first one should contain literature references, the second one online references. My criterion is that any entry with both a Url and a Urldate in the BibTeX file should be an online source. So I defined a “bibcheck” like so:
\documentclass{article}
\usepackage[style=verbose]{biblatex}
\defbibcheck{online}{%
\ifboolexpr{
not test {\iffieldundef{Url}} and not test {\iffieldundef{Urldate}}
}{% Entry has both url and urldate -> it's a web source
}{%
\skipentry
}
}
\defbibcheck{hasurl}{%
\iffieldundef{Url}{\skipentry}{}%
}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{A01,
author = {Author, A.},
year = {2001},
title = {Alpha},
url = {http://www.google.com/},
urldate = {2012-06-21}
}
@misc{B02,
author = {Buthor, B.},
year = {2002},
title = {Bravo},
url = {http://www.google.com/}
}
@misc{C03,
author = {Cuthor, C.},
year = {2001},
title = {Charlie},
urldate = {2012-06-21}
}
@misc{D04,
author = {Duthor, D.},
year = {2001},
title = {Delta}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\nocite{*}
\begin{document}
\printbibliography[check=online]
\printbibliography[check=hasurl]
\end{document}
This does not work, however, because it seems that in the bibcheck “routine” neither Url nor Urldate are set – even though they are printed correctly in the list of references.
I tried outputting the value of the Url field using \thefield{url} and it only returns an empty string.
How can I filter based on Url and Urldate?
