biblatex 中姓氏和名字的顺序,中文惯例

biblatex 中姓氏和名字的顺序,中文惯例

我刚刚意识到,很长一段时间以来,我在引用中文名称时使用了错误的引用格式。英文出版物通常会将中文名称罗马化,但保留其顺序,请参阅这里即姓氏在前,名字在后。如何使用样式来实现这一点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}

(Li 和 Milroy 1995)//Li Wei 和 Lesley Milroy。1995 年。《英国华人社区的会话代码转换:序列分析》。《语用学杂志》23(3):281–299。


为了更全面地处理非西方人的名字,您可以使用 的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}

(Li 和 Milroy 1995)//Li Wei 和 Lesley Milroy。1995 年。“英国华人社区的会话代码转换:序列分析。”《语用学杂志》23(3):281–299。

相关内容