diff options
author | Karl Berry <karl@freefriends.org> | 2010-04-10 00:04:40 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-04-10 00:04:40 +0000 |
commit | 5fd15d101add3e08ff14e00c8a38998602e87959 (patch) | |
tree | 0ec09aea3b1a0bac1b45bd6635145cd5d2ab267c /Master/texmf-dist/tex/latex/bidi/hyperref-xetex-bidi.def | |
parent | 1a415339f97d6e886e15efee8e7be4c3ba4e38ec (diff) |
bidi now lualatex, too (9apr10)
git-svn-id: svn://tug.org/texlive/trunk@17780 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/bidi/hyperref-xetex-bidi.def')
-rw-r--r-- | Master/texmf-dist/tex/latex/bidi/hyperref-xetex-bidi.def | 252 |
1 files changed, 252 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/bidi/hyperref-xetex-bidi.def b/Master/texmf-dist/tex/latex/bidi/hyperref-xetex-bidi.def new file mode 100644 index 00000000000..df60a1a0c9c --- /dev/null +++ b/Master/texmf-dist/tex/latex/bidi/hyperref-xetex-bidi.def @@ -0,0 +1,252 @@ +%% +%% This is file `hyperref-xetex-bidi.def', + +%% +%% __________________________________ +%% Copyright © 2009-2010 Vafa Khalighi +%% +%% License information appended. +%% +%% +\ProvidesFile{hyperref-xetex-bidi.def}[2010/07/25 v0.4 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 + }% + \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{% + \beginL\hyper@linkstart{#1}{#2}\if@RTL\beginR\fi#3\if@RTL\endR\fi\hyper@linkend\endL +} +\let\origin@href=\href +\renewcommand\href[2]{\beginL\origin@href{#1}{\if@RTL\beginR\fi#2\if@RTL\endR\fi}\endL} +\let\origin@url=\url +\renewcommand\url[1]{\beginL\origin@url{#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% +}% +} +%% +%% Copyright © 2009-2010 by Vafa Khalighi <vafakh84@gmail.com> +%% +%% 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 `hyperref-xetex-bidi.def'. |