Biblatex uniquename:拼出完整的名字

Biblatex uniquename:拼出完整的名字

对于我正在撰写的论文,我必须参考许多台湾作家。由于中文姓氏的列表非常有限,我经常会遇到姓氏相同(但名字不同)的不同作者在同一年发表文章/书籍。

我已尝试使用 biblatex 的几种“uniquename”选项,但都没有达到预期的效果。

起初我尝试过:

uniquename=false

这导致了以下内联引用:

(Chu 1994a,第 1 页)和(Chu 1994b,第 4 页)

不同的作者被指定为“Chu 1994a”和“Chu 1994b”等等。但我更希望 a、b、c 区分仅在同一作者“内部”使用,否则可能会被误解为我引用了同一作者的两部作品。

然后我用:

uniquename=minfull

结果是:

(T.-t. Chu 1994,第 1 页)和(T.-e. Chu 1994,第 4 页)。

这样虽然解决了“a、b、c”的问题,但是由于大部分台湾作家的名字中都有连字符,而 biblatex 采用名字首字母的方式,导致文中出现很多“Y.-h.”、“Y.-c.”、“W.-w.”,我觉得不太美观。

我希望 biblatex 使用正常的作者年份按姓氏引用,只要没有歧义(我的例子是吴)。但如果有歧义,我希望它拼出完整的名字,而不仅仅是首字母。在最好的情况下,我甚至希望它引用“姓氏,名字年份”,即:

(Chu,Test-test 1994)和(Chu,Trial-error 1994)

有没有办法做到这一点?

这是我的 MWE:

\begin{filecontents}{uniquename.bib}
@article{chu1994one,
author = {Chu, Test-test},
title = {Title1},
journaltitle = {Journal 1},
year = {1994},
volume = {22},
issue = {5},
pages = {1--2}
}

@article{chu1994two,
author = {Chu, Trial-error},
title = {Title2},
journaltitle = {Journal 2},
year = {1994},
volume = {22},
issue = {5},
pages = {3--4}
}

@article{wu1994one,
author = {Wu, Test-name},
title = {Title3},
journaltitle = {Journal 3},
year = {1994},
volume = {22},
issue = {5},
pages = {5--6}

}
\end{filecontents}



\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage[style=authoryear-icomp, uniquename=minfull, bibstyle=authoryear, autocite=inline, backend=biber]
 {biblatex}


\addbibresource{uniquename.bib}

\begin{document}
Some text with a citation \autocite[1]{chu1994one}, and some further text with another citation \autocite[4]{chu1994two}. Some more text with a third citation \autocite[5]{wu1994one}.

\printbibliography
\end{document}

答案1

使用

\DeclareNameFormat{labelname}{%
  \ifnumequal{\value{uniquename}}{0}
    {\usebibmacro{name:family}
       {\namepartfamily}
       {\namepartgiven}
       {\namepartprefix}
       {\namepartsuffix}}
    {\usebibmacro{name:family-given}
       {\namepartfamily}
       {\namepartgiven}
       {\namepartprefix}
       {\namepartsuffix}}%
  \usebibmacro{name:andothers}}

连同uniquename=fullallfull或者minfull

通常情况下,即使使用full-likeuniquename设置biblatex,当首字母不明确时也只会提供全名。使用上述设置,只要姓氏不够用,我们就会立即获得名字。

我们得到姓、名格式,因为我们使用name:family-given第一 姓(默认)我们将使用name:given-family

相关内容