X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=mjo-proof_by_cases.tex;h=247d28049226213ae19173026680540fa94112c7;hb=a6c1d186ec5bbd8d02dfd2f057cd147afdfe900f;hp=0050a562c13719340f74c03019d91b7c4c8a468c;hpb=0eb66e736e01afbfafb356135b1031d823a397bc;p=mjotex.git diff --git a/mjo-proof_by_cases.tex b/mjo-proof_by_cases.tex index 0050a56..247d280 100644 --- a/mjo-proof_by_cases.tex +++ b/mjo-proof_by_cases.tex @@ -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 @@ -24,7 +49,9 @@ 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 +60,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