diff options
author | Karl Berry <karl@freefriends.org> | 2010-01-11 18:46:44 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-01-11 18:46:44 +0000 |
commit | b2653703ac55bf05f550a80ffa1fe05c5fe8bd47 (patch) | |
tree | f1134c0157d1fefadb188b15f095c13674484ea9 /Master/texmf-dist/tex/xelatex/bidi/bidi.sty | |
parent | 47bbbc330ace9242ab5ee3af16c08d19a1496ac6 (diff) |
bidi update (6jan10)
git-svn-id: svn://tug.org/texlive/trunk@16674 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/bidi/bidi.sty')
-rw-r--r-- | Master/texmf-dist/tex/xelatex/bidi/bidi.sty | 225 |
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 |