summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/cases/cases.tex
blob: 93311c2b1d9eb192981ee0a6c492ff08283ab869 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
\documentclass[DIV=9, pagesize=auto]{scrartcl}

\usepackage{fixltx2e}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{amsmath}
\usepackage{cases}
\usepackage{microtype}
\usepackage{hyperref}

\newcommand*{\fancybreak}{%
  \par
  \nopagebreak\medskip\nopagebreak
  \noindent\null\hfill$*\quad*\quad*\quad$\hfill\null\par
  \nopagebreak\medskip\pagebreak[0]%
}
\newcommand*{\mail}[1]{\href{mailto:#1}{\texttt{#1}}}
\newcommand*{\pkg}[1]{\textsf{#1}}
\newcommand*{\cmd}[1]{\texttt{\string#1}}
\newcommand*{\env}[1]{\texttt{#1}}
\newcommand*{\meta}[1]{\textlangle\textsl{#1}\textrangle}

\addtokomafont{title}{\rmfamily}

\title{The \pkg{cases} package\thanks{This manual corresponds to \pkg{cases}~v2.5, dated~May 2002.}}
\author{Donald Arseneau\\\mail{asnd@triumf.ca}}
\date{May 2002}


\begin{document}

\maketitle

\begingroup
\small
\noindent
Copyright \textcopyright~1993, 1994, 1995, 2000, 2002 by Donald Arseneau, \mail{asnd@triumf.ca}.
These macros may be freely transmitted, reproduced, or modified 
provided that this notice is left intact.  Sub-equation numbering
is based on \pkg{subeqn.sty} by Stephen Gildea; most of the rest is based
on \LaTeX's \cmd{\eqnarray} by Leslie Lamport and the \LaTeX3 team.
\par
\endgroup

\fancybreak

This provides a \LaTeX\ environment \verb+{numcases}+ to produce multi-case 
equations with a separate equation number for each case.  There is
also \verb+{subnumcases}+ which numbers each case with the overall equation
number plus a letter [8a, 8b, etc.].   The syntax is
%
\begin{verbatim}
\begin{numcases}{left_side}
  case_1 & explanation_1 \\
  case_2 & explanation_2 \\
  ...
  case_n & explanation_n
\end{numcases}
\end{verbatim}
%
Each \meta{case} is a math formula, and each \meta{explanation} is a piece of lr mode
text (which may contain math mode in \verb+\(...\)+ or \verb+$...$+).  The explanations
are optional.  Equation numbers are inserted automatically, just as for
the \env{eqnarray} environment.  In particular, the \cmd{\nonumber} command suppresses
an equation number and the \cmd{\label} command allows reference to a particular 
case.  In a \env{subnumcases} environment, a \cmd{\label} in the \meta{left\_side} of the 
equation gives the overall equation number, without any letter. 

To use this package, 
include  ``\verb+\usepackage{cases}+''  after ``\cmd{\documentclass}''.  You may also
specify  ``\verb+\usepackage[subnum]{cases}+''  to force \emph{all} \env{numcases}
environments to be treated as \env{subnumcases}.

\emph{Question:} Is there a \verb+{numcases*}+ environment for
unnumbered cases?\\
\emph{Answer:} There is a \verb+{cases}+
environment in \AmS-\LaTeX, but it is just as convenient to stick
with the canonical \LaTeX\ array:
% 
\begin{verbatim}
\[ left side = \left\{ \begin{array}...\end{array} \right. \]
\end{verbatim}
% 
Speaking of \pkg{\AmS-math}, they use an entirely different system
of equation numbering, and this package uses ordinary \LaTeX\ %
numbering.

\fancybreak

\noindent
A simple example is:
%
\begin{verbatim}
\begin{numcases}{|x|=}
  x, & for $x \geq 0$\\
  -x, & for $x < 0$
\end{numcases}
\end{verbatim}
%
Giving:
%
\begin{numcases}{|x|=}
  x, & for $x \geq 0$\\
  -x, & for $x < 0$
\end{numcases}

\fancybreak

\noindent
Another example is calculating the square root of $c+id$. First compute
\phantomsection
\begin{subnumcases}{\label{w} w\equiv}
  0    & $c = d = 0$\label{wzero}\\
  \sqrt{|c|}\,\sqrt{\frac{1 + \sqrt{1+(d/c)^2}}{2}}   & $|c| \geq |d|$ \\
  \sqrt{|d|}\,\sqrt{\frac{|c/d| + \sqrt{1+(c/d)^2}}{2}}   & $|c| < |d|$
\end{subnumcases}
Then, using $w$ from eq.~(\ref{w}), the square root is
\begin{subnumcases}{\sqrt{c+id}=}
  0                    & $w=0$ (case \ref{wzero})\\
  w+i\frac{d}{2w}      & $w \neq 0$, $c \geq 0$ \\
  \frac{|d|}{2w} + iw  & $w \neq 0$, $c < 0$, $d \geq 0$ \\
  \frac{|d|}{2w} - iw  & $w \neq 0$, $c < 0$, $d < 0$ 
\end{subnumcases}

\pagebreak[2]

\noindent
This was produced by:
%
\small
\begin{verbatim}
Another example is calculating the square root of $c+id$. First compute
\begin{subnumcases}{\label{w} w\equiv}
 0    & $c = d = 0$\label{wzero}\\
\sqrt{|c|}\,\sqrt{\frac{1 + \sqrt{1+(d/c)^2}}{2}}   & $|c| \geq |d|$ \\
\sqrt{|d|}\,\sqrt{\frac{|c/d| + \sqrt{1+(c/d)^2}}{2}}   & $|c| < |d|$
\end{subnumcases}
Then, using $w$ from eq.~(\ref{w}), the square root is
\begin{subnumcases}{\sqrt{c+id}=}
0                    & $w=0$ (case \ref{wzero})\\
w+i\frac{d}{2w}      & $w \neq 0$, $c \geq 0$ \\
\frac{|d|}{2w} + iw  & $w \neq 0$, $c < 0$, $d \geq 0$ \\
\frac{|d|}{2w} - iw  & $w \neq 0$, $c < 0$, $d < 0$ 
\end{subnumcases}
\end{verbatim}

\end{document}