\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}