我想在文中输入一个引文,并在括号内输入年份的另一个引文,如下所示:
作者 1 的作品(年份;作者 2 引用,年份)
为此,我尝试了不同的命令选项\textcite
,但没有结果。我还看到了解决方案发布这里,适用于括号内的多个引用,但不适用于文内引用。
有什么建议吗?
答案1
不允许嵌套引用命令,但可以模拟它们(使用适当的标点符号命令以确保与其他引用的一致性):
\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}
答案2
引用命令通常不能(也不应该)嵌套,但您可以使用 来绕过此规则\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}
此处嵌套条目的数据直到第二次 biber/BibTeX 运行才会被访问。您可以通过使用交叉引用、条目集或相关条目将嵌套条目链接到其父条目来避免额外的 biber 运行。