希望有人能帮帮我!
我正在努力解决我的引用样式中的一个错误。我需要使用带有脚注的改良哈佛样式:
² Vgl. Robinson et al. (2017)
我的问题是,同一作者在一年内撰写的 2 篇文章没有出现在索引中。它们应该在脚注中产生“Robinson (2017)”和“Robinson (2017b)”,但没有。我只是不知道正确的 printfield 命令,因为它\printbibliography
会产生所需的输出。
我通过使用以下配置实现了这一点:
\usepackage[autocite=footnote,style=authoryear-ibid,maxcitenames=1,natbib=true,backend=biber]{biblatex}
\DefineBibliographyStrings{german}{%
andothers = {et al.},
}
\DeclareCiteCommand{\footcite}[\mkbibfootnote]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}
\printnames{labelname}%
\setunit{\addnbspace}
\printtext[parens]{\printfield{year}}}
{\multicitedelim}
{\usebibmacro{postnote}}
参考书目如下:
@book{Crusoe2017,
author = {Crusoe, Robinson},
year = {2017},
title = {The Survival},
publisher = {{Island Publishing}},
isbn = {978-1234567890}
}
@book{Crusoe2017b,
author = {Crusoe, Robinson},
year = {2017},
title = {The Survival - Day 2},
publisher = {{Island Publishing}},
isbn = {978-1234567800}
}
最后,文件本身如下所示:
Crusoe states in his first publication\footcite[vgl][S. 75 f.]{Crusoe2017}
(...) in contrast to his secone one\footcite[vgl][S. 5 f.]{Crusoe2017}
产生如下两个脚注:
²vgl Crusoe (2017), S. 75 f.
³vgl Crusoe (2017), S. 5 f.
最后一个脚注应该有一个附加索引,这在最终的参考书目中是可以的。
所以如果有人能提示一下该修改什么,那就太好了,谢谢!
答案1
您重新定义了\footcite
命令,以便在指定时仅打印year
bibentry 的内容\printfield{year}
。如果您还想拥有 dateextra 字段,则应\printlabeldateextra
改为使用。
在全:
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{Crusoe2017,
author = {Crusoe, Robinson},
year = {2017},
title = {The Survival},
publisher = {{Island Publishing}},
isbn = {978-1234567890}
}
@book{Crusoe2017b,
author = {Crusoe, Robinson},
year = {2017},
title = {The Survival - Day 2},
publisher = {{Island Publishing}},
isbn = {978-1234567800}
}
\end{filecontents}
\usepackage[autocite=footnote,style=authoryear-ibid,maxcitenames=1,natbib=true,backend=biber]{biblatex}
\DefineBibliographyStrings{german}{%
andothers = {et al.},
}
\DeclareCiteCommand{\footcite}[\mkbibfootnote]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}
\printnames{labelname}%
\setunit{\addnbspace}
\printtext[parens]{\printlabeldateextra}}
{\multicitedelim}
{\usebibmacro{postnote}}
\addbibresource{\jobname.bib}
\begin{document}
Crusoe states in his first publication\footcite[vgl][S. 75 f.]{Crusoe2017}
(...) in contrast to his second one\footcite[vgl][S. 5 f.]{Crusoe2017b}
\printbibliography
\end{document}