我希望在文中的引用中仅包含第一作者和最后一位作者。如果只有两位作者,则应使用“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}}%
}%
}%
}
生产