根据冰岛语系统编制的书目

根据冰岛语系统编制的书目

冰岛书目系统要求按以下方式对作者进行排序:姓氏逗号名字(如果不是冰岛人)并按名字没有逗号父名(如果是冰岛人)。

我使用 biblatex-chicago 和 polyglossia。虽然默认设置按姓氏排序,但我找不到任何解决方案来按名字对冰岛作者进行排序,也无法跳过中间的逗号。

答案1

您可以将冰岛人的名字视为“公司作者”,方法是将他们的名字括在花括号中。这样,"{Arnar Vigfusson}""{Sigridur Benediktsdottir}"(当然{{Arnar Vigfusson}}{{Sigridur Benediktsdottir}}也可以)将分别归类为“A”和“S”,而不是“V”和“B”。此外,名字和父名之间不会插入逗号。

答案2

使用 biblatex 3.3 和 biber 2.4(目前位于 Sourceforge 上的开发文件夹中),您可以自定义用于对名称进行排序的排序键,并且可以在各种范围内执行此操作。解决您的问题的一种方法是:

\begin{filecontents}{\jobname.bib}
@BOOK{test1,
  OPTIONS = {sortnamekeyscheme=givenfirst},
  AUTHOR = {Arnar Vigfusson},
  TITLE  = {One},
  DATE   = {1983}
}

@BOOK{test2,
  OPTIONS = {sortnamekeyscheme=givenfirst},
  AUTHOR = {Sigridur Benediktsdottir},
  TITLE  = {Two},
  DATE   = {1983}
}

@BOOK{test3,
  AUTHOR = {Brian Yellow},
  TITLE  = {Three},
  DATE   = {1983}
}
\end{filecontents}
\documentclass{article}
\usepackage{fontspec}
\usepackage[style=authoryear]{biblatex}
\addbibresource{\jobname.bib}

\DeclareSortingNamekeyScheme[givenfirst]{
  \keypart{
    \namepart{given}
  }
  \keypart{
    \namepart{family}
  }
}

\begin{document}
\textcite{test1,test2,test3}
\printbibliography
\end{document}

在此处输入图片描述

在这里,您可以看到新命令\DeclareSortingNameScheme用于定义构造名称排序键的新命名方案。这可以在多个范围内引用 - 全局(默认)、作为参考上下文的一部分、作为每个条目的选项(如本例所示),或者,使用 BibLaTeXML 数据源,您甚至可以在每个名称列表或每个名称范围内执行此操作,以便您可以在同一个条目中混合冰岛语和非冰岛语名称:

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bltxml}
<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="test7.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
<!-- Auto-generated by Biber::Output::biblatexml -->

<bltx:entries xmlns:bltx="http://biblatex-biber.sourceforge.net/biblatexml">
  <bltx:entry id="test1" entrytype="book">
    <bltx:names type="author">
      <bltx:name sortnamekeyscheme="givenfirst">
        <bltx:namepart type="family" initial="V">Vigfusson</bltx:namepart>
        <bltx:namepart type="given" initial="A">Arnar</bltx:namepart>
      </bltx:name>
    </bltx:names>
    <bltx:title>One</bltx:title>
    <bltx:date>1983</bltx:date>
  </bltx:entry>
  <bltx:entry id="test2" entrytype="book">
    <bltx:names type="author" sortnamekeyscheme="givenfirst">
      <bltx:name>
        <bltx:namepart type="family" initial="B">Benediktsdottir</bltx:namepart>
        <bltx:namepart type="given" initial="S">Sigridur</bltx:namepart>
      </bltx:name>
    </bltx:names>
    <bltx:title>Two</bltx:title>
    <bltx:date>1983</bltx:date>
  </bltx:entry>
  <bltx:entry id="test3" entrytype="book">
    <bltx:names type="author">
      <bltx:name>
        <bltx:namepart type="family" initial="Y">Yellow</bltx:namepart>
        <bltx:namepart type="given" initial="B">Brian</bltx:namepart>
      </bltx:name>
    </bltx:names>
    <bltx:title>Three</bltx:title>
    <bltx:date>1983</bltx:date>
  </bltx:entry>
</bltx:entries>
\end{filecontents*}
\usepackage{fontspec}
\usepackage[style=authoryear]{biblatex}
\addbibresource[datatype=biblatexml]{\jobname.bltxml}

\DeclareSortingNamekeyScheme[givenfirst]{
  \keypart{
    \namepart{given}
  }
  \keypart{
    \namepart{family}
  }
}

\DeclareNameFormat{author}{%
  \nameparts{#1}%
  \ifsortnamekeyscheme{givenfirst}
    {\ifgiveninits
      {\usebibmacro{name:given-family}
        {\namepartfamily}
        {\namepartgiveni}
        {\namepartprefix}
        {\namepartsuffix}}
      {\usebibmacro{name:given-family}
        {\namepartfamily}
        {\namepartgiven}
        {\namepartprefix}
        {\namepartsuffix}}}
    {\ifgiveninits
      {\usebibmacro{name:family-given}
        {\namepartfamily}
        {\namepartgiveni}
        {\namepartprefix}
        {\namepartsuffix}}
      {\usebibmacro{name:family-given}
        {\namepartfamily}
        {\namepartgiven}
        {\namepartprefix}
        {\namepartsuffix}}}%
  \usebibmacro{name:andothers}}

\begin{document}
\textcite{test1,test2,test3}
\printbibliography
\end{document}

在此处输入图片描述

有一个新的测试\ifsortnamekeyscheme,您可以使用它来检测特定名称使用了哪种方案。您可以在名称键方案中插入文字(如空格、逗号),也可以使用复合名称部分等。我正在研究为诸如父名等内容实施更通用的名称处理。

biblatex 3.3/biber 2.4 中的名称部分系统已发生重大变化,现在可以使用 biblatexml 等现代数据源定义和使用任意名称部分,如“patronymic”等。请参阅 DEV 分支 biblatex PDF 文档以获取完整示例。

相关内容