使用 biblatex-apa 时作者缩写行为不正确

使用 biblatex-apa 时作者缩写行为不正确

我想使用 biblatex-apa 和 biber-backend 来创建参考书目。我使用 shortauthor-tag,这样组织的全名只出现一次,之后只出现缩写。当我第一次在多重引用中同时引用这两份出版物时,这似乎不起作用,如下面的 MWE 所示。

我在用比伯 v2.11biblatex 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}}

你将获得

在此处输入图片描述

相关内容