diff options
author | Karl Berry <karl@freefriends.org> | 2011-02-13 23:35:32 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-02-13 23:35:32 +0000 |
commit | f8caf0445c4cba501dbb7bb4089b56493e2080a5 (patch) | |
tree | aa46cb6998d2a1272b49daea3b907a45f5d29215 /Master/texmf-dist/tex/xelatex/xepersian | |
parent | 559fa5fe1412df424f60e00b33d20ef1ca773b22 (diff) |
xepersian (12feb11)
git-svn-id: svn://tug.org/texlive/trunk@21397 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/xepersian')
11 files changed, 188 insertions, 28 deletions
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/backref-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/backref-xepersian.def index 2e076448904..2f3c6b940da 100644 --- a/Master/texmf-dist/tex/xelatex/xepersian/backref-xepersian.def +++ b/Master/texmf-dist/tex/xelatex/xepersian/backref-xepersian.def @@ -14,6 +14,24 @@ %% \ProvidesFile{backref-xepersian.def}[2010/07/25 v0.1 adaptations for backref package] \def\backrefpagesname{\if@RTL صفحات\else pages\fi} +\def\BR@Latincitex[#1]#2{% + \BRorg@Latincitex[{#1}]{#2}% + \ifBR@verbose + \PackageInfo{backref}{back Latin cite \string`#2\string'}% + \fi + \Hy@backout{#2}% +} +\AtBeginDocument{% + \@ifundefined{NAT@parse}{% + \global\let\BRorg@Latincitex\@Latincitex + \global\let\@Latincitex\BR@Latincitex + }{% + \@ifpackageloaded{hyperref}{}{% + \def\hyper@natlinkstart#1{\Hy@backout{#1}}% + }% + \PackageInfo{backref}{** backref set up for natbib **}% + }% +}% %% %% Copyright © 2008–2011 Vafa Khalighi <vafakhlgh@gmail.com> %% diff --git a/Master/texmf-dist/tex/xelatex/xepersian/color-localise.def b/Master/texmf-dist/tex/xelatex/xepersian/color-localise.def index 6134556b78b..45293b1eaf9 100644 --- a/Master/texmf-dist/tex/xelatex/xepersian/color-localise.def +++ b/Master/texmf-dist/tex/xelatex/xepersian/color-localise.def @@ -12,7 +12,7 @@ %% License information appended. %% %% -\آمادهسازیپرونده{color-localise.def}[2011/01/01 v0.1 localising color package] +\آمادهسازیپرونده{color-localise.def}[2011/03/01 v0.1 localising color package] \تعریفرنگ{سیاه}{rgb}{0,0,0} \تعریفرنگ{سفید}{rgb}{1,1,1} \تعریفرنگ{قرمز}{rgb}{1,0,0} diff --git a/Master/texmf-dist/tex/xelatex/xepersian/commands-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/commands-xepersian.def index aaff60c8920..426b73bdb1f 100644 --- a/Master/texmf-dist/tex/xelatex/xepersian/commands-xepersian.def +++ b/Master/texmf-dist/tex/xelatex/xepersian/commands-xepersian.def @@ -32,7 +32,7 @@ \eqcommand{پانویسعنوان}{LTRthanks} \eqcommand{قلمپارسی}{persianfont} \eqcommand{اعدادفرمولهاپارسی}{PersianMathsDigits} -\eqcommand{علامتچپنقلقولپارسی}{plq} +\eqcommand{علامتچپنقلقولپارسی}{plq} \eqcommand{علامتراستنقلقولپارسی}{prq} \eqcommand{خطزیرنویسراست}{rightfootnoterule} \eqcommand{متنپارسی}{rl} diff --git a/Master/texmf-dist/tex/xelatex/xepersian/empheq-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/empheq-xepersian.def new file mode 100644 index 00000000000..759b7631be9 --- /dev/null +++ b/Master/texmf-dist/tex/xelatex/xepersian/empheq-xepersian.def @@ -0,0 +1,31 @@ +%% +%% This is file `empheq-xepersian.def', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% xepersian.dtx (with options: `empheq-xepersian.def') +%% +%% ______________________________________ +%% Copyright © 2008–2011 Vafa Khalighi +%% +%% License information appended. +%% +%% +\ProvidesFile{empheq-xepersian.def}[2011/03/01 v0.1 adaptations for empheq package] +\def\tagform@#1{\maketag@@@{\if@Latin\else\beginR\fi(\ignorespaces#1\unskip\@@italiccorr)\if@Latin\else\endR\fi}} +\def\text#1{\@@text{\if@Latin\else\beginR\fi#1\if@Latin\else\endR\fi}} +%% +%% Copyright © 2008–2011 Vafa Khalighi <vafakhlgh@gmail.com> +%% +%% 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 `empheq-xepersian.def'. diff --git a/Master/texmf-dist/tex/xelatex/xepersian/environments-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/environments-xepersian.def index 7127a2bd166..d39a5406908 100644 --- a/Master/texmf-dist/tex/xelatex/xepersian/environments-xepersian.def +++ b/Master/texmf-dist/tex/xelatex/xepersian/environments-xepersian.def @@ -16,9 +16,13 @@ \eqenvironment{لاتین}{latin} \eqenvironment{متنچپ}{LTR} \eqenvironment{دستهبندیچپ}{LTRitems} +\eqenvironment{شعرنو}{modernpoem} +\eqenvironment{شعرنو*}{modernpoem*} \eqenvironment{پارسی}{persian} \eqenvironment{متنراست}{RTL} \eqenvironment{دستهبندیراست}{RTLitems} +\eqenvironment{شعرسنتی}{traditionalpoem} +\eqenvironment{شعرسنتی*}{traditionalpoem*} %% %% Copyright © 2008–2011 Vafa Khalighi <vafakhlgh@gmail.com> %% diff --git a/Master/texmf-dist/tex/xelatex/xepersian/kashida-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/kashida-xepersian.def index 75476b1a491..c419fa26e19 100644 --- a/Master/texmf-dist/tex/xelatex/xepersian/kashida-xepersian.def +++ b/Master/texmf-dist/tex/xelatex/xepersian/kashida-xepersian.def @@ -53,7 +53,9 @@ \XeTeXinterchartoks \L \R = {\kashida} \XeTeXinterchartoks \L \A = {} -\XeTeXinterchartokenstate=1 +\newcommand{\KashidaOn}{\XeTeXinterchartokenstate=1} +\newcommand{\KashidaOff}{\XeTeXinterchartokenstate=0} +\KashidaOn %% %% Copyright © 2008–2011 Vafa Khalighi <vafakhlgh@gmail.com> %% diff --git a/Master/texmf-dist/tex/xelatex/xepersian/messages-localise.def b/Master/texmf-dist/tex/xelatex/xepersian/messages-localise.def index 14e62ae0d3d..4677c792928 100644 --- a/Master/texmf-dist/tex/xelatex/xepersian/messages-localise.def +++ b/Master/texmf-dist/tex/xelatex/xepersian/messages-localise.def @@ -12,7 +12,7 @@ %% License information appended. %% %% -\آمادهسازیپرونده{messages-localise.def}[2011/01/01 v0.1 localising LaTeX2e messages] +\آمادهسازیپرونده{messages-localise.def}[2011/03/01 v0.1 localising LaTeX2e messages] %% %% Copyright © 2008–2011 Vafa Khalighi <vafakhlgh@gmail.com> %% diff --git a/Master/texmf-dist/tex/xelatex/xepersian/misc-localise-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/misc-localise-xepersian.def index af3aad507a4..8a3cb25e416 100644 --- a/Master/texmf-dist/tex/xelatex/xepersian/misc-localise-xepersian.def +++ b/Master/texmf-dist/tex/xelatex/xepersian/misc-localise-xepersian.def @@ -12,7 +12,7 @@ %% License information appended. %% %% -\ProvidesFile{misc-localise-xepersian.def}[2011/01/01 v0.1 miscellaneous Persian localisation of LaTeX2e] +\ProvidesFile{misc-localise-xepersian.def}[2011/03/01 v0.1 miscellaneous Persian localisation of LaTeX2e] \تر\گرجدید#1{% \شمار@\نویسهویژه \نویسهویژه\من@ا \بگذار#1\گرنادرست diff --git a/Master/texmf-dist/tex/xelatex/xepersian/packages-localise-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/packages-localise-xepersian.def index 1574e0c2bec..cc5d95c7844 100644 --- a/Master/texmf-dist/tex/xelatex/xepersian/packages-localise-xepersian.def +++ b/Master/texmf-dist/tex/xelatex/xepersian/packages-localise-xepersian.def @@ -12,7 +12,7 @@ %% License information appended. %% %% -\آمادهسازیپرونده{packages-localise-xepersian.def}[2011/01/01 v0.1 localising LaTeX2e Packages] +\آمادهسازیپرونده{packages-localise-xepersian.def}[2011/03/01 v0.1 localising LaTeX2e Packages] \@گرسبکفراخوانیشده{color}{\ورودی{color-localise.def}}{} %% %% Copyright © 2008–2011 Vafa Khalighi <vafakhlgh@gmail.com> diff --git a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-mathsdigitspec.sty b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-mathsdigitspec.sty index eb6978c849a..9206e637651 100644 --- a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-mathsdigitspec.sty +++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-mathsdigitspec.sty @@ -14,7 +14,7 @@ %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{xepersian-mathsdigitspec} - [2011/01/01 v0.6b Unicode Persian maths digits in XeLaTeX] + [2011/03/01 v0.9 Unicode Persian maths digits in XeLaTeX] \ExplSyntaxOn \bool_set_false:N \g_fontspec_math_bool \ExplSyntaxOff @@ -37,27 +37,90 @@ \XeTeXmathcode#1="\mathchar@type#2 \csname sym#3\endcsname #4\relax} \newcommand\SetMathCharDef[4]{% \XeTeXmathchardef#1="\mathchar@type#2 \csname sym#3\endcsname #4\relax} +\ExplSyntaxOn +\cs_new_eq:NN \orig_mathbf:n \mathbf +\cs_new_eq:NN \orig_mathit:n \mathit +\cs_new_eq:NN \orig_mathrm:n \mathrm +\cs_new_eq:NN \orig_mathsf:n \mathsf +\cs_new_eq:NN \orig_mathtt:n \mathtt +\NewDocumentCommand \new@mathbf { m } { + \orig_mathbf:n { + \prg_stepwise_inline:nnnn { `0 } { \c_one } { `9 } { + \mathcode ##1 = \numexpr "100 * \symnew@mathbf@font@digits + ##1 \relax + } + #1 + } +} +\NewDocumentCommand \new@mathit { m } { + \orig_mathit:n { + \prg_stepwise_inline:nnnn { `0 } { \c_one } { `9 } { + \mathcode ##1 = \numexpr "100 * \symnew@mathit@font@digits + ##1 \relax + } + #1 + } +} +\NewDocumentCommand \new@mathrm { m } { + \orig_mathrm:n { + \prg_stepwise_inline:nnnn { `0 } { \c_one } { `9 } { + \mathcode ##1 = \numexpr "100 * \symnew@mathrm@font@digits + ##1 \relax + } + #1 + } +} +\NewDocumentCommand \new@mathsf{ m } { + \orig_mathsf:n { + \prg_stepwise_inline:nnnn { `0 } { \c_one } { `9 } { + \mathcode ##1 = \numexpr "100 * \symnew@mathsf@font@digits + ##1 \relax + } + #1 + } +} +\NewDocumentCommand \new@mathtt{ m } { + \orig_mathtt:n { + \prg_stepwise_inline:nnnn { `0 } { \c_one } { `9 } { + \mathcode ##1 = \numexpr "100 * \symnew@mathtt@font@digits + ##1 \relax + } + #1 + } +} +\ExplSyntaxOff \newcommand\setdigitfont[2][]{% \let\glb@currsize\relax \setkeys*[xepersian-mathsdigitspec]{options}{#1}% - \edef\@tempa{\noexpand\zf@fontspec{% + \edef\@tempa{\noexpand\zf@fontspec{Mapping=parsidigits,% \XKV@rm}{#2}}\@tempa \xepersian@PackageInfo{Defining the default Persian maths digits font as '#2'} \DeclareSymbolFont{OPERATORS} {EU1}{\zf@family} {m}{n} + \DeclareSymbolFont{new@mathbf@font@digits}{EU1}{\zf@family}{bx}{n} + \DeclareSymbolFont{new@mathit@font@digits}{EU1}{\zf@family}{m}{it} + \DeclareSymbolFont{new@mathrm@font@digits}{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{`0}{\mathalpha}{OPERATORS}{`0} + \SetMathCode{`1}{\mathalpha}{OPERATORS}{`1} + \SetMathCode{`2}{\mathalpha}{OPERATORS}{`2} + \SetMathCode{`3}{\mathalpha}{OPERATORS}{`3} + \SetMathCode{`4}{\mathalpha}{OPERATORS}{`4} + \SetMathCode{`5}{\mathalpha}{OPERATORS}{`5} + \SetMathCode{`6}{\mathalpha}{OPERATORS}{`6} + \SetMathCode{`7}{\mathalpha}{OPERATORS}{`7} + \SetMathCode{`8}{\mathalpha}{OPERATORS}{`8} + \SetMathCode{`9}{\mathalpha}{OPERATORS}{`9} \SetMathCode{`\%}{\mathbin}{OPERATORS}{`٪} - \SetMathCharDef{\decimalseparator}{\mathpunct}{OPERATORS}{"066B}} + \SetMathCharDef{\decimalseparator}{\mathpunct}{OPERATORS}{"066B} + \let\mathbf\new@mathbf + \let\mathit\new@mathit + \let\mathrm\new@mathrm} } +\newcommand*\setmathsfdigitfont[2][]{% +\zf@fontspec{Mapping=parsidigits,#1}{#2}% +\let\zf@sfmaths\zf@family +\DeclareSymbolFont{new@mathsf@font@digits}{EU1}{\zf@family}{m}{n} +\def\persianmathsfdigits{\let\mathsf\new@mathsf}} +\newcommand*\setmathttdigitfont[2][]{% +\zf@fontspec{Mapping=parsidigits,#1}{#2}% +\let\zf@ttmaths\zf@family +\DeclareSymbolFont{new@mathtt@font@digits}{EU1}{\zf@family}{m}{n} +\def\persianmathttdigits{\let\mathtt\new@mathtt}} \ifx\newcommand\undefined\else \newcommand{\ZifferAn}{} \fi @@ -90,12 +153,17 @@ \mathcode`.="8000\relax \def\ZifferLeer{\ifx\decimalseparator\undefied .\else \decimalseparator\fi} \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}} +\def\PersianMathsDigits{\def\SetMathsDigits{% +\ifx\persianmathsdigits\undefied\else\persianmathsdigits\fi% +\ifx\persianmathsfdigits\undefied\else\persianmathsfdigits\fi% +\ifx\persianmathttdigits\undefied\else\persianmathttdigits\fi}} +\def\AutoMathsDigits{\def\SetMathsDigits{% +\ifx\persianmathsdigits\undefied\else\if@Latin\else\persianmathsdigits\fi\fi% +\ifx\persianmathsfdigits\undefied\else\if@Latin\else\persianmathsfdigits\fi\fi% +\ifx\persianmathttdigits\undefied\else\if@Latin\else\persianmathttdigits\fi\fi}} \AutoMathsDigits -\everymath{\SetMathsDigits} -\g@addto@macro\document{\everydisplay{\predisplaydirection=0 \SetMathsDigits} -\@ifpackageloaded{amsmath}{\everydisplay\@xp{\the\everydisplay \@displaytrue}}{}} +\everymath\expandafter{\the\everymath\SetMathsDigits} +\g@addto@macro\document{\everydisplay\expandafter{\the\everydisplay\SetMathsDigits}} %% %% Copyright © 2008–2011 Vafa Khalighi <vafakhlgh@gmail.com> %% diff --git a/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty b/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty index cba3ed3d526..b7a05ee4947 100644 --- a/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty +++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty @@ -13,9 +13,9 @@ %% %% \NeedsTeXFormat{LaTeX2e} -\def\xepersianversion{v1.1.0β1.2} -\def\xepersiancommit{commit 80} -\def\xepersiandate{2011/01/01} +\def\xepersianversion{v1.1.0} +\def\xepersiancommit{commit 100} +\def\xepersiandate{2011/03/21} \ProvidesPackage{xepersian}[\xepersiandate\space \xepersianversion\space <\xepersiancommit> Persian typesetting in XeLaTeX] \RequirePackage{fontspec} @@ -40,6 +40,31 @@ Location on CTAN: /macros/xetex/latex/xepersian} \fi \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} \newcommand*\settextfont[2][]{% @@ -220,7 +245,7 @@ Location on CTAN: /macros/xetex/latex/xepersian} \small \@starttoc{toc}% \end{multicols}} -{\PackageError{xepersian}{Oops! you should load multicol package before xepersian package for being able to use this command.}}} +{\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} @@ -311,6 +336,7 @@ Location on CTAN: /macros/xetex/latex/xepersian} \@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}}{} @@ -339,6 +365,17 @@ Location on CTAN: /macros/xetex/latex/xepersian} \@ifclassloaded{memoir}{\input{memoir-xepersian.def}}{} \DeclareOption{Kashida}{\input{kashida-xepersian.def}} \DeclareOption{localise}{\input{localise-xepersian.def}} +\DeclareOption{extrafootnotefeatures}{\input{extrafootnotefeatures.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 %% |