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

زی‌پرشین XePersian => زی‌تک => نويسنده: اوژن در ژانویه 21, 2011, 02:46:41 am

عنوان: اعداد فارسی داخل فرمولهای ریاضی اسلایدهای یک presentation
رسال شده توسط: اوژن در ژانویه 21, 2011, 02:46:41 am
سلام،
ببخشید کسی اطلاع دارد که چطور میتوان در اسلایدها اعداد داخل فرمولها را به فارسی درآورد؟
من چند کار را امتحان کردم نشد:
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}}{}}‎‎

با تشکر، اوژن
عنوان: پاسخ : اعداد فارسی داخل فرمولهای ریاضی اسلایدهای یک presentation
رسال شده توسط: vafa در ژانویه 21, 2011, 07:27:14 am
سلام،
ببخشید کسی اطلاع دارد که چطور میتوان در اسلایدها اعداد داخل فرمولها را به فارسی درآورد؟
من چند کار را امتحان کردم نشد:
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 مشخص کنید، در محیط فارسی، اعداد فارسی و در محیط لاتین، اعداد لاتین خواهند بود.
عنوان: پاسخ : اعداد فارسی داخل فرمولهای ریاضی اسلایدهای یک presentation
رسال شده توسط: اوژن در ژانویه 22, 2011, 08:51:55 am
سلام،
خیلی ممنون، من در فایل 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}
خیلی ممنونم!
عنوان: پاسخ : اعداد فارسی داخل فرمولهای ریاضی اسلایدهای یک presentation
رسال شده توسط: vafa در ژانویه 22, 2011, 09:22:42 am
چرا لقمه رو دور سرت می‌چرخونی؟
سلام،
خیلی ممنون، من در فایل 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{...}
عنوان: پاسخ : اعداد فارسی داخل فرمولهای ریاضی اسلایدهای یک presentation
رسال شده توسط: vafa در ژانویه 22, 2011, 09:32:44 am
بعد هم راهنمای زی‌پرشین دکوری نیست، آن را ساخته‌اند برای چنین اوقاتی ;D
عنوان: پاسخ : اعداد فارسی داخل فرمولهای ریاضی اسلایدهای یک presentation
رسال شده توسط: اوژن در ژانویه 22, 2011, 10:53:32 am
سلام،
بله ممنون.