texlive[57173] Master/texmf-dist: rmathbr (19dec20)

commits+karl at tug.org commits+karl at tug.org
Sat Dec 19 22:27:29 CET 2020


Revision: 57173
          http://tug.org/svn/texlive?view=revision&revision=57173
Author:   karl
Date:     2020-12-19 22:27:29 +0100 (Sat, 19 Dec 2020)
Log Message:
-----------
rmathbr (19dec20)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/rmathbr/README
    trunk/Master/texmf-dist/doc/latex/rmathbr/rmathbr.pdf
    trunk/Master/texmf-dist/source/latex/rmathbr/rmathbr.dtx
    trunk/Master/texmf-dist/tex/latex/rmathbr/rmathbr.sty

Modified: trunk/Master/texmf-dist/doc/latex/rmathbr/README
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/rmathbr/rmathbr.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/rmathbr/rmathbr.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/rmathbr/rmathbr.dtx	2020-12-19 21:26:22 UTC (rev 57172)
+++ trunk/Master/texmf-dist/source/latex/rmathbr/rmathbr.dtx	2020-12-19 21:27:29 UTC (rev 57173)
@@ -28,8 +28,8 @@
 %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
 %<package>\ProvidesPackage{rmathbr}
 %<*package>
-    [2020/12/11 1.1 Repeating of math operator at the broken line and the new
-                    line in inline equations]
+    [2020/12/18 1.1.1 Repeating of math operator at the broken line and the new
+                      line in inline equations]
 %</package>
 %
 %<*driver>
@@ -41,8 +41,10 @@
             pdfauthor={Denis Ryabov},
             pdftitle={rmathbr : Repeating of math operator at the broken line and
                                 the new line in inline equations}]{hyperref}
+\usepackage{microtype}
 \usepackage{enumitem}
 \usepackage{multicol}
+\setlength{\columnseprule}{0.2pt}
 \usepackage{array,longtable}
 \usepackage{rmathbr}
 \setlist{nosep}
@@ -58,7 +60,7 @@
 %</driver>
 % \fi
 %
-% \CheckSum{3823}
+% \CheckSum{3913}
 %
 % \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
@@ -113,12 +115,12 @@
 %
 % It's recommended to load \textsf{rmathbr} after other packages because
 % \textsf{rmathbr} has special support of many math-related packages:
-% \textsf{amsfonts}, \textsf{amssymb}, \textsf{amstex}, \textsf{bm},
+% \textsf{amsfonts}, \textsf{amssymb}, \mbox{\textsf{amstex}}, \textsf{bm},
 % \textsf{boisik}, \textsf{euler}, \textsf{eulervm}, \textsf{fourier},
 % \textsf{icomma}, \textsf{latexsym}, \textsf{lucbmath}, \textsf{lucidabr},
-% \textsf{lucmin}, \textsf{lucmtime}, \textsf{luctime}, \textsf{mathbbol},
+% \textsf{lucmin}, \mbox{\textsf{lucmtime}}, \textsf{luctime}, \textsf{mathbbol},
 % \textsf{mathtools}, \textsf{mdwmath}, \textsf{program}, \textsf{sbbm},
-% \textsf{stmaryrd}, \textsf{wasysym}, \textsf{xy}.
+% \textsf{stmaryrd}, \textsf{unicode-math}, \textsf{wasysym}, \textsf{xy}.
 %
 % Please, submit any found bugs to \url{https://github.com/dryabov/rmathbr/issues}.
 %
@@ -137,7 +139,7 @@
 %         This option declares what way \textsf{rmathbr} will affect |_| and |^|
 %         commands (sub- and superscripts). In the ``noactive'' mode, they have
 %         default \TeX{} behavior, but it may be necessary to manually wrap some
-%         indices into curly brackets, e.g. |A^{\star}| instead of just
+%         indices into curly braces, e.g. |A^{\star}| instead of just
 %         a |A^\star|. In the ``mathactive'' mode, both |_| and |^| become
 %         commands in math mode that process arguments properly, and extra
 %         wrapping is unnecessary. And in the ``active'' mode these commands can
@@ -251,6 +253,11 @@
 %
 % \section{Changelog}
 %
+% \subsection*{1.1.1 (18-December-2020)}
+% \begin{itemize}
+%   \item fix issue with a prime (|'|) followed by a superscript
+%   \item fix issue with \verb|\text| command as sub-/superscripts
+% \end{itemize}
 % \subsection*{1.1 (11-December-2020)}
 % \begin{itemize}
 %   \item add support of XeTeX/LuaTeX and \textsf{unicode-math} package
@@ -357,14 +364,17 @@
 \RequirePackage{ifetex}
 \RequirePackage{ifluatex}
 \RequirePackage{xkeyval}
+\RequirePackage{expl3}
 %    \end{macrocode}
+%
 % \begin{macro}{\rmathbr at kv}
 %    \begin{macrocode}
 \edef\rmathbr at kv{\@currname.\@currext}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\xDeclareBoolOptionX}
-% The macro to declare boolean option.
+% The macro to declare a boolean option.
 %    \begin{macrocode}
 \def\xDeclareBoolOptionX#1#2{%
   \define at boolkey{\rmathbr at kv}[rmathbr at kv@]{#1}[true]{#2}%
@@ -371,8 +381,9 @@
 }
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\xDeclareChoiceOptionX}
-% The macro to declare multi-choice option.
+% The macro to declare a choice option.
 %    \begin{macrocode}
 \def\xDeclareChoiceOptionX#1[#2]#3[#4]#5{%
   \define at choicekey{\rmathbr at kv}{#1}[#2]{#3}[#4]{#5}%
@@ -403,6 +414,7 @@
 \def\SetBreakableRel#1{\rmathbr at setbreakable{#1}{\brokenrel}}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\SetBreakableBin}
 % Makes breakable binary operation.
 %    \begin{macrocode}
@@ -409,6 +421,7 @@
 \def\SetBreakableBin#1{\rmathbr at setbreakable{#1}{\brokenbin}}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\SetBreakableInner}
 % Makes breakable inner (like \verb|\ldots|).
 %    \begin{macrocode}
@@ -415,6 +428,7 @@
 \def\SetBreakableInner#1{\rmathbr at setbreakable{#1}{\brokeninner}}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\SetOpenBracket}
 % Disables breaks after open bracket.
 %    \begin{macrocode}
@@ -421,6 +435,7 @@
 \def\SetOpenBracket#1{\rmathbr at nobrafter{#1}}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\SetPunctuation}
 % Disables breaks after punctuation sign.
 %    \begin{macrocode}
@@ -427,6 +442,7 @@
 \def\SetPunctuation#1{\rmathbr at nobrafter{#1}}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\SetMathOperator}
 % Disables breaks after math operator.
 %    \begin{macrocode}
@@ -433,6 +449,7 @@
 \def\SetMathOperator#1{\rmathbr at setbreakable{#1}{\rmathbr at mathop}}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\UnsetBrokenCmd}
 % Restores original command.
 %    \begin{macrocode}
@@ -439,6 +456,7 @@
 \def\UnsetBrokenCmd#1{\rmathbr at unsetbroken{#1}}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\BrokenBinOff}
 % Disables break on binary operations.
 %    \begin{macrocode}
@@ -445,6 +463,7 @@
 \def\BrokenBinOff{\rmathbr at brokenbinoff}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\BrokenBinOn}
 % Enables break on binary operations.
 %    \begin{macrocode}
@@ -451,6 +470,7 @@
 \def\BrokenBinOn{\rmathbr at brokenbinon}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\brokenrel}
 % Makes argument as breakable relation sign.
 %    \begin{macrocode}
@@ -457,6 +477,7 @@
 \DeclareRobustCommand{\brokenrel}[1]{\rmathbr at brokenrel{#1}}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\brokenbin}
 % Makes argument as breakable binary operation.
 %    \begin{macrocode}
@@ -463,6 +484,7 @@
 \DeclareRobustCommand{\brokenbin}[1]{\rmathbr at brokenbin{#1}}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\brokeninner}
 % Makes argument as breakable inner.
 %    \begin{macrocode}
@@ -506,17 +528,8 @@
 %
 % Process |script| option:
 %    \begin{macrocode}
-\let\rmathbr at scriptsmode=\@ne
-%    \end{macrocode}
-%    \begin{macrocode}
-\xDeclareChoiceOptionX{scripts}[\val\nr]{noactive,mathactive,active}[mathactive]{
-  \ifcase\nr\relax
-    \let\rmathbr at scriptsmode=\z@
-  \or
-    \let\rmathbr at scriptsmode=\@ne
-  \or
-    \let\rmathbr at scriptsmode=\tw@
-  \fi
+\xDeclareChoiceOptionX{scripts}[\xkv at val\xkv at nr]{noactive,mathactive,active}[mathactive]{
+  \let\rmathbr at kv@scriptsmode=\xkv at nr
 }
 %    \end{macrocode}
 %
@@ -529,8 +542,8 @@
 % Note that by default 'atload' is used unless 'unicode-math' or 'mathtools' are
 % loaded.
 %    \begin{macrocode}
-\xDeclareChoiceOptionX{run}[\val\nr]{atload,atbegindocument,auto}[auto]{
-  \ifcase\nr\relax
+\xDeclareChoiceOptionX{run}[\xkv at val\xkv at nr]{atload,atbegindocument,auto}[auto]{
+  \ifcase\xkv at nr\relax
     \rmathbr at patch@begindocumentfalse
   \or
     \rmathbr at patch@begindocumenttrue
@@ -582,7 +595,7 @@
 %
 % Switch to scripts mode
 %    \begin{macrocode}
-\ifcase\rmathbr at scriptsmode
+\ifcase\rmathbr at kv@scriptsmode
   % nop
 \or
   \AtBeginDocument{\catcode`\^=12\mathcode`\^=32768\catcode`\_=12\mathcode`\_=32768}
@@ -591,6 +604,48 @@
 \fi
 %    \end{macrocode}
 %
+% \begin{macro}{\rmathbr at pr@m at s}
+% Fix the prime symbol to take into account active math superscripts.
+%    \begin{macrocode}
+\def\rmathbr at pr@m at s{%
+  \ifx'\@let at token
+    \let\rmathbr at command=\pr@@@s
+  \else\ifx\rmathbr at superscript@std\@let at token
+    \let\rmathbr at command=\pr@@@t
+  \else\ifx\rmathbr at superscript@other\@let at token
+    \let\rmathbr at command=\pr@@@t
+  \else
+    \let\rmathbr at command=\egroup
+  \fi\fi\fi
+  \rmathbr at command}
+%    \end{macrocode}
+% \end{macro}
+%
+%    \begin{macrocode}
+\ifnum\rmathbr at kv@scriptsmode>0\relax
+  \let\pr at m@s=\rmathbr at pr@m at s
+\fi
+%    \end{macrocode}
+%
+% \begin{macro}{\rmathbr at unicodemath@primes at patch}
+% \begin{macro}{\__um_superscript:n}
+% Fix the prime symbol for unicode-math package.
+%    \begin{macrocode}
+\ExplSyntaxOn
+\def\rmathbr at unicodemath@primes at patch{
+  \cs_gset:Nn \__um_superscript:n
+    {
+      \rmathbr at superscript@std\bgroup ##1
+      \peek_meaning_remove:NTF \rmathbr at superscript@other \__um_arg_i_before_egroup:n {
+        \peek_meaning_remove:NTF \rmathbr at superscript@std \__um_arg_i_before_egroup:n \egroup
+      }
+    }
+}
+\ExplSyntaxOff
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
 % Store original penalty values (via mathchardef trick).
 %    \begin{macrocode}
 \mathchardef\rmathbr at orig@relpenalty=\relpenalty
@@ -611,6 +666,7 @@
 \relpenalty=13131
 \binoppenalty=14141
 %    \end{macrocode}
+%
 % \begin{macro}{\everymath}
 % First symbol/command in equation is nonbreakable.
 %    \begin{macrocode}
@@ -623,21 +679,25 @@
 \begingroup\catcode`\^=7 \global\let\rmathbr at superscript@std=^\endgroup
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at superscript@other}
 %    \begin{macrocode}
 \begingroup\catcode`\^=12\global\let\rmathbr at superscript@other=^\endgroup
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at subscript@std}
 %    \begin{macrocode}
 \begingroup\catcode`\_=8 \global\let\rmathbr at subscript@std=_\endgroup
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at subscript@other}
 %    \begin{macrocode}
 \begingroup\catcode`\_=12\global\let\rmathbr at subscript@other=_\endgroup
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at prime}
 %    \begin{macrocode}
 \begingroup\catcode`\'=12\global\let\rmathbr at prime='\endgroup
@@ -646,15 +706,50 @@
 %
 % \begin{macro}{\rmathbr at superscript}
 %    \begin{macrocode}
-\def\rmathbr at superscript#1{\rmathbr at superscript@std{{#1}}}
+\def\rmathbr at superscript{\rmathbr at check@arg\rmathbr at superscript@std}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at subscript}
 %    \begin{macrocode}
-\def\rmathbr at subscript#1{\rmathbr at subscript@std{{#1}}}
+\def\rmathbr at subscript{\rmathbr at check@arg\rmathbr at subscript@std}
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{\rmathbr at check@arg}
+% Check that argument is rmathbr-processed command and wrap it into braces
+% (if necessary)
+%    \begin{macrocode}
+\def\rmathbr at check@arg#1{%
+  \let\rmathbr at checkarg@cmd=#1
+  \futurelet\rmathbr at let@token\rmathbr at check@@arg%
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\rmathbr at check@@arg}
+%    \begin{macrocode}
+\def\rmathbr at check@@arg#1{%
+  \let\rmathbr at command=\rmathbr at wrap@arg
+  \ifx\rmathbr at let@token\bgroup\else
+    \edef\rmathbr at orig{\expandafter\@gobble\string#1}
+    \ifx\rmathbr at orig\empty\else
+      \expandafter\ifx\csname rmathbr at orig@\rmathbr at orig\endcsname\relax
+        \let\rmathbr at command=\@firstofone
+      \fi
+    \fi
+  \fi
+  \rmathbr at checkarg@cmd\rmathbr at command{#1}%
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\rmathbr at wrap@arg}
+%    \begin{macrocode}
+\def\rmathbr at wrap@arg#1{{#1}}
+%    \end{macrocode}
+% \end{macro}
+%
 % Setup sub- and superscripts.
 %    \begin{macrocode}
 \begingroup
@@ -681,11 +776,13 @@
     \fi}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at mathchar}
 %    \begin{macrocode}
   \def\rmathbr at mathchar#1{\mathchar\number\mathcode#1}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at makeactivemathopen}
 %    \begin{macrocode}
   \def\rmathbr at makeactivemathopen#1{%
@@ -708,6 +805,7 @@
   \endgroup
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at checkmathchar}
 %    \begin{macrocode}
   \def\rmathbr at checkmathchar#1{%
@@ -718,21 +816,25 @@
     \fi}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at mathchar}
 %    \begin{macrocode}
   \def\rmathbr at mathchar#1{\Umathcharnum\number\Umathcodenum#1}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at truncdiv}
 %    \begin{macrocode}
   \def\rmathbr at truncdiv#1#2{((#1-(#2-1)/2)/#2)}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at modulo}
 %    \begin{macrocode}
   \def\rmathbr at modulo#1#2{(#1-\rmathbr at truncdiv{#1}{#2}*#2)}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at makeactivemathopen}
 %    \begin{macrocode}
   \def\rmathbr at makeactivemathopen#1{%
@@ -754,6 +856,7 @@
   }
 \fi
 %    \end{macrocode}
+%
 % \begin{macro}{\rmathbr at makeactivemath}
 %    \begin{macrocode}
 \def\rmathbr at makeactivemath#1#2#3{
@@ -771,6 +874,7 @@
 }
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at makeactivemathpunct}
 %    \begin{macrocode}
 \def\rmathbr at makeactivemathpunct#1#2{
@@ -791,22 +895,27 @@
 %    \begin{macrocode}
 \newif\ifrmathbr at protected
 %    \end{macrocode}
+%
+% \begin{macro}{\rmathbr at str@contains}
+%    \begin{macrocode}
+\def\rmathbr at str@contains#1#2{\begingroup\edef\x{\endgroup\noexpand\in@{#1}{#2}}\x}
+%    \end{macrocode}
+% \end{macro}
+%
 % \begin{macro}{\rmathbr at ifprotected}
 %    \begin{macrocode}
 \def\rmathbr at ifprotected#1{%
   \rmathbr at protectedfalse
-  \edef\str at cmd{\string#1\space}
   \edef\meaning at cmd{\meaning#1}
-  \def\str at contains##1##2{\begingroup\edef\x{\endgroup\noexpand\in@{##1}{##2}}\x}
-  \str at contains\str at cmd\meaning at cmd
+  \rmathbr at str@contains{\string#1\space}\meaning at cmd
   \ifin@
-    \str at contains{\string\protect\space}\meaning at cmd
+    \rmathbr at str@contains{\string\protect\space}\meaning at cmd
     \ifin@\rmathbr at protectedtrue\else
-      \str at contains{\string\x at protect\space}\meaning at cmd
+      \rmathbr at str@contains{\string\x at protect\space}\meaning at cmd
       \ifin@\rmathbr at protectedtrue\else
-        \str at contains{\string\@testopt\space}\meaning at cmd
+        \rmathbr at str@contains{\string\@testopt\space}\meaning at cmd
         \ifin@\rmathbr at protectedtrue\else
-          \str at contains{\string\@protected at testopt\space}\meaning at cmd
+          \rmathbr at str@contains{\string\@protected at testopt\space}\meaning at cmd
           \ifin@\rmathbr at protectedtrue\fi
         \fi
       \fi
@@ -815,6 +924,7 @@
 }
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at ReDeclareRobustCommand}
 % Command without arguments
 %    \begin{macrocode}
@@ -848,6 +958,7 @@
 }
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at ReDeclareRobustCommandI}
 % Command with one argument
 %    \begin{macrocode}
@@ -881,16 +992,19 @@
 }
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\brokenrel}
 %    \begin{macrocode}
 \rmathbr at ReDeclareRobustCommandI{\brokenrel}{\rmathbr at brokenrel{#1}}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\brokenbin}
 %    \begin{macrocode}
 \rmathbr at ReDeclareRobustCommandI{\brokenbin}{\rmathbr at brokenbin{#1}}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\brokeninner}
 %    \begin{macrocode}
 \rmathbr at ReDeclareRobustCommandI{\brokeninner}{\rmathbr at brokeninner{#1}}%
@@ -902,6 +1016,7 @@
 \let\rmathbr at save@brokenbin=\brokenbin
 \let\rmathbr at save@brokeninner=\brokeninner
 %    \end{macrocode}
+%
 % \begin{macro}{\rmathbr at brokenbinon}
 %    \begin{macrocode}
 \def\rmathbr at brokenbinon{%
@@ -912,6 +1027,7 @@
 }
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at brokenbinoff}
 %    \begin{macrocode}
 \def\rmathbr at brokenbinoff{%
@@ -922,6 +1038,7 @@
 }
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at setbrokens}
 %    \begin{macrocode}
 \def\rmathbr at setbrokens{%
@@ -932,6 +1049,7 @@
 }
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at unsetbrokens}
 %    \begin{macrocode}
 \def\rmathbr at unsetbrokens{%
@@ -942,6 +1060,7 @@
 }
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at brokenrel}
 %    \begin{macrocode}
 \def\rmathbr at brokenrel#1{%
@@ -952,6 +1071,7 @@
 }
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at brokenbin}
 %    \begin{macrocode}
 \def\rmathbr at brokenbin#1{%
@@ -962,6 +1082,7 @@
 }
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at brokeninner}
 %    \begin{macrocode}
 \def\rmathbr at brokeninner#1{%
@@ -972,6 +1093,7 @@
 }
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at mathop}
 %    \begin{macrocode}
 \def\rmathbr at mathop#1{%
@@ -982,6 +1104,7 @@
 }
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr@@brokenrel}
 % LuaTeX only supports per-disc-node penalties
 %    \begin{macrocode}
@@ -1003,6 +1126,7 @@
 }
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr@@brokenbin}
 %    \begin{macrocode}
 \def\rmathbr@@brokenbin#1{%
@@ -1023,6 +1147,7 @@
 }
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr@@brokeninner}
 %    \begin{macrocode}
 \def\rmathbr@@brokeninner#1{%
@@ -1043,6 +1168,7 @@
 }
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr@@mathop}
 %    \begin{macrocode}
 \def\rmathbr@@mathop#1{%
@@ -1051,6 +1177,7 @@
 }
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at selector}
 %    \begin{macrocode}
 \def\rmathbr at selector#1{%
@@ -1062,6 +1189,7 @@
 }
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at brokenop}
 %    \begin{macrocode}
 \def\rmathbr at brokenop{%
@@ -1093,6 +1221,7 @@
 }
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at brokenglue}
 %    \begin{macrocode}
 \def\rmathbr at brokenglue#1#2#3{%
@@ -1101,6 +1230,7 @@
 }
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at brokenskip}
 %    \begin{macrocode}
 \def\rmathbr at brokenskip#1#2{%
@@ -1128,6 +1258,7 @@
 }
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at nobrafter}
 %    \begin{macrocode}
 \def\rmathbr at nobrafter#1{%
@@ -1144,6 +1275,7 @@
 }
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at unsetbroken}
 %    \begin{macrocode}
 \def\rmathbr at unsetbroken#1{
@@ -1152,8 +1284,9 @@
     \else
       \edef\rmathbr at orig{rmathbr at orig@\expandafter\@gobble\string#1}
       \expandafter\ifx\csname\rmathbr at orig\endcsname\relax
-	  \else
-	    \expandafter\global\expandafter\let\expandafter#1\csname\rmathbr at orig\endcsname
+      \else
+        \expandafter\global\expandafter\let\expandafter#1\csname\rmathbr at orig\endcsname
+        \expandafter\global\expandafter\let\csname\rmathbr at orig\endcsname=\undefined
       \fi
     \fi
   \endgroup%
@@ -1175,21 +1308,25 @@
 \rmathbr at makeactivemath{`\=}{\brokenrel}{\mathchar12349}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{<}
 %    \begin{macrocode}
 \rmathbr at makeactivemath{`\<}{\brokenrel}{\mathchar12604}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{>}
 %    \begin{macrocode}
 \rmathbr at makeactivemath{`\>}{\brokenrel}{\mathchar12606}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{+}
 %    \begin{macrocode}
 \rmathbr at makeactivemath{`\+}{\brokenbin}{\mathchar8235}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{-}
 %    \begin{macrocode}
 \ifrmathbr at kv@brokenminus
@@ -1197,16 +1334,19 @@
 \fi
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{*}
 %    \begin{macrocode}
 \rmathbr at makeactivemath{`\*}{\brokenbin}{\mathchar8707}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{(}
 %    \begin{macrocode}
 \rmathbr at makeactivemathopen{`\(}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{[}
 %    \begin{macrocode}
 \rmathbr at makeactivemathopen{`\[}
@@ -1254,6 +1394,7 @@
 \endgroup
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at colontest}
 % Check for \verb|:=|.
 %    \begin{macrocode}
@@ -1260,6 +1401,7 @@
 \def\rmathbr at colontest{\futurelet\rmathbr at let@token\rmathbr at do@colontest}
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\rmathbr at do@colontest}
 %    \begin{macrocode}
 \def\rmathbr at do@colontest{%
@@ -1363,6 +1505,9 @@
     \catcode`\"=12
     \@@input{unicode-math-table.tex}
   \endgroup
+  \ifnum\rmathbr at kv@scriptsmode>0\relax
+    \rmathbr at unicodemath@primes at patch
+  \fi
 }{}
 %    \end{macrocode}
 %
@@ -1463,6 +1608,7 @@
 \SetBreakableBin{\times}
 \SetBreakableBin{\cdot}
 %    \end{macrocode}
+%
 % \begin{macro}{\rmathbr at cdott}
 % \verb|\cdott| is \verb|\cdot| that is changed to \verb|\times| at break point.
 %    \begin{macrocode}
@@ -1474,6 +1620,7 @@
 }
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\cdott}
 %    \begin{macrocode}
 \def\cdott{%
@@ -1497,6 +1644,7 @@
 }
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\cdot}
 %    \begin{macrocode}
 \ifrmathbr at kv@cdottimes
@@ -1504,6 +1652,7 @@
 \fi
 %    \end{macrocode}
 % \end{macro}
+%
 % \begin{macro}{\*}
 %    \begin{macrocode}
 \def\*{\mathbin{}%
@@ -2703,7 +2852,7 @@
 % Patch for \textsf{xy} package:
 %    \begin{macrocode}
 \@ifpackageloaded{xy}{%
-  \ifnum\rmathbr at scriptsmode>0\relax
+  \ifnum\rmathbr at kv@scriptsmode>0\relax
     \let\rmathbr at save@xy=\xy
     \let\rmathbr at save@endxy=\endxy
     \def\xy{\begingroup\catcode`\^7\catcode`\_8\rmathbr at save@xy}

Modified: trunk/Master/texmf-dist/tex/latex/rmathbr/rmathbr.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/rmathbr/rmathbr.sty	2020-12-19 21:26:22 UTC (rev 57172)
+++ trunk/Master/texmf-dist/tex/latex/rmathbr/rmathbr.sty	2020-12-19 21:27:29 UTC (rev 57173)
@@ -20,11 +20,12 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}[1999/12/01]
 \ProvidesPackage{rmathbr}
-    [2020/12/11 1.1 Repeating of math operator at the broken line and the new
-                    line in inline equations]
+    [2020/12/18 1.1.1 Repeating of math operator at the broken line and the new
+                      line in inline equations]
 \RequirePackage{ifetex}
 \RequirePackage{ifluatex}
 \RequirePackage{xkeyval}
+\RequirePackage{expl3}
 \edef\rmathbr at kv{\@currname.\@currext}
 \def\xDeclareBoolOptionX#1#2{%
   \define at boolkey{\rmathbr at kv}[rmathbr at kv@]{#1}[true]{#2}%
@@ -69,19 +70,12 @@
     \ExecuteOptionsX{scripts=active}
   \fi
 }
-\let\rmathbr at scriptsmode=\@ne
-\xDeclareChoiceOptionX{scripts}[\val\nr]{noactive,mathactive,active}[mathactive]{
-  \ifcase\nr\relax
-    \let\rmathbr at scriptsmode=\z@
-  \or
-    \let\rmathbr at scriptsmode=\@ne
-  \or
-    \let\rmathbr at scriptsmode=\tw@
-  \fi
+\xDeclareChoiceOptionX{scripts}[\xkv at val\xkv at nr]{noactive,mathactive,active}[mathactive]{
+  \let\rmathbr at kv@scriptsmode=\xkv at nr
 }
 \newif\ifrmathbr at patch@begindocument
-\xDeclareChoiceOptionX{run}[\val\nr]{atload,atbegindocument,auto}[auto]{
-  \ifcase\nr\relax
+\xDeclareChoiceOptionX{run}[\xkv at val\xkv at nr]{atload,atbegindocument,auto}[auto]{
+  \ifcase\xkv at nr\relax
     \rmathbr at patch@begindocumentfalse
   \or
     \rmathbr at patch@begindocumenttrue
@@ -106,7 +100,7 @@
 \ExecuteOptionsX{brokencolon=false}
 \ExecuteOptionsX{brokenbin=true}
 \ProcessOptionsX
-\ifcase\rmathbr at scriptsmode
+\ifcase\rmathbr at kv@scriptsmode
   % nop
 \or
   \AtBeginDocument{\catcode`\^=12\mathcode`\^=32768\catcode`\_=12\mathcode`\_=32768}
@@ -113,6 +107,31 @@
 \or
   \AtBeginDocument{\catcode`\^\active\catcode`\_\active}
 \fi
+\def\rmathbr at pr@m at s{%
+  \ifx'\@let at token
+    \let\rmathbr at command=\pr@@@s
+  \else\ifx\rmathbr at superscript@std\@let at token
+    \let\rmathbr at command=\pr@@@t
+  \else\ifx\rmathbr at superscript@other\@let at token
+    \let\rmathbr at command=\pr@@@t
+  \else
+    \let\rmathbr at command=\egroup
+  \fi\fi\fi
+  \rmathbr at command}
+\ifnum\rmathbr at kv@scriptsmode>0\relax
+  \let\pr at m@s=\rmathbr at pr@m at s
+\fi
+\ExplSyntaxOn
+\def\rmathbr at unicodemath@primes at patch{
+  \cs_gset:Nn \__um_superscript:n
+    {
+      \rmathbr at superscript@std\bgroup ##1
+      \peek_meaning_remove:NTF \rmathbr at superscript@other \__um_arg_i_before_egroup:n {
+        \peek_meaning_remove:NTF \rmathbr at superscript@std \__um_arg_i_before_egroup:n \egroup
+      }
+    }
+}
+\ExplSyntaxOff
 \mathchardef\rmathbr at orig@relpenalty=\relpenalty
 \mathchardef\rmathbr at orig@binoppenalty=\binoppenalty
 \ifluatex\else
@@ -126,8 +145,25 @@
 \begingroup\catcode`\_=8 \global\let\rmathbr at subscript@std=_\endgroup
 \begingroup\catcode`\_=12\global\let\rmathbr at subscript@other=_\endgroup
 \begingroup\catcode`\'=12\global\let\rmathbr at prime='\endgroup
-\def\rmathbr at superscript#1{\rmathbr at superscript@std{{#1}}}
-\def\rmathbr at subscript#1{\rmathbr at subscript@std{{#1}}}
+\def\rmathbr at superscript{\rmathbr at check@arg\rmathbr at superscript@std}
+\def\rmathbr at subscript{\rmathbr at check@arg\rmathbr at subscript@std}
+\def\rmathbr at check@arg#1{%
+  \let\rmathbr at checkarg@cmd=#1
+  \futurelet\rmathbr at let@token\rmathbr at check@@arg%
+}
+\def\rmathbr at check@@arg#1{%
+  \let\rmathbr at command=\rmathbr at wrap@arg
+  \ifx\rmathbr at let@token\bgroup\else
+    \edef\rmathbr at orig{\expandafter\@gobble\string#1}
+    \ifx\rmathbr at orig\empty\else
+      \expandafter\ifx\csname rmathbr at orig@\rmathbr at orig\endcsname\relax
+        \let\rmathbr at command=\@firstofone
+      \fi
+    \fi
+  \fi
+  \rmathbr at checkarg@cmd\rmathbr at command{#1}%
+}
+\def\rmathbr at wrap@arg#1{{#1}}
 \begingroup
   \catcode`\^\active\gdef^{\rmathbr at superscript}
   \catcode`\_\active\gdef_{\rmathbr at subscript}
@@ -203,20 +239,19 @@
   \endgroup
 }
 \newif\ifrmathbr at protected
+\def\rmathbr at str@contains#1#2{\begingroup\edef\x{\endgroup\noexpand\in@{#1}{#2}}\x}
 \def\rmathbr at ifprotected#1{%
   \rmathbr at protectedfalse
-  \edef\str at cmd{\string#1\space}
   \edef\meaning at cmd{\meaning#1}
-  \def\str at contains##1##2{\begingroup\edef\x{\endgroup\noexpand\in@{##1}{##2}}\x}
-  \str at contains\str at cmd\meaning at cmd
+  \rmathbr at str@contains{\string#1\space}\meaning at cmd
   \ifin@
-    \str at contains{\string\protect\space}\meaning at cmd
+    \rmathbr at str@contains{\string\protect\space}\meaning at cmd
     \ifin@\rmathbr at protectedtrue\else
-      \str at contains{\string\x at protect\space}\meaning at cmd
+      \rmathbr at str@contains{\string\x at protect\space}\meaning at cmd
       \ifin@\rmathbr at protectedtrue\else
-        \str at contains{\string\@testopt\space}\meaning at cmd
+        \rmathbr at str@contains{\string\@testopt\space}\meaning at cmd
         \ifin@\rmathbr at protectedtrue\else
-          \str at contains{\string\@protected at testopt\space}\meaning at cmd
+          \rmathbr at str@contains{\string\@protected at testopt\space}\meaning at cmd
           \ifin@\rmathbr at protectedtrue\fi
         \fi
       \fi
@@ -458,8 +493,9 @@
     \else
       \edef\rmathbr at orig{rmathbr at orig@\expandafter\@gobble\string#1}
       \expandafter\ifx\csname\rmathbr at orig\endcsname\relax
-  \else
-    \expandafter\global\expandafter\let\expandafter#1\csname\rmathbr at orig\endcsname
+      \else
+        \expandafter\global\expandafter\let\expandafter#1\csname\rmathbr at orig\endcsname
+        \expandafter\global\expandafter\let\csname\rmathbr at orig\endcsname=\undefined
       \fi
     \fi
   \endgroup%
@@ -572,6 +608,9 @@
     \catcode`\"=12
     \@@input{unicode-math-table.tex}
   \endgroup
+  \ifnum\rmathbr at kv@scriptsmode>0\relax
+    \rmathbr at unicodemath@primes at patch
+  \fi
 }{}
 \rmathbr at ReDeclareRobustCommandI{\not}{%
   \begingroup
@@ -1809,7 +1848,7 @@
   \PackageInfo{rmathbr}{Note: 'bm' package has been patched}{}%
 }{}
 \@ifpackageloaded{xy}{%
-  \ifnum\rmathbr at scriptsmode>0\relax
+  \ifnum\rmathbr at kv@scriptsmode>0\relax
     \let\rmathbr at save@xy=\xy
     \let\rmathbr at save@endxy=\endxy
     \def\xy{\begingroup\catcode`\^7\catcode`\_8\rmathbr at save@xy}



More information about the tex-live-commits mailing list.