diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel/luababel.def')
-rw-r--r-- | Master/texmf-dist/tex/generic/babel/luababel.def | 108 |
1 files changed, 77 insertions, 31 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/luababel.def b/Master/texmf-dist/tex/generic/babel/luababel.def index 391ddb448e9..41137096197 100644 --- a/Master/texmf-dist/tex/generic/babel/luababel.def +++ b/Master/texmf-dist/tex/generic/babel/luababel.def @@ -7,7 +7,7 @@ %% babel.dtx (with options: `luatex') %% %% -%% Copyright (C) 2012-2021 Javier Bezos and Johannes L. Braams. +%% Copyright (C) 2012-2022 Javier Bezos and Johannes L. Braams. %% Copyright (C) 1989-2012 Johannes L. Braams and %% any individual authors listed elsewhere in this file. %% All rights reserved. @@ -1340,39 +1340,85 @@ end \ifcase\bbl@attr@dir\expandafter\rlap\else\expandafter\llap\fi} \bbl@trace{Redefinitions for bidi layout} \ifnum\bbl@bidimode>\z@ - \AtBeginDocument{% amsmath - \ifx\place@tag\@undefined\else - \bbl@sreplace\place@tag{\llap}{\bbl@truellap}% - \bbl@sreplace\place@tag@gather{\llap}{\bbl@truellap}% - \bbl@sreplace\place@tag{\rlap}{\bbl@truerlap}% - \bbl@sreplace\place@tag@gather{\rlap}{\bbl@truerlap}% - \fi} - \ifx\AddToHook\@undefined\else - \AddToHook{env/equation/before}{\pardir TLT }{} - \fi - \ifx\@eqnnum\@undefined\else - \ifx\bbl@attr@dir\@undefined\else + \let\bbl@eqnodir\relax + \AtBeginDocument{% + \ifx\maketag@@@\@undefined % Normal equation, eqnarray + \AddToHook{env/eqnarray/begin}{% + \ifnum\bbl@thetextdir>\z@ + \edef\bbl@eqnodir{\noexpand\bbl@textdir{\the\bbl@thetextdir}}% + \chardef\bbl@thetextdir\z@ + \bbl@add\normalfont{\bbl@eqnodir}% + \fi}% + \AddToHook{env/equation/begin}{% + \ifnum\bbl@thetextdir>\z@ + \edef\bbl@eqnodir{\noexpand\bbl@textdir{\the\bbl@thetextdir}}% + \chardef\bbl@thetextdir\z@ + \bbl@add\normalfont{\bbl@eqnodir}% + \pardir TLT % dir for \eqno is \pardir! + \fi}% \bbl@xin@{,leqno,}{,\@classoptionslist,}% \ifin@ - \bbl@sreplace\@eqnnum{\rlap}{\bbl@leqno@aux} - \def\bbl@leqno@aux#1{% - \bbl@truerlap{% - \ifcase\bbl@attr@dir - #1% - \else - \bbl@textdir\@ne - #1% - \hskip-\displaywidth - \fi}} - \else - \bbl@exp{% - \def\\\@eqnnum{{% - \<ifcase>\\\bbl@attr@dir\<else>\\\bbl@textdir\@ne\<fi>% - \\\bbl@ifsamestring{\\\@currenvir}{equation}% - {}{\\\bbl@truellap}{\[@eqnnum]}}}} + \def\@eqnnum{% + \setbox\z@\hbox{\normalfont\normalcolor(\theequation)}% + \hbox to0.01pt{\hss\hbox to\displaywidth{\box\z@\hss}}}% \fi - \fi - \fi + \else % amstex + \bbl@sreplace\intertext@{\normalbaselines}% + {\normalbaselines + \ifx\bbl@eqnodir\relax\else\bbl@pardir\@ne\bbl@textdir\@ne\fi} + \def\bbl@ams@tagbox#1#2{#1{\bbl@eqnodir#2}}% #1=\hbox|ams@lap + \def\bbl@ams@eqtagbox#1{% + \setbox\z@\hbox{\bbl@eqnodir#1}% + \hbox to\wd\z@{% + \ifx\bbl@ams@lap\hbox + \hss\hbox to\displaywidth{\box\z@\hss}% + \else + \hbox to\displaywidth{\hss\box\z@}\hss + \fi}} + \def\bbl@ams@preset#1{% + \ifnum\bbl@thetextdir>\z@ + \edef\bbl@eqnodir{\noexpand\bbl@textdir{\the\bbl@thetextdir}}% + \chardef\bbl@thetextdir\z@ + \bbl@sreplace\textdef@{\hbox}{\bbl@ams@tagbox\hbox}% + \bbl@sreplace\maketag@@@{\hbox}{\bbl@ams@tagbox#1}% + \fi} + \@ifpackagewith{amsmath}{leqno}% + {\let\bbl@ams@lap\hbox}% = leqno + {\let\bbl@ams@lap\llap}% = default + % Not required?: split, alignat + \AddToHook{env/cases/begin}{\bbl@ams@preset\bbl@ams@lap}% + \AddToHook{env/multline/begin}{\bbl@ams@preset\hbox}% + \AddToHook{env/gather/begin}{\bbl@ams@preset\bbl@ams@lap}% + \AddToHook{env/gather*/begin}{\bbl@ams@preset\bbl@ams@lap}% + \AddToHook{env/align/begin}{\bbl@ams@preset\bbl@ams@lap}% + \AddToHook{env/align*/begin}{\bbl@ams@preset\bbl@ams@lap}% + % Hackish, for proper alignment-don’t ask me why it works! :-) + \bbl@exp{% + \\\AddToHook{env/align*/end}{\<iftag@>\<else>\\\tag*{}\<fi>}}% + \AddToHook{env/flalign/begin}{\bbl@ams@preset\hbox}% + \AddToHook{env/split/before}{% + \def\bbl@tempa{equation}% + \ifx\@currenvir\bbl@tempa + \def\bbl@ams@eqtagbox#1{% + \setbox\z@\hbox{\bbl@eqnodir#1}% + \hbox to\wd\z@{\box\z@}}% + \fi} + \AddToHook{env/equation/begin}{% + \bbl@add\ignorespacesafterend{\hrule\@height\z@}% + \ifnum\bbl@thetextdir>\z@ + \ifx\bbl@ams@lap\llap\hrule\@height\z@\fi + \def\bbl@eqnodir{\bbl@textdir\@ne}% + \bbl@textdir\z@ + \bbl@sreplace\maketag@@@{\hbox}{\bbl@ams@eqtagbox}% + \fi}% + \AddToHook{env/equation*/begin}{% + \bbl@add\ignorespacesafterend{\hrule\@height\z@}% + \ifnum\bbl@thetextdir>\z@ + \def\bbl@eqnodir{\bbl@textdir\@ne}% + \bbl@textdir\z@ + \bbl@sreplace\maketag@@@{\hbox}{\bbl@ams@eqtagbox}% + \fi}% + \fi} \fi \ifx\bbl@opt@layout\@nnil\endinput\fi % if no layout \ifnum\bbl@bidimode>\z@ |