怎么给word文档加索引:排序问题

2008-12-21

Word终于再次证明了自己的垃圾,小儿科的bug,层出不穷,就不能让我这个科学工作者省省心吗。排序,按照菜单提示,有拼音和笔画两种,都是针对中文的。微软不让我们排英文,是何居心?我们要想中英混排,想分别生成几份索引,怎么办呢?

好吧,让我们先回顾一下犯错的过程,在标记索引项的时候,我们发现有个所属拼音项的选项,于是我们就以为这样可以来区分类型,我们添上abcd,然后生成索引,果然,按照abcd分开啦!且慢,分开是分开了,可是排序一团糟。无论我们排序选拼音还是笔画都无济于事。咋回事呢?

对于界面用户,你无法再改些什么,问题就永远是个问题了。对于科学工作者,或者代码用户,我们继续往前走。

在生成的索引上右键,选编辑,出来对话框下面点选项,会看到一些索引命令的参数。挨个看看,\y,就是我们填了所属拼音项后出现在域代码里的东东,它是什么意思呢?是“为多音索引项确定拼音功能”,原来是当word搞不清拼音的时候,让我们给它强制指定一个拼音用的啊,不是用来指定类型的!

那么谁是指定类型的参数呢?是 \f

OK,我们就是要用这个\f来解决问题:

1) 先把域代码里加上的\y都替换成\f,方法是编辑–>替换,查找内容填\y,替换为填\f,全部替换即可。这样之后,所有索引项后的形如\y “a”就都变成了\f “a”。意思就是,abcd现在不是用来强制指定拼音,而是用来标记类型了。

2) 现在我们用一般的方法,就是以前的方法,正常的方法,用菜单的方法,插入一个索引。插入后,这个索引也许是和以前一样乱,也许压根就写着“错误”。不用管它,现在我们来修改代码。在索引上右键点“切换到域代码”,此时长长的索引缩成了一小行字(好神奇啊!),比如是这样的:

{ INDEX \y \o “P” \c

“1” \z “2052”}

这就是生成索引的命令,INDEX是命令,后面是一些参数。那个\y就是考虑我们填的所属拼音项来排序的,现在我们不要它了,把它改成\f “a”,就是说我们要生成所有a类型的索引。后面的一个我们也学学吧,\o “P”就是说排序的order是拼音,要是按笔画,这里就是\o “S”(S是不是shape?)。ok,这个\o我们记不记都没关系,只要记住用\f “X”指定对X类型进行索引就完了

比如上面的代码改完后就是

{ INDEX \f “a” \o “P” \c

“1” \z “2052”}

好了,现在在上面右键选“更新域”,看到了什么?如果类型a是英文的,是不是alphabetic了?

3)好了,我们生成了a类型的代码,怎么生成其它类型的呢?你愿点菜单重复上面过程也行,不过更简单的是,复制上面的索引代码,然后把\f “a”改成\f “b”或\f “c”……,然后更新域。怎么样,简单吧,嗯哼。