تالار گفتگوی پارسیلاتک
زیپرشین XePersian => زیتک => نويسنده: وحید دامنافشان در اكتبر 22, 2012, 03:54:31 pm
-
توی فایل پایین، متن فارسی داخل دستور \mbox، چپ به راست میشه. آیا این رفتار عمداً صورت میگیره؟
من خودم همیشه از \text استفاده میکنم. کنجکاو شدم بدونم دلیلش چیه.
\documentclass{article}
\usepackage{xepersian}
\begin{document}
$x \mbox{این یک آزمایش است} y$
\end{document}
-
\mbox در واقع همون \hbox است. در فایل latex.ltx دستور فوق اینگونه تعریف شده است:
\long\def\mbox#1{\leavevmode\hbox{#1}}
حالا اگر شما جای \mbox روی توی نمونه خودتون با \hbox عوض کنید، دقیقاً رفتار یکسانی رو میبینید. دستور \hbox در متون راست به چپ (در صورتی که در حالت عمودی و حالت ریاضی نباشه) راست به چپ و در محیط چپ به راست، چپ به راست هست پس بنابراین طبیعی که دستور \mbox هم رفتار مشابهی داشته باشه. محیط ریاضی یکی از زیرشاخههای محیط چپ به راست میباشد.
بسته bidi دستوری مشابه \hbox با نام \hboxR تعریف میکنه که همیشه راست به چپ حروفچینی میشه پس میتوانی بجای استفاده از \mbox از دستور \hboxR استفاده کنی. اما توصیه نمیشود و بهتر هست که از دستور \text برای این کار استفاده کنی چون این دستور (برخلاف دستور \mbox یا \hbox یا \hboxR و ...) بصورت خودکار کارهای اضافهای انجام میده که برای حروفچینی در محیط ریاضی لازمه.