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

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

اعداد فارسی داخل فرمولهای ریاضی اسلایدهای یک presentation

نویسنده اوژن, ژانویه 21, 2011, 02:46:41 قبل از ظهر

« قبلی - بعدی »

اوژن

سلام،
ببخشید کسی اطلاع دارد که چطور میتوان در اسلایدها اعداد داخل فرمولها را به فارسی درآورد؟
من چند کار را امتحان کردم نشد:
1. به جای بسته ی bidi از بسته ی xepersian استفاده کردم.
2. در آرگمانهای تعریف فونتها به جای Script=Arabic,Mapping=‎parsidigits از Script=Parsi,Language=Parsi,Mapping=‎parsidigits استفاده کردم
3. دستورات زیر را هم از ``‎xepersian-mathsdigitspec‎"  اضافه کردم:
\re‎newcommand\setdigitfont[2][]{   %
  ‎\let\glb@currsize\relax‎
  ‎\setkeys*[xepersian-mathsdigitspec]{options}{#1}%‎
  ‎\edef\@tempa{\noexpand\zf@fontspec{%‎
    ‎\XKV@rm}{#2}}\@tempa‎
  ‎\xepersian@PackageInfo{Defining the default Persian maths digits font as '#2'}‎
  ‎\DeclareSymbolFont{OPERATORS}   {EU1}{\zf@family} {m}{n}‎
  ‎\def\persianmathsdigits{%‎
  ‎\SetMathCode{`0}{\mathord}{OPERATORS}{"06F0}‎
  ‎\SetMathCode{`1}{\mathord}{OPERATORS}{"06F1}‎
  ‎\SetMathCode{`2}{\mathord}{OPERATORS}{"06F2}‎
  ‎\SetMathCode{`3}{\mathord}{OPERATORS}{"06F3}‎
  ‎\SetMathCode{`4}{\mathord}{OPERATORS}{"06F4}‎
  ‎\SetMathCode{`5}{\mathord}{OPERATORS}{"06F5}‎
  ‎\SetMathCode{`6}{\mathord}{OPERATORS}{"06F6}‎
  ‎\SetMathCode{`7}{\mathord}{OPERATORS}{"06F7}‎
  ‎\SetMathCode{`8}{\mathord}{OPERATORS}{"06F8}‎
  ‎\SetMathCode{`9}{\mathord}{OPERATORS}{"06F9}‎
  ‎\SetMathCode{`\%}{\mathbin}{OPERATORS}{`٪}‎
  ‎\SetMathCharDef{\decimalseparator}{\mathpunct}{OPERATORS}{"066B}}‎
}‎‎
\def\DefaultMathsDigits{\def\SetMathsDigits{}}‎
‎\def\PersianMathsDigits{\def\SetMathsDigits{\ifx\persianmathsdigits\undefied\else\persianmathsdigits\fi}}‎
‎\def\AutoMathsDigits{\def\SetMathsDigits{\ifx\persianmathsdigits\undefied\else\if@Latin\else\persianmathsdigits\fi\fi}}‎
‎\AutoMathsDigits‎
‎\everymath{\SetMathsDigits}‎
‎\g@addto@macro\document{\everydisplay{\predisplaydirection=0 \SetMathsDigits}‎
‎\@ifpackageloaded{amsmath}{\everydisplay\@xp{\the\everydisplay \@displaytrue}}{}}‎‎

با تشکر، اوژن

vafa

نقل قول از: اوژن در ژانویه 21, 2011, 02:46:41 قبل از ظهر
سلام،
ببخشید کسی اطلاع دارد که چطور میتوان در اسلایدها اعداد داخل فرمولها را به فارسی درآورد؟
من چند کار را امتحان کردم نشد:
1. به جای بسته ی bidi از بسته ی xepersian استفاده کردم.
2. در آرگمانهای تعریف فونتها به جای Script=Arabic,Mapping=‎parsidigits از Script=Parsi,Language=Parsi,Mapping=‎parsidigits استفاده کردم
3. دستورات زیر را هم از ``‎xepersian-mathsdigitspec‎"  اضافه کردم:
\re‎newcommand\setdigitfont[2][]{   %
  ‎\let\glb@currsize\relax‎
  ‎\setkeys*[xepersian-mathsdigitspec]{options}{#1}%‎
  ‎\edef\@tempa{\noexpand\zf@fontspec{%‎
    ‎\XKV@rm}{#2}}\@tempa‎
  ‎\xepersian@PackageInfo{Defining the default Persian maths digits font as '#2'}‎
  ‎\DeclareSymbolFont{OPERATORS}   {EU1}{\zf@family} {m}{n}‎
  ‎\def\persianmathsdigits{%‎
  ‎\SetMathCode{`0}{\mathord}{OPERATORS}{"06F0}‎
  ‎\SetMathCode{`1}{\mathord}{OPERATORS}{"06F1}‎
  ‎\SetMathCode{`2}{\mathord}{OPERATORS}{"06F2}‎
  ‎\SetMathCode{`3}{\mathord}{OPERATORS}{"06F3}‎
  ‎\SetMathCode{`4}{\mathord}{OPERATORS}{"06F4}‎
  ‎\SetMathCode{`5}{\mathord}{OPERATORS}{"06F5}‎
  ‎\SetMathCode{`6}{\mathord}{OPERATORS}{"06F6}‎
  ‎\SetMathCode{`7}{\mathord}{OPERATORS}{"06F7}‎
  ‎\SetMathCode{`8}{\mathord}{OPERATORS}{"06F8}‎
  ‎\SetMathCode{`9}{\mathord}{OPERATORS}{"06F9}‎
  ‎\SetMathCode{`\%}{\mathbin}{OPERATORS}{`٪}‎
  ‎\SetMathCharDef{\decimalseparator}{\mathpunct}{OPERATORS}{"066B}}‎
}‎‎
\def\DefaultMathsDigits{\def\SetMathsDigits{}}‎
‎\def\PersianMathsDigits{\def\SetMathsDigits{\ifx\persianmathsdigits\undefied\else\persianmathsdigits\fi}}‎
‎\def\AutoMathsDigits{\def\SetMathsDigits{\ifx\persianmathsdigits\undefied\else\if@Latin\else\persianmathsdigits\fi\fi}}‎
‎\AutoMathsDigits‎
‎\everymath{\SetMathsDigits}‎
‎\g@addto@macro\document{\everydisplay{\predisplaydirection=0 \SetMathsDigits}‎
‎\@ifpackageloaded{amsmath}{\everydisplay\@xp{\the\everydisplay \@displaytrue}}{}}‎‎

با تشکر، اوژن
اصلاً تیازی به این کارها نیست، شما اگر از سبک xepersian استفاده کنید و قلمی را برای اعداد با استفاده از دستور \setdigitfont مشخص کنید، در محیط فارسی، اعداد فارسی و در محیط لاتین، اعداد لاتین خواهند بود.

اوژن

سلام،
خیلی ممنون، من در فایل cls ای که استفاده میکردم فونتهای مورد نیازم را با دستورهای
\setmainfont[Scale=1,Script=Parsi,Language=Parsi,Mapping=‎parsidigits‎]{ ... }
\newfontfamily\...[Scale=‎0.‎7‎‎,Script=‎Parsi‎‎,Language=‎Parsi,‎Mapping=‎farsidigits‎]{ ... }
معرفی میکردم و برای فونت پارسی دیجیت هم از دستور دوم در الا استفاده میکردم:
\newfontfamily‎\parsidigits[Scale=1]{Parsi Digits}‎‎‎‎
و نتیجه نمیگرفتم، ولی این بار از دستور زیر استفاده کردم و شکر خدا همه چیز درست شد:
\setdigitfont[Scale=1]{Parsi Digits}
خیلی ممنونم!

vafa

چرا لقمه رو دور سرت می‌چرخونی؟
نقل قول از: اوژن در ژانویه 22, 2011, 08:51:55 قبل از ظهر
سلام،
خیلی ممنون، من در فایل cls ای که استفاده میکردم فونتهای مورد نیازم را با دستورهای
\setmainfont[Scale=1,Script=Parsi,Language=Parsi,Mapping=‎parsidigits‎]{ ... }


\settextfont{...}

نقل قول
\newfontfamily\...[Scale=‎0.‎7‎‎,Script=‎Parsi‎‎,Language=‎Parsi,‎Mapping=‎farsidigits‎]{ ... }[/left]
معرفی میکردم و برای فونت پارسی دیجیت هم از دستور دوم در الا استفاده میکردم:
\newfontfamily‎\parsidigits[Scale=1]{Parsi Digits}‎‎‎‎
و نتیجه نمیگرفتم،


\defpersianfont\myfontname{...}


vafa

بعد هم راهنمای زی‌پرشین دکوری نیست، آن را ساخته‌اند برای چنین اوقاتی ;D