%% %% This is file `hyperref-xetex-bidi.def', %% generated with the docstrip utility. %% %% The original source files were: %% %% bidi.dtx (with options: `table,hyperref-xetex-bidi.def') %% %% __________________________________________________ %% Copyright (c) 2009--2015 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. %% %% %% \CheckSum{44926} %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} %% \ProvidesFile{hyperref-xetex-bidi.def}[2014/11/08 v0.8 bidi adaptations for hyperref package for XeTeX engine] \AtBeginDocument{% \def\contentsline#1#2#3#4{% \ifx\\#4\\% \csname l@#1\endcsname{#2}{#3}% \else \ifcase\Hy@linktoc % none \csname l@#1\endcsname{#2}{#3}% \or % section \csname l@#1\endcsname{% \beginL\hyper@linkstart{link}{#4}{\if@RTL\beginR\fi#2\if@RTL\endR\fi}\hyper@linkend\endL }{#3}% \or % page \csname l@#1\endcsname{{#2}}{% \beginL\hyper@linkstart{link}{#4}{#3}\hyper@linkend\endL }% \else % all \csname l@#1\endcsname{% \beginL\hyper@linkstart{link}{#4}{\if@RTL\beginR\fi#2\if@RTL\endR\fi}\hyper@linkend\endL }{% \beginL\hyper@linkstart{link}{#4}{#3}\hyper@linkend\endL }% \fi \fi } \ifHy@hyperfootnotes \let\H@@footnotetext\@footnotetext \let\HRTL@@RTLfootnotetext\@RTLfootnotetext \let\HLTR@@LTRfootnotetext\@LTRfootnotetext \def\@xfootnotenext[#1]{% \begingroup \csname c@\@mpfn\endcsname #1\relax \unrestored@protected@xdef\@thefnmark{\thempfn}% \endgroup \ifx\@footnotetext\@mpfootnotetext \expandafter\H@@mpfootnotetext \else \expandafter\H@@footnotetext \fi }% \def\@xRTLfootnotenext[#1]{% \begingroup \csname c@\@mpfn\endcsname #1\relax \unrestored@protected@xdef\@thefnmark{\thempfn}% \endgroup \ifx\@RTLfootnotetext\@mpRTLfootnotetext \expandafter\HRTL@@mpRTLfootnotetext \else \expandafter\HRTL@@RTLfootnotetext \fi }% \def\@xLTRfootnotenext[#1]{% \begingroup \csname c@\@mpfn\endcsname #1\relax \unrestored@protected@xdef\@thefnmark{\thempfn}% \endgroup \ifx\@LTRfootnotetext\@mpLTRfootnotetext \expandafter\HLTR@@mpLTRfootnotetext \else \expandafter\HLTR@@LTRfootnotetext \fi }% \def\@xfootnotemark[#1]{% \begingroup \c@footnote #1\relax \unrestored@protected@xdef\@thefnmark{\thefootnote}% \endgroup \H@@footnotemark }% \let\H@@mpfootnotetext\@mpfootnotetext \let\HRTL@@mpRTLfootnotetext\@mpRTLfootnotetext \let\HLTR@@mpLTRfootnotetext\@mpLTRfootnotetext \long\def\@mpfootnotetext#1{% \H@@mpfootnotetext{% \ifHy@nesting \hyper@@anchor{\Hy@footnote@currentHref}{#1}% \else \Hy@raisedlink{% \hyper@@anchor{\Hy@footnote@currentHref}{\relax}% }#1% \fi }% }% \long\def\@mpRTLfootnotetext#1{% \HRTL@@mpRTLfootnotetext{% \ifHy@nesting \hyper@@anchor{\Hy@footnote@currentHref}{#1}% \else \Hy@raisedlink{% \hyper@@anchor{\Hy@footnote@currentHref}{\relax}% }#1% \fi }% }% \long\def\@mpLTRfootnotetext#1{% \HLTR@@mpLTRfootnotetext{% \ifHy@nesting \hyper@@anchor{\Hy@footnote@currentHref}{#1}% \else \Hy@raisedlink{% \hyper@@anchor{\Hy@footnote@currentHref}{\relax}% }#1% \fi }% }% \long\def\@footnotetext#1{% \H@@footnotetext{% \ifHy@nesting \hyper@@anchor{\Hy@footnote@currentHref}{#1}% \else \Hy@raisedlink{% \hyper@@anchor{\Hy@footnote@currentHref}{\relax}% }% \let\@currentHlabel\Hy@footnote@currentHlabel \let\@currentHref\Hy@footnote@currentHref \let\@currentlabelname\@empty #1% \fi }% }% \long\def\@RTLfootnotetext#1{% \HRTL@@RTLfootnotetext{% \ifHy@nesting \hyper@@anchor{\Hy@footnote@currentHref}{#1}% \else \Hy@raisedlink{% \hyper@@anchor{\Hy@footnote@currentHref}{\relax}% }% \let\@currentHlabel\Hy@footnote@currentHlabel \let\@currentHref\Hy@footnote@currentHref \let\@currentlabelname\@empty #1% \fi }% }% \long\def\@LTRfootnotetext#1{% \HLTR@@LTRfootnotetext{% \ifHy@nesting \hyper@@anchor{\Hy@footnote@currentHref}{#1}% \else \Hy@raisedlink{% \hyper@@anchor{\Hy@footnote@currentHref}{\relax}% }% \let\@currentHlabel\Hy@footnote@currentHlabel \let\@currentHref\Hy@footnote@currentHref \let\@currentlabelname\@empty #1% \fi }% }% \def\@footnotemark{% \leavevmode \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi \stepcounter{Hfootnote}% \global\let\Hy@saved@currentHlabel\@currentHlabel \global\let\Hy@saved@currentHref\@currentHref \hyper@makecurrent{Hfootnote}% \global\let\Hy@footnote@currentHlabel\@currentHlabel \global\let\Hy@footnote@currentHref\@currentHref \global\let\@currentHlabel\Hy@saved@currentHlabel \global\let\@currentHref\Hy@saved@currentHref \beginL\hyper@linkstart{link}{\Hy@footnote@currentHref}% \@makefnmark \hyper@linkend\endL \ifhmode\spacefactor\@x@sf\fi \relax }% \@ifpackageloaded{tabularx}{% \let\HyOrg@TX@endtabularx\TX@endtabularx \def\Hy@tabularx@hook{% \let\@footnotetext\H@@footnotetext \let\@LTRfootnotetext\HLTR@@LTRfootnotetext \let\@RTLfootnotetext\HRTL@@RTLfootnotetext \let\@footnotemark\H@@footnotemark \let\@mpfootnotetext\H@@mpfootnotetext \let\@mpLTRfootnotetext\HLTR@@mpLTRfootnotetext \let\@mpRTLfootnotetext\HRTL@@mpRTLfootnotetext }% \begingroup \toks@\expandafter{\TX@endtabularx}% \xdef\Hy@gtemp{% \noexpand\Hy@tabularx@hook \the\toks@ }% \endgroup \let\TX@endtabularx\Hy@gtemp }{}% \@ifpackageloaded{longtable}{% \CheckCommand*{\LT@p@LTRftntext}[1]{% \edef\@tempa{% \the\LT@p@ftn \noexpand\LTRfootnotetext[\the\c@footnote]% }% \global\LT@p@ftn\expandafter{\@tempa{#1}}% }% \long\def\LT@p@LTRftntext#1{% \edef\@tempa{% \the\LT@p@ftn \begingroup \noexpand\c@footnote=\the\c@footnote\relax \noexpand\protected@xdef\noexpand\@thefnmark{% \noexpand\thempfn }% \noexpand\Hy@LT@LTRfootnotetext{% \Hy@footnote@currentHref }% }% \global\LT@p@ftn\expandafter{% \@tempa{#1}% \endgroup }% }% \long\def\Hy@LT@LTRfootnotetext#1#2{% \HLTR@@LTRfootnotetext{% \ifHy@nesting \hyper@@anchor{#1}{#2}% \else \Hy@raisedlink{% \hyper@@anchor{#1}{\relax}% }% \def\@currentHref{#1}% \let\@currentlabelname\@empty #2% \fi }% }% \CheckCommand*{\LT@p@RTLftntext}[1]{% \edef\@tempa{% \the\LT@p@ftn \noexpand\RTLfootnotetext[\the\c@footnote]% }% \global\LT@p@ftn\expandafter{\@tempa{#1}}% }% \long\def\LT@p@RTLftntext#1{% \edef\@tempa{% \the\LT@p@ftn \begingroup \noexpand\c@footnote=\the\c@footnote\relax \noexpand\protected@xdef\noexpand\@thefnmark{% \noexpand\thempfn }% \noexpand\Hy@LT@RTLfootnotetext{% \Hy@footnote@currentHref }% }% \global\LT@p@ftn\expandafter{% \@tempa{#1}% \endgroup }% }% \long\def\Hy@LT@RTLfootnotetext#1#2{% \HRTL@@RTLfootnotetext{% \ifHy@nesting \hyper@@anchor{#1}{#2}% \else \Hy@raisedlink{% \hyper@@anchor{#1}{\relax}% }% \def\@currentHref{#1}% \let\@currentlabelname\@empty #2% \fi }% }% }{}% \@ifpackageloaded{bidipoem}{% \long\def\bidipoem@p@ftntext#1{% \edef\@tempx{% \the\bidipoem@p@ftn \begingroup \noexpand\csname c@\@mpfn\endcsname=\the\csname c@\@mpfn\endcsname\relax \noexpand\protected@xdef\noexpand\@thefnmark{% \noexpand\thempfn }% \noexpand\Hy@bidipoem@footnotetext{% \Hy@footnote@currentHref }% }% \global\bidipoem@p@ftn\expandafter{% \@tempx{#1}% \endgroup }% }% \long\def\Hy@bidipoem@footnotetext#1#2{% \H@@footnotetext{% \ifHy@nesting \hyper@@anchor{#1}{#2}% \else \Hy@raisedlink{% \hyper@@anchor{#1}{\relax}% }% \def\@currentHref{#1}% \let\@currentlabelname\@empty #2% \fi }% }% \long\def\bidipoem@p@LTRftntext#1{% \edef\@tempxi{% \the\bidipoem@p@ftn \begingroup \noexpand\csname c@\@mpfn\endcsname=\the\csname c@\@mpfn\endcsname\relax \noexpand\protected@xdef\noexpand\@thefnmark{% \noexpand\thempfn }% \noexpand\Hy@bidipoem@LTRfootnotetext{% \Hy@footnote@currentHref }% }% \global\bidipoem@p@ftn\expandafter{% \@tempxi{#1}% \endgroup }% }% \long\def\Hy@bidipoem@LTRfootnotetext#1#2{% \HLTR@@LTRfootnotetext{% \ifHy@nesting \hyper@@anchor{#1}{#2}% \else \Hy@raisedlink{% \hyper@@anchor{#1}{\relax}% }% \def\@currentHref{#1}% \let\@currentlabelname\@empty #2% \fi }% }% \long\def\bidipoem@p@RTLftntext#1{% \edef\@tempxii{% \the\bidipoem@p@ftn \begingroup \noexpand\csname c@\@mpfn\endcsname=\the\csname c@\@mpfn\endcsname\relax \noexpand\protected@xdef\noexpand\@thefnmark{% \noexpand\thempfn }% \noexpand\Hy@bidipoem@RTLfootnotetext{% \Hy@footnote@currentHref }% }% \global\bidipoem@p@ftn\expandafter{% \@tempxii{#1}% \endgroup }% }% \long\def\Hy@bidipoem@RTLfootnotetext#1#2{% \HRTL@@RTLfootnotetext{% \ifHy@nesting \hyper@@anchor{#1}{#2}% \else \Hy@raisedlink{% \hyper@@anchor{#1}{\relax}% }% \def\@currentHref{#1}% \let\@currentlabelname\@empty #2% \fi }% }% }{}% \let\HyOrg@maketitle\maketitle \def\maketitle{% \let\Hy@saved@footnotemark\@footnotemark \let\Hy@saved@footnotetext\@footnotetext \let\HyRTL@saved@RTLfootnotetext\@RTLfootnotetext \let\HyLTR@saved@LTRfootnotetext\@LTRfootnotetext \let\@footnotemark\H@@footnotemark \let\@footnotetext\H@@footnotetext \let\@RTLfootnotetext\HRTL@@RTLfootnotetext \let\@LTRfootnotetext\HLTR@@LTRfootnotetext \@ifnextchar[\Hy@maketitle@optarg{% ] \HyOrg@maketitle \Hy@maketitle@end }% }% \def\Hy@maketitle@optarg[#1]{% \HyOrg@maketitle[{#1}]% \Hy@maketitle@end }% \def\Hy@maketitle@end{% \ifx\@footnotemark\H@@footnotemark \let\@footnotemark\Hy@saved@footnotemark \fi \ifx\@footnotetext\H@@footnotetext \let\@footnotetext\Hy@saved@footnotetext \fi \ifx\@RTLfootnotetext\HRTL@@RTLfootnotetext \let\@RTLfootnotetext\HyRTL@saved@RTLfootnotetext \fi \ifx\@LTRfootnotetext\HLTR@@LTRfootnotetext \let\@LTRfootnotetext\HyLTR@saved@LTRfootnotetext \fi }% \def\realfootnote{% \@ifnextchar[\@xfootnote{% \stepcounter{\@mpfn}% \protected@xdef\@thefnmark{\thempfn}% \H@@footnotemark\H@@footnotetext }% }% \fi \def\hyper@link#1#2#3{% \ifmmode\else\beginL\fi\hyper@linkstart{#1}{#2}\ifmmode\else\if@RTL\beginR\fi\fi#3\ifmmode\else\if@RTL\endR\fi\fi\hyper@linkend\ifmmode\else\endL\fi } \def\url@#1{\beginL\hyper@linkurl{\Hurl{#1}}{#1}\endL} \def\hyper@natlinkstart#1{% \Hy@backout{#1}% \beginL\hyper@linkstart{cite}{cite.#1}\if@RTL\beginR\fi% \def\hyper@nat@current{#1}% } \def\hyper@natlinkend{% \if@RTL\endR\fi\hyper@linkend\endL } \def\hyper@natlinkbreak#1#2{% \if@RTL\endR\fi\hyper@linkend\endL#1\beginL\hyper@linkstart{cite}{cite.#2}\if@RTL\beginR\fi% }% } \begingroup \catcode`\$=6 % \catcode`\#=12 % \gdef\href@$1{\expandafter\href@split$1##\\}% \gdef\href@split$1#$2#$3\\$4{% \beginL\hyper@@link{$1}{$2}{\if@RTL\beginR\fi$4\if@RTL\endR\fi}\endL% \endgroup }% \endgroup \pdfstringdefDisableCommands{% \let\LRE\@firstofone \let\LR\@firstofone \let\RLE\@firstofone \let\RL\@firstofone \def\XeTeX{Xe\TeX} \def\XeLaTeX{Xe\LaTeX} } \@ifpackageloaded{longtable}{% \begingroup \def\y{\LT@array}% \@ifundefined{scr@LT@array}{% \@ifundefined{adl@LT@array}{}{\def\y{\adl@LT@array}}% }{\def\y{\scr@LT@array}}% \long\def\x\refstepcounter#1#2\@sharp#3#4\@nil{% \expandafter\endgroup \expandafter\def\y[##1]##2{% \H@refstepcounter{#1}% \hyper@makecurrent{table}% \let\Hy@LT@currentHref\@currentHref #2\@sharp#####4% }% }% \expandafter\expandafter\expandafter\x\y[{#1}]{#2}\@nil \begingroup \def\x#1\ifvoid\LT@foot#2\fi#3\@nil{% \endgroup \def\LT@start{% #1% \ifvoid\LT@foot#2\fi \let\@currentHref\Hy@LT@currentHref \Hy@raisedlink{% \hyper@anchorstart{\@currentHref}\hyper@anchorend }% #3% }% }% \expandafter\x\LT@start\@nil }{} \endinput %% %% End of file `hyperref-xetex-bidi.def'.