我想使用 biblatex-apa 和 biber-backend 来创建参考书目。我使用 shortauthor-tag,这样组织的全名只出现一次,之后只出现缩写。当我第一次在多重引用中同时引用这两份出版物时,这似乎不起作用,如下面的 MWE 所示。
我在用比伯 v2.11和biblatex v3.11(通过 Win10 上的 MiKTeX 2.9.6730 安装)。
\documentclass[12pt,a4paper]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage[backend=biber,style=apa,sortlocale=de_DE]{biblatex}
\DeclareLanguageMapping{ngerman}{ngerman-apa}
\setlength\bibitemsep{1.5\itemsep}
\addbibresource{literatur.bib}
\begin{document}
\parencite{BMG2018, BLS2011} \\
\parencite{BLS2011} \\
\parencite{BMG2018} \\
\parencite{BLS2011}
\printbibliography
\end{document}
这是我的.bib 文件:
@online{BMG2018,
author = {{Bundesministerium für Gesundheit}},
shortauthor = {BMG},
title = {Gesund bleiben: Prävention und Gesundheitsförderung.},
date = {2018},
}
@booklet{BLS2011,
author = {{Bayerischer Landes-Sportverband e. V.}},
shortauthor = {BLS},
title = {Gesundheitssport im Verein},
date = {2011},
}
如您所见,我第二次引用了“Bayrischer Landes-Sportbund”(基础生命科学),引用看起来完全不同,缩写甚至不在方括号中。
当我第一次单独做引用时,它是有效的,例如
\parencite{BMG2018} \\
\parencite{BLS2011} \\
\parencite{BLS2011} \\
\parencite{BMG2018} \\
\parencite{BLS2011}
,但我需要初始的双重引用。
问题:这种行为是故意的吗?如果是,我做错了什么?如果不是,有什么可能的解决方法?
答案1
这似乎是同一个错误https://github.com/plk/biblatex-apa/issues/24
解决方法
\DeclareCiteCommand{\parencite}[\mkbibparens]
{\usebibmacro{cite:init}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}%
\usebibmacro{cite:post}}
{}
{\usebibmacro{postnote}}
在这里也可以使用。但你可能想修复所有引用命令,这样你也需要
\DeclareCiteCommand*{\parencite}[\mkbibparens]
{\usebibmacro{cite:init}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{citeyear}%
\usebibmacro{cite:post}}
{}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\nptextcite}
{\usebibmacro{cite:init}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\global\booltrue{cbx:np}%
\usebibmacro{textcite}%
\global\boolfalse{cbx:np}%
\usebibmacro{cite:post}}%
{}
{\iffieldundef{postnote}
{}
{\printdelim{nameyeardelim}%
\printfield{postnote}}}
% doubtful if cite:post should be called at all
\DeclareCiteCommand{\fullcite}
{\usebibmacro{prenote}}
{\usedriver
{\DeclareNameAlias{sortname}{default}%
\global\boolfalse{bbx:parens}%
\global\boolfalse{bbx:volseen}%
\global\boolfalse{bbx:titleinauthpos}%
\global\boolfalse{bbx:editorinauthpos}%
\global\boolfalse{bbx:in}%
\global\let\blx@related@loop\@empty}
{\thefield{entrytype}}%
\usebibmacro{cite:post}}
{\multicitedelim}
{\usebibmacro{postnote}}
% doubtful if cite:post should be called at all
\DeclareCiteCommand{\fullcitebib}
{\list{}
{\setlength{\leftmargin}{\bibhang}%
\setlength{\itemindent}{-\leftmargin}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}}\item}
{\usedriver
{\DeclareNameAlias{sortname}{default}%
\global\boolfalse{bbx:parens}%
\global\boolfalse{bbx:volseen}%
\global\boolfalse{bbx:titleinauthpos}%
\global\boolfalse{bbx:editorinauthpos}%
\global\boolfalse{bbx:in}}
{\thefield{entrytype}}\finentry
\usebibmacro{cite:post}}
{\item}
{\endlist}
\DeclareCiteCommand{\cite}
{\usebibmacro{cite:init}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}%
\usebibmacro{cite:post}}
{}
{\usebibmacro{postnote}}
\DeclareCiteCommand*{\cite}
{\usebibmacro{cite:init}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{citeyear}%
\usebibmacro{cite:post}}
{}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\footcite}[\mkbibfootnote]
{\bibsentence
\usebibmacro{cite:init}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}%
\usebibmacro{cite:post}}
{}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\textcite}
{\usebibmacro{cite:init}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{textcite}%
\usebibmacro{cite:post}}
{}
{\usebibmacro{textcite:postnote}}
\DeclareCiteCommand{\citeauthor}
{\usebibmacro{cite:init}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite:author}%
\usebibmacro{cite:post}}
{}
{\usebibmacro{postnote}}
你将获得