如何将所有中文参考资料排在英文参考资料之前

如何将所有中文参考资料排在英文参考资料之前

我正在写博士论文,论文是中文的。参考文献部分要求将所有中文参考文献排在英文参考文献之前。

但是,似乎没有任何现有的排序选项可以支持这一点。

我尝试使用\usepackage[backend = biber, style=alphabetic, sorting=nty]{biblatex}。所有中文参考文献都列在英文参考文献后面。

有没有什么方法可以将所有的中文参考资料排在所有的英文参考资料之前?

答案1

一个简单的解决方案是使用presort字段。与 不同sortkeypresort能够按大类进行排序,将类别内的排序留给biblatex,而不必对每个条目单独进行排序(与 一样sortorder)。

biblatex.def定义nyt排序方式为:

\DeclareSortingScheme{nyt}{
  \sort{
    \field{presort}
  }
  \sort[final]{
    \field{sortkey}
  }
  \sort{
    \field{sortname}
    \field{author}
    \field{editor}
    \field{translator}
    \field{sorttitle}
    \field{title}
  }
  ......

因此,通过presort = 1为文件中的所有中文条目添加一个.bib,为所有英文条目添加一个,它们将首先按语言排序,然后像往常一样presort = 2按常规的 /name,year,title 方案排序。nyt

答案2

一个非常简单的解决方案可能是: - 编辑您的 *.bbl 文件 - 标记并剪切所有英文条目 - 将它们粘贴到中文条目之后 - 将此文件保存为您的新 *.bbl - 然后再次运行 xelarex(或 ist lua?)。

相关内容