diff options
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty')
-rw-r--r-- | Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty | 1887 |
1 files changed, 187 insertions, 1700 deletions
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty b/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty index c74d4a8723b..e20fb9e707d 100644 --- a/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty +++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty @@ -1,229 +1,70 @@ -%% This file is xepersian.sty %% -%% Copyright 2009 by Vafa Khalighi +%% This is file `xepersian.sty', +%% generated with the docstrip utility. %% -%%%% It may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either version 1.3c -%% of this license or (at your option) any later version. +%% The original source files were: +%% +%% xepersian.dtx (with options: `xepersian.sty') +%% +%% __________________________________ +%% Copyright © 2008-2009 Vafa Khalighi +%% +%% License information appended. +%% +%% \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{xepersian}[2009/02/20 v1 - Persian typesetting in XeLaTeX (Author: Vafa Khalighi)] -\AtBeginDocument{\special{pdf: docinfo << - /Creator (XePersian v1 (Author: Vafa Khalighi)) - >>}} -\RequirePackage{graphicx} -\RequirePackage{amssymb} -\RequirePackage{amsmath} -\RequirePackage{amsthm} +\def\xepersianversion{v1.0.1} +\def\xepersianrevision{revision 88} +\def\xepersiandate{2009/07/15} +\ProvidesPackage{xepersian}[\xepersiandate\space \xepersianversion\space <\xepersianrevision> +Persian typesetting in XeLaTeX] +\DeclareOption{Kashida}{\input{kashida-xepersian.def}} +\DeclareOption{localise}{\input{localise-xepersian.def}} +\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{bidi}} +\ProcessOptions\relax +\newcommand\xepersian@isloaded[2][]{ + \expandafter\ifx\csname if@xepersian@#2loaded@\endcsname\relax + \expandafter\newif\csname if@xepersian@#2loaded@\endcsname + \fi + \@ifpackageloaded{#2} + {\csname @xepersian@#2loaded@true\endcsname #1} + {\csname @xepersian@#2loaded@false\endcsname}} +\xepersian@isloaded{xunicode} +\AtBeginDocument{ + \if@xepersian@xunicodeloaded@ + \xepersian@isloaded[\PackageError{xepersian}{Oops! you have loaded package xunicode before xepersian package. Please load package xunicode after xepersian package, and then try to run xelatex on your document again}{}]{xunicode} + \fi% +} +\AtBeginDocument{\ifdefined\persianfont\relax\else% +\PackageError{xepersian}{Oops! you have not specified any font for the main text of the document. Please specify a font for the main text of the document by using \settextfont\space CS, and then try to run xelatex on your document again}% +\fi} +\AtBeginDocument{\ifdefined\latinfont\relax\else% +\PackageError{xepersian}{Oops! you have not specified any font for the Latin texts of the document. Please specify a font for the Latin texts of the document by using \setlatintextfont\space CS, and then try to run xelatex on your document again}% +\fi} +\AtBeginDocument{\ifdefined\decimalseparator\relax\else% +\PackageWarning{xepersian}{“You have not specified any font for the digits in maths mode and so the digits in maths mode will appear Latin. If you would like to have Persian digits in maths mode, then please specify a font for the digits in maths mode by using \setdigitfont\space CS, and then try to run xelatex on your document again”}% +\fi} +\RequirePackage[RTLdocument]{bidi} \RequirePackage{fontspec} -\RequirePackage{etoolbox} +\RequirePackage{xepersian-persiancal} \RequirePackage{xepersian-mathsdigitspec} -\RequirePackage{xunicode} +\RequirePackage{etoolbox} +\AtBeginDocument{\special{pdf: docinfo << +/Creator (X∃Persian \xepersianversion\space <\xepersianrevision> Copyright © 2008-2009 Vafa Khalighi) + >>}} \gdef\@latex@error#1#2{% \GenericError{% \space\space\space\@spaces\@spaces\@spaces }{% XePersian Error: #1% }{% - Please first produce a similar file without using XePersian package and then compile it with xelatex, if you got the same error, then please study the Persian translation of 'The not so Short Introduction to LaTeX' by MEHDI OMIDALI, otherwise please report the error with a minimal tex file which shows the error to the Author of XePersian.% + Oops! either you have done something wrong or it is a xepersian bug. Please first produce a similar file without using XePersian package and then compile it with xelatex, if you got the same error, then please study the Persian translation of “The not so Short Introduction to LaTeX” by MEHDI OMIDALI, otherwise please report the error with a minimal tex file which shows the error to the Author of XePersian.% }{#2}% } \gdef\@latexbug{% \@latex@error{This may be a XePersian bug}{Please inform the Author of XePersian}} -\TeXXeTstate=1 -\newif\if@RTL -\def\XePersian@RTL@everypar{\if@RTL{\setbox\z@\lastbox\beginR\usebox\z@}\fi} - \let\o@everypar=\everypar - \newtoks\n@everypar - \n@everypar\expandafter{\the\o@everypar} - \o@everypar{\XePersian@RTL@everypar\the\n@everypar} - \let\everypar=\n@everypar -\@RTLtrue -\def\list#1#2{% - \ifnum \@listdepth >5\relax - \@toodeep - \else - \global\advance\@listdepth\@ne - \fi - \rightmargin\z@ - \listparindent\z@ - \itemindent\z@ - \csname @list\romannumeral\the\@listdepth\endcsname - \def\@itemlabel{#1}% - \let\makelabel\@mklab - \@nmbrlistfalse - #2\relax - \@trivlist - \parskip\parsep - \parindent\listparindent - \advance\linewidth -\rightmargin - \advance\linewidth -\leftmargin - \if@RTL - \advance\@totalleftmargin \rightmargin - \else - \advance\@totalleftmargin \leftmargin - \fi - \parshape \@ne \@totalleftmargin \linewidth - \ignorespaces} -\def\raggedright{% - \let\\\@centercr - \leftskip\z@skip\rightskip\@flushglue - \parindent\z@\parfillskip\z@skip} -\let\@@raggedleft=\raggedleft -\let\@@raggedright=\raggedright -\renewcommand\raggedleft{\if@RTL\@@raggedright% - \else\@@raggedleft\fi} -\renewcommand\raggedright{\if@RTL\@@raggedleft% - \else\@@raggedright\fi} -\def\raggedright{% - \let\\\@centercr - \rightskip\z@skip\rightskip\@flushglue - \parindent\z@\parfillskip\z@skip} -\renewcommand\raggedleft{\@@raggedleft} -\renewcommand\raggedright{\@@raggedright} -\def\centerline#1{% -\if@RTL\@@line{\hss\beginR#1\endR\hss} -\else\@@line{\hss#1\hss}\fi} -\def\leftline#1{% -\if@RTL\@@line{\beginR#1\endR\hss} -\else\@@line{#1\hss}\fi} -\def\rightline#1{% -\if@RTL\@@line{\hss\beginR#1\endR} -\else\@@line{\hss#1}\fi} -\def\leftmark{\beginR\expandafter\@leftmark\botmark\@empty\@empty\endR} -\def\rightmark{\beginR\expandafter\@rightmark\firstmark\@empty\@empty\endR} -\def\underline#1{% - \relax - \ifmmode\@@underline{#1}% - \else -\if@RTL $\@@underline{\hbox{\beginR#1\endR}}\m@th$\relax -\else -$\@@underline{\hbox{#1}}\m@th$\relax\fi\fi} -\newif\if@tabsw -\global\@tabswfalse -\def\@tabular{\if@RTL\global\@tabswtrue\fi - \leavevmode \hbox \bgroup \if@tabsw\beginR \fi - $\let\@acol\@tabacol - \let\@classz\@tabclassz - \let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray} -\def\endtabular{\crcr\egroup\if@tabsw\egroup\endR\egroup\fi - \egroup $\if@tabsw\endR\fi \egroup - \global\@tabswfalse} -\expandafter \let \csname endtabular*\endcsname = \endtabular - -\def\@array[#1]#2{\setbox\@arstrutbox=\hbox{\vrule - height\arraystretch \ht\strutbox - depth\arraystretch \dp\strutbox - width\z@}\@mkpream{#2}\edef\@preamble{% -\halign \noexpand\@halignto -\bgroup \tabskip\z@ \@arstrut \@preamble \tabskip\z@ \cr}% -\let\@startpbox\@@startpbox \let\@endpbox\@@endpbox -\if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi -\bgroup \let\par\relax -\let\@sharp##\let\protect\relax \lineskip\z@\baselineskip\z@ -\if@tabsw\hbox\bgroup\beginR\vbox\bgroup\fi -\@preamble} -\def\@dottedtocline#1#2#3#4#5{\ifnum #1>\c@tocdepth \else - \vskip \z@ plus .2pt - {\hangindent #2\relax - \if@RTL \leftskip \else \rightskip \fi - \@tocrmarg \parfillskip -\if@RTL \leftskip \else - \rightskip \fi - \parindent #2\relax\@afterindenttrue - \interlinepenalty\@M - \leavevmode - \@tempdima #3\relax - #4\nobreak\leaders - \hbox{$\m@th \mkern \@dotsep mu.\mkern \@dotsep - mu$}\hfill \nobreak - \hbox to\@pnumwidth{\hfil #5}\par}\fi} -\def\RTL@outputdblcol{\if@firstcolumn -\global\@firstcolumnfalse - \global\setbox\@leftcolumn\box\@outputbox - \else \global\@firstcolumntrue - \setbox\@outputbox\vbox{% - \hbox to\textwidth{% - \hbox to\columnwidth{\box\@outputbox \hss}% - \hfil \vrule width\columnseprule\hfil - \hbox to\columnwidth{\box\@leftcolumn \hss}% - }}\@combinedblfloats -\@outputpage \begingroup \@dblfloatplacement -\@startdblcolumn -\@whilesw\if@fcolmade \fi -{\@outputpage\@startdblcolumn}\endgroup - \fi} -\def\LTR@outputdblcol{\if@firstcolumn -\global\@firstcolumnfalse - \global\setbox\@leftcolumn\box\@outputbox - \else \global\@firstcolumntrue - \setbox\@outputbox\vbox{\hbox to\textwidth{% - \hbox to\columnwidth - {\box\@leftcolumn \hss}\hfil - \vrule width\columnseprule\hfil - \hbox to\columnwidth{\box\@outputbox \hss}}}% - \@combinedblfloats - \@outputpage \begingroup \@dblfloatplacement - \@startdblcolumn - \@whilesw\if@fcolmade \fi - {\@outputpage\@startdblcolumn}\endgroup - \fi} -\newcommand{\RTLdblcol}{\renewcommand{\@outputdblcol}{\RTL@outputdblcol}} -\newcommand{\LTRdblcol}{\renewcommand{\@outputdblcol}{\LTR@outputdblcol}} -\RTLdblcol -\long\def\@makecaption#1#2{% - \vskip 10pt% - \setbox\@tempboxa\hbox{#1: #2}% - \ifdim \wd\@tempboxa >\hsize \if@RTL\beginR\fi#1: #2\par% - \else \hbox -to\hsize{\if@RTL\beginR\fi\hfil\box\@tempboxa\hfil% -\if@RTL\endR\fi}% - \fi} -\renewenvironment{equation}{% - \incr@eqnum - \mathdisplay@push - \st@rredfalse \global\@eqnswtrue - \beginL\mathdisplay{equation}% -}{% - \endmathdisplay{equation}\endL% - \mathdisplay@pop - \ignorespacesafterend -} -\let\@@text=\text -\def\text#1{\@@text{\beginR#1\endR}} -\def\tagform@#1{\maketag@@@{)\ignorespaces\text{#1}\unskip\@@italiccorr(}} -\renewcommand{\eqref}[1]{\beginL\textup{\tagform@{\ref{#1}}}\endL} -\@ifpackageloaded{graphicx}{% -\def\Gin@ii[#1]#2{% - \def\@tempa{[}\def\@tempb{#2}% - \ifx\@tempa\@tempb - \def\@tempa{\Gin@iii[#1][}% - \expandafter\@tempa - \else - \begingroup - \@tempswafalse - \toks@{\beginL\Ginclude@graphics{#2}\endL}% - \setkeys{Gin}{#1}% - \Gin@esetsize - \the\toks@ - \endgroup - \fi}% -}{} -\@ifpackageloaded{fancyhdr}{% -\def\@fancyhead#1#2#3#4#5{\beginR#1\endR\hbox to\headwidth{\fancy@reset - \@fancyvbox\headheight{\hbox - {\rlap{\parbox[b]{\headwidth}{\raggedright\beginR#2\endR}}\hfill - \parbox[b]{\headwidth}{\centering\beginR#3\endR}\hfill - \llap{\parbox[b]{\headwidth}{\raggedleft\beginR#4\endR}}}\headrule}}\beginR#5\endR} -\def\@fancyfoot#1#2#3#4#5{\beginR#1\endR\hbox to\headwidth{\fancy@reset - \@fancyvbox\footskip{\footrule - \hbox{\rlap{\parbox[t]{\headwidth}{\raggedright\beginR#2\endR}}\hfill - \parbox[t]{\headwidth}{\centering\beginR#3\endR}\hfill - \llap{\parbox[t]{\headwidth}{\raggedleft\beginR#4\endR}}}}}\beginR#5\endR} -}{} -\@ifpackageloaded{draftwatermark}{% -\renewcommand\SetWatermarkText[1]{% - \def\sc@wm@text{\if@RTL\beginR\fi#1\if@RTL\endR\fi}} -}{} +\def\prq{«} +\def\plq{»} \newfontscript{Persian}{arab} \newfontlanguage{Persian}{ARA} \newcommand*\settextfont[2][]{% @@ -231,8 +72,11 @@ to\hsize{\if@RTL\beginR\fi\hfil\box\@tempboxa\hfil% \let\rmdefault\zf@family \normalfont } -\newcommand*\setromantextfont[2][]{% -\newfontfamily\rmfamily[Mapping=tex-text,#1]{#2} +\newcommand*\settxtmathfont[2][]{% +\newfontfamily\TXTmath[Mapping=txt2maths,#1]{#2} +} +\newcommand*\setlatintextfont[2][]{% +\newfontfamily\latinfont[Mapping=tex-text,#1]{#2} } \newcommand*\defpersianfont[1]{% \@ifnextchar[{\defpersianfont@i#1}{\defpersianfont@i#1[]}} @@ -242,250 +86,104 @@ to\hsize{\if@RTL\beginR\fi\hfil\box\@tempboxa\hfil% \noexpand\DeclareRobustCommand\noexpand#1 {\noexpand\fontfamily{\zf@family}\noexpand\selectfont}}% \@tempa} -\newcommand*\defromanfont[1]{% - \@ifnextchar[{\defromanfont@i#1}{\defromanfont@i#1[]}} -\def\defromanfont@i#1[#2]#3{% +\newcommand*\deflatinfont[1]{% + \@ifnextchar[{\deflatinfont@i#1}{\deflatinfont@i#1[]}} +\def\deflatinfont@i#1[#2]#3{% \zf@fontspec{Mapping=tex-text,#2}{#3}% \edef\@tempa{% \noexpand\DeclareRobustCommand\noexpand#1 {\noexpand\fontfamily{\zf@family}\noexpand\selectfont}}% \@tempa} -\let\n@xt=\ -\def\LRE{\protect\pLRE}% -\def\pLRE{\protect\afterassignment\moreLRE \let\n@xt= } -\def\moreLRE{\bracetext \aftergroup\endL \beginL\@RTLfalse} -\def\RLE{\protect\pRLE} -\def\pRLE{\protect\afterassignment\moreRLE \let\n@xt= } -\def\moreRLE{\bracetext \aftergroup\endR \beginR\@RTLtrue} -\def\bracetext{\ifcat\n@xt{\else\ifcat\n@xt}\fi - \errmessage{Missing left brace has been substituted}\fi \bgroup} -\def\lr#1{\begingroup\beginL\rmfamily#1\endL\endgroup} +\newcommand\persiansfdefault{} +\newcommand\persianttdefault{} +\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\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{\textnavar}{\navarfamily} +\DeclareTextFontCommand{\textpook}{\pookfamily} +\DeclareTextFontCommand{\textsayeh}{\sayehfamily} +\newcommand*\setpersiansansfont[2][]{% + \zf@fontspec{Script=Persian,Mapping=parsidigits,#1}{#2}% + \let\persiansfdefault\zf@family + \normalfont} +\newcommand*\setpersianmonofont[2][]{% + \zf@fontspec{Script=Persian,Mapping=parsidigits,#1}{#2}% + \let\persianttdefault\zf@family + \normalfont} +\newcommand*\setnavarfont[2][]{% + \zf@fontspec{Script=Persian,Mapping=parsidigits,#1}{#2}% + \let\navardefault\zf@family + \normalfont} +\newcommand*\setpookfont[2][]{% + \zf@fontspec{Script=Persian,Mapping=parsidigits,#1}{#2}% + \let\pookdefault\zf@family + \normalfont} +\newcommand*\setsayehfont[2][]{% + \zf@fontspec{Script=Persian,Mapping=parsidigits,#1}{#2}% + \let\sayehdefault\zf@family + \normalfont} +\def\lr#1{\begingroup\beginL\latinfont#1\endL\endgroup} \def\rl#1{\begingroup\beginR\persianfont#1\endR\endgroup} -\def\LTR{\bgroup\par\@RTLfalse} -\def\endLTR{\par\egroup} -\def\RTL{\bgroup\par\@RTLtrue} -\def\endRTL{\par\egroup} -\def\roman{\bgroup\par\@RTLfalse\rmfamily} -\def\endroman{\par\egroup} -\def\persian{\bgroup\par\@RTLtrue\persianfont} +\def\latin{\bgroup\LatinAlphs\par\@RTLfalse\@RTL@footnotefalse\latinfont} +\def\endlatin{\par\egroup} +\def\persian{\bgroup\PersianAlphs\par\@RTLtrue\@RTL@footnotetrue\persianfont} \def\endpersian{\par\egroup} -\def\Roman{\if@RTL\par\@RTLfalse\rmfamily\fi} -\def\Persian{\if@RTL\relax\else\par\@RTLtrue\persianfont\fi} - -\newif\ifFT@leap \newif\ifFT@kabiseh -\newcount\FT@i \newcount\FT@y \newcount\FT@m \newcount\FT@d -\newcount\FT@latini \newcount\FT@persiani -\newcount\FT@latinii \newcount\FT@persianii -\newcount\FT@latiniii \newcount\FT@persianiii -\newcount\FT@latiniv \newcount\FT@persianiv -\newcount\FT@latinv \newcount\FT@persianv -\newcount\FT@latinvi \newcount\FT@persianvi -\newcount\FT@latinvii \newcount\FT@persianvii -\newcount\FT@latinviii \newcount\FT@persianviii -\newcount\FT@latinix \newcount\FT@persianix -\newcount\FT@latinx \newcount\FT@persianx -\newcount\FT@latinxi \newcount\FT@persianxi -\newcount\FT@latinxii \newcount\FT@persianxii - \newcount\FT@persianxiii - -\newcount\FT@temp -\newcount\FT@temptwo -\newcount\FT@tempthree -\newcount\FT@yModHundred -\newcount\FT@thirtytwo -\newcount\FT@dn -\newcount\FT@sn -\newcount\FT@mminusone - -\def\ftoday{% -\FT@y=\year \FT@m=\month \FT@d=\day -% -\FT@temp=\FT@y -\divide\FT@temp by 100\relax -\multiply\FT@temp by 100\relax -\FT@yModHundred=\FT@y -\advance\FT@yModHundred by -\FT@temp\relax -% -\ifodd\FT@yModHundred - \FT@leapfalse -\else - \FT@temp=\FT@yModHundred - \divide\FT@temp by 2\relax - \ifodd\FT@temp\FT@leapfalse - \else - \ifnum\FT@yModHundred=0% - \FT@temp=\FT@y - \divide\FT@temp by 400\relax - \multiply\FT@temp by 400\relax - \ifnum\FT@y=\FT@temp\FT@leaptrue\else\FT@leapfalse\fi - \else\FT@leaptrue - \fi - \fi -\fi -% -\FT@latini=31\relax -\ifFT@leap - \FT@latinii = 29\relax -\else - \FT@latinii = 28\relax -\fi -\FT@latiniii = 31\relax -\FT@latiniv = 30\relax -\FT@latinv = 31\relax -\FT@latinvi = 30\relax -\FT@latinvii = 31\relax -\FT@latinviii = 31\relax -\FT@latinix = 30\relax -\FT@latinx = 31\relax -\FT@latinxi = 30\relax -\FT@latinxii = 31\relax -% -\FT@thirtytwo=32\relax -% -\FT@temp=\FT@y -\advance\FT@temp by -17\relax -\FT@temptwo=\FT@temp -\divide\FT@temptwo by 33\relax -\multiply\FT@temptwo by 33\relax -\advance\FT@temp by -\FT@temptwo -\ifnum\FT@temp=\FT@thirtytwo\FT@kabisehfalse -\else - \FT@temptwo=\FT@temp - \divide\FT@temptwo by 4\relax - \multiply\FT@temptwo by 4\relax - \advance\FT@temp by -\FT@temptwo - \ifnum\FT@temp=\z@\FT@kabisehtrue\else\FT@kabisehfalse\fi -\fi -% -% --BE -% In fact persiani is equal to the Leap years from a fixed year to the last -% year minus the Kabise years from a fixed year to the last year plus a const. -% -\FT@tempthree=\FT@y % Number of Leap years -\advance\FT@tempthree by -1 -\FT@temp=\FT@tempthree % T := (MY-1) div 4 -\divide\FT@temp by 4\relax -\FT@temptwo=\FT@tempthree % T := T - ((MY-1) div 100) -\divide\FT@temptwo by 100\relax -\advance\FT@temp by -\FT@temptwo -\FT@temptwo=\FT@tempthree % T := T + ((MY-1) div 400) -\divide\FT@temptwo by 400\relax -\advance\FT@temp by \FT@temptwo -\advance\FT@tempthree by -611 % Number of Kabise years -\FT@temptwo=\FT@tempthree % T := T - ((SY+10) div 33) * 8 -\divide\FT@temptwo by 33\relax -\multiply\FT@temptwo by 8\relax -\advance\FT@temp by -\FT@temptwo -\FT@temptwo=\FT@tempthree % -\divide\FT@temptwo by 33\relax -\multiply\FT@temptwo by 33\relax -\advance\FT@tempthree by -\FT@temptwo -\ifnum\FT@tempthree=32\advance\FT@temp by 1\fi % if (SY+10) mod 33=32 then Inc(T); -\divide\FT@tempthree by 4\relax % T := T - ((SY+10) mod 33) div 4 -\advance\FT@temp by -\FT@tempthree -\advance\FT@temp by -137 % T := T - 137 Adjust the value -\FT@persiani=31 -\advance\FT@persiani by -\FT@temp % now 31 - T is the persiani -% -\FT@persianii = 30\relax -\ifFT@kabiseh - \FT@persianiii = 30\relax -\else - \FT@persianiii = 29\relax -\fi -\FT@persianiv = 31\relax -\FT@persianv = 31\relax -\FT@persianvi = 31\relax -\FT@persianvii = 31\relax -\FT@persianviii= 31\relax -\FT@persianix = 31\relax -\FT@persianx = 30\relax -\FT@persianxi = 30\relax -\FT@persianxii = 30\relax -\FT@persianxiii= 30\relax -% -\FT@dn= 0\relax -\FT@sn= 0\relax -\FT@mminusone=\FT@m -\advance\FT@mminusone by -1\relax -% -\FT@i=0\relax -\ifnum\FT@i < \FT@mminusone -\loop -\advance \FT@i by 1\relax -\advance\FT@dn by \csname FT@latin\romannumeral\the\FT@i\endcsname -\ifnum\FT@i<\FT@mminusone \repeat -\fi -\advance \FT@dn by \FT@d -% -\FT@i=1\relax -\FT@sn = \FT@persiani -\ifnum \FT@sn<\FT@dn -\loop -\advance \FT@i by 1\relax -\advance\FT@sn by \csname FT@persian\romannumeral\the\FT@i\endcsname -\ifnum \FT@sn<\FT@dn \repeat -\fi -\ifnum \FT@i < 4 - \FT@m = 9 \advance\FT@m by \FT@i - \advance \FT@y by -622\relax -\else - \FT@m = \FT@i \advance \FT@m by -3\relax - \advance \FT@y by -621\relax -\fi -\advance\FT@sn by -\csname FT@persian\romannumeral\the\FT@i% -\endcsname -\ifnum\FT@i = 1 - \FT@d = \FT@dn \advance \FT@d by 30 \advance\FT@d by -\FT@persiani -\else - \FT@d = \FT@dn \advance \FT@d by -\FT@sn -\fi -\beginL\number\FT@d\endL\space% -%Changedc from here YJ -\persianmonth{\FT@m}\space\beginL\number\FT@y\endL% -} -% added \persianmonth YJ -\def\persianmonth#1{\ifcase#1\or فروردین\or -اردیبهشت\or -خرداد\or تیر\or -مرداد\or -شهریور\or مهر\or -آبان\or آذر\or -دی\or بهمن\or -اسفند\fi} +\def\Latin{\if@RTL\par\LatinAlphs\@RTLfalse\@RTL@footnotefalse\latinfont\fi} +\def\Persian{\if@RTL\relax\else\par\PersianAlphs\@RTLtrue\@RTL@footnotetrue\persianfont\fi} \let\originaltoday=\today \def\today{\lr{\originaltoday}} -\let\romantoday\today -\def\today{\rl{\ftoday}} +\let\latintoday\today +\def\today{\rl{\persiantoday}} \newcommand\twocolumnstableofcontents{% \begin{multicols}{2}[\section*{\contentsname}]% \small \@starttoc{toc}% \end{multicols}} -\def\rcases#1{\left.\vcenter{\normalbaselines\m@th - \ialign{$##\hfil$&\quad{##}\hfil\crcr#1\crcr}}\,\right\}} -\def\reflect#1{{\setbox0=\hbox{#1}\rlap{\kern0.5\wd0 - \special{x:gsave}\special{x:scale -1 1}}\box0 \special{x:grestore}}} -\def\XePersian{\leavevmode$\smash{\hbox{X\lower.5ex - \hbox{\kern-.125em\reflect{E}}Persian}}$} -\def\figurename{شکل} -\def\tablename{جدول} -\def\contentsname{فهرست مطالب} -\def\listfigurename{لیست تصاویر} -\def\listtablename{لیست جداول} -\def\appendixname{پیوست} -\def\indexname{نمایه} -\def\refname{مراجع} -\def\abstractname{چکیده} -\def\partname{بخش} -\def\datename{تاریخ:} -\def\bibname{کتابنامه} -\def\chaptername{فصل} -\def\ccname{رونوشت} -\def\enclname{پیوست} -\def\pagename{صفحه} -\def\headtoname{به} -\def\proofname{اثبات} +\def\XePersian{\lr{\leavevmode$\smash{\hbox{X\lower.5ex + \hbox{\kern-.125em\reflect{E}}Persian}}$}} +\def\TeX{\lr{\@@TeX}} +\def\LaTeX{\lr{\@@LaTeX}} +\def\LaTeXe{\lr{\@@LaTeXe}} +\let\origin@XeTeX\XeTeX +\def\XeTeX{\lr{\origin@XeTeX}} +\let\origin@XeLaTeX\XeLaTeX +\def\XeLaTeX{\lr{\origin@XeLaTeX}} +\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 الف\char"200D\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} @@ -494,1105 +192,9 @@ to\hsize{\if@RTL\beginR\fi\hfil\box\@tempboxa\hfil% \def\adadi#1{\expandafter\@adadi\csname c@#1\endcsname} \def\@tartibi#1{\ifcase#1 \or اول \or دوم \or سوم \or چهارم \or پنجم \or ششم \or هفتم \or هشتم \or نهم \or دهم \or یازدهم \or دوازدهم \or سیزدهم \or چهاردهم \or پانزدهم \or شانزدهم \or هفدهم \or هجدهم \or نوزدهم \or بیستم\else\@ctrerr\fi} \def\tartibi#1{\expandafter\@tartibi\csname c@#1\endcsname} -\def\SepMark#1{\gdef\@SepMark{\beginR#1\endR}} -\SepMark{.} -\@ifclassloaded{article}{% -\renewcommand*\l@part[2]{% - \ifnum \c@tocdepth >-2\relax - \addpenalty\@secpenalty - \addvspace{2.25em \@plus\p@}% - \setlength\@tempdima{3em}% - \begingroup - \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth - \parfillskip -\@pnumwidth - {\leavevmode - \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par - \nobreak - \if@compatibility - \global\@nobreaktrue - \everypar{\global\@nobreakfalse\everypar{}}% - \fi - \endgroup - \fi} -\renewcommand\thesubsection {\thesection\@SepMark\@arabic\c@subsection} -\renewcommand\thesubsubsection{\thesubsection\@SepMark\@arabic\c@subsubsection} -\renewcommand\theparagraph {\thesubsubsection\@SepMark\@arabic\c@paragraph} -\renewcommand\thesubparagraph {\theparagraph\@SepMark\@arabic\c@subparagraph} -\def\@part[#1]#2{% - \ifnum \c@secnumdepth >\m@ne - \refstepcounter{part}% - \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% - \else - \addcontentsline{toc}{part}{#1}% - \fi - {\parindent \z@ \raggedleft - \interlinepenalty \@M - \normalfont - \ifnum \c@secnumdepth >\m@ne - \Large\bfseries \partname\nobreakspace\thepart - \par\nobreak - \fi - \huge \bfseries #2% - \markboth{}{}\par}% - \nobreak - \vskip 3ex - \@afterheading} - \def\ps@plain{\ps@empty - \def\@oddfoot{\hfil\thepage\hfil}% - \let\@evenfoot\@oddfoot -} -\renewenvironment{thebibliography}[1] - {\section*{\refname}% - \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% - \list{\@biblabel{\@arabic\c@enumiv}}% - {\settowidth\labelwidth{\@biblabel{#1}}% - \rightmargin\labelwidth \advance\rightmargin\labelsep - \@openbib@code - \usecounter{enumiv}% - \let\p@enumiv\@empty - \renewcommand\theenumiv{\@arabic\c@enumiv}}% - \sloppy - \clubpenalty4000 - \@clubpenalty \clubpenalty - \widowpenalty4000% - \sfcode`\.\@m} - {\def\@noitemerr - {\@latex@warning{Empty `thebibliography' environment}}% - \endlist} -\if@twoside - \def\ps@headings{% - \let\@oddfoot\@empty\let\@evenfoot\@empty - \def\@evenhead{\sl\beginR\leftmark\endR\hfil\thepage}% - \def\@oddhead{\sl\thepage\hfil\beginR\rightmark\endR}% - \let\@mkboth\markboth - \def\sectionmark##1{% - \markboth {\MakeUppercase{% - \ifnum \c@secnumdepth >\z@ - \thesection\quad - \fi - \beginR##1\endR}}{}}% - \def\subsectionmark##1{% - \markright {% - \ifnum \c@secnumdepth >\@ne - \beginR\thesubsection\quad\endR - \fi - \beginR##1\endR}}} -\else - \def\ps@headings{% - \let\@oddfoot\@empty - \def\@oddhead{\sl\thepage\hfil\beginR\rightmark\endR}% - \let\@mkboth\markboth - \def\sectionmark##1{% - \markright {\MakeUppercase{% - \ifnum \c@secnumdepth >\m@ne - \beginR\thesection\quad\endR - \fi - \beginR##1\endR}}}} -\fi -\def\ps@myheadings{% - \let\@oddfoot\@empty\let\@evenfoot\@empty - \def\@evenhead{\sl\thepage\hfil\beginR\leftmark\endR}% - \def\@oddhead{\sl\beginR\rightmark\endR\hfil\thepage}% - \let\@mkboth\@gobbletwo - \let\sectionmark\@gobble - \let\subsectionmark\@gobble - } -\pagestyle{plain} -\renewcommand \thepart {\@tartibi\c@part} -\renewcommand\appendix{\par - \setcounter{section}{0}% - \setcounter{subsection}{0}% - \gdef\thesection{\@harfi\c@section}} -}{} - - - -\@ifclassloaded{amsart}{% -\def\@tocline#1#2#3#4#5#6#7{\relax - \ifnum #1>\c@tocdepth % then omit - \else - \par \addpenalty\@secpenalty\addvspace{#2}% - \begingroup \hyphenpenalty\@M - \@ifempty{#4}{% - \@tempdima\csname r@tocindent\number#1\endcsname\relax - }{% - \@tempdima#4\relax - }% - \parindent\z@ \if@RTL\rightskip\else\leftskip\fi#3\relax \advance\if@RTL\rightskip\else\leftskip\fi\@tempdima\relax - \if@RTL\leftskip\else\rightskip\fi\@pnumwidth plus4em \parfillskip-\@pnumwidth - #5\leavevmode\hskip-\@tempdima #6\nobreak\relax - \hfil\hbox to\@pnumwidth{\@tocpagenum{#7}}\par - \nobreak - \endgroup - \fi} -\renewcommand\thesubsection {\thesection\@SepMark\arabic{subsection}} -\renewcommand\thesubsubsection {\thesubsection \@SepMark\arabic{subsubsection}} -\renewcommand\theparagraph {\thesubsubsection\@SepMark\arabic{paragraph}} -\renewcommand\thesubparagraph {\theparagraph\@SepMark\arabic{subparagraph}} -\def\part{\@startsection{part}{0}% - \z@{\linespacing\@plus\linespacing}{.5\linespacing}% - {\normalfont\bfseries\raggedleft}} -\renewenvironment{thebibliography}[1]{% - \@bibtitlestyle - \normalfont\bibliofont\labelsep .5em\relax - \renewcommand\theenumiv{\arabic{enumiv}}\let\p@enumiv\@empty - \list{\@biblabel{\theenumiv}}{\settowidth\labelwidth{\@biblabel{#1}}% - \leftmargin\labelwidth \advance\leftmargin\labelsep - \rightmargin\labelwidth \advance\rightmargin\labelsep - \usecounter{enumiv}}% - \sloppy \clubpenalty\@M \widowpenalty\clubpenalty - \sfcode`\.=\@m -}{% - \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}% - \endlist -} -\renewcommand \thepart {\@tartibi\c@part} -\renewcommand\appendix{\par - \setcounter{section}{0}% - \setcounter{subsection}{0}% - \gdef\thesection{\@harfi\c@section}} -}{} - - - -\@ifclassloaded{report}{% -\renewcommand*\l@part[2]{% - \ifnum \c@tocdepth >-2\relax - \addpenalty{-\@highpenalty}% - \addvspace{2.25em \@plus\p@}% - \setlength\@tempdima{3em}% - \begingroup - \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth - \parfillskip -\@pnumwidth - {\leavevmode - \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par - \nobreak - \global\@nobreaktrue - \everypar{\global\@nobreakfalse\everypar{}}% - \endgroup - \fi} -\renewcommand\theequation - {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@equation} -\renewcommand \thefigure - {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@figure} -\renewcommand \thetable - {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@table} -\renewcommand \thechapter {\@arabic\c@chapter} -\renewcommand \thesection {\thechapter\@SepMark\@arabic\c@section} -\renewcommand\thesubsection {\thesection\@SepMark\@arabic\c@subsection} -\renewcommand\thesubsubsection{\thesubsection \@SepMark\@arabic\c@subsubsection} -\renewcommand\theparagraph {\thesubsubsection\@SepMark\@arabic\c@paragraph} -\renewcommand\thesubparagraph {\theparagraph\@SepMark\@arabic\c@subparagraph} -\def\@makechapterhead#1{% - \vspace*{50\p@}% - {\parindent \z@ \raggedleft \normalfont - \ifnum \c@secnumdepth >\m@ne - \huge\bfseries \@chapapp\space \thechapter - \par\nobreak - \vskip 20\p@ - \fi - \interlinepenalty\@M - \Huge \bfseries #1\par\nobreak - \vskip 40\p@ - }} -\def\@makeschapterhead#1{% - \vspace*{50\p@}% - {\parindent \z@ \raggedleft - \normalfont - \interlinepenalty\@M - \Huge \bfseries #1\par\nobreak - \vskip 40\p@ - }} -\renewenvironment{thebibliography}[1] - {\chapter*{\bibname}% - \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}% - \list{\@biblabel{\@arabic\c@enumiv}}% - {\settowidth\labelwidth{\@biblabel{#1}}% - \rightmargin\labelwidth - \advance\rightmargin\labelsep - \@openbib@code - \usecounter{enumiv}% - \let\p@enumiv\@empty - \renewcommand\theenumiv{\@arabic\c@enumiv}}% - \sloppy - \clubpenalty4000 - \@clubpenalty \clubpenalty - \widowpenalty4000% - \sfcode`\.\@m} - {\def\@noitemerr - {\@latex@warning{Empty `thebibliography' environment}}% - \endlist} -\if@twoside - \def\ps@headings{% - \let\@oddfoot\@empty\let\@evenfoot\@empty - \def\@evenhead{\sl\thepage\hfil\beginR\leftmark\endR}% - \def\@oddhead{\sl\beginR\rightmark\endR\hfil\thepage}% - \let\@mkboth\markboth - \def\chaptermark##1{% - \markboth {\MakeUppercase{% - \ifnum \c@secnumdepth >\m@ne - \beginR\@chapapp\ \thechapter. \ \endR% - \fi - \beginR##1\endR}}{}}% - \def\sectionmark##1{% - \markright {\MakeUppercase{% - \ifnum \c@secnumdepth >\z@ - \beginR\thesection. \ \endR% - \fi - \beginR##1\endR}}}} -\else - \def\ps@headings{% - \let\@oddfoot\@empty - \def\@oddhead{\sl\beginR\rightmark\endR\hfil\thepage}% - \let\@mkboth\markboth - \def\chaptermark##1{% - \markright {\MakeUppercase{% - \ifnum \c@secnumdepth >\m@ne - \beginR\@chapapp\ \thechapter. \ \endR% - \fi - \beginR##1\endR}}}} -\fi -\def\ps@myheadings{% - \let\@oddfoot\@empty\let\@evenfoot\@empty - \def\@evenhead{\sl\thepage\hfil\beginR\leftmark\endR}% - \def\@oddhead{\sl\beginR\rightmark\endR\hfil\thepage}% - \let\@mkboth\@gobbletwo - \let\chaptermark\@gobble - \let\sectionmark\@gobble - } -\pagestyle{plain} -\renewcommand \thepart {\@tartibi\c@part} -%to make appendix numbering Persian -\renewcommand\appendix{\par - \setcounter{chapter}{0}% - \setcounter{section}{0}% - \gdef\@chapapp{\appendixname}% - \gdef\thechapter{\@harfi\c@chapter} -}%end appendix -}{} - - - -\@ifclassloaded{xepersian-thesis}{% -\renewcommand*\l@part[2]{% - \ifnum \c@tocdepth >-2\relax - \addpenalty{-\@highpenalty}% - \addvspace{2.25em \@plus\p@}% - \setlength\@tempdima{3em}% - \begingroup - \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth - \parfillskip -\@pnumwidth - {\leavevmode - \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par - \nobreak - \global\@nobreaktrue - \everypar{\global\@nobreakfalse\everypar{}}% - \endgroup - \fi} -\renewcommand\theequation - {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@equation} -\renewcommand \thefigure - {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@figure} -\renewcommand \thetable - {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@table} -\renewcommand \thechapter {\@arabic\c@chapter} -\renewcommand \thesection {\thechapter\@SepMark\@arabic\c@section} -\renewcommand\thesubsection {\thesection\@SepMark\@arabic\c@subsection} -\renewcommand\thesubsubsection{\thesubsection \@SepMark\@arabic\c@subsubsection} -\renewcommand\theparagraph {\thesubsubsection\@SepMark\@arabic\c@paragraph} -\renewcommand\thesubparagraph {\theparagraph\@SepMark\@arabic\c@subparagraph} -\def\@makechapterhead#1{% - \vspace*{50\p@}% - {\parindent \z@ \raggedleft \normalfont - \ifnum \c@secnumdepth >\m@ne - \huge\bfseries \@chapapp\space \thechapter - \par\nobreak - \vskip 20\p@ - \fi - \interlinepenalty\@M - \Huge \bfseries #1\par\nobreak - \vskip 40\p@ - }} -\def\@makeschapterhead#1{% - \vspace*{50\p@}% - {\parindent \z@ \raggedleft - \normalfont - \interlinepenalty\@M - \Huge \bfseries #1\par\nobreak - \vskip 40\p@ - }} -\renewenvironment{thebibliography}[1] - {\chapter*{\bibname}% - \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}% - \list{\@biblabel{\@arabic\c@enumiv}}% - {\settowidth\labelwidth{\@biblabel{#1}}% - \rightmargin\labelwidth - \advance\rightmargin\labelsep - \@openbib@code - \usecounter{enumiv}% - \let\p@enumiv\@empty - \renewcommand\theenumiv{\@arabic\c@enumiv}}% - \sloppy - \clubpenalty4000 - \@clubpenalty \clubpenalty - \widowpenalty4000% - \sfcode`\.\@m} - {\def\@noitemerr - {\@latex@warning{Empty `thebibliography' environment}}% - \endlist} -\if@twoside - \def\ps@headings{% - \let\@oddfoot\@empty\let\@evenfoot\@empty - \def\@evenhead{\sl\thepage\hfil\beginR\leftmark\endR}% - \def\@oddhead{\sl\beginR\rightmark\endR\hfil\thepage}% - \let\@mkboth\markboth - \def\chaptermark##1{% - \markboth {\MakeUppercase{% - \ifnum \c@secnumdepth >\m@ne - \beginR\@chapapp\ \thechapter. \ \endR% - \fi - \beginR##1\endR}}{}}% - \def\sectionmark##1{% - \markright {\MakeUppercase{% - \ifnum \c@secnumdepth >\z@ - \beginR\thesection. \ \endR% - \fi - \beginR##1\endR}}}} -\else - \def\ps@headings{% - \let\@oddfoot\@empty - \def\@oddhead{\sl\beginR\rightmark\endR\hfil\thepage}% - \let\@mkboth\markboth - \def\chaptermark##1{% - \markright {\MakeUppercase{% - \ifnum \c@secnumdepth >\m@ne - \beginR\@chapapp\ \thechapter. \ \endR% - \fi - \beginR##1\endR}}}} -\fi -\def\ps@myheadings{% - \let\@oddfoot\@empty\let\@evenfoot\@empty - \def\@evenhead{\sl\thepage\hfil\beginR\leftmark\endR}% - \def\@oddhead{\sl\beginR\rightmark\endR\hfil\thepage}% - \let\@mkboth\@gobbletwo - \let\chaptermark\@gobble - \let\sectionmark\@gobble - } -\pagestyle{plain} -\renewcommand \thepart {\@tartibi\c@part} -%to make appendix numbering persian -\renewcommand\appendix{\par - \setcounter{chapter}{0}% - \setcounter{section}{0}% - \gdef\@chapapp{\appendixname}% - \gdef\thechapter{\@harfi\c@chapter} -}%end appendix -}{} - - - -\@ifclassloaded{amsbook}{% -\def\@tocline#1#2#3#4#5#6#7{\relax - \ifnum #1>\c@tocdepth % then omit - \else - \par \addpenalty\@secpenalty\addvspace{#2}% - \begingroup \hyphenpenalty\@M - \@ifempty{#4}{% - \@tempdima\csname r@tocindent\number#1\endcsname\relax - }{% - \@tempdima#4\relax - }% - \parindent\z@ \if@RTL\rightskip\else\leftskip\fi#3\relax \advance\if@RTL\rightskip\else\leftskip\fi\@tempdima\relax - \if@RTL\leftskip\else\rightskip\fi\@pnumwidth plus4em \parfillskip-\@pnumwidth - #5\leavevmode\hskip-\@tempdima #6\nobreak\relax - \hfil\hbox to\@pnumwidth{\@tocpagenum{#7}}\par - \nobreak - \endgroup - \fi} -\renewcommand\thesubsection {\thesection\@SepMark\arabic{subsection}} -\renewcommand\thesubsubsection {\thesubsection \@SepMark\arabic{subsubsection}} -\renewcommand\theparagraph {\thesubsubsection\@SepMark\arabic{paragraph}} -\renewcommand\thesubparagraph {\theparagraph\@SepMark\arabic{subparagraph}} -\renewenvironment{thebibliography}[1]{% - \@bibtitlestyle - \normalfont\bibliofont\labelsep .5em\relax - \renewcommand\theenumiv{\arabic{enumiv}}\let\p@enumiv\@empty - \list{\@biblabel{\theenumiv}}{\settowidth\labelwidth{\@biblabel{#1}}% - \rightmargin\labelwidth \advance\rightmargin\labelsep - \leftmargin\labelwidth \advance\leftmargin\labelsep - \usecounter{enumiv}}% - \sloppy \clubpenalty\@M \widowpenalty\clubpenalty - \sfcode`\.=\@m -}{% - \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}% - \endlist -} -\def\frontmatter{\cleardoublepage\pagenumbering{harfi}} -\renewcommand \thepart {\@tartibi\c@part} -%to make appendix numbering persian -\renewcommand\appendix{\par - \setcounter{chapter}{0}% - \setcounter{section}{0}% - \gdef\@chapapp{\appendixname}% - \gdef\thechapter{\@harfi\c@chapter} -}%end appendix -\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi -\columnseprule\z@ \columnsep 35\p@ -\@indextitlestyle -\thispagestyle{plain}% -\let\item\@idxitem -\parindent\z@ \parskip\z@\@plus.3\p@\relax -\raggedleft -\hyphenpenalty\@M -\footnotesize} - -\def\@idxitem{\par\hangindent -2em} -\def\subitem{\par\hangindent -2em\hspace*{1em}} -\def\subsubitem{\par\hangindent -3em\hspace*{2em}} -}{} - - - -\@ifclassloaded{bookest}{% -\AtBeginDocument{ -\def\@makechapterhead#1{% - \vspace*{20\p@} - {\parindent \z@ \raggedleft \normalfont - \ifnum \c@secnumdepth >\m@ne - \if@mainmatter - {\colorA\huge\scshape \@chapapp\space \thechapter} - \par\nobreak - \vskip 10\p@ - \fi - \fi - \interlinepenalty\@M - {\colorB\hrule} - \vskip 15\p@ - \begin{flushleft} - {\colorA\Huge \bfseries #1}\par\nobreak - \end{flushleft} - \vskip 5\p@ - {\colorB\hrule} - \vskip 30\p@ - }} -\def\@makeschapterhead#1{% - \vspace*{20\p@} - {\parindent \z@ \raggedright \normalfont - {\colorB\hrule} - \vskip 15\p@ - \begin{center} - {\colorA\Huge \bfseries #1}\par\nobreak - \end{center} - \vskip 5\p@ - {\colorB\hrule} - \vskip 30\p@ - }} -\renewcommand{\setevenhead}[1]{\def\@evenhead{#1}} -\renewcommand{\setoddhead}[1]{\def\@oddhead{#1}} -\renewcommand{\setevenfoot}[1]{\def\@evenfoot{#1}} -\renewcommand{\setoddfoot}[1]{\def\@oddfoot{#1}} -\renewcommand{\oddheadtext}{{\colorA{\slshape\rightmark}\hfill\thepage}} -\renewcommand{\setoddheadtext}[1]{\renewcommand{\oddheadtext}{#1}} -\renewcommand{\evenheadtext}{\oddheadtext} -\renewcommand{\setevenheadtext}[1]{\renewcommand{\evenheadtext}{#1}} -\renewcommand{\evenfoottext}{} -\renewcommand{\setevenfoottext}[1]{\renewcommand{\evenfoottext}{#1}} -\renewcommand{\oddfoottext}{} -\renewcommand{\setoddfoottext}[1]{\renewcommand{\oddfoottext}{#1}} -\renewcommand{\setleftmark}[1]{\renewcommand{\leftmark}{#1}} -\renewcommand{\setrightmark}[1]{\renewcommand{\rightmark}{#1}} -\renewcommand{\makeheadrule}{{\colorB\hrule\@width\textwidth \@height 0.4pt \vskip-0.4pt}} -\renewcommand{\makefootrule}{\makeheadrule} -\if@twoside - \setevenheadtext{{\colorA\thepage\hfill\slshape\leftmark}} -\fi -\setevenhead{\vbox{\evenheadtext \vskip 5\p@ \makeheadrule}} -\setoddhead{\vbox{\oddheadtext \vskip 5\p@ \makeheadrule}} -\let\UCase\MakeUppercase -\renewcommand{\MakeUppercase}{} -\def\ps@plain{% - \def\@oddfoot{{\hfil\colorA\thepage\hfil}} - \def\@evenfoot{{\hfil\colorA\thepage\hfil}} - \let\@oddhead\@empty - \let\@evenhead\@empty -} -} -\NoHyper -\renewcommand \thepart {\@tartibi\c@part} -%to make appendix numbering persian -\renewcommand\appendix{\par - \setcounter{chapter}{0}% - \setcounter{section}{0}% - \gdef\@chapapp{\appendixname}% - \gdef\thechapter{\@harfi\c@chapter} -}%end appendix -}{} - - -\@ifclassloaded{book}{% -\renewcommand*\l@part[2]{% - \ifnum \c@tocdepth >-2\relax - \addpenalty{-\@highpenalty}% - \addvspace{2.25em \@plus\p@}% - \setlength\@tempdima{3em}% - \begingroup - \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth - \parfillskip -\@pnumwidth - {\leavevmode - \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par - \nobreak - \global\@nobreaktrue - \everypar{\global\@nobreakfalse\everypar{}}% - \endgroup - \fi} -\renewcommand\theequation - {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@equation} -\renewcommand \thefigure - {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@figure} -\renewcommand \thetable - {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@table} -\renewcommand \thechapter {\@arabic\c@chapter} -\renewcommand \thesection {\thechapter\@SepMark\@arabic\c@section} -\renewcommand\thesubsection {\thesection\@SepMark\@arabic\c@subsection} -\renewcommand\thesubsubsection{\thesubsection \@SepMark\@arabic\c@subsubsection} -\renewcommand\theparagraph {\thesubsubsection\@SepMark\@arabic\c@paragraph} -\renewcommand\thesubparagraph {\theparagraph\@SepMark\@arabic\c@subparagraph} -\def\@makechapterhead#1{% - \vspace*{50\p@}% - {\parindent \z@ \raggedleft \normalfont - \ifnum \c@secnumdepth >\m@ne - \if@mainmatter - \huge\bfseries \@chapapp\space \thechapter - \par\nobreak - \vskip 20\p@ - \fi - \fi - \interlinepenalty\@M - \Huge \bfseries #1\par\nobreak - \vskip 40\p@ - }} -\def\@makeschapterhead#1{% - \vspace*{50\p@}% - {\parindent \z@ \raggedleft - \normalfont - \interlinepenalty\@M - \Huge \bfseries #1\par\nobreak - \vskip 40\p@ - }} -\renewenvironment{thebibliography}[1] - {\chapter*{\bibname}% - \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}% - \list{\@biblabel{\@arabic\c@enumiv}}% - {\settowidth\labelwidth{\@biblabel{#1}}% - \rightmargin\labelwidth - \advance\rightmargin\labelsep - \@openbib@code - \usecounter{enumiv}% - \let\p@enumiv\@empty - \renewcommand\theenumiv{\@arabic\c@enumiv}}% - \sloppy - \clubpenalty4000 - \@clubpenalty \clubpenalty - \widowpenalty4000% - \sfcode`\.\@m} - {\def\@noitemerr - {\@latex@warning{Empty `thebibliography' environment}}% - \endlist} -\renewcommand\frontmatter{% - \cleardoublepage - \@mainmatterfalse - \pagenumbering{harfi}} -\renewcommand\mainmatter{% - \cleardoublepage - \@mainmattertrue - \pagenumbering{arabic}} -\renewcommand\backmatter{% - \if@openright - \cleardoublepage - \else - \clearpage - \fi - \@mainmatterfalse} - -\if@twoside - \def\ps@headings{% - \let\@oddfoot\@empty\let\@evenfoot\@empty - \def\@evenhead{\sl\beginR\rightmark\endR\hfil\thepage}% - \def\@oddhead{\sl\thepage\hfil\beginR\leftmark\endR}% - \let\@mkboth\markboth - \def\chaptermark##1{% - \markboth {\MakeUppercase{% - \beginR\@chapapp\ \thechapter.\,\,\endR% - \ifnum \c@secnumdepth >\m@ne - \if@mainmatter - \beginR##1\endR - \fi - \fi - }}{}}% - \def\ps@plain{\ps@empty - \def\@oddfoot{\hfil\thepage\hfil}% - \let\@evenfoot\@oddfoot -} - \def\sectionmark##1{% - \markright {\MakeUppercase{% - \beginR\thesection\endR\, - \ifnum \c@secnumdepth >\z@ - \beginR##1\endR \ % - \fi - }}}} -\else - \def\ps@headings{% - \let\@oddfoot\@empty - \def\@oddhead{\sl\thepage\hfil\beginR\rightmark\endR}% - \let\@mkboth\markboth - \def\chaptermark##1{% - \markright {\MakeUppercase{% - \beginR\@chapapp\ \thechapter. \endR % - \ifnum \c@secnumdepth >\m@ne - \if@mainmatter - \beginR##1\endR - \fi - \fi - }}}} - -\fi -\pagestyle{headings} - - -\renewcommand \thepart {\@tartibi\c@part} -%to make appendix numbering Persian -\renewcommand\appendix{\par - \setcounter{chapter}{0}% - \setcounter{section}{0}% - \gdef\@chapapp{\appendixname}% - \gdef\thechapter{\@harfi\c@chapter} -}%end appendix -\def\@idxitem{\par\hangindent -40\p@} -}{} - - -\@ifclassloaded{refrep}{% -\renewcommand*\l@part[2]{% - \ifnum \c@tocdepth >-2\relax - \addpenalty{-\@highpenalty}% - \addvspace{2.25em \@plus\p@}% - \begingroup - \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth - \parfillskip -\@pnumwidth - {\leavevmode - \large \bfseries #1\hfil \hbox to\@pnumwidth{\hss #2}}\par - \nobreak - \global\@nobreaktrue - \everypar{\global\@nobreakfalse\everypar{}}% - \endgroup - \fi} -\renewcommand\theequation -{\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@equation} -\renewcommand\thefigure - {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@figure} -\renewcommand\thetable% - {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@table} -\renewcommand\thesection {\thechapter\@SepMark\@arabic\c@section} -\renewcommand\thesubsection {\thesection\@SepMark\@arabic\c@subsection} -\renewcommand\thesubsubsection {\thesubsection \@SepMark\@arabic\c@subsubsection} -\renewcommand\theparagraph {\thesubsubsection\@SepMark\@arabic\c@paragraph} -\renewcommand\thesubparagraph {\theparagraph\@SepMark\@arabic\c@subparagraph} -\renewcommand \thepart {\@tartibi\c@part} -%to make appendix numbering Persian -\renewcommand\appendix{\par - \setcounter{chapter}{0}% - \setcounter{section}{0}% - \gdef\@chapapp{\appendixname}% - \gdef\thechapter{\@harfi\c@chapter} -}%end appendix -}{} - -\renewcommand{\numberwithin}[3][\arabic]{% - \@ifundefined{c@#2}{\@nocounterr{#2}}{% - \@ifundefined{c@#3}{\@nocnterr{#3}}{% - \@addtoreset{#2}{#3}% - \@xp\xdef\csname the#2\endcsname{% - \@xp\@nx\csname the#3\endcsname \@SepMark\@nx#1{#2}}}}% -} - -\def\@thmcountersep{\@SepMark} - - -\@ifclassloaded{beamer}{% -\def\familydefault{\rmdefault} -\raggedleft -\def\LTR{\bgroup\par\raggedright\@RTLfalse} -\def\endLTR{\par\egroup} -\def\RTL{\bgroup\par\raggedleft\@RTLtrue} -\def\endRTL{\par\egroup} -\def\roman{\bgroup\par\raggedright\@RTLfalse\rmfamily} -\def\endroman{\par\egroup} -\def\persian{\bgroup\par\raggedleft\@RTLtrue\persianfont} -\def\endpersian{\par\egroup} -\long\def\beamer@@frametitle[#1]#2{% - \beamer@ifempty{#2}{}{% - \gdef\insertframetitle{\raggedleft\rightskip=2em{\beginR#2\endR\ifnum\beamer@autobreakcount>0\relax{}\space\usebeamertemplate*{frametitle continuation}\fi}}% - \gdef\beamer@frametitle{\beginR#2\endR}% - \gdef\beamer@shortframetitle{\beginR#1\endR}% -}% -} -\def\@thm#1#2#3{% - \ifhmode\unskip\unskip\par\fi - \normalfont - \let\thmheadnl\relax - \let\thm@swap\@gobble - \thm@headpunct{.}% add period after heading - \thm@space@setup - #1% style overrides - \def\inserttheoremname{#3} - \def\inserttheorempunctuation{\the\thm@headpunct} - \def\@tempa{#2}% - \ifx\@empty\@tempa - \def\inserttheoremnumber{} - \else - \refstepcounter{#2}% - \expandafter\def\expandafter\inserttheoremnumber\expandafter{ \csname the#2\endcsname} - \fi - \beamer@begintheorem% -\raggedleft\@RTLtrue -} - \ifbeamer@countsect - \newtheorem{قضیه}{\raggedleft قضیه}[section] - \else - \newtheorem{قضیه}{\raggedleft قضیه} - \fi - \newtheorem{نتیجه}[theorem]{\raggedleft نتیجه} - \newtheorem{حقیقت}[theorem]{\raggedleft حقیقت} - \newtheorem{لم}[theorem]{\raggedleft لم} - \newtheorem{مسئله}[theorem]{\raggedleft مسئله} - \newtheorem{پاسخ}[theorem]{\raggedleft پاسخ} -\theoremstyle{definition} - \newtheorem{تعریف}[theorem]{\raggedleft تعریف} - \newtheorem{تعریفها}[theorem]{\raggedleft تعریفها} -\theoremstyle{example} - \newtheorem{مثال}[theorem]{\raggedleft مثال} - \newtheorem{مثالها}[theorem]{\raggedleft مثالها} -\newenvironment<>{اثبات}[1][\raggedleft اثبات]{% - \par - \def\insertproofname{#1\@addpunct{}}% - \pushQED{\qed} - \usebeamertemplate{proof begin}\@RTLtrue#2} -{\popQED\usebeamertemplate{proof end}} - \newenvironment<>{بلوک}[1]{% - \begin{actionenv}#2% - \def\insertblocktitle{\raggedleft#1}% - \par% - \usebeamertemplate{block begin}\raggedleft\@RTLtrue} - {\par% - \usebeamertemplate{block end}% - \end{actionenv}} - \newenvironment<>{بلوکهشدار}[1]{% - \begin{actionenv}#2% - \def\insertblocktitle{\raggedleft#1}% - \par% - \mode<presentation>{%\usebeamerfont{block}% - \setbeamercolor{local structure}{parent=alerted text}}% - \usebeamertemplate{block alerted begin}\raggedleft\@RTLtrue} - {\par% - \usebeamertemplate{block alerted end}% - \end{actionenv}} - \newenvironment<>{بلوکمثال}[1]{% - \begin{actionenv}#2% - \def\insertblocktitle{\raggedleft#1}% - \par% - \mode<presentation>{%\usebeamerfont{block}% - \setbeamercolor{local structure}{parent=example text}}% - \usebeamertemplate{block example begin}\raggedleft\@RTLtrue} - {\par% - \usebeamertemplate{block example end}% - \end{actionenv}} -\def\@listi{\if@RTL\rightmargin\leftmargini\else\leftmargin\leftmargini\fi - \topsep 3\p@ \@plus2\p@ \@minus2.5\p@ - \parsep 0\p@ - \itemsep3\p@ \@plus2\p@ \@minus3\p@} -\let\@listI\@listi -\def\@listii{\if@RTL\rightmargin\leftmarginii\else\leftmargin\leftmarginii\fi - \topsep 2\p@ \@plus1\p@ \@minus2\p@ - \parsep 0\p@ \@plus\p@ - \itemsep \parsep} -\def\@listiii{\if@RTL\rightmargin\leftmarginiii\else\leftmargin\leftmarginiii\fi - \topsep 2\p@ \@plus1\p@ \@minus2\p@ - \parsep 0\p@ \@plus\p@ - \itemsep \parsep} -\def\beamer@enum@{% - \beamer@computepref\@itemdepth% sets \beameritemnestingprefix - \usebeamerfont{itemize/enumerate \beameritemnestingprefix body}% - \usebeamercolor[fg]{itemize/enumerate \beameritemnestingprefix body}% - \usebeamertemplate{itemize/enumerate \beameritemnestingprefix body begin}% - \expandafter - \list - {\usebeamertemplate{\beamer@enumtempl}} - {\usecounter\@enumctr% - \def\makelabel##1{{\hss\llap{{% - \usebeamerfont*{enumerate \beameritemnestingprefix item}% - \usebeamercolor[fg]{enumerate \beameritemnestingprefix item}##1}}}}}% - \beamer@cramped% - \raggedleft% - \beamer@firstlineitemizeunskip% -} -\renewcommand{\itemize}[1][]{% - \beamer@ifempty{#1}{}{\def\beamer@defaultospec{#1}}% - \ifnum \@itemdepth >2\relax\@toodeep\else - \advance\@itemdepth\@ne - \beamer@computepref\@itemdepth% sets \beameritemnestingprefix - \usebeamerfont{itemize/enumerate \beameritemnestingprefix body}% - \usebeamercolor[fg]{itemize/enumerate \beameritemnestingprefix body}% - \usebeamertemplate{itemize/enumerate \beameritemnestingprefix body begin}% - \list - {\usebeamertemplate{itemize \beameritemnestingprefix item}} - {\def\makelabel##1{% - {% - \hss\llap{{% - \usebeamerfont*{itemize \beameritemnestingprefix item}% - \usebeamercolor[fg]{itemize \beameritemnestingprefix item}##1}}% - }% - }% - } - \fi% - \beamer@cramped% - \raggedleft% - \beamer@firstlineitemizeunskip% -} -\def\@@description{% - \advance\beamer@descdefault by \labelsep% - \list - {} - {\labelwidth\beamer@descdefault\leftmargin\beamer@descdefault\let\makelabel\beamer@descriptionitem}% - \beamer@cramped% - \raggedleft\rightskip=6em - \beamer@firstlineitemizeunskip% -} -\AtBeginDocument{\@RTLfalse} -\renewenvironment{beamer@frameslide}{% - \ifbeamer@autobreak\else% - \ifx\beamer@againname\@empty% - {\let\@elt\beamer@restorecounter\beamer@overlaycounterresets}% - \else% - {\let\@elt\beamer@labelrestorecounter\beamer@overlaycounterresets}% - \fi% - \fi% - \global\c@beamerpauses=1\relax% - \expandafter\beamer@ifempty\expandafter{\beamer@framestartpage}{% - \refstepcounter{subsectionslide}% - \xdef\beamer@framestartpage{\the\c@page}% only first time - }{\clearpage\beamer@notesactions}% cleanup from previous slide - \hypersetup{pdfpagetransition=R}% - \hypersetup{pdfpageduration=}% - \xdef\beamer@frameendpage{\the\c@page}% every time - \beamer@setuplinks% - \beamer@displaybreak% - \global\setbox\beamer@zoombox=\box\voidb@x% - \def\beamer@zoomer{}% - \beamer@slidehaszoomfalse% - \gdef\insertframetitle{}% - \gdef\insertframesubtitle{}% - \gdef\beamer@frametitle{}% - \gdef\beamer@shortframetitle{}% - \gdef\beamer@framesubtitle{}% - \let\beamer@startcomment=\beamer@startcommentinframe% - % Start slide: - \beamer@framenotesbegin\@RTLtrue% - \global\setbox\beamer@framebox=\vbox\bgroup% - \beamer@inframetrue% - \let\frame=\framelatex% inside frames, use LaTeX's \frame command - \begin{beamer@framepauses}% - \ifbeamer@shrink% - \hsize=\beamer@shrinkfactorinv\hsize% - \textwidth=\beamer@shrinkfactorinv\textwidth% - \linewidth=\beamer@shrinkfactorinv\linewidth% - \fi% - % Insert labels if necessary: - \ifx\beamer@againname\@empty\else% - \nointerlineskip\vbox to0pt{\vss% - \label<\the\beamer@slideinframe>{\beamer@againname<\the\beamer@slideinframe>}% - \ifnum\beamer@slideinframe=1\relax% - \label<1>{\beamer@againname}% - \fi% - }\nointerlineskip% - \fi% - \ifx\beamer@framehypertargets\@empty\else% - \nointerlineskip\vbox to0pt{\vss% - \beamer@framehypertargets% - \global\let\beamer@framehypertargets\@empty% - }\nointerlineskip% - \fi% - \vskip-\parskip\vbox{}% - \beamer@initfirstlineunskip% - \ifbeamer@plainframe\nointerlineskip\fi% - \beamer@checkframetitle}% - {\end{beamer@framepauses}% - \egroup% - \ifx\beamer@frametitle\@empty% - \setbox\beamer@frametitlebox=\box\voidb@x% - \else% - \setbox\beamer@frametitlebox=\vbox{% - \vbox{}% - {\parskip0pt\usebeamertemplate***{frametitle}\vskip0.25em}% - }% - \fi% - \ifbeamer@plainframe% - \beamer@frametextheight=\paperheight% - \else% - \beamer@frametextheight=\textheight% - \fi% - \advance\beamer@frametextheight by-\ht\beamer@frametitlebox% - \advance\beamer@frametextheight by-\dp\beamer@frametitlebox% - \advance\beamer@frametextheight by-\beamer@frametopskip% - \ifbeamer@shrink% - \beamer@shrinkframebox% - \fi% - \ifx\beamer@zoomer\@empty - \setbox\beamer@framebox=\vbox{% - \nobreak\vbox{}\nobreak\par\nobreak\beamer@entrycode\nobreak% - \nointerlineskip\unvbox\beamer@frametitlebox% - \nobreak% - \ifbeamer@autobreak% - \vskip\beamer@frametopskipautobreak% - \else% - \vskip\beamer@frametopskip% - \fi% - \nobreak% - \nointerlineskip\box\beamer@zoombox\nointerlineskip% - \nobreak% - \ifbeamer@slidehaszoom\box\beamer@framebox\else\unvbox\beamer@framebox\fi% - % bottom skip is added in autobreakframebox - }% - \beamer@autobreakframebox% - \else% - \beamer@zoomer% - \fi% - \beamer@undolabels% - \beamer@framenotesend% - \box\beamer@framebox} -\long\def\beamer@title[#1]#2{% - \def\inserttitle{\beginR#2\endR}% - \def\beamer@shorttitle{\beginR#1\endR}% - } -\long\def\beamer@subtitle[#1]#2{% - \def\insertsubtitle{\beginR#2\endR}% - \def\beamer@shortsubtitle{\beginR#1\endR}% - } -\long\def\beamer@date[#1]#2{% - \def\insertdate{\beginR#2\endR}% - \def\beamer@shortdate{\beginR#1\endR}% - } -\long\def\beamer@author[#1]#2{% - \def\insertauthor{\def\inst{\beamer@insttitle}\def\and{\beamer@andtitle}\beginR#2\endR}% - \def\beamer@shortauthor{\beginR#1\endR}% - \ifbeamer@autopdfinfo% - \def\beamer@andstripped{}% - \beamer@stripands#2 \and\relax - {\let\inst=\@gobble\let\thanks=\@gobble\def\and{, }\hypersetup{pdfauthor={\beamer@andstripped}}} - \fi% -} -\long\def\beamer@institute[#1]#2{% - \def\beamer@temp{\beginR#2\endR}% - \ifx\beamer@temp\@empty - \def\insertinstitute{} - \else - \def\insertinstitute{\def\inst{\beamer@instinst}\def\and{\beamer@andinst}\beginR#2\endR}% - \fi - \def\beamer@shortinstitute{\beginR#1\endR}} -\renewenvironment{thebibliography}[1] -{%\leavevmode\unskip% - \list{\@biblabel{\@arabic\c@enumiv}}% - {\settowidth\labelwidth{\beamer@biblabeltemplate{\@biblabel{#1}}}% - \leftmargin\labelwidth - \advance\leftmargin\labelsep - \itemsep=0pt% - \partopsep=0pt% - \topsep=0pt% - \usecounter{enumiv}% - \let\p@enumiv\@empty - \renewcommand\theenumiv{\@arabic\c@enumiv} - \let\makelabel\beamer@biblabeltemplate}% - \sloppy\raggedleft - \clubpenalty10000 - \@clubpenalty \clubpenalty - \widowpenalty10000% - \sfcode`\.\@m} - {\def\@noitemerr - {\@latex@warning{Empty `thebibliography' environment}}% - \ifhmode\unskip\fi\endlist} -\long\def\beamer@@@section#1{\beamer@section[\beginR#1\endR]{#1}} -\def\beamer@@@subsection#1{\beamer@subsection[\beginR#1\endR]{#1}} -\def\beamer@@@subsubsection#1{\beamer@subsubsection[\beginR#1\endR]{#1}} -\long\def\beamer@subsectionintoc#1#2#3#4#5#6{% - \ifnum\c@tocdepth>1% - \ifnum#5=\beamer@showpartnumber% - { - \beamer@saveanother% - \gdef\beamer@todo{}% - \beamer@slideinframe=#1\relax% - \expandafter\only\beamer@tocsections{\gdef\beamer@todo{% - \ifbeamer@pausesubsections\pause\fi% - \beamer@tempcount=#6% - \advance\beamer@tempcount by\beamer@sectionadjust% - \edef\inserttocsectionnumber{\the\beamer@tempcount}% - \def\inserttocsubsectionnumber{#2}% - \def\inserttocsubsection{\rightskip=1.5em\hyperlink{Navigation#4}{\beginR#3\endR\hfill}}% - \beamer@tocifnothide{\ifnum\c@section=#1\beamer@toc@oss\else\beamer@toc@ooss\fi}% - {% - \def\beamer@breakhere{\\}% - \beamer@tocact{\ifnum\c@section=#1\ifnum\c@subsection=#2\beamer@toc@css\else\beamer@toc@oss\fi\else\beamer@toc@ooss\fi} - {subsection in toc}% - }% - }}% - \beamer@restoreanother% - } - \beamer@todo% - \fi\fi% -} -\long\def\beamer@subsubsectionintoc#1#2#3#4#5#6#7{% - \ifnum\c@tocdepth>2% - \ifnum#1=\beamer@showpartnumber% - { - \beamer@saveanother% - \gdef\beamer@todo{}% - \beamer@slideinframe=#2\relax% - \expandafter\only\beamer@tocsections{\gdef\beamer@todo{% - \ifbeamer@pausesubsections\pause\fi% - \beamer@tempcount=#6% - \advance\beamer@tempcount by\beamer@sectionadjust% - \edef\inserttocsectionnumber{\the\beamer@tempcount}% - \def\inserttocsubsectionnumber{#3}% - \def\inserttocsubsubsectionnumber{#4}% - \def\inserttocsubsubsection{\rightskip=3em\hyperlink{Navigation#5}{\beginR#7\endR\hfill}}% - \beamer@tocifnothide{\ifnum\c@section=#2\beamer@toc@oss\else\beamer@toc@ooss\fi}% - {% - \def\beamer@breakhere{\\}% - \beamer@tocact{\ifnum\c@section=#2\ifnum\c@subsection=#3\beamer@toc@css\else\beamer@toc@oss\fi\else\beamer@toc@ooss\fi} - {subsubsection in toc}% - }% - }}% - \beamer@restoreanother% - } - \beamer@todo% - \fi\fi% -} -\long\def\beamer@makecaption#1#2{% - \def\insertcaptionname{\csname#1name\endcsname}% - \def\insertcaptionnumber{\csname the#1\endcsname}% - \def\insertcaption{#2}% - \nobreak\vskip\abovecaptionskip\nobreak - \sbox\@tempboxa{\usebeamertemplate**{caption}}% - \ifdim \wd\@tempboxa >\hsize - \usebeamertemplate**{caption}\par - \else - \global \@minipagefalse - \hb@xt@\hsize{\if@RTL\beginR\fi\hfil\box\@tempboxa\hfil\if@RTL\endR\fi}% - \fi - \nobreak\vskip\belowcaptionskip\nobreak} -}{} - \providecommand*{\xpg@warning}[1]{% \PackageWarning{XePersian}% - {#1}} + {#1}} \ifcsdef{abjad}{}{% \def\abjad#1{% \ifnum#1>1999 \xpg@warning{Illegal value (#1) for abjad numeral} {#1} @@ -1630,168 +232,53 @@ to\hsize{\if@RTL\beginR\fi\hfil\box\@tempboxa\hfil% \ifcase#1\or غ\fi \ifnum#1=\z@\fi\abj@num@iii} } - \let\@latinalph\@alph% \let\@latinAlph\@Alph% +\def\PersianAlphs{% \let\@alph\abjad% \let\@Alph\abjad% - - - - - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % % - % footnote setup % - % % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\ifx \CatEscape\undefined - \chardef\CatEscape=0 - \chardef\CatOpen=1 - \chardef\CatClose=2 - \chardef\CatIgnore=9 - \chardef\CatLetter=11 - \chardef\CatOther=12 - \chardef\CatActive=13 % is defined in Plain already - - \chardef\CatUsCode=\catcode`\_ -\fi - -\catcode`\_=\CatLetter % top level macro file - - -\def\r@fn{% - \hbox to \columnwidth - {\beginR \vbox{\kern -3\p@ - \hrule width .4\columnwidth \kern2.6\p@}\hfil\endR}} -\def\l@fn{% - \hrule width .4\columnwidth\kern 2.6\p@} - - -\def\@makefnmark{\hbox{$^{\hbox{\scriptsize\@thefnmark}}\m@th$}} - - -\def\leftfootnoterule{\global\def\footnoterule{\l@fn}} -\def\rightfootnoterule{\global\def\footnoterule{\r@fn}} -\leftfootnoterule - -%%% \beginprog -\newread\old_foot_file -\newwrite\foot_file -\def\foot_file_name{\jobname.fot\relax} -\def\init_footnote{% - \openin\old_foot_file\foot_file_name - \ifeof\old_foot_file \closein\old_foot_file - \else \closein\old_foot_file - \read_foot_file - \fi - \immediate\openout\foot_file\foot_file_name - \immediate\write\foot_file{\relax}% - \global\let\init_footnote\relax - } - -\newcount\foot_name_no % for generating footnote mark names - - - - - -\newcount\autofootnote -\def\fnpp_next_footnote{% - \init_footnote - \global\advance\foot_name_no\@ne - \global\advance\c@footnote\@ne - \edef\do_write{% - \immediate\write\foot_file{% - \string\advance\autofootnote\@ne - \string\expandafter\xdef - \string\csname\space f@\number\foot_name_no \endcsname{% - \string\number\autofootnote - }% - }% - }% - \do_write - \global\autofootnote 0\csname f@\number\foot_name_no \endcsname \relax - } - -\def\read_foot_file{% - \begingroup - \catcode`\@\CatLetter \catcode`\^^M\CatIgnore - \input \foot_file_name - \endgroup - } - -\let\fnpp_orig_outputpage=\@outputpage -\def\@outputpage{% - \ifx \init_footnote\relax - \immediate\write\foot_file{\autofootnote\z@}% - \fi - \fnpp_orig_outputpage - } - -\let\FnppOrigFootnote=\footnote % save original bindings -\let\FnppOrigFootnotemark=\footnotemark - -\def\footnote{% - \@ifnextchar[% % ] (Emacs) - \@xfootnote - {\fnpp_next_footnote \ifnum\autofootnote=1\rightfootnoterule\fi \@xfootnote[\the\c@footnote] % -}% - } -\def\footnotemark{% - \@ifnextchar[% % ] (Emacs) - \@xfootnotemark - {\fnpp_next_footnote \ifnum\autofootnote=1\rightfootnoterule\fi \@xfootnotemark[\the\c@footnote]}% - } - - - - -\def\footnotemarkLR{% - \@ifnextchar[% % ] (Emacs) - \@xfootnotemark - {\fnpp_next_footnote \ifnum\autofootnote=1\leftfootnoterule\fi\@xfootnotemark[\the\c@footnote]}% - } - -\newif\if@RomanFootNum -\providerobustcmd{\Footnote}[1]{% -\bgroup -\footnotemarkLR% -\renewcommand{\thefootnote}{\if@RomanFootNum\rmfamily{\@arabic\c@footnote}\else\@arabic\c@footnote\fi}% -\@RTLfalse\footnotetext{\rmfamily#1}% -\egroup } -\@RomanFootNumfalse -\def\PersianFootNum{\@RomanFootNumfalse} -\def\RomanFootNum{\@RomanFootNumtrue} -\DeclareOption{RomanFootNum}{\@RomanFootNumtrue} -\ProcessOptions - - - -\ifx \@minipagerestore\relax - \let\@minipagerestore\@empty -\fi - -\g@addto@macro\@minipagerestore{% - \let\footnote\FnppOrigFootnote - } - -\let\fnpp_orig_maketitle=\maketitle -\def\maketitle{% - \begingroup - \let\footnotemark\FnppOrigFootnotemark - \fnpp_orig_maketitle - \endgroup - } - -\catcode`\_=\CatUsCode - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % % - % End of footnote setup % - % % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\endinput +\def\LatinAlphs{% + \let\@alph\@latinalph% + \let\@Alph\@latinAlph% +} +\PersianAlphs +\@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{bidi}{\input{footnote-bidi-xepersian.def}}{} +\@ifpackageloaded{enumerate}{\input{enumerate-xepersian.def}}{} +\@ifpackageloaded{minitoc}{\input{minitoc-xepersian.def}}{} +\@ifpackageloaded{tocloft}{\input{tocloft-xepersian.def}}{} +\@ifclassloaded{article}{\input{article-xepersian.def}}{} +\@ifclassloaded{amsart}{\input{amsart-xepersian.def}}{} +\@ifclassloaded{bidimoderncv}{\input{bidimoderncv-xepersian.def}}{} +\@ifclassloaded{report}{\input{report-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{xepersian-thesis}{\input{xepersian-thesis-xepersian.def}}{} +\@ifclassloaded{amsbook}{\input{amsbook-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{bidibeamer}{\input{bidibeamer-xepersian.def}}{} +\@ifclassloaded{bidimemoir}{\input{bidimemoir-xepersian.def}}{} +%% +%% Copyright © 2008-2009 by Vafa Khalighi <vafa@users.berlios.de> +%% +%% Distributable 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 "maintained" (as per LPPL maintenance status) +%% by Vafa Khalighi. +%% +%% +%% +%% +%% +%% End of file `xepersian.sty'. |