I'm using Biblatex' DeclareSourceMap
and a shortjournal
field in my .bib
file to get abbreviated journal titles in citations. Here's a MWE:
\documentclass{article}
\usepackage[style=oscola]{biblatex}
\addbibresource{mwe.bib}
\DeclareBibliographyDriver{shortjournal}{%
\printfield{journaltitle}}
\DeclareSourcemap{%
\maps[datatype=bibtex]{
\map[overwrite]{
\step[fieldsource=shortjournal]
\step[fieldset=journaltitle,origfieldval]
} } }
\begin{document}
\section{First Section}
Here is a reference to an article with an abbreviated journal name\autocite{Herlin2008aa}
\printbiblist[title={Journal Shorthands}]{shortjournal}
\end{document}
Put this in mwe.bib:
@article{Herlin2008aa,
author = {Herlin-Karnell, Ester},
number = {10},
pages = {1115 -- 1130},
title = {What Principles Drive (or Should Drive) European Criminal Law?},
volume = {11},
date = {2008},
journaltitle = {Common Market Law Review},
shortjournal = {CMLRev.}
}
This works, and what is particularly nice about it is that my bibliography style (oscola) takes this the value of shortjournal
and strips any periods from it, exactly like it would do with the journaltitle
string.
However, when printing a list of abbreviations, one column has the shortjournal
value with periods and the other column has the shortjournal
value without. What I want, of course, is for the second column to show the full journal title, in other words, the original value of journaltitle
before it is affected by DeclareSourceMap
.
From what I understand (complete novice...), DeclareSourceMap
is applied first (see section 3.1.2. of the Biber
manual). As a result, when I put
\DeclareBibliographyDriver{shortjournal}{%
\printfield{journaltitle}}
in my preamble, the journaltitle
has already been remapped.
So, how can I print the original value of journaltitle
for the purposes of this list?
If this can't be done, wouldn't this mean that you can never create a list of journal abbreviations? After all, isn't DeclareSoureMap
the standard way to use journal abbreviations in biblatex?
biblatex
perspective) overwrites thejournaltitle
withshortjournal
. There is no way of getting it back. ...journaltitle
in another field or use a different approach altogether.