• Welcome to پارسی‌لاتک.
 
از تاریخ ۱۳۹۳/۸/۱۴ به دلیل ارائه خدمات بهتر به سایت جدید پرسش و پاسخ مهاجرت کرده‌ایم؛ از این رو امکان عضویت و ارسال پست در تالار غیرفعال شده است. لطفاً برای پرسیدن سوال‌های خود به سایت جدید مراجعه کنید.

ورود به سایت جدید

چپ به راست شدن متن فارسی داخل دستور ‎\mbox‎ در محیط ریاضی

نویسنده وحید دامن‌افشان, اکتبر 22, 2012, 03:54:31 بعد از ظهر

« قبلی - بعدی »

وحید دامن‌افشان

توی فایل پایین، متن فارسی داخل دستور ‎\mbox‎، چپ به راست می‌شه. آیا این رفتار عمداً صورت می‌گیره؟
من خودم همیشه از ‎\text‎ استفاده می‌کنم. کنجکاو شدم بدونم دلیلش چیه.
\documentclass{article}
\usepackage{xepersian}
\begin{document}
$x \mbox{این یک آزمایش است} y$
‎\end{document}‎


vafa

\mbox در واقع همون \hbox است. در فایل latex.ltx دستور فوق اینگونه تعریف شده است:

\long\def\mbox#1{\leavevmode\hbox{#1}}

حالا اگر شما جای \mbox روی توی نمونه خودتون با \hbox عوض کنید، دقیقاً رفتار یکسانی رو می‌بینید. دستور \hbox در متون راست به چپ (در صورتی که در حالت عمودی و حالت ریاضی نباشه) راست به چپ و در محیط چپ به راست، چپ به راست هست پس بنابراین طبیعی که دستور \mbox هم رفتار مشابهی داشته باشه. محیط ریاضی یکی از زیرشاخه‌های محیط چپ به راست می‌باشد.

بسته bidi دستوری مشابه \hbox با نام \hboxR تعریف می‌کنه که همیشه راست به چپ حروف‌چینی میشه پس می‌توانی بجای استفاده از \mbox از دستور \hboxR استفاده کنی. اما توصیه نمی‌شود و بهتر هست که از دستور \text برای این کار استفاده کنی چون این دستور (برخلاف دستور \mbox یا \hbox یا \hboxR و ...) بصورت خودکار کارهای اضافه‌ای انجام می‌ده که برای حروف‌چینی در محیط ریاضی لازمه.