diff options
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/bidi/extrafootnotefeatures-xetex-bidi.def')
-rw-r--r-- | Master/texmf-dist/tex/xelatex/bidi/extrafootnotefeatures-xetex-bidi.def | 501 |
1 files changed, 408 insertions, 93 deletions
diff --git a/Master/texmf-dist/tex/xelatex/bidi/extrafootnotefeatures-xetex-bidi.def b/Master/texmf-dist/tex/xelatex/bidi/extrafootnotefeatures-xetex-bidi.def index c341e6a4011..df54e46d5dc 100644 --- a/Master/texmf-dist/tex/xelatex/bidi/extrafootnotefeatures-xetex-bidi.def +++ b/Master/texmf-dist/tex/xelatex/bidi/extrafootnotefeatures-xetex-bidi.def @@ -20,7 +20,7 @@ %% by Vafa Khalighi. %% %% -%% \CheckSum{55066} +%% \CheckSum{55521} %% \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 @@ -37,7 +37,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} %% -\ProvidesFile{extrafootnotefeatures-xetex-bidi.def}[2022/07/01 v1.8 bidi extra footnote features for XeTeX engine] +\ProvidesFile{extrafootnotefeatures-xetex-bidi.def}[2022/07/02 v1.9 bidi extra footnote features for XeTeX engine] \newif\if@bidi@void@footins \newif\if@bidi@void@@mpfootins \newcommand*{\@bidi@before@Hy@hyperfootnotes}{% @@ -196,8 +196,6 @@ \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth } \@ifclassloaded{memoir}{\let\plainfootnotes\normalfootnotes}{} -\bidi@ensure@newcommand*{\RTLcolumnfootnotes}{\@RTLcolumnfootnotestrue} -\bidi@ensure@newcommand*{\LTRcolumnfootnotes}{\@RTLcolumnfootnotesfalse} \bidi@ensure@newcommand*{\setSingleSpace}[1]{% \def\m@m@singlespace{#1}% \def\m@m@footnote@spacing{#1}% @@ -347,12 +345,22 @@ \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}} \bidi@ensure@newcommand{\m@make@footstart}[1]{% \@namedef{@footstart#1}{% - \bidi@mopfn@bottom + \if@bidi@void@footins + \bidi@mopfn@bottom + \fi \leftskip=\z@ \rightskip=\z@ \parindent=\z@ \vskip\skip\footins - \footnoterule}} + \if@bidi@void@footins + \footnoterule + \fi}} +\newcommand{\bidi@make@footstart@@}[1]{% + \@namedef{@@footstart@@#1}{% + \leftskip=\z@ + \rightskip=\z@ + \parindent=\z@ + \vskip\skip\footins}} \newinsert\footinsv@r \skip\footinsv@r\bigskipamount \count\footinsv@r=1000 % no magnifcation @@ -360,6 +368,10 @@ \m@make@footstart{v@r} \newinsert\footinsv@l \skip\footinsv@l\bigskipamount +\count\footinsv@l=1000 % no magnifcation +\dimen\footinsv@l=\footinsdim +\m@make@footstart{v@l} +\bidi@make@footstart@@{v@l} \bidi@ensure@newcommand{\@footgroupv@r}{} \newinsert\@mpfootinsv@r \newinsert\@mpfootinsv@l @@ -368,22 +380,29 @@ \@ifpackageloaded{multicol}{% \bidi@ensure@newcommand*{\m@mrigidbalance}[3]{\setbox0=\box#1 \m@m@k=#2 \m@m@h=#3 \hsize\textwidth - \@@line{\if@RTLcolumnfootnotes\beginR\fi\splittopskip=\m@m@h \vbadness=\@M \hfilneg - \valign{##\vfill\cr\m@mdosplits}\if@RTLcolumnfootnotes\endR\fi}} + \@@line{\beginR\splittopskip=\m@m@h \vbadness=\@M \hfilneg + \valign{##\vfill\cr\m@mdosplits}\endR}} +\newcommand*{\bidi@LTRrigidbalance}[3]{\setbox0=\box#1 \m@m@k=#2 \m@m@h=#3 + \hsize\textwidth + \@@line{\splittopskip=\m@m@h \vbadness=\@M \hfilneg + \valign{##\vfill\cr\m@mdosplits}}} }{% \bidi@ensure@newcommand*{\m@mrigidbalance}[3]{\setbox0=\box#1 \m@m@k=#2 \m@m@h=#3 - \@@line{\if@RTLcolumnfootnotes\beginR\fi\splittopskip=\m@m@h \vbadness=\@M \hfilneg - \valign{##\vfill\cr\m@mdosplits}\if@RTLcolumnfootnotes\endR\fi}}} + \@@line{\beginR\splittopskip=\m@m@h \vbadness=\@M \hfilneg + \valign{##\vfill\cr\m@mdosplits}\endR}} +\newcommand*{\bidi@LTRrigidbalance}[3]{\setbox0=\box#1 \m@m@k=#2 \m@m@h=#3 + \@@line{\splittopskip=\m@m@h \vbadness=\@M \hfilneg + \valign{##\vfill\cr\m@mdosplits}}} +} \bidi@ensure@newcommand*{\m@mdosplits}{\ifnum\m@m@k>0 \noalign{\hfil}\m@msplitoff \global\advance\m@m@k-1\cr\m@mdosplits\fi} \bidi@ensure@newcommand*{\m@msplitoff}{\dimen0=\ht0 \divide\dimen0 by\m@m@k \advance\dimen0 by\m@m@h \setbox2 \vsplit0 to \dimen0 \unvbox2 } -\newdimen\columnfootnoterulesep -\columnfootnoterulesep\footnotesep \bidi@ensure@newcommand{\twocolumnfootnotes}{% \@namedef{foottextfontv@r}{\foottextfont}% % [RS] + \@namedef{foottextfontv@l}{\LTRfoottextfont}% \@bidi@before@Hy@hyperfootnotes \let\@footnotetext\@twocolfootnotetext \let\@LTRfootnotetext\@twocolLTRfootnotetext @@ -392,15 +411,27 @@ \count\footinsv@r=500\relax \m@make@twocol@footgroup{v@r}% \let\@footgroupv@r\@twocol@footgroupv@r + \dimen\footinsv@l=2\footinsdim + \count\footinsv@l=500\relax + \bidi@make@twocol@LTRfootgroup{v@l}% + \let\@LTRfootgroupv@l\@twocol@LTRfootgroupv@l \let\@mpfootnotetext\@mptwocolfootnotetext \let\@mpLTRfootnotetext\@mptwocolLTRfootnotetext \let\@mpRTLfootnotetext\@mptwocolRTLfootnotetext \@bidi@after@Hy@hyperfootnotes \m@make@mptwocol@footgroup{v@r}% \let\mp@footgroupv@r\@mptwocol@footgroupv@r + \bidi@make@mptwocol@LTRfootgroup{v@l}% + \let\mp@LTRfootgroupv@l\@mptwocol@LTRfootgroupv@l \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth } -\bidi@ensure@newcommand{\@twocolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% +\bidi@ensure@newcommand{\@twocolfootnotetext}[1]{\insert + \if@RTL@footnote + \footinsv@r + \else + \footinsv@l + \fi +{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\foottextfont \@preamfntext @@ -410,7 +441,7 @@ \@twocolfootfmt{#1}% \color@endgroup}% \m@mmf@prepare} -\bidi@ensure@newcommand{\@twocolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse% +\bidi@ensure@newcommand{\@twocolLTRfootnotetext}[1]{\insert\footinsv@l{\@RTLfalse% \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\LTRfoottextfont \@preamfntext @@ -445,8 +476,19 @@ \@preamtwofmt {\RTLfootfootmark\strut {\RTLfoottextfont #1}\strut\par}\allowbreak} \bidi@ensure@newcommand{\@mptwocolfootnotetext}[1]{% - \global\setbox\@mpfootinsv@r\vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% - \unvbox\@mpfootinsv@r + \global\setbox + \if@RTL@footnote + \@mpfootinsv@r + \else + \@mpfootinsv@l + \fi + \vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \unvbox + \if@RTL@footnote + \@mpfootinsv@r + \else + \@mpfootinsv@l + \fi \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\foottextfont \hsize\columnwidth \@parboxrestore @@ -457,12 +499,11 @@ \color@endgroup}% \m@mmf@prepare} \bidi@ensure@newcommand{\@mptwocolLTRfootnotetext}[1]{% - \global\setbox\@mpfootinsv@r\vbox{\@RTLfalse% - \unvbox\@mpfootinsv@r + \global\setbox\@mpfootinsv@l\vbox{\@RTLfalse% + \unvbox\@mpfootinsv@l \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\LTRfoottextfont \hsize\columnwidth \@parboxrestore - \if@RTLcolumnfootnotes\beginL\fi \protected@edef\@currentlabel{% \csname p@mpfootnote\endcsname\@thefnmark}% \color@begingroup @@ -484,15 +525,26 @@ \bidi@ensure@newcommand{\m@make@twocol@footgroup}[1]{% \@namedef{@twocol@footgroup#1}{{% \def\baselinestretch{\m@m@footnote@spacing}% - \@nameuse{foottextfont#1} \splittopskip=\columnfootnoterulesep%\ht\strutbox + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox \m@mrigidbalance{\@nameuse{footins#1}}{\tw@}{\splittopskip}}}} +\newcommand{\bidi@make@twocol@LTRfootgroup}[1]{% + \@namedef{@twocol@LTRfootgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \bidi@LTRrigidbalance{\@nameuse{footins#1}}{\tw@}{\splittopskip}}}} \bidi@ensure@newcommand{\m@make@mptwocol@footgroup}[1]{% \@namedef{@mptwocol@footgroup#1}{{% \def\baselinestretch{\m@m@footnote@spacing}% - \@nameuse{foottextfont#1} \splittopskip=\columnfootnoterulesep%\ht\strutbox + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox \m@mrigidbalance{\@nameuse{@mpfootins#1}}{\tw@}{\splittopskip}}}} +\newcommand{\bidi@make@mptwocol@LTRfootgroup}[1]{% +\@namedef{@mptwocol@LTRfootgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \bidi@LTRrigidbalance{\@nameuse{@mpfootins#1}}{\tw@}{\splittopskip}}}} \bidi@ensure@newcommand{\threecolumnfootnotes}{% \@namedef{foottextfontv@r}{\foottextfont}% % [RS] + \@namedef{foottextfontv@l}{\LTRfoottextfont}% \@bidi@before@Hy@hyperfootnotes \let\@footnotetext\@threecolfootnotetext \let\@LTRfootnotetext\@threecolLTRfootnotetext @@ -501,15 +553,27 @@ \count\footinsv@r=333\relax \m@make@threecol@footgroup{v@r}% \let\@footgroupv@r\@threecol@footgroupv@r + \dimen\footinsv@l=3\footinsdim + \count\footinsv@l=333\relax + \bidi@make@threecol@LTRfootgroup{v@l}% + \let\@LTRfootgroupv@l\@threecol@LTRfootgroupv@l \let\@mpfootnotetext\@mpthreecolfootnotetext \let\@mpLTRfootnotetext\@mpthreecolLTRfootnotetext \let\@mpRTLfootnotetext\@mpthreecolRTLfootnotetext \@bidi@after@Hy@hyperfootnotes \m@make@mpthreecol@footgroup{v@r}% \let\mp@footgroupv@r\@mpthreecol@footgroupv@r + \bidi@make@mpthreecol@LTRfootgroup{v@l}% + \let\mp@LTRfootgroupv@l\@mpthreecol@LTRfootgroupv@l \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth } -\bidi@ensure@newcommand{\@threecolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% +\bidi@ensure@newcommand{\@threecolfootnotetext}[1]{\insert + \if@RTL@footnote + \footinsv@r + \else + \footinsv@l + \fi +{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\foottextfont \@preamfntext @@ -518,7 +582,7 @@ \color@begingroup \@threecolfootfmt{#1}% \color@endgroup}\m@mmf@prepare} -\bidi@ensure@newcommand{\@threecolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse% +\bidi@ensure@newcommand{\@threecolLTRfootnotetext}[1]{\insert\footinsv@l{\@RTLfalse% \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\LTRfoottextfont \@preamfntext @@ -551,8 +615,19 @@ \@preamthreefmt {\RTLfootfootmark\strut {\RTLfoottextfont #1}\strut\par}\allowbreak} \bidi@ensure@newcommand{\@mpthreecolfootnotetext}[1]{% - \global\setbox\@mpfootinsv@r\vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% - \unvbox\@mpfootinsv@r + \global\setbox + \if@RTL@footnote + \@mpfootinsv@r + \else + \@mpfootinsv@l + \fi + \vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \unvbox + \if@RTL@footnote + \@mpfootinsv@r + \else + \@mpfootinsv@l + \fi \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\foottextfont \hsize\columnwidth \@parboxrestore @@ -562,12 +637,11 @@ \@threecolfootfmt{#1}% \color@endgroup}\m@mmf@prepare} \bidi@ensure@newcommand{\@mpthreecolLTRfootnotetext}[1]{% - \global\setbox\@mpfootinsv@r\vbox{\@RTLfalse% - \unvbox\@mpfootinsv@r + \global\setbox\@mpfootinsv@l\vbox{\@RTLfalse% + \unvbox\@mpfootinsv@l \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\LTRfoottextfont \hsize\columnwidth \@parboxrestore - \if@RTLcolumnfootnotes\beginL\fi \protected@edef\@currentlabel{% \csname p@mpfootnote\endcsname\@thefnmark}% \color@begingroup @@ -587,15 +661,26 @@ \bidi@ensure@newcommand{\m@make@threecol@footgroup}[1]{% \@namedef{@threecol@footgroup#1}{{% \def\baselinestretch{\m@m@footnote@spacing}% - \@nameuse{foottextfont#1} \splittopskip=\columnfootnoterulesep%\ht\strutbox + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox \m@mrigidbalance{\@nameuse{footins#1}}{\thr@@}{\splittopskip}}}} +\newcommand{\bidi@make@threecol@LTRfootgroup}[1]{% +\@namedef{@threecol@LTRfootgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \bidi@LTRrigidbalance{\@nameuse{footins#1}}{\thr@@}{\splittopskip}}}} \bidi@ensure@newcommand{\m@make@mpthreecol@footgroup}[1]{% \@namedef{@mpthreecol@footgroup#1}{{% \def\baselinestretch{\m@m@footnote@spacing}% - \@nameuse{foottextfont#1} \splittopskip=\columnfootnoterulesep%\ht\strutbox + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox \m@mrigidbalance{\@nameuse{@mpfootins#1}}{\thr@@}{\splittopskip}}}} +\newcommand{\bidi@make@mpthreecol@LTRfootgroup}[1]{% +\@namedef{@mpthreecol@LTRfootgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \bidi@LTRrigidbalance{\@nameuse{@mpfootins#1}}{\thr@@}{\splittopskip}}}} \bidi@ensure@newcommand{\fourcolumnfootnotes}{% \@namedef{foottextfontv@r}{\foottextfont}% % [RS] + \@namedef{foottextfontv@l}{\LTRfoottextfont}% \@bidi@before@Hy@hyperfootnotes \let\@footnotetext\@fourcolfootnotetext \let\@LTRfootnotetext\@fourcolLTRfootnotetext @@ -604,15 +689,27 @@ \count\footinsv@r=250\relax \m@make@fourcol@footgroup{v@r}% \let\@footgroupv@r\@fourcol@footgroupv@r + \dimen\footinsv@l=4\footinsdim + \count\footinsv@l=250\relax + \bidi@make@fourcol@LTRfootgroup{v@l}% + \let\@LTRfootgroupv@l\@fourcol@LTRfootgroupv@l \let\@mpfootnotetext\@mpfourcolfootnotetext \let\@mpLTRfootnotetext\@mpfourcolLTRfootnotetext \let\@mpRTLfootnotetext\@mpfourcolRTLfootnotetext \@bidi@after@Hy@hyperfootnotes \m@make@mpfourcol@footgroup{v@r}% \let\mp@footgroupv@r\@mpfourcol@footgroupv@r + \bidi@make@mpfourcol@LTRfootgroup{v@l}% + \let\mp@LTRfootgroupv@l\@mpfourcol@LTRfootgroupv@l \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth } -\bidi@ensure@newcommand{\@fourcolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% +\bidi@ensure@newcommand{\@fourcolfootnotetext}[1]{\insert + \if@RTL@footnote + \footinsv@r + \else + \footinsv@l + \fi +{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\foottextfont \@preamfntext @@ -622,7 +719,7 @@ \@fourcolfootfmt{#1}% \color@endgroup}% \m@mmf@prepare} -\bidi@ensure@newcommand{\@fourcolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse% +\bidi@ensure@newcommand{\@fourcolLTRfootnotetext}[1]{\insert\footinsv@l{\@RTLfalse% \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\LTRfoottextfont \@preamfntext @@ -657,8 +754,19 @@ \@preamfourfmt {\RTLfootfootmark\strut {\RTLfoottextfont #1}\strut\par}\allowbreak} \bidi@ensure@newcommand{\@mpfourcolfootnotetext}[1]{% - \global\setbox\@mpfootinsv@r\vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% - \unvbox\@mpfootinsv@r + \global\setbox + \if@RTL@footnote + \@mpfootinsv@r + \else + \@mpfootinsv@l + \fi + \vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \unvbox + \if@RTL@footnote + \@mpfootinsv@r + \else + \@mpfootinsv@l + \fi \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\foottextfont \hsize\columnwidth \@parboxrestore @@ -669,12 +777,11 @@ \color@endgroup}% \m@mmf@prepare} \bidi@ensure@newcommand{\@mpfourcolLTRfootnotetext}[1]{% - \global\setbox\@mpfootinsv@r\vbox{\@RTLfalse% - \unvbox\@mpfootinsv@r + \global\setbox\@mpfootinsv@l\vbox{\@RTLfalse% + \unvbox\@mpfootinsv@l \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\LTRfoottextfont \hsize\columnwidth \@parboxrestore - \if@RTLcolumnfootnotes\beginL\fi \protected@edef\@currentlabel{% \csname p@mpfootnote\endcsname\@thefnmark}% \color@begingroup @@ -696,15 +803,26 @@ \bidi@ensure@newcommand{\m@make@fourcol@footgroup}[1]{% \@namedef{@fourcol@footgroup#1}{{% \def\baselinestretch{\m@m@footnote@spacing}% - \@nameuse{foottextfont#1} \splittopskip=\columnfootnoterulesep%\ht\strutbox + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox \m@mrigidbalance{\@nameuse{footins#1}}{4}{\splittopskip}}}} +\newcommand{\bidi@make@fourcol@LTRfootgroup}[1]{% + \@namedef{@fourcol@LTRfootgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \bidi@LTRrigidbalance{\@nameuse{footins#1}}{4}{\splittopskip}}}} \bidi@ensure@newcommand{\m@make@mpfourcol@footgroup}[1]{% \@namedef{@mpfourcol@footgroup#1}{{% \def\baselinestretch{\m@m@footnote@spacing}% - \@nameuse{foottextfont#1} \splittopskip=\columnfootnoterulesep%\ht\strutbox + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox \m@mrigidbalance{\@nameuse{@mpfootins#1}}{4}{\splittopskip}}}} +\newcommand{\bidi@make@mpfourcol@LTRfootgroup}[1]{% +\@namedef{@mpfourcol@LTRfootgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \bidi@LTRrigidbalance{\@nameuse{@mpfootins#1}}{4}{\splittopskip}}}} \bidi@ensure@newcommand{\fivecolumnfootnotes}{% \@namedef{foottextfontv@r}{\foottextfont}% % [RS] + \@namedef{foottextfontv@l}{\LTRfoottextfont}% \@bidi@before@Hy@hyperfootnotes \let\@footnotetext\@fivecolfootnotetext \let\@LTRfootnotetext\@fivecolLTRfootnotetext @@ -713,15 +831,27 @@ \count\footinsv@r=200\relax \m@make@fivecol@footgroup{v@r}% \let\@footgroupv@r\@fivecol@footgroupv@r + \dimen\footinsv@l=5\footinsdim + \count\footinsv@l=200\relax + \bidi@make@fivecol@LTRfootgroup{v@l}% + \let\@LTRfootgroupv@l\@fivecol@LTRfootgroupv@l \let\@mpfootnotetext\@mpfivecolfootnotetext \let\@mpLTRfootnotetext\@mpfivecolLTRfootnotetext \let\@mpRTLfootnotetext\@mpfivecolRTLfootnotetext \@bidi@after@Hy@hyperfootnotes \m@make@mpfivecol@footgroup{v@r}% \let\mp@footgroupv@r\@mpfivecol@footgroupv@r + \bidi@make@mpfivecol@LTRfootgroup{v@l}% + \let\mp@LTRfootgroupv@l\@mpfivecol@LTRfootgroupv@l \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth } -\bidi@ensure@newcommand{\@fivecolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% +\bidi@ensure@newcommand{\@fivecolfootnotetext}[1]{\insert + \if@RTL@footnote + \footinsv@r + \else + \footinsv@l + \fi +{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\foottextfont \@preamfntext @@ -731,7 +861,7 @@ \@fivecolfootfmt{#1}% \color@endgroup}% \m@mmf@prepare} -\bidi@ensure@newcommand{\@fivecolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse% +\bidi@ensure@newcommand{\@fivecolLTRfootnotetext}[1]{\insert\footinsv@l{\@RTLfalse% \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\LTRfoottextfont \@preamfntext @@ -766,8 +896,19 @@ \@preamfivefmt {\RTLfootfootmark\strut {\RTLfoottextfont #1}\strut\par}\allowbreak} \bidi@ensure@newcommand{\@mpfivecolfootnotetext}[1]{% - \global\setbox\@mpfootinsv@r\vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% - \unvbox\@mpfootinsv@r + \global\setbox + \if@RTL@footnote + \@mpfootinsv@r + \else + \@mpfootinsv@l + \fi + \vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \unvbox + \if@RTL@footnote + \@mpfootinsv@r + \else + \@mpfootinsv@l + \fi \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\foottextfont \hsize\columnwidth \@parboxrestore @@ -778,12 +919,11 @@ \color@endgroup}% \m@mmf@prepare} \bidi@ensure@newcommand{\@mpfivecolLTRfootnotetext}[1]{% - \global\setbox\@mpfootinsv@r\vbox{\@RTLfalse% - \unvbox\@mpfootinsv@r + \global\setbox\@mpfootinsv@l\vbox{\@RTLfalse% + \unvbox\@mpfootinsv@l \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\LTRfoottextfont \hsize\columnwidth \@parboxrestore - \if@RTLcolumnfootnotes\beginL\fi \protected@edef\@currentlabel{% \csname p@mpfootnote\endcsname\@thefnmark}% \color@begingroup @@ -805,15 +945,26 @@ \bidi@ensure@newcommand{\m@make@fivecol@footgroup}[1]{% \@namedef{@fivecol@footgroup#1}{{% \def\baselinestretch{\m@m@footnote@spacing}% - \@nameuse{foottextfont#1} \splittopskip=\columnfootnoterulesep%\ht\strutbox + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox \m@mrigidbalance{\@nameuse{footins#1}}{5}{\splittopskip}}}} +\newcommand{\bidi@make@fivecol@LTRfootgroup}[1]{% + \@namedef{@fivecol@LTRfootgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \bidi@LTRrigidbalance{\@nameuse{footins#1}}{5}{\splittopskip}}}} \bidi@ensure@newcommand{\m@make@mpfivecol@footgroup}[1]{% \@namedef{@mpfivecol@footgroup#1}{{% \def\baselinestretch{\m@m@footnote@spacing}% - \@nameuse{foottextfont#1} \splittopskip=\columnfootnoterulesep%\ht\strutbox + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox \m@mrigidbalance{\@nameuse{@mpfootins#1}}{5}{\splittopskip}}}} +\newcommand{\bidi@make@mpfivecol@LTRfootgroup}[1]{% +\@namedef{@mpfivecol@LTRfootgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \bidi@LTRrigidbalance{\@nameuse{@mpfootins#1}}{5}{\splittopskip}}}} \bidi@ensure@newcommand{\sixcolumnfootnotes}{% \@namedef{foottextfontv@r}{\foottextfont}% % [RS] + \@namedef{foottextfontv@l}{\LTRfoottextfont}% \@bidi@before@Hy@hyperfootnotes \let\@footnotetext\@sixcolfootnotetext \let\@LTRfootnotetext\@sixcolLTRfootnotetext @@ -822,15 +973,27 @@ \count\footinsv@r=166\relax \m@make@sixcol@footgroup{v@r}% \let\@footgroupv@r\@sixcol@footgroupv@r + \dimen\footinsv@l=6\footinsdim + \count\footinsv@l=166\relax + \bidi@make@sixcol@LTRfootgroup{v@l}% + \let\@LTRfootgroupv@l\@sixcol@LTRfootgroupv@l \let\@mpfootnotetext\@mpsixcolfootnotetext \let\@mpLTRfootnotetext\@mpsixcolLTRfootnotetext \let\@mpRTLfootnotetext\@mpsixcolRTLfootnotetext \@bidi@after@Hy@hyperfootnotes \m@make@mpsixcol@footgroup{v@r}% \let\mp@footgroupv@r\@mpsixcol@footgroupv@r + \bidi@make@mpsixcol@LTRfootgroup{v@l}% + \let\mp@LTRfootgroupv@l\@mpsixcol@LTRfootgroupv@l \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth } -\bidi@ensure@newcommand{\@sixcolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% +\bidi@ensure@newcommand{\@sixcolfootnotetext}[1]{\insert + \if@RTL@footnote + \footinsv@r + \else + \footinsv@l + \fi +{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\foottextfont \@preamfntext @@ -840,7 +1003,7 @@ \@sixcolfootfmt{#1}% \color@endgroup}% \m@mmf@prepare} -\bidi@ensure@newcommand{\@sixcolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse% +\bidi@ensure@newcommand{\@sixcolLTRfootnotetext}[1]{\insert\footinsv@l{\@RTLfalse% \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\LTRfoottextfont \@preamfntext @@ -875,8 +1038,19 @@ \@preamsixfmt {\RTLfootfootmark\strut {\RTLfoottextfont #1}\strut\par}\allowbreak} \bidi@ensure@newcommand{\@mpsixcolfootnotetext}[1]{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% - \global\setbox\@mpfootinsv@r\vbox{% - \unvbox\@mpfootinsv@r + \global\setbox + \if@RTL@footnote + \@mpfootinsv@r + \else + \@mpfootinsv@l + \fi + \vbox{% + \unvbox + \if@RTL@footnote + \@mpfootinsv@r + \else + \@mpfootinsv@l + \fi \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\foottextfont \hsize\columnwidth \@parboxrestore @@ -887,12 +1061,11 @@ \color@endgroup}% \m@mmf@prepare} \bidi@ensure@newcommand{\@mpsixcolLTRfootnotetext}[1]{\@RTLfalse% - \global\setbox\@mpfootinsv@r\vbox{% - \unvbox\@mpfootinsv@r + \global\setbox\@mpfootinsv@l\vbox{% + \unvbox\@mpfootinsv@l \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\LTRfoottextfont \hsize\columnwidth \@parboxrestore - \if@RTLcolumnfootnotes\beginL\fi \protected@edef\@currentlabel{% \csname p@mpfootnote\endcsname\@thefnmark}% \color@begingroup @@ -914,15 +1087,26 @@ \bidi@ensure@newcommand{\m@make@sixcol@footgroup}[1]{% \@namedef{@sixcol@footgroup#1}{{% \def\baselinestretch{\m@m@footnote@spacing}% - \@nameuse{foottextfont#1} \splittopskip=\columnfootnoterulesep%\ht\strutbox + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox \m@mrigidbalance{\@nameuse{footins#1}}{6}{\splittopskip}}}} +\newcommand{\bidi@make@sixcol@LTRfootgroup}[1]{% + \@namedef{@sixcol@LTRfootgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \bidi@LTRrigidbalance{\@nameuse{footins#1}}{6}{\splittopskip}}}} \bidi@ensure@newcommand{\m@make@mpsixcol@footgroup}[1]{% \@namedef{@mpsixcol@footgroup#1}{{% \def\baselinestretch{\m@m@footnote@spacing}% - \@nameuse{foottextfont#1} \splittopskip=\columnfootnoterulesep%\ht\strutbox + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox \m@mrigidbalance{\@nameuse{@mpfootins#1}}{6}{\splittopskip}}}} +\newcommand{\bidi@make@mpsixcol@LTRfootgroup}[1]{% +\@namedef{@mpsixcol@LTRfootgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \bidi@LTRrigidbalance{\@nameuse{@mpfootins#1}}{6}{\splittopskip}}}} \bidi@ensure@newcommand{\sevencolumnfootnotes}{% \@namedef{foottextfontv@r}{\foottextfont}% % [RS] + \@namedef{foottextfontv@l}{\LTRfoottextfont}% \@bidi@before@Hy@hyperfootnotes \let\@footnotetext\@sevencolfootnotetext \let\@LTRfootnotetext\@sevencolLTRfootnotetext @@ -931,15 +1115,27 @@ \count\footinsv@r=142\relax \m@make@sevencol@footgroup{v@r}% \let\@footgroupv@r\@sevencol@footgroupv@r + \dimen\footinsv@l=7\footinsdim + \count\footinsv@l=142\relax + \bidi@make@sevencol@LTRfootgroup{v@l}% + \let\@LTRfootgroupv@l\@sevencol@LTRfootgroupv@l \let\@mpfootnotetext\@mpsevencolfootnotetext \let\@mpLTRfootnotetext\@mpsevencolLTRfootnotetext \let\@mpRTLfootnotetext\@mpsevencolRTLfootnotetext \@bidi@after@Hy@hyperfootnotes \m@make@mpsevencol@footgroup{v@r}% \let\mp@footgroupv@r\@mpsevencol@footgroupv@r + \bidi@make@mpsevencol@LTRfootgroup{v@l}% + \let\mp@LTRfootgroupv@l\@mpsevencol@LTRfootgroupv@l \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth } -\bidi@ensure@newcommand{\@sevencolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% +\bidi@ensure@newcommand{\@sevencolfootnotetext}[1]{\insert + \if@RTL@footnote + \footinsv@r + \else + \footinsv@l + \fi +{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\foottextfont \@preamfntext @@ -949,7 +1145,7 @@ \@sevencolfootfmt{#1}% \color@endgroup}% \m@mmf@prepare} -\bidi@ensure@newcommand{\@sevencolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse% +\bidi@ensure@newcommand{\@sevencolLTRfootnotetext}[1]{\insert\footinsv@l{\@RTLfalse% \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\LTRfoottextfont \@preamfntext @@ -984,8 +1180,19 @@ \@preamsevenfmt {\RTLfootfootmark\strut {\RTLfoottextfont #1}\strut\par}\allowbreak} \bidi@ensure@newcommand{\@mpsevencolfootnotetext}[1]{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% - \global\setbox\@mpfootinsv@r\vbox{% - \unvbox\@mpfootinsv@r + \global\setbox + \if@RTL@footnote + \@mpfootinsv@r + \else + \@mpfootinsv@l + \fi + \vbox{% + \unvbox + \if@RTL@footnote + \@mpfootinsv@r + \else + \@mpfootinsv@l + \fi \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\foottextfont \hsize\columnwidth \@parboxrestore @@ -996,12 +1203,11 @@ \color@endgroup}% \m@mmf@prepare} \bidi@ensure@newcommand{\@mpsevencolLTRfootnotetext}[1]{\@RTLfalse% - \global\setbox\@mpfootinsv@r\vbox{% - \unvbox\@mpfootinsv@r + \global\setbox\@mpfootinsv@l\vbox{% + \unvbox\@mpfootinsv@l \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\LTRfoottextfont \hsize\columnwidth \@parboxrestore - \if@RTLcolumnfootnotes\beginL\fi \protected@edef\@currentlabel{% \csname p@mpfootnote\endcsname\@thefnmark}% \color@begingroup @@ -1023,15 +1229,26 @@ \bidi@ensure@newcommand{\m@make@sevencol@footgroup}[1]{% \@namedef{@sevencol@footgroup#1}{{% \def\baselinestretch{\m@m@footnote@spacing}% - \@nameuse{foottextfont#1} \splittopskip=\columnfootnoterulesep%\ht\strutbox + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox \m@mrigidbalance{\@nameuse{footins#1}}{7}{\splittopskip}}}} +\newcommand{\bidi@make@sevencol@LTRfootgroup}[1]{% + \@namedef{@sevencol@LTRfootgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \bidi@LTRrigidbalance{\@nameuse{footins#1}}{7}{\splittopskip}}}} \bidi@ensure@newcommand{\m@make@mpsevencol@footgroup}[1]{% \@namedef{@mpsevencol@footgroup#1}{{% \def\baselinestretch{\m@m@footnote@spacing}% - \@nameuse{foottextfont#1} \splittopskip=\columnfootnoterulesep%\ht\strutbox + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox \m@mrigidbalance{\@nameuse{@mpfootins#1}}{7}{\splittopskip}}}} +\newcommand{\bidi@make@mpsevencol@LTRfootgroup}[1]{% +\@namedef{@mpsevencol@LTRfootgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \bidi@LTRrigidbalance{\@nameuse{@mpfootins#1}}{7}{\splittopskip}}}} \bidi@ensure@newcommand{\eightcolumnfootnotes}{% \@namedef{foottextfontv@r}{\foottextfont}% % [RS] + \@namedef{foottextfontv@l}{\LTRfoottextfont}% \@bidi@before@Hy@hyperfootnotes \let\@footnotetext\@eightcolfootnotetext \let\@LTRfootnotetext\@eightcolLTRfootnotetext @@ -1040,15 +1257,27 @@ \count\footinsv@r=125\relax \m@make@eightcol@footgroup{v@r}% \let\@footgroupv@r\@eightcol@footgroupv@r + \dimen\footinsv@l=8\footinsdim + \count\footinsv@l=125\relax + \bidi@make@eightcol@LTRfootgroup{v@l}% + \let\@LTRfootgroupv@l\@eightcol@LTRfootgroupv@l \let\@mpfootnotetext\@mpeightcolfootnotetext \let\@mpLTRfootnotetext\@mpeightcolLTRfootnotetext \let\@mpRTLfootnotetext\@mpeightcolRTLfootnotetext \@bidi@after@Hy@hyperfootnotes \m@make@mpeightcol@footgroup{v@r}% \let\mp@footgroupv@r\@mpeightcol@footgroupv@r + \bidi@make@mpeightcol@LTRfootgroup{v@l}% + \let\mp@LTRfootgroupv@l\@mpeightcol@LTRfootgroupv@l \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth } -\bidi@ensure@newcommand{\@eightcolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% +\bidi@ensure@newcommand{\@eightcolfootnotetext}[1]{\insert + \if@RTL@footnote + \footinsv@r + \else + \footinsv@l + \fi +{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\foottextfont \@preamfntext @@ -1058,7 +1287,7 @@ \@eightcolfootfmt{#1}% \color@endgroup}% \m@mmf@prepare} -\bidi@ensure@newcommand{\@eightcolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse% +\bidi@ensure@newcommand{\@eightcolLTRfootnotetext}[1]{\insert\footinsv@l{\@RTLfalse% \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\LTRfoottextfont \@preamfntext @@ -1093,8 +1322,19 @@ \@preameightfmt {\RTLfootfootmark\strut {\RTLfoottextfont #1}\strut\par}\allowbreak} \bidi@ensure@newcommand{\@mpeightcolfootnotetext}[1]{% - \global\setbox\@mpfootinsv@r\vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% - \unvbox\@mpfootinsv@r + \global\setbox + \if@RTL@footnote + \@mpfootinsv@r + \else + \@mpfootinsv@l + \fi + \vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \unvbox + \if@RTL@footnote + \@mpfootinsv@r + \else + \@mpfootinsv@l + \fi \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\foottextfont \hsize\columnwidth \@parboxrestore @@ -1105,12 +1345,11 @@ \color@endgroup}% \m@mmf@prepare} \bidi@ensure@newcommand{\@mpeightcolLTRfootnotetext}[1]{% - \global\setbox\@mpfootinsv@r\vbox{\@RTLfalse% - \unvbox\@mpfootinsv@r + \global\setbox\@mpfootinsv@l\vbox{\@RTLfalse% + \unvbox\@mpfootinsv@l \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\LTRfoottextfont \hsize\columnwidth \@parboxrestore - \if@RTLcolumnfootnotes\beginL\fi \protected@edef\@currentlabel{% \csname p@mpfootnote\endcsname\@thefnmark}% \color@begingroup @@ -1132,15 +1371,26 @@ \bidi@ensure@newcommand{\m@make@eightcol@footgroup}[1]{% \@namedef{@eightcol@footgroup#1}{{% \def\baselinestretch{\m@m@footnote@spacing}% - \@nameuse{foottextfont#1} \splittopskip=\columnfootnoterulesep%\ht\strutbox + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox \m@mrigidbalance{\@nameuse{footins#1}}{8}{\splittopskip}}}} +\newcommand{\bidi@make@eightcol@LTRfootgroup}[1]{% + \@namedef{@eightcol@LTRfootgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \bidi@LTRrigidbalance{\@nameuse{footins#1}}{8}{\splittopskip}}}} \bidi@ensure@newcommand{\m@make@mpeightcol@footgroup}[1]{% \@namedef{@mpeightcol@footgroup#1}{{% \def\baselinestretch{\m@m@footnote@spacing}% - \@nameuse{foottextfont#1} \splittopskip=\columnfootnoterulesep%\ht\strutbox + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox \m@mrigidbalance{\@nameuse{@mpfootins#1}}{8}{\splittopskip}}}} +\newcommand{\bidi@make@mpeightcol@LTRfootgroup}[1]{% +\@namedef{@mpeightcol@LTRfootgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \bidi@LTRrigidbalance{\@nameuse{@mpfootins#1}}{8}{\splittopskip}}}} \bidi@ensure@newcommand{\ninecolumnfootnotes}{% \@namedef{foottextfontv@r}{\foottextfont}% % [RS] + \@namedef{foottextfontv@l}{\LTRfoottextfont}% \@bidi@before@Hy@hyperfootnotes \let\@footnotetext\@ninecolfootnotetext \let\@LTRfootnotetext\@ninecolLTRfootnotetext @@ -1149,15 +1399,27 @@ \count\footinsv@r=111\relax \m@make@ninecol@footgroup{v@r}% \let\@footgroupv@r\@ninecol@footgroupv@r + \dimen\footinsv@l=9\footinsdim + \count\footinsv@l=111\relax + \bidi@make@ninecol@LTRfootgroup{v@l}% + \let\@LTRfootgroupv@l\@ninecol@LTRfootgroupv@l \let\@mpfootnotetext\@mpninecolfootnotetext \let\@mpLTRfootnotetext\@mpninecolLTRfootnotetext \let\@mpRTLfootnotetext\@mpninecolRTLfootnotetext \@bidi@after@Hy@hyperfootnotes \m@make@mpninecol@footgroup{v@r}% \let\mp@footgroupv@r\@mpninecol@footgroupv@r + \bidi@make@mpninecol@LTRfootgroup{v@l}% + \let\mp@LTRfootgroupv@l\@mpninecol@LTRfootgroupv@l \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth } -\bidi@ensure@newcommand{\@ninecolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% +\bidi@ensure@newcommand{\@ninecolfootnotetext}[1]{\insert + \if@RTL@footnote + \footinsv@r + \else + \footinsv@l + \fi +{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\foottextfont \@preamfntext @@ -1167,7 +1429,7 @@ \@ninecolfootfmt{#1}% \color@endgroup}% \m@mmf@prepare} -\bidi@ensure@newcommand{\@ninecolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse% +\bidi@ensure@newcommand{\@ninecolLTRfootnotetext}[1]{\insert\footinsv@l{\@RTLfalse% \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\LTRfoottextfont \@preamfntext @@ -1202,8 +1464,19 @@ \@preamninefmt {\RTLfootfootmark\strut {\RTLfoottextfont #1}\strut\par}\allowbreak} \bidi@ensure@newcommand{\@mpninecolfootnotetext}[1]{% - \global\setbox\@mpfootinsv@r\vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% - \unvbox\@mpfootinsv@r + \global\setbox + \if@RTL@footnote + \@mpfootinsv@r + \else + \@mpfootinsv@l + \fi + \vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \unvbox + \if@RTL@footnote + \@mpfootinsv@r + \else + \@mpfootinsv@l + \fi \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\foottextfont \hsize\columnwidth \@parboxrestore @@ -1214,12 +1487,11 @@ \color@endgroup}% \m@mmf@prepare} \bidi@ensure@newcommand{\@mpninecolLTRfootnotetext}[1]{% - \global\setbox\@mpfootinsv@r\vbox{\@RTLfalse% - \unvbox\@mpfootinsv@r + \global\setbox\@mpfootinsv@l\vbox{\@RTLfalse% + \unvbox\@mpfootinsv@l \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\LTRfoottextfont \hsize\columnwidth \@parboxrestore - \if@RTLcolumnfootnotes\beginL\fi \protected@edef\@currentlabel{% \csname p@mpfootnote\endcsname\@thefnmark}% \color@begingroup @@ -1241,15 +1513,26 @@ \bidi@ensure@newcommand{\m@make@ninecol@footgroup}[1]{% \@namedef{@ninecol@footgroup#1}{{% \def\baselinestretch{\m@m@footnote@spacing}% - \@nameuse{foottextfont#1} \splittopskip=\columnfootnoterulesep%\ht\strutbox + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox \m@mrigidbalance{\@nameuse{footins#1}}{9}{\splittopskip}}}} +\newcommand{\bidi@make@ninecol@LTRfootgroup}[1]{% + \@namedef{@ninecol@LTRfootgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \bidi@LTRrigidbalance{\@nameuse{footins#1}}{9}{\splittopskip}}}} \bidi@ensure@newcommand{\m@make@mpninecol@footgroup}[1]{% \@namedef{@mpninecol@footgroup#1}{{% \def\baselinestretch{\m@m@footnote@spacing}% - \@nameuse{foottextfont#1} \splittopskip=\columnfootnoterulesep%\ht\strutbox + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox \m@mrigidbalance{\@nameuse{@mpfootins#1}}{9}{\splittopskip}}}} +\newcommand{\bidi@make@mpninecol@LTRfootgroup}[1]{% +\@namedef{@mpninecol@LTRfootgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \bidi@LTRrigidbalance{\@nameuse{@mpfootins#1}}{9}{\splittopskip}}}} \bidi@ensure@newcommand{\tencolumnfootnotes}{% \@namedef{foottextfontv@r}{\foottextfont}% % [RS] + \@namedef{foottextfontv@l}{\LTRfoottextfont}% \@bidi@before@Hy@hyperfootnotes \let\@footnotetext\@tencolfootnotetext \let\@LTRfootnotetext\@tencolLTRfootnotetext @@ -1258,15 +1541,27 @@ \count\footinsv@r=100\relax \m@make@tencol@footgroup{v@r}% \let\@footgroupv@r\@tencol@footgroupv@r + \dimen\footinsv@l=10\footinsdim + \count\footinsv@l=100\relax + \bidi@make@tencol@LTRfootgroup{v@l}% + \let\@LTRfootgroupv@l\@tencol@LTRfootgroupv@l \let\@mpfootnotetext\@mptencolfootnotetext \let\@mpLTRfootnotetext\@mptencolLTRfootnotetext \let\@mpRTLfootnotetext\@mptencolRTLfootnotetext \@bidi@after@Hy@hyperfootnotes \m@make@mptencol@footgroup{v@r}% \let\mp@footgroupv@r\@mptencol@footgroupv@r + \bidi@make@mptencol@LTRfootgroup{v@l}% + \let\mp@LTRfootgroupv@l\@mptencol@LTRfootgroupv@l \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth } -\bidi@ensure@newcommand{\@tencolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% +\bidi@ensure@newcommand{\@tencolfootnotetext}[1]{\insert + \if@RTL@footnote + \footinsv@r + \else + \footinsv@l + \fi +{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\foottextfont \@preamfntext @@ -1276,7 +1571,7 @@ \@tencolfootfmt{#1}% \color@endgroup}% \m@mmf@prepare} -\bidi@ensure@newcommand{\@tencolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse% +\bidi@ensure@newcommand{\@tencolLTRfootnotetext}[1]{\insert\footinsv@l{\@RTLfalse% \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\LTRfoottextfont \@preamfntext @@ -1311,8 +1606,19 @@ \@preamtenfmt {\RTLfootfootmark\strut {\RTLfoottextfont #1}\strut\par}\allowbreak} \bidi@ensure@newcommand{\@mptencolfootnotetext}[1]{% - \global\setbox\@mpfootinsv@r\vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% - \unvbox\@mpfootinsv@r + \global\setbox + \if@RTL@footnote + \@mpfootinsv@r + \else + \@mpfootinsv@l + \fi + \vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \unvbox + \if@RTL@footnote + \@mpfootinsv@r + \else + \@mpfootinsv@l + \fi \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\foottextfont \hsize\columnwidth \@parboxrestore @@ -1323,12 +1629,11 @@ \color@endgroup}% \m@mmf@prepare} \bidi@ensure@newcommand{\@mptencolLTRfootnotetext}[1]{% - \global\setbox\@mpfootinsv@r\vbox{\@RTLfalse% - \unvbox\@mpfootinsv@r + \global\setbox\@mpfootinsv@l\vbox{\@RTLfalse% + \unvbox\@mpfootinsv@l \def\baselinestretch{\m@m@footnote@spacing}% \reset@font\LTRfoottextfont \hsize\columnwidth \@parboxrestore - \if@RTLcolumnfootnotes\beginL\fi \protected@edef\@currentlabel{% \csname p@mpfootnote\endcsname\@thefnmark}% \color@begingroup @@ -1350,13 +1655,23 @@ \bidi@ensure@newcommand{\m@make@tencol@footgroup}[1]{% \@namedef{@tencol@footgroup#1}{{% \def\baselinestretch{\m@m@footnote@spacing}% - \@nameuse{foottextfont#1} \splittopskip=\columnfootnoterulesep%\ht\strutbox + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox \m@mrigidbalance{\@nameuse{footins#1}}{10}{\splittopskip}}}} +\newcommand{\bidi@make@tencol@LTRfootgroup}[1]{% + \@namedef{@tencol@LTRfootgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \bidi@LTRrigidbalance{\@nameuse{footins#1}}{10}{\splittopskip}}}} \bidi@ensure@newcommand{\m@make@mptencol@footgroup}[1]{% \@namedef{@mptencol@footgroup#1}{{% \def\baselinestretch{\m@m@footnote@spacing}% - \@nameuse{foottextfont#1} \splittopskip=\columnfootnoterulesep%\ht\strutbox + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox \m@mrigidbalance{\@nameuse{@mpfootins#1}}{10}{\splittopskip}}}} +\newcommand{\bidi@make@mptencol@LTRfootgroup}[1]{% +\@namedef{@mptencol@LTRfootgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \bidi@LTRrigidbalance{\@nameuse{@mpfootins#1}}{10}{\splittopskip}}}} \bidi@ensure@newcommand{\m@munvxh}[1]{% \setbox0=\vbox{\unvbox#1% \global\setbox1=\lastbox}% |