summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/babel/luababel.def
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel/luababel.def')
-rw-r--r--Master/texmf-dist/tex/generic/babel/luababel.def108
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@