Biblatex 忽略了 maxcitenames 以及参考书目问题,我希望按名字的字母顺序排列,而不是按姓氏的字母顺序排列

Biblatex 忽略了 maxcitenames 以及参考书目问题,我希望按名字的字母顺序排列,而不是按姓氏的字母顺序排列

我在使用 maxcitename=1 时遇到了问题,有时 latex 只引用第一作者,但有时引用 3 位作者。这似乎完全是随机的,但我可能只在文本中引用一位作者,如果有更多作者,那么我想添加“et al”。

这是我正在使用的包

\usepackage[backend=biber,style=authoryear,maxcitenames=1,maxbibnames=99,autocite=inline]{biblatex} 

另外,我来自冰岛,所以我们在按字母顺序排列作者时会使用名字。我该如何改变这种情况呢?我的参考书目始终是:

最后1,第一个1,第一个2 最后2,第一个3 最后3 ........

并且只有名字不同,但其他的都是我想要的,我该如何解决这个问题。

答案1

你没有给我们太多的信息,但第一期看起来可能是在 biblatex 中使用“et al.”时,限制为一位作者.biblatex尝试使名称的截断列表也具有唯一性,以便Rakel Hönnudóttir and Harpa Þorsteinsdóttir and Elísa ViðarsdóttirRakel Hönnudóttir and Harpa Þorsteinsdóttir and Anna Björk Kristjánsdóttir不会都缩写为Rakel Hönnudóttir 等人。可以使用 关闭该功能uniquelist=false

第二个unique特征uniquename可能会导致名字出现在一些引文中,而不出现在其他引文中,请参阅biblatex,authoryear 样式:文内引用显示某些参考书目条目的名字首字母Biblatex:某些来源的文本中只有名字 - 为什么?含有 Biber 的文献会产生奇怪的引用:名字出现不规律

对于另一个问题,让我解释一下biblatex(以及 BibTeX)如何处理名称。

对于 BibTeX/Biber,名称可以由四个部分组成,其中最重要的部分是. 我所知道的几乎所有风格都是基于这样的假设:给定的名称在较新的版本中,biblatex这一点通过正式指定名称部分为家庭给定名字。这种观点和整个名字体系很大程度上受到英美惯例的影响,并且适用于许多西方名字,也相当适用于东斯拉夫惯例(至少是俄罗斯形式)。

此外,在英美世界,姓氏主要用于识别个人。可以添加名字或首字母以避免歧义,但并不总是这样做。

因此如果你输入一个冰岛名字,例如

author = {Katrín Jakobsdóttir},

Katrín被正确识别为名字,但Jakobsdóttir被视为姓氏。特别是biblatex将主要使用雅各布斯多蒂尔指那个人。


一个简单的解决方案是在文件中提供名称时将其放在括号中.bib

author = {{Katrín Jakobsdóttir}},

并且(仅将单个名称括在括号中,而不是一次将多个名称括起来!)

author = {{Katrín Jakobsdóttir} and {Jóhanna Sigurðardóttir}},

那样卡特琳·雅各布斯多蒂尔约翰娜西于尔扎多蒂尔被解析为姓氏,导致在引用中使用全名。该名称将被视为一个单位,不会以相反的顺序显示为 *雅各布斯多蒂尔,卡特琳

\documentclass[icelandic]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=authoryear, backend=biber, mincitenames=1, maxcitenames=1, maxbibnames=999]{biblatex}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{four,
  author = {{Katrín Jakobsdóttir}},
  title  = {Four},
  date   = {1984},
}
@book{five,
  author = {{Jóhanna Sigurðardóttir}},
  title  = {Five},
  date   = {1985},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}
\cite{four}
\cite{five}
\printbibliography
\end{document}

在此处输入图片描述


如果您的参考书目中只有冰岛名称或希望以冰岛方式处理外国名称,您可以重新定义名称格式并进行处理。

\documentclass[icelandic]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=authoryear, backend=biber, mincitenames=1, maxcitenames=1, maxbibnames=999]{biblatex}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{one,
  author  = {Guðbjörg Gunnarsdóttir},
  title   = {One},
  date    = {1980},
}
@book{two,
  author  = {Rakel Hönnudóttir and Harpa Þorsteinsdóttir and Anna Björk Kristjánsdóttir},
  title   = {Two},
  date    = {1982},
}
@book{three,
  author  = {Rakel Hönnudóttir and Harpa Þorsteinsdóttir and Elísa Viðarsdóttir},
  title   = {Three},
  date    = {1983},
}
@book{four,
  author = {Katrín Jakobsdóttir},
  title  = {Four},
  date   = {1984},
}
@book{five,
  author = {Jóhanna Sigurðardóttir},
  title  = {Five},
  date   = {1985},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\DeclareNameAlias{default}{given-family}
\DeclareNameAlias{sortname}{default}
\DeclareNameAlias{labelname}{default}

\DeclareSortingNamekeyTemplate{
  \keypart{
    \namepart{given}
  }
  \keypart{
    \namepart{prefix}
  }
  \keypart{
    \namepart{family}
  }
  \keypart{
    \namepart{suffix}
  }
}

\begin{document}
\cite{one}
\cite{two}
\cite{three}
\cite{four}
\cite{five}
\printbibliography
\end{document}

在此处输入图片描述


埃塞俄比亚的命名系统与冰岛的系统相似。参见Bibtex/Biber:如何使用埃塞俄比亚惯例引用作者?用于处理埃塞俄比亚名字的实施。

输入格式比较繁琐,但是这个解决方案实现了冰岛语名字的独特性。

\documentclass[icelandic]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage{filecontents}

\begin{filecontents*}{icelandic-names.dbx}
\DeclareDatamodelConstant[type=list]{nameparts}{prefix,family,suffix,given,middle,patronymic,papponymic}
\end{filecontents*}

\begin{filecontents*}{\jobname.bib}
@BOOK{one,
  author  = {given=Guðbjörg, patronymic=Gunnarsdóttir, nametemplates=icelandic},
  title   = {One},
  date    = {1983}
}
@book{four,
  author = {given=Katrín, patronymic=Jakobsdóttir, nametemplates=icelandic},
  title  = {Four},
  date   = {1984},
}
@book{five,
  author = {given=Jóhanna, patronymic=Sigurðardóttir, nametemplates=icelandic},
  title  = {Five},
  date   = {1985},
}
@book{six,
  author = {given=Guðrún Eva, patronymic=Mínervudóttir, nametemplates=icelandic},
  title  = {Six},
  date   = {1976},
}
@book{seven,
  author = {given=Vilborg, patronymic=Dagbjartsdóttir, nametemplates=icelandic},
  title  = {Seven},
  date   = {1987},
}
@book{eight,
  author = {given=Katrín, patronymic=Jónsdóttir, nametemplates=icelandic},
  title  = {Eight},
  date   = {1988},
}
\end{filecontents*}

\usepackage[style=authoryear,datamodel=icelandic-names]{biblatex}

\addbibresource{biblatex-examples.bib}
\addbibresource{\jobname.bib}

\DeclareSortingNamekeyTemplate[icelandic]{
  \keypart{
    \namepart{given}
  }
  \keypart{
    \namepart{patronymic}
  }
  \keypart{
    \namepart{papponymic}
  }
}

\DeclareUniquenameTemplate[icelandic]{
  \namepart[base=true]{given}
  \namepart[disambiguation=full]{patronymic}
  \namepart[disambiguation=full]{papponymic}
}

\DeclareNameAlias{sortname}{family-given}

\DeclareNameFormat{given-family}{%
  \ifsortingnamekeytemplatename{icelandic}
    {\usebibmacro{name:icelandic}
       {\namepartgiven}
       {\namepartpatronymic}
       {\namepartpapponymic}}
    {\ifgiveninits
       {\usebibmacro{name:given-family}
         {\namepartfamily}
         {\namepartgiveni}
         {\namepartprefix}
         {\namepartsuffix}}
       {\usebibmacro{name:given-family}
         {\namepartfamily}
         {\namepartgiven}
         {\namepartprefix}
         {\namepartsuffix}}}%
  \usebibmacro{name:andothers}}

\DeclareNameFormat{family-given}{%
  \ifsortingnamekeytemplatename{icelandic}
    {\usebibmacro{name:icelandic}
       {\namepartgiven}
       {\namepartpatronymic}
       {\namepartpapponymic}}
    {\ifgiveninits
       {\usebibmacro{name:family-given}
         {\namepartfamily}
         {\namepartgiveni}
         {\namepartprefix}
         {\namepartsuffix}}
       {\usebibmacro{name:family-given}
         {\namepartfamily}
         {\namepartgiven}
         {\namepartprefix}
         {\namepartsuffix}}}%
  \usebibmacro{name:andothers}}

\DeclareNameFormat{labelname}{%
  \ifuniquenametemplatename{icelandic}
    {\usebibmacro{labelname:icelandic}}
    {\usebibmacro{labelname:western}}%
  \usebibmacro{name:andothers}}

\newbibmacro{labelname:icelandic}{%
  \iffieldequalstr{uniquepart}{base}
    {\usebibmacro{name:icelandic}
       {\namepartgiven}
       {\empty}
       {\empty}} 
    {\iffieldequalstr{uniquepart}{patronymic}
       {\usebibmacro{name:icelandic}
          {\namepartgiven}
          {\namepartpatronymic}
          {\empty}}
       {\usebibmacro{name:icelandic}
          {\namepartgiven}
          {\namepartpatronymic}
          {\namepartpapponymic}}}}

\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}

\newbibmacro*{name:icelandic}[3]{%
  \usebibmacro{name:delim}{#1#2#3}%
  \usebibmacro{name:hook}{#1#2#3}%
  \mkbibicegiven{#1}%
  \ifdefvoid{#2}{}{\bibnamedelimd\mkbibicepat{#2}\isdot}%
  \ifdefvoid{#3}{}{\bibnamedelimd\mkbibicepap{#3}\isdot}}

\let\mkbibicegiven\mkbibnamefamily
\let\mkbibicepat\mkbibnamegiven
\let\mkbibicepap\mkbibnamegiven

\begin{document}
\textcite{one,sigfridsson,knuth:ct:a,knuth:ct:b,knuth:ct:c,cicero,geer,five,six,seven}

\textcite{five}

\textcite{four}

\textcite{eight}

\printbibliography
\end{document}

在此处输入图片描述

given理论上,如果您只对冰岛名称使用和,则逻辑可能会颠倒partonymic,这样除非另有说明,所有名称都会被解析为冰岛语。

相关内容