使用 biblatex 和 sortname 进行排序

使用 biblatex 和 sortname 进行排序

我想使用firstinits=truebiblatex 选项,并禁用特定条目的缩写,我使用{{authorname}},如上一个问题。但是,biblatex 显然无法在这种情况下对参考书目进行排序。我想,没关系,我只需提供sortname一些需要的条目即可。但是 biblatex 似乎忽略了这一点,即 Baltasar 在我的示例中首先出现。

\documentclass{article}
\usepackage{filecontents}
\usepackage[style=alphabetic,firstinits=true]{biblatex}

\begin{filecontents}{references.bib}
    @report{example1,
        author={Buthor, Baltasar},
        title={Baltie's report}
    }

    @report{example2,
        sortname={Author, Archibald},
        title={Archie's report},
        author={{Archibald Author}}
    }
\end{filecontents}
\bibliography{references.bib}

\begin{document}
  \nocite{*}
  \printbibliography
\end{document}

我该如何sortname正确使用该字段?

编辑:我使用的是最新的 TeXLive 2011,使用 pdflatex 和 bibtex 进行编译。在 XP 和 Ubuntu 下都试过了。

答案1

添加sorting=nyt选项biblatex即可修复此问题:

\documentclass{article}
\usepackage{filecontents}
\usepackage[
    style=alphabetic,
    sorting=nyt,
    firstinits=true
]{biblatex}

\begin{filecontents}{references.bib}
  @report{example1,
    author={{Archibald Author}},
    title={Archies first report}
    }
  @report{example2,
    author={{Archibald Author}},
    sortname={Author, Archibald},
    title={Archies second report}
    } 
  @report{example3,
    author={Archibald Author},
    sortname={Author, Archibald},
    title={Archies third report}
    }
  @report{example4,
    author={Buthor, Baltasar},
    title={Balties report}
    }
  @report{example5,
    author={Cuthor, Charlie},
    title={Charlies report}
    }   
\end{filecontents}
\bibliography{references.bib}

\begin{document}
  % lorem~\cite{example2}
  \nocite{*}
  \printbibliography
\end{document}

请参阅第 3.3.2 节和第 3.1.2.1 节biblatex 文档::
alphabetic此样式将在加载时设置以下包选项: labelalpha=truesorting=anyt

anyt将按标签、名称、年份、标题排序,这应该没问题,因为标签也是按字母顺序排列的,但由于某种原因(可能是错误?)它不能按预期工作。

相关内容