Can I mark unread references?
The recent-developed Bibulous project makes this easy to implement. Taking the OP's example, we have a database file (readtag.bib
) in which a readtag
field is inserted into each entry:
@article{Brooks2013,
author = {R. Brooks},
title = {Surprising fluidic characteristics of dihydrogen monoxide},
journal = {Journal of Fluidic Chemistry},
volume = 30,
month = 7,
year = 2013,
pages = {40-52},
readtag = {{}}
}
@article{Brown1999,
author = {N. Brown and M. Blum and E. Maruyama and P. Martinez},
title = {A novel, powerful spectrometric method for evaluating chromaticity},
journal = {Proceedings of the Royal Astrological Society},
month = 5,
year = 1999,
readtag = {+}
}
@inproceedings{Martinez2012,
author = {M. Martinez and R. T. Morrison},
title = {Which one is heavier: Separating facts from fiction},
booktitle = {17th International Conference of Boring Arguments},
month = 10,
year = 2012,
readtag = {-}
}
Next we can develop a style file (readtag.bst
) that makes use of the readtag
field:
TEMPLATES:
article = \textbf{[<readtag>]<citenum>}. <au>, <title>. \textit{<journal>}[ <volume>] ([<month.monthabbrev()> ]<year>)[, <startpage>--<endpage>|, <startpage>|, <eid>].
inproceedings = \textbf{[<readtag>]<citenum>}. <au>, <title>. \textit{<booktitle>}[ <volume>] ([<month.monthabbrev()> ]<year>)[, <startpage>--<endpage>|, <startpage>|, <eid>].
SPECIAL-TEMPLATES:
citelabel = (<citenum>)
readtag = - ## default tag is "have not read"
OPTIONS:
namelist_format = last_name_first
Finally, we can use the readtag.tex
file
\documentclass{article}
\makeatletter
\renewcommand{\@biblabel}[1]{}
\renewcommand{\@cite}[2]{{#1\if@tempswa , #2\fi}}
\makeatother
\begin{document}
It has recently been discovered that water is wet\cite{Brooks2013} and the sky is blue\cite{Brown1999}, but it is still controversial whether a pound of iron is heavier than a pound of cotton\cite{Martinez2012}.
\bibliographystyle{readtag}
\bibliography{readtag}
\end{document}
The \renewcommand{\@cite}...
line here is used here to allow the citation labels in the text to be different than those in the reference list. Compiling readtag.tex
and replacing BibTeX with Bibulous as the bibliography engine gives the resulting formatted reference list
An alternative would be to split your bibliography into three sub-bibliographies, again thanks to biblatex.
You filter them with keywords, and add a prefixnumber
to every one of them.
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[backend=bibtex]{biblatex}
\usepackage{filecontents}
\begin{filecontents*}{bib.bib}
@article{Hubert2013,
author={Hubert, Michel},
title={A First Example},
journal={An example of journal},
year=2013,
keywords={to-be-read}
}
@article{Hubert2012,
author={Hubert, Michel},
title={A Second Example},
journal={An example of journal},
year=2012,
keywords={read}
}
@article{Hubert2011,
author={Hubert, Michel},
title={A Third Example},
journal={An example of journal},
year=2011,
keywords={other}
}
\end{filecontents*}
\addbibresource{bib}
\begin{document}
\cite{Hubert2011, Hubert2012, Hubert2013}
\printbibliography[heading=subbibliography,
title={To be read},
keyword=to-be-read,
prefixnumbers=+]
\printbibliography[heading=subbibliography,
title={Read},
keyword=read]
\printbibliography[heading=subbibliography,
title={Not to be read},
keyword=other,
prefixnumbers=-]
\end{document}
(source: toile-libre.org)
The bonus point is that you just have to change the keyword to change its citation key.
The bad news is that your bibliography is necessarily slitted into three sub-bibliography.