]> gitweb.michael.orlitzky.com - mjotex.git/blobdiff - mjo-proof_by_cases.tex
mjo-algebra.tex: fix glossary sorting of \variety
[mjotex.git] / mjo-proof_by_cases.tex
index 3f803b8296be53eec992cce11113006fc60e0832..018e2e73cb4b5ab9bedddb38c02acdb2b1780369 100644 (file)
@@ -8,9 +8,34 @@
 %
 % Case 2 (x < 0): derp.
 %
+\ifx\havemjoproofbycases\undefined
+\def\havemjoproofbycases{1}
 
-% Used below to define pcases.
-\usepackage{enumitem}
+
+% Used below to define pcases. The ``loadonly'' parameter prevents
+% a very bad interaction with the beamer document class.
+\usepackage[loadonly]{enumitem}
+
+% Needed to perform division in the definition of \singleblskip.
+\usepackage{calc}
+
+% A \baselineskip without the \baselinestretch scaling factor. Even
+% though \baselinestretch defaults to 1.0, it doesn't really have that
+% value. Thus to avoid division by zero, we need to do the ``is this
+% thing empty?'' hack.
+%
+% If we use \baselineskip instead of \singleblskip in our list, things
+% get real ugly when the text is e.g. double-spaced.
+%
+\newlength{\singleblskip}
+\setlength{\singleblskip}{
+  \baselineskip/\real{
+      \if\relax\detokenize{\baselinestretch}\relax
+        \baselinestretch%
+      \else
+        1%
+      \fi}
+}
 
 % Using the enumitem package, we define a new type of list, called
 % ``pcases'' (proof by cases). Each case has a label with an arabic
 % another.
 \newlist{pcases}{enumerate}{1}
 \setlist[pcases]{
-  label=\textbf{Case~\arabic*}~(\protect\thiscase)\textbf{:},
+  label=\textit{Case~\arabic*}:~\protect\thiscase\textit{.},
   ref=\arabic*,
   align=left,
-  leftmargin=0pt,
-  listparindent=\parindent}
+  listparindent=\parindent,
+  parsep=\parskip,
+  itemsep=\singleblskip}
 
 % 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
@@ -33,5 +59,8 @@
 % so we consume the rest of the line instead.
 \newcommand{\case}[1][]{
   \def\thiscase{#1}%
-  \item \hfill\par
+  \item \hfill\par\vspace{\singleblskip}
 }
+
+
+\fi