diff options
Diffstat (limited to 'info/laan/pwt/pwt.mat')
-rw-r--r-- | info/laan/pwt/pwt.mat | 1167 |
1 files changed, 1167 insertions, 0 deletions
diff --git a/info/laan/pwt/pwt.mat b/info/laan/pwt/pwt.mat new file mode 100644 index 0000000000..9ad24d59b5 --- /dev/null +++ b/info/laan/pwt/pwt.mat @@ -0,0 +1,1167 @@ +\input blue.tex +\loadindexmacros +\report +\font\grkop=cmr12 scaled\magstep3 +\bluechapter Mathematics + +\beginsummary +On top of plain \TeX{} \bluetex{} provides facilities for: +automatic numbering, +cross-referencing for formulas, +matrix icons, +multi-alignment points in eqalign, +primed summation symbols, +arrows for commutative diagrams, and +some special symbols. +Examples borrowed from literature are incfluded to illustrate +how \TeX{} can be used to mark up mathematics. +This anthology shows that many details have to be prescribed. +To give a math manuscript to a keyboarder without markup guidance +is doomed to yield mediocre results. +\endsummary + +\noindent^{Swanson} {\oldstyle1986} is a good source for what math should +look like in print. +Very nice is also `^{Mathematical Writing},' a report from +a Stanford Workshop organized by Knuth. +\TeX{} is already very rich for math markup, +because in his Preface to \TB{} Knuth states +\beginquote +\noindent\llap`\dots \TeX, a new typesetting system intended for the +creation of beautiful books\Dash and especially +for books that contain a lot of mathematics.' +\endquote + +\bluehead What's the problem, Doc? + +If we assume that mathematicians write math manuscripts +in the classical sense, then there is a problem when those mathematicians +wish to have their work formatted via computer-assisted +document-preparation tools like \TeX. +What has to be keyboarded looks much different from the manuscript. +Examples of this phenomenon are omni-present in this work. + +\blueexample Disparity math notation and markup notation + +\thisverbatim{\catcode`!=12 + \catcode`~=0 } +\begindemo +x=1+\left({y^2\over k+1} + \right)^{\!\!1/3} +~yields +$$x=1+\left({y^2\over k+1}\right)^ + {\!\!1/3}$$ +\enddemo +Because of this disparity, the problem is how to get a correct\ftn{Not + only in the sense that the \TeX{} formatter does not complain, + no, correct in the sense of complying with tradition of mathematical + typesetting.} +\TeX script, starting from a mathscript. +This is difficult\ftn{In the example at hand the keyboarder has to be + aware of \cs{over} and $/$ respectively, and when to use which. + Moreover, the correct size of the parentheses must be supplied, and + some kernings have to be inserted!} +due to the inherent complexity of math typesetting, and due to +the unusual nature of \TeX, if not because of the bewildering and +confusing flavours of \TeX-based products. +Even a fancy and friendly, {\smc wysiwyg} user-interface is not enough. +Optical scanners of math\Dash or systems which understand + spoken mathematics\Dash are still science fiction. + +\bluehead The extras + +\bluetex{} provides as extras to plain {\TeX} facilities for: +automatic numbering, +cross-referencing for (display) formulas, +macros for ^{matrix icons}, +an extension of ^|\eqalign| with respect to multi-alignment points, +primed summation symbols, +arrows for commutative diagrams, +^|\beginmathdemo| and |\endmathdemo| from manmac, and +poor man's ^{blackboard bold} and some other special symbols. +These extras are introduced via examples. + +\blueexample Automatic numbering and cross-referencing + +^^{formula,\ cross-referencing} +^^{formula,\ automatic numbering} +^^{formula,\ labeled} +This is a compatible extension. +For the markup of math ^{cross-referencing} insert +instead of plain's explicit (reference) number + +\bitem \noindent^|\ref|, for creation of the number, and + \thisverbatim{\emc}|\ref\<name>|, for attaching + a name to the automatically generated number, and +\bitem ^|\crsref||\<name>|, for cross-referencing. +\smallbreak + +\begindemo +%Automatic numbering +$$a+b\eqno\ref$$ +!yields +$$a+b\eqno\ref$$ +\enddemo + + +\begindemo +%Automatic numbering, and +%symbolic cross-referencing +$$c*d\eqno\ref\cgl$$ +Text, \crsref\cgl +!yields +$$c*d\eqno\ref\cgl$$ +Text, \crsref\cgl +\par\noindent +\enddemo +\exercise And what about forward referencing? +\answer This is not possible in a one-pass job. Therefore a note + is printed in the margin while proofing. The correct + number has to be filled in ultimately. + +%end answer +Handy token variables are ^|\prenum| +and ^|\postnum|.\ftn{Courtesy Michael Spivak.} +Their contents is inserted before, respectively +after, the automatically generated number in \cs{ref} and \cs{crsref}. +Because of this one can get labels and crossrefs like {\oldstyle13}a, +or enclosing numbers by parenthesis. +The latter are the defaults of these token variables. +If in such a case the formula counter must keep its value, provide +|\advancefalse|. +\exercise How can we retain the number, and suffix a letter, as + label of a formula to come? +\answer Provide \cs{advancefalse}, and |\postnum{a)}|. + +\blueexample Matrix icons + +Useful icons concern the matrices: +rectangular, via ^|\icmat|, +triangular (lower left and upper right), +via ^|\icllt| or ^|\icurt|, and +upper Hessenberg, via ^|\icuh|. +The arguments are dimensionless numbers. +The first argument reflects the vertical size, and +the second the horizontal size. +In case of \cs{icuh} the second argument is the Hessenberg bandwidth +and the third is the difference between the first and the second. + + +\begindemo +\unitlength1ex +$$\icmat44\kern\unitlength\icllt44= + \icllt44\icuh413\qquad + \hbox{AL}=\hbox{LH}$$ +!yields +\unitlength1ex +$$\icmat44\kern\unitlength\icllt44= + \icllt44\icuh413\qquad + \hbox{AL}=\hbox{LH}$$ +\enddemo + +\exercise Another matrix factorization reads +\begincenterverbatim +$$\icmat63=\icmat63\kern\unitlength + \icurt63\qquad\hbox{A}=\hbox{QR}$$ +!endcenterverbatim +When used together with the example above, +align on the =-signs, that is, on the =-sign in the icons and on the +=-sign in the formulas. +\answer Use \cs{eqalign} as follows. +\beginverbatim +$$\unitlength1ex + \eqalign{ + \icmat44\kern\unitlength\icllt44={}& + \icllt44\icuh413& + \qquad \hbox{AL${}={}$LH}\cr + \icmat63={}& + \icmat63\kern\unitlength\icurt63& + \qquad \hbox{\phantom{A}A${}={}$QR}} +$$ +!endverbatim + +\blueexample Compatible extension of eqalign % + with multiple alignment points + +^^|\eqalign| +\begindemo +$$\eqalign{ +\cos(z\sin\theta)={}& + J_0(z)& + {}+2\sum_{n=1}^\infty + J_{2n}(z)\cos2n\theta\cr + \sin(z\sin\theta)={}& + & + {}+2\sum_{n=1}^\infty +J_{2n+1}(z)\sin(2n+1)\theta\cr +}$$ +!yields +$$\eqalign{ +\cos(z\sin\theta)={}&J_0(z)& + {}+2\sum_{n=1}^\infty J_{2n}(z)\cos2n\theta\cr +\sin(z\sin\theta)={}& & + {}+2\sum_{n=1}^\infty +J_{2n+1}(z)\sin(2n+1)\theta\cr +}$$ +\enddemo +\exercise Why is the empty formula used in the markup? +\answer The empty formula $\{\}$ is used to coerce the + to behave + as a dyadic operator, and the = to behave similarly. + In other words to yield the correct spacing. + +\blueexample Macros for showing math markup and the result + +^|\beginmathdemo| (and variants) and |\endmathdemo|, +are used in the \TB{} script, {\oldstyle444}--{\oldstyle466}, +for indented display Math, see \TB{} chapters +{\oldstyle16}--{\oldstyle19}.\ftn{There + is only one second part macro for all these cases. + Its replacement text is modified into \cs{crcr}\cs{egroup}\$\$.} +^^|\begindemo|^^|\yields| +They are used to typeset the marked up copy and the +typeset result side-by-side. +The user does not have to bother about the template for the +alignment display used. +The functionality provided is similar, but a little restricted, +to the (\LaTeX) styles for switching from +one-column to two-column format and vice versa. +But, \dots\thinspace it is much simpler and more efficient\Dash +IMHO with all respect\Dash +because it does not entail OTR processing. + +\thisverbatim{\catcode`\|=12 } +\begindemo +%TeXbook 128 +\beginmathdemo + \it Input&\it Output\cr + \noalign{\vskip2pt} + |$x^2$|&x^2\cr +\endmathdemo +!yields +\beginmathdemo + \it Input&\it Output\cr + \noalign{\vskip2pt} + |$x^2$|&x^2\cr +\endmathdemo +\enddemo + +\thisverbatim{\catcode`\|=12 } +\begindemo +%TeXbook 139 +\begindisplaymathdemo + |$$x+y^2\over k+1$$|& + x+y^2\over k+1\cr + \noalign{\vskip2pt} + |$${x+y^2\over k}+1$$|& + {x+y^2\over k}+1\cr +\endmathdemo +!yields +\begindisplaymathdemo + |$$x+y^2\over k+1$$|& + x+y^2\over k+1\cr + \noalign{\vskip2pt} + |$${x+y^2\over k}+1$$|& + {x+y^2\over k}+1\cr + \noalign{\vskip-1pt} +\endmathdemo +\enddemo +Remark. Note that we have to supply the input and the output, +due the \TeX's rigidness of the category codes once assigned. + +\blueexample Poor man's blackboard bold and some special symbols + +^^{blackboard bold} +Now and then other symbols than those provided in the font tables +of Appendix~F of \TB{} are needed.\ftn{Generally, non-standard fonts are + already available somewhere. For math consult AMS.} +These can be constructed approximately. + +{\gutter4em +\def\boxit#1{\vbox{\hrule\hbox{\vrule + #1\vrule}\hrule}} +\begindemo +$$\halign{#\hfil\quad& + \hfil#\hfil\cr + natural numbers &$\IN$ \cr + integers &$\Z$ \cr + rational numbers &$\Q$ \cr + reel numbers &$\R$ \cr + and complex numbers&$\C$ \cr + next to\cr + greater or less &$\gtrless$\cr + external tensor product& + $\boxtimes$\cr}$$ +!yields +$$\def\IN{{\rm I\kern-.5ex N}} +\halign{#\hfil\quad&\hfil#\hfil\cr + natural numbers &$\IN$ \cr + integers &$\Z$ \cr + rational numbers &$\Q$ \cr + reel numbers &$\R$ \cr + and complex numbers&$\C$ \cr + next to\cr + greater or less &$\gtrless$\cr + external tensor product& + $\boxtimes$\cr}$$ +\enddemo} +\cs{IN}, \cs{Z}, et cetera are incorporated in \bluetex. +\exercise On the \TeX-NL network there was a request for the pro mille + token. How to get it? +\answer It is in the wasy font. A poor man's version is an open problem + as yet, because the lower 0 is neither 5pt, nor 6pt, and therefore + the symbol can't be built from \% and an appropriate sized 0. + A very, very poor man's version reads |\%\lower.2ex\hbox{\fiverm 0}|, + in fact unacceptible. + Building it from \cs{frac}, |\frac0/{00}|, is different from \%. + +\bluehead Use + +Many ingredients are supplied by plain. +It is just a matter of what-and-how, what to use from the wealth offered. +It has all to do with what the script should look like in print +{\em within the context}. +In the sequel some more math markup will be shown, not restricted to +markup tags from \bluetex{}. +A classical example is the markup for the various uses of O. + +Noteworthy is further that +punctuation symbols are also used with spacing before them, +ditto for the vertical bars and the backslash. +The size of delimiters is dependent on the context, +which can't be completely automated. +The variants can be obtained via special markup, for example via + +\bitem ^{coercion macro}s + (to guide \TeX{} with respect to spacing before and after, + for example via \cs{mathdelimiter}, + or to positioning of embellishments below and on top, + for example via \cs{mathop}) +\bitem the use of the ^{empty formula}, $\{\}$, + to coerce binary behaviour of the operator +\bitem macros to impose the size of delimiters + (\cs{biggl} et cetera) +\bitem special control sequences + (like \cs{colon}). +\smallbreak + +\bluesubhead Plain's display maths + +Most displays belong to one of the categories given below. + +\blueexample A labeled formula in display + +Spaces are neglected in math mode. ^^{formula,\ labeled} +The kern |\,| is needed to coerce the correct spacing. +\begindemo +$$\sin2x=2\sin x\,\cos x + \eqno({\rm TB186})$$ +!yields +$$\sin2x=2\sin x\,\cos x + \eqno({\rm TB186})$$ +\enddemo + +\blueexample Formula hyphenation; shifting of lines + +A hyphenated formula via \cs{displaylines}. ^^{formula,\ hyphenation} +With the use of \cs{hfill} we can shift lines to the +left or right. +\begindemo +$$\displaylines{F(z)= +a_0+{a_1\over z}+{a_2\over z^2} + +\cdots+{a_{n-1}\over z^{n-1}} + +R_n(z),\hfill\cr +\hfill n=0,1,2,\dots\,,\cr +F(z)\sim\sum_{n=0}^\infty + a_nz^{-n},\quad z\to\infty + \hfill\llap{(TB ex19.16)}}$$ +!yields +$$\displaylines{F(z)= +a_0+{a_1\over z}+{a_2\over z^2} + +\cdots+{a_{n-1}\over z^{n-1}} + +R_n(z),\hfill\cr +\hfill n=0,1,2,\dots\,,\cr +F(z)\sim\sum_{n=0}^\infty + a_nz^{-n},\quad z\to\infty + \hfill\llap{(TB ex19.16)}}$$ +\enddemo + +\blueexample Alignment and centered labeling + +\begindemo +$$\eqalign{\cos2x + &=2\cos^2x-1\cr + &=\cos^2x-\sin^2x} + \eqno({\rm TB193})$$ +!yields +$$\eqalign{\cos2x + &=2\cos^2x-1\cr + &=\cos^2x-\sin^2x} + \eqno({\rm TB193})$$ +\enddemo + +\blueexample Alignment and labels per line + +\begindemo +$$\eqalignno{\cosh2x + &=2\cosh^2x-1&({\rm TB192})\cr + &=\cosh^2x+\sinh^2x}$$ +!yields +$$\eqalignno{\cosh2x + &=2\cosh^2x-1&({\rm TB192})\cr + &=\cosh^2x+\sinh^2x}$$ +\enddemo + +Remark. %In not too narrow columns the last formulas + %are both centered. +If one wants \cs{eqalignno} to behave like +\cs{displaylines}\Dash that is, left-justified\Dash +then modify in \cs{eqalignno} the first +\cs{tabskip}=\cs{centering} assignation into +\cs{tabskip}= \cs{z@skip}. + +\blueexample Subscripts + +The depth of a ^{subscript} depends on whether there is +a superscript. With a superscript a subscript sinks a little. +In order to obtain uniformly placed subscripts +the solution is to adjust the following font dimension +parameters, see \TB{} {\oldstyle179}. +\begindemo +\fontdimen16\textfont2=2.7pt +\fontdimen17\textfont2=2.7pt +$$X_1+Y_1^2=1$$ +!yields +\fontdimen16\textfont2=2.7pt +\fontdimen17\textfont2=2.7pt +$$X_1+Y_1^2=1$$ +\enddemo + +\thissubhead{\runintrue} +\bluesubhead A snapshot of examples\par borrowed from \TB, +to illustrate the need for extra markup. +\TB{} chapters {\oldstyle16}\dash{\oldstyle19} contain many examples, +well-ordered and appropriately explained. + +\blueexample Dots and the comma after + +^^{dots and the comma after} +\begindemo +$${\bf S^{\rm-1}TS=dg}(\lambda_1, + \ldots\,,\lambda_n)=\bf\Lambda$$ +!yields +$${\bf S^{\rm-1}TS=dg}(\lambda_1, + \ldots\,,\lambda_n)=\bf\Lambda$$ +\enddemo + +\blueexample Summation with limits + +\begindemo +$$\sum_{k=1}^\infty{1\over2^k}=1$$ +!yields +$$\sum_{k=1}^\infty{1\over2^k}=1$$ +\enddemo +\exercise In line we usually have subscripts and superscripts. + How can we get those? +\answer Automatically! \TB{} 144: ` A displayed sum usually occurs + with `limits,' i.e., with subformulas that are to appear above + and below it. \dots\thinspace According to the normal conventions + of mathematical typesetting, \TeX{} will change this to + `$\sum_{k=1}^\infty{1\over2^k}=1$' (i.e., without limits) if it + occurs in text style rather than in displaystyle.' Explicit control + is possible via the control sequences \cs{limits}, respectively + \cs{nolimits}. + +%end answer + +\blueexample Overlining; accents + +If there is an example with various markup possibilities, this is the one, +although the various O-s comes close. ^^{overlining}^^{accents in math} +\begindemo +$$\bar z,\ \overline z,\ +\bar P,\ \overline P,\ +\bar h,\ \hbar,\ +\overline{AB}$$ +!yields +$$\bar z,\ \overline z,\ +\bar P,\ \overline P,\ +\bar h,\ \hbar,\ +\overline{AB}$$ +\enddemo + +\blueexample Square roots + +\begindemo +$$\sqrt{1+\sqrt{1+\sqrt{1+x}}}$$ +!yields +$$\sqrt{1+\sqrt{1+\sqrt{1+x}}}$$ +\enddemo + +\blueexample Roman texts in math, \TB~{\oldstyle163}; accents + +^^{roman texts in math} +\begindemo +$${f(x+\Delta x)-f(x)\over + \Delta x}\to f'(x)\quad + {\rm as}\quad\Delta x\to0$$ +!yields +$${f(x+\Delta x)-f(x)\over + \Delta x}\to f'(x)\quad + {\rm as}\quad\Delta x\to0$$ +\enddemo +Remark. \TeX{} uses special conventions for accents in formulas, so the +accents in ordinary text and the ^{accents in math} have different markup, +\TB~{\oldstyle135}. + + +\blueexample Kerning; positive and negative + +^^{kerning; positive and negative} +\thisverbatim{\catcode`\!=12 + \catcode`\~=0 } +\begindemo +$$ \int\!f(x)\,dx, \quad + \Gamma_{\!2}+\Delta^{\!2},\quad + \sum^\infty_{n=-\infty}\! + \!\!\cos nt$$ +~yields +$$ \int\!f(x)\,dx, \quad + \Gamma_{\!2}+\Delta^{\!2}, \quad +\sum^\infty_{n=-\infty}\!\!\!\cos nt$$ +\enddemo + +\blueexample Empty formula and subscripting + +^^{empty formula and subscripting} +\begindemo +(\lambda)_2\,{}_2F_1 +!yields +$$(\lambda)_2\,{}_2F_1$$ +\enddemo + +\blueexample Math operator + +^^{math\ operator} +\begindemo +$$\mathop{\hbox{\rm Res}}_ + {s=e^{i\pi}}f(s)=-e^{i\pi z}$$ +!yields +$$\mathop{\hbox{\rm Res}}_ + {s=e^{i\pi}}f(s)=-e^{i\pi z}$$ +\enddemo + +\blueexample Colon markup; punctuation vs.\ operator + +^^{colon markup} +\begindemo +$$f\colon A\to B,\quad \{x:x>5\}$$ +!yields +$$f\colon A\to B,\quad \{x:x>5\}$$ +\enddemo + +\blueexample Context-dependent size + +\begindemo +$$\bigl\!vrt\,\alpha(\sqrt + {\mathstrut a}+\sqrt + {\mathstrut b}\,)\, + \bigr\!vrt +\leq!vrt\alpha!vrt\, + \bigl\!vrt\sqrt + {\mathstrut a}+\sqrt + {\mathstrut b}\, + \bigr\!vrt$$ +!yields +$$\bigl\Vert\,\alpha(\sqrt{\mathstrut a}+ + \sqrt{\mathstrut b}\,)\,\bigr\Vert + \leq\vert\alpha\vert\, + \bigl\Vert\sqrt{\mathstrut a}+ + \sqrt{\mathstrut b}\,\bigr\Vert$$ +\enddemo +It is tempting to insert a multiplication dot. Don't! + +\blueexample Vertical bars, \TB{} {\oldstyle146}, {\oldstyle147}, + ex{\oldstyle18}.{\oldstyle21} + +\begindemo +$$\big\{\,x^3\bigm\vert h(x)\in + \{-1,0,+1\}\,\bigr\}$$ +!yields +$$\bigl\{\,x^3\,\bigm\vert\,h(x)\in + \{-1,0,+1\}\,\bigr\}$$ +\enddemo + +\blueexample Halves variety \TB{} ex{\oldstyle11}.{\oldstyle6}, ex{\oldstyle19}.{\oldstyle2} + +Essential is the use of \cs{textstyle}. +\begindemo +$$D^\lambda_0(z)= + 4a_\lambda\, z\,{}_2F_1(% + \textstyle + \lambda+{1\over2},{1\over2}; + {3\over2};z)$$ +%Typographer's 1/2 +Typographer's $\fracdek1/2$, +(recipes), which works better +than a mathematician's $1\over2$ +!yields +$$D^\lambda_0(z)= +4a_\lambda\, z\,{}_2F_1(\textstyle\lambda+{1\over2},{1\over2}; +{3\over2};z)$$ +Typographer's $\fracdek1/2$, +(recipes), which works better +than a mathematician's $1\over2$ +\enddemo + +\blueexample Under and overbraces + +Subtle use of fonts, and \cs{mathstrut} to enforce size. +For under and over parentheses see TTN 3.4. ^^{underbraces}^^{overbraces} +\begindemo +$$\{\underbrace{\overbrace + {\mathstrut a,\ldots,a}^ + {k\;a\mathchar`'\rm s}, + \overbrace{\mathstrut b,\ldots + ,b}^{l\;b\mathchar`'\rm s}} + _{k+l\rm\;elements}\}$$ +!yields +$$\{\underbrace{\overbrace{\mathstrut + a, \ldots,a}^{k\;a\mathchar`'\rm s}, + \overbrace{\mathstrut b,\ldots,b} + ^{l\;b\mathchar`'\rm s}} + _{k+l\rm\;elements}\}$$ +\enddemo + +\blueexample Diagonal dots, coercions, \TB{} ex{\oldstyle18}.{\oldstyle45} + +^^{diagonal dots} +\begindemo +$$2\uparrow\uparrow k + \mathrel{\mathop=^{\rm def}} + 2^{2^{2^{\cdot^{\cdot^ + {\cdot^2}}}}}\vbox + {\hbox{$\Big\}\scriptstyle k$} + \kern0pt}$$ +!yields +$$2\uparrow\uparrow k\mathrel{\mathop= + ^{\rm def}} + 2^{2^{2^{\cdot^{\cdot^{\cdot^2}}}}} + \vbox{\hbox{$\Big\}\scriptstyle k$} + \kern0pt}$$ +\enddemo + +\exercise What is the function of the \cs{kern}0pt? +\answer To set the curly brace on the baseline. + +\exercise Can the \cs{cdot} be replaced by just a period? +\answer It looks like it. Used within the picture environment + I stumbled on lack of scaling invariance for the latter case?!? + As far as I see it now the \cs{cdot} yields nicer result anyway. + Because of the explicit \cs{Big} the above markup is not + scaling invariant. + +\blueexample Undoing mathsurround space + +\begindemo +$2{\times}3$-matrix +!yields +\hfil$2{\times}3$-matrix +\enddemo + +\blueexample All those O-s + +\begindemo +$\emptyset$, (the empty set) +$f\circ g\colon + x\mapsto f\bigl(g(x)\bigr)$, + (composition), and + order symbols +$o(h^2)$, +$O(h^2)$. +!yields +\par $\emptyset$, {(the empty set)}, +\par $f\circ g\colon x\mapsto f\bigl(g(x)\bigr)$ +(composition), +\par and the order symbols $o(h^2)$ and $O(h^2)$ +\enddemo + +\blueexample Set difference vs.\ cosets + +^^{set difference}^^{cosets} +\begindemo +$A\setminus A=\emptyset, + \hbox{and the cosets of $G$ + by $H$:\ }G\backslash H$ +!yields +$A\setminus A=\emptyset, +\hbox{and the cosets of $G$ by $H$:\ } + G\backslash H$ +\enddemo + +\blueexample The Cardano solution to third-order equation + +\begindemo +%x^3+px=q, p,q\ge0 +$$\root3\of{\sqrt{p^3/27-q^2/4}+ + q/2}-\root3\of{\sqrt{p^3/27+ + q^2/4}-q/2}$$ +!yields +$$\root3\of{\sqrt{p^3/27-q^2/4}+q/2}- + \root3\of{\sqrt{p^3/27+q^2/4}-q/2}$$ +\enddemo + +\blueexample Derivatives + +The problem is the three dotted derivative, ^^{derivatives} +\TB~{\oldstyle136}. +\begindemo +$$\dot y\,\ddot y\, + \skew3\dot{\ddot y}\quad + y'\,y''\,y''' \quad +\partial_xy\,\partial_x^2y\, +\partial_x^3y$$ +!yields +$$\dot y\,\ddot y\, + \dot{\ddot y\kern2pt}\quad + y'\,y''\,y''' \quad +\partial_xy\,\partial_x^2y\, +\partial_x^3y$$ +\enddemo + +\blueexample Bessel equation + +^^{Bessel equation} +\begindemo +$$z^2w''+zw'+(z^2-\nu^2)w=0$$ +solutions: +$J_{\pm\nu}(z)$, +$Y_{\pm\nu}(z)$, +$H_\nu^{(1)}(z)$, +$H_\nu^{(2)}(z)$ +!yields +$$z^2w''+zw'+(z^2-\nu^2)w=0$$ +solutions: +$J_{\pm\nu}(z)$, +$Y_{\pm\nu}(z)$, +$H_\nu^{(1)}(z)$, +$H_\nu^{(2)}(z)$ +\enddemo + +\blueexample Primed summation symbols and split formula + +Subtle use of the prime and the right font. +Nice is the nested use of the coercions \cs{mathop} and +\cs{mathrel}. A minor detail is to preserve the dyadic +character of the + in the last term. \cs{acclap} is +incorporated in \bluetex. See \TB{} ex{\oldstyle18}.{\oldstyle44}. +\begindemo +$$\displaylines{ + \mathop{{\sum}\acclap'}_{k=0}^n + a_kT_k(x) + \mathrel{\mathop=^{\rm def}} + .5\kern1pt a_0+a_1 x+a_2T_2(x)+ + \cdots \hss\cr + \hfill{}+a_nT_n(x)}$$ +!yields +$$\displaylines{ + \mathop{{\sum}\acclap'}_{k=0}^n + a_kT_k(x)\mathrel{\mathop=^{\rm def}} + .5\kern1pt a_0+a_1 x+a_2T_2(x)+\cdots + \hss\cr + \hfill{}+a_nT_n(x)}$$ +\enddemo +\exercise How can we prevent the line distance from growing larger + than the regular value? +\answer Give the summation symbol depth 0. + +\blueexample Hypergeometric function + +^^{hypergeometric function} +Subtle subscripting, size of parentheses, and positioning of arguments. +\begindemo +$$M_n(z)={}_{n+1}F_n\Bigl({k+a_0, + \atop\phantom{kc_1}} + {k+a_1,\dots,k+a_n + \atop k+c_1,\dots,k+c_n};z\Bigr) +$$ +!yields +$$M_n(z)={}_{n+1}F_n\Bigl({k+a_0, + \atop\phantom{kc_1}} + {k+a_1,\dots,k+a_n + \atop k+c_1,\dots,k+c_n};z\Bigr) +$$ +\enddemo +\exercise Why has the \cs{phantom} argument |kc_1|? +\answer It could have been anything representative for the lower part. + With the k and the subscript in the \cs{phantom} we are sure + that the vertical positioning will be OK. + +%end answer +\blueexample From \TB{} {\oldstyle177}, (p)matrix as formula part. % + proclaim is used too + +\begindemo +\proclaim Definition. $x$ is called +an eigenvector with +eigenvalue $\lambda$ of the matrix +$$A=\pmatrix{ + a_{11}&a_{12}&\ldots&a_{1n}\cr + a_{21}&a_{22}&\ldots&a_{2n}\cr + \vdots&\vdots&\ddots&\vdots\cr + a_{n1}&a_{n2}&\ldots&a_{nn}\cr}$$ +if $Ax=\lambda x$. +\par +!yields +\proclaim Definition. $x$ is called +an eigenvector with +eigenvalue $\lambda$ +of the matrix +$$A=\pmatrix{ + a_{11}&a_{12}&\ldots&a_{1n}\cr + a_{21}&a_{22}&\ldots&a_{2n}\cr + \vdots&\vdots&\ddots&\vdots\cr + a_{n1}&a_{n2}&\ldots&a_{nn}\cr}$$ +if $Ax=\lambda x$. + +\enddemo%blank line is necessary + +\blueexample Split equation and context-sized delimiters + +\begindemo +From Swanson (1986, Section 3.3 + Math in Display) +Because it is a large formula +I used \displaylines. +For the integral we need \nolimits +to inactivate the default placement +of limits. +Furthermore, there is subtle use of +subscripting and delimiters of +varying sizes. +Finally the shifting of parts +has to handled corrrectly. +See the script for the details. +!yields +$$\displaylines{ + \int\nolimits_U\delta(I)\mu(I) + \leq{}\hfill\cr + \quad{}\sum_{{\cal D}} + \sum_{{\cal D}_{I'}} + \biggl[\int\nolimits_J + \alpha(J')\mu(J')-\alpha(J)\mu(J) + \hfill\cr + \hfill {}-\int\nolimits_J + [\{s(\alpha\eta)(J')\} + /\eta(J')]\mu(J')\biggr]\cr + \quad{}+\biggl[ + \sum_{{\cal D}} + \sum_{{\cal D}_{I'}} + |\alpha(J)-[\{s(\alpha\eta)(J)\} + /\eta(J)]|\mu(J)\biggr]\hfill\cr + \hfill + {}\times\biggl[ + \sum_{{\cal D}} + \sum_{{\cal D}_{I'}} + |\alpha(J)-[\{s(\alpha\eta)(J)\} + /\eta(J)]|\eta(J)\biggr] \cr} $$ +\enddemo + +\blueexample Rhombus scheme + +^^{rhombus\ scheme} +\begindemo +The idea is to align vertically. +Pseudo markup reads +\setbox\ru={</ line>} +\setbox\rl={<\ line>} +$$\halign{<template>\cr +1st & &e...\cr + &\ru& &\rl& \cr +q...& & & &q...\cr + &\rl& &\ru& \cr + & &e...&\omit... + \hidewidth\cr}$$ +For the details consult the script. +!yields +{\hfuzz=30pt +\newbox\ru % +\newbox\rl % +\setbox\ru=\hbox{\unitlength=1ex + \xdim{4}\ydim{2} + \beginpicture + \put(0,0){\line(2,1){4}} + \endpicture} +%\diagline . 4ex wd +2ex ht\relax}% +\setbox\rl=\hbox{\unitlength=1ex + \xdim{4}\ydim{2} + \beginpicture + \put(0,2){\line(2,-1){4}} + \endpicture} +%\diagline . 4ex wd -2ex ht\relax}% +$$\quad\vbox{\offinterlineskip +\halign to\displaywidth +{\tabskip=0pt \hfil$#$%left element +&\hfil$\vcenter{#}$\hfil%left lines +&\hfil$#$\hfil %middle elements +&\hfil$\vcenter{#}$\hfil%right lines +&$#$\hfil %right elements +\tabskip=\centering\cr %end template +1^{st}\/{\rm RS}\hfill + & &e^{(s)}_k&& \cr +&\copy\ru& &\copy\rl& \cr +q^{(s+1)}_k&&&&q^{(s)}_{k+1}\cr +&\copy\rl& &\copy\ru& \cr +& &e^{(s+1)}_k + &\omit$={q^{(s)}_{k+1}\over q^{(s ++1)}_k}\,e^{(s)}_k$\hfil\hidewidth\cr +\noalign{\vskip1ex} +2^{nd}\/{\rm RS}\hfill + & &q^{(s)}_k&& \cr +&\copy\ru& &\copy\rl& \cr +e^{(s+1)}_{k+1}&&&&e^{(s)}_k\cr +&\copy\rl& &\copy\ru& \cr +& &q^{(s+1)}_k + &\omit$=q^{(s)}_k+(e^{(s)}_k- + e^{(s+1)}_{k+1})$\hfil\hidewidth + \cr}%end halign +}% end vbox element +$$} +\enddemo + +\blueexample Commutative diagram, confer \TB{} ex{\oldstyle18}.{\oldstyle46} + +Nice use of two-sided \cs{hidewidth}, ^^{commutative diagram} +and the subtle \cs{strut} to place the superscript of {$\cal F$}. +There is no strict alignment. The elements at the nodes overflow +into the space of the arrows. As a consequence we need arrows of +various lengths. +\begindemo +\let\normalbaselines + \adaptedbaselines +$$\matrix{ + f&\lmapright\otimes&a_f\cr + \mapdown{{\cal F}}&&\mapup{% + {\cal F}\strut^{-}}\cr + \hidewidth{\cal F}(f)\hidewidth + &\mapright\times\hfil& + \hidewidth\bigl({\cal F}(f) + \bigr)^2\hidewidth\cr}$$ +!yields +\let\normalbaselines\adaptedbaselines +$$%Diagram +\matrix{f&\lmapright\otimes&a_f\cr + \mapdown{{\cal F}}&&\mapup{% + {\cal F}\strut^{-}}\cr + \hidewidth{\cal F}(f)\hidewidth + &\mapright\times\hfil& + \hidewidth\bigl({\cal F}(f) + \bigr)^2\hidewidth\cr}$$ +\enddemo + +\blueexample Partitioning + +^^{partitioning} +\begindemo +$$\def\data{$I_{n-r}$\cs 0 \rs + 0\cs $I-2v_rv_r^T$} +P_r=\left(\vcenter{\ruled + \btable\data}\right)$$ +!yields +$$\def\lft{\hfil$}\def\rgt{$\hfil} +\def\data{I_{n-r}\cs 0 \rs + 0\cs I-2v_rv_r^T} +P_r=\left(\vcenter{\ruled + \btable\data}\right)$$ +\enddemo +\exercise How can we avoid \$-s in the markup of the data? +\answer Define \cs{lft} and \cs{rgt} equal to \$ with + \cs{hfil} added left, respectively right, for centering. + +\exercise How can we construct partitioned matrices in general? +\answer Make use of nested tables. Consider the partitioned matrix, + a \cs{ruled}\cs{btable}, to be built from blocks + with each block a non-ruled matrix. + +%end answer + +\blueexample Continued fractions with alignment on =, and interruption + +^^{continued fraction} +\begindemo +Many details come together in +this markup. Not in the least +the alignment on = where one is +an =-def. Also the space +saving variants, borrowed from +literature are relevant. +The special `\over'-line is a +poor man's use of \atop and +\over, because \over is a +primitive. +Peruse the script. +!yields +\def\cfsym{\mathop{\grkop \Phi}} +$$\eqalignno{ +1+\cfsym_{k=1}^n{a_k\over b_k} +&{}\buildrel{\rm def}\over= + 1+{a_1\over\displaystyle b_1+ + {\strut a_2\over\strut + \vrule height3ex width0pt\relax + \displaystyle b_2 + + \lower2.0ex\hbox{$\ddots\, + \lower1.25ex\hbox{$+ + {\displaystyle a_{n-1}\over + \displaystyle b_{n-1}+ + {\strut a_n\over + \displaystyle b_n}}$} + $} + } + }\cr +\noalign{%\noindent %not necessary +with (space saving) + variant notations} +&{}\buildrel{\rm\phantom{def}}\over= +1+\cf{a_1}{b_1}+\cf{a_2}{b_2}+\cdots+\cf{a_n}{b_n}\cr +% +&{}\buildrel{\rm\phantom{def}}\over= +1+ +{a_1\over\textstyle\strut + \vrule height2.5ex width0pt + b_1\,+\,} +{a_2\over\textstyle\strut + \vrule height2.5ex width0pt + b_2\,+\,} + \cdots +{a_n\over\textstyle\strut + \vrule height2.5ex width0pt + b_n} +\cr}%end\eqalignno +$$ +\enddemo +\exercise How can we replace the division line by $\cf{}{}$ \ ? +\answer This is an open problem. If you have an elegant solution, + let me know. + +%end answer +\blueexample Context sensitivity + +Certain accents can grow a little with what has to be accented, \TB~{\oldstyle136}. +^^{context sensitivity}^^{accents in math} +\begindemo +$$\widehat{xy}, + \widetilde{xyz}$$ +!yields +$$\widehat{xy}, + \widetilde{xyz}$$ +\enddemo + +\blueexample Matrix equation + +^^{matrix equation} +\begindemo +$$\displaylines{\indent +\bordermatrix{ + & &\rm A & \cr + &\times&\times&\times\cr + &\times&\times&\times\cr + &\times&\times&\times} +\bordermatrix{ + & &\rm N & \cr + &1& & \cr + &0&1 & \cr + &0&\times&1} +\hfill\cr\hfill= +\bordermatrix{& &\rm N & \cr + &1& & \cr + &0&1 & \cr + &0&\times&1} +\bordermatrix{ + & &\rm H & \cr + &\times&\times&\times\cr + &\times&\times&\times\cr + &0 &\times&\times} +}$$ +!yields +$$\displaylines{\indent +\bordermatrix{& &\rm A & \cr + &\times&\times&\times\cr + &\times&\times&\times\cr + &\times&\times&\times\cr} +\bordermatrix{& &\rm N & \cr + &1& & \cr + &0&1 & \cr + &0&\times&1\cr}\hfill\cr +\hfill= +\bordermatrix{& &\rm N & \cr + &1& & \cr + &0&1 & \cr + &0&\times&1\cr} +\bordermatrix{& &\rm H & \cr + &\times&\times&\times\cr + &\times&\times&\times\cr + &0 &\times&\times\cr} +}$$ +\enddemo + + +\blueexample Braces and matrices + +^^{braces and matrices} +\begindemo +This is a complex problem, with a lot +of fine-tuning. However, it is +possible to systemize much. +The approach is to look at it as +a bordered table with a +parenthesized matrix as data. +The handling of the row stub and +the header are separated from +the data (the pmatrix). +The pseudo code reads as follows. +\setbox1=\hbox{$\pmatrix{<data>}$} +Define header and row stub list, and +switch off defaults of btable, +especially the separators. +Finally invoke +$$\btable{$\vcenter{\copy1}$}$$. +Alignment left braces courtesy +Alan Jeffrey communicated by +J\"org Knappen. +For the details see the script. +!yields +\def\fatlbrace{\delimiter"4000338 } +%Set the block +\setbox1=\hbox{$\pmatrix{% +\times&\times&\times&\times&\times&\times&\times\cr +0 &\times&\times&\times&\times&\times&\times\cr +0 &0 &\times&\times&\times&\times&\times\cr +0 &0 &0 &\times&\times&\times&\times\cr +0 &0 &0 &0 &\times&\times&\times\cr +0 &0 &0 &0 &\times&\times&\times\cr +0 &0 &0 &0 &\times&\times&\times}$} +%Define header and row stub list (each one element) +\def\header{\hbox to\wd1{\hfil +$\overbrace{\vrule height0pt width.4\wd1 depth0pt}^p$\hfil +$\overbrace{\vrule height0pt width.3\wd1 depth0pt}^{n-p}$\hfil}} +\tvsize=\ht1\advance\tvsize\dp1 +\def\rowstblst{{$\vcenter to\tvsize{\vss + \hbox{${\scriptstyle\phantom{n{-}}p} + \left\fatlbrace\vrule height.55\ht1 width0pt depth 0pt\right.$}\vss + \hbox{${\scriptstyle n{-}p} + \left\fatlbrace\vrule height.15\ht1 width0pt depth 0pt\right.$}\vss}$}} +% +\def\data{$\vcenter{\copy1}$} +%Switch off defaults in btable +\let\rowstbsep\relax%kind of row stub separator +\let\headersep\relax%kind of header separator +\let\colsepsurround\relax%space around column separator +\def\hs{\cr\nxtrs}%function of header separator: yield next row stub +$$\vcenter{\btable\data}$$ +\enddemo + +\exercise Add partitioning to the braces and matrices example. +\answer In pic.dat a trial-and-error solution is included. + Not elegant. Improve, enjoy, and let me know! + +\endinput +\bye
\ No newline at end of file |