如何在索引中设置任意排序顺序?例如,我想创建一个罗马法和教会法的引文索引,该索引不应按字母顺序排序。(文本中的所有引文都已由宏编写,因此将它们放入索引中似乎很简单。)
我的意思是一个很长的例子,我希望它能显示出事情需要如何排序的复杂性:
罗马法引文索引:[= 标题部分]
机构:[= 标题细分]
Inst. 1.2 pr. [pr. = 序言]
安装 1.2.2
研究所3.17 米。
摘要:[= 标题细分]
挖掘 1.1.1.3
挖掘 1.10.1.2
图 27.1.2
地址:50.16.289
法典:[= 标题细分]
代码1.1.1
代码4.2
教会法又有所不同:
Decretum Gratiani:[=标题部门]
Prima pars:[= 标题细分]
D. 1 c. 1
D.6 c.3
D. 6 dpc 3 [p. = 后 = c. 3 之后]
D. 8 dac 1 [a. = ante = 之前 c. 1]
D.8 c.1
第二部分:[= 标题细分]
C. 1 q. 1 c. 10
C. 1 q. 3 c. 7
C. 1 q. 3 c. 15
C. 23 q. 4 c. 5
C.33 q. 3 (De penitentia) [= Causa 33,quaestio 3中的小节]
D.5 c.8
D.6 c.1
Tertia pars (De consecratione): [= 标题细分]
D.2 c.2
D.4 c.1
答案1
该bibleref
软件包具有一项功能,可对圣经书籍(通常按圣经顺序排序)执行此操作。有两种建议方法。
本机方式在条目前插入数字,因此索引如下所示:
\indexentry{01\relax @\BRbooktitlestyle {\BRbookof Gen\`ese}!001:026@\BRchapterstyle {1}\BRchvsep \BRversestyle {26}|textrm}{12}
01
《创世纪》的顺序是怎样的?
另一种方法是使用xindy
自定义词典。请参阅xindy
手册。
答案2
我之前已经建立了任意排序规则,但不幸的是,它们在更新到 xindy 2.5.1 后就停止工作了。从未确认过这是 2.5.1 中的一个错误还是为了避免这种行为而有意为之。
如果你碰巧在某个地方有 xindy 2.5.0(例如在 texlive 14 中)或能够获得它,你可以尝试我的方法。
运行 xindy 2.5.0xindy -o index.ind -C utf8 -M test.xdy -M m.idx
如下m.idx
:
\indexentry{Ant}{2}
\indexentry{Bison}{2}
\indexentry{Camel}{2}
\indexentry{Unicorn}{2}
\indexentry{Ðuck}{2}
会给你
默认
独角兽,2
从 C 开始
骆驼,2
字母A
蚂蚁,2
字母B
野牛,2
测试 Unicode ð
Ðuck,2
测试.xdy:
(require "latex.xdy")
(require "makeindex.xdy")
(require "numeric-sort.xdy");; "V64" appears before "V128".
(require "latex-loc-fmts.xdy")
(require "ff-ranges.xdy")
;;(require "book-order.xdy")
;; minimal alphabet
(define-alphabet "myminimal"
("Start with C though" "Letter A" "Letter B" "Test Unicode ð"))
;; minimal letters
(sort-rule "A" "Letter A")
(sort-rule "B" "Letter B")
(sort-rule "C" "Start with C though")
(sort-rule "Ð" "Test Unicode ð")
(define-location-class "myminimal"
("myminimal" :sep " " "arabic-numbers" :sep "," "arabic-numbers"))
(define-letter-groups
("Start with C though" "Letter A" "Letter B" "Test Unicode ð"))
(markup-letter-group :open-head "~n {\bf " :close-head "}
"
)