قبل از فراخوانی بسته xepersian
بسته multicol
رو فراخوانی کنید و بعد از فراخوانی بسته xepersian
کد زیر رو قرار بدهید
\makeatletter
\bidi@patchcmd{\theindex}%
{\if@twocolumn
\@restonecolfalse
\else
\@restonecoltrue
\fi
\columnseprule \z@
\columnsep 35\p@
\twocolumn[\section*{\indexname}]%
}%
{%
\columnseprule .4pt
\columnsep 35\p@
\begin{multicols}{3}[\section*{\indexname}]%
}{\typeout{Suceeded}}{\typeout{Failed}}
\bidi@patchcmd{\endtheindex}{\if@restonecol\onecolumn\else\clearpage\fi}
{\end{multicols}\clearpage}{\typeout{Suceeded}}{\typeout{Failed}}
\makeatother
برای اینکه نمایه در بیش از ۳ ستون قرار بگیره، کافی عدد ۳ رو در کد بالا تغییر بدهید. کاری که کد بالا انجام میده اینه که به جای اینکه از دستور \twocolumn
استفاده کنه از محیط multicols
برای چینش نمایه استفاده میکنه.