قبل از آنکه جواب سوال شما را بدهم ذکر چند نکته لازم است:
در کلاس book
گزینه 13pt
نداریم. در حیقیت خود لاتک هم به شما شهدار میدهد:
LaTeX Warning: Unused global option(s):
[13pt].
احتیاجی به گزینه onecolumn
نیست. این گزینه پیشفرض کلاس book
است.
دو بسته tocloft
و titletoc
با هم مشکل دارند و برای گرفتن نتیجه درست فقط باید یکی را فراخوانی کنید تا با هم تداخل نداشته باشند. بنابراین
\documentclass{book}
\usepackage{ptext}
\usepackage{titletoc}
\usepackage{xepersian}
\settextfont{XB Niloofar}
\begin{document}
\dottedcontents{section}[3.2em]{}{3.2em}{.5pc}
\tableofcontents
\chapter{فصل}
\section{قسمت}
\ptext[1]
\end{document}
مشکلی نخواهد داشت. در کل برای کاری که مدنظر دارید اصلاً احتیاجی به بسته titletoc
هم نیست. با تغییر ساده دستور \l@section
به هدفتان میرسید:
\documentclass{book}
\usepackage{ptext}
\usepackage{xepersian}
\settextfont{XB Niloofar}
\makeatletter
\renewcommand*\l@section{\@dottedtocline{1}{0em}{2.3em}}
\makeatother
\begin{document}
\tableofcontents
\chapter{فصل}
\section{قسمت}
\ptext[1]
\end{document}