Biblatex 仅引用第一作者和最后作者

Biblatex 仅引用第一作者和最后作者

我希望在文中的引用中仅包含第一作者和最后一位作者。如果只有两位作者,则应使用“and”连接。如果作者超过两位,则其余作者姓名应使用点代替。

  • (1 位作者 ) John Doe (2004)
  • (2 位作者) John Doe 和 Peter Noel (2004)
  • (3 位作者) John Doe,......,Peter Noel(2004 年)

我正在寻找某种格式化方法,以便以下命令(特别是“FirstLast”)可以给我所需的输出。

\DeclareCiteCommand{\longcite}{}{%
 \printnames[FirstLast]{author} (\printfield{year}),    
 \printfield{journaltitle}}{;}{}

所以我的问题是,FirstLast 应该是什么样子才能得到所需的输出?

答案1

FirstLast以下是名称格式指令的可能重新定义

\DeclareNameFormat{FirstLast}{%
  \ifthenelse{\value{listtotal}=1}
    {#3\addspace\ifblank{#5}{}{#5\addnbspace}#1}
    {\ifthenelse{\value{listtotal}=2}
      {\ifthenelse{\value{listcount}<\value{listtotal}}
        {#3\addspace\ifblank{#5}{}{#5\addnbspace}#1\addspace}
        {\bibstring{and}\addspace#3\addspace\ifblank{#5}{}{#5\addnbspace}#1}}
      {\ifthenelse{\value{listcount}=1}
        {#3\addspace\ifblank{#5}{}{#5\addnbspace}#1\addcomma\addspace\dots\isdot\addcomma}
        {\ifthenelse{\value{listcount}<\value{listtotal}}
          {}
          {\addspace#3\addspace\ifblank{#5}{}{#5\addnbspace}#1}}%
      }%
    }%
}

生产

在此处输入图片描述

相关内容