summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/bidi/hyperref-xetex-bidi.def
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-04-02 22:32:47 +0000
committerKarl Berry <karl@freefriends.org>2013-04-02 22:32:47 +0000
commit3dec2aa6b7720e0db9b3219f0a36ed5ebb577ee2 (patch)
treeb2652c206fb3230d9f8ff89db627b83f4b5e588b /Master/texmf-dist/tex/latex/bidi/hyperref-xetex-bidi.def
parentba89989f5cd51530e500f47fc9d078289265e6a6 (diff)
bidi is back on CTAN, so good
git-svn-id: svn://tug.org/texlive/trunk@29612 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.def261
1 files changed, 261 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..12c4fc3bfc4
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/bidi/hyperref-xetex-bidi.def
@@ -0,0 +1,261 @@
+%%
+%% This is file `hyperref-xetex-bidi.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% bidi.dtx (with options: `hyperref-xetex-bidi.def')
+%%
+%% ______________________________________
+%% Copyright © 2009–2013 Vafa Khalighi
+%%
+%% License information appended.
+%%
+%%
+\ProvidesFile{hyperref-xetex-bidi.def}[2013/05/20 v0.6 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{%
+ \ifmmode\else\beginL\fi\hyper@linkstart{#1}{#2}\if@RTL\beginR\fi#3\if@RTL\endR\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
+%%
+%% Copyright © 2009–2013 Vafa Khalighi <vafa[dot]kgh[at]gmail[dot]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 `hyperref-xetex-bidi.def'.