我正在用波斯语写一本书。索引中有一个问题。单词使用的是阿拉伯语顺序!因此,这会导致问题,因为在阿拉伯语中,它们没有四个字母“پ p(在 pen 中)”、“چ ch(在 cheese 中)”、“گ g(在 gas 中)”和“ژ zh 或 s(在 generally 中)”。因此,这 4 个字母从其主要位置被删除,并且它们出现在所有字母之后,但这是错误的,例如“پ p”应该在“ب b”之后和“ت t”之前。我想看看我是否可以自己定义字母表字母之间的顺序。因此,我不仅寻求上述问题的解决方案,而且我的问题还是它的通用形式(一般情况有时可能有用)。
由于有些人可能需要一个例子,所以我写了一个例子(这只是一个例子)。
\documentclass[12pt,a4paper]{article}
\usepackage[next]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{makeidx}
\usepackage[left=2.00cm, right=2.00cm, top=2.00cm, bottom=1.50cm]{geometry}
\usepackage{xepersian}
\settextfont{XB Niloofar}
\author{A.H. SadeghiManesh}
\makeindex
\begin{document}
نمونه
\index{بالارونده}
\index{پائینرونده}
\index{تعمیم قضیه}
\printindex
\end{document}
结果如图所示。但第三个单词应该在另外两个单词之间,而不是最后一个单词!
答案1
从输出来看,我猜你使用了xelatex file.tex
,然后makeindex file.idx
,最后xelatex file.tex
又使用了 。这行不通,因为它makeindex
不太了解语言。
您可以使用xindy
(辛迪)代替中间步骤,波斯语支持由xindy-persian
最简单的方法是下载xindy-persian
到文件所在目录下的子目录.tex
,然后使用texindy -M xindy-persian/variant1-utf8-test.xdy file.idx
(您也可以使用variant2
,这略有不同(请参阅README
),或者更改-test
为-lang
)。
这是输出;我希望这是您所期望的。