summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/bidi/extrafootnotefeatures.def
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/bidi/extrafootnotefeatures.def')
-rw-r--r--Master/texmf-dist/tex/latex/bidi/extrafootnotefeatures.def802
1 files changed, 482 insertions, 320 deletions
diff --git a/Master/texmf-dist/tex/latex/bidi/extrafootnotefeatures.def b/Master/texmf-dist/tex/latex/bidi/extrafootnotefeatures.def
index aa17588e35f..d8b03a322b5 100644
--- a/Master/texmf-dist/tex/latex/bidi/extrafootnotefeatures.def
+++ b/Master/texmf-dist/tex/latex/bidi/extrafootnotefeatures.def
@@ -7,48 +7,146 @@
%% bidi.dtx (with options: `extrafootnotefeatures.def')
%%
%% ______________________________________
-%% Copyright © 2009–2011 VAFA KHALIGHI
+%% Copyright © 2009–2012 Vafa Khalighi
%%
%% License information appended.
%%
%%
-\ProvidesFile{extrafootnotefeatures}[2011/08/01 v0.2 bidi extra footnote features for XeTeX engine]
-\newif\if@parafootRTL
-\newcommand{\setRTLparagraphfootnotes}{\@parafootRTLtrue}
-\newcommand{\setLTRparagraphfootnotes}{\@parafootRTLfalse}
+\ProvidesFile{extrafootnotefeatures}[2012/01/01 v0.3 bidi extra footnote features for XeTeX engine]
+\g@addto@macro\document{\textwidthfootnoterule}
+\bidi@ensure@newcommand{\setRTLparagraphfootnotes}{\@parafootRTLtrue}
+\bidi@ensure@newcommand{\setLTRparagraphfootnotes}{\@parafootRTLfalse}
+\long\def\@footnotetext#1{%
+ \begingroup
+ \setbox\footins
+ \vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\foottextfont
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+ \hsize\columnwidth \@parboxrestore
+ \bidi@footnotetext@dir{#1}%
+ \protected@edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}\@makefntext
+ {\rule\z@\footnotesep\ignorespaces{\foottextfont #1}%
+ \@finalstrut\strutbox}}%
+ \bidi@footnotetext@after
+ \insert\footins{\unvbox\footins}%
+ \endgroup%
+ \m@mmf@prepare}
+\long\def\@RTLfootnotetext#1{%
+ \begingroup
+ \setbox\footins
+ \vbox{\@RTLtrue%
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\RTLfoottextfont
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+ \hsize\columnwidth \@parboxrestore
+ \bidi@footnotetext@dir{#1}%
+ \protected@edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}\@makefntext
+ {\rule\z@\footnotesep\ignorespaces{\RTLfoottextfont #1}%
+ \@finalstrut\strutbox}}%
+ \bidi@footnotetext@after
+ \insert\footins{\unvbox\footins}%
+ \endgroup%
+ \m@mmf@prepare}
+\long\def\@LTRfootnotetext#1{%
+ \begingroup
+ \setbox\footins
+ \vbox{\@RTLfalse%
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \reset@font\LTRfoottextfont
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+ \hsize\columnwidth \@parboxrestore
+ \bidi@footnotetext@dir{#1}%
+ \protected@edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}\@makefntext
+ {\rule\z@\footnotesep\ignorespaces{\LTRfoottextfont #1}%
+ \@finalstrut\strutbox}}%
+ \bidi@footnotetext@after
+ \insert\footins{\unvbox\footins}%
+ \endgroup%
+ \m@mmf@prepare}
+\renewcommand{\@mpfootnotetext}[1]{%
+ \global\setbox\@mpfootins\vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
+ \unvbox\@mpfootins
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \foottextfont \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \reset@font%
+ \bidi@footnotetext@dir{#1}
+ \ifnum\c@mpfootnote=1\if@RTL\global\let\bidi@footnoterule\right@footnote\else\global\let\bidi@footnoterule\left@footnote\fi\fi
+ \@makefntext{%
+ \rule\z@\footnotesep\ignorespaces{\foottextfont #1}%
+ \@finalstrut\strutbox}%
+ \color@endgroup}}
+\renewcommand{\@mpLTRfootnotetext}[1]{%
+ \global\setbox\@mpfootins\vbox{\@RTLfalse%
+ \unvbox\@mpfootins
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \LTRfoottextfont \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \reset@font%
+ \bidi@footnotetext@dir{#1}
+ \ifnum\c@mpfootnote=1\if@RTL\global\let\bidi@footnoterule\right@footnote\else\global\let\bidi@footnoterule\left@footnote\fi\fi
+ \@makefntext{%
+ \rule\z@\footnotesep\ignorespaces{\LTRfoottextfont #1}%
+ \@finalstrut\strutbox}%
+ \color@endgroup}}
+\renewcommand{\@mpRTLfootnotetext}[1]{%
+ \global\setbox\@mpfootins\vbox{\@RTLtrue%
+ \unvbox\@mpfootins
+ \def\baselinestretch{\m@m@footnote@spacing}%
+ \RTLfoottextfont \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \reset@font%
+ \bidi@footnotetext@dir{#1}
+ \ifnum\c@mpfootnote=1\if@RTL\global\let\bidi@footnoterule\right@footnote\else\global\let\bidi@footnoterule\left@footnote\fi\fi
+ \@makefntext{%
+ \rule\z@\footnotesep\ignorespaces{\RTLfoottextfont #1}%
+ \@finalstrut\strutbox}%
+ \color@endgroup}}
\let\m@mold@footnotetext\@footnotetext
\let\m@mold@LTRfootnotetext\@LTRfootnotetext
\let\m@mold@RTLfootnotetext\@RTLfootnotetext
\let\m@mold@mpfootnotetext\@mpfootnotetext
\let\m@mold@mpLTRfootnotetext\@mpLTRfootnotetext
\let\m@mold@mpRTLfootnotetext\@mpRTLfootnotetext
-\newcommand{\normalfootnotes}{%
+\bidi@ensure@newcommand{\normalfootnotes}{%
\let\@footnotetext\m@mold@footnotetext
\let\@LTRfootnotetext\m@mold@LTRfootnotetext
\let\@RTLfootnotetext\m@mold@RTLfootnotetext
\let\@mpfootnotetext\m@mold@mpfootnotetext
\let\@mpLTRfootnotetext\m@mold@mpLTRfootnotetext
\let\@mpRTLfootnotetext\m@mold@mpRTLfootnotetext}
-\newif\if@RTLcolumnfootnotes
-\newcommand*{\RTLcolumnfootnotes}{\@RTLcolumnfootnotestrue}
-\newcommand*{\LTRcolumnfootnotes}{\@RTLcolumnfootnotesfalse}
-\g@addto@macro\document{\textwidthfootnoterule}
-\newcommand*{\setSingleSpace}[1]{%
+\@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}%
\def\m@m@float@spacing{#1} %
}
\setSingleSpace{1}
\newinsert\sideins
-\newcommand*{\multiplefootnotemarker}{3sp}
-\newcommand*{\m@mmf@prepare}{%
+\bidi@ensure@newcommand*{\multiplefootnotemarker}{3sp}
+\bidi@ensure@newcommand*{\m@mmf@prepare}{%
\kern-\multiplefootnotemarker
\kern\multiplefootnotemarker\relax}
-\newlength{\footmarkwidth}
-\newlength{\footmarksep}
-\newlength{\footparindent}
-\newcommand*{\footmarkstyle}[1]{\def\footscript##1{#1}}
-\newcommand{\footfootmark}{%
+\bidi@ensure@newlength{\footmarkwidth}
+\bidi@ensure@newlength{\footmarksep}
+\bidi@ensure@newlength{\footparindent}
+\bidi@ensure@newcommand*{\footmarkstyle}[1]{\def\footscript##1{#1}}
+\bidi@ensure@newcommand{\footfootmark}{%
\ifdim\footmarkwidth < \z@
\llap{\hb@xt@ -\footmarkwidth{%
\hss\normalfont\footscript{\@thefnmark}}%
@@ -63,33 +161,35 @@
\footmarkstyle{\textsuperscript{#1}}
\setlength{\footmarkwidth}{1.8em}
\setlength{\footparindent}{1em}
-\newcommand{\m@mdoextrafeet}{\extrafeetins}
-\newcommand*{\extrafeetins}{%
+\bidi@ensure@newcommand{\m@mdoextrafeet}{\extrafeetins}
+\bidi@ensure@newcommand*{\extrafeetins}{%
\setbox\@outputbox \vbox{%
\boxmaxdepth \@maxdepth
\unvbox\@outputbox
\ifvoid\footinsv@r\else\@footstartv@r\@footgroupv@r\fi
\extrafeetinshook}}
-\newcommand{\extrafeetinshook}{}
-\newcommand{\foottextfont}{\footnotesize}
-\newlength{\footinsdim}
+\bidi@ensure@newcommand{\extrafeetinshook}{}
+\bidi@ensure@newcommand{\foottextfont}{\footnotesize}
+\bidi@ensure@newcommand{\LTRfoottextfont}{\footnotesize}
+\bidi@ensure@newcommand{\RTLfoottextfont}{\footnotesize}
+\bidi@ensure@newlength{\footinsdim}
\setlength{\footinsdim}{8in} % standard for \dimen\footins
-\newcommand{\@preamfntext}{%
+\bidi@ensure@newcommand{\@preamfntext}{%
\interlinepenalty\interfootnotelinepenalty
\floatingpenalty \@MM
\splittopskip=\footnotesep
\splitmaxdepth=\dp\strutbox
\@parboxrestore}
-\newcommand{\m@mdoextrafeetmini}{%
+\bidi@ensure@newcommand{\m@mdoextrafeetmini}{%
\extrafeetminihook}
-\newcommand{\extrafeetendmini}{%
+\bidi@ensure@newcommand{\extrafeetendmini}{%
\ifvoid\@mpfootinsv@r\else
\vskip\skip\@mpfootins
\normalcolor\footnoterule\mp@footgroupv@r
\fi
\extrafeetendminihook}
-\newcommand{\extrafeetendminihook}{}
-\newcommand{\m@mdoextrafeetendmini}{\extrafeetendmini}
+\bidi@ensure@newcommand{\extrafeetendminihook}{}
+\bidi@ensure@newcommand{\m@mdoextrafeetendmini}{\extrafeetendmini}
\def\endminipage{%
\par
\unskip
@@ -104,7 +204,7 @@
\color@endgroup
\egroup
\expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}}
-\newcommand{\m@make@footstart}[1]{%
+\bidi@ensure@newcommand{\m@make@footstart}[1]{%
\@namedef{@footstart#1}{%
\vskip\bigskipamount
\leftskip=\z@
@@ -115,20 +215,20 @@
\count\footinsv@r=1000 % no magnifcation
\dimen\footinsv@r=\footinsdim
\m@make@footstart{v@r}
-\newcommand{\@footgroupv@r}{}
+\bidi@ensure@newcommand{\@footgroupv@r}{}
\newinsert\@mpfootinsv@r
-\newcommand{\mp@footgroupv@r}{}
+\bidi@ensure@newcommand{\mp@footgroupv@r}{}
\newcount\m@m@k \newdimen\m@m@h
-\newcommand*{\m@mrigidbalance}[3]{\setbox0=\box#1 \m@m@k=#2 \m@m@h=#3
+\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}}
-\newcommand*{\m@mdosplits}{\ifnum\m@m@k>0 \noalign{\hfil}\m@msplitoff
+\bidi@ensure@newcommand*{\m@mdosplits}{\ifnum\m@m@k>0 \noalign{\hfil}\m@msplitoff
\global\advance\m@m@k-1\cr\m@mdosplits\fi}
-\newcommand*{\m@msplitoff}{\dimen0=\ht0
+\bidi@ensure@newcommand*{\m@msplitoff}{\dimen0=\ht0
\divide\dimen0 by\m@m@k \advance\dimen0 by\m@m@h
\setbox2 \vsplit0 to \dimen0
\unvbox2 }
-\newcommand{\twocolumnfootnotes}{%
+\bidi@ensure@newcommand{\twocolumnfootnotes}{%
\@namedef{foottextfontv@r}{\foottextfont}% % [RS]
\let\@footnotetext\@twocolfootnotetext
\let\@LTRfootnotetext\@twocolLTRfootnotetext
@@ -142,7 +242,7 @@
\let\@mpRTLfootnotetext\@mptwocolRTLfootnotetext
\m@make@mptwocol@footgroup{v@r}%
\let\mp@footgroupv@r\@mptwocol@footgroupv@r}
-\newcommand{\@twocolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
+\bidi@ensure@newcommand{\@twocolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\foottextfont
\@preamfntext
@@ -152,35 +252,41 @@
\@twocolfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@twocolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse%
+\bidi@ensure@newcommand{\@twocolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse%
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\LTRfoottextfont
\@preamfntext
\protected@edef\@currentlabel{%
\csname p@footnote\endcsname\@thefnmark}%
\color@begingroup
- \@twocolfootfmt{#1}%
+ \@twocolLTRfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@twocolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
+\bidi@ensure@newcommand{\@twocolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\RTLfoottextfont
\@preamfntext
\protected@edef\@currentlabel{%
\csname p@footnote\endcsname\@thefnmark}%
\color@begingroup
- \@twocolfootfmt{#1}%
+ \@twocolRTLfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@preamtwofmt}{%
+\bidi@ensure@newcommand{\@preamtwofmt}{%
\hsize .45\hsize
\parindent=\z@
\tolerance=5000\relax
\leavevmode}
-\newcommand{\@twocolfootfmt}[1]{%
+\bidi@ensure@newcommand{\@twocolfootfmt}[1]{%
\@preamtwofmt
{\footfootmark\strut {\foottextfont #1}\strut\par}\allowbreak}
-\newcommand{\@mptwocolfootnotetext}[1]{%
+\bidi@ensure@newcommand{\@twocolLTRfootfmt}[1]{%
+ \@preamtwofmt
+ {\footfootmark\strut {\LTRfoottextfont #1}\strut\par}\allowbreak}
+\bidi@ensure@newcommand{\@twocolRTLfootfmt}[1]{%
+ \@preamtwofmt
+ {\footfootmark\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
\def\baselinestretch{\m@m@footnote@spacing}%
@@ -192,48 +298,48 @@
\@twocolfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@mptwocolLTRfootnotetext}[1]{%
+\bidi@ensure@newcommand{\@mptwocolLTRfootnotetext}[1]{%
\global\setbox\@mpfootinsv@r\vbox{\@RTLfalse%
\unvbox\@mpfootinsv@r
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\LTRfoottextfont
\hsize\columnwidth \@parboxrestore
\if@RTLcolumnfootnotes\beginL\fi
\protected@edef\@currentlabel{%
\csname p@mpfootnote\endcsname\@thefnmark}%
\color@begingroup
- \@twocolfootfmt{#1}%
+ \@twocolLTRfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@mptwocolRTLfootnotetext}[1]{%
+\bidi@ensure@newcommand{\@mptwocolRTLfootnotetext}[1]{%
\global\setbox\@mpfootinsv@r\vbox{\@RTLtrue%
\unvbox\@mpfootinsv@r
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\RTLfoottextfont
\hsize\columnwidth \@parboxrestore
\protected@edef\@currentlabel{%
\csname p@mpfootnote\endcsname\@thefnmark}%
\color@begingroup
- \@twocolfootfmt{#1}%
+ \@twocolRTLfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\twocolumnfootstyle}[1]{%
+\bidi@ensure@newcommand{\twocolumnfootstyle}[1]{%
\m@make@twocolfootnotetext{#1}%
\m@make@mptwocolfootnotetext{#1}%
\m@make@twocolfootfmt{#1}%
\m@make@twocol@footgroup{#1}%
\m@make@mptwocol@footgroup{#1}%
\m@make@footstart{#1}%
- \@namelongdef{@footnotetext#1}##1{%
+ \bidi@namelongdef{@footnotetext#1}##1{%
\@nameuse{@twocolfootnotetext#1}{##1}}%
- \@namelongdef{@mpfootnotetext#1}##1{%
+ \bidi@namelongdef{@mpfootnotetext#1}##1{%
\@nameuse{@mptwocolfootnotetext#1}{##1}}%
\@namedef{@footgroup#1}{\@nameuse{@twocol@footgroup#1}}%
\@namedef{mp@footgroup#1}{\@nameuse{@mptwocol@footgroup#1}}%
\expandafter\dimen\csname footins#1\endcsname=2\footinsdim
\expandafter\count\csname footins#1\endcsname=500\relax}
-\newcommand{\m@make@twocolfootnotetext}[1]{%
- \@namelongdef{@twocolfootnotetext#1}##1{%
+\bidi@ensure@newcommand{\m@make@twocolfootnotetext}[1]{%
+ \bidi@namelongdef{@twocolfootnotetext#1}##1{%
\insert\@nameuse{footins#1}{%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\@nameuse{foottextfont#1}%
@@ -244,8 +350,8 @@
\@nameuse{@twocolfootfmt#1}{##1}%
\color@endgroup}%
\m@mmf@prepare}}
-\newcommand{\m@make@mptwocolfootnotetext}[1]{%
-\@namelongdef{@mptwocolfootnotetext#1}##1{%
+\bidi@ensure@newcommand{\m@make@mptwocolfootnotetext}[1]{%
+\bidi@namelongdef{@mptwocolfootnotetext#1}##1{%
\global\setbox\@nameuse{@mpfootins#1}\vbox{%
\unvbox\@nameuse{@mpfootins#1}
\def\baselinestretch{\m@m@footnote@spacing}%
@@ -256,20 +362,20 @@
\color@begingroup
\@nameuse{@twocolfootfmt#1}{##1}%
\color@endgroup}\m@mmf@prepare}}
-\newcommand{\m@make@twocolfootfmt}[1]{%
+\bidi@ensure@newcommand{\m@make@twocolfootfmt}[1]{%
\@namedef{@twocolfootfmt#1}##1{%
\@preamtwofmt
{\@nameuse{footfootmark#1}\strut
{\@nameuse{foottextfont#1}##1}\strut\par}\allowbreak}}
-\newcommand{\m@make@twocol@footgroup}[1]{%
+\bidi@ensure@newcommand{\m@make@twocol@footgroup}[1]{%
\@namedef{@twocol@footgroup#1}{{%
\@nameuse{foottextfont#1} \splittopskip=\ht\strutbox
\m@mrigidbalance{\@nameuse{footins#1}}{\tw@}{\splittopskip}}}}
-\newcommand{\m@make@mptwocol@footgroup}[1]{%
+\bidi@ensure@newcommand{\m@make@mptwocol@footgroup}[1]{%
\@namedef{@mptwocol@footgroup#1}{{%
\@nameuse{foottextfont#1} \splittopskip=\ht\strutbox
\m@mrigidbalance{\@nameuse{@mpfootins#1}}{\tw@}{\splittopskip}}}}
-\newcommand{\threecolumnfootnotes}{%
+\bidi@ensure@newcommand{\threecolumnfootnotes}{%
\@namedef{foottextfontv@r}{\foottextfont}% % [RS]
\let\@footnotetext\@threecolfootnotetext
\let\@LTRfootnotetext\@threecolLTRfootnotetext
@@ -283,7 +389,7 @@
\let\@mpRTLfootnotetext\@mpthreecolRTLfootnotetext
\m@make@mpthreecol@footgroup{v@r}%
\let\mp@footgroupv@r\@mpthreecol@footgroupv@r}
-\newcommand{\@threecolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
+\bidi@ensure@newcommand{\@threecolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\foottextfont
\@preamfntext
@@ -292,33 +398,39 @@
\color@begingroup
\@threecolfootfmt{#1}%
\color@endgroup}\m@mmf@prepare}
-\newcommand{\@threecolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse%
+\bidi@ensure@newcommand{\@threecolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse%
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\LTRfoottextfont
\@preamfntext
\protected@edef\@currentlabel{%
\csname p@footnote\endcsname\@thefnmark}%
\color@begingroup
- \@threecolfootfmt{#1}%
+ \@threecolLTRfootfmt{#1}%
\color@endgroup}\m@mmf@prepare}
-\newcommand{\@threecolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
+\bidi@ensure@newcommand{\@threecolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\RTLfoottextfont
\@preamfntext
\protected@edef\@currentlabel{%
\csname p@footnote\endcsname\@thefnmark}%
\color@begingroup
- \@threecolfootfmt{#1}%
+ \@threecolRTLfootfmt{#1}%
\color@endgroup}\m@mmf@prepare}
-\newcommand{\@preamthreefmt}{%
+\bidi@ensure@newcommand{\@preamthreefmt}{%
\hsize .3\hsize
\parindent=\z@
\tolerance=5000\relax
\leavevmode}
-\newcommand{\@threecolfootfmt}[1]{%
+\bidi@ensure@newcommand{\@threecolfootfmt}[1]{%
\@preamthreefmt
{\footfootmark\strut {\foottextfont #1}\strut\par}\allowbreak}
-\newcommand{\@mpthreecolfootnotetext}[1]{%
+\bidi@ensure@newcommand{\@threecolLTRfootfmt}[1]{%
+ \@preamthreefmt
+ {\footfootmark\strut {\LTRfoottextfont #1}\strut\par}\allowbreak}
+\bidi@ensure@newcommand{\@threecolRTLfootfmt}[1]{%
+ \@preamthreefmt
+ {\footfootmark\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
\def\baselinestretch{\m@m@footnote@spacing}%
@@ -329,46 +441,46 @@
\color@begingroup
\@threecolfootfmt{#1}%
\color@endgroup}\m@mmf@prepare}
-\newcommand{\@mpthreecolLTRfootnotetext}[1]{%
+\bidi@ensure@newcommand{\@mpthreecolLTRfootnotetext}[1]{%
\global\setbox\@mpfootinsv@r\vbox{\@RTLfalse%
\unvbox\@mpfootinsv@r
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\LTRfoottextfont
\hsize\columnwidth \@parboxrestore
\if@RTLcolumnfootnotes\beginL\fi
\protected@edef\@currentlabel{%
\csname p@mpfootnote\endcsname\@thefnmark}%
\color@begingroup
- \@threecolfootfmt{#1}%
+ \@threecolLTRfootfmt{#1}%
\color@endgroup}\m@mmf@prepare}
-\newcommand{\@mpthreecolRTLfootnotetext}[1]{%
+\bidi@ensure@newcommand{\@mpthreecolRTLfootnotetext}[1]{%
\global\setbox\@mpfootinsv@r\vbox{\@RTLtrue%
\unvbox\@mpfootinsv@r
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\RTLfoottextfont
\hsize\columnwidth \@parboxrestore
\protected@edef\@currentlabel{%
\csname p@mpfootnote\endcsname\@thefnmark}%
\color@begingroup
- \@threecolfootfmt{#1}%
+ \@threecolRTLfootfmt{#1}%
\color@endgroup}\m@mmf@prepare}
-\newcommand{\threecolumnfootstyle}[1]{%
+\bidi@ensure@newcommand{\threecolumnfootstyle}[1]{%
\m@make@threecolfootnotetext{#1}%
\m@make@mpthreecolfootnotetext{#1}%
\m@make@threecolfootfmt{#1}%
\m@make@threecol@footgroup{#1}%
\m@make@mpthreecol@footgroup{#1}%
\m@make@footstart{#1}%
- \@namelongdef{@footnotetext#1}##1{%
+ \bidi@namelongdef{@footnotetext#1}##1{%
\@nameuse{@threecolfootnotetext#1}{##1}}%
- \@namelongdef{@mpfootnotetext#1}##1{%
+ \bidi@namelongdef{@mpfootnotetext#1}##1{%
\@nameuse{@mpthreecolfootnotetext#1}{##1}}%
\@namedef{@footgroup#1}{\@nameuse{@threecol@footgroup#1}}%
\@namedef{mp@footgroup#1}{\@nameuse{@mpthreecol@footgroup#1}}%
\expandafter\dimen\csname footins#1\endcsname=3\footinsdim
\expandafter\count\csname footins#1\endcsname=333\relax}
-\newcommand{\m@make@threecolfootnotetext}[1]{%
-\@namelongdef{@threecolfootnotetext#1}##1{%
+\bidi@ensure@newcommand{\m@make@threecolfootnotetext}[1]{%
+\bidi@namelongdef{@threecolfootnotetext#1}##1{%
\insert\@nameuse{footins#1}{%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\@nameuse{foottextfont#1}%
@@ -378,8 +490,8 @@
\color@begingroup
\@nameuse{@threecolfootfmt#1}{##1}%
\color@endgroup}\m@mmf@prepare}}
-\newcommand{\m@make@mpthreecolfootnotetext}[1]{%
-\@namelongdef{@mpthreecolfootnotetext#1}##1{%
+\bidi@ensure@newcommand{\m@make@mpthreecolfootnotetext}[1]{%
+\bidi@namelongdef{@mpthreecolfootnotetext#1}##1{%
\global\setbox\@nameuse{@mpfootins#1}\vbox{%
\unvbox\@nameuse{@mpfootins#1}
\def\baselinestretch{\m@m@footnote@spacing}%
@@ -390,20 +502,20 @@
\color@begingroup
\@nameuse{@threecolfootfmt#1}{##1}%
\color@endgroup}\m@mmf@prepare}}
-\newcommand{\m@make@threecolfootfmt}[1]{%
-\@namelongdef{@threecolfootfmt#1}##1{%
+\bidi@ensure@newcommand{\m@make@threecolfootfmt}[1]{%
+\bidi@namelongdef{@threecolfootfmt#1}##1{%
\@preamthreefmt
{\@nameuse{footfootmark#1}\strut
{\@nameuse{foottextfont#1}##1}\strut\par}\allowbreak}}
-\newcommand{\m@make@threecol@footgroup}[1]{%
+\bidi@ensure@newcommand{\m@make@threecol@footgroup}[1]{%
\@namedef{@threecol@footgroup#1}{{%
\@nameuse{foottextfont#1} \splittopskip=\ht\strutbox
\m@mrigidbalance{\@nameuse{footins#1}}{\thr@@}{\splittopskip}}}}
-\newcommand{\m@make@mpthreecol@footgroup}[1]{%
+\bidi@ensure@newcommand{\m@make@mpthreecol@footgroup}[1]{%
\@namedef{@mpthreecol@footgroup#1}{{%
\@nameuse{foottextfont#1} \splittopskip=\ht\strutbox
\m@mrigidbalance{\@nameuse{@mpfootins#1}}{\thr@@}{\splittopskip}}}}
-\newcommand{\fourcolumnfootnotes}{%
+\bidi@ensure@newcommand{\fourcolumnfootnotes}{%
\@namedef{foottextfontv@r}{\foottextfont}% % [RS]
\let\@footnotetext\@fourcolfootnotetext
\let\@LTRfootnotetext\@fourcolLTRfootnotetext
@@ -417,7 +529,7 @@
\let\@mpRTLfootnotetext\@mpfourcolRTLfootnotetext
\m@make@mpfourcol@footgroup{v@r}%
\let\mp@footgroupv@r\@mpfourcol@footgroupv@r}
-\newcommand{\@fourcolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
+\bidi@ensure@newcommand{\@fourcolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\foottextfont
\@preamfntext
@@ -427,35 +539,41 @@
\@fourcolfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@fourcolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse%
+\bidi@ensure@newcommand{\@fourcolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse%
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\LTRfoottextfont
\@preamfntext
\protected@edef\@currentlabel{%
\csname p@footnote\endcsname\@thefnmark}%
\color@begingroup
- \@fourcolfootfmt{#1}%
+ \@fourcolLTRfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@fourcolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
+\bidi@ensure@newcommand{\@fourcolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\RTLfoottextfont
\@preamfntext
\protected@edef\@currentlabel{%
\csname p@footnote\endcsname\@thefnmark}%
\color@begingroup
- \@fourcolfootfmt{#1}%
+ \@fourcolRTLfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@preamfourfmt}{%
+\bidi@ensure@newcommand{\@preamfourfmt}{%
\hsize .25\hsize
\parindent=\z@
\tolerance=5000\relax
\leavevmode}
-\newcommand{\@fourcolfootfmt}[1]{%
+\bidi@ensure@newcommand{\@fourcolfootfmt}[1]{%
\@preamfourfmt
{\footfootmark\strut {\foottextfont #1}\strut\par}\allowbreak}
-\newcommand{\@mpfourcolfootnotetext}[1]{%
+\bidi@ensure@newcommand{\@fourcolLTRfootfmt}[1]{%
+ \@preamfourfmt
+ {\footfootmark\strut {\LTRfoottextfont #1}\strut\par}\allowbreak}
+\bidi@ensure@newcommand{\@fourcolRTLfootfmt}[1]{%
+ \@preamfourfmt
+ {\footfootmark\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
\def\baselinestretch{\m@m@footnote@spacing}%
@@ -467,48 +585,48 @@
\@fourcolfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@mpfourcolLTRfootnotetext}[1]{%
+\bidi@ensure@newcommand{\@mpfourcolLTRfootnotetext}[1]{%
\global\setbox\@mpfootinsv@r\vbox{\@RTLfalse%
\unvbox\@mpfootinsv@r
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\LTRfoottextfont
\hsize\columnwidth \@parboxrestore
\if@RTLcolumnfootnotes\beginL\fi
\protected@edef\@currentlabel{%
\csname p@mpfootnote\endcsname\@thefnmark}%
\color@begingroup
- \@fourcolfootfmt{#1}%
+ \@fourcolLTRfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@mpfourcolRTLfootnotetext}[1]{%
+\bidi@ensure@newcommand{\@mpfourcolRTLfootnotetext}[1]{%
\global\setbox\@mpfootinsv@r\vbox{\@RTLtrue%
\unvbox\@mpfootinsv@r
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\RTLfoottextfont
\hsize\columnwidth \@parboxrestore
\protected@edef\@currentlabel{%
\csname p@mpfootnote\endcsname\@thefnmark}%
\color@begingroup
- \@fourcolfootfmt{#1}%
+ \@fourcolRTLfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\fourcolumnfootstyle}[1]{%
+\bidi@ensure@newcommand{\fourcolumnfootstyle}[1]{%
\m@make@fourcolfootnotetext{#1}%
\m@make@mpfourcolfootnotetext{#1}%
\m@make@fourcolfootfmt{#1}%
\m@make@fourcol@footgroup{#1}%
\m@make@mpfourcol@footgroup{#1}%
\m@make@footstart{#1}%
- \@namelongdef{@footnotetext#1}##1{%
+ \bidi@namelongdef{@footnotetext#1}##1{%
\@nameuse{@fourcolfootnotetext#1}{##1}}%
- \@namelongdef{@mpfootnotetext#1}##1{%
+ \bidi@namelongdef{@mpfootnotetext#1}##1{%
\@nameuse{@mpfourcolfootnotetext#1}{##1}}%
\@namedef{@footgroup#1}{\@nameuse{@fourcol@footgroup#1}}%
\@namedef{mp@footgroup#1}{\@nameuse{@mpfourcol@footgroup#1}}%
\expandafter\dimen\csname footins#1\endcsname=2\footinsdim
\expandafter\count\csname footins#1\endcsname=500\relax}
-\newcommand{\m@make@fourcolfootnotetext}[1]{%
- \@namelongdef{@fourcolfootnotetext#1}##1{%
+\bidi@ensure@newcommand{\m@make@fourcolfootnotetext}[1]{%
+ \bidi@namelongdef{@fourcolfootnotetext#1}##1{%
\insert\@nameuse{footins#1}{%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\@nameuse{foottextfont#1}%
@@ -519,8 +637,8 @@
\@nameuse{@fourcolfootfmt#1}{##1}%
\color@endgroup}%
\m@mmf@prepare}}
-\newcommand{\m@make@mpfourcolfootnotetext}[1]{%
-\@namelongdef{@mpfourcolfootnotetext#1}##1{%
+\bidi@ensure@newcommand{\m@make@mpfourcolfootnotetext}[1]{%
+\bidi@namelongdef{@mpfourcolfootnotetext#1}##1{%
\global\setbox\@nameuse{@mpfootins#1}\vbox{%
\unvbox\@nameuse{@mpfootins#1}
\def\baselinestretch{\m@m@footnote@spacing}%
@@ -531,20 +649,20 @@
\color@begingroup
\@nameuse{@fourcolfootfmt#1}{##1}%
\color@endgroup}\m@mmf@prepare}}
-\newcommand{\m@make@fourcolfootfmt}[1]{%
+\bidi@ensure@newcommand{\m@make@fourcolfootfmt}[1]{%
\@namedef{@fourcolfootfmt#1}##1{%
\@preamfourfmt
{\@nameuse{footfootmark#1}\strut
{\@nameuse{foottextfont#1}##1}\strut\par}\allowbreak}}
-\newcommand{\m@make@fourcol@footgroup}[1]{%
+\bidi@ensure@newcommand{\m@make@fourcol@footgroup}[1]{%
\@namedef{@fourcol@footgroup#1}{{%
\@nameuse{foottextfont#1} \splittopskip=\ht\strutbox
\m@mrigidbalance{\@nameuse{footins#1}}{4}{\splittopskip}}}}
-\newcommand{\m@make@mpfourcol@footgroup}[1]{%
+\bidi@ensure@newcommand{\m@make@mpfourcol@footgroup}[1]{%
\@namedef{@mpfourcol@footgroup#1}{{%
\@nameuse{foottextfont#1} \splittopskip=\ht\strutbox
\m@mrigidbalance{\@nameuse{@mpfootins#1}}{4}{\splittopskip}}}}
-\newcommand{\fivecolumnfootnotes}{%
+\bidi@ensure@newcommand{\fivecolumnfootnotes}{%
\@namedef{foottextfontv@r}{\foottextfont}% % [RS]
\let\@footnotetext\@fivecolfootnotetext
\let\@LTRfootnotetext\@fivecolLTRfootnotetext
@@ -558,7 +676,7 @@
\let\@mpRTLfootnotetext\@mpfivecolRTLfootnotetext
\m@make@mpfivecol@footgroup{v@r}%
\let\mp@footgroupv@r\@mpfivecol@footgroupv@r}
-\newcommand{\@fivecolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
+\bidi@ensure@newcommand{\@fivecolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\foottextfont
\@preamfntext
@@ -568,35 +686,41 @@
\@fivecolfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@fivecolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse%
+\bidi@ensure@newcommand{\@fivecolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse%
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\LTRfoottextfont
\@preamfntext
\protected@edef\@currentlabel{%
\csname p@footnote\endcsname\@thefnmark}%
\color@begingroup
- \@fivecolfootfmt{#1}%
+ \@fivecolLTRfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@fivecolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
+\bidi@ensure@newcommand{\@fivecolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\RTLfoottextfont
\@preamfntext
\protected@edef\@currentlabel{%
\csname p@footnote\endcsname\@thefnmark}%
\color@begingroup
- \@fivecolfootfmt{#1}%
+ \@fivecolRTLfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@preamfivefmt}{%
+\bidi@ensure@newcommand{\@preamfivefmt}{%
\hsize .2\hsize
\parindent=\z@
\tolerance=5000\relax
\leavevmode}
-\newcommand{\@fivecolfootfmt}[1]{%
+\bidi@ensure@newcommand{\@fivecolfootfmt}[1]{%
\@preamfivefmt
{\footfootmark\strut {\foottextfont #1}\strut\par}\allowbreak}
-\newcommand{\@mpfivecolfootnotetext}[1]{%
+\bidi@ensure@newcommand{\@fivecolLTRfootfmt}[1]{%
+ \@preamfivefmt
+ {\footfootmark\strut {\LTRfoottextfont #1}\strut\par}\allowbreak}
+\bidi@ensure@newcommand{\@fivecolRTLfootfmt}[1]{%
+ \@preamfivefmt
+ {\footfootmark\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
\def\baselinestretch{\m@m@footnote@spacing}%
@@ -608,48 +732,48 @@
\@fivecolfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@mpfivecolLTRfootnotetext}[1]{%
+\bidi@ensure@newcommand{\@mpfivecolLTRfootnotetext}[1]{%
\global\setbox\@mpfootinsv@r\vbox{\@RTLfalse%
\unvbox\@mpfootinsv@r
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\LTRfoottextfont
\hsize\columnwidth \@parboxrestore
\if@RTLcolumnfootnotes\beginL\fi
\protected@edef\@currentlabel{%
\csname p@mpfootnote\endcsname\@thefnmark}%
\color@begingroup
- \@fivecolfootfmt{#1}%
+ \@fivecolLTRfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@mpfivecolRTLfootnotetext}[1]{%
+\bidi@ensure@newcommand{\@mpfivecolRTLfootnotetext}[1]{%
\global\setbox\@mpfootinsv@r\vbox{\@RTLtrue%
\unvbox\@mpfootinsv@r
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\RTLfoottextfont
\hsize\columnwidth \@parboxrestore
\protected@edef\@currentlabel{%
\csname p@mpfootnote\endcsname\@thefnmark}%
\color@begingroup
- \@fivecolfootfmt{#1}%
+ \@fivecolRTLfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\fivecolumnfootstyle}[1]{%
+\bidi@ensure@newcommand{\fivecolumnfootstyle}[1]{%
\m@make@fivecolfootnotetext{#1}%
\m@make@mpfivecolfootnotetext{#1}%
\m@make@fivecolfootfmt{#1}%
\m@make@fivecol@footgroup{#1}%
\m@make@mpfivecol@footgroup{#1}%
\m@make@footstart{#1}%
- \@namelongdef{@footnotetext#1}##1{%
+ \bidi@namelongdef{@footnotetext#1}##1{%
\@nameuse{@fivecolfootnotetext#1}{##1}}%
- \@namelongdef{@mpfootnotetext#1}##1{%
+ \bidi@namelongdef{@mpfootnotetext#1}##1{%
\@nameuse{@mpfivecolfootnotetext#1}{##1}}%
\@namedef{@footgroup#1}{\@nameuse{@fivecol@footgroup#1}}%
\@namedef{mp@footgroup#1}{\@nameuse{@mpfivecol@footgroup#1}}%
\expandafter\dimen\csname footins#1\endcsname=2\footinsdim
\expandafter\count\csname footins#1\endcsname=500\relax}
-\newcommand{\m@make@fivecolfootnotetext}[1]{%
- \@namelongdef{@fivecolfootnotetext#1}##1{%
+\bidi@ensure@newcommand{\m@make@fivecolfootnotetext}[1]{%
+ \bidi@namelongdef{@fivecolfootnotetext#1}##1{%
\insert\@nameuse{footins#1}{%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\@nameuse{foottextfont#1}%
@@ -660,8 +784,8 @@
\@nameuse{@fivecolfootfmt#1}{##1}%
\color@endgroup}%
\m@mmf@prepare}}
-\newcommand{\m@make@mpfivecolfootnotetext}[1]{%
-\@namelongdef{@mpfivecolfootnotetext#1}##1{%
+\bidi@ensure@newcommand{\m@make@mpfivecolfootnotetext}[1]{%
+\bidi@namelongdef{@mpfivecolfootnotetext#1}##1{%
\global\setbox\@nameuse{@mpfootins#1}\vbox{%
\unvbox\@nameuse{@mpfootins#1}
\def\baselinestretch{\m@m@footnote@spacing}%
@@ -672,20 +796,20 @@
\color@begingroup
\@nameuse{@fivecolfootfmt#1}{##1}%
\color@endgroup}\m@mmf@prepare}}
-\newcommand{\m@make@fivecolfootfmt}[1]{%
+\bidi@ensure@newcommand{\m@make@fivecolfootfmt}[1]{%
\@namedef{@fivecolfootfmt#1}##1{%
\@preamfivefmt
{\@nameuse{footfootmark#1}\strut
{\@nameuse{foottextfont#1}##1}\strut\par}\allowbreak}}
-\newcommand{\m@make@fivecol@footgroup}[1]{%
+\bidi@ensure@newcommand{\m@make@fivecol@footgroup}[1]{%
\@namedef{@fivecol@footgroup#1}{{%
\@nameuse{foottextfont#1} \splittopskip=\ht\strutbox
\m@mrigidbalance{\@nameuse{footins#1}}{5}{\splittopskip}}}}
-\newcommand{\m@make@mpfivecol@footgroup}[1]{%
+\bidi@ensure@newcommand{\m@make@mpfivecol@footgroup}[1]{%
\@namedef{@mpfivecol@footgroup#1}{{%
\@nameuse{foottextfont#1} \splittopskip=\ht\strutbox
\m@mrigidbalance{\@nameuse{@mpfootins#1}}{5}{\splittopskip}}}}
-\newcommand{\sixcolumnfootnotes}{%
+\bidi@ensure@newcommand{\sixcolumnfootnotes}{%
\@namedef{foottextfontv@r}{\foottextfont}% % [RS]
\let\@footnotetext\@sixcolfootnotetext
\let\@LTRfootnotetext\@sixcolLTRfootnotetext
@@ -699,7 +823,7 @@
\let\@mpRTLfootnotetext\@mpsixcolRTLfootnotetext
\m@make@mpsixcol@footgroup{v@r}%
\let\mp@footgroupv@r\@mpsixcol@footgroupv@r}
-\newcommand{\@sixcolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
+\bidi@ensure@newcommand{\@sixcolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\foottextfont
\@preamfntext
@@ -709,35 +833,41 @@
\@sixcolfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@sixcolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse%
+\bidi@ensure@newcommand{\@sixcolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse%
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\LTRfoottextfont
\@preamfntext
\protected@edef\@currentlabel{%
\csname p@footnote\endcsname\@thefnmark}%
\color@begingroup
- \@sixcolfootfmt{#1}%
+ \@sixcolLTRfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@sixcolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
+\bidi@ensure@newcommand{\@sixcolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\RTLfoottextfont
\@preamfntext
\protected@edef\@currentlabel{%
\csname p@footnote\endcsname\@thefnmark}%
\color@begingroup
- \@sixcolfootfmt{#1}%
+ \@sixcolRTLfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@preamsixfmt}{%
+\bidi@ensure@newcommand{\@preamsixfmt}{%
\hsize .16\hsize
\parindent=\z@
\tolerance=5000\relax
\leavevmode}
-\newcommand{\@sixcolfootfmt}[1]{%
+\bidi@ensure@newcommand{\@sixcolfootfmt}[1]{%
\@preamsixfmt
{\footfootmark\strut {\foottextfont #1}\strut\par}\allowbreak}
-\newcommand{\@mpsixcolfootnotetext}[1]{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
+\bidi@ensure@newcommand{\@sixcolLTRfootfmt}[1]{%
+ \@preamsixfmt
+ {\footfootmark\strut {\LTRfoottextfont #1}\strut\par}\allowbreak}
+\bidi@ensure@newcommand{\@sixcolRTLfootfmt}[1]{%
+ \@preamsixfmt
+ {\footfootmark\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
\def\baselinestretch{\m@m@footnote@spacing}%
@@ -749,48 +879,48 @@
\@sixcolfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@mpsixcolLTRfootnotetext}[1]{\@RTLfalse%
+\bidi@ensure@newcommand{\@mpsixcolLTRfootnotetext}[1]{\@RTLfalse%
\global\setbox\@mpfootinsv@r\vbox{%
\unvbox\@mpfootinsv@r
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\LTRfoottextfont
\hsize\columnwidth \@parboxrestore
\if@RTLcolumnfootnotes\beginL\fi
\protected@edef\@currentlabel{%
\csname p@mpfootnote\endcsname\@thefnmark}%
\color@begingroup
- \@sixcolfootfmt{#1}%
+ \@sixcolLTRfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@mpsixcolRTLfootnotetext}[1]{\@RTLtrue%
+\bidi@ensure@newcommand{\@mpsixcolRTLfootnotetext}[1]{\@RTLtrue%
\global\setbox\@mpfootinsv@r\vbox{%
\unvbox\@mpfootinsv@r
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\RTLfoottextfont
\hsize\columnwidth \@parboxrestore
\protected@edef\@currentlabel{%
\csname p@mpfootnote\endcsname\@thefnmark}%
\color@begingroup
- \@sixcolfootfmt{#1}%
+ \@sixcolRTLfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\sixcolumnfootstyle}[1]{%
+\bidi@ensure@newcommand{\sixcolumnfootstyle}[1]{%
\m@make@sixcolfootnotetext{#1}%
\m@make@mpsixcolfootnotetext{#1}%
\m@make@sixcolfootfmt{#1}%
\m@make@sixcol@footgroup{#1}%
\m@make@mpsixcol@footgroup{#1}%
\m@make@footstart{#1}%
- \@namelongdef{@footnotetext#1}##1{%
+ \bidi@namelongdef{@footnotetext#1}##1{%
\@nameuse{@sixcolfootnotetext#1}{##1}}%
- \@namelongdef{@mpfootnotetext#1}##1{%
+ \bidi@namelongdef{@mpfootnotetext#1}##1{%
\@nameuse{@mpsixcolfootnotetext#1}{##1}}%
\@namedef{@footgroup#1}{\@nameuse{@sixcol@footgroup#1}}%
\@namedef{mp@footgroup#1}{\@nameuse{@mpsixcol@footgroup#1}}%
\expandafter\dimen\csname footins#1\endcsname=2\footinsdim
\expandafter\count\csname footins#1\endcsname=500\relax}
-\newcommand{\m@make@sixcolfootnotetext}[1]{%
- \@namelongdef{@sixcolfootnotetext#1}##1{%
+\bidi@ensure@newcommand{\m@make@sixcolfootnotetext}[1]{%
+ \bidi@namelongdef{@sixcolfootnotetext#1}##1{%
\insert\@nameuse{footins#1}{%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\@nameuse{foottextfont#1}%
@@ -801,8 +931,8 @@
\@nameuse{@sixcolfootfmt#1}{##1}%
\color@endgroup}%
\m@mmf@prepare}}
-\newcommand{\m@make@mpsixcolfootnotetext}[1]{%
-\@namelongdef{@mpsixcolfootnotetext#1}##1{%
+\bidi@ensure@newcommand{\m@make@mpsixcolfootnotetext}[1]{%
+\bidi@namelongdef{@mpsixcolfootnotetext#1}##1{%
\global\setbox\@nameuse{@mpfootins#1}\vbox{%
\unvbox\@nameuse{@mpfootins#1}
\def\baselinestretch{\m@m@footnote@spacing}%
@@ -813,20 +943,20 @@
\color@begingroup
\@nameuse{@sixcolfootfmt#1}{##1}%
\color@endgroup}\m@mmf@prepare}}
-\newcommand{\m@make@sixcolfootfmt}[1]{%
+\bidi@ensure@newcommand{\m@make@sixcolfootfmt}[1]{%
\@namedef{@sixcolfootfmt#1}##1{%
\@preamsixfmt
{\@nameuse{footfootmark#1}\strut
{\@nameuse{foottextfont#1}##1}\strut\par}\allowbreak}}
-\newcommand{\m@make@sixcol@footgroup}[1]{%
+\bidi@ensure@newcommand{\m@make@sixcol@footgroup}[1]{%
\@namedef{@sixcol@footgroup#1}{{%
\@nameuse{foottextfont#1} \splittopskip=\ht\strutbox
\m@mrigidbalance{\@nameuse{footins#1}}{6}{\splittopskip}}}}
-\newcommand{\m@make@mpsixcol@footgroup}[1]{%
+\bidi@ensure@newcommand{\m@make@mpsixcol@footgroup}[1]{%
\@namedef{@mpsixcol@footgroup#1}{{%
\@nameuse{foottextfont#1} \splittopskip=\ht\strutbox
\m@mrigidbalance{\@nameuse{@mpfootins#1}}{6}{\splittopskip}}}}
-\newcommand{\sevencolumnfootnotes}{%
+\bidi@ensure@newcommand{\sevencolumnfootnotes}{%
\@namedef{foottextfontv@r}{\foottextfont}% % [RS]
\let\@footnotetext\@sevencolfootnotetext
\let\@LTRfootnotetext\@sevencolLTRfootnotetext
@@ -840,7 +970,7 @@
\let\@mpRTLfootnotetext\@mpsevencolRTLfootnotetext
\m@make@mpsevencol@footgroup{v@r}%
\let\mp@footgroupv@r\@mpsevencol@footgroupv@r}
-\newcommand{\@sevencolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
+\bidi@ensure@newcommand{\@sevencolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\foottextfont
\@preamfntext
@@ -850,35 +980,41 @@
\@sevencolfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@sevencolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse%
+\bidi@ensure@newcommand{\@sevencolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse%
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\LTRfoottextfont
\@preamfntext
\protected@edef\@currentlabel{%
\csname p@footnote\endcsname\@thefnmark}%
\color@begingroup
- \@sevencolfootfmt{#1}%
+ \@sevencolLTRfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@sevencolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
+\bidi@ensure@newcommand{\@sevencolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\RTLfoottextfont
\@preamfntext
\protected@edef\@currentlabel{%
\csname p@footnote\endcsname\@thefnmark}%
\color@begingroup
- \@sevencolfootfmt{#1}%
+ \@sevencolRTLfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@preamsevenfmt}{%
+\bidi@ensure@newcommand{\@preamsevenfmt}{%
\hsize .142\hsize
\parindent=\z@
\tolerance=5000\relax
\leavevmode}
-\newcommand{\@sevencolfootfmt}[1]{%
+\bidi@ensure@newcommand{\@sevencolfootfmt}[1]{%
\@preamsevenfmt
{\footfootmark\strut {\foottextfont #1}\strut\par}\allowbreak}
-\newcommand{\@mpsevencolfootnotetext}[1]{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
+\bidi@ensure@newcommand{\@sevencolLTRfootfmt}[1]{%
+ \@preamsevenfmt
+ {\footfootmark\strut {\LTRfoottextfont #1}\strut\par}\allowbreak}
+\bidi@ensure@newcommand{\@sevencolRTLfootfmt}[1]{%
+ \@preamsevenfmt
+ {\footfootmark\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
\def\baselinestretch{\m@m@footnote@spacing}%
@@ -890,48 +1026,48 @@
\@sevencolfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@mpsevencolLTRfootnotetext}[1]{\@RTLfalse%
+\bidi@ensure@newcommand{\@mpsevencolLTRfootnotetext}[1]{\@RTLfalse%
\global\setbox\@mpfootinsv@r\vbox{%
\unvbox\@mpfootinsv@r
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\LTRfoottextfont
\hsize\columnwidth \@parboxrestore
\if@RTLcolumnfootnotes\beginL\fi
\protected@edef\@currentlabel{%
\csname p@mpfootnote\endcsname\@thefnmark}%
\color@begingroup
- \@sevencolfootfmt{#1}%
+ \@sevencolLTRfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@mpsevencolRTLfootnotetext}[1]{\@RTLtrue%
+\bidi@ensure@newcommand{\@mpsevencolRTLfootnotetext}[1]{\@RTLtrue%
\global\setbox\@mpfootinsv@r\vbox{%
\unvbox\@mpfootinsv@r
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\RTLfoottextfont
\hsize\columnwidth \@parboxrestore
\protected@edef\@currentlabel{%
\csname p@mpfootnote\endcsname\@thefnmark}%
\color@begingroup
- \@sevencolfootfmt{#1}%
+ \@sevencolRTLfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\sevencolumnfootstyle}[1]{%
+\bidi@ensure@newcommand{\sevencolumnfootstyle}[1]{%
\m@make@sevencolfootnotetext{#1}%
\m@make@mpsevencolfootnotetext{#1}%
\m@make@sevencolfootfmt{#1}%
\m@make@sevencol@footgroup{#1}%
\m@make@mpsevencol@footgroup{#1}%
\m@make@footstart{#1}%
- \@namelongdef{@footnotetext#1}##1{%
+ \bidi@namelongdef{@footnotetext#1}##1{%
\@nameuse{@sevencolfootnotetext#1}{##1}}%
- \@namelongdef{@mpfootnotetext#1}##1{%
+ \bidi@namelongdef{@mpfootnotetext#1}##1{%
\@nameuse{@mpsevencolfootnotetext#1}{##1}}%
\@namedef{@footgroup#1}{\@nameuse{@sevencol@footgroup#1}}%
\@namedef{mp@footgroup#1}{\@nameuse{@mpsevencol@footgroup#1}}%
\expandafter\dimen\csname footins#1\endcsname=2\footinsdim
\expandafter\count\csname footins#1\endcsname=500\relax}
-\newcommand{\m@make@sevencolfootnotetext}[1]{%
- \@namelongdef{@sevencolfootnotetext#1}##1{%
+\bidi@ensure@newcommand{\m@make@sevencolfootnotetext}[1]{%
+ \bidi@namelongdef{@sevencolfootnotetext#1}##1{%
\insert\@nameuse{footins#1}{%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\@nameuse{foottextfont#1}%
@@ -942,8 +1078,8 @@
\@nameuse{@sevencolfootfmt#1}{##1}%
\color@endgroup}%
\m@mmf@prepare}}
-\newcommand{\m@make@mpsevencolfootnotetext}[1]{%
-\@namelongdef{@mpsevencolfootnotetext#1}##1{%
+\bidi@ensure@newcommand{\m@make@mpsevencolfootnotetext}[1]{%
+\bidi@namelongdef{@mpsevencolfootnotetext#1}##1{%
\global\setbox\@nameuse{@mpfootins#1}\vbox{%
\unvbox\@nameuse{@mpfootins#1}
\def\baselinestretch{\m@m@footnote@spacing}%
@@ -954,20 +1090,20 @@
\color@begingroup
\@nameuse{@sevencolfootfmt#1}{##1}%
\color@endgroup}\m@mmf@prepare}}
-\newcommand{\m@make@sevencolfootfmt}[1]{%
+\bidi@ensure@newcommand{\m@make@sevencolfootfmt}[1]{%
\@namedef{@sevencolfootfmt#1}##1{%
\@preamsevenfmt
{\@nameuse{footfootmark#1}\strut
{\@nameuse{foottextfont#1}##1}\strut\par}\allowbreak}}
-\newcommand{\m@make@sevencol@footgroup}[1]{%
+\bidi@ensure@newcommand{\m@make@sevencol@footgroup}[1]{%
\@namedef{@sevencol@footgroup#1}{{%
\@nameuse{foottextfont#1} \splittopskip=\ht\strutbox
\m@mrigidbalance{\@nameuse{footins#1}}{7}{\splittopskip}}}}
-\newcommand{\m@make@mpsevencol@footgroup}[1]{%
+\bidi@ensure@newcommand{\m@make@mpsevencol@footgroup}[1]{%
\@namedef{@mpsevencol@footgroup#1}{{%
\@nameuse{foottextfont#1} \splittopskip=\ht\strutbox
\m@mrigidbalance{\@nameuse{@mpfootins#1}}{7}{\splittopskip}}}}
-\newcommand{\eightcolumnfootnotes}{%
+\bidi@ensure@newcommand{\eightcolumnfootnotes}{%
\@namedef{foottextfontv@r}{\foottextfont}% % [RS]
\let\@footnotetext\@eightcolfootnotetext
\let\@LTRfootnotetext\@eightcolLTRfootnotetext
@@ -981,7 +1117,7 @@
\let\@mpRTLfootnotetext\@mpeightcolRTLfootnotetext
\m@make@mpeightcol@footgroup{v@r}%
\let\mp@footgroupv@r\@mpeightcol@footgroupv@r}
-\newcommand{\@eightcolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
+\bidi@ensure@newcommand{\@eightcolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\foottextfont
\@preamfntext
@@ -991,35 +1127,41 @@
\@eightcolfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@eightcolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse%
+\bidi@ensure@newcommand{\@eightcolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse%
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\LTRfoottextfont
\@preamfntext
\protected@edef\@currentlabel{%
\csname p@footnote\endcsname\@thefnmark}%
\color@begingroup
- \@eightcolfootfmt{#1}%
+ \@eightcolLTRfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@eightcolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
+\bidi@ensure@newcommand{\@eightcolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\RTLfoottextfont
\@preamfntext
\protected@edef\@currentlabel{%
\csname p@footnote\endcsname\@thefnmark}%
\color@begingroup
- \@eightcolfootfmt{#1}%
+ \@eightcolRTLfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@preameightfmt}{%
+\bidi@ensure@newcommand{\@preameightfmt}{%
\hsize .125\hsize
\parindent=\z@
\tolerance=5000\relax
\leavevmode}
-\newcommand{\@eightcolfootfmt}[1]{%
+\bidi@ensure@newcommand{\@eightcolfootfmt}[1]{%
\@preameightfmt
{\footfootmark\strut {\foottextfont #1}\strut\par}\allowbreak}
-\newcommand{\@mpeightcolfootnotetext}[1]{%
+\bidi@ensure@newcommand{\@eightcolLTRfootfmt}[1]{%
+ \@preameightfmt
+ {\footfootmark\strut {\LTRfoottextfont #1}\strut\par}\allowbreak}
+\bidi@ensure@newcommand{\@eightcolRTLfootfmt}[1]{%
+ \@preameightfmt
+ {\footfootmark\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
\def\baselinestretch{\m@m@footnote@spacing}%
@@ -1031,48 +1173,48 @@
\@eightcolfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@mpeightcolLTRfootnotetext}[1]{%
+\bidi@ensure@newcommand{\@mpeightcolLTRfootnotetext}[1]{%
\global\setbox\@mpfootinsv@r\vbox{\@RTLfalse%
\unvbox\@mpfootinsv@r
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\LTRfoottextfont
\hsize\columnwidth \@parboxrestore
\if@RTLcolumnfootnotes\beginL\fi
\protected@edef\@currentlabel{%
\csname p@mpfootnote\endcsname\@thefnmark}%
\color@begingroup
- \@eightcolfootfmt{#1}%
+ \@eightcolLTRfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@mpeightcolRTLfootnotetext}[1]{%
+\bidi@ensure@newcommand{\@mpeightcolRTLfootnotetext}[1]{%
\global\setbox\@mpfootinsv@r\vbox{\@RTLtrue%
\unvbox\@mpfootinsv@r
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\RTLfoottextfont
\hsize\columnwidth \@parboxrestore
\protected@edef\@currentlabel{%
\csname p@mpfootnote\endcsname\@thefnmark}%
\color@begingroup
- \@eightcolfootfmt{#1}%
+ \@eightcolRTLfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\eightcolumnfootstyle}[1]{%
+\bidi@ensure@newcommand{\eightcolumnfootstyle}[1]{%
\m@make@eightcolfootnotetext{#1}%
\m@make@mpeightcolfootnotetext{#1}%
\m@make@eightcolfootfmt{#1}%
\m@make@eightcol@footgroup{#1}%
\m@make@mpeightcol@footgroup{#1}%
\m@make@footstart{#1}%
- \@namelongdef{@footnotetext#1}##1{%
+ \bidi@namelongdef{@footnotetext#1}##1{%
\@nameuse{@eightcolfootnotetext#1}{##1}}%
- \@namelongdef{@mpfootnotetext#1}##1{%
+ \bidi@namelongdef{@mpfootnotetext#1}##1{%
\@nameuse{@mpeightcolfootnotetext#1}{##1}}%
\@namedef{@footgroup#1}{\@nameuse{@eightcol@footgroup#1}}%
\@namedef{mp@footgroup#1}{\@nameuse{@mpeightcol@footgroup#1}}%
\expandafter\dimen\csname footins#1\endcsname=2\footinsdim
\expandafter\count\csname footins#1\endcsname=500\relax}
-\newcommand{\m@make@eightcolfootnotetext}[1]{%
- \@namelongdef{@eightcolfootnotetext#1}##1{%
+\bidi@ensure@newcommand{\m@make@eightcolfootnotetext}[1]{%
+ \bidi@namelongdef{@eightcolfootnotetext#1}##1{%
\insert\@nameuse{footins#1}{%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\@nameuse{foottextfont#1}%
@@ -1083,8 +1225,8 @@
\@nameuse{@eightcolfootfmt#1}{##1}%
\color@endgroup}%
\m@mmf@prepare}}
-\newcommand{\m@make@mpeightcolfootnotetext}[1]{%
-\@namelongdef{@mpeightcolfootnotetext#1}##1{%
+\bidi@ensure@newcommand{\m@make@mpeightcolfootnotetext}[1]{%
+\bidi@namelongdef{@mpeightcolfootnotetext#1}##1{%
\global\setbox\@nameuse{@mpfootins#1}\vbox{%
\unvbox\@nameuse{@mpfootins#1}
\def\baselinestretch{\m@m@footnote@spacing}%
@@ -1095,20 +1237,20 @@
\color@begingroup
\@nameuse{@eightcolfootfmt#1}{##1}%
\color@endgroup}\m@mmf@prepare}}
-\newcommand{\m@make@eightcolfootfmt}[1]{%
+\bidi@ensure@newcommand{\m@make@eightcolfootfmt}[1]{%
\@namedef{@eightcolfootfmt#1}##1{%
\@preameightfmt
{\@nameuse{footfootmark#1}\strut
{\@nameuse{foottextfont#1}##1}\strut\par}\allowbreak}}
-\newcommand{\m@make@eightcol@footgroup}[1]{%
+\bidi@ensure@newcommand{\m@make@eightcol@footgroup}[1]{%
\@namedef{@eightcol@footgroup#1}{{%
\@nameuse{foottextfont#1} \splittopskip=\ht\strutbox
\m@mrigidbalance{\@nameuse{footins#1}}{8}{\splittopskip}}}}
-\newcommand{\m@make@mpeightcol@footgroup}[1]{%
+\bidi@ensure@newcommand{\m@make@mpeightcol@footgroup}[1]{%
\@namedef{@mpeightcol@footgroup#1}{{%
\@nameuse{foottextfont#1} \splittopskip=\ht\strutbox
\m@mrigidbalance{\@nameuse{@mpfootins#1}}{8}{\splittopskip}}}}
-\newcommand{\ninecolumnfootnotes}{%
+\bidi@ensure@newcommand{\ninecolumnfootnotes}{%
\@namedef{foottextfontv@r}{\foottextfont}% % [RS]
\let\@footnotetext\@ninecolfootnotetext
\let\@LTRfootnotetext\@ninecolLTRfootnotetext
@@ -1122,7 +1264,7 @@
\let\@mpRTLfootnotetext\@mpninecolRTLfootnotetext
\m@make@mpninecol@footgroup{v@r}%
\let\mp@footgroupv@r\@mpninecol@footgroupv@r}
-\newcommand{\@ninecolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
+\bidi@ensure@newcommand{\@ninecolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\foottextfont
\@preamfntext
@@ -1132,35 +1274,41 @@
\@ninecolfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@ninecolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse%
+\bidi@ensure@newcommand{\@ninecolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse%
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\LTRfoottextfont
\@preamfntext
\protected@edef\@currentlabel{%
\csname p@footnote\endcsname\@thefnmark}%
\color@begingroup
- \@ninecolfootfmt{#1}%
+ \@ninecolLTRfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@ninecolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
+\bidi@ensure@newcommand{\@ninecolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\RTLfoottextfont
\@preamfntext
\protected@edef\@currentlabel{%
\csname p@footnote\endcsname\@thefnmark}%
\color@begingroup
- \@ninecolfootfmt{#1}%
+ \@ninecolRTLfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@preamninefmt}{%
+\bidi@ensure@newcommand{\@preamninefmt}{%
\hsize .1\hsize
\parindent=\z@
\tolerance=5000\relax
\leavevmode}
-\newcommand{\@ninecolfootfmt}[1]{%
+\bidi@ensure@newcommand{\@ninecolfootfmt}[1]{%
\@preamninefmt
{\footfootmark\strut {\foottextfont #1}\strut\par}\allowbreak}
-\newcommand{\@mpninecolfootnotetext}[1]{%
+\bidi@ensure@newcommand{\@ninecolLTRfootfmt}[1]{%
+ \@preamninefmt
+ {\footfootmark\strut {\LTRfoottextfont #1}\strut\par}\allowbreak}
+\bidi@ensure@newcommand{\@ninecolRTLfootfmt}[1]{%
+ \@preamninefmt
+ {\footfootmark\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
\def\baselinestretch{\m@m@footnote@spacing}%
@@ -1172,48 +1320,48 @@
\@ninecolfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@mpninecolLTRfootnotetext}[1]{%
+\bidi@ensure@newcommand{\@mpninecolLTRfootnotetext}[1]{%
\global\setbox\@mpfootinsv@r\vbox{\@RTLfalse%
\unvbox\@mpfootinsv@r
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\LTRfoottextfont
\hsize\columnwidth \@parboxrestore
\if@RTLcolumnfootnotes\beginL\fi
\protected@edef\@currentlabel{%
\csname p@mpfootnote\endcsname\@thefnmark}%
\color@begingroup
- \@ninecolfootfmt{#1}%
+ \@ninecolLTRfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@mpninecolRTLfootnotetext}[1]{%
+\bidi@ensure@newcommand{\@mpninecolRTLfootnotetext}[1]{%
\global\setbox\@mpfootinsv@r\vbox{\@RTLtrue%
\unvbox\@mpfootinsv@r
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\RTLfoottextfont
\hsize\columnwidth \@parboxrestore
\protected@edef\@currentlabel{%
\csname p@mpfootnote\endcsname\@thefnmark}%
\color@begingroup
- \@ninecolfootfmt{#1}%
+ \@ninecolRTLfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\ninecolumnfootstyle}[1]{%
+\bidi@ensure@newcommand{\ninecolumnfootstyle}[1]{%
\m@make@ninecolfootnotetext{#1}%
\m@make@mpninecolfootnotetext{#1}%
\m@make@ninecolfootfmt{#1}%
\m@make@ninecol@footgroup{#1}%
\m@make@mpninecol@footgroup{#1}%
\m@make@footstart{#1}%
- \@namelongdef{@footnotetext#1}##1{%
+ \bidi@namelongdef{@footnotetext#1}##1{%
\@nameuse{@ninecolfootnotetext#1}{##1}}%
- \@namelongdef{@mpfootnotetext#1}##1{%
+ \bidi@namelongdef{@mpfootnotetext#1}##1{%
\@nameuse{@mpninecolfootnotetext#1}{##1}}%
\@namedef{@footgroup#1}{\@nameuse{@ninecol@footgroup#1}}%
\@namedef{mp@footgroup#1}{\@nameuse{@mpninecol@footgroup#1}}%
\expandafter\dimen\csname footins#1\endcsname=2\footinsdim
\expandafter\count\csname footins#1\endcsname=500\relax}
-\newcommand{\m@make@ninecolfootnotetext}[1]{%
- \@namelongdef{@ninecolfootnotetext#1}##1{%
+\bidi@ensure@newcommand{\m@make@ninecolfootnotetext}[1]{%
+ \bidi@namelongdef{@ninecolfootnotetext#1}##1{%
\insert\@nameuse{footins#1}{%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\@nameuse{foottextfont#1}%
@@ -1224,8 +1372,8 @@
\@nameuse{@ninecolfootfmt#1}{##1}%
\color@endgroup}%
\m@mmf@prepare}}
-\newcommand{\m@make@mpninecolfootnotetext}[1]{%
-\@namelongdef{@mpninecolfootnotetext#1}##1{%
+\bidi@ensure@newcommand{\m@make@mpninecolfootnotetext}[1]{%
+\bidi@namelongdef{@mpninecolfootnotetext#1}##1{%
\global\setbox\@nameuse{@mpfootins#1}\vbox{%
\unvbox\@nameuse{@mpfootins#1}
\def\baselinestretch{\m@m@footnote@spacing}%
@@ -1236,20 +1384,20 @@
\color@begingroup
\@nameuse{@ninecolfootfmt#1}{##1}%
\color@endgroup}\m@mmf@prepare}}
-\newcommand{\m@make@ninecolfootfmt}[1]{%
+\bidi@ensure@newcommand{\m@make@ninecolfootfmt}[1]{%
\@namedef{@ninecolfootfmt#1}##1{%
\@preamninefmt
{\@nameuse{footfootmark#1}\strut
{\@nameuse{foottextfont#1}##1}\strut\par}\allowbreak}}
-\newcommand{\m@make@ninecol@footgroup}[1]{%
+\bidi@ensure@newcommand{\m@make@ninecol@footgroup}[1]{%
\@namedef{@ninecol@footgroup#1}{{%
\@nameuse{foottextfont#1} \splittopskip=\ht\strutbox
\m@mrigidbalance{\@nameuse{footins#1}}{9}{\splittopskip}}}}
-\newcommand{\m@make@mpninecol@footgroup}[1]{%
+\bidi@ensure@newcommand{\m@make@mpninecol@footgroup}[1]{%
\@namedef{@mpninecol@footgroup#1}{{%
\@nameuse{foottextfont#1} \splittopskip=\ht\strutbox
\m@mrigidbalance{\@nameuse{@mpfootins#1}}{9}{\splittopskip}}}}
-\newcommand{\tencolumnfootnotes}{%
+\bidi@ensure@newcommand{\tencolumnfootnotes}{%
\@namedef{foottextfontv@r}{\foottextfont}% % [RS]
\let\@footnotetext\@tencolfootnotetext
\let\@LTRfootnotetext\@tencolLTRfootnotetext
@@ -1263,7 +1411,7 @@
\let\@mpRTLfootnotetext\@mptencolRTLfootnotetext
\m@make@mptencol@footgroup{v@r}%
\let\mp@footgroupv@r\@mptencol@footgroupv@r}
-\newcommand{\@tencolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
+\bidi@ensure@newcommand{\@tencolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\foottextfont
\@preamfntext
@@ -1273,35 +1421,41 @@
\@tencolfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@tencolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse%
+\bidi@ensure@newcommand{\@tencolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse%
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\LTRfoottextfont
\@preamfntext
\protected@edef\@currentlabel{%
\csname p@footnote\endcsname\@thefnmark}%
\color@begingroup
- \@tencolfootfmt{#1}%
+ \@tencolLTRfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@tencolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
+\bidi@ensure@newcommand{\@tencolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue%
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\RTLfoottextfont
\@preamfntext
\protected@edef\@currentlabel{%
\csname p@footnote\endcsname\@thefnmark}%
\color@begingroup
- \@tencolfootfmt{#1}%
+ \@tencolRTLfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@preamtenfmt}{%
+\bidi@ensure@newcommand{\@preamtenfmt}{%
\hsize .1\hsize
\parindent=\z@
\tolerance=5000\relax
\leavevmode}
-\newcommand{\@tencolfootfmt}[1]{%
+\bidi@ensure@newcommand{\@tencolfootfmt}[1]{%
\@preamtenfmt
{\footfootmark\strut {\foottextfont #1}\strut\par}\allowbreak}
-\newcommand{\@mptencolfootnotetext}[1]{%
+\bidi@ensure@newcommand{\@tencolLTRfootfmt}[1]{%
+ \@preamtenfmt
+ {\footfootmark\strut {\LTRfoottextfont #1}\strut\par}\allowbreak}
+\bidi@ensure@newcommand{\@tencolRTLfootfmt}[1]{%
+ \@preamtenfmt
+ {\footfootmark\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
\def\baselinestretch{\m@m@footnote@spacing}%
@@ -1313,48 +1467,48 @@
\@tencolfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@mptencolLTRfootnotetext}[1]{%
+\bidi@ensure@newcommand{\@mptencolLTRfootnotetext}[1]{%
\global\setbox\@mpfootinsv@r\vbox{\@RTLfalse%
\unvbox\@mpfootinsv@r
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\LTRfoottextfont
\hsize\columnwidth \@parboxrestore
\if@RTLcolumnfootnotes\beginL\fi
\protected@edef\@currentlabel{%
\csname p@mpfootnote\endcsname\@thefnmark}%
\color@begingroup
- \@tencolfootfmt{#1}%
+ \@tencolLTRfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\@mptencolRTLfootnotetext}[1]{%
+\bidi@ensure@newcommand{\@mptencolRTLfootnotetext}[1]{%
\global\setbox\@mpfootinsv@r\vbox{\@RTLtrue%
\unvbox\@mpfootinsv@r
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\RTLfoottextfont
\hsize\columnwidth \@parboxrestore
\protected@edef\@currentlabel{%
\csname p@mpfootnote\endcsname\@thefnmark}%
\color@begingroup
- \@tencolfootfmt{#1}%
+ \@tencolRTLfootfmt{#1}%
\color@endgroup}%
\m@mmf@prepare}
-\newcommand{\tencolumnfootstyle}[1]{%
+\bidi@ensure@newcommand{\tencolumnfootstyle}[1]{%
\m@make@tencolfootnotetext{#1}%
\m@make@mptencolfootnotetext{#1}%
\m@make@tencolfootfmt{#1}%
\m@make@tencol@footgroup{#1}%
\m@make@mptencol@footgroup{#1}%
\m@make@footstart{#1}%
- \@namelongdef{@footnotetext#1}##1{%
+ \bidi@namelongdef{@footnotetext#1}##1{%
\@nameuse{@tencolfootnotetext#1}{##1}}%
- \@namelongdef{@mpfootnotetext#1}##1{%
+ \bidi@namelongdef{@mpfootnotetext#1}##1{%
\@nameuse{@mptencolfootnotetext#1}{##1}}%
\@namedef{@footgroup#1}{\@nameuse{@tencol@footgroup#1}}%
\@namedef{mp@footgroup#1}{\@nameuse{@mptencol@footgroup#1}}%
\expandafter\dimen\csname footins#1\endcsname=2\footinsdim
\expandafter\count\csname footins#1\endcsname=500\relax}
-\newcommand{\m@make@tencolfootnotetext}[1]{%
- \@namelongdef{@tencolfootnotetext#1}##1{%
+\bidi@ensure@newcommand{\m@make@tencolfootnotetext}[1]{%
+ \bidi@namelongdef{@tencolfootnotetext#1}##1{%
\insert\@nameuse{footins#1}{%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\@nameuse{foottextfont#1}%
@@ -1365,8 +1519,8 @@
\@nameuse{@tencolfootfmt#1}{##1}%
\color@endgroup}%
\m@mmf@prepare}}
-\newcommand{\m@make@mptencolfootnotetext}[1]{%
-\@namelongdef{@mptencolfootnotetext#1}##1{%
+\bidi@ensure@newcommand{\m@make@mptencolfootnotetext}[1]{%
+\bidi@namelongdef{@mptencolfootnotetext#1}##1{%
\global\setbox\@nameuse{@mpfootins#1}\vbox{%
\unvbox\@nameuse{@mpfootins#1}
\def\baselinestretch{\m@m@footnote@spacing}%
@@ -1377,20 +1531,20 @@
\color@begingroup
\@nameuse{@tencolfootfmt#1}{##1}%
\color@endgroup}\m@mmf@prepare}}
-\newcommand{\m@make@tencolfootfmt}[1]{%
+\bidi@ensure@newcommand{\m@make@tencolfootfmt}[1]{%
\@namedef{@tencolfootfmt#1}##1{%
\@preamtenfmt
{\@nameuse{footfootmark#1}\strut
{\@nameuse{foottextfont#1}##1}\strut\par}\allowbreak}}
-\newcommand{\m@make@tencol@footgroup}[1]{%
+\bidi@ensure@newcommand{\m@make@tencol@footgroup}[1]{%
\@namedef{@tencol@footgroup#1}{{%
\@nameuse{foottextfont#1} \splittopskip=\ht\strutbox
\m@mrigidbalance{\@nameuse{footins#1}}{10}{\splittopskip}}}}
-\newcommand{\m@make@mptencol@footgroup}[1]{%
+\bidi@ensure@newcommand{\m@make@mptencol@footgroup}[1]{%
\@namedef{@mptencol@footgroup#1}{{%
\@nameuse{foottextfont#1} \splittopskip=\ht\strutbox
\m@mrigidbalance{\@nameuse{@mpfootins#1}}{10}{\splittopskip}}}}
-\newcommand{\m@munvxh}[1]{%
+\bidi@ensure@newcommand{\m@munvxh}[1]{%
\setbox0=\vbox{\unvbox#1%
\global\setbox1=\lastbox}%
\unhbox1
@@ -1398,17 +1552,17 @@
\unskip
\unpenalty
\hskip\m@mipn@skip}
-\newcommand{\m@mungebox}{%
+\bidi@ensure@newcommand{\m@mungebox}{%
\setbox0=\hbox{\m@munvxh0}%
\dp0=\z@
\ht0=\footfudgefactor\wd0
\box0
\penalty0}
\newskip\m@mipn@skip
-\newcommand*{\m@minterparanoteglue}[1]{%
+\bidi@ensure@newcommand*{\m@minterparanoteglue}[1]{%
{\foottextfont\global\m@mipn@skip=#1\relax}}
\m@minterparanoteglue{1em plus.4em minus.4em}
-\newcommand*{\m@mmakehboxofhboxes}{%
+\bidi@ensure@newcommand*{\m@mmakehboxofhboxes}{%
\if@parafootRTL\@RTLtrue\else\@RTLfalse\fi%
\setbox0=\hbox{}%
\loop
@@ -1417,10 +1571,10 @@
\ifhbox2
\setbox0=\hbox{\box2\unhbox0}
\repeat}
-\newcommand*{\m@mremovehboxes}{\setbox0=\lastbox
+\bidi@ensure@newcommand*{\m@mremovehboxes}{\setbox0=\lastbox
\ifhbox0{\m@mremovehboxes}\unhbox0 \fi}
-\newcommand*{\footfudgefiddle}{64}
-\newcommand{\paragraphfootnotes}{%
+\bidi@ensure@newcommand*{\footfudgefiddle}{64}
+\bidi@ensure@newcommand{\paragraphfootnotes}{%
\@namedef{foottextfontv@r}{\foottextfont}% % [RS]
\let\@footnotetext\@parafootnotetext
\let\@LTRfootnotetext\@paraLTRfootnotetext
@@ -1439,7 +1593,7 @@
\multiply\dimen0 by 1024
\divide\dimen0 by \hsize \multiply\dimen0 by \footfudgefiddle
\xdef\footfudgefactor{\expandafter\strip@pt\dimen0 }}}
-\newcommand{\@parafootnotetext}[1]{\insert\footinsv@r{\@RTLfalse
+\bidi@ensure@newcommand{\@parafootnotetext}[1]{\insert\footinsv@r{\@RTLfalse
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\foottextfont
\@preamfntext
@@ -1450,33 +1604,41 @@
\noindent \@parafootfmt{\if@RTL@footnote\beginR\else\beginL\fi#1\if@RTL@footnote\endR\else\endL\fi}%
\color@endgroup}%
\m@mungebox}\m@mmf@prepare}
-\newcommand{\@paraLTRfootnotetext}[1]{\insert\footinsv@r{\@RTLfalse
+\bidi@ensure@newcommand{\@paraLTRfootnotetext}[1]{\insert\footinsv@r{\@RTLfalse
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\LTRfoottextfont
\@preamfntext
\protected@edef\@currentlabel{%
\csname p@footnote\endcsname\@thefnmark}%
\setbox0=\vbox{\hsize=\maxdimen
\color@begingroup
- \noindent \@parafootfmt{\beginL#1\endL}%
+ \noindent \@paraLTRfootfmt{\beginL#1\endL}%
\color@endgroup}%
\m@mungebox}\m@mmf@prepare}
-\newcommand{\@paraRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLfalse
+\bidi@ensure@newcommand{\@paraRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLfalse
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\RTLfoottextfont
\@preamfntext
\protected@edef\@currentlabel{%
\csname p@footnote\endcsname\@thefnmark}%
\setbox0=\vbox{\hsize=\maxdimen
\color@begingroup
- \noindent \@parafootfmt{\beginR#1\endR}%
+ \noindent \@paraRTLfootfmt{\beginR#1\endR}%
\color@endgroup}%
\m@mungebox}\m@mmf@prepare}
-\newcommand{\@parafootfmt}[1]{%
+\bidi@ensure@newcommand{\@parafootfmt}[1]{%
\parindent=\z@
\parfillskip=0pt \@plus 1fil
{\footfootmark\strut {\foottextfont #1}\penalty-10}}
-\newcommand{\@mpparafootnotetext}[1]{%
+\bidi@ensure@newcommand{\@paraLTRfootfmt}[1]{%
+ \parindent=\z@
+ \parfillskip=0pt \@plus 1fil
+ {\footfootmark\strut {\LTRfoottextfont #1}\penalty-10}}
+\bidi@ensure@newcommand{\@paraRTLfootfmt}[1]{%
+ \parindent=\z@
+ \parfillskip=0pt \@plus 1fil
+ {\footfootmark\strut {\RTLfoottextfont #1}\penalty-10}}
+\bidi@ensure@newcommand{\@mpparafootnotetext}[1]{%
\global\setbox\@mpfootinsv@r\vbox{\@RTLfalse%
\unvbox\@mpfootinsv@r
\def\baselinestretch{\m@m@footnote@spacing}%
@@ -1489,42 +1651,42 @@
\noindent \@parafootfmt{\if@RTL@footnote\beginR\else\beginL\fi#1\if@RTL@footnote\endR\else\endL\fi}%
\color@endgroup}%
\m@mungebox}\m@mmf@prepare}
-\newcommand{\@mpparaLTRfootnotetext}[1]{%
+\bidi@ensure@newcommand{\@mpparaLTRfootnotetext}[1]{%
\global\setbox\@mpfootinsv@r\vbox{\@RTLfalse%
\unvbox\@mpfootinsv@r
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\LTRfoottextfont
\hsize\columnwidth \@parboxrestore
\protected@edef\@currentlabel{%
\csname p@mpfootnote\endcsname\@thefnmark}%
\setbox0=\vbox{\hsize=\maxdimen
\color@begingroup
- \noindent \@parafootfmt{\beginL#1\endL}%
+ \noindent \@paraLTRfootfmt{\beginL#1\endL}%
\color@endgroup}%
\m@mungebox}\m@mmf@prepare}
-\newcommand{\@mpparaRTLfootnotetext}[1]{%
+\bidi@ensure@newcommand{\@mpparaRTLfootnotetext}[1]{%
\global\setbox\@mpfootinsv@r\vbox{\@RTLfalse%
\unvbox\@mpfootinsv@r
\def\baselinestretch{\m@m@footnote@spacing}%
- \reset@font\foottextfont
+ \reset@font\RTLfoottextfont
\hsize\columnwidth \@parboxrestore
\protected@edef\@currentlabel{%
\csname p@mpfootnote\endcsname\@thefnmark}%
\setbox0=\vbox{\hsize=\maxdimen
\color@begingroup
- \noindent \@parafootfmt{\beginR#1\endR}%
+ \noindent \@paraRTLfootfmt{\beginR#1\endR}%
\color@endgroup}%
\m@mungebox}\m@mmf@prepare}
-\newcommand{\paragraphfootstyle}[1]{%
+\bidi@ensure@newcommand{\paragraphfootstyle}[1]{%
\m@make@parafootnotetext{#1}%
\m@make@mpparafootnotetext{#1}%
\m@make@parafootfmt{#1}%
\m@make@para@footgroup{#1}%
\m@make@mppara@footgroup{#1}%
\m@make@para@footstart{#1}%
- \@namelongdef{@footnotetext#1}##1{%
+ \bidi@namelongdef{@footnotetext#1}##1{%
\@nameuse{@parafootnotetext#1}{##1}}%
- \@namelongdef{@mpfootnotetext#1}##1{%
+ \bidi@namelongdef{@mpfootnotetext#1}##1{%
\@nameuse{@mpparafootnotetext#1}{##1}}%
\@namedef{@footgroup#1}{\@nameuse{@para@footgroup#1}}%
\@namedef{mp@footgroup#1}{\@nameuse{@mppara@footgroup#1}}%
@@ -1536,8 +1698,8 @@
\multiply\dimen0 by 1024
\divide\dimen0 by \hsize \multiply\dimen0 by 64
\xdef\footfudgefactor{\expandafter\strip@pt\dimen0 }}}
-\newcommand{\m@make@parafootnotetext}[1]{%
-\@namelongdef{@parafootnotetext#1}##1{%
+\bidi@ensure@newcommand{\m@make@parafootnotetext}[1]{%
+\bidi@namelongdef{@parafootnotetext#1}##1{%
\insert\@nameuse{footins#1}{
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font\@nameuse{foottextfont#1}%
@@ -1549,8 +1711,8 @@
\noindent \@nameuse{@parafootfmt#1}{##1}%
\color@endgroup}%
\m@mungebox}\m@mmf@prepare}}
-\newcommand{\m@make@mpparafootnotetext}[1]{%
-\@namelongdef{@mpparafootnotetext#1}##1{%
+\bidi@ensure@newcommand{\m@make@mpparafootnotetext}[1]{%
+\bidi@namelongdef{@mpparafootnotetext#1}##1{%
\global\setbox\@nameuse{@mpfootins#1}\vbox{%
\unvbox\@nameuse{@mpfootins#1}
\def\baselinestretch{\m@m@footnote@spacing}%
@@ -1563,27 +1725,27 @@
\noindent \@nameuse{@parafootfmt#1}{##1}%
\color@endgroup}%
\m@mungebox}\m@mmf@prepare}}
-\newcommand{\m@make@parafootfmt}[1]{%
-\@namelongdef{@parafootfmt#1}##1{%
+\bidi@ensure@newcommand{\m@make@parafootfmt}[1]{%
+\bidi@namelongdef{@parafootfmt#1}##1{%
\parindent=\z@
\parfillskip=0pt \@plus 1fil
{\@nameuse{footfootmark#1}\strut
{\@nameuse{foottextfont#1}##1}\penalty-10}}}
-\newcommand{\m@make@para@footgroup}[1]{%
+\bidi@ensure@newcommand{\m@make@para@footgroup}[1]{%
\@namedef{@para@footgroup#1}{%
\unvbox\@nameuse{footins#1}
\m@mmakehboxofhboxes
\setbox0=\hbox{\unhbox0 \m@mremovehboxes}%
\@nameuse{foottextfont#1}%
\noindent\unhbox0\par}}
-\newcommand{\m@make@mppara@footgroup}[1]{%
+\bidi@ensure@newcommand{\m@make@mppara@footgroup}[1]{%
\@namedef{@mppara@footgroup#1}{%
\unvbox\@nameuse{@mpfootins#1}
\m@mmakehboxofhboxes
\setbox0=\hbox{\unhbox0 \m@mremovehboxes}%
\@nameuse{foottextfont#1}%
\noindent\unhbox0\par}}
-\newcommand{\m@make@para@footstart}[1]{%
+\bidi@ensure@newcommand{\m@make@para@footstart}[1]{%
\@namedef{@para@footstart#1}{%
\vskip\bigskipamount
\leftskip=\z@
@@ -1591,11 +1753,11 @@
\parindent=\z@
\vskip\skip\@nameuse{footins#1}%
\footnoterule}}
-\newcommand*{\m@m@makecolfloats}{%
+\bidi@ensure@newcommand*{\m@m@makecolfloats}{%
\xdef\@freelist{\@freelist\@midlist}%
\global\let\@midlist\@empty
\@combinefloats}
-\newcommand*{\m@m@makecoltext}{%
+\bidi@ensure@newcommand*{\m@m@makecoltext}{%
\ifvbox\@kludgeins
\@makespecialcolbox
\else
@@ -1606,8 +1768,8 @@
\vskip -\dimen@
\@textbottom}%
\fi}
-\newcommand*{\m@m@makecolintro}{}
-\newcommand*{\m@mopfootnote}{\setbox\@outputbox \vbox{%
+\bidi@ensure@newcommand*{\m@m@makecolintro}{}
+\bidi@ensure@newcommand*{\m@mopfootnote}{\setbox\@outputbox \vbox{%
\boxmaxdepth\@maxdepth
\@tempdima\dp\@cclv
\unvbox\@cclv
@@ -1618,7 +1780,7 @@
\footnoterule
\unvbox \footins
\color@endgroup}}
-\newcommand*{\m@mopsidebar}{%
+\bidi@ensure@newcommand*{\m@mopsidebar}{%
\ifvoid\sideins\else
\setbox\@outputbox \vbox{%
\sidecontents
@@ -1636,17 +1798,17 @@
\m@mopsidebar
\m@m@makecoltext
\global \maxdepth \@maxdepth}
-\newcommand{\feetabovefloat}{\gdef\@makecol{\mem@makecol}}
+\bidi@ensure@newcommand{\feetabovefloat}{\gdef\@makecol{\mem@makecol}}
\feetabovefloat%
%%
-%% Copyright © 2009–2011 VAFA KHALIGHI <vafaklg@gmail.com>
+%% Copyright © 2009–2012 Vafa Khalighi <vafaklg@gmail.com>
%%
%% It may be distributed and/or modified under the LaTeX Project Public License,
%% version 1.3c or higher (your choice). The latest version of
%% this license is at: http://www.latex-project.org/lppl.txt
%%
%% This work is “author-maintained” (as per LPPL maintenance status)
-%% by VAFA KHALIGHI.
+%% by Vafa Khalighi.
%%
%%
%%