From c692bae643e821e53503849d0185085066450bb1 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 26 Sep 2017 23:20:49 +0000 Subject: rec-thy (26sep17) git-svn-id: svn://tug.org/texlive/trunk@45407 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/rec-thy/rec-thy.sty | 390 ++++++++++++++++++------ 1 file changed, 294 insertions(+), 96 deletions(-) (limited to 'Master/texmf-dist/tex/latex/rec-thy/rec-thy.sty') diff --git a/Master/texmf-dist/tex/latex/rec-thy/rec-thy.sty b/Master/texmf-dist/tex/latex/rec-thy/rec-thy.sty index 30c42cab80d..91479ca7d8e 100644 --- a/Master/texmf-dist/tex/latex/rec-thy/rec-thy.sty +++ b/Master/texmf-dist/tex/latex/rec-thy/rec-thy.sty @@ -1,29 +1,54 @@ \NeedsTeXFormat{LaTeX2e} -\newcommand*{\@curpack}{\@currname} %rec-thy.sty -\newcommand*{\@packinfo}[1]{\PackageInfo{\@curpack}{#1}} +\ProvidesPackage{rec-thy}[2017/09/26 v2.0 Provides commands for writing up recursion theory papers] +\makeatletter +% \newcommand*{\@curpack}{\@currname} %rec-thy.sty +\newcommand*{\@packinfo}[1]{\PackageInfo{rec-thy}{#1}} \newcommand*{\recthy@strip}[1]{%\expandafter\newcommand{\csname #1\endcsname}{}% Makes sure arg isn't already a command \expandafter\edef\csname #1\endcsname{\expandafter\noexpand\csname @recthy@#1\endcsname}} %leaves us a command \arg defined to do \@recthy@arg -\ProvidesPackage{\@curpack} [2011/01/01 v1.2 Provides commands for writing up recursion theory papers] %file name is package name +% \ProvidesPackage{\@curpack} %file name is package name % Release Notes % Version 1.2 % Added mrref option % Fixed horrific option processing bug - +\RequirePackage{amsmath} +\RequirePackage{ifxetex,ifpdf} \RequirePackage{suffix} \RequirePackage{ifmtarg} \RequirePackage{xifthen} \RequirePackage{xkeyval} -\RequirePackage{undertilde} -\RequirePackage{stmaryrd} -\RequirePackage{amsmath} +\RequirePackage{mathtools} \RequirePackage{amssymb} -\RequirePackage{marvosym} -\DeclareMathAlphabet{\mathbrush}{T1}{pbsi}{xl}{n} - -\newcommand*{\PMG@arginit}{\let\@PMG@parenarg\@PMG@undefined\let\@PMG@braketarg\@PMG@undefined} - -\newcommand*{\@recthy@family}{\@currname.\@currext} %The default family for this package...filename.ext +\RequirePackage{amsfonts} +\RequirePackage{undertilde} +\RequirePackage{ltxcmds} +\ltx@ifpackageloaded{unicode-math}{}{\RequirePackage{mathrsfs}} + + +% \DeclareMathAlphabet{\mathbrush}{T1}{pbsi}{xl}{n} +% \newcommand*{\mathbrush}[1]{\mathsfit{#1}} +% \ifxetex +% \RequirePackage{xltxtra} +% \RequirePackage{unicode-math} +% % \RequirePackage{fontspec,xunicode} +% % \defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase} % To support LaTeX quoting style +% % \input{/Users/TruePath/Library/texmf/tex/headers/appearence.tex} +% \else +% % \usepackage[utf8]{inputenc} +% % \usepackage[T1]{fontenc} +% % \RequirePackage{euscript} +% % \newcommand*{\matheu}{\EuScript} + +% \ifpdf +% \RequirePackage{cmap} % you can search in the pdf for umlauts and ligatures +% \fi +% \fi +% \RequirePackage{stmaryrd} +% \RequirePackage{marvosym} + +\def\PMG@arginit{\let\@PMG@parenarg\@PMG@undefined\let\@PMG@braketarg\@PMG@undefined} + +\def\@recthy@family{\@currname.\@currext} %The default family for this package...filename.ext %Define boolean options true if option passed false otherwise @@ -31,9 +56,11 @@ \newif\ifrecthy@mrref \recthy@mrreffalse \newif\ifrecthy@nomath \recthy@nomathfalse \newif\ifrecthy@nodelim \recthy@nodelimfalse -\newif\ifrecthy@nonames \recthy@nonamesfalse -\newif\ifrecthy@nosets \recthy@nosetsfalse -\newif\ifrecthy@noquants \recthy@noquantsfalse +\newif\ifrecthy@nonames +\recthy@nonamesfalse +\newif\ifrecthy@nosets +\recthy@nosetsfalse +\newif\ifrecthy@noquants\recthy@noquantsfalse \newif\ifrecthy@nospaces \recthy@nospacesfalse \newif\ifrecthy@nostrings \recthy@nostringsfalse \newif\ifrecthy@notrees \recthy@notreesfalse @@ -46,28 +73,141 @@ \newif\ifrecthy@noforcing \recthy@noforcingfalse \newif\ifrecthy@nodegrees \recthy@nodegreesfalse \newif\ifrecthy@nocomputations \recthy@nocomputationsfalse - -\DeclareOption{nohyphenation}{\recthy@nohyphenationtrue} -\DeclareOption{mrref}{\recthy@mrreftrue} -\DeclareOption{nomath}{\recthy@nomathtrue} -\DeclareOption{nodelim}{\recthy@nodelimtrue} -\DeclareOption{nonames}{\recthy@nonamestrue} -\DeclareOption{nosets}{\recthy@nosetstrue} -\DeclareOption{noquants}{\recthy@noquantstrue} -\DeclareOption{nospaces}{\recthy@nospacestrue} -\DeclareOption{nostrings}{\recthy@nostringstrue} -\DeclareOption{notrees}{\recthy@notreestrue} -\DeclareOption{nopair}{\recthy@nopairtrue} -\DeclareOption{nosetrels}{\recthy@nosetrelstrue} -\DeclareOption{noordinalnotations}{\recthy@noordinalnotationstrue} -\DeclareOption{nosyntax}{\recthy@nosyntaxtrue} -\DeclareOption{nodegclasses}{\recthy@nodegclassestrue} -\DeclareOption{noforcing}{\recthy@noforcingtrue} -\DeclareOption{nodegrees}{\recthy@nodegreestrue} -\DeclareOption{nocomputations}{\recthy@nocomputationstrue} - -\DeclareOption{degjoin}{\def\Tjoin{\Tdegjoin}} - +\newif\ifrecthy@nostructresets \recthy@nostructresetsfalse +\newif\ifrecthy@noreqhelper \recthy@noreqhelperfalse +\newif\ifrecthy@nosubfun \recthy@nosubfunfalse +\newif\ifrecthy@hyperreqs \recthy@hyperreqstrue + +\DeclareOptionX{nohyphenation}{\recthy@nohyphenationtrue} +\DeclareOptionX{mrref}{\recthy@mrreftrue} +\DeclareOptionX{nomath}{\recthy@nomathtrue} +\DeclareOptionX{nodelim}{\recthy@nodelimtrue} +\DeclareOptionX{nonames}{\recthy@nonamestrue} +\DeclareOptionX{nosets}{\recthy@nosetstrue} +\DeclareOptionX{noquants}{\recthy@noquantstrue} +\DeclareOptionX{nospaces}{\recthy@nospacestrue} +\DeclareOptionX{nostrings}{\recthy@nostringstrue} +\DeclareOptionX{notrees}{\recthy@notreestrue} +\DeclareOptionX{nopair}{\recthy@nopairtrue} +\DeclareOptionX{nosetrels}{\recthy@nosetrelstrue} +\DeclareOptionX{noordinalnotations}{\recthy@noordinalnotationstrue} +\DeclareOptionX{nosyntax}{\recthy@nosyntaxtrue} +\DeclareOptionX{nodegclasses}{\recthy@nodegclassestrue} +\DeclareOptionX{noforcing}{\recthy@noforcingtrue} +\DeclareOptionX{nodegrees}{\recthy@nodegreestrue} +\DeclareOptionX{nocomputations}{\recthy@nocomputationstrue} +\DeclareOptionX{nostructresets}{\recthy@nostructresetstrue} +\DeclareOptionX{noreqhelper}{\recthy@noreqhelpertrue} +\DeclareOptionX{nosubfun}{\recthy@nosubfuntrue} +\DeclareOptionX{nohyperreqs}{\recthy@hyperreqsfalse} + +\DeclareOptionX{degjoin}{\def\Tjoin{\Tdegjoin}} + +\AtEndOfPackage{ +\ifrecthy@nosubfun + \@packinfo{Not loading subfun defs.} +\else + \@packinfo{Loading subfun defs DOCUMENT ME.} + %DOCUMENT ME + \newcommand*{\subfun}[1][]{\prec\ifthenelse{\isempty{#1}}{_{#1}}{}} + \newcommand*{\supfun}[1][]{\succ\ifthenelse{\isempty{#1}}{_{#1}}{}} + \newcommand*{\nsubfun}[1][]{\nprec\ifthenelse{\isempty{#1}}{_{#1}}{}} + \newcommand*{\nsupfun}[1][]{\nsucc\ifthenelse{\isempty{#1}}{_{#1}}{}} + \newcommand*{\subfuneq}[1][]{\preceq\ifthenelse{\isempty{#1}}{_{#1}}{}} + \newcommand*{\supfuneq}[1][]{\succeq\ifthenelse{\isempty{#1}}{_{#1}}{}} + \newcommand*{\nsubfuneq}[1][]{\npreceq\ifthenelse{\isempty{#1}}{_{#1}}{}} + \newcommand*{\nsupfuneq}[1][]{\nsucceq\ifthenelse{\isempty{#1}}{_{#1}}{}} +\fi +} + + + +\newcommand*{\@recthy@reqscr}[1]{\mathscr{#1}} +% \DeclareOptionX{reqscr}{\newcommand{\@recthy@reqscr}[1]{#1{##1}}} + + +\AtEndOfPackage{ +\ifrecthy@noreqhelper + \@packinfo{Not loading requirement assist.} +\else + \@packinfo{Loading requirement assist.} + \newcommand*{\req@orig}[3][]{\ensuremath{\ifthenelse{\isempty{#1}}{\@recthy@reqscr{#2}_{#3}}{\@recthy@reqscr{#2}^{#1}_{#3}}}} + \ifrecthy@hyperreqs + \newcommand*{\req}[3][]{ + \@ifundefined{hyperref}{ + \req@orig[#1]{#2}{#3} + }{ + \hyperref[\detokenize{req:#2@#1}]{\req@orig[#1]{#2}{#3}} + }} + \else + \let\req=\req@orig + \fi + \WithSuffix\def\req*{\req@orig} + % \newsavebox{\@recthy@reqbox} + % \def\defreq#1#2\par{ + % \begin{equation}\let\veqno\@@leqno% + % \tag*{#1}% + % \begin{lrbox}{\@recthy@reqbox}% + % \begin{minipage}{\textwidth}#2\end{minipage}% + % \end{lrbox}% + % \makebox[0pt]{\usebox{\@recthy@reqbox}}% + % \end{equation}} + \newtagform{colon}{}{:} + \newenvironment{requirement}[1]{ + \let\@origif@fleqn@pmg=\if@fleqn + \let\@origiftagsleft@pmg=\iftagsleft@ + \@fleqntrue + \setlength\@mathmargin{1.5cm} + \tagsleft@true + \usetagform{colon} + % \let\maketag@@@orig@pmg=\maketag@@@ + % \def\maketag@@@#1{\hbox{\m@th\normalfont#1:}} + \begin{equation}\tag{#1} + }{ + \end{equation} + \let\if@fleqn=\@origif@fleqn@pmg + \let\iftagsleft@=\@origiftagsleft@pmg + \usetagform{default} + % \let\maketag@@@=\maketag@@@orig@pmg + } + + \newenvironment{require}[3][]{ + \begin{requirement}{\req[#1]{#2}{#3}} \label{\detokenize{req:#2@#1}} + }{ + \end{requirement} + } + \newcommand*{\refreq}[2][]{\ref{\detokenize{req:#2@#1}}} + +\fi +} + + + +\AtEndOfPackage{ +\ifrecthy@nostructresets + \@packinfo{Not loading r.e. set structs w/ containment.} +\else + \@packinfo{Loading r.e. set structs w/ containment.} +\newcommand*{\promptdif}{\setminus_{\downarrow}} +\let\setbefore=\promptdif +\let\promptminus=\promptdif +\let\promptsetminus=\promptdif + +\newcommand*{\StrcE}{\ensuremath{\mathscr{E}}} +\WithSuffix\def\StrcE*{\ensuremath{\mathscr{E}^{*}}} +\let\strucE\StrcE +\newcommand*{\StrcL}[1]{\mathscr{L}(#1)} +\newcommand*{\StrcStarL}[1]{\mathscr{L}^{*}(#1)} +\WithSuffix\def\StrcL*{\StrcStarL} +\newcommand*{\splitof}{\sqsubset} +\newcommand*{\splitby}{\sqsupset} +\newcommand*{\StrcR}{\ensuremath{\mathcal{R}}} +\newcommand*{\StrcD}{\ensuremath{\mathcal{D}}} + + +\fi +} + \AtEndOfPackage{ \ifrecthy@nohyphenation \@packinfo{No hyphenation loading.} @@ -202,41 +342,43 @@ \fi } -\DeclareOption{reterms}{% +\DeclareOptionX{reterms}{% \let\@recthy@ce=\@recthy@re \let\@recthy@computable=\@recthy@recursive \let\@recthy@computablyEnumerable=\@recthy@recursivelyEnumerable \let\@recthy@ComputablyEnumerable=\@recthy@RecursivelyEnumerable } %Make all references to ce change to re - - \DeclareOption{reaterms}{% + + \DeclareOptionX{reaterms}{% \let\@recthy@CEA=\@recthy@REA } - -\DeclareOption{ceterms}{% + +\DeclareOptionX{ceterms}{% \let\@recthy@re=\@recthy@ce \let\@recthy@recursive=\@recthy@computable \let\@recthy@recursivelyEnumerable=\@recthy@computablyEnumerable \let\@recthy@RecursivelyEnumerable=\@recthy@ComputablyEnumerable } %Make all references to re change to ce -\DeclareOption{ceaterms}{% +\DeclareOptionX{ceaterms}{% \let\@recthy@REA=\@recthy@CEA } % Set stuff -\newcommand*{\@recthy@set}[2]{\ifthenelse{\isempty{#2}}{\left \{ #1 \right \}}{\left \{ #1 \middle | #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 \}}} +\newcommand*{\@setplain@pmg}{\left \{ \@set@argi@pmg \right \}} +% \newcommand*{\@recthy@set}[2]{\ifthenelse{\isempty{#2}}{\left \{ #1 \right \}}{\left \{ #1 \middle | #2\right \}} } \newcommand*{\@recthy@card}[1]{\lvert#1\rvert} \newcommand*{\@recthy@union}{\mathbin{\cup}} \newcommand*{\@recthy@Union}{\mathop{\bigcup}} \newcommand*{\@recthy@isect}{\mathbin{\cap}} \newcommand*{\@recthy@Isect}{\mathop{\bigcap}} - +\newcommand*{\@recthy@nin}{\notin} \newcommand*{\@recthy@powset}[1]{\mathcal{P}\left(#1\right)} \newcommand*{\@recthy@eset}{\emptyset} -\newcommand*{\@recthy@nin}{\mathrel{\not\in}} \newcommand*{\@recthy@setcmpminusSYM}{\backsim} \newcommand*{\@recthy@setminuscmp}[1]{\mathop{\@recthy@setcmpminusSYM} #1} \newcommand*{\@recthy@setovercmp}[1]{\overline{#1}} @@ -244,9 +386,9 @@ \def\@recthy@setminusSYM{-} -\DeclareOption{setminussym}{\def\@recthy@setminusSYM{#1}} -\DeclareOption{setcmpminussym}{\def\@recthy@setminusSYM{#1}} -\DeclareOption{minussetcmp}{\let\@recthy@setcmp=\@recthy@setminuscmp} +\DeclareOptionX{setminussym}{\def\@recthy@setminusSYM{#1}} +\DeclareOptionX{setcmpminussym}{\def\@recthy@setminusSYM{#1}} +\DeclareOptionX{minussetcmp}{\let\@recthy@setcmp=\@recthy@setminuscmp} \newcommand*{\@recthy@setminus}{\mathbin{\@recthy@setminusSYM}} @@ -285,26 +427,39 @@ \@packinfo{No quants loading.} \else \@packinfo{Quants loading.} - \WithSuffix\def\exists(#1){\left(\exists\, #1 \right)\!} - \WithSuffix\def\forall(#1){\left(\forall\, #1 \right)\!} - \WithSuffix\def\nexists(#1){\left(\nexists\, #1 \right)\!} - \WithSuffix\def\exists[#1]{\left[\exists\, #1 \right]\!} - \WithSuffix\def\forall[#1]{\left[\forall\, #1 \right]\!} - \WithSuffix\def\nexists[#1]{\left[\nexists\, #1 \right]\!} - \WithSuffix\def\forall*{\forallae} - \WithSuffix\def\exists*{\existsinf} - \WithSuffix\def\nexists*{\nexistsinf} - + \newcommand*{\existsuniq}{\exists !} + \newcommand*{\nexistsuniq}{\nexists !} + \WithSuffix\def\existsuniq(#1){\left(\existsuniq\, #1 \right)\!} + \WithSuffix\def\nexistsuniq(#1){\left(\nexistsuniq\, #1 \right)\!} + \WithSuffix\def\existsuniq[#1]{\left[\existsuniq\, #1 \right]\!} + \WithSuffix\def\nexistsuniq[#1]{\left[\nexistsuniq\, #1 \right]\!} + \newcommand*{\forallae}{\forall^{*}} \WithSuffix\def\forallae(#1){\left(\forallae\, #1\right)\!} \WithSuffix\def\forallae[#1]{\left[\forallae\, #1\right]\!} + \newcommand*{\existsinf}{\exists^{\infty}} \WithSuffix\def\existsinf(#1){\left(\existsinf\, #1\right)\!} \WithSuffix\def\existsinf[#1]{\left[\existsinf\, #1\right]\!} + \newcommand*{\nexistsinf}{\nexists^{\infty}} \WithSuffix\def\nexistsinf(#1){\left(\nexistsinf\, #1\right)\!} \WithSuffix\def\nexistsinf[#1]{\left[\nexistsinf\, #1\right]\!} + \WithSuffix\def\exists(#1){\left(\exists\, #1 \right)\!} + \WithSuffix\def\forall(#1){\left(\forall\, #1 \right)\!} + \WithSuffix\def\nexists(#1){\left(\nexists\, #1 \right)\!} + \WithSuffix\def\exists[#1]{\left[\exists\, #1 \right]\!} + \WithSuffix\def\forall[#1]{\left[\forall\, #1 \right]\!} + \WithSuffix\def\nexists[#1]{\left[\nexists\, #1 \right]\!} + \WithSuffix\def\forall*{\forallae} + \WithSuffix\def\exists*{\existsinf} + \WithSuffix\def\nexists*{\nexistsinf} + \WithSuffix\def\exists!{\existsuniq} + + + + \newcommand*{\True}{\top} \newcommand*{\False}{\bot} @@ -344,10 +499,11 @@ %Strings \newcommand*{\@recthy@EmptyStr}{\lambda} -\newcommand*{\@recthy@concatSYM}{\hat{}} -\DeclareOptionX<\@recthy@family>{emptystr}[]{\def\@recthy@EmptyStr{#1}} -\DeclareOptionX<\@recthy@family>{concat}[]{\def\@recthy@concatSYM{#1}} - +\newcommand*{\@recthy@concatSYM}{\hat{\;}} +% \DeclareOptionX<\@recthy@family>{emptystr}[]{\def\@recthy@EmptyStr{#1}} +% \DeclareOptionX<\@recthy@family>{concat}[]{\def\@recthy@concatSYM{#1}} +\DeclareOptionX{emptystr}{\def\@recthy@EmptyStr{#1}} +\DeclareOptionX{concat}{\def\@recthy@concatSYM{#1}} \AtEndOfPackage{ \ifrecthy@nostrings @@ -412,7 +568,7 @@ \WithSuffix\def\subset*{\subset^{*}} \WithSuffix\def\supset*{\supset^{*}} \WithSuffix\def\subseteq*{\subseteq^{*}} - \WithSuffix\def\supseteq*{\supseteq^{*}} + \WithSuffix\def\supseteq*{\supseteq^{*}} \providecommand*{\nsupset}{\not\supset} \providecommand*{\nsubset}{\not\subset} \WithSuffix\def\nsubset*{\nsubset^{*}} @@ -461,8 +617,8 @@ \newcommand*{\wck}{\ensuremath{\omega^{ck}_1}} % \newcommand*{\ordtype}[1]{\ensuremath{\@recthy@abs{#1}_{\kleeneO}}} \newcommand*{\ordzero}{\ensuremath{0}} - - \newcommand*{\kleeneO}{\let\@PMG@parenarg\@PMG@undefined\let\@PMG@braketarg\@PMG@undefined\def\kleeneOSYM{\mathcal{O}}\@kleeneObody} + \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% @@ -472,7 +628,9 @@ \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 \newcommand*{\kleeneOuniq}{\kleeneO*} \let\ordNotations=\kleeneO @@ -495,7 +653,7 @@ \let\hgtO=\kleenehgt \newcommand*{\kleenelim}[2]{{#1}_{[#2]}} \newcommand*{\kleenepred}[1]{{#1}^{-}} - + \fi } @@ -531,9 +689,9 @@ %%%%%%%%% Formula Classes -\newcommand*{\@recthy@CDelta}{\vphantom{\Delta}^{\mathcal{C}}\Delta} -\newcommand*{\@recthy@CSigma}{\vphantom{\Sigma}^{\mathcal{C}}\Sigma} -\newcommand*{\@recthy@CPi}{\vphantom{\Pi}^{\mathcal{C}}\Pi} +\newcommand*{\@recthy@CDelta}{\prescript{\mathcal{C}}{}{\Delta}} +\newcommand*{\@recthy@CSigma}{\prescript{\mathcal{C}}{}{\Sigma}} +\newcommand*{\@recthy@CPi}{\prescript{\mathcal{C}}{}{\Pi}} \DeclareOptionX<\@recthy@family>{cdeltasym}[]{\def\@recthy@CDelta{#1}} \DeclareOptionX<\@recthy@family>{csigmasym}[]{\def\@recthy@CSigma{#1}} @@ -700,13 +858,13 @@ - \newcommand*{\Cdeltan}[1]{\CDelta_{#1}} - \WithSuffix\def\Cdeltan[#1]#2{\Cdeltan{#2}^{#1}} + \newcommand*{\Cdeltan}[1]{\CDelta_{#1}} + \WithSuffix\def\Cdeltan[#1]#2{\Cdeltan{#2}^{#1}} \newcommand*{\Cpin}[1]{\CPi_{#1}} - \WithSuffix\def\Cpin[#1]#2{\Cpin{#2}^{#1}} + \WithSuffix\def\Cpin[#1]#2{\Cpin{#2}^{#1}} \newcommand*{\Csigman}[1]{\CSigma_{#1}} \WithSuffix\def\Csigman[#1]#2{\CSigma_{#2}^{#1}} - + \newcommand*{\CdeltaZeroN}[1]{\Cdeltan[0]{#1}} \newcommand*{\CdeltaZeroTwo}{\CdeltaZeroN{2}} \newcommand*{\CdeltaZeroThree}{\CdeltaZeroN{3}} @@ -715,8 +873,8 @@ \newcommand*{\CdeltaOneN}[1]{\Cdeltan[1]{#1}} \newcommand*{\CdeltaOneOne}{\CdeltaOneN{1}} \newcommand*{\CdeltaOneTwo}{\CdeltaOneN{2}} - \newcommand*{\CdeltaOneThree}{\CdeltaOneN{3}} - \newcommand*{\CpiZeroN}[1]{\Cpin[0]{#1}} + \newcommand*{\CdeltaOneThree}{\CdeltaOneN{3}} + \newcommand*{\CpiZeroN}[1]{\Cpin[0]{#1}} \newcommand*{\CpiOneN}[1]{\Cpin[1]{#1}} \newcommand*{\CpiOneOne}{\CpiOneN{1}} \newcommand*{\CpiOneThree}{\CpiOneN{3}} @@ -732,8 +890,8 @@ \newcommand*{\CsigmaZeroOne}{\CsigmaZeroN{1}} \newcommand*{\CsigmaZeroThree}{\CsigmaZeroN{3}} \newcommand*{\CsigmaZeroTwo}{\CsigmaZeroN{2}} - - + + \WithSuffix\def\CsigmaOneN[#1]#2{\Csigma[1,#1]{#2}} \WithSuffix\def\CsigmaOneOne[#1]{\CsigmaOneN[#1]{1}} \WithSuffix\def\CsigmaOneThree[#1]{\CsigmaOneN[#1]{3}} @@ -759,7 +917,7 @@ \WithSuffix\def\CdeltaZeroTwo[#1]{\CdeltaZeroN[#1]{2}} \WithSuffix\def\CdeltaZeroThree[#1]{\CdeltaZeroN[#1]{3}} \WithSuffix\def\CdeltaZeroOne[#1]{\CdeltaZeroN[#1]{1}} - + %%%ABREVIATIONS \newcommand*{\Cdeltaz}{\CdeltaN{0}} @@ -789,9 +947,9 @@ \newcommand*{\CpiIi}{\CpiOneOne} \newcommand*{\CpiIii}{\CpiOneTwo} \newcommand*{\CpiIiii}{\CpiOneThree} - + %%%BOLDFACE - + \newcommand*{\Deltan}[1]{\utilde{\mathbf{\Delta}}_{#1}} \WithSuffix\def\Deltan[#1]#2{\utilde{\mathbf{\Delta}}^{#1}_{#2}} % \WithSuffix\def\Deltan(#1)#2{\deltan{#2}\!\left(#1\right)} @@ -919,7 +1077,7 @@ \newcommand*{\PiIi}{\PiOneOne} \newcommand*{\PiIii}{\PiOneTwo} \newcommand*{\PiIiii}{\PiOneThree} - + @@ -929,6 +1087,7 @@ } + %%%ABREVIATIONS @@ -942,14 +1101,10 @@ \newcommand{\Low}[1][]{\ensuremath{ \text{Low}^{#1} }} \newcommand{\LowN}[2][]{\ensuremath{ \text{Low}^{#1}_{#2} }} \newcommand{\lowN}[2][]{\ensuremath{ \mathcal{L}^{#1}_{#2} }} - \newcommand{\req}[2]{\ensuremath{\mathcal{#1}_{#2}}} \fi } - -% \ProcessOptions* -\ProcessOptionsX<\@recthy@family> - +\AtEndOfPackage{ \ifrecthy@nocomputations \@packinfo{No computations loading.} \else @@ -970,15 +1125,53 @@ {\ifthenelse{\isempty{#3}}{(#4)}{(#3;#4)}% }} + \newcommand*{\thetafnl}[4][]{\Theta_{#2\ifthenelse{\isempty{#1}}{}{,#1} }% + \ifthenelse{\isempty{#4}}% + {\ifthenelse{\isempty{#3}}% + {}% No args then print no parents + {(#3)} + }%If no oracle we just refer to the functional without any arguments + {\ifthenelse{\isempty{#3}}{(#4)}{(#3;#4)}% + }} + + \newcommand*{\psifnl}[4][]{\Psi_{#2\ifthenelse{\isempty{#1}}{}{,#1} }% + \ifthenelse{\isempty{#4}}% + {\ifthenelse{\isempty{#3}}% + {}% No args then print no parents + {(#3)} + }%If no oracle we just refer to the functional without any arguments + {\ifthenelse{\isempty{#3}}{(#4)}{(#3;#4)}% + }} + + \newcommand*{\phifnl}[4][]{\Phi_{#2\ifthenelse{\isempty{#1}}{}{,#1} }% + \ifthenelse{\isempty{#4}}% + {\ifthenelse{\isempty{#3}}% + {}% No args then print no parents + {(#3)} + }%If no oracle we just refer to the functional without any arguments + {\ifthenelse{\isempty{#3}}{(#4)}{(#3;#4)}% + }} + + \newcommand*{\upsilonfnl}[4][]{\Upsilon_{#2\ifthenelse{\isempty{#1}}{}{,#1} }% + \ifthenelse{\isempty{#4}}% + {\ifthenelse{\isempty{#3}}% + {}% No args then print no parents + {(#3)} + }%If no oracle we just refer to the functional without any arguments + {\ifthenelse{\isempty{#3}}{(#4)}{(#3;#4)}% + }} + \newcommand*{\cequiv}{\mathrel{\backsimeq}} \newcommand*{\ncequiv}{\mathrel{\not\cequiv}} \newcommand*{\conv}[1][]{\mathpunct{\downarrow}_{#1}} + \let\converge=\conv %\newcommand*{\convs}[1]{\ensuremath{\conv_{#1}}} - \newcommand*{\nconv}[1][]{\mathpunct{\mkern-4mu{\arrownot\mkern 4mu \downarrow}_{#1}}} +% \newcommand*{\nconv}[1][]{\mathpunct{\mkern-4mu{\arrownot\mkern 4mu \downarrow}_{#1}}} + \newcommand*{\nconv}[1][]{\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{\mathbrush{u}}\!\left[{#1}\right]} + \newcommand*{\use}[1]{\mathop{\ltx@ifpackageloaded{unicode-math}{\mathbffrak{u}}{\mathfrak{u}}}\!\left[{#1}\right]} \newcommand*{\REset}{\let\@PMG@parenarg\@PMG@undefined\let\@PMG@braketarg\@PMG@undefined\@REsetbody} \newcommand*{\@REsetbody}[1]{W\ifdefined\@PMG@parenarg @@ -998,7 +1191,7 @@ \let\iREAop=\oneREAop \WithSuffix\def\reaop*#1{\oneREAop{#1}} %converges - + \fi @@ -1009,14 +1202,14 @@ %%%%%%Turing Degrees - \newcommand*{\Tdeg}[1]{\utilde{#1}} + \newcommand*{\Tdeg}[1]{\utilde{\mathbf{#1}}} \newcommand*{\Tjump}[1]{#1'} \let\jump=\Tjump \newcommand*{\jumpn}[2]{#1^{(#2)}} \newcommand*{\jjump}[1]{#1''} % \newcommand*{\Tzerosym}{\MVZero} - \newcommand*{\Tzerosym}{\MVZero} + \newcommand*{\Tzerosym}{\mathbb{0}} \newcommand*{\Tzero}{{\Tzerosym}} \newcommand*{\zeron}[1]{{\Tzerosym}^{(#1)}} \newcommand*{\zeroj}{\jump{{\Tzerosym}}} @@ -1067,12 +1260,17 @@ \newcommand*{\ttgeq}{\geq_{\@recthy@ttSYM}} \newcommand*{\ttgtr}{>_{\@recthy@ttSYM}} \newcommand*{\ttless}{<_{\@recthy@ttSYM}} - \newcommand*{\ttTleq}{\nleq_{\@recthy@ttSYM}} - \newcommand*{\ttTgeq}{\ngeq_{\@recthy@ttSYM}} + \newcommand*{\ttnleq}{\nleq_{\@recthy@ttSYM}} + \newcommand*{\ttngeq}{\ngeq_{\@recthy@ttSYM}} \fi +} + +% \ProcessOptions* +% \ProcessOptionsX<\@recthy@family> +\ProcessOptionsX -- cgit v1.2.3