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

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

مشکل ‪\everymath{\displaystyle}‬ با لاتین شدن اعداد فرمول‌های داخل متن (Inline)

نویسنده هادی صفی‌اقدم, می 18, 2012, 08:32:06 بعد از ظهر

« قبلی - بعدی »

هادی صفی‌اقدم

وقتی از دستور ‪\everymath{\displaystyle}‬ استفاده می‌کنم،
اعداد داخل فرمول‌هایی که داخل متن فارسی هستن و
به عبارتی Inline text هستن، به صورت لاتین درمیاد.
برای حلش راهی هست؟

vafa

استفاده از \displaystyle اصولی نیست چون اگر به کارگاه‌هایی که من در مورد زی‌پرشین در ایران داشتم آمدید و توضیح مرا در ارتباط با دستور بدوی \limits دقت کرده بودید، من در آنجا گفتم که استفاده از \displaystyle باعث تفاوت فاصله بین بندها می‌شود که بسیار خروجی را زشت می‌کند.

به هر حال، علت مشکل شما این است که در استفاده از \everymath باید محتاط باشید چون بسته‌های دیگر (مانند amsmath و xepersian-mathsdigitspec) از این دستور استفاده می‌کنند و اگر شما از این دستور به این شکل:

\everymath{\displaystyle}

استفاده کنید، تمام کارهایی که این بسته‌ها انجام می‌دهند از بین خواهد رفت و در نتیجه خروجی شما مشکل خواهد داشت. نحوه صحیح انجام این کار به این صورت است:

\everymath\expandafter{\the\everymath\displaystyle}

با این کار شما علاوه بر اینکه تعریفات خودتون رو انجام می‌دهید، تغییرات بسته‌های دیگر را هم حفظ می‌کنید.

vafa

نقل قول از: وفا کارن‌پهلو در می 19, 2012, 06:25:04 قبل از ظهر
... نحوه صحیح انجام این کار به این صورت است:

\everymath\expandafter{\the\everymath\displaystyle}

با این کار شما علاوه بر اینکه تعریفات خودتون رو انجام می‌دهید، تغییرات بسته‌های دیگر را هم حفظ می‌کنید.
یا اینکه می‌تونی از بسته everyhook برای این کار استفاده کنی:
http://ctan.org/pkg/everyhook