biblatex 排序选项 sortcase 默认是区分大小写还是不区分大小写?

biblatex 排序选项 sortcase 默认是区分大小写还是不区分大小写?

biblatex文档中关于该选项的说明如下sortcase[sortcase=true, false] 是否按区分大小写的方式对参考书目和简写列表进行排序。默认值:true

我不是以英语为母语的人。因此,在阅读完该内容后,我不确定这是否sortcase=true意味着它最终会区分大小写或不区分大小写地排序。

答案1

[sortcase] 是否区分大小写地对参考书目和速记列表进行排序。

sortcase=true表示排序区分大小写。sortcase=false表示排序不区分大小写。从 Biber 文档中可能会更清楚地看到这一点,其中有

默认情况下,排序区分大小写。您可以使用 Biber 选项全局关闭此功能,--sortcase=false也可以使用 Biblatex 的选项sortcase=false。[...] 默认情况下,Biber 先将大写字母排序,再将小写字母排序。您可以使用 Biber 选项全局反转所有排序,--sortupper=false也可以使用 Biblatex 的选项sortupper=false

您可以在

\documentclass[british]{article}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=authortitle, sortcase=true, sortupper=true, backend=biber]{biblatex}


\begin{filecontents}{\jobname.bib}
@book{appleby:ua,
  author  = {Humphrey Appleby},
  title   = {A},
  date    = {1982},
}
@book{appleby:la,
  author  = {Humphrey Appleby},
  title   = {a},
  date    = {1985},
}
@book{appleby:ub,
  author  = {Humphrey Appleby},
  title   = {B},
  date    = {1984},
}
@book{appleby:lb,
  author  = {Humphrey Appleby},
  title   = {b},
  date    = {1983},
}
@book{bppleby:ua,
  author  = {Humphrey Bppleby},
  title   = {AK},
  date    = {1982},
}
@book{bppleby:la,
  author  = {Humphrey Bppleby},
  title   = {al},
  date    = {1985},
}
@book{bppleby:ub,
  author  = {Humphrey Bppleby},
  title   = {BL},
  date    = {1984},
}
@book{bppleby:lb,
  author  = {Humphrey Bppleby},
  title   = {bk},
  date    = {1983},
}
\end{filecontents}
\addbibresource{\jobname.bib}

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

sortcase=true

A(1982 年)< a(1985 年)< B(1984 年)< b(1983 年)

sortcase=false

A(1982 年)< a(1985 年)< b(1983 年)< B(1984 年)

这个例子还表明,区分大小写的排序只有在我们只看字母时出现平局时才变得重要。

  • “ak”/“AK”始终排在“al”/“AL”之前,无论这两个字母采用什么大小写形式。

  • 但是“A”只能在用sortcase=true(和sortupper=true) 排序在“a”之前。

如果我理解正确的话,这种行为与 Unicode 排序算法一致:https://unicode.org/reports/tr10/

相关内容