تالار گفتگوی پارسی‌لاتک

لاتک LATEX => ریاضیات و علوم => نويسنده: هادی صفی‌اقدم در مه 18, 2012, 08:32:06 pm

عنوان: مشکل ‪\everymath{\displaystyle}‬ با لاتین شدن اعداد فرمول‌های داخل متن (Inline)
رسال شده توسط: هادی صفی‌اقدم در مه 18, 2012, 08:32:06 pm
وقتی از دستور ‪\everymath{\displaystyle}‬ استفاده می‌کنم،
اعداد داخل فرمول‌هایی که داخل متن فارسی هستن و
به عبارتی Inline text هستن، به صورت لاتین درمیاد.
برای حلش راهی هست؟
عنوان: پاسخ : مشکل ‪\everymath{\displaystyle}‬ با لاتین شدن اعداد فرمول‌های داخل متن (Inline)
رسال شده توسط: vafa در مه 19, 2012, 06:25:04 am
استفاده از \displaystyle اصولی نیست چون اگر به کارگاه‌هایی که من در مورد زی‌پرشین در ایران داشتم آمدید و توضیح مرا در ارتباط با دستور بدوی \limits دقت کرده بودید، من در آنجا گفتم که استفاده از \displaystyle باعث تفاوت فاصله بین بندها می‌شود که بسیار خروجی را زشت می‌کند.

به هر حال، علت مشکل شما این است که در استفاده از \everymath باید محتاط باشید چون بسته‌های دیگر (مانند amsmath و xepersian-mathsdigitspec) از این دستور استفاده می‌کنند و اگر شما از این دستور به این شکل:
\everymath{\displaystyle}
استفاده کنید، تمام کارهایی که این بسته‌ها انجام می‌دهند از بین خواهد رفت و در نتیجه خروجی شما مشکل خواهد داشت. نحوه صحیح انجام این کار به این صورت است:
\everymath\expandafter{\the\everymath\displaystyle}
با این کار شما علاوه بر اینکه تعریفات خودتون رو انجام می‌دهید، تغییرات بسته‌های دیگر را هم حفظ می‌کنید.
عنوان: پاسخ : مشکل ‪\everymath{\displaystyle}‬ با لاتین شدن اعداد فرمول‌های داخل متن (Inline)
رسال شده توسط: vafa در مه 19, 2012, 06:43:26 am
... نحوه صحیح انجام این کار به این صورت است:
\everymath\expandafter{\the\everymath\displaystyle}
با این کار شما علاوه بر اینکه تعریفات خودتون رو انجام می‌دهید، تغییرات بسته‌های دیگر را هم حفظ می‌کنید.
یا اینکه می‌تونی از بسته everyhook برای این کار استفاده کنی:
http://ctan.org/pkg/everyhook