summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/xelatex/bidi/bidi.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/bidi/bidi.sty')
-rw-r--r--Master/texmf-dist/tex/xelatex/bidi/bidi.sty225
1 files changed, 165 insertions, 60 deletions
diff --git a/Master/texmf-dist/tex/xelatex/bidi/bidi.sty b/Master/texmf-dist/tex/xelatex/bidi/bidi.sty
index c453366df83..89f18c2000e 100644
--- a/Master/texmf-dist/tex/xelatex/bidi/bidi.sty
+++ b/Master/texmf-dist/tex/xelatex/bidi/bidi.sty
@@ -1,28 +1,42 @@
%%
%% This is file `bidi.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% bidi.dtx (with options: `bidi.sty')
+
%%
%% __________________________________
-%% Copyright © 2009 Vafa Khalighi
+%% Copyright © 2009-2010 Vafa Khalighi
%%
%% License information appended.
%%
%%
\NeedsTeXFormat{LaTeX2e}
-\def\bididate{2009/08/09}
-\def\bidiversion{v1.0.3}
-\def\bidirevision{revision 82}
+\def\bididate{2010/03/01}
+\def\bidiversion{v1.0.4}
+\def\bidirevision{revision 202}
\ProvidesPackage{bidi}[\bididate\space \bidiversion\space <\bidirevision>
Bidirectional typesetting in XeLaTeX]
\AtBeginDocument{\special{pdf: docinfo <<
-/Creator (Bidi \bidiversion\space <\bidirevision> Copyright © 2009 Vafa Khalighi)
+/Creator (Bidi \bidiversion\space <\bidirevision> Copyright © 2009-2010 Vafa Khalighi)
>>}}
+\edef\bidiinfo{%
+bidi package (Support for bidirectional typesetting with XeLaTeX)^^J
+Description: A convenient interface for typesetting bidirectional^^J
+texts with XeLaTeX. The package includes adaptations for use^^J
+with many other commonly-used packages.^^J
+Copyright © 2009-2010 Vafa Khalighi^^J
+\bidiversion, <\bidirevision>, \bididate^^J
+License: LaTeX Project Public License, version 1.3c or higher (your choice)^^J
+Home: http://bidi.berlios.de^^J
+Location on CTAN: /macros/xetex/latex/bidi}
+\typeout{\bidiinfo}
+\edef\bidi@everyjob{\the\everyjob}
+\everyjob{\bidi@everyjob\typeout{\bidiinfo}}
+\def\@tagsextension{clo}
+\def\@definitionfileextension{def}
+\def\@iftagsloaded{\@ifl@aded\@tagsextension}
+\def\@ifdefinitionfileloaded{\@ifl@aded\@definitionfileextension}
\newif\if@RTLmain
\newif\if@RTL
+\newif\if@Latin
\newif\if@RTLtab
\newif\if@sentdir
\newif\if@RTL@footnote
@@ -39,20 +53,6 @@ Bidirectional typesetting in XeLaTeX]
\let\@tab@rltrue=\@RTLtabtrue
\let\@tab@rlfalse=\@RTLtabfalse
\@RTLmainfalse
-\RequirePackage{amsmath}
-\newcommand\bidi@isloaded[2][]{
- \expandafter\ifx\csname if@bidi@#2loaded@\endcsname\relax
- \expandafter\newif\csname if@bidi@#2loaded@\endcsname
- \fi
- \@ifpackageloaded{#2}
- {\csname @bidi@#2loaded@true\endcsname #1}
- {\csname @bidi@#2loaded@false\endcsname}}
-\bidi@isloaded{xunicode}
-\AtBeginDocument{
- \if@bidi@xunicodeloaded@
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package xunicode before bidi package. Please load package xunicode after bidi package, and then try to run xelatex on your document again}{}]{xunicode}
- \fi%
-}
\ifx\TeXXeTstate\undefined\else%
\TeXXeTstate=1
\fi
@@ -123,12 +123,13 @@ Bidirectional typesetting in XeLaTeX]
\let\setRL=\setRTL
\let\setLR=\setLTR
\let\unsetRL=\setLTR
-\DeclareOption{RTLdocument}{\@RTLtrue\@RTL@footnotetrue\RTLdblcol\autofootnoterule}
-\DeclareOption{rldocument}{\@RTLtrue\@RTL@footnotetrue\RTLdblcol\autofootnoterule}
+\DeclareOption{RTLdocument}{\@RTLtrue\@RTL@footnotetrue\autofootnoterule}
+\DeclareOption{rldocument}{\@RTLtrue\@RTL@footnotetrue\autofootnoterule}
\def\rcases#1{\left.\vcenter{\normalbaselines\m@th
\ialign{$##\hfil$&\quad{##}\hfil\crcr#1\crcr}}\,\right\}}
\def\SepMark#1{\gdef\@SepMark{\if@RTL\beginR\fi#1\if@RTL\endR\fi}}
\SepMark{.}
+\def\@thmcountersep{\@SepMark}
\def\list#1#2{%
\ifnum \@listdepth >5\relax
\@toodeep
@@ -183,8 +184,8 @@ Bidirectional typesetting in XeLaTeX]
\def\narrower{%
\advance\if@RTL\rightskip\else\leftskip\fi\parindent
\advance\if@RTL\leftskip\else\rightskip\fi\parindent}
-\def\leftmark{\beginR\expandafter\@leftmark\botmark\@empty\@empty\endR}
-\def\rightmark{\beginR\expandafter\@rightmark\firstmark\@empty\@empty\endR}
+\def\leftmark{\if@RTLmain\beginR\fi\expandafter\@leftmark\botmark\@empty\@empty\if@RTLmain\endR\fi}
+\def\rightmark{\if@RTLmain\beginR\fi\expandafter\@rightmark\firstmark\@empty\@empty\if@RTLmain\endR\fi}
\def\underline#1{%
\relax
\ifmmode\@@underline{#1}%
@@ -282,39 +283,141 @@ $\@@underline{\hbox{#1}}\m@th$\relax\fi\fi}
\@whilesw\if@fcolmade \fi
{\@outputpage\@startdblcolumn}\endgroup
\fi}
+\renewcommand{\@outputdblcol}{\if@RTLmain\RTL@outputdblcol\else\LTR@outputdblcol\fi}
\newcommand{\RTLdblcol}{\renewcommand{\@outputdblcol}{\RTL@outputdblcol}}
\newcommand{\LTRdblcol}{\renewcommand{\@outputdblcol}{\LTR@outputdblcol}}
-\long\def\@makecaption#1#2{%
- \vskip 10pt%
- \setbox\@tempboxa\hbox{#1: #2}%
- \ifdim \wd\@tempboxa >\hsize \if@RTL\beginR\fi#1: #2\par%
- \else \hbox
-to\hsize{\if@RTL\beginR\fi\hfil\box\@tempboxa\hfil%
-\if@RTL\endR\fi}%
- \fi}
-\renewenvironment{equation}{%
- \incr@eqnum
- \mathdisplay@push
- \st@rredfalse \global\@eqnswtrue
- \beginL\mathdisplay{equation}%
-}{%
- \endmathdisplay{equation}\endL%
- \mathdisplay@pop
- \ignorespacesafterend
-}
-\renewcommand{\numberwithin}[3][\arabic]{%
- \@ifundefined{c@#2}{\@nocounterr{#2}}{%
- \@ifundefined{c@#3}{\@nocnterr{#3}}{%
- \@addtoreset{#2}{#3}%
- \@xp\xdef\csname the#2\endcsname{%
- \@xp\@nx\csname the#3\endcsname \@SepMark\@nx#1{#2}}}}%
+\def\@addmarginpar{\@next\@marbox\@currlist{\@cons\@freelist\@marbox
+ \@cons\@freelist\@currbox}\@latexbug\@tempcnta\@ne
+ \if@twocolumn
+ \if@firstcolumn \@tempcnta\m@ne \fi
+ \else
+ \if@mparswitch
+ \ifodd\c@page \else\@tempcnta\m@ne \fi
+ \fi
+ \if@reversemargin \@tempcnta -\@tempcnta \fi
+ \fi
+ \ifnum\@tempcnta <\z@ \global\setbox\@marbox\box\@currbox \fi
+ \@tempdima\@mparbottom
+ \advance\@tempdima -\@pageht
+ \advance\@tempdima\ht\@marbox
+ \ifdim\@tempdima >\z@
+ \@latex@warning@no@line {Marginpar on page \thepage\space moved}%
+ \else
+ \@tempdima\z@
+ \fi
+ \global\@mparbottom\@pageht
+ \global\advance\@mparbottom\@tempdima
+ \global\advance\@mparbottom\dp\@marbox
+ \global\advance\@mparbottom\marginparpush
+ \advance\@tempdima -\ht\@marbox
+ \global\setbox \@marbox
+ \vbox {\vskip \@tempdima
+ \box \@marbox}%
+ \global \ht\@marbox \z@
+ \global \dp\@marbox \z@
+ \kern -\@pagedp
+ \nointerlineskip
+ \hb@xt@\columnwidth
+ {\if@RTL\beginR\fi\ifnum \@tempcnta >\z@
+ \hskip\columnwidth \hskip\marginparsep
+ \else
+ \hskip -\marginparsep \hskip -\marginparwidth
+ \fi
+ \box\@marbox \hss\if@RTL\endR\fi}%
+ \nointerlineskip
+ \hbox{\vrule \@height\z@ \@width\z@ \@depth\@pagedp}}
+\def\@stopline{\unskip\@stopfield\if@rjfield \global\@rjfieldfalse
+ \@tempdima\@totalleftmargin \advance\@tempdima\linewidth
+\hbox to\@tempdima{\if@RTL\beginR\fi\@itemfudge\hskip\dimen\@curtabmar
+ \box\@curline\hfil\box\@curfield\if@RTL\endR\fi}\else\@addfield
+ \hbox to\linewidth{\if@RTL\beginR\fi\@itemfudge
+ \hskip\dimen\@curtabmar\box\@curline\hfil\if@RTL\endR\fi}%
+\fi}
+\def\@outputpage{%
+\begingroup % the \endgroup is put in by \aftergroup
+ \let \protect \noexpand
+ \@resetactivechars
+ \global\let\@@if@newlist\if@newlist
+ \global\@newlistfalse
+ \@parboxrestore
+ \shipout \vbox{%
+ \set@typeset@protect
+ \aftergroup \endgroup
+ \aftergroup \set@typeset@protect
+ % correct? or just restore by ending
+ % the group?
+ \if@specialpage
+ \global\@specialpagefalse\@nameuse{ps@\@specialstyle}%
+ \fi
+ \if@twoside
+ \ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot
+ \let\@themargin\oddsidemargin
+ \else \let\@thehead\@evenhead
+ \let\@thefoot\@evenfoot \let\@themargin\evensidemargin
+ \fi
+ \ifx\@thehead\@empty \let\@thehead\hfil \fi
+ \ifx\@thefoot\@empty \let\@thefoot\hfil \fi
+ \else %% not @twoside
+ \ifx\@oddhead\@empty \let\@thehead\hfil \fi
+ \ifx\@oddfoot\@empty \let\@thefoot\hfil \fi
+ \fi
+ \reset@font
+ \normalsize
+ \normalsfcodes
+ \let\label\@gobble
+ \let\index\@gobble
+ \let\glossary\@gobble
+ \baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@
+ \@begindvi
+ \vskip \topmargin
+ \moveright\@themargin \vbox {%
+ \setbox\@tempboxa \vbox to\headheight{%
+ \vfil
+ \color@hbox
+ \normalcolor
+ \hb@xt@\textwidth{\if@RTLmain\beginR\fi\@thehead\if@RTLmain\endR\fi}%
+ \color@endbox
+ }% %% 22 Feb 87
+ \dp\@tempboxa \z@
+ \box\@tempboxa
+ \vskip \headsep
+ \box\@outputbox
+ \baselineskip \footskip
+ \color@hbox
+ \normalcolor
+ \hb@xt@\textwidth{\if@RTLmain\beginR\fi\@thefoot\if@RTLmain\endR\fi}%
+ \color@endbox
+ }%
+ }%
+ \global\let\if@newlist\@@if@newlist
+ \global \@colht \textheight
+ \stepcounter{page}%
+ \let\firstmark\botmark
}
-\def\tagform@#1{\maketag@@@{\if@RTL)\else(\fi\ignorespaces\text{#1}\unskip\@@italiccorr\if@RTL(\else)\fi}}
-\renewcommand{\eqref}[1]{\beginL\textup{\tagform@{\ref{#1}}}\endL}
-\let\@@text=\text
-\def\text#1{\@@text{\if@RTL\beginR\fi#1\if@RTL\endR\fi}}
+\long\def\@makecaption#1#2{%
+ \vskip\abovecaptionskip
+ \sbox\@tempboxa{#1: #2}%
+ \ifdim \wd\@tempboxa >\hsize
+ \if@RTL\beginR\fi#1: #2\if@RTL\endR\fi\par
+ \else
+ \global \@minipagefalse
+ \hb@xt@\hsize{\if@RTL\beginR\fi\hfil\box\@tempboxa\hfil\if@RTL\endR\fi}%
+ \fi
+ \vskip\belowcaptionskip}
+\def\equation{\beginL$$\refstepcounter{equation}}
+\def\endequation{\eqno \hbox{\@eqnnum}$$\endL\@ignoretrue}
+\def\@eqnnum{{\normalfont \normalcolor \if@RTL\beginR\fi(\theequation)\if@RTL\endR\fi}}
\input{footnote-bidi.def}
+\input{loadingorder-bidi.def}
+\@iftagsloaded{leqno}{\input{leqno-bidi.def}}{}
+\@iftagsloaded{fleqn}{\input{fleqn-bidi.def}}{}
+\@ifpackageloaded{amsmath}{\input{amsmath-bidi.def}}{}
\@ifpackageloaded{amsthm}{\input{amsthm-bidi.def}}{}
+\@ifpackageloaded{breqn}{\input{breqn-bidi.def}}{}
+\@ifpackageloaded{color}{\input{color-bidi.def}}{}
+\@ifpackageloaded{xcolor}{\input{xcolor-bidi.def}}{}
+\@ifpackageloaded{colortbl}{\input{colortbl-bidi.def}}{}
+\@ifpackageloaded{flowfram}{\input{flowfram-bidi.def}}{}
\@ifpackageloaded{xltxtra}{\input{xltxtra-bidi.def}}{}
\@ifpackageloaded{wrapfig}{\input{wrapfig-bidi.def}}{}
\@ifpackageloaded{graphicx}{\input{graphicx-bidi.def}}{}
@@ -328,6 +431,8 @@ to\hsize{\if@RTL\beginR\fi\hfil\box\@tempboxa\hfil%
\@ifpackageloaded{array}{\input{array-bidi.def}}{}
\@ifpackageloaded{stabular}{\input{stabular-bidi.def}}{}
\@ifpackageloaded{longtable}{\input{longtable-bidi.def}}{}
+\@ifpackageloaded{arydshln}{\input{arydshln-bidi.def}}{}
+\@ifpackageloaded{multicol}{\input{multicol-bidi.def}}{}
\@ifpackageloaded{minitoc}{\input{minitoc-bidi.def}}{}
\@ifpackageloaded{ragged2e}{\input{ragged2e-bidi.def}}{}
\@ifpackageloaded{tabls}{\input{tabls-bidi.def}}{}
@@ -335,9 +440,10 @@ to\hsize{\if@RTL\beginR\fi\hfil\box\@tempboxa\hfil%
\@ifpackageloaded{tocstyle}{\input{tocstyle-bidi.def}}{}
\@ifclassloaded{article}{\input{article-bidi.def}}{}
\@ifclassloaded{amsart}{\input{amsart-bidi.def}}{}
+\@ifclassloaded{letter}{\input{letter-bidi.def}}{}
\@ifclassloaded{memoir}{\input{memoir-bidi.def}}{}
\@ifclassloaded{refrep}{\input{refrep-bidi.def}}{}
-\@ifclassloaded{report}{\input{report-bidi.def}}{}
+\@ifclassloaded{report}{\@ifpackageloaded{flowfram}{}{\input{report-bidi.def}}}{}
\@ifclassloaded{rapport3}{\input{rapport3-bidi.def}}{}
\@ifclassloaded{scrartcl}{\input{scrartcl-bidi.def}}{}
\@ifclassloaded{scrbook}{\input{scrbook-bidi.def}}{}
@@ -345,14 +451,13 @@ to\hsize{\if@RTL\beginR\fi\hfil\box\@tempboxa\hfil%
\@ifclassloaded{amsbook}{\input{amsbook-bidi.def}}{}
\@ifclassloaded{bookest}{\input{bookest-bidi.def}}{}
\@ifclassloaded{extbook}{\input{extbook-bidi.def}}{}
-\@ifclassloaded{book}{\input{book-bidi.def}}{}
-\@ifclassloaded{bidibeamer}{\input{bidibeamer-bidi.def}}{}
+\@ifclassloaded{book}{\@ifpackageloaded{flowfram}{}{\input{book-bidi.def}}}{}
\@ifpackageloaded{tocbibind}{\@ifclassloaded{memoir}{}{\input{tocbibind-bidi.def}}}{}
\@ifpackageloaded{tocloft}{\@ifclassloaded{memoir}{}{\input{tocloft-bidi.def}}}{}
\ProcessOptions
%%
-%% Copyright © 2009 by Vafa Khalighi <vafa@users.berlios.de>
+%% Copyright © 2009-2010 by Vafa Khalighi <vafa@users.berlios.de>
%%
%% Distributable under the LaTeX Project Public License,
%% version 1.3c or higher (your choice). The latest version of