I'm using biblatex-apa to define the layout of my bibliography. Now I'm citing several (internal) documents from institutions or news websites, which now appear in the document using their abbreviation. I would like to make these abbreviations appear in small caps. Actually, I want all abbreviated institutions to appear in small caps. Is this possible? I now split my bibliography using tags (exported from Zotero), so I assume a tag might also enable the citation to appear as small caps in the text? Anyone knows how to do this?
My MWE:
\documentclass[10pt,a4paper,twoside]{book}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=apa, date=year, natbib=true, sorting=nyt, sortcites=true]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\bibliography{Zotero}
\begin{document}
\chapter{Literature review}
This is some text with a double reference \cite{nos_weeralarm_2009, ns_volle_2013}.
\printbibliography[notkeyword=internal]
\printbibliography[title={Internal Documents}, keyword=internal]
\end{document}
And the content of my Zotero.bib:
@online{nos_weeralarm_2009,
title = {Weeralarm en verkeeralarm ingetrokken},
url = {http://nos.nl/l/124074},
titleaddon = {{NOS.nl}},
author = {{NOS}}, %THIS AUTHOR MUST BE PRINTED IN SC
urldate = {2014-02-12},
date = {2009-12-20},
keywords = {gladheid, ijs, ongeluk, openbaar vervoer, schiphol, sneeuw}
}
@report{ns_volle_2013,
location = {Utrecht},
title = {Internal document title}},
institution = {NS},
type = {Internal Document},
author = {{NS}}, % THIS AUTHOR MUST BE PRINTED IN SC
date = {2013},
keywords = {internal}
}
Best Answer
If all your citations that require a small caps institution do indeed have the same tag, then it should be possible.
In your MWE however, the two entries do not share a
keyword
, so I added the keywordinstauth
to check for.What we do is very simple: At every citation command, and before every bibliography entry we check, if the entry has the keyword
instauth
, if so the last name format is set to produce acronyms viabiblatex
's\mkbibacro
macro (note that for this to work "[t]he acronym should be given in uppercase letters.", p. 89, thebiblatex
documentation).An alternative redefinition is the shorter
Where the conditional is inside the formatting directive. Then there is no need to hook the change into groups where
\ifkeyword
is defined, as was necessary above.We can even make the detection of
instauth
automatic up to some point. Withall
author
fields that contain a string wrapped in double curly braces are classed asinstauth
. This might brake down in some corner cases - as do so many automatic solutions.MWE