summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/rec-thy
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-04-25 03:01:49 +0000
committerNorbert Preining <norbert@preining.info>2022-04-25 03:01:49 +0000
commit4688b855bb6f8b817901a7c777e8aecd1a189622 (patch)
treeaa75c3ff4a3d691e41b2cffe0c37824cfa435230 /macros/latex/contrib/rec-thy
parent525912b963dd339500c863995e046af658dbdcf6 (diff)
CTAN sync 202204250301
Diffstat (limited to 'macros/latex/contrib/rec-thy')
-rw-r--r--macros/latex/contrib/rec-thy/README2
-rw-r--r--macros/latex/contrib/rec-thy/rec-thy.pdfbin127739 -> 127698 bytes
-rw-r--r--macros/latex/contrib/rec-thy/rec-thy.sty93
-rw-r--r--macros/latex/contrib/rec-thy/rec-thy.tex8
4 files changed, 70 insertions, 33 deletions
diff --git a/macros/latex/contrib/rec-thy/README b/macros/latex/contrib/rec-thy/README
index 1e6e845706..e7e6761ca9 100644
--- a/macros/latex/contrib/rec-thy/README
+++ b/macros/latex/contrib/rec-thy/README
@@ -40,3 +40,5 @@ Github URL: https://github.com/TruePath/Recursion-Theory-Latex-Package
v3.5 - Added \Hop command and misc code cleanup.
v3.6 - Fixed \REA[n] so that dash is shorter. Added BeamerRequirements to add a block for requirements in beamer and fixed the requirements environment for beamer. Fixed \req* command. Improved syntax for \recfnl so it can accept a () delimited argument via the same standard as \REset and \recf. Improved \setcol to allow it to be used repeatedly without typesetting bugs. Changed the code and pair commands to use only a single angle bracket.
v3.7 - Fixed cases enviornment (both prettier and no problem with creating newline). Major refactor to fix all options. Fixed bug with \set display. Added \st command inside the \set command to depreciate second argument. Added experimental commands \finSsets (alt \ssetsOfsize), \finsets and optional argument to \powset. Changed \REAop so the hat is on the starred version as intended. Added the steps (experimental) code which requires an option to enable and fixed some problems with existing options. Reimplemented \REset to use xparse to avoid some errors in unusual contexts. Fixed the display of \tpath. Depreciated \iREAop and \oneREAop.
+v3.8 - Adjusted \Tdeg to be more beamer friendly and fixed it not to dumbly underline 0^n. Fixed BeamerRequirements to work with differing values of \abovedisplayskip. Removed a few typos in docs for the requirements assistance. Added BeamerRequire and BeamerRequire* that put the requirements in a block and offer overlay specifications.
+v3.8.1 Fixed issues displaying the prime for jump operations
diff --git a/macros/latex/contrib/rec-thy/rec-thy.pdf b/macros/latex/contrib/rec-thy/rec-thy.pdf
index 601e4953ba..4e691732fe 100644
--- a/macros/latex/contrib/rec-thy/rec-thy.pdf
+++ b/macros/latex/contrib/rec-thy/rec-thy.pdf
Binary files differ
diff --git a/macros/latex/contrib/rec-thy/rec-thy.sty b/macros/latex/contrib/rec-thy/rec-thy.sty
index b2a3e7775e..36f77892a9 100644
--- a/macros/latex/contrib/rec-thy/rec-thy.sty
+++ b/macros/latex/contrib/rec-thy/rec-thy.sty
@@ -10,10 +10,10 @@
\RequirePackage{etoolbox}
\RequirePackage{pict2e,picture}
\RequirePackage{xparse}
-\def\recthyVersion{3.7}
+\def\recthyVersion{3.8.1}
\ProvidesExplPackage
{rec-thy}
- {2021/03/30}
+ {2022/04/24}
{\recthyVersion}
{Provides commands for writing up recursion theory papers}
@@ -777,17 +777,26 @@
\ifrecthy@beamersupp
- \newtheorem{reqblock}{Requirements}
- \let\OLDreqblock=\reqblock
- \def\reqblock{%
+ \theoremstyle{plain}
+ \newtheorem{reqsblock@recthy}{Requirements}
+ \newtheorem{reqblock@recthy}{Requirement}
+ \let\OLDreqsblock@recthy=\reqsblock@recthy
+ \let\OLDreqblock@recthy=\reqblock@recthy
+ \def\reqsblock@recthy{%
\setbeamercolor{block title}{fg=white,bg=Maroon}%
- \setbeamercolor{block body}{fg=black,bg=Maroon!10}\OLDreqblock
+ \setbeamercolor{block body}{fg=black,bg=Maroon!10}\OLDreqsblock@recthy
+ }
+ \def\reqblock@recthy{%
+ \setbeamercolor{block title}{fg=white,bg=Maroon}%
+ \setbeamercolor{block body}{fg=black,bg=Maroon!10}\OLDreqblock@recthy
}
\NewDocumentCommand{\require@beamer}{sO{}mO{}m}{\tag{$\@ifmtarg{#2#4}{\mathscr{#3}_{#5}}{\mathscr{#3}_{#5}^{#2#4}}$} \IfBooleanTF{#1}{}{\label{\detokenize{req:#3@#2#4}}} & }
- \NewDocumentEnvironment{BeamerRequirements}{d<>b}{\IfValueTF{#1}{\begin{reqblock}<#1>}{\begin{reqblock}}%
- \vspace*{-.5cm}
+ \NewDocumentEnvironment{BeamerRequirements}{d<>b}{\IfValueTF{#1}{\begin{reqsblock@recthy}<#1>}{\begin{reqsblock@recthy}}%
+ \setlength{\abovedisplayskip}{0pt}%
+ \setlength{\belowdisplayskip}{0pt}%
+ % \vspace*{-.5cm}
\usetagform{colon} %
\let\myhalign\halign%
\def\halign{\let\mylb\\ \renewcommand{\\}{& \mylb}\myhalign}%
@@ -795,7 +804,7 @@
\begin{flalign*}%
#2 &
\end{flalign*}%
- \end{reqblock}}{}
+ \end{reqsblock@recthy}}{}
\NewDocumentEnvironment{requirements}{b}{\usetagform{colon} %
\let\myhalign\halign%
@@ -804,7 +813,27 @@
\begin{flalign*}%
#1 &
\end{flalign*}}{\ignorespacesafterend}%\@recthy@ignorespacesandallparsafter}
- \else
+
+
+ \NewDocumentEnvironment{BeamerRequire}{d<>O{}mO{}m}{\IfValueTF{#1}{\begin{reqblock@recthy}<#1>}{\begin{reqblock@recthy}}%
+ \setlength{\abovedisplayskip}{0pt}%
+ \setlength{\belowdisplayskip}{0pt}%
+ \begin{requirement}{\req@nohref[#2#4]{#3}{#5}} \label{\detokenize{req:#3@#2#4}}%
+ }{
+ \end{requirement}%
+ \vspace*{-.3cm}%
+ \end{reqblock@recthy}%
+ }
+ \NewDocumentEnvironment{BeamerRequire*}{d<>O{}mO{}m}{\IfValueTF{#1}{\begin{reqblock@recthy}<#1>}{\begin{reqblock@recthy}}%
+ \setlength{\abovedisplayskip}{0pt}%
+ \setlength{\belowdisplayskip}{0pt}%
+ \begin{requirement}{\req@nohref[#2#4]{#3}{#5}}
+ }{
+ \end{requirement}%
+ \vspace*{-.3cm}%
+ \end{reqblock@recthy}%
+ }
+\else
\NewDocumentEnvironment{requirements}{}{%
\@pmg@saveeqstate%
@@ -1824,6 +1853,8 @@
\@packinfo{No degree classes loading.}
\else
\@packinfo{Degree classes loading.}
+ \newcommand*{\Tdegrees}{\ensuremath{\mathscr{D}}}
+ \newcommand*{\REdegrees}{\ensuremath{\mathscr{R}}}
\newcommand{\Low}[1][]{\ensuremath{ \text{Low}^{#1} }}
\newcommand{\LowN}[2][]{\ensuremath{ \text{Low}^{#1}_{#2} }}
\newcommand{\lowN}[2][]{\ensuremath{ \mathcal{L}^{#1}_{#2} }}
@@ -1951,17 +1982,17 @@
\newcommand*{\entersat}[1]{\mathbin{\searrow_{#1}}}
- \appto{\recthy@rollback@threeSeven}{
- \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
- }
+ % \appto{\recthy@rollback@threeSeven}{
+ % \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
+ % }
- % \newcommand*{\alphaREAop}[2][]{\mathcal{J}^{#2}_{#1}}
- \appto{\recthy@rollback@threeTwo}{
- \let\reaop=\REAop
- \let\alphaREAop=\REAop
- \let\aREAop=\alphaREAop
- }
+ % % \newcommand*{\alphaREAop}[2][]{\mathcal{J}^{#2}_{#1}}
+ % \appto{\recthy@rollback@threeTwo}{
+ % \let\reaop=\REAop
+ % \let\alphaREAop=\REAop
+ % \let\aREAop=\alphaREAop
+ % }
@@ -1986,28 +2017,32 @@
\providecommand*{\Tdegvar}[1]{\symbf{#1}}
\providecommand*{\Tdegof}[1]{\utilde{#1}}
- \providecommand*{\Tdeg}[1]{\ifthenelse{
+ \protected\def\Tdeg#1{\ifthenelse{
% \equal{\detokenize{\Tzero}}{\futurelet\next@pmg\discard#1\@nil\expandafter\detokenize{\next@pmg}}
\equal{\detokenize{\Tzero}}{\detokenize{#1}} \OR
- \equal{\detokenize{\Tzero}}{\detokenize{#1}} \OR
+ \equal{\detokenize{\Tzeroj}}{\detokenize{#1}} \OR
+ \equal{\detokenize{\Tzerojj}}{\detokenize{#1}} \OR
+ \equal{\detokenize{\Tzerojjj}}{\detokenize{#1}} \OR
\equal{\detokenize{\zeroj}}{\detokenize{#1}} \OR
\equal{\detokenize{\zerojj}}{\detokenize{#1}} \OR
\equal{\detokenize{\zerojjj}}{\detokenize{#1}} \OR
\equal{\string \zeron }{\expandafter\string \first@pmg@rdmxs(#1)}
- }{\Tdegof{#1}}{\Tdegvar{#1}}}
+ }{#1}{\Tdegvar{#1}}}
+
- \providecommand*{\Tjump}[1]{#1'}
+ \providecommand*{\Tjump}[1]{{#1}'}
\let\jump=\Tjump
- \providecommand*{\jumpn}[2]{#1^{(#2)}}
- \providecommand*{\jjump}[1]{#1''}
+ \providecommand*{\jumpn}[2]{{#1}^{(#2)}}
+ \providecommand*{\jjump}[1]{{#1}''}
+ \providecommand*{\jjjump}[1]{{#1}'''}
% \newcommand*{\Tzerosym}{\MVZero}
- \newcommand*{\Tzerosym}{\mathbb{0}}
+ \newcommand*{\Tzerosym}{\symbf{0}}
\providecommand*{\Tzero}{{\Tzerosym}}
\providecommand*{\zeron}[1]{{\Tzerosym}^{(#1)}}
\providecommand*{\zeroj}{\jump{{\Tzerosym}}}
\let\Tzeroj=\zeroj
- \providecommand*{\zerojj}{\jump{\jump{{\Tzerosym}}}}
- \providecommand*{\zerojjj}{\jump{\jump{\jump{{\Tzerosym}}}}}
+ \providecommand*{\zerojj}{\jjump{\Tzerosym}}
+ \providecommand*{\zerojjj}{\jjjump{\Tzerosym}}
\let\Tzerojj=\zerojj
\let\Tzerojjj=\zerojjj
diff --git a/macros/latex/contrib/rec-thy/rec-thy.tex b/macros/latex/contrib/rec-thy/rec-thy.tex
index ded730f3b0..b80b17f6b5 100644
--- a/macros/latex/contrib/rec-thy/rec-thy.tex
+++ b/macros/latex/contrib/rec-thy/rec-thy.tex
@@ -282,9 +282,9 @@ Math mode is not required for \verb=\req{R}{e}=
\begin{tabular}{l | l | l}\toprule
\verb=\req{R}{e}= & \( \req{R}{e} \) & \multirow{3}{*}{Requirement } \\ \midrule
-\verb=\req{R}[\nu]{e\}= & \req{R}[\nu]{e} & \\ \midrule
-\verb=\req*{R}{e\}= & \req{R}{e} & \multirow{3}{*}{Requirement without hyperlinks} \\ \midrule
-\verb=\req*{R}[\nu]{e\}= & \req{R}[\nu]{e} & \\ \midrule
+\verb=\req{R}[\nu]{e}= & \req{R}[\nu]{e} & \\ \midrule
+\verb=\req*{R}{e}= & \req{R}{e} & \multirow{3}{*}{Requirement without hyperlinks} \\ \midrule
+\verb=\req*{R}[\nu]{e}= & \req{R}[\nu]{e} & \\ \midrule
\bottomrule
\end{tabular} \\
@@ -302,7 +302,7 @@ Giving output
\recfnl{r}{B}{} = \REset{j} \implies \exists[k] \left( \Upsilon^{j}_k(C \Tplus \REset{j}) = B) \lor \REset{j} \Tleq \Tzero \right)
\end{requirement}
-The require environment merges the \verb=\req[\nu]{R}{e\}= command directly into the environment arguments. It also creates an automatic label which makes use of the 1st and 2nd arguments but assumes the third argument contains only indexes whose names are subject to change. Unless \verb=nohyperreqs= is passed the \verb=\req[\nu]{R}{e\}= automatically links to the defining require environment.
+The require environment merges the \verb=\req[\nu]{R}{e}= command directly into the environment arguments. It also creates an automatic label which makes use of the 1st and 2nd arguments but assumes the third argument contains only indexes whose names are subject to change. Unless \verb=nohyperreqs= is passed the \verb=\req[\nu]{R}{e}= automatically links to the defining require environment.
\begin{lstlisting}[breaklines]
\begin{require}{R}{i}