![biblatex 中姓氏和名字的顺序,中文惯例](https://linux22.com/image/429745/biblatex%20%E4%B8%AD%E5%A7%93%E6%B0%8F%E5%92%8C%E5%90%8D%E5%AD%97%E7%9A%84%E9%A1%BA%E5%BA%8F%EF%BC%8C%E4%B8%AD%E6%96%87%E6%83%AF%E4%BE%8B.png)
我刚刚意识到,很长一段时间以来,我在引用中文名称时使用了错误的引用格式。英文出版物通常会将中文名称罗马化,但保留其顺序,请参阅这里即姓氏在前,名字在后。如何使用样式来实现这一点biblatex
?
以下面的条目为例,其中“李”是姓氏,“魏”是名字。当完整提及作者时,我会写“李魏声称......”,但引用时,应该使用姓氏(李 2018)。这是条目:
@article{Li:2018,
author = {Li Wei},
date = {2018},
journaltitle = {Applied Linguistics},
number = {1},
pages = {9--30},
title = {Translanguaging as a Practical Theory of Language},
volume = {39}}
因此,文内引用应像这样 (Li 2018, 19),或者引用 Li (2018) 时应这样。
参考书目条目应像这样显示(biblatex-chicago
这里假设“作者-日期”):
李伟。2018年。“跨语言作为一种实用的语言理论。” 应用语言学39 (1): 9-30。
如果是两位作者的作品,其中只有一位作者使用中文命名约定,那就更加棘手了。
@article{Li+Milroy:1995,
author = {Li Wei and Milroy, Lesley},
date = {1995},
journaltitle = {Journal of Pragmatics},
number = {3},
pages = {281--299},
title = {Conversational Code-Switching in a {Chinese} Community in {Britain:} A Sequential Analysis},
volume = {23}}
Li 和 Milroy(1995)认为……
Li Wei 和 Lesley Milroy。1995 年。“英国华人社区的会话代码转换:序列分析”。语用学杂志23 (3): 281–299。
但这不应该影响其他条目的显示方式,例如 Milroy 和 Milroy (1992):
Milroy, Lesley 和 James Milroy。1992 年。“社会网络与社会阶层:迈向综合社会语言学模型。”社会中的语言21 (1): 1–26。
有什么想法可以做到这一点吗?
答案1
对于一次性事件,最简单的方法可能是使用花括号强制按全名的顺序排列名称,并shortauthor
仅用姓氏填充字段。
\documentclass[american]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, authordate]{biblatex-chicago}
\begin{filecontents}{\jobname.bib}
@article{Li:2018,
author = {{Li Wei}},
shortauthor = {Li},
date = {2018},
journaltitle = {Applied Linguistics},
number = {1},
pages = {9--30},
title = {Translanguaging as a Practical Theory of Language},
volume = {39},
}
@article{Li+Milroy:1995,
author = {{Li Wei} and Milroy, Lesley},
shortauthor = {Li and Milroy, Lesley},
date = {1995},
journaltitle = {Journal of Pragmatics},
number = {3},
pages = {281--299},
title = {Conversational Code-Switching in a {Chinese} Community in {Britain}:
A Sequential Analysis},
volume = {23},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite{sigfridsson}
ipsum \autocite{Li:2018}
dolor \autocite{Li+Milroy:1995}
\printbibliography
\end{document}
为了更全面地处理非西方人的名字,您可以使用 的biblatex
扩展名称格式。幸运的是,对于东亚人的名字,biblatex-chicago
这已经在CJK 书目问题,Biblatex-Chicago 作者日期样式,因此我们只需复制代码即可。
这种方法的优点是,您不必在同一个条目中重复姓名数据,并且所有姓名歧义消除功能仍可按预期工作。缺点是输入格式可能比较笨重。
\documentclass[american]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\begin{filecontents*}{chicago-authordate.dbx}
\ProvidesFile{chicago-authordate.dbx}[2016/07/24 extended name format for biblatex]
\DeclareDatamodelConstant[type=list]{nameparts}{prefix,family,suffix,given,cjk}
\end{filecontents*}
\usepackage[authordate,backend=biber]{biblatex-chicago}
\DeclareSortingNamekeyTemplate[cjk]{
\keypart{
\namepart{family}
}
\keypart{
\namepart{given}
}
\keypart{
\namepart{cjk}
}
}
\DeclareUniquenameTemplate[cjk]{
\namepart[base=true]{family}
\namepart[disambiguation=full]{given}
\namepart[disambiguation=full]{cjk}
}
\DeclareNamehashTemplate[cjk]{
\namepart[hashscope=full]{family}
\namepart[hashscope=full]{given}
\namepart[hashscope=full]{cjk}
}
\newbibmacro*{name:cjk}[3]{%
\usebibmacro{name:delim}{#2#3#1}%
\usebibmacro{name:hook}{#2#3#1}%
\mkbibnamefamily{#1}%
\ifdefvoid{#2}{}{\bibnamedelimd\mkbibnamegiven{#2}}%
\ifdefvoid{#3}{}{\bibnamedelimd\mkbibnamecjk{#3}}}
\newbibmacro{labelname:western}{%
\ifcase\value{uniquename}%
\usebibmacro{name:family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\or
\ifuseprefix
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffixi}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefixi}
{\namepartsuffixi}}%
\or
\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\fi
\usebibmacro{name:andothers}}
\newbibmacro{labelname:cjk}{%
\iffieldequalstr{uniquepart}{base}%
{\usebibmacro{name:cjk}
{\namepartfamily}
{\empty}
{\empty}}
{\iffieldequalstr{uniquepart}{given}%
{\usebibmacro{name:cjk}
{\namepartfamily}
{\namepartgiven}
{\empty}}
{\usebibmacro{name:cjk}
{\namepartfamily}
{\namepartgiven}
{\namepartcjk}}}}
\DeclareNameFormat{labelname}{%
\ifuniquenametemplatename{cjk}
{\usebibmacro{labelname:cjk}}
{\usebibmacro{labelname:western}}%
\usebibmacro{name:andothers}}
\DeclareNameFormat{family-given}{%
\ifsortingnamekeytemplatename{cjk}
{\usebibmacro{name:cjk}{\namepartfamily}{\namepartgiven}{\namepartcjk}}
{\ifgiveninits
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}}%
\usebibmacro{name:andothers}}
\DeclareNameFormat{given-family}{%
\ifsortingnamekeytemplatename{cjk}
{\usebibmacro{name:cjk}{\namepartfamily}{\namepartgiven}{\namepartcjk}}
{\ifgiveninits
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}}%
\usebibmacro{name:andothers}}
\DeclareNameFormat{family-given/given-family}{%
\ifsortingnamekeytemplatename{cjk}
{\usebibmacro{name:cjk}{\namepartfamily}{\namepartgiven}{\namepartcjk}}
{\ifnumequal{\value{listcount}}{1}
{\ifgiveninits
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}
\ifboolexpe{%
test {\ifdefvoid\namepartgiven}
and
test {\ifdefvoid\namepartprefix}}
{}
{\usebibmacro{name:revsdelim}}}
{\ifgiveninits
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}}}
\usebibmacro{name:andothers}}
\begin{filecontents*}{\jobname.bib}
@article{Li:2018,
author = {family=Li, given=Wei, nametemplates=cjk},
date = {2018},
journaltitle = {Applied Linguistics},
number = {1},
pages = {9--30},
title = {Translanguaging as a Practical Theory of Language},
volume = {39},
}
@article{Li+Milroy:1995,
author = {family=Li, given=Wei, nametemplates=cjk and Milroy, Lesley},
date = {1995},
journaltitle = {Journal of Pragmatics},
number = {3},
pages = {281--299},
title = {Conversational Code-Switching in a {Chinese} Community in {Britain}:
A Sequential Analysis},
volume = {23},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite{sigfridsson}
ipsum \autocite{Li:2018}
dolor \autocite{Li+Milroy:1995}
\printbibliography
\end{document}