1

I use biblatex with csquotes. If I quote indirectly I use \autocite and if I quote directly I use csquotes \blockcqute. I'd like to insert predefined text into the prenote field of the \blockcqute (or csquotes commands in general) if it was ommited or if it is empty – so that \blockcquote[][55]{Author}{Quote} is similar to writing \blockcquote[See][55]{Author}{Quote}. What I found is that I could redefine biblatex's postnote macro:

\renewbibmacro*{prenote}{%
    \iffieldundef{prenote}
    {% true
        \printtext{See}%
    }{% false
        \printfield{prenote}}%
        \setunit{\prenotedelim%
    }%
}

But then writing Some text \autocite[][55]{Author} would be similar to Some text \autocite[See][55]{Author} as well and this is not what I want to achieve.

So, is there any hook like biblatex's prenote macro I could modify?

1

A very easy way is to hook into \mkccitation and add your redefinition of the prenote macro

\renewcommand{\mkccitation}[1]{
  \renewbibmacro*{prenote}{%
    \iffieldundef{prenote}
      {\printtext{See}}
      {\printfield{prenote}}%
    \setunit{\prenotedelim}}%
    \space#1}

this redefinition will be limited to csquotes' citation commands only - it happens within a group.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.