summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/bidi/hyperref-xetex-bidi.def
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-04-10 00:04:40 +0000
committerKarl Berry <karl@freefriends.org>2010-04-10 00:04:40 +0000
commit5fd15d101add3e08ff14e00c8a38998602e87959 (patch)
tree0ec09aea3b1a0bac1b45bd6635145cd5d2ab267c /Master/texmf-dist/tex/latex/bidi/hyperref-xetex-bidi.def
parent1a415339f97d6e886e15efee8e7be4c3ba4e38ec (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.def252
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'.