如何更改字母表字母之间的默认顺序?

如何更改字母表字母之间的默认顺序?

我正在用波斯语写一本书。索引中有一个问题。单词使用的是阿拉伯语顺序!因此,这会导致问题,因为在阿拉伯语中,它们没有四个字母“پ 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)。

这是输出;我希望这是您所期望的。

使用 <code>xindy</code> 进行波斯语索引

相关内容