我正在使用具有以下选项的 BibLaTeX 包:backend=biber, citestyle=authoryear, maxcitenames=2, mincitenames=1, maxbibnames=99, language=italian
。
如果我有两篇来自同一作者和同一年份的文档,命令\cite{work1}
和\cite{work2}
将输出Author A and Author B, XXXXa
和Author A and Author B, XXXXb
。我想重新定义命令\cite{}
以输出Author A and Author B (XXXXa)
和Author A and Author B (XXXXb)
。我尝试使用citeauthor
和citeyear
命令,但并citeyear
没有考虑到字母(Author A and Author B (XXXX)
如果我这样做它只会打印\renewcommand{cite}[1]{\citeauthor{#1} (\citeyear{#1})}
)
我知道有办法,但我不知道怎么做。你能帮帮我吗?
提前致谢
答案1
您正在寻找\textcite
。authoryear
它将以类似样式生成“作者(年份)”形式的引文。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=authoryear]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite{sigfridsson}
ipsum \textcite{knuth:ct:b}
dolor \textcite{knuth:ct:c}
Lorem \parencite{worman}
\printbibliography
\end{document}
如果您需要将作者和年份分开,可以使用\citeauthor
带星号的引文命令,例如\parencite*
。但无论如何,不建议将两个\...cite
命令放在同一个命令中,\newcommand
因为这可能会扰乱前后注释以及引文跟踪。通常,可以通过直接使用创建单个引文命令来实现相同的目的\DeclareCiteCommand
(在这种情况下,该命令已经存在,因此您无需执行任何操作)。