![Biblatex:将 verbose-trad2 与 authoryear 结合起来](https://linux22.com/image/452486/Biblatex%EF%BC%9A%E5%B0%86%20verbose-trad2%20%E4%B8%8E%20authoryear%20%E7%BB%93%E5%90%88%E8%B5%B7%E6%9D%A5.png)
我目前正在使用 verbose-trad2 来编写参考书目,但我需要对其进行一些调整。我希望实现以下结果:
- Piva F.(2008 年)。丽达的故事。他是一位分区负责人。米兰:Franco Angeli,第 85-90 页。
(姓氏 N.(年份)。标题.地址:出版商,页)
所以基本上我想在作者后面的括号中写上年份
我目前的设置是这样的:
% Bibliografia
\usepackage[autostyle,italian=guillemets]{csquotes}
\usepackage{xpatch}
\usepackage[style=verbose-trad2,
language=italian,
backend=biber,
ibidpage=true,
backref=true,
backrefstyle=none,
bibstyle=numeric,
]{biblatex}
\DeclareNameAlias{default}{family-given}
\NewBibliographyString{ibidemloccit,ibidemnoloccit}
\DefineBibliographyStrings{italian}{%
idem = {\autocap{i}d},
ibidemloccit = {\mkbibemph{\autocap{i}bid\adddot}},
ibidemnoloccit = {\mkbibemph{\autocap{i}vi}},
}
\xpatchbibmacro{author}
{\printnames{author}}
{\iffootnote
{\ifthenelse{\ifciteidem\AND\NOT\boolean{cbx:noidem}}
{\usebibmacro{cite:idem}}
{\printnames{author}}}
{\printnames{author}}}
{}{}
\xpatchbibmacro{bbx:editor}
{\printnames{editor}}
{\iffootnote
{\ifthenelse{\ifciteidem\AND\NOT\boolean{cbx:noidem}}
{\usebibmacro{cite:idem}}
{\printnames{editor}}}
{\printnames{editor}}}
{}{}
\xpatchbibmacro{bbx:translator}
{\printnames{translator}}
{\iffootnote
{\ifthenelse{\ifciteidem\AND\NOT\boolean{cbx:noidem}}
{\usebibmacro{cite:idem}}
{\printnames{translator}}}
{\printnames{translator}}}
{}{}
\renewbibmacro*{cite:ibid}{%
\printtext{%
\bibhyperlink{cite\csuse{cbx@lastcite@\thefield{entrykey}}}{%
\ifloccit
{\bibstring[\mkibid]{ibidemloccit}%
\global\toggletrue{cbx:loccit}}
{\bibstring[\mkibid]{ibidemnoloccit}}}}}
答案1
解决方案比我想象的要简单。我只需要更改bibstyle=numeric
为bibstyle=authoryear
。