我正在尝试在 ConTeXt 中对我的论文的参考书目进行排序,我需要能够按捷克字母设置排序顺序(例如,C、Č、D、....Ch、...等)。英语排序将 Ch 放在 C 或 Č 之前,但在捷克语中,它需要放在 D 之后。有什么想法吗?
以下是一个最简单的例子:
\mainlanguage[cz]
\usebtxdataset[bibliotest.bib]
\usebtxdefinitions[apa]
\unprotect
\def\textampersand{a}
\protect
\setupbtx
[apa:cite]
[left=,
right=,
separator:2={\btxsemicolon}, % :0 and :1 - between items of a list
separator:3={\btxsemicolon},
separator:4={\btxsemicolon},
separator:names:2={\btxcomma},
separator:names:3={\btxcomma},
separator:names:4={\btxcomma},
etaldisplay=3,
etallimit=3
]
\starttext
\cite[righttext={{123},{116-156}}][Danton2004, Cicikova2011].
\cite[Cicikova2011]
\cite[Chichikova1978]
\startchapter[title=Bibliografie]
\placelistofpublications
\stopchapter
\stoptext
这是 bibliotext.bib
@book{Danton2004,
address = {Oxford},
author = {Danton, Gocha R. and {De Angelis}, Franco},
publisher = {Oxford University School of Archaeology},
title = {{The archaeology of Greek colonisation: essays dedicated to Sir John Boardman}},
year = {2004}
}
@article{Cicikova2011,
address = {Kazanlak},
annote = {PDF},
author = {{\v{C}}i{\v{c}}ikova, M},
pages = {116--121},
journal = {{Varia Thracica}},
title = {{Article Title}},
year = {2011}
}
@book{Chichikova1978,
address = {Oxford},
author = {Chichikova, Maria and Dimitrov, Dimitur P. and Alexieva, Marguerite and Author, Name},
isbn = {0-86054-003-0},
keywords = {Seuthopolis,Thracians},
language = {eng},
publisher = {BAR Supplementary Series 38},
title = {{The Thracian city of Seuthopolis}},
year = {1978}
}
答案1
这似乎是 ConTeXt 中的一个错误(APA 定义有问题,而 APS 等定义则工作正常),你应该询问ConTeXt 邮件列表求助。
同时,您可以尝试以下解决方法:
- 请手动对 .bib 文件中的条目进行排序
用于
sorttype=index
让参考书目使用 .bib 文件的排序顺序:\definebtxrendering [apa] [specification=apa, sorttype=index]
答案2
感谢 ConTeXt 恶意邮件列表中的 Alan Blaslau 和 Hans Hagen 的支持,通过在文档的任何位置添加以下代码,该问题已得到解决:
\startluacode
sorters.setlanguage("cz")
\stopluacode