根据梵文字母使用 biblatex 对参考书目进行自定义排序

根据梵文字母使用 biblatex 对参考书目进行自定义排序

我想在一篇文章中添加主要来源的参考书目,并根据梵文字母表对其条目进行字母排序,使用 IAST 和 utf-8,a、ā、i、ī、u、ū 等,我该如何告诉 biblatex / biber 这样做?我想我必须自己定义那个字母表,怎么做?

最小工作示例:

\documentclass{article}
\usepackage{fontspec}
\usepackage{filecontents}
\usepackage[style=authoryear-ibid,backend=biber,sorting=anyt]{biblatex}

\begin{filecontents*}{mwe.bib}

@misc {Hevajratantra,
title = {Hevajratantra},
note = {something},
}

@book {Mṛgendratantra,
title = {Mṛgendratantra},
note = {something else},
}

\end{filecontents*}
\addbibresource{mwe.bib}

\begin{document}

\nocite{*}
\printbibliography{}

\end{document}

正如预期的那样,参考书目首先按照拉丁字母顺序列出了《Hevajratantra》,然后是《Mṛgendratantra》。然而,在梵语字母表中,M 位于 H 之前,梵语字母表与拉丁字母表完全不同。我可以手动处理这个问题,例如,在每个参考书目条目中添加一个 sortkey 字段,但我认为对于大多数较大的语言,人们可以通过 polyglossia 告诉 biblatex / biber 如何根据相应的语言进行排序。我想知道对于音译梵语,如何自动完成这一操作?

经过进一步的搜索,我似乎需要为 Unicode 排序算法构建一个表,并遵循该表的数据格式,https://github.com/plk/biber/blob/master/data/latinkeys.txt,然后我需要将其提供给 biber。看起来不太复杂,我会尝试找到一个临时解决方案。

答案1

从 3.4 版本开始biblatex支持不同排序的音译

\DeclareSortTranslit{
  \translit[settitles]{iast}{devanagari}
}

https://github.com/plk/biblatex/issues/385

这应该会给你正确的梵文排序顺序

\documentclass{article}
\usepackage{fontspec}
\usepackage{filecontents}
\usepackage[style=authoryear-ibid,backend=biber,sorting=anyt]{biblatex}

\begin{filecontents*}{\jobname.bib}
@misc {Hevajratantra,
title = {Hevajratantra},
note = {something},
}

@book {Mṛgendratantra,
title = {Mṛgendratantra},
note = {something else},
}
\end{filecontents*}

\DeclareSortTranslit{
  \translit[settitles]{iast}{devanagari}
}

\addbibresource{\jobname.bib}

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

给出

示例输出

相关内容