blob: 2444b8a391fc11942d2752cd52cff635d4510325 (
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
%%
%% This is file `bidi.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% bidi.dtx (with options: `bidi.sty')
%%
%% ______________________________________
%% Copyright © 2009–2012 Vafa Khalighi
%%
%% License information appended.
%%
%%
\NeedsTeXFormat{LaTeX2e}
\def\bididate{2012/01/01}
\def\bidiversion{v1.3.5}
\ProvidesPackage{bidi}[\bididate\space \bidiversion\space
Bidirectional typesetting in plain TeX and LaTeX]
\edef\bidiinfo{%
bidi package (Support for bidirectional typesetting in plain TeX and LaTeX)^^J
Description: A convenient interface for typesetting bidirectional^^J
texts in plain TeX and LaTeX. The package includes adaptations for use^^J
with many other commonly-used packages.^^J
Copyright © 2009–2012 Vafa Khalighi^^J
\bidiversion, \bididate^^J
License: LaTeX Project Public License, version 1.3c or higher (your choice)^^J
Location on CTAN: /macros/latex/contrib/bidi}
\typeout{\bidiinfo}
\edef\bidi@everyjob{\the\everyjob}
\everyjob{\bidi@everyjob\typeout{\bidiinfo}}
\RequirePackage{iftex}
\def\@tagsextension{clo}
\def\@definitionfileextension{def}
\def\@iftagsloaded{\@ifl@aded\@tagsextension}
\def\@ifdefinitionfileloaded{\@ifl@aded\@definitionfileextension}
\def\eqnewif#1#2{%
\count@\escapechar \escapechar\m@ne
\let#1\iffalse
\let#2\iffalse
\eq@if#1#2\iftrue
\eq@if#1#2\iffalse
\escapechar\count@}
\def\eq@if#1#2#3{%
\expandafter\def\csname\expandafter\@gobbletwo\string#1%
\expandafter\@gobbletwo\string#3\endcsname
{\let#1#3%
\let#2#3}%
\expandafter\def\csname\expandafter\@gobbletwo\string#2%
\expandafter\@gobbletwo\string#3\endcsname
{\let#2#3%
\let#1#3}}
\newcommand*{\if@bidi@csdef}[1]{%
\ifcsname#1\endcsname
\expandafter\@firstoftwo
\else
\expandafter\@secondoftwo
\fi}
\newcommand{\if@bidi@def}[1]{%
\ifdefined#1%
\expandafter\@firstoftwo
\else
\expandafter\@secondoftwo
\fi}
\newcommand{\bidi@namelongdef}[1]{%
\long\expandafter\def\csname #1\endcsname}
\def\bidi@ensure@newcommand{\@star@or@long\bidi@ensure@new@command}
\def\bidi@ensure@new@command#1{%
\begingroup \escapechar\m@ne\xdef\@gtempa{{\string#1}}\endgroup
\expandafter\if@bidi@csdef\@gtempa
{\relax%
\let\@ifdefinable\@rc@ifdefinable%
\new@command#1}{\new@command#1}}
\def\bidi@ensure@newlength#1{\if@bidi@def#1{}{\newskip#1}}
\eqnewif{\if@RTLmain}{\if@rlmain}
\eqnewif{\if@RTL}{\if@rl}
\newif\if@RTLmaths
\newif\if@Latin
\eqnewif{\if@RTLtab}{\if@tab@rl}
\newif\if@RTLmarginpar
\newif\if@LTRmarginpar
\newif\if@LTRbibitems
\newif\if@RTLbibitems
\newif\if@sentdir
\newif\if@parafootRTL
\newif\if@RTLcolumnfootnotes
\eqnewif{\if@RTL@footnote}{\if@rl@footnote}
\@RTLmainfalse
\AtBeginDocument{%
\if@RTLmain\else
\if@RTL\@RTLmaintrue%
\else\@RTLmainfalse%
\fi%
\fi%
}
\let\n@xt=\
\def\LRE{\protect\pLRE}%
\def\pLRE{\protect\afterassignment\moreLRE \let\n@xt= }
\def\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}
\ifXeTeX
\input{xetex-bidi.def}
\else
\ifLuaTeX
\input{luatex-bidi.def}
\else
\PackageError{bidi}{TeX engines other than XeTeX and LuaTeX are not yet supported}{}
\fi
\fi
\input{loadingorder-bidi.def}
\ProcessOptions
%%
%% Copyright © 2009–2012 Vafa Khalighi <vafaklg@gmail.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 `bidi.sty'.
|