این جواب را برای کسانی که به این مشکل برمیخورند میگذارم. این یک مثال است که خروجی را مانند فایل ورد ضمیمه شده در سوال تحویل میدهد:
\documentclass[12pt,a4paper,oneside]{book}
\usepackage{xepersian}
\settextfont[Scale=1.16]{XB Niloofar}
\pagestyle{plain}
%%**Chapter Number Tartibi in Table Of Contents in report and Book class**
\makeatletter
\bidi@patchcmd{\@chapter}{%
\addcontentsline{toc}{chapter}%
{\protect\numberline{\thechapter}#1}%
}{%
\addcontentsline{toc}{chapter}%
{\protect\numberline{\chaptername~\tartibi{chapter}}#1}%
}{\typeout{We succeded in redefining \string\@chapter}}
{\typeout{We failed in redefining \string\@chapter}}
\bidi@patchcmd{\l@chapter}{%
\setlength\@tempdima{1.5em}%
}{%
\setlength\@tempdima{4em}%
}
%{\typeout{We succeded in redefining \string\l@chapter}}
%{\typeout{We failed in redefining \string\l@chapter}}
\makeatother
تا اینجا در فهرست مطالب شماره فصل ترتیبی میشود که قبلا هم برای کلاس report جواب داده شده بود. در قسمت بعدی شماره فصل بصورت ترتیبی در صفحه ای مجزا نمایش داده می شود.
\makeatletter
\def\@makechapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@
\begin{center}
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\Huge\bfseries \@chapapp\space \tartibi{chapter}
\par\nobreak
\end{center}
\newpage
\vskip 20\p@
\fi
\fi
\interlinepenalty\@M
\Large \bfseries #1\par\nobreak
\vskip 20\p@
}}
\def\@makeschapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \centering
\normalfont
\interlinepenalty\@M
\Huge \bfseries #1\par\nobreak
\vskip 40\p@
}}
\makeatother
\renewcommand{\contentsname}{
فهرست مطالب
\\*[50pt]
{\normalsize{عنوان}}
\hspace{\stretch{1}}
{\normalsize{صفحه}}
\\*[-15pt]
}
`