summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/rec-thy/rec-thy.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/rec-thy/rec-thy.sty')
-rw-r--r--macros/latex/contrib/rec-thy/rec-thy.sty330
1 files changed, 283 insertions, 47 deletions
diff --git a/macros/latex/contrib/rec-thy/rec-thy.sty b/macros/latex/contrib/rec-thy/rec-thy.sty
index 4f69ee5fe3..e4faaa5454 100644
--- a/macros/latex/contrib/rec-thy/rec-thy.sty
+++ b/macros/latex/contrib/rec-thy/rec-thy.sty
@@ -1,5 +1,7 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{rec-thy}[2019/02/17 v3.01 Provides commands for writing up recursion theory papers]
+% Release Notes see README
+\def\recthyVersion{3.3}
+\ProvidesPackage{rec-thy}[v3.3 Provides commands for writing up recursion theory papers]
\makeatletter
% \newcommand*{\@curpack}{\@currname} %rec-thy.sty
\newcommand*{\@packinfo}[1]{\PackageInfo{rec-thy}{#1}}
@@ -12,10 +14,7 @@
%leaves us a command \arg defined to do \@recthy@arg
% \ProvidesPackage{\@curpack} %file name is package name
-% Release Notes
-% Version 1.2
-% Added mrref option
-% Fixed horrific option processing bug
+
\RequirePackage{ltxcmds}
\RequirePackage{ifxetex,ifpdf}
\RequirePackage{suffix}
@@ -23,6 +22,7 @@
\RequirePackage{xifthen}
\RequirePackage{xkeyval}
\RequirePackage{etoolbox}
+\RequirePackage{pict2e,picture}
\robustify\(
\robustify\)
\RequirePackage{xparse}
@@ -103,6 +103,7 @@
\newif\ifrecthy@nosuppprioritytrees \recthy@nosuppprioritytreestrue
\newif\ifrecthy@hyperreqs \recthy@hyperreqstrue
\newif\ifrecthy@nooperators \recthy@nooperatorsfalse
+\newif\ifrecthy@fix@typeset \recthy@fix@typesettrue
%\newif\ifrecthy@nomodule \recthy@nomodulefalse
\DeclareOptionX{nohyphenation}{\recthy@nohyphenationtrue}
@@ -131,6 +132,11 @@
\DeclareOptionX{suppPriorityTrees}{\recthy@nosuppprioritytreesfalse}
\DeclareOptionX{nohyperreqs}{\recthy@hyperreqsfalse}
\DeclareOptionX{nooperators}{\recthy@nooperatorstrue}
+\DeclareOptionX{compat31}{\recthy@compat@threeOne}
+\DeclareOptionX{nofixtype}{\ifrecthy@fix@typesetfalse}
+
+\newcommand*{\recthy@compat@threeOne}{\recthy@rollback@threeTwo@threeOne@REA}
+\newcommand*{\recthy@rollback@threeTwo@threeOne@REA}{}
%\DeclareOptionX{nomodule}{\recthy@nomoduletrue}
\DeclareOptionX{degjoin}{\def\Tjoin{\Tdegjoin}}
@@ -143,6 +149,84 @@
\DeclareOptionX{ballsymb}[@recthy@ballsymb@default]{\letcs{\@recthy@ballsymb}{#1}}
\AtEndOfPackage{
+ \ifrecthy@fix@typeset
+ %Defining \overbar
+ \let\save@mathaccent\mathaccent
+ \newcommand*\if@single[3]{%
+ \setbox0\hbox{${\mathaccent"0362{#1}}^H$}%
+ \setbox2\hbox{${\mathaccent"0362{\kern0pt#1}}^H$}%
+ \ifdim\ht0=\ht2 #3\else #2\fi
+ }
+ %The bar will be moved to the right by a half of \macc@kerna, which is computed by amsmath:
+ \newcommand*\rel@kern[1]{\kern#1\dimexpr\macc@kerna}
+ %If there's a superscript following the bar, then no negative kern may follow the bar;
+ %an additional {} makes sure that the superscript is high enough in this case:
+ \providecommand*\overbar{\relax}
+ \renewcommand*\overbar[1]{\@ifnextchar^{{\over@bar{#1}{0}}}{\over@bar{#1}{1}}}
+ %Use a separate algorithm for single symbols:
+ \newcommand*\over@bar[2]{\if@single{#1}{\over@bar@{#1}{#2}{1}}{\over@bar@{#1}{#2}{2}}}
+ \newcommand*\over@bar@[3]{%
+ \begingroup
+ \def\mathaccent##1##2{%
+ %Enable nesting of accents:
+ \let\mathaccent\save@mathaccent
+ %If there's more than a single symbol, use the first character instead (see below):
+ \if#32 \let\macc@nucleus\first@char \fi
+ %Determine the italic correction:
+ \setbox\z@\hbox{$\macc@style{\macc@nucleus}_{}$}%
+ \setbox\tw@\hbox{$\macc@style{\macc@nucleus}{}_{}$}%
+ \dimen@\wd\tw@
+ \advance\dimen@-\wd\z@
+ %Now \dimen@ is the italic correction of the symbol.
+ \divide\dimen@ 3
+ \@tempdima\wd\tw@
+ \advance\@tempdima-\scriptspace
+ %Now \@tempdima is the width of the symbol.
+ \divide\@tempdima 10
+ \advance\dimen@-\@tempdima
+ %Now \dimen@ = (italic correction / 3) - (Breite / 10)
+ \ifdim\dimen@>\z@ \dimen@0pt\fi
+ %The bar will be shortened in the case \dimen@<0 !
+ \rel@kern{0.6}\kern-\dimen@
+ \if#31
+ \overline{\rel@kern{-0.6}\kern\dimen@\macc@nucleus\rel@kern{0.4}\kern\dimen@}%
+ \advance\dimen@0.4\dimexpr\macc@kerna
+ %Place the combined final kern (-\dimen@) if it is >0 or if a superscript follows:
+ \let\final@kern#2%
+ \ifdim\dimen@<\z@ \let\final@kern1\fi
+ \if\final@kern1 \kern-\dimen@\fi
+ \else
+ \overline{\rel@kern{-0.6}\kern\dimen@#1}%
+ \fi
+ }%
+ \macc@depth\@ne
+ \let\math@bgroup\@empty \let\math@egroup\macc@set@skewchar
+ \mathsurround\z@ \frozen@everymath{\mathgroup\macc@group\relax}%
+ \macc@set@skewchar\relax
+ \let\mathaccentV\macc@nested@a
+ %The following initialises \macc@kerna and calls \mathaccent:
+ \if#31
+ \macc@nested@a\relax111{#1}%
+ \else
+ %If the argument consists of more than one symbol, and if the first token is
+ %a letter, use that letter for the computations:
+ \def\gobble@till@marker##1\endmarker{}%
+ \futurelet\first@char\gobble@till@marker#1\endmarker
+ \ifcat\noexpand\first@char A\else
+ \def\first@char{}%
+ \fi
+ \macc@nested@a\relax111{\first@char}%
+ \fi
+ \endgroup
+ }
+ \else
+ \@packinfo{Not loading Fix Typesetting}
+ \fi
+
+}
+
+
+\AtEndOfPackage{
\ifrecthy@noprioritytrees
\@packinfo{Not loading Priority Tree Helper}
\else
@@ -287,16 +371,104 @@
\else
\@packinfo{Loading subfun defs.}
%DOCUMENT ME
+ \newcommand{\@pnrelbar}{%
+ \linethickness{\dimen2}%
+ \sbox\z@{$\m@th\prec$}%
+ \dimen@=1.1\ht\z@
+ \begin{picture}(\dimen@,.4ex)
+ \roundcap
+ \put(0,.2ex){\line(1,0){\dimen@}}
+ \put(\dimexpr 0.5\dimen@-.2ex\relax,0){\line(1,1){.4ex}}
+ \end{picture}%
+}
+
+% \newcommand{\not@pnrelbar}{%
+% \linethickness{\dimen2}%
+% \sbox\z@{$\m@th\nprec$}%
+% \dimen@=1.1\ht\z@
+% \begin{picture}(\dimen@,.4ex)
+% \roundcap
+% \put(0,.2ex){\line(1,0){\dimen@}}
+% \put(\dimexpr 0.5\dimen@-.2ex\relax,0){\line(1,1){.4ex}}
+% \end{picture}%
+% }
+
+ \newcommand{\@snrelbar}{%
+ \linethickness{\dimen2}%
+ \sbox\z@{$\m@th\succ$}%
+ \dimen@=1.1\ht\z@
+ \begin{picture}(\dimen@,.4ex)
+ \roundcap
+ \put(0,.2ex){\line(1,0){\dimen@}}
+ \put(\dimexpr 0.5\dimen@-.2ex\relax,0){\line(1,1){.4ex}}
+ \end{picture}%
+}
+
+% \newcommand{\not@snrelbar}{%
+% \linethickness{\dimen2}%
+% \sbox\z@{$\m@th\nsucc$}%
+% \dimen@=1.1\ht\z@
+% \begin{picture}(\dimen@,.4ex)
+% \roundcap
+% \put(0,.2ex){\line(1,0){\dimen@}}
+% \put(\dimexpr 0.5\dimen@-.2ex\relax,0){\line(1,1){.4ex}}
+% \end{picture}%
+% }
+
+\newcommand{\@precneq}{\mathrel{\vcenter{\hbox{\text{\prec@neq}}}}}
+\newcommand{\prec@neq}{%
+ \dimen2=\f@size\dimexpr.04pt\relax
+ \oalign{%
+ \noalign{\kern\dimexpr.2ex-.5\dimen2\relax}
+ $\m@th\prec$\cr
+ \noalign{\kern-.5\dimen2}
+ \hidewidth\@pnrelbar\hidewidth\cr
+ }%
+}
+
+% \newcommand{\@nprecneq}{\mathrel{\vcenter{\hbox{\text{\nprec@neq}}}}}
+% \newcommand{\nprec@neq}{%
+% \dimen2=\f@size\dimexpr.04pt\relax
+% \oalign{%
+% \noalign{\kern\dimexpr.2ex-.5\dimen2\relax}
+% $\m@th\nprec$\cr
+% \noalign{\kern-.5\dimen2}
+% \hidewidth\not@pnrelbar\hidewidth\cr
+% }%
+% }
+
+\newcommand{\@succneq}{\mathrel{\vcenter{\hbox{\text{\succ@neq}}}}}
+\newcommand{\succ@neq}{%
+ \dimen2=\f@size\dimexpr.04pt\relax
+ \oalign{%
+ \noalign{\kern\dimexpr.2ex-.5\dimen2\relax}
+ $\m@th\prec$\cr
+ \noalign{\kern-.5\dimen2}
+ \hidewidth\@snrelbar\hidewidth\cr
+ }%
+}
+
+% \newcommand{\@nsuccneq}{\mathrel{\vcenter{\hbox{\text{\nsucc@neq}}}}}
+% \newcommand{\nsucc@neq}{%
+% \dimen2=\f@size\dimexpr.04pt\relax
+% \oalign{%
+% \noalign{\kern\dimexpr.2ex-.5\dimen2\relax}
+% $\m@th\nprec$\cr
+% \noalign{\kern-.5\dimen2}
+% \hidewidth\not@snrelbar\hidewidth\cr
+% }%
+% }
+
\NewDocumentCommand{\subfun}{o}{\prec\IfNoValueTF{#1}{}{_{#1}}}
\NewDocumentCommand{\supfun}{o}{\succ\IfNoValueTF{#1}{}{_{#1}}}
\NewDocumentCommand{\nsubfun}{o}{\nprec\IfNoValueTF{#1}{}{_{#1}}}
\NewDocumentCommand{\nsupfun}{o}{\nsucc\IfNoValueTF{#1}{}{_{#1}}}
\NewDocumentCommand{\subfuneq}{o}{\preceq\IfNoValueTF{#1}{}{_{#1}}}
+ \NewDocumentCommand{\subfunneq}{o}{\@precneq\IfNoValueTF{#1}{}{_{#1}}}
\NewDocumentCommand{\supfuneq}{o}{\succeq\IfNoValueTF{#1}{}{_{#1}}}
+ \NewDocumentCommand{\supfunneq}{o}{\@succneq\IfNoValueTF{#1}{}{_{#1}}}
\NewDocumentCommand{\nsubfuneq}{o}{\npreceq\IfNoValueTF{#1}{}{_{#1}}}
\NewDocumentCommand{\nsupfuneq}{o}{\nsucceq\IfNoValueTF{#1}{}{_{#1}}}
- \NewDocumentCommand{\subfunneq}{o}{\precneq\IfNoValueTF{#1}{}{_{#1}}}
- \NewDocumentCommand{\supfunneq}{o}{\succneq\IfNoValueTF{#1}{}{_{#1}}}
\fi
}
@@ -449,7 +621,8 @@
\fi
}
-\newcommand*{\@recthy@abs}[1]{\lvert#1\rvert}
+% \newcommand*{\@recthy@abs}[1]{\lvert#1\rvert}
+\DeclarePairedDelimiter\@recthy@abs{\lvert}{\rvert}
\newcommand*{\@recthy@ensuretext}[1]{\ensuremath{\text{#1}}}
\AtEndOfPackage{
\ifrecthy@nomath
@@ -466,7 +639,8 @@
\else
\DeclareMathOperator{\Ord}{Ord}
\fi
-
+ \DeclarePairedDelimiter\ceil{\lceil}{\rceil}
+ \DeclarePairedDelimiter\floor{\lfloor}{\rfloor}
\recthy@strip{abs}
\ifdefined\dom
@@ -480,17 +654,40 @@
\providecommand*{\restr}[1]{\mathpunct{\restriction_{#1}}}
\providecommand*{\ordpair}[2]{\left( #1, #2 \right) }
%%%%%%%%Function commands
- \providecommand*{\map}[2]{:#1\mapsto #2}
- \providecommand*{\functo}[3]{#1\map{#2}{#3}}
+ \let\recthy@rollback@threeTwo@threeOne@REA@mathsave=\recthy@rollback@threeTwo@threeOne@REA
+ \renewcommand*{\recthy@rollback@threeTwo@threeOne@REA}{
+ \providecommand*{\map}[2]{:#1\mapsto #2}
+ \providecommand*{\functo}[3]{#1\map{#2}{#3}}
+ \ifdefined\funcomp
+ \else
+ \let\funcomp=\compfunc
+ \fi
+ \recthy@rollback@threeTwo@threeOne@REA@mathsave
+ }
+
\providecommand*{\compfunc}{\mathbin{\circ}}
\ifdefined\compose
\else
\let\compose=\compfunc
\fi
- \ifdefined\funcomp
- \else
- \let\funcomp=\compfunc
- \fi
+ \ltx@ifpackageloaded{unicode-math}{
+ \newcommand{\pmapsto}{\mathrel{\nvrightarrow}}
+ \newcommand{\pmapsfrom}{\mathrel{\nvleftarrow}}
+ }{
+ % \newcommand{\pmapsto}{}% just for safety
+ % \newcommand{\pmapsfrom}{}% just for safety
+
+ \DeclareRobustCommand{\pmapsto}{\mathrel{\mathpalette\p@to@gets\to}}
+ \DeclareRobustCommand{\pmapsfrom}{\mathrel{\mathpalette\p@to@gets\gets}}
+
+ \newcommand{\p@to@gets}[2]{%
+ \ooalign{\hidewidth$\m@th#1\mapstochar\mkern5mu$\hidewidth\cr$\m@th#1\to$\cr}%
+ }
+ }
+ \newcommand{\fpmapsto}{\mathrel{\pmapsto_{< \infty}}}
+ \newcommand{\fpmapsfrom}{\mathrel{\pmapsfrom_{< \infty}}}
+ \newcommand{\ParFuncs}[2]{{#2}^{\subset #1}}
+ \newcommand{\FinParFuncs}[2]{{#2}^{\subset_{< \infty} #1}}
\recthy@strip{ensuretext}
\fi
}
@@ -571,10 +768,16 @@
\newcommand*{\@recthy@Computable}{\@recthy@ensuretext{Computable}}
\newcommand*{\@recthy@RecursivelyEnumerable}{\@recthy@ensuretext{Recursively enumerable}}
\newcommand*{\@recthy@ComputablyEnumerable}{\@recthy@ensuretext{Computably enumerable}}
-\newcommand*{\@recthy@REA}{\ensuremath{\text{REA}}}
-\WithSuffix\def\@recthy@REA[#1]{#1-\@recthy@REA\relax}
-\newcommand*{\@recthy@CEA}{\ensuremath{\text{CEA}}}
-\WithSuffix\def\@recthy@CEA[#1]{#1-\@recthy@CEA\relax}
+\def\@recthy@REA{REA}
+\def\@recthy@CEA{CEA}
+
+\NewDocumentCommand{\REA}{d()o}{\ensuremath{\IfValueTF{#2}{#2-}{}\text{\@recthy@REA}\IfValueTF{#1}{[#1]}{}}}
+\NewDocumentCommand{\CEA}{d()o}{\ensuremath{\IfValueTF{#2}{#2-}{}\text{\@recthy@CEA}\IfValueTF{#1}{[#1]}{}}}
+
+% \newcommand*{\@recthy@REA}{\ensuremath{\text{REA}}}
+% \WithSuffix\def\@recthy@REA[#1]{#1-\@recthy@REA\relax}
+% \newcommand*{\@recthy@CEA}{\ensuremath{\text{CEA}}}
+% \WithSuffix\def\@recthy@CEA[#1]{#1-\@recthy@CEA\relax}
\DeclareOptionX{reterms}{%
\let\@recthy@ce=\@recthy@re
@@ -597,9 +800,7 @@
\DeclareOptionX{ceaterms}{%
\let\@recthy@REA=\@recthy@CEA
}
-\DeclareOptionX{reaterms}{%
- \let\@recthy@CEA=\@recthy@REA
- }
+
@@ -614,8 +815,6 @@
\recthy@strip{CE}
\recthy@strip{Re}
\recthy@strip{Ce}
- \recthy@strip{REA}
- \recthy@strip{CEA}
\recthy@strip{recursive}
\recthy@strip{computable}
\recthy@strip{recursivelyEnumerable}
@@ -632,7 +831,7 @@
-\NewDocumentCommand{\@recthy@set}{mg}{\left \{ #1 \IfNoValueTF{#2}{}{\middle | #2} \right \}}
+\NewDocumentCommand{\@recthy@set}{mg}{\left \{ #1 \IfNoValueTF{#2}{}{\mid #2} \right \}}
% \def\@recthy@set#1{\def\@set@argi@pmg{#1}\@ifnextchar\bgroup\@setst@pmg\@setplain@pmg}
% \newcommand*{\@setst@pmg}[1]{\ifthenelse{\isempty{#1}}{\@setplain@pmg}{\left \{ \@set@argi@pmg \middle | #1\right \}}}
@@ -652,6 +851,7 @@
% \newcommand*{\@recthy@setcmpminusSYM}{\backsim}
% \newcommand*{\@recthy@setminuscmp}[1]{\mathop{\@recthy@setcmpminusSYM} #1}
\newcommand*{\@recthy@setovercmp}[1]{\overline{#1}}
+\newcommand*{\@recthy@setsimcmp}[1]{\backsim #1}
\let\@recthy@setcmp=\@recthy@setovercmp
\def\@recthy@setdiffSYM{-}
\newcommand*{\@recthy@setdiff}{\mathbin{\@recthy@setdiffSYM}}
@@ -663,7 +863,7 @@
\AtEndOfPackage{
-\WithSuffix\def\@recthy@setcmp[#1]#2{#1\@recthy@setminus#2}
+% \WithSuffix\def\@recthy@setcmp[#1]#2{#1\@recthy@setminus#2}
\ifrecthy@nosets
\@packinfo{No set cmds loading.}
\else
@@ -715,6 +915,8 @@
\newcommand*{\nforall@recthy}{\nforall@orig@recthy}
\newcommand*{\existsuniq}{\exists@orig@recthy !}
\newcommand*{\nexistsuniq}{\nexists@orig@recthy !}
+
+ \NewDocumentCommand{\axset}{D<>{}d()O{}d()}
\WithSuffix\def\existsuniq(#1){\left(\existsuniq #1 \right)\!}
\WithSuffix\def\nexistsuniq(#1){\left(\nexistsuniq #1 \right)\!}
\WithSuffix\def\existsuniq[#1]{\left[\existsuniq #1 \right]\!}
@@ -943,27 +1145,44 @@
\else
\@packinfo{ordinal notations loading.}
-\providecommand*{\wck}{\ensuremath{\omega^{ck}_1}}
+\providecommand*{\wck}{\ensuremath{\omega^{\mathrm{CK}}_1}}
% \newcommand*{\ordtype}[1]{\ensuremath{\@recthy@abs{#1}_{\kleeneO}}}
\newcommand*{\ordzero}{\ensuremath{0}}
\def\kleeneOSYM{\mathcal{O}}
- \newcommand*{\kleeneO}{\let\@PMG@parenarg\@PMG@undefined\let\@PMG@braketarg\@PMG@undefined\@kleeneObody}
- \newcommand*{\@kleeneObody}{\kleeneOSYM\ifdefined\@PMG@parenarg
- ^{\@PMG@parenarg}%
- \fi%
- \ifdefined\@PMG@braketarg
- _{\abs{\@PMG@braketarg}}%
- \fi}
- \WithSuffix\def\@kleeneObody(#1){\def\@PMG@parenarg{#1}\@kleeneObody}
- \WithSuffix\def\@kleeneObody[#1]{\def\@PMG@braketarg{#1}\@kleeneObody}
- \WithSuffix\def\@kleeneObody*{\def\kleeneOSYM{\overline{\mathcal{O}}}\@kleeneObody}
-
-\newcommand*{\kleeneObelow}[2][]{\kleeneOSYM_{<#2\ifthenelse{\isempty{#1}}{}{, #1}}}
-\let\kleeneOless\kleeneObelow
+ \NewDocumentCommand{\kleeneO}{sD(){}oD(){}}{{
+ \kleeneOSYM^{#2#4}_{%
+ \IfNoValueTF{#1}{%
+ \IfNoValueTF{#3}{}{%
+ \abs{#3}}%
+ }%
+ {%
+ 1%
+ \IfNoValueTF{#3}{}{%
+ , \abs{#3}
+ }%
+ }%
+ }%
+ }}
+ % \newcommand*{\kleeneO}{\let\@PMG@parenarg\@PMG@undefined\let\@PMG@braketarg\@PMG@undefined\@kleeneObody}
+ % \newcommand*{\@kleeneObody}{\kleeneOSYM\ifdefined\@PMG@parenarg
+ % ^{\@PMG@parenarg}%
+ % \fi%
+ % \ifdefined\@PMG@braketarg
+ % _{\abs{\@PMG@braketarg}}%
+ % \fi}
+ % \WithSuffix\def\@kleeneObody(#1){\def\@PMG@parenarg{#1}\@kleeneObody}
+ % \WithSuffix\def\@kleeneObody[#1]{\def\@PMG@braketarg{#1}\@kleeneObody}
+ % \WithSuffix\def\@kleeneObody*{\def\kleeneOSYM{\mathcal{O}}\@kleeneObody}
+
+% \newcommand*{\kleeneObelow}[2][]{\kleeneOSYM_{<#2\ifthenelse{\isempty{#1}}{}{, #1}}}
+% \let\kleeneOless\kleeneObelow
\newcommand*{\kleeneOuniq}{\kleeneO*}
\let\ordNotations=\kleeneO
\let\uniqOrdNotations=\kleeneOuniq
+ \newcommand*{\kleeneNum}[1]{{#1}_{\kleeneO}}
+ \newcommand*{\kleeneZero}{\kleeneNum{0}}
+ \newcommand*{\kleeneOne}{\kleeneNum{1}}
\NewDocumentCommand{\kleeneless}{o}{<_{\kleeneO\IfNoValueTF{#1}{}{,#1}}}
\let\kleenel=\kleeneless
\NewDocumentCommand{\kleeneleq}{o}{\leq_{\kleeneO\IfNoValueTF{#1}{}{,#1}}}
@@ -979,7 +1198,8 @@
\newcommand*{\kleenePlus}{\mathbin{+_{\kleeneO}}}
\newcommand*{\kleeneMul}{\cdot_{\kleeneO}}
\newcommand*{\kleenehgt}[1]{\lVert #1\rVert_{\kleeneO}}
- \let\hgtO=\kleenehgt
+ \let\kleeneHgt=\kleenehgt
+ % \let\hgtO=\kleenehgt
\newcommand*{\kleenelim}[2]{{#1}_{[#2]}}
\newcommand*{\kleenepred}[1]{{#1}^{-}}
@@ -1518,7 +1738,7 @@
\NewDocumentCommand{\nconv}{O{}}{\mathpunct{\mkern-4mu{\smallsetminus\mkern 4mu \downarrow}_{#1}}}
\newcommand*{\diverge}{\mathpunct{\uparrow}}
% \newcommand*{\use}[2]{\mathscr{u}(#1\ifthenelse{\isempty{#2}}{}{,#2})}
- \newcommand*{\use}[1]{\mathop{\@recthy@useSYM}[#1]}
+ \newcommand*{\use}[1]{\mathop{\@recthy@useSYM}\left[#1\right]}
% \newcommand*{\use}[1]{\ltx@ifpackageloaded{unicode-math}{\symbffrak{u}}{\mathfrak{u}}\left(#1\right)}
% \NewDocumentCommand{\REset}{omd()}{
% W_{#2\IfNoValueTF{#1}{}{, #1}}\IfNoValueTF{#3}{}{^{#3}}
@@ -1535,12 +1755,28 @@
\fi}
\WithSuffix\def\@REsetbody(#1){\def\@PMG@parenarg{#1}\@REsetbody}
\WithSuffix\def\@REsetbody[#1]{\def\@PMG@braketarg{#1}\@REsetbody}
- \newcommand*{\alphaREAop}[2][]{\mathcal{J}^{#2}_{#1}}
- \let\aREAop=\alphaREAop
- \let\reaop=\alphaREAop
- \newcommand*{\oneREAop}[1]{J_{#1}}
+ \NewDocumentCommand{\REAop}{st+d()od()mm}{{\IfBooleanTF{#1}{\mathcal{J}}{\widehat{\mathcal{J}}}}^{\IfBooleanTF{#1}{\vphantom{x}^\dagger}{}#7}_{#6\IfValueTF{#4}{, #4}{}} \IfValueTF{#3}{\left(#3\right)}{\IfValueTF{#5}{\left(#5\right)}{}}}
+ \NewDocumentCommand{\oneREAop}{st+d()od()m}{{\IfBooleanTF{#1}{\mathcal{J}}{\widehat{\mathcal{J}}}}^{\IfBooleanTF{#1}{\vphantom{x}^\dagger}{}}_{#6\IfValueTF{#4}{, #4}{}} \IfValueTF{#3}{\left(#3\right)}{\IfValueTF{#5}{\left(#5\right)}{}}}
\let\iREAop=\oneREAop
- \WithSuffix\def\reaop*#1{\oneREAop{#1}}
+
+ \newcommand*{\entersat}[1]{\mathbin{\searrow_{#1}}}
+
+
+ % \newcommand*{\alphaREAop}[2][]{\mathcal{J}^{#2}_{#1}}
+ \let\recthy@rollback@threeTwo@threeOne@REA@computationssave=\recthy@rollback@threeTwo@threeOne@REA
+ \renewcommand*{\recthy@rollback@threeTwo@threeOne@REA}{
+ \let\reaop=\REAop
+ \let\alphaREAop=\REAop
+ \let\aREAop=\alphaREAop
+ \recthy@rollback@threeTwo@threeOne@REA@computationssave
+ }
+
+
+
+
+ % \newcommand*{\oneREAop}[1]{J_{#1}}
+ % \let\iREAop=\oneREAop
+ % \WithSuffix\def\reaop*#1{\oneREAop{#1}}
%converges
\fi