From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Mon, 2 Sep 2019 13:46:59 +0900
Subject: Initial commit

---
 usergrps/uktug/baskervi/5_4/bailey.tex | 828 +++++++++++++++++++++++++++++++++
 1 file changed, 828 insertions(+)
 create mode 100644 usergrps/uktug/baskervi/5_4/bailey.tex

(limited to 'usergrps/uktug/baskervi/5_4/bailey.tex')

diff --git a/usergrps/uktug/baskervi/5_4/bailey.tex b/usergrps/uktug/baskervi/5_4/bailey.tex
new file mode 100644
index 0000000000..737e7ab829
--- /dev/null
+++ b/usergrps/uktug/baskervi/5_4/bailey.tex
@@ -0,0 +1,828 @@
+%latex2e file
+%%%
+%%% An article for Baskerville, intended to be the last of 6 parts
+%%%
+\title{Maths in \LaTeX: Part~6, Harder arrays}
+\author[R.~A.~Bailey]{R.~A.~Bailey\\
+Queen Mary and Westfield College, \\University of London}
+%%%
+
+%% Added by CAR for SPQR, and other small necessary changes made:
+%% search for ``amsmath''.
+
+%%% here are extra environments that I have used in this article.
+%%% I hope that they do not conflict with anything of the editor's.
+%%%
+\newcommand{\writer}[1]{{\sc #1}:}
+\newcommand{\book}[1]{{\it #1},}
+\newcommand{\publish}[2]{{\rm #1, #2,}}
+\newcommand{\byear}[1]{{\rm (#1).}}
+\newtheorem{preqn}{Exercise}
+\newenvironment{qn}{\preqn\rm}{\endpreqn}
+\newcommand{\latexword}[1]{{\tt #1}}
+%%%
+%%%
+%%% editor: I have been as generic as I can, but of course you can't
+%%% put \verb inside a \newcommand. I have consistently used + as the
+%%% delimiter for \verb, except when I needed the + in Maths!
+%%%
+\newcommand{\phz}{\phantom{0}}
+\newcommand{\RBdfrac}[2]{\displaystyle\frac{#1}{#2}}
+\newcommand{\CS}{\mathop{{\rm CS}}\nolimits}
+\newcommand{\normof}[1]{{\left\Vert#1\right\Vert}^2}
+\newcommand{\R}{\mathbb{R}}
+\begin{Article}
+\section{Recall}
+This is the sixth and final part of a sequence of tutorials on
+typesetting Mathematics in \LaTeX. The first five appeared in
+issues~4.4, 4.5, 5.1, 5.2 and~5.3 of \BV.  The series includes some
+things which can be found in \cite{leslie}, but I am working in more
+things which, while straightforward and necessary for Mathematical
+work, are not in \cite{leslie} or \cite{newleslie}. In this final
+tutorial I cover the harder parts of arrays, including aligned
+equations.
+ 
+In case you missed the previous tutorials, I remind you that I expect
+you, the reader, to do some work. Every so often comes a group of
+exercises, which you are supposed to do. Use \LaTeX\ to typeset
+everything in the exercise except sentences in italics, which are
+instructions. If you are not satisfied that you can do the exercise,
+then tell me. Either write to me at
+\begin{verse}
+School of Mathematical Sciences\\
+Queen Mary and Westfield College\\
+Mile End Road\\
+London E1 4NS
+\end{verse}
+with hard copy of your input and output, 
+or email me at \mbox{\tt r.a.bailey@qmw.ac.uk}
+with a copy of the 
+smallest possible piece of \LaTeX\ input file that contains your
+attempt at the answer.
+In either case
+I will include a solution in the following issue of \BV: you will remain 
+anonymous if you wish.
+
+This tutorial covers things that \LaTeX\ is not really very good at.
+You may ask why I have not simply referred you to the packages
+\latexword{amsmath}, \latexword{array} and \latexword{delarray}. One
+reason is that every package has its price: it may give you the
+functionality that you want at the expense of changing something that
+you are quite happy with. The other is that you often are not allowed
+to include style packages when you submit an article to a journal or
+conference proceedings. It is your choice whether to use the inelegant
+solutions presented here or to cut out the relevant pieces of code
+from various style packages.
+
+\section{Answers}
+\subsection{Boxed subarrays}
+In the panel session at the end of the \ukt\ meeting on `The New Maths for 
+the New \LaTeX' on 7~June, one of the participants asked how to create an array
+in which there is a box around a subarray, as in
+\[
+\begin{array}{c|cccc|}
+\multicolumn{1}{c}{1} & 2 & 3 & 4 & \multicolumn{1}{c}{5}\\
+\cline{2-5}
+2 & A & B & C & D\\
+3 & B & A & D & C\\
+4 & C & D & A & B\\
+5 & D & C & B & A\\
+\cline{2-5}
+\end{array}
+\]
+The answer is to use \verb+\cline+ for the horizontal sides of the box and to 
+put \verb+|+ in the columns specifier to obtain the vertical sides of the box,
+overriding this with \verb+\multicolumn{1}+ where necessary.  Thus the input 
+for the preceding array begins
+\begin{verbatim}
+    \begin{array}{c|cccc|}
+    \multicolumn{1}{c}{1} & 2 & 3 & 4 & 
+    \multicolumn{1}{c}{5}\\
+    \cline{2-5}
+    2 & A & B & C & D\\
+    ...
+\end{verbatim}
+
+\subsection{Angle brackets}
+Several people have asked me why I insist that \verb+\langle+ and 
+\verb+\rangle+ should be used for angle brackets when they prefer the shape of 
+\verb+<+ and \verb+>+. At a group theory conference in July I saw a good, if 
+unconscious, demonstration of why \verb+<+ and \verb+>+ should not be used. A 
+line of displayed Maths on an overhead projector transparency was
+\[
+G = <a,b,c> \times <a,c,e>^x
+\]
+Look at the spacing. \TeX\ knows that $=$ and $<$ are both relations,
+so it puts no space between them, but it does put some space between the 
+relation~$>$ and the binary operator~$\times$. If you put this 
+equation in the running text, you will find that the line may break between
+the~$<$ and the~$a$. If you really prefer the shapes of $<$ and~$>$ to 
+$\langle$ and~$\rangle$ then you should make yourself macros such as
+\begin{verbatim}
+     \newcommand{\llangle}{\mathopen{<}}
+     \newcommand{\rrangle}{\mathclose{>}}
+\end{verbatim}
+\newcommand{\llangle}{\mathopen{<}}
+\newcommand{\rrangle}{\mathclose{>}}
+Then the display becomes
+\[
+G = \llangle a,b,c\rrangle \times \llangle a,c,e\rrangle^x
+\]
+However, you cannot make these new angle brackets expand by preceding them with
+\verb+\left+ and \verb+\right+.
+
+\addtocounter{section}{9}
+\section{Arrays of equations}
+\subsection{Don't do it}
+Many of us write our lecture notes on the board as a series of equations, more 
+or less aligned, and are tempted to write in print in the same fashion. Don't. 
+For one thing, printed material needs the connecting words that you normally 
+say at the board, such as `and' or `it follows that' or `substituting for 
+\ldots'. For another, alignment suggests to the reader that the equations are 
+somehow related, so it should not be used merely because two  displayed 
+equations come one after another with no intervening text: use two separate 
+lines of displayed Maths instead, using \verb+\[+ and~\verb+\]+.
+
+\subsection{Parallel definitions}
+For two or more parallel or analogous definitions or results, use the 
+\latexword{eqnarray*} environment. If a typical line is $A=B$ then type that 
+line as \verb+A & = & B+ and put \verb+\\+ at the end of each line except the 
+last. Extra space can be added after any \verb+\\+ just as with ordinary 
+arrays. For example, the parallel definitions of $\cap$ and~$+$
+\begin{eqnarray*}
+W \cap X& =& \left\{v\in V:v \in W \mbox{ and } v\in X\right\}\\
+W + X   & = & \left\{w+x:w\in W \mbox{ and } x\in X\right\}
+\end{eqnarray*}
+have input
+\begin{verbatim}
+     \begin{eqnarray*}
+     W \cap X & =& \left\{v\in V:v \in W 
+     \mbox{ and } v\in X\right\}\\
+     W + X   & = & \left\{w+x:w\in W 
+     \mbox{ and } x\in X\right\}
+     \end{eqnarray*}
+\end{verbatim}
+
+\subsection{Chains of equalities}
+The \latexword{eqnarray*} environment is also useful for a chain of equalities 
+or inequalities, such as
+\begin{eqnarray*}
+\sum_{i=1}^q x_{ij}(M-x_{ij}) & = & M^2 - \sum_{i=1}^q x_{ij}^2\\
+ & \leq & M^2 - \frac{M^2}{q}\\
+ & = & \theta M^2.
+\end{eqnarray*}
+Here each line after the first begins with \verb+&+ followed by \verb+=+ or 
+some other relation, followed by another~\verb+&+. 
+Any line may conclude with \verb+\qquad\mbox{...}+ to give
+a short explanation, just as in a single line of displayed Maths.
+
+\begin{figure*}
+\begin{eqnarray*}
+n(Q_3 - Q_1)^4 \mathop{\rm Var} W 
+& = & 
+\left[(M-Q_1) \left(\frac{1}{f_M} - \frac{1}{2f_{Q_3}}\right)
+ + (Q_3 - M) \left(\frac{1}{f_M} - \frac{1}{2f_{Q_1}}\right)\right]^2\\
+ & & \mbox{} + \frac{1}{2}\left[\left(\frac{M-Q_1}{f_{Q_3}}\right)^2
+ + \left(\frac{Q_3 - M}{f_{Q_1}}\right)^2\right]
+\end{eqnarray*}
+\caption{An overlong equation}
+\label{loong}
+\end{figure*}
+
+\subsection{Overlong displays}
+Sometimes what is conceptually a single line of displayed Maths, whether it is 
+an equation or not, is simply too long to fit on one line. Then you can use 
+\latexword{eqnarray*}, choosing where to split the line. If you split it at a 
+binary operator, it is usual to put the binary operator after the split. In 
+this case you must precede it with \verb+\mbox{}+ so that \TeX\ knows that it 
+is a binary operator.
+The two lines in Figure~\ref{loong} are given by
+\begin{verbatim}
+ ...\right]^2\\ & & \mbox{} + \frac{1}{2} ...
+\end{verbatim}
+
+To split an even longer line, you may want the second and succeeding lines to 
+come partly underneath the first line. You can do this by enclosing the whole 
+of the first line in \verb+\lefteqn{ }+, thus fooling \TeX\ into thinking that 
+it has no width. Starting subsequent lines with \verb+& &+ gives that necessary
+bit of indentation.
+In this example
+\begin{eqnarray*}
+\lefteqn{\sum\left\{\sum\left\{f(B) : B \cap A = \emptyset\right\} : A 
+\supseteq J\right\} = }\\ 
+ & & \sum\left\{\sum\left\{f(B) : A \supseteq J,\ A \cap B = \emptyset\right\}
+: B \cap J = \emptyset \right\}
+\end{eqnarray*}
+the lines begin
+\begin{verbatim}
+     \lefteqn{\sum ...
+      & & \sum ...
+\end{verbatim}
+
+\subsection{Numbered aligned equations}
+The environment \latexword{eqnarray} works just like \latexword{eqnarray*} 
+except that each line is numbered, in the same sequence as 
+\latexword{equation}s. If you want any line to be not numbered, just put
+\verb+\nonumber+ before the end of the line. If you want to refer somewhere 
+else to the number, put a \verb+\label+ on the line in the usual way.
+Thus
+\begin{eqnarray}
+\bar{F}(x_1,x_2) & = & \int_0^\infty \exp(-\theta a_1x_1^c - \theta a_2x_2^c)
+\frac{\theta^{b-1}\lambda^b  {\rm e}^{-\theta\lambda}}{\Gamma(b)} {\rm 
+d}\theta \nonumber \\
+ & = & \frac{\lambda^b}{(\lambda + a_1x_1^c +a_2x_2^c)^b}
+\end{eqnarray}
+is created with
+\begin{verbatim}
+   \begin{eqnarray}
+   \bar{F}(x_1,x_2) & = & \int_0^\infty ...
+   {\rm d}\theta \nonumber \\
+    & = & \frac{ ...
+   \end{eqnarray}
+\end{verbatim}
+
+\subsection{What is \latexword{eqnarray}?}
+The two environments \latexword{eqnarray} and \latexword{eqnarray*} differ only
+in the numbering of lines. Each creates a piece of displayed Maths containing a
+special sort of array. The array has only three columns. The first column is in
+\verb+\displaystyle+ and is right-aligned. The second is in \verb+\textstyle+ 
+and is centred. The third is in \verb+\displaystyle+ and is left-aligned. The 
+space between columns is controlled by \verb+\arraycolsep+ just as for ordinary
+arrays. The space between rows is (unless you put something after the 
+\verb+\\+) what you would get in an ordinary array by putting \verb+\\[\jot]+.
+% Corrected by CAR: // to \\ twice here, once below.
+
+\subsection{Simultaneous equations}
+Simultaneous equations are often written with a vertical alignment for each 
+variable and for the binary operators in between them, as well as for the 
+equals sign, as the following example shows.
+\[
+\setlength{\arraycolsep}{0pt}
+\begin{array}{*{4}{rc}r@{\mbox{}={}}r}
+x_1 &{} -{} & x_2 & {}+{} & x_3 & {}-{} &x_4 &{} +{}& x_5 & 1\\[\jot]
+2x_1 & - & x_2 & +& 3x_3  && & + &4x_5 & 2\\[\jot]
+3x_1 & - &2 x_2 & + & 2x_3 & + &x_4 & +& x_5 & 1\\[\jot]
+x_1 &  &  & + & x_3 & + &2x_4 & +& x_5 & 0\\[\jot]
+\end{array}
+\]
+This is too many alignments for an \latexword{eqnarray*}, so an 
+\latexword{array} has been used in displayed Maths, with every line ending with
+\verb+\\[\jot]+. With a column for each variable and one for each binary 
+operator, almost all pairs of adjacent columns should have the separation that 
+\TeX\ normally gives between an ordinary Maths symbol and a binary operator, 
+which is \verb+\medmuskip+. Unfortunately, you cannot set \verb+\arraycolsep+ 
+to be equal to \verb+0.5\medmuskip+: \TeX\ will complain. So I have  set
+\verb+\arraycolsep+ to zero: the command
+\begin{verbatim}
+     \setlength{\arraycolsep}{0pt}
+\end{verbatim}
+has been placed before the array but within the displayed Maths, to limit its 
+scope. Then the columns specifier 
+\verb+{*{4}{rc}r@{{}={}}r}+ does the trick for the equals sign, which comes in 
+every column: for the binary operators I have put \verb!{}+{}! or \verb+{}-{}+ 
+as least once in each column.
+
+There are two other possibilities that could be used here. The 
+\latexword{array} package allows you to put items in the columns specifier that
+will be incorporated in array entries before the boxes are made. So you could 
+put the  \verb+{}+ either side of each binary operator by putting it in the 
+columns specifier once and for all. See \cite[Section~5.3]{companion}.
+That would be useful if the binary 
+operators in the array had differing widths. The second is to effectively set 
+\verb+\arraycolsep+ equal to \verb+0.5\medmuskip+. Now, \verb+\medmuskip+ is 
+4\,mu plus some stretchability, and 1\,mu is $1/18$ of an em in the current 
+font. 
+So you can do
+\begin{verbatim}
+     \setlength{\arraycolsep}{0.11em}
+\end{verbatim}
+and omit all the \verb+{}+,
+so long as the current font does not change (by too much) between the issuing 
+of that  command and the setting of the entries in the array.
+
+\subsection{Which to use: \latexword{eqnarray} or \latexword{array}?}
+Regular readers will know that I am a big fan of \LaTeX. All the same, I think 
+that the design of \latexword{eqnarray} is fundamentally flawed. It is not 
+simply a method of aligning lines of displayed Maths, chiefly because it uses 
+\verb+\arraycolsep+ to insert larger spaces than normal, but also because it 
+changes between \verb+\displaystyle+ and \verb+\textstyle+ and because it is 
+limited to three columns. For these last two reasons, it is also not a method 
+of achieving a displayed array all of whose entries are in 
+\verb+\displaystyle+ and whose rows are spread out,
+which would have been a useful environment.
+
+So which should you use, \latexword{eqnarray} or \latexword{eqnarray*} or 
+\latexword{array}? Each of them needs some work to give good results.
+
+If you need a set of aligned
+equations carrying a single number then I recommend using 
+\latexword{array} inside an \latexword{equation}. You will have to put in 
+\verb+\displaystyle+ and \verb+\jot+ where necessary.  If one or more lines 
+must be individually numbered then there is nothing for it but to use 
+\latexword{eqnarray}.
+
+If an unnumbered set of aligned equations has only two alignment points you may
+be able to use \latexword{eqnarray*} if you are careful about the inter-column 
+spacing. Thus if you put an \verb+&+ on only one side of an equals sign you 
+must put a quad space on the other side. In the following display each line has
+the form
+\begin{verbatim}
+     ... \quad = & ... & \qquad ...
+\end{verbatim}
+\begin{eqnarray*}
+g(x) \quad = & {\rm e}^{x} &\qquad\mbox{for $x\in\R$,}\\
+h(y) \quad= & \ln y &\qquad\mbox{for $y > 0$,}\\
+h'(y) \quad = & \frac{1}{y} &\qquad\mbox{for $y > 0$.}
+\end{eqnarray*}
+
+For a set with more alignment points, such as
+\[
+\begin{array}{r@{(1)={}}rr@{(2)={}}rr@{(3)={}}rr@{(4)={}}r}
+f & 1 & f & 0 & f & -2 & f & 3\\[\jot]
+g & 5 & g & 7.5 & g & 6 & g & -4\\
+\end{array}
+\]
+or simultaneous equations, use \latexword{array} and be cunning with the 
+columns specifier.
+
+For parallel results, or for chains of (in)equalities, it would be good to 
+have a form of \latexword{eqnarray} and \latexword{eqnarray*} in which the 
+space on either side of the equals sign is what \TeX\ normally puts between a 
+relation and an ordinary Maths symbol, which is \verb+\thickmuskip+. 
+Now, \verb+\thickmuskip+ is 5\,mu plus some stretchability, so we can use the 
+same fudge that we used for simultaneous equations.
+It is no 
+good changing \verb+\arraycolsep+ globally, because that would affect other 
+\latexword{array}s. So you could make an environment to use in place of 
+\latexword{eqnarray} such as the following.
+\begin{verbatim}
+  \newenvironment{bettereqnarray}%
+  {\setlength{\arraycolsep}{0.14em}%
+   \eqnarray}%
+  {\endeqnarray}
+\end{verbatim}
+\newenvironment{bettereqnarray}%
+{\setlength{\arraycolsep}{0.14em}\eqnarray}%
+{\endeqnarray}
+
+Compare the following display, made with \latexword{bettereqnarray} and 
+\verb+\nonumber+, with the previous form made with \latexword{eqnarray*}.
+Now that the spaces around the aligned~\verb+=+ are correct, a second~\verb+=+ 
+can be placed on the same line.
+\begin{bettereqnarray}
+\sum_{i=1}^q x_{ij}(M-x_{ij}) & = & M^2 - \sum_{i=1}^q x_{ij}^2\nonumber\\
+ & \leq & M^2 - \frac{M^2}{q}
+  = \theta M^2 \nonumber
+\end{bettereqnarray}
+
+If you are uneasy about that fudge, set \verb+\arraycolsep+ to zero.
+Then put \verb+& {}={} &+ instead of \verb+& = &+ in the centre of the array.
+
+There is a disadvantage common to both of these \latexword{bettereqnarray} 
+environments: if you have any ordinary \latexword{array} within them then
+the value 
+of \verb+\arraycolsep+ will almost certainly be wrong and you will have to 
+reset it locally.
+
+There are several better environments for aligned equations in the 
+\latexword{amsmath} package, which is described in \cite{ams}. However, it does
+not seem to be possible to obtain these environments without the rest of the 
+package, which you may not want: for example, it disables \verb+\over+.
+
+\section{Exercises}
+\addtocounter{preqn}{71}
+\begin{qn}
+M\"obius inversion gives:
+\begin{eqnarray}
+B_\gamma & = & \sum_{\alpha\in\Gamma} z(\gamma,\alpha) S_\alpha,\\
+S_\alpha & = & \sum_{\gamma\in\Gamma} m(\alpha,\gamma) B_\gamma.
+\label{arrayref}
+\end{eqnarray}
+\end{qn}
+
+\begin{qn}
+{\it Get the number cited here from the question above, by cross-reference.}
+
+Now\begin{eqnarray*}
+L_\alpha & = & X'S_\alpha X\\
+ & = & \sum_{\gamma\in\Gamma} m(\alpha,\gamma)X'B_\gamma X \qquad \mbox{by 
+Equation~(\ref{arrayref})}\\
+ & = & \sum_{\gamma\in\Gamma} \frac{m(\alpha,\gamma)}{k_\gamma} C_\gamma.
+\end{eqnarray*}
+\end{qn}
+
+\begin{qn}
+\begin{eqnarray}
+\sum a_j b_k & = & a_1b_1 + a_1b_2 + a_1b_3 \nonumber\\
+ & & \mbox{} + a_2b_1 + a_2b_2 + a_2b_3 \nonumber\\
+ & & \mbox{} + a_3b_1 + a_2b_2 + a_3b_3.
+\end{eqnarray}
+\end{qn}
+
+\begin{qn}
+\begin{equation}
+\begin{array}{rcl}
+\displaystyle
+\sum_{1\leq j,k\leq 3} a_j b_k  
+&=& 
+\begin{array}[t]{l}
+ a_1b_1 + a_1b_2 + a_1b_3 \\[\jot]
+ \mbox{} + a_2b_1 + a_2b_2 + a_2b_3 \\[\jot]
+ \mbox{} + a_3b_1 + a_2b_2 + a_3b_3.
+\end{array}
+\end{array}
+\end{equation}
+\end{qn}
+
+\begin{qn}
+Using the hint, we get
+\begin{eqnarray*}
+\lefteqn{3(1-z)^2\sum_k
+%% Changed for amsmath:
+%   {1/2\choose k}
+  \binom{1/2}{k}
+  \left({\frac{8}{9}z}\right)^k 
+(1-z)^{2-k} = }\\
+ & & 3(1-z)^2 \sum_k
+%% Changed for amsmath:
+%  {1/2\choose k}
+  \binom{1/2}{k}
+ \left({\frac{8}{9}}\right)^k 
+\sum_j
+%% Changed for amsmath:
+% {k+j-3\choose j}
+\binom{k+j-3}{j}
+z^{j+k}
+\end{eqnarray*}
+and now look at the coefficient of $z^{3+l}$.
+\end{qn}
+
+\begin{qn}
+Solve the system of equations
+\[
+\setlength{\arraycolsep}{0pt}
+\begin{array}{rcrcr@{{}={}}l}
+2x &{} +{} &y &{}+{}& 5z&4\\[\jot]
+3x & - & 2y & + & 2z & 2\\[\jot]
+5x & - & 8y & - & 4z & 1.
+\end{array}
+\]
+\end{qn}
+
+\begin{qn}
+The dyad appears as
+\begin{equation}
+\begin{array}{rcc@{}@{\mbox{}+\mbox{}}c@{\mbox{}+\mbox{}}c@{\mbox{}+\mbox{}}c}
+{\bf AB} & = & \multicolumn{1}{c}{}& A_xB_x {\bf ii} & A_xB_y{\bf ij} &
+A_xB_z{\bf ik} \\[\jot]
+ & && A_yB_x{\bf ji} & A_yB_y{\bf jj} & A_yB_z{\bf jk}\\[\jot]
+ & && A_zB_x{\bf ki} & A_zB_y{\bf kj} &A_zB_z{\bf kk}
+\end{array}
+\end{equation}
+\end{qn}
+
+\begin{qn}
+\[
+\begin{array}{r@{(x)={}}l@{\qquad}r@{{}=(}r@{,}r@{,}r@{,}r@{,}r@{)}l}
+f & 1 & f & 1&\phz1&\phz1&1&1\\[\jot]
+g & x & g & 1&2&3&4&5\\[\jot]
+h & x^2 & h & 1&4&9&\phz16&\phz25&.
+\end{array}
+\]
+\end{qn}
+
+\section{Hand-crafting alignments}
+In this section I show a few tricks for difficult alignments. I show them 
+because I know that I am not the only Mathematician who  needs
+to produce these effects. I am not particularly proud of the methods I have 
+used, because in each case I have had to either measure a length explicitly or 
+use phantoms: I couldn't find a way of getting the right sizes automatically. 
+So if any reader can write in with a better way of doing these things, I shall 
+be delighted.
+
+\subsection{Horizontal braces in arrays}
+When I use an \latexword{array} to show a chain of equalities, I often use an 
+under- or overbrace to indicate how terms are grouped. Here is an example.
+
+\newlength{\gnat}
+\settowidth{\gnat}{$\bar{y} (1,\ldots, 1)$}
+\newlength{\gnu}
+\settowidth{\gnu}{$\RBdfrac{\CS(x,y)}{\CS(x,x)} x'$}
+\[
+\begin{array}{rcccccc}
+y & = & \multicolumn{3}{c}{f} & +& r\\
+ &  & \multicolumn{3}{c}{
+\overbrace{\hphantom{\bar{y} (1,\ldots, 1)\quad+\quad
+\RBdfrac{\CS(x,y)}{\CS(x,x)} 
+x'}}}\\
+ &= & \bar{y} (1,\ldots, 1)&{}+{}&\RBdfrac{\CS(x,y)}{\CS(x,x)} x'
+&{}+{} & r\\
+ & & \uparrow & & \uparrow & & \uparrow\\
+ & & \multicolumn{1}{p{\gnat}}{\centering fit for null model} &&
+     \multicolumn{1}{p{\gnu}}{\centering
+extra fit \mbox{for straight} line model} &&
+    \mbox{residual}
+\end{array}
+\]
+
+The problem is that the brace needs to span several columns. So the brace needs
+to be put in with a \verb+\multicolumn+ command, so it cannot automatically be 
+set to the correct width. I solve this by using \verb+\hphantom+ to obtain the 
+width of the spanned columns. Here there is an entry
+\begin{verbatim}
+   \multicolumn{3}{c}{f} 
+\end{verbatim}
+in the first row; and the corresponding entry in the second row is
+\begin{verbatim}
+   \multicolumn{3}{c}{
+   \overbrace{\hphantom{\bar{y} (1,\ldots, 1)
+   \quad+\quad ... x'}}}
+\end{verbatim}
+I have used the fact that the intercolumn space is one quad.
+
+An alternative solution is to use the command \verb+\downbracefill+ as the 
+final argument of the \verb+\multicolumn+ in the second row. However, you have 
+to be outside Maths mode to use \verb+\downbracefill+, and putting it inside an
+\latexword{mbox} is no good because that destroys the expandability. So you 
+have to set the whole thing in a \latexword{tabular} environment rather than 
+\latexword{array}, and then enclose every other entry in \verb+$ $+, which is a
+pain. There is also an analogous command \verb+\upbracefill+.
+
+\subsection{Paragraph boxes in arrays}
+In the preceding display I have also set some explanatory text in paragraph 
+boxes whose width is determined by the width of a Mathematical expression in 
+the same column. For each such column I make a new length  and use 
+\verb+\settowidth+ to make it as wide as the desired Mathematical expression: 
+see \cite[page~95]{leslie} or \cite[page~101]{newleslie}. Then I make a 
+\verb+p+ column element of that width.
+
+For example, in the first column I get the correct width with
+\begin{verbatim}
+   \newlength{\gnat}
+   \settowidth{\gnat}{$\bar{y} (1,\ldots, 1)$}
+\end{verbatim}
+and then use it as follows.
+\begin{verbatim}
+   \multicolumn{1}{p{\gnat}}{\centering 
+   fit for null model}
+\end{verbatim}
+
+
+\subsection{Top-aligned matrices}
+
+\newcommand{\topthing}[1]{\begin{array}{@{}c@{}}#1\\\phz\end{array}}
+\newcommand{\vecmu}{\mbox{\boldmath$\mu$}}
+\newcommand{\vecx}{{\bf x}}
+\newcommand{\cov}{\mathop{{\rm Cov}}\nolimits}
+
+\begin{figure*}
+\[
+\topthing{3(\vecx - \vecmu)^{\rm T} \Sigma^{-1} (\vecx - \vecmu)
+=
+(x-1, y+2)}
+\left[\begin{array}{rr}
+4&1\\1&1
+\end{array}
+\right] 
+\left(\begin{array}{c}
+x-1\\y+2
+\end{array}
+\right)
+\]
+\caption{Matrices aligned on their top rows}
+\label{topmat}
+\end{figure*}
+
+In the last article I showed Figure~\ref{topmat} as an example of
+something that is not easy to do in \LaTeX.  To achieve this I have
+made a macro \verb+\topthing+ which takes as its single argument any
+item that must be aligned with the top rows of the arrays. The biggest
+arrays here have two rows, so \verb+\topthing+ produces a two-rowed
+array whose second row is empty. If there were bigger arrays here I
+would have to have a macro for each smaller size of array. The empty
+second row of the array contains a phantom zero: this works because
+zero is the standard height, as are all the entries that occur in the
+second rows of arrays. I don't know how to fudge this for arbitrary
+heights of entries. Finally, I remove the extra space that is usually
+put on each side of an array.
+
+The \verb+\topthing+ macro is defined by
+\begin{verbatim}
+     \newcommand{\topthing}[1]%
+       {\begin{array}{@{}c@{}}
+        #1\\\phantom{0}
+        \end{array}}
+\end{verbatim}
+Then the equation in Figure~\ref{topmat} is done with
+\begin{verbatim}
+    \topthing{3(...   (x-1, y+2)}
+    \left[\begin{array}{rr}
+    4&1\\1&1
+    \end{array}
+    ...
+\end{verbatim}
+
+
+Top-aligned matrices can be done very simply if you have access to the package
+\latexword{delarray}. Get it. See \cite[Section 5.3.6]{companion}. However, be 
+warned that \latexword{delarray} inputs the package \latexword{array}, which 
+makes a small difference to the way that \verb+|+ works in all 
+\latexword{array}s.
+
+
+\subsection{Bordered matrices}
+Using \verb+\left[+ and so on to get the right size of fences around a matrix 
+works fine for unbordered matrices. But how do you get a bordered matrix such 
+as the following?
+\newlength{\perch}
+\newcommand{\fish}[2]{\settowidth{\perch}{$#1$}\makebox[\perch]{$#2$}}
+\newcommand{\minone}{\llap{$-$}1}
+\begin{equation}
+\begin{array}{c@{}c}
+ & \begin{array}{ccccc}
+\emptyset & \{1\} & \{2\} & \{1,2\} & \{1,2,3\}\\
+\end{array}\\
+\begin{array}{c}
+\emptyset \\ \{1\} \\ \{2\} \\ \{1,2\} \\ \{1,2,3\}
+\end{array}
+&
+\left[
+\begin{array}{ccccc}
+\fish{\emptyset}{1} & \fish{\{1\}}{\minone} & \fish{\{2\}}{\minone} 
+& \fish{\{1,2\}}{1} & \fish{\{1,2,3\}}{0}\\
+0 & 1 & 0 & \minone & 0\\
+0 & 0 & 1 & \minone & 0\\
+0 & 0 & 0 & 1 & \minone\\
+0 & 0 & 0 & 0 & 1
+\end{array}
+\right]
+\end{array}
+\label{zeta}
+\end{equation}
+
+The command \verb+\bordermatrix+ given by plain \TeX\ will not do, because it 
+uses parentheses for the fences and does not let you choose how the columns are
+aligned. 
+ 
+The problem is to get the fences of the right size while keeping the alignment 
+of the two borders with the body of the matrix. My solution is to set the whole
+thing as a $2 \times 2$ array with no space between the columns. The top left 
+entry is empty. The top right entry is a one-rowed array containing the column 
+labels. The bottom left entry is a one-columned array containing the row 
+labels. The bottom right entry is the body of the matrix, including the fences.
+
+If all entries have the same width and height, that's enough. However, if any 
+column in the body of the matrix has a different width from the corresponding 
+column in the top border, then the narrower of the two has to be expanded. 
+Set a new length equal to the wider item and then put the smaller item in a 
+\latexword{makebox} of that width.
+
+In the matrix~(\ref{zeta}) it is clear that, in every column, it is the label 
+that is the widest element. So I made a macro to set the first row of the body 
+of the matrix to the width of the labels, as follows.
+\begin{verbatim}
+   \newlength{\perch}
+   \newcommand{\fish}[2]%
+   {\settowidth{\perch}{$#1$}
+    \makebox[\perch]{$#2$}}
+\end{verbatim}
+For example, the first entry in the main body of the matrix is
+\begin{verbatim}
+   \fish{\emptyset}{1} 
+\end{verbatim}
+Note that it suffices to make a single entry in each column of the body as wide
+as the column label.
+
+(By the way, I can never decide whether the minus signs should be taken into 
+account or not when centering the columns of such a matrix. Here I decided not 
+to, and so I defined 
+\begin{verbatim}
+   \newcommand{\minone}{\llap{$-$}1}
+\end{verbatim}
+and then used \verb+\minone+ for each $-1$.)
+
+If the row heights in the body of the matrix do not match those in the array of
+row labels, as in the following matrix, they can be adjusted with 
+\verb+\vphantom+. If \verb+X+ is the tallest item in the row, simply put 
+\verb+\vphantom{X}+ in a single entry of the corresponding row of the other 
+array: it will not affect the horizontal spacing.
+
+\begin{equation}
+\begin{array}{c@{}c}
+ & \begin{array}{c|c} 
+\multicolumn{1}{c}{1\quad \ldots\quad  r} & r+1 \quad\ldots\quad n 
+\end{array}\\
+ \begin{array}{c}
+  \begin{array}{c}
+   1\\\vdots\\ r
+  \end{array}\\
+  \begin{array}{c}
+   r+1\\\vdots\\ n
+  \end{array}
+ \end{array}
+  &
+\left[
+\begin{array}{c|c}
+\fish{1\quad \ldots\quad r}{\Sigma_1}
+   \vphantom{\begin{array}{c}
+   1\\\vdots\\r
+       \end{array}}
+& \fish{r+1\quad \ldots\quad n}{0}\\
+\hline
+  \vphantom{\begin{array}{c}
+      r+1\\\vdots\\ n
+      \end{array}}
+   0
+ &
+\Sigma_2
+\end{array}
+\right]
+\end{array} 
+\label{showoff}
+\end{equation}
+
+\section{Exercises}
+\begin{qn}
+\[
+\begin{array}{ccccccc}
+\normof{f} & = & e_1^2 u_1\cdot u_1 & + & e_2^2 u_2 \cdot u_2 &+& e_3^2 u_3 
+\cdot 
+u_3\\[\jot]
+ & & 18 \bar{y}^2 & + & {\tt ss1} & + & {\tt ss2}\\[\jot]
+ & & & & 104474 & + & 2284\\
+ & & & & 
+\multicolumn{3}{c}{\underbrace{\hphantom{e_2^2 u_2 \cdot u_2\quad+\quad 
+e_3^2 u_3 \cdot u_3}}_{\textstyle 106758}}
+\end{array}
+\]
+\end{qn}
+
+\begin{qn}
+\begin{bettereqnarray}
+\topthing{\cov(U,V)} &
+\topthing{=} &
+\topthing{(2,1)} 
+{
+\renewcommand{\arraycolsep}{5pt}
+            \left[\begin{array}{@{}rr@{}}1 & -1 \\ -1 & 4
+                  \end{array}\right]
+                  \left(\begin{array}{@{}r@{}}-2 \\ 1\end{array}\right)
+}
+\nonumber\\
+ &
+\topthing{=} &
+\topthing{(2,1)} 
+            \left(\begin{array}{@{}r@{}}-3 \\6\end{array}\right) 
+ \topthing{{}=0}
+\nonumber
+\end{bettereqnarray}
+\end{qn}
+
+\begin{qn}
+{\it Typeset the matrix~(\ref{showoff}).}
+\end{qn}
+
+\section{Acknowledgements}
+While writing these tutorials I have had to expand my own knowledge of how to 
+typeset Mathematics in \LaTeX\ to cover topics that I had  never really bothered
+with properly. I should like to thank David Carlisle, Frank Mittelbach and 
+Chris Rowley for patiently answering my questions, even when they did not 
+wholly approve of what I was writing. Of course, any remaining mistakes are my 
+own, as are the personal opinions expressed.
+
+Thanks also to many of my colleagues, both at Goldsmiths' College and at Queen 
+Mary and Westfield College, for badgering me to explain how to do these things.
+And thanks to those readers who have sent kind messages of appreciation while 
+the tutorials have been appearing.
+
+\begin{thebibliography}{9}
+\bibitem{ams}
+\writer{American Mathematical Society}
+\book{\AMS-\LaTeX\ Version~1.2 User's Guide}
+\publish{American Mathematical Society}{Providence, Rhode Island}
+\byear{1995}
+
+
+\bibitem{companion}
+\writer{Goossens,~M., Mittelbach,~F. \& Samarin,~A.}
+\book{The \LaTeX\ Companion}
+\publish{Addison-Wesley}{Reading, Mass.}
+\byear{1994}
+
+\bibitem{leslie}
+\writer{Lamport,~L.}
+\book{\LaTeX: A Document Preparation System}
+first edition,
+\publish{Addison-Wesley}{Reading, Mass.}
+\byear{1986}
+
+\bibitem{newleslie}
+\writer{Lamport,~L.}
+\book{\LaTeX: A Document Preparation System}
+second edition, 
+\publish{Addison-Wesley}{Reading, Mass.}
+\byear{1994}
+\end{thebibliography}
+\end{Article}
+
+
-- 
cgit v1.2.3

