summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-05-28 22:18:34 +0000
committerKarl Berry <karl@freefriends.org>2013-05-28 22:18:34 +0000
commitb35f3408669be630e54e72ffa92a8757287ea2ba (patch)
treeafda65773e5946e6a32f9d3a23302e5ed021b3ed /Master/texmf-dist/tex
parent797980e75204d1b67d217a40e2cf981721e90d79 (diff)
luabidi (28may13)
git-svn-id: svn://tug.org/texlive/trunk@30790 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/lualatex/luabidi/arabmaths.tex2
-rw-r--r--Master/texmf-dist/tex/lualatex/luabidi/autofootnoterule.tex116
-rw-r--r--Master/texmf-dist/tex/lualatex/luabidi/luabidi.sty56
-rw-r--r--Master/texmf-dist/tex/lualatex/luabidi/textwidthfootnoterule.tex2
4 files changed, 176 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/lualatex/luabidi/arabmaths.tex b/Master/texmf-dist/tex/lualatex/luabidi/arabmaths.tex
new file mode 100644
index 00000000000..f62f4dc35e9
--- /dev/null
+++ b/Master/texmf-dist/tex/lualatex/luabidi/arabmaths.tex
@@ -0,0 +1,2 @@
+\luatexmathdir TRT
+\def\@eqnnum{{\normalfont \normalcolor \luatextextdir TLT ({\luatextextdir TRT\theequation})}}
diff --git a/Master/texmf-dist/tex/lualatex/luabidi/autofootnoterule.tex b/Master/texmf-dist/tex/lualatex/luabidi/autofootnoterule.tex
new file mode 100644
index 00000000000..a1211cb10fc
--- /dev/null
+++ b/Master/texmf-dist/tex/lualatex/luabidi/autofootnoterule.tex
@@ -0,0 +1,116 @@
+\ifx \CatEscape\undefined
+ \chardef\CatEscape=0
+ \chardef\CatOpen=1
+ \chardef\CatClose=2
+ \chardef\CatIgnore=9
+ \chardef\CatLetter=11
+ \chardef\CatOther=12
+ \chardef\CatActive=13 % is defined in Plain already
+
+ \chardef\CatUsCode=\catcode`\_
+\fi
+
+\catcode`\_=\CatLetter % top level macro file
+
+
+\def\l@fn{%
+ \hbox to \columnwidth
+ {\luatexpagedir TLT\vbox{\kern -3\p@
+ \hrule width .4\columnwidth \kern2.6\p@}\hfil}}
+\def\r@fn{%
+ \hrule width .4\columnwidth\kern 2.6\p@}
+
+
+\def\@makefnmark{\hbox{$^{\hbox{\scriptsize\@thefnmark}}\m@th$}}
+
+
+\def\leftfootnoterule{\global\def\footnoterule{\l@fn}}
+\def\rightfootnoterule{\global\def\footnoterule{\r@fn}}
+\leftfootnoterule
+
+%%% \beginprog
+\newread\old_foot_file
+\newwrite\foot_file
+\def\foot_file_name{\jobname.fot\relax}
+\def\init_footnote{%
+ \openin\old_foot_file\foot_file_name
+ \ifeof\old_foot_file \closein\old_foot_file
+ \else \closein\old_foot_file
+ \read_foot_file
+ \fi
+ \immediate\openout\foot_file\foot_file_name
+ \immediate\write\foot_file{\relax}%
+ \global\let\init_footnote\relax
+ }
+
+\newcount\foot_name_no % for generating footnote mark names
+
+
+
+
+
+\newcount\autofootnote
+\def\fnpp_next_footnote{%
+ \init_footnote
+ \global\advance\foot_name_no\@ne
+ \global\advance\c@footnote\@ne
+ \edef\do_write{%
+ \immediate\write\foot_file{%
+ \string\advance\autofootnote\@ne
+ \string\expandafter\xdef
+ \string\csname\space f@\number\foot_name_no \endcsname{%
+ \string\number\autofootnote
+ }%
+ }%
+ }%
+ \do_write
+ \global\autofootnote 0\csname f@\number\foot_name_no \endcsname \relax
+ }
+
+\def\read_foot_file{%
+ \begingroup
+ \catcode`\@\CatLetter \catcode`\^^M\CatIgnore
+ \input \foot_file_name
+ \endgroup
+ }
+
+\let\fnpp_orig_outputpage=\@outputpage
+\def\@outputpage{%
+ \ifx \init_footnote\relax
+ \immediate\write\foot_file{\autofootnote\z@}%
+ \fi
+ \fnpp_orig_outputpage
+ }
+
+\let\FnppOrigFootnote=\footnote % save original bindings
+\let\FnppOrigFootnotemark=\footnotemark
+
+\def\footnote{%
+ \@ifnextchar[% % ] (Emacs)
+ \@xfootnote
+ {\fnpp_next_footnote \ifnum\autofootnote=1\rightfootnoterule\fi \@xfootnote[\the\c@footnote] %
+}%
+ }
+\def\footnotemark{%
+ \@ifnextchar[% % ] (Emacs)
+ \@xfootnotemark
+ {\fnpp_next_footnote \ifnum\autofootnote=1\rightfootnoterule\fi \@xfootnotemark[\the\c@footnote]}%
+ }
+
+
+
+
+\def\footnotemarkLR{%
+ \@ifnextchar[% % ] (Emacs)
+ \@xfootnotemark
+ {\fnpp_next_footnote \ifnum\autofootnote=1\leftfootnoterule\fi\@xfootnotemark[\the\c@footnote]}%
+ }
+
+
+\def\Footnote#1{%
+\begingroup
+\footnotemarkLR%
+\renewcommand{\thefootnote}{\@arabic\c@footnote}%
+\luatexpardir TLT \luatextextdir TLT\footnotetext{#1}%
+\endgroup
+}
diff --git a/Master/texmf-dist/tex/lualatex/luabidi/luabidi.sty b/Master/texmf-dist/tex/lualatex/luabidi/luabidi.sty
new file mode 100644
index 00000000000..ca8b47cca1c
--- /dev/null
+++ b/Master/texmf-dist/tex/lualatex/luabidi/luabidi.sty
@@ -0,0 +1,56 @@
+%% This file is luabidi.sty
+%%
+%% Copyright © 2009 Vafa Khalighi, 2013 Arthur Reutenauer
+%%
+%%%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{luabidi}[2013/05/27 v0.2
+ Bidirectional typesetting in LuaTeX]
+\newif\if@RTL
+\newif\if@RTLmain
+\def\setRTLmain{\luatexpagedir TRT \luatexbodydir TRT \luatexpardir TRT \luatextextdir TRT}
+\def\setRTL{\@RTLtrue\luatexpardir TRT \luatextextdir TRT}
+\let\setRL=\setRTL
+\def\setLTR{\@RTLfalse\luatexpardir TLT \luatextextdir TLT}
+\let\setLR=\setLTR
+\let\unsetRTL=\setLTR
+\let\unsetLTR=\setRTL
+\def\RTL{\@RTLtrue\trivlist \luatexpardir TRT \luatextextdir TRT\item\relax}
+\def\endRTL{\@RTLfalse\endtrivlist}
+\def\LTR{\trivlist \luatexpardir TLT \luatextextdir TLT\item\relax}
+\def\endLTR{\endtrivlist}
+\def\@ensure@RTL#1{\if@RTL#1\else\RLE{#1}\fi}
+\def\@ensure@LTR#1{\if@RTL#1\else\LRE{#1}\fi}
+\def\@ensure@dir#1{\if@RTL\RLE{#1}\else{#1}\fi}
+\let\@ensure@maindir=\@ensuredir
+\@RTLmainfalse
+\DeclareOption{arabmaths}{\input{arabmaths}}
+\DeclareOption{textwidthfootnoterule}{\input{textwidthfootnoterule}}
+\let\n@xt=\
+\DeclareRobustCommand*\LRE{\protect\pLRE}
+\def\pLRE{\protect\afterassignment\moreLRE \let\n@xt= }
+\DeclareRobustCommand*\RLE{\protect\pRLE}
+\def\pRLE{\protect\afterassignment\moreRLE \let\n@xt= }
+\def\bracetext{\ifcat\n@xt{\else\ifcat\n@xt}\fi
+ \errmessage{Missing left brace has been substituted}\fi \bgroup}
+\def\moreLRE{\bracetext \aftergroup\unsetLTR \setLTR\@RTLfalse}
+\def\moreRLE{\bracetext \aftergroup\unsetRTL \setRTL\@RTLtrue}
+\let\LR=\LRE
+\let\RL=\RLE
+
+\def\Footnote#1{%
+\begingroup
+\footnotemark
+\renewcommand{\thefootnote}{\@arabic\c@footnote}%
+\luatexpardir TLT \luatextextdir TLT\footnotetext{#1}%
+\endgroup
+}
+
+\DeclareOption{autofootnoterule}{\input{autofootnoterule}}
+
+
+
+\ProcessOptions
+\endinput
diff --git a/Master/texmf-dist/tex/lualatex/luabidi/textwidthfootnoterule.tex b/Master/texmf-dist/tex/lualatex/luabidi/textwidthfootnoterule.tex
new file mode 100644
index 00000000000..7fc71e0cefc
--- /dev/null
+++ b/Master/texmf-dist/tex/lualatex/luabidi/textwidthfootnoterule.tex
@@ -0,0 +1,2 @@
+\def\footnoterule{\kern-3\p@
+ \hrule \@width \textwidth \kern 2.6\p@}