我有一个使用以下方法制作的符号索引makeindex
:
\documentclass{article}
\usepackage{makeidx}
\makeindex
\begin{document}
Text
\index{sin@$\sin$} % just some examples of index entries
\index{cos@$\cos$}
\index{tan@$\tan$}
\index{greek.a@$\alpha$} % symbols with greek letters
\index{greek.b@$\beta_{x,y}$}
\index{(@$(a)_n$} % an entry with a bracket
\printindex
\end{document}
我希望索引中每个希腊字母都有一个字母组(细分)。(我知道我必须指定另一个键,而且greek.a
这行不通。)但不仅仅是希腊字母。我还想组织符号标题下的条目,例如收集那些涉及圆括号的条目()
。
问题:如何将自定义字母组添加到索引中?(不需要使用makeindex
。)
答案1
这个答案是针对 MikTeX 的,我不知道 TeXLive。可以用 来完成xindy
。我的.xdy
文件开头是:
(define-letter-group "$\alpha$" :after "default" :before "A" :prefixes ("\235\313\227\227\256\200\264\310\244\200"))
(define-letter-group "$\beta$" :after "$\alpha$" :before "A" :prefixes ("\235\313\227\227\256\204\227\332\200"))
这些数字是“greekalpha”和“greekbeta”的八进制代码(您可以选择任何您认为有意义的字符串),我在 Emacs 中输入的不是字符串,而是单个字节,使用M-x hexl-mode C-M-o 235
等。您不能从另一个文件复制它们,但您可以在同一个文件中以正常模式复制(或查找和替换)它们。这些数字本身是我从 获得的...\xindy\modules\lang\english\utf8.xdy
。如果您遇到问题,这个答案可能会有帮助。
然后我通过定义包装了所有内容,\newcommand\greekindex[1]{\index{greek#1}}
以便我可以使用
\greekindex{alpha@$\alpha$}
\greekindex{beta@$\beta_{x,y}$}
请注意,我使用
xindy -C utf8 -L english -M texindy -M mystylefile myfile.idx
我还使用了包bm
和我写的标题\bm\alpha
等:只需$\alpha$
在.xdy
文件中更改为$\bm\alpha$
。