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

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

رقم‌های فرمول در محیط latin

نویسنده فرشاد عبدالله‌نیا, اکتبر 29, 2009, 10:51:39 قبل از ظهر

« قبلی - بعدی »

فرشاد عبدالله‌نیا

در محیط latin ارقام متن با کاراکترهای لاتین حروفچینی می‌شوند اما ارقام بین $$ با کاراکترهای فارسی. بهتر نیست که همگی لاتین حروفچینی شوند؟ در حالت کلی آیا راه دیگری برای نوشتن ارقام لاتین در فرمول وجود دارد (با فرض  \setdigitfont{a_persian_font})؟

مهدی امیدعلی

نقل قول از: فرشاد عبدالله‌نیا در اکتبر 29, 2009, 10:51:39 قبل از ظهر
در محیط latin ارقام متن با کاراکترهای لاتین حروفچینی می‌شوند اما ارقام بین $$ با کاراکترهای فارسی. بهتر نیست که همگی لاتین حروفچینی شوند؟ در حالت کلی آیا راه دیگری برای نوشتن ارقام لاتین در فرمول وجود دارد (با فرض  \setdigitfont{a_persian_font})؟
می‌تونی کد زیر رو در سرآغاز قرار بدی


\makeatletter
\newcommand\setLTRmain{\@RTL@footnotefalse\@RTLfalse\@RTLmainfalse\let\normalfont\latinfont\latinfont
\setdigitfont[ExternalLocation,BoldFont={lmroman10-bold},BoldItalicFont={lmroman10-bolditalic},ItalicFont={lmroman10-italic}]{lmroman10-regular}
\SetMathCode{`0}{\mathalpha}{OPERATORS}{"0030}
  \SetMathCode{`1}{\mathalpha}{OPERATORS}{"0031}
  \SetMathCode{`2}{\mathalpha}{OPERATORS}{"0032}
  \SetMathCode{`3}{\mathalpha}{OPERATORS}{"0033}
  \SetMathCode{`4}{\mathalpha}{OPERATORS}{"0034}
  \SetMathCode{`5}{\mathalpha}{OPERATORS}{"0035}
  \SetMathCode{`6}{\mathalpha}{OPERATORS}{"0036}
  \SetMathCode{`7}{\mathalpha}{OPERATORS}{"0037}
  \SetMathCode{`8}{\mathalpha}{OPERATORS}{"0038}
  \SetMathCode{`9}{\mathalpha}{OPERATORS}{"0039}
  \SetMathCharDef{\decimalseparator}{\mathpunct}{OPERATORS}{"002E}
}
\makeatother

و هروقت خواستی با فرمان
\setLTRmain
از آن استفاده کنی. مسلما اگر خواستی به اعداد فارسی برگردی باید دوباره قلم اعداد رو به فارسی تعریف کنی.

vafa

متأسفانه روشی که مدی پیشنهاد کرد را‌ه‌حل خوبی نیست و بعد از دو سه بار عوض کردن محیط فارسی و لاتین و با استفاده از دستوری که مهدی تعریف کرده است با خطا مواجه خواهید شد. این کار بسیار سختی است از این جهت که لاتک بصورت استاندارد به شما اجازه نمی‌دهد که قلم ریاضی را بعد از \begin{document} عوض کنید. این مشکل (یعنی فارسی شدن و یا لاتین شدن اعداد در فرمولها با استفاده از دستورات بدوی \everymath و \everydisplay انجام شده است و در نسخه آزمایشی زی‌پرشین موجود می‌باشد یعنی هر موقع در محیط فارسی هستیم از عدد فارسی در فرمول و هر موقع در محیط لاتین هستیم از عدد لاتین در فرمول استفاده می‌شود. و دستوراتی هم برای عوض کردن رقم بصورت دستی در فرمول وجود دارد که الان اسم دقیقش را به خاطر ندارم. برای اطلاعات بیشتر آخرین نسخه زی‌پرشین را از repository دریافت کنید و فایل xepersian-mathsdigitspec.sty را نگاه کنید.

خلاصه: برای حل مشکلتان از آخرین نسخه زی‌پرشین و bidi در repository باید استفاده کنید.

فرشاد عبدالله‌نیا

من فکر کنم از آخرین نسخه‌ای که روی CTAN هست (۵ سپتامبر) استفاده می‌کنم و این مشکل رو دارم. آیا منظورتون از repository جای دیگری است؟ تغییری در کد لازم نیست ایجاد کنم؟

vafa

نمی‌دونم. معمولاً نسخه آزمایشی رو از کجا دانلود می‌کنید.

محمود امین‌طوسی

#5
برای آگاهی از آدرس و چگونگی دانلود نسخه‌‌های آزمایشی، به آخرین روشی که در اینجا توضیح داده شده است مراجعه نمایید.

مدیریت: تصحیح لینک ویکی
حضرت علی (علیه السلام):دوستی و محبت را از دل بپرسید، چرا که دلها گواهانی رشوه ناپذیرند.
‎کمک مالی به پارسی‌لاتک‎