summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-12-31 22:10:53 +0000
committerKarl Berry <karl@freefriends.org>2017-12-31 22:10:53 +0000
commit2834fd56cd1bc62d7f3c3be694fd9c2def9b4918 (patch)
tree5bdfa78897c7464e87ba41d37349b72473dfa5cb /Master
parentba0ba8f0702bea26b7a9ee9ebd902b4876ae2a21 (diff)
rec-thy (31dec17)
git-svn-id: svn://tug.org/texlive/trunk@46178 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/rec-thy/README4
-rw-r--r--Master/texmf-dist/doc/latex/rec-thy/rec-thy.pdfbin99572 -> 109580 bytes
-rw-r--r--Master/texmf-dist/doc/latex/rec-thy/rec-thy.tex123
-rw-r--r--Master/texmf-dist/tex/latex/rec-thy/rec-thy.sty135
4 files changed, 249 insertions, 13 deletions
diff --git a/Master/texmf-dist/doc/latex/rec-thy/README b/Master/texmf-dist/doc/latex/rec-thy/README
index 9e050067645..cd5256a4b5a 100644
--- a/Master/texmf-dist/doc/latex/rec-thy/README
+++ b/Master/texmf-dist/doc/latex/rec-thy/README
@@ -23,4 +23,6 @@ Github URL: https://github.com/TruePath/Recursion-Theory-Latex-Package
01/01/2011 - v1.2
06/20/2012 - v1.3
09/26/2017 - v2.0 - Added support for introducing requirements, the subfunction relation and probably other undocumented features
-10/05/2017 - v2.1 - Fixed way packages are required so rec-thy can be loaded in a flexible order. Also fixed one or two bugs. \ No newline at end of file
+10/05/2017 - v2.1 - Fixed way packages are required so rec-thy can be loaded in a flexible order. Also fixed one or two bugs.
+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 \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/rec-thy/rec-thy.pdf b/Master/texmf-dist/doc/latex/rec-thy/rec-thy.pdf
index f339ebd5027..0ccd3abacc1 100644
--- a/Master/texmf-dist/doc/latex/rec-thy/rec-thy.pdf
+++ b/Master/texmf-dist/doc/latex/rec-thy/rec-thy.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/rec-thy/rec-thy.tex b/Master/texmf-dist/doc/latex/rec-thy/rec-thy.tex
index 225770b62c0..9c5c1dd6936 100644
--- a/Master/texmf-dist/doc/latex/rec-thy/rec-thy.tex
+++ b/Master/texmf-dist/doc/latex/rec-thy/rec-thy.tex
@@ -5,19 +5,55 @@
% Copyright (c) 2010 . All rights reserved.
%
-\documentclass[11pt,oneside]{article}
+\documentclass[leqno,11pt]{amsart}
\usepackage{amsmath}
% \RequirePackage{amsmath}
\usepackage[disallowspaces,fixamsmath]{mathtools}
\usepackage{amssymb}
\usepackage{amsthm}
% \usepackage{amsfonts}
-\usepackage{rec-thy}
+% \DeclareMathAlphabet{\mathpzc}{OT1}{pzc}{m}{it}
+% \DeclareMathAlphabet{\mathbrush}{T1}{pbsi}{xl}{n}
+\usepackage{mathspec}
+
+\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]
+
+\usepackage{hyperxmp}
+\usepackage[unicode,psdextra,pdfusetitle]{hyperref}
+\hypersetup{%
+ %pdfauthor={Peter M. Gerdes},
+ pdfsubject={LaTeX Package for Typesetting Computability Theory},
+ pdfkeywords={LaTeX;LaTex Package;Recursion Theory;Computability Theory;Mathematical Logic;r.e. sets; Turing reducibility;arithmetic hierarchy},
+ colorlinks=true,
+ citecolor=blue,
+ urlcolor=blue,
+ linkcolor=magenta,
+ pdfborder={0 0 0},
+ breaklinks=true,
+ pdfdisplaydoctitle=true,
+ pdfcontactaddress={107 Ardsley Drive},
+ pdfcontactcity={Syracuse, NY},
+ pdfcontactpostcode={13214},
+ pdfcontactcountry={United States},
+ pdfcontactphone={256-333-0128},
+ pdfcontactemail={gerdes@invariant.org},
+ pdfcontacturl={http://invariant.org},
+ pdflang={en},
+ % pdfauthortitle={Technical Assistant, Level III},
+ % pdfdate={\today},
+ pdfcopyright={Copyright (C) \today, Peter M. Gerdes},
+ baseurl={http://invariant.org}
+}
+\usepackage{cleveref}
+\usepackage{listings}
\usepackage{multirow}
\usepackage{booktabs}
\usepackage{xtab}
-\usepackage{hyperref}
-\usepackage{listings}
+\usepackage{rec-thy}
+\usepackage{metalogo}
\newcommand{\tab}{\hspace{1cm}}
@@ -25,7 +61,7 @@
%
% Running Headers and footers
%\usepackage{fancyhdr}
-%\usepackage[parfill]{parskip}
+\usepackage[parfill]{parskip}
%\usepackage{setspace}
% Multipart figures
@@ -47,7 +83,7 @@
\title{The rec-thy Package}
\author{Peter M. Gerdes (gerdes@invariant.org)}
-\date{2011-01-01: Version 2.1}
+\date{\today: Version 2.3}
\begin{document}
@@ -58,7 +94,7 @@
\begin{abstract}
- The rec-thy package is designed to help mathematicians publishing papers in the area of recursion theory (aka Computability Theory) easily use standard notation. This includes easy commands to denote Turing reductions, Turing functionals, \ce sets, stagewise computations, forcing and syntactic classes.
+\noindent The rec-thy package is designed to help mathematicians publishing papers in the area of recursion theory (aka Computability Theory) easily use standard notation. This includes easy commands to denote Turing reductions, Turing functionals, \ce sets, stagewise computations, forcing and syntactic classes.
\end{abstract}
\section{Introduction}
@@ -468,6 +504,77 @@ To change the syntax for the computable infinitary formulas you can pass the opt
\bottomrule
\end{xtabular}
+\subsection{Proof Cases}
+
+\begin{proof}
+The pfcases enviornment provides a numbered, referenceable division of a proof segment into cases.
+
+\begin{pfcases}
+\case[\( x = y \)]\label{case:first} %
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. In et enim eget nisl luctus venenatis. Pellentesque sed erat sodales, tincidunt quam non, eleifend risus. Fusce aliquam dignissim pharetra. Integer id dui ac libero tincidunt consectetur. Sed laoreet nunc nec semper laoreet.
+
+ Vestibulum semper eget velit ut lobortis. In vel finibus est. Nullam tellus dolor, pellentesque sed orci sed, ornare pretium diam. Nam vel tincidunt tellus. Nulla at mi nisl.
+
+\case[\( x = z \land z > q \land z < r \land x + z = r \)] \label{case:second} %
+ Quisque consectetur, felis non congue dictum, mauris mi suscipit sem, vel laoreet justo ipsum in tellus. Suspendisse blandit malesuada velit faucibus pulvinar.
+
+\begin{pfcases}
+\case[\( x=2 \)] \label{case:second:sub1} %
+ ipsum dolor sit amet, consectetur adipiscing elit. In et enim eget nisl luctus venenatis. Pellentesque sed erat sodales, tincidunt quam non, eleifend risus. Fusce aliquam dignissim pharetra. Integer id dui ac libero tincidunt consectetur. Sed laoreet nunc nec semper laoreet.
+\case[\( x = 3 \)] \label{case:second:sub2} %
+ consectetur adipiscing elit. In et enim eget nisl luctus venenatis. Pellentesque sed erat sodales, tincidunt quam non, eleifend
+\end{pfcases}
+
+\end{pfcases}
+
+We can now reference the case number \ref{case:second} and cleveref \cref{case:second} as well as case \ref{case:second:sub1} and cleveref \cref{case:second:sub2}.
+
+
+To skip numbering and instead reference with the argument to \verb=\case= use pfcases*
+\begin{pfcases*}
+\case[\( x = y \)]\label{case*:first} Lorem ipsum dolor sit amet, consectetur adipiscing elit. In et enim eget nisl luctus venenatis. Pellentesque sed erat sodales, tincidunt quam non, eleifend risus. Fusce aliquam dignissim pharetra. Integer id dui ac libero tincidunt consectetur. Sed laoreet nunc nec semper laoreet.
+
+Vestibulum semper eget velit ut lobortis. In vel finibus est. Nullam tellus dolor, pellentesque sed orci sed, ornare pretium diam. Nam vel tincidunt tellus. Nulla at mi nisl.
+
+\case[\( x = z \land z > q \land z < r \land x + z = r \)] \label{case*:second} Quisque consectetur, felis non congue dictum, mauris mi suscipit sem, vel laoreet justo ipsum in tellus. Suspendisse blandit malesuada velit faucibus pulvinar.
+\begin{pfcases*}
+\case[\( x=2 \)] \label{case*:second:sub1} Lorem ipsum dolor sit amet, consectetur adipiscing elit. In et enim eget nisl luctus venenatis. Pellentesque sed erat sodales, tincidunt quam non, eleifend risus. Fusce aliquam dignissim pharetra. Integer id dui ac libero tincidunt consectetur. Sed laoreet nunc nec semper laoreet.
+\case[\( x = 3 \)] \label{case*:second:sub2} consectetur adipiscing elit. In et enim eget nisl luctus venenatis. Pellentesque sed erat sodales, tincidunt quam non, eleifend
+\end{pfcases*}
+\end{pfcases*}
+\end{proof}
+
+Again we can ref case \ref{case*:second} and cleverref that \cref{case*:second}. Also case \ref{case*:second:sub1} and cleveref \cref{case*:second:sub2}.
+
+If the choice of cleveref labels aren't to your taste please let me know and I will consider changing them. Also, note that by passing the options \verb!pfcasefont=textit! one can change the font used to typeset Case to italics (or whatever other font command you choose).
+
+\vspace{.5cm}
+
+The above is accomplished with the following code.
+\begin{verbatim}
+\begin{proof}
+\begin{pfcases}
+ \case[\( x = y \)]\label{case:first} ...
+ \case[\( x = z \land z > q \land z < r \land x + z = r \)] \label{case:second} ..
+ \begin{pfcases}
+ \case[\( x=2 \)] \label{case:second:sub1} ..
+ \case[\( x = 3 \)] \label{case:second:sub2}..
+ \end{pfcases}
+\end{pfcases}
+.. \ref{case:second}.. \cref{case:second} .. \ref{case:second:sub1} .. \cref{case:second:sub2}
+\begin{pfcases*}
+ \case[\( x = y \)]\label{case*:first} ..
+ \case[\( x = z \land z > q \land z < r \land x + z = r \)] \label{case*:second} ..
+ \begin{pfcases*}
+ \case[\( x=2 \)] \label{case*:second:sub1} ..
+ \case[\( x = 3 \)] \label{case*:second:sub2}
+ \end{pfcases*}
+.. \ref{case*:second} .. \cref{case*:second} .. \ref{case*:second:sub1} .. \cref{case*:second:sub2}.
+\end{proof}
+\end{verbatim}
+
+
+
\subsection{MRref}
Finally to enable the mrref helper macros pass the option \verb=mrref=.\\ These macros normalize the formating of mathscinet references for supported bibliography styles and ensure the MR numbers link to the mathscinet page of the article. Unless you have a good reason (like journal formatting guidelines) there is no reason not to always pass this option. Note this option requires the hyperref package.
@@ -476,6 +583,8 @@ Finally to enable the mrref helper macros pass the option \verb=mrref=.\\ These
\section{Release Notes}
\begin{itemize}
+ \item[2.3] 12/31/2017 - Added proof cases helper. Also fixed the issue with \verb=\ncequiv= in \XeLaTeX
+ \item[2.2] 11/14/2017 - Fixed \verb=\Tdeg= so it works different on symbols and vars and added \verb=\Tdegof= and \verb=\Tvarof=. Added \verb=\subfunneq= and \verb=\supfunneq=.
\item[2.1] 10/05/2017 - Fixed way packages are required so rec-thy can be loaded in a flexible order. Also fixed one or two bugs.
\item[2.0] 09/26/2017 - Added support for introducing requirements, the subfunction relation and probably other undocumented features
\item[1.3] 06/20/2012 - Added abbreviations for computable infinitary formulas and made a few minor fixes.
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 02e13a16a28..a10b493e04f 100644
--- a/Master/texmf-dist/tex/latex/rec-thy/rec-thy.sty
+++ b/Master/texmf-dist/tex/latex/rec-thy/rec-thy.sty
@@ -1,5 +1,5 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{rec-thy}[2017/09/26 v2.1 Provides commands for writing up recursion theory papers]
+\ProvidesPackage{rec-thy}[2017/12/31 v2.3 Provides commands for writing up recursion theory papers]
\makeatletter
% \newcommand*{\@curpack}{\@currname} %rec-thy.sty
\newcommand*{\@packinfo}[1]{\PackageInfo{rec-thy}{#1}}
@@ -81,6 +81,7 @@
\newif\ifrecthy@nostructresets \recthy@nostructresetsfalse
\newif\ifrecthy@noreqhelper \recthy@noreqhelperfalse
\newif\ifrecthy@nosubfun \recthy@nosubfunfalse
+\newif\ifrecthy@nopfcases \recthy@nopfcasesfalse
\newif\ifrecthy@hyperreqs \recthy@hyperreqstrue
\DeclareOptionX{nohyphenation}{\recthy@nohyphenationtrue}
@@ -104,15 +105,124 @@
\DeclareOptionX{nostructresets}{\recthy@nostructresetstrue}
\DeclareOptionX{noreqhelper}{\recthy@noreqhelpertrue}
\DeclareOptionX{nosubfun}{\recthy@nosubfuntrue}
+\DeclareOptionX{nopfcases}{\recthy@nopfcasestrue}
\DeclareOptionX{nohyperreqs}{\recthy@hyperreqsfalse}
\DeclareOptionX{degjoin}{\def\Tjoin{\Tdegjoin}}
+\let\pmg@casefont=\textsc
+\DeclareOptionX{pfcasefont}[textsc]{\edef\pmg@casefont{\expandafter\noexpand\csname #1 \endcsname}}
+
+\AtEndOfPackage{
+ \ifrecthy@nopfcases
+ \@packinfo{Not loading Proof Cases Helper}
+ \else
+ \@packinfo{Loading Proof Cases Helper.}
+ \RequirePackage{enumitem}
+ \ltx@ifpackageloaded{cleveref}{
+ % \crefname{pfcasesnonumi}{case}{cases}
+ % \Crefname{pfcasesnonumi}{Case}{Cases}
+ \crefformat{pfcasesnonumi}{#2case~#1#3}
+ \Crefformat{pfcasesnonumi}{#2Case~#1#3}
+ % \crefname{pfcasesnonumii}{case}{cases}
+ % \Crefname{pfcasesnonumii}{Case}{Cases}
+ \crefformat{pfcasesnonumii}{#2subcase~#1#3}
+ \Crefformat{pfcasesnonumii}{#2Subcase~#1#3}
+ % \crefname{pfcasesnonumiii}{case}{cases}
+ % \Crefname{pfcasesnonumiii}{Case}{Cases}
+ \crefformat{pfcasesnonumiii}{#2subsubcase~#1#3}
+ \Crefformat{pfcasesnonumiii}{#2Subsubcase~#1#3}
+ % \crefname{pfcasesnumberedi}{case}{cases}
+ % \Crefname{pfcasesnumberedi}{Case}{Cases}
+ \crefformat{pfcasesnumberedi}{#2case~#1#3}
+ \Crefformat{pfcasesnumberedi}{#2Case~#1#3}
+ % \crefname{pfcasesnumberedii}{case}{cases}
+ % \Crefname{pfcasesnumberedii}{Case}{Cases}
+ \crefformat{pfcasesnumberedii}{#2case~#1#3}
+ \Crefformat{pfcasesnumberedii}{#2Case~#1#3}
+ % \crefname{pfcasesnumberediii}{case}{cases}
+ % \Crefname{pfcasesnumberediii}{Case}{Cases}
+ \crefformat{pfcasesnumberediii}{#2case~#1#3}
+ \Crefformat{pfcasesnumberediii}{#2Case~#1#3}
+ }{}
+ \newlist{pfcasesnonum}{enumerate}{3}
+ \setlist[pfcasesnonum]{
+ label={\pmg@casefont{Case}}\protect\thiscase:~,
+ align=left,
+ labelsep=!,
+ itemindent=-1em,
+ leftmargin=2em,
+ labelindent=0pt,
+ labelwidth=0pt
+ }
+ \setlist[pfcasesnonum,1]{
+ before=\def\pfcasecounter@pmg{pfcasesnonumi},
+ }
+ \setlist[pfcasesnonum,2]{
+ before=\def\pfcasecounter@pmg{pfcasesnonumii},
+ }
+ \setlist[pfcasesnonum,3]{
+ before=\def\pfcasecounter@pmg{pfcasesnonumiii},
+ }
+ \newlist{pfcasesnumbered}{enumerate}{3}
+ \setlist[pfcasesnumbered]{
+ align=left,
+ labelsep=!,
+ itemindent=-1em,
+ leftmargin=2em,
+ labelindent=0pt,
+ labelwidth=0pt
+ }
+ \setlist[pfcasesnumbered,1]{
+ before=\def\pfcasecounter@pmg{pfcasesnumberedi},
+ label={{\pmg@casefont{Case}}~\arabic*\protect\thiscase:~},
+ ref={\arabic*},
+ }
+ \setlist[pfcasesnumbered,2]{
+ before=\def\pfcasecounter@pmg{pfcasesnumberedii},
+ label={{\pmg@casefont{Case}}~\arabic{pfcasesnumberedi}\alph*:\protect\thiscase.~},
+ ref={\arabic{pfcasesnumberedi}\alph*},
+ }
+ \setlist[pfcasesnumbered,3]{
+ before=\def\pfcasecounter@pmg{pfcasesnumberediii},
+ label={{\pmg@casefont{Case}}~\arabic{pfcasesnumberedi}\alph{pfcasesnumberedii}.\roman*:\protect\thiscase.~},
+ ref={\arabic{pfcasesnumberedi}\alph{pfcasesnumberedii}.\roman*},
+ }
+ \newenvironment{pfcases*}{
+ \providecommand{\case}[1][]{%
+ \if\relax\detokenize{##1}\relax
+ \def\thiscase{}%
+ \else
+ \def\thiscase{~##1}%
+ \fi
+ \item \ltx@ifpackageloaded{cleveref}{%
+ \cref@constructprefix{pfcases}{\cref@result}%
+ \protected@xdef\cref@currentlabel{[\pfcasecounter@pmg][][\cref@result]##1}}{} \protected@edef\@currentlabel{##1}%
+ }
+ \begin{pfcasesnonum}
+ }
+ {\end{pfcasesnonum}}
+
+ \newenvironment{pfcases}{
+ \providecommand{\case}[1][]{%
+ \if\relax\detokenize{##1}\relax
+ \def\thiscase{}%
+ \else
+ \def\thiscase{~##1}%
+ \fi
+ \item \ltx@ifpackageloaded{cleveref}{%
+ \cref@constructprefix{\pfcasecounter@pmg}{\cref@result}
+ \protected@xdef\cref@currentlabel{[\pfcasecounter@pmg][][\cref@result] \csname the\pfcasecounter@pmg \endcsname}}{}%
+ }
+ \begin{pfcasesnumbered}}{\end{pfcasesnumbered}}
+ \fi
+}
+
\AtEndOfPackage{
\ifrecthy@nosubfun
\@packinfo{Not loading subfun defs.}
\else
- \@packinfo{Loading subfun defs DOCUMENT ME.}
+ \@packinfo{Loading subfun defs.}
%DOCUMENT ME
\newcommand*{\subfun}[1][]{\prec\ifthenelse{\isempty{#1}}{_{#1}}{}}
\newcommand*{\supfun}[1][]{\succ\ifthenelse{\isempty{#1}}{_{#1}}{}}
@@ -122,6 +232,8 @@
\newcommand*{\supfuneq}[1][]{\succeq\ifthenelse{\isempty{#1}}{_{#1}}{}}
\newcommand*{\nsubfuneq}[1][]{\npreceq\ifthenelse{\isempty{#1}}{_{#1}}{}}
\newcommand*{\nsupfuneq}[1][]{\nsucceq\ifthenelse{\isempty{#1}}{_{#1}}{}}
+ \newcommand*{\subfunneq}[1][]{\precneq\ifthenelse{\isempty{#1}}{_{#1}}{}}
+ \newcommand*{\supfunneq}[1][]{\succneq\ifthenelse{\isempty{#1}}{_{#1}}{}}
\fi
}
@@ -1167,8 +1279,8 @@
}}
- \newcommand*{\cequiv}{\mathrel{\backsimeq}}
- \newcommand*{\ncequiv}{\mathrel{\not\cequiv}}
+ \newcommand*{\cequiv}{\mathrel{\simeq}}
+ \newcommand*{\ncequiv}{\mathrel{\not\simeq}}
\newcommand*{\conv}[1][]{\mathpunct{\downarrow}_{#1}}
\let\converge=\conv
%\newcommand*{\convs}[1]{\ensuremath{\conv_{#1}}}
@@ -1207,7 +1319,20 @@
%%%%%%Turing Degrees
- \newcommand*{\Tdeg}[1]{\utilde{\mathbf{#1}}}
+ \def\firsttokof@pmg#1{\first@pmg@rdmxs(#1)}
+ \def\first@pmg@rdmxs(#1#2){#1}
+
+ \newcommand*{\Tdegvar}[1]{\mathbf{#1}}
+ \newcommand*{\Tdegof}[1]{\utilde{#1}}
+ \newcommand*{\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{\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}}}
\newcommand*{\Tjump}[1]{#1'}
\let\jump=\Tjump