summaryrefslogtreecommitdiff
path: root/macros/luatex/latex/luabidi/tex/luabidi.sty
blob: abc1d2a9367dc41cf9254717d7c3fc7315705248 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
%% This file is luabidi.sty
%%
%% Copyright © 2009 Vafa Khalighi, 2013--2019 Arthur Reutenauer, 2019 Jürgen Spitzmüller
%%
%%%% 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}[2019/08/24 v0.4
	Bidirectional typesetting in LuaTeX]
\newif\if@RTL
\newif\if@RTLmain
\def\setRTLmain{\pagedir TRT \bodydir TRT \pardir TRT \textdir TRT}
\def\setRTL{\@RTLtrue\pardir TRT \textdir TRT}
\let\setRL=\setRTL
\def\setLTR{\@RTLfalse\pardir TLT \textdir TLT}
\let\setLR=\setLTR
\let\unsetRTL=\setLTR
\let\unsetLTR=\setRTL
\def\RTL{\@RTLtrue\trivlist \pardir TRT \textdir TRT\item\relax}
\def\endRTL{\@RTLfalse\endtrivlist}
\def\LTR{\trivlist \pardir TLT \textdir TLT\item\relax}
\def\endLTR{\endtrivlist}
\def\@ensure@RTL#1{\if@RTL#1\else\RLE{#1}\fi}
\def\@ensure@LTR#1{\if@RTL\LRE{#1}\else{#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}%
\pardir TLT \textdir TLT\footnotetext{#1}%
\endgroup
}

\DeclareOption{autofootnoterule}{\input{autofootnoterule}}



\ProcessOptions
\endinput