[Tex/LaTex] Custom prefix in footnotes with biblatex

biblatexcitingfootnotes

I have another question about customizing footnote-citations with biblatex.

For common citations of facts or observations from some article, I want to add a prefix to my footnotes. It's meant to distinguish non-literal literal quotes. Only for the rare cases of actually verbatim quoting someone, it is not required. 95% of my citations use the "See:"-prefix.

(The "prefix" I'm referring to is not the usual name-prefix like "von", "de", "van", etc.)

So, instead of

Wayne (2012), p. 123.

I'd like to achieve

See: Wayne (2012), p. 123.

This works already with the prenote-syntax (see the MWE), but could I also customize the renewbibmacro to include the prefix there? Otherwise I'd a) have to crawl through the whole document to change every citation manually and b) would have to do it again if I'd ever want to change it.

For verbatim quotes I could just introduce a new command \citelit with \let\citelit\cite, I guess?

Minimum working example:

\begin{filecontents}{_references.bib}
@article{wayne12a,
    Author={Wayne, B.}, Title={A survey about the social inequalities in Gotham City},
    Journal={International Journal of Comic Science}, Year={2012},
    Volume={7}, Number={4}, Pages={35--45}}

@article{joker10b,
    Author={Joker, T.}, Title={Why so serious?},
    Journal={Journal of Vulgarity}, Year={2010},
    Volume={38},Number={5}, Pages={103--116}}
\end{filecontents}

\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}

\usepackage[bibstyle=authoryear, citestyle=authoryear, autocite=footnote,% 
           dashed=false, firstinits=true]{biblatex}
\addbibresource{_references.bib}% add bibtex-file
\let\cite\autocite% \cite -> \autocite

\renewbibmacro*{cite:labelyear+extrayear}{% Round parentheses around the year
\iffieldundef{labelyear} % Source: tex.stackexchange.com/a/30822/10434
  {}
  {\printtext[bibhyperref]{%
   \printtext[parens]{%
   \printfield{labelyear}%
   \printfield{extrayear}}}}}

\begin{document}
The CEO of Wayne Enterprises praised Batman's achievements for improving the living 
conditions in Gotham City.~\cite[See:][31]{wayne12a}

In a recent publication, however, The Joker described Batman as ``a little boy in a 
playsuit, crying for mummy and daddy.''~\cite[109]{joker10b}
\end{document}

Best Answer

For future reference, here is another solution that allows you to overwrite the default setting for the citations with an automatic "See:" prenote.

As discussed with lockstep, this functionality is not absolutely needed as an answer to the OP's question, but since \citelitand \cite have a semantic meaning in this caseĀ (i.e. direct and indirect citation), it may be relevant to have commands that reflect it. Furthermore, this solution is more customisable than a \newcommand, and could be used by other people who want to achieve a similar result.

Here is what you can write in the preamble:

% Create a cite command that uses the default autocite=footnote behaviour
\DeclareCiteCommand{\seecite}[\iffootnote\mkbibparens\mkbibfootnote]
    {% Replace \usebibmacro{prenote} by its demfinition and modify it
    \iffieldundef{prenote}
        {\bibstring{see}\addcolon%
        \setunit{\prenotedelim}}%
        {\printfield{prenote}%
        \setunit{\prenotedelim}}%
    }
    {\usebibmacro{citeindex}%
    \usebibmacro{cite}}
    {\multicitedelim}
    {\usebibmacro{postnote}}

As suggested in the original question, we use \citelit and \cite:

\let\citelit\autocite
\let\cite\seecite

Now, we can write this in the document:

\cite[92]{wayne12a}
\cite[Contra\addcolon][73]{joker10b}
\citelit[127]{joker10b}

Output for the above code