بسته bidi
در حالت غیرلاتین (متن پارسی) اعداد بین نقطه و یا اعداد بین - را بصورت راست به چپ حروفچینی میکند. هدف از این کار حروفچینی درست شماره قسمت، زیرقسمت و ... است. حتی استفاده از دستور \LR
باعث تغییر این رفتار نخواهد شد. دستور \lr
آن چیزی را که میخواهید به شما میدهد. در واقع در هر جایی که دستور شرطی \if@nonlatin
درست باشد، رفتاری را که میخواهید میگیرید. بنابراین راهحل پیشنهادی من این است که مقدار درست به این دستور شرطی بصورت محلی بدهید.
\documentclass{article}
\usepackage{xepersian}
\settextfont{Yas}
\begin{document}
{\setlatin
شماره شابک: ۹۷۸-۱۲۵
}
\end{document}