% % A proof-by-cases environment. This gives you a nicely-indented list % of cases for use in proofs. % % Example: % % Case 1 (x >= 0): herp. % % Case 2 (x < 0): derp. % % Used below to define pcases. \usepackage{enumitem} % Using the enumitem package, we define a new type of list, called % ``pcases'' (proof by cases). Each case has a label with an arabic % numeral (the case number), but also a \thiscase identifier. The % macro \thiscase is defined below by the \case command, and gives the % name or conditions or whatever that distinguish one case from % another. \newlist{pcases}{enumerate}{1} \setlist[pcases]{ label=\textbf{Case~\arabic*}~(\protect\thiscase)\textbf{:}, ref=\arabic*, align=left, leftmargin=0pt, listparindent=\parindent} % The optional argument here gets stuffed into the \thiscase macro, to % be called by pcases when it creates this list item. The \hfill is a % hack intended to force the proof to start on a new line, rather than % right after the colon. A \newline where the \hfill is does not work, % so we consume the rest of the line instead. \newcommand{\case}[1][]{ \def\thiscase{#1}% \item \hfill\par }