diff options
author | Karl Berry <karl@freefriends.org> | 2019-09-14 22:07:09 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-09-14 22:07:09 +0000 |
commit | 77c6ab621157215821ffc5d8b0dd655748c262e7 (patch) | |
tree | 8c7cc34fd220c9cacf2bfb1f0149419f083805ea /Master/texmf-dist/doc/latex-dev/amsmath | |
parent | e1f5126a433abad76994faf305f1df3ad04b6f02 (diff) |
latex-dev (15sep19)
git-svn-id: svn://tug.org/texlive/trunk@52096 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex-dev/amsmath')
21 files changed, 7363 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex-dev/amsmath/README.md b/Master/texmf-dist/doc/latex-dev/amsmath/README.md new file mode 100644 index 00000000000..66a27edf03c --- /dev/null +++ b/Master/texmf-dist/doc/latex-dev/amsmath/README.md @@ -0,0 +1,81 @@ +The amsmath bundle for LaTeX +============================ + +Release 2019-10-01 pre-release 3 + +Overview +-------- + +The `amsmath` package is an extension package for LaTeX that provides +additional features to facilitate mathematical typesetting. It has been +developed by the American Mathematical Society (AMS) and released for general +use as a service to the mathematical community. A number of smaller +auxiliary packages are also distributed with the `amsmath` package. + +Effective in 2016, maintenance of `amsmath was transferred from AMS to +the LaTeX Project; as `amsmath` is considered a "required" package, this +centralizes control over the core LaTeX components. + +Installation +------------ + +We no longer distribute installation instructions for the various TeX +implementations. All modern TeX systems include `amsmath` as-standard, and end +users should in general use the release versions supplied in this way. + +Release distribution is carried out only through the CTAN archives. + +Documentation +------------- + +The primary documentation for `amsmath` is in provided as `amsldoc.pdf`. + +Additional documentation files include: + + - `diffs-m.txt` + - `subeqn.pdf` + - `technote.pdf` + - `testmath.pdf` + +which are included in the collection. All of these can be accessed +easily with most distributions by entering `texdoc` *filename* at the +command line, or via [TeXdoc Online](http://texdoc.net). + +Change logs +----------- + +The file `changes.txt` lists recent changes in reverse chronological order. + +The file `diffs-m.txt` contains information on development and changes +prior to 2000. + +Reporting Bugs +-------------- + +If you wish to report a problem or bug in the `amsmath` bundle +please use the [Issue Tracker for LaTeX2e on +GitHub](https://github.com/latex3/latex2e/issues) +and follow the guidelines that pop up if you press the "New issue" button. + +In particular, to check that you are really seeing a bug, please write +a short, self-contained document that shows the problem. This should +include the `latexbug` package, which will warn if your test file is +not suitable for one or the other reason. See the [CONTRIBUTING +guide](https://github.com/latex3/latex2e/blob/master/CONTRIBUTING.md) +for further details, or if you need to obtain the `latexbug` package. + +If the bug turns out to be with third-party software then please +contact the developer, and not us! + +License +------- + +The contents of this bundle are distributed under the [LaTeX Project +Public License](https://www.latex-project.org/lppl/lppl-1-3c/), +version 1.3c or later. + +----- + +<p>Copyright (C) 2001-2004, 2007, 2008, 2010, 2011, 2013 American Mathematical Society. <br /> +<p>Copyright (C) 2016-2019 The LaTeX Project and American Mathematical Society. <br /> + diff --git a/Master/texmf-dist/doc/latex-dev/amsmath/ams-external.txt b/Master/texmf-dist/doc/latex-dev/amsmath/ams-external.txt new file mode 100644 index 00000000000..fa2dbea5561 --- /dev/null +++ b/Master/texmf-dist/doc/latex-dev/amsmath/ams-external.txt @@ -0,0 +1,547 @@ +%%% list of external commands used by amsmath (not totally correct) + +\! +\" +\( +\* +\, +\- +\. +\/ +\: +\; +\= +\Acute +\AmS +\AmSfont +\And +\AtBeginDocument +\Bar +\Big +\Bigg +\Biggr +\Bigr +\Breve +\Check +\DOTS +\DOTSB +\DOTSI +\DOTSX +\Ddot +\DeclareFontEncoding +\DeclareFontShape +\DeclareMathAccent +\DeclareMathDelimiter +\DeclareMathOperator +\DeclareMathSymbol +\DeclareOption +\DeclareRobustCommand +\Dot +\ExecuteOptions +\GenericError +\GenericInfo +\GenericWarning +\Grave +\Hat +\Leftarrow +\Longleftarrow +\Longleftrightarrow +\Longrightarrow +\MessageBreak +\MultiIntegral +\PackageError +\PackageWarning +\PackageWarningNoLine +\PassOptionsToPackage +\Pr +\ProcessOptions +\Relbar +\RequirePackage +\Rightarrow +\Tilde +\Umathaccent +\Umathcar +\Umathchar +\Umathcharnumdef +\Umathcode +\Umathcodenum +\Umathfractiondelsize +\Vec +\Vert +\XeTeXcharclass +\[ +\] +\above +\abovedisplayskip +\abovewithdelims +\accentedsymbol +\acute +\addtocounter +\advance +\aftergroup +\allowbreak +\allowdisplaybreaks +\alph +\arabic +\arccos +\arcsin +\arctan +\arg +\array +\arraycolsep +\arraystretch +\atop +\atopwithdelims +\badness< +\bar +\baselineskip +\baselineskip6 +\begin +\begingroup +\belowdisplayskip +\bgroup +\big +\bigcap +\bigcup +\bigg +\biggr +\bigodot +\bigoplus +\bigotimes +\bigr +\bigsqcup +\biguplus +\bigvee +\bigwedge +\binom +\bmod +\boldsymbol +\box +\boxed +\breve +\cases +\cdotp +\cdots +\cfrac +\char +\chardef +\check +\cleaders +\colon +\columnwidth +\coprod +\copy +\cos +\cosh +\cot +\coth +\cr +\crcr +\csc +\csname +\csnamen +\csnamethe +\dbinom +\ddddot +\dddot +\ddot +\def +\deg +\delimiter +\delimiterfactor +\delimitershortfall +\det +\dfrac +\dim +\displaybreak +\displayindent +\displaylimits +\displaystyle +\displaywidth +\divide +\do +\dot +\doteq +\dots +\dotsb +\dotsc +\dotsi +\dotsm +\dotso +\dp +\edef +\egroup +\else +\end +\endalign +\endaligned +\endarray +\endcsname +\endgather +\endgroup +\endmathdisplay +\endmatrix +\endmultline +\endsplit +\endsubarray +\eqno +\eqref +\everycr +\everydisplay +\everymath +\exp +\expandafter +\fbox +\fi +\fontchardp +\fontcharht +\fontdimen +\fontencoding +\fontfamily +\frac +\fracwithdelims +\futurelet +\gcd +\gdef +\genfrac +\global +\grave +\halign +\halignto +\hat +\hbox +\hdots +\hdotsfor +\hfil +\hfill +\hfilneg +\hfuzz +\hom +\hookleftarrow +\hookrightarrow +\hrule +\hskip +\ht +\ialign +\idotsint +\if +\ifDOTS +\ifcase +\ifdim +\iff +\iffalse +\iffalse%initialvalue +\ifhbox +\ifinner +\ifm +\ifmacrostarts +\ifmmode +\ifnum +\ifnum` +\ifodd +\iftrue +\ifvmode +\ifx +\ignorespaces +\ignorespacesafterend +\iiiint +\iiint +\iint +\impliedby +\implies +\inf +\injlim +\int +\interdisplaylinepenalty +\intertext +\intop +\joinrel +\jot +\ker +\kern +\l% +\lVert +\label +\lastbox +\lastkern +\lastskip +\lbrace +\ldots +\leavevmode +\left +\leftarrow +\leftmargini +\leftmarginiminus +\leftroot +\leqno +\let +\lg +\lhook +\lim +\liminf +\limits +\lineskip +\lineskiplimit +\linewidth +\llap +\ln +\log +\long +\longleftarrow +\longleftrightarrow +\longmapsto +\longrightarrow +\loop +\lq +\lvert +\mapsto +\mapstochar +\mathaccent +\mathaccentV +\mathalpha +\mathbin +\mathchar +\mathchardef +\mathchoice +\mathclose +\mathcode +\mathdisplay +\mathellipsis +\mathgroup +\mathhexbox +\mathinner +\mathop +\mathopen +\mathord +\mathpalette +\mathpunct +\mathrel +\mathring +\mathsurround +\mathxxx +\mathxxxtest +\mathxxxx +\matrix +\max +\maxdimen +\mbox +\meaning +\medmuskip +\medspace +\min +\minalignsep +\mintagsep +\mkern +\mod +\moveleft +\mskip +\mspace +\multicolumn +\multiply +\multlinegap +\multlinegap10pt +\multlinetaggap +\multlinetaggap10pt +\negmedspace +\negthickspace +\negthinspace +\newbox +\newcommand +\newcount +\newcounter +\newdimen +\newenvironment +\newhelp +\newif +\newmuskip +\newskip +\newtoks +\noalign +\nobreak +\nobreakdash +\nobreakspace +\noexpand +\noindent +\nointerlineskip +\nolimits +\nonscript +\nonumber +\normalbaselines +\normalcolor +\normalfont +\normallineskiplimit +\not +\notag +\nottest +\null +\nulldelimiterspace +\number +\numberwithin +\of +\oint +\ointop +\omit +\openup +\operatorfont +\operatorname +\operatornamewithlimits +\or +\over +\overleftarrow +\overleftrightarrow +\overline +\overrightarrow +\overset +\overwithdelims +\par +\parshape +\penalty +\pmatrix +\pmod +\pod +\postdisplaypenalty +\predisplaypenalty +\prevdepth +\primfrac +\prod +\projlim +\protect +\providecommand +\qopname +\quad +\rVert +\raise +\raisetag +\rangle +\rbrace +\rbrack +\rceil +\ref +\refstepcounter +\relax +\relaxo +\relbar +\renewcommand +\renewenvironment +\repeat +\rfloor +\rgroup +\rhook +\right +\rightarrow +\rlap +\rmoustache +\romannumeral +\root +\rootbox +\rq +\rvert +\scriptfont +\scriptscriptfont +\scriptscriptstyle +\scriptstyle +\sec +\selectfont +\setbox +\setcounter +\shoveleft +\shoveright +\sideset +\sim +\sin +\sinh +\skewchar +\smash +\space +\spaceor +\span +\spbreve +\spcheck +\spdddot +\spddot +\spdot +\sphat +\split +\sptilde +\sqrtsign +\stepcounter +\string +\strut +\strutbox +\subarray +\substack +\sum +\sup +\symoperators +\tabskip +\tag +\taghere +\tan +\tanh +\tbinom +\text +\textellipsis +\textfont +\textstyle +\textup +\tfrac +\the +\theequation +\theparentequation +\thetag +\thickmuskip +\thickmuskip0mu +\thickspace +\thinmuskip +\thinspace +\tilde +\tmspace +\toks +\typeout +\u +\underleftarrow +\underleftrightarrow +\underrightarrow +\underset +\unhbox +\unhcopy +\unpenalty +\unskip +\unvbox +\unvcopy +\uppercase +\uproot +\usefont +\value +\varDelta +\varGamma +\varLambda +\varOmega +\varPhi +\varPi +\varPsi +\varSigma +\varTheta +\varUpsilon +\varXi +\varinjlim +\varliminf +\varlimsup +\varprojlim +\vbox +\vcenter +\vec +\vee +\veqno +\vert +\vrule +\vskip +\vss +\vtop +\wd +\widehat +\widetilde +\xdef +\xleaders +\xleftarrow +\xrightarrow diff --git a/Master/texmf-dist/doc/latex-dev/amsmath/ams-internal.txt b/Master/texmf-dist/doc/latex-dev/amsmath/ams-internal.txt new file mode 100644 index 00000000000..06a0c97f091 --- /dev/null +++ b/Master/texmf-dist/doc/latex-dev/amsmath/ams-internal.txt @@ -0,0 +1,482 @@ +%%%% list of internal commands used by amsmath (not totally correct) + +\@@above +\@@abovewithdelims +\@@atop +\@@atopwithdelims +\@@eqno +\@@italiccorr +\@@leqno +\@@over +\@@overline +\@@overwithdelims +\@@sqrt +\@@undefined +\@@underline +\@M +\@addtoreset +\@amsmath@err +\@arrayboxrestore +\@arrayparboxrestore +\@backslashchar +\@badmath +\@car +\@cdots +\@centering +\@checkend +\@currentlabel +\@currenvir +\@declmathop +\@depth +\@display@init +\@displaytrue +\@eha +\@ehc +\@ehd +\@elt +\@empty +\@emptytoks +\@envbody +\@eqnnum +\@eqnswfalse +\@eqnswtrue +\@eqpen +\@fleqntrue +\@for +\@genfrac +\@getpen +\@gobble +\@gobblefour +\@gobblethree +\@gobbletwo +\@gtempa +\@height +\@iden +\@ifdefinable +\@ifnextchar +\@ifnotempty +\@ifpackageloaded +\@ifpackagewith +\@ifstar +\@ifundefined +\@ignoretrue +\@ldots +\@let@token +\@lign +\@m +\@mathmargin +\@mathmeasure +\@mathstyle +\@namedef +\@ne +\@nil +\@nocnterr +\@nocounterr +\@nx +\@onlypreamble +\@saveprimitive +\@sptoken +\@stpelt +\@tempa +\@tempb +\@tempc +\@tempcnta +\@tempcntb +\@tempd +\@tempdima +\@tempdimb +\@tempdimc +\@temptokena +\@testopt +\@totalleftmargin +\@undefined +\@width +\@xp +\@xp#1 +\DN@ +\DOTS@ +\DOTSCASE@ +\FN@ +\Invalid@@ +\Leftarrowfill@ +\Leftrightarrowfill@ +\Let@ +\Mathstrut@ +\Mathstrutbox@ +\RIfM@ +\Rightarrowfill@ +\SK@@label +\SK@equationtrue +\SK@tagform@ +\Umathch@ +\acc@check +\acc@error +\accentclass@ +\add@amp +\add@amps +\addto@envbody +\addto@hook +\align@ +\align@preamble +\align@recover +\aligned@a +\alignedat@a +\alignedspace@left +\alignsafe@testopt +\alignsep@ +\alignsep@- +\alignsep@< +\alt@tag +\ams@DeclareRobustCommand +\ams@def +\ams@newcommand +\ams@renewcommand +\andhelp@ +\arrowfill@ +\bBigg@ +\begin@stack +\big@size +\bigcap@ +\bigcup@ +\bigodot@ +\bigoplus@ +\bigotimes@ +\bigsqcup@ +\biguplus@ +\bigvee@ +\bigwedge@ +\binrel@ +\binrel@@ +\black@ +\bold@false +\bold@true +\boldsymboldots@ +\boxz@ +\c@MaxMatrixCols +\c@MaxMatrixColsc +\calc@shift@align +\calc@shift@gather +\check@mathfonts +\checkat@false +\checkat@true +\cl@@ckpt +\classnum@ +\cmex@opt +\collect@@body +\collect@body +\column@ +\column@plus +\coprod@ +\count@ +\csname@@ +\csnamec@ +\csnamecl@ +\csnameemdf@ +\csnamem@gobble +\csnamemb@ +\ctagsplit@false +\ctagsplit@true +\default@tag +\delayed@ +\df@label +\df@tag +\dft@tag +\dimen@ +\displ@y +\displ@y@ +\displaywidth@ +\dotsb@ +\dotso@ +\dotsspace@ +\dspbrk@ +\dspbrk@context +\dspbrk@lvl +\dt@pfalse +\dt@ptrue +\emdf@L +\emdf@La +\emdf@R +\emdf@Ra +\emdf@U +\emdf@Ua +\endmathdisplay@a +\endmathdisplay@fleqn +\endmultline@math +\env@cases +\env@matrix +\eqnshift@ +\every@math@size +\ex@ +\ext@arrow +\extra@ +\extrap@ +\f@series +\f@size +\field@lengths +\fieldlengths@ +\finsm@sh +\firstchoice@false +\firstchoice@true +\fracwithdelims@ +\frozen@everymath +\gather@ +\gather@split +\gdisplaywidth@ +\genfrac@choice +\genfrac@rule +\getdsp@pen +\getmathch@ +\getmathcode@ +\gmeasure@ +\gobble@tag +\gtest@false +\gtest@true +\hdots@for +\hexnumber@ +\if@display +\if@eqnsw +\if@fleqn +\ifbold@ +\ifcheckat@ +\ifctagsplit@ +\ifdt@p +\iffirstchoice@ +\ifgtest@ +\ifinalign@ +\ifingather@ +\ifmeasuring@ +\ifshifttag@ +\ifst@rred +\iftag@ +\iftagsleft@ +\iftagsleft@L +\ifxxat@ +\ilimits@ +\inalign@false +\inalign@true +\incr@eqnum +\inf@bad +\ingather@false +\ingather@true +\insplit@ +\intdots@ +\intertext@ +\intkern@ +\ints@a +\ints@b +\ints@c +\invalid@tag +\keybin@ +\keybin@test +\label@in@display +\leavevmode@ifvmode +\leftarrowfill@ +\leftrightarrowfill@ +\leftroot@ +\leftroot@mu +\lendmultline@ +\lendsplit@ +\lineht@ +\ltx@label +\m@gobble +\m@ne +\m@th +\m@th$ +\macc@a +\macc@adjust +\macc@code +\macc@depth +\macc@group +\macc@kerna +\macc@kernb +\macc@nested +\macc@nested@a +\macc@nucleus +\macc@palette +\macc@set@skewchar +\macc@skewchar +\macc@style +\macc@test +\macc@tmp +\macro@ +\macro@@ +\make@df@tag +\make@df@tag@@ +\make@df@tag@@@ +\make@display@tag +\makesm@sh +\maketag@@ +\maketag@@@ +\math@ +\math@bgroup +\math@cr +\math@cr@ +\math@cr@@ +\math@cr@@@ +\math@cr@@@align +\math@cr@@@align@measure +\math@cr@@@aligned +\math@cr@@@alignedat +\math@cr@@@gather +\math@cr@@[ +\math@egroup +\mathbin@ +\mathch@ +\mathdisplay@@pop +\mathdisplay@@push +\mathdisplay@pop +\mathdisplay@push +\mathdisplay@stack +\mathrel@ +\mathsm@sh +\matrix@check +\matrix@error +\maxcol@width +\maxcolumn@widths +\maxfields@ +\mb@b +\mb@t +\mb@tb +\mdots@ +\mdots@@ +\meaning@ +\meaning@@ +\measure@ +\measuring@false +\measuring@true +\mmeasure@ +\multline@ +\multline@indent +\new@ifnextchar +\newmcodes@ +\newmcodes@m +\newmcodes@o +\next@ +\nextii@ +\nextiii@ +\nextiv@ +\nextix@ +\nextv@ +\nextvi@ +\nextvii@ +\nextviii@ +\nfss@text +\nmlimits@ +\noaccents@ +\nogood@displaybreak +\nolimits@ +\nomath@env +\nonmatherr@ +\not@ +\operator@font +\operator@fontlim$ +\operator@fontmod +\overarrow@ +\p@ +\p@equation +\place@tag +\place@tag@gather +\plainroot@ +\print@eqnum +\process@envbody +\prod@ +\protected@edef +\push@begins +\r@@t +\raise@tag +\relaxnext@ +\rendmultline@ +\rendsplit@ +\reset@equation +\reset@strutbox@ +\resetMathstrut@ +\restore@hfuzz +\restore@math@cr +\restorealignstate@ +\restorecolumn@ +\restorecounters@ +\rightarrowfill@ +\rightdelim@ +\row@ +\savealignstate@ +\savecolumn@ +\savecounters@ +\savefieldlength@ +\saveshift@ +\savetaglength@ +\select@group +\set@field +\set@gather@field +\set@mathaccent +\setboxz@h +\sf@size +\shdots@for +\shift@tag +\shifttag@false +\shifttag@true +\sixt@@n +\skip@ +\slimits@ +\split@ +\split@al@a +\split@al@tagcheck +\split@aligned +\split@err +\split@tag +\split@warning +\spread@equation +\ssf@size +\st@rredfalse +\st@rredtrue +\start@align +\start@aligned +\start@gather +\start@multline +\std@equal +\std@minus +\striplong@ +\strut@ +\strut@$ +\strutbox@ +\sum@ +\tag@false +\tag@help +\tag@in@align +\tag@in@display +\tag@in@display@a +\tag@lengths +\tag@shifts +\tag@true +\tag@width +\tagform@ +\tagshift@ +\tagsleft@false +\tagsleft@true +\tagwidth@ +\tdots@ +\text@ +\textdef@ +\thecharacter@ +\thedots@ +\thr@@ +\toks@ +\too@wide +\totwidth@ +\try@load@fontshape +\tw@ +\underarrow@ +\uproot@ +\use@mathgroup +\varlim@ +\varliminf@ +\varlimsup@ +\wdz@ +\x@calc@shift@lc +\x@calc@shift@lf +\x@calc@shift@rc +\x@calc@shift@rf +\x@lcalc@width +\x@rcalc@width +\xatlevel@ +\xxat@true +\z@ diff --git a/Master/texmf-dist/doc/latex-dev/amsmath/amsbsy.pdf b/Master/texmf-dist/doc/latex-dev/amsmath/amsbsy.pdf Binary files differnew file mode 100644 index 00000000000..9a2dabfc889 --- /dev/null +++ b/Master/texmf-dist/doc/latex-dev/amsmath/amsbsy.pdf diff --git a/Master/texmf-dist/doc/latex-dev/amsmath/amscd.pdf b/Master/texmf-dist/doc/latex-dev/amsmath/amscd.pdf Binary files differnew file mode 100644 index 00000000000..860352c44a8 --- /dev/null +++ b/Master/texmf-dist/doc/latex-dev/amsmath/amscd.pdf diff --git a/Master/texmf-dist/doc/latex-dev/amsmath/amsgen.pdf b/Master/texmf-dist/doc/latex-dev/amsmath/amsgen.pdf Binary files differnew file mode 100644 index 00000000000..9078999dc01 --- /dev/null +++ b/Master/texmf-dist/doc/latex-dev/amsmath/amsgen.pdf diff --git a/Master/texmf-dist/doc/latex-dev/amsmath/amsldoc.pdf b/Master/texmf-dist/doc/latex-dev/amsmath/amsldoc.pdf Binary files differnew file mode 100644 index 00000000000..decc68fe74e --- /dev/null +++ b/Master/texmf-dist/doc/latex-dev/amsmath/amsldoc.pdf diff --git a/Master/texmf-dist/doc/latex-dev/amsmath/amsldoc.tex b/Master/texmf-dist/doc/latex-dev/amsmath/amsldoc.tex new file mode 100644 index 00000000000..9e08f029f5f --- /dev/null +++ b/Master/texmf-dist/doc/latex-dev/amsmath/amsldoc.tex @@ -0,0 +1,2770 @@ +% +% Copyright (C) 1995, 2000, 2013 American Mathematical Society. +% Copyright (C) 2016-2019 LaTeX3 Project and American Mathematical Society. +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3c +% of this license or (at your option) any later version. +% The latest version of this license is in +% https://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is the LaTeX3 Project. +% +\documentclass[leqno,titlepage,openany]{amsldoc}[1999/12/13] + +\def\MaintainedByLaTeXTeam#1{% +\begin{center}% +\fbox{\fbox{\begin{tabular}{@{}l@{}}% +This file is maintained by the \LaTeX{} Project team.\\% +Bug reports can be opened (category \texttt{#1}) at\\% +\url{https://latex-project.org/bugs/}.\end{tabular}}}\end{center}} + +\ifx\UndEfiNed\url + \ClassError{amsldoc}{% + This version of amsldoc.tex must be processed\MessageBreak + with a newer version of amsldoc.cls (2.02 or later).}{} +\fi + +\renewcommand\bibname{References} + +% Definitions that should be moved to amsldoc.cls +% when it is next updated +\makeatletter +\let\cleardouble@page\cleardoublepage +\AtBeginDocument{% + \ifx\cleardouble@page\cleardoublepage + \def\cleardoublepage{\clearpage{\pagestyle{empty}\cleardouble@page}} + \fi +} + +% #1 is empty or one of class, environment, option, package +% could use different font in each case +\makeatletter +\def\@category@index#1#2{% + \autoindex{% + #2\actualchar\string\index#1font{#2}% + \ifx\@nil#1\@nil\else\space#1\fi + }% +} + +\let\indexpackagefont\textsf +\let\indexclassfont\textsf +\let\indexoptionfont\texttt +\let\indexenvironmentfont\texttt +\let\indexfont\texttt +\makeatother +% For a package that won't be indexed, i.e. amsmath +\newcommand{\nipkg}{\textsf} +\def\tikz/{Ti\textit{k}Z} +% End definitions for amsldoc.cls + +\title{User's Guide for the \nipkg{amsmath} Package (Version~2.1)} +\author{American Mathematical Society, \LaTeX3 Project} +\date{1999-12-13 (revised 2002-02-25, 2016-11-14, 2018-04-05)} +\makeatletter +\def\@thanks{\bigskip\MaintainedByLaTeXTeam{amslatex}} +\makeatother + +% Use the amsmath package and amscd package in order to print +% examples. +\usepackage{amsmath} +\usepackage{amscd} + +\usepackage{imakeidx} +% Need alternate coding for vertical bar to get it into index. +% Based on \qcbang and \cnbang in amsldoc.cls, refined by David Carlisle. +% Give it a sort field that will be at the end of the symbols; +% must avoid " and | which have special meanings. +\DeclareRobustCommand{\qcvert}{\qc\|\index{{z1}@{\ntt\char'174}}} +\DeclareRobustCommand{\cnvert}{% + \ncn{\|}\index{{z0}@{\ntt\bslchar\char'174}}} +% Need alternate index sort field for bang to allow & to sort first +\DeclareRobustCommand{\altcnbang}{% + \ncn{\!}\index{"!b@{\ntt\bslchar\qcbang}}} +\DeclareRobustCommand{\cnamp}{% + \index{"!a@\texttt{\&}}} + +\makeindex[intoc] % generate index data +\providecommand{\see}[2]{\textit{see} #1} + +% The amsldoc class includes a number of features useful for +% documentation about TeX, including: +% +% ---Commands \tex/, \amstex/, \latex/, ... for uniform treatment +% of the various logos and easy handling of following spaces. +% +% ---Commands for printing various common elements: \cn for command +% names, \fn for file names (including font-file names), \env for +% environments, \pkg and \cls for packages and classes, etc. + +% Many of the command names used here are rather long and will +% contribute to poor linebreaking if we follow the \latex/ practice +% of not hyphenating anything set in tt font; instead we selectively +% allow some hyphenation. +\allowtthyphens % defined in amsldoc.cls + +\hyphenation{ac-cent-ed-sym-bol add-to-counter add-to-length align-at + aligned-at allow-dis-play-breaks ams-art ams-cd ams-la-tex amsl-doc + ams-symb ams-tex ams-text ams-xtra bmatrix bold-sym-bol cen-ter-tags + eqn-ar-ray idots-int int-lim-its latex med-space neg-med-space + neg-thick-space neg-thin-space no-int-lim-its no-name-lim-its + over-left-arrow over-left-right-arrow over-right-arrow pmatrix + qed-sym-bol set-length side-set small-er tbinom the-equa-tion + thick-space thin-space un-der-left-arrow un-der-left-right-arrow + un-der-right-arrow use-pack-age var-inj-lim var-proj-lim vmatrix + xalign-at xx-align-at} + +% Prepare for illustrating the \vec example +\newcommand{\vect}[1]{\mathbf{#1}} + +\newcommand{\booktitle}[1]{\textit{#1}} +\newcommand{\journalname}[1]{\textit{#1}} +\newcommand{\seriesname}[1]{\textit{#1}} + +% Command to insert and index a particular phrase. Doesn't work for +% certain kinds of special characters in the argument. +\newcommand{\ii}[1]{#1\index{#1}} + +\newcommand{\vstrut}[1]{\vrule width0pt height#1\relax} + +% An environment for presenting comprehensive address information: +\newenvironment{infoaddress}{% + \par\topsep\medskipamount + \trivlist\centering + \item[]% + \begin{minipage}{.7\columnwidth}% + \raggedright +}{% + \end{minipage}% + \endtrivlist +} + +\newenvironment{eqxample}{% + \par\addvspace\medskipamount + \noindent\begin{minipage}{.5\columnwidth}% + \def\producing{\end{minipage}\begin{minipage}{.5\columnwidth}% + \hbox\bgroup\kern-.2pt\vrule width.2pt% + \vbox\bgroup\parindent0pt\relax +% The 3pt is to cancel the -\lineskip from \displ@y + \abovedisplayskip3pt \abovedisplayshortskip\abovedisplayskip + \belowdisplayskip0pt \belowdisplayshortskip\belowdisplayskip + \noindent} +}{% + \par +% Ensure that a lonely \[\] structure doesn't take up width less than +% \hsize. + \hrule height0pt width\hsize + \egroup\vrule width.2pt\kern-.2pt\egroup + \end{minipage}% + \par\addvspace\medskipamount +} + +% Errors in output shouldn't be \texttt, and they may also be longer +% than one line, but they should be identified by the "errorbullet". +% (They were formerly labeled as aubsections.) +\newenvironment{erroro}[1]{% + \par\addvspace\medskipamount + \noindent\hangindent\parindent + \hbox to\parindent{\errorbullet\hfil}\ignorespaces + #1\par\vspace{\smallskipamount} +}{% + \par\addvspace\medskipamount +} + +% The chapters are so short, perhaps we shouldn't call them by the +% name `Chapter'. We make \chaptername read an argument in order to +% remove a following \space or "{} " (both possibilities are present +% in book.cls). + +\renewcommand{\chaptername}[1]{} +\newcommand{\chapnum}[1]{\mdash #1\mdash } +\makeatletter +\def\@makechapterhead#1{% + \vspace{1.5\baselineskip}% + {\parindent \z@ \raggedright \reset@font + \ifnum \c@secnumdepth >\m@ne + \large\bfseries \chapnum{\thechapter}% + \par\nobreak + \vskip.5\baselineskip\relax + \fi + #1\par\nobreak + \vskip\baselineskip + }} +\makeatother + +% A command for ragged-right parbox in a tabular. +\newcommand{\rp}{\let\PBS\\\raggedright\let\\\PBS} + +% Non-indexed file name +\newcommand{\nfn}[1]{\texttt{#1}} + +% For the examples in the math spacing table. +%%\newcommand{\lspx}{\mbox{\rule{5pt}{.6pt}\rule{.6pt}{6pt}}} +%%\newcommand{\rspx}{\mbox{\rule[-1pt]{.6pt}{7pt}% +%% \rule[-1pt]{5pt}{.6pt}}} +\newcommand{\lspx}{\mathord{\Rightarrow\mkern-1mu}} +\newcommand{\rspx}{\mathord{\mkern-1mu\Leftarrow}} +\newcommand{\spx}[1]{$\lspx #1\rspx$} + +% For a list of characters representing document input. +\newcommand{\clist}[1]{% + \mbox{\ntt\spaceskip.2em plus.1em \xspaceskip\spaceskip#1}} + +% Fix weird \latex/ definition of rightmark. +\makeatletter +\def\rightmark{\expandafter\@rightmark\botmark{}{}} +% Also turn off section marks. +\let\sectionmark\@gobble +\renewcommand{\chaptermark}[1]{% + \uppercase{\markboth{\rhcn#1}{\rhcn#1}}} +\newcommand{\rhcn}{\thechapter. } +\makeatother + +% Include down to \section but not \subsection, in toc: +\setcounter{tocdepth}{1} + +% Subheadings for the bibliography +\newif\iffirstbibsubhead \firstbibsubheadtrue +\newcommand{\bibsubhead}[1]{% + \iffirstbibsubhead \firstbibsubheadfalse + \else \addvspace{\medskipamount} + \fi + \item[]\hspace*{-\leftmargin}\textbf{#1}\par + \vspace{\smallskipamount} +} + +\DeclareMathOperator{\ix}{ix} +\DeclareMathOperator{\nul}{nul} +\DeclareMathOperator{\End}{End} +\DeclareMathOperator{\xxx}{xxx} + +\usepackage{hyperref} +\hypersetup{pdfborder=0 0 0} +\makeatletter +\let\oldcs\cs +\def\cs#1{\texorpdfstring{\oldcs{#1}}{\@backslashchar\@backslashchar#1}} +\let\cn\cs +\makeatother +\begin{document} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\frontmatter + +\maketitle + +\pagestyle{headings} +\tableofcontents +\cleardoublepage % for better page number placement + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mainmatter +\chapter{Introduction} + +\index{amsmath@\texttt{amsmath} package|(} + +The \nipkg{amsmath} package is a \LaTeX{} package that provides +miscellaneous enhancements for improving the information structure and +printed output of documents that contain mathematical formulas. Readers +unfamiliar with \LaTeX{} should refer to \cite{lamport}. If you have an +up-to-date version of \LaTeX{}, the \nipkg{amsmath} package is normally +provided along with it. Upgrading when a newer version of the +\nipkg{amsmath} package is released can be done via +\url{http://mirror.ctan.org/macros/latex/required/amsmath.zip}. + +This documentation describes the features of the \nipkg{amsmath} package +and discusses how they are intended to be used. It also covers some +ancillary packages: +\begin{ctab}{lll} +\pkg{amsbsy}& \pkg{amsopn}& \pkg{amsxtra}\\ +\pkg{amscd}& \pkg{amstext}\\ +\end{ctab} +These all have something to do with the contents of math formulas. For +information on extra math symbols and math fonts, see \cite{amsfonts} +and \url{https://www.ams.org/tex/amsfonts.html}. For documentation of the +\pkg{amsthm} package or AMS document classes (\cls{amsart}, +\cls{amsbook}, etc.\@) see \cite{amsthdoc} or \cite{amshandbk} and +\url{https://www.ams.org/tex/author-info.html}. + +If you are a long-time \latex/ user and have lots of mathematics in what +you write, then you may recognize solutions for some familiar problems +in this list of \nipkg{amsmath} features: +\begin{itemize} + +\item A convenient way to define new `operator name' commands analogous +to \cn{sin} and \cn{lim}, including proper side spacing and automatic +selection of the correct font style and size (even when used in +sub- or superscripts). + +\item Multiple substitutes for the \env{eqnarray} environment to make +various kinds of equation arrangements easier to write. + +\item Equation numbers automatically adjust up or down to avoid +overprinting on the equation contents (unlike \env{eqnarray}). + +\item Spacing around equals signs matches the normal spacing in the +\env{equation} environment (unlike \env{eqnarray}). + +\item A way to produce multiline subscripts as are often used with +summation or product symbols. + +\item An easy way to substitute a variant equation number for a given +equation instead of the automatically supplied number. + +\item An easy way to produce subordinate equation numbers of the form +(1.3a) (1.3b) (1.3c) for selected groups of equations. + +\end{itemize} + +The \nipkg{amsmath} package is distributed together with some small +auxiliary packages: +\begin{description} +\item[\nipkg{amsmath}] Primary package, provides various features for + displayed equations and other mathematical constructs. + +\item[\pkg{amstext}] Provides a \cn{text} command for + typesetting a fragment of text inside a display. + +\item[\pkg{amsopn}] Provides \cn{DeclareMathOperator} for defining new + `operator names' like \cn{sin} and \cn{lim}. + +\item[\pkg{amsbsy}] For backward compatibility this package continues +to exist but use of the newer \pkg{bm} package that comes with \LaTeX{} +is recommended instead. + +\item[\pkg{amscd}] Provides a \env{CD} environment for simple + commutative diagrams (no support for diagonal arrows). + +\item[\pkg{amsxtra}] Provides certain odds and ends such as + \cn{fracwithdelims} and \cn{accentedsymbol}, for compatibility with + documents created using version 1.1. + +\end{description} + +The \nipkg{amsmath} package incorporates \pkg{amstext}, \pkg{amsopn}, and +\pkg{amsbsy}. The features of \pkg{amscd} and \pkg{amsxtra}, however, +are available only by invoking those packages separately. + +The independent \pkg{mathtools} package \cite{mt} provides some +enhancements to \nipkg{amsmath}; \pkg{mathtools} loads \nipkg{amsmath} +automatically, so there is no need to separately load \nipkg{amsmath} +if \pkg{mathtools} is used. Some \pkg{mathtools} facilities +will be noted below as appropriate. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\chapter{Options for the \nipkg{amsmath} package}\label{options} + +The \nipkg{amsmath} package has the following options: +\index{options!amsmath@\texttt{amsmath} package options|(} +\begin{description} + +\item[\opt{centertags}] (default) For an equation containing a +\env{split} environment, place equation +numbers\index{equationn@equation numbers!vertical placement} +vertically centered on the total height of the equation. + +\item[\opt{tbtags}] `Top-or-bottom tags': For an equation containing +a \env{split} environment, place equation +numbers\index{equationn@equation numbers!vertical placement} level with the last +(resp.\ first) line, if numbers are on the right (resp.\ left). + +\item[\opt{sumlimits}] (default) Place the subscripts and +superscripts\index{subscripts and superscripts!placement}\relax +\index{limits|see{subscripts and superscripts}} of summation symbols +above and below, in displayed equations. This option also affects other +symbols of the same type\mdash $\prod$, $\coprod$, $\bigotimes$, +$\bigoplus$, and so forth\mdash but excluding integrals (see below). + +\item[\opt{nosumlimits}] Always place the subscripts and superscripts of +summation-type symbols to the side, even in displayed equations. + +\item[\opt{intlimits}] Like \opt{sumlimits}, but for +integral\index{integrals!placement of limits} symbols. + +\item[\opt{nointlimits}] (default) Opposite of \opt{intlimits}. + +\item[\opt{namelimits}] (default) Like \opt{sumlimits}, but for certain +`operator names' such as $\det$, $\inf$, $\lim$, $\max$, $\min$, that +traditionally have subscripts% +\index{subscripts and superscripts!placement} placed underneath when +they occur in a displayed equation. + +\item[\opt{nonamelimits}] Opposite of \opt{namelimits}. + +\end{description} + +\goodbreak + +\begin{description} +\item[\opt{alignedleftspaceyes}] +\item[\opt{alignedleftspaceno}] +\item[\opt{alignedleftspaceyesifneg}] +\end{description} + +To use one of these package options, put the option name in the optional +argument of the \cn{usepackage} command\mdash e.g., +\verb"\usepackage[intlimits]{amsmath}". +For AMS document classes and any other classes that preload \nipkg{amsmath} +desired options must be specified with the \cn{documentclass}\mdash +e.g.,\\ +\verb+\documentclass[intlimits,tbtags,reqno]{amsart}+. + +The \nipkg{amsmath} package also recognizes the following options which +are normally selected (implicitly or explicitly) through the +\cn{documentclass} command, and thus need not be repeated in the option +list of the \cn{usepackage}|{amsmath}| statement. +\begin{description} + +\item[\opt{leqno}] Place equation numbers on the left.% +\index{equationn@equation numbers!left or right placement} + +\item[\opt{reqno}] Place equation numbers on the right. + +\item[\opt{fleqn}] Position equations at a fixed indent from the left +margin rather than centered in the text column.% +\index{displayed equations!centering} + +\end{description} + +Three options have been added to control the space to the left of +\env{aligned} and \env{gathered} environments. Prior to the 2017 release +a thin space was added to the left but not the right of these constructs. +This appears to have been an accidental feature of the implementation and +was typically corrected by prefixing the environments with \altcnbang. + +The new default behavior is aimed to ensure that the environments do +not have a thin space added in most cases, and that existing documents +using |\!\begin{aligned}| continue to work as before. + +\begin{description} +\item[\opt{alignedleftspaceyes}] Always add \cn{\,} to the left of \env{aligned} and \env{gathered}. +\item[\opt{alignedleftspaceno}] Never add \cn{\,} to the left of \env{aligned} and \env{gathered}. +\item[\opt{alignedleftspaceyesifneg}] Only add \cn{\,} if the environment is prefixed by negative space. (New default behavior.) +\end{description} + +\index{options!amsmath@\texttt{amsmath} package options|)} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\chapter{Displayed equations} + +\section{Introduction} +The \nipkg{amsmath} package provides a number of additional displayed +equation structures\index{displayed equations}% +\index{equations|see{displayed equations}} beyond the ones +provided in basic \latex/. The augmented set includes: +\begin{verbatim} + equation equation* align align* + gather gather* alignat alignat* + multline multline* flalign flalign* + split +\end{verbatim} +(Although the standard \env{eqnarray} environment remains available, +it is better to use \env{align} or \env{equation}+\env{split} instead. +Within \env{eqnarray}, spacing\index{horizontal spacing} around signs +of relation is not the preferred mathematical spacing, and is +inconsistent with that spacing as it appears in other environments. +Long lines in this environment may result in misplaced or overprinted +equation numbers. This environment also does not support the use of +\cn{qed} or \cn{qedhere} as provided by theorem packages.) + +Except for \env{split}, each environment has both starred and unstarred +forms, where the unstarred forms have automatic numbering using +\latex/'s \env{equation} counter. You can suppress the number on any +particular line by putting \cn{notag} before the end of that line; +\cn{notag} should not be used outside a display environment as it will +mess up the numbering. You can also +override\index{equationn@equation numbers!overriding} a number with a tag +of your own using \cn{tag}|{|\<label>|}|, where \<label> means arbitrary +text such as |$*$| or |ii| used to \qq{number} the equation. +A tag can reference a different tagged display by use of +|\tag{\ref{|\<label>|}|\<modifier>|}| where \<modifier> is optional. +If you are using \pkg{hyperref}, use \cn{ref*}; +use of the starred form of \cn{ref} prevents a reference to a modified +tag containing a nested link from linking to the original display. + +There is also a +\cn{tag*} command that causes the text you supply to be typeset +literally, without adding parentheses around it. \cn{tag} and \cn{tag*} +can also be used within the unnumbered versions of all the \nipkg{amsmath} +alignment structures. Some examples of the use of \cn{tag} may be found +in the sample files \fn{testmath.tex} and \fn{subeqn.tex} provided with +the \nipkg{amsmath} package. + +The \env{split} environment is a special subordinate form that is used +only \emph{inside} one of the others. It cannot be used inside +\env{multline}, however. \env{split} supports only one alignment (|&|) +column; if more are needed, \env{aligned} or \env{alignedat} should be +used. The width of a \env{split} structure is the full line width. + +In the structures that do alignment (\env{split}, \env{align} and +variants), relation symbols have an |&| before them but not +after\mdash unlike \env{eqnarray}. Putting the |&| after the +relation symbol will interfere with the normal spacing; it has to go +before. + +In all multiline environments, lines are divided by \cn{\\}. The \cn{\\} +should \emph{not} be used to end the last line. Using it there will +result in unwanted extra vertical space following the display. + +In \emph{all} math environments (inline or display), blank lines +(equivalent to \cn{par}) are not permitted, and will result in an error. + +\begin{table}[p] +\caption[]{Comparison of displayed equation environments (vertical lines +indicating nominal margins)}\label{displays} +\renewcommand{\theequation}{\arabic{equation}} +\begin{eqxample} +\begin{verbatim} +\begin{equation*} +a=b +\end{equation*} +\end{verbatim} +\producing +\begin{equation*} +a=b +\end{equation*} +\end{eqxample} + +\begin{eqxample} +\begin{verbatim} +\begin{equation} +a=b +\end{equation} +\end{verbatim} +\producing +\begin{equation} +a=b +\end{equation} +\end{eqxample} + +\begin{eqxample} +\begin{verbatim} +\begin{equation}\label{xx} +\begin{split} +a& =b+c-d\\ + & \quad +e-f\\ + & =g+h\\ + & =i +\end{split} +\end{equation} +\end{verbatim} +\producing +\begin{equation}\label{xx} +\begin{split} +a& =b+c-d\\ + & \quad +e-f\\ + & =g+h\\ + & =i +\end{split} +\end{equation} +\end{eqxample} + +\begin{eqxample} +\begin{verbatim} +\begin{multline} +a+b+c+d+e+f\\ ++i+j+k+l+m+n +\end{multline} +\end{verbatim} +\producing +\begin{multline} +a+b+c+d+e+f\\ ++i+j+k+l+m+n +\end{multline} +\end{eqxample} + +\begin{eqxample} +\begin{verbatim} +\begin{gather} +a_1=b_1+c_1\\ +a_2=b_2+c_2-d_2+e_2 +\end{gather} +\end{verbatim} +\producing +\begin{gather} +a_1=b_1+c_1\\ +a_2=b_2+c_2-d_2+e_2 +\end{gather} +\end{eqxample} + +\begin{eqxample} +\begin{verbatim} +\begin{align} +a_1& =b_1+c_1\\ +a_2& =b_2+c_2-d_2+e_2 +\end{align} +\end{verbatim} +\producing +\begin{align} +a_1& =b_1+c_1\\ +a_2& =b_2+c_2-d_2+e_2 +\end{align} +\end{eqxample} + +\begin{eqxample} +\begin{verbatim} +\begin{align} +a_{11}& =b_{11}& + a_{12}& =b_{12}\\ +a_{21}& =b_{21}& + a_{22}& =b_{22}+c_{22} +\end{align} +\end{verbatim} +\producing +\begin{align} +a_{11}& =b_{11}& + a_{12}& =b_{12}\\ +a_{21}& =b_{21}& + a_{22}& =b_{22}+c_{22} +\end{align} +\end{eqxample} + +\begin{eqxample} +\begin{verbatim} +\begin{flalign*} +a_{11} + b_{11}& = c_{11}& + a_{12}& =b_{12}\\ +b_{21}& = c_{21}& + a_{22}& =b_{22}+c_{22} +\end{flalign*} +\end{verbatim} +\producing +\begin{flalign*} +a_{11} + b_{11}& = c_{11}& + a_{12}& =b_{12}\\ +b_{21}& = c_{21}& + a_{22}& =b_{22}+c_{22} +\end{flalign*} +\end{eqxample} +\end{table} + +%% ------------------------------------------------------------------ %% +\enlargethispage{1\baselineskip} + +\section{Single equations} + +The \env{equation} environment is for a single equation with an +automatically generated number. The \env{equation*} environment is the +same except for omitting the number.% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\footnote{Basic \latex/ doesn't provide an \env{equation*} environment, +but rather a functionally equivalent environment named +\env{displaymath}.} +The wrapper \verb+\[ ... \]+ is equivalent to \env{equation*}.% +\index{[@\verb+\[ ... \]+} + +%% ------------------------------------------------------------------ %% + +\section{Split equations without alignment} + +The \env{multline} environment is a variation of the \env{equation} +environment used for equations that don't fit on a single line. The +first line of a \env{multline} will be at the left margin and the last +line at the right margin, except for an indention on both sides in the +amount of \cn{multlinegap}. Any additional lines in between will be +centered independently within the display width (unless the \opt{fleqn} +option is in effect).% +\index{options!behavior of particular options} + +Like \env{equation}, \env{multline} has only a single equation number +(thus, none of the individual lines should be marked with \cn{notag}). +The equation number is placed on the last line (\opt{reqno} option) or +first line (\opt{leqno} option); vertical centering as for \env{split} +is not supported by \env{multline}.% +\index{options!behavior of particular options} + +It's possible to force one of the middle lines to the left or right with +commands \cn{shoveleft}, \cn{shoveright}. These commands take the entire +line as an argument, up to but not including the final \cn{\\}; for +example +\begin{multline} +\framebox[.65\columnwidth]{A}\\ +\framebox[.5\columnwidth]{B}\\ +\shoveright{\framebox[.55\columnwidth]{C}}\\ +\framebox[.65\columnwidth]{D} +\end{multline} +\begin{verbatim} +\begin{multline} +\framebox[.65\columnwidth]{A}\\ +\framebox[.5\columnwidth]{B}\\ +\shoveright{\framebox[.55\columnwidth]{C}}\\ +\framebox[.65\columnwidth]{D} +\end{multline} +\end{verbatim} + +The value of \cn{multlinegap} can be changed with the usual \latex/ +commands \cn{setlength} or \cn{addtolength}. + +%% ------------------------------------------------------------------ %% + +\section{Split equations with alignment} + +Like \env{multline}, the \env{split} environment is for \emph{single} +equations that are too long to fit on one line and hence must be split +into multiple lines. Unlike \env{multline}, however, the \env{split} +environment provides for alignment among the split lines, using |&| to +mark alignment points. Unlike the other \nipkg{amsmath} equation +structures, the \env{split} environment provides no numbering, because +it is intended to be used \emph{only inside some other displayed + equation structure}, usually an \env{equation}, \env{align}, or +\env{gather} environment, which provides the numbering. For example: +\begin{equation}\label{e:barwq}\begin{split} +H_c&=\frac{1}{2n} \sum^n_{l=0}(-1)^{l}(n-{l})^{p-2} + \sum_{l _1+\dots+ l _p=l}\prod^p_{i=1} \binom{n_i}{l _i}\\ +&\quad\cdot[(n-l )-(n_i-l _i)]^{n_i-l _i}\cdot + \Bigl[(n-l )^2-\sum^p_{j=1}(n_i-l _i)^2\Bigr]. + \kern-2em % adjust equation body to the right [mjd,13-Nov-1994] +\end{split}\end{equation} + +\begin{verbatim} +\begin{equation}\label{e:barwq}\begin{split} +H_c&=\frac{1}{2n} \sum^n_{l=0}(-1)^{l}(n-{l})^{p-2} + \sum_{l _1+\dots+ l _p=l}\prod^p_{i=1} \binom{n_i}{l _i}\\ +&\quad\cdot[(n-l )-(n_i-l _i)]^{n_i-l _i}\cdot + \Bigl[(n-l )^2-\sum^p_{j=1}(n_i-l _i)^2\Bigr]. +\end{split}\end{equation} +\end{verbatim} + +The \env{split} structure should constitute the entire body of the +enclosing structure, apart from commands like \cn{label} that produce no +visible material. + +%% ------------------------------------------------------------------ %% + +\section{Equation groups without alignment} + +The \env{gather} environment is used for a group of consecutive +equations when there is no alignment desired among them; each one is +centered separately within the text width (see Table~\ref{displays}). +Equations inside \env{gather} are separated by a \cn{\\} command. +Any equation in a \env{gather} may consist of a \verb'\begin{split}' + \dots\ \verb'\end{split}' structure\mdash for example: +\begin{verbatim} +\begin{gather} + first equation\\ + \begin{split} + second & equation\\ + & on two lines + \end{split} + \\ + third equation +\end{gather} +\end{verbatim} + +%% ------------------------------------------------------------------ %% + +\section{Equation groups with mutual alignment} + +The \env{align} environment is used for two or more equations when +vertical alignment is desired; usually binary relations such as equal +signs are aligned (see Table~\ref{displays}). + +To have several equation columns side-by-side, use extra ampersands +to separate the columns: +\begin{align} +x&=y & X&=Y & a&=b+c\\ +x'&=y' & X'&=Y' & a'&=b\\ +x+x'&=y+y' & X+X'&=Y+Y' & a'b&=c'b +\end{align} +% +\begin{verbatim} +\begin{align} +x&=y & X&=Y & a&=b+c\\ +x'&=y' & X'&=Y' & a'&=b\\ +x+x'&=y+y' & X+X'&=Y+Y' & a'b&=c'b +\end{align} +\end{verbatim} +Line-by-line annotations on an equation can be done by judicious +application of \cn{text} inside an \env{align} environment: +\begin{align} +x& = y_1-y_2+y_3-y_5+y_8-\dots + && \text{by \eqref{eq:C}}\\ + & = y'\circ y^* && \text{by \eqref{eq:D}}\\ + & = y(0) y' && \text {by Axiom 1.} +\end{align} +% +\begin{verbatim} +\begin{align} +x& = y_1-y_2+y_3-y_5+y_8-\dots + && \text{by \eqref{eq:C}}\\ + & = y'\circ y^* && \text{by \eqref{eq:D}}\\ + & = y(0) y' && \text {by Axiom 1.} +\end{align} +\end{verbatim} +A variant environment \env{alignat} allows the horizontal space between +equations to be explicitly specified. This environment takes one argument, +the number of \qq{equation columns} (the number of pairs of right-left +aligned columns; the argument is the number of pairs): count the maximum +number of \verb'&'s in any row, add~1 and divide by~2. +\begin{alignat}{2} +x& = y_1-y_2+y_3-y_5+y_8-\dots + &\quad& \text{by \eqref{eq:C}}\\ + & = y'\circ y^* && \text{by \eqref{eq:D}}\\ + & = y(0) y' && \text {by Axiom 1.} +\end{alignat} +% +\begin{verbatim} +\begin{alignat}{2} +x& = y_1-y_2+y_3-y_5+y_8-\dots + &\quad& \text{by \eqref{eq:C}}\\ + & = y'\circ y^* && \text{by \eqref{eq:D}}\\ + & = y(0) y' && \text {by Axiom 1.} +\end{alignat} +\end{verbatim} +The environment \env{flalign} (``full length alignment'') stretches the +space between the equation columns to the maximum possible width, leaving +only enough space at the margin for the equation number, if present. +\begin{flalign} +x&=y & X&=Y\\ +x'&=y' & X'&=Y'\\ +x+x'&=y+y' & X+X'&=Y+Y' +\end{flalign} +% +\begin{verbatim} +\begin{flalign} +x&=y & X&=Y\\ +x'&=y' & X'&=Y'\\ +x+x'&=y+y' & X+X'&=Y+Y' +\end{flalign} +\end{verbatim} +% +\begin{flalign*} +x&=y & X&=Y\\ +x'&=y' & X'&=Y'\\ +x+x'&=y+y' & X+X'&=Y+Y' +\end{flalign*} +% +\begin{verbatim} +\begin{flalign*} +x&=y & X&=Y\\ +x'&=y' & X'&=Y'\\ +x+x'&=y+y' & X+X'&=Y+Y' +\end{flalign*} +\end{verbatim} + +%% ------------------------------------------------------------------ %% + +\section{Alignment building blocks} + +Like \env{equation}, the multi-equation environments \env{gather}, +\env{align}, and \env{alignat} are designed to produce a structure +whose width is the full line width. This means, for example, that one +cannot readily add parentheses around the entire structure. But +variants\index{ed env@\texttt{-ed} environments|(} +\env{gathered}, \env{aligned}, and \env{alignedat} are provided whose +total width is the actual width of the contents; thus they can be used +as a component in a containing expression. E.g., +\begin{equation*} +\left.\begin{aligned} + B'&=-\partial\times E,\\ + E'&=\partial\times B - 4\pi j, +\end{aligned} +\right\} +\qquad \text{Maxwell's equations} +\end{equation*} +\begin{verbatim} +\begin{equation*} +\left.\begin{aligned} + B'&=-\partial\times E,\\ + E'&=\partial\times B - 4\pi j, +\end{aligned} +\right\} +\qquad \text{Maxwell's equations} +\end{equation*} +\end{verbatim} +Like the \env{array} environment, these \texttt{-ed} variants also take +an optional\index{options!positioning of \texttt{-ed} environments} +|[t]|\index{t option@\texttt{t} (top) option}, +|[b]|\index{b option@\texttt{b} (bottom) option} or the default +|[c]|\index{c option@\texttt{c} (center) option} +argument to specify vertical +positioning. For maximum interoperability, do not insert a +space\index{options!space before \texttt{[}} +or line break\index{line break} before the option. See +also the note on page~\pageref{breaknote} regarding page breaking +within the \texttt{-ed} environments. + +\qq{Cases} constructions like the following are common in +mathematics: +\begin{equation}\label{eq:C} +P_{r-j}= + \begin{cases} + 0& \text{if $r-j$ is odd},\\ + r!\,(-1)^{(r-j)/2}& \text{if $r-j$ is even}. + \end{cases} +\end{equation} +and in the \nipkg{amsmath} package there is a \env{cases} environment to +make them easy to write: +\begin{verbatim} +P_{r-j}=\begin{cases} + 0& \text{if $r-j$ is odd},\\ + r!\,(-1)^{(r-j)/2}& \text{if $r-j$ is even}. + \end{cases} +\end{verbatim} +Notice the use of \cn{text} (cf.~\secref{text}) and the nested math +formulas. \env{cases} is set in \cn{textstyle}. If \cn{displaystyle} +is wanted, it must be requested explicitly; \pkg{mathtools} provides +a \env{dcases} environment for this purpose. + +The |-ed|\index{ed env@\texttt{-ed} environments|)} and \env{cases} +environments must appear within an enclosing math environment, which can +be either in text, between |$...$|, or in any of the display environments. + +%% ------------------------------------------------------------------ %% + +\section{Adjusting tag placement} + +Placing equation numbers can be a rather complex problem in multiline +displays. The environments of the \nipkg{amsmath} package try hard to +avoid overprinting an equation number on the equation contents, if +necessary moving the number down or up to a separate line. Difficulties +in accurately calculating the profile of an equation can occasionally +result in number movement that doesn't look right. +A \cn{raisetag} command is provided to adjust the vertical position of the +current equation number, if it has been shifted away from its normal +position. To move a particular number up by six points, write +|\raisetag{6pt}|. (At the end of a display, this also shifts up the +text following the display.) +This kind of adjustment is fine tuning like line +breaks and page breaks, and should therefore be left undone until your +document is nearly finalized, or you may end up redoing the fine tuning +several times to keep up with changing document contents. + +%% ------------------------------------------------------------------ %% + +\section{Vertical spacing and page breaks in multiline displays} + +You can use the \cn{\\}|[|\<dimension>|]|% +\index{options!extra vertical space after \cn{\\}} +command to get extra vertical +space between lines in all the \nipkg{amsmath} displayed equation +environments, as is usual in \latex/. Do not type a space between the% +\index{options!space before \texttt{[}} +\cn{\\} and the following |[|; \emph{only} for display environments +defined by \nipkg{amsmath} the space is interpreted to mean that the +bracketed material is part of the document content. + +When the \nipkg{amsmath} package is +in use \ii{page breaks} between equation lines are normally disallowed; +the philosophy is that page breaks in such material should receive +individual attention from the author. To get an individual page break +inside a particular displayed equation, a \cn{displaybreak} command is +provided. \cn{displaybreak} is best placed immediately before the +\cn{\\} where it is to take effect. Like \latex/'s \cn{pagebreak}, +\cn{displaybreak} takes an optional argument% +\index{options!behavior of particular options} between 0 and 4 denoting +the desirability of the pagebreak. |\displaybreak[0]| means \qq{it is + permissible to break here} without encouraging a break; +\cn{displaybreak} with no optional argument is the same as +|\displaybreak[4]| and forces a break. + +If you prefer a strategy of letting page breaks fall where they may, +even in the middle of a multiline equation, then you might put +\cn{allowdisplaybreaks}\texttt{[1]} in the preamble of your document. An +optional argument\index{options!behavior of particular options} +1\ndash 4 can be used for finer control: |[1]| means +allow page breaks, but avoid them as much as possible; values of 2,3,4 +mean increasing permissiveness. When display breaks are enabled with +\cn{allowdisplaybreaks}, the \cn{\\*} command can be used to prohibit a +pagebreak after a given line, as usual. + +\begin{bfseries} +Note:\label{breaknote} Certain equation environments wrap their contents +in an unbreakable box, with the consequence that neither \cn{displaybreak} +nor \cn{allowdisplaybreaks} will have any effect on them. These include +\env{split}, \env{aligned}, \env{gathered}, and \env{alignedat}. +\end{bfseries} + +%% ------------------------------------------------------------------ %% + +\section{Interrupting a display} + +The command \cn{intertext} is used for a short interjection of one or +two lines of text\index{text fragments inside math} in the middle of a +multiple-line display structure (see also the \cn{text} command in +\secref{text}). Its salient feature is preservation of the alignment, +which would not happen if you simply ended the display and then started +it up again afterwards. \cn{intertext} may only appear right after a +\cn{\\} or \cn{\\*} command. Notice the position of the word \qq{and} in +this example. +\begin{align} + A_1&=N_0(\lambda;\Omega')-\phi(\lambda;\Omega'),\\ + A_2&=\phi(\lambda;\Omega')-\phi(\lambda;\Omega),\\ +\intertext{and} + A_3&=\mathcal{N}(\lambda;\omega). +\end{align} +\begin{verbatim} +\begin{align} + A_1&=N_0(\lambda;\Omega')-\phi(\lambda;\Omega'),\\ + A_2&=\phi(\lambda;\Omega')-\phi(\lambda;\Omega),\\ +\intertext{and} + A_3&=\mathcal{N}(\lambda;\omega). +\end{align} +\end{verbatim} + +The \pkg{mathtools} package provides a command \cn{shortintertext} that +is intended for use when the interjected text is only a few words; it uses +less vertical space than \cn{intertext}. This +is most effective when equation numbers are on the right.% +\index{equationn@equation numbers!left or right placement} + +%% ------------------------------------------------------------------ %% + +\section{Equation numbering} + +\subsection{Numbering hierarchy} +In \latex/ if you wanted to have equations numbered within +sections\mdash that is, have +equation numbers (1.1), (1.2), \dots, (2.1), (2.2), +\dots, in sections 1, 2, and so forth\mdash you could redefine +\cn{theequation} as suggested in the \latex/ manual \cite[\S6.3, \S +C.8.4]{lamport}: +\begin{verbatim} +\renewcommand{\theequation}{\thesection.\arabic{equation}} +\end{verbatim} + +This works pretty well, except that the equation counter won't be reset +to zero at the beginning of a new section or chapter, unless you do it +yourself using \cn{setcounter}. To make this a little more convenient, +the \nipkg{amsmath} package provides a +command\index{equationn@equation numbers!hierarchy} \cn{numberwithin}. +To have equation numbering tied to section numbering, with automatic +reset of the equation counter, write +\begin{verbatim} +\numberwithin{equation}{section} +\end{verbatim} +As its name implies, the \cn{numberwithin} command can be applied to +any counter, not just the \texttt{equation} counter. + +\subsection{Cross references to equation numbers} + +To make cross-references to equations easier, an \cn{eqref} +command\index{equationn@equation numbers!cross-references} is provided. This +automatically supplies the parentheses around the equation number. I.e., +if \verb'\ref{abc}' produces 3.2 then \verb'\eqref{abc}' produces +(3.2). The parentheses around an \cn{eqref} equation number will be +set in upright type regardless of type style of the context. + +\subsection{Subordinate numbering sequences} + +The \nipkg{amsmath} package provides also a wrapper environment, +\env{subequations}\index{equationn@equation numbers!subordinate numbering}, to make it +easy to number equations in a particular \cn{align} or similar group with +a subordinate numbering scheme. For example +\begin{verbatim} +\begin{subequations} +... +\end{subequations} +\end{verbatim} +causes all numbered equations within that part of the document to be +numbered (4.9a) (4.9b) (4.9c) \dots, if the preceding numbered +equation was (4.8). A \cn{label} command immediately after +\verb/\begin{subequations}/ will produce a \cn{ref} of the parent +number 4.9, not 4.9a. The counters used by the subequations +environment are \verb/parentequation/ and \verb/equation/ and +\cn{addtocounter}, \cn{setcounter}, \cn{value}, etc., can be applied +as usual to those counter names. To get anything other than lowercase +letters for the subordinate numbers, use standard \latex/ methods for +changing numbering style \cite[\S6.3, \S C.8.4]{lamport}. For example, +redefining \cn{theequation} as follows will produce roman numerals. +\begin{verbatim} +\begin{subequations} +\renewcommand{\theequation}{\theparentequation \roman{equation}} +... +\end{verbatim} + +\subsection{Numbering style} + +The default equation number is set in \cn{normalfont}. This means that +in bold section headings, bold is suppressed; a workaround for this is +to use \verb+(\ref{+\ldots\verb+})+ rather than \verb+\eqref{+\ldots\verb+}+. + +If smaller type is specified for a numbered display, the size of the +equation number will also be small. The default size can be ensured +throughout a document by applying this patch in the preamble: +\begin{verbatim} +\makeatletter +\renewcommand{\maketag@@@}[1]{\hbox{\m@th\normalsize\normalfont#1}}% +\makeatother +\end{verbatim} +(This modification may be included in a future version of +\nipkg{amsmath}.) + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\chapter{Miscellaneous mathematical features} + +\section{Matrices}\label{ss:matrix} + +The \nipkg{amsmath} package provides some environments for +matrices\index{matrices} beyond the basic \env{array} environment of +\latex/. The \env{pmatrix}, \env{bmatrix}, \env{Bmatrix}, \env{vmatrix} +and \env{Vmatrix} have (respectively) $(\,)$, $[\,]$, $\lbrace\,\rbrace$, +$\lvert\,\rvert$, and $\lVert\,\rVert$ delimiters\index{delimiters} +built in. For naming consistency there is a +\env{matrix} environment sans delimiters. This is not entirely redundant +with the \env{array} environment; the matrix environments all use more +economical horizontal spacing than the rather prodigal spacing of the +\env{array} environment. Also, unlike the \env{array} environment, you +don't have to give column specifications for any of the matrix +environments; by default you can have up to 10 centered columns.% +\footnote{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +More precisely: The maximum number of columns in a matrix is determined +by the counter |MaxMatrixCols| (normal value = 10), which you can change +if necessary using \latex/'s \cn{setcounter} or \cn{addtocounter} +commands.% +}\space%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +(If you need left or right alignment in a column or other special +formats you may use \env{array}, or the \pkg{mathtools} +package which provides \verb+*+ variants% +\index{matrix@\indexenvironmentfont{matrix} environment!\verb+*+ variants} +of these environments with +an optional argument to specify left or right alignment.) + +To produce a small matrix suitable for use in text, there is a +\env{smallmatrix} environment (e.g., +\begin{math} +\bigl( \begin{smallmatrix} + a&b\\ c&d +\end{smallmatrix} \bigr) +\end{math}) +that comes closer to fitting within a single text line than a normal +matrix. Delimiters\index{delimiters} must be provided. (The +\pkg{mathtools} package provides |p|,|b|,|B|,|v|,|V| versions of +\env{smallmatrix},% +\index{smallmatrix@\indexenvironmentfont{smallmatrix} environment!variant delimiters} +as well as |*| variants% +\index{smallmatrix@\indexenvironmentfont{smallmatrix} environment!\verb+*+ variants} +as described above.) +The above example was produced by +\begin{verbatim} +\bigl( \begin{smallmatrix} + a&b\\ c&d +\end{smallmatrix} \bigr) +\end{verbatim} + +\cn{hdotsfor}|{|\<number>|}| produces a row of dots in a +matrix\index{matrices!ellipsis dots}\index{ellipsis dots!in +matrices}\index{dots|see{ellipsis dots}} spanning the given number of +columns. For example, +\begin{center} +\begin{minipage}{.3\columnwidth} +\noindent$\begin{matrix} a&b&c&d\\ +e&\hdotsfor{3} \end{matrix}$ +\end{minipage}% +\qquad +\begin{minipage}{.45\columnwidth} +\begin{verbatim} +\begin{matrix} a&b&c&d\\ +e&\hdotsfor{3} \end{matrix} +\end{verbatim} +\end{minipage}% +\end{center} + +The spacing of the dots can be varied through use of a square-bracket +option,\index{options!behavior of particular options} +for example, |\hdotsfor[1.5]{3}|. The number in square brackets +will be used as a multiplier (i.e., the normal value is 1.0). +\begin{equation}\label{eq:D} +\begin{pmatrix} D_1t&-a_{12}t_2&\dots&-a_{1n}t_n\\ +-a_{21}t_1&D_2t&\dots&-a_{2n}t_n\\ +\hdotsfor[2]{4}\\ +-a_{n1}t_1&-a_{n2}t_2&\dots&D_nt\end{pmatrix}, +\end{equation} +\begin{verbatim} +\begin{pmatrix} D_1t&-a_{12}t_2&\dots&-a_{1n}t_n\\ +-a_{21}t_1&D_2t&\dots&-a_{2n}t_n\\ +\hdotsfor[2]{4}\\ +-a_{n1}t_1&-a_{n2}t_2&\dots&D_nt\end{pmatrix} +\end{verbatim} + +%% ------------------------------------------------------------------ %% + +\section{Math spacing commands} + +The \nipkg{amsmath} package slightly extends the set of math +spacing\index{horizontal spacing} commands, as shown below. +Both the spelled-out and abbreviated forms of these commands are robust, +and they can also be used outside of math. +\begin{ctab}{lll|lll} +Abbrev.& Spelled out& Example & Abbrev.& Spelled out& Example\\ +\hline +\vstrut{2.5ex} +& no space& \spx{}& & no space & \spx{}\\ +\cn{\,}& \cn{thinspace}& \spx{\,}& + \altcnbang& \cn{negthinspace}& \spx{\!}\\ +\cn{\:}& \cn{medspace}& \spx{\:}& + & \cn{negmedspace}& \spx{\negmedspace}\\ +\cn{\;}& \cn{thickspace}& \spx{\;}& + & \cn{negthickspace}& \spx{\negthickspace}\\ +& \cn{quad}& \spx{\quad}\\ +& \cn{qquad}& \spx{\qquad} +\end{ctab} +For the greatest possible control over math spacing, use \cn{mspace} +and `math units'. One math unit, or |mu|, is equal to 1/18 em. Thus to +get a negative \cn{quad} you could write |\mspace{-18.0mu}|. + +%% ------------------------------------------------------------------ %% + +\section{Dots} + +For preferred placement of ellipsis dots (raised or on-line) in various +contexts there is no general consensus. It may therefore be considered a +matter of taste. By using the semantically oriented commands +\begin{itemize} +\item \cn{dotsc} for \qq{dots with commas} +\item \cn{dotsb} for \qq{dots with binary operators/relations} +\item \cn{dotsm} for \qq{multiplication dots} +\item \cn{dotsi} for \qq{dots with integrals} +\item \cn{dotso} for \qq{other dots} (none of the above) +\end{itemize} +instead of \cn{ldots} and \cn{cdots}, you make it possible for your +document to be adapted to different conventions on the fly, in case (for +example) you have to submit it to a publisher who insists on following +house tradition in this respect. The default treatment for the various +kinds follows American Mathematical Society conventions: +\begin{center} +\begin{tabular}{@{}l@{}l@{}} +\begin{minipage}[t]{.54\textwidth} +\begin{verbatim} +Then we have the series $A_1, A_2, +\dotsc$, the regional sum $A_1 ++A_2 +\dotsb $, the orthogonal +product $A_1 A_2 \dotsm $, and +the infinite integral +\[\int_{A_1}\int_{A_2}\dotsi\]. +\end{verbatim} +\end{minipage} +& +\begin{minipage}[t]{.45\textwidth} +\noindent +Then we have the series $A_1,A_2,\dotsc$, +the regional sum $A_1+A_2+\dotsb$, +the orthogonal product $A_1A_2\dotsm$, +and the infinite integral +\[\int_{A_1}\int_{A_2}\dotsi.\] +\end{minipage} +\end{tabular} +\end{center} +For most situations, the undifferentiated \cn{dots} can be used, and +\nipkg{amsmath} will output the most suitable form based on the +immediate context; if an inappropriate form results, it can be corrected +after examining the output. + +%% ------------------------------------------------------------------ %% + +\section{Nonbreaking dashes} + +A command \cn{nobreakdash} is provided to suppress the possibility of a +line break\index{line break|(} after the following hyphen or dash. For +example, if you write `pages 1\ndash 9' as |pages 1\nobreakdash--9| +then a line break will never occur between the dash and the 9. You can +also use \cn{nobreakdash} to prevent undesirable hyphenations in +combinations like |$p$-adic|. For frequent use, it's advisable to make +abbreviations, e.g., +\begin{verbatim} +\newcommand{\p}{$p$\nobreakdash}% for "\p-adic" +\newcommand{\Ndash}{\nobreakdash--}% for "pages 1\Ndash 9" +% For "\n dimensional" ("n-dimensional"): +\newcommand{\n}[1]{$n$\nobreakdash-\hspace{0pt}} +\end{verbatim} +The last example shows how to prohibit a line break\index{line break|)} +after the hyphen but allow normal hyphenation in the following +word. (It suffices to add a zero-width space after the hyphen.) + +%% ------------------------------------------------------------------ %% + +\section{Accents in math} + +In ordinary \LaTeX{} the placement of the second accent in doubled math +accents is often poor. With the \nipkg{amsmath} package you +will get improved placement of the second accent: +$\hat{\hat{A}}$ (\cn{hat}|{\hat{A}}|). + +The commands \cn{dddot} and \cn{ddddot} are available to produce triple +and quadruple dot accents in addition to the \cn{dot} and \cn{ddot} +accents already available in \latex/. + +To get a superscripted hat or tilde character, load the \pkg{amsxtra} +package and use \cn{sphat} or \cn{sptilde}. Usage is \verb'A\sphat' +(note the absence of the \verb'^' character). + + +To place an arbitrary symbol in math accent position, or to get under +accents, see the \pkg{accents} package by Javier Bezos. (\nipkg{amsmath} +must be loaded before \pkg{accents}.) + +%% ------------------------------------------------------------------ %% + +\section{Roots} + +In ordinary \latex/ the placement of root indices is sometimes not so +good: $\sqrt[\beta]{k}$ (|\sqrt||[\beta]{k}|). In the +\nipkg{amsmath} package \cn{leftroot} and \cn{uproot} allow you to adjust +the position of the root:% +\index{options!adjust positioning} +\begin{verbatim} + \sqrt[\leftroot{-2}\uproot{2}\beta]{k} +\end{verbatim} +will move the beta up and to the right: +$\sqrt[\leftroot{-2}\uproot{2}\beta]{k}$. The negative argument used +with \cn{leftroot} moves the $\beta$ to the right. The units are a small +amount that is a useful size for such adjustments. + +%% ------------------------------------------------------------------ %% + +\section{Boxed formulas} + +The command \cn{boxed} puts a box around its +argument, like \cn{fbox} except that the contents are in math mode: +\begin{equation} +\boxed{\eta \leq C(\delta(\eta) +\Lambda_M(0,\delta))} +\end{equation} +\begin{verbatim} + \boxed{\eta \leq C(\delta(\eta) +\Lambda_M(0,\delta))} +\end{verbatim} + +%% ------------------------------------------------------------------ %% + +\section{Over and under arrows} + +Basic \latex/ provides \cn{overrightarrow} and \cn{overleftarrow} +commands. Some additional over and under arrow commands are provided +by the \nipkg{amsmath} package to extend the set: + +\begin{tabbing} +\qquad\=\ncn{overleftrightarrow}\qquad\=\kill +\> \cn{overleftarrow} \> \cn{underleftarrow} \+\\ + \cn{overrightarrow} \> \cn{underrightarrow} \\ + \cn{overleftrightarrow}\> \cn{underleftrightarrow} +\end{tabbing} + +%% ------------------------------------------------------------------ %% + +\section{Extensible arrows} + +\cn{xleftarrow} and \cn{xrightarrow} produce +arrows\index{arrows!extensible} that extend automatically to accommodate +unusually wide subscripts or superscripts. These commands take one +optional argument\index{options!behavior of particular options} +(the subscript) and one mandatory argument (the +superscript, possibly empty): +\begin{equation} +A\xleftarrow{n+\mu-1}B \xrightarrow[T]{n\pm i-1}C +\end{equation} +\begin{verbatim} + \xleftarrow{n+\mu-1}\quad \xrightarrow[T]{n\pm i-1} +\end{verbatim} + +%% ------------------------------------------------------------------ %% + +\section{Affixing symbols to other symbols} + +\latex/ provides \cn{stackrel} for placing a +superscript\index{subscripts and superscripts} above a binary relation. +In the \nipkg{amsmath} package there are somewhat more general commands, +\cn{overset} and \cn{underset}, that can be used to place one symbol +above or below another symbol, whether it's a relation or something +else. The input |\overset{*}{X}| will place a superscript-size $*$ above +the $X$: $\overset{*}{X}$; \cn{underset} is the analog for adding a +symbol underneath. + +See also the description of \cn{sideset} in \secref{sideset}. + +%% ------------------------------------------------------------------ %% + +\section{Fractions and related constructions} + +\subsection{The \cn{frac}, \cn{dfrac}, and \cn{tfrac} commands} + +The \cn{frac} command, which is in the basic command set of +\latex/,\index{fractions|(} takes two arguments\mdash numerator and +denominator\mdash and typesets them in normal fraction form. The +\nipkg{amsmath} package provides also \cn{dfrac} and \cn{tfrac} as +convenient abbreviations for |{\displaystyle\frac| |...| |}| +and\indexcs{textstyle}\relax +\indexcs{displaystyle} |{\textstyle\frac| |...| |}|. +\begin{equation} +\frac{1}{k}\log_2 c(f)\quad\tfrac{1}{k}\log_2 c(f)\quad +\sqrt{\frac{1}{k}\log_2 c(f)}\quad\sqrt{\dfrac{1}{k}\log_2 c(f)} +\end{equation} +\begin{verbatim} +\begin{equation} +\frac{1}{k}\log_2 c(f)\;\tfrac{1}{k}\log_2 c(f)\; +\sqrt{\frac{1}{k}\log_2 c(f)}\;\sqrt{\dfrac{1}{k}\log_2 c(f)} +\end{equation} +\end{verbatim} + +\subsection{The \cn{binom}, \cn{dbinom}, and \cn{tbinom} commands} + +For binomial expressions\index{binomials} such as $\binom{n}{k}$ +\nipkg{amsmath} has \cn{binom}, \cn{dbinom} and \cn{tbinom}: +\begin{equation} +2^k-\binom{k}{1}2^{k-1}+\binom{k}{2}2^{k-2} +\end{equation} +\begin{verbatim} +2^k-\binom{k}{1}2^{k-1}+\binom{k}{2}2^{k-2} +\end{verbatim} + +\subsection{The \cn{genfrac} command} + +The capabilities of \cn{frac}, \cn{binom}, and their variants are +subsumed by a generalized fraction command \cn{genfrac} with six +arguments. The last two correspond to \cn{frac}'s numerator and +denominator; the first two are optional delimiters\index{delimiters} (as +seen in \cn{binom}); the third is a line thickness override (\cn{binom} +uses this to set the fraction line thickness to 0\mdash i.e., invisible); +and the fourth argument is a mathstyle override: integer values 0\ndash 3 +select respectively \cn{displaystyle}, \cn{textstyle}, \cn{scriptstyle}, +and \cn{scriptscriptstyle}. If the third argument is left empty, the line +thickness defaults to `normal'. + +\begin{center}\begin{minipage}{.85\columnwidth} +\raggedright \normalfont\ttfamily \exhyphenpenalty10000 +\newcommand{\ma}[1]{% + \string{{\normalfont\itshape#1}\string}\penalty9999 \ignorespaces} +\string\genfrac \ma{left-delim} \ma{right-delim} \ma{thickness} +\ma{mathstyle} \ma{numerator} \ma{denominator} +\end{minipage}\end{center} +To illustrate, here is how \cn{frac}, \cn{tfrac}, and +\cn{binom} might be defined. +\begin{verbatim} +\newcommand{\frac}[2]{\genfrac{}{}{}{}{#1}{#2}} +\newcommand{\tfrac}[2]{\genfrac{}{}{}{1}{#1}{#2}} +\newcommand{\binom}[2]{\genfrac{(}{)}{0pt}{}{#1}{#2}} +\end{verbatim} +If you find yourself repeatedly using \cn{genfrac} throughout a document +for a particular notation, you will do yourself a favor (and your +publisher) if you define a meaningfully-named abbreviation for that +notation, along the lines of \cn{frac} and \cn{binom}. + +The primitive generalized fraction commands \cs{over}, \cs{overwithdelims}, +\cs{atop}, \cs{atopwithdelims}, \cs{above}, \cs{abovewithdelims} produce +warning messages if used with the \nipkg{amsmath} package, for reasons +discussed in \fn{technote.tex}. + +%% ------------------------------------------------------------------ %% + +\section{Continued fractions} + +The continued fraction\index{continued fractions} +\begin{equation} +\cfrac{1}{\sqrt{2}+ + \cfrac{1}{\sqrt{2}+ + \cfrac{1}{\sqrt{2}+\cdots +}}} +\end{equation} +can be obtained by typing +{\samepage +\begin{verbatim} +\cfrac{1}{\sqrt{2}+ + \cfrac{1}{\sqrt{2}+ + \cfrac{1}{\sqrt{2}+\dotsb +}}} +\end{verbatim} +}% End of \samepage +This produces better-looking results than straightforward use of +\cn{frac}. Left or right placement of any of the numerators is +accomplished by using \cn{cfrac}|[l]| or \cn{cfrac}|[r]| instead of +\cn{cfrac}.\index{options!adjust positioning}% +\index{fractions|)} + +%% ------------------------------------------------------------------ %% + +\section{Smash options} + +The command \cn{smash} is used to typeset a subformula with an +effective height and depth of zero, which is sometimes +useful in adjusting the subformula's position with respect to adjacent +symbols. With the \nipkg{amsmath} package \cn{smash} has optional +arguments\index{options!behavior of particular options} +|[t]|\index{t option@\texttt{t} (top) option} and +|[b]|\index{b option@\texttt{b} (bottom) option} because occasionally it is +advantageous to be able to \qq{smash} only the top or only the bottom +of something while retaining the natural depth or height. For example, +when adjacent radical symbols are unevenly sized or positioned because +of differences in the height and depth of their contents, \cn{smash} +can be employed to make them more consistent. Compare +$\sqrt{x}+\sqrt{y}+\sqrt{z}$ and $\sqrt{x}+\sqrt{\smash[b]{y}}+\sqrt{z}$, +where the latter was produced by +\verb"$\sqrt{x}" \verb"+" +\verb"\sqrt{"\5\verb"\smash[b]{y}}" \verb"+" \verb"\sqrt{z}$". + +%% ------------------------------------------------------------------ %% + +\section{Delimiters} + +\index{delimiters|(} + +\subsection{Delimiter sizes}\label{bigdel} + +The automatic delimiter sizing done by \cn{left} and \cn{right} has two +limitations: First, it is applied mechanically to produce delimiters +large enough to encompass the largest contained item, and second, the +range of sizes is not even approximately continuous but has fairly large +quantum jumps. This means that a math fragment that is infinitesimally +too large for a given delimiter size will get the next larger size, a +jump of 3pt or so in normal-sized text. There are two or three +situations where the delimiter size is commonly adjusted, using a set of +commands that have `big' in their names.% +\index{delimiters!fixed size|(} +\begin{ctab}{l|llllll} +Delimiter& + text& \ncn{left}& \ncn{bigl}& \ncn{Bigl}& \ncn{biggl}& \ncn{Biggl}\\ +size& + size& \ncn{right}& \ncn{bigr}& \ncn{Bigr}& \ncn{biggr}& \ncn{Biggr}\\ +\hline +Result\vstrut{5ex}& + $\displaystyle(b)(\frac{c}{d})$& + $\displaystyle\left(b\right)\left(\frac{c}{d}\right)$& + $\displaystyle\bigl(b\bigr)\bigl(\frac{c}{d}\bigr)$& + $\displaystyle\Bigl(b\Bigr)\Bigl(\frac{c}{d}\Bigr)$& + $\displaystyle\biggl(b\biggr)\biggl(\frac{c}{d}\biggr)$& + $\displaystyle\Biggl(b\Biggr)\Biggl(\frac{c}{d}\Biggr)$ +\end{ctab} +The first kind of situation is a cumulative operator with limits above +and below. With \cn{left} and \cn{right} the delimiters usually turn out +larger than necessary, and using the |Big| or |bigg| +sizes\index{big@\cn{big}, \cn{Big}, \cn{bigg}, \dots\ delimiters} +instead gives better results: +\begin{equation*} +\left[\sum_i a_i\left\lvert\sum_j x_{ij}\right\rvert^p\right]^{1/p} +\quad\text{versus}\quad +\biggl[\sum_i a_i\Bigl\lvert\sum_j x_{ij}\Bigr\rvert^p\biggr]^{1/p} +\end{equation*} +\begin{verbatim} +\biggl[\sum_i a_i\Bigl\lvert\sum_j x_{ij}\Bigr\rvert^p\biggr]^{1/p} +\end{verbatim} +The second kind of situation is clustered pairs of delimiters where +\cn{left} and \cn{right} make them all the same size (because that is +adequate to cover the encompassed material) but what you really want +is to make some of the delimiters slightly larger to make the nesting +easier to see. +\begin{equation*} +\left((a_1 b_1) - (a_2 b_2)\right) +\left((a_2 b_1) + (a_1 b_2)\right) +\quad\text{versus}\quad +\bigl((a_1 b_1) - (a_2 b_2)\bigr) +\bigl((a_2 b_1) + (a_1 b_2)\bigr) +\end{equation*} +\begin{verbatim} +\left((a_1 b_1) - (a_2 b_2)\right) +\left((a_2 b_1) + (a_1 b_2)\right) +\quad\text{versus}\quad +\bigl((a_1 b_1) - (a_2 b_2)\bigr) +\bigl((a_2 b_1) + (a_1 b_2)\bigr) +\end{verbatim} +The third kind of situation is a slightly oversize object in running +text, such as $\left\lvert\frac{b'}{d'}\right\rvert$ where the +delimiters produced by \cn{left} and \cn{right} cause too much line +spreading. In that case \ncn{bigl} and \ncn{bigr}\index{big@\cn{big}, +\cn{Big}, \cn{bigg}, \dots\ delimiters} can be used to produce +delimiters that are slightly larger than the base size but still able to +fit within the normal line spacing: +$\bigl\lvert\frac{b'}{d'}\bigr\rvert$. + +In ordinary \latex/ \ncn{big}, \ncn{bigg}, \ncn{Big}, and \ncn{Bigg} +delimiters aren't scaled properly over the full range of \latex/ font +sizes. With the \nipkg{amsmath} package they are.% +\index{delimiters!fixed size|)} + +\subsection{Vertical bar notations} + +The \nipkg{amsmath} package provides commands \cn{lvert}, \cn{rvert}, +\cn{lVert}, \cn{rVert} (compare \cn{langle}, \cn{rangle}) to address the +%problem of overloading for the vert bar character \qc{\|}. This +problem of overloading for the vert bar character \qcvert. This +character is currently used in \latex/ documents to represent a wide +variety of mathematical objects: the `divides' relation in a +number-theory expression like $p\vert q$, or the absolute-value +operation $\lvert z\rvert$, or the `such that' condition in set +notation, or the `evaluated at' notation $f_\zeta(t)\bigr\rvert_{t=0}$. +The multiplicity of uses in itself is not so bad; what is bad, however, +is that fact that not all of the uses take the same typographical +treatment, and that the complex discriminatory powers of a knowledgeable +reader cannot be replicated in computer processing of mathematical +documents. It is recommended therefore that there should be a one-to-one +correspondence in any given document between the vert bar character +%\qc{\|} and a selected mathematical notation, and similarly for the +\qcvert\ and a selected mathematical notation, and similarly for the +%double-bar command \ncn{\|}\index{"|@\verb"*+"\"|+}. This immediately +double-bar command \cnvert. This immediately +rules out the use of \qc{|} +%and \ncn{\|}\index{"|@\verb"*+"\"|+} for delimiters, because left and right +and \cnvert\ for delimiters, because left and right +delimiters are distinct usages that do not relate in the same way to +adjacent symbols; recommended practice is therefore to define suitable +commands in the document preamble for any paired-delimiter use of vert +bar symbols: +\begin{verbatim} +\providecommand{\abs}[1]{\lvert#1\rvert} +\providecommand{\norm}[1]{\lVert#1\rVert} +\end{verbatim} +whereupon the document would contain |\abs{z}| to produce $\lvert +z\rvert$ and |\norm{v}| to produce $\lVert v\rVert$. +The \pkg{mathools} provides the command \cn{DeclarePairedDelimiter} +for defining |\abs|-like macros with scaling delimiters. +\index{delimiters|)} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\chapter{Operator names} + +\section{Defining new operator names}\label{s:opname} + +Math functions\index{operator names}\relax \index{function +names|see{operator names}} such as $\log$, $\sin$, and $\lim$ are +traditionally typeset in roman type to make them visually more distinct +from one-letter math variables, which are set in math italic. The more +common ones have predefined names, \cn{log}, \cn{sin}, \cn{lim}, and so +forth, but new ones come up all the time in mathematical papers, so the +\nipkg{amsmath} package provides a general mechanism for defining new +`operator names'. To define a math function \ncn{xxx} to work like +\cn{sin}, you write +\begin{verbatim} +\DeclareMathOperator{\xxx}{xxx} +\end{verbatim} +whereupon ensuing uses of \ncn{xxx} will produce {\upshape xxx} in the +proper font and automatically add proper spacing\index{horizontal +spacing!around operator names} on either side when necessary, so that you +get $A\xxx B$ instead of $A\mathrm{xxx}B$. In the second argument of +\cn{DeclareMathOperator} (the name text), a pseudo-text mode prevails: +the hyphen character \qc{\-} will print as a text hyphen rather than a +minus sign and an asterisk \qc{\*} will print as a raised text asterisk +instead of a centered math star. (Compare +\textit{a}-\textit{b}*\textit{c} and $a-b*c$.) But otherwise the name +text is printed in math mode, so that you can use, e.g., subscripts and +superscripts there. + +%%%%xxx%%%\enlargethispage{1\baselineskip} +If the new operator should have subscripts and superscripts placed in +`limits' position above and below as with $\lim$, $\sup$, or $\max$, use +the \qc{\*} form of the \cn{DeclareMathOperator} command: +\begin{verbatim} +\DeclareMathOperator*{\Lim}{Lim} +\end{verbatim} +See also the discussion of subscript placement in +Section~\ref{subplace}. + +\goodbreak + +The following operator names are predefined: + +\vspace{-1\baselineskip} +\begin{ctab}{@{}rlrlrlrl} +\cn{arccos}& $\arccos$ &\cn{deg}& $\deg$ & \cn{lg}& $\lg$ & \cn{projlim}& $\projlim$\\ +\cn{arcsin}& $\arcsin$ &\cn{det}& $\det$ & \cn{lim}& $\lim$ & \cn{sec}& $\sec$\\ +\cn{arctan}& $\arctan$ &\cn{dim}& $\dim$ & \cn{liminf}& $\liminf$ &\cn{sin}& $\sin$\\ +\cn{arg}& $\arg$ & \cn{exp}& $\exp$ & \cn{limsup}& $\limsup$ &\cn{sinh}& $\sinh$\\ +\cn{cos}& $\cos$ & \cn{gcd}& $\gcd$ & \cn{ln}& $\ln$ & \cn{sup}& $\sup$\\ +\cn{cosh}& $\cosh$ & \cn{hom}& $\hom$ & \cn{log}& $\log$ & \cn{tan}& $\tan$\\ +\cn{cot}& $\cot$ & \cn{inf}& $\inf$ & \cn{max}& $\max$ & \cn{tanh}& $\tanh$\\ +\cn{coth}& $\coth$ & \cn{injlim}& $\injlim$ &\cn{min}& $\min$\\ +\cn{csc}& $\csc$ & \cn{ker}& $\ker$ & \cn{Pr}& $\Pr$ +\end{ctab} +\par\nobreak +\vspace{-1.2\baselineskip} +\begin{ctab}{rlrl} +\cn{varinjlim}& $\displaystyle\varinjlim$& +\cn{varliminf}& $\displaystyle\varliminf$\\ +\cn{varprojlim}& $\displaystyle\varprojlim$& +\cn{varlimsup}& $\displaystyle\varlimsup$ +\end{ctab} + +There is also a command \cn{operatorname} such that using +\begin{verbatim} +\operatorname{abc} +\end{verbatim} +in a math formula is equivalent to a use of \ncn{abc} defined by +\cn{DeclareMathOperator}. This may be occasionally useful for +constructing more complex notation or other purposes. (Use the variant +\cn{operatorname*} to get limits.) + +%% ------------------------------------------------------------------ %% + +\section{\cn{mod} and its relatives} + +Commands \cn{mod}, \cn{bmod}, \cn{pmod}, \cn{pod} are provided to deal +with the special spacing conventions of \qq{mod} notation. \cn{bmod} and +\cn{pmod} are available in \latex/, but with the \nipkg{amsmath} package +the spacing of \cn{pmod} will adjust to a smaller value if it's used in +a non-display-mode formula. \cn{mod} and \cn{pod} are variants of +\cn{pmod} preferred by some authors; \cn{mod} omits the parentheses, +whereas \cn{pod} omits the \qq{mod} and retains the parentheses. +\begin{equation} +\gcd(n,m\bmod n);\quad x\equiv y\pmod b; +\quad x\equiv y\mod c;\quad x\equiv y\pod d +\end{equation} +\begin{verbatim} +\gcd(n,m\bmod n);\quad x\equiv y\pmod b; +\quad x\equiv y\mod c;\quad x\equiv y\pod d +\end{verbatim} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\enlargethispage{1\baselineskip} + +\chapter{The \cn{text} command}\label{text} + +The main use of the command \cn{text} is for words or +phrases\index{text fragments inside math} in a display. It is very +similar to the \latex/ command \cn{mbox} in its effects, but has a +couple of advantages. If you want a word or phrase of text in a +subscript, you can type |..._{\textrm{word or phrase}}|, which is slightly +easier than the \cn{mbox} equivalent: |..._{\mbox{\rmfamily\scriptsize| |word| +|or| |phrase}}|. Note that the standard \cn{textrm} command will use the +\nipkg{amsmath} \cn{text} definition, but ensure the \verb+\rmfamily+ +font is used. +\begin{equation} +f_{[x_{i-1},x_i]} \text{ is monotonic,} +\quad i = 1,\dots,c+1 +\end{equation} +\begin{verbatim} +f_{[x_{i-1},x_i]} \text{ is monotonic,} +\quad i = 1,\dots,c+1 +\end{verbatim} + +The font used for \cn{text} is the same as that of the surrounding +environment; i.e., within a theorem, the contents of \cn{text} will +be set in italic. + +If a math expression is included in a \cn{text} string, it must be +explicitly marked as math (|$...$|). +\[ +\partial_s f(x) = \frac{\partial}{\partial x_0} f(x)\quad + \text{for $x= x_0 + I x_1$.} +\] +\begin{verbatim} +\partial_s f(x) = \frac{\partial}{\partial x_0} f(x)\quad + \text{for $x= x_0 + I x_1$.} +\end{verbatim} + +Function names should \emph{not} be entered as \cn{text}. Instead, +use \cn{mathrm} or \cn{DeclareMathOperator} as appropriate. These are +fixed entities that should not change depending on outside content +(such as appearing within a theorem that is set in italic), and in the +case of declared operators, proper spacing\index{horizontal +spacing!around operator names} is applied automatically. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\chapter{Integrals and sums} + +\section{Multiline subscripts and superscripts} + +The \cn{substack} command can be used to produce a multiline subscript +or superscript:\index{subscripts and superscripts!multiline}\relax +\index{superscripts|see{subscripts and superscripts}} for example +\begin{ctab}{ll} +\begin{minipage}[t]{.6\columnwidth} +\begin{verbatim} +\sum_{\substack{ + 0\le i\le m\\ + 0<j<n}} + P(i,j) +\end{verbatim} +\end{minipage} +& +$\displaystyle +\sum_{\substack{0\le i\le m\\ 0<j<n}} P(i,j)$ +\end{ctab} +A slightly more generalized form is the \env{subarray} environment which +allows you to specify that each line should be left-aligned instead of +centered, as here: +\begin{ctab}{ll} +\begin{minipage}[t]{.6\columnwidth} +\begin{verbatim} +\sum_{\begin{subarray}{l} + i\in\Lambda\\ 0<j<n + \end{subarray}} + P(i,j) +\end{verbatim} +\end{minipage} +& +$\displaystyle + \sum_{\begin{subarray}{l} + i\in \Lambda\\ 0<j<n + \end{subarray}} + P(i,j)$ +\end{ctab} + +%% ------------------------------------------------------------------ %% + +\section{The \cn{sideset} command}\label{sideset} + +There's also a command called \cn{sideset}, for a rather special +purpose: putting symbols at the subscript and +superscript\index{subscripts and superscripts!on sums} corners of a +large operator symbol such as $\sum$ or $\prod$. \emph{Note: this +command is not designed to be applied to anything other than sum-class +symbols.} The prime +example is the case when you want to put a prime on a sum symbol. If +there are no limits above or below the sum, you could just use +\cn{nolimits}: here's +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +|\sum\nolimits' E_n| in display mode: +\begin{equation} +\sum\nolimits' E_n +\end{equation} +If, however, you want not only the prime but also something below or +above the sum symbol, it's not so easy\mdash indeed, without +\cn{sideset}, it would be downright difficult. With \cn{sideset}, you +can write +\begin{ctab}{ll} +\begin{minipage}[t]{.6\columnwidth} +\begin{verbatim} +\sideset{}{'} + \sum_{n<k,\;\text{$n$ odd}} nE_n +\end{verbatim} +\end{minipage} +&$\displaystyle +\sideset{}{'}\sum_{n<k,\;\text{$n$ odd}} nE_n +$ +\end{ctab} +The extra pair of empty braces is explained by the fact that +\cn{sideset} has the capability of putting an extra symbol or symbols at +each corner of a large operator; to put an asterisk at each corner of a +product symbol, you would type +\begin{ctab}{ll} +\begin{minipage}[t]{.6\columnwidth} +\begin{verbatim} +\sideset{_*^*}{_*^*}\prod +\end{verbatim} +\end{minipage} +&$\displaystyle +\sideset{_*^*}{_*^*}\prod +$ +\end{ctab} + +%% ------------------------------------------------------------------ %% + +\section{Placement of subscripts and limits}\label{subplace} + +The default positioning for subscripts depends on the +base symbol involved. The default for sum-class symbols is +`displaylimits' positioning: When a sum-class symbol appears +in a displayed formula, subscript and superscript are placed in `limits' +position above and below, but in an inline formula, they are placed to +the side, to avoid unsightly and wasteful spreading of the +surrounding text lines. +The default for integral-class symbols is to have sub- and +superscripts always to the side, even in displayed formulas. +(See the discussion of the \opt{intlimits} and related +options\index{options!behavior of particular options} in +Section~\ref{options}.) + +Operator names such as $\sin$ or $\lim$ may have either `displaylimits' +or `limits' positioning depending on how they were defined. The standard +operator names are defined according to normal mathematical usage. + +The commands \cn{limits} and \cn{nolimits} can be used to override the +normal behavior of a base symbol: +\begin{equation*} +\sum\nolimits_X,\qquad \iint\limits_{A}, +\qquad\varliminf\nolimits_{n\to \infty} +\end{equation*} +To define a command whose subscripts follow the +same `displaylimits' behavior as \cn{sum}, put +\cn{displaylimits} at the tail end of the definition. When multiple +instances of \cn{limits}, \cn{nolimits}, or \cn{displaylimits} occur +consecutively, the last one takes precedence. + +%% ------------------------------------------------------------------ %% + +\section{Multiple integral signs} + +\cn{iint}, \cn{iiint}, and \cn{iiiint} give multiple integral +signs\index{integrals!multiple} with the spacing between them nicely +adjusted, in both text and display style. \cn{idotsint} is an extension +of the same idea that gives two integral signs with dots between them. +\begin{gather} +\iint\limits_A f(x,y)\,dx\,dy\qquad\iiint\limits_A +f(x,y,z)\,dx\,dy\,dz\\ +\iiiint\limits_A +f(w,x,y,z)\,dw\,dx\,dy\,dz\qquad\idotsint\limits_A f(x_1,\dots,x_k) +\end{gather} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\chapter{Commutative diagrams}\label{s:commdiag} +\index{commutative diagrams} + +Some commutative diagram commands like the ones in \amstex/ are +available as a separate package, \pkg{amscd}. For complex commutative +diagrams authors will need to turn to more comprehensive packages like +\tikz/\index{TikZ@\tikz/ package} (in particular, \pkg{tikz-cd}) +or \xypic/\index{XY-pic@\xypic/ package}, +but for simple diagrams without diagonal +arrows\index{arrows!in commutative diagrams} the \pkg{amscd} commands +may be more convenient. Here is one example. +\begin{equation*} +\begin{CD} +S^{\mathcal{W}_\Lambda}\otimes T @>j>> T\\ +@VVV @VV{\End P}V\\ +(S\otimes T)/I @= (Z\otimes T)/J +\end{CD} +\end{equation*} +\begin{verbatim} +\begin{CD} +S^{\mathcal{W}_\Lambda}\otimes T @>j>> T\\ +@VVV @VV{\End P}V\\ +(S\otimes T)/I @= (Z\otimes T)/J +\end{CD} +\end{verbatim} +In the \env{CD} environment the commands |@>>>|, +|@<<<|, |@VVV|, and |@AAA| give respectively right, left, down, and up +arrows. For the horizontal arrows, material between the first and second +|>| or |<| symbols will be typeset as a superscript, and material +between the second and third will be typeset as a subscript. Similarly, +material between the first and second or second and third |A|s or |V|s +of vertical arrows will be typeset as left or right \qq{sidescripts}. +The commands |@=| and \verb'@|' give horizontal and vertical double lines. +A \qq{null arrow} command |@.| can be used instead of a visible arrow +to fill out an array where needed. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\chapter{Using math fonts} + +\section{Introduction} + +For more comprehensive information on font use in \latex/, see the +\latex/ font guide (\fn{fntguide.tex}) or \booktitle{The \latex/ +Companion} \cite{tlc2}. The basic set of math font commands\index{math +fonts}\relax \index{math symbols|see{math fonts}} in \latex/ includes +\cn{mathbf}, \cn{mathrm}, \cn{mathcal}, \cn{mathsf}, \cn{mathtt}, +\cn{mathit}. Additional math alphabet commands such as +\cn{mathbb} for blackboard bold, \cn{mathfrak} for Fraktur, and +\cn{mathscr} for Euler script are available through the packages +\pkg{amsfonts} and \pkg{euscript} (distributed separately). + +%% ------------------------------------------------------------------ %% +\enlargethispage{1\baselineskip} + +\section{Recommended use of math font commands} + +If you find yourself employing math font commands frequently in your +document, you might wish that they had shorter names, such as \ncn{mb} +instead of \cn{mathbf}. Of course, there is nothing to keep you from +providing such abbreviations for yourself by suitable \cn{newcommand} +statements. But for \latex/ to provide shorter names would actually be a +disservice to authors, as that would obscure a much better alternative: +defining custom command names derived from the names of the underlying +mathematical objects, rather than from the names of the fonts used to +distinguish the objects. For example, if you are using bold to indicate +vectors, then you will be better served in the long run if you define a +`vector' command instead of a `math-bold' command: +\begin{verbatim} + \newcommand{\vect}[1]{\mathbf{#1}} +\end{verbatim} +you can write |\vect{a} + \vect{b}| to produce $\vect{a} + +\vect{b}$. +If you decide several months down the road that you want to use the bold +font for some other purpose, and mark vectors by a small over-arrow +instead, then you can put the change into effect merely by changing the +definition of \ncn{vect}; otherwise you would have to replace all +occurrences of \cn{mathbf} throughout your document, perhaps even +needing to inspect each one to see whether it is indeed +an instance of a vector. + +It can also be useful to assign distinct +command names for different letters of a particular font: +\begin{verbatim} +\DeclareSymbolFont{AMSb}{U}{msb}{m}{n}% or use amsfonts package +\DeclareMathSymbol{\C}{\mathalpha}{AMSb}{"43} +\DeclareMathSymbol{\R}{\mathalpha}{AMSb}{"52} +\end{verbatim} +These statements would define the commands \cn{C} and \cn{R} to produce +blackboard-bold letters from the `AMSb' math symbols font. If you refer +often to the\break complex numbers or real numbers in your document, you +might find this method more convenient than (let's say) defining a +\ncn{field} command and writing\break |\field{C}|, |\field{R}|. But for +maximum flexibility and control, define such a \ncn{field} command and +then define \ncn{C} and \ncn{R} in terms of that +command:\indexcs{mathbb} +\begin{verbatim} +\usepackage{amsfonts}% to get the \mathbb alphabet +\newcommand{\field}[1]{\mathbb{#1}} +\newcommand{\C}{\field{C}} +\newcommand{\R}{\field{R}} +\end{verbatim} + +%% ------------------------------------------------------------------ %% +\enlargethispage{3\baselineskip} + +\section{Bold math symbols} + +The \cn{mathbf} command is commonly used to obtain bold Latin letters in +math, but for most other kinds of math symbols it has no effect, or its +effects depend unreliably on the set of math fonts that are in use. For +example, writing +\begin{verbatim} +\Delta \mathbf{\Delta}\mathbf{+}\delta \mathbf{\delta} +\end{verbatim} +produces $\Delta \mathbf{\Delta}\mathbf{+}\delta +\mathbf{\delta}$; the \cn{mathbf} has no effect on the plus +sign or the small delta. +% should be paragraph break; avoid overfull box on next line +The \nipkg{amsmath} package therefore provides two additional commands, +\cn{boldsymbol} and \cn{pmb}, that can be applied to other kinds of math +symbols. \cn{boldsymbol} can be used for a math symbol that remains +unaffected by \cn{mathbf} if (and only if) your current math font set +includes a bold version of that symbol. \cn{pmb} can be used as a last +resort for any math symbols that do not have a true bold version +provided by your set of math fonts; \qq{pmb} stands for \qq{poor man's +bold} and the command works by typesetting multiple copies of the symbol +with slight offsets. The quality of the output is inferior, especially +for symbols that contain any hairline strokes. When the standard default set of +\latex/ math fonts are in use (Computer Modern), the only symbols that +are likely to require \cn{pmb} are large operator symbols like \cn{sum}, +extended delimiter\index{delimiters} symbols, or the extra math symbols +provided by the \pkg{amssymb} package \cite{amsfonts}. + +The following formula shows some of the results that are possible: +\begin{verbatim} +A_\infty + \pi A_0 +\sim \mathbf{A}_{\boldsymbol{\infty}} \boldsymbol{+} + \boldsymbol{\pi} \mathbf{A}_{\boldsymbol{0}} +\sim\pmb{A}_{\pmb{\infty}} \pmb{+}\pmb{\pi} \pmb{A}_{\pmb{0}} +\end{verbatim} +\begin{equation*} +A_\infty + \pi A_0 +\sim \mathbf{A}_{\boldsymbol{\infty}} \boldsymbol{+} + \boldsymbol{\pi} \mathbf{A}_{\boldsymbol{0}} +\sim\pmb{A}_{\pmb{\infty}} \pmb{+}\pmb{\pi} \pmb{A}_{\pmb{0}} +\end{equation*} +If you want to use only the \cn{boldsymbol} command without loading the +whole \nipkg{amsmath} package, the \pkg{bm} package is recommended (this +is a standard \latex/ package, not an AMS package; you probably have it +already if you have a 1997 or newer version of \latex/). + +%% ------------------------------------------------------------------ %% + +\section{Italic Greek letters} + +For italic versions of the capital Greek letters, the following commands +are provided: +\begin{ctab}{rlrl} +\cn{varGamma}& $\varGamma$& \cn{varSigma}& $\varSigma$\\ +\cn{varDelta}& $\varDelta$& \cn{varUpsilon}& $\varUpsilon$\\ +\cn{varTheta}& $\varTheta$& \cn{varPhi}& $\varPhi$\\ +\cn{varLambda}& $\varLambda$& \cn{varPsi}& $\varPsi$\\ +\cn{varXi}& $\varXi$& \cn{varOmega}& $\varOmega$\\ +\cn{varPi}& $\varPi$ +\end{ctab} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\chapter{Error messages and output problems} + +\section{General remarks} + +This is a supplement to Chapter~8 of the \latex/ manual \cite{lamport} +(first edition: Chapter~6). Appendix~B of the +\textit{Companion}~\cite{tlc2} lists all \latex/ errors including those +for \nipkg{amsmath} with likely causes for each. For the reader's +convenience, the set of error messages discussed here overlaps +somewhat with the set in those references, +but please be aware that we don't provide exhaustive coverage here. +The error messages are arranged in alphabetical order, disregarding +unimportant text such as |! LaTeX Error:| at the beginning, and +nonalphabetical characters such as \qc{\\}. Where examples are given, we +show also the help messages that appear on screen when you respond to an +error message prompt by entering |h|. + +Remember that the important error message is the first for a given line. +When running in nonstop mode, errors accumulate, and the first error +may create a further error condition from which it is impossible to +recover. In such a situation processing will stop after 100~errors, +so the reporting of genuine errors may not be complete, and it may be +impossible to determine which reported errors are genuine and which +are not. + +A final section discusses some output errors, i.e., instances where +the printed document has something wrong but there was no \latex/ +error during typesetting. + +%% ------------------------------------------------------------------ %% +%% ********** +\enlargethispage{-2\baselineskip} + +\section{Error messages} + +\begin{error}{\begin{split} won't work here.} +\errexa +\begin{verbatim} +! Package amsmath Error: \begin{split} won't work here. + ... + +l.8 \begin{split} + +? h +\Did you forget a preceding \begin{equation}? +If not, perhaps the `aligned' environment is what you want. +? +\end{verbatim} +\errexpl +The \env{split} environment does not construct a stand-alone displayed +equation; it needs to be used within some other environment such as +\env{equation} or \env{gather}. + +\end{error} + +\begin{error}{Erroneous nesting of equation structures} +\errexa +\begin{verbatim} +! Package amsmath Error: Erroneous nesting of equation structures; +(amsmath) trying to recover with `aligned'. + +See the amsmath package documentation for explanation. +Type H <return> for immediate help. + ... + +l.260 \end{alignat*} + \end{equation*} +\end{verbatim} +\errexpl +The structures \env{align}, \env{alignat}, etc., are designed +for top-level use and for the most part cannot be nested inside some +other displayed equation structure. The chief exception is that +\env{align} and most of its variants can be used inside the +\env{gather} environment. +\end{error} + +\begin{error}{Extra & on this line} +\errexa +\begin{verbatim} +! Package amsmath Error: Extra & on this line. + +See the amsmath package documentation for explanation. +Type H <return> for immediate help. + ... + +l.9 \end{alignat} + +? h +\An extra & here is so disastrous that you should probably exit + and fix things up. +? +\end{verbatim} +\errexpl +In an \env{alignat} structure the number of alignment points per line +is dictated by the numeric argument given after |\begin{alignat}|. +If you use more alignment points in a line it is assumed that you +accidentally left out a newline command \cn{\\} and the above error is +issued. +\end{error} + +%% ********** +\enlargethispage{1.5\baselineskip} + +\begin{error}{Font OMX/cmex/m/n/7=cmex7 not loadable ...} +\errexa +\begin{verbatim} +! Font OMX/cmex/m/n/7=cmex7 not loadable: Metric (TFM) file not found. +<to be read again> + relax +l.8 $a + b+b^2$ +? h +I wasn't able to read the size data for this font, +so I will ignore the font specification. +[Wizards can fix TFM files using TFtoPL/PLtoTF.] +You might try inserting a different font spec; +e.g., type `I\font<same font id>=<substitute font name>'. +? +\end{verbatim} +\errexpl +Certain extra sizes of some Computer Modern fonts that were formerly +available mainly through the AMSFonts\index{amsfont@AMSFonts collection} +distribution are considered part of standard \latex/ (as of June 1994): +\fn{cmex7}\ndash \texttt{9}, \fn{cmmib5}\ndash \texttt{9}, and +\fn{cmbsy5}\ndash \texttt{9}. If these extra sizes are missing on your +system, you should try first to get them from the source where you +obtained \latex/. If that fails, you could try getting the fonts from +CTAN (e.g., in the form of Metafont\index{Metafont source files} source +files, directory \nfn{/tex-archive/fonts/latex/mf}, or in PostScript +Type 1 format, directory +\nfn{/tex-archive/fonts/cm/ps-type1/bakoma}\index{BaKoMa fonts}\relax +\index{PostScript fonts}). + +If the font name begins with \fn{cmex}, there is a special option% +\index{options!behavior of particular options} +\opt{cmex10} for the \nipkg{amsmath} package that provides a temporary +workaround. I.e., change the \cn{usepackage} to +\begin{verbatim} +\usepackage[cmex10]{amsmath} +\end{verbatim} +This will force the use of the 10-point size of the \fn{cmex} font in +all cases. Depending on the contents of your document this may be +adequate. +\end{error} + +\enlargethispage{1\baselineskip} +\begin{error}{Improper argument for math accent} +\errexa +\begin{verbatim} +! Package amsmath Error: Improper argument for math accent: +(amsmath) Extra braces must be added to +(amsmath) prevent wrong output. + +See the amsmath package documentation for explanation. +Type H <return> for immediate help. + ... + +l.415 \tilde k_{\lambda_j} = P_{\tilde \mathcal + {M}} +? +\end{verbatim} +\errexpl +Non-simple arguments for any \LaTeX{} command should be enclosed in +braces. In this example extra braces are needed as follows: +\begin{verbatim} +... P_{\tilde{\mathcal{M}}} +\end{verbatim} +\end{error} + +\begin{error}{Math formula deleted: Insufficient extension fonts} +\errexa +\begin{verbatim} +! Math formula deleted: Insufficient extension fonts. +l.8 $ab+b^2$ + +? +\end{verbatim} +\errexpl +This usually follows a previous error |Font ... not loadable|; see the +discussion of that error (above) for solutions. +\end{error} + +\enlargethispage{1\baselineskip} +\begin{error}{Missing number, treated as zero} +\errexa +\begin{verbatim} +! Missing number, treated as zero. +<to be read again> + a +l.100 \end{alignat} + +? h +A number should have been here; I inserted `0'. +(If you can't figure out why I needed to see a number, +look up `weird error' in the index to The TeXbook.) + +? +\end{verbatim} +\errexpl +There are many possibilities that can lead to this error. However, one +possibility that is relevant for the \nipkg{amsmath} package is that you +forgot to give the number argument of an \env{alignat} environment, as +in: +\begin{verbatim} +\begin{alignat} + a& =b& c& =d\\ +a'& =b'& c'& =d' +\end{alignat} +\end{verbatim} +where the first line should read instead +\begin{verbatim} +\begin{alignat}{2} +\end{verbatim} + +Another possibility is that you have a left bracket character |[| +following a line break\index{line break} command \cn{\\} in a multiline +construction such as \env{array}, \env{tabular}, or \env{eqnarray}. +This will be interpreted by \latex/ as the beginning of an `additional +vertical space request \cite[\S C.1.6]{lamport}, even if it occurs on the +following line and is intended to be part of the contents. For example, +\begin{verbatim} +\begin{array}{c} +a+b\\ +[f,g]\\ +m+n +\end{array} +\end{verbatim} +To prevent the error message in such a case, you can +add braces as discussed in the \latex/ manual \cite[\S C.1.1]{lamport}: +\begin{verbatim} +\begin{array}{c} +a+b\\ +{[f,g]}\\ +m+n +\end{array} +\end{verbatim} +or precede the bracketed expression by \cn{relax}. +\end{error} + +\goodbreak + +\begin{error}{Missing \right. inserted} +\errexa +\begin{verbatim} +! Missing \right. inserted. +<inserted text> + \right . +l.10 \end{multline} + +? h +I've inserted something that you may have forgotten. +(See the <inserted text> above.) +With luck, this will get me unwedged. But if you +really didn't forget anything, try typing `2' now; then +my insertion and my current dilemma will both disappear. +\end{verbatim} +\errexpl +This error typically arises when you try to insert a +line break\index{line break} or |&|\cnamp\ between a +\cn{left}-\cn{right} pair of delimiters\index{delimiters} in any +multiline environment, including \env{split}. +\begin{verbatim} +\begin{multline} +AAA\left(BBB\\ + CCC\right) +\end{multline} +\end{verbatim} +There are two possible solutions: (1)~instead of using \cn{left} and +\cn{right}, use `big' delimiters\index{delimiters!fixed size} of fixed +size (\cn{bigl} \cn{bigr} \cn{biggl} \cn{biggr} \dots; see +\secref{bigdel}); or (2)~use null delimiters\index{delimiters!null} to +break up the \cn{left}-\cn{right} pair into parts for each line (or cell): +\begin{verbatim} +AAA\left(BBB\right.\\ + \left.CCC\right) +\end{verbatim} +The latter solution may result in mismatched +delimiter\index{delimiters!mismatched sizes} sizes; +ensuring that they match requires using \cn{vphantom} in the segment +that has the smaller delimiter (or possibly \cn{smash} in the segment +that has the larger delimiter). In the argument of \cn{vphantom} put a +copy of the tallest element that occurs in the other segment, e.g., +\begin{verbatim} +xxx \left(\int_t yyy\right.\\ + \left.\vphantom{\int_t} zzz ... \right) +\end{verbatim} +\end{error} + +\goodbreak + +\begingroup +\lccode`M=`M +\lccode`@=`\} +\lowercase{\endgroup +\begin{error}{Missing @ inserted}} + +\errexa +\begin{verbatim} +! Missing } inserted. +<inserted text> + \right . +l.10 \end{multline} + +? h +I've inserted something that you may have forgotten. +(See the <inserted text> above.) +With luck, this will get me unwedged. But if you +really didn't forget anything, try typing `2' now; then +my insertion and my current dilemma will both disappear. +\end{verbatim} +\errexpl +This error is often the result of using \verb+$+ within a multiline +display environment. Remove such \verb+$+ signs (except when they +appear within \verb+\text{...}+). +\end{error} + +\begin{error}{Old form `\pmatrix' should be \begin{pmatrix}.} +\errexa +\begin{verbatim} +! Package amsmath Error: Old form `\pmatrix' should be + \begin{pmatrix}. + +See the amsmath package documentation for explanation. +Type H <return> for immediate help. + ... + +\pmatrix ->\left (\matrix@check \pmatrix + \env@matrix +l.16 \pmatrix + {a&b\cr c&d\cr} +? h +`\pmatrix{...}' is old Plain-TeX syntax whose use is +ill-advised in LaTeX. +? +\end{verbatim} +\errexpl +When the \nipkg{amsmath} package is used, the old forms of \cn{pmatrix}, +\cn{matrix}, and \cn{cases} cannot be used any longer because of naming +conflicts. Their syntax did not conform with standard \LaTeX{} syntax +in any case. +\end{error} + +\enlargethispage{2\baselineskip} +\begin{error}{Paragraph ended before \xxx was complete} +\errexa +\begin{verbatim} +Runaway argument? + +! Paragraph ended before \multline was complete. +<to be read again> + \par +l.100 + +? h +I suspect you've forgotten a `}', causing me to apply this +control sequence to too much text. How can we recover? +My plan is to forget the whole thing and hope for the best. +? +\end{verbatim} +\errexpl +This might be produced by a blank line between the |\begin| and |\end|. +Another possibility is a misspelling in the |\end{multline}| command, +e.g., +\begin{verbatim} +\begin{multline} +... +\end{multiline} +\end{verbatim} +or by using abbreviations for certain environments, such as |\bal| and +|\eal| for |\begin{align}| and |\end{align}|: +\begin{verbatim} +\bal +... +\eal +\end{verbatim} +For technical reasons that kind of abbreviation does not work with +the more complex displayed equation environments of the \nipkg{amsmath} package +(\env{gather}, \env{align}, \env{split}, etc.; cf.\ \fn{technote.tex}). +\end{error} + +\begin{error}{Runaway argument?} +See the discussion for the error message +\texttt{Paragraph ended before \ncn{xxx} was complete}. +\end{error} + +\begin{error}{Unknown option `xxx' for package `yyy'} +\errexa +\begin{verbatim} +! LaTeX Error: Unknown option `intlim' for package `amsmath'. +... +? h +The option `intlim' was not declared in package `amsmath', perhaps you +misspelled its name. Try typing <return> to proceed. +? +\end{verbatim} +\errexpl +This means that you misspelled the option\index{options!unknown} +name, or the package simply does not have an option that you expected +it to have. Consult the documentation for the given package. +\end{error} + +%% ------------------------------------------------------------------ %% + +\section{Warning messages} + +\begin{error}{Cannot use `split' here} +\errexa +\begin{verbatim} +Package amsmath Warning: Cannot use `split' here; +(amsmath) trying to recover with `aligned' +\end{verbatim} +\errexpl The \env{split} environment is designed to serve as the entire +body of an equation, or an entire line of an \env{align} or \env{gather} +environment. There cannot be any printed material before or +after it within the same enclosing structure: +\begin{verbatim} +\begin{equation} +\left\{ % <-- Not allowed +\begin{split} +... +\end{split} +\right. % <-- Not allowed +\end{equation} +\end{verbatim} +\end{error} + +\begin{error}{Foreign command \over [or \atop or \above]} +\errexa +\begin{verbatim} +Package amsmath Warning: Foreign command \over; \frac or \genfrac +(amsmath) should be used instead. +\end{verbatim} +\errexpl The primitive generalized fraction commands of \tex/\mdash +\cs{over}, \cs{atop}, \cs{above}\mdash are deprecated when the +\nipkg{amsmath} package is used because their syntax is foreign to \latex/ +and \nipkg{amsmath} provides native \latex/ equivalents. See +\fn{technote.tex} for further information. +\end{error} + +%% ------------------------------------------------------------------ %% + +\section{Wrong output} + +\begin{erroro}{Section numbers 0.1, 5.1, 8.1 instead of 1, 2, 3} +% +This most likely means that you have the arguments for \cn{numberwithin} +in reverse order: +\begin{verbatim} +\numberwithin{section}{equation} +\end{verbatim} +That means `print the section number as \textit{equation +number}.\textit{section number} and reset to 1 every time an equation +occurs' when what you probably wanted was the inverse +\begin{verbatim} +\numberwithin{equation}{section} +\end{verbatim} +\end{erroro} + +\begin{erroro}{The \cn{numberwithin} command had no effect on equation + numbers} +% +Are you looking at the first section in your document? Check the section +numbers elsewhere to see if the problem is the one described in the +previous item. +\end{erroro} + +\begin{erroro}{Bracketed material disappears at the beginning of + \env{aligned} or \env{gathered}} +% +For most multiline equation environments, \nipkg{amsmath} disables the +\latex/ convention to recognize a [bracketed] expression as an option% +\index{ed env@\texttt{-ed} environments}% +\index{options!positioning of \texttt{-ed} environments}% +\index{options!space before \texttt{[}} +when it occurs at the beginning of an environment or immediately +following \cn{\\}, provided a space intervenes. This fails at the +beginning of \env{aligned} and \env{gathered}, and is a bug. Insert +\cn{relax} before the opening brace to restore the desired result. +\end{erroro} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\chapter{Additional information} + +\section{Compatibility with other packages} + +Several packages have already been mentioned as providing facilities +lacking in \nipkg{amsmath}. + +\begin{itemize} +\item \pkg{bm} is recommended for specifying bold math symbols. +\item \pkg{mathtools} provides enhancements to some \nipkg{amsmath} + environments as well as additional compatible features, such as + \env{rcases} (similar to \env{cases} but with the brace on the + right-hand side), \env{multlined} (a subsidiary environment + comparable to \env{multline}), and \cn{shortintertext} (more + compact spacing than \cn{intertext}). If \pkg{mathtools} is used, + \nipkg{amsmath} is loaded automatically, so it is not necessary + to load it separately. +\item \pkg{unicode-math} provides commands for (most?)\ math symbols + in Unicode. +%\item \pkg{empheq} +\end{itemize} + +These packages have known problems when used with \nipkg{amsmath}. +\begin{itemize} +\item \pkg{lineno} may omit numbers before display environments. +\item \pkg{breqn} redefines a number of commands from other packages, + so is best loaded after \nipkg{amsmath} and other packages with math + facilities.\\ \pkg{breqn} is not yet totally stable, and a number of + bugs have been reported via \texttt{tex.stackexchange} \cite{tex-sx}. +\item \pkg{wasysym}, \pkg{mathabx} and perhaps other font packages also + define multiple integrals\index{integrals!multiple} using the same + names as \nipkg{amsmath}. +\end{itemize} + +%% ------------------------------------------------------------------ %% + +\section{Converting existing documents} + +\subsection{Converting from plain \LaTeX{}} + +A \LaTeX{} document will typically continue to work the same in most +respects if \verb'\usepackage{amsmath}' is added in the document +preamble. By default, however, the \nipkg{amsmath} package suppresses page +breaks inside multiple-line displayed equation structures such as +\env{eqnarray}, \env{align}, and \env{gather}. To continue allowing page +breaks inside \env{eqnarray} after switching to \nipkg{amsmath}, you will +need to add the following line in your document preamble: +\begin{verbatim} +\allowdisplaybreaks[1] +\end{verbatim} +To ensure normal spacing around relation symbols, you might also want to +change \env{eqnarray} to \env{align}, \env{multline}, or +\env{equation}\slash\env{split} as appropriate. + +Most of the other differences in \nipkg{amsmath} usage can be considered +optional refinements, e.g., using +\begin{verbatim} +\DeclareMathOperator{\Hom}{Hom} +\end{verbatim} +instead of \verb'\newcommand{\Hom}{\mbox{Hom}}'. + +\subsection{Converting from \texorpdfstring{\amslatex/}{amslatex} 1.1} +See \fn{diffs-m.txt}. + +%% ------------------------------------------------------------------ %% + +\section{Technical notes} +The file \fn{technote.tex} contains some remarks on miscellaneous +technical questions that are less likely to be of general interest. + +%% ------------------------------------------------------------------ %% + +\section{Getting help} + +The \nipkg{amsmath} collection of packages is maintained by the \latex/ +team \cite{ltx-team}. Bugs should be reported using the instructions +at \url{https://www.latex-project.org/bugs/}. +Please be careful not to confuse \nipkg{amsmath} with the AMS document +classes (\cls{amsart}, \cls{amsbook}, and \cls{amsproc}), which +automatically incorporate \nipkg{amsmath}; bugs in the classes should +be reported directly to AMS, by email to \mail{tech-support@ams.org}. + +%Questions or comments regarding \nipkg{amsmath} and related packages +%should be sent to: +%\begin{infoaddress} +%American Mathematical Society\\ +%Technical Support\\ +%Electronic Products and Services\\ +%P. O. Box 6248\\ +%Providence, RI 02940\\[3pt] +%Phone: 800-321-4AMS (321-4267) \quad or \quad 401-455-4080\\ +%Internet: \mail{tech-support@ams.org} +%\end{infoaddress} +%If you are reporting a problem you should include +%the following information to make proper investigation possible: +%\begin{enumerate} +%\item The source file where the problem occurred, preferably reduced +% to minimum size by removing any material that can be removed without +% affecting the observed problem. +%\item A \latex/ log file showing the error message (if applicable) and +% the version numbers of the document class and option files being used. +%\end{enumerate} + +The online forum\index{online Q\,\&\,A forum} \texttt{tex.stackexchange} +\cite{tex-sx} is a good source of answers to common questions on usage. +Look first in the archive to see if your question has already been asked +and answered; if it has not, post your own question. + +There is an online discussion group called \fn{comp.text.tex} \cite{ctt} +that is a fairly good source of information about \latex/ and \tex/ in +general. This group, formerly a Unix newsgroup, predates +\texttt{tex.stackexchange} by decades, and the archives can be a useful +resource for historical investigation. + +%% ------------------------------------------------------------------ %% + +\section{Of possible interest}\label{a:possible-interest} +Information about obtaining AMSFonts or other \tex/-related +software from the AMS web server at \fn{www.ams.org} +can be obtained by sending an email request to +\mail{tech-support@ams.org}. This software is also posted on +CTAN\index{CTAN (Comprehensive \TeX\ Archive Network)} and included +in distributions based on \TeX\,Live\index{TEX Live@\TeX\,Live}. + +The \tex/ Users Group\index{TeX Users@\tex/ Users Group} is a nonprofit +organization that publishes a journal +(\journalname{TUGboat}\index{TUGboat@\journalname{TUGboat}}), holds +meetings, and serves as a clearinghouse for general information about +\tex/ and \tex/-related software. +\begin{infoaddress} +\tex/ Users Group\\ +PO Box 2311\\ +Portland, OR 97208-2311\\ +USA\\[3pt] +Phone: +1-503-223-9994\\ +Email: \mail{office@tug.org} +\end{infoaddress} +Membership in the \tex/ Users Group is a good way to support continued +development of free \tex/-related software. There are also many local +\tex/ user groups in other countries; information about contacting a +local user group can be gotten from the \tex/ Users Group. + +\index{amsmath@\texttt{amsmath} package|)} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage + +\begin{thebibliography}{10} +\addcontentsline{toc}{chapter}{\bibname} + +\raggedright + +\bibsubhead{References in print} + +\bibitem{mil} George Gr\"atzer, \booktitle{More Math into \latex/}, fifth ed., +Springer, New York, 2016. +% Deal with a line breaking problem +%\begin{raggedright} +%\bibitem{mil} G. Gr\"{a}tzer, +%\emph{Math into \LaTeX{}: An Introduction to \LaTeX{} and AMS-\LaTeX{}} +% \url{https://www.ams.org/cgi-bin/bookstore/bookpromo?fn=91&arg1=bookvideo&itmc=MLTEX}, +%Birkh\"{a}user, Boston, 1995.\par +%\end{raggedright} + +\bibitem{kn} Donald E. Knuth, \booktitle{The \tex/book}, +Addison-Wesley, Reading, MA, 1984. + +\bibitem{lamport} Leslie Lamport, \booktitle{\latex/: A document preparation +system}, 2nd revised ed., Addison-Wesley, Reading, MA, 1994. + +\bibitem{tlc2} Frank Mittelbach, Michel Goossens, et al., +\booktitle{The \latex/ companion}, second ed., Addison-Wesley, Reading, +MA, 2004. This is now also available as an ebook, in both English and +German; see \url{https://www.latex-project.org/help/books/}. +The front matter, including the full Table of Contents, can be viewed +online, from a link on the same page. +%Michel Goossens, Frank Mittelbach, and Alexander Samarin, +%\booktitle{The \latex/ companion}, Addison-Wesley, Reading, MA, 1994. +% [\emph{Note: The 1994 edition is not a reliable guide for the +% \nipkg{amsmath} package unless you refer to the errata for Chapter +% 8\mdash file \fn{compan.err}, distributed with \LaTeX{}.}] + +\bibitem{msf} Frank Mittelbach and Rainer Sch\"opf, +\textit{The new font family selection\mdash user +interface to standard \latex/}, \journalname{TUGboat} \textbf{11}, +no.~2 (June 1990), pp.~297\ndash 305. + +\bibitem{jt} Michael Spivak, \booktitle{The joy of \tex/}, 2nd revised ed., +Amer. Math. Soc., Providence, RI, 1990. + +\bibsubhead{Package documentation} + +\bibitem{amshandbk}\booktitle{AMS author handbook}, separate versions +for journal articles, monographs and proceedings articles, Amer. Math. +Soc., Providence, RI, 2017; +\url{https://www.ams.org/publications/authors/tex/author-handbook}. + +\bibitem{amsfonts}\booktitle{AMSFonts version \textup{2.2d}\mdash user's guide}, +Amer. Math. Soc., Providence, RI, 2002; distributed +with the AMSFonts package +\url{http://mirror.ctan.org/tex-archive/fonts/amsfonts/doc/amsfndoc.pdf}. + +\bibitem{amsthdoc}\booktitle{Using the \pkg{amsthm} Package}, version 2.20.3, +Amer. Math. Soc., Providence, RI, 2017; +\url{http://mirror.ctan.org/tex-archive/macros/latex/required/amscls/doc/amsthdoc.pdf}. + +\bibitem{mt} Morten H{\o}gholm, Lars Madsen, \booktitle{The \pkg{mathtools} +package}, 2018; +\url{http://mirror.ctan.org/tex-archive/macros/latex/contrib/mathtools/mathtools.pdf}. + +\bibsubhead{Online resources} + +\bibitem{ltx-team} The \latex/ Project, \url{https://www.latex-project.org}. + +\bibitem{ctt} Online discussion group \texttt{comp.text.tex}, +\url{https://groups.google.com/forum/\#!forum/comp.text.tex}. + +\bibitem{tex-sx} Online question and answer forum \texttt{tex.stackexchange}, +\url{https://tex.stackexchange.com}. + +\end{thebibliography} + +\printindex + +\end{document} diff --git a/Master/texmf-dist/doc/latex-dev/amsmath/amsmath.pdf b/Master/texmf-dist/doc/latex-dev/amsmath/amsmath.pdf Binary files differnew file mode 100644 index 00000000000..94a460afa4d --- /dev/null +++ b/Master/texmf-dist/doc/latex-dev/amsmath/amsmath.pdf diff --git a/Master/texmf-dist/doc/latex-dev/amsmath/amsopn.pdf b/Master/texmf-dist/doc/latex-dev/amsmath/amsopn.pdf Binary files differnew file mode 100644 index 00000000000..f854a4246b6 --- /dev/null +++ b/Master/texmf-dist/doc/latex-dev/amsmath/amsopn.pdf diff --git a/Master/texmf-dist/doc/latex-dev/amsmath/amstext.pdf b/Master/texmf-dist/doc/latex-dev/amsmath/amstext.pdf Binary files differnew file mode 100644 index 00000000000..a5c78d67371 --- /dev/null +++ b/Master/texmf-dist/doc/latex-dev/amsmath/amstext.pdf diff --git a/Master/texmf-dist/doc/latex-dev/amsmath/amsxtra.pdf b/Master/texmf-dist/doc/latex-dev/amsmath/amsxtra.pdf Binary files differnew file mode 100644 index 00000000000..11cea1ef609 --- /dev/null +++ b/Master/texmf-dist/doc/latex-dev/amsmath/amsxtra.pdf diff --git a/Master/texmf-dist/doc/latex-dev/amsmath/changes.txt b/Master/texmf-dist/doc/latex-dev/amsmath/changes.txt new file mode 100644 index 00000000000..1b2d097dd52 --- /dev/null +++ b/Master/texmf-dist/doc/latex-dev/amsmath/changes.txt @@ -0,0 +1,123 @@ +2019-02-06 Frank Mittelbach <Frank.Mittelbach@latex-project.org> + + * amsmath.dtx (section{Mods, continued fractions, etc.}): + Command \overunderset added + +######################### +# 2018-12-01 Release +######################### + +2018-10-09 Frank Mittelbach <Frank.Mittelbach@latex-project.org> + + * amsmath.dtx + Don't drop \frozen@everymath + Start LR-mode for \thinspace and friends if necessary (github/49) + Start LR-mode for \bigl and friends if necessary (github/49) + Start LR-mode for \smash if necessary (github/49) + +######################### +# 2018-04-01 Release +######################### + +2017-09-02 David Carlisle <latex-bugs@latex-project.org> + + * amsmath.dtx: ensure that overfull alignments give warnings in more cases + https://tex.stackexchange.com/questions/141287/addmargin-enumerate-and-align-miss-an-overfull-hbox + + * amsmath.dtx: move the nulldelimiterspace correction for closing + delimiters in \genfrac for extended TeXs to the line before + \nulldelimiterspace is locally set to 0pt. + +2017-04-14 David Carlisle <latex-bugs@latex-project.org> + + * amscd.dtx: typo fix in ProvidesPackage line. + +2016-11-05 David Carlisle <latex-bugs@latex-project.org> + + * alignedleftspace[yes|no|yesifneg] package options + * New genfrac implementation for XeTeX and LuaTeX + * Delete obsolete install.txt file. + +2016-06-28 David Carlisle <latex-bugs@latex-project.org> + + * amsmath.dtx: Add space to prevent runaway argument error with \dots \left... + +2016-05-26 David Carlisle <latex-bugs@latex-project.org> + + * amsmath.dtx: ignore spaces at start of \intertext + +2016-03-10 David Carlisle <latex-bugs@latex-project.org> + + * amsmath.dtx: Preserve box0 in \resetMathstrut@ + +2016-03-08 David Carlisle <latex-bugs@latex-project.org> + + * amsopn.dtx: In xetex, and luatex, add version of \newmcodes@ + that works even if - has a \Umathcode definition. + +2016-03-03 David Carlisle <latex-bugs@latex-project.org> + + * amsmath.dtx: missing % + +2016-02-20 David Carlisle <latex-bugs@latex-project.org> + + * amsmath.dtx: update to support \Umathchardef and \long macros in \dots. + +2013-01-14 amsmath.dtx 2.14 + + * amsmath.sty 2.14 + -- Minimal changes to make amsmath compatible with stix.sty. + +2000-07-18 amsmath.dtx 2.13 + -- After the numbering patches in 2.11, \notag failed in certain + circumstances: introduce some more auxiliary functions to sort + things out, and redefine \nonumber. + +2000-06-29 amstext.dtx 2.01 + -- Use \f@size instead of \tf@size because they are not + necessarily the same and the former is better for putting a few + words into a display. + +2000-06-06 amsmath.dtx 2.12 + -- Fix transposed lines in 2.11 patch. + +2000-06-02 amsmath.dtx 2.11 + + * amsmath.sty 2.11 + -- Prevent "Arithmetic overflow" error by guarding against + divide-by-zero in \x@calc@shift@lc (align environment). + + * amsdtx.dtx + -- Moved to the amscls distribution. + +2000-05-25 amsmath.dtx 2.10 + -- Clear up error message for \allowdisplaybreaks[0]. + -- Make mathdisplay re-entrant by introducing mathdisplay@stack, + to clear up numbering problems in unusual circumstances such as + \[ \] nested inside minipage inside equation. + +2000-04-21 amsmath.dtx 2.09 + -- Ensure good catcodes for " etc. + +2000-03-16 amsmath.dtx 2.08 + -- Fixed erroneous tag placement on split with fleqn/tbtags options. + +2000-03-15 amsmath.dtx 2.07 + -- Add \reset@strutbox@ to deal with the following bug: After + $...\mbox{\Huge $...$}...$, line spacing is wrong in a + following "gather" or other environment that uses \strut@. + -- Patch to fix bug with intlimits option: too much space in the + middle of \iint. + -- Overhaul math accents again to fix a couple of bugs reported by + Thimm. + +2000-03-10 amsmath.dtx 2.06 + -- Change \MathAccent to \mathaccentV so \DeclareMathAccent won't + give an error when redefining an accent. + +2000-01-06 amsmath.dtx 2.05 + -- Fixed incorrect placement of fleqn/reqno equation numbers + inside indented lists (displaywidth < columnwidth). Changed the + multline/fleqn/leqno indent to match mathmargin when possible + instead of always just using multlinetaggap. + diff --git a/Master/texmf-dist/doc/latex-dev/amsmath/diffs-m.txt b/Master/texmf-dist/doc/latex-dev/amsmath/diffs-m.txt new file mode 100644 index 00000000000..af3a273f526 --- /dev/null +++ b/Master/texmf-dist/doc/latex-dev/amsmath/diffs-m.txt @@ -0,0 +1,551 @@ +diffs-m.txt [1999/12/15] American Mathematical Society + +This is a synopsis of the principal differences between various versions +of the amsmath package and its companion packages. + +A synopsis of changes in the "AMS-LaTeX" distribution is included at the +end of this file. See also diffs-c.txt in the amslatex/classes area. + +Those upgrading from version 1.2 to version 2.0 will probably be +interested in the question: + + After I upgrade will anything fail in my pre-existing documents? + +Certain of the bug fixes have the potential to affect the output of +existing documents in the following ways: + +---Vertical spacing for some displayed equations will change because +"abovedisplayshortskip" is now applied when possible. + +---Incorrect horizontal spacing for certain math constructs will change, +e.g., for \iint\nolimits or a subscript on a double-accented letter. + +---The default subscript placement in displayed formulas for \varinjlim, +\varprojlim, \varliminf, \varlimsup is now below rather than to the +side. To get the old behavior, add \nolimits---e.g., +\varliminf\nolimits_{...}. + +---Ellipsis dots in text (\ldots or \dots) will now behave the same as +in standard LaTeX; the surrounding space may therefore change. + +During regression testing we found some errors cropping up in documents +from incorrect usage that had not been caught with version 1.2. Although +these errors are relatively rare, documents containing such usage will +need to be corrected before they will run properly with version 2.0: + +---Use of two mutually exclusive display structures for the same +display. In this example the outer \[ \] are redundant: + + \[ + \begin{align*} + ... + \end{align*} + \] + +---Inadequate argument markup for math accents: + + \hat \mathcal{C} + +This should have been written with braces surrounding the argument of +the \hat command: \hat{\mathcal{C}}. + +For documents where error messages crop up after the upgrade, there are +various possible approaches, including: + +(a) Change instances of incorrect usage (if applicable). + +(b) Put a copy of amsmath.sty version 1.2 into the home directory of the +document. Then it should continue to work the same as before. + +(c) Use the snapshot package in combination with a shell script to +arrange that version 1.2 of amsmath is found instead of 2.0 when +processing the document. See ftp://ftp.ams.org/pub/tex/snapshot.*. This +approach requires a certain amount of technical knowledge. + +(d) Downgrade to version 1.2 again. + +======================================================================== +Changes in amsmath 2.0 [November 1999] + +---The AMS-LaTeX User's Guide (amsldoc.tex) has been turned into the + AMSmath User's Guide by moving the amsthm documentation into a + separate file (amsthdoc.tex) in the amslatex/classes area. + +---Restored normal use of "shortskip" spacing in single equations. + +[!! NOTE: This means that page breaks may change in existing documents.] + +---Restored normal use of available shrink around binary operators in + single equations. + +---Fixed poor subscript placement for double-accented letters. Math +accent handling was reworked in the process in such a way that the +capitalized forms of the math accent commands are no longer necessary. +\hat{\hat{X}} will do proper alignment of the second accent. \Hat et +cetera are retained for compabitility reasons. (Thanks to Javier Bezos +for donating some code from his accents package.) + +[!! NOTE: Improper math accent use will now produce wrong output.] + +Suppose that we have \boldH defined in the preamble as +\newcommand{\boldH}{\mathbf{H}}. Then the following examples illustrate +recommended usage. + + \hat{\mathbf{H}} OK + \hat{\boldH} OK + \hat\boldH Works OK, but deprecated by the LaTeX book + \hat\mathbf{H} Not OK! Output will be incorrect. + +Since the output will be wrong, amsmath gives an error message when the +last variant is detected. + +---The following kinds of mixed structures worked by happenstance with + amsmath 1.2, although they should have produced an error message. + With amsmath 2.0 they will produce an error or warning message. + + [!! NOTE: Potential error messages] + + % Outer \[ \] is redundant + + \[ + \begin{align*} + ... + \end{align*} + \] + + % Outer \begin{equation*} ... \end{equation*} is redundant + + \begin{equation*}\begin{alignat*}{2} + ... + \end{alignat*} + \end{equation*} + + % No printed material is allowed between \begin{equation} and + % \begin{split}: + + \begin{equation*}\left \{ + \begin{split} + ... + \end{split}\right . + \end{equation*} + +---diff12.tex is replaced by diffs-m.txt and diffs-c.txt, with the + latter moving to the amslatex/classes area. + +---Added an "?" option which gives some information about the available + documentation. + +---The amsmath definitions for matrix, pmatrix, and cases are + incompatible with the plain-TeX syntax for \pmatrix, \matrix, and + \cases, which are used occasionally by some authors in LaTeX + documents. In version 2.0 the error messages resulting from the + plain-TeX syntax have been made more intelligible. + +---If you need the boldsymbol facilities of the amsbsy package, use of + the "bm" (boldmath) package is recommended instead for new documents. + The amsbsy package is retained for compatibility with existing + documents. If you have a recent version of LaTeX (1998 or newer) you + already have the bm package; otherwise you may need to get it from + CTAN. (It is not an AMS package.) + +---\iint\nolimits: Fixed poor placement of subscript (also \iiint, +\idotsint, etc). + +---\varinjlim, \varprojlim, \varliminf, \varlimsup: Default to +\displaylimits instead of nolimits. + +---Fixed alignedat so that it doesn't take the first token of its + contents and try to interpret it as a number. + +---Leave text version of \dots and \ldots unchanged. + +---Changed \numberwithin so it no longer assumes previous definition of + \thesomething contained no prefixes. + +---\mathbf{\Gamma}: Leave cap Greek letters alone instead of converting + them from variable (fam 7) to fixed (fam 0). \mathbf{\gamma} still + fails---but that's a math font problem. + +---\mathindent is aliased to \@mathmargin so that when the fleqn option + is used, users can reset it as the LaTeX book advertises. + +---With the showkeys package: Corrected loss of marginal notes when +labels occurred inside an align environment. + +---Carried over some tweaks (\bmod, \right/leftarrowfill) from the 1996 + version of plain.tex. + +---Adjusted spacing of overarrow@ and underarrow@ to allow more room for + larger cmsy arrowheads. + +---Corrected spurious "overfull \hbox" warnings for \xrightarrow. + +---Corrected poor spacing for \xleftarrow. + +---Removed the \leavevmode in \smash which caused trouble for some + applications (e.g., the crop package) that expected the original + LaTeX definition. + +---Changed \def to \newcommand/\newenvironment where appropriate. + +---Use \sqrtsign instead of \@@sqrt (but include a backward + compatibility hack for the latter). + +---Left brace in \env{cases} environment would fail to work in + certain circumstances: Fix by using \lbrace instead of \{. + +---Use \ignorespacesafterend where applicable instead of + \global\@ignoretrue. + +---Protected commands in the definition of \theequation were + incorrectly expanded by the subequations environment when copying + the definition to \theparentequation: Fix by using \protected@edef. + +---Spurious extra space following punctuation at that end of a display: + In \math@cr, \math@cr@@, etc, use \iffalse{\fi instead of simply { to + keep an unwanted mathord atom from being added at the end of the + current math list; added \endmultline@math to work around a similar + sort of problem specific to the `multline' environment. + +---Various wrong results or no effect for \displaybreak inside "align", + "alignat", etc. Resetting \dspbrk@level in the \everycr of + \@display@init cleared most of these up. + +---Changed \displaybreak to issue an error message if enclosed in boxing + environment that will keep it from having any effect. + +---Turned off \displaybreak during the measuring phase of multline. + +---Fixed some numbering problems with multline and multline* and error + for use of \tag. + +---Use \@gtempa instead of \@tempa where assigned globally (standard + save stack precaution). + +---Save and restore \column@ to keep aligned from screwing up the column + counting of a parent align environment. Made \column@ assignments + uniformly global, except in a couple of places where the risk of side + effects seemed too great. + +---Error recovery for misspelled '\end{multline}' was not very helpful. + Improve \collect@body along lines suggested by Hellström. + +---Fixed up certain number placement problems with align + +---Add \alignsafe@testopt to work around a LaTeX bug: when a nested + alignment environment that takes an optional argument has an empty + first cell (i.e., begins with an &) LaTeX's optional argument + scanning screws up the alignment state. + +---Add `mathdisplay' environment (internal use) to correct several + problems of \[ \] and the `equation' environment arising from the + previous implementation as a degenerate case of `gather'. + +---It is possible now to use \eeq as an abbreviation for \end{equation} +(one of the consequences of the preceding change). But still not \eal +for \end{align} or certain other display structures. + +---Reorganize `split' internal calling sequence to go along with the use + of `mathdisplay' in \[ \] and `equation'. + +---Suppression of LaTeX error messages during measuring phase made + primitive TeX errors harder to understand; stop suppressing. (As a + result, users will sometimes get redundant error messages now.) + Remove obsolete Sb, Sp environments again. + +---The file amsintx.dtx was removed from the distribution pending + further development. + +---Remove the \ifinany@ switch, use \spread@equation instead to achieve + the same ends. + +---Remove unbracefonts@ function, no longer needed after changes in + math accent handling. + +---Got rid of the special trap for '^x that had been carried over from +AMS-TeX. + +---Made \overline, \doteq, \longrightarrow, etc, robust. + +---Changed \relbar to use \std@minus---otherwise \underleftrightarrow +works poorly in a \DeclareMathOperator definition. + +---Use \new@ifnextchar in matrix, pmatrix, cases so that \\<newline>[x] +doesn't trigger an error. + +---Bug fix for nested use of \label inside minipage inside equation. + +---Add minalignsep after every second column in aligned, for consistency +with align. + +======================================================================== +Changes in amsmath 1.2 [January 1995] + +---Name change; relation to the "amsfonts" package + +In version 1.1 of AMS-LaTeX, the name of this package was "amstex". The +new name is "amsmath". The amstex package automatically invoked the +amsfonts package as well; the amsmath package does not. + +---Adapted for LaTeX2e + +Old method of invocation: + + \documentstyle[amstex]{article}% LaTeX 2.09 + +New method of invocation: + + \documentclass{article} + \usepackage{amsmath} + +---Handling of options intlim, nosumlim, nonamelm, righttag, ctagsplt + +Old usage: + + \documentstyle[amstex,righttag,intlim] + +New usage: + + \usepackage[reqno,intlimits]{amsmath} + +Several option names were changed (mainly, they are no longer restricted +to eight characters): + + intlim -> intlimits + nosumlim -> nosumlimits + nonamelm -> nonamelimits + righttag -> reqno [for consistency with "leqno"] + ctagsplt -> centertags + +---Character @ is no longer used as a special command prefix + +Certain commands in the amstex pkg started with "@" instead of "\". This +special usage has been discontinued, except for the amscd package, and +then only within the CD environment. Practically speaking, this means +primarily that it is no longer necessary to use doubled @@ to get a +single printed @ character (e.g., in e-mail addresses). + +---The @, and @! micro-spacing commands are no longer provided + +As a consequence of the @ character change, "@," and "@!" are no longer +recognized spacing commands. An \mspace command is provided that can be +used instead; see the AMSmath User's Guide. + +---Extensible arrow commands @>>> and @<<< + +The commands @>>> and @<<< are no longer available [except in the CD +environment of the amscd package]; alternative commands \xleftarrow and +\xrightarrow are provided by the amsmath package. The sub and +superscripts are given through an optional resp. mandatory argument, for +example + + X\xleftarrow{b}Y % superscript "b" only + X\xrightarrow[\alpha]{\beta}Y % sub alpha, sup beta + +---The command \bold has been superseded by the command \mathbf, as the +latter is now the standard name provided by LaTeX for this purpose. + +---The commands \newsymbol, \frak, \Bbb are no longer available because +the amsfonts package is not loaded by amsmath. In any case those +commands now have new names---\frak -> \mathfrak, \Bbb -> \mathbb, etc. +See the amsfonts documentation for further details. + +---The amsmath package provides \lvert and \rvert to use for vert-bar +symbols when they act as delimiters (compare \langle, \rangle for +angle-bracket delimiters). Commands \lVert and \rVert are likewise +provided instead of \| for paired-delimiter use of the double-vert +symbol. Use of | and \| for paired delimiters can lead to incorrect +spacing in rare cases. Further discussion is found in the AMS-LaTeX +user's guide (amsldoc.tex). + +---The ~ command is now left unchanged by amsmath; the change +that makes it remove a redundant preceding or following space character +is now done only by AMS documentclasses (in version 1.1 this was done by +the amstex package). + +---The following rarely used commands are removed to the amsxtra +package: \accentedsymbol, \sphat, \spcheck, \sptilde, \spdot, \spddot, +\spdddot, \spbreve, \@))), \@(((. + +---The six generalized fraction commands \over, \overwithdelims, \atop, +\atopwithdelims, \above, \abovewithdelims are deprecated and produce +warning messages. Their functionality can be obtained through \frac, +\binom, and \genfrac instead. See amsldoc.tex and technote.tex for +further details. + +---The \fracwithdelims command is gone, as \genfrac provides +equivalent functionality (and a little more). + +---The optional argument of \frac that allowed changing the thickness of +the fraction line is gone. That functionality is now provided only +through \genfrac: the need to change the line thickness is so rare in +practice that it seems better not to burden the ubiquitous \frac command +with the somewhat time-consuming look-ahead process required for an +optional argument. I.e., this change will contribute in a small way to +making your documents run faster. + +---The commands \lcfrac and \rcfrac for left or right alignment of +continued fraction numerators are gone; they are replaced by an optional +argument of the \cfrac command. + +---A new command \DeclareMathOperator is provided for defining new +operator names: + +\DeclareMathOperator{\Tr}{Tr} +\DeclareMathOperator*{\xlim}{x-lim} + +The * form makes the operator name produce limit-style sub and +superscripts, like \max or \lim. This is now the preferred method, +instead of using the old command \operatorname (which is, however, +retained for now). The command \operatornamewithlimits has been renamed +\operatorname*. These commands now can also be obtained through a +separate package amsopn, so it's not necessary to load the entire +amsmath package just to get that feature. + +---Environments "Sb", "Sp" retired. + +The environments Sb and Sp for multiline subscripts have been replaced +by a single command \substack, used as follows: + +\sum_{\substack{first line\\second line}} + +This command can be used equally well in a subscript or superscript, and +provides better vertical positioning (as compared to Sb, Sp) if a +multiline subscript is placed on the side, as perhaps for an integral. +There is also a slightly generalized alternative, an environment +subarray that allows you to specify either centering or left alignment +for the contents: + +\sum_{\begin{subarray}{l}first line\\second line\end{subarray}} + +---New command \nobreakdash + +A command \nobreakdash is provided to suppress the possibility of a +linebreak after the following hyphen or dash. For example, if you write +"$p$\nobreakdash-adic" then a linebreak will never be taken between the +hyphen and the "adic". + +---The placement of equation numbers has been substantially improved for +align, gather, and split. Numbers will now never overlap on top of the +equation body (as far as we can ascertain), and they are much less +likely to be shifted up or down unnecessarily when there is actually +adequate space to leave the number in the normal place. In a few +remaining cases, an equation number will be shifted unnecessarily +because technical complications make accurate measurement of the +available room too difficult; for those cases a \raisetag command is +provided that allows you to manually adjust the vertical position of the +equation number. + +---The [xx]align[at] family of environments has been thoroughly revised: +now the xalignat environment is gone, as its function has been merged +into the align environment (it's no longer necessary to specify how many +side-by-side structures, as was required for xalignat, because align +automatically handles any number of them). Similarly, the xxalignat +environment has been replaced by an environment flalign that doesn't +require you to specify how many side-by-side structures will be needed. +Certain numbering problems (presence of an equation number when it +should be absent, or vice versa) have also been cleared up. + +(Thanks to David M. Jones for his substantial [volunteer] work behind +this change and the preceding one.) + +---The alignedat environment was changed to take two arguments rather +than one: a mandatory argument (as formerly) specifying the number of +align structures, and a new optional one specifying the placement of the +environment (parallel to the optional argument of aligned). However, +aligned is simpler to use, allowing any number of aligned structures +automatically, and therefore the use of alignedat is deprecated. + +---The seldom-used command \oldnos is gone; if you need it, you should +consult the LaTeX documentation on using fonts (e.g., fntguide.tex) to +find out how to construct an equivalent command. + +---A new subequations environment causes all numbered equation +environments within its scope to be numbered (4.9a) (4.9b) (4.9c) etc., +if the preceding numbered equation was 4.8. A \label command immediately +after \begin{subequations} will produce a \ref of the parent number +`4.9', not `4.9a'. The counters used by the subequations environment are +parentequation and equation and standard uses of \addtocounter, +\setcounter, etc., are possible with those counter names. + +---The amsmath package (unlike amstex) respects the setting provided by +the documentclass for putting equation numbers on the right or the left. +[Technical note: a documentclass that has leqno as the default should +explicitly pass that option to the amsmath package with +\PassOptionsToPackage in order for it to be effective.] + +---The fleqn option for left-aligned instead of centered equations is +now supported (thanks to David M. Jones). + +************************************************************************ +The remainder of this file discusses some changes that do not directly +pertain to the amsmath package but to the parent distribution known as +"AMS-LaTeX". + +======================================================================== +Changes in AMS-LaTeX 2.0 + +---The AMS-LaTeX User's Guide (amsldoc.tex) is split up into amsldoc.tex +and amsthdoc.tex, with the latter moving into the "classes" area. + +---The file amslatex.faq was split into amsmath.faq and amsclass.faq. + +---The file amslatex.bug was done away with; most of the information was +merged into diffs-m.txt, diffs-c.txt, amsmath.faq, and amsclass.faq. + +======================================================================== +Changes in AMS-LaTeX 1.2 + +---Adapted for LaTeX2e + +AMS-LaTeX 1.0 and 1.1 were designed to work with LaTeX 2.09, which +became obsolete in 1994 with the appearance of "LaTeX2e". AMS-LaTeX 1.2 +has been extensively adapted to take advantage of various features of +LaTeX2e. It is no longer a separate TeX format---i.e., it does not need +to be invoked by a separate "amslatex" command. + +---LaTeX 2.09 font commands (\bf, \it, etc) + +Pre-existing documents will for the most part continue to work fine +without requiring any changes. However, depending on the installation +options used for your copy of AMS-LaTeX 1.1 you may need to update the +options list of the \documentstyle command by adding newlfont, for +example: + + \documentstyle[newlfont]{amsart} + +---The packages amsfonts, amssymb were moved to the AMSFonts +distribution. They used to be included in the AMS-LaTeX distribution for +pragmatic reasons but their natural home is with the AMSFonts +distribution. + +---Package amstex renamed to amsmath + +The amstex package has been renamed amsmath. The old name `amstex' came +from the fact that version 1.0 was a more or less straight port into +LaTeX of selected portions from the macro package AmS-TeX written by +Michael Spivak, but the historical origins of the package are likely of +less interest to the general usership---especially looking to the +future---than a straightforward declaration in the name `amsmath' of the +sort of features that are provided. + +Another important reason for the name change was to make possible some +progress that would be out of the question (because of the impact on +existing documents) if the name `amstex' were retained. For example, +unlike amstex, amsmath doesn't automatically load the amsfonts package, +as that package was moved out to the AMSFonts distribution as described +above. If this change were not accompanied by a name change, many +existing documents would have to be updated by hand (adding +\usepackage{amsfonts}) in order to run without error. A frozen version +of amstex.sty is provided for processing pre-existing documents; it +won't have active maintainence henceforth except for bug fixes. For new +documents, authors should use the amsmath package. + +Therefore, "\usepackage{amstex}" is incorrect usage---do not rely on the +1994 edition of `The LaTeX Companion' in this respect (unless you obtain +the errata for Chapter 8). + +---New documentclass amsproc + +A new documentclass amsproc was added for collections of articles, such as +the proceedings of a conference. diff --git a/Master/texmf-dist/doc/latex-dev/amsmath/manifest.txt b/Master/texmf-dist/doc/latex-dev/amsmath/manifest.txt new file mode 100644 index 00000000000..ee6b8e3238d --- /dev/null +++ b/Master/texmf-dist/doc/latex-dev/amsmath/manifest.txt @@ -0,0 +1,32 @@ +README.txt +amsbsy.dtx +amsbsy.ins +amsbsy.pdf +amscd.dtx +amscd.ins +amscd.pdf +amsgen.dtx +amsgen.ins +amsgen.pdf +amsldoc.pdf +amsldoc.tex +amsmath.dtx +amsmath.ins +amsmath.pdf +amsopn.dtx +amsopn.ins +amsopn.pdf +amstex.sty +amstext.dtx +amstext.ins +amstext.pdf +amsxtra.dtx +amsxtra.ins +amsxtra.pdf +diffs-m.txt +subeqn.pdf +subeqn.tex +technote.pdf +technote.tex +testmath.pdf +testmath.tex diff --git a/Master/texmf-dist/doc/latex-dev/amsmath/subeqn.pdf b/Master/texmf-dist/doc/latex-dev/amsmath/subeqn.pdf Binary files differnew file mode 100644 index 00000000000..2e84ebe9422 --- /dev/null +++ b/Master/texmf-dist/doc/latex-dev/amsmath/subeqn.pdf diff --git a/Master/texmf-dist/doc/latex-dev/amsmath/subeqn.tex b/Master/texmf-dist/doc/latex-dev/amsmath/subeqn.tex new file mode 100644 index 00000000000..c34b3f6952a --- /dev/null +++ b/Master/texmf-dist/doc/latex-dev/amsmath/subeqn.tex @@ -0,0 +1,202 @@ +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "subeqn.tex", +%%% version = "1.2c", +%%% date = "1999/11/29", +%%% time = "14:49:29 EST", +%%% checksum = "29866 202 668 6426", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 1999 American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Electronic Products and Services, +%%% P. O. Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% email = "tech-support@ams.org (Internet)", +%%% supported = "yes", +%%% keywords = "latex, amslatex, ams-latex, amstex", +%%% abstract = "This is part of the AMS-\LaTeX{} distribution. +%%% It is a sample document illustrating the use of +%%% the subequations environment and the effect of +%%% the fleqn option.", +%%% docstring = "The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== +\documentclass[fleqn]{article} + +\title{Test of subequations environment} +\author{mjd} + +\usepackage{amsmath} +\numberwithin{equation}{section} + +\newcommand{\env}[1]{{\normalfont\texttt{#1}}} + +\AtEndDocument{\multipasswarning} +\newcommand{\multipasswarning}{% + \clearpage + \typeout{% + **********************************************************************} + \typeout{% + Note: This document needs to run through LaTeX three times, instead of} + \typeout{% + the usual two, to resolve indirect cross-references.} + \typeout{% + **********************************************************************} +} + +\makeatletter +% Omit the warning message if three passes have been completed (on +% first pass \ref{check} is undefined and it is set to 0; on second +% pass \ref{check} is 0 and set to 1; on third pass it is 1). +\def\checkref{\begingroup + \@ifundefined{r@check}{\let\r@check\relax\def\@currentlabel{0}}{\def\@currentlabel{1}}% + \ifnum1=0\expandafter\@firstoftwo\r@check\relax + \global\let\multipasswarning\relax + \fi + \label{check}% + \endgroup} +\makeatother + +\begin{document} +\section{Prime equation numbers} + +First an equation. +\begin{equation}\label{e:previous} +A=B +\end{equation} +That was equation \eqref{e:previous}. + +Then the same, with a prime on the number.\checkref +\begin{equation} +\tag{\ref{e:previous}$'$}\label{e:prevprime} +C=D +\end{equation} +And that was equation \eqref{e:prevprime}. + +Notice, by the way, that when a \verb"\ref" occurs inside a \verb"\tag", +and that \verb"\tag" is then \verb"\label"'d, a \verb"\ref" for the the +second \verb"\label" requires \emph{three} runs of \LaTeX{} in order to +get the proper value. (If you run through the logic of \LaTeX{}'s +cross-referencing mechanisms as they apply in this case, you will see +that this is necessary.) + +\section{Subnumbered equations} + +Here is a,b,c sub-numbering. +\begin{subequations} +\begin{eqnarray} +A&=&B\\ +D&=&C \label{e:middle}\\ +E&=&F +\end{eqnarray} +\end{subequations} +That was produced with the \env{eqnarray} environment; the middle line +was labeled as \eqref{e:middle}. + +An equation following the end of the \verb"subequations" environment +should revert to normal numbering: +\begin{equation}\label{e:check} +H<K +\end{equation} +A check on the labeling: that was equation~\eqref{e:check}. + +The sub-numbered equations can be spread out through the text, like +this: +\begin{subequations} +\begin{equation} +A=B +\end{equation} +The \verb"subequations" environment can span arbitrary text between +subsidiary equations. The only restriction is that if there are any +numbered equations inside the \verb"subequations" environment that break +out of the subequation numbering sequence, they would have to be handled +specially. +\begin{equation} +D=C \label{e:newmiddle} +\end{equation} +More arbitrary text. +\begin{equation} +E=F +\end{equation} +\end{subequations} +Label check: the middle one was \eqref{e:newmiddle} + +A final equation for a numbering check. +\begin{equation}\label{e:final} +G=H +\end{equation} +That equation was labeled as \eqref{e:final}. + +\section{Tests of \env{align}, \env{gather}, and other +AMS-\protect\LaTeX{} environments} + +The \env{align} environment: +\begin{subequations} +\begin{align} +\label{align:a}A+B&=B+A\\ +\label{align:b}C&=D+E\\ +\label{align:c}E&=F +\end{align} +\end{subequations} +Label check: that was \eqref{align:a}, \eqref{align:b}, and +\eqref{align:c}. + +The \env{align} environment again: +\begin{subequations} +\begin{align} +\label{xalign:a}A+B&=B& B&=B+A\\ +\label{xalign:b}C&=D+E& C\oplus D&=E\\ +\label{xalign:c}E&=F& E'&=F' +\end{align} +\end{subequations} +Label check: that was \eqref{xalign:a}, \eqref{xalign:b}, and +\eqref{xalign:c}. + +The \env{gather} environment. For the third line we refer to one of the +numbers in the first \env{align} structure. +\begin{subequations} +\begin{gather} +\label{gather:a}A+B=B\\ +\label{gather:b}C=D+E\\ +\tag{\ref{align:c}$'$}\label{gather:c}E=F +\end{gather} +\end{subequations} +Label check: that was \eqref{gather:a}, +\eqref{gather:b}, and +\eqref{gather:c}. + +The next \env{subequations} environment encompasses two separate +equations. A \env{split} environment: +\begin{subequations} +\begin{equation} +\label{split:x} +\begin{split} +A&=B+C+F\\ +&=G +\end{split} +\end{equation} +and a \env{multline} environment: +\begin{multline}\label{multline:x} +A[B]C[D]E[F]G[[H[I]J[K]L[M]N]]=\\ +H[I]J[K]L[M]N[O]P[Q]R[S]T[U]V[W]X[Y]Z +\end{multline} +\end{subequations} +Label check: That was \eqref{split:x} and \eqref{multline:x}. + +\end{document} diff --git a/Master/texmf-dist/doc/latex-dev/amsmath/technote.pdf b/Master/texmf-dist/doc/latex-dev/amsmath/technote.pdf Binary files differnew file mode 100644 index 00000000000..7d7ab397c86 --- /dev/null +++ b/Master/texmf-dist/doc/latex-dev/amsmath/technote.pdf diff --git a/Master/texmf-dist/doc/latex-dev/amsmath/technote.tex b/Master/texmf-dist/doc/latex-dev/amsmath/technote.tex new file mode 100644 index 00000000000..aede450621e --- /dev/null +++ b/Master/texmf-dist/doc/latex-dev/amsmath/technote.tex @@ -0,0 +1,233 @@ +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "technote.tex", +%%% version = "2.0", +%%% date = "1999/11/15", +%%% time = "15:07:20 EST", +%%% checksum = "58506 233 1647 12005", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 1995, 1999 American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Electronic Products and Services, +%%% P. O. Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% email = "tech-support@ams.org (Internet)", +%%% supported = "yes", +%%% keywords = "amsmath, latex", +%%% abstract = "This is part of the AMS-\LaTeX{} distribution. It +%%% is a document discussing some technical issues in the +%%% contents and interface of AMS-\LaTeX{} packages." +%%% docstring = "The checksum field above contains a CRC-16 checksum +%%% as the first value, followed by the equivalent of +%%% the standard UNIX wc (word count) utility output of +%%% lines, words, and characters. This is produced by +%%% Robert Solovay's checksum utility.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX) +[1994/12/01]% LaTeX date must December 1994 or later +\documentclass{amsdtx} + +\title{Technical notes on the \pkg{amsmath} package} +\author{American Mathematical Society\\Michael Downes} +\date{1999/10/29} + +\markboth + {Technical notes on the \pkg{amsmath} package} + {Technical notes on the \pkg{amsmath} package} +\renewcommand{\sectionmark}[1]{} + +\providecommand{\etc}[1]{etc.} + +\providecommand{\begend}[1]{% + {\ntt \symbol{92}begin\symbol{123}#1\symbol{125}} + \ldots\ {\ntt\symbol{92}end\symbol{123}#1\symbol{125}}% +} + +\MakeShortVerb{\|} + +\begin{document} +\maketitle + +\section{Introduction} + +These notes are miscellaneous remarks on some technical questions +applicable to version 2.0 of \amslatex/. + +\section{Deprecated and disallowed commands} + +Certain commands that were in the \pkg{amstex} package (the predecessor, +in \amslatex/ 1.0 and 1.1, of the \pkg{amsmath} package) were moved into +\pkg{amsxtra} because they seemed to be little-used relics: +\cn{accentedsymbol}, \qq{sup accents} (\cn{sptilde}, \cn{sphat}, etc.). + +Certain other commands\mdash e.g., \cn{over}, \cn{pmatrix}, and +\cn{cases}\mdash are changed by the \pkg{amsmath} package to produce +warning messages or error messages, depending on their history; these +are discussed in more detail in the following sections. + +\section{Why do \cn{matrix}, \cn{pmatrix}, and \cn{cases} stop working +when I add the \pkg{amsmath} package?} + +If you used the \fn{plain.tex} versions of \cn{matrix}, \cn{pmatrix}, or +\cn{cases} in a document and then later converted the document to use +the \pkg{amsmath} package (or one of the AMS documentclasses, which +automatically call the \pkg{amsmath} package internally), the instances +of those commands will produce error messages. The problem is that when +\latex/ was originally created, it adopted most of its mathematics +features straight from \fn{plain.tex}. But in the case of \cn{matrix}, +\cn{pmatrix}, \cn{cases} this was a mistake\mdash the \fn{plain.tex} +syntax for them is decidedly non-\latex/ in style, for example the fact +that they use \cs{cr} instead of \cn{\\} to mark line breaks, and they +don't use \cn{begin} and \cn{end}. In basic \latex/ this mistake will be +perpetuated at least until \latex/3 appears, in order to avoid breaking +existing documents. But no existing documents that were written with the +\pkg{amsmath} package have that syntactic problem, as \pkg{amsmath} +provides proper \latex/-syntax versions of \cn{matrix} and the others. +The possibility of optionally allowing the \fn{plain.tex} variants to +make document conversion easier seems ill-advised since those variants +are so blatantly wrong in a \latex/ context. The \env{array} environment +ought to have been used instead. + +\section{Why do \cn{over}, \cn{atop}, \cn{above} [\dots{\ntt withdelims}] + give a warning when I add the \pkg{amsmath} package?} + +Using the six generalized fraction commands \cn{over}, +\cn{overwithdelims}, \cn{atop}, \cn{atopwithdelims}, \cn{above}, +\cn{abovewithdelims} is not really a good idea in \latex/, for reasons +explained below. I construe \latex/'s provision of \cs{frac}, and the +lack of any mention in the \latex/ book of the primitive fraction +commands, as an implicit injunction against their use, although I don't +think Lamport actually spent a lot of time pondering the issue, and the +basic \latex/ version of \cn{frac} provides access only to \cn{over}, +not to \cn{atop}, \cn{above}, or the \verb'withdelims' variants. The +\pkg{amsmath} package, however, provides a \cn{genfrac} command that +gives user-level access to all six of the generalized fraction +primitives in a way that conforms to the syntactic conventions followed +by all other \latex/ commands. + +Not only is the unusual syntax of the \tex/ primitives rather out of +place in \latex/, but furthermore that syntax seems to be responsible +for one of the most significant flaws in \tex/'s mathematical +typesetting capabilities: the fact that the current mathstyle at any +given point in a math formula cannot be determined until the end of the +formula, because of the possibility that a following generalized +fraction command will change the mathstyle of the \emph{preceding} +material. To cite two of the worst side effects: \cn{mathchoice} must +actually typeset all four of its arguments, instead of being able to +immediately select only one; and, were it possible to always know the +current math style at a given point, math font selection would be +greatly simplified and the upper limit of 16 different math font +\cn{fam}s would never be a problem as \cn{text,script[script]font} +assignments for any \cn{fam} could take immediate effect and therefore +could be changed arbitrarily often within a single formula. More +concretely, math font selection difficulties are responsible for many of +the more convoluted passages in the source code of \latex/'s NFSS (that +does font loading on demand) and of the \pkg{amsmath} package, and by +extension it has historically been responsible for significant delays in +making new features available to end users and for making those features +more prone to bugs. + +There are additional bad consequences following from the syntax of those +generalized fraction commands that only become evident when you do some +writing of nontrivial macros for math use. For example, as things +currently stand you cannot measure the size of any object in math +without going through \cn{mathchoice} and \emph{leaving and reentering +math mode} via \verb'\hbox{$' (which then introduces complications +regarding \cn{everymath} and \cn{mathsurround}). And it seems that +uncertainty about the current mathstyle is the only barrier to allowing +the use of mu units with \cn{vrule}, to make vertical struts in +constructing compound symbols or notation. And so on and so forth. + +\section{The \opt{fleqn} option and \cn{mathindent}} + +Strictly speaking, the \pkg{amsmath} package doesn't use \cn{mathindent} +to control the left indent of displayed equations when the \opt{fleqn} +option is in effect: it uses an internal parameter \cs{@mathmargin} +instead. However, for compatibility with existing \latex/ documentation, +\pkg{amsmath} turns \cn{mathindent} into an alias for \cs{@mathmargin}. +There is a small risk here: In the plain \latex/ implementation, +\cn{mathindent} is a dimen register, but with \pkg{amsmath} +\cs{@mathmargin} is a skip register and, by association, so is +\cn{mathindent}. If any package or documentclass uses \cn{mathindent} in +a way that depends on it being a dimen register, when used in +conjunction with the \pkg{amsmath} package it may be vulnerable to a +well-known pitfall having to do with the primitive \tex/ lookahead for a +\texttt{plus} or \texttt{minus} key word. However if the standard +\latex/ commands \cn{setlength} and \cn{addtolength} are used to modify +\cn{mathindent} then this problem will not arise. + +\section{Why can't I use abbreviations for \protect\begend{align}?} + +Authors often like to use abbreviations such as |\beq| |\eeq| for +|\begin{equation}| |\end{equation}|. For some environments defined by +the \pkg{amsmath} package, such as \env{align}, \env{gather}, +\env{multline}, and others of the same general type, this does not work: +An attempt to define |\bal| |\eal| as shorthand for |\begin{align}| +|\end{align}| will fail with a puzzling error message. This has to do +with unfortunately nontrivial technical complications: the given +environments must read their contents as a delimited macro argument +because they do multipass processing of the contents using algorithms +inherited from Spivak's \fn{amstex.tex}. The obvious +solution\mdash substitution of different algorithms that do box shuffling +instead of token shuffling for the multipass calculations\mdash would +require rewriting these display environments from the ground up; while +that is a worthy goal, it was beyond the original scope of the +\amslatex/ project. Work is under way on an auxiliary package called +\pkg{breqn} that addresses not only this problem but a number of others; +at the time of this writing, however [September 1999] it has only +progressed as far as a beta release. + +Some workarounds: +\begin{itemize} +\item |\def\bal#1\eal{\begin{align}#1\end{align}}| +\item Define |\newcommand{\env}[2]{\begin{#1}#2\end{#1}}| and then use + |\env{align}{...}| +\end{itemize} + +\section{The \pkg{upref} package} + +The reason for splitting out the \pkg{upref} package instead of +automatically incorporating it in the \cls{amsart} and \cls{amsbook} +classes is this: It involves low-level surgery on an important \latex/ +command. This means that if ever this command changes in the future (as +it did between versions 2.09 and 2e of \latex/) we have a maintenance +problem. And the benefit that \pkg{upref} provides is something that +most end users don't care much about. + +\section{The \pkg{amsintx} package} + +After a very preliminary trial release the \pkg{amsintx} package was +withdrawn to await further development. It is still considered a worthy +project but has simply not yet made it to the head of the priority queue +in the AMS \latex/ development program, as it has had to contend with a +number of other equally worthy projects for development time. + +\section{Hyphenation in the documentation} + +Hyphenation was allowed for certain long command names in +\fn{amsldoc.tex}; this presented technical difficulties because \latex/ +normally deactivates hyphenation for tt fonts. The method chosen to +reinstate hyphenation was to turn off the encoding-specific function +\cs{OT1+cmtt} that disables the \cs{hyphenchar} for tt fonts; see the +definition of \cn{allowtthyphens} in \fn{amsdtx.dtx}. Then a list of all +tt words in the document was gathered (from the \fn{.idx} file, produced +by the \cn{cn}, \cn{fn}, \cn{pkg}, etc. commands) and \cn{showhyphens} +was applied to this list. The result was another list in the resulting +\tex/ log, containing those words in a form suitable for the argument of +\cn{hyphenation}. That list was then edited by hand to overrule +undesirable hyphenations; words with acceptable hyphenations were +dropped from the list, as they don't need to be repeated there. + +\end{document} diff --git a/Master/texmf-dist/doc/latex-dev/amsmath/testmath.pdf b/Master/texmf-dist/doc/latex-dev/amsmath/testmath.pdf Binary files differnew file mode 100644 index 00000000000..d97ff85f73b --- /dev/null +++ b/Master/texmf-dist/doc/latex-dev/amsmath/testmath.pdf diff --git a/Master/texmf-dist/doc/latex-dev/amsmath/testmath.tex b/Master/texmf-dist/doc/latex-dev/amsmath/testmath.tex new file mode 100644 index 00000000000..069944ee9d0 --- /dev/null +++ b/Master/texmf-dist/doc/latex-dev/amsmath/testmath.tex @@ -0,0 +1,2342 @@ +%%% ==================================================================== +%%% @LaTeX-file{ +%%% filename = "testmath.tex", +%%% version = "2.0", +%%% date = "1999/11/15", +%%% time = "15:09:17 EST", +%%% checksum = "07762 2342 7811 82371", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 1995, 1999 American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Electronic Products and Services, +%%% P. O. Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% email = "tech-support@ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "latex, amsmath, examples, documentation", +%%% supported = "yes", +%%% abstract = "This is a test file containing extensive examples of +%%% mathematical constructs supported by the amsmath +%%% package.", +%%% docstring = "The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== +\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX) +[1994/12/01]% LaTeX date must December 1994 or later +\documentclass[draft]{article} +\pagestyle{headings} + +\title{Sample Paper for the \pkg{amsmath} Package\\ +File name: \fn{testmath.tex}} +\author{American Mathematical Society} +\date{Version 2.0, 1999/11/15} + +\usepackage{amsmath,amsthm} + +% Some definitions useful in producing this sort of documentation: +\chardef\bslash=`\\ % p. 424, TeXbook +% Normalized (nonbold, nonitalic) tt font, to avoid font +% substitution warning messages if tt is used inside section +% headings and other places where odd font combinations might +% result. +\newcommand{\ntt}{\normalfont\ttfamily} +% command name +\newcommand{\cn}[1]{{\protect\ntt\bslash#1}} +% LaTeX package name +\newcommand{\pkg}[1]{{\protect\ntt#1}} +% File name +\newcommand{\fn}[1]{{\protect\ntt#1}} +% environment name +\newcommand{\env}[1]{{\protect\ntt#1}} +\hfuzz1pc % Don't bother to report overfull boxes if overage is < 1pc + +% Theorem environments + +%% \theoremstyle{plain} %% This is the default +\newtheorem{thm}{Theorem}[section] +\newtheorem{cor}[thm]{Corollary} +\newtheorem{lem}[thm]{Lemma} +\newtheorem{prop}[thm]{Proposition} +\newtheorem{ax}{Axiom} + +\theoremstyle{definition} +\newtheorem{defn}{Definition}[section] + +\theoremstyle{remark} +\newtheorem{rem}{Remark}[section] +\newtheorem*{notation}{Notation} + +%\numberwithin{equation}{section} + +\newcommand{\thmref}[1]{Theorem~\ref{#1}} +\newcommand{\secref}[1]{\S\ref{#1}} +\newcommand{\lemref}[1]{Lemma~\ref{#1}} + +\newcommand{\bysame}{\mbox{\rule{3em}{.4pt}}\,} + +% Math definitions + +\newcommand{\A}{\mathcal{A}} +\newcommand{\B}{\mathcal{B}} +\newcommand{\st}{\sigma} +\newcommand{\XcY}{{(X,Y)}} +\newcommand{\SX}{{S_X}} +\newcommand{\SY}{{S_Y}} +\newcommand{\SXY}{{S_{X,Y}}} +\newcommand{\SXgYy}{{S_{X|Y}(y)}} +\newcommand{\Cw}[1]{{\hat C_#1(X|Y)}} +\newcommand{\G}{{G(X|Y)}} +\newcommand{\PY}{{P_{\mathcal{Y}}}} +\newcommand{\X}{\mathcal{X}} +\newcommand{\wt}{\widetilde} +\newcommand{\wh}{\widehat} + +\DeclareMathOperator{\per}{per} +\DeclareMathOperator{\cov}{cov} +\DeclareMathOperator{\non}{non} +\DeclareMathOperator{\cf}{cf} +\DeclareMathOperator{\add}{add} +\DeclareMathOperator{\Cham}{Cham} +\DeclareMathOperator{\IM}{Im} +\DeclareMathOperator{\esssup}{ess\,sup} +\DeclareMathOperator{\meas}{meas} +\DeclareMathOperator{\seg}{seg} + +% \interval is used to provide better spacing after a [ that +% is used as a closing delimiter. +\newcommand{\interval}[1]{\mathinner{#1}} + +% Notation for an expression evaluated at a particular condition. The +% optional argument can be used to override automatic sizing of the +% right vert bar, e.g. \eval[\biggr]{...}_{...} +\newcommand{\eval}[2][\right]{\relax + \ifx#1\right\relax \left.\fi#2#1\rvert} + +% Enclose the argument in vert-bar delimiters: +\newcommand{\envert}[1]{\left\lvert#1\right\rvert} +\let\abs=\envert + +% Enclose the argument in double-vert-bar delimiters: +\newcommand{\enVert}[1]{\left\lVert#1\right\rVert} +\let\norm=\enVert + +\begin{document} +\maketitle +\markboth{Sample paper for the {\protect\ntt\lowercase{amsmath}} package} +{Sample paper for the {\protect\ntt\lowercase{amsmath}} package} +\renewcommand{\sectionmark}[1]{} + +\section{Introduction} + +This paper contains examples of various features from \AmS-\LaTeX{}. + +\section{Enumeration of Hamiltonian paths in a graph} + +Let $\mathbf{A}=(a_{ij})$ be the adjacency matrix of graph $G$. The +corresponding Kirchhoff matrix $\mathbf{K}=(k_{ij})$ is obtained from +$\mathbf{A}$ by replacing in $-\mathbf{A}$ each diagonal entry by the +degree of its corresponding vertex; i.e., the $i$th diagonal entry is +identified with the degree of the $i$th vertex. It is well known that +\begin{equation} +\det\mathbf{K}(i|i)=\text{ the number of spanning trees of $G$}, +\quad i=1,\dots,n +\end{equation} +where $\mathbf{K}(i|i)$ is the $i$th principal submatrix of +$\mathbf{K}$. +\begin{verbatim} +\det\mathbf{K}(i|i)=\text{ the number of spanning trees of $G$}, +\end{verbatim} + +Let $C_{i(j)}$ be the set of graphs obtained from $G$ by attaching edge +$(v_iv_j)$ to each spanning tree of $G$. Denote by $C_i=\bigcup_j +C_{i(j)}$. It is obvious that the collection of Hamiltonian cycles is a +subset of $C_i$. Note that the cardinality of $C_i$ is $k_{ii}\det +\mathbf{K}(i|i)$. Let $\wh X=\{\hat x_1,\dots,\hat x_n\}$. +\begin{verbatim} +$\wh X=\{\hat x_1,\dots,\hat x_n\}$ +\end{verbatim} +Define multiplication for the elements of $\wh X$ by +\begin{equation}\label{multdef} +\hat x_i\hat x_j=\hat x_j\hat x_i,\quad \hat x^2_i=0,\quad +i,j=1,\dots,n. +\end{equation} +Let $\hat k_{ij}=k_{ij}\hat x_j$ and $\hat k_{ij}=-\sum_{j\not=i} \hat +k_{ij}$. Then the number of Hamiltonian cycles $H_c$ is given by the +relation \cite{liuchow:formalsum} +\begin{equation}\label{H-cycles} +\biggl(\prod^n_{\,j=1}\hat x_j\biggr)H_c=\frac{1}{2}\hat k_{ij}\det +\wh{\mathbf{K}}(i|i),\qquad i=1,\dots,n. +\end{equation} +The task here is to express \eqref{H-cycles} +in a form free of any $\hat x_i$, +$i=1,\dots,n$. The result also leads to the resolution of enumeration of +Hamiltonian paths in a graph. + +It is well known that the enumeration of Hamiltonian cycles and paths in +a complete graph $K_n$ and in a complete bipartite graph $K_{n_1n_2}$ +can only be found from \textit{first combinatorial principles} +\cite{hapa:graphenum}. One wonders if there exists a formula which can +be used very efficiently to produce $K_n$ and $K_{n_1n_2}$. Recently, +using Lagrangian methods, Goulden and Jackson have shown that $H_c$ can +be expressed in terms of the determinant and permanent of the adjacency +matrix \cite{gouja:lagrmeth}. However, the formula of Goulden and +Jackson determines neither $K_n$ nor $K_{n_1n_2}$ effectively. In this +paper, using an algebraic method, we parametrize the adjacency matrix. +The resulting formula also involves the determinant and permanent, but +it can easily be applied to $K_n$ and $K_{n_1n_2}$. In addition, we +eliminate the permanent from $H_c$ and show that $H_c$ can be +represented by a determinantal function of multivariables, each variable +with domain $\{0,1\}$. Furthermore, we show that $H_c$ can be written by +number of spanning trees of subgraphs. Finally, we apply the formulas to +a complete multigraph $K_{n_1\dots n_p}$. + +The conditions $a_{ij}=a_{ji}$, $i,j=1,\dots,n$, are not required in +this paper. All formulas can be extended to a digraph simply by +multiplying $H_c$ by 2. + +\section{Main Theorem} +\label{s:mt} + +\begin{notation} For $p,q\in P$ and $n\in\omega$ we write +$(q,n)\le(p,n)$ if $q\le p$ and $A_{q,n}=A_{p,n}$. +\begin{verbatim} +\begin{notation} For $p,q\in P$ and $n\in\omega$ +... +\end{notation} +\end{verbatim} +\end{notation} + +Let $\mathbf{B}=(b_{ij})$ be an $n\times n$ matrix. Let $\mathbf{n}=\{1, +\dots,n\}$. Using the properties of \eqref{multdef}, it is readily seen +that + +\begin{lem}\label{lem-per} +\begin{equation} +\prod_{i\in\mathbf{n}} +\biggl(\sum_{\,j\in\mathbf{n}}b_{ij}\hat x_i\biggr) +=\biggl(\prod_{\,i\in\mathbf{n}}\hat x_i\biggr)\per \mathbf{B} +\end{equation} +where $\per \mathbf{B}$ is the permanent of $\mathbf{B}$. +\end{lem} + +Let $\wh Y=\{\hat y_1,\dots,\hat y_n\}$. Define multiplication +for the elements of $\wh Y$ by +\begin{equation} +\hat y_i\hat y_j+\hat y_j\hat y_i=0,\quad i,j=1,\dots,n. +\end{equation} +Then, it follows that +\begin{lem}\label{lem-det} +\begin{equation}\label{detprod} +\prod_{i\in\mathbf{n}} +\biggl(\sum_{\,j\in\mathbf{n}}b_{ij}\hat y_j\biggr) +=\biggl(\prod_{\,i\in\mathbf{n}}\hat y_i\biggr)\det\mathbf{B}. +\end{equation} +\end{lem} + +Note that all basic properties of determinants are direct consequences +of Lemma ~\ref{lem-det}. Write +\begin{equation}\label{sum-bij} +\sum_{j\in\mathbf{n}}b_{ij}\hat y_j=\sum_{j\in\mathbf{n}}b^{(\lambda)} +_{ij}\hat y_j+(b_{ii}-\lambda_i)\hat y_i\hat y +\end{equation} +where +\begin{equation} +b^{(\lambda)}_{ii}=\lambda_i,\quad b^{(\lambda)}_{ij}=b_{ij}, +\quad i\not=j. +\end{equation} +Let $\mathbf{B}^{(\lambda)}=(b^{(\lambda)}_{ij})$. By \eqref{detprod} +and \eqref{sum-bij}, it is +straightforward to show the following +result: +\begin{thm}\label{thm-main} +\begin{equation}\label{detB} +\det\mathbf{B}= +\sum^n_{l =0}\sum_{I_l \subseteq n} +\prod_{i\in I_l}(b_{ii}-\lambda_i) +\det\mathbf{B}^{(\lambda)}(I_l |I_l ), +\end{equation} +where $I_l =\{i_1,\dots,i_l \}$ and $\mathbf{B}^{(\lambda)}(I_l |I_l )$ +is the principal submatrix obtained from $\mathbf{B}^{(\lambda)}$ +by deleting its $i_1,\dots,i_l $ rows and columns. +\end{thm} + +\begin{rem} +Let $\mathbf{M}$ be an $n\times n$ matrix. The convention +$\mathbf{M}(\mathbf{n}|\mathbf{n})=1$ has been used in \eqref{detB} and +hereafter. +\end{rem} + +Before proceeding with our discussion, we pause to note that +\thmref{thm-main} yields immediately a fundamental formula which can be +used to compute the coefficients of a characteristic polynomial +\cite{mami:matrixth}: +\begin{cor}\label{BI} +Write $\det(\mathbf{B}-x\mathbf{I})=\sum^n_{l =0}(-1) +^l b_l x^l $. Then +\begin{equation}\label{bl-sum} +b_l =\sum_{I_l \subseteq\mathbf{n}}\det\mathbf{B}(I_l |I_l ). +\end{equation} +\end{cor} +Let +\begin{equation} +\mathbf{K}(t,t_1,\dots,t_n) +=\begin{pmatrix} D_1t&-a_{12}t_2&\dots&-a_{1n}t_n\\ +-a_{21}t_1&D_2t&\dots&-a_{2n}t_n\\ +\hdotsfor[2]{4}\\ +-a_{n1}t_1&-a_{n2}t_2&\dots&D_nt\end{pmatrix}, +\end{equation} +\begin{verbatim} +\begin{pmatrix} D_1t&-a_{12}t_2&\dots&-a_{1n}t_n\\ +-a_{21}t_1&D_2t&\dots&-a_{2n}t_n\\ +\hdotsfor[2]{4}\\ +-a_{n1}t_1&-a_{n2}t_2&\dots&D_nt\end{pmatrix} +\end{verbatim} +where +\begin{equation} +D_i=\sum_{j\in\mathbf{n}}a_{ij}t_j,\quad i=1,\dots,n. +\end{equation} + +Set +\begin{equation*} +D(t_1,\dots,t_n)=\frac{\delta}{\delta t}\eval{\det\mathbf{K}(t,t_1,\dots,t_n) +}_{t=1}. +\end{equation*} +Then +\begin{equation}\label{sum-Di} +D(t_1,\dots,t_n) +=\sum_{i\in\mathbf{n}}D_i\det\mathbf{K}(t=1,t_1,\dots,t_n; i|i), +\end{equation} +where $\mathbf{K}(t=1,t_1,\dots,t_n; i|i)$ is the $i$th principal +submatrix of $\mathbf{K}(t=1,t_1,\dots,t_n)$. + +Theorem ~\ref{thm-main} leads to +\begin{equation}\label{detK1} +\det\mathbf{K}(t_1,t_1,\dots,t_n) +=\sum_{I\in\mathbf{n}}(-1)^{\envert{I}}t^{n-\envert{I}} +\prod_{i\in I}t_i\prod_{j\in I}(D_j+\lambda_jt_j)\det\mathbf{A} +^{(\lambda t)}(\overline{I}|\overline I). +\end{equation} +Note that +\begin{equation}\label{detK2} +\det\mathbf{K}(t=1,t_1,\dots,t_n)=\sum_{I\in\mathbf{n}}(-1)^{\envert{I}} +\prod_{i\in I}t_i\prod_{j\in I}(D_j+\lambda_jt_j)\det\mathbf{A} +^{(\lambda)}(\overline{I}|\overline{I})=0. +\end{equation} + +Let $t_i=\hat x_i,i=1,\dots,n$. Lemma ~\ref{lem-per} yields +\begin{multline} +\biggl(\sum_{\,i\in\mathbf{n}}a_{l _i}x_i\biggr) +\det\mathbf{K}(t=1,x_1,\dots,x_n;l |l )\\ +=\biggl(\prod_{\,i\in\mathbf{n}}\hat x_i\biggr) +\sum_{I\subseteq\mathbf{n}-\{l \}} +(-1)^{\envert{I}}\per\mathbf{A}^{(\lambda)}(I|I) +\det\mathbf{A}^{(\lambda)} +(\overline I\cup\{l \}|\overline I\cup\{l \}). +\label{sum-ali} +\end{multline} +\begin{verbatim} +\begin{multline} +\biggl(\sum_{\,i\in\mathbf{n}}a_{l _i}x_i\biggr) +\det\mathbf{K}(t=1,x_1,\dots,x_n;l |l )\\ +=\biggl(\prod_{\,i\in\mathbf{n}}\hat x_i\biggr) +\sum_{I\subseteq\mathbf{n}-\{l \}} +(-1)^{\envert{I}}\per\mathbf{A}^{(\lambda)}(I|I) +\det\mathbf{A}^{(\lambda)} +(\overline I\cup\{l \}|\overline I\cup\{l \}). +\label{sum-ali} +\end{multline} +\end{verbatim} + +By \eqref{H-cycles}, \eqref{detprod}, and \eqref{sum-bij}, we have +\begin{prop}\label{prop:eg} +\begin{equation} +H_c=\frac1{2n}\sum^n_{l =0}(-1)^{l} +D_{l}, +\end{equation} +where +\begin{equation}\label{delta-l} +D_{l}=\eval[2]{\sum_{I_{l}\subseteq \mathbf{n}} +D(t_1,\dots,t_n)}_{t_i=\left\{\begin{smallmatrix} +0,& \text{if }i\in I_{l}\quad\\% \quad added for centering +1,& \text{otherwise}\end{smallmatrix}\right.\;,\;\; i=1,\dots,n}. +\end{equation} +\end{prop} + +\section{Application} +\label{lincomp} + +We consider here the applications of Theorems~\ref{th-info-ow-ow} and +~\ref{th-weak-ske-owf} to a complete +multipartite graph $K_{n_1\dots n_p}$. It can be shown that the +number of spanning trees of $K_{n_1\dots n_p}$ +may be written +\begin{equation}\label{e:st} +T=n^{p-2}\prod^p_{i=1} +(n-n_i)^{n_i-1} +\end{equation} +where +\begin{equation} +n=n_1+\dots+n_p. +\end{equation} + +It follows from Theorems~\ref{th-info-ow-ow} and +~\ref{th-weak-ske-owf} that +\begin{equation}\label{e:barwq} +\begin{split} +H_c&=\frac1{2n} +\sum^n_{{l}=0}(-1)^{l}(n-{l})^{p-2} +\sum_{l _1+\dots+l _p=l}\prod^p_{i=1} +\binom{n_i}{l _i}\\ +&\quad\cdot[(n-l )-(n_i-l _i)]^{n_i-l _i}\cdot +\biggl[(n-l )^2-\sum^p_{j=1}(n_i-l _i)^2\biggr].\end{split} +\end{equation} +\begin{verbatim} +... \binom{n_i}{l _i}\\ +\end{verbatim} +and +\begin{equation}\label{joe} +\begin{split} +H_c&=\frac12\sum^{n-1}_{l =0} +(-1)^{l}(n-l )^{p-2} +\sum_{l _1+\dots+l _p=l} +\prod^p_{i=1}\binom{n_i}{l _i}\\ +&\quad\cdot[(n-l )-(n_i-l _i)]^{n_i-l _i} +\left(1-\frac{l _p}{n_p}\right) +[(n-l )-(n_p-l _p)]. +\end{split} +\end{equation} + +The enumeration of $H_c$ in a $K_{n_1\dotsm n_p}$ graph can also be +carried out by Theorem ~\ref{thm-H-param} or ~\ref{thm-asym} +together with the algebraic method of \eqref{multdef}. +Some elegant representations may be obtained. For example, $H_c$ in +a $K_{n_1n_2n_3}$ graph may be written +\begin{equation}\label{j:mark} +\begin{split} +H_c=& +\frac{n_1!\,n_2!\,n_3!} +{n_1+n_2+n_3}\sum_i\left[\binom{n_1}{i} +\binom{n_2}{n_3-n_1+i}\binom{n_3}{n_3-n_2+i}\right.\\ +&+\left.\binom{n_1-1}{i} +\binom{n_2-1}{n_3-n_1+i} +\binom{n_3-1}{n_3-n_2+i}\right].\end{split} +\end{equation} + +\section{Secret Key Exchanges} +\label{SKE} + +Modern cryptography is fundamentally concerned with the problem of +secure private communication. A Secret Key Exchange is a protocol +where Alice and Bob, having no secret information in common to start, +are able to agree on a common secret key, conversing over a public +channel. The notion of a Secret Key Exchange protocol was first +introduced in the seminal paper of Diffie and Hellman +\cite{dihe:newdir}. \cite{dihe:newdir} presented a concrete +implementation of a Secret Key Exchange protocol, dependent on a +specific assumption (a variant on the discrete log), specially +tailored to yield Secret Key Exchange. Secret Key Exchange is of +course trivial if trapdoor permutations exist. However, there is no +known implementation based on a weaker general assumption. + +The concept of an informationally one-way function was introduced +in \cite{imlelu:oneway}. We give only an informal definition here: + +\begin{defn} A polynomial time +computable function $f = \{f_k\}$ is informationally +one-way if there is no probabilistic polynomial time algorithm which +(with probability of the form $1 - k^{-e}$ for some $e > 0$) +returns on input $y \in \{0,1\}^{k}$ a random element of $f^{-1}(y)$. +\end{defn} +In the non-uniform setting \cite{imlelu:oneway} show that these are not +weaker than one-way functions: +\begin{thm}[\cite{imlelu:oneway} (non-uniform)] +\label{th-info-ow-ow} +The existence of informationally one-way functions +implies the existence of one-way functions. +\end{thm} +We will stick to the convention introduced above of saying +``non-uniform'' before the theorem statement when the theorem +makes use of non-uniformity. It should be understood that +if nothing is said then the result holds for both the uniform and +the non-uniform models. + +It now follows from \thmref{th-info-ow-ow} that + +\begin{thm}[non-uniform]\label{th-weak-ske-owf} Weak SKE +implies the existence of a one-way function. +\end{thm} + +More recently, the polynomial-time, interior point algorithms for linear +programming have been extended to the case of convex quadratic programs +\cite{moad:quadpro,ye:intalg}, certain linear complementarity problems +\cite{komiyo:lincomp,miyoki:lincomp}, and the nonlinear complementarity +problem \cite{komiyo:unipfunc}. The connection between these algorithms +and the classical Newton method for nonlinear equations is well +explained in \cite{komiyo:lincomp}. + +\section{Review} +\label{computation} + +We begin our discussion with the following definition: + +\begin{defn} + +A function $H\colon \Re^n \to \Re^n$ is said to be +\emph{B-differentiable} at the point $z$ if (i)~$H$ is Lipschitz +continuous in a neighborhood of $z$, and (ii)~ there exists a positive +homogeneous function $BH(z)\colon \Re^n \to \Re^n$, called the +\emph{B-derivative} of $H$ at $z$, such that +\[ \lim_{v \to 0} \frac{H(z+v) - H(z) - BH(z)v}{\enVert{v}} = 0. \] +The function $H$ is \textit{B-differentiable in set $S$} if it is +B-differentiable at every point in $S$. The B-derivative $BH(z)$ is said +to be \textit{strong} if +\[ \lim_{(v,v') \to (0,0)} \frac{H(z+v) - H(z+v') - BH(z)(v + -v')}{\enVert{v - v'}} = 0. \] +\end{defn} + + +\begin{lem}\label{limbog} There exists a smooth function $\psi_0(z)$ +defined for $\abs{z}>1-2a$ satisfying the following properties\textup{:} +\begin{enumerate} +\renewcommand{\labelenumi}{(\roman{enumi})} +\item $\psi_0(z)$ is bounded above and below by positive constants +$c_1\leq \psi_0(z)\leq c_2$. +\item If $\abs{z}>1$, then $\psi_0(z)=1$. +\item For all $z$ in the domain of $\psi_0$, $\Delta_0\ln \psi_0\geq 0$. +\item If $1-2a<\abs{z}<1-a$, then $\Delta_0\ln \psi_0\geq +c_3>0$. +\end{enumerate} +\end{lem} + +\begin{proof} +We choose $\psi_0(z)$ to be a radial function depending only on $r=\abs{z}$. +Let $h(r)\geq 0$ be a suitable smooth function satisfying $h(r)\geq c_3$ +for $1-2a<\abs{z}<1-a$, and $h(r)=0$ for $\abs{z}>1-\tfrac a2$. The radial +Laplacian +\[\Delta_0\ln\psi_0(r)=\left(\frac {d^2}{dr^2}+\frac +1r\frac d{dr}\right)\ln\psi_0(r)\] +has smooth coefficients for $r>1-2a$. Therefore, we may +apply the existence and uniqueness theory for ordinary differential +equations. Simply let $\ln \psi_0(r)$ be the solution of the differential +equation +\[\left(\frac{d^2}{dr^2}+\frac 1r\frac d{dr}\right)\ln \psi_0(r)=h(r)\] +with initial conditions given by $\ln \psi_0(1)=0$ and +$\ln\psi_0'(1)=0$. + +Next, let $D_\nu$ be a finite collection of pairwise disjoint disks, +all of which are contained in the unit disk centered at the origin in +$C$. We assume that $D_\nu=\{z\mid \abs{z-z_\nu}<\delta\}$. Suppose that +$D_\nu(a)$ denotes the smaller concentric disk $D_\nu(a)=\{z\mid +\abs{z-z_\nu}\leq (1-2a)\delta\}$. We define a smooth weight function +$\Phi_0(z)$ for $z\in C-\bigcup_\nu D_\nu(a)$ by setting $\Phi_ +0(z)=1$ when $z\notin \bigcup_\nu D_\nu$ and $\Phi_ +0(z)=\psi_0((z-z_\nu)/\delta)$ when $z$ is an element of $D_\nu$. It +follows from \lemref{limbog} that $\Phi_ 0$ satisfies the properties: +\begin{enumerate} +\renewcommand{\labelenumi}{(\roman{enumi})} +\item \label{boundab}$\Phi_ 0(z)$ is bounded above and below by +positive constants $c_1\leq \Phi_ 0(z)\leq c_2$. +\item \label{d:over}$\Delta_0\ln\Phi_ 0\geq 0$ for all +$z\in C-\bigcup_\nu D_\nu(a)$, +the domain where the function $\Phi_ 0$ is defined. +\item \label{d:ad}$\Delta_0\ln\Phi_ 0\geq c_3\delta^{-2}$ +when $(1-2a)\delta<\abs{z-z_\nu}<(1-a)\delta$. +\end{enumerate} +Let $A_\nu$ denote the annulus $A_\nu=\{(1-2a)\delta<\abs{z-z_\nu}<(1-a) +\delta \}$, and set $A=\bigcup_\nu A_\nu$. The +properties (\ref{d:over}) and (\ref{d:ad}) of $\Phi_ 0$ +may be summarized as $\Delta_0\ln \Phi_ 0\geq c_3\delta^{-2}\chi_A$, +where $\chi _A$ is the characteristic function of $A$. +\end{proof} + +Suppose that $\alpha$ is a nonnegative real constant. We apply +Proposition~\ref{prop:eg} with $\Phi(z)=\Phi_ 0(z) e^{\alpha\abs{z}^2}$. If +$u\in C^\infty_0(R^2-\bigcup_\nu D_\nu(a))$, assume that $\mathcal{D}$ +is a bounded domain containing the support of $u$ and $A\subset +\mathcal{D}\subset R^2-\bigcup_\nu D_\nu(a)$. A calculation gives +\[\int_{\mathcal{D}}\abs{\overline\partial u}^2\Phi_ 0(z) e^{\alpha\abs{z}^2} +\geq c_4\alpha\int_{\mathcal{D}}\abs{u}^2\Phi_ 0e^{\alpha\abs{z}^2} ++c_5\delta^{-2}\int_ A\abs{u}^2\Phi_ 0e^{\alpha\abs{z}^2}.\] + +The boundedness, property (\ref{boundab}) of $\Phi_ 0$, then yields +\[\int_{\mathcal{D}}\abs{\overline\partial u}^2e^{\alpha\abs{z}^2}\geq c_6\alpha +\int_{\mathcal{D}}\abs{u}^2e^{\alpha\abs{z}^2} ++c_7\delta^{-2}\int_ A\abs{u}^2e^{\alpha\abs{z}^2}.\] + +Let $B(X)$ be the set of blocks of $\Lambda_{X}$ +and let $b(X) = \abs{B(X)}$. If $\phi \in Q_{X}$ then +$\phi$ is constant on the blocks of $\Lambda_{X}$. +\begin{equation}\label{far-d} + P_{X} = \{ \phi \in M \mid \Lambda_{\phi} = \Lambda_{X} \}, +\qquad +Q_{X} = \{\phi \in M \mid \Lambda_{\phi} \geq \Lambda_{X} \}. +\end{equation} +If $\Lambda_{\phi} \geq \Lambda_{X}$ then +$\Lambda_{\phi} = \Lambda_{Y}$ for some $Y \geq X$ so that +\[ Q_{X} = \bigcup_{Y \geq X} P_{Y}. \] +Thus by M\"obius inversion +\[ \abs{P_{Y}}= \sum_{X\geq Y} \mu (Y,X)\abs{Q_{X}}.\] +Thus there is a bijection from $Q_{X}$ to $W^{B(X)}$. +In particular $\abs{Q_{X}} = w^{b(X)}$. + +Next note that $b(X)=\dim X$. We see this by choosing a +basis for $X$ consisting of vectors $v^{k}$ defined by +\[v^{k}_{i}= +\begin{cases} 1 & \text{if $i \in \Lambda_{k}$},\\ +0 &\text{otherwise.} \end{cases} +\] +\begin{verbatim} +\[v^{k}_{i}= +\begin{cases} 1 & \text{if $i \in \Lambda_{k}$},\\ +0 &\text{otherwise.} \end{cases} +\] +\end{verbatim} + +\begin{lem}\label{p0201} +Let $\A$ be an arrangement. Then +\[ \chi (\A,t) = \sum_{\B \subseteq \A} +(-1)^{\abs{\B}} t^{\dim T(\B)}. \] +\end{lem} + +In order to compute $R''$ recall the definition +of $S(X,Y)$ from \lemref{lem-per}. Since $H \in \B$, +$\A_{H} \subseteq \B$. Thus if $T(\B) = Y$ then +$\B \in S(H,Y)$. Let $L'' = L(\A'')$. Then +\begin{equation}\label{E_SXgYy} +\begin{split} +R''&= \sum_{H\in \B \subseteq \A} (-1)^{\abs{\B}} +t^{\dim T(\B)}\\ +&= \sum_{Y \in L''} \sum_{\B \in S(H,Y)} +(-1)^{\abs{\B}}t^{\dim Y} \\ +&= -\sum_{Y \in L''} \sum_{\B \in S(H,Y)} (-1)^ +{\abs{\B - \A_{H}}} t^{\dim Y} \\ +&= -\sum_{Y \in L''} \mu (H,Y)t^{\dim Y} \\ +&= -\chi (\A '',t). +\end{split} +\end{equation} + +\begin{cor}\label{tripleA} +Let $(\A,\A',\A'')$ be a triple of arrangements. Then +\[ \pi (\A,t) = \pi (\A',t) + t \pi (\A'',t). \] +\end{cor} + +\begin{defn} +Let $(\A,\A',\A'')$ be a triple with respect to +the hyperplane $H \in \A$. Call $H$ a \textit{separator} +if $T(\A) \not\in L(\A')$. +\end{defn} + +\begin{cor}\label{nsep} +Let $(\A,\A',\A'')$ be a triple with respect to $H \in \A$. +\begin{enumerate} +\renewcommand{\labelenumi}{(\roman{enumi})} +\item +If $H$ is a separator then +\[ \mu (\A) = - \mu (\A'') \] +and hence +\[ \abs{\mu (\A)} = \abs{ \mu (\A'')}. \] + +\item If $H$ is not a separator then +\[\mu (\A) = \mu (\A') - \mu (\A'') \] +and +\[ \abs{\mu (\A)} = \abs{\mu (\A')} + \abs{\mu (\A'')}. \] +\end{enumerate} +\end{cor} + +\begin{proof} +It follows from \thmref{th-info-ow-ow} that $\pi(\A,t)$ +has leading term +\[(-1)^{r(\A)}\mu (\A)t^{r(\A)}.\] +The conclusion +follows by comparing coefficients of the leading +terms on both sides of the equation in +Corollary~\ref{tripleA}. If $H$ is a separator then +$r(\A') < r(\A)$ and there is no contribution +from $\pi (\A',t)$. +\end{proof} + +The Poincar\'e polynomial of an arrangement +will appear repeatedly +in these notes. It will be shown to equal the +Poincar\'e polynomial +of the graded algebras which we are going to +associate with $\A$. It is also the Poincar\'e +polynomial of the complement $M(\A)$ for a +complex arrangement. Here we prove +that the Poincar\'e polynomial is the chamber +counting function for a real arrangement. The +complement $M(\A)$ is a disjoint union of chambers +\[M(\A) = \bigcup_{C \in \Cham(\A)} C.\] +The number +of chambers is determined by the Poincar\'e +polynomial as follows. + +\begin{thm}\label{th-realarr} +Let $\A_{\mathbf{R}}$ be a real arrangement. Then +\[ \abs{\Cham(\A_{\mathbf{R}})} = \pi (\A_{\mathbf{R}},1). \] +\end{thm} + +\begin{proof} +We check the properties required in Corollary~\ref{nsep}: +(i) follows from $\pi (\Phi_{ l},t) = 1$, and (ii) is a +consequence of Corollary~\ref{BI}. +\end{proof} + +\begin{figure} +\vspace{5cm} +\caption[]{$Q(\A_{1}) = xyz(x-z)(x+z)(y-z)(y+z)$} +\end{figure} + +\begin{figure} +\vspace{5cm} +\caption[]{$Q(\A_{2})= xyz(x+y+z)(x+y-z)(x-y+z)(x-y-z)$} +\end{figure} + + +\begin{thm} +\label{T_first_the_int} +Let $\phi$ be a protocol for a random pair $\XcY$. +If one of $\st_\phi(x',y)$ and $\st_\phi(x,y')$ is a prefix of the other +and $(x,y)\in\SXY$, then +\[ +\langle \st_j(x',y)\rangle_{j=1}^\infty +=\langle \st_j(x,y)\rangle_{j=1}^\infty +=\langle \st_j(x,y')\rangle_{j=1}^\infty . +\] +\end{thm} +\begin{proof} +We show by induction on $i$ that +\[ +\langle \st_j(x',y)\rangle_{j=1}^i +=\langle \st_j(x,y)\rangle_{j=1}^i +=\langle \st_j(x,y')\rangle_{j=1}^i. +\] +The induction hypothesis holds vacuously for $i=0$. Assume it holds for +$i-1$, in particular +$[\st_j(x',y)]_{j=1}^{i-1}=[\st_j(x,y')]_{j=1}^{i-1}$. Then one of +$[\st_j(x',y)]_{j=i}^{\infty}$ and $[\st_j(x,y')]_{j=i}^{\infty}$ is a +prefix of the other which implies that one of $\st_i(x',y)$ and +$\st_i(x,y')$ is a prefix of the other. If the $i$th message is +transmitted by $P_\X$ then, by the separate-transmissions property and +the induction hypothesis, $\st_i(x,y)=\st_i(x,y')$, hence one of +$\st_i(x,y)$ and $\st_i(x',y)$ is a prefix of the other. By the +implicit-termination property, neither $\st_i(x,y)$ nor $\st_i(x',y)$ +can be a proper prefix of the other, hence they must be the same and +$\st_i(x',y)=\st_i(x,y)=\st_i(x,y')$. If the $i$th message is +transmitted by $\PY$ then, symmetrically, $\st_i(x,y)=\st_i(x',y)$ by +the induction hypothesis and the separate-transmissions property, and, +then, $\st_i(x,y)=\st_i(x,y')$ by the implicit-termination property, +proving the induction step. +\end{proof} + +If $\phi$ is a protocol for $(X,Y)$, and $(x,y)$, $(x',y)$ are distinct +inputs in $\SXY$, then, by the correct-decision property, +$\langle\st_j(x,y)\rangle_{j=1}^\infty\ne\langle +\st_j(x',y)\rangle_{j=1}^\infty$. + +Equation~(\ref{E_SXgYy}) defined $\PY$'s ambiguity set $\SXgYy$ +to be the set of possible $X$ values when $Y=y$. +The last corollary implies that for all $y\in\SY$, +the multiset% +\footnote{A multiset allows multiplicity of elements. +Hence, $\{0,01,01\}$ is prefix free as a set, but not as a multiset.} +of codewords $\{\st_\phi(x,y):x\in\SXgYy\}$ is prefix free. + +\section{One-Way Complexity} +\label{S_Cp1} + +$\Cw1$, the one-way complexity of a random pair $\XcY$, +is the number of bits $P_\X$ must transmit in the worst case +when $\PY$ is not permitted to transmit any feedback messages. +Starting with $\SXY$, the support set of $\XcY$, we define $\G$, +the \textit{characteristic hypergraph} of $\XcY$, and show that +\[ +\Cw1=\lceil\,\log\chi(\G)\rceil\ . +\] + +Let $\XcY$ be a random pair. For each $y$ in $\SY$, the support set of +$Y$, Equation~(\ref{E_SXgYy}) defined $\SXgYy$ to be the set of possible +$x$ values when $Y=y$. The \textit{characteristic hypergraph} $\G$ of +$\XcY$ has $\SX$ as its vertex set and the hyperedge $\SXgYy$ for each +$y\in\SY$. + + +We can now prove a continuity theorem. +\begin{thm}\label{t:conl} +Let $\Omega \subset\mathbf{R}^n$ be an open set, let +$u\in BV(\Omega ;\mathbf{R}^m)$, and let +\begin{equation}\label{quts} +T^u_x=\left\{y\in\mathbf{R}^m: + y=\tilde u(x)+\left\langle \frac{Du}{\abs{Du}}(x),z +\right\rangle \text{ for some }z\in\mathbf{R}^n\right\} +\end{equation} +for every $x\in\Omega \backslash S_u$. Let $f\colon \mathbf{R}^m\to +\mathbf{R}^k$ be a Lipschitz continuous function such that $f(0)=0$, and +let $v=f(u)\colon \Omega \to \mathbf{R}^k$. Then $v\in BV(\Omega +;\mathbf{R}^k)$ and +\begin{equation} +Jv=\eval{(f(u^+)-f(u^-))\otimes \nu_u\cdot\, +\mathcal{H}_{n-1}}_{S_u}. +\end{equation} +In addition, for $\abs{\wt{D}u}$-almost every $x\in\Omega $ the +restriction of the function $f$ to $T^u_x$ is differentiable at $\tilde +u(x)$ and +\begin{equation} +\wt{D}v=\nabla (\eval{f}_{T^u_x})(\tilde u) +\frac{\wt{D}u}{\abs{\wt{D}u}}\cdot\abs{\wt{D}u}.\end{equation} +\end{thm} + +Before proving the theorem, we state without proof three elementary +remarks which will be useful in the sequel. +\begin{rem}\label{r:omb} +Let $\omega\colon \left]0,+\infty\right[\to \left]0,+\infty\right[$ +be a continuous function such that $\omega (t)\to 0$ as $t\to +0$. Then +\[\lim_{h\to 0^+}g(\omega(h))=L\Leftrightarrow\lim_{h\to +0^+}g(h)=L\] +for any function $g\colon \left]0,+\infty\right[\to \mathbf{R}$. +\end{rem} +\begin{rem}\label{r:dif} +Let $g \colon \mathbf{R}^n\to \mathbf{R}$ be a Lipschitz +continuous function and assume that +\[L(z)=\lim_{h\to 0^+}\frac{g(hz)-g(0)}h\] +exists for every $z\in\mathbf{Q}^n$ and that $L$ is a linear function of +$z$. Then $g$ is differentiable at 0. +\end{rem} +\begin{rem}\label{r:dif0} +Let $A \colon \mathbf{R}^n\to \mathbf{R}^m$ be a linear function, and +let $f \colon \mathbf{R}^m\to \mathbf{R}$ be a function. Then the +restriction of $f$ to the range of $A$ is differentiable at 0 if and +only if $f(A)\colon \mathbf{R}^n\to \mathbf{R}$ is differentiable at 0 +and +\[\nabla(\eval{f}_{\IM(A)})(0)A=\nabla (f(A))(0).\] +\end{rem} + +\begin{proof} + We begin by showing that $v\in BV(\Omega;\mathbf{R}^k)$ and +\begin{equation}\label{e:bomb} +\abs{Dv}(B)\le K\abs{Du}(B)\qquad\forall B\in\mathbf{B}(\Omega ), +\end{equation} +where $K>0$ is the Lipschitz constant of $f$. By \eqref{sum-Di} and by +the approximation result quoted in \secref{s:mt}, it is possible to find +a sequence $(u_h)\subset C^1(\Omega ;\mathbf{R}^m)$ converging to $u$ in +$L^1(\Omega ;\mathbf{R}^m)$ and such that +\[\lim_{h\to +\infty}\int_\Omega \abs{\nabla u_h}\,dx=\abs{Du}(\Omega ).\] +The functions $v_h=f(u_h)$ are locally Lipschitz continuous in $\Omega +$, and the definition of differential implies that $\abs{\nabla v_h}\le +K\abs{\nabla u_h}$ almost everywhere in $\Omega $. The lower semicontinuity +of the total variation and \eqref{sum-Di} yield +\begin{equation} +\begin{split} +\abs{Dv}(\Omega )\le\liminf_{h\to +\infty}\abs{Dv_h}(\Omega) & +=\liminf_{h\to +\infty}\int_\Omega \abs{\nabla v_h}\,dx\\ +&\le K\liminf_{h\to +\infty}\int_\Omega +\abs{\nabla u_h}\,dx=K\abs{Du}(\Omega). +\end{split}\end{equation} +Since $f(0)=0$, we have also +\[\int_\Omega \abs{v}\,dx\le K\int_\Omega \abs{u}\,dx;\] +therefore $u\in BV(\Omega ;\mathbf{R}^k)$. Repeating the same argument +for every open set $A\subset\Omega $, we get \eqref{e:bomb} for every +$B\in\mathbf{B}(\Omega)$, because $\abs{Dv}$, $\abs{Du}$ are Radon measures. To +prove \lemref{limbog}, first we observe that +\begin{equation}\label{e:SS} +S_v\subset S_u,\qquad\tilde v(x)=f(\tilde u(x))\qquad \forall x\in\Omega +\backslash S_u.\end{equation} +In fact, for every $\varepsilon >0$ we have +\[\{y\in B_\rho(x): \abs{v(y)-f(\tilde u(x))}>\varepsilon \}\subset \{y\in +B_\rho(x): \abs{u(y)-\tilde u(x)}>\varepsilon /K\},\] +hence +\[\lim_{\rho\to 0^+}\frac{\abs{\{y\in B_\rho(x): \abs{v(y)-f(\tilde u(x))}> +\varepsilon \}}}{\rho^n}=0\] +whenever $x\in\Omega \backslash S_u$. By a similar argument, if $x\in +S_u$ is a point such that there exists a triplet $(u^+,u^-,\nu_u)$ +satisfying \eqref{detK1}, \eqref{detK2}, then +\[ +(v^+(x)-v^-(x))\otimes \nu_v=(f(u^+(x))-f(u^-(x)))\otimes\nu_u\quad +\text{if }x\in S_v +\] +and $f(u^-(x))=f(u^+(x))$ if $x\in S_u\backslash S_v$. Hence, by (1.8) +we get +\begin{equation*}\begin{split} +Jv(B)=\int_{B\cap S_v}(v^+-v^-)\otimes \nu_v\,d\mathcal{H}_{n-1}&= +\int_{B\cap S_v}(f(u^+)-f(u^-))\otimes \nu_u\,d\mathcal{H}_{n-1}\\ +&=\int_{B\cap S_u}(f(u^+)-f(u^-))\otimes \nu_u\,d\mathcal{H}_{n-1} +\end{split}\end{equation*} +and \lemref{limbog} is proved. +\end{proof} + +To prove \eqref{e:SS}, it is not restrictive to assume that $k=1$. +Moreover, to simplify our notation, from now on we shall assume that +$\Omega = \mathbf{R}^n$. The proof of \eqref{e:SS} is divided into two +steps. In the first step we prove the statement in the one-dimensional +case $(n=1)$, using \thmref{th-weak-ske-owf}. In the second step we +achieve the general result using \thmref{t:conl}. + +\subsection*{Step 1} +Assume that $n=1$. Since $S_u$ is at most countable, \eqref{sum-bij} +yields that $\abs{\wt{D}v}(S_u\backslash S_v)=0$, so that +\eqref{e:st} and \eqref{e:barwq} imply that $Dv=\wt{D}v+Jv$ is +the Radon-Nikod\'ym decomposition of $Dv$ in absolutely continuous and +singular part with respect to $\abs{\wt{D} u}$. By +\thmref{th-weak-ske-owf}, we have +\begin{equation*} +\frac{\wt{D}v}{\abs{\wt{D}u}}(t)=\lim_{s\to t^+} +\frac{Dv(\interval{\left[t,s\right[})} +{\abs{\wt{D}u}(\interval{\left[t,s\right[})},\qquad +\frac{\wt{D}u}{\abs{\wt{D}u}}(t)=\lim_{s\to t^+} +\frac{Du(\interval{\left[t,s\right[})} +{\abs{\wt{D}u}(\interval{\left[t,s\right[})} +\end{equation*} +$\abs{\wt{D}u}$-almost everywhere in $\mathbf{R}$. It is well known +(see, for instance, \cite[2.5.16]{ste:sint}) that every one-dimensional +function of bounded variation $w$ has a unique left continuous +representative, i.e., a function $\hat w$ such that $\hat w=w$ almost +everywhere and $\lim_{s\to t^-}\hat w(s)=\hat w(t)$ for every $t\in +\mathbf{R}$. These conditions imply +\begin{equation} +\hat u(t)=Du(\interval{\left]-\infty,t\right[}), +\qquad \hat v(t)=Dv(\interval{\left]-\infty,t\right[})\qquad +\forall t\in\mathbf{R} +\end{equation} +and +\begin{equation}\label{alimo} +\hat v(t)=f(\hat u(t))\qquad\forall t\in\mathbf{R}.\end{equation} +Let $t\in\mathbf{R}$ be such that +$\abs{\wt{D}u}(\interval{\left[t,s\right[})>0$ for every $s>t$ and +assume that the limits in \eqref{joe} exist. By \eqref{j:mark} and +\eqref{far-d} we get +\begin{equation*}\begin{split} +\frac{\hat v(s)-\hat +v(t)}{\abs{\wt{D}u}(\interval{\left[t,s\right[})}&=\frac {f(\hat +u(s))-f(\hat u(t))}{\abs{\wt{D}u}(\interval{\left[t,s\right[})}\\ +&=\frac{f(\hat u(s))-f(\hat +u(t)+\dfrac{\wt{D}u}{\abs{\wt{D}u}}(t)\abs{\wt{D}u +}(\interval{\left[t,s\right[}))}% +{\abs{\wt{D}u}(\interval{\left[t,s\right[})}\\ +&+\frac +{f(\hat u(t)+\dfrac{\wt{D}u}{\abs{\wt{D}u}}(t)\abs{\wt{D} +u}(\interval{\left[t,s\right[}))-f(\hat +u(t))}{\abs{\wt{D}u}(\interval{\left[t,s\right[})} +\end{split}\end{equation*} +for every $s>t$. Using the Lipschitz condition on $f$ we find +{\setlength{\multlinegap}{0pt} +\begin{multline*} +\left\lvert\frac{\hat v(s)-\hat +v(t)}{\abs{\wt{D}u}(\interval{\left[t,s\right[})} -\frac{f(\hat +u(t)+\dfrac{\wt{D}u}{\abs{\wt{D}u}}(t) +\abs{\wt{D}u}(\interval{\left[t,s\right[}))-f(\hat +u(t))}{\abs{\wt{D}u}(\interval{\left[t,s\right[})}\right\rvert\\ +\le K\left\lvert +\frac{\hat u(s)-\hat u(t)} + {\abs{\wt{D}u}(\interval{\left[t,s\right[})} +-\frac{\wt{D}u}{\abs{ +\wt{D}u}}(t)\right\rvert.\end{multline*} +}% end of group with \multlinegap=0pt +By \eqref{e:bomb}, the function $s\to +\abs{\wt{D}u}(\interval{\left[t,s\right[})$ is continuous and +converges to 0 as $s\downarrow t$. Therefore Remark~\ref{r:omb} and the +previous inequality imply +\[\frac{\wt{D}v}{\abs{\wt{D}u}}(t)=\lim_{h\to 0^+} +\frac{f(\hat u(t)+h\dfrac{\wt{D}u}{\abs{\wt{D}u}} +(t))-f(\hat u(t))}h\quad\abs{\wt{D}u}\text{-a.e. in }\mathbf{R}.\] +By \eqref{joe}, $\hat u(x)=\tilde u(x)$ for every +$x\in\mathbf{R}\backslash S_u$; moreover, applying the same argument to +the functions $u'(t)=u(-t)$, $v'(t)=f(u'(t))=v(-t)$, we get +\[\frac{\wt{D}v}{\abs{\wt{D}u}}(t)=\lim_{h\to 0} +\frac{f(\tilde u(t) ++h\dfrac{\wt{D}u}{\abs{\wt{D}u}}(t))-f(\tilde u(t))}{h} +\qquad\abs{\wt{D}u}\text{-a.e. in }\mathbf{R}\] +and our statement is proved. + +\subsection*{Step 2} + +Let us consider now the general case $n>1$. Let $\nu\in \mathbf{R}^n$ be +such that $\abs{\nu}=1$, and let $\pi_\nu=\{y\in\mathbf{R}^n: \langle +y,\nu\rangle =0\}$. In the following, we shall identify $\mathbf{R}^n$ +with $\pi_\nu\times\mathbf{R}$, and we shall denote by $y$ the variable +ranging in $\pi_\nu$ and by $t$ the variable ranging in $\mathbf{R}$. By +the just proven one-dimensional result, and by \thmref{thm-main}, we get +\[\lim_{h\to 0}\frac{f(\tilde u(y+t\nu)+h\dfrac{\wt{D}u_y}{\abs{ +\wt{D}u_y}}(t))-f(\tilde u(y+t\nu))}h=\frac{\wt{D}v_y}{\abs{ +\wt{D}u_y}}(t)\qquad\abs{\wt{D}u_y}\text{-a.e. in }\mathbf{R}\] +for $\mathcal{H}_{n-1}$-almost every $y\in \pi_\nu$. We claim that +\begin{equation} +\frac{\langle \wt{D}u,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle +}}(y+t\nu)=\frac{\wt{D}u_y} +{\abs{\wt{D}u_y}}(t)\qquad\abs{\wt{D}u_y}\text{-a.e. in }\mathbf{R} +\end{equation} +for $\mathcal{H}_{n-1}$-almost every $y\in\pi_\nu$. In fact, by +\eqref{sum-ali} and \eqref{delta-l} we get +\begin{multline*} +\int_{\pi_\nu}\frac{\wt{D}u_y}{\abs{\wt{D}u_y}}\cdot\abs{\wt{D}u_y +}\,d\mathcal{H}_{n-1}(y)=\int_{\pi_\nu}\wt{D}u_y\,d\mathcal{H}_{n-1}(y)\\ +=\langle \wt{D}u,\nu\rangle =\frac +{\langle \wt{D}u,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle}}\cdot +\abs{\langle \wt{D}u,\nu\rangle }=\int_{\pi_\nu}\frac{ +\langle \wt{D}u,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle }} +(y+\cdot \nu)\cdot\abs{\wt{D}u_y}\,d\mathcal{H}_{n-1}(y) +\end{multline*} +and \eqref{far-d} follows from \eqref{sum-Di}. By the same argument it +is possible to prove that +\begin{equation} +\frac{\langle \wt{D}v,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle +}}(y+t\nu)=\frac{\wt{D}v_y}{\abs{\wt{D}u_y}}(t)\qquad\abs{ +\wt{D}u_y}\text{-a.e. in }\mathbf{R}\end{equation} +for $\mathcal{H}_{n-1}$-almost every $y\in \pi_\nu$. By \eqref{far-d} +and \eqref{E_SXgYy} we get +\[ +\lim_{h\to 0}\frac{f(\tilde u(y+t\nu)+h\dfrac{\langle \wt{D} +u,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle }}(y+t\nu))-f(\tilde +u(y+t\nu))}{h} +=\frac{\langle \wt{D}v,\nu\rangle }{\abs{\langle +\wt{D}u,\nu\rangle }}(y+t\nu)\] +for $\mathcal{H}_{n-1}$-almost every $y\in\pi_\nu$, and using again +\eqref{detK1}, \eqref{detK2} we get +\[ +\lim_{h\to 0}\frac{f(\tilde u(x)+h\dfrac{\langle +\wt{D}u,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle }}(x))-f(\tilde +u(x))}{h}=\frac{\langle \wt{D}v,\nu\rangle }{\abs{\langle \wt{D}u,\nu +\rangle }}(x) +\] +$\abs{\langle \wt{D}u,\nu\rangle}$-a.e. in $\mathbf{R}^n$. + +Since the function $\abs{\langle \wt{D}u,\nu\rangle }/\abs{\wt{D}u}$ +is strictly positive $\abs{\langle \wt{D}u,\nu\rangle }$-almost everywhere, +we obtain also +\begin{multline*} +\lim_{h\to 0}\frac{f(\tilde u(x)+h\dfrac{\abs{\langle +\wt{D}u,\nu\rangle }}{\abs{\wt{D}u}}(x)\dfrac{\langle \wt{D} +u,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle }}(x))-f(\tilde u(x))}{h}\\ +=\frac{\abs{\langle \wt{D}u,\nu\rangle }}{\abs{\wt{D}u}}(x)\frac +{\langle \wt{D}v,\nu\rangle }{\abs{\langle +\wt{D}u,\nu\rangle }}(x) +\end{multline*} +$\abs{\langle \wt{D}u,\nu\rangle }$-almost everywhere in $\mathbf{R}^n$. + +Finally, since +\begin{align*} +&\frac{\abs{\langle \wt{D}u,\nu\rangle }}{\abs{\wt{D}u}} +\frac{\langle \wt{D}u,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle}} +=\frac{\langle \wt{D}u,\nu\rangle }{\abs{\wt{D}u}} +=\left\langle \frac{\wt{D}u}{\abs{\wt{D}u}},\nu\right\rangle + \qquad\abs{\wt{D}u}\text{-a.e. in }\mathbf{R}^n\\ +&\frac{\abs{\langle \wt{D}u,\nu\rangle }}{\abs{\wt{D}u}} +\frac{\langle \wt{D}v,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle}} +=\frac{\langle \wt{D}v,\nu\rangle }{\abs{\wt{D}u}} +=\left\langle \frac{\wt{D}v}{\abs{\wt{D}u}},\nu\right\rangle + \qquad\abs{\wt{D}u}\text{-a.e. in }\mathbf{R}^n +\end{align*} +and since both sides of \eqref{alimo} +are zero $\abs{\wt{D}u}$-almost everywhere +on $\abs{\langle \wt{D}u,\nu\rangle }$-negligible sets, we conclude that +\[ +\lim_{h\to 0}\frac{f\left( +\tilde u(x)+h\left\langle \dfrac{\wt{D} +u}{\abs{\wt{D}u}}(x),\nu\right\rangle \right)-f(\tilde u(x))}h +=\left\langle \frac{\wt{D}v}{\abs{\wt{D}u}}(x),\nu\right\rangle, +\] +$\abs{\wt{D}u}$-a.e. in $\mathbf{R}^n$. +Since $\nu$ is arbitrary, by Remarks \ref{r:dif} and~\ref{r:dif0} +the restriction of $f$ to +the affine space $T^u_x$ is differentiable at $\tilde u(x)$ for $\abs{\wt{D} +u}$-almost every $x\in \mathbf{R}^n$ and \eqref{quts} holds.\qed + +It follows from \eqref{sum-Di}, \eqref{detK1}, and \eqref{detK2} that +\begin{equation}\label{Dt} +D(t_1,\dots,t_n)=\sum_{I\in\mathbf{n}}(-1)^{\abs{I}-1}\abs{I} +\prod_{i\in I}t_i\prod_{j\in I}(D_j+\lambda_jt_j)\det\mathbf{A}^{(\lambda)} +(\overline I|\overline I). +\end{equation} +Let $t_i=\hat x_i$, $i=1,\dots,n$. Lemma 1 leads to +\begin{equation}\label{Dx} +D(\hat x_1,\dots,\hat x_n)=\prod_{i\in\mathbf{n}}\hat x_i +\sum_{I\in\mathbf{n}}(-1)^{\abs{I}-1}\abs{I}\per \mathbf{A} +^{(\lambda)}(I|I)\det\mathbf{A}^{(\lambda)}(\overline I|\overline I). +\end{equation} +By \eqref{H-cycles}, \eqref{sum-Di}, and \eqref{Dx}, +we have the following result: +\begin{thm}\label{thm-H-param} +\begin{equation}\label{H-param} +H_c=\frac{1}{2n}\sum^n_{l =1}l (-1)^{l -1}A_{l} +^{(\lambda)}, +\end{equation} +where +\begin{equation}\label{A-l-lambda} +A^{(\lambda)}_l =\sum_{I_l \subseteq\mathbf{n}}\per \mathbf{A} +^{(\lambda)}(I_l |I_l )\det\mathbf{A}^{(\lambda)} +(\overline I_{l}|\overline I_l ),\abs{I_{l}}=l . +\end{equation} +\end{thm} + +It is worth noting that $A_l ^{(\lambda)}$ of \eqref{A-l-lambda} is +similar to the coefficients $b_l $ of the characteristic polynomial of +\eqref{bl-sum}. It is well known in graph theory that the coefficients +$b_l $ can be expressed as a sum over certain subgraphs. It is +interesting to see whether $A_l $, $\lambda=0$, structural properties +of a graph. + +We may call \eqref{H-param} a parametric representation of $H_c$. In +computation, the parameter $\lambda_i$ plays very important roles. The +choice of the parameter usually depends on the properties of the given +graph. For a complete graph $K_n$, let $\lambda_i=1$, $i=1,\dots,n$. +It follows from \eqref{A-l-lambda} that +\begin{equation}\label{compl-gr} +A^{(1)}_l =\begin{cases} n!,&\text{if }l =1\\ +0,&\text{otherwise}.\end{cases} +\end{equation} +By \eqref{H-param} +\begin{equation} +H_c=\frac 12(n-1)!. +\end{equation} +For a complete bipartite graph $K_{n_1n_2}$, let $\lambda_i=0$, $i=1,\dots,n$. +By \eqref{A-l-lambda}, +\begin{equation} +A_l = +\begin{cases} -n_1!n_2!\delta_{n_1n_2},&\text{if }l =2\\ +0,&\text{otherwise }.\end{cases} +\label{compl-bip-gr} +\end{equation} +Theorem ~\ref{thm-H-param} +leads to +\begin{equation} +H_c=\frac1{n_1+n_2}n_1!n_2!\delta_{n_1n_2}. +\end{equation} + +Now, we consider an asymmetrical approach. Theorem \ref{thm-main} leads to +\begin{multline} +\det\mathbf{K}(t=1,t_1,\dots,t_n;l |l )\\ +=\sum_{I\subseteq\mathbf{n}-\{l \}} +(-1)^{\abs{I}}\prod_{i\in I}t_i\prod_{j\in I} +(D_j+\lambda_jt_j)\det\mathbf{A}^{(\lambda)} +(\overline I\cup\{l \}|\overline I\cup\{l \}). +\end{multline} + +By \eqref{H-cycles} and \eqref{sum-ali} we have the following asymmetrical +result: +\begin{thm}\label{thm-asym} +\begin{equation} +H_c=\frac12\sum_{I\subseteq\mathbf{n}-\{l \}} +(-1)^{\abs{I}}\per\mathbf{A}^{(\lambda)}(I|I)\det +\mathbf{A}^{(\lambda)} +(\overline I\cup\{l \}|\overline I\cup\{l \}) +\end{equation} +which reduces to Goulden--Jackson's formula when $\lambda_i=0,i=1,\dots,n$ +\cite{mami:matrixth}. +\end{thm} + +\section{Various font features of the \pkg{amsmath} package} +\label{s:font} +\subsection{Bold versions of special symbols} + +In the \pkg{amsmath} package \cn{boldsymbol} is used for getting +individual bold math symbols and bold Greek letters---everything in +math except for letters of the Latin alphabet, +where you'd use \cn{mathbf}. For example, +\begin{verbatim} +A_\infty + \pi A_0 \sim +\mathbf{A}_{\boldsymbol{\infty}} \boldsymbol{+} +\boldsymbol{\pi} \mathbf{A}_{\boldsymbol{0}} +\end{verbatim} +looks like this: +\[A_\infty + \pi A_0 \sim \mathbf{A}_{\boldsymbol{\infty}} +\boldsymbol{+} \boldsymbol{\pi} \mathbf{A}_{\boldsymbol{0}}\] + +\subsection{``Poor man's bold''} +If a bold version of a particular symbol doesn't exist in the +available fonts, +then \cn{boldsymbol} can't be used to make that symbol bold. +At the present time, this means that +\cn{boldsymbol} can't be used with symbols from +the \fn{msam} and \fn{msbm} fonts, among others. +In some cases, poor man's bold (\cn{pmb}) can be used instead +of \cn{boldsymbol}: +% Can't show example from msam or msbm because this document is +% supposed to be TeXable even if the user doesn't have +% AMSFonts. MJD 5-JUL-1990 +\[\frac{\partial x}{\partial y} +\pmb{\bigg\vert} +\frac{\partial y}{\partial z}\] +\begin{verbatim} +\[\frac{\partial x}{\partial y} +\pmb{\bigg\vert} +\frac{\partial y}{\partial z}\] +\end{verbatim} +So-called ``large operator'' symbols such as $\sum$ and $\prod$ +require an additional command, \cn{mathop}, +to produce proper spacing and limits when \cn{pmb} is used. +For further details see \textit{The \TeX book}. +\[\sum_{\substack{i<B\\\text{$i$ odd}}} +\prod_\kappa \kappa F(r_i)\qquad +\mathop{\pmb{\sum}}_{\substack{i<B\\\text{$i$ odd}}} +\mathop{\pmb{\prod}}_\kappa \kappa(r_i) +\] +\begin{verbatim} +\[\sum_{\substack{i<B\\\text{$i$ odd}}} +\prod_\kappa \kappa F(r_i)\qquad +\mathop{\pmb{\sum}}_{\substack{i<B\\\text{$i$ odd}}} +\mathop{\pmb{\prod}}_\kappa \kappa(r_i) +\] +\end{verbatim} + +\section{Compound symbols and other features} +\label{s:comp} +\subsection{Multiple integral signs} + +\cn{iint}, \cn{iiint}, and \cn{iiiint} give multiple integral signs +with the spacing between them nicely adjusted, in both text and +display style. \cn{idotsint} gives two integral signs with dots +between them. +\begin{gather} +\iint\limits_A f(x,y)\,dx\,dy\qquad\iiint\limits_A +f(x,y,z)\,dx\,dy\,dz\\ +\iiiint\limits_A +f(w,x,y,z)\,dw\,dx\,dy\,dz\qquad\idotsint\limits_A f(x_1,\dots,x_k) +\end{gather} + +\subsection{Over and under arrows} + +Some extra over and under arrow operations are provided in +the \pkg{amsmath} package. (Basic \LaTeX\ provides +\cn{overrightarrow} and \cn{overleftarrow}). +\begin{align*} +\overrightarrow{\psi_\delta(t) E_t h}& +=\underrightarrow{\psi_\delta(t) E_t h}\\ +\overleftarrow{\psi_\delta(t) E_t h}& +=\underleftarrow{\psi_\delta(t) E_t h}\\ +\overleftrightarrow{\psi_\delta(t) E_t h}& +=\underleftrightarrow{\psi_\delta(t) E_t h} +\end{align*} +\begin{verbatim} +\begin{align*} +\overrightarrow{\psi_\delta(t) E_t h}& +=\underrightarrow{\psi_\delta(t) E_t h}\\ +\overleftarrow{\psi_\delta(t) E_t h}& +=\underleftarrow{\psi_\delta(t) E_t h}\\ +\overleftrightarrow{\psi_\delta(t) E_t h}& +=\underleftrightarrow{\psi_\delta(t) E_t h} +\end{align*} +\end{verbatim} +These all scale properly in subscript sizes: +\[\int_{\overrightarrow{AB}} ax\,dx\] +\begin{verbatim} +\[\int_{\overrightarrow{AB}} ax\,dx\] +\end{verbatim} + +\subsection{Dots} + +Normally you need only type \cn{dots} for ellipsis dots in a +math formula. The main exception is when the dots +fall at the end of the formula; then you need to +specify one of \cn{dotsc} (series dots, after a comma), +\cn{dotsb} (binary dots, for binary relations or operators), +\cn{dotsm} (multiplication dots), or \cn{dotsi} (dots after +an integral). For example, the input +\begin{verbatim} +Then we have the series $A_1,A_2,\dotsc$, +the regional sum $A_1+A_2+\dotsb$, +the orthogonal product $A_1A_2\dotsm$, +and the infinite integral +\[\int_{A_1}\int_{A_2}\dotsi\]. +\end{verbatim} +produces +\begin{quotation} +Then we have the series $A_1,A_2,\dotsc$, +the regional sum $A_1+A_2+\dotsb$, +the orthogonal product $A_1A_2\dotsm$, +and the infinite integral +\[\int_{A_1}\int_{A_2}\dotsi\] +\end{quotation} + +\subsection{Accents in math} + +Double accents: +\[\Hat{\Hat{H}}\quad\Check{\Check{C}}\quad +\Tilde{\Tilde{T}}\quad\Acute{\Acute{A}}\quad +\Grave{\Grave{G}}\quad\Dot{\Dot{D}}\quad +\Ddot{\Ddot{D}}\quad\Breve{\Breve{B}}\quad +\Bar{\Bar{B}}\quad\Vec{\Vec{V}}\] +\begin{verbatim} +\[\Hat{\Hat{H}}\quad\Check{\Check{C}}\quad +\Tilde{\Tilde{T}}\quad\Acute{\Acute{A}}\quad +\Grave{\Grave{G}}\quad\Dot{\Dot{D}}\quad +\Ddot{\Ddot{D}}\quad\Breve{\Breve{B}}\quad +\Bar{\Bar{B}}\quad\Vec{\Vec{V}}\] +\end{verbatim} +This double accent operation is complicated +and tends to slow down the processing of a \LaTeX\ file. + + +\subsection{Dot accents} +\cn{dddot} and \cn{ddddot} are available to +produce triple and quadruple dot accents +in addition to the \cn{dot} and \cn{ddot} accents already available +in \LaTeX: +\[\dddot{Q}\qquad\ddddot{R}\] +\begin{verbatim} +\[\dddot{Q}\qquad\ddddot{R}\] +\end{verbatim} + +\subsection{Roots} + +In the \pkg{amsmath} package \cn{leftroot} and \cn{uproot} allow you to adjust +the position of the root index of a radical: +\begin{verbatim} +\sqrt[\leftroot{-2}\uproot{2}\beta]{k} +\end{verbatim} +gives good positioning of the $\beta$: +\[\sqrt[\leftroot{-2}\uproot{2}\beta]{k}\] + +\subsection{Boxed formulas} The command \cn{boxed} puts a box around its +argument, like \cn{fbox} except that the contents are in math mode: +\begin{verbatim} +\boxed{W_t-F\subseteq V(P_i)\subseteq W_t} +\end{verbatim} +\[\boxed{W_t-F\subseteq V(P_i)\subseteq W_t}.\] + +\subsection{Extensible arrows} +\cn{xleftarrow} and \cn{xrightarrow} produce +arrows that extend automatically to accommodate unusually wide +subscripts or superscripts. The text of the subscript or superscript +are given as an optional resp.\@ mandatory argument: +Example: +\[0 \xleftarrow[\zeta]{\alpha} F\times\triangle[n-1] + \xrightarrow{\partial_0\alpha(b)} E^{\partial_0b}\] +\begin{verbatim} +\[0 \xleftarrow[\zeta]{\alpha} F\times\triangle[n-1] + \xrightarrow{\partial_0\alpha(b)} E^{\partial_0b}\] +\end{verbatim} + +\subsection{\cn{overset}, \cn{underset}, and \cn{sideset}} +Examples: +\[\overset{*}{X}\qquad\underset{*}{X}\qquad +\overset{a}{\underset{b}{X}}\] +\begin{verbatim} +\[\overset{*}{X}\qquad\underset{*}{X}\qquad +\overset{a}{\underset{b}{X}}\] +\end{verbatim} + +The command \cn{sideset} is for a rather special +purpose: putting symbols at the subscript and superscript +corners of a large operator symbol such as $\sum$ or $\prod$, +without affecting the placement of limits. +Examples: +\[\sideset{_*^*}{_*^*}\prod_k\qquad +\sideset{}{'}\sum_{0\le i\le m} E_i\beta x +\] +\begin{verbatim} +\[\sideset{_*^*}{_*^*}\prod_k\qquad +\sideset{}{'}\sum_{0\le i\le m} E_i\beta x +\] +\end{verbatim} + +\subsection{The \cn{text} command} +The main use of the command \cn{text} is for words or phrases in a +display: +\[\mathbf{y}=\mathbf{y}'\quad\text{if and only if}\quad +y'_k=\delta_k y_{\tau(k)}\] +\begin{verbatim} +\[\mathbf{y}=\mathbf{y}'\quad\text{if and only if}\quad +y'_k=\delta_k y_{\tau(k)}\] +\end{verbatim} + +\subsection{Operator names} +The more common math functions such as $\log$, $\sin$, and $\lim$ +have predefined control sequences: \verb=\log=, \verb=\sin=, +\verb=\lim=. +The \pkg{amsmath} package provides \cn{DeclareMathOperator} and +\cn{DeclareMathOperator*} +for producing new function names that will have the +same typographical treatment. +Examples: +\[\norm{f}_\infty= +\esssup_{x\in R^n}\abs{f(x)}\] +\begin{verbatim} +\[\norm{f}_\infty= +\esssup_{x\in R^n}\abs{f(x)}\] +\end{verbatim} +\[\meas_1\{u\in R_+^1\colon f^*(u)>\alpha\} +=\meas_n\{x\in R^n\colon \abs{f(x)}\geq\alpha\} +\quad \forall\alpha>0.\] +\begin{verbatim} +\[\meas_1\{u\in R_+^1\colon f^*(u)>\alpha\} +=\meas_n\{x\in R^n\colon \abs{f(x)}\geq\alpha\} +\quad \forall\alpha>0.\] +\end{verbatim} +\cn{esssup} and \cn{meas} would be defined in the document preamble as +\begin{verbatim} +\DeclareMathOperator*{\esssup}{ess\,sup} +\DeclareMathOperator{\meas}{meas} +\end{verbatim} + +The following special operator names are predefined in the \pkg{amsmath} +package: \cn{varlimsup}, \cn{varliminf}, \cn{varinjlim}, and +\cn{varprojlim}. Here's what they look like in use: +\begin{align} +&\varlimsup_{n\rightarrow\infty} + \mathcal{Q}(u_n,u_n-u^{\#})\le0\\ +&\varliminf_{n\rightarrow\infty} + \left\lvert a_{n+1}\right\rvert/\left\lvert a_n\right\rvert=0\\ +&\varinjlim (m_i^\lambda\cdot)^*\le0\\ +&\varprojlim_{p\in S(A)}A_p\le0 +\end{align} +\begin{verbatim} +\begin{align} +&\varlimsup_{n\rightarrow\infty} + \mathcal{Q}(u_n,u_n-u^{\#})\le0\\ +&\varliminf_{n\rightarrow\infty} + \left\lvert a_{n+1}\right\rvert/\left\lvert a_n\right\rvert=0\\ +&\varinjlim (m_i^\lambda\cdot)^*\le0\\ +&\varprojlim_{p\in S(A)}A_p\le0 +\end{align} +\end{verbatim} + +\subsection{\cn{mod} and its relatives} +The commands \cn{mod} and \cn{pod} are variants of +\cn{pmod} preferred by some authors; \cn{mod} omits the parentheses, +whereas \cn{pod} omits the `mod' and retains the parentheses. +Examples: +\begin{align} +x&\equiv y+1\pmod{m^2}\\ +x&\equiv y+1\mod{m^2}\\ +x&\equiv y+1\pod{m^2} +\end{align} +\begin{verbatim} +\begin{align} +x&\equiv y+1\pmod{m^2}\\ +x&\equiv y+1\mod{m^2}\\ +x&\equiv y+1\pod{m^2} +\end{align} +\end{verbatim} + +\subsection{Fractions and related constructions} +\label{fracs} + +The usual notation for binomials is similar to the fraction concept, +so it has a similar command \cn{binom} with two arguments. Example: +\begin{equation} +\begin{split} +\sum_{\gamma\in\Gamma_C} I_\gamma& +=2^k-\binom{k}{1}2^{k-1}+\binom{k}{2}2^{k-2}\\ +&\quad+\dots+(-1)^l\binom{k}{l}2^{k-l} ++\dots+(-1)^k\\ +&=(2-1)^k=1 +\end{split} +\end{equation} +\begin{verbatim} +\begin{equation} +\begin{split} +[\sum_{\gamma\in\Gamma_C} I_\gamma& +=2^k-\binom{k}{1}2^{k-1}+\binom{k}{2}2^{k-2}\\ +&\quad+\dots+(-1)^l\binom{k}{l}2^{k-l} ++\dots+(-1)^k\\ +&=(2-1)^k=1 +\end{split} +\end{equation} +\end{verbatim} +There are also abbreviations +\begin{verbatim} +\dfrac \dbinom +\tfrac \tbinom +\end{verbatim} +for the commonly needed constructions +\begin{verbatim} +{\displaystyle\frac ... } {\displaystyle\binom ... } +{\textstyle\frac ... } {\textstyle\binom ... } +\end{verbatim} + +The generalized fraction command \cn{genfrac} provides full access to +the six \TeX{} fraction primitives: +\begin{align} +\text{\cn{over}: }&\genfrac{}{}{}{}{n+1}{2}& +\text{\cn{overwithdelims}: }& + \genfrac{\langle}{\rangle}{}{}{n+1}{2}\\ +\text{\cn{atop}: }&\genfrac{}{}{0pt}{}{n+1}{2}& +\text{\cn{atopwithdelims}: }& + \genfrac{(}{)}{0pt}{}{n+1}{2}\\ +\text{\cn{above}: }&\genfrac{}{}{1pt}{}{n+1}{2}& +\text{\cn{abovewithdelims}: }& + \genfrac{[}{]}{1pt}{}{n+1}{2} +\end{align} +\begin{verbatim} +\text{\cn{over}: }&\genfrac{}{}{}{}{n+1}{2}& +\text{\cn{overwithdelims}: }& + \genfrac{\langle}{\rangle}{}{}{n+1}{2}\\ +\text{\cn{atop}: }&\genfrac{}{}{0pt}{}{n+1}{2}& +\text{\cn{atopwithdelims}: }& + \genfrac{(}{)}{0pt}{}{n+1}{2}\\ +\text{\cn{above}: }&\genfrac{}{}{1pt}{}{n+1}{2}& +\text{\cn{abovewithdelims}: }& + \genfrac{[}{]}{1pt}{}{n+1}{2} +\end{verbatim} + +\subsection{Continued fractions} +The continued fraction +\begin{equation} +\cfrac{1}{\sqrt{2}+ + \cfrac{1}{\sqrt{2}+ + \cfrac{1}{\sqrt{2}+ + \cfrac{1}{\sqrt{2}+ + \cfrac{1}{\sqrt{2}+\dotsb +}}}}} +\end{equation} +can be obtained by typing +\begin{verbatim} +\cfrac{1}{\sqrt{2}+ + \cfrac{1}{\sqrt{2}+ + \cfrac{1}{\sqrt{2}+ + \cfrac{1}{\sqrt{2}+ + \cfrac{1}{\sqrt{2}+\dotsb +}}}}} +\end{verbatim} +Left or right placement of any of the numerators is accomplished by using +\cn{cfrac[l]} or \cn{cfrac[r]} instead of \cn{cfrac}. + +\subsection{Smash} + +In \pkg{amsmath} there are optional arguments \verb"t" and \verb"b" for +the plain \TeX\ command \cn{smash}, because sometimes it is advantageous +to be able to `smash' only the top or only the bottom of something while +retaining the natural depth or height. In the formula +$X_j=(1/\sqrt{\smash[b]{\lambda_j}})X_j'$ \cn{smash}\verb=[b]= has been +used to limit the size of the radical symbol. +\begin{verbatim} +$X_j=(1/\sqrt{\smash[b]{\lambda_j}})X_j'$ +\end{verbatim} +Without the use of \cn{smash}\verb=[b]= the formula would have appeared +thus: $X_j=(1/\sqrt{\lambda_j})X_j'$, with the radical extending to +encompass the depth of the subscript $j$. + +\subsection{The `cases' environment} +`Cases' constructions like the following can be produced using +the \env{cases} environment. +\begin{equation} +P_{r-j}= + \begin{cases} + 0& \text{if $r-j$ is odd},\\ + r!\,(-1)^{(r-j)/2}& \text{if $r-j$ is even}. + \end{cases} +\end{equation} +\begin{verbatim} +\begin{equation} P_{r-j}= + \begin{cases} + 0& \text{if $r-j$ is odd},\\ + r!\,(-1)^{(r-j)/2}& \text{if $r-j$ is even}. + \end{cases} +\end{equation} +\end{verbatim} +Notice the use of \cn{text} and the embedded math. + +\subsection{Matrix} + +Here are samples of the matrix environments, +\cn{matrix}, \cn{pmatrix}, \cn{bmatrix}, \cn{Bmatrix}, \cn{vmatrix} +and \cn{Vmatrix}: +\begin{equation} +\begin{matrix} +\vartheta& \varrho\\\varphi& \varpi +\end{matrix}\quad +\begin{pmatrix} +\vartheta& \varrho\\\varphi& \varpi +\end{pmatrix}\quad +\begin{bmatrix} +\vartheta& \varrho\\\varphi& \varpi +\end{bmatrix}\quad +\begin{Bmatrix} +\vartheta& \varrho\\\varphi& \varpi +\end{Bmatrix}\quad +\begin{vmatrix} +\vartheta& \varrho\\\varphi& \varpi +\end{vmatrix}\quad +\begin{Vmatrix} +\vartheta& \varrho\\\varphi& \varpi +\end{Vmatrix} +\end{equation} +% +\begin{verbatim} +\begin{matrix} +\vartheta& \varrho\\\varphi& \varpi +\end{matrix}\quad +\begin{pmatrix} +\vartheta& \varrho\\\varphi& \varpi +\end{pmatrix}\quad +\begin{bmatrix} +\vartheta& \varrho\\\varphi& \varpi +\end{bmatrix}\quad +\begin{Bmatrix} +\vartheta& \varrho\\\varphi& \varpi +\end{Bmatrix}\quad +\begin{vmatrix} +\vartheta& \varrho\\\varphi& \varpi +\end{vmatrix}\quad +\begin{Vmatrix} +\vartheta& \varrho\\\varphi& \varpi +\end{Vmatrix} +\end{verbatim} + +To produce a small matrix suitable for use in text, use the +\env{smallmatrix} environment. +\begin{verbatim} +\begin{math} + \bigl( \begin{smallmatrix} + a&b\\ c&d + \end{smallmatrix} \bigr) +\end{math} +\end{verbatim} +To show +the effect of the matrix on the surrounding lines of +a paragraph, we put it here: \begin{math} + \bigl( \begin{smallmatrix} + a&b\\ c&d + \end{smallmatrix} \bigr) +\end{math} +and follow it with enough text to ensure that there will +be at least one full line below the matrix. + +\cn{hdotsfor}\verb"{"\textit{number}\verb"}" produces a row of dots in a matrix +spanning the given number of columns: +\[W(\Phi)= \begin{Vmatrix} +\dfrac\varphi{(\varphi_1,\varepsilon_1)}&0&\dots&0\\ +\dfrac{\varphi k_{n2}}{(\varphi_2,\varepsilon_1)}& +\dfrac\varphi{(\varphi_2,\varepsilon_2)}&\dots&0\\ +\hdotsfor{5}\\ +\dfrac{\varphi k_{n1}}{(\varphi_n,\varepsilon_1)}& +\dfrac{\varphi k_{n2}}{(\varphi_n,\varepsilon_2)}&\dots& +\dfrac{\varphi k_{n\,n-1}}{(\varphi_n,\varepsilon_{n-1})}& +\dfrac{\varphi}{(\varphi_n,\varepsilon_n)} +\end{Vmatrix}\] +\begin{verbatim} +\[W(\Phi)= \begin{Vmatrix} +\dfrac\varphi{(\varphi_1,\varepsilon_1)}&0&\dots&0\\ +\dfrac{\varphi k_{n2}}{(\varphi_2,\varepsilon_1)}& +\dfrac\varphi{(\varphi_2,\varepsilon_2)}&\dots&0\\ +\hdotsfor{5}\\ +\dfrac{\varphi k_{n1}}{(\varphi_n,\varepsilon_1)}& +\dfrac{\varphi k_{n2}}{(\varphi_n,\varepsilon_2)}&\dots& +\dfrac{\varphi k_{n\,n-1}}{(\varphi_n,\varepsilon_{n-1})}& +\dfrac{\varphi}{(\varphi_n,\varepsilon_n)} +\end{Vmatrix}\] +\end{verbatim} +The spacing of the dots can be varied through use of a square-bracket +option, for example, \verb"\hdotsfor[1.5]{3}". The number in square brackets +will be used as a multiplier; the normal value is 1. + +\subsection{The \cn{substack} command} + +The \cn{substack} command can be used to produce a multiline +subscript or superscript: +for example +\begin{verbatim} +\sum_{\substack{0\le i\le m\\ 0<j<n}} P(i,j) +\end{verbatim} +produces a two-line subscript underneath the sum: +\begin{equation} +\sum_{\substack{0\le i\le m\\ 0<j<n}} P(i,j) +\end{equation} +A slightly more generalized form is the \env{subarray} environment which +allows you to specify that each line should be left-aligned instead of +centered, as here: +\begin{equation} +\sum_{\begin{subarray}{l} + 0\le i\le m\\ 0<j<n + \end{subarray}} + P(i,j) +\end{equation} +\begin{verbatim} +\sum_{\begin{subarray}{l} + 0\le i\le m\\ 0<j<n + \end{subarray}} + P(i,j) +\end{verbatim} + + +\subsection{Big-g-g delimiters} +Here are some big delimiters, first in \cn{normalsize}: +\[\biggl(\mathbf{E}_{y} + \int_0^{t_\varepsilon}L_{x,y^x(s)}\varphi(x)\,ds + \biggr) +\] +\begin{verbatim} +\[\biggl(\mathbf{E}_{y} + \int_0^{t_\varepsilon}L_{x,y^x(s)}\varphi(x)\,ds + \biggr) +\] +\end{verbatim} +and now in \cn{Large} size: +{\Large +\[\biggl(\mathbf{E}_{y} + \int_0^{t_\varepsilon}L_{x,y^x(s)}\varphi(x)\,ds + \biggr) +\]} +\begin{verbatim} +{\Large +\[\biggl(\mathbf{E}_{y} + \int_0^{t_\varepsilon}L_{x,y^x(s)}\varphi(x)\,ds + \biggr) +\]} +\end{verbatim} + +\newpage +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\makeatletter + +%% This turns on vertical rules at the right and left margins, to +%% better illustrate the spacing for certain multiple-line equation +%% structures. +\def\@makecol{\ifvoid\footins \setbox\@outputbox\box\@cclv + \else\setbox\@outputbox + \vbox{\boxmaxdepth \maxdepth + \unvbox\@cclv\vskip\skip\footins\footnoterule\unvbox\footins}\fi + \xdef\@freelist{\@freelist\@midlist}\gdef\@midlist{}\@combinefloats + \setbox\@outputbox\hbox{\vrule width\marginrulewidth + \vbox to\@colht{\boxmaxdepth\maxdepth + \@texttop\dimen128=\dp\@outputbox\unvbox\@outputbox + \vskip-\dimen128\@textbottom}% + \vrule width\marginrulewidth}% + \global\maxdepth\@maxdepth} +\newdimen\marginrulewidth +\setlength{\marginrulewidth}{.1pt} +\makeatother + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\appendix +\section{Examples of multiple-line equation structures} +\label{s:eq} + +\textbf{\large Note: Starting on this page, vertical rules are +added at the margins so that the positioning of various display elements +with respect to the margins can be seen more clearly.} + +\subsection{Split} +The \env{split} environment is not an independent environment +but should be used inside something else such as \env{equation} +or \env{align}. + +If there is not enough room for it, the equation number for a +\env{split} will be shifted to the previous line, when equation numbers are +on the left; the number shifts down to the next line when numbers are on +the right. +\begin{equation} +\begin{split} +f_{h,\varepsilon}(x,y) +&=\varepsilon\mathbf{E}_{x,y}\int_0^{t_\varepsilon} +L_{x,y_\varepsilon(\varepsilon u)}\varphi(x)\,du\\ +&= h\int L_{x,z}\varphi(x)\rho_x(dz)\\ +&\quad+h\biggl[\frac{1}{t_\varepsilon}\biggl(\mathbf{E}_{y} + \int_0^{t_\varepsilon}L_{x,y^x(s)}\varphi(x)\,ds + -t_\varepsilon\int L_{x,z}\varphi(x)\rho_x(dz)\biggr)\\ +&\phantom{{=}+h\biggl[}+\frac{1}{t_\varepsilon} + \biggl(\mathbf{E}_{y}\int_0^{t_\varepsilon}L_{x,y^x(s)} + \varphi(x)\,ds -\mathbf{E}_{x,y}\int_0^{t_\varepsilon} + L_{x,y_\varepsilon(\varepsilon s)} + \varphi(x)\,ds\biggr)\biggr]\\ +&=h\wh{L}_x\varphi(x)+h\theta_\varepsilon(x,y), +\end{split} +\end{equation} +Some text after to test the below-display spacing. + +\begin{verbatim} +\begin{equation} +\begin{split} +f_{h,\varepsilon}(x,y) +&=\varepsilon\mathbf{E}_{x,y}\int_0^{t_\varepsilon} +L_{x,y_\varepsilon(\varepsilon u)}\varphi(x)\,du\\ +&= h\int L_{x,z}\varphi(x)\rho_x(dz)\\ +&\quad+h\biggl[\frac{1}{t_\varepsilon}\biggl(\mathbf{E}_{y} + \int_0^{t_\varepsilon}L_{x,y^x(s)}\varphi(x)\,ds + -t_\varepsilon\int L_{x,z}\varphi(x)\rho_x(dz)\biggr)\\ +&\phantom{{=}+h\biggl[}+\frac{1}{t_\varepsilon} + \biggl(\mathbf{E}_{y}\int_0^{t_\varepsilon}L_{x,y^x(s)} + \varphi(x)\,ds -\mathbf{E}_{x,y}\int_0^{t_\varepsilon} + L_{x,y_\varepsilon(\varepsilon s)} + \varphi(x)\,ds\biggr)\biggr]\\ +&=h\wh{L}_x\varphi(x)+h\theta_\varepsilon(x,y), +\end{split} +\end{equation} +\end{verbatim} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newpage +Unnumbered version: +\begin{equation*} +\begin{split} +f_{h,\varepsilon}(x,y) +&=\varepsilon\mathbf{E}_{x,y}\int_0^{t_\varepsilon} +L_{x,y_\varepsilon(\varepsilon u)}\varphi(x)\,du\\ +&= h\int L_{x,z}\varphi(x)\rho_x(dz)\\ +&\quad+h\biggl[\frac{1}{t_\varepsilon}\biggl(\mathbf{E}_{y} + \int_0^{t_\varepsilon}L_{x,y^x(s)}\varphi(x)\,ds + -t_\varepsilon\int L_{x,z}\varphi(x)\rho_x(dz)\biggr)\\ +&\phantom{{=}+h\biggl[}+\frac{1}{t_\varepsilon} + \biggl(\mathbf{E}_{y}\int_0^{t_\varepsilon}L_{x,y^x(s)} + \varphi(x)\,ds -\mathbf{E}_{x,y}\int_0^{t_\varepsilon} + L_{x,y_\varepsilon(\varepsilon s)} + \varphi(x)\,ds\biggr)\biggr]\\ +&=h\wh{L}_x\varphi(x)+h\theta_\varepsilon(x,y), +\end{split} +\end{equation*} +Some text after to test the below-display spacing. + +\begin{verbatim} +\begin{equation*} +\begin{split} +f_{h,\varepsilon}(x,y) +&=\varepsilon\mathbf{E}_{x,y}\int_0^{t_\varepsilon} +L_{x,y_\varepsilon(\varepsilon u)}\varphi(x)\,du\\ +&= h\int L_{x,z}\varphi(x)\rho_x(dz)\\ +&\quad+h\biggl[\frac{1}{t_\varepsilon}\biggl(\mathbf{E}_{y} + \int_0^{t_\varepsilon}L_{x,y^x(s)}\varphi(x)\,ds + -t_\varepsilon\int L_{x,z}\varphi(x)\rho_x(dz)\biggr)\\ +&\phantom{{=}+h\biggl[}+\frac{1}{t_\varepsilon} + \biggl(\mathbf{E}_{y}\int_0^{t_\varepsilon}L_{x,y^x(s)} + \varphi(x)\,ds -\mathbf{E}_{x,y}\int_0^{t_\varepsilon} + L_{x,y_\varepsilon(\varepsilon s)} + \varphi(x)\,ds\biggr)\biggr]\\ +&=h\wh{L}_x\varphi(x)+h\theta_\varepsilon(x,y), +\end{split} +\end{equation*} +\end{verbatim} +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newpage +If the option \env{centertags} is included in the options +list of the \pkg{amsmath} package, +the equation numbers for \env{split} environments will be +centered vertically on the height +of the \env{split}: +{\makeatletter\ctagsplit@true +\begin{equation} +\begin{split} + \abs{I_2}&=\left\lvert \int_{0}^T \psi(t)\left\{u(a,t)-\int_{\gamma(t)}^a + \frac{d\theta}{k(\theta,t)} + \int_{a}^\theta c(\xi)u_t(\xi,t)\,d\xi\right\}dt\right\rvert\\ +&\le C_6\left\lvert \left\lvert f\int_\Omega\left\lvert \wt{S}^{-1,0}_{a,-} + W_2(\Omega,\Gamma_l)\right\rvert\right\rvert + \left\lvert \abs{u}\overset{\circ}\to W_2^{\wt{A}} + (\Omega;\Gamma_r,T)\right\rvert\right\rvert. +\end{split} +\end{equation}}% +Some text after to test the below-display spacing. + +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newpage +Use of \env{split} within \env{align}: +{\delimiterfactor750 +\begin{align} +\begin{split}\abs{I_1} + &=\left\lvert \int_\Omega gRu\,d\Omega\right\rvert\\ +&\le C_3\left[\int_\Omega\left(\int_{a}^x + g(\xi,t)\,d\xi\right)^2d\Omega\right]^{1/2}\\ +&\quad\times \left[\int_\Omega\left\{u^2_x+\frac{1}{k} + \left(\int_{a}^x cu_t\,d\xi\right)^2\right\} + c\Omega\right]^{1/2}\\ +&\le C_4\left\lvert \left\lvert f\left\lvert \wt{S}^{-1,0}_{a,-} + W_2(\Omega,\Gamma_l)\right\rvert\right\rvert + \left\lvert \abs{u}\overset{\circ}\to W_2^{\wt{A}} + (\Omega;\Gamma_r,T)\right\rvert\right\rvert. +\end{split}\label{eq:A}\\ +\begin{split}\abs{I_2}&=\left\lvert \int_{0}^T \psi(t)\left\{u(a,t) + -\int_{\gamma(t)}^a\frac{d\theta}{k(\theta,t)} + \int_{a}^\theta c(\xi)u_t(\xi,t)\,d\xi\right\}dt\right\rvert\\ +&\le C_6\left\lvert \left\lvert f\int_\Omega + \left\lvert \wt{S}^{-1,0}_{a,-} + W_2(\Omega,\Gamma_l)\right\rvert\right\rvert + \left\lvert \abs{u}\overset{\circ}\to W_2^{\wt{A}} + (\Omega;\Gamma_r,T)\right\rvert\right\rvert. +\end{split} +\end{align}}% +Some text after to test the below-display spacing. + +\begin{verbatim} +\begin{align} +\begin{split}\abs{I_1} + &=\left\lvert \int_\Omega gRu\,d\Omega\right\rvert\\ +&\le C_3\left[\int_\Omega\left(\int_{a}^x + g(\xi,t)\,d\xi\right)^2d\Omega\right]^{1/2}\\ +&\quad\times \left[\int_\Omega\left\{u^2_x+\frac{1}{k} + \left(\int_{a}^x cu_t\,d\xi\right)^2\right\} + c\Omega\right]^{1/2}\\ +&\le C_4\left\lvert \left\lvert f\left\lvert \wt{S}^{-1,0}_{a,-} + W_2(\Omega,\Gamma_l)\right\rvert\right\rvert + \left\lvert \abs{u}\overset{\circ}\to W_2^{\wt{A}} + (\Omega;\Gamma_r,T)\right\rvert\right\rvert. +\end{split}\label{eq:A}\\ +\begin{split}\abs{I_2}&=\left\lvert \int_{0}^T \psi(t)\left\{u(a,t) + -\int_{\gamma(t)}^a\frac{d\theta}{k(\theta,t)} + \int_{a}^\theta c(\xi)u_t(\xi,t)\,d\xi\right\}dt\right\rvert\\ +&\le C_6\left\lvert \left\lvert f\int_\Omega + \left\lvert \wt{S}^{-1,0}_{a,-} + W_2(\Omega,\Gamma_l)\right\rvert\right\rvert + \left\lvert \abs{u}\overset{\circ}\to W_2^{\wt{A}} + (\Omega;\Gamma_r,T)\right\rvert\right\rvert. +\end{split} +\end{align} +\end{verbatim} + +%%%%%%%%%%%%%%%%%% + +\newpage +Unnumbered \env{align}, with a number on the second \env{split}: +\begin{align*} +\begin{split}\abs{I_1}&=\left\lvert \int_\Omega gRu\,d\Omega\right\rvert\\ + &\le C_3\left[\int_\Omega\left(\int_{a}^x + g(\xi,t)\,d\xi\right)^2d\Omega\right]^{1/2}\\ +&\phantom{=}\times \left[\int_\Omega\left\{u^2_x+\frac{1}{k} + \left(\int_{a}^x cu_t\,d\xi\right)^2\right\} + c\Omega\right]^{1/2}\\ +&\le C_4\left\lvert \left\lvert f\left\lvert \wt{S}^{-1,0}_{a,-} + W_2(\Omega,\Gamma_l)\right\rvert\right\rvert + \left\lvert \abs{u}\overset{\circ}\to W_2^{\wt{A}} + (\Omega;\Gamma_r,T)\right\rvert\right\rvert. +\end{split}\\ +\begin{split}\abs{I_2}&=\left\lvert \int_{0}^T \psi(t)\left\{u(a,t) + -\int_{\gamma(t)}^a\frac{d\theta}{k(\theta,t)} + \int_{a}^\theta c(\xi)u_t(\xi,t)\,d\xi\right\}dt\right\rvert\\ +&\le C_6\left\lvert \left\lvert f\int_\Omega + \left\lvert \wt{S}^{-1,0}_{a,-} + W_2(\Omega,\Gamma_l)\right\rvert\right\rvert + \left\lvert \abs{u}\overset{\circ}\to W_2^{\wt{A}} + (\Omega;\Gamma_r,T)\right\rvert\right\rvert. +\end{split}\tag{\theequation$'$} +\end{align*} +Some text after to test the below-display spacing. + +\begin{verbatim} +\begin{align*} +\begin{split}\abs{I_1}&=\left\lvert \int_\Omega gRu\,d\Omega\right\rvert\\ + &\le C_3\left[\int_\Omega\left(\int_{a}^x + g(\xi,t)\,d\xi\right)^2d\Omega\right]^{1/2}\\ +&\phantom{=}\times \left[\int_\Omega\left\{u^2_x+\frac{1}{k} + \left(\int_{a}^x cu_t\,d\xi\right)^2\right\} + c\Omega\right]^{1/2}\\ +&\le C_4\left\lvert \left\lvert f\left\lvert \wt{S}^{-1,0}_{a,-} + W_2(\Omega,\Gamma_l)\right\rvert\right\rvert + \left\lvert \abs{u}\overset{\circ}\to W_2^{\wt{A}} + (\Omega;\Gamma_r,T)\right\rvert\right\rvert. +\end{split}\\ +\begin{split}\abs{I_2}&=\left\lvert \int_{0}^T \psi(t)\left\{u(a,t) + -\int_{\gamma(t)}^a\frac{d\theta}{k(\theta,t)} + \int_{a}^\theta c(\xi)u_t(\xi,t)\,d\xi\right\}dt\right\rvert\\ +&\le C_6\left\lvert \left\lvert f\int_\Omega + \left\lvert \wt{S}^{-1,0}_{a,-} + W_2(\Omega,\Gamma_l)\right\rvert\right\rvert + \left\lvert \abs{u}\overset{\circ}\to W_2^{\wt{A}} + (\Omega;\Gamma_r,T)\right\rvert\right\rvert. +\end{split}\tag{\theequation$'$} +\end{align*} +\end{verbatim} +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newpage +\subsection{Multline} +Numbered version: +\begin{multline}\label{eq:E} +\int_a^b\biggl\{\int_a^b[f(x)^2g(y)^2+f(y)^2g(x)^2] + -2f(x)g(x)f(y)g(y)\,dx\biggr\}\,dy \\ + =\int_a^b\biggl\{g(y)^2\int_a^bf^2+f(y)^2 + \int_a^b g^2-2f(y)g(y)\int_a^b fg\biggr\}\,dy +\end{multline} +To test the use of \verb=\label= and +\verb=\ref=, we refer to the number of this +equation here: (\ref{eq:E}). + +\begin{verbatim} +\begin{multline}\label{eq:E} +\int_a^b\biggl\{\int_a^b[f(x)^2g(y)^2+f(y)^2g(x)^2] + -2f(x)g(x)f(y)g(y)\,dx\biggr\}\,dy \\ + =\int_a^b\biggl\{g(y)^2\int_a^bf^2+f(y)^2 + \int_a^b g^2-2f(y)g(y)\int_a^b fg\biggr\}\,dy +\end{multline} +\end{verbatim} +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Unnumbered version: +\begin{multline*} +\int_a^b\biggl\{\int_a^b[f(x)^2g(y)^2+f(y)^2g(x)^2] + -2f(x)g(x)f(y)g(y)\,dx\biggr\}\,dy \\ + =\int_a^b\biggl\{g(y)^2\int_a^bf^2+f(y)^2 + \int_a^b g^2-2f(y)g(y)\int_a^b fg\biggr\}\,dy +\end{multline*} +Some text after to test the below-display spacing. + +\begin{verbatim} +\begin{multline*} +\int_a^b\biggl\{\int_a^b[f(x)^2g(y)^2+f(y)^2g(x)^2] + -2f(x)g(x)f(y)g(y)\,dx\biggr\}\,dy \\ + =\int_a^b\biggl\{g(y)^2\int_a^bf^2+f(y)^2 + \int_a^b g^2-2f(y)g(y)\int_a^b fg\biggr\}\,dy +\end{multline*} +\end{verbatim} +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\iffalse % bugfix needed, error message "Multiple \tag" + % [mjd,24-Jan-1995] +\newpage +And now an ``unnumbered'' version numbered with a literal tag: +\begin{multline*}\tag*{[a]} +\int_a^b\biggl\{\int_a^b[f(x)^2g(y)^2+f(y)^2g(x)^2] + -2f(x)g(x)f(y)g(y)\,dx\biggr\}\,dy \\ + =\int_a^b\biggl\{g(y)^2\int_a^bf^2+f(y)^2 + \int_a^b g^2-2f(y)g(y)\int_a^b fg\biggr\}\,dy +\end{multline*} +Some text after to test the below-display spacing. + +\begin{verbatim} +\begin{multline*}\tag*{[a]} +\int_a^b\biggl\{\int_a^b[f(x)^2g(y)^2+f(y)^2g(x)^2] + -2f(x)g(x)f(y)g(y)\,dx\biggr\}\,dy \\ + =\int_a^b\biggl\{g(y)^2\int_a^bf^2+f(y)^2 + \int_a^b g^2-2f(y)g(y)\int_a^b fg\biggr\}\,dy +\end{multline*} +\end{verbatim} + +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +The same display with \verb=\multlinegap= set to zero. +Notice that the space on the left in +the first line does not change, because of the equation number, while +the second line is pushed over to the right margin. +{\setlength{\multlinegap}{0pt} +\begin{multline*}\tag*{[a]} +\int_a^b\biggl\{\int_a^b[f(x)^2g(y)^2+f(y)^2g(x)^2] + -2f(x)g(x)f(y)g(y)\,dx\biggr\}\,dy \\ + =\int_a^b\biggl\{g(y)^2\int_a^bf^2+f(y)^2 + \int_a^b g^2-2f(y)g(y)\int_a^b fg\biggr\}\,dy +\end{multline*}}% +Some text after to test the below-display spacing. + +\begin{verbatim} +{\setlength{\multlinegap}{0pt} +\begin{multline*}\tag*{[a]} +\int_a^b\biggl\{\int_a^b[f(x)^2g(y)^2+f(y)^2g(x)^2] + -2f(x)g(x)f(y)g(y)\,dx\biggr\}\,dy \\ + =\int_a^b\biggl\{g(y)^2\int_a^bf^2+f(y)^2 + \int_a^b g^2-2f(y)g(y)\int_a^b fg\biggr\}\,dy +\end{multline*}} +\end{verbatim} +%%%%%%%%%%%%%%%%%%%%%%%%%%% +\fi % matches \iffalse above [mjd,24-Jan-1995] + +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newpage +\subsection{Gather} +Numbered version with \verb;\notag; on the second line: +\begin{gather} +D(a,r)\equiv\{z\in\mathbf{C}\colon \abs{z-a}<r\},\\ +\seg(a,r)\equiv\{z\in\mathbf{C}\colon +\Im z= \Im a,\ \abs{z-a}<r\},\notag\\ +c(e,\theta,r)\equiv\{(x,y)\in\mathbf{C} +\colon \abs{x-e}<y\tan\theta,\ 0<y<r\},\\ +C(E,\theta,r)\equiv\bigcup_{e\in E}c(e,\theta,r). +\end{gather} +\begin{verbatim} +\begin{gather} +D(a,r)\equiv\{z\in\mathbf{C}\colon \abs{z-a}<r\},\\ +\seg(a,r)\equiv\{z\in\mathbf{C}\colon +\Im z= \Im a,\ \abs{z-a}<r\},\notag\\ +c(e,\theta,r)\equiv\{(x,y)\in\mathbf{C} +\colon \abs{x-e}<y\tan\theta,\ 0<y<r\},\\ +C(E,\theta,r)\equiv\bigcup_{e\in E}c(e,\theta,r). +\end{gather} +\end{verbatim} +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Unnumbered version. +\begin{gather*} +D(a,r)\equiv\{z\in\mathbf{C}\colon \abs{z-a}<r\},\\ +\seg (a,r)\equiv\{z\in\mathbf{C}\colon +\Im z= \Im a,\ \abs{z-a}<r\},\\ +c(e,\theta,r)\equiv\{(x,y)\in\mathbf{C} + \colon \abs{x-e}<y\tan\theta,\ 0<y<r\},\\ +C(E,\theta,r)\equiv\bigcup_{e\in E}c(e,\theta,r). +\end{gather*} +Some text after to test the below-display spacing. +\begin{verbatim} +\begin{gather*} +D(a,r)\equiv\{z\in\mathbf{C}\colon \abs{z-a}<r\},\\ +\seg (a,r)\equiv\{z\in\mathbf{C}\colon +\Im z= \Im a,\ \abs{z-a}<r\},\\ +c(e,\theta,r)\equiv\{(x,y)\in\mathbf{C} + \colon \abs{x-e}<y\tan\theta,\ 0<y<r\},\\ +C(E,\theta,r)\equiv\bigcup_{e\in E}c(e,\theta,r). +\end{gather*} +\end{verbatim} +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newpage +\subsection{Align} +Numbered version: +\begin{align} +\gamma_x(t)&=(\cos tu+\sin tx,v),\\ +\gamma_y(t)&=(u,\cos tv+\sin ty),\\ +\gamma_z(t)&=\left(\cos tu+\frac\alpha\beta\sin tv, + -\frac\beta\alpha\sin tu+\cos tv\right). +\end{align} +Some text after to test the below-display spacing. + +\begin{verbatim} +\begin{align} +\gamma_x(t)&=(\cos tu+\sin tx,v),\\ +\gamma_y(t)&=(u,\cos tv+\sin ty),\\ +\gamma_z(t)&=\left(\cos tu+\frac\alpha\beta\sin tv, + -\frac\beta\alpha\sin tu+\cos tv\right). +\end{align} +\end{verbatim} +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Unnumbered version: +\begin{align*} +\gamma_x(t)&=(\cos tu+\sin tx,v),\\ +\gamma_y(t)&=(u,\cos tv+\sin ty),\\ +\gamma_z(t)&=\left(\cos tu+\frac\alpha\beta\sin tv, + -\frac\beta\alpha\sin tu+\cos tv\right). +\end{align*} +Some text after to test the below-display spacing. + +\begin{verbatim} +\begin{align*} +\gamma_x(t)&=(\cos tu+\sin tx,v),\\ +\gamma_y(t)&=(u,\cos tv+\sin ty),\\ +\gamma_z(t)&=\left(\cos tu+\frac\alpha\beta\sin tv, + -\frac\beta\alpha\sin tu+\cos tv\right). +\end{align*} +\end{verbatim} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +A variation: +\begin{align} +x& =y && \text {by (\ref{eq:C})}\\ +x'& = y' && \text {by (\ref{eq:D})}\\ +x+x' & = y+y' && \text {by Axiom 1.} +\end{align} +Some text after to test the below-display spacing. + +\begin{verbatim} +\begin{align} +x& =y && \text {by (\ref{eq:C})}\\ +x'& = y' && \text {by (\ref{eq:D})}\\ +x+x' & = y+y' && \text {by Axiom 1.} +\end{align} +\end{verbatim} +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newpage +\subsection{Align and split within gather} +When using the \env{align} environment within the \env{gather} +environment, one or the other, or both, should be unnumbered (using the +\verb"*" form); numbering both the outer and inner environment would +cause a conflict. + +Automatically numbered \env{gather} with \env{split} and \env{align*}: +\begin{gather} +\begin{split} \varphi(x,z) +&=z-\gamma_{10}x-\gamma_{mn}x^mz^n\\ +&=z-Mr^{-1}x-Mr^{-(m+n)}x^mz^n +\end{split}\\[6pt] +\begin{align*} +\zeta^0 &=(\xi^0)^2,\\ +\zeta^1 &=\xi^0\xi^1,\\ +\zeta^2 &=(\xi^1)^2, +\end{align*} +\end{gather} +Here the \env{split} environment gets a number from the outer +\env{gather} environment; numbers for individual lines of the +\env{align*} are suppressed because of the star. + +\begin{verbatim} +\begin{gather} +\begin{split} \varphi(x,z) +&=z-\gamma_{10}x-\gamma_{mn}x^mz^n\\ +&=z-Mr^{-1}x-Mr^{-(m+n)}x^mz^n +\end{split}\\[6pt] +\begin{align*} +\zeta^0 &=(\xi^0)^2,\\ +\zeta^1 &=\xi^0\xi^1,\\ +\zeta^2 &=(\xi^1)^2, +\end{align*} +\end{gather} +\end{verbatim} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +The \verb"*"-ed form of \env{gather} with the non-\verb"*"-ed form of +\env{align}. +\begin{gather*} +\begin{split} \varphi(x,z) +&=z-\gamma_{10}x-\gamma_{mn}x^mz^n\\ +&=z-Mr^{-1}x-Mr^{-(m+n)}x^mz^n +\end{split}\\[6pt] +\begin{align} \zeta^0&=(\xi^0)^2,\\ +\zeta^1 &=\xi^0\xi^1,\\ +\zeta^2 &=(\xi^1)^2, +\end{align} +\end{gather*} +Some text after to test the below-display spacing. + +\begin{verbatim} +\begin{gather*} +\begin{split} \varphi(x,z) +&=z-\gamma_{10}x-\gamma_{mn}x^mz^n\\ +&=z-Mr^{-1}x-Mr^{-(m+n)}x^mz^n +\end{split}\\[6pt] +\begin{align} \zeta^0&=(\xi^0)^2,\\ +\zeta^1 &=\xi^0\xi^1,\\ +\zeta^2 &=(\xi^1)^2, +\end{align} +\end{gather*} +\end{verbatim} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newpage +\subsection{Alignat} +Numbered version: +\begin{alignat}{3} +V_i & =v_i - q_i v_j, & \qquad X_i & = x_i - q_i x_j, + & \qquad U_i & = u_i, + \qquad \text{for $i\ne j$;}\label{eq:B}\\ +V_j & = v_j, & \qquad X_j & = x_j, + & \qquad U_j & u_j + \sum_{i\ne j} q_i u_i. +\end{alignat} +Some text after to test the below-display spacing. + +\begin{verbatim} +\begin{alignat}{3} +V_i & =v_i - q_i v_j, & \qquad X_i & = x_i - q_i x_j, + & \qquad U_i & = u_i, + \qquad \text{for $i\ne j$;}\label{eq:B}\\ +V_j & = v_j, & \qquad X_j & = x_j, + & \qquad U_j & u_j + \sum_{i\ne j} q_i u_i. +\end{alignat} +\end{verbatim} +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Unnumbered version: +\begin{alignat*}3 +V_i & =v_i - q_i v_j, & \qquad X_i & = x_i - q_i x_j, + & \qquad U_i & = u_i, + \qquad \text{for $i\ne j$;} \\ +V_j & = v_j, & \qquad X_j & = x_j, + & \qquad U_j & u_j + \sum_{i\ne j} q_i u_i. +\end{alignat*} +Some text after to test the below-display spacing. + +\begin{verbatim} +\begin{alignat*}3 +V_i & =v_i - q_i v_j, & \qquad X_i & = x_i - q_i x_j, + & \qquad U_i & = u_i, + \qquad \text{for $i\ne j$;} \\ +V_j & = v_j, & \qquad X_j & = x_j, + & \qquad U_j & u_j + \sum_{i\ne j} q_i u_i. +\end{alignat*} +\end{verbatim} +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newpage +The most common use for \env{alignat} is for things like +\begin{alignat}{2} +x& =y && \qquad \text {by (\ref{eq:A})}\label{eq:C}\\ +x'& = y' && \qquad \text {by (\ref{eq:B})}\label{eq:D}\\ +x+x' & = y+y' && \qquad \text {by Axiom 1.} +\end{alignat} +Some text after to test the below-display spacing. + +\begin{verbatim} +\begin{alignat}{2} +x& =y && \qquad \text {by (\ref{eq:A})}\label{eq:C}\\ +x'& = y' && \qquad \text {by (\ref{eq:B})}\label{eq:D}\\ +x+x' & = y+y' && \qquad \text {by Axiom 1.} +\end{alignat} +\end{verbatim} +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newpage +\setlength{\marginrulewidth}{0pt} + +\begin{thebibliography}{10} + +\bibitem{dihe:newdir} +W.~Diffie and E.~Hellman, \emph{New directions in cryptography}, IEEE +Transactions on Information Theory \textbf{22} (1976), no.~5, 644--654. + +\bibitem{fre:cichon} +D.~H. Fremlin, \emph{Cichon's diagram}, 1983/1984, presented at the +S{\'e}minaire Initiation {\`a} l'Analyse, G. Choquet, M. Rogalski, J. +Saint Raymond, at the Universit{\'e} Pierre et Marie Curie, Paris, 23e +ann{\'e}e. + +\bibitem{gouja:lagrmeth} +I.~P. Goulden and D.~M. Jackson, \emph{The enumeration of directed +closed {E}uler trails and directed {H}amiltonian circuits by +{L}angrangian methods}, European J. Combin. \textbf{2} (1981), 131--212. + +\bibitem{hapa:graphenum} +F.~Harary and E.~M. Palmer, \emph{Graphical enumeration}, Academic +Press, 1973. + +\bibitem{imlelu:oneway} +R.~Impagliazzo, L.~Levin, and M.~Luby, \emph{Pseudo-random generation +from one-way functions}, Proc. 21st STOC (1989), ACM, New York, +pp.~12--24. + +\bibitem{komiyo:unipfunc} +M.~Kojima, S.~Mizuno, and A.~Yoshise, \emph{A new continuation method +for complementarity problems with uniform p-functions}, Tech. Report +B-194, Tokyo Inst. of Technology, Tokyo, 1987, Dept. of Information +Sciences. + +\bibitem{komiyo:lincomp} +\bysame, \emph{A polynomial-time algorithm for a class of linear +complementarity problems}, Tech. Report B-193, Tokyo Inst. of +Technology, Tokyo, 1987, Dept. of Information Sciences. + +\bibitem{liuchow:formalsum} +C.~J. Liu and Yutze Chow, \emph{On operator and formal sum methods for +graph enumeration problems}, SIAM J. Algorithms Discrete Methods +\textbf{5} (1984), 384--438. + +\bibitem{mami:matrixth} +M.~Marcus and H.~Minc, \emph{A survey of matrix theory and matrix +inequalities}, Complementary Series in Math. \textbf{14} (1964), 21--48. + +\bibitem{miyoki:lincomp} +S.~Mizuno, A.~Yoshise, and T.~Kikuchi, \emph{Practical polynomial time +algorithms for linear complementarity problems}, Tech. Report~13, Tokyo +Inst. of Technology, Tokyo, April 1988, Dept. of Industrial Engineering +and Management. + +\bibitem{moad:quadpro} +R.~D. Monteiro and I.~Adler, \emph{Interior path following primal-dual +algorithms, part {II}: Quadratic programming}, August 1987, Working +paper, Dept. of Industrial Engineering and Operations Research. + +\bibitem{ste:sint} +E.~M. Stein, \emph{Singular integrals and differentiability properties +of functions}, Princeton Univ. Press, Princeton, N.J., 1970. + +\bibitem{ye:intalg} +Y.~Ye, \emph{Interior algorithms for linear, quadratic and linearly +constrained convex programming}, Ph.D. thesis, Stanford Univ., Palo +Alto, Calif., July 1987, Dept. of Engineering--Economic Systems, +unpublished. + +\end{thebibliography} + +\end{document} +\endinput |