%% %% This is file `xepersian.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% xepersian.dtx (with options: `xepersian.sty') %% %% ______________________________________ %% Copyright © 2008–2012 Vafa Khalighi %% %% License information appended. %% %% \NeedsTeXFormat{LaTeX2e} \def\xepersianversion{v1.3.2} \def\xepersiandate{2012/01/01} \ProvidesPackage{xepersian}[\xepersiandate\space \xepersianversion\space Persian typesetting in XeLaTeX] \RequirePackage{fontspec} \RequirePackage{xepersian-persiancal} \RequirePackage{xepersian-mathsdigitspec} \RequirePackage[RTLdocument]{bidi} \edef\xepersianinfo{% xepersian package (Persian for LaTeX over XeTeX)^^J Description: The package supports Persian^^J typesetting, using fonts provided in the distribution.^^J Copyright © 2008–2012 Vafa Khalighi^^J \xepersianversion, \xepersiandate^^J License: LaTeX Project Public License, version 1.3c or higher (your choice)^^J Location on CTAN: /macros/xetex/latex/xepersian} \typeout{\xepersianinfo} \edef\xepersian@everyjob{\the\everyjob} \everyjob{\xepersian@everyjob\typeout{\xepersianinfo}} \def\prq{«} \def\plq{»} \def\xepersian@cmds@temp#1{% \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname xepersian@#1\endcsname\relax \begingroup \escapechar=-1 % \edef\x{\expandafter\meaning\csname#1\endcsname}% \def\y{#1}% \def\z##1->{}% \edef\y{\expandafter\z\meaning\y}% \expandafter\endgroup \ifx\x\y \expandafter\def\csname xepersian@#1\expandafter\endcsname \expandafter{% \csname#1\endcsname }% \fi \fi }% \xepersian@cmds@temp{shellescape} \newif\ifwritexviii \ifnum\xepersian@shellescape=1\relax \writexviiitrue \else \writexviiifalse \fi \newfontscript{Parsi}{arab} \newfontlanguage{Parsi}{FAR} \ExplSyntaxOn \DeclareDocumentCommand \settextfont { O{} m } { \fontspec_select:nn{Script=Parsi,Language=Parsi,Mapping=parsidigits,#1}{#2} \use:x { \exp_not:N \DeclareRobustCommand \exp_not:N \persianfont { \exp_not:N \fontencoding {\g_fontspec_encoding_tl} \exp_not:N \fontfamily {\l_fontspec_family_tl} \exp_not:N \selectfont } } \cs_set_eq:NN \rmdefault \l_fontspec_family_tl \normalfont } \settextfont[ExternalLocation,BoldFont={persian-modern-bold},BoldItalicFont={persian-modern-bolditalic},ItalicFont={persian-modern-italic},SlantedFont={persian-modern-oblique},BoldSlantedFont={persian-modern-boldoblique}]{persian-modern-regular} \setdigitfont[ExternalLocation,BoldFont={persian-modern-bold},BoldItalicFont={persian-modern-bolditalic},ItalicFont={persian-modern-italic},SlantedFont={persian-modern-oblique},BoldSlantedFont={persian-modern-boldoblique}]{persian-modern-regular} \DeclareDocumentCommand \setlatintextfont { O{} m } { \fontspec_select:nn{Mapping=tex-text,#1}{#2} \use:x { \exp_not:N \DeclareRobustCommand \exp_not:N \latinfont { \exp_not:N \fontencoding {\g_fontspec_encoding_tl} \exp_not:N \fontfamily {\l_fontspec_family_tl} \exp_not:N \selectfont } } } \setlatintextfont[ExternalLocation,BoldFont={lmroman10-bold},BoldItalicFont={lmroman10-bolditalic},ItalicFont={lmroman10-italic},SmallCapsFont={lmromancaps10-regular},SlantedFont={lmromanslant10-regular},BoldSlantedFont={lmromanslant10-bold}]{lmroman10-regular} \cs_set_eq:NN \setlatinsansfont \setsansfont \cs_set_eq:NN \setlatinmonofont \setmonofont \DeclareDocumentCommand \defpersianfont { m O{} m } { \fontspec_select:nn{Script=Parsi,Language=Parsi,Mapping=parsidigits,#2}{#3} \use:x { \exp_not:N \DeclareRobustCommand \exp_not:N #1 { \exp_not:N \fontencoding {\g_fontspec_encoding_tl} \exp_not:N \fontfamily {\l_fontspec_family_tl} \exp_not:N \selectfont } } } \DeclareDocumentCommand \deflatinfont { m O{} m } { \fontspec_select:nn{Mapping=tex-text,#2}{#3} \use:x { \exp_not:N \DeclareRobustCommand \exp_not:N #1 { \exp_not:N \fontencoding {\g_fontspec_encoding_tl} \exp_not:N \fontfamily {\l_fontspec_family_tl} \exp_not:N \selectfont } } } \newcommand\persiansfdefault{} \newcommand\persianttdefault{} \newcommand\iranicdefault{} \newcommand\navardefault{} \newcommand\pookdefault{} \newcommand\sayehdefault{} \DeclareRobustCommand\persiansffamily {\not@math@alphabet\persiansffamily\mathpersiansf \fontfamily\persiansfdefault\selectfont} \DeclareRobustCommand\persianttfamily {\not@math@alphabet\persianttfamily\mathpersiantt \fontfamily\persianttdefault\selectfont} \DeclareRobustCommand\iranicfamily {\not@math@alphabet\iranicfamily\mathiranic \fontfamily\iranicdefault\selectfont} \DeclareRobustCommand\navarfamily {\not@math@alphabet\navarfamily\mathnavar \fontfamily\navardefault\selectfont} \DeclareRobustCommand\pookfamily {\not@math@alphabet\pookfamily\mathpook \fontfamily\pookdefault\selectfont} \DeclareRobustCommand\sayehfamily {\not@math@alphabet\sayehfamily\mathsayeh \fontfamily\sayehdefault\selectfont} \DeclareTextFontCommand{\textpersiansf}{\persiansffamily} \DeclareTextFontCommand{\textpersiantt}{\persianttfamily} \DeclareTextFontCommand{\textiranic}{\iranicfamily} \DeclareTextFontCommand{\textnavar}{\navarfamily} \DeclareTextFontCommand{\textpook}{\pookfamily} \DeclareTextFontCommand{\textsayeh}{\sayehfamily} \DeclareDocumentCommand \setpersiansansfont { O{} m } { \fontspec_set_family:Nnn \persiansfdefault {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1}{#2} \normalfont } \DeclareDocumentCommand \setpersianmonofont { O{} m } { \fontspec_set_family:Nnn \persianttdefault {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1}{#2} \normalfont } \DeclareDocumentCommand \setnavarfont { O{} m } { \fontspec_set_family:Nnn \navardefault {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1}{#2} \normalfont } \DeclareDocumentCommand \setpookfont { O{} m } { \fontspec_set_family:Nnn \pookdefault {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1}{#2} \normalfont } \setpookfont[ExternalLocation,ItalicFont={persian-modern-italicoutline},SlantedFont={persian-modern-obliqueoutline}]{persian-modern-outline} \DeclareDocumentCommand \setsayehfont { O{} m } { \fontspec_set_family:Nnn \sayehdefault {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1}{#2} \normalfont } \setsayehfont[ExternalLocation,ItalicFont={persian-modern-italicshadow},SlantedFont={persian-modern-obliqueshadow}]{persian-modern-shadow} \DeclareDocumentCommand \setiranicfont { O{} m } { \fontspec_set_family:Nnn \iranicdefault {Script=Parsi,Language=Parsi,Mapping=parsidigits,#1}{#2} \normalfont } \ExplSyntaxOff \setiranicfont[ExternalLocation,BoldFont={persian-modern-boldoblique}]{persian-modern-oblique} \def\resetlatinfont{% \let\normalfont\latinfont% \latinfont} \def\setpersianfont{% \let\normalfont\persianfont% \persianfont} \def\lr#1{\LRE{\latinfont#1}} \def\rl#1{\RLE{\persianfont#1}} \def\latin{\LTR\LatinAlphs\@Latintrue\@RTL@footnotefalse\resetlatinfont} \def\endlatin{\endLTR} \def\persian{\RTL\PersianAlphs\@RTL@footnotetrue\setpersianfont} \def\endpersian{\endRTL} \let\originaltoday=\today \def\today{\lr{\originaltoday}} \let\latintoday\today \def\today{\rl{\persiantoday}} \def \@LTRmarginparreset {% \reset@font \latinfont \normalsize \@minipagetrue \everypar{\@minipagefalse\everypar{}\beginL}% } \DeclareRobustCommand\Latincite{% \@ifnextchar [{\@tempswatrue\@Latincitex}{\@tempswafalse\@Latincitex[]}} \def\@Latincitex[#1]#2{\leavevmode \let\@citea\@empty \@cite{\lr{\@for\@citeb:=#2\do {\@citea\def\@citea{,\penalty\@m\ }% \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}% \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi \@ifundefined{b@\@citeb}{\hbox{\reset@font\bfseries ?}% \G@refundefinedtrue \@latex@warning {Citation `\@citeb' on page \thepage \space undefined}}% {\@cite@ofmt{\csname b@\@citeb\endcsname}}}}}{#1}} \def\@outputpage{% \begingroup % the \endgroup is put in by \aftergroup \let \protect \noexpand \@resetactivechars \global\let\@@if@newlist\if@newlist \global\@newlistfalse \@parboxrestore \shipout \vbox{% \set@typeset@protect \aftergroup \endgroup \aftergroup \set@typeset@protect % correct? or just restore by ending % the group? \if@specialpage \global\@specialpagefalse\@nameuse{ps@\@specialstyle}% \fi \if@twoside \ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot \let\@themargin\oddsidemargin \else \let\@thehead\@evenhead \let\@thefoot\@evenfoot \let\@themargin\evensidemargin \fi \ifx\@thehead\@empty \let\@thehead\hfil \fi \ifx\@thefoot\@empty \let\@thefoot\hfil \fi \else %% not @twoside \ifx\@oddhead\@empty \let\@thehead\hfil \fi \ifx\@oddfoot\@empty \let\@thefoot\hfil \fi \fi \reset@font \normalsize \if@RTLmain\setpersianfont\else\resetlatinfont\fi \normalsfcodes \let\label\@gobble \let\index\@gobble \let\glossary\@gobble \baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@ \@begindvi \vskip \topmargin \moveright\@themargin \vbox {% \setbox\@tempboxa \vbox to\headheight{% \vfil \color@hbox \normalcolor \hb@xt@\textwidth{\if@RTLmain\beginR\fi\@thehead\if@RTLmain\endR\fi}% \color@endbox }% %% 22 Feb 87 \dp\@tempboxa \z@ \box\@tempboxa \vskip \headsep \box\@outputbox \baselineskip \footskip \color@hbox \normalcolor \hb@xt@\textwidth{\if@RTLmain\beginR\fi\@thefoot\if@RTLmain\endR\fi}% \color@endbox }% }% \global\let\if@newlist\@@if@newlist \global \@colht \textheight \stepcounter{page}% \let\firstmark\botmark } \newcommand\twocolumnstableofcontents{% \@ifpackageloaded{multicol}{% \begin{multicols}{2}[\section*{\contentsname}]% \small \@starttoc{toc}% \end{multicols}} {\PackageError{xepersian}{Oops! you should load multicol package before xepersian package for being able to use this command}{}}} \def\XePersian{\leavevmode$\smash{\hbox{X\lower.5ex \hbox{\kern-.125em\reflect{E}}Persian}}$} \def\figurename{\if@RTL شکل\else Figure\fi} \def\tablename{\if@RTL جدول\else Table\fi} \def\contentsname{\if@RTL فهرست مطالب\else Contents\fi} \def\listfigurename{\if@RTL لیست تصاویر\else List of Figures\fi} \def\listtablename{\if@RTL لیست جداول\else List of Tables\fi} \def\appendixname{\if@RTL پیوست\else Appendix\fi} \def\indexname{\if@RTL نمایه\else Index\fi} \def\refname{\if@RTL مراجع\else References\fi} \def\abstractname{\if@RTL چکیده\else Abstract\fi} \def\partname{\if@RTL بخش\else Part\fi} \def\datename{\if@RTL تاریخ:\else Date:\fi} \def\@@and{\if@RTL و\else and\fi} \def\bibname{\if@RTL کتاب‌نامه\else Bibliography\fi} \def\chaptername{\if@RTL فصل\else Chapter\fi} \def\ccname{\if@RTL رونوشت\else cc\fi} \def\enclname{\if@RTL پیوست\else encl\fi} \def\pagename{\if@RTL صفحه\else Page\fi} \def\headtoname{\if@RTL به\else To\fi} \def\proofname{\if@RTL اثبات\else Proof\fi} \def\@harfi#1{\ifcase#1\or آ‍\or ب\or پ\or ت\or ث\or ج\or چ\or ح\or خ\or د\or ذ\or ر\or ز\or ژ\or س\or ش\or ص\or ض\or ط\or ظ\or ع\or غ\or ف\or ق\or ک\or گ\or ل\or م\or ن\or و\or ه\or ی\else\@ctrerr\fi} \def\harfi#1{\expandafter\@harfi\csname c@#1\endcsname} \let\harfinumeral\@harfi \newcommand{\adadi}[1]{% \expandafter\@adadi\csname c@#1\endcsname% } \newcommand{\@adadi}[1]{% \xepersian@numberstring{#1}\xepersian@yekanii{صفر}{}% } \let\adadinumeral\@adadi% \def\xepersian@numberoutofrange#1#2{% \PackageError{xepersian}{The number `#1' is too large % to be formatted using xepersian}{The largest possible % number is 999,999,999.}% } \def\xepersian@numberstring#1#2#3#4{% \ifnum\number#1<\@ne% #3% \else\ifnum\number#1<1000000000 % \expandafter\xepersian@adadi\expandafter{\number#1}#2% \else% \xepersian@numberoutofrange{#1}{#4}% \fi\fi% } \def\xepersian@adadi#1#2{% \expandafter\xepersian@@adadi% \ifcase% \ifnum#1<10 1% \else\ifnum#1<100 2% \else\ifnum#1<\@m 3% \else\ifnum#1<\@M 4% \else\ifnum#1<100000 5% \else\ifnum#1<1000000 6% \else\ifnum#1<10000000 7% \else\ifnum#1<100000000 8% \else9% \fi\fi\fi\fi\fi\fi\fi\fi % \or00000000#1% case 1: Add 8 leading zeros \or0000000#1% case 2: Add 7 leading zeros \or000000#1% case 3: Add 6 leading zeros \or00000#1% case 4: Add 5 leading zeros \or0000#1% case 5: Add 4 leading zeros \or000#1% case 6: Add 3 leading zeros \or00#1% case 7: Add 2 leading zeros \or0#1% case 8: Add 1 leading zero \or#1% case 9: Add no leading zeros \or% \@nil#2% \fi% } \def\xepersian@@adadi#1#2#3#4#5#6#7\or#8\@nil#9{% \ifnum#1#2#3>\z@ \xepersian@milyoongan#1#2#3% \ifnum#7>\z@\ifnum#4#5#6>\z@\ و \else\ و \fi\else\ifnum#4#5#6>\z@\ و \fi\fi% \fi% \ifnum#4#5#6>\z@% \xepersian@sadgan#4#5#6{#1#2#3}{#4#5}\xepersian@yekani% \ifnum#4#5#6>\@ne‌\fi% هزار% \ifnum#7>\z@\ و \fi% \fi% \xepersian@sadgan#7{#4#5#6}1#9% } \def\xepersian@milyoongan#1#2#3{% \ifnum#1#2#3=\@ne% \xepersian@sadgan#1#2#301\xepersian@yekaniii% ‌% میلیون% \else% \xepersian@sadgan#1#2#301\xepersian@yekanii% ‌% میلیون% \fi% } \def\xepersian@sadgan#1#2#3#4#5#6{% \ifnum#1>\z@% \ifnum#4#1>\@ne\xepersian@yekaniv#1\fi% صد% \ifnum#2#3>\z@\ و \fi% \fi% \ifnum#2#3<20% \ifnum#5#2#3>\@ne#6{#2#3}\fi% \else% \xepersian@dahgan#2% \ifnum#3>\z@\ و \xepersian@yekani#3\fi% #60% \fi% } \def\xepersian@yekani#1{% \ifcase#1\@empty\or یک\or دو\or سه\or چهار\or پنج\or شش% \or هفت\or هشت\or نه\or ده\or یازده\or دوازده\or سیزده% \or چهارده\or پانزده\or شانزده\or هفده% \or هجده\or نوزده\fi% } \def\xepersian@yekanii#1{% \ifcase#1\@empty\or یک\else\xepersian@yekani{#1}\fi% } \def\xepersian@yekaniii#1{% \ifcase#1\@empty\or یک\else\xepersian@yekani{#1}\fi% } \def\xepersian@yekaniv#1{% \ifcase#1\@empty\or\or دوی\or سی\or چهار\or پان\or شش% \or هفت\or هشت\or نه\fi% } \def\xepersian@dahgan#1{% \ifcase#1\or\or بیست\or سی\or چهل% \or پنجاه\or شصت\or هفتاد\or هشتاد% \or نود\fi% } \newcommand{\tartibi}[1]{% \expandafter\@tartibi\csname c@#1\endcsname% } \newcommand{\@tartibi}[1]{% \xepersian@numberstring@tartibi{#1}\xepersian@tartibi{صفرم}{م}% } \let\tartibinumeral\@tartibi% \def\xepersian@numberstring@tartibi#1#2#3#4{% \ifnum\number#1<\@ne% #3% \else\ifnum\number#1<1000000000 % \expandafter\xepersian@adadi@tartibi\expandafter{\number#1}#2% \else% \xepersian@numberoutofrange{#1}{#4}% \fi\fi% } \def\xepersian@adadi@tartibi#1#2{% \expandafter\xepersian@@adadi@tartibi% \ifcase% \ifnum#1<10 1% \else\ifnum#1<100 2% \else\ifnum#1<\@m 3% \else\ifnum#1<\@M 4% \else\ifnum#1<100000 5% \else\ifnum#1<1000000 6% \else\ifnum#1<10000000 7% \else\ifnum#1<100000000 8% \else9% \fi\fi\fi\fi\fi\fi\fi\fi % \or00000000#1% case 1: Add 8 leading zeros \or0000000#1% case 2: Add 7 leading zeros \or000000#1% case 3: Add 6 leading zeros \or00000#1% case 4: Add 5 leading zeros \or0000#1% case 5: Add 4 leading zeros \or000#1% case 6: Add 3 leading zeros \or00#1% case 7: Add 2 leading zeros \or0#1% case 8: Add 1 leading zero \or#1% case 9: Add no leading zeros \or% \@nil#2% \fi% } \def\xepersian@@adadi@tartibi#1#2#3#4#5#6#7\or#8\@nil#9{% \ifnum#1#2#3>\z@ \xepersian@milyoongan@tartibi#1#2#3% \ifnum#7>\z@\ifnum#4#5#6>\z@\ و \else\ و \fi\else\ifnum#4#5#6>\z@\ و \fi\fi% \fi% \ifnum#4#5#6>\z@% \xepersian@sadgan#4#5#6{#1#2#3}{#4#5}\xepersian@yekani% \ifnum#4#5#6>\@ne ‌\fi% هزار% \ifnum#7>\z@\ و \fi% \fi% \xepersian@sadgan@tartibi#7{#4#5#6}1#9% } \def\xepersian@milyoongan@tartibi#1#2#3{% \ifnum#1#2#3=\@ne% \xepersian@sadgan@tartibi#1#2#301\xepersian@yekaniii% ‌% میلیون% \else% \xepersian@sadgan#1#2#301\xepersian@yekanii% ‌% میلیون% \fi% } \def\xepersian@sadgan@tartibi#1#2#3#4#5#6{% \ifnum#1>\z@% \ifnum#4#1>\@ne\xepersian@yekaniv#1\fi% صد% \ifnum#2#3>\z@\ و \fi% \fi% \ifnum#2#3<20% \ifnum#5#2#3>\@ne\ifnum#1#2#3#4#5=10001 اول\else#6{#2#3}\fi\fi% \else% \xepersian@dahgan#2% \ifnum#3>\z@\ و \xepersian@yekanv#3\fi% #60% \fi% } \def\xepersian@tartibi#1{% \ifcase#1م\or یکم\or دوم\or سوم\or چهارم% \or پنجم\or ششم\or هفتم\or هشتم\or نهم% \or دهم\or یازدهم\or دوازدهم\or سیزدهم% \or چهاردهم\or پانزدهم\or شانزدهم% \or هفدهم\or هجدهم\or نوزدهم\fi% } \def\xepersian@yekanv#1{% \ifcase#1\@empty\or یک\or دو\or سو\or چهار\or پنج\or شش% \or هفت\or هشت\or نه\or ده\or یازده\or دوازده\or سیزده% \or چهارده\or پانزده\or شانزده\or هفده% \or هجده\or نوزده\fi% } \providecommand*{\xpg@warning}[1]{% \PackageWarning{XePersian}% {#1}} \if@bidi@csundef{abjadnumeral}{% \def\abjadnumeral#1{% \ifnum#1>1999 \xpg@warning{Illegal value (#1) for abjad numeral} {#1} \else \ifnum#1<\z@\space\xpg@warning{Illegal value (#1) for abjad numeral}% \else \ifnum#1<10\expandafter\abj@num@i\number#1% \else \ifnum#1<100\expandafter\abj@num@ii\number#1% \else \ifnum#1<\@m\expandafter\abj@num@iii\number#1% \else \ifnum#1<\@M\expandafter\abj@num@iv\number#1%since #1<2000, we must have 1000 \fi \fi \fi \fi \fi \fi } \def\abjad@zero{} \def\abj@num@i#1{% \ifcase#1\or آ\or ب\or ج\or د% \or ه‍\or و\or ز\or ح\or ط\fi \ifnum#1=\z@\abjad@zero\fi} \def\abj@num@ii#1{% \ifcase#1\or ی\or ک\or ل\or م\or ن% \or س\or ع\or ف\or ص\fi \ifnum#1=\z@\fi\abj@num@i} \def\abj@num@iii#1{% \ifcase#1\or ق\or ر\or ش\or ت\or ث% \or خ\or ذ\or ض\or ظ\fi \ifnum#1=\z@\fi\abj@num@ii} \def\abj@num@iv#1{% \ifcase#1\or غ\fi \ifnum#1=\z@\fi\abj@num@iii} }{} \let\@latinalph\@alph% \let\@latinAlph\@Alph% \def\PersianAlphs{% \let\@alph\abjadnumeral% \let\@Alph\abjadnumeral% } \def\LatinAlphs{% \let\@alph\@latinalph% \let\@Alph\@latinAlph% } \PersianAlphs \@ifdefinitionfileloaded{loadingorder-bidi}{\input{loadingorder-bidi-xepersian.def}}{} \@ifpackageloaded{listings}{\input{listings-xepersian.def}}{} \@ifpackageloaded{algorithmic}{\input{algorithmic-xepersian.def}}{} \@ifpackageloaded{algorithm}{\input{algorithm-xepersian.def}}{} \@ifpackageloaded{backref}{\input{backref-xepersian.def}}{} \@ifpackageloaded{flowfram}{\input{flowfram-xepersian.def}}{} \@ifpackageloaded{bidi}{\input{footnote-bidi-xepersian.def}}{} \@ifpackageloaded{bidituftesidenote}{\input{bidituftesidenote-xepersian.def}}{} \@ifpackageloaded{bidicode}{\input{bidicode-xepersian.def}}{} \@ifpackageloaded{breqn}{\input{breqn-xepersian.def}}{} \@ifpackageloaded{enumerate}{\input{enumerate-xepersian.def}}{} \@ifpackageloaded{empheq}{\input{empheq-xepersian.def}}{} \@ifpackageloaded{hyperref}{\input{hyperref-xepersian.def}}{} \@ifpackageloaded{minitoc}{\input{minitoc-xepersian.def}}{} \@ifpackageloaded{multicol}{\input{multicol-xepersian.def}}{} \@ifpackageloaded{natbib}{\input{natbib-xepersian.def}}{} \@ifpackageloaded{tocloft}{\@ifclassloaded{memoir}{}{\input{tocloft-xepersian.def}}}{} \@ifclassloaded{article}{\input{article-xepersian.def}}{} \@ifclassloaded{extarticle}{\input{extarticle-xepersian.def}}{} \@ifclassloaded{artikel1}{\input{artikel1-xepersian.def}}{} \@ifclassloaded{artikel2}{\input{artikel2-xepersian.def}}{} \@ifclassloaded{artikel3}{\input{artikel3-xepersian.def}}{} \@ifclassloaded{amsart}{\input{amsart-xepersian.def}}{} \@ifclassloaded{bidimoderncv}{\input{bidimoderncv-xepersian.def}}{} \@ifclassloaded{report}{\input{report-xepersian.def}}{} \@ifclassloaded{extreport}{\input{extreport-xepersian.def}}{} \@ifclassloaded{rapport1}{\input{rapport1-xepersian.def}}{} \@ifclassloaded{rapport3}{\input{rapport3-xepersian.def}}{} \@ifclassloaded{scrartcl}{\input{scrartcl-xepersian.def}}{} \@ifclassloaded{scrbook}{\input{scrbook-xepersian.def}}{} \@ifclassloaded{scrreprt}{\input{scrreprt-xepersian.def}}{} \@ifclassloaded{amsbook}{\input{amsbook-xepersian.def}}{} \@ifclassloaded{boek3}{\input{boek3-xepersian.def}}{} \@ifclassloaded{boek}{\input{boek-xepersian.def}}{} \@ifclassloaded{bookest}{\input{bookest-xepersian.def}}{} \@ifclassloaded{extbook}{\input{extbook-xepersian.def}}{} \@ifclassloaded{book}{\input{book-xepersian.def}}{} \@ifclassloaded{refrep}{\input{refrep-xepersian.def}}{} \@ifclassloaded{memoir}{\input{memoir-xepersian.def}}{} \DeclareOption{Kashida}{\input{kashida-xepersian.def}} \DeclareOption{localise}{\input{localise-xepersian.def}} \DeclareOption{extrafootnotefeatures}{% \input{extrafootnotefeatures.def}% \input{extrafootnotefeatures-xepersian.def}% } \DeclareOption{quickindex}{% \ifwritexviii% \@ifclassloaded{memoir}{\PackageError{xepersian}{This feature does not yet work with the memoir class}{}}{% \renewcommand\printindex{\newpage% \immediate\closeout\@indexfile \immediate\write18{xindy -L persian -C utf8 -M texindy \jobname.idx} \@input@{\jobname.ind}}}% \else \PackageError{xepersian}{“shell escape” (or “write18”) is not enabled. You need to run “xelatex --shell-escape” on your TeX document for this feature to work}{} \fi} \ExecuteOptions{localise} \ProcessOptions %% %% Copyright © 2008–2012 Vafa Khalighi %% %% It may be distributed and/or modified under the LaTeX Project Public License, %% version 1.3c or higher (your choice). The latest version of %% this license is at: http://www.latex-project.org/lppl.txt %% %% This work is “author-maintained” (as per LPPL maintenance status) %% by Vafa Khalighi. %% %% %% %% %% End of file `xepersian.sty'.