texlive[55238] Master/texmf-dist: rec-thy (22may20)

commits+karl at tug.org commits+karl at tug.org
Fri May 22 22:50:00 CEST 2020


Revision: 55238
          http://tug.org/svn/texlive?view=revision&revision=55238
Author:   karl
Date:     2020-05-22 22:49:59 +0200 (Fri, 22 May 2020)
Log Message:
-----------
rec-thy (22may20)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/rec-thy/README
    trunk/Master/texmf-dist/doc/latex/rec-thy/rec-thy.pdf
    trunk/Master/texmf-dist/doc/latex/rec-thy/rec-thy.tex
    trunk/Master/texmf-dist/tex/latex/rec-thy/rec-thy.sty

Modified: trunk/Master/texmf-dist/doc/latex/rec-thy/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/rec-thy/README	2020-05-22 20:49:42 UTC (rev 55237)
+++ trunk/Master/texmf-dist/doc/latex/rec-thy/README	2020-05-22 20:49:59 UTC (rev 55238)
@@ -27,4 +27,11 @@
 11/14/2017 - v2.2 - Fixed \Tdeg so it works different on symbols and vars and added \Tdegof and \Tvarof.  Added \subfunneq and \supfunneq.
 12/31/2017 - v2.3 - Added proof cases helper. Also fixed the issue with \ncequiv in XeLaTeX
 1/17/2018 - v2.4 - Added priority tree helpers.  Should be more robust with respect to existing definitions of common commands
-2/14/2018 - v2.4.1 - Moved to using xparse to define the case macros and several other macros to allow nested brackets for optional arguments.  Added the recf command and cleaned up some option processing. Also worked around the mathtools/unicode-math font bug described here: https://tex.stackexchange.com/questions/335164/incompatibility-with-mathtools-and-unicode-math-in-xelatex/335177
\ No newline at end of file
+2/14/2018 - v2.4.1 - Moved to using xparse to define the case macros and several other macros to allow nested brackets for optional arguments.  Added the recf command and cleaned up some option processing. Also worked around the mathtools/unicode-math font bug described here: https://tex.stackexchange.com/questions/335164/incompatibility-with-mathtools-and-unicode-math-in-xelatex/335177
+11/29/2018 - v2.4.2 - Fixed horrible bugs introduced in last version and fixed many symbols to work even in pdflatex mode.  Also things are compiling again.
+11/29/2018 - v2.4.3 - Rendered compatible with beamer by removing enumitem requirement if beamer is loaded.
+02/16/2019 - v3.0 - Added requirements environment for multiple requirements.  Changed the \req and \require commands to take their optional argument after the first mandatory arguments as well as before.  Added the commands \module and \modof.  Added operator \xor.  Fixed corner quotes.  Added \leftofeq, \rightof, \rightofeq.  Added \RE, \CE, \Ce, \Re and \Tincompat, \Tincomp, \Tcompat.  Changed the way strings are symbolized and coded.  Fixed commands to work even with unicode-math.  Also added \require* inside \requirements. Added \nleftofeq, \nrightof, \nrightofeq, \nleftof.  Commands \ancestor, \descendant, etc... and \reqof, \Astages and \Vstages now require the option suppPriorityTrees be passed to the class to use and should be viewed as depreciated.  Fixed the options system so different symbols can be correctly passed to the class.  
+02/17/2019 - v3.01 - Fixed \RE \CE \Re and \Ce for the various capitalized versions.  Fixed weird bug with recfnl not printing.  Removed \interior and \closure as not really appropriate commands for the package and having bugs.  Also fixed package to indicate correct version.
+02/26/2019 - v3.1 - Fixed \wck to use roman capital CK.
+??         - v3.2 Removed \reaop, \alphaREAop, \aREAop in favor of using the single form \REAop.  Removed \functo, \map and funcomp, \hgtO as useless synonyms and removed \KleeneOBelow and KleeneOLess as beyond what the package should define. Added package option compat31 to ensure package compatibility with version 3.1.  An optional parentheses delimited argument specifying the base has been added to  \REAop.  Both \REAop and the pair \REA/\CEA have been updated to ignore order of optional arguments.  The square brackets used to delimit the argument to the use command are now auto-sized.  Added \pmapsto, \pmapsfrom, \kleeneZero, \kleeneNum, \entersat.  Also Misc typesetting fixes. 
+05/08/2020 - v3.3 Fixed/added tweak to overline so it looks correct.  Also added real symbols so that \subfunneq and \supfunneq can be defined appropriately.  Fixed incorrect use of tiny in math mode.

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

Modified: trunk/Master/texmf-dist/doc/latex/rec-thy/rec-thy.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/rec-thy/rec-thy.tex	2020-05-22 20:49:42 UTC (rev 55237)
+++ trunk/Master/texmf-dist/doc/latex/rec-thy/rec-thy.tex	2020-05-22 20:49:59 UTC (rev 55238)
@@ -1,10 +1,3 @@
-%
-%  untitled
-%
-%  Created by Peter M. Gerdes on 2010-10-14.
-%  Copyright (c) 2010 . All rights reserved.
-%
-
 \documentclass[leqno,11pt]{amsart}
 \usepackage{amsmath}
 % \RequirePackage{amsmath}
@@ -18,8 +11,10 @@
 \usepackage{comment}
 \usepackage{unicode-math}
 \unimathsetup{math-style=TeX,bold-style=TeX,nabla=upright,partial=italic}
-\setmathfont{xits-math.otf}
-\setmathfont{xits-math.otf}[range={cal,bfcal},StylisticSet=1]
+    \setmainfont{XITS}
+    \setmathfont{XITS Math}
+    \setmathfont{XITS Math}[range={\mathscr,\mathbfscr}]
+    \setmathfont{XITS Math}[range={\mathcal,\mathbfcal},StylisticSet=1]
 
 
 \usepackage{hyperxmp}
@@ -86,7 +81,7 @@
 
 \title{The rec-thy Package}
 \author{Peter M. Gerdes (gerdes at invariant.org)}
-\date{\today: Version 2.4}
+\date{05/20/2020: Version \recthyVersion}
 
 \begin{document}
 
@@ -203,10 +198,10 @@
 	 \verb=\REset(X){e}=                                    & \( 	\REset(X){e}                          	   \)   & \\[6pt]
 	 \verb=\REset[s](X){e}=                                 & \( 	\REset[s](X){e}                       	   \)   & \\ \midrule
 	\verb=\iREAop{e}(\eset)=                               & \multirow{2}{*}{\( 	\iREAop{e}(\eset)                     	   \)}   &\multirow{2}{*}{1-REA operator} \\
-	\tab \verb=\reaop*{e}(\eset)=                               &    & \\ \midrule
-	\verb=\alphaREAop{\alpha}(\eset)=                      & \multirow{2}{*}{\( 	\alphaREAop{\alpha}(\eset)            	   \)}   &\multirow{2}{*}{\( \alpha \)-REA operator} \\[6pt]
-	\tab \verb=\reaop{\alpha}(\eset)=                           &    & \\[6pt]
-	\verb=\alphaREAop[f]{\alpha}(\eset)=                   & \multirow{2}{*}{\( 	\alphaREAop[f]{\alpha}(\eset)         	   \)}   & \multirow{2}{*}{with particular witness to uniformity}\\[6pt]
+	\tab \verb=\oneREAop{e}(\eset)=                               &    & \\ \midrule
+	% \verb=\alphaREAop{\alpha}(\eset)=                      & \multirow{2}{*}{\( 	\alphaREAop{\alpha}(\eset)            	   \)}   &\multirow{2}{*}{\( \alpha \)-REA operator} \\[6pt]
+	\verb=\REAop{e}{\alpha}=                           &  \( \REAop{e}{\alpha} \)  & \\[6pt]
+	% \verb=\alphaREAop[f]{\alpha}(\eset)=                   & \multirow{2}{*}{\( 	\alphaREAop[f]{\alpha}(\eset)         	   \)}   & \multirow{2}{*}{with particular witness to uniformity}\\[6pt]
 	\tab \verb=\reaop[f]{\alpha}(\eset)=                        &  & \\
 		\bottomrule
 	\end{xtabular}          \\
@@ -252,7 +247,7 @@
 	\verb=\TPlus_{i \in \omega} X_i=                       & \multirow{2}{*}{\( 	\TPlus_{i \in \omega} X_i            \)}   & \\
 	\tab \verb=\TJoin_{i \in \omega} X_i=                       &    & \\ \midrule
 	% \verb=\ttSYM=                                          & \( 	\ttSYM                                	   \)   & \\ \midrule
-	\verb=X \ttlneq Y=                                     & \( 	X \ttlneq Y                           	   \)   & Truth table reducibilities\\ \midrule
+	\verb=X \ttlneq Y=                                     & \( 	X \ttlneq Y                           	   \)   & Truth table reproducibilities\\ \midrule
 	\verb=X \ttleq  Y=                                     & \( 	X \ttleq  Y                           	   \)   & \\ \midrule
 	\verb=X \ttgneq Y=                                     & \( 	X \ttgneq Y                           	   \)   & \\ \midrule
 	\verb=X \ttgeq  Y=                                     & \( 	X \ttgeq  Y                           	   \)   & \\ \midrule
@@ -335,11 +330,17 @@
 	\verb=\rng= 					& \( \rng \) & Range\\ \midrule
 	\verb=f\restr{X}= 				& \( f\restr{X} \) & Restriction\\ \midrule
 	\verb=\ordpair{x}{y}= 				& \( \ordpair{x}{y} \)& Ordered Pair\\ \midrule
-	\verb=f\map{X}{Y}= 				& \( f\map{X}{Y} \) & \multirow{2}{*}{Function specification} \\
-	\verb=\functo{f}{X}{Y}= 			& \( \functo{f}{X}{Y} \) &\\ \midrule
-	\verb=f \compfunc g=		       		& \multirow{3}{*}{\( f \compose g \)} & \multirow{3}{*}{Function composition}\\
-	\tab \verb=f \funcomp g=	            		& &\\
+	% \verb=f\map{X}{Y}= 				& \( f\map{X}{Y} \) & \multirow{2}{*}{Function specification} \\
+	% \verb=\functo{f}{X}{Y}= 			& \( \functo{f}{X}{Y} \) &\\ \midrule
+	\verb=f \compfunc g=		       		& \multirow{2}{*}{\( f \compose g \)} & \multirow{3}{*}{Function composition}\\
+	% \tab \verb=f \funcomp g=	            		& &\\
 	\tab \verb=f \compose g=	            		& &\\ \midrule
+	\verb=f: X \pmapsto Y= 					& \( f: X \pmapsto Y \) & partial function from \( X \) to \( Y \). \\ \midrule
+	\verb=f: Y \pmapsfrom X= 					& \( f: Y \pmapsfrom X \) & partial function from \( X \) to \( Y \). \\ \midrule
+	\verb=f: X \fpmapsto Y= 					& \( f: X \fpmapsto Y \) & finite partial function from \( X \) to \( Y \). \\ \midrule
+	\verb=f: Y \fpmapsfrom X= 					& \( f: Y \fpmapsfrom X \) & finite partial function from \( X \) to \( Y \). \\ \midrule
+	\verb=\ParFuncs{X}{Y}=						& \( \ParFuncs{X}{Y} \) & set of partial functions from \( X \) to \( Y \). \\ \midrule
+	\verb=\FinParFuncs{X}{Y}=						& \( \FinParFuncs{X}{Y} \) & set of finite partial functions from \( X \) to \( Y \). \\ \midrule
 	\verb=\( \ensuretext{blah} \)=	           	& \multirow{2}{*}{\( \ensuretext{blah} \)}& \multirow{2}{*}{Types argument in text mode} \\
 	\tab \verb=\ensuretext{blah}=			& & \\
 	\bottomrule
@@ -488,7 +489,9 @@
 	\verb=f \nsubfun g=		       & \( f \nsubfun g \) & \\	\midrule
 \verb=f \nsupfun g=		       & \( f \nsupfun g \) & \\	\midrule
 	\verb=f \subfuneq g=		       & \( f \subfuneq g \) & \\	\midrule
+		\verb=f \subfunneq g=		       & \( f \subfunneq g \) & \\	\midrule
 	\verb=f \supfuneq g=		       & \( f \supfuneq g \) &  \\ 	\midrule
+		\verb=f \supfunneq g=		       & \( f \supfunneq g \) &  \\ 	\midrule
 	\verb=f \nsubfuneq g=		       & \( f \nsubfuneq g \) & \\	\midrule
 \verb=f \nsupfuneq g=		       & \( f \nsupfuneq g \) & \\	\midrule
 		\bottomrule
@@ -549,8 +552,8 @@
 	\verb=\alpha \kleeneMul  \beta=        & \( 	\alpha \kleeneMul  \beta   \)                          & Effective multiplication of notations \\  \midrule
 	\verb=\kleenelim{\lambda}{n}=          & \( 	\kleenelim{\lambda}{n}     \)                          & The \( n \)-th element in effective limit defining notation \( \lambda \)\\  \midrule
         \verb=\kleenepred{\alpha}=             & \(  \kleenepred{\alpha}          \)                          & Predecessor of \( \alpha \) if defined \\ \midrule
-	\verb=\kleenehgt{R}=                   & \multirow{2}{*}{\( 	\kleenehgt{R}              \)}        & Heigh of computable relation \( R \) \\
-\tab	\verb=\hgtO{R}=                        & & \\
+	\verb=\kleenehgt{R}=                   & \( 	\kleenehgt{R}              \)        & Height of computable relation \( R \) \\
+% \tab	\verb=\hgtO{R}=                        & & \\
 		\bottomrule
 	\end{tabular}
 
@@ -678,7 +681,12 @@
 
 \section{Release Notes}
 
+
+% TESTING: \verb=\fpmapsto=, \verb=\fpmapsfrom=, \verb=\ParFuncs{Y}{X}= and \verb=\FinParFuncs{Y}{X}=
 \begin{itemize}
+	\item[3.3]  - Fixed/added tweak to overline so it looks correct.  Also added real symbols so that \verb=\subfunneq= and \verb=\supfunneq= can be defined appropriately.  Added \verb=\floor= and \verb=\ceil=.  Note these aren't yet shown off in package doc.  Fixed incorrect use of tiny in math mode.
+	\item[3.2]	- Removed \verb=\reaop=, \verb=\alphaREAop=, \verb=\aREAop= in favor of using the single form \verb=\REAop=.  Removed \verb=\functo=, \verb=\map= and \verb=funcomp=, \verb=\hgtO= as useless synonyms and removed \verb=\KleeneOBelow= and \verb=KleeneOLess= as beyond what the package should define. Added package option compat31 to ensure package compatibility with version 3.1.  An optional parentheses delimited argument specifying the base has been added to  \verb=\REAop=.  Both \verb=\REAop= and the pair \verb=\REA=/\verb=\CEA= have been updated to ignore order of optional arguments.  The square brackets used to delimit the argument to the use command are now auto-sized.  Added \verb=\pmapsto=, \verb=\pmapsfrom=, \verb=\kleeneZero=, \verb=\kleeneNum=, \verb=\entersat=.  Also Misc typesetting fixes.  
+	\item[3.1]  02/26/2019 - Fixed \verb=\wck= to be \( \wck \), i.e., have capitalized roman CK.
 	\item[3.01] 02/17/2019 - Fixed \verb=\RE= \verb=\CE= \verb=\Re= and \verb=\Ce= for the various capitalized versions.  Fixed weird bug with \verb=\recfnl= no longer working based on let.  Removed \verb=\interior= and \\verb=\closure= as not really appropriate commands for the package and having bugs.  Also fixed package to have correct version.
 	\item[3.0] 02/16/2019 - Added requirements environment for multiple requirements.  Changed the \verb=\req= and \verb=\require= commands to take their optional argument after the first mandatory arguments as well as before.  Added the commands \verb=\module= and \verb=\modof= and \verb=\xor=.  Improved the corner quotes. Added \verb=\leftofeq=, \verb=\rightof=, \verb=\rightofeq=.  Added \verb=\RE=, \verb=\CE=, \verb=\Ce=, \verb=\Re= and  \verb=\Tincompat=, \verb=\Tincomp=, \verb=\Tcompat=.  Changed the way strings are symbolized and coded.  Fixed suffix commands to work with unicode-math.  Also added \verb=\require*= inside \verb=\requirements=. Added \verb=\nleftofeq=, \verb=\nrightof=, \verb=\nrightofeq=, \verb=\nleftof=.  The commands \verb=\ancestor=, \verb=\descendant= etc... \verb=\reqof=, \verb=\Astages= and \verb=\Vstages=now require the option suppPriorityTrees be passed to the class to use and should be viewed as depreciated.  Fixed the options system so different symbols can be correctly passed to the class.    Changed the way \verb=\recf= works to comply with the usual syntax.
 	\item[2.4.3] 11/29/2018 - Rendered compatible with beamer by removing enumitem requirement if beamer is loaded.

Modified: trunk/Master/texmf-dist/tex/latex/rec-thy/rec-thy.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/rec-thy/rec-thy.sty	2020-05-22 20:49:42 UTC (rev 55237)
+++ trunk/Master/texmf-dist/tex/latex/rec-thy/rec-thy.sty	2020-05-22 20:49:59 UTC (rev 55238)
@@ -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 at 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 at nosuppprioritytrees \recthy at nosuppprioritytreestrue
 \newif\ifrecthy at hyperreqs \recthy at hyperreqstrue
 \newif\ifrecthy at nooperators \recthy at nooperatorsfalse
+\newif\ifrecthy at fix@typeset \recthy at fix@typesettrue
 %\newif\ifrecthy at nomodule \recthy at nomodulefalse
 
 \DeclareOptionX{nohyphenation}{\recthy at nohyphenationtrue}
@@ -131,6 +132,11 @@
 \DeclareOptionX{suppPriorityTrees}{\recthy at nosuppprioritytreesfalse}
 \DeclareOptionX{nohyperreqs}{\recthy at hyperreqsfalse}
 \DeclareOptionX{nooperators}{\recthy at nooperatorstrue}
+\DeclareOptionX{compat31}{\recthy at compat@threeOne}
+\DeclareOptionX{nofixtype}{\ifrecthy at fix@typesetfalse}
+
+\newcommand*{\recthy at compat@threeOne}{\recthy at rollback@threeTwo at threeOne@REA}
+\newcommand*{\recthy at rollback@threeTwo at threeOne@REA}{}
 %\DeclareOptionX{nomodule}{\recthy at nomoduletrue}
 
 \DeclareOptionX{degjoin}{\def\Tjoin{\Tdegjoin}}
@@ -143,6 +149,84 @@
 \DeclareOptionX{ballsymb}[@recthy at ballsymb@default]{\letcs{\@recthy at ballsymb}{#1}}
 
 \AtEndOfPackage{
+    \ifrecthy at fix@typeset
+        %Defining \overbar
+        \let\save at mathaccent\mathaccent
+    \newcommand*\if at 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 at kerna, which is computed by amsmath:
+    \newcommand*\rel at kern[1]{\kern#1\dimexpr\macc at 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 at bar{#1}{0}}}{\over at bar{#1}{1}}}
+    %Use a separate algorithm for single symbols:
+    \newcommand*\over at bar[2]{\if at single{#1}{\over at bar@{#1}{#2}{1}}{\over at bar@{#1}{#2}{2}}}
+    \newcommand*\over at bar@[3]{%
+      \begingroup
+      \def\mathaccent##1##2{%
+    %Enable nesting of accents:
+        \let\mathaccent\save at mathaccent
+    %If there's more than a single symbol, use the first character instead (see below):
+        \if#32 \let\macc at nucleus\first at char \fi
+    %Determine the italic correction:
+        \setbox\z@\hbox{$\macc at style{\macc at nucleus}_{}$}%
+        \setbox\tw@\hbox{$\macc at style{\macc at nucleus}{}_{}$}%
+        \dimen@\wd\tw@
+        \advance\dimen at -\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 at -\@tempdima
+    %Now \dimen@ = (italic correction / 3) - (Breite / 10)
+        \ifdim\dimen@>\z@ \dimen at 0pt\fi
+    %The bar will be shortened in the case \dimen@<0 !
+        \rel at kern{0.6}\kern-\dimen@
+        \if#31
+          \overline{\rel at kern{-0.6}\kern\dimen@\macc at nucleus\rel at kern{0.4}\kern\dimen@}%
+          \advance\dimen at 0.4\dimexpr\macc at kerna
+    %Place the combined final kern (-\dimen@) if it is >0 or if a superscript follows:
+          \let\final at kern#2%
+          \ifdim\dimen@<\z@ \let\final at kern1\fi
+          \if\final at kern1 \kern-\dimen@\fi
+        \else
+          \overline{\rel at kern{-0.6}\kern\dimen@#1}%
+        \fi
+      }%
+      \macc at depth\@ne
+      \let\math at bgroup\@empty \let\math at egroup\macc at set@skewchar
+      \mathsurround\z@ \frozen at everymath{\mathgroup\macc at group\relax}%
+      \macc at set@skewchar\relax
+      \let\mathaccentV\macc at nested@a
+    %The following initialises \macc at kerna and calls \mathaccent:
+      \if#31
+        \macc at 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 at till@marker##1\endmarker{}%
+        \futurelet\first at char\gobble at till@marker#1\endmarker
+        \ifcat\noexpand\first at char A\else
+          \def\first at char{}%
+        \fi
+        \macc at nested@a\relax111{\first at char}%
+      \fi
+      \endgroup
+    }
+    \else
+        \@packinfo{Not loading Fix Typesetting}
+    \fi
+
+}
+
+
+\AtEndOfPackage{
     \ifrecthy at 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 at th\prec$}%
+  \dimen@=1.1\ht\z@
+  \begin{picture}(\dimen@,.4ex)
+  \roundcap
+  \put(0,.2ex){\line(1,0){\dimen@}}
+  \put(\dimexpr 0.5\dimen at -.2ex\relax,0){\line(1,1){.4ex}}
+  \end{picture}%
+}
+
+%     \newcommand{\not at pnrelbar}{%
+%   \linethickness{\dimen2}%
+%   \sbox\z@{$\m at th\nprec$}%
+%   \dimen@=1.1\ht\z@
+%   \begin{picture}(\dimen@,.4ex)
+%   \roundcap
+%   \put(0,.2ex){\line(1,0){\dimen@}}
+%   \put(\dimexpr 0.5\dimen at -.2ex\relax,0){\line(1,1){.4ex}}
+%   \end{picture}%
+% }
+
+    \newcommand{\@snrelbar}{%
+  \linethickness{\dimen2}%
+  \sbox\z@{$\m at th\succ$}%
+  \dimen@=1.1\ht\z@
+  \begin{picture}(\dimen@,.4ex)
+  \roundcap
+  \put(0,.2ex){\line(1,0){\dimen@}}
+  \put(\dimexpr 0.5\dimen at -.2ex\relax,0){\line(1,1){.4ex}}
+  \end{picture}%
+}
+
+%     \newcommand{\not at snrelbar}{%
+%   \linethickness{\dimen2}%
+%   \sbox\z@{$\m at th\nsucc$}%
+%   \dimen@=1.1\ht\z@
+%   \begin{picture}(\dimen@,.4ex)
+%   \roundcap
+%   \put(0,.2ex){\line(1,0){\dimen@}}
+%   \put(\dimexpr 0.5\dimen at -.2ex\relax,0){\line(1,1){.4ex}}
+%   \end{picture}%
+% }
+
+\newcommand{\@precneq}{\mathrel{\vcenter{\hbox{\text{\prec at neq}}}}}
+\newcommand{\prec at neq}{%
+  \dimen2=\f at size\dimexpr.04pt\relax
+  \oalign{%
+    \noalign{\kern\dimexpr.2ex-.5\dimen2\relax}
+    $\m at th\prec$\cr
+    \noalign{\kern-.5\dimen2}
+    \hidewidth\@pnrelbar\hidewidth\cr
+  }%
+}
+
+% \newcommand{\@nprecneq}{\mathrel{\vcenter{\hbox{\text{\nprec at neq}}}}}
+% \newcommand{\nprec at neq}{%
+%   \dimen2=\f at size\dimexpr.04pt\relax
+%   \oalign{%
+%     \noalign{\kern\dimexpr.2ex-.5\dimen2\relax}
+%     $\m at th\nprec$\cr
+%     \noalign{\kern-.5\dimen2}
+%     \hidewidth\not at pnrelbar\hidewidth\cr
+%   }%
+% }
+
+\newcommand{\@succneq}{\mathrel{\vcenter{\hbox{\text{\succ at neq}}}}}
+\newcommand{\succ at neq}{%
+  \dimen2=\f at size\dimexpr.04pt\relax
+  \oalign{%
+    \noalign{\kern\dimexpr.2ex-.5\dimen2\relax}
+    $\m at th\prec$\cr
+    \noalign{\kern-.5\dimen2}
+    \hidewidth\@snrelbar\hidewidth\cr
+  }%
+}
+
+% \newcommand{\@nsuccneq}{\mathrel{\vcenter{\hbox{\text{\nsucc at neq}}}}}
+% \newcommand{\nsucc at neq}{%
+%   \dimen2=\f at size\dimexpr.04pt\relax
+%   \oalign{%
+%     \noalign{\kern\dimexpr.2ex-.5\dimen2\relax}
+%     $\m at th\nprec$\cr
+%     \noalign{\kern-.5\dimen2}
+%     \hidewidth\not at 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 at abs}[1]{\lvert#1\rvert}
+% \newcommand*{\@recthy at abs}[1]{\lvert#1\rvert}
+\DeclarePairedDelimiter\@recthy at abs{\lvert}{\rvert}
 \newcommand*{\@recthy at ensuretext}[1]{\ensuremath{\text{#1}}}
 \AtEndOfPackage{
 \ifrecthy at nomath
@@ -466,8 +639,9 @@
     \else
         \DeclareMathOperator{\Ord}{Ord}
     \fi
+    \DeclarePairedDelimiter\ceil{\lceil}{\rceil}
+    \DeclarePairedDelimiter\floor{\lfloor}{\rfloor}
 
-
     \recthy at strip{abs}
     \ifdefined\dom
     \else
@@ -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 at rollback@threeTwo at threeOne@REA at mathsave=\recthy at rollback@threeTwo at threeOne@REA
+    \renewcommand*{\recthy at rollback@threeTwo at threeOne@REA}{
+        \providecommand*{\map}[2]{:#1\mapsto #2}
+        \providecommand*{\functo}[3]{#1\map{#2}{#3}}
+        \ifdefined\funcomp
+        \else
+            \let\funcomp=\compfunc
+        \fi
+        \recthy at rollback@threeTwo at threeOne@REA at mathsave
+    }
+
     \providecommand*{\compfunc}{\mathbin{\circ}}
     \ifdefined\compose
     \else
         \let\compose=\compfunc
     \fi
-    \ifdefined\funcomp
-    \else
-        \let\funcomp=\compfunc
-    \fi
+    \ltx at 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 at to@gets\to}}
+        \DeclareRobustCommand{\pmapsfrom}{\mathrel{\mathpalette\p at to@gets\gets}}
+
+        \newcommand{\p at to@gets}[2]{%
+          \ooalign{\hidewidth$\m at th#1\mapstochar\mkern5mu$\hidewidth\cr$\m at 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 at strip{ensuretext}
 \fi
 }
@@ -571,11 +768,17 @@
 \newcommand*{\@recthy at Computable}{\@recthy at ensuretext{Computable}}
 \newcommand*{\@recthy at RecursivelyEnumerable}{\@recthy at ensuretext{Recursively enumerable}}
 \newcommand*{\@recthy at ComputablyEnumerable}{\@recthy at ensuretext{Computably enumerable}}
-\newcommand*{\@recthy at REA}{\ensuremath{\text{REA}}}
-\WithSuffix\def\@recthy at REA[#1]{#1-\@recthy at REA\relax}
-\newcommand*{\@recthy at CEA}{\ensuremath{\text{CEA}}}
-\WithSuffix\def\@recthy at CEA[#1]{#1-\@recthy at CEA\relax}
+\def\@recthy at REA{REA}
+\def\@recthy at CEA{CEA}
 
+\NewDocumentCommand{\REA}{d()o}{\ensuremath{\IfValueTF{#2}{#2-}{}\text{\@recthy at REA}\IfValueTF{#1}{[#1]}{}}}
+\NewDocumentCommand{\CEA}{d()o}{\ensuremath{\IfValueTF{#2}{#2-}{}\text{\@recthy at CEA}\IfValueTF{#1}{[#1]}{}}}
+
+% \newcommand*{\@recthy at REA}{\ensuremath{\text{REA}}}
+% \WithSuffix\def\@recthy at REA[#1]{#1-\@recthy at REA\relax}
+% \newcommand*{\@recthy at CEA}{\ensuremath{\text{CEA}}}
+% \WithSuffix\def\@recthy at CEA[#1]{#1-\@recthy at CEA\relax}
+
 \DeclareOptionX{reterms}{%
     \let\@recthy at ce=\@recthy at re
     \let\@recthy at computable=\@recthy at recursive
@@ -597,12 +800,10 @@
 \DeclareOptionX{ceaterms}{%
             \let\@recthy at REA=\@recthy at CEA
             }
-\DeclareOptionX{reaterms}{%
-            \let\@recthy at CEA=\@recthy at REA
-            }
 
 
 
+
 \AtEndOfPackage{
 \ifrecthy at nonames
     \@packinfo{No names loading.}
@@ -614,8 +815,6 @@
     \recthy at strip{CE}
     \recthy at strip{Re}
     \recthy at strip{Ce}
-    \recthy at strip{REA}
-    \recthy at strip{CEA}
     \recthy at strip{recursive}
     \recthy at strip{computable}
     \recthy at strip{recursivelyEnumerable}
@@ -632,7 +831,7 @@
 
 
 
-\NewDocumentCommand{\@recthy at set}{mg}{\left \{ #1 \IfNoValueTF{#2}{}{\middle | #2} \right \}}
+\NewDocumentCommand{\@recthy at set}{mg}{\left \{ #1 \IfNoValueTF{#2}{}{\mid  #2} \right \}}
 
 % \def\@recthy at set#1{\def\@set at argi@pmg{#1}\@ifnextchar\bgroup\@setst at pmg\@setplain at pmg}
 % \newcommand*{\@setst at pmg}[1]{\ifthenelse{\isempty{#1}}{\@setplain at pmg}{\left \{ \@set at argi@pmg \middle | #1\right \}}}
@@ -652,6 +851,7 @@
 % \newcommand*{\@recthy at setcmpminusSYM}{\backsim}
 % \newcommand*{\@recthy at setminuscmp}[1]{\mathop{\@recthy at setcmpminusSYM} #1}
 \newcommand*{\@recthy at setovercmp}[1]{\overline{#1}}
+\newcommand*{\@recthy at setsimcmp}[1]{\backsim #1}
 \let\@recthy at setcmp=\@recthy at setovercmp
 \def\@recthy at setdiffSYM{-}
 \newcommand*{\@recthy at setdiff}{\mathbin{\@recthy at setdiffSYM}}
@@ -663,7 +863,7 @@
 
 
 \AtEndOfPackage{
-\WithSuffix\def\@recthy at setcmp[#1]#2{#1\@recthy at setminus#2}
+% \WithSuffix\def\@recthy at setcmp[#1]#2{#1\@recthy at setminus#2}
 \ifrecthy at nosets
     \@packinfo{No set cmds loading.}
 \else
@@ -715,6 +915,8 @@
         \newcommand*{\nforall at recthy}{\nforall at orig@recthy}
         \newcommand*{\existsuniq}{\exists at orig@recthy !}
         \newcommand*{\nexistsuniq}{\nexists at 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 at abs{#1}_{\kleeneO}}}
     \newcommand*{\ordzero}{\ensuremath{0}}
   \def\kleeneOSYM{\mathcal{O}}
-    \newcommand*{\kleeneO}{\let\@PMG at parenarg\@PMG at undefined\let\@PMG at braketarg\@PMG at undefined\@kleeneObody}
-    \newcommand*{\@kleeneObody}{\kleeneOSYM\ifdefined\@PMG at parenarg
-    ^{\@PMG at parenarg}%
-    \fi%
-    \ifdefined\@PMG at braketarg
-    _{\abs{\@PMG at braketarg}}%
-    \fi}
-    \WithSuffix\def\@kleeneObody(#1){\def\@PMG at parenarg{#1}\@kleeneObody}
-    \WithSuffix\def\@kleeneObody[#1]{\def\@PMG at braketarg{#1}\@kleeneObody}
-    \WithSuffix\def\@kleeneObody*{\def\kleeneOSYM{\overline{\mathcal{O}}}\@kleeneObody}
+   \NewDocumentCommand{\kleeneO}{sD(){}oD(){}}{{
+       \kleeneOSYM^{#2#4}_{%
+            \IfNoValueTF{#1}{%
+                \IfNoValueTF{#3}{}{%
+                    \abs{#3}}% 
+                }%
+                {%
+                    1%
+                    \IfNoValueTF{#3}{}{%
+                        , \abs{#3}
+                    }%
+                }%
+        }%
+    }}
+    % \newcommand*{\kleeneO}{\let\@PMG at parenarg\@PMG at undefined\let\@PMG at braketarg\@PMG at undefined\@kleeneObody}
+    % \newcommand*{\@kleeneObody}{\kleeneOSYM\ifdefined\@PMG at parenarg
+    % ^{\@PMG at parenarg}%
+    % \fi%
+    % \ifdefined\@PMG at braketarg
+    % _{\abs{\@PMG at braketarg}}%
+    % \fi}
+    % \WithSuffix\def\@kleeneObody(#1){\def\@PMG at parenarg{#1}\@kleeneObody}
+    % \WithSuffix\def\@kleeneObody[#1]{\def\@PMG at braketarg{#1}\@kleeneObody}
+    % \WithSuffix\def\@kleeneObody*{\def\kleeneOSYM{\mathcal{O}}\@kleeneObody}
 
-\newcommand*{\kleeneObelow}[2][]{\kleeneOSYM_{<#2\ifthenelse{\isempty{#1}}{}{, #1}}}
-\let\kleeneOless\kleeneObelow
+% \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 at useSYM}[#1]}
+    \newcommand*{\use}[1]{\mathop{\@recthy at useSYM}\left[#1\right]}
 % \newcommand*{\use}[1]{\ltx at 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 at parenarg{#1}\@REsetbody}
     \WithSuffix\def\@REsetbody[#1]{\def\@PMG at 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 at rollback@threeTwo at threeOne@REA at computationssave=\recthy at rollback@threeTwo at threeOne@REA
+    \renewcommand*{\recthy at rollback@threeTwo at threeOne@REA}{
+        \let\reaop=\REAop
+        \let\alphaREAop=\REAop
+        \let\aREAop=\alphaREAop
+        \recthy at rollback@threeTwo at threeOne@REA at computationssave
+    }
+
+
+    
+
+    % \newcommand*{\oneREAop}[1]{J_{#1}}
+    % \let\iREAop=\oneREAop
+    % \WithSuffix\def\reaop*#1{\oneREAop{#1}}
     %converges
 
 \fi



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