创建索引条目的任意排序

创建索引条目的任意排序

如何在索引中设置任意排序顺序?例如,我想创建一个罗马法和教会法的引文索引,该索引不应按字母顺序排序。(文本中的所有引文都已由宏编写,因此将它们放入索引中似乎很简单。)

我的意思是一个很长的例子,我希望它能显示出事情需要如何排序的复杂性:

罗马法引文索引:[= 标题部分]

机构:[= 标题细分]

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 "}
"
                    )

相关内容