From 2dbf8f97238d91cd979c930a2072a3cd397f6728 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20Ke=C3=9Fler?= Date: Sun, 30 Jan 2022 15:25:27 +0100 Subject: [PATCH] document refproof package --- doc/environments/refproof/.latexmkrc | 4 + doc/environments/refproof/Makefile | 8 ++ doc/environments/refproof/refproof.tex | 165 +++++++++++++++++++++++++ 3 files changed, 177 insertions(+) create mode 100644 doc/environments/refproof/.latexmkrc create mode 100644 doc/environments/refproof/Makefile create mode 100644 doc/environments/refproof/refproof.tex diff --git a/doc/environments/refproof/.latexmkrc b/doc/environments/refproof/.latexmkrc new file mode 100644 index 0000000..4c81cd6 --- /dev/null +++ b/doc/environments/refproof/.latexmkrc @@ -0,0 +1,4 @@ +$makeindex = "makeindex -s gind.ist %O -o %D %S"; +$clean_ext .= ' glo'; +$clean_ext .= ' hd'; +$clean_ext .= ' ins'; diff --git a/doc/environments/refproof/Makefile b/doc/environments/refproof/Makefile new file mode 100644 index 0000000..e174370 --- /dev/null +++ b/doc/environments/refproof/Makefile @@ -0,0 +1,8 @@ +doc: + latexmk + +full: + latexmk -gg + +clean: + latexmk -C diff --git a/doc/environments/refproof/refproof.tex b/doc/environments/refproof/refproof.tex new file mode 100644 index 0000000..10533ce --- /dev/null +++ b/doc/environments/refproof/refproof.tex @@ -0,0 +1,165 @@ +\documentclass[full]{l3doc} + +\title{The \pkg{refproof} package} +\author{Maximilian Keßler} + +\begin{document} + +\maketitle + +\begin{abstract} + This package aims to at consistently numbering claims within proofs. + For this purpose, take a valid \meta{label} when starting a proof, + associating it with a theorem/lemma etc.~and enabling us to subnumber + claims within this proof. + We also provide some customizations for proofs. +\end{abstract} + +\tableofcontents + +\begin{documentation} + + +\section{Proofs} +\subsection{Old proofs} +\begin{environment}{oldproof} + Behaves like \env{proof} from \pkg{amsmath}. +\end{environment} + +\begin{environment}{oldsubproof} + Behaves like \env{subproof} from \pkg{mkessler-subproof}. + + That is, behaves like the \pkg{amsmath} proof environment except that + the shown keyword is \enquote{subproof} and we end the proof + with a black instead of a white square. +\end{environment} + +It is not recommended to use \env{oldproof} or \env{oldsubproof}, +since these have no support for the \texttt{claim} management this +package provides. +They only exist for legacy reasons. + +\subsection{Basic proofs} + +Both of these have \texttt{claim} support, +which is explained later in \autoref{sec:claim-support}. + +\begin{environment}{proof} + \begin{syntax} + \cs{begin}\{proof\}*\oarg{description} + \end{syntax} + The old \env{proof} environment has been modified slightly. + We still accept a \meta{description}, but this will be given + in parantheses after the usual \enquote{proof} keyword. + + Additionally, we accept an optional \enquote{star}, that will be visually + displayed behind the \enquote{proof} keyword. + + When nested, that is, when inside a \env{proof} or \env{subproof} environment, + the name will automatically change to \enquote{subproof}. + Nesting works to an arbitrary depth. +\end{environment} + +\begin{environment}{subproof} + \begin{syntax} + \cs{begin}\{subproof\}*\oarg{description} + \end{syntax} + + Works like the \env{proof} environment, but will always be named + \enquote{subproof} and finish with a black square. + + You will probably rarely need this. +\end{environment} + +\subsection{Refproofs} + +\begin{environment}{refproof} + \begin{syntax} + \cs{begin}\{refproof\}*\marg{label}\oarg{description} + \end{syntax} + For the optional \enquote{*} or the \meta{description} + see the \env{proof} environment. + + The \meta{label} has to be a valid \LaTeX-known label that \cs{ref} would + accept. + This \env{refproof} is then associated with the corresponding + theorem that \meta{label} refers to. + It will state \enquote{Proof of \meta{reference}} at the beginning of + the environment to indicate that this proof is associated with some + specific environment. + + When the \pkg{hyperref} package is loaded, this is automatically + detected and an \cs{autoref} command is used to also indicate + the environment name in the reference. + + When \env{refproof} has been called with the same label before, + the name will be adjusted to + \enquote{Continuation of proof of \meta{reference}} + automatically. + + Claim support is explained in \autoref{sec:claim-support}. +\end{environment} + + +\section{Claim support} +\label{sec:claim-support} + +\begin{environment}{claim} +\begin{environment}{claim*} + \begin{syntax} + \cs{begin}\{claim*\} + \end{syntax} + The star in the environment name makes the claim not to be numbered. +\end{environment} +\end{environment} + +The \env{proof}, \env{subproof} and \env{refproof} environment alter the +behavior of the claim numbering as follows: + +\begin{itemize} + \item The \env{proof} and \env{subproof} environment will reset the + \texttt{claim} counter at their beginning. + Claims will appear as \enquote{Claim 1}, \enquote{Claim 2},\ldots + + At the end of the environment, the previous counter is restored. + \item The \env{refproof} environment will number claims within the + proof and \emph{all of its continuations}. + Additionally, claims will be numbered as + \enquote{\meta{reference}.C1}, \enquote{\meta{reference}.C2} + where \meta{reference} is the numbering style of the \meta{label} + that this proof is associated to. + + At the end of the environment, the previous counter is restored. +\end{itemize} + +\section{Language support} + +This package makes use of the \pkg{translator} package to provide +\pkg{babel}-sensitive translations dynamically throughout the document. +You need the +\texttt{% + translator\allowbreak-proof\allowbreak-dictionary% + \allowbreak-\meta{language}.dict +} +dictionary somewhere where \LaTeX can find it. +It should have shipped with this documentation and the package source. + +Currently, only German and English are supported. +\end{documentation} + + +\section{\pkg{groupthm} integration} + +This has not been implemented yet, but future features include: + +\begin{itemize} + \item Integrate the claim environment into the \texttt{star} and \texttt{starred} + groups of \pkg{groupthm}. + \item Integrate the optional stars of the \env{proof} etc into \pkg{groupthm}, + i.e.~let them behave like \texttt{star} environments to toggle + these in a unified way. +\end{itemize} + +\PrintIndex + +\end{document}