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

لاتک LATEX => ریاضیات و علوم => نويسنده: فرشاد عبدالله‌نیا در اكتبر 29, 2009, 10:51:39 am

عنوان: رقم‌های فرمول در محیط latin
رسال شده توسط: فرشاد عبدالله‌نیا در اكتبر 29, 2009, 10:51:39 am
در محیط latin ارقام متن با کاراکترهای لاتین حروفچینی می‌شوند اما ارقام بین $$ با کاراکترهای فارسی. بهتر نیست که همگی لاتین حروفچینی شوند؟ در حالت کلی آیا راه دیگری برای نوشتن ارقام لاتین در فرمول وجود دارد (با فرض  \setdigitfont{a_persian_font})؟
عنوان: پاسخ : رقم‌های فرمول در محیط latin
رسال شده توسط: مهدی امیدعلی در اكتبر 29, 2009, 11:18:31 am
در محیط 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
از آن استفاده کنی. مسلما اگر خواستی به اعداد فارسی برگردی باید دوباره قلم اعداد رو به فارسی تعریف کنی.
عنوان: پاسخ : رقم‌های فرمول در محیط latin
رسال شده توسط: vafa در اكتبر 29, 2009, 12:29:47 pm
متأسفانه روشی که مدی پیشنهاد کرد را‌ه‌حل خوبی نیست و بعد از دو سه بار عوض کردن محیط فارسی و لاتین و با استفاده از دستوری که مهدی تعریف کرده است با خطا مواجه خواهید شد. این کار بسیار سختی است از این جهت که لاتک بصورت استاندارد به شما اجازه نمی‌دهد که قلم ریاضی را بعد از \begin{document} عوض کنید. این مشکل (یعنی فارسی شدن و یا لاتین شدن اعداد در فرمولها با استفاده از دستورات بدوی \everymath و \everydisplay انجام شده است و در نسخه آزمایشی زی‌پرشین موجود می‌باشد یعنی هر موقع در محیط فارسی هستیم از عدد فارسی در فرمول و هر موقع در محیط لاتین هستیم از عدد لاتین در فرمول استفاده می‌شود. و دستوراتی هم برای عوض کردن رقم بصورت دستی در فرمول وجود دارد که الان اسم دقیقش را به خاطر ندارم. برای اطلاعات بیشتر آخرین نسخه زی‌پرشین را از repository دریافت کنید و فایل xepersian-mathsdigitspec.sty را نگاه کنید.

خلاصه: برای حل مشکلتان از آخرین نسخه زی‌پرشین و bidi در repository باید استفاده کنید.
عنوان: پاسخ : رقم‌های فرمول در محیط latin
رسال شده توسط: فرشاد عبدالله‌نیا در اكتبر 29, 2009, 06:41:19 pm
من فکر کنم از آخرین نسخه‌ای که روی CTAN هست (۵ سپتامبر) استفاده می‌کنم و این مشکل رو دارم. آیا منظورتون از repository جای دیگری است؟ تغییری در کد لازم نیست ایجاد کنم؟
عنوان: پاسخ : رقم‌های فرمول در محیط latin
رسال شده توسط: vafa در اكتبر 29, 2009, 07:17:27 pm
نمی‌دونم. معمولاً نسخه آزمایشی رو از کجا دانلود می‌کنید.
عنوان: پاسخ : رقم‌های فرمول در محیط latin
رسال شده توسط: محمود امین‌طوسی در اكتبر 29, 2009, 08:37:47 pm
برای آگاهی از آدرس و چگونگی دانلود نسخه‌‌های آزمایشی، به آخرین روشی که در اینجا  (http://www.parsilatex.com/mediawiki/index.php?title=%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C_%D8%A8%D9%87%E2%80%8C%D8%B1%D9%88%D8%B2%D8%B1%D8%B3%D8%A7%D9%86%DB%8C_%D8%B2%DB%8C%E2%80%8C%D9%BE%D8%B1%D8%B4%DB%8C%D9%86%86)توضیح داده شده است مراجعه نمایید.

مدیریت: تصحیح لینک ویکی