13

I'd like to type a citation within the text and another citation inside the parenthesis for the year, something like this:

The work of Author 1 (year; cited by Author 2, year)

For this, I've tried different options of the \textcite command but without results. Also I saw the solution posted here, which works for multiple citations within parenthesis but not for in-text citations.

Any suggestion?

10

Nested citation commands are not allowed, but one can simulate them (using the appropriate punctuation commands to ensure consistency with other citations):

\documentclass{article}

\usepackage[style=authoryear]{biblatex}

\renewcommand*{\nameyeardelim}{\addcomma\space}
\renewcommand*{\postnotedelim}{\addsemicolon\space}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
@misc{B02,
  author = {Buthor, B.},
  year = {2002},
  title = {Bravo},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}

The work of \citeauthor{A01} \mkbibparens{\citeyear{A01}\postnotedelim cited by \cite{B02}}

\printbibliography

\end{document}

enter image description here

  • 1
    I was about to post nearly the same answer. Just an addition: you can or course put this together into an own command like \mycite by \newcommand{\mycite}[2]{\citeauthor{#1} \mkbibparens{\citeyear{#1}\postnotedelim cited by \cite{#2}}}. – Benedikt Bauer Feb 4 '13 at 16:48
  • Please note, that \citeyear does not create a link to the bibliography. Is there a workaround for this issue? – Sebastian Werk Aug 21 '14 at 13:27
  • @SebastianWerk I don't know. Perhaps try a search for questions tagged with biblatex and links or hyperref. – lockstep Aug 21 '14 at 14:34
  • With standard authoryear- and authortitle-like styles one can use \cite* instead of \citeyear to make things a bit more portable. (This will also create a link with the standard styles, while \citeyear does not, by default.) – moewe Mar 7 '17 at 17:28
5

Citation commands generally can't (and shouldn't) be nested, but you can get around this rule with \nocite.

\documentclass{article}
\usepackage[style=authoryear]{biblatex}

\renewcommand*{\nameyeardelim}{\addcomma\space}
\renewcommand*{\postnotedelim}{\addsemicolon\space}

\newrobustcmd*{\postcite}[1]{%
  \nocite{#1}\entrydata{#1}{\usebibmacro{cite}}}

\addbibresource{biblatex-examples.bib}
\begin{document}
\textcites(See)()[cited by \postcite{companion}]{knuth:ct:a}[10]{markey}
\printbibliography
\end{document}

Data for the nested entry here isn't accessed until the second biber/BibTeX run. You can avoid additional biber runs by linking nested entries to their parents using cross references, entry sets or related entries.

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.