diff options
author | Karl Berry <karl@freefriends.org> | 2013-05-28 22:18:34 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-05-28 22:18:34 +0000 |
commit | b35f3408669be630e54e72ffa92a8757287ea2ba (patch) | |
tree | afda65773e5946e6a32f9d3a23302e5ed021b3ed /Master/texmf-dist/tex | |
parent | 797980e75204d1b67d217a40e2cf981721e90d79 (diff) |
luabidi (28may13)
git-svn-id: svn://tug.org/texlive/trunk@30790 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
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@} |