我正在生成圣经参考文献索引(使用bibleref
)包。圣经参考文献通常不按书本字母顺序排序,而是按圣经中出现的顺序排序(《创世纪》、《申命记》等)。每章中的经文应按数字排序。
目前,我的索引看起来像(法语):
Actes
1, 20
1.4, 20
Apocalypse
3.20, 56
5, 62
1 Corinthiens
2.9, 69
Daniel
12.4, 29
相反,我想要的是:
Daniel
12.4, 29
Actes
1, 20
1.4, 20
1 Corinthiens
2.9, 69
Apocalypse
3.20, 56
5, 62
按圣经中出现的圣经书目排序。我认为xindy
可以这样做(并且imakeidx
可以使用xindy
)。我该怎么做?
编辑:
该bibleref
软件包提供了一个\biblerefmap
命令来修复索引。这通常可以正常工作,但法语圣经书名带有重音符号,并将\biblerefmap
索引中找到的书名连接起来以创建宏名称,例如:
\newcommand*{\biblerefmap}[2]{%
\expandafter\def\csname @bibleref@map@#1\endcsname{#2}%
}
因此,由于重音,这失败了:
\biblerefmap{Genèse}{1@Ancien Testament!01}
\biblerefmap{Exode}{1@Ancien Testament!02}
\biblerefmap{Lévitique}{1@Ancien Testament!03}
生成索引时,bibleref
会考虑\@bibleref@map@bookname
宏,如果存在,则用内容替换书名。由于关键条目是索引中的完整书名,因此我不知道如何在法语中不使用重音字符。
有什么方法可以解决口音问题吗?
答案1
我bibleref
在本地修补了该模块:
--- a/bibleref/bibleref.sty
+++ b/bibleref/bibleref.sty
@@ -800,7 +800,7 @@ defined}{}}}
\PackageError{bibleref}{Unknown book '#1'}{}%
}%
{%
- \@bv@idxsort{\csname br@#1\endcsname}%
+ \@bv@idxsort{#1}%
\def\@bv@chidxsort{}%
\BRbooktitlestyle{\csname br@#1\endcsname}%
\let\@bv@org@bookof\BRbookof
这样,它就是用于键的缩写形式,然后我可以使用\biblerefmap
:
\biblerefmap{Gn}{1@Ancien Testament!01}
\biblerefmap{Ex}{1@Ancien Testament!02}
\biblerefmap{Lv}{1@Ancien Testament!03}
etc.
这解决了我的问题。