دوستان، کسی میتواند علت شکنندگی \XePersian
را در سرآمد صفحه توضیح دهد؟
به کد زیر و خروجی آن توجه نمایید. البته با کمک \protect
میتوان جلوی آن را گرفت. در واقع سوال را بدینگونه بپرسم آیا لازم نبود که \protect
هم در تعریف نماد زیپرشین قرار میگرفت تا چنین اتفاقی رخ نمیداد؟!
\documentclass{book}
\usepackage{ptext}
\usepackage{xepersian}
\settextfont[Scale=1]{Yas} %فونت پیشفرض فارسی
% XePersian macro in the xepersian package is defined as below:
%\def\XePersian{\leavevmode$\smash{\hbox{X\lower.5ex\hbox{\kern-.125em\bidi@reflect@box{E}}Persian}}$}
\begin{document}
\chapter{نماد \XePersian}
\ptext
\chapter{نماد \protect\XePersian}
\ptext
\end{document}
جلوگیری از شکست با کمک \protect
:
ویرایش
منظور این بود که چرا این ماکرو به ادبیات لاتک به صورت robust
تعریف نشده است؟ تعریف آن چه مشکلی را سبب میشده است؟