کافی است تعریف \@seccntformat
را تغییر دهید. برای این کار تکه کد زیر را در دیباچه قرار دهید:
\makeatletter
\renewcommand\@seccntformat[1]{%
\csname the#1\endcsname\@SepMark\quad
}
\makeatother
توجه کنید که نباید تعریف دستورهای \thesection
و... را تغییر دهید چرا که اگر به بخشها ارجاع دهید خط فاصله نیز چاپ میشود که اشتباه است. کد کمینه و قابل اجرا به شکل زیر است:
\documentclass{article}
\usepackage{ptext}
\usepackage{xepersian}
\settextfont{Yas}
\SepMark{-}
\makeatletter
\renewcommand\@seccntformat[1]{%
\csname the#1\endcsname\@SepMark\quad
}
\makeatother
\begin{document}
\section{چکیده}
\ptext[1-2]
\subsection{گفتار اندر آفرینش عالم}
\ptext[3-4]
\end{document}
در اینجا به جای آنکه مستقیماً خط فاصله را در انتهای شماره قرار دهم، از SepMark
استفاده کردهام تا اگر به هر دلیل خواستید بین اعداد از نقطه استفاده کنید در انتها هم خودبخود نقطه قرار گیرد.