سلام
میتونیم از بستهٔ imakeidx
استفاده کنیم. شیوهٔ کار بسیار ساده است. در ابتدا نوع نمایهها را مشخص میکنیم و سپس در متن، برای کلمهها، دستور نمایهٔ خودش را به کار میبریم. نمونهٔ زیر را ببینید:
\documentclass[12pt]{article}
%\usepackage{makeidx} % <--- deleted
%%%%%%%%%%%%%%%%%%%% added %%%%%%%%%%%%%%%%%%%%
\usepackage[xindy]{imakeidx}
\makeindex
\makeindex[name=person, title={اسمها}, columns=1]
\makeindex[name=place, title={مکانها}, columns=1]
\makeindex[name=doc, title={سندها}, columns=1]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\usepackage{bidipoem}
\usepackage[localise, computeautoilg=on]{xepersian} % <--- changed. quickindex deleted
\settextfont[Scale=1]{Yas}
%\renewcommand\poemcolsepskip{1.0cm}
%\makeindex % <--- deleted
\begin{document}
مرحوم فروزانفر\درنمایه[person]{فروزانفر} و زرینکوب\درنمایه[person]{زرینکوب}
از شارحین بزرگ و به نام آثار مولوی هستند. همچنین دکتر موحد\درنمایه[person]{موحد}
با تسلط تمام مقالات\درنمایه[doc]{مقالات} را تصحیح نموده است.
مولوی از شهر بصره\درنمایه[place]{بصره} در زمانی نام میبرد که هنوز ساخته نشده است
و از این موضع محل نقد\درنمایه{نقد} قرار میگیرد. مقبره وی در
قونیه\درنمایه[place]{قونیه} ترکیه\درنمایه[place]{ترکیه} قرار دارد.
\printindex[person]
\printindex[place]
\printindex[doc]
\printindex
\end{document}
مثلاً برای کلمهای که به مکان مربوط میشه، اینطوری مینویسیم:
\درنمایه[place]{Place Name} % or \index[place]{Place Name}
برای اسم:
\درنمایه[person]{Person Name} % or \index[person]{Person Name}
و….
برای اجراکردن، بایستی دستور xindy
با متعلقاتش رو برای هر نمایه به کار ببریم؛ ما تو این نمونه کد، چهار نوع نمایه داریم: اسمها (person.idx)، مکانها (place.idx)، سندها (doc.idx)، و بدون نام (example.idx). اجراهای لازم:
1: xelatex
2: xindy -L persian-variant2 -C utf8 -M numeric-sort -M latex -M latex-loc-fmts -M texindy -M page-ranges person.idx
3: xindy -L persian-variant2 -C utf8 -M numeric-sort -M latex -M latex-loc-fmts -M texindy -M page-ranges place.idx
4: xindy -L persian-variant2 -C utf8 -M numeric-sort -M latex -M latex-loc-fmts -M texindy -M page-ranges doc.idx
5: xindy -L persian-variant2 -C utf8 -M numeric-sort -M latex -M latex-loc-fmts -M texindy -M page-ranges example.idx
6: xelatex
نتیجهٔ اجراها بایستی به این صورت باشند:
(عکس را در تب جدید باز کنید)
اگه به نمایهٔ بدون نام نیاز ندارید، بایستی دستورهای
\makeindex
\printindex
حذف، و دستور ۵ هم اجرا نشود.
خروجی: