summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/xelatex/bidi/bidi.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-11-30 22:25:34 +0000
committerKarl Berry <karl@freefriends.org>2016-11-30 22:25:34 +0000
commitd3aa19f2fc5afa9977b1c1091de42262fc8c772c (patch)
tree1b3f68f578641e0c7a6ea145a83f0c091eeef4c7 /Master/texmf-dist/source/xelatex/bidi/bidi.dtx
parentfe071a3248b7f619d72c83bed1ac96acb78abbfe (diff)
bidi (30nov16)
git-svn-id: svn://tug.org/texlive/trunk@42611 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/xelatex/bidi/bidi.dtx')
-rw-r--r--Master/texmf-dist/source/xelatex/bidi/bidi.dtx292
1 files changed, 154 insertions, 138 deletions
diff --git a/Master/texmf-dist/source/xelatex/bidi/bidi.dtx b/Master/texmf-dist/source/xelatex/bidi/bidi.dtx
index 9d523b79fb3..6e9d3d9bfa0 100644
--- a/Master/texmf-dist/source/xelatex/bidi/bidi.dtx
+++ b/Master/texmf-dist/source/xelatex/bidi/bidi.dtx
@@ -5,7 +5,7 @@
%<*readme>
___________________
The bidi package
-v20.5
+v20.6
This package provides a convenient interface for typesetting
bidirectional texts in Plain TeX and LaTeX, using XeTeX engine.
@@ -19,13 +19,13 @@ If you want to report any bugs or typos and corrections in the documentation,
or ask for any new features, or suggest any improvements, or ask any questions
about the package, then please do not send any direct email to me; I will not
answer any direct email. Instead please use the issue tracker:
- <https://github.com/vafa/bidi/issues>
+ <https://github.com/tex-xet/bidi/issues>
In doing so, please always explain your issue well enough, always include
a minimal working example showing the issue, and always choose the appropriate
label for your query (i.e. if you are reporting any bugs, choose `Bug' label).
-Current version release date: 2016/11/27
+Current version release date: 2016/11/30
___________________
Vafa Khalighi
@@ -80,7 +80,6 @@ by Vafa Khalighi.
\generate{\file{bidi2in1.sty}{\from{\jobname.dtx}{table,bidi2in1.sty}}}
\generate{\file{bidicode.sty}{\from{\jobname.dtx}{table,bidicode.sty}}}
\generate{\file{bidiftnxtra.sty}{\from{\jobname.dtx}{table,bidiftnxtra.sty}}}
-\generate{\file{bidi-longtable.sty}{\from{\jobname.dtx}{table,bidi-longtable.sty}}}
\generate{\file{bidimoderncv.cls}{\from{\jobname.dtx}{table,bidimoderncv.cls}}}
\generate{\file{biditools.sty}{\from{\jobname.dtx}{table,biditools.sty}}}
\generate{\file{bidituftefloat.sty}{\from{\jobname.dtx}{table,bidituftefloat.sty}}}
@@ -322,7 +321,7 @@ by Vafa Khalighi.
%\changes{v13.9}{2013/09/23}{Added implementaion of the package.}
% \title{\textcolor{blue!65!black}{\Huge The \textsf{bidi} \textit{Package}}\\
%\LARGE Bidirectional typesetting in plain \TeX{} and \LaTeX, using \XeTeX{} engine\\[5pt]
-%\large Documentation for \textcolor{blue!65!black}{version 20.5}}
+%\large Documentation for \textcolor{blue!65!black}{version 20.6}}
% \author{Vafa Khalighi\\
% \url{persian-tex@tug.org}}
%\setcounter{page}{0}
@@ -333,7 +332,7 @@ by Vafa Khalighi.
%\textcolor{blue!65!black}{\Huge The \textsf{bidi} \textit{Package}}
%
%\Large
-%Documentation for \textcolor{blue!65!black}{version 20.5}}
+%Documentation for \textcolor{blue!65!black}{version 20.6}}
%
%\vskip 0pt plus 3fill
%\textit{\large to my Master, \textbf{Ferdowsi The Great}}
@@ -346,7 +345,7 @@ by Vafa Khalighi.
%answer any direct email. Instead please use the issue tracker:
%
%\medskip
-% \centerline{\url{https://github.com/vafa/bidi/issues}}
+% \centerline{\url{https://github.com/tex-xet/bidi/issues}}
%
%\medskip
%In doing so, please always explain your issue well enough, always include
@@ -384,14 +383,14 @@ by Vafa Khalighi.
%*
%* Copyright (c) 2009--2016 Vafa Khalighi
%*
-%* 2016/11/27, v20.5
+%* 2016/11/30, v20.6
%*
%* License: LaTeX Project Public License, version
%* 1.3c or higher (your choice)
%*
%* Location on CTAN: /macros/xetex/latex/bidi
%*
-%* Issue tracker: https://github.com/vafa/bidi/issues
+%* Issue tracker: https://github.com/tex-xet/bidi/issues
%*
%* Support: persian-tex@tug.org
%****************************************************
@@ -848,8 +847,6 @@ by Vafa Khalighi.
%
%In addition, you also can use \textsf{vwcol} package for variable width bidirectional column typesetting.
%\section{Extra \textsf{bidi} Packages and Classes}
-%\subsection{\textsf{bidi-longtable} package}
-% For typesetting RTL tables with \textsf{longtable} package, an experimental package, \textsf{bidi-longtable} package, is provided. \textsf{bidi-longtable} package should be loaded after \textsf{longtable} package.
%\subsection{\textsf{biditufte} bundle}
%A modified version of \textsf{tufte-latex}, \textsf{biditufte} bundle, mainly for RTL typesetting, is provided. If you never used \textsf{biditufte} bundle or \textsf{tufte-latex} package and you want to use \textsf{biditufte} bundle, then you need to look at \textsf{tufte-latex} package's manual and examples. In addition, for using \textsf{biditufte} bundle, you need to know the following notes:
%\begin{itemize}
@@ -1141,7 +1138,7 @@ by Vafa Khalighi.
%\iffalse
%<*table>
%\fi
-%% \CheckSum{47549}
+%% \CheckSum{47593}
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
@@ -1821,12 +1818,12 @@ by Vafa Khalighi.
\if \@nextchar b5 \else
\z@ \@chclass \z@ \@preamerr \z@ \fi \fi \fi \fi
\fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi}
-\def\@tabular{\if@RTL\@RTLtabtrue\fi%
+\def\@tabular{%
\leavevmode
\hbox \bgroup\if@RTLtab\beginR \fi $\col@sep\tabcolsep \let\d@llarbegin\begingroup
\let\d@llarend\endgroup
\@tabarray}
-\def\endtabular{\endarray $\if@RTLtab\endR\fi\egroup\@RTLtabfalse}
+\def\endtabular{\endarray $\if@RTLtab\endR\fi\egroup}
\expandafter\let\csname endtabular*\endcsname=\endtabular
\def\@array[#1]#2{%
\@tempdima \ht \strutbox
@@ -1848,7 +1845,7 @@ by Vafa Khalighi.
\lineskip \z@
\baselineskip \z@
\m@th
- \let\\\@arraycr \let\tabularnewline\\\let\par\@empty \if@RTLtab\hbox\bgroup\beginR\if #1t\vtop \else \vbox \fi\bgroup\fi\@preamble}
+ \let\\\@arraycr \let\tabularnewline\\\let\par\@empty \if@RTLtab\hbox\bgroup\beginR\@hboxRconstructtrue\if #1t\vtop \else \vbox \fi\bgroup\fi\@preamble}
\def\@tabarray{\@ifnextchar[{\@array}{\@array[c]}}
\def\endarray{\crcr \egroup\if@RTLtab\egroup\endR\egroup\fi \egroup \@arrayright \gdef\@preamble{}}
\def\array{\col@sep\arraycolsep
@@ -2843,7 +2840,7 @@ by Vafa Khalighi.
% \begin{macrocode}
\ProvidesFile{arydshln-xetex-bidi.def}[2010/08/01 v0.2 bidi adaptations for arydshln package for XeTeX engine]
\def\endarray{\adl@endarray \egroup \adl@arrayrestore \if@RTLtab\egroup\endR\egroup\fi\egroup}
-\def\endtabular{\endarray $\if@RTLtab\endR\fi\egroup\@RTLtabfalse}
+\def\endtabular{\endarray $\if@RTLtab\endR\fi\egroup}
\expandafter\let\csname endtabular*\endcsname\endtabular
\let\adl@array\@array
\def\@array{\adl@everyvbox\everyvbox
@@ -2984,8 +2981,8 @@ by Vafa Khalighi.
% \subsection{\textsf{bidi.sty}}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\def\bididate{2016/11/27}
-\def\bidiversion{v20.5}
+\def\bididate{2016/11/30}
+\def\bidiversion{v20.6}
\ProvidesPackage{bidi}[\bididate\space \bidiversion\space
Bidirectional typesetting in plain TeX and LaTeX]
\edef\@bidi@info{****************************************************^^J%
@@ -3007,7 +3004,7 @@ Bidirectional typesetting in plain TeX and LaTeX]
* ^^J%
* Location on CTAN: /macros/xetex/latex/bidi^^J%
* ^^J%
-* Issue tracker: https://github.com/vafa/bidi/issues^^J%
+* Issue tracker: https://github.com/tex-xet/bidi/issues^^J%
* ^^J%
* Support: persian-tex@tug.org^^J%
****************************************************}
@@ -3024,7 +3021,10 @@ Bidirectional typesetting in plain TeX and LaTeX]
\eqnewif{\if@RTLmain}{\if@rlmain}
\eqnewif{\if@RTL}{\if@rl}
\newif\if@nonlatin
+\newcommand*{\setlatin}{\@nonlatinfalse}
+\newcommand*{\setnonlatin}{\@nonlatintrue}
\eqnewif{\if@RTLtab}{\if@tab@rl}
+\newif\if@hboxRconstruct
\newcommand*{\setRTLtable}{\@RTLtabtrue}
\newcommand*{\setLTRtable}{\@RTLtabfalse}
\newif\if@RTLmarginpar
@@ -3060,6 +3060,18 @@ Bidirectional typesetting in plain TeX and LaTeX]
\or
\@RTLfalse
\fi}
+\define@choicekey{bidi.sty}{documentdirection}[\bidi@tempa\bidi@tempb]{righttoleft,lefttoright}{%
+ \ifcase\bidi@tempb\relax
+ \@RTLtrue
+ \or
+ \@RTLfalse
+ \fi}
+\define@choicekey{bidi.sty}{tabledirection}[\bidi@tempa\bidi@tempb]{righttoleft,lefttoright}{%
+ \ifcase\bidi@tempb\relax
+ \@RTLtabtrue
+ \or
+ \@RTLtabfalse
+ \fi}
\define@choicekey{bidi.sty}{script}[\bidi@tempa\bidi@tempb]{latin,nonlatin}[latin]{%
\ifcase\bidi@tempb\relax
\@nonlatinfalse
@@ -3153,7 +3165,7 @@ Bidirectional typesetting in plain TeX and LaTeX]
* ^^J%
* Location on CTAN: /macros/xetex/latex/bidi^^J%
* ^^J%
-* Issue tracker: https://github.com/vafa/bidi/issues^^J%
+* Issue tracker: https://github.com/tex-xet/bidi/issues^^J%
* ^^J%
* Support: persian-tex@tug.org^^J%
****************************************************}
@@ -3164,6 +3176,7 @@ Bidirectional typesetting in plain TeX and LaTeX]
\RequireXeTeX
\newif\if@RTLmain
\newif\if@RTL
+\newif\if@hboxRconstruct
\newif\if@sentdir
\newif\if@RTL@footnote
\@RTLmainfalse
@@ -3440,7 +3453,7 @@ Bidirectional typesetting in plain TeX and LaTeX]
{}%
}
\def\FN@sf@gobble@bracket[#1]{}
-\def\@tabular{\if@RTL\global\@RTLtabtrue\fi
+\def\@tabular{%
\leavevmode \hbox \bgroup
\let\@footnotetext\bidi@p@ftntext
\let\@LTRfootnotetext\bidi@p@LTRftntext
@@ -3458,8 +3471,7 @@ Bidirectional typesetting in plain TeX and LaTeX]
\def\endtabular{\crcr\egroup\if@RTLtab\egroup\endR\egroup\fi
\egroup $\if@RTLtab\endR\fi\egroup
\ifx\@captype\@undefined
- \global\bidi@p@ftn\expandafter{\expandafter}\the\bidi@p@ftn\fi%
- \global\@RTLtabfalse}
+ \global\bidi@p@ftn\expandafter{\expandafter}\the\bidi@p@ftn\fi}
\long\def\bidi@p@ftntext#1{%
\edef\@tempy{\the\bidi@p@ftn\noexpand\footnotetext[\the\csname c@\@mpfn\endcsname]}%
\global\bidi@p@ftn\expandafter{\@tempy{#1}}}%
@@ -3589,82 +3601,6 @@ Bidirectional typesetting in plain TeX and LaTeX]
% \end{macrocode}
% \iffalse
%</bidiftnxtra.sty>
-%<*bidi-longtable.sty>
-%\fi
-% \subsection{\textsf{bidi-longtable.sty}}
-% \begin{macrocode}
-\ProvidesPackage{bidi-longtable}[2012/12/12 v0.1 typesetting bidi longtables in XeTeX engine (experimental)]
-\def\longtable{\if@RTL\@RTLtabtrue\fi%
- \par
- \ifx\multicols\@undefined
- \else
- \ifnum\col@number>\@ne
- \@twocolumntrue
- \fi
- \fi
- \if@twocolumn
- \LT@err{longtable not in 1-column mode}\@ehc
- \fi
- \begingroup
- \@ifnextchar[\LT@array{\LT@array[x]}}
-\def\endlongtable{%
- \crcr
- \noalign{%
- \let\LT@entry\LT@entry@chop
- \xdef\LT@save@row{\LT@save@row}}%
- \LT@echunk
- \LT@start
- \unvbox\z@
- \LT@get@widths
- \if@filesw
- {\let\LT@entry\LT@entry@write\immediate\write\@auxout{%
- \gdef\expandafter\noexpand
- \csname LT@\romannumeral\c@LT@tables\endcsname
- {\LT@save@row}}}%
- \fi
- \ifx\LT@save@row\LT@@save@row
- \else
- \LT@warn{Column \@width s have changed\MessageBreak
- in table \thetable}%
- \LT@final@warn
- \fi
- \endgraf\penalty -\LT@end@pen
- \endgroup
- \global\@mparbottom\z@
- \pagegoal\vsize
- \endgraf\penalty\z@\addvspace\LTpost
- \ifvoid\footins\else\insert\footins{}\fi\@RTLtabfalse}
-\def\LT@output{%
- \ifnum\outputpenalty <-\@Mi
- \ifnum\outputpenalty > -\LT@end@pen
- \LT@err{floats and marginpars not allowed in a longtable}\@ehc
- \else
- \setbox\z@\vbox{\unvbox\@cclv}%
- \ifdim \ht\LT@lastfoot>\ht\LT@foot
- \dimen@\pagegoal
- \advance\dimen@-\ht\LT@lastfoot
- \ifdim\dimen@<\ht\z@
- \setbox\@cclv\vbox{\unvbox\z@\copy\LT@foot\vss}%
- \@makecol
- \@outputpage
- \setbox\z@\vbox{\box\LT@head}%
- \fi
- \fi
- \global\@colroom\@colht
- \global\vsize\@colht
- \vbox
- {\hbox{\if@RTLtab\beginR\fi\vbox{\unvbox\z@\box\ifvoid\LT@lastfoot\LT@foot\else\LT@lastfoot\fi}\if@RTLtab\endR\fi}}%
- \fi
- \else
- \setbox\@cclv\vbox{\hbox{\if@RTLtab\beginR\fi\vbox{\unvbox\@cclv\copy\LT@foot\vss}\if@RTLtab\endR\fi}}%
- \@makecol
- \@outputpage
- \global\vsize\@colroom
- \copy\LT@head\nobreak
- \fi}
-% \end{macrocode}
-% \iffalse
-%</bidi-longtable.sty>
%<*bidimoderncv.cls>
%\fi
% \subsection{\textsf{bidimoderncv.cls}}
@@ -3925,7 +3861,7 @@ Bidirectional typesetting in plain TeX and LaTeX]
% \subsection{\textsf{biditools.sty}}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{biditools}[2016/11/27 v0.9 Programming tools for bidi package]
+\ProvidesPackage{biditools}[2016/11/30 v0.9 Programming tools for bidi package]
\providecommand{\@bidi@saveprimitive}[2]{\begingroup\escapechar`\\\relax
\edef\@tempa{\string#1}\edef\@tempb{\meaning#1}%
\ifx\@tempa\@tempb \global\let#2#1%
@@ -4033,6 +3969,22 @@ ill-advised in the old versions of bidi package.%
\expandafter\@gobbletwo\string#3\endcsname
{\let#2#3%
\let#1#3}}
+\newcommand*{\SetBoolean}[2]{%
+ \lowercase{\def\@tempa{#2}}%
+ \@ifundefined{@tempswa\@tempa}%
+ {\PackageError{biditools}%
+ {You can only set a boolean to `true' or `false'}\@ehc}%
+ {\@ifundefined{#1\@tempa}%
+ {\PackageError{biditools}{Boolean #1 undefined}\@ehc}%
+ {\csname#1\@tempa\endcsname}}}
+\newcommand*{\SetatBoolean}[2]{%
+ \lowercase{\def\@tempa{#2}}%
+ \@ifundefined{@tempswa\@tempa}%
+ {\PackageError{biditools}%
+ {You can only set a boolean to `true' or `false'}\@ehc}%
+ {\@ifundefined{@#1\@tempa}%
+ {\PackageError{ifthen}{Boolean @#1 undefined}\@ehc}%
+ {\csname @#1\@tempa\endcsname}}}
\def\@bidi@removefromreset#1#2{{%
\expandafter\let\csname c@#1\endcsname\@bidi@removefromreset
\def\@elt##1{%
@@ -4066,6 +4018,18 @@ ill-advised in the old versions of bidi package.%
\else
\expandafter\@firstoftwo
\fi}
+\newcommand*{\ifRtoLhboxconstruct}{%
+ \if@hboxRconstruct
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi}
+\newcommand*{\ifLtoRhboxconstruct}{%
+ \if@hboxRconstruct
+ \expandafter\@secondoftwo
+ \else
+ \expandafter\@firstoftwo
+ \fi}
\newcommand*{\iflatin}{%
\if@nonlatin
\expandafter\@secondoftwo
@@ -7868,14 +7832,34 @@ bidi implementation of tufte title]
%\fi
% \subsection{\textsf{cals-xetex-bidi.def}}
% \begin{macrocode}
-\ProvidesFile{cals-xetex-bidi.def}[2016/11/27 v0.4 bidi adaptations for cals package for XeTeX engine]
+\ProvidesFile{cals-xetex-bidi.def}[2016/11/30 v0.4 bidi adaptations for cals package for XeTeX engine]
\renewcommand\cals@setup@alignment[1]{%
\if c#1\relax \cals@vfillAdd \leftskip \cals@vfillAdd \rightskip \fi
\if l#1\relax \cals@vfillDrop\leftskip \cals@vfillDrop\rightskip \fi
\if r#1\relax \cals@vfillAdd \leftskip \cals@vfillDrop\rightskip \fi
}
\renewcommand\cals@table@alignment{\if@RTLtab r\else l\fi}
-\renewcommand\cals@AtEndTable{\@RTLtabfalse}
+\renewenvironment{calstable}[1][\cals@table@alignment]{%
+\if@RTLtab\cals@activate@rtl\fi
+\let\cals@thead@tokens=\relax
+\let\cals@tfoot@tokens=\relax
+\let\cals@tbreak@tokens=\relax
+\cals@tfoot@height=0pt \relax
+\let\cals@last@context=n%
+\let\cals@current@context=b%
+\parindent=0pt \relax%
+\cals@setup@alignment{#1}%
+\cals@setpadding{Ag}\cals@setcellprevdepth{Al}\cals@set@tohsize%
+%% Alignment inside is independent on center/flushright outside
+\parfillskip=0pt plus1fil\relax
+\let\cals@borderL=\relax
+\let\cals@borderR=\relax
+\let\cals@borderT=\relax
+\let\cals@borderB=\relax
+\setbox\cals@backup@row=\box\voidb@x\relax
+\cals@AtBeginTable
+}{% End of the table
+\cals@tfoot@tokens\lastrule\cals@AtEndTable}
\renewcommand\alignL{%
\if@RTLtab
\cals@vfillAdd\cals@paddingL
@@ -11710,7 +11694,9 @@ bidi implementation of tufte title]
%\fi
% \subsection{\textsf{fancyhdr-xetex-bidi.def}}
% \begin{macrocode}
-\ProvidesFile{fancyhdr-xetex-bidi.def}[2016/09/12 v0.5 bidi adaptations for fancyhdr package for XeTeX engine]
+\ProvidesFile{fancyhdr-xetex-bidi.def}[2016/11/30 v0.6 bidi adaptations for fancyhdr package for XeTeX engine]
+
+\let\fnch@everypar\everypar%
\def\@fancyhead#1#2#3#4#5{#1\hbox to\headwidth{\fancy@reset
\@fancyvbox\headheight{\hbox
@@ -12285,7 +12271,7 @@ bidi implementation of tufte title]
\def\@iiiminipage#1#2[#3]#4{%
\leavevmode
\@pboxswfalse
- \if@RTLtab\@bidi@list@minipage@parbox@not@nobtrue\fi
+ \if@hboxRconstruct\@bidi@list@minipage@parbox@not@nobtrue\fi
\if@RTL\if#1t\@bidi@list@minipage@parboxtrue\else\if#1b\@bidi@list@minipage@parboxtrue\fi\fi\fi
\setlength\@tempdima{#4}%
\def\@mpargs{{#1}{#2}[#3]{#4}}%
@@ -14352,6 +14338,36 @@ bidi implementation of tufte title]
\def\LT@p@RTLftntext#1{%
\edef\@tempa{\the\LT@p@ftn\noexpand\RTLfootnotetext[\the\c@footnote]}%
\global\LT@p@ftn\expandafter{\@tempa{#1}}}%
+
+
+\def\LT@output{%
+ \ifnum\outputpenalty <-\@Mi
+ \ifnum\outputpenalty > -\LT@end@pen
+ \LT@err{floats and marginpars not allowed in a longtable}\@ehc
+ \else
+ \setbox\z@\vbox{\unvbox\@cclv}%
+ \ifdim \ht\LT@lastfoot>\ht\LT@foot
+ \dimen@\pagegoal
+ \advance\dimen@-\ht\LT@lastfoot
+ \ifdim\dimen@<\ht\z@
+ \setbox\@cclv\vbox{\unvbox\z@\copy\LT@foot\vss}%
+ \@makecol
+ \@outputpage
+ \setbox\z@\vbox{\box\LT@head}%
+ \fi
+ \fi
+ \global\@colroom\@colht
+ \global\vsize\@colht
+ \vbox
+ {\if@RTLtab\hbox\bgroup\beginR\vbox\bgroup\fi\unvbox\z@\box\ifvoid\LT@lastfoot\LT@foot\else\LT@lastfoot\fi\if@RTLtab\egroup\endR\egroup\fi}%
+ \fi
+ \else
+ \setbox\@cclv\vbox{\if@RTLtab\hbox\bgroup\beginR\vbox\bgroup\fi\unvbox\@cclv\copy\LT@foot\vss\if@RTLtab\egroup\endR\egroup\fi}%
+ \@makecol
+ \@outputpage
+ \global\vsize\@colroom
+ \copy\LT@head\nobreak
+ \fi}
% \end{macrocode}
% \iffalse
%</longtable-xetex-bidi.def>
@@ -16150,6 +16166,7 @@ to\rtside{\box\bslice\hfil}}
\aftergroup\egroup
\everyhbox{}%
\beginR
+ \@hboxRconstructtrue
\bgroup
\aftergroup\endR
\aftergroup\egroup
@@ -16159,6 +16176,7 @@ to\rtside{\box\bslice\hfil}}
\aftergroup\egroup
\everyhbox{}%
\beginL
+ \@hboxRconstructfalse
\bgroup
\aftergroup\endL
\aftergroup\egroup
@@ -19397,14 +19415,13 @@ to\rtside{\box\bslice\hfil}}
% \subsection{\textsf{stabular-xetex-bidi.def}}
% \begin{macrocode}
\ProvidesFile{stabular-xetex-bidi.def}[2015/11/07 v0.3 bidi adaptations for stabular package for XeTeX engine]
-\def\@stabular{\if@RTL\@RTLtabtrue\fi
+\def\@stabular{%
\leavevmode \bgroup \if@RTLtab\beginR \fi
\let\@acol\@tabacol
\let\@classz\@tabclassz
\let\@classiv\@tabclassiv \let\\\@tabularcr\@stabarray}
\def\endstabular{\crcr\egroup\if@RTLtab\egroup\endR\egroup\fi
- \egroup \if@RTLtab\endR\fi\egroup
- \@RTLtabfalse}
+ \egroup \if@RTLtab\endR\fi\egroup}
\expandafter \let \csname endstabular*\endcsname = \endstabular
\def\@sarray[#1]#2{%
\bgroup
@@ -19421,7 +19438,7 @@ to\rtside{\box\bslice\hfil}}
\let\@sharp##%
\set@typeset@protect
\lineskip\z@skip\baselineskip\z@skip
- \if@RTLtab\hbox\bgroup\beginR\if #1t\vtop \else \vbox \fi\bgroup\fi
+ \if@RTLtab\hbox\bgroup\beginR\@hboxRconstructtrue\if #1t\vtop \else \vbox \fi\bgroup\fi
\@preamble}
% \end{macrocode}
% \iffalse
@@ -19443,8 +19460,7 @@ to\rtside{\box\bslice\hfil}}
% \subsection{\textsf{tabls-xetex-bidi.def}}
% \begin{macrocode}
\ProvidesFile{tabls-xetex-bidi.def}[2015/11/07 v0.3 bidi adaptations for tabls package for XeTeX engine]
-\def\endtabular{\endarray $\if@RTLtab\endR\fi\egroup
- \@RTLtabfalse}
+\def\endtabular{\endarray $\if@RTLtab\endR\fi\egroup}
\expandafter\let\csname endtabular*\endcsname=\endtabular
@@ -19475,7 +19491,7 @@ to\rtside{\box\bslice\hfil}}
\global\@arstheight\ht\@arstrutbox \global\@arstdepth\dp\@arstrutbox
\advance\extrarulesep.5\arrayrulewidth
\let\@sharp##\let\protect\relax \lineskip\z@skip \baselineskip\z@skip
- \if@RTLtab\hbox\bgroup\beginR\if#1t\vtop \else \vbox \fi\bgroup\fi
+ \if@RTLtab\hbox\bgroup\beginR\@hboxRconstructtrue\if#1t\vtop \else \vbox \fi\bgroup\fi
\@preamble}
% \end{macrocode}
% \iffalse
@@ -21385,6 +21401,7 @@ to\rtside{\box\bslice\hfil}}
\aftergroup\egroup
\everyhbox{}%
\beginR
+ \@hboxRconstructtrue
\bgroup
\aftergroup\endR
\aftergroup\egroup
@@ -21394,6 +21411,7 @@ to\rtside{\box\bslice\hfil}}
\aftergroup\egroup
\everyhbox{}%
\beginL
+ \@hboxRconstructfalse
\bgroup
\aftergroup\endL
\aftergroup\egroup
@@ -21403,6 +21421,7 @@ to\rtside{\box\bslice\hfil}}
\aftergroup\egroup
\everyvbox{}%
\@RTLtrue
+ \@RTLtabtrue
\bgroup
\aftergroup\egroup
}\vbox}
@@ -21411,17 +21430,18 @@ to\rtside{\box\bslice\hfil}}
\aftergroup\egroup
\everyvbox{}%
\@RTLfalse
+ \@RTLtabfalse
\bgroup
\aftergroup\egroup
}\vbox}
\newcommand*{\bidi@leftskip}{\if@RTL\rightskip\else\leftskip\fi}
\newcommand*{\bidi@rightskip}{\if@RTL\leftskip\else\rightskip\fi}
-\def\LTR{\par\@RTLfalse\@RTL@footnotefalse\hsize\linewidth\parshape\z@}
+\def\LTR{\par\@RTLfalse\@RTL@footnotefalse\@RTLtabfalse\hsize\linewidth\parshape\z@}
\def\endLTR{\par}
-\def\RTL{\par\@RTLtrue\@RTL@footnotetrue\hsize\linewidth\parshape\z@}
+\def\RTL{\par\@RTLtrue\@RTL@footnotetrue\@RTLtabtrue\hsize\linewidth\parshape\z@}
\def\endRTL{\par}
-\def\setRTL{\@RTLtrue\@RTL@footnotetrue}
-\def\setLTR{\@RTLfalse\@RTL@footnotefalse}
+\def\setRTL{\@RTLtrue\@RTL@footnotetrue\@RTLtabtrue}
+\def\setLTR{\@RTLfalse\@RTL@footnotefalse\@RTLtabfalse}
\let\unsetRTL=\setLTR
\let\unsetLTR=\setRTL
\let\LR=\LRE
@@ -21462,7 +21482,7 @@ to\rtside{\box\bslice\hfil}}
\hbox \bgroup $\left.\col@sep\tabcolsep \let\d@llarbegin\begingroup
\let\d@llarend\endgroup
\@tabarray}
-\def\endbidi@tabular@RTLcases{\endarray \right\rbrace$\egroup\@RTLtabfalse}
+\def\endbidi@tabular@RTLcases{\endarray \right\rbrace$\egroup}
}{%
\def\@bidi@tabular@RTLcases{\@RTLtabtrue%
\leavevmode \hbox \bgroup
@@ -21471,9 +21491,7 @@ to\rtside{\box\bslice\hfil}}
\let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray}
\def\endbidi@tabular@RTLcases{\crcr\egroup\if@RTLtab\egroup\endR\egroup\fi
- \egroup\right\rbrace $\egroup
- \@RTLtabfalse}
-}
+ \egroup\right\rbrace $\egroup}}
\def\RTLcases#1{\left.\vcenter{\normalbaselines\m@th
\ialign{$##\hfil$&\quad{##}\hfil\crcr#1\crcr}}\,\right\}}
\renewenvironment{RTLcases}{%
@@ -21518,7 +21536,7 @@ to\rtside{\box\bslice\hfil}}
\advance\@totalleftmargin \rightmargin
\fi
\else
- \if@RTLtab
+ \if@hboxRconstruct
\if@bidi@list@minipage@parbox@not@nob
\if@RTL
\advance\@totalleftmargin \rightmargin
@@ -21542,7 +21560,7 @@ to\rtside{\box\bslice\hfil}}
\long\def\@iiiparbox#1#2[#3]#4#5{%
\leavevmode
\@pboxswfalse
- \if@RTLtab\@bidi@list@minipage@parbox@not@nobtrue\fi
+ \if@hboxRconstruct\@bidi@list@minipage@parbox@not@nobtrue\fi
\if@RTL\if#1t\@bidi@list@minipage@parboxtrue\else\if#1b\@bidi@list@minipage@parboxtrue\fi\fi\fi
\setlength\@tempdima{#4}%
\@begin@tempboxa\vbox{\hsize\@tempdima\@parboxrestore#5\@@par}%
@@ -21572,37 +21590,37 @@ to\rtside{\box\bslice\hfil}}
\ignorespaces}
\def\endbidi@lrbox{\unskip\color@endgroup}
\newenvironment{LTRitems}
- {\par\@RTLfalse
+ {\par\@RTLfalse\@RTLtabfalse
\if@bidi@list@minipage@parbox
\parshape \@ne \dimexpr(\@totalleftmargin-\leftmargin) \linewidth
- \else \if@RTLtab\if@bidi@list@minipage@parbox@not@nob
+ \else \if@hboxRconstruct\if@bidi@list@minipage@parbox@not@nob
\parshape \@ne \dimexpr(\@totalleftmargin+\leftmargin) \linewidth\else
\parshape \@ne \dimexpr(\@totalleftmargin-\leftmargin) \linewidth\fi
\else \parshape \@ne \dimexpr(\@totalleftmargin+\leftmargin) \linewidth\fi\fi
\ignorespaces}{\vskip\z@}
\newenvironment{RTLitems}
- {\par\@RTLtrue
+ {\par\@RTLtrue\@RTLtabtrue
\if@bidi@list@minipage@parbox
\parshape \@ne \dimexpr(\@totalleftmargin+\leftmargin) \linewidth
- \else \if@RTLtab\if@bidi@list@minipage@parbox@not@nob
+ \else \if@hboxRconstruct\if@bidi@list@minipage@parbox@not@nob
\parshape \@ne \dimexpr(\@totalleftmargin-\leftmargin) \linewidth\else
\parshape \@ne \dimexpr(\@totalleftmargin+\leftmargin) \linewidth\fi
\else \parshape \@ne \dimexpr(\@totalleftmargin-\leftmargin) \linewidth\fi\fi
\ignorespaces}{\vskip\z@}
\newenvironment{LTRbibitems}
- {\par\@RTLfalse
+ {\par\@RTLfalse\@RTLtabfalse
\if@bidi@list@minipage@parbox
\parshape \@ne \dimexpr(\@totalleftmargin-\leftmargin) \linewidth
- \else \if@RTLtab\if@bidi@list@minipage@parbox@not@nob
+ \else \if@hboxRconstruct\if@bidi@list@minipage@parbox@not@nob
\parshape \@ne \dimexpr(\@totalleftmargin+\leftmargin) \linewidth\else
\parshape \@ne \dimexpr(\@totalleftmargin-\leftmargin) \linewidth\fi
\else \parshape \@ne \dimexpr(\@totalleftmargin+\leftmargin) \linewidth\fi\fi
\ignorespaces}{\vskip\z@}
\newenvironment{RTLbibitems}
- {\par\@RTLtrue
+ {\par\@RTLtrue\@RTLtabtrue
\if@bidi@list@minipage@parbox
\parshape \@ne \dimexpr(\@totalleftmargin+\leftmargin) \linewidth
- \else \if@RTLtab\if@bidi@list@minipage@parbox@not@nob
+ \else \if@hboxRconstruct\if@bidi@list@minipage@parbox@not@nob
\parshape \@ne \dimexpr(\@totalleftmargin-\leftmargin) \linewidth\else
\parshape \@ne \dimexpr(\@totalleftmargin+\leftmargin) \linewidth\fi
\else \parshape \@ne \dimexpr(\@totalleftmargin-\leftmargin) \linewidth\fi\fi
@@ -21613,8 +21631,8 @@ to\rtside{\box\bslice\hfil}}
\parindent\z@\parfillskip\z@skip}
\let\bidi@orig@raggedleft\raggedleft
\let\bidi@orig@raggedright\raggedright
-\renewcommand\raggedleft{\if@bidi@list@minipage@parbox\bidi@orig@raggedright\else\if@RTLtab\bidi@orig@raggedright\else\bidi@orig@raggedleft\fi\fi}
-\renewcommand\raggedright{\if@bidi@list@minipage@parbox\bidi@orig@raggedleft\else\if@RTLtab\bidi@orig@raggedleft\else\bidi@orig@raggedright\fi\fi}
+\renewcommand\raggedleft{\if@bidi@list@minipage@parbox\bidi@orig@raggedright\else\if@hboxRconstruct\bidi@orig@raggedright\else\bidi@orig@raggedleft\fi\fi}
+\renewcommand\raggedright{\if@bidi@list@minipage@parbox\bidi@orig@raggedleft\else\if@hboxRconstruct\bidi@orig@raggedleft\else\bidi@orig@raggedright\fi\fi}
\newcommand{\bidi@raggedright}{\if@RTL\raggedleft\else\raggedright\fi}
\newcommand{\bidi@raggedleft}{\if@RTL\raggedright\else\raggedleft\fi}
\def\centerline#1{%
@@ -21628,8 +21646,8 @@ to\rtside{\box\bslice\hfil}}
\else\@@line{\hss#1}\fi}
\let\bidi@orig@leftline\leftline
\let\bidi@orig@rightline\rightline
-\def\leftline#1{\ifhmode\if@RTL\bidi@orig@rightline{#1}\else\bidi@orig@leftline{#1}\fi\else\if@bidi@list@minipage@parbox\bidi@orig@rightline{#1}\else\if@RTLtab\bidi@orig@rightline{#1}\else\bidi@orig@leftline{#1}\fi\fi\fi}
-\def\rightline#1{\ifhmode\if@RTL\bidi@orig@leftline{#1}\else\bidi@orig@rightline{#1}\fi\else\if@bidi@list@minipage@parbox\bidi@orig@leftline{#1}\else\if@RTLtab\bidi@orig@leftline{#1}\else\bidi@orig@rightline{#1}\fi\fi\fi}
+\def\leftline#1{\ifhmode\if@RTL\bidi@orig@rightline{#1}\else\bidi@orig@leftline{#1}\fi\else\if@bidi@list@minipage@parbox\bidi@orig@rightline{#1}\else\if@hboxRconstruct\bidi@orig@rightline{#1}\else\bidi@orig@leftline{#1}\fi\fi\fi}
+\def\rightline#1{\ifhmode\if@RTL\bidi@orig@leftline{#1}\else\bidi@orig@rightline{#1}\fi\else\if@bidi@list@minipage@parbox\bidi@orig@leftline{#1}\else\if@hboxRconstruct\bidi@orig@leftline{#1}\else\bidi@orig@rightline{#1}\fi\fi\fi}
\def\bidirlap#1{\hb@xt@\z@{\if@RTL\hss\fi#1\if@RTL\else\hss\fi}}
\def\bidillap#1{\hb@xt@\z@{\if@RTL\else\hss\fi#1\if@RTL\hss\fi}}
\def\@hangfrom#1{\setbox\@tempboxa\hbox{{#1}}%
@@ -21647,15 +21665,13 @@ $\@@underline{\hbox{#1}}\m@th$\relax\fi\fi}
\if@compatibility
\let\undertext=\underline
\fi
-\global\@RTLtabfalse
-\def\@tabular{\if@RTL\@RTLtabtrue\fi
+\def\@tabular{%
\leavevmode \hbox \bgroup \if@RTLtab\beginR \fi
$\let\@acol\@tabacol
\let\@classz\@tabclassz
\let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray}
\def\endtabular{\crcr\egroup\if@RTLtab\egroup\endR\egroup\fi
- \egroup $\if@RTLtab\endR\fi\egroup
- \@RTLtabfalse}
+ \egroup $\if@RTLtab\endR\fi\egroup}
\expandafter \let \csname endtabular*\endcsname = \endtabular
\def\@array[#1]#2{%
\if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi
@@ -21675,7 +21691,7 @@ $\@@underline{\hbox{#1}}\m@th$\relax\fi\fi}
\set@typeset@protect
\lineskip\z@skip\baselineskip\z@skip
\ifhmode \@preamerr\z@ \@@par\fi
- \if@RTLtab\hbox\bgroup\beginR\if #1t\vtop \else \vbox \fi\bgroup\fi
+ \if@RTLtab\hbox\bgroup\beginR\@hboxRconstructtrue\if #1t\vtop \else \vbox \fi\bgroup\fi
\@preamble}
\def\array{\let\@acol\@arrayacol \let\@classz\@arrayclassz
\let\@classiv\@arrayclassiv