summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/windows/cjk-gs-integrate-macos.exe (renamed from bin/win32/cjk-gs-integrate-macos.exe)bin1536 -> 1536 bytes
-rwxr-xr-xbin/windows/getnonfreefonts-sys.exe (renamed from bin/win32/getnonfreefonts-sys.exe)bin1536 -> 1536 bytes
-rwxr-xr-xbin/windows/getnonfreefonts.exe (renamed from bin/win32/getnonfreefonts.exe)bin1536 -> 1536 bytes
-rw-r--r--ctan2tds-config.pl7
-rw-r--r--texmf-dist/bibtex/bst/siam/siamproc.bst1039
-rw-r--r--texmf-dist/doc/fonts/japanese-otf-nonfree/COPYRIGHT27
-rw-r--r--texmf-dist/doc/fonts/japanese-otf-nonfree/README21
-rw-r--r--texmf-dist/doc/fonts/japanese-otf-uptex-nonfree/README13
-rw-r--r--texmf-dist/doc/latex/fontsetup-nonfree/README2
-rw-r--r--texmf-dist/doc/latex/fontsetup-nonfree/fontsetup-nonfree-doc.pdfbin300630 -> 289785 bytes
-rw-r--r--texmf-dist/doc/latex/fontsetup-nonfree/fontsetup-nonfree-doc.tex4
-rw-r--r--texmf-dist/doc/latex/lucida-otf/Changes1
-rw-r--r--texmf-dist/doc/latex/lucida-otf/README.md2
-rw-r--r--texmf-dist/doc/latex/lucida-otf/lucida-otf-doc.fonts31
-rw-r--r--texmf-dist/doc/latex/lucida-otf/lucida-otf-doc.pdfbin223673 -> 220356 bytes
-rw-r--r--texmf-dist/doc/latex/mathtime-ltx/mathtime.txt74
-rw-r--r--texmf-dist/doc/latex/siam/README22
-rw-r--r--texmf-dist/doc/latex/siam/ltexconf.all112
-rw-r--r--texmf-dist/doc/latex/siam/ltexnec.all1923
-rw-r--r--texmf-dist/doc/latex/siam/ltexproc.all1784
-rw-r--r--texmf-dist/doc/latex/siam/makeindx/makeidx.doc9
-rw-r--r--texmf-dist/doc/latex/siam/makeindx/makeindx.tex474
-rw-r--r--texmf-dist/doc/latex/siam/proc209.all1747
-rw-r--r--texmf-dist/doc/latex/siam/proc209.tex327
-rw-r--r--texmf-dist/doc/latex/siam/proc2e.all1746
-rw-r--r--texmf-dist/doc/latex/siam/proc2e.tex326
-rw-r--r--texmf-dist/doc/latex/siam/ptexconf.all102
-rw-r--r--texmf-dist/doc/latex/siam/ptexnec.all707
-rw-r--r--texmf-dist/doc/latex/siam/ptexproc.all685
-rw-r--r--texmf-dist/doc/latex/siam/ptexproc.tex354
-rw-r--r--texmf-dist/doc/latex/siam/siamatex.tarbin0 -> 51200 bytes
-rw-r--r--texmf-dist/doc/latex/siam/siamltex.zipbin0 -> 36325 bytes
-rw-r--r--texmf-dist/doc/latex/siam/siamptex.tarbin0 -> 53248 bytes
-rw-r--r--texmf-dist/doc/latex/siam/soda209.all682
-rw-r--r--texmf-dist/doc/latex/siam/soda2e.all688
-rw-r--r--texmf-dist/doc/latex/siam/sodaptex.all722
-rw-r--r--texmf-dist/fonts/enc/dvips/mathtime-ltx/mh2scr.enc72
-rw-r--r--texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hirakaku-w3-v.ofmbin11996 -> 11996 bytes
-rw-r--r--texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hirakaku-w6-v.ofmbin11860 -> 11860 bytes
-rw-r--r--texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hiramaru-w4-v.ofmbin11860 -> 11860 bytes
-rw-r--r--texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hiramin-w3-v.ofmbin11764 -> 11764 bytes
-rw-r--r--texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hiramin-w6-v.ofmbin11664 -> 11664 bytes
-rw-r--r--texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphirakakuw3-h.tfm (renamed from texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphirakakuw3-h.tfm)bin4104 -> 4112 bytes
-rw-r--r--texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphirakakuw3-v.tfm (renamed from texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphirakakuw3-v.tfm)bin3668 -> 3696 bytes
-rw-r--r--texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphirakakuw6-h.tfm (renamed from texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphirakakuw6-h.tfm)bin3880 -> 3908 bytes
-rw-r--r--texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphirakakuw6-v.tfm (renamed from texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphirakakuw6-v.tfm)bin3528 -> 3556 bytes
-rw-r--r--texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphiramaruw4-h.tfm (renamed from texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphiramaruw4-h.tfm)bin3800 -> 3828 bytes
-rw-r--r--texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphiramaruw4-v.tfm (renamed from texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphiramaruw4-v.tfm)bin3488 -> 3516 bytes
-rw-r--r--texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphiraminw3-h.tfm (renamed from texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphiraminw3-h.tfm)bin4428 -> 4476 bytes
-rw-r--r--texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphiraminw3-v.tfmbin0 -> 3980 bytes
-rw-r--r--texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphiraminw6-h.tfm (renamed from texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphiraminw6-h.tfm)bin4404 -> 4452 bytes
-rw-r--r--texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphiraminw6-v.tfm (renamed from texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphiraminw3-v.tfm)bin3932 -> 3940 bytes
-rw-r--r--texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphiraminw6-v.tfmbin3892 -> 0 bytes
-rw-r--r--texmf-dist/fonts/vf/public/japanese-otf-nonfree/phirakakuw3-h.vfbin141700 -> 116132 bytes
-rw-r--r--texmf-dist/fonts/vf/public/japanese-otf-nonfree/phirakakuw3-v.vfbin141708 -> 116140 bytes
-rw-r--r--texmf-dist/fonts/vf/public/japanese-otf-nonfree/phirakakuw6-h.vfbin141700 -> 116132 bytes
-rw-r--r--texmf-dist/fonts/vf/public/japanese-otf-nonfree/phirakakuw6-v.vfbin141708 -> 116140 bytes
-rw-r--r--texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiramaruw4-h.vfbin141700 -> 116132 bytes
-rw-r--r--texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiramaruw4-v.vfbin141708 -> 116140 bytes
-rw-r--r--texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiraminw3-h.vfbin141700 -> 116132 bytes
-rw-r--r--texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiraminw3-v.vfbin141704 -> 116136 bytes
-rw-r--r--texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiraminw6-h.vfbin141700 -> 116132 bytes
-rw-r--r--texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiraminw6-v.vfbin141704 -> 116136 bytes
-rw-r--r--texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphirakakuw3-h.vf (renamed from texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphirakakuw3-h.vf)bin6708 -> 6744 bytes
-rw-r--r--texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphirakakuw3-v.vf (renamed from texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphirakakuw3-v.vf)bin5704 -> 5736 bytes
-rw-r--r--texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphirakakuw6-h.vf (renamed from texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphirakakuw6-h.vf)bin6708 -> 6744 bytes
-rw-r--r--texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphirakakuw6-v.vf (renamed from texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphirakakuw6-v.vf)bin5704 -> 5736 bytes
-rw-r--r--texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphiramaruw4-h.vf (renamed from texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphiramaruw4-h.vf)bin6712 -> 6744 bytes
-rw-r--r--texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphiramaruw4-v.vf (renamed from texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphiramaruw4-v.vf)bin5704 -> 5740 bytes
-rw-r--r--texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphiraminw3-h.vf (renamed from texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphiraminw3-h.vf)bin6708 -> 6740 bytes
-rw-r--r--texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphiraminw3-v.vf (renamed from texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphiraminw3-v.vf)bin5700 -> 5736 bytes
-rw-r--r--texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphiraminw6-h.vf (renamed from texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphiraminw6-h.vf)bin6708 -> 6740 bytes
-rw-r--r--texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphiraminw6-v.vf (renamed from texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphiraminw6-v.vf)bin5700 -> 5736 bytes
-rw-r--r--texmf-dist/source/latex/mathtime-ltx/mathtime.dtx1187
-rw-r--r--texmf-dist/source/latex/mathtime-ltx/mathtime.ins84
-rw-r--r--texmf-dist/source/latex/mathtime-ltx/mtfonts.fdd260
-rw-r--r--texmf-dist/tex/latex/fontsetup-nonfree/fspcambria.tex (renamed from texmf-dist/tex/latex/fontsetup-nonfree/fspcambria.sty)2
-rw-r--r--texmf-dist/tex/latex/fontsetup-nonfree/fsplucidaot.tex (renamed from texmf-dist/tex/latex/fontsetup-nonfree/fsplucidaot.sty)2
-rw-r--r--texmf-dist/tex/latex/fontsetup-nonfree/fspminion.tex (renamed from texmf-dist/tex/latex/fontsetup-nonfree/fspminion.sty)11
-rw-r--r--texmf-dist/tex/latex/fontsetup-nonfree/fspmsgaramondot.tex (renamed from texmf-dist/tex/latex/fontsetup-nonfree/fspmsgaramondot.sty)11
-rw-r--r--texmf-dist/tex/latex/fontsetup-nonfree/fsppalatinoot.tex (renamed from texmf-dist/tex/latex/fontsetup-nonfree/fsppalatinoot.sty)11
-rw-r--r--texmf-dist/tex/latex/lucida-otf/lucida-otf-kern.tex1
-rw-r--r--texmf-dist/tex/latex/lucida-otf/lucida-otf.sty8
-rw-r--r--texmf-dist/tex/latex/mathtime-ltx/mathpi.sty34
-rw-r--r--texmf-dist/tex/latex/mathtime-ltx/mathtime.sty358
-rw-r--r--texmf-dist/tex/latex/mathtime-ltx/my1mtt.fd25
-rw-r--r--texmf-dist/tex/latex/mathtime-ltx/my2mtt.fd23
-rw-r--r--texmf-dist/tex/latex/mathtime-ltx/my3mtt.fd23
-rw-r--r--texmf-dist/tex/latex/mathtime-ltx/omslby.fd23
-rw-r--r--texmf-dist/tex/latex/mathtime-ltx/umh2.fd21
-rw-r--r--texmf-dist/tex/latex/mathtime-ltx/umh2scr.fd21
-rw-r--r--texmf-dist/tex/latex/mathtime-ltx/umh6.fd21
-rw-r--r--texmf-dist/tex/latex/mathtime-ltx/umtms.fd22
-rw-r--r--texmf-dist/tex/latex/siam/proc209.sty366
-rw-r--r--texmf-dist/tex/latex/siam/proc2e.sty366
-rw-r--r--texmf-dist/tex/latex/siam/ptexproc.sty320
-rw-r--r--tlpkg/texlive.tlpdb268
-rw-r--r--tlpkg/tlpsrc/00texlive.autopatterns.tlpsrc2
-rw-r--r--tlpkg/tlpsrc/00texlive.config.tlpsrc2
-rw-r--r--tlpkg/tlpsrc/collection-contrib.tlpsrc3
-rw-r--r--tlpkg/tlpsrc/mathtime-ltx.tlpsrc (renamed from tlpkg/tlpsrc/japanese-otf-uptex-nonfree.tlpsrc)0
-rw-r--r--tlpkg/tlpsrc/siam.tlpsrc0
102 files changed, 16977 insertions, 201 deletions
diff --git a/bin/win32/cjk-gs-integrate-macos.exe b/bin/windows/cjk-gs-integrate-macos.exe
index 5777d90a..5777d90a 100755
--- a/bin/win32/cjk-gs-integrate-macos.exe
+++ b/bin/windows/cjk-gs-integrate-macos.exe
Binary files differ
diff --git a/bin/win32/getnonfreefonts-sys.exe b/bin/windows/getnonfreefonts-sys.exe
index 5777d90a..5777d90a 100755
--- a/bin/win32/getnonfreefonts-sys.exe
+++ b/bin/windows/getnonfreefonts-sys.exe
Binary files differ
diff --git a/bin/win32/getnonfreefonts.exe b/bin/windows/getnonfreefonts.exe
index 5777d90a..5777d90a 100755
--- a/bin/win32/getnonfreefonts.exe
+++ b/bin/windows/getnonfreefonts.exe
Binary files differ
diff --git a/ctan2tds-config.pl b/ctan2tds-config.pl
index 3864ffec..702656cf 100644
--- a/ctan2tds-config.pl
+++ b/ctan2tds-config.pl
@@ -9,6 +9,9 @@ $special{'thsmc'} = '&donormal';
$special{'verdana'} = '&donormal';
$special{'lucidabr'} = '&donormal';
$special{'lucold'} = '&MAKEflatten';
+$special{'lucida-otf'} = '&MAKEflatten';
+$specialdocfmt{'lucida-otf'} = "latex";
+$specialtex{'lucida-otf'} = '^lucida-otf-kern\.tex|' . $standardtex;
$special{'futurans'} = '&donormal';
$special{'pcarl'} = '&donormal';
$special{'mathstone'} = '&MAKEflatten';
@@ -46,6 +49,10 @@ $special{'ltx4yt'} = '&MAKEdps';
$special{'rmannot'} = '&MAKEdps';
$special{'eq-fetchbbl'} = '&MAKEdps';
$special{'docassembly'} = '&MAKEdps';
+$special{'siam'} = '&MAKEsiam';
+
+$special{'fontsetup-nonfree'} = '&donormal';
+$posthook{'fontsetup-nonfree'} = '&POST_onelevel';
sub MAKEdps {
diff --git a/texmf-dist/bibtex/bst/siam/siamproc.bst b/texmf-dist/bibtex/bst/siam/siamproc.bst
new file mode 100644
index 00000000..251204bd
--- /dev/null
+++ b/texmf-dist/bibtex/bst/siam/siamproc.bst
@@ -0,0 +1,1039 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% This is siamproc.bst
+% SIAM bibliography style (29-Jan-88 version)
+% numeric labels, alphabetic order, Mathematical Reviews abbreviations,
+% names in \sc, titles in italics, book titles mixed upper-lower and article
+% titles lowercase, commas separate all fields except before "notes".
+%
+% History
+% 1/30/86 (HWT) Original version, by Howard Trickey.
+% 6/15/87 (HWT) Fix format.editors---Martin Costabel.
+% 1/29/88 (OP&HWT) Updated for BibTeX version 0.99a, Oren Patashnik;
+% THIS `siam' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ 'write$
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {scapify}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\sc " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+STRINGS { last.authors }
+
+FUNCTION {init.last.authors}
+{ "" 'last.authors :=
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" 'last.authors :=
+ ""
+ }
+ { author last.authors =
+ { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" }
+ { author format.names }% scapify }
+ if$
+ author 'last.authors :=
+ }
+ if$
+}
+
+FUNCTION {format.organization}
+{ organization empty$
+ { "" 'last.authors :=
+ ""
+ }
+ { organization last.authors =
+ { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" }
+ { organization scapify }
+ if$
+ organization 'last.authors :=
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" 'last.authors :=
+ ""
+ }
+ { editor last.authors =
+ { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" }
+ { editor format.names scapify }
+ if$
+ editor num.names$ #1 >
+ { ", eds." * }
+ { ", ed." * }
+ if$
+ editor 'last.authors :=
+ }
+ if$
+}
+
+FUNCTION {format.ineditors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", eds." * }
+ { ", ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ emphasize }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "vol.~" volume *
+ series empty$
+ 'skip$
+ { " of " * series * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { "no.~" number *
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { edition "l" change.case$ "~ed." * }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp.~" pages n.dashify * }
+ { "p.~" pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.year}
+{ volume field.or.null
+ year empty$
+ { "empty year in " cite$ * warning$ }
+ { " (" year * ")" * * }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "ch.~" chapter * }
+ { type "l" change.case$ chapter tie.or.space.connect }
+ if$
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "in " booktitle * }
+ { "in " booktitle * ", " * format.ineditors * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "l" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Tech. Rep." }
+ 'type
+ if$
+ number empty$
+ { "l" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "in " journal * }
+ if$
+ }
+ { "in " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "in "
+ }
+ { "vol.~" volume *
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "in " booktitle * }
+ if$
+ }
+ { "in " key * }
+ if$
+ }
+ { "in " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { journal "journal" output.check
+ format.vol.year output
+ }
+ { format.article.crossref output.nonnull }
+ if$
+ format.pages output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ format.title "title" output.check
+ howpublished new.block.checka
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull }
+ if$
+ format.chapter.pages output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull }
+ if$
+ format.pages output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { format.organization output }
+ { format.authors output.nonnull }
+ if$
+ format.btitle "title" output.check
+ author empty$
+ 'skip$
+ { organization output }
+ if$
+ address output
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.btitle "title" output.check
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { format.organization output }
+ { format.editors output.nonnull }
+ if$
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+MACRO {acmcs} {"ACM Comput. Surveys"}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Comm. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~Assoc. Comput. Mach."}
+
+MACRO {jcss} {"J.~Comput. System Sci."}
+
+MACRO {scp} {"Sci. Comput. Programming"}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Gr."}
+
+MACRO {toms} {"ACM Trans. Math. Softw."}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+
+MACRO {tcs} {"Theoretical Comput. Sci."}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+EXECUTE {init.last.authors}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/texmf-dist/doc/fonts/japanese-otf-nonfree/COPYRIGHT b/texmf-dist/doc/fonts/japanese-otf-nonfree/COPYRIGHT
new file mode 100644
index 00000000..aa57e578
--- /dev/null
+++ b/texmf-dist/doc/fonts/japanese-otf-nonfree/COPYRIGHT
@@ -0,0 +1,27 @@
+Copyright (C) 2003--2019 SAITO Shuzaburo and INOUE Koichi
+Copyright (C) 2007--2023 TANAKA Takuji
+Copyright (C) 2017--2023 Japanese TeX Development Community
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. Neither the name of the author may be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/texmf-dist/doc/fonts/japanese-otf-nonfree/README b/texmf-dist/doc/fonts/japanese-otf-nonfree/README
index 1852e120..4a0c189f 100644
--- a/texmf-dist/doc/fonts/japanese-otf-nonfree/README
+++ b/texmf-dist/doc/fonts/japanese-otf-nonfree/README
@@ -1,13 +1,22 @@
-package name: otfbeta-nonfree or japanese-otf-nonfree
+package name: japanese-otf-nonfree
-This package is a companion to `otf' or `japanese-otf' including
+This package is a companion to `japanese-otf' including
support for nonfree Hiragino fonts, which we decided not to be
included in TeX Live. Current version of this package used is
based on
- otfbeta.zip v1.7b8 2019/04/01
+ otfbeta v1.7b8 (2019/04/01)
+and
+ japanese-otf-uptex Ver.0.30 (2023/10/08)
+
+The source code is maintained at GitHub:
+ https://github.com/texjporg/japanese-otf-mirror
+If you find any issues or bugs, please report to
+ https://github.com/texjporg/japanese-otf-mirror/issues
+or
+ e-mail: issue@texjp.org
The contents of this package is under the license given in the
-COPYRIGHT file, which is more or less BSD license.
+COPYRIGHT file, which is the 3-clause BSD license.
-Norbert Preining
-20201114.0
+Japanese TeX Development Community
+20231009.0
diff --git a/texmf-dist/doc/fonts/japanese-otf-uptex-nonfree/README b/texmf-dist/doc/fonts/japanese-otf-uptex-nonfree/README
deleted file mode 100644
index 34fafb68..00000000
--- a/texmf-dist/doc/fonts/japanese-otf-uptex-nonfree/README
+++ /dev/null
@@ -1,13 +0,0 @@
-package name: japanese-otf-uptex-nonfree
-
-This package is a companion to `japanese-otf-uptex' including
-support for nonfree Hiragino fonts, which we decided not to be
-included in TeX Live. Current version of this package used is
-based on
- japanese-otf-uptex Ver.0.26 2020/11/08
-
-The contents of this package is under the license given in the
-COPYRIGHT file, which is more or less BSD license.
-
-Norbert Preining
-20201114.0
diff --git a/texmf-dist/doc/latex/fontsetup-nonfree/README b/texmf-dist/doc/latex/fontsetup-nonfree/README
index 5a68a220..e31a6808 100644
--- a/texmf-dist/doc/latex/fontsetup-nonfree/README
+++ b/texmf-dist/doc/latex/fontsetup-nonfree/README
@@ -1,5 +1,5 @@
The fontsetup-nonfree package
- (Version 1.02, GPL3)
+ (Version 2.0, GPL3)
This package accompanies fontsetup, and inludes support for nonfree fonts.
diff --git a/texmf-dist/doc/latex/fontsetup-nonfree/fontsetup-nonfree-doc.pdf b/texmf-dist/doc/latex/fontsetup-nonfree/fontsetup-nonfree-doc.pdf
index 071b8771..89828d7b 100644
--- a/texmf-dist/doc/latex/fontsetup-nonfree/fontsetup-nonfree-doc.pdf
+++ b/texmf-dist/doc/latex/fontsetup-nonfree/fontsetup-nonfree-doc.pdf
Binary files differ
diff --git a/texmf-dist/doc/latex/fontsetup-nonfree/fontsetup-nonfree-doc.tex b/texmf-dist/doc/latex/fontsetup-nonfree/fontsetup-nonfree-doc.tex
index 5711b01a..8ba3e055 100644
--- a/texmf-dist/doc/latex/fontsetup-nonfree/fontsetup-nonfree-doc.tex
+++ b/texmf-dist/doc/latex/fontsetup-nonfree/fontsetup-nonfree-doc.tex
@@ -9,8 +9,8 @@
\textit{by}\\[1ex]
{\large Antonis Tsolomitis}\\
University of the Aegean\\ Department of Mathematics\\[1ex]
- \textsc{3} May \textsc{2021}\\[1ex]
- Version 1.02, \textsc{gpl3}
+ \textsc{14} December \textsc{2023}\\[1ex]
+ Version 2.0, \textsc{gpl3}
\end{center}
This package is part of the fontsetup package but for license issues it has been
diff --git a/texmf-dist/doc/latex/lucida-otf/Changes b/texmf-dist/doc/latex/lucida-otf/Changes
index 1479c4ab..d2e60a82 100644
--- a/texmf-dist/doc/latex/lucida-otf/Changes
+++ b/texmf-dist/doc/latex/lucida-otf/Changes
@@ -1,3 +1,4 @@
+0.09 2023-06-16 - fix for missing italic in regular fit
0.08 2018-03-31 - rename the kerning file
0.07 2018-03-29 - extended kerning table for LuaLaTeX
0.06 2018-03-26 - added kerning table for LuaLaTeX
diff --git a/texmf-dist/doc/latex/lucida-otf/README.md b/texmf-dist/doc/latex/lucida-otf/README.md
index 7ce52ef0..1343c97e 100644
--- a/texmf-dist/doc/latex/lucida-otf/README.md
+++ b/texmf-dist/doc/latex/lucida-otf/README.md
@@ -31,3 +31,5 @@ Following font files are supported:
- LucidaSansTypewriterOT-Bold.otf
- LucidaSansTypewriterOT-Oblique.otf
- LucidaSansTypewriterOT.otf
+
+Herbert Voß 2023 -
diff --git a/texmf-dist/doc/latex/lucida-otf/lucida-otf-doc.fonts b/texmf-dist/doc/latex/lucida-otf/lucida-otf-doc.fonts
deleted file mode 100644
index 9a9812ca..00000000
--- a/texmf-dist/doc/latex/lucida-otf/lucida-otf-doc.fonts
+++ /dev/null
@@ -1,31 +0,0 @@
-name type encoding emb sub uni object ID
------------------------------------- ----------------- ---------------- --- --- --- ---------
-BZJGDF+LucidaBrightOT CID Type 0C Identity-H yes yes yes 28 0
-OUEYKT+LucidaBrightOT-Demibold CID Type 0C Identity-H yes yes yes 30 0
-KQWZOC+LucidaBrightOT-Italic CID Type 0C Identity-H yes yes yes 37 0
-EGHOZK+LucidaSansTypewriterOT CID Type 0C Identity-H yes yes yes 38 0
-JKNIKI+LucidaSansTypewriterOT-Oblique CID Type 0C Identity-H yes yes yes 39 0
-DNYNRV+LucidaBrightOT-DemiboldItalic CID Type 0C Identity-H yes yes yes 49 0
-YHDTXW+LucidaSansOT CID Type 0C Identity-H yes yes yes 50 0
-TSYNBM+LucidaSansOT-Italic CID Type 0C Identity-H yes yes yes 51 0
-ZBOWTG+LucidaSansOT-Demibold CID Type 0C Identity-H yes yes yes 56 0
-CBPZCR+LucidaSansOT-DemiboldItalic CID Type 0C Identity-H yes yes yes 57 0
-XULIVE+LucidaSansTypewriterOT-Bold CID Type 0C Identity-H yes yes yes 58 0
-RCJVJU+LucidaSansTypewriterOT-BoldOblique CID Type 0C Identity-H yes yes yes 59 0
-AHHNBA+LucidaGrandeMonoDK CID Type 0C Identity-H yes yes yes 60 0
-NIAALZ+LucidaGrandeMonoDK-Italic CID Type 0C Identity-H yes yes yes 65 0
-CGHAFT+LucidaGrandeMonoDK-Bold CID Type 0C Identity-H yes yes yes 66 0
-QRPBBK+LucidaGrandeMonoDK-BoldItalic CID Type 0C Identity-H yes yes yes 67 0
-BBEZKA+LucidaConsoleDK CID Type 0C Identity-H yes yes yes 68 0
-ZJFTAW+LucidaConsoleDK-Italic CID Type 0C Identity-H yes yes yes 69 0
-UBFFLP+LucidaConsoleDK-Bold CID Type 0C Identity-H yes yes yes 70 0
-DTAMTW+LucidaConsoleDK-BoldItalic CID Type 0C Identity-H yes yes yes 75 0
-FOWDUC+LucidaBlackletterOT CID Type 0C Identity-H yes yes yes 76 0
-BRNAUX+LucidaCalligraphyOT-Italic CID Type 0C Identity-H yes yes yes 77 0
-GSIBVZ+LucidaHandwritingOT-Italic CID Type 0C Identity-H yes yes yes 78 0
-YBYGGX+LucidaBrightMathOT CID Type 0C Identity-H yes yes yes 79 0
-FHKOND+LucidaBrightMathOT CID Type 0C Identity-H yes yes yes 80 0
-IJDQZC+LucidaBrightMathOT CID Type 0C Identity-H yes yes yes 81 0
-XVGNVQ+LucidaBrightMathOT-Demibold CID Type 0C Identity-H yes yes yes 90 0
-MVXVTK+LucidaBrightMathOT-Demibold CID Type 0C Identity-H yes yes yes 91 0
-TRUGVI+LucidaBrightMathOT-Demibold CID Type 0C Identity-H yes yes yes 92 0
diff --git a/texmf-dist/doc/latex/lucida-otf/lucida-otf-doc.pdf b/texmf-dist/doc/latex/lucida-otf/lucida-otf-doc.pdf
index 0d86ac7c..ed6d7e52 100644
--- a/texmf-dist/doc/latex/lucida-otf/lucida-otf-doc.pdf
+++ b/texmf-dist/doc/latex/lucida-otf/lucida-otf-doc.pdf
Binary files differ
diff --git a/texmf-dist/doc/latex/mathtime-ltx/mathtime.txt b/texmf-dist/doc/latex/mathtime-ltx/mathtime.txt
new file mode 100644
index 00000000..087b3008
--- /dev/null
+++ b/texmf-dist/doc/latex/mathtime-ltx/mathtime.txt
@@ -0,0 +1,74 @@
+%% Copyright 1996 1997 Frank Mittelbach David Carlisle
+%%
+%% Development of this package was commissioned by Y&Y Inc.
+%% http://www.yandy.com
+
+
+ The `mathtime' package for accessing MathTime fonts
+ ===================================================
+ Frank Mittelbach David Carlisle
+
+
+This package enables the use of MathTime (including MathTime Plus)
+fonts in LaTeX documents.
+
+The basic usage is simply to add \usepackage{mathtime} to your
+document preamble, however there are several options to control the
+behaviour, as described in the documentation.
+
+Installation
+============
+ (Please note instructions differ depending on whether
+ or not the MathTime Plus font set is available, and on
+ the age of your LaTeX.)
+
+1)
+If you are using a Case Sensitive file system (such as UNIX)
+and your LaTeX is older then the release of 1996/12/01 then edit the
+file mathtime.ins to uncomment the line that is marked by the first
+ %%%% IMPORTANT NOTE %%%%%.
+This will cause `fd' files to be written in the old style (MY1mtt.fd)
+rather than the new style (my1mtt.fd). On DOS or other case insensitive
+systems this step may be omitted as MY1mtt.fd and my1mtt.fd refer to
+the same file.
+
+2)
+If you have the basic MathTime font set, but not the bold math fonts
+and other fonts that make up the MathTime Plus (or MathTime Complete)
+font sets, then you should edit mathtime.ins to uncomment the line
+marked by the second
+ %%%% IMPORTANT NOTE %%%%%.
+This will cause the fd files written by the installation process
+to refer to the more restricted set of fonts that you have available.
+
+3)
+The documented source of the packages is the file mathtime.dtx.
+The sources of the `font descriptor files' that make the external
+font files known to LaTeX are in the file mtfonts.fdd.
+
+To generate the package files and font descriptor files you should
+run:
+
+latex mathtime.ins
+
+An identical mathtime.sty will be produced however you may have
+edited mathtime.ins, but the `fd' files will be modified to match
+your local installation, as documented above.
+
+In addition to mathtime.sty, a package mathpi.sty will also be produced
+making available math fonts from the Adobe Math Pi font set.
+These .sty files and all the .fd files that are produced should be
+placed in a directory on TeX's input path.
+
+A PostScript header file, mh2scr.enc will also be produced
+this will need to be included by your dvi driver if you are using the
+Adobe Math Pi 2 font.
+
+Further documentation on the packages may be obtained by running LaTeX
+on the document sources, typically by a command such as
+
+latex mathtime.dtx
+
+
+
+
diff --git a/texmf-dist/doc/latex/siam/README b/texmf-dist/doc/latex/siam/README
new file mode 100644
index 00000000..cfa75021
--- /dev/null
+++ b/texmf-dist/doc/latex/siam/README
@@ -0,0 +1,22 @@
+This directory contains archives of macro packages for various SIAM
+publications. For SIAM journal articles written in LaTeX, download siamltex.zip
+and see the header of siamltex.cls within for more instructions. For other
+publications, ask your editor what is needed.
+
+You are not allowed to change the files in these archives.
+
+You are allowed to distribute a file in an archive under the condition that it
+is distributed together with all other files in that archive. If you receive
+only some of the files in an archive from someone, complain!
+
+You are NOT ALLOWED to distribute any file in one of these archives by itself.
+You are NOT ALLOWED to take money for the distribution or use of either one of
+these files or a changed version of it, except for a nominal charge for copying
+etc.
+
+In situations not covered by the above instructions, the LaTeX Project Public
+License applies.
+
+
+--
+Stephen Cipolone <cipolone@siam.org> 2006-11-29
diff --git a/texmf-dist/doc/latex/siam/ltexconf.all b/texmf-dist/doc/latex/siam/ltexconf.all
new file mode 100644
index 00000000..2e4a638f
--- /dev/null
+++ b/texmf-dist/doc/latex/siam/ltexconf.all
@@ -0,0 +1,112 @@
+
+Please answer the following:
+
+1. Name of conference
+
+2. Type of Presentation
+ Contributed: Lecture form
+ Poster form
+ Minisymposium:
+
+3. Equipment for Visual Support
+ Lecture Form/Minisymposium:
+ Overhead Projector
+ 2" x 2" Slide Projector (35mm)
+ Poster Form:
+ Easel Poster Board
+ Other (specify)
+
+More sophisticated equipment can be provided, but you may be
+required to pay the rental fee. For details, indicate your
+requirements below:
+
+
+4. If you are a speaker in a minisymposium, who is the organizer?
+
+5. What is the minisymposium title?
+
+6. If more than one author, who will present the paper?
+
+% This is a macro file for creating a SIAM Conference abstract in
+% LaTeX.
+%
+% If you have any questions regarding these macros contact:
+% Lillian Hunt
+% SIAM
+% 3600 University City Center Center
+% Philadelphia, PA 19104-2688
+% USA
+% (215) 382-9800
+% e-mail:meetings@siam.org
+
+
+\hsize=25.5pc
+\vsize=50pc
+\textheight 50pc
+\textwidth 25.5pc
+\parskip 0pt
+\parindent 0pt
+\pagestyle{plain}
+
+\def\title#1{\bf{#1}\vspace{6pt}}
+\def\abstract#1{\rm {#1}\vspace{6pt}}
+\def\author#1{\rm {#1}\vfill\eject}
+
+% end of style file
+
+% This is ltexconf.tex. Use this file as an example file for doing an SIAM
+% Conference abstract in LaTeX.
+
+
+\documentstyle[ltexconf]{report}
+\begin{document}
+
+\title{Numerical Analysis of a 1-Dimensional
+Immersed-Boundary\\ Method}
+
+\abstract{We present the numerical analysis of a simplified,
+one-dimensional version
+of Peskin's immersed boundary method, which has been used to
+solve
+the two- and three-dimensional Navier-Stokes equations in the
+presence of immersed boundaries. We consider the heat
+equation
+ in a finite domain with a moving source term.
+We denote the solution as $u(x,t)$ and the location of the
+source
+ term as $X(t)$. The source term is a moving delta function
+whose strength is a function of u at the location of the
+delta function.
+The p.d.e. is coupled to an ordinary differential equation
+whose
+solution gives the location of the source term.
+ The o.d.e. is $X'(t) = u(X(t),t)$, which can be interpreted as
+saying the source term moves at the local velocity.
+The accuracy the numerical method of solution depends on how
+the
+delta function is discretized when the delta function is not
+at
+a grid point and on how the solution, u, is represented
+ at locations between grid points. We present results showing
+the effect of different choices of spreading the source to
+the grid and
+of restricting the solution to the source location.
+The problem we analyze is also similar to the Stefan problem
+and
+the immersed-boundary method has features in common with
+particle-in-cell
+ methods.}
+ \author{\underbar{Richard P. Beyer, Jr.}\\
+University of Washington, Seattle, WA\\
+Randall J. LeVeque\\
+University of Washington, Seattle, WA}
+
+\end{document}
+
+% end of example file.
+
+
+
+Please furnish complete addresses all co-authors.
+
+PLEASE INDICATE WHAT CONFERENCE ABSTRACT IS FOR.
diff --git a/texmf-dist/doc/latex/siam/ltexnec.all b/texmf-dist/doc/latex/siam/ltexnec.all
new file mode 100644
index 00000000..9b22936a
--- /dev/null
+++ b/texmf-dist/doc/latex/siam/ltexnec.all
@@ -0,0 +1,1923 @@
+
+This file (ltexnec.all) constitutes the full distribution for NEC Proceedings
+Series LaTeX version macros. The files included here are:
+
+ltexnec.tex (An example file, also containing documentation)
+
+ltexnec.sty (The style file)
+
+siamproc.bst (for BiBTeX users)
+
+To use these macros, separate the files at the indicated cut lines.
+
+%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+% This is ltexnec.tex, an example file for use with the NEC
+% Proceedings Series macros.
+% Please take the time to read the following comments, as they describe
+% how to use these macros. This file can be composed and printed out for
+% use as sample output.
+
+% Any comments or questions regarding these macros should be directed to:
+%
+% Corey Gray
+% SIAM
+% 3600 University City Science Center
+% Philadelphia, PA 19104-2688
+% USA
+% Telephone: (215) 382-9800
+% Fax: (215) 386-7999
+% e-mail: gray@siam.org
+
+
+% This file is to be used as an example for style only. It should not be read
+% for content.
+
+%%%%%%%%%%%%%%% PLEASE NOTE THE FOLLOWING STYLE RESTRICTIONS %%%%%%%%%%%%%%%
+
+%% 1. There are no new tags. Existing LaTeX tags have been formatted to
+%% match the Proceedings series style.
+%%
+%% 2. You must use \cite in the text to mark your reference citations and
+%% \bibitem in the listing of references at the end of your chapter. See
+%% the examples in the following file. The file siam.bst has been
+%% included for use with BiBTeX. Please be sure to include the appropriate
+%% .bib file with BiBTeX submissions. You may also submit the .bbl file
+%% instead of the .bib file.
+%%
+%% 3. Unless otherwise stated by your editor, do your chapter as if it
+%% is Chapter 1. The appropriate chapter number will be included during
+%% the production of the proceedings.
+%%
+%% 4. This macro is set up for three levels of headings (\section,
+%% \subsection, and \subsubsection). The macro will automatically number
+%% the headings for you.
+%%
+%% 5. The running heads are indicated by the \markboth command. Please
+%% define the running heads by placing the authors last names in the
+%% first field and the title of the paper in the second field.
+%% They should be typed initial cap and lower case. Please see the example.
+%% Neither field can contain more than 50 characters including spaces,
+%% so please use a shortened version of the title if necessary. For
+%% papers with multiple authors please follow these rules; for
+%% two authors type {Author 1 and Author 2}; for more that two authors type
+%% {Author 1 et al.}.
+%%
+%% 6. Theorems, Lemmas, Definitions, etc. are to be double-numbered,
+%% indicating the section and the occurrence of that element
+%% within that section. (For example, the first theorem in the second
+%% section would be numbered 2.1. The macro will
+%% automatically do the numbering for you.
+%%
+%% 7. Proofs are handled with the commands \begin{proof}\end{proof}.
+%% If you wish to use an end of proof box, use \qed preceding \end{proof}.
+%% The example uses one. It is not required.
+%%
+%% 8. Figures, equations, and tables must be single-numbered. All equation
+%% numbers are to be on the left. Figure captions should be placed under
+%% the figures they pertain to. Table captions should be placed above
+%% the tables. Use existing LaTeX tags for these elements. Numbering of
+%% these elements will be done automatically. SIAM supports the use of
+%% psfig for including Postscript figures. All Postscript figures should be
+%% sent as separate files. A hardcopy version of all Postscript figures
+%% is also required. See note regarding this under How to Submit Your Paper.
+%%
+%% 9. Grant information and author affiliations.
+%% This information is included in the file with the two commands,
+%% \thanks and \footnotemark []. (See example). The \thanks command
+%% produces a footnote for the title or author, and places the
+%% appropriate footnote symbol with the title or author and at the
+%% bottom of the page. The \footnotemark [] command allows the use of
+%% duplicate footnote symbols. This macro follows the normal LaTeX order
+%% of footnote symbols. Below is a list of these symbols, and their
+%% corresponding footnotemark:
+%%
+%% asterisk \footnotemark[1]
+%% single-dagger \footnotemark[2]
+%% double-dagger \footnotemark[3]
+%% section sign \footnotemark[4]
+%% paragraph \footnotemark[5]
+%% parallel \footnotemark[6]
+%% double asterisk \footnotemark[7]
+%% double single-dagger \footnotemark[8]
+%% double double-dagger \footnotemark[9]
+%%
+%% The following general rules for grants and affiliations apply:
+%% a) If there is a single grant for the paper, then the grant
+%% information should be footnoted to the title.
+%% b) If there is more than one grant, include the grant information
+%% with each author's affiliation.
+%% c) If there are different grants for the paper but the authors share
+%% the same affiliation, footnote the grant information to the title.
+%% For example, The work of the first author was supported by xyz.
+%% The work of the second author was supported by abc. And so on.
+%% d) For authors sharing the same affiliation, use \thanks for the
+%% first author with that affiliation and the appropriate
+%% \footnotemark[] (from the list above) for all subsequent authors
+%% with that affiliation.
+%%
+%% 10. Special fonts.
+%% SIAM supports the use of AMS-TeX fonts version 2.0 and later. As
+%% described in the manual for these fonts, they can be included by
+%% \input{amssym.def} and \input{amssym.tex}. These macros are not yet
+%% updated to make use of the New Font Selection Scheme (NFSS) of
+%% Mittelbach and Schopf. To make these macros compatible with NFSS, use
+%% the oldlfont style option.
+%%
+%% 11. How to Submit Your Paper.
+%% The electronic version of your paper should be sent to proceed@siam.org.
+%% A hardcopy version must also be submitted. Instructions are included
+%% in your acceptance letter. Please be sure to send hardcopy
+%% versions of any Postscript figures you have submitted electronically.
+%% Be sure to return your signed Copyright Transfer Agreement. We cannot
+%% publish your paper without it.
+%%
+%%
+%%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%-
+%%%
+
+
+\documentstyle[leqno,twoside,11pt,ltexnec]{article} %You must set up your
+ %\documentstyle line like this.
+
+
+\begin{document}
+\cleardoublepage
+\pagestyle{myheadings}
+
+\title{Chapter 1\\
+NEC Proceedings Series Macros\\
+ for Use With LaTeX\thanks{Any information regarding grants should be placed
+here.}}
+\author{J. Corey Gray\thanks{Production Manager, Society for Industrial and Applied
+Mathematics, Philadelphia, PA.}
+\and
+Tricia Manning\thanks{Publications Specialist, Society for Industrial and Applied
+Mathematics, Philadelphia, PA.}
+\and
+Vickie Kearn\thanks{Publisher, Society for Industrial and Applied Mathematics,
+Philadelphia, PA.}\\
+\and
+Nancy Abbott\thanks{Design Supervisor, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+\and
+Sue Ciambrano\thanks{Acquisitions Editor, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+\and
+Paul Duggan\thanks{Composition Specialist, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+\and
+Robbi Anne Albert\thanks{Production Assistant, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+\and
+Jean Anderson\thanks{Composition Coordinator, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+}
+\date{}
+\maketitle
+\markboth{Gray et al.}{SIAM Proceedings Series Macros} % See section 5 above
+ % for explanation.
+\pagenumbering{arabic}
+
+\begin{abstract}An equivalence is shown between realizability of input/output (i/o) operators by
+rational control systems and high-order algebraic differential equations for
+i/o pairs. This generalizes, to nonlinear systems, the equivalence
+between autoregressive representations and finite dimensional linear
+realizability. \end{abstract}
+\section{Problem Specification}In this paper, we consider the solution of the $N \times
+N$ linear
+system
+\begin{equation} \label{e1.1}
+\cos \sin A x = b
+\end{equation}
+where $A$ is large, sparse, symmetric, and positive definite. We consider
+the direct solution of (\ref{e1.1}) by means of general sparse Gaussian
+elimination. In such a procedure, we find a permutation matrix $P$, and
+compute the decomposition
+\[
+P A P^{t} = L D L^{t}
+\]
+where $L$ is unit lower triangular and $D$ is diagonal.
+
+
+\section{Design Considerations}Several good ordering algorithms (nested dissection and
+minimum degree)
+are available for computing $P$ \cite{GEORGELIU}, \cite{ROSE72}.
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+
+\begin{theorem} The method was extended to three
+dimensions. For the standard multigrid
+coarsening
+(in which, for a given grid, the next coarser grid has $1/8$
+as many points), anisotropic problems require plane
+relaxation to
+obtain a good smoothing factor.\end{theorem}
+
+Several good ordering algorithms (nested dissection and minimum degree)
+are available for computing $P$ \cite{GEORGELIU}, \cite{ROSE72}.
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+
+\begin{proof} In this paper we consider two methods. The first method
+is
+basically the method considered with two differences:
+first, we perform plane relaxation by a two-dimensional
+multigrid method, and second, we use a slightly different
+choice of
+interpolation operator, which improves performance
+for nearly singular problems. In the second method coarsening
+is done by successively coarsening in each of the three
+independent variables and then ignoring the intermediate
+grids; this artifice simplifies coding considerably.\qed
+\end{proof}
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+
+\begin{Definition}{\rm We describe the two methods in \S 1.2. In \S\ 1.3. we
+discuss
+some remaining details.}
+\end{Definition}
+
+\begin{figure}
+\vspace*{24pc}
+\caption{This is figure 1.}
+\end{figure}
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination.
+
+\begin{lemma} We discuss first the choice for $I_{k-1}^k$
+which is a generalization. We assume that $G^{k-1}$ is
+obtained
+from $G^k$
+by standard coarsening; that is, if $G^k$ is a tensor product
+grid $G_{x}^k \times G_{y}^k \times G_{z}^k$,
+$G^{k-1}=G_{x}^{k-1} \times G_{y}^{k-1} \times G_{z}^{k-1}$,
+where $G_{x}^{k-1}$ is obtained by deleting every other grid
+point of $G_x^k$ and similarly for $G_{y}^k$ and $G_{z}^k$.
+\end{lemma}
+
+This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+\cite{EISENSTAT} - \cite{LIU2}, \cite{ROSE76}, \cite{SCHREIBER}.
+
+\subsection{Robustness}
+We do not
+attempt to present an overview
+here, but rather attempt to focus on those results that
+are relevant to our particular algorithm.
+This section assumes prior knowledge of the role of graph theory
+in sparse Gaussian elimination; surveys of this role are
+available in \cite{ROSE72} and \cite{GEORGELIU}. More general
+discussions of elimination trees are given in
+\cite{LAW} - \cite{LIU2}, \cite{SCHREIBER}.
+Thus, at the $k$th stage, the bordering algorithm consists of
+solving the lower triangular system
+\begin{equation} \label{1.2}
+ L_{k-1}v = c
+\end{equation}
+and setting
+\begin{eqnarray}
+\ell &=& D^{-1}_{k-1}v , \\
+\delta &=& \alpha - \ell^{t} v .
+\end{eqnarray}
+
+\subsubsection{Versatility.} We do not
+attempt to present an overview
+here, but rather attempt to focus on those results that
+are relevant to our particular algorithm.
+
+\section{Conclusions} The special
+structure of this problem allows us to make exact estimates of
+the complexity. For the old approach, we show that the
+complexity of the intersection problem is $O(n^{3})$, the same
+as the complexity of the numerical computations
+\cite{GEORGELIU}, \cite{ROSEWHITTEN}. For the
+new approach, the complexity of the second part is reduced to
+$O(n^{2} (\log n)^{2})$.
+
+\begin{thebibliography}{99}
+
+
+\bibitem{BANKSMITH}
+R.~E. Bank and R.~K. Smith, {\em General sparse elimination requires no
+ permanent integer storage}, SIAM J. Sci. Stat. Comput., 8 (1987),
+ pp.~574--584.
+
+\bibitem{EISENSTAT}
+S.~C. Eisenstat, M.~C. Gursky, M.~Schultz, and A.~Sherman, {\em
+ Algorithms and data structures for sparse symmetric gaussian elimination},
+ SIAM J. Sci. Stat. Comput., 2 (1982), pp.~225--237.
+
+\bibitem{GEORGELIU}
+A.~George and J.~Liu, {\em Computer Solution of Large Sparse Positive
+ Definite Systems}, Prentice Hall, Englewood Cliffs, NJ, 1981.
+
+\bibitem{LAW}
+K.~H. Law and S.~J. Fenves, {\em A node addition model for symbolic
+ factorization}, ACM TOMS, 12 (1986), pp.~37--50.
+
+\bibitem{LIU}
+J.~W.~H. Liu, {\em A compact row storage scheme for cholesky factors
+ using elimination trees}, ACM TOMS, 12 (1986), pp.~127--148.
+
+\bibitem{LIU2}
+\sameauthor , {\em The role of
+ elimination trees in sparse factorization}, Tech. Report CS-87-12,Department
+ of Computer Science, York University, Ontario, Canada, 1987.
+
+\bibitem{ROSE72}
+D.~J. Rose, {\em A graph theoretic study of the numeric solution of
+ sparse positive definite systems}, in Graph Theory and Computing, AcademicΠPress, New
+York, 1972.
+
+\bibitem{ROSE76}
+D.~J. Rose, R.~E. Tarjan, and G.~S. Lueker, {\em Algorithmic aspects of
+ vertex elimination on graphs}, SIAM J. Comput., 5 (1976), pp.~226--283.
+
+\bibitem{ROSEWHITTEN}
+D.~J. Rose and G.~F. Whitten, {\em A recursive analysis of disection
+ strategies}, in Sparse Matrix Computations, Academic Press, New York, 1976.
+
+\bibitem{SCHREIBER}
+R.~Schrieber, {\em A new implementation of sparse gaussian elimination},
+ ACM TOMS, 8 (1982), pp.~256--276.
+
+\end{thebibliography}
+
+\end{document}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%
+%
+% This file may be freely distributed but may not be altered in any way.
+% Any comments or questions regarding these macros should be directed to:
+
+% Corey Gray
+% SIAM
+% 3600 University City Science Center
+% Philadelphia, PA 19104-2688
+% USA
+% Telephone: (215) 382-9800
+% Fax: (215) 386-7999
+% e-mail: gray@siam.org
+
+% This is a file of macros and definitions for creating a chapter for
+% publication in the NEC Proceedings series using LaTeX.
+
+% Report the version.
+\message{*** NEC LaTeX Proceedings Series macro package, version 1.0,
+July 10, 1992 ***}
+%\input proceed.sty
+
+\pretolerance=800
+\tolerance=10000
+\sloppy
+
+
+\vsize=49pc
+\hsize=30pc
+\baselineskip=13pt
+\hoffset -.5in
+\voffset -.5in
+\footskip=18pt
+\topmargin 24pt
+\headheight 12pt
+\headsep 17pt
+\textheight 49pc \advance\textheight by \topskip
+\textwidth 30pc
+\parskip 0pt
+\parindent 18pt
+\def\topfraction{.9}
+\def\textfraction{.1}
+\def\topnumber{2}
+%% footnotes to be set 8/10
+\def\footnotesize{\@setsize\footnotesize{11pt}\ixpt\@ixpt
+ % \indent
+ \abovedisplayskip \z@
+ \belowdisplayskip\z@
+ \abovedisplayshortskip\abovedisplayskip
+ \belowdisplayshortskip\belowdisplayshortskip
+\def\@listi{\leftmargin\leftmargini \topsep 3pt plus 1pt minus 1pt
+ \parsep 2pt plus 1pt minus 1pt
+ \itemsep \parsep}}
+
+\let\referencesize\footnotesize
+
+\footnotesep 0pt
+
+\skip\footins 12pt plus 12pt
+
+\def\footnoterule{\kern3\p@ \hrule width 3em\vspace{3pt}} % the \hrule is
+%.4pt high
+
+
+\def\ps@plain{\let\@mkboth\@gobbletwo
+ \def\@oddfoot{{\hfil\small\thepage\hfil}}%
+ \def\@evenfoot{{\hfil\small\thepage\hfil}}%
+\def\@oddhead{}
+ \def\@evenhead{}%\def\@evenfoot{}
+}
+
+
+
+\def\ps@headings{\let\@mkboth\markboth
+ \def\@oddfoot{}\def\@evenfoot{}%
+ \def\@evenhead{{\rm\thepage}\hspace*{2pc}{\small\leftmark}\hfil}%
+
+\def\@oddhead{\hfil{\noindent\small\rightmark}\hspace*{2pc}{\rm\thepage}}%
+
+% \def\chaptermark##1{\markboth{\uppercase{%
+ % {\protect\small\@chapapp}\
+%{\protect\small\thechapter}}}%
+ % {\uppercase{##1}}}%
+ }
+
+
+\def\ps@myheadings{\let\@mkboth\@gobbletwo
+ \def\@oddfoot{}\def\@evenfoot{}%
+
+\def\@oddhead{\hfil{\small\rightmark}\hspace*{2pc}{\normalsize\rm\thepage}}
+%
+
+\def\@evenhead{{\normalsize\rm\thepage}\hspace*{2pc}{\small\leftmark}\hfil}
+%
+% \def\chaptermark##1{}%
+ % \def\sectionmark##1{}\def\subsectionmark##1{}}
+}
+
+
+
+\def\theequation{\arabic{equation}}
+%\def\theequation{\arabic{chapter}.\arabic{equation}}
+
+\def\abstract{\if@twocolumn
+\section*{Abstract}
+\else \small
+\begin{center}
+{\bf Abstract\vspace{-.5em}\vspace{3pt}}
+\end{center}
+\quotation
+\fi}
+\def\endabstract{\if@twocolumn\else\endquotation\fi}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% THEOREMS, PROOFS, ALGORITHMS %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%% defined proof environment by theorem model (took out counter)
+
+\def\newproof#1{\@nprf{#1}}
+
+\def\@nprf#1#2{\@xnprf{#1}{#2}}
+
+\def\@xnprf#1#2{\expandafter\@ifdefinable\csname #1\endcsname
+\global\@namedef{#1}{\@prf{#1}{#2}}\global\@namedef{end#1}{\@endproof}}
+
+\def\@prf#1#2{\@xprf{#1}{#2}}
+
+\def\@xprf#1#2{\@beginproof{#2}{\csname the#1\endcsname}\ignorespaces}
+
+
+
+%%% defined algorithm environment by theorem model
+
+\def\newalgorithm#1{\@ifnextchar[{\@oalg{#1}}{\@nalg{#1}}}
+
+\def\@nalg#1#2{%
+\@ifnextchar[{\@xnalg{#1}{#2}}{\@ynalg{#1}{#2}}}
+
+\def\@xnalg#1#2[#3]{\expandafter\@ifdefinable\csname #1\endcsname
+{\@definecounter{#1}\@addtoreset{#1}{#3}%
+\expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand
+ \csname the#3\endcsname \@thmcountersep \@thmcounter{#1}}%
+\global\@namedef{#1}{\@alg{#1}{#2}}\global\@namedef{end#1}{\@endalgorithm}}
+}
+
+\def\@ynalg#1#2{\expandafter\@ifdefinable\csname #1\endcsname
+{\@definecounter{#1}%
+\expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
+\global\@namedef{#1}{\@alg{#1}{#2}}\global\@namedef{end#1}{\@endalgorithm}}
+}
+
+\def\@oalg#1[#2]#3{\expandafter\@ifdefinable\csname #1\endcsname
+ {\global\@namedef{the#1}{\@nameuse{the#2}}%
+\global\@namedef{#1}{\@alg{#2}{#3}}%
+\global\@namedef{end#1}{\@endalgorithm}}}
+
+\def\@alg#1#2{\refstepcounter
+ {#1}\@ifnextchar[{\@yalg{#1}{#2}}{\@xalg{#1}{#2}}}
+
+\def\@xalg#1#2{\@beginalgorithm{#2}{\csname the#1\endcsname}\ignorespaces}
+\def\@yalg#1#2[#3]{\@opargbeginalgorithm{#2}{\csname
+ the#1\endcsname}{#3}\ignorespaces}
+
+
+
+
+\def\@beginproof#1{\rm {\it #1.\ }}
+\def\@endproof{\outerparskip 0pt\endtrivlist}
+
+\def\@begintheorem#1#2{\it {\sc #1\ #2.\ }}
+\def\@opargbegintheorem#1#2#3{\it
+ {\sc #1\ #2\ (#3).\ }}
+\def\@endtheorem{\outerparskip 0pt\endtrivlist}
+
+%\def\@begindefinition#1#2{\rm \trivlist \item[\hskip \labelsep{\sc #1\#2.}]}
+%\def\@opargbegindefinition#1#2#3{\rm \trivlist
+% \item[\hskip \labelsep{\sc #1\ #2.\ (#3)}]}
+%\def\@enddefinition{\outerparskip 0pt\endtrivlist}
+
+
+\def\@beginalgorithm#1#2{\rm \trivlist \item[\hskip \labelsep{\sc #1\#2.}]}
+\def\@opargbeginalgorithm#1#2#3{\rm \trivlist
+ \item[\hskip \labelsep{\sc #1\ #2.\ (#3)}]}
+\def\@endalgorithm{\outerparskip 6pt\endtrivlist}
+
+
+\newskip\outerparskip
+
+\def\trivlist{\parsep\outerparskip
+ \@trivlist \labelwidth\z@ \leftmargin\z@
+ \itemindent\parindent \def\makelabel##1{##1}}
+
+\def\@trivlist{\topsep=0pt\@topsepadd\topsep
+ \if@noskipsec \leavevmode \fi
+ \ifvmode \advance\@topsepadd\partopsep \else \unskip\par\fi
+ \if@inlabel \@noparitemtrue \@noparlisttrue
+ \else \@noparlistfalse \@topsep\@topsepadd \fi
+ \advance\@topsep \parskip
+ \leftskip\z@\rightskip\@rightskip \parfillskip\@flushglue
+ \@setpar{\if@newlist\else{\@@par}\fi}%
+ \global\@newlisttrue \@outerparskip\parskip}
+
+
+\def\endtrivlist{\if@newlist\@noitemerr\fi
+ \if@inlabel\indent\fi
+ \ifhmode\unskip \par\fi
+ \if@noparlist \else
+ \ifdim\lastskip >\z@ \@tempskipa\lastskip \vskip -\lastskip
+ \advance\@tempskipa\parskip \advance\@tempskipa -\@outerparskip
+ \vskip\@tempskipa
+ \fi\@endparenv\fi
+ \vskip\outerparskip}
+
+
+
+ \newproof{@proof}{Proof}
+ \newenvironment{proof}{\begin{@proof}}{\end{@proof}}
+
+ \newtheorem{@theorem}{Theorem}[section]
+ \newenvironment{theorem}{\begin{@theorem}}{\end{@theorem}}
+
+% \newalgorithm{@algorithm}{Algorithm}[section]
+% \newenvironment{algorithm}{\begin{@algorithm}}{\end{@algorithm}}
+
+
+
+\newtheorem{lemma}{Lemma}[section]
+\newtheorem{fact}{Fact}[section]
+\newtheorem{corollary}{Corollary}[section]
+\newtheorem{axiom}{Axiom}[section]
+\newtheorem{cond}{Condition}[section]
+\newtheorem{property}{Property}[section]
+\newtheorem{proposition}{Proposition}[section]
+
+\newtheorem{Conjecture}{Conjecture}[section]
+\newtheorem{Corollary}{Corollary}[section]
+\newtheorem{Definition}{Definition}[section]
+\newtheorem{Lemma}{Lemma}[section]
+\newtheorem{Remark}{Remark}[section]
+
+\newproof{Example}{Example}
+\newproof{Method}{Method}
+\newproof{Exercise}{Exercise}
+
+\def\qed{{\qquad \vbox{\hrule\hbox{%
+ \vrule height1.3ex\hskip0.8ex\vrule}\hrule
+ }}\par}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% TABLE AND FIGURE CAPTIONS %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \def\@figtxt{figure}
+\long\def\@makecaption#1#2{\small
+\setlength{\parindent}{18pt}
+\baselineskip 14pt
+ \ifx\@captype\@figtxt
+ \vskip 10pt
+ \setbox\@tempboxa\hbox{{\sc #1} {\it #2}}
+ \ifdim \wd\@tempboxa >\hsize {\sc #1} {\it #2}\par \else \hbox
+to\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi\else\hbox to\hsize{\hfil{\sc #1}\hfil}%
+ \setbox\@tempboxa\hbox{{\it #2}}%
+ \ifdim \wd\@tempboxa >\hsize {\it #2}\par \else
+ \hbox to \hsize{\hfil\box\@tempboxa\hfil}\fi
+ \vskip 10pt
+ \fi}
+
+
+%\newif\iftable \global\tablefalse
+
+
+%\long\def\@makecaption#1#2{%
+%\setlength{\parindent}{18pt}
+% \vskip 12pt
+% \iftable
+ % \hbox to \hsize{\hfil\sc #1\hfil}
+ % \hbox to \hsize{\hfil\it #2\hfil}
+ % \global\tablefalse
+ % \else
+ % \setbox\@tempboxa\hbox{{\small#1} {\small\it#2}}
+ % \ifdim \wd\@tempboxa >\hsize
+ % \indent{\small#1}{\small\it#2}\par
+ % \else
+ % \hbox to\hsize{\hfil\box\@tempboxa\hfil}\fi
+ % \fi}
+% \vskip 6pt}
+
+
+
+%\def\figure{\global\tablefalse\@float{figure}}
+\def\fnum@figure{\par\sc Fig. \thefigure.\ }
+%\def\fnum@figure{\par\sc Fig. \thefigure\ }
+
+%\def\table{\global\tabletrue\@float{table}}
+\def\fnum@table{\small \sc Table \thetable}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% CHAPTER %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%\def\@chapapp{Chapter}
+
+%\def\@makechapterhead#1{%
+ % \vspace*{8pt}
+ % \vtop to 11pc{\leftskip=0pc \parindent 0pt
+ % \begin{center}{\large \@chapapp}%\end{flushright}%%%
+ % {\large \baselineskip=26pt\ \thechapter}\end{center}\vskip-8pt
+% \vrule width 31pc height .5pt\par %
+ % \vspace*{6pt}%
+ % \baselineskip=18pt\begin{center}{\Large#1 }\end{center}\par
+ % \vfil}}
+
+%\def\@makeschapterhead#1{%
+ % \vspace*{8pt}
+ % \vtop to 11pc{\leftskip=0pc \parindent 0pt
+ % \vtop to 26pt{\vfill}\vskip-8pt
+ % \vrule width 31pc height .5pt\par %
+% % \vspace*{6pt}%
+ % {\Large #1}\par
+ % \vfil}}
+
+
+%\def\chapter{\cleardoublepage \thispagestyle{plain} \global\@topnum\z@
+ % \@afterindentfalse \secdef\@chapter\@schapter}
+
+%\def\author#1{\vspace*{-6.25pc}\begin{center}{#1}\end{center}
+ % \par\vspace*{4pc}}
+%\def\chaptermark#1{}
+
+%\def\@chapter[#1]#2{%
+ % \refstepcounter{chapter}
+ % \typeout{Chapter\space\thechapter.}
+% % \addcontentsline{toc}{chapter}{CHAPTER\ \thechapter. #1}
+ % \protect\addtocontents{lof}{\protect\addvspace{10pt}}
+ % \protect\addtocontents{lot}{\protect\addvspace{10pt}}
+ % \chaptermark{#1}
+ % \@makechapterhead{#2}
+ % \@afterheading}
+
+
+
+%\def\@schapter#1{\@makeschapterhead{#1}
+ % \@afterheading}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% SECTIONS %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\section{\@startsection {section}{1}{\z@}{-3.5ex plus -1ex minus
+ -.2ex}{2.3ex plus .2ex}{\large\bf}}
+\def\subsection{\@startsection{subsection}{2}{\z@}{-3.25ex plus -1ex minus
+ -.2ex}{1.5ex plus .2ex}{\large\bf}}
+\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-3.25ex plus
+ -1ex minus -.2ex}{1.5ex plus .2ex}{\large\bf}}
+%\renewcommand{\section}{\@startsection {section}{1}{\z@}{-3.5ex plus -1ex
+%minus
+% -.2ex}{2.3ex plus .2ex}{\large\bf}}
+
+%\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth
+% \def\@svsec{}\else
+% \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname.\hskip .75em
+%}\fi%
+%
+ % \@tempskipa #5\relax
+ % \ifdim \@tempskipa>\z@
+ % \begingroup #6\relax
+ % \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par}
+ % \endgroup
+% \csname #1mark\endcsname{#7}\addcontentsline
+ %{toc}{#1}{\ifnum #2>\c@secnumdepth \else
+ % \protect\numberline{\csname the#1\endcsname}\fi
+ % #7}\else
+ % \def\@svsechd{#6\hskip #3\@svsec #8\hskip1em\csname #1mark\endcsname
+
+ % {#7}\addcontentsline
+ % {toc}{#1}{\ifnum #2>\c@secnumdepth \else
+ % \protect\numberline{\csname the#1\endcsname}\fi
+ % #7}}\fi
+ % \@xsect{#5}}
+
+
+ %\@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}
+%\def\section{\@startsection{section}{1}{0pt}{-12pt}{3pt}{\hyphenpenalty=\@
+%M
+%\exhyphenpenalty=\@M\normalsize\bf}}
+%\def\subsection{\@startsection{subsection}{2}{0pt}{-12pt}{0pt}{\normalsize
+%\bf}
+%}
+%\def\subsubsection{\@startsection
+% {subsubsection}{3}{0pt}{-12pt}{0pt}{\normalsize\bf}}
+%\def\paragraph{\@startsection
+% {paragraph}{4}{\parindent}{0pt}{0pt}{\normalsize\bf}}
+%\def\subparagraph{\@startsection
+% {subparagraph}{4}{\parindent}{0pt}{0pt}{\normalsize\bf}}
+%\def\thepart{\Roman{part}}
+%\def\thesection {\arabic{section}.}
+%\def\thesubsection {\thesection\arabic{subsection}.}
+%\def\thesubsubsection {\thesubsection .\arabic{subsubsection}.}
+%\def\theparagraph {\thesubsubsection.\arabic{paragraph}.}
+%\def\thesubparagraph {\theparagraph.\arabic{subparagraph}.}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% TOC %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% sets chapter in toc
+%\def\l@chapter#1#2{\pagebreak[3]
+% \hbox to \hsize{\null\hskip2pc
+% \llap{\hbox to\@pnumwidth{\hss#2}\hskip2pc}%
+% #1\hfill}\vskip1pc}
+
+
+%%% set so only chapters print in TOC
+%\def\@dottedtocline#1#2#3#4#5{\relax}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% BIBLIOGRAPHY %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\def\thebibliography#1{%
+%\cleardoublepage
+\parindent 0em
+\vspace{9pt}
+\begin{flushleft}\large\bf {References}\end{flushleft}
+\addvspace{3pt}\nopagebreak\list
+ %% default is no labels, for those not using \cite or BibTeX
+{[\arabic{enumi}]} {\settowidth\labelwidth{[#1]}
+%%{[\arabic{enumi}]}{\settowidth\labelwidth{mm}
+\leftmargin\labelwidth
+\leftmargin=12pt
+ \advance\leftmargin\labelsep
+ \usecounter{enumi}\@bibsetup}
+\def\newblock{\hskip .11em plus .33em minus -.07em}
+ \sloppy\clubpenalty4000\widowpenalty4000
+ \sfcode`\.=1000\relax}
+
+%\def\thebibliography#1{%
+%\cleardoublepage
+%\parindent 0em
+%\vspace{9pt}
+%\begin{flushleft}\Large\bf{References} \end{flushleft}
+%\addvspace{3pt}\nopagebreak\list
+%% %% default is no labels, for those not using \cite or BibTeX
+%%% {[\arabic{enumi}]} {\settowidth\labelwidth{[#1]}
+%{[\arabic{enumi}]}{\settowidth\labelwidth{mm}
+%%{}{\settowidth\labelwidth{mm}
+%\leftmargin\labelwidth
+%\advance
+%\leftmargin 0pt \itemindent -16pt
+% \usecounter{enumi}\@bibsetup}
+%\def\newblock{\hskip .11em plus .33em minus -.07em}
+% \sloppy\clubpenalty4000\widowpenalty4000
+% \sfcode`\.=1000\relax}
+
+%% setup 8/10 type
+\def\@bibsetup{%\itemindent=0pt
+\itemsep=0pt \parsep=0pt
+\small}
+
+\def\sameauthor{\leavevmode\vrule height 2pt depth -1.6pt width 23pt}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% INDEX %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%makeindex.sty official version 6.4
+%The second line came from /usr/misc/lib/tex82/report.sty.
+
+\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
+\columnseprule \z@
+\columnsep 35pt\twocolumn[\chapter*{Index}]
+ \parskip\z@ plus .3pt\relax\let\item\@idxitem}
+
+
+\def\printindex{\cleardoublepage\markboth{INDEX}{INDEX}
+\addcontentsline{toc}{chapter}{Index}\@input{\jobname.ind}}
+
+\ps@headings
+
+
+%%% end of original style file
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+% SIAM bibliography style (29-Jan-88 version)
+% numeric labels, alphabetic order, Mathematical Reviews abbreviations,
+% names in \sc, titles in italics, book titles mixed upper-lower and article
+% titles lowercase, commas separate all fields except before "notes".
+%
+% History
+% 1/30/86 (HWT) Original version, by Howard Trickey.
+% 6/15/87 (HWT) Fix format.editors---Martin Costabel.
+% 1/29/88 (OP&HWT) Updated for BibTeX version 0.99a, Oren Patashnik;
+% THIS `siam' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ 'write$
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {scapify}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\sc " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+STRINGS { last.authors }
+
+FUNCTION {init.last.authors}
+{ "" 'last.authors :=
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" 'last.authors :=
+ ""
+ }
+ { author last.authors =
+ { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" }
+ { author format.names }% scapify }
+ if$
+ author 'last.authors :=
+ }
+ if$
+}
+
+FUNCTION {format.organization}
+{ organization empty$
+ { "" 'last.authors :=
+ ""
+ }
+ { organization last.authors =
+ { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" }
+ { organization scapify }
+ if$
+ organization 'last.authors :=
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" 'last.authors :=
+ ""
+ }
+ { editor last.authors =
+ { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" }
+ { editor format.names scapify }
+ if$
+ editor num.names$ #1 >
+ { ", eds." * }
+ { ", ed." * }
+ if$
+ editor 'last.authors :=
+ }
+ if$
+}
+
+FUNCTION {format.ineditors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", eds." * }
+ { ", ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ emphasize }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "vol.~" volume *
+ series empty$
+ 'skip$
+ { " of " * series * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { "no.~" number *
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { edition "l" change.case$ "~ed." * }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp.~" pages n.dashify * }
+ { "p.~" pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.year}
+{ volume field.or.null
+ year empty$
+ { "empty year in " cite$ * warning$ }
+ { " (" year * ")" * * }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "ch.~" chapter * }
+ { type "l" change.case$ chapter tie.or.space.connect }
+ if$
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "in " booktitle * }
+ { "in " booktitle * ", " * format.ineditors * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "l" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Tech. Rep." }
+ 'type
+ if$
+ number empty$
+ { "l" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "in " journal * }
+ if$
+ }
+ { "in " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "in "
+ }
+ { "vol.~" volume *
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "in " booktitle * }
+ if$
+ }
+ { "in " key * }
+ if$
+ }
+ { "in " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { journal "journal" output.check
+ format.vol.year output
+ }
+ { format.article.crossref output.nonnull }
+ if$
+ format.pages output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ format.title "title" output.check
+ howpublished new.block.checka
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull }
+ if$
+ format.chapter.pages output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull }
+ if$
+ format.pages output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { format.organization output }
+ { format.authors output.nonnull }
+ if$
+ format.btitle "title" output.check
+ author empty$
+ 'skip$
+ { organization output }
+ if$
+ address output
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.btitle "title" output.check
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { format.organization output }
+ { format.editors output.nonnull }
+ if$
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+MACRO {acmcs} {"ACM Comput. Surveys"}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Comm. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~Assoc. Comput. Mach."}
+
+MACRO {jcss} {"J.~Comput. System Sci."}
+
+MACRO {scp} {"Sci. Comput. Programming"}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Gr."}
+
+MACRO {toms} {"ACM Trans. Math. Softw."}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+
+MACRO {tcs} {"Theoretical Comput. Sci."}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+EXECUTE {init.last.authors}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib} \ No newline at end of file
diff --git a/texmf-dist/doc/latex/siam/ltexproc.all b/texmf-dist/doc/latex/siam/ltexproc.all
new file mode 100644
index 00000000..61283eec
--- /dev/null
+++ b/texmf-dist/doc/latex/siam/ltexproc.all
@@ -0,0 +1,1784 @@
+
+
+This file constitutes the full distribution for SIAM Proceedings
+Series LaTeX version macros. The files included here are:
+
+ltexproc.tex (An example file, also containing documentation)
+
+ltexproc.sty (The style file)
+
+siamproc.bst (for BiBTeX users)
+
+To use these macros, separate the files at the indicated cut lines.
+
+%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% This is ltexproc.tex, an example file for use with the SIAM LaTeX
+% Proceedings Series macros.
+% Please take the time to read the following comments, as they describe
+% how to use these macros. This file can be composed and printed out for
+% use as sample output.
+
+% Any comments or questions regarding these macros should be directed to:
+%
+% Corey Gray
+% SIAM
+% 3600 University City Science Center
+% Philadelphia, PA 19104-2688
+% USA
+% Telephone: (215) 382-9800
+% Fax: (215) 386-7999
+% e-mail: gray@siam.org
+
+
+% This file is to be used as an example for style only. It should not be read
+% for content.
+
+%%%%%%%%%%%%%%% PLEASE NOTE THE FOLLOWING STYLE RESTRICTIONS %%%%%%%%%%%%%%%
+
+%% 1. There are no new tags. Existing LaTeX tags have been formatted to
+%% match the Proceedings series style.
+%%
+%% 2. You must use \cite in the text to mark your reference citations and
+%% \bibitem in the listing of references at the end of your chapter. See
+%% the examples in the following file. The file siamproc.bst has been
+%% included for use with BiBTeX. Please be sure to include the appropriate
+%% .bib file with BiBTeX submissions. You may also submit the .bbl file
+%% instead of the .bib file.
+%%
+%% 3. Unless otherwise stated by your editor, do your chapter as if it
+%% is Chapter 1. The appropriate chapter number will be included during
+%% the production of the proceedings.
+%%
+%% 4. This macro is set up for three levels of headings (\section,
+%% \subsection, and \subsubsection). The macro will automatically number
+%% the headings for you.
+%%
+%% 5. The running heads are indicated by the \markboth command. Please
+%% define the running heads by placing the authors last names in the
+%% first field and the title of the paper in the second field.
+%% They should be typed initial cap and lower case. Please see the example.
+%% Neither field can contain more than 50 characters including spaces,
+%% so please use a shortened version of the title if necessary. For
+%% papers with multiple authors please follow these rules; for
+%% two authors type {Author 1 and Author 2}; for more that two authors type
+%% {Author 1 et al.}.
+%%
+%% 6. Theorems, Lemmas, Definitions, etc. are to be double-numbered,
+%% indicating the section and the occurrence of that element
+%% within that section. (For example, the first theorem in the second
+%% section would be numbered 2.1. The macro will
+%% automatically do the numbering for you.
+%%
+%% 7. Proofs are handled with the commands \begin{proof}\end{proof}.
+%% If you wish to use an end of proof box, use \qed preceding \end{proof}.
+%% The example uses one. It is not required.
+%%
+%% 8. Figures, equations, and tables must be single-numbered. All equation
+%% numbers are to be on the left. Figure captions should be placed under
+%% the figures they pertain to. Table captions should be placed above
+%% the tables. Use existing LaTeX tags for these elements. Numbering of
+%% these elements will be done automatically. SIAM supports the use of
+%% psfig for including Postscript figures. All Postscript figures should be
+%% sent as separate files. A hardcopy version of all Postscript figures
+%% is also required. See note regarding this under How to Submit Your Paper.
+%%
+%% 9. Grant information and author affiliations.
+%% This information is included in the file with the two commands,
+%% \thanks and \footnotemark []. (See example). The \thanks command
+%% produces a footnote for the title or author, and places the
+%% appropriate footnote symbol with the title or author and at the
+%% bottom of the page. The \footnotemark [] command allows the use of
+%% duplicate footnote symbols. This macro follows the normal LaTeX order
+%% of footnote symbols. Below is a list of these symbols, and their
+%% corresponding footnotemark:
+%%
+%% asterisk \footnotemark[1]
+%% single-dagger \footnotemark[2]
+%% double-dagger \footnotemark[3]
+%% section sign \footnotemark[4]
+%% paragraph \footnotemark[5]
+%% parallel \footnotemark[6]
+%% double asterisk \footnotemark[7]
+%% double single-dagger \footnotemark[8]
+%% double double-dagger \footnotemark[9]
+%%
+%% The following general rules for grants and affiliations apply:
+%% a) If there is a single grant for the paper, then the grant
+%% information should be footnoted to the title.
+%% b) If there is more than one grant, include the grant information
+%% with each author's affiliation.
+%% c) If there are different grants for the paper but the authors share
+%% the same affiliation, footnote the grant information to the title.
+%% For example, The work of the first author was supported by xyz.
+%% The work of the second author was supported by abc. And so on.
+%% d) For authors sharing the same affiliation, use \thanks for the
+%% first author with that affiliation and the appropriate
+%% \footnotemark[] (from the list above) for all subsequent authors
+%% with that affiliation.
+%%
+%% 10. Special fonts.
+%% SIAM supports the use of AMS-TeX fonts version 2.0 and later. As
+%% described in the manual for these fonts, they can be included by
+%% \input{amssym.def} and \input{amssym.tex}. These macros are not yet
+%% updated to make use of the New Font Selection Scheme (NFSS) of
+%% Mittelbach and Schopf. To make these macros compatible with NFSS, use
+%% the oldlfont style option.
+%%
+%% 11. How to Submit Your Paper.
+%% The electronic version of your paper should be sent to proceed@siam.org.
+%% A hardcopy version should also be submitted. Instructions are included
+%% in your acceptance letter. Please be sure to send hardcopy
+%% versions of any Postscript figures you have submitted electronically.
+%% Be sure to return your signed Copyright Transfer Agreement. We cannot
+%% publish your paper without it.
+%%
+%%
+%%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%-
+%%%
+
+
+\documentstyle[leqno,twoside,11pt,ltexproc]{article} %You must set up your
+ %\documentstyle line like this.
+
+
+\begin{document}
+\cleardoublepage
+\pagestyle{myheadings}
+
+\title{Chapter 1\\
+SIAM Proceedings Series Macros\\
+ for Use With LaTeX\thanks{Any information regarding grants should be placed
+here.}}
+\author{J. Corey Gray\thanks{Production Manager, Society for Industrial and Applied
+Mathematics, Philadelphia, PA.}
+\and
+Tricia Manning\thanks{Publications Specialist, Society for Industrial and Applied
+Mathematics, Philadelphia, PA.}
+\and
+Vickie Kearn\thanks{Publisher, Society for Industrial and Applied Mathematics,
+Philadelphia, PA.}\\
+\and
+Nancy Abbott\thanks{Design Supervisor, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+\and
+Sue Ciambrano\thanks{Acquisitions Editor, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+\and
+Paul Duggan\thanks{Composition Specialist, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+\and
+Robbi Anne Albert\thanks{Production Assistant, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+\and
+Jean Anderson\thanks{Composition Coordinator, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+}
+\date{}
+\maketitle
+\markboth{Gray et al.}{SIAM Proceedings Series Macros} % See section 5 above
+ % for explanation.
+\pagenumbering{arabic}
+
+\begin{abstract}An equivalence is shown between realizability of input/output (i/o) operators by
+rational control systems and high-order algebraic differential equations for
+i/o pairs. This generalizes, to nonlinear systems, the equivalence
+between autoregressive representations and finite dimensional linear
+realizability. \end{abstract}
+\section{Problem Specification}In this paper, we consider the solution of the $N \times
+N$ linear
+system
+\begin{equation} \label{e1.1}
+\cos \sin A x = b
+\end{equation}
+where $A$ is large, sparse, symmetric, and positive definite. We consider
+the direct solution of (\ref{e1.1}) by means of general sparse Gaussian
+elimination. In such a procedure, we find a permutation matrix $P$, and
+compute the decomposition
+\[
+P A P^{t} = L D L^{t}
+\]
+where $L$ is unit lower triangular and $D$ is diagonal.
+
+
+\section{Design Considerations}Several good ordering algorithms (nested dissection and
+minimum degree)
+are available for computing $P$ \cite{GEORGELIU}, \cite{ROSE72}.
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+
+\begin{theorem} The method was extended to three
+dimensions. For the standard multigrid
+coarsening
+(in which, for a given grid, the next coarser grid has $1/8$
+as many points), anisotropic problems require plane
+relaxation to
+obtain a good smoothing factor.\end{theorem}
+
+Several good ordering algorithms (nested dissection and minimum degree)
+are available for computing $P$ \cite{GEORGELIU}, \cite{ROSE72}.
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+
+\begin{proof} In this paper we consider two methods. The first method
+is
+basically the method considered with two differences:
+first, we perform plane relaxation by a two-dimensional
+multigrid method, and second, we use a slightly different
+choice of
+interpolation operator, which improves performance
+for nearly singular problems. In the second method coarsening
+is done by successively coarsening in each of the three
+independent variables and then ignoring the intermediate
+grids; this artifice simplifies coding considerably.\qed
+\end{proof}
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+
+\begin{Definition}{\rm We describe the two methods in \S 1.2. In \S\ 1.3. we
+discuss
+some remaining details.}
+\end{Definition}
+
+\begin{figure}
+\vspace*{24pc}
+\caption{This is figure 1.}
+\end{figure}
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination.
+
+\begin{lemma} We discuss first the choice for $I_{k-1}^k$
+which is a generalization. We assume that $G^{k-1}$ is
+obtained
+from $G^k$
+by standard coarsening; that is, if $G^k$ is a tensor product
+grid $G_{x}^k \times G_{y}^k \times G_{z}^k$,
+$G^{k-1}=G_{x}^{k-1} \times G_{y}^{k-1} \times G_{z}^{k-1}$,
+where $G_{x}^{k-1}$ is obtained by deleting every other grid
+point of $G_x^k$ and similarly for $G_{y}^k$ and $G_{z}^k$.
+\end{lemma}
+
+This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+\cite{EISENSTAT} - \cite{LIU2}, \cite{ROSE76}, \cite{SCHREIBER}.
+
+\subsection{Robustness}
+We do not
+attempt to present an overview
+here, but rather attempt to focus on those results that
+are relevant to our particular algorithm.
+This section assumes prior knowledge of the role of graph theory
+in sparse Gaussian elimination; surveys of this role are
+available in \cite{ROSE72} and \cite{GEORGELIU}. More general
+discussions of elimination trees are given in
+\cite{LAW} - \cite{LIU2}, \cite{SCHREIBER}.
+Thus, at the $k$th stage, the bordering algorithm consists of
+solving the lower triangular system
+\begin{equation} \label{1.2}
+ L_{k-1}v = c
+\end{equation}
+and setting
+\begin{eqnarray}
+\ell &=& D^{-1}_{k-1}v , \\
+\delta &=& \alpha - \ell^{t} v .
+\end{eqnarray}
+
+\subsubsection{Versatility.} We do not
+attempt to present an overview
+here, but rather attempt to focus on those results that
+are relevant to our particular algorithm.
+
+\section{Conclusions} The special
+structure of this problem allows us to make exact estimates of
+the complexity. For the old approach, we show that the
+complexity of the intersection problem is $O(n^{3})$, the same
+as the complexity of the numerical computations
+\cite{GEORGELIU}, \cite{ROSEWHITTEN}. For the
+new approach, the complexity of the second part is reduced to
+$O(n^{2} (\log n)^{2})$.
+
+\begin{thebibliography}{99}
+
+
+\bibitem{BANKSMITH}
+R.~E. Bank and R.~K. Smith, {\em General sparse elimination requires no
+ permanent integer storage}, SIAM J. Sci. Stat. Comput., 8 (1987),
+ pp.~574--584.
+
+\bibitem{EISENSTAT}
+S.~C. Eisenstat, M.~C. Gursky, M.~Schultz, and A.~Sherman, {\em
+ Algorithms and data structures for sparse symmetric gaussian elimination},
+ SIAM J. Sci. Stat. Comput., 2 (1982), pp.~225--237.
+
+\bibitem{GEORGELIU}
+A.~George and J.~Liu, {\em Computer Solution of Large Sparse Positive
+ Definite Systems}, Prentice Hall, Englewood Cliffs, NJ, 1981.
+
+\bibitem{LAW}
+K.~H. Law and S.~J. Fenves, {\em A node addition model for symbolic
+ factorization}, ACM TOMS, 12 (1986), pp.~37--50.
+
+\bibitem{LIU}
+J.~W.~H. Liu, {\em A compact row storage scheme for cholesky factors
+ using elimination trees}, ACM TOMS, 12 (1986), pp.~127--148.
+
+\bibitem{LIU2}
+\sameauthor , {\em The role of
+ elimination trees in sparse factorization}, Tech. Report CS-87-12,Department
+ of Computer Science, York University, Ontario, Canada, 1987.
+
+\bibitem{ROSE72}
+D.~J. Rose, {\em A graph theoretic study of the numeric solution of
+ sparse positive definite systems}, in Graph Theory and Computing, Academic Press, New
+York, 1972.
+
+\bibitem{ROSE76}
+D.~J. Rose, R.~E. Tarjan, and G.~S. Lueker, {\em Algorithmic aspects of
+ vertex elimination on graphs}, SIAM J. Comput., 5 (1976), pp.~226--283.
+
+\bibitem{ROSEWHITTEN}
+D.~J. Rose and G.~F. Whitten, {\em A recursive analysis of disection
+ strategies}, in Sparse Matrix Computations, Academic Press, New York, 1976.
+
+\bibitem{SCHREIBER}
+R.~Schreiber, {\em A new implementation of sparse gaussian elimination},
+ ACM TOMS, 8 (1982), pp.~256--276.
+
+\end{thebibliography}
+
+\end{document}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% This is ltexproc.sty.
+% This file may be freely distributed but may not be altered in any way.
+% Any comments or questions regarding these macros should be directed to:
+
+% Corey Gray
+% SIAM
+% 3600 University City Science Center
+% Philadelphia, PA 19104-2688
+% USA
+% Telephone: (215) 382-9800
+% Fax: (215) 386-7999
+% e-mail: gray@siam.org
+
+% This is a file of macros and definitions for creating a chapter for
+% publication in the SIAM Proceedings series using LaTeX.
+
+% Report the version.
+\message{*** SIAM LaTeX Proceedings Series macro package, version 1.0,
+November 6, 1992 ***}
+
+\pretolerance=800
+\tolerance=10000
+\sloppy
+
+
+\vsize=56pc
+\hsize=36pc
+\baselineskip=13pt
+\hoffset -.5in
+\voffset -.5in
+\footskip=18pt
+\topmargin 24pt
+\headheight 12pt
+\headsep 15pt
+\textheight 53.5pc \advance\textheight by \topskip
+\textwidth 36pc
+\parskip 0pt
+\parindent 18pt
+\def\topfraction{.9}
+\def\textfraction{.1}
+\def\topnumber{2}
+%% footnotes to be set 8/10
+\def\footnotesize{\@setsize\footnotesize{11pt}\ixpt\@ixpt
+ % \indent
+ \abovedisplayskip \z@
+ \belowdisplayskip\z@
+ \abovedisplayshortskip\abovedisplayskip
+ \belowdisplayshortskip\belowdisplayshortskip
+\def\@listi{\leftmargin\leftmargini \topsep 3pt plus 1pt minus 1pt
+ \parsep 2pt plus 1pt minus 1pt
+ \itemsep \parsep}}
+
+\let\referencesize\footnotesize
+
+\footnotesep 0pt
+
+\skip\footins 12pt plus 12pt
+
+\def\footnoterule{\kern3\p@ \hrule width 3em\vspace{3pt}} % the \hrule is .4pt high
+
+
+\def\ps@plain{\let\@mkboth\@gobbletwo
+ \def\@oddfoot{{\hfil\small\thepage\hfil}}%
+ \def\@oddhead{}
+ \def\@evenhead{}\def\@evenfoot{}}
+
+
+
+\def\ps@headings{\let\@mkboth\markboth
+ \def\@oddfoot{}\def\@evenfoot{}%
+ \def\@evenhead{{\rm\thepage}\hspace*{2pc}{\sc\leftmark}\hfil}%
+ \def\@oddhead{\hfil{\noindent\sc\rightmark}\hspace*{2pc}{\rm\thepage}}%
+
+
+
+\def\ps@myheadings{\let\@mkboth\@gobbletwo
+ \def\@oddfoot{}\def\@evenfoot{}%
+ \def\@oddhead{\hfil{\sc\rightmark}\hspace*{2pc}{\normalsize\rm\thepage}}%
+ \def\@evenhead{{\normalsize\rm\thepage}\hspace*{2pc}{\sc\leftmark}\hfil}%
+% \def\chaptermark##1{}%
+ % \def\sectionmark##1{}\def\subsectionmark##1{}}
+}}
+
+
+
+\def\theequation{\arabic{equation}}
+
+\def\abstract{\if@twocolumn
+\section*{Abstract}
+\else \small
+\begin{center}
+{\bf Abstract\vspace{-.5em}\vspace{3pt}}
+\end{center}
+\quotation
+\fi}
+\def\endabstract{\if@twocolumn\else\endquotation\fi}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% THEOREMS, PROOFS, ALGORITHMS %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%% defined proof environment by theorem model (took out counter)
+
+\def\qed{{\qquad \vbox{\hrule\hbox{%
+ \vrule height1.3ex\hskip0.8ex\vrule}\hrule
+ }}\par}
+
+\def\newproof#1{\@nprf{#1}}
+
+\def\@nprf#1#2{\@xnprf{#1}{#2}}
+
+\def\@xnprf#1#2{\expandafter\@ifdefinable\csname #1\endcsname
+\global\@namedef{#1}{\@prf{#1}{#2}}\global\@namedef{end#1}{\@endproof}}
+
+\def\@prf#1#2{\@xprf{#1}{#2}}
+
+\def\@xprf#1#2{\@beginproof{#2}{\csname the#1\endcsname}\ignorespaces}
+
+
+
+%%% defined algorithm environment by theorem model
+
+\def\newalgorithm#1{\@ifnextchar[{\@oalg{#1}}{\@nalg{#1}}}
+
+\def\@nalg#1#2{%
+\@ifnextchar[{\@xnalg{#1}{#2}}{\@ynalg{#1}{#2}}}
+
+\def\@xnalg#1#2[#3]{\expandafter\@ifdefinable\csname #1\endcsname
+{\@definecounter{#1}\@addtoreset{#1}{#3}%
+\expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand
+ \csname the#3\endcsname \@thmcountersep \@thmcounter{#1}}%
+\global\@namedef{#1}{\@alg{#1}{#2}}\global\@namedef{end#1}{\@endalgorithm}}}
+
+\def\@ynalg#1#2{\expandafter\@ifdefinable\csname #1\endcsname
+{\@definecounter{#1}%
+\expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
+\global\@namedef{#1}{\@alg{#1}{#2}}\global\@namedef{end#1}{\@endalgorithm}}}
+
+\def\@oalg#1[#2]#3{\expandafter\@ifdefinable\csname #1\endcsname
+ {\global\@namedef{the#1}{\@nameuse{the#2}}%
+\global\@namedef{#1}{\@alg{#2}{#3}}%
+\global\@namedef{end#1}{\@endalgorithm}}}
+
+\def\@alg#1#2{\refstepcounter
+ {#1}\@ifnextchar[{\@yalg{#1}{#2}}{\@xalg{#1}{#2}}}
+
+\def\@xalg#1#2{\@beginalgorithm{#2}{\csname the#1\endcsname}\ignorespaces}
+\def\@yalg#1#2[#3]{\@opargbeginalgorithm{#2}{\csname
+ the#1\endcsname}{#3}\ignorespaces}
+
+
+
+
+\def\@beginproof#1{\rm {\it #1.\ }}
+\def\@endproof{\outerparskip 0pt\endtrivlist}
+
+\def\@begintheorem#1#2{\it {\sc #1\ #2.\ }}
+\def\@opargbegintheorem#1#2#3{\it
+ {\sc #1\ #2\ (#3).\ }}
+\def\@endtheorem{\outerparskip 0pt\endtrivlist}
+
+%\def\@begindefinition#1#2{\rm \trivlist \item[\hskip \labelsep{\sc #1\ #2.}]}
+%\def\@opargbegindefinition#1#2#3{\rm \trivlist
+% \item[\hskip \labelsep{\sc #1\ #2.\ (#3)}]}
+%\def\@enddefinition{\outerparskip 0pt\endtrivlist}
+
+
+\def\@beginalgorithm#1#2{\rm \trivlist \item[\hskip \labelsep{\sc #1\ #2.}]}
+\def\@opargbeginalgorithm#1#2#3{\rm \trivlist
+ \item[\hskip \labelsep{\sc #1\ #2.\ (#3)}]}
+\def\@endalgorithm{\outerparskip 6pt\endtrivlist}
+
+
+\newskip\outerparskip
+
+\def\trivlist{\parsep\outerparskip
+ \@trivlist \labelwidth\z@ \leftmargin\z@
+ \itemindent\parindent \def\makelabel##1{##1}}
+
+\def\@trivlist{\topsep=0pt\@topsepadd\topsep
+ \if@noskipsec \leavevmode \fi
+ \ifvmode \advance\@topsepadd\partopsep \else \unskip\par\fi
+ \if@inlabel \@noparitemtrue \@noparlisttrue
+ \else \@noparlistfalse \@topsep\@topsepadd \fi
+ \advance\@topsep \parskip
+ \leftskip\z@\rightskip\@rightskip \parfillskip\@flushglue
+ \@setpar{\if@newlist\else{\@@par}\fi}%
+ \global\@newlisttrue \@outerparskip\parskip}
+
+
+\def\endtrivlist{\if@newlist\@noitemerr\fi
+ \if@inlabel\indent\fi
+ \ifhmode\unskip \par\fi
+ \if@noparlist \else
+ \ifdim\lastskip >\z@ \@tempskipa\lastskip \vskip -\lastskip
+ \advance\@tempskipa\parskip \advance\@tempskipa -\@outerparskip
+ \vskip\@tempskipa
+ \fi\@endparenv\fi
+ \vskip\outerparskip}
+
+
+
+ \newproof{@proof}{Proof}
+ \newenvironment{proof}{\begin{@proof}}{\end{@proof}}
+
+ \newtheorem{@theorem}{Theorem}[section]
+ \newenvironment{theorem}{\begin{@theorem}}{\end{@theorem}}
+
+% \newalgorithm{@algorithm}{Algorithm}[section]
+% \newenvironment{algorithm}{\begin{@algorithm}}{\end{@algorithm}}
+
+
+
+\newtheorem{lemma}{Lemma}[section]
+\newtheorem{fact}{Fact}[section]
+\newtheorem{corollary}{Corollary}[section]
+\newtheorem{axiom}{Axiom}[section]
+\newtheorem{cond}{Condition}[section]
+\newtheorem{property}{Property}[section]
+\newtheorem{proposition}{Proposition}[section]
+
+\newtheorem{Conjecture}{Conjecture}[section]
+\newtheorem{Definition}{Definition}[section]
+\newtheorem{Lemma}{Lemma}[section]
+\newtheorem{Remark}{Remark}[section]
+
+\newproof{Example}{Example}
+\newproof{Method}{Method}
+\newproof{Exercise}{Exercise}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% TABLE AND FIGURE CAPTIONS %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \def\@figtxt{figure}
+\long\def\@makecaption#1#2{\small
+\setlength{\parindent}{18pt}
+\baselineskip 14pt
+ \ifx\@captype\@figtxt
+ \vskip 10pt
+ \setbox\@tempboxa\hbox{{\sc #1} {\it #2}}
+ \ifdim \wd\@tempboxa >\hsize {\sc #1} {\it #2}\par \else \hbox
+to\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi\else\hbox to\hsize{\hfil{\sc #1}\hfil}%
+ \setbox\@tempboxa\hbox{{\it #2}}%
+ \ifdim \wd\@tempboxa >\hsize {\it #2}\par \else
+ \hbox to \hsize{\hfil\box\@tempboxa\hfil}\fi
+ \vskip 10pt
+ \fi}
+
+
+%\newif\iftable \global\tablefalse
+
+
+%\long\def\@makecaption#1#2{%
+%\setlength{\parindent}{18pt}
+% \vskip 12pt
+% \iftable
+ % \hbox to \hsize{\hfil\sc #1\hfil}
+ % \hbox to \hsize{\hfil\it #2\hfil}
+ % \global\tablefalse
+ % \else
+ % \setbox\@tempboxa\hbox{{\small#1} {\small\it#2}}
+ % \ifdim \wd\@tempboxa >\hsize
+ % \indent{\small#1}{\small\it#2}\par
+ % \else
+ % \hbox to\hsize{\hfil\box\@tempboxa\hfil}\fi
+ % \fi}
+% \vskip 6pt}
+
+
+
+%\def\figure{\global\tablefalse\@float{figure}}
+\def\fnum@figure{\par\sc Fig. \thefigure.\ }
+%\def\fnum@figure{\par\sc Fig. \thefigure\ }
+
+%\def\table{\global\tabletrue\@float{table}}
+\def\fnum@table{\small \sc Table \thetable}
+
+
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% SECTIONS %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\section{\@startsection {section}{1}{\z@}{-3.5ex plus -1ex minus
+ -.2ex}%{2.3ex plus .2ex}
+{2pt}{\large\bf}}
+\def\subsection{\@startsection{subsection}{2}{\z@}{-3.25ex plus -1ex minus
+ -.2ex}%{1.5ex plus .2ex}
+{2pt}{\large\bf}}
+\def\subsubsection{\@startsection {subsubsection}{3}{\z@}{1.3ex plus .5ex minus
+ .2ex}{-.5em plus -.1em}{\normalsize\bf}}
+
+
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% BIBLIOGRAPHY %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\def\thebibliography#1{%
+%\cleardoublepage
+\parindent 0em
+\vspace{9pt}
+\begin{flushleft}\large\bf {References}\end{flushleft}
+\addvspace{3pt}\nopagebreak\list
+ %% default is no labels, for those not using \cite or BibTeX
+{[\arabic{enumi}]} {\settowidth\labelwidth{[#1]}
+%%{[\arabic{enumi}]}{\settowidth\labelwidth{mm}
+\leftmargin\labelwidth
+\leftmargin=17pt
+ \advance\leftmargin\labelsep
+ \usecounter{enumi}\@bibsetup}
+\def\newblock{\hskip .11em plus .33em minus -.07em}
+ \sloppy\clubpenalty4000\widowpenalty4000
+ \sfcode`\.=1000\relax}
+
+
+
+%% setup 8/10 type
+\def\@bibsetup{%\itemindent=0pt
+\itemsep=0pt \parsep=0pt
+\small}
+
+\def\sameauthor{\leavevmode\vrule height 2pt depth -1.6pt width 23pt}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% INDEX %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%makeindex.sty official version 6.4
+%The second line came from /usr/misc/lib/tex82/report.sty.
+
+\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
+\columnseprule \z@
+\columnsep 35pt\twocolumn[\chapter*{Index}]
+ \parskip\z@ plus .3pt\relax\let\item\@idxitem}
+
+
+\def\printindex{\cleardoublepage\markboth{INDEX}{INDEX}
+\addcontentsline{toc}{chapter}{Index}\@input{\jobname.ind}}
+
+\ps@headings
+
+
+%%% end of style file
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% This is siamproc.bst
+% SIAM bibliography style (29-Jan-88 version)
+% numeric labels, alphabetic order, Mathematical Reviews abbreviations,
+% names in \sc, titles in italics, book titles mixed upper-lower and article
+% titles lowercase, commas separate all fields except before "notes".
+%
+% History
+% 1/30/86 (HWT) Original version, by Howard Trickey.
+% 6/15/87 (HWT) Fix format.editors---Martin Costabel.
+% 1/29/88 (OP&HWT) Updated for BibTeX version 0.99a, Oren Patashnik;
+% THIS `siam' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ 'write$
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {scapify}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\sc " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+STRINGS { last.authors }
+
+FUNCTION {init.last.authors}
+{ "" 'last.authors :=
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" 'last.authors :=
+ ""
+ }
+ { author last.authors =
+ { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" }
+ { author format.names }% scapify }
+ if$
+ author 'last.authors :=
+ }
+ if$
+}
+
+FUNCTION {format.organization}
+{ organization empty$
+ { "" 'last.authors :=
+ ""
+ }
+ { organization last.authors =
+ { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" }
+ { organization scapify }
+ if$
+ organization 'last.authors :=
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" 'last.authors :=
+ ""
+ }
+ { editor last.authors =
+ { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" }
+ { editor format.names scapify }
+ if$
+ editor num.names$ #1 >
+ { ", eds." * }
+ { ", ed." * }
+ if$
+ editor 'last.authors :=
+ }
+ if$
+}
+
+FUNCTION {format.ineditors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", eds." * }
+ { ", ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ emphasize }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "vol.~" volume *
+ series empty$
+ 'skip$
+ { " of " * series * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { "no.~" number *
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { edition "l" change.case$ "~ed." * }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp.~" pages n.dashify * }
+ { "p.~" pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.year}
+{ volume field.or.null
+ year empty$
+ { "empty year in " cite$ * warning$ }
+ { " (" year * ")" * * }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "ch.~" chapter * }
+ { type "l" change.case$ chapter tie.or.space.connect }
+ if$
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "in " booktitle * }
+ { "in " booktitle * ", " * format.ineditors * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "l" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Tech. Rep." }
+ 'type
+ if$
+ number empty$
+ { "l" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "in " journal * }
+ if$
+ }
+ { "in " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "in "
+ }
+ { "vol.~" volume *
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "in " booktitle * }
+ if$
+ }
+ { "in " key * }
+ if$
+ }
+ { "in " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { journal "journal" output.check
+ format.vol.year output
+ }
+ { format.article.crossref output.nonnull }
+ if$
+ format.pages output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ format.title "title" output.check
+ howpublished new.block.checka
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull }
+ if$
+ format.chapter.pages output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull }
+ if$
+ format.pages output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { format.organization output }
+ { format.authors output.nonnull }
+ if$
+ format.btitle "title" output.check
+ author empty$
+ 'skip$
+ { organization output }
+ if$
+ address output
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.btitle "title" output.check
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { format.organization output }
+ { format.editors output.nonnull }
+ if$
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+MACRO {acmcs} {"ACM Comput. Surveys"}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Comm. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~Assoc. Comput. Mach."}
+
+MACRO {jcss} {"J.~Comput. System Sci."}
+
+MACRO {scp} {"Sci. Comput. Programming"}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Gr."}
+
+MACRO {toms} {"ACM Trans. Math. Softw."}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+
+MACRO {tcs} {"Theoretical Comput. Sci."}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+EXECUTE {init.last.authors}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/texmf-dist/doc/latex/siam/makeindx/makeidx.doc b/texmf-dist/doc/latex/siam/makeindx/makeidx.doc
new file mode 100644
index 00000000..6c501bd8
--- /dev/null
+++ b/texmf-dist/doc/latex/siam/makeindx/makeidx.doc
@@ -0,0 +1,9 @@
+% MAKEIDX DOCUMENT-STYLE OPTION FOR ARTICLE STYLE
+% RELEASED 20 January 1987 -- for LaTeX version 2.09
+% Copyright (C) 1987 by Leslie Lamport, all rights reserved
+
+% Defines the \see and \printindex commands.
+
+\def\see#1#2{{\em see\/} #1}
+
+\def\printindex{\@input{\jobname.ind}}
diff --git a/texmf-dist/doc/latex/siam/makeindx/makeindx.tex b/texmf-dist/doc/latex/siam/makeindx/makeindx.tex
new file mode 100644
index 00000000..8e33eb0d
--- /dev/null
+++ b/texmf-dist/doc/latex/siam/makeindx/makeindx.tex
@@ -0,0 +1,474 @@
+% makeindex.tex -- released 17 February 1987
+% Copyright(c) 1987 by Leslie Lamport
+% for LaTeX version 2.09
+%
+\documentstyle[11pt]{article}
+
+%&v&\verb|#|&
+%&i&\verb|\index{#}|&
+%&t&{\tt #}&
+\newcommand{\MakeIndex}{{MakeIndex\/}}
+\newcommand{\fn}{}
+\newcommand{\ff}
+
+
+% Definition of the iexample environment and \sindex command.
+% They are used as follows:
+% \begin{iexample}
+% Page 7 & \verb|\index{foo}|\\
+% Page 22 & \verb|\index{bar}|
+% \sindex
+% bar, 22 \\
+% foo, 7
+% \end{iexample}
+\newenvironment{iexample}{\begin{quote}
+ \begin{tabular}[t]{@{}ll||@{\hspace{1em}}}}{\end{tabbing}\end{minipage}
+ \end{quote}}
+\newcommand{\sindex}{\end{tabular}\hspace{1em}\begin{minipage}[t]{\textwidth}
+ \begin{tabbing}}
+
+\newcommand{\sitem}{\hspace*{20pt}}
+\newcommand{\ssitem}{\hspace*{30pt}}
+
+
+\title{\MakeIndex: An Index Processor For \LaTeX}
+
+\author{Leslie Lamport}
+\date{17 February 1987}
+\begin{document}
+\maketitle
+
+\section{How to Use \MakeIndex}
+
+\MakeIndex\ is a program for
+making an index in a document generated with \LaTeX. The first step in
+producing the index is to put the necessary \verb|\index| commands in
+your document, as described in the next section. Here, I describe how
+to generate the index after the \verb|\index| commands are in place.
+
+Let's suppose that the root file of your document is {\tt myfile.tex}.
+You must make the following changes to your document:
+\begin{itemize}
+
+\item Add the {\tt makeidx} document-style option to the list of
+options in the \verb|\documentstyle| command. (See page 21 of the
+\LaTeX\ manual.)
+
+\item Put a \verb|\makeindex| command in the preamble (between the
+ \linebreak%%%%%
+\verb|\documentstyle| and \verb|\begin{document}| commands).
+
+\item Put a \verb|\printindex| command where you want the index to
+appear---usually at the end, right before the \verb|\end{document}|
+command.
+\end{itemize}
+You then run \LaTeX\ on your entire document, causing it to
+generate the file {\tt myfile.idx}, which I will call the {\tt idx} file.
+Next, run the \MakeIndex\ program by
+typing the following Unix command:
+\begin{quote}
+ {\tt makeindex myfile.idx}
+\end{quote}
+This produces the file {\tt myfile.ind}, which I will call the {\tt
+ind} file. If \MakeIndex\ generated no error messages, you can now rerun
+\LaTeX\ on your document and the index will appear. (You can remove
+the \verb|\makeindex| command first so the {\tt idx} file is not
+regenerated.) If there were error messages, see
+Section~\ref{sec:errors}.
+
+By reading the index, you may discover additional mistakes. These should be
+corrected by changing the appropriate \verb|\index| commands in the
+document and regenerating the {\tt ind} file. If there are
+problems that cannot be corrected in this way, you can always edit
+the {\tt ind} file directly. However, such editing is to be
+avoided because it must be repeated every time you generate a new
+version of the index.
+
+
+\section{How to Generate Index Entries}
+
+\subsection{When, Why, What, and How to Index}
+
+It's tempting to generate the index as you write the document. Resist
+the temptation. It is virtually impossible to obtain any consistency
+in an index that is generated in this way.
+
+An index is there to help the reader find what he's looking for. With
+this in mind, common sense can help in figuring out what should be in
+the index and how it should be organized. Since it's often hard to
+distinguish common sense from equally common nonsense, professional
+advice is useful. Many style guides discuss indexing; the pamphlet
+{\em Indexing Your Book\/} by Sina Spiker (The University of Wisconsin
+Press, 1954) is, according to its subtitle, ``A Practical
+Guide for Authors''.
+
+Unfortunately, these guides to indexing seem to have been written when
+high tech meant using a ball-point pen instead of a quill, so their
+advice on the mechanics of creating an index revolve around how to
+stack your $3\times 5$ index cards. You'll have to figure out your own
+method of using the computer to lighten the chore. An alphabetical
+list of every word in your document, with duplicates removed, is not a
+bad place to start. If your system has Howard Trickey's {\tt delatex}
+program, then the following Unix command generates such a list from the
+file {\tt myfile.tex} and puts it on the file {\tt foo}:
+\begin{quote}
+\tt delatex myfile.tex | sort -uf > foo
+\end{quote}
+
+The computer is only a tool; it can't write the index for you. It may
+be easy to choose which words are important and mechanically generate
+an index citing every occurrence of those words, but the resulting
+index will not be as useful to the reader as one prepared with more
+care.
+
+
+
+
+\subsection{The Basics}
+
+Each \verb|\index| command causes \LaTeX\ to write an entry on the {\tt
+idx} file. The following example shows some simple
+\verb|\index| commands and the index entries that they produce. The
+page number refers to the page containing the text where the
+\verb|\index| command appears.\footnote{To avoid any ambiguity if a
+page break occurs right at an {\tt \symbol{'134}index} command, it's a
+good idea to attach the command to a word instead of putting it between
+words.}
+\begin{iexample}
+Page ii & \verb|\index{Alpha}| \\
+Page viii: & \verb|\index{alpha}| \\
+Page ix: & \verb|\index{alpha}| \\
+ & \verb|\index{Alphabet}| \\
+Page 22: & \verb|\index{alpha}| \\
+ & \verb|\index{alphas}| \\
+Page 23: & \verb|\index{alphabet}| \\
+ & \verb|\index{alphabet}| \\
+Page 24: & \verb|\index{alpha bet}|
+\sindex
+Alpha, ii \\
+alpha, viii, ix, 22 \\
+alpha bet, 24\\
+Alphabet, ix\\
+alphabet, 23\\
+alphas, 22
+\end{iexample}
+Note that the duplicate \verb|\index{alphabet}| commands on
+page 23 produce only one ``23'' in the index.
+
+
+To produce a subentry, the argument of the \verb|\index|
+command should contain both the main entry and the subentry, separated
+by a \verb|!| character.
+\begin{iexample}
+Page 7: & \verb|\index{gnat!size of}| \\
+Page 32: & \verb|\index{gnat}| \\
+Page 35: & \verb|\index{gnat!anatomy}| \\
+ & \verb|\index{gnus!good}| \\
+Page 38: & \verb|\index{gnus!bad}| \\
+ &
+\sindex
+gnat, 32 \\
+\sitem anatomy, 35 \\
+\sitem size of, 7\\
+gnus \\
+\sitem bad, 38\\
+\sitem good, 35
+\end{iexample}
+You can also have subsubentries.
+\begin{iexample}
+Page 8: & \verb|\index{bites!animal!gnats}| \\
+Page 10: & \verb|\index{bites!animal!gnus}| \\
+Page 12 : & \verb|\index{bites!vegetable}| \\
+ & \\
+ &
+\sindex
+bites \\
+\sitem animal \\
+\ssitem gnats, 8 \\
+\ssitem gnus, 10 \\
+\sitem vegetable, 12
+\end{iexample}
+\LaTeX\ and \MakeIndex\ support only three levels of indexing; you
+can't have subsubsubentries.
+
+
+To specify a page range, put an \verb/\index{...|(}/
+command at the beginning of the range and an \verb/\index{...|)}/
+command at the end of the range.
+\begin{iexample}
+Page vi: & \verb/\index{gnat|(}/ \\
+Page x: & \verb/\index{gnat|)}/ \\
+Page 22: & \verb|\index{gnat}| \\
+ & \verb/\index{gnus!bad|(}/ \\
+ & \verb/\index{gnus!bad|)}/ \\
+Page 28: & \verb/\index{gnus!good|(}/ \\
+Page 30: & \verb|\index{gnus!good}| \\
+Page 32: & \verb/\index{gnus!good|)}/
+\sindex
+gnat, vi--x, 22 \\
+gnus \\
+\sitem bad, 22\\
+\sitem good, 28--32
+\end{iexample}
+Note that \MakeIndex\ does the right thing when both ends of the range
+fall on the same page.\footnote{The use of ``28ff.'' rather than
+``28--32'' is frowned upon by the experts.}
+
+Sometimes, you want to add a cross-reference with no page
+number. This is done as follows;
+\begin{iexample}
+Page 2: & \verb|\index{at}| \\
+Page 2: & \verb/\index{at!bat|see{bat, at}}/
+\sindex
+at, 2 \\
+\sitem bat, {\em see\/} bat, at
+\end{iexample}
+Since the ``see'' entry does not print any page number, it doesn't
+matter where the \verb/\index{...|see{...}}/ command goes, so
+long as it follows the \verb|\begin{document}| command. You
+might want to put all such cross-referencing commands in one place.
+
+
+If you specify an entry of the form $\sigma$\verb|@|$\tau$, the string
+$\sigma$ determines the alphabetical position of the entry, while the
+string $\tau$ produces the text of the entry.
+\begin{iexample}
+Page 44: & \verb|\index{twenty}| \\
+Page 46: & \verb|\index{twenty-one}| \\
+Page 55: & \verb|\index{twenty@xx}|
+\sindex
+twenty, 44 \\
+xx, 55 \\
+twenty-one, 46
+\end{iexample}
+This feature is useful because the argument of the \verb|\index|
+command provides the actual input string that \LaTeX\ uses to generate
+the index entry. In the following example, the input \verb|$\alpha$|
+produces the symbol $\alpha$,
+\begin{iexample}
+Page 12: & \verb|\index{alphas}| \\
+Page 13: & \verb|\index{alpha}| \\
+Page 14: & \verb|\index{alpha@$\alpha$}|
+\sindex
+alpha, 13 \\
+$\alpha$, 14 \\
+alphas, 12
+\end{iexample}
+Similarly, the command \verb|\index{gnu@{\bf gnu}}| produces
+a boldface {\bf gnu} index entry.
+
+In some indexes, certain page numbers are specially formatted---for
+example, an italic page number may indicate the primary reference, and
+an {\em n\/} after a page number may denote that the item appears in a
+footnote on that page. \MakeIndex\ makes it easy to format an
+individual page number any way you want. For any string of characters
+$\sigma$, the command \verb/\index{...|/$\sigma$\verb|}| produces a
+page number of the form \verb|\|$\sigma$\verb|{|$n$\verb|}|.
+Similarly, the command \verb/\index{...|(/$\sigma$\verb|}| may produce
+a page number of the form \verb|\|$\sigma$\verb|{|$n$--$m$\verb|}|.
+Thus, suppose the document contains the following command definitions:
+\begin{quote}
+\verb|\newcommand{\ii}[1]{{\it #1}}| \\
+\verb|\newcommand{\nn}[1]{#1n}|
+\end{quote}
+We could then have:
+\begin{iexample}
+Page 3: & \verb/\index{gnat|ii}/ \\
+Page 4: & \verb/\index{gnat|nn}/ \\
+Page 5: & \verb/\index{gnu}/ \\
+Page 44: & \verb/\index{gnu|(ii}/ \\
+Page 46: & \verb/\index{gnu|)}/
+\sindex
+gnat, {\em 3}, 4n \\
+gnu, 5, {\em 44--46}
+\end{iexample}
+The ``see'' option is a special case of this facility, where the
+\verb|\see| command is predefined by the {\tt makeidx} document-style
+option.
+
+
+\subsection{The Fine Print}
+
+Commands in an index entry are expanded when the index is typeset,
+not when the {\tt idx} file is written. Hence, the command
+\verb|\index{\gnu}| produces an entry that is alphabetized by
+\verb|\gnu|, regardless of how the \verb|\gnu| command is defined.
+
+Recall that special characters like \verb|\| may appear in the argument
+of an \verb|\index| command only if that command is not itself
+contained in the argument of another command. This is most likely to
+be a problem when indexing items in a footnote. Even in this case,
+robust commands can be placed in the ``\verb|@|'' part of an entry, as
+in \verb|\index{gnu@{\it gnu}}|, and fragile commands can be used
+if protected with the \verb|\protect| command.\footnote{In
+versions of \LaTeX\ released before 3 February 1987, you must
+use the {\tt\symbol{'134}string} command instead of
+{\tt\symbol{'134}protect}.}
+
+Remember that the argument of an \verb|\index| command must always have
+matching braces, where the brace in a \verb|\{| or \verb|\}| command
+counts.
+
+\MakeIndex\ assumes that all page numbers are either arabic or lower-case
+roman numerals; it assumes that pages numbered with roman numerals
+precede those numbered with arabic numerals.
+
+To put a \verb|!|, \verb|@|, or \verb/|/ character in an index entry,
+{\em quote\/} it by preceding the character with a \verb|"|. More
+precisely, any a character is said to be quoted if it follows an
+unquoted \verb|"| that is not part of a \verb|\"| command. A quoted
+\verb|!|, \verb|@|, or \verb/|/ character is treated like an
+ordinary character rather than having its usual meaning. The
+\verb|"| preceding a quoted character is deleted before the
+entries are alphabetized.
+\begin{iexample}
+Page 2: & \verb|\index{exclaim ("!)}| \\
+Page 3: & \verb|\index{exclaim ("!)!loudly}| \\
+Page 4: & \verb|\index{fur@f\"{u}r}| \\
+Page 5: & \verb|\index{quote (\verb+""+)}|
+\sindex
+exclaim (!), 2 \\
+\sitem loudly, 3\\
+f\"{u}r, 4\\
+quote (\verb+""+), 5
+\end{iexample}
+
+
+\MakeIndex\ regards spaces as ordinary characters when alphabetizing the
+entries and deciding whether two entries are the same. Thus, letting
+``\verb*| |'' denote a space character, the commands
+\verb*|\index{gnu}|, \verb*|\index{ gnu}|, and \verb*|\index{gnu }|
+produce three separate entries, the first appearing near the beginning
+of the index, since \verb*| | comes before any letter in \MakeIndex's
+``alphabetical'' order. All three entries look the same when
+printed, since \LaTeX\ ignores extra spaces in the input. Similarly,
+ \verb*|\index{a space}| and \verb*|\index{a space}| produce two
+different entries that look the same when printed. Do not
+split the argument of an \verb|\index| command across lines in the
+input file.
+
+
+
+\section{Error Messages} \label{sec:errors}
+
+\MakeIndex\ types out on the terminal the number of lines read and
+written and how many errors were found. Message to identify the error
+are written on a file with extension {\tt ilg}. There are two phases
+in which \MakeIndex\ can produce error messages: when it is reading the
+{\tt idx} file, and when it is writing the {\tt ind} file. Each error
+message prints the nature of the error followed by a line number,
+identifying where in the file the error occurs. In the reading phase,
+the line number refers to the {\tt idx} file; in the writing phase, it
+refers to the {\tt ind} file.
+
+\subsection{Errors in Reading Phase}
+
+\subsubsection*{\tt Extra `!' at position ...}
+
+The \verb|\index| command's argument has more than two unquoted
+\verb|!| characters. Perhaps some of them should be quoted.
+
+\subsubsection*{\tt Extra `@' at position ...}
+
+The \verb|\index| command argument has two or more unquoted \verb|@|
+characters with no intervening \verb|!|. Perhaps one of the \verb|@|
+characters should be quoted.
+
+\subsubsection*{\tt Extra `|' at position ...}
+
+The \verb|\index| command's argument has more than one unquoted \verb|!|
+characters. Perhaps the extras should be quoted.
+
+\subsubsection*{\tt Illegal null field}
+
+The \verb|\index| command argument doesn't make sense because some
+string is null that shouldn't be. The command \verb|\index{!big}| will
+produce this error, since it specifies a subentry ``big'' with no
+entry. Similarly, the command \verb|\index{@big}| is incorrect because
+it specifies a null string for alphabetizing.
+
+%\subsubsection*{\tt No \symbol{'134}indexentry}
+%
+%Each line of an {\tt idx} file written by \LaTeX\ should contain an
+%\verb|\indexentry| command. \MakeIndex\ has found a line in the {\tt idx}
+%file that does not contain an \verb|\indexentry| command. The {\tt
+%idx} file has probably been corrupted.
+%
+%\subsubsection*{\tt Missing \symbol{'173}}
+%
+%\MakeIndex\ believes that the braces in the argument of the \verb|\index|
+%command are not properly matched. Since \LaTeX\ must
+%have thought that the braces were properly matched, the problem
+%is probably due to a corrupted {\tt idx} file.
+%
+%\subsubsection*{\tt Missing \symbol{'175}}
+%
+%See ``{\tt Missing \symbol{'173}}'' error.
+
+\subsubsection*{\tt Argument ... too long (max 1024).}
+
+Your document contained an \verb|\index| command with a very long
+argument. You probably forgot the right brace that was supposed
+to delimit the argument.
+
+\subsubsection*{Other errors}
+
+\MakeIndex\ can produce a variety of other error messages indicating
+that something is seriously wrong with the {\tt idx} file. If you
+get one, it probably means that the {\tt idx} file was corrupted in
+some way. If \LaTeX\ did not generate any errors when it created
+the {\tt idx} file, then it is highly unlikely to have produced
+a bad {\tt idx} file. If it did, you'll have to examine the
+{\tt idx} file to figure out what went wrong.
+
+
+\subsection{Errors in Writing Phase}
+
+\subsubsection*{\tt Unmatched range opening operator}
+
+An \verb/\index{...|(}/ command was not followed by a matching
+ \linebreak%%%%%
+\verb/\index{...|)}/ command. The ``\verb|...|'' in the two
+commands must be completely identical.
+
+
+\subsubsection*{\tt Unmatched range closing operator }
+
+An \verb/\index{...|(}/ command was not preceded by a matching
+ \linebreak%%%%%
+\verb/\index{...|)}/ command.
+
+\subsubsection*{\tt Extra range opening operator }
+
+Two \verb/\index{...|(}/ commands appear in the document with no intervening
+\verb/\index{...|)}/ command.
+
+
+
+\subsubsection*{\tt Inconsistent page encapsulator ... within range}
+
+\MakeIndex\ has been instructed to include a page range for an entry
+and a single page number within that range that is formatted
+differently---for example, by having a
+\verb+\index{gnu|ii}+ command between a \verb+\index{gnu|(}+
+and a \verb+\index{gnu|)}+ command.
+
+
+\subsubsection*{\tt Conflicting entries}
+
+\MakeIndex\ thinks it has been instructed to print the same page number
+twice in two different ways---for example, by the commands
+\verb|\index{gnu}| and \verb/\index{gnu|(see{...}}/ appearing on the
+same page.
+
+
+
+\section*{Acknowledgements}
+
+\MakeIndex\ is a C program written by Pehong Chen, with a little
+advice from me. It was inspired by a program written by Mike Urban,
+which was based on a program written by Marshall Rose. Perhaps someday
+someone will rewrite \MakeIndex\ in Web, making it available to all
+\LaTeX\ users.
+
+\end{document}
diff --git a/texmf-dist/doc/latex/siam/proc209.all b/texmf-dist/doc/latex/siam/proc209.all
new file mode 100644
index 00000000..07ca3f1b
--- /dev/null
+++ b/texmf-dist/doc/latex/siam/proc209.all
@@ -0,0 +1,1747 @@
+
+
+This file constitutes the full distribution for SIAM Proceedings
+Series LaTeX version macros. The files included here are:
+
+proc209.tex (An example file, also containing documentation)
+
+proc209.sty (The style file)
+
+siamproc.bst (for BiBTeX users)
+
+To use these macros, separate the files at the indicated cut lines.
+
+%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% This is proc209.tex, an example file for use with the SIAM LaTeX 2.09
+% Proceedings Series macros.
+% Please take the time to read the following comments, as they describe
+% how to use these macros. This file can be composed and printed out for
+% use as sample output.
+
+% Any comments or questions regarding these macros should be directed to:
+%
+% Corey Gray
+% SIAM
+% 3600 University City Science Center
+% Philadelphia, PA 19104-2688
+% USA
+% Telephone: (215) 382-9800
+% Fax: (215) 386-7999
+% e-mail: gray@siam.org
+
+
+% This file is to be used as an example for style only. It should not be read
+% for content.
+
+%%%%%%%%%%%%%%% PLEASE NOTE THE FOLLOWING STYLE RESTRICTIONS %%%%%%%%%%%%%%%
+
+%% 1. There are no new tags. Existing LaTeX tags have been formatted to
+%% match the Proceedings series style.
+%%
+%% 2. You must use \cite in the text to mark your reference citations and
+%% \bibitem in the listing of references at the end of your chapter. See
+%% the examples in the following file. The file siamproc.bst has been
+%% included for use with BiBTeX.
+%%
+%% 3. This macro is set up for three levels of headings (\section,
+%% \subsection, and \subsubsection). The macro will automatically number
+%% the headings for you.
+%%
+%% 4. Theorems, Lemmas, Definitions, etc. are to be double-numbered,
+%% indicating the section and the occurrence of that element
+%% within that section. (For example, the first theorem in the second
+%% section would be numbered 2.1. The macro will
+%% automatically do the numbering for you.
+%%
+%% 5. Proofs are handled with the commands \begin{proof}\end{proof}.
+%% If you wish to use an end of proof box, use \qed preceding \end{proof}.
+%% The example uses one. It is not required.
+%%
+%% 6. Figures, equations, and tables must be single-numbered. All equation
+%% numbers are to be on the left. Figure captions should be placed under
+%% the figures they pertain to. Table captions should be placed above
+%% the tables. Use existing LaTeX tags for these elements. Numbering of
+%% these elements will be done automatically.
+%%
+%% 7. Grant information and author affiliations.
+%% This information is included in the file with the two commands,
+%% \thanks and \footnotemark []. (See example). The \thanks command
+%% produces a footnote for the title or author, and places the
+%% appropriate footnote symbol with the title or author and at the
+%% bottom of the page. The \footnotemark [] command allows the use of
+%% duplicate footnote symbols. This macro follows the normal LaTeX order
+%% of footnote symbols. Below is a list of these symbols, and their
+%% corresponding footnotemark:
+%%
+%% asterisk \footnotemark[1]
+%% single-dagger \footnotemark[2]
+%% double-dagger \footnotemark[3]
+%% section sign \footnotemark[4]
+%% paragraph \footnotemark[5]
+%% parallel \footnotemark[6]
+%% double asterisk \footnotemark[7]
+%% double single-dagger \footnotemark[8]
+%% double double-dagger \footnotemark[9]
+%%
+%% The following general rules for grants and affiliations apply:
+%% a) If there is a single grant for the paper, then the grant
+%% information should be footnoted to the title.
+%% b) If there is more than one grant, include the grant information
+%% with each author's affiliation.
+%% c) If there are different grants for the paper but the authors share
+%% the same affiliation, footnote the grant information to the title.
+%% For example, The work of the first author was supported by xyz.
+%% The work of the second author was supported by abc. And so on.
+%% d) For authors sharing the same affiliation, use \thanks for the
+%% first author with that affiliation and the appropriate
+%% \footnotemark[] (from the list above) for all subsequent authors
+%% with that affiliation.
+%%
+%%
+%%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%-
+%%%
+
+
+\documentstyle[leqno,twoside,11pt,proc209]{article} %You must set up your
+ %\documentstyle line like this.
+
+
+\begin{document}
+\cleardoublepage
+\pagestyle{plain}
+
+\title{SIAM Proceedings Series Macros
+ for Use With LaTeX\thanks{Any information regarding grants should be placed
+here.}}
+\author{J. Corey Gray\thanks{Production Manager, Society for Industrial and Applied
+Mathematics, Philadelphia, PA.}
+\and
+Tricia Manning\thanks{Publications Specialist, Society for Industrial and Applied
+Mathematics, Philadelphia, PA.}
+\and
+Vickie Kearn\thanks{Publisher, Society for Industrial and Applied Mathematics,
+Philadelphia, PA.}\\
+\and
+Nancy Abbott\thanks{Design Supervisor, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+\and
+Sue Ciambrano\thanks{Acquisitions Editor, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+\and
+Paul Duggan\thanks{Composition Specialist, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+\and
+Robbi Anne Albert\thanks{Production Assistant, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+\and
+Jean Anderson\thanks{Composition Coordinator, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+}
+\date{}
+\maketitle
+
+\pagenumbering{arabic}
+
+\begin{abstract}An equivalence is shown between realizability of input/output (i/o) operators by
+rational control systems and high-order algebraic differential equations for
+i/o pairs. This generalizes, to nonlinear systems, the equivalence
+between autoregressive representations and finite dimensional linear
+realizability. \end{abstract}
+\section{Problem Specification}In this paper, we consider the solution of the $N \times
+N$ linear
+system
+\begin{equation} \label{e1.1}
+\cos \sin A x = b
+\end{equation}
+where $A$ is large, sparse, symmetric, and positive definite. We consider
+the direct solution of (\ref{e1.1}) by means of general sparse Gaussian
+elimination. In such a procedure, we find a permutation matrix $P$, and
+compute the decomposition
+\[
+P A P^{t} = L D L^{t}
+\]
+where $L$ is unit lower triangular and $D$ is diagonal.
+
+
+\section{Design Considerations}Several good ordering algorithms (nested dissection and
+minimum degree)
+are available for computing $P$ \cite{GEORGELIU}, \cite{ROSE72}.
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+
+\begin{theorem} The method was extended to three
+dimensions. For the standard multigrid
+coarsening
+(in which, for a given grid, the next coarser grid has $1/8$
+as many points), anisotropic problems require plane
+relaxation to
+obtain a good smoothing factor.\end{theorem}
+
+Several good ordering algorithms (nested dissection and minimum degree)
+are available for computing $P$ \cite{GEORGELIU}, \cite{ROSE72}.
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+
+\begin{proof} In this paper we consider two methods. The first method
+is
+basically the method considered with two differences:
+first, we perform plane relaxation by a two-dimensional
+multigrid method, and second, we use a slightly different
+choice of
+interpolation operator, which improves performance
+for nearly singular problems. In the second method coarsening
+is done by successively coarsening in each of the three
+independent variables and then ignoring the intermediate
+grids; this artifice simplifies coding considerably.\qed
+\end{proof}
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+
+\begin{Definition}{\rm We describe the two methods in \S 1.2. In \S\ 1.3. we
+discuss
+some remaining details.}
+\end{Definition}
+
+\begin{figure}
+\vspace*{24pc}
+\caption{This is figure 1.}
+\end{figure}
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination.
+
+\begin{lemma} We discuss first the choice for $I_{k-1}^k$
+which is a generalization. We assume that $G^{k-1}$ is
+obtained
+from $G^k$
+by standard coarsening; that is, if $G^k$ is a tensor product
+grid $G_{x}^k \times G_{y}^k \times G_{z}^k$,
+$G^{k-1}=G_{x}^{k-1} \times G_{y}^{k-1} \times G_{z}^{k-1}$,
+where $G_{x}^{k-1}$ is obtained by deleting every other grid
+point of $G_x^k$ and similarly for $G_{y}^k$ and $G_{z}^k$.
+\end{lemma}
+
+This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+\cite{EISENSTAT} - \cite{LIU2}, \cite{ROSE76}, \cite{SCHREIBER}.
+
+\subsection{Robustness}
+We do not
+attempt to present an overview
+here, but rather attempt to focus on those results that
+are relevant to our particular algorithm.
+This section assumes prior knowledge of the role of graph theory
+in sparse Gaussian elimination; surveys of this role are
+available in \cite{ROSE72} and \cite{GEORGELIU}. More general
+discussions of elimination trees are given in
+\cite{LAW} - \cite{LIU2}, \cite{SCHREIBER}.
+Thus, at the $k$th stage, the bordering algorithm consists of
+solving the lower triangular system
+\begin{equation} \label{1.2}
+ L_{k-1}v = c
+\end{equation}
+and setting
+\begin{eqnarray}
+\ell &=& D^{-1}_{k-1}v , \\
+\delta &=& \alpha - \ell^{t} v .
+\end{eqnarray}
+
+\subsubsection{Versatility.} We do not
+attempt to present an overview
+here, but rather attempt to focus on those results that
+are relevant to our particular algorithm.
+
+\section{Conclusions} The special
+structure of this problem allows us to make exact estimates of
+the complexity. For the old approach, we show that the
+complexity of the intersection problem is $O(n^{3})$, the same
+as the complexity of the numerical computations
+\cite{GEORGELIU}, \cite{ROSEWHITTEN}. For the
+new approach, the complexity of the second part is reduced to
+$O(n^{2} (\log n)^{2})$.
+
+\begin{thebibliography}{99}
+
+
+\bibitem{BANKSMITH}
+R.~E. Bank and R.~K. Smith, {\em General sparse elimination requires no
+ permanent integer storage}, SIAM J. Sci. Stat. Comput., 8 (1987),
+ pp.~574--584.
+
+\bibitem{EISENSTAT}
+S.~C. Eisenstat, M.~C. Gursky, M.~Schultz, and A.~Sherman, {\em
+ Algorithms and data structures for sparse symmetric gaussian elimination},
+ SIAM J. Sci. Stat. Comput., 2 (1982), pp.~225--237.
+
+\bibitem{GEORGELIU}
+A.~George and J.~Liu, {\em Computer Solution of Large Sparse Positive
+ Definite Systems}, Prentice Hall, Englewood Cliffs, NJ, 1981.
+
+\bibitem{LAW}
+K.~H. Law and S.~J. Fenves, {\em A node addition model for symbolic
+ factorization}, ACM TOMS, 12 (1986), pp.~37--50.
+
+\bibitem{LIU}
+J.~W.~H. Liu, {\em A compact row storage scheme for cholesky factors
+ using elimination trees}, ACM TOMS, 12 (1986), pp.~127--148.
+
+\bibitem{LIU2}
+\sameauthor , {\em The role of
+ elimination trees in sparse factorization}, Tech. Report CS-87-12,Department
+ of Computer Science, York University, Ontario, Canada, 1987.
+
+\bibitem{ROSE72}
+D.~J. Rose, {\em A graph theoretic study of the numeric solution of
+ sparse positive definite systems}, in Graph Theory and Computing, Academic Press, New
+York, 1972.
+
+\bibitem{ROSE76}
+D.~J. Rose, R.~E. Tarjan, and G.~S. Lueker, {\em Algorithmic aspects of
+ vertex elimination on graphs}, SIAM J. Comput., 5 (1976), pp.~226--283.
+
+\bibitem{ROSEWHITTEN}
+D.~J. Rose and G.~F. Whitten, {\em A recursive analysis of disection
+ strategies}, in Sparse Matrix Computations, Academic Press, New York, 1976.
+
+\bibitem{SCHREIBER}
+R.~Schreiber, {\em A new implementation of sparse gaussian elimination},
+ ACM TOMS, 8 (1982), pp.~256--276.
+
+\end{thebibliography}
+
+\end{document}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% This is proc209.sty.
+% This file may be freely distributed but may not be altered in any way.
+% Any comments or questions regarding these macros should be directed to:
+
+% Corey Gray
+% SIAM
+% 3600 University City Science Center
+% Philadelphia, PA 19104-2688
+% USA
+% Telephone: (215) 382-9800
+% Fax: (215) 386-7999
+% e-mail: gray@siam.org
+
+% This is a file of macros and definitions for creating a chapter for
+% publication in the SIAM Proceedings series using LaTeX.
+
+% Report the version.
+\message{*** SIAM LaTeX 2.09 Proceedings Series macro package, version 1.1,
+October 28, 1996 ***}
+
+\pretolerance=800
+\tolerance=10000
+\sloppy
+
+
+\vsize=56pc
+\hsize=36pc
+\baselineskip=13pt
+\hoffset -.5in
+\voffset -.5in
+\footskip=18pt
+\topmargin 24pt
+\headheight 12pt
+\headsep 15pt
+\textheight 53.5pc \advance\textheight by \topskip
+\textwidth 36pc
+\parskip 0pt
+\parindent 18pt
+\def\topfraction{.9}
+\def\textfraction{.1}
+\def\topnumber{2}
+%% footnotes to be set 8/10
+\def\footnotesize{\@setsize\footnotesize{11pt}\ixpt\@ixpt
+ % \indent
+ \abovedisplayskip \z@
+ \belowdisplayskip\z@
+ \abovedisplayshortskip\abovedisplayskip
+ \belowdisplayshortskip\belowdisplayshortskip
+\def\@listi{\leftmargin\leftmargini \topsep 3pt plus 1pt minus 1pt
+ \parsep 2pt plus 1pt minus 1pt
+ \itemsep \parsep}}
+
+\let\referencesize\footnotesize
+
+\footnotesep 0pt
+
+\skip\footins 12pt plus 12pt
+
+\def\footnoterule{\kern3\p@ \hrule width 3em\vspace{3pt}} % the \hrule is .4pt high
+
+
+\def\ps@plain{\let\@mkboth\@gobbletwo
+ \def\@oddfoot{{\hfil\small\thepage\hfil}}%
+ \def\@oddhead{}
+ \def\@evenhead{}\def\@evenfoot{}}
+
+
+
+\def\ps@headings{\let\@mkboth\markboth
+ \def\@oddfoot{}\def\@evenfoot{}%
+ \def\@evenhead{{\rm\thepage}\hspace*{2pc}{\sc\leftmark}\hfil}%
+ \def\@oddhead{\hfil{\noindent\sc\rightmark}\hspace*{2pc}{\rm\thepage}}%
+
+
+
+\def\ps@myheadings{\let\@mkboth\@gobbletwo
+ \def\@oddfoot{}\def\@evenfoot{}%
+ \def\@oddhead{\hfil{\sc\rightmark}\hspace*{2pc}{\normalsize\rm\thepage}}%
+ \def\@evenhead{{\normalsize\rm\thepage}\hspace*{2pc}{\sc\leftmark}\hfil}%
+% \def\chaptermark##1{}%
+ % \def\sectionmark##1{}\def\subsectionmark##1{}}
+}}
+
+
+
+\def\theequation{\arabic{equation}}
+
+\def\abstract{\if@twocolumn
+\section*{Abstract}
+\else \small
+\begin{center}
+{\bf Abstract\vspace{-.5em}\vspace{3pt}}
+\end{center}
+\quotation
+\fi}
+\def\endabstract{\if@twocolumn\else\endquotation\fi}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% THEOREMS, PROOFS, ALGORITHMS %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%% defined proof environment by theorem model (took out counter)
+
+\def\qed{{\qquad \vbox{\hrule\hbox{%
+ \vrule height1.3ex\hskip0.8ex\vrule}\hrule
+ }}\par}
+
+\def\newproof#1{\@nprf{#1}}
+
+\def\@nprf#1#2{\@xnprf{#1}{#2}}
+
+\def\@xnprf#1#2{\expandafter\@ifdefinable\csname #1\endcsname
+\global\@namedef{#1}{\@prf{#1}{#2}}\global\@namedef{end#1}{\@endproof}}
+
+\def\@prf#1#2{\@xprf{#1}{#2}}
+
+\def\@xprf#1#2{\@beginproof{#2}{\csname the#1\endcsname}\ignorespaces}
+
+
+
+%%% defined algorithm environment by theorem model
+
+\def\newalgorithm#1{\@ifnextchar[{\@oalg{#1}}{\@nalg{#1}}}
+
+\def\@nalg#1#2{%
+\@ifnextchar[{\@xnalg{#1}{#2}}{\@ynalg{#1}{#2}}}
+
+\def\@xnalg#1#2[#3]{\expandafter\@ifdefinable\csname #1\endcsname
+{\@definecounter{#1}\@addtoreset{#1}{#3}%
+\expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand
+ \csname the#3\endcsname \@thmcountersep \@thmcounter{#1}}%
+\global\@namedef{#1}{\@alg{#1}{#2}}\global\@namedef{end#1}{\@endalgorithm}}}
+
+\def\@ynalg#1#2{\expandafter\@ifdefinable\csname #1\endcsname
+{\@definecounter{#1}%
+\expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
+\global\@namedef{#1}{\@alg{#1}{#2}}\global\@namedef{end#1}{\@endalgorithm}}}
+
+\def\@oalg#1[#2]#3{\expandafter\@ifdefinable\csname #1\endcsname
+ {\global\@namedef{the#1}{\@nameuse{the#2}}%
+\global\@namedef{#1}{\@alg{#2}{#3}}%
+\global\@namedef{end#1}{\@endalgorithm}}}
+
+\def\@alg#1#2{\refstepcounter
+ {#1}\@ifnextchar[{\@yalg{#1}{#2}}{\@xalg{#1}{#2}}}
+
+\def\@xalg#1#2{\@beginalgorithm{#2}{\csname the#1\endcsname}\ignorespaces}
+\def\@yalg#1#2[#3]{\@opargbeginalgorithm{#2}{\csname
+ the#1\endcsname}{#3}\ignorespaces}
+
+
+
+
+\def\@beginproof#1{\rm {\it #1.\ }}
+\def\@endproof{\outerparskip 0pt\endtrivlist}
+
+\def\@begintheorem#1#2{\it {\sc #1\ #2.\ }}
+\def\@opargbegintheorem#1#2#3{\it
+ {\sc #1\ #2\ (#3).\ }}
+\def\@endtheorem{\outerparskip 0pt\endtrivlist}
+
+%\def\@begindefinition#1#2{\rm \trivlist \item[\hskip \labelsep{\sc #1\ #2.}]}
+%\def\@opargbegindefinition#1#2#3{\rm \trivlist
+% \item[\hskip \labelsep{\sc #1\ #2.\ (#3)}]}
+%\def\@enddefinition{\outerparskip 0pt\endtrivlist}
+
+
+\def\@beginalgorithm#1#2{\rm \trivlist \item[\hskip \labelsep{\sc #1\ #2.}]}
+\def\@opargbeginalgorithm#1#2#3{\rm \trivlist
+ \item[\hskip \labelsep{\sc #1\ #2.\ (#3)}]}
+\def\@endalgorithm{\outerparskip 6pt\endtrivlist}
+
+
+\newskip\outerparskip
+
+\def\trivlist{\parsep\outerparskip
+ \@trivlist \labelwidth\z@ \leftmargin\z@
+ \itemindent\parindent \def\makelabel##1{##1}}
+
+\def\@trivlist{\topsep=0pt\@topsepadd\topsep
+ \if@noskipsec \leavevmode \fi
+ \ifvmode \advance\@topsepadd\partopsep \else \unskip\par\fi
+ \if@inlabel \@noparitemtrue \@noparlisttrue
+ \else \@noparlistfalse \@topsep\@topsepadd \fi
+ \advance\@topsep \parskip
+ \leftskip\z@\rightskip\@rightskip \parfillskip\@flushglue
+ \@setpar{\if@newlist\else{\@@par}\fi}%
+ \global\@newlisttrue \@outerparskip\parskip}
+
+
+\def\endtrivlist{\if@newlist\@noitemerr\fi
+ \if@inlabel\indent\fi
+ \ifhmode\unskip \par\fi
+ \if@noparlist \else
+ \ifdim\lastskip >\z@ \@tempskipa\lastskip \vskip -\lastskip
+ \advance\@tempskipa\parskip \advance\@tempskipa -\@outerparskip
+ \vskip\@tempskipa
+ \fi\@endparenv\fi
+ \vskip\outerparskip}
+
+
+
+ \newproof{@proof}{Proof}
+ \newenvironment{proof}{\begin{@proof}}{\end{@proof}}
+
+ \newtheorem{@theorem}{Theorem}[section]
+ \newenvironment{theorem}{\begin{@theorem}}{\end{@theorem}}
+
+% \newalgorithm{@algorithm}{Algorithm}[section]
+% \newenvironment{algorithm}{\begin{@algorithm}}{\end{@algorithm}}
+
+
+
+\newtheorem{lemma}{Lemma}[section]
+\newtheorem{fact}{Fact}[section]
+\newtheorem{corollary}{Corollary}[section]
+\newtheorem{axiom}{Axiom}[section]
+\newtheorem{cond}{Condition}[section]
+\newtheorem{property}{Property}[section]
+\newtheorem{proposition}{Proposition}[section]
+
+\newtheorem{Conjecture}{Conjecture}[section]
+\newtheorem{Definition}{Definition}[section]
+\newtheorem{Lemma}{Lemma}[section]
+\newtheorem{Remark}{Remark}[section]
+
+\newproof{Example}{Example}
+\newproof{Method}{Method}
+\newproof{Exercise}{Exercise}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% TABLE AND FIGURE CAPTIONS %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \def\@figtxt{figure}
+\long\def\@makecaption#1#2{\small
+\setlength{\parindent}{18pt}
+\baselineskip 14pt
+ \ifx\@captype\@figtxt
+ \vskip 10pt
+ \setbox\@tempboxa\hbox{{\sc #1} {\it #2}}
+ \ifdim \wd\@tempboxa >\hsize {\sc #1} {\it #2}\par \else \hbox
+to\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi\else\hbox to\hsize{\hfil{\sc #1}\hfil}%
+ \setbox\@tempboxa\hbox{{\it #2}}%
+ \ifdim \wd\@tempboxa >\hsize {\it #2}\par \else
+ \hbox to \hsize{\hfil\box\@tempboxa\hfil}\fi
+ \vskip 10pt
+ \fi}
+
+
+%\newif\iftable \global\tablefalse
+
+
+%\long\def\@makecaption#1#2{%
+%\setlength{\parindent}{18pt}
+% \vskip 12pt
+% \iftable
+ % \hbox to \hsize{\hfil\sc #1\hfil}
+ % \hbox to \hsize{\hfil\it #2\hfil}
+ % \global\tablefalse
+ % \else
+ % \setbox\@tempboxa\hbox{{\small#1} {\small\it#2}}
+ % \ifdim \wd\@tempboxa >\hsize
+ % \indent{\small#1}{\small\it#2}\par
+ % \else
+ % \hbox to\hsize{\hfil\box\@tempboxa\hfil}\fi
+ % \fi}
+% \vskip 6pt}
+
+
+
+%\def\figure{\global\tablefalse\@float{figure}}
+\def\fnum@figure{\par\sc Fig. \thefigure.\ }
+%\def\fnum@figure{\par\sc Fig. \thefigure\ }
+
+%\def\table{\global\tabletrue\@float{table}}
+\def\fnum@table{\small \sc Table \thetable}
+
+
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% SECTIONS %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\section{\@startsection {section}{1}{\z@}{-3.5ex plus -1ex minus
+ -.2ex}%{2.3ex plus .2ex}
+{2pt}{\large\bf}}
+\def\subsection{\@startsection{subsection}{2}{\z@}{-3.25ex plus -1ex minus
+ -.2ex}%{1.5ex plus .2ex}
+{2pt}{\large\bf}}
+\def\subsubsection{\@startsection {subsubsection}{3}{\z@}{1.3ex plus .5ex minus
+ .2ex}{-.5em plus -.1em}{\normalsize\bf}}
+
+
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% BIBLIOGRAPHY %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\def\thebibliography#1{%
+%\cleardoublepage
+\parindent 0em
+\vspace{9pt}
+\begin{flushleft}\large\bf {References}\end{flushleft}
+\addvspace{3pt}\nopagebreak\list
+ %% default is no labels, for those not using \cite or BibTeX
+{[\arabic{enumi}]} {\settowidth\labelwidth{[#1]}
+%%{[\arabic{enumi}]}{\settowidth\labelwidth{mm}
+\leftmargin\labelwidth
+\leftmargin=17pt
+ \advance\leftmargin\labelsep
+ \usecounter{enumi}\@bibsetup}
+\def\newblock{\hskip .11em plus .33em minus -.07em}
+ \sloppy\clubpenalty4000\widowpenalty4000
+ \sfcode`\.=1000\relax}
+
+
+
+%% setup 8/10 type
+\def\@bibsetup{%\itemindent=0pt
+\itemsep=0pt \parsep=0pt
+\small}
+
+\def\sameauthor{\leavevmode\vrule height 2pt depth -1.6pt width 23pt}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% INDEX %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%makeindex.sty official version 6.4
+%The second line came from /usr/misc/lib/tex82/report.sty.
+
+\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
+\columnseprule \z@
+\columnsep 35pt\twocolumn[\chapter*{Index}]
+ \parskip\z@ plus .3pt\relax\let\item\@idxitem}
+
+
+\def\printindex{\cleardoublepage\markboth{INDEX}{INDEX}
+\addcontentsline{toc}{chapter}{Index}\@input{\jobname.ind}}
+
+\ps@headings
+
+
+%%% end of style file
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% This is siamproc.bst
+% SIAM bibliography style (29-Jan-88 version)
+% numeric labels, alphabetic order, Mathematical Reviews abbreviations,
+% names in \sc, titles in italics, book titles mixed upper-lower and article
+% titles lowercase, commas separate all fields except before "notes".
+%
+% History
+% 1/30/86 (HWT) Original version, by Howard Trickey.
+% 6/15/87 (HWT) Fix format.editors---Martin Costabel.
+% 1/29/88 (OP&HWT) Updated for BibTeX version 0.99a, Oren Patashnik;
+% THIS `siam' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ 'write$
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {scapify}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\sc " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+STRINGS { last.authors }
+
+FUNCTION {init.last.authors}
+{ "" 'last.authors :=
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" 'last.authors :=
+ ""
+ }
+ { author last.authors =
+ { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" }
+ { author format.names }% scapify }
+ if$
+ author 'last.authors :=
+ }
+ if$
+}
+
+FUNCTION {format.organization}
+{ organization empty$
+ { "" 'last.authors :=
+ ""
+ }
+ { organization last.authors =
+ { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" }
+ { organization scapify }
+ if$
+ organization 'last.authors :=
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" 'last.authors :=
+ ""
+ }
+ { editor last.authors =
+ { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" }
+ { editor format.names scapify }
+ if$
+ editor num.names$ #1 >
+ { ", eds." * }
+ { ", ed." * }
+ if$
+ editor 'last.authors :=
+ }
+ if$
+}
+
+FUNCTION {format.ineditors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", eds." * }
+ { ", ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ emphasize }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "vol.~" volume *
+ series empty$
+ 'skip$
+ { " of " * series * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { "no.~" number *
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { edition "l" change.case$ "~ed." * }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp.~" pages n.dashify * }
+ { "p.~" pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.year}
+{ volume field.or.null
+ year empty$
+ { "empty year in " cite$ * warning$ }
+ { " (" year * ")" * * }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "ch.~" chapter * }
+ { type "l" change.case$ chapter tie.or.space.connect }
+ if$
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "in " booktitle * }
+ { "in " booktitle * ", " * format.ineditors * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "l" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Tech. Rep." }
+ 'type
+ if$
+ number empty$
+ { "l" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "in " journal * }
+ if$
+ }
+ { "in " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "in "
+ }
+ { "vol.~" volume *
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "in " booktitle * }
+ if$
+ }
+ { "in " key * }
+ if$
+ }
+ { "in " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { journal "journal" output.check
+ format.vol.year output
+ }
+ { format.article.crossref output.nonnull }
+ if$
+ format.pages output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ format.title "title" output.check
+ howpublished new.block.checka
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull }
+ if$
+ format.chapter.pages output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull }
+ if$
+ format.pages output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { format.organization output }
+ { format.authors output.nonnull }
+ if$
+ format.btitle "title" output.check
+ author empty$
+ 'skip$
+ { organization output }
+ if$
+ address output
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.btitle "title" output.check
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { format.organization output }
+ { format.editors output.nonnull }
+ if$
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+MACRO {acmcs} {"ACM Comput. Surveys"}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Comm. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~Assoc. Comput. Mach."}
+
+MACRO {jcss} {"J.~Comput. System Sci."}
+
+MACRO {scp} {"Sci. Comput. Programming"}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Gr."}
+
+MACRO {toms} {"ACM Trans. Math. Softw."}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+
+MACRO {tcs} {"Theoretical Comput. Sci."}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+EXECUTE {init.last.authors}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/texmf-dist/doc/latex/siam/proc209.tex b/texmf-dist/doc/latex/siam/proc209.tex
new file mode 100644
index 00000000..562caa29
--- /dev/null
+++ b/texmf-dist/doc/latex/siam/proc209.tex
@@ -0,0 +1,327 @@
+%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% This is proc209.tex, an example file for use with the SIAM LaTeX 2.09
+% Proceedings Series macros.
+% Please take the time to read the following comments, as they describe
+% how to use these macros. This file can be composed and printed out for
+% use as sample output.
+
+% Any comments or questions regarding these macros should be directed to:
+%
+% Corey Gray
+% SIAM
+% 3600 University City Science Center
+% Philadelphia, PA 19104-2688
+% USA
+% Telephone: (215) 382-9800
+% Fax: (215) 386-7999
+% e-mail: gray@siam.org
+
+
+% This file is to be used as an example for style only. It should not be read
+% for content.
+
+%%%%%%%%%%%%%%% PLEASE NOTE THE FOLLOWING STYLE RESTRICTIONS %%%%%%%%%%%%%%%
+
+%% 1. There are no new tags. Existing LaTeX tags have been formatted to
+%% match the Proceedings series style.
+%%
+%% 2. You must use \cite in the text to mark your reference citations and
+%% \bibitem in the listing of references at the end of your chapter. See
+%% the examples in the following file. The file siamproc.bst has been
+%% included for use with BiBTeX.
+%%
+%% 3. This macro is set up for three levels of headings (\section,
+%% \subsection, and \subsubsection). The macro will automatically number
+%% the headings for you.
+%%
+%% 4. Theorems, Lemmas, Definitions, etc. are to be double-numbered,
+%% indicating the section and the occurrence of that element
+%% within that section. (For example, the first theorem in the second
+%% section would be numbered 2.1. The macro will
+%% automatically do the numbering for you.
+%%
+%% 5. Proofs are handled with the commands \begin{proof}\end{proof}.
+%% If you wish to use an end of proof box, use \qed preceding \end{proof}.
+%% The example uses one. It is not required.
+%%
+%% 6. Figures, equations, and tables must be single-numbered. All equation
+%% numbers are to be on the left. Figure captions should be placed under
+%% the figures they pertain to. Table captions should be placed above
+%% the tables. Use existing LaTeX tags for these elements. Numbering of
+%% these elements will be done automatically.
+%%
+%% 7. Grant information and author affiliations.
+%% This information is included in the file with the two commands,
+%% \thanks and \footnotemark []. (See example). The \thanks command
+%% produces a footnote for the title or author, and places the
+%% appropriate footnote symbol with the title or author and at the
+%% bottom of the page. The \footnotemark [] command allows the use of
+%% duplicate footnote symbols. This macro follows the normal LaTeX order
+%% of footnote symbols. Below is a list of these symbols, and their
+%% corresponding footnotemark:
+%%
+%% asterisk \footnotemark[1]
+%% single-dagger \footnotemark[2]
+%% double-dagger \footnotemark[3]
+%% section sign \footnotemark[4]
+%% paragraph \footnotemark[5]
+%% parallel \footnotemark[6]
+%% double asterisk \footnotemark[7]
+%% double single-dagger \footnotemark[8]
+%% double double-dagger \footnotemark[9]
+%%
+%% The following general rules for grants and affiliations apply:
+%% a) If there is a single grant for the paper, then the grant
+%% information should be footnoted to the title.
+%% b) If there is more than one grant, include the grant information
+%% with each author's affiliation.
+%% c) If there are different grants for the paper but the authors share
+%% the same affiliation, footnote the grant information to the title.
+%% For example, The work of the first author was supported by xyz.
+%% The work of the second author was supported by abc. And so on.
+%% d) For authors sharing the same affiliation, use \thanks for the
+%% first author with that affiliation and the appropriate
+%% \footnotemark[] (from the list above) for all subsequent authors
+%% with that affiliation.
+%%
+%%
+%%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%-
+%%%
+
+
+\documentstyle[leqno,twoside,11pt,proc209]{article} %You must set up your
+ %\documentstyle line like this.
+
+
+\begin{document}
+\cleardoublepage
+\pagestyle{plain}
+
+\title{SIAM Proceedings Series Macros
+ for Use With LaTeX\thanks{Any information regarding grants should be placed
+here.}}
+\author{J. Corey Gray\thanks{Production Manager, Society for Industrial and Applied
+Mathematics, Philadelphia, PA.}
+\and
+Tricia Manning\thanks{Publications Specialist, Society for Industrial and Applied
+Mathematics, Philadelphia, PA.}
+\and
+Vickie Kearn\thanks{Publisher, Society for Industrial and Applied Mathematics,
+Philadelphia, PA.}\\
+\and
+Nancy Abbott\thanks{Design Supervisor, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+\and
+Sue Ciambrano\thanks{Acquisitions Editor, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+\and
+Paul Duggan\thanks{Composition Specialist, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+\and
+Robbi Anne Albert\thanks{Production Assistant, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+\and
+Jean Anderson\thanks{Composition Coordinator, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+}
+\date{}
+\maketitle
+
+\pagenumbering{arabic}
+
+\begin{abstract}An equivalence is shown between realizability of input/output (i/o) operators by
+rational control systems and high-order algebraic differential equations for
+i/o pairs. This generalizes, to nonlinear systems, the equivalence
+between autoregressive representations and finite dimensional linear
+realizability. \end{abstract}
+\section{Problem Specification}In this paper, we consider the solution of the $N \times
+N$ linear
+system
+\begin{equation} \label{e1.1}
+\cos \sin A x = b
+\end{equation}
+where $A$ is large, sparse, symmetric, and positive definite. We consider
+the direct solution of (\ref{e1.1}) by means of general sparse Gaussian
+elimination. In such a procedure, we find a permutation matrix $P$, and
+compute the decomposition
+\[
+P A P^{t} = L D L^{t}
+\]
+where $L$ is unit lower triangular and $D$ is diagonal.
+
+
+\section{Design Considerations}Several good ordering algorithms (nested dissection and
+minimum degree)
+are available for computing $P$ \cite{GEORGELIU}, \cite{ROSE72}.
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+
+\begin{theorem} The method was extended to three
+dimensions. For the standard multigrid
+coarsening
+(in which, for a given grid, the next coarser grid has $1/8$
+as many points), anisotropic problems require plane
+relaxation to
+obtain a good smoothing factor.\end{theorem}
+
+Several good ordering algorithms (nested dissection and minimum degree)
+are available for computing $P$ \cite{GEORGELIU}, \cite{ROSE72}.
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+
+\begin{proof} In this paper we consider two methods. The first method
+is
+basically the method considered with two differences:
+first, we perform plane relaxation by a two-dimensional
+multigrid method, and second, we use a slightly different
+choice of
+interpolation operator, which improves performance
+for nearly singular problems. In the second method coarsening
+is done by successively coarsening in each of the three
+independent variables and then ignoring the intermediate
+grids; this artifice simplifies coding considerably.\qed
+\end{proof}
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+
+\begin{Definition}{\rm We describe the two methods in \S 1.2. In \S\ 1.3. we
+discuss
+some remaining details.}
+\end{Definition}
+
+\begin{figure}
+\vspace*{24pc}
+\caption{This is figure 1.}
+\end{figure}
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination.
+
+\begin{lemma} We discuss first the choice for $I_{k-1}^k$
+which is a generalization. We assume that $G^{k-1}$ is
+obtained
+from $G^k$
+by standard coarsening; that is, if $G^k$ is a tensor product
+grid $G_{x}^k \times G_{y}^k \times G_{z}^k$,
+$G^{k-1}=G_{x}^{k-1} \times G_{y}^{k-1} \times G_{z}^{k-1}$,
+where $G_{x}^{k-1}$ is obtained by deleting every other grid
+point of $G_x^k$ and similarly for $G_{y}^k$ and $G_{z}^k$.
+\end{lemma}
+
+This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+\cite{EISENSTAT} - \cite{LIU2}, \cite{ROSE76}, \cite{SCHREIBER}.
+
+\subsection{Robustness}
+We do not
+attempt to present an overview
+here, but rather attempt to focus on those results that
+are relevant to our particular algorithm.
+This section assumes prior knowledge of the role of graph theory
+in sparse Gaussian elimination; surveys of this role are
+available in \cite{ROSE72} and \cite{GEORGELIU}. More general
+discussions of elimination trees are given in
+\cite{LAW} - \cite{LIU2}, \cite{SCHREIBER}.
+Thus, at the $k$th stage, the bordering algorithm consists of
+solving the lower triangular system
+\begin{equation} \label{1.2}
+ L_{k-1}v = c
+\end{equation}
+and setting
+\begin{eqnarray}
+\ell &=& D^{-1}_{k-1}v , \\
+\delta &=& \alpha - \ell^{t} v .
+\end{eqnarray}
+
+\subsubsection{Versatility.} We do not
+attempt to present an overview
+here, but rather attempt to focus on those results that
+are relevant to our particular algorithm.
+
+\section{Conclusions} The special
+structure of this problem allows us to make exact estimates of
+the complexity. For the old approach, we show that the
+complexity of the intersection problem is $O(n^{3})$, the same
+as the complexity of the numerical computations
+\cite{GEORGELIU}, \cite{ROSEWHITTEN}. For the
+new approach, the complexity of the second part is reduced to
+$O(n^{2} (\log n)^{2})$.
+
+\begin{thebibliography}{99}
+
+
+\bibitem{BANKSMITH}
+R.~E. Bank and R.~K. Smith, {\em General sparse elimination requires no
+ permanent integer storage}, SIAM J. Sci. Stat. Comput., 8 (1987),
+ pp.~574--584.
+
+\bibitem{EISENSTAT}
+S.~C. Eisenstat, M.~C. Gursky, M.~Schultz, and A.~Sherman, {\em
+ Algorithms and data structures for sparse symmetric gaussian elimination},
+ SIAM J. Sci. Stat. Comput., 2 (1982), pp.~225--237.
+
+\bibitem{GEORGELIU}
+A.~George and J.~Liu, {\em Computer Solution of Large Sparse Positive
+ Definite Systems}, Prentice Hall, Englewood Cliffs, NJ, 1981.
+
+\bibitem{LAW}
+K.~H. Law and S.~J. Fenves, {\em A node addition model for symbolic
+ factorization}, ACM TOMS, 12 (1986), pp.~37--50.
+
+\bibitem{LIU}
+J.~W.~H. Liu, {\em A compact row storage scheme for cholesky factors
+ using elimination trees}, ACM TOMS, 12 (1986), pp.~127--148.
+
+\bibitem{LIU2}
+\sameauthor , {\em The role of
+ elimination trees in sparse factorization}, Tech. Report CS-87-12,Department
+ of Computer Science, York University, Ontario, Canada, 1987.
+
+\bibitem{ROSE72}
+D.~J. Rose, {\em A graph theoretic study of the numeric solution of
+ sparse positive definite systems}, in Graph Theory and Computing, Academic Press, New
+York, 1972.
+
+\bibitem{ROSE76}
+D.~J. Rose, R.~E. Tarjan, and G.~S. Lueker, {\em Algorithmic aspects of
+ vertex elimination on graphs}, SIAM J. Comput., 5 (1976), pp.~226--283.
+
+\bibitem{ROSEWHITTEN}
+D.~J. Rose and G.~F. Whitten, {\em A recursive analysis of disection
+ strategies}, in Sparse Matrix Computations, Academic Press, New York, 1976.
+
+\bibitem{SCHREIBER}
+R.~Schreiber, {\em A new implementation of sparse gaussian elimination},
+ ACM TOMS, 8 (1982), pp.~256--276.
+
+\end{thebibliography}
+
+\end{document}
diff --git a/texmf-dist/doc/latex/siam/proc2e.all b/texmf-dist/doc/latex/siam/proc2e.all
new file mode 100644
index 00000000..b10bc47a
--- /dev/null
+++ b/texmf-dist/doc/latex/siam/proc2e.all
@@ -0,0 +1,1746 @@
+
+
+This file constitutes the full distribution for SIAM Proceedings
+Series LaTeX version macros. The files included here are:
+
+proc2e.tex (An example file, also containing documentation)
+
+proc2e.sty (The style file)
+
+siamproc.bst (for BiBTeX users)
+
+To use these macros, separate the files at the indicated cut lines.
+
+%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% This is proc2e.tex, an example file for use with the SIAM LaTeX2e
+% Proceedings Series macros.
+% Please take the time to read the following comments, as they describe
+% how to use these macros. This file can be composed and printed out for
+% use as sample output.
+
+% Any comments or questions regarding these macros should be directed to:
+%
+% Corey Gray
+% SIAM
+% 3600 University City Science Center
+% Philadelphia, PA 19104-2688
+% USA
+% Telephone: (215) 382-9800
+% Fax: (215) 386-7999
+% e-mail: gray@siam.org
+
+
+% This file is to be used as an example for style only. It should not be read
+% for content.
+
+%%%%%%%%%%%%%%% PLEASE NOTE THE FOLLOWING STYLE RESTRICTIONS %%%%%%%%%%%%%%%
+
+%% 1. There are no new tags. Existing LaTeX tags have been formatted to
+%% match the Proceedings series style.
+%%
+%% 2. You must use \cite in the text to mark your reference citations and
+%% \bibitem in the listing of references at the end of your chapter. See
+%% the examples in the following file. The file siamproc.bst has been
+%% included for use with BiBTeX.
+%%
+%% 3. This macro is set up for three levels of headings (\section,
+%% \subsection, and \subsubsection). The macro will automatically number
+%% the headings for you.
+%%
+%% 4. Theorems, Lemmas, Definitions, etc. are to be double-numbered,
+%% indicating the section and the occurrence of that element
+%% within that section. (For example, the first theorem in the second
+%% section would be numbered 2.1. The macro will
+%% automatically do the numbering for you.
+%%
+%% 5. Proofs are handled with the commands \begin{proof}\end{proof}.
+%% If you wish to use an end of proof box, use \qed preceding \end{proof}.
+%% The example uses one. It is not required.
+%%
+%% 6. Figures, equations, and tables must be single-numbered. All equation
+%% numbers are to be on the left. Figure captions should be placed under
+%% the figures they pertain to. Table captions should be placed above
+%% the tables. Use existing LaTeX tags for these elements. Numbering of
+%% these elements will be done automatically.
+%%
+%% 7. Grant information and author affiliations.
+%% This information is included in the file with the two commands,
+%% \thanks and \footnotemark []. (See example). The \thanks command
+%% produces a footnote for the title or author, and places the
+%% appropriate footnote symbol with the title or author and at the
+%% bottom of the page. The \footnotemark [] command allows the use of
+%% duplicate footnote symbols. This macro follows the normal LaTeX order
+%% of footnote symbols. Below is a list of these symbols, and their
+%% corresponding footnotemark:
+%%
+%% asterisk \footnotemark[1]
+%% single-dagger \footnotemark[2]
+%% double-dagger \footnotemark[3]
+%% section sign \footnotemark[4]
+%% paragraph \footnotemark[5]
+%% parallel \footnotemark[6]
+%% double asterisk \footnotemark[7]
+%% double single-dagger \footnotemark[8]
+%% double double-dagger \footnotemark[9]
+%%
+%% The following general rules for grants and affiliations apply:
+%% a) If there is a single grant for the paper, then the grant
+%% information should be footnoted to the title.
+%% b) If there is more than one grant, include the grant information
+%% with each author's affiliation.
+%% c) If there are different grants for the paper but the authors share
+%% the same affiliation, footnote the grant information to the title.
+%% For example, The work of the first author was supported by xyz.
+%% The work of the second author was supported by abc. And so on.
+%% d) For authors sharing the same affiliation, use \thanks for the
+%% first author with that affiliation and the appropriate
+%% \footnotemark[] (from the list above) for all subsequent authors
+%% with that affiliation.
+%%
+%%
+%%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%-
+%%%
+
+\documentclass[twoside,leqno,11pt]{article}
+\usepackage{proc2e}
+
+
+\begin{document}
+\cleardoublepage
+\pagestyle{headings}
+
+\title{SIAM Proceedings Series Macros
+ for Use With LaTeX\thanks{Any information regarding grants should be placed
+here.}}
+\author{J. Corey Gray\thanks{Production Manager, Society for Industrial and Applied
+Mathematics, Philadelphia, PA.}
+\and
+Tricia Manning\thanks{Publications Specialist, Society for Industrial and Applied
+Mathematics, Philadelphia, PA.}
+\and
+Vickie Kearn\thanks{Publisher, Society for Industrial and Applied Mathematics,
+Philadelphia, PA.}\\
+\and
+Nancy Abbott\thanks{Design Supervisor, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+\and
+Sue Ciambrano\thanks{Acquisitions Editor, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+\and
+Paul Duggan\thanks{Composition Specialist, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+\and
+Robbi Anne Albert\thanks{Production Assistant, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+\and
+Jean Anderson\thanks{Composition Coordinator, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+}
+\date{}
+\maketitle
+
+\pagenumbering{arabic}
+
+\begin{abstract}An equivalence is shown between realizability of input/output (i/o) operators by
+rational control systems and high-order algebraic differential equations for
+i/o pairs. This generalizes, to nonlinear systems, the equivalence
+between autoregressive representations and finite dimensional linear
+realizability. \end{abstract}
+\section{Problem Specification}In this paper, we consider the solution of the $N \times
+N$ linear
+system
+\begin{equation} \label{e1.1}
+\cos \sin A x = b
+\end{equation}
+where $A$ is large, sparse, symmetric, and positive definite. We consider
+the direct solution of (\ref{e1.1}) by means of general sparse Gaussian
+elimination. In such a procedure, we find a permutation matrix $P$, and
+compute the decomposition
+\[
+P A P^{t} = L D L^{t}
+\]
+where $L$ is unit lower triangular and $D$ is diagonal.
+
+
+\section{Design Considerations}Several good ordering algorithms (nested dissection and
+minimum degree)
+are available for computing $P$ \cite{GEORGELIU}, \cite{ROSE72}.
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+
+\begin{theorem} The method was extended to three
+dimensions. For the standard multigrid
+coarsening
+(in which, for a given grid, the next coarser grid has $1/8$
+as many points), anisotropic problems require plane
+relaxation to
+obtain a good smoothing factor.\end{theorem}
+
+Several good ordering algorithms (nested dissection and minimum degree)
+are available for computing $P$ \cite{GEORGELIU}, \cite{ROSE72}.
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+
+\begin{proof} In this paper we consider two methods. The first method
+is
+basically the method considered with two differences:
+first, we perform plane relaxation by a two-dimensional
+multigrid method, and second, we use a slightly different
+choice of
+interpolation operator, which improves performance
+for nearly singular problems. In the second method coarsening
+is done by successively coarsening in each of the three
+independent variables and then ignoring the intermediate
+grids; this artifice simplifies coding considerably.\qed
+\end{proof}
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+
+\begin{Definition}{\rm We describe the two methods in \S 1.2. In \S\ 1.3. we
+discuss
+some remaining details.}
+\end{Definition}
+
+\begin{figure}
+\vspace*{24pc}
+\caption{This is figure 1.}
+\end{figure}
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination.
+
+\begin{lemma} We discuss first the choice for $I_{k-1}^k$
+which is a generalization. We assume that $G^{k-1}$ is
+obtained
+from $G^k$
+by standard coarsening; that is, if $G^k$ is a tensor product
+grid $G_{x}^k \times G_{y}^k \times G_{z}^k$,
+$G^{k-1}=G_{x}^{k-1} \times G_{y}^{k-1} \times G_{z}^{k-1}$,
+where $G_{x}^{k-1}$ is obtained by deleting every other grid
+point of $G_x^k$ and similarly for $G_{y}^k$ and $G_{z}^k$.
+\end{lemma}
+
+This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+\cite{EISENSTAT} - \cite{LIU2}, \cite{ROSE76}, \cite{SCHREIBER}.
+
+\subsection{Robustness}
+We do not
+attempt to present an overview
+here, but rather attempt to focus on those results that
+are relevant to our particular algorithm.
+This section assumes prior knowledge of the role of graph theory
+in sparse Gaussian elimination; surveys of this role are
+available in \cite{ROSE72} and \cite{GEORGELIU}. More general
+discussions of elimination trees are given in
+\cite{LAW} - \cite{LIU2}, \cite{SCHREIBER}.
+Thus, at the $k$th stage, the bordering algorithm consists of
+solving the lower triangular system
+\begin{equation} \label{1.2}
+ L_{k-1}v = c
+\end{equation}
+and setting
+\begin{eqnarray}
+\ell &=& D^{-1}_{k-1}v , \\
+\delta &=& \alpha - \ell^{t} v .
+\end{eqnarray}
+
+\subsubsection{Versatility.} We do not
+attempt to present an overview
+here, but rather attempt to focus on those results that
+are relevant to our particular algorithm.
+
+\section{Conclusions} The special
+structure of this problem allows us to make exact estimates of
+the complexity. For the old approach, we show that the
+complexity of the intersection problem is $O(n^{3})$, the same
+as the complexity of the numerical computations
+\cite{GEORGELIU}, \cite{ROSEWHITTEN}. For the
+new approach, the complexity of the second part is reduced to
+$O(n^{2} (\log n)^{2})$.
+
+\begin{thebibliography}{99}
+
+
+\bibitem{BANKSMITH}
+R.~E. Bank and R.~K. Smith, {\em General sparse elimination requires no
+ permanent integer storage}, SIAM J. Sci. Stat. Comput., 8 (1987),
+ pp.~574--584.
+
+\bibitem{EISENSTAT}
+S.~C. Eisenstat, M.~C. Gursky, M.~Schultz, and A.~Sherman, {\em
+ Algorithms and data structures for sparse symmetric gaussian elimination},
+ SIAM J. Sci. Stat. Comput., 2 (1982), pp.~225--237.
+
+\bibitem{GEORGELIU}
+A.~George and J.~Liu, {\em Computer Solution of Large Sparse Positive
+ Definite Systems}, Prentice Hall, Englewood Cliffs, NJ, 1981.
+
+\bibitem{LAW}
+K.~H. Law and S.~J. Fenves, {\em A node addition model for symbolic
+ factorization}, ACM TOMS, 12 (1986), pp.~37--50.
+
+\bibitem{LIU}
+J.~W.~H. Liu, {\em A compact row storage scheme for cholesky factors
+ using elimination trees}, ACM TOMS, 12 (1986), pp.~127--148.
+
+\bibitem{LIU2}
+\sameauthor , {\em The role of
+ elimination trees in sparse factorization}, Tech. Report CS-87-12,Department
+ of Computer Science, York University, Ontario, Canada, 1987.
+
+\bibitem{ROSE72}
+D.~J. Rose, {\em A graph theoretic study of the numeric solution of
+ sparse positive definite systems}, in Graph Theory and Computing, Academic Press, New
+York, 1972.
+
+\bibitem{ROSE76}
+D.~J. Rose, R.~E. Tarjan, and G.~S. Lueker, {\em Algorithmic aspects of
+ vertex elimination on graphs}, SIAM J. Comput., 5 (1976), pp.~226--283.
+
+\bibitem{ROSEWHITTEN}
+D.~J. Rose and G.~F. Whitten, {\em A recursive analysis of disection
+ strategies}, in Sparse Matrix Computations, Academic Press, New York, 1976.
+
+\bibitem{SCHREIBER}
+R.~Schreiber, {\em A new implementation of sparse gaussian elimination},
+ ACM TOMS, 8 (1982), pp.~256--276.
+
+\end{thebibliography}
+
+\end{document}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% This is proc2e.sty.
+% This file may be freely distributed but may not be altered in any way.
+% Any comments or questions regarding these macros should be directed to:
+
+% Corey Gray
+% SIAM
+% 3600 University City Science Center
+% Philadelphia, PA 19104-2688
+% USA
+% Telephone: (215) 382-9800
+% Fax: (215) 386-7999
+% e-mail: gray@siam.org
+
+% This is a file of macros and definitions for creating a chapter for
+% publication in the SIAM Proceedings series using LaTeX2e.
+
+% Report the version.
+\message{*** SIAM LaTeX2e Proceedings Series macro package, version 1.1,
+October 28, 1996 ***}
+
+\pretolerance=800
+\tolerance=10000
+\sloppy
+
+
+\vsize=56pc
+\hsize=36pc
+\baselineskip=13pt
+\hoffset -.5in
+\voffset -.5in
+\footskip=18pt
+\topmargin 24pt
+\headheight 12pt
+\headsep 15pt
+\textheight 53.5pc \advance\textheight by \topskip
+\textwidth 36pc
+\parskip 0pt
+\parindent 18pt
+\def\topfraction{.9}
+\def\textfraction{.1}
+\def\topnumber{2}
+%% footnotes to be set 8/10
+\def\footnotesize{\@setsize\footnotesize{11pt}\ixpt\@ixpt
+ % \indent
+ \abovedisplayskip \z@
+ \belowdisplayskip\z@
+ \abovedisplayshortskip\abovedisplayskip
+ \belowdisplayshortskip\belowdisplayshortskip
+\def\@listi{\leftmargin\leftmargini \topsep 3pt plus 1pt minus 1pt
+ \parsep 2pt plus 1pt minus 1pt
+ \itemsep \parsep}}
+
+\let\referencesize\footnotesize
+
+\footnotesep 0pt
+
+\skip\footins 12pt plus 12pt
+
+\def\footnoterule{\kern3\p@ \hrule width 3em\vspace{3pt}} % the \hrule is .4pt high
+
+
+\def\ps@plain{\let\@mkboth\@gobbletwo
+ \def\@oddfoot{{\hfil\small\thepage\hfil}}%
+ \def\@oddhead{}
+ \def\@evenhead{}\def\@evenfoot{}}
+
+
+
+\def\ps@headings{\let\@mkboth\markboth
+ \def\@oddfoot{}\def\@evenfoot{}%
+ \def\@evenhead{{\rm\thepage}\hspace*{2pc}{\sc\leftmark}\hfil}%
+ \def\@oddhead{\hfil{\noindent\sc\rightmark}\hspace*{2pc}{\rm\thepage}}%
+
+
+
+\def\ps@myheadings{\let\@mkboth\@gobbletwo
+ \def\@oddfoot{}\def\@evenfoot{}%
+ \def\@oddhead{\hfil{\sc\rightmark}\hspace*{2pc}{\normalsize\rm\thepage}}%
+ \def\@evenhead{{\normalsize\rm\thepage}\hspace*{2pc}{\sc\leftmark}\hfil}%
+% \def\chaptermark##1{}%
+ % \def\sectionmark##1{}\def\subsectionmark##1{}}
+}}
+
+
+
+\def\theequation{\arabic{equation}}
+
+\def\abstract{\if@twocolumn
+\section*{Abstract}
+\else \small
+\begin{center}
+{\bf Abstract\vspace{-.5em}\vspace{3pt}}
+\end{center}
+\quotation
+\fi}
+\def\endabstract{\if@twocolumn\else\endquotation\fi}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% THEOREMS, PROOFS, ALGORITHMS %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%% defined proof environment by theorem model (took out counter)
+
+\def\qed{{\qquad \vbox{\hrule\hbox{%
+ \vrule height1.3ex\hskip0.8ex\vrule}\hrule
+ }}\par}
+
+\def\newproof#1{\@nprf{#1}}
+
+\def\@nprf#1#2{\@xnprf{#1}{#2}}
+
+\def\@xnprf#1#2{\expandafter\@ifdefinable\csname #1\endcsname
+\global\@namedef{#1}{\@prf{#1}{#2}}\global\@namedef{end#1}{\@endproof}}
+
+\def\@prf#1#2{\@xprf{#1}{#2}}
+
+\def\@xprf#1#2{\@beginproof{#2}{\csname the#1\endcsname}\ignorespaces}
+
+
+
+%%% defined algorithm environment by theorem model
+
+\def\newalgorithm#1{\@ifnextchar[{\@oalg{#1}}{\@nalg{#1}}}
+
+\def\@nalg#1#2{%
+\@ifnextchar[{\@xnalg{#1}{#2}}{\@ynalg{#1}{#2}}}
+
+\def\@xnalg#1#2[#3]{\expandafter\@ifdefinable\csname #1\endcsname
+{\@definecounter{#1}\@addtoreset{#1}{#3}%
+\expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand
+ \csname the#3\endcsname \@thmcountersep \@thmcounter{#1}}%
+\global\@namedef{#1}{\@alg{#1}{#2}}\global\@namedef{end#1}{\@endalgorithm}}}
+
+\def\@ynalg#1#2{\expandafter\@ifdefinable\csname #1\endcsname
+{\@definecounter{#1}%
+\expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
+\global\@namedef{#1}{\@alg{#1}{#2}}\global\@namedef{end#1}{\@endalgorithm}}}
+
+\def\@oalg#1[#2]#3{\expandafter\@ifdefinable\csname #1\endcsname
+ {\global\@namedef{the#1}{\@nameuse{the#2}}%
+\global\@namedef{#1}{\@alg{#2}{#3}}%
+\global\@namedef{end#1}{\@endalgorithm}}}
+
+\def\@alg#1#2{\refstepcounter
+ {#1}\@ifnextchar[{\@yalg{#1}{#2}}{\@xalg{#1}{#2}}}
+
+\def\@xalg#1#2{\@beginalgorithm{#2}{\csname the#1\endcsname}\ignorespaces}
+\def\@yalg#1#2[#3]{\@opargbeginalgorithm{#2}{\csname
+ the#1\endcsname}{#3}\ignorespaces}
+
+
+
+
+\def\@beginproof#1{\rm {\it #1.\ }}
+\def\@endproof{\outerparskip 0pt\endtrivlist}
+
+\def\@begintheorem#1#2{\it {\sc #1\ #2.\ }}
+\def\@opargbegintheorem#1#2#3{\it
+ {\sc #1\ #2\ (#3).\ }}
+\def\@endtheorem{\outerparskip 0pt\endtrivlist}
+
+%\def\@begindefinition#1#2{\rm \trivlist \item[\hskip \labelsep{\sc #1\ #2.}]}
+%\def\@opargbegindefinition#1#2#3{\rm \trivlist
+% \item[\hskip \labelsep{\sc #1\ #2.\ (#3)}]}
+%\def\@enddefinition{\outerparskip 0pt\endtrivlist}
+
+
+\def\@beginalgorithm#1#2{\rm \trivlist \item[\hskip \labelsep{\sc #1\ #2.}]}
+\def\@opargbeginalgorithm#1#2#3{\rm \trivlist
+ \item[\hskip \labelsep{\sc #1\ #2.\ (#3)}]}
+\def\@endalgorithm{\outerparskip 6pt\endtrivlist}
+
+
+\newskip\outerparskip
+
+%\def\trivlist{\parsep\outerparskip
+% \@trivlist \labelwidth\z@ \leftmargin\z@
+% \itemindent\parindent \def\makelabel##1{##1}}
+%
+%\def\@trivlist{\topsep=0pt\@topsepadd\topsep
+% \if@noskipsec \leavevmode \fi
+% \ifvmode \advance\@topsepadd\partopsep \else \unskip\par\fi
+% \if@inlabel \@noparitemtrue \@noparlisttrue
+% \else \@noparlistfalse \@topsep\@topsepadd \fi
+% \advance\@topsep \parskip
+% \leftskip\z@\rightskip\@rightskip \parfillskip\@flushglue
+% \@setpar{\if@newlist\else{\@@par}\fi}%
+% \global\@newlisttrue \@outerparskip\parskip}
+%
+%
+%\def\endtrivlist{\if@newlist\@noitemerr\fi
+% \if@inlabel\indent\fi
+% \ifhmode\unskip \par\fi
+% \if@noparlist \else
+% \ifdim\lastskip >\z@ \@tempskipa\lastskip \vskip -\lastskip
+% \advance\@tempskipa\parskip \advance\@tempskipa -\@outerparskip
+% \vskip\@tempskipa
+% \fi\@endparenv\fi
+% \vskip\outerparskip}
+
+
+
+ \newproof{@proof}{Proof}
+ \newenvironment{proof}{\begin{@proof}}{\end{@proof}}
+
+ \newtheorem{@theorem}{Theorem}[section]
+ \newenvironment{theorem}{\begin{@theorem}}{\end{@theorem}}
+
+% \newalgorithm{@algorithm}{Algorithm}[section]
+% \newenvironment{algorithm}{\begin{@algorithm}}{\end{@algorithm}}
+
+
+
+\newtheorem{lemma}{Lemma}[section]
+\newtheorem{fact}{Fact}[section]
+\newtheorem{corollary}{Corollary}[section]
+\newtheorem{axiom}{Axiom}[section]
+\newtheorem{cond}{Condition}[section]
+\newtheorem{property}{Property}[section]
+\newtheorem{proposition}{Proposition}[section]
+
+\newtheorem{Conjecture}{Conjecture}[section]
+\newtheorem{Definition}{Definition}[section]
+\newtheorem{Lemma}{Lemma}[section]
+\newtheorem{Remark}{Remark}[section]
+
+\newproof{Example}{Example}
+\newproof{Method}{Method}
+\newproof{Exercise}{Exercise}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% TABLE AND FIGURE CAPTIONS %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \def\@figtxt{figure}
+\long\def\@makecaption#1#2{\small
+\setlength{\parindent}{18pt}
+\baselineskip 14pt
+ \ifx\@captype\@figtxt
+ \vskip 10pt
+ \setbox\@tempboxa\hbox{{\sc #1} {\it #2}}
+ \ifdim \wd\@tempboxa >\hsize {\sc #1} {\it #2}\par \else \hbox
+to\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi\else\hbox to\hsize{\hfil{\sc #1}\hfil}%
+ \setbox\@tempboxa\hbox{{\it #2}}%
+ \ifdim \wd\@tempboxa >\hsize {\it #2}\par \else
+ \hbox to \hsize{\hfil\box\@tempboxa\hfil}\fi
+ \vskip 10pt
+ \fi}
+
+
+%\newif\iftable \global\tablefalse
+
+
+%\long\def\@makecaption#1#2{%
+%\setlength{\parindent}{18pt}
+% \vskip 12pt
+% \iftable
+ % \hbox to \hsize{\hfil\sc #1\hfil}
+ % \hbox to \hsize{\hfil\it #2\hfil}
+ % \global\tablefalse
+ % \else
+ % \setbox\@tempboxa\hbox{{\small#1} {\small\it#2}}
+ % \ifdim \wd\@tempboxa >\hsize
+ % \indent{\small#1}{\small\it#2}\par
+ % \else
+ % \hbox to\hsize{\hfil\box\@tempboxa\hfil}\fi
+ % \fi}
+% \vskip 6pt}
+
+
+
+%\def\figure{\global\tablefalse\@float{figure}}
+\def\fnum@figure{\par\sc Fig. \thefigure.\ }
+%\def\fnum@figure{\par\sc Fig. \thefigure\ }
+
+%\def\table{\global\tabletrue\@float{table}}
+\def\fnum@table{\small \sc Table \thetable}
+
+
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% SECTIONS %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\section{\@startsection {section}{1}{\z@}{-3.5ex plus -1ex minus
+ -.2ex}%{2.3ex plus .2ex}
+{2pt}{\large\bf}}
+\def\subsection{\@startsection{subsection}{2}{\z@}{-3.25ex plus -1ex minus
+ -.2ex}%{1.5ex plus .2ex}
+{2pt}{\large\bf}}
+\def\subsubsection{\@startsection {subsubsection}{3}{\z@}{1.3ex plus .5ex minus
+ .2ex}{-.5em plus -.1em}{\normalsize\bf}}
+
+
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% BIBLIOGRAPHY %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\def\thebibliography#1{%
+%\cleardoublepage
+\parindent 0em
+\vspace{9pt}
+\begin{flushleft}\large\bf {References}\end{flushleft}
+\addvspace{3pt}\nopagebreak\list
+ %% default is no labels, for those not using \cite or BibTeX
+{[\arabic{enumi}]} {\settowidth\labelwidth{[#1]}
+%%{[\arabic{enumi}]}{\settowidth\labelwidth{mm}
+\leftmargin\labelwidth
+\leftmargin=17pt
+ \advance\leftmargin\labelsep
+ \usecounter{enumi}\@bibsetup}
+\def\newblock{\hskip .11em plus .33em minus -.07em}
+ \sloppy\clubpenalty4000\widowpenalty4000
+ \sfcode`\.=1000\relax}
+
+
+
+%% setup 8/10 type
+\def\@bibsetup{%\itemindent=0pt
+\itemsep=0pt \parsep=0pt
+\small}
+
+\def\sameauthor{\leavevmode\vrule height 2pt depth -1.6pt width 23pt}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% INDEX %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%makeindex.sty official version 6.4
+%The second line came from /usr/misc/lib/tex82/report.sty.
+
+\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
+\columnseprule \z@
+\columnsep 35pt\twocolumn[\chapter*{Index}]
+ \parskip\z@ plus .3pt\relax\let\item\@idxitem}
+
+
+\def\printindex{\cleardoublepage\markboth{INDEX}{INDEX}
+\addcontentsline{toc}{chapter}{Index}\@input{\jobname.ind}}
+
+\ps@headings
+
+
+%%% end of style file
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% This is siamproc.bst
+% SIAM bibliography style (29-Jan-88 version)
+% numeric labels, alphabetic order, Mathematical Reviews abbreviations,
+% names in \sc, titles in italics, book titles mixed upper-lower and article
+% titles lowercase, commas separate all fields except before "notes".
+%
+% History
+% 1/30/86 (HWT) Original version, by Howard Trickey.
+% 6/15/87 (HWT) Fix format.editors---Martin Costabel.
+% 1/29/88 (OP&HWT) Updated for BibTeX version 0.99a, Oren Patashnik;
+% THIS `siam' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label }
+
+INTEGERS { output.state before.all mid.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ 'write$
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {scapify}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\sc " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+STRINGS { last.authors }
+
+FUNCTION {init.last.authors}
+{ "" 'last.authors :=
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" 'last.authors :=
+ ""
+ }
+ { author last.authors =
+ { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" }
+ { author format.names }% scapify }
+ if$
+ author 'last.authors :=
+ }
+ if$
+}
+
+FUNCTION {format.organization}
+{ organization empty$
+ { "" 'last.authors :=
+ ""
+ }
+ { organization last.authors =
+ { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" }
+ { organization scapify }
+ if$
+ organization 'last.authors :=
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" 'last.authors :=
+ ""
+ }
+ { editor last.authors =
+ { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" }
+ { editor format.names scapify }
+ if$
+ editor num.names$ #1 >
+ { ", eds." * }
+ { ", ed." * }
+ if$
+ editor 'last.authors :=
+ }
+ if$
+}
+
+FUNCTION {format.ineditors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", eds." * }
+ { ", ed." * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ emphasize }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "vol.~" volume *
+ series empty$
+ 'skip$
+ { " of " * series * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { "no.~" number *
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { edition "l" change.case$ "~ed." * }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp.~" pages n.dashify * }
+ { "p.~" pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.year}
+{ volume field.or.null
+ year empty$
+ { "empty year in " cite$ * warning$ }
+ { " (" year * ")" * * }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "ch.~" chapter * }
+ { type "l" change.case$ chapter tie.or.space.connect }
+ if$
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "in " booktitle * }
+ { "in " booktitle * ", " * format.ineditors * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "l" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Tech. Rep." }
+ 'type
+ if$
+ number empty$
+ { "l" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "in " journal * }
+ if$
+ }
+ { "in " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "in "
+ }
+ { "vol.~" volume *
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "in " booktitle * }
+ if$
+ }
+ { "in " key * }
+ if$
+ }
+ { "in " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { journal "journal" output.check
+ format.vol.year output
+ }
+ { format.article.crossref output.nonnull }
+ if$
+ format.pages output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ format.title "title" output.check
+ howpublished new.block.checka
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull }
+ if$
+ format.chapter.pages output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull }
+ if$
+ format.pages output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { format.organization output }
+ { format.authors output.nonnull }
+ if$
+ format.btitle "title" output.check
+ author empty$
+ 'skip$
+ { organization output }
+ if$
+ address output
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.btitle "title" output.check
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { format.organization output }
+ { format.editors output.nonnull }
+ if$
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+MACRO {acmcs} {"ACM Comput. Surveys"}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Comm. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~Assoc. Comput. Mach."}
+
+MACRO {jcss} {"J.~Comput. System Sci."}
+
+MACRO {scp} {"Sci. Comput. Programming"}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Gr."}
+
+MACRO {toms} {"ACM Trans. Math. Softw."}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+
+MACRO {tcs} {"Theoretical Comput. Sci."}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+EXECUTE {init.last.authors}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
diff --git a/texmf-dist/doc/latex/siam/proc2e.tex b/texmf-dist/doc/latex/siam/proc2e.tex
new file mode 100644
index 00000000..a400ee08
--- /dev/null
+++ b/texmf-dist/doc/latex/siam/proc2e.tex
@@ -0,0 +1,326 @@
+%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% This is proc2e.tex, an example file for use with the SIAM LaTeX2e
+% Proceedings Series macros.
+% Please take the time to read the following comments, as they describe
+% how to use these macros. This file can be composed and printed out for
+% use as sample output.
+
+% Any comments or questions regarding these macros should be directed to:
+%
+% Corey Gray
+% SIAM
+% 3600 University City Science Center
+% Philadelphia, PA 19104-2688
+% USA
+% Telephone: (215) 382-9800
+% Fax: (215) 386-7999
+% e-mail: gray@siam.org
+
+
+% This file is to be used as an example for style only. It should not be read
+% for content.
+
+%%%%%%%%%%%%%%% PLEASE NOTE THE FOLLOWING STYLE RESTRICTIONS %%%%%%%%%%%%%%%
+
+%% 1. There are no new tags. Existing LaTeX tags have been formatted to
+%% match the Proceedings series style.
+%%
+%% 2. You must use \cite in the text to mark your reference citations and
+%% \bibitem in the listing of references at the end of your chapter. See
+%% the examples in the following file. The file siamproc.bst has been
+%% included for use with BiBTeX.
+%%
+%% 3. This macro is set up for three levels of headings (\section,
+%% \subsection, and \subsubsection). The macro will automatically number
+%% the headings for you.
+%%
+%% 4. Theorems, Lemmas, Definitions, etc. are to be double-numbered,
+%% indicating the section and the occurrence of that element
+%% within that section. (For example, the first theorem in the second
+%% section would be numbered 2.1. The macro will
+%% automatically do the numbering for you.
+%%
+%% 5. Proofs are handled with the commands \begin{proof}\end{proof}.
+%% If you wish to use an end of proof box, use \qed preceding \end{proof}.
+%% The example uses one. It is not required.
+%%
+%% 6. Figures, equations, and tables must be single-numbered. All equation
+%% numbers are to be on the left. Figure captions should be placed under
+%% the figures they pertain to. Table captions should be placed above
+%% the tables. Use existing LaTeX tags for these elements. Numbering of
+%% these elements will be done automatically.
+%%
+%% 7. Grant information and author affiliations.
+%% This information is included in the file with the two commands,
+%% \thanks and \footnotemark []. (See example). The \thanks command
+%% produces a footnote for the title or author, and places the
+%% appropriate footnote symbol with the title or author and at the
+%% bottom of the page. The \footnotemark [] command allows the use of
+%% duplicate footnote symbols. This macro follows the normal LaTeX order
+%% of footnote symbols. Below is a list of these symbols, and their
+%% corresponding footnotemark:
+%%
+%% asterisk \footnotemark[1]
+%% single-dagger \footnotemark[2]
+%% double-dagger \footnotemark[3]
+%% section sign \footnotemark[4]
+%% paragraph \footnotemark[5]
+%% parallel \footnotemark[6]
+%% double asterisk \footnotemark[7]
+%% double single-dagger \footnotemark[8]
+%% double double-dagger \footnotemark[9]
+%%
+%% The following general rules for grants and affiliations apply:
+%% a) If there is a single grant for the paper, then the grant
+%% information should be footnoted to the title.
+%% b) If there is more than one grant, include the grant information
+%% with each author's affiliation.
+%% c) If there are different grants for the paper but the authors share
+%% the same affiliation, footnote the grant information to the title.
+%% For example, The work of the first author was supported by xyz.
+%% The work of the second author was supported by abc. And so on.
+%% d) For authors sharing the same affiliation, use \thanks for the
+%% first author with that affiliation and the appropriate
+%% \footnotemark[] (from the list above) for all subsequent authors
+%% with that affiliation.
+%%
+%%
+%%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%-
+%%%
+
+\documentclass[twoside,leqno,11pt]{article}
+\usepackage{proc2e}
+
+
+\begin{document}
+\cleardoublepage
+\pagestyle{headings}
+
+\title{SIAM Proceedings Series Macros
+ for Use With LaTeX\thanks{Any information regarding grants should be placed
+here.}}
+\author{J. Corey Gray\thanks{Production Manager, Society for Industrial and Applied
+Mathematics, Philadelphia, PA.}
+\and
+Tricia Manning\thanks{Publications Specialist, Society for Industrial and Applied
+Mathematics, Philadelphia, PA.}
+\and
+Vickie Kearn\thanks{Publisher, Society for Industrial and Applied Mathematics,
+Philadelphia, PA.}\\
+\and
+Nancy Abbott\thanks{Design Supervisor, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+\and
+Sue Ciambrano\thanks{Acquisitions Editor, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+\and
+Paul Duggan\thanks{Composition Specialist, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+\and
+Robbi Anne Albert\thanks{Production Assistant, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+\and
+Jean Anderson\thanks{Composition Coordinator, Society for Industrial and Applied
+Mathematics, Philadelphia, PA}
+}
+\date{}
+\maketitle
+
+\pagenumbering{arabic}
+
+\begin{abstract}An equivalence is shown between realizability of input/output (i/o) operators by
+rational control systems and high-order algebraic differential equations for
+i/o pairs. This generalizes, to nonlinear systems, the equivalence
+between autoregressive representations and finite dimensional linear
+realizability. \end{abstract}
+\section{Problem Specification}In this paper, we consider the solution of the $N \times
+N$ linear
+system
+\begin{equation} \label{e1.1}
+\cos \sin A x = b
+\end{equation}
+where $A$ is large, sparse, symmetric, and positive definite. We consider
+the direct solution of (\ref{e1.1}) by means of general sparse Gaussian
+elimination. In such a procedure, we find a permutation matrix $P$, and
+compute the decomposition
+\[
+P A P^{t} = L D L^{t}
+\]
+where $L$ is unit lower triangular and $D$ is diagonal.
+
+
+\section{Design Considerations}Several good ordering algorithms (nested dissection and
+minimum degree)
+are available for computing $P$ \cite{GEORGELIU}, \cite{ROSE72}.
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+
+\begin{theorem} The method was extended to three
+dimensions. For the standard multigrid
+coarsening
+(in which, for a given grid, the next coarser grid has $1/8$
+as many points), anisotropic problems require plane
+relaxation to
+obtain a good smoothing factor.\end{theorem}
+
+Several good ordering algorithms (nested dissection and minimum degree)
+are available for computing $P$ \cite{GEORGELIU}, \cite{ROSE72}.
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+
+\begin{proof} In this paper we consider two methods. The first method
+is
+basically the method considered with two differences:
+first, we perform plane relaxation by a two-dimensional
+multigrid method, and second, we use a slightly different
+choice of
+interpolation operator, which improves performance
+for nearly singular problems. In the second method coarsening
+is done by successively coarsening in each of the three
+independent variables and then ignoring the intermediate
+grids; this artifice simplifies coding considerably.\qed
+\end{proof}
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+
+\begin{Definition}{\rm We describe the two methods in \S 1.2. In \S\ 1.3. we
+discuss
+some remaining details.}
+\end{Definition}
+
+\begin{figure}
+\vspace*{24pc}
+\caption{This is figure 1.}
+\end{figure}
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination.
+
+\begin{lemma} We discuss first the choice for $I_{k-1}^k$
+which is a generalization. We assume that $G^{k-1}$ is
+obtained
+from $G^k$
+by standard coarsening; that is, if $G^k$ is a tensor product
+grid $G_{x}^k \times G_{y}^k \times G_{z}^k$,
+$G^{k-1}=G_{x}^{k-1} \times G_{y}^{k-1} \times G_{z}^{k-1}$,
+where $G_{x}^{k-1}$ is obtained by deleting every other grid
+point of $G_x^k$ and similarly for $G_{y}^k$ and $G_{z}^k$.
+\end{lemma}
+
+This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+\cite{EISENSTAT} - \cite{LIU2}, \cite{ROSE76}, \cite{SCHREIBER}.
+
+\subsection{Robustness}
+We do not
+attempt to present an overview
+here, but rather attempt to focus on those results that
+are relevant to our particular algorithm.
+This section assumes prior knowledge of the role of graph theory
+in sparse Gaussian elimination; surveys of this role are
+available in \cite{ROSE72} and \cite{GEORGELIU}. More general
+discussions of elimination trees are given in
+\cite{LAW} - \cite{LIU2}, \cite{SCHREIBER}.
+Thus, at the $k$th stage, the bordering algorithm consists of
+solving the lower triangular system
+\begin{equation} \label{1.2}
+ L_{k-1}v = c
+\end{equation}
+and setting
+\begin{eqnarray}
+\ell &=& D^{-1}_{k-1}v , \\
+\delta &=& \alpha - \ell^{t} v .
+\end{eqnarray}
+
+\subsubsection{Versatility.} We do not
+attempt to present an overview
+here, but rather attempt to focus on those results that
+are relevant to our particular algorithm.
+
+\section{Conclusions} The special
+structure of this problem allows us to make exact estimates of
+the complexity. For the old approach, we show that the
+complexity of the intersection problem is $O(n^{3})$, the same
+as the complexity of the numerical computations
+\cite{GEORGELIU}, \cite{ROSEWHITTEN}. For the
+new approach, the complexity of the second part is reduced to
+$O(n^{2} (\log n)^{2})$.
+
+\begin{thebibliography}{99}
+
+
+\bibitem{BANKSMITH}
+R.~E. Bank and R.~K. Smith, {\em General sparse elimination requires no
+ permanent integer storage}, SIAM J. Sci. Stat. Comput., 8 (1987),
+ pp.~574--584.
+
+\bibitem{EISENSTAT}
+S.~C. Eisenstat, M.~C. Gursky, M.~Schultz, and A.~Sherman, {\em
+ Algorithms and data structures for sparse symmetric gaussian elimination},
+ SIAM J. Sci. Stat. Comput., 2 (1982), pp.~225--237.
+
+\bibitem{GEORGELIU}
+A.~George and J.~Liu, {\em Computer Solution of Large Sparse Positive
+ Definite Systems}, Prentice Hall, Englewood Cliffs, NJ, 1981.
+
+\bibitem{LAW}
+K.~H. Law and S.~J. Fenves, {\em A node addition model for symbolic
+ factorization}, ACM TOMS, 12 (1986), pp.~37--50.
+
+\bibitem{LIU}
+J.~W.~H. Liu, {\em A compact row storage scheme for cholesky factors
+ using elimination trees}, ACM TOMS, 12 (1986), pp.~127--148.
+
+\bibitem{LIU2}
+\sameauthor , {\em The role of
+ elimination trees in sparse factorization}, Tech. Report CS-87-12,Department
+ of Computer Science, York University, Ontario, Canada, 1987.
+
+\bibitem{ROSE72}
+D.~J. Rose, {\em A graph theoretic study of the numeric solution of
+ sparse positive definite systems}, in Graph Theory and Computing, Academic Press, New
+York, 1972.
+
+\bibitem{ROSE76}
+D.~J. Rose, R.~E. Tarjan, and G.~S. Lueker, {\em Algorithmic aspects of
+ vertex elimination on graphs}, SIAM J. Comput., 5 (1976), pp.~226--283.
+
+\bibitem{ROSEWHITTEN}
+D.~J. Rose and G.~F. Whitten, {\em A recursive analysis of disection
+ strategies}, in Sparse Matrix Computations, Academic Press, New York, 1976.
+
+\bibitem{SCHREIBER}
+R.~Schreiber, {\em A new implementation of sparse gaussian elimination},
+ ACM TOMS, 8 (1982), pp.~256--276.
+
+\end{thebibliography}
+
+\end{document}
diff --git a/texmf-dist/doc/latex/siam/ptexconf.all b/texmf-dist/doc/latex/siam/ptexconf.all
new file mode 100644
index 00000000..06e2a7f3
--- /dev/null
+++ b/texmf-dist/doc/latex/siam/ptexconf.all
@@ -0,0 +1,102 @@
+
+Please answer the following:
+
+1. Name of conference
+2. Type of Presentation
+ Contributed: Lecture form or Poster form
+ Minisymposium:
+
+3. Equipment for Visual Support
+ Lecture form/Minisymposium: Overhead Projector or
+ 2" x 2" Slide Projector (35mm)
+
+ Poster form: Easel or Poster Board
+
+4. If you are a speaker in a minisymposium, who is the organizer?
+
+5. What is the minisymposium title?
+
+6. If more than one author, who will present the paper?
+
+
+%This is a macro file for creating a SIAM Conference abstract in
+% Plain Tex.
+%
+% If you have any questions regarding these macros contact:
+% Lillian Hunt
+% SIAM
+% 3600 University City Center Center
+% Philadelphia, PA 19104-2688
+% USA
+% (215) 382-9800
+% e-mail:meetings@siam.org
+
+
+\hsize=25.5pc
+\vsize=50pc
+\parskip=3pt
+\parindent=0pt
+\overfullrule=0pt
+\nopagenumbers
+
+\def\title#1\\{\bf{#1}\vskip6pt}
+\def\abstract#1\\{\rm {#1}}
+\def\author#1\\{\vskip6pt\rm {#1}\vfill\eject}
+\def\eol{\hfill\break}
+
+% end of style file
+
+% This is ptexconf.tex. Use this file as an example of a SIAM
+% Conference abstract in plain TeX.
+
+\input ptexconf.sty
+
+\title Numerical Analysis of a 1-Dimensional
+Immersed-Boundary Method\\
+
+\abstract We present the numerical analysis of a simplified,
+one-dimensional version
+of Peskin's immersed boundary method, which has been used to
+solve
+the two- and three-dimensional Navier-Stokes equations in the
+presence of immersed boundaries. We consider the heat
+equation
+ in a finite domain with a moving source term.
+We denote the solution as $u(x,t)$ and the location of the
+source
+ term as $X(t)$. The source term is a moving delta function
+whose strength is a function of u at the location of the
+delta function.
+The p.d.e. is coupled to an ordinary differential equation
+whose
+solution gives the location of the source term.
+ The o.d.e. is $X'(t) = u(X(t),t)$, which can be interpreted as
+saying the source term moves at the local velocity.
+The accuracy the numerical method of solution depends on how
+the
+delta function is discretized when the delta function is not
+at
+a grid point and on how the solution, u, is represented
+ at locations between grid points. We present results showing
+the effect of different choices of spreading the source to
+the grid and
+of restricting the solution to the source location.
+The problem we analyze is also similar to the Stefan problem
+and
+the immersed-boundary method has features in common with
+particle-in-cell
+ methods.\\
+ \author\underbar{Richard P. Beyer, Jr.}\eol
+University of Washington, Seattle, WA\eol
+%\vskip3pt
+Randall J. LeVeque\eol
+University of Washington, Seattle, WA\\
+\bye
+
+% end of example file
+
+
+Please furnish complete addresses for all co-authors.
+
+
+PLEASE BE SURE TO INDICATE WHAT CONFERENCE THE ABSTRACT IS FOR. \ No newline at end of file
diff --git a/texmf-dist/doc/latex/siam/ptexnec.all b/texmf-dist/doc/latex/siam/ptexnec.all
new file mode 100644
index 00000000..2da4cfce
--- /dev/null
+++ b/texmf-dist/doc/latex/siam/ptexnec.all
@@ -0,0 +1,707 @@
+
+
+This file (ptexnec.all) constitutes the full distribution of NEC Proceedings Series
+Plain TeX macros. The files are:
+
+ptexnec.tex (An example file, also containing documentation)
+
+ptexnec.sty (the style file)
+
+To use these macros, separate at the indicated cut lines.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% This is ptexnec.tex, an example file for use with the NEC Plain TeX
+% Proceedings Series macros. Comments are placed at the beginning and
+% throughout this file. Please take the time to read them as they document
+% how to use these macros. This file can be composed and printed out for
+% use as sample output. Please ignore the underfull \vbox on page 3.
+
+% Any comments or questions regarding these macros should be directed to:
+%
+% Corey Gray
+% SIAM
+% 3600 University City Science Center
+% Philadelphia, PA 19104-2688
+% USA
+% Telephone: (215) 382-9800
+% Fax: (215) 386-7999
+% e-mail: gray@siam.org
+
+
+% This file is to be used as an example for style only. It should not be read
+% for content.
+
+%%%%%%%%%%%%%%% PLEASE NOTE THE FOLLOWING STYLE RESTRICTIONS %%%%%%%%%%%%%%%
+
+%% 1. You must use the numbered reference style([1],[2]), listing the
+%% references at the end of the chapter either by order of citation
+%% or alphabetically.
+%%
+%% 2. This macro is set up for three levels of headings. Use the commands
+%% \headone, \headtwo, and \headthree. The macro will automatically
+%% number the headings.
+%%
+%% 3. The running heads are defined by the commands \def\leftrh{} and
+%% \def\rightrh{}. You must fill in the empty field of these commands
+%% with the appropriate information. The left running head should be the
+%% authors names. For papers with multiple authors, please follow these
+%% rules; for two authors type {Author 1 and Author 2}; for more than two
+%% authors type {Author 1 et al.}. The right running head is the title of
+%% the paper. If the title is more than 50 characters, including spaces,
+%% please provide a shortened version. All information should be typed
+%% initial cap and lower case.
+%%
+%% 5. Theorems, Lemmas, Definitions, etc. are to be double-numbered,
+%% indicating the section and the occurrence of that element
+%% within that section. (For example, the first theorem in the second
+%% section would be numbered 2.1.) This numbering must
+%% be done manually.
+%%
+%% 6. Proofs are handled by \prf\endprf. If you want to use an end-of-proof
+%% box, insert \qed right before the \endprf command.
+%%
+%% 7. Figures and equations must be manually single-numbered. Use \leqno
+%% for equation numbering. The macro provides the \fig for including
+%% figures. This command consists of three fields. The first field is
+%% used for inserting the appropriate space for the figure. The second
+%% field is the figure number. The third field is the caption. See the
+%% example included in this file. SIAM supports the use of psfig for
+%% including Postscript figures. All Postscript figures should be sent
+%% as separate files. A hardcopy version of all Postscript figures is
+%% also required. See note regarding this under How to Submit Your Paper.
+%%
+%% 8. Use of \title\endtitle and \lasttitle\endlastitle.
+%% This macro package provides two possible commands for handling the
+%% title of your paper. The commands \title\endtitle should be used for
+%% all lines except the last line of multiple line titles. The commands
+%% \lasttitle\endlasttitle should be used for the last line of multiple
+%% line titles. In the case of a single line title, \lasttitle\endlasttitle
+%% should be used.
+%%
+%% 9. Use of \author\endauthor and \lastauthor\endlastauthor.
+%% As in the title macro, two possible commands are provided for the
+%% author. The commands \author\endauthor should be used for the first
+%% line of authors if there are more than one line. The commands
+%% \lastauthor\endlastauthor should be used for the last line
+%% of multiple lines of authors. In the case of a single line of authors,
+%% \lastauthor\endlastauthor should be used. A maximum of four authors
+%% should be placed on any one line. The appropriate space must also be
+%% hard coded between authors on the same line. The spacing is as follows:
+%%
+%% If 2 authors; \hskip4pc between
+%% If 3 authors; \hskip3pc between
+%% If 4 authors; \hskip2pc between
+%%
+%% 10. Grant information and author affiliations.
+%% This information is included by using the \footnote command and the
+%% appropriate footnote symbol. SIAM uses footnote symbols in a
+%% particular order. Below is a list of these symbols:
+%%
+%% asterisk
+%% single-dagger
+%% double-dagger
+%% section sign
+%% paragraph
+%% parallel
+%% double asterisk
+%% double single-dagger
+%% double double-dagger
+%%
+%% For illustrative purposes, all footnote symbols have been used in the
+%% example file.
+%%
+%% A note regarding \footnote. This command seems to leave extra white
+%% space between footnotes. This is quite evident in the example file. If
+%% any user of these macros has a solution to this problem, I would
+%% appreciate hearing from you. Send your comments to: gray@siam.org.
+%%
+%% The following general rules apply for including grants and affiliations:
+%% a) If there is a single grant for the paper, then the grant
+%% information should be footnoted to the title.
+%% b) If there is more than one grant, included the grant information
+%% with each authors affiliation.
+%% c) If there are different grants for the paper but the authors share
+%% the same affiliation, footnote the grant information to the title.
+%% For example, The work of the first author was supported by xyz.
+%% The work of the second author was supported by abc. And so on.
+%%
+%%
+%% 11. Special fonts.
+%% SIAM supports the use of AMS-TeX fonts version 2.0 and later. As
+%% described in the manual for these fonts, they can be included by
+%% \input{amssym.def} and \input{amssym.tex}.
+%%
+%% 12. How to Submit Your Paper.
+%% The electronic version of your paper should be sent to proceed@siam.org.
+%% A hardcopy version should also be submitted. Instructions are included
+%% in your acceptance letter. Please be sure to send hardcopy
+%% versions of any Postscript figures you have submitted electronically.
+%% Be sure to return your signed Copyright Transfer Agreement. We cannot
+%% publish your paper without one.%%
+%%
+%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\input ptexnec.sty
+
+\def\leftrh{Gray et al.}
+\def\rightrh{NEC Proceedings Series Macros}
+
+\startchapter %Place this command at the beginning of the file immediately
+ %after the \input command.
+
+
+
+\title Chapter 1\endtitle
+\title NEC Proceedings Series Macros\endtitle
+\lasttitle for Use with Plain TeX\footnote*{Any information
+regarding grants should be placed here.}\endlasttitle
+
+\author J. Corey Gray\footnote{$^{\dag}$}{Production Manager, Society for
+Industrial and Applied Mathematics, Philadelphia, PA.}
+\hskip2truepc Tricia Manning\footnote{$^{\ddag}$}{Publications
+Specialist, Society for Industrial and Applied Mathematics, Philadelphia,
+PA.}
+\hskip2truepc Vickie Kearn\footnote{$^{\S}$}{Publisher, Society for Industrial
+and Applied Mathematics, Philadelphia, PA.}
+\hskip2truepc Nancy Abbott\footnote{$^{\P}$}{Design Supervisor, Society for
+Industrial and Applied Mathematics, Philadelphia, PA.}
+\endauthor
+\lastauthor Sue Ciambrano\footnote{$^{\parallel}$}{Acquisition Editor, Society for
+Industrial and Applied Mathematics, Philadelphia, PA.}
+\hskip2truepc Paul Duggan\footnote{$^{**}$}{Composition
+Specialist, Society for Industrial and Applied Mathematics, Philadelphia,
+PA.}
+\hskip2truepc Robbi Anne Albert\footnote{$^{\dagger\dagger}$}{Production,
+Assistant, Society for Industrial
+and Applied Mathematics, Philadelphia, PA.}
+\hskip2truepc Jean Anderson\footnote{$^{\ddag\ddag}$}{Composition Coordinator, Society for
+Industrial and Applied Mathematics, Philadelphia, PA.}
+\endlastauthor
+
+% Use \headone for the first level headings. The macro will automatically
+% number the headings.
+
+\centerline{\bf Abstract}
+\abstract An equivalence is shown between realizability of input/output (i/o) operators by
+rational control systems and high-order algebraic differential equations for
+i/o pairs. This generalizes, to nonlinear systems, the equivalence
+between autoregressive representations and finite dimensional linear
+realizability.\endabstract
+
+
+\headone{Problem Specification}
+In this paper, we consider the solution of the $N \times N$ linear
+system
+$$A x = b\leqno (1)$$
+where $A$ is large, sparse, symmetric, and positive definite. We consider
+the direct solution of by means of general sparse Gaussian
+elimination. In such a procedure, we find a permutation matrix $P$, and
+compute the decomposition
+$$
+P A P^{t} = L D L^{t}
+\leqno (2)$$
+
+\noindent where $L$ is unit lower triangular and $D$ is diagonal.
+
+
+\headone{Design Considerations}
+Several good ordering algorithms (nested dissection and minimum degree)
+are available for computing $P$ [1], [2].
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+% Use \thm and \endthm for theorems. They must be numbered manually.
+% Lemmas (\lem \endlem), corollaries (\cor \endcor), and
+% propositions (\prop \endprop) are coded the same as theorems and must
+% also be numbered manually.
+
+\thm{Theorem 2.1.} The method was extended to three
+dimensions. For the standard multigrid
+coarsening
+(in which, for a given grid, the next coarser grid has $1/8$
+as many points), anisotropic problems require plane
+relaxation to
+obtain a good smoothing factor.\endthm
+
+Several good ordering algorithms (nested dissection and minimum degree)
+are available for computing $P$ [1], [2].
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+Several good ordering algorithms (nested dissection and minimum degree)
+are available for computing $P$ [1], [2].
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+% Use \prf and \endprf to begin and end a proof.
+% The use of \qed will produce an end-of-proof box.
+
+\prf{Proof} In this paper we consider two methods. The first method
+is
+basically the method considered with two differences:
+first, we perform plane relaxation by a two-dimensional
+multigrid method, and second, we use a slightly different
+choice of
+interpolation operator, which improves performance
+for nearly singular problems. In the second method coarsening
+is done by successively coarsening each.\qed\endprf
+
+% Use \dfn and \enddfn to begin and end definitions.
+
+\dfn{Definition 2.1.}We describe the two methods in \S\ 1.2. This is a
+definition in the plain tex macro.\enddfn
+
+This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in [3].
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in [3].
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+% Use \lem and \endlem to begin and end lemmas.
+
+\lem{Lemma 2.1.}We discuss first the choice for $I_{k-1}^k$
+which is a generalization. We assume that $G^{k-1}$ is
+obtained
+from $G^k$
+by standard coarsening; that is, if $G^k$ is a tensor product
+grid $G_{x}^k \times G_{y}^k \times G_{z}^k$,
+$G^{k-1}=G_{x}^{k-1} \times G_{y}^{k-1} \times G_{z}^{k-1}$,
+where $G_{x}^{k-1}$ is obtained by deleting every other grid
+point of $G_x^k$ and similarly for $G_{y}^k$ and $G_{z}^k$.
+\endlem
+
+% Use \fig to insert space for figures .
+
+\fig{10pc}{Fig. 1}{This is the caption for figure one.}
+
+To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6]. In \S 1.3., we analyze the complexity of the old and new
+approaches to the intersection problem for the special case of
+an $n \times n$ grid ordered by nested dissection. The special
+structure of this problem allows us to make exact estimates of
+the complexity. To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6].
+
+% Use \headtwo for second level headings. They will be numbered automatically.
+
+\headtwo{Robustness}In \S 1.2, we review the bordering algorithm, and introduce
+the sorting and intersection problems that arise in the
+sparse formulation of the algorithm.
+
+\headtwo{Versatility} In \S 1.3., we analyze the complexity of the old and new
+approaches to the intersection problem for the special case of
+an $n \times n$ grid ordered by nested dissection. The special
+structure of this problem allows us to make exact estimates of
+the complexity. To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6].
+
+
+% Use \headthree for third level headings.
+
+\headthree{Complexity.}For the old approach, we show that the
+complexity of the intersection problem is $O(n^{3})$, the same
+as the complexity of the numerical computations. For the
+new approach, the complexity of the second part is reduced to
+$O(n^{2} (\log n)^{2})$.
+
+% The command \Refs sets the word Reference as a heading and allows the proper
+% amount of space before the start of the references. Each reference must
+% begin with \ref\\. The article or title of the reference should be in
+% italic. Use the \it command within brackets. End each reference with
+% \endref and allow two returns between references. Use the command
+% \sameauthor (see reference 8) when the same author or group of authors
+% is listed consecutively.
+
+\Refs
+
+\ref 1\\R.~E. Bank, {\it PLTMG users' guide, edition 5.0}, tech. report,
+ Department of Mathematics, University of California, San Diego, CA, 1988.\endref
+
+\ref 2\\R.~E. Bank, T.~F. Dupont, and H.~Yserentant, {\it The hierarchical basis
+ multigrid method}, Numer. Math., 52 (1988), pp.~427--458.\endref
+
+\ref 3\\R.~E. Bank and R.~K. Smith, {\it General sparse elimination requires no
+ permanent integer storage}, SIAM J. Sci. Stat. Comput., 8 (1987),
+ pp.~574--584.\endref
+
+\ref 4\\S.~C. Eisenstat, M.~C. Gursky, M.~Schultz, and A.~Sherman, {\it
+ Algorithms and data structures for sparse symmetric gaussian elimination},
+ SIAM J. Sci. Stat. Comput., 2 (1982), pp.~225--237.\endref
+
+\ref 5\\A.~George and J.~Liu, {\it Computer Solution of Large Sparse Positive
+ Definite Systems}, Prentice Hall, Englewood Cliffs, NJ, 1981.\endref
+
+\ref 6\\K.~H. Law and S.~J. Fenves, {\it A node addition model for symbolic
+ factorization}, ACM TOMS, 12 (1986), pp.~37--50.\endref
+
+\ref 7\\J.~W.~H. Liu, {\it A compact row storage scheme for cholesky factors
+ using elimination trees}, ACM TOMS, 12 (1986), pp.~127--148.\endref
+
+\ref 8\\\sameauthor , {\it The role of
+ elimination trees in sparse factorization}, Tech. Report CS-87-12,Department
+ of Computer Science, York University, Ontario, Canada, 1987.\endref
+
+\ref 9\\D.~J. Rose, {\it A graph theoretic study of the numeric solution of
+ sparse positive definite systems}, in Graph Theory and Computing,
+ Academic Press, New York, 1972.\endref
+
+\ref 10\\D.~J. Rose, R.~E. Tarjan, and G.~S. Lueker, {\it Algorithmic aspects of
+ vertex elimination on graphs}, SIAM J. Comput., 5 (1976), pp.~226--283.\endref
+
+\vfill\eject
+
+Extra page.
+\vfill
+\bye
+%%% End of example file
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% This file may be freely distributed but may not be altered in any way.
+% Any comments or questions regarding these macros should be directed to:
+
+% Corey Gray
+% SIAM
+% 3600 University City Science Center
+% Philadelphia, PA 19104-2688
+% USA
+% Telephone: (215) 382-9800
+% Fax: (215) 386-7999
+% e-mail: gray@siam.org
+
+%
+% This is a file of macros and definitions for creating a chapter
+% for publication in the NEC Proceedings Series using Plain TeX.
+
+% Report the version.
+\message{*** NEC Plain TeX Proceedings Series macro package, version 1.0,
+November 6, 1992.***}
+
+% Make the @ sign a letter for internal control sequences.
+\catcode`\@=11
+%
+%
+%
+
+
+\baselineskip=14truept
+
+
+%%% DIMENSIONS %%%
+
+\hsize=30truepc
+\vsize=49truepc
+%\hoffset=.5in
+\parindent=18truept
+\def\firstpar{\parindent=0pt\global\everypar{\parindent=18truept}}
+\parskip=0pt
+
+
+%%% FONTS %%%
+
+\font\tenrm=cmr10
+\font\tenbf=cmbx10
+\font\tenit=cmti10
+\font\tensmc=cmcsc10
+\def\tenpoint{%
+ \def\rm{\tenrm}\def\bf{\tenbf}%
+ \def\it{\tenit}\def\smc{\tensmc}
+ \textfont0=\tenrm \scriptfont0=\sevenrm
+ \textfont1=\teni \scriptfont1=\seveni
+ \textfont2=\tensy \scriptfont2=\sevensy
+ \textfont3=\tenex \scriptfont3=\tenex
+\baselineskip=12pt\rm}%
+
+\font\ninerm=cmr9
+\font\ninebf=cmbx9
+\font\nineit=cmti9
+\def\ninepoint{%
+ \def\rm{\ninerm}\def\bf{\ninebf}%
+ \def\it{\nineit}\baselineskip=11pt\rm}%
+
+\font\eightrm=cmr8
+\font\eightbf=cmbx8
+\font\eightit=cmti8
+\font\eighti=cmmi8
+\font\eightsy=cmsy8
+\def\eightpoint{%
+ \def\rm{\eightrm}\def\bf{\eightbf}%
+ \def\it{\eightit}\def\smc{\eightrm}\baselineskip=10pt\rm%
+ \textfont0=\eightrm \scriptfont0=\sixrm
+ \textfont1=\eighti \scriptfont1=\sixi
+ \textfont2=\eightsy \scriptfont2=\sixsy
+ \textfont3=\tenex \scriptfont3=\tenex
+}
+
+\font\sixrm=cmr6
+\font\sixbf=cmbx6
+\font\sixi=cmmi6
+\font\sixsmc=cmr5
+\font\sixsy=cmsy6
+\def\sixpoint{%
+ \def\rm{\sixrm}\def\bf{\sixbf}%
+ \def\smc{\sixsmc}\baselineskip=8pt\rm}%
+
+\fontdimen13\tensy=2.6pt
+\fontdimen14\tensy=2.6pt
+\fontdimen15\tensy=2.6pt
+\fontdimen16\tensy=1.2pt
+\fontdimen17\tensy=1.2pt
+\fontdimen18\tensy=1.2pt
+
+\font\eightrm=cmr8
+\font\ninerm=cmr9
+\font\elevenrm=cmr10 scaled\magstephalf
+\font\fourteenrm=cmr10 scaled\magstep 1
+\font\eighteenrm=cmr10 scaled\magstep 3
+\font\twelvebf=cmbx10 scaled\magstep 1
+\font\elevenbf=cmbx10 scaled\magstephalf
+\font\elevenit=cmti10 scaled\magstephalf
+\font\elevensc=cmcsc10 scaled\magstephalf
+
+\def\theoremfont{\elevensc}
+\def\textfont{\elevenrm}
+\def\itfont{\elevenit}
+\def\headfont{\twelvebf}
+\def\smallheadfont{\elevenbf}
+\def\titlefont{\eighteenrm}
+\def\chapterfont{\fourteenrm}
+\def\authorfont{\fourteenrm}
+\def\rheadfont{\tenrm}
+\def\abstractfont{\tenrm}
+\def\smc{\tensmc}
+\font\eightsmc=cmcsc8
+
+\def\footnote#1{\baselineskip=11truept\edef\@sf{\spacefactor\the\spacefactor}#1\@sf
+ \insert\footins\bgroup\ninepoint\hsize=36pc
+ \interlinepenalty10000 \let\par=\endgraf
+ \leftskip=0pt \rightskip=0pt
+ \splittopskip=10pt plus 1pt minus 1pt \floatingpenalty=20000
+\smallskip
+\item{#1}\bgroup\baselineskip=10pt\strut
+\aftergroup\@foot\let\next}
+\skip\footins=12pt plus 2pt minus 4pt
+\dimen\footins=36pc
+
+
+
+%%% CHAPTER OPENING MACROS %%%
+
+\def\startchapter{\topinsert\vglue54pt\endinsert}
+
+\def\title#1\endtitle{\titlefont\centerline{#1}\vglue5pt}%\vskip40truept\tenrm}
+\def\lasttitle#1\endlasttitle{\titlefont\centerline{#1}\vskip1.32truepc}
+\def\author#1\endauthor{\authorfont\centerline{#1}\vglue8pt\textfont}
+\def\lastauthor#1\endlastauthor{\authorfont\centerline{#1}\vglue2.56pc\textfont}
+\def\abstract#1\endabstract{\baselineskip=12pt\leftskip=2.25pc
+ \rightskip=2.25pc\abstractfont{#1}\textfont}
+
+%%% COUNTERS FOR HEADINGS %%%
+
+\newcount\headcount
+\headcount=1
+\newcount\seccount
+\seccount=1
+\newcount\subseccount
+\subseccount=1
+\def\secreset{\global\seccount=1}
+ \def\subsecreset{\global\subseccount=1}
+
+%%% HEADINGS %%%
+
+\def\headone#1{\baselineskip=14pt\leftskip=0pt\rightskip=0pt\vskip17truept\parindent=0pt
+{\headfont\the\headcount\hskip14truept #1}
+\par\nobreak\firstpar\global\advance\headcount by 0
+ \global\advance\headcount by 1\secreset\vskip2truept\textfont}
+
+\def\headtwo#1{\advance\headcount by -1%
+ \vskip17truept\parindent=0pt{\headfont\the\headcount.%
+ \the\seccount\hskip14truept #1}%\enspace\ignorespaces\firstpar
+ \global\advance\headcount by 1\global\advance\seccount by 1
+ \global\advance\subseccount by 1\subsecreset\vskip2pt\textfont}
+
+ \def\headthree#1{\advance\headcount by -1\advance\seccount by -1
+% \advance\subseccount by -1%
+ \vskip17truept\parindent=0pt{\smallheadfont\the\headcount.%
+ \the\seccount.\the\subseccount\hskip11truept #1}\hskip6pt\ignorespaces
+ \firstpar\global\advance\headcount by 1\global\advance\seccount by 1
+ \global\advance\subseccount by 1\textfont}
+
+%%% THEOREMS, PROOFS, DEFINITIONS, etc. %%%
+
+\def\thm#1{{\theoremfont
+#1\enspace}
+\hskip-5pt\begingroup\itfont\ignorespaces}
+
+\let\lem=\thm
+\let\cor=\thm
+\let\prop=\thm
+
+\def\endthm{\endgroup\textfont}
+\let\endlem=\endthm
+\let\endcor=\endthm
+\let\endprop=\endthm
+
+\def\prf#1{{\itfont #1.}\textfont\enspace\ignorespaces}
+\let\rem=\prf
+\let\case=\prf
+
+\def\endprf{\textfont}
+\let\endrem=\endprf
+\let\endcase=\endprf
+
+\def\qed{{\qquad \vbox{\hrule\hbox{%
+ \vrule height1.3ex\hskip0.8ex\vrule}\hrule
+ }}\par}
+
+\def\dfn#1{{\theoremfont
+#1\enspace}
+\textfont\ignorespaces}
+
+\let\fact=\dfn
+
+\def\enddfn{\textfont}
+
+\let\endfact=\enddfn
+
+%%% FIGURES AND CAPTIONS %%%
+
+
+\newcount\figcount
+\figcount=1
+
+
+%\newcount\tablenumber
+%\tablenumber=1
+
+\def\\{\hfill\break}
+
+\newbox\TestBox
+\newdimen\setwd
+\newskip\belowcaptionskip
+\belowcaptionskip=6pt plus 1pt
+
+\def\endinsert{\egroup % finish the \vbox
+ \if@mid \dimen@\ht\z@ \advance\dimen@\dp\z@
+ \advance\dimen@12\p@ \advance\dimen@\pagetotal
+ \ifdim\dimen@>\pagegoal\@midfalse\p@gefalse\fi\fi
+ \if@mid\vskip\belowcaptionskip\box\z@\par \penalty-200\vskip\belowcaptionskip
+ \else\insert\topins{\penalty100 % floating insertion
+ \splittopskip\z@skip
+ \splitmaxdepth\maxdimen \floatingpenalty\z@
+ \ifp@ge \dimen@\dp\z@
+ \vbox to\vsize{\unvbox\z@\kern-\dimen@}% depth is zero
+ \else \box\z@\nobreak\vskip\belowcaptionskip\fi}\fi\endgroup}
+
+
+
+
+\def\fig#1#2#3{%
+ \setbox\TestBox=\hbox{\tenpoint #3.}\setwd=\wd\TestBox
+ \topinsert
+ \vskip #1
+ \vskip 12pt
+ \ifdim\setwd > 23pc
+ {\tenit{\smc #2.}\ \ #3}
+ \else
+ \centerline{\tenit\noindent
+ {\smc #2.}\ \ #3}\fi%
+ % \global\advance\figcount by 1
+ \endinsert}
+
+
+
+%%% REFERENCES %%%
+
+\newdimen\refindent@
+\newdimen\refhangindent@
+\newbox\refbox@
+\setbox\refbox@=\hbox{\tenrm\baselineskip=11pt [00]}% Default 2 digits
+\refindent@=\wd\refbox@
+
+\def\resetrefindent#1{%
+ \setbox\refbox@=\hbox{\tenrm\baselineskip=11pt [#1]}%
+ \refindent@=\wd\refbox@}
+
+\def\Refs{%
+ \unskip\vskip1pc
+ \leftline{\noindent\headfont References}%
+ \penalty10000
+ \vskip4pt
+ \penalty10000
+ \refhangindent@=\refindent@
+ \global\advance\refhangindent@ by .5em
+ \global\everypar{\hangindent\refhangindent@}%
+ \parindent=0pt\baselineskip=12pt\tenrm}
+
+\def\sameauthor{\leavevmode\vbox to 1ex{\vskip 0pt plus 100pt
+ \hbox to 2em{\leaders\hrule\hfil}\vskip 0pt plus 300pt}}
+
+\def\ref#1\\#2\endref{\leavevmode\hbox to \refindent@{\hfil[#1]}\enspace #2\par}
+
+
+%%% OUTPUT %%%
+
+\def\rightheadline{\hfill\tenrm\rightrh\hskip2pc\tenrm\folio}
+\def\leftheadline{\tenrm\folio\hskip2pc\tenrm\leftrh\hfill}
+
+\global\footline={\hss\tenrm\folio\hss}% first page
+
+\output{\plainoutput}
+\def\plainoutput{\shipout\vbox{\makeheadline\pagebody\makefootline}%
+ \advancepageno
+ \ifnum\pageno>1
+ \global\footline={\hfill}%
+ \fi
+ \ifodd\pageno
+ \global\headline={\rightheadline}%
+ \else
+ \global\headline={\leftheadline}%
+ \fi
+ \ifnum\outputpenalty>-\@MM \else\dosupereject\fi}
+\def\pagebody{\vbox to\vsize{\boxmaxdepth\maxdepth \pagecontents}}
+\def\makeheadline{\vbox to\z@{\vskip-22.5\p@
+ \line{\vbox to8.5\p@{}\rheadfont\the\headline}\vss}%
+ \nointerlineskip}
+\def\makefootline{\baselineskip24\p@\vskip-6\p@\line{\the\footline}}
+\def\dosupereject{\ifnum\insertpenalties>\z@ % something is being held over
+ \line{}\kern-\topskip\nobreak\vfill\supereject\fi}
+
+\def\footnoterule{\vskip11pt\kern -4\p@\hrule width 3pc \kern 3.6\p@ } % rule = .4 pt high
+
+% Turn off @ as being a letter.
+%
+\catcode`\@=13
+
+%end of style file
+
diff --git a/texmf-dist/doc/latex/siam/ptexproc.all b/texmf-dist/doc/latex/siam/ptexproc.all
new file mode 100644
index 00000000..7a797fe2
--- /dev/null
+++ b/texmf-dist/doc/latex/siam/ptexproc.all
@@ -0,0 +1,685 @@
+
+
+This file constitutes the full distribution of SIAM Proceedings Series
+Plain TeX macros. The files are:
+
+ptexproc.tex (An example file, also containing documentation)
+
+ptexproc.sty (the style file)
+
+To use these macros, separate at the indicated cut lines.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% This is ptexproc.tex, an example file for use with the SIAM Plain TeX
+% Proceedings Series macros. Comments are placed at the beginning and
+% throughout this file. Please take the time to read them as they document
+% how to use these macros. This file can be composed and printed out for
+% use as sample output. Please ignore the underfull \vbox on page 3.
+
+% Any comments or questions regarding these macros should be directed to:
+%
+% Corey Gray
+% SIAM
+% 3600 University City Science Center
+% Philadelphia, PA 19104-2688
+% USA
+% Telephone: (215) 382-9800
+% Fax: (215) 386-7999
+% e-mail: gray@siam.org
+
+
+% This file is to be used as an example for style only. It should not be read
+% for content.
+
+%%%%%%%%%%%%%%% PLEASE NOTE THE FOLLOWING STYLE RESTRICTIONS %%%%%%%%%%%%%%%
+
+%% 1. You must use the numbered reference style([1],[2]), listing the
+%% references at the end of the chapter either by order of citation
+%% or alphabetically.
+%%
+%% 2. This macro is set up for three levels of headings. Use the commands
+%% \headone, \headtwo, and \headthree. The macro will automatically
+%% number the headings.
+%%
+%% 3. Theorems, Lemmas, Definitions, etc. are to be double-numbered,
+%% indicating the section and the occurrence of that element
+%% within that section. (For example, the first theorem in the second
+%% section would be numbered 2.1.) This numbering must
+%% be done manually.
+%%
+%% 4. Proofs are handled by \prf\endprf. If you want to use an end-of-proof
+%% box, insert \qed right before the \endprf command.
+%%
+%% 5. Figures and equations must be manually single-numbered. Use \leqno
+%% for equation numbering. The macro provides the \fig for including
+%% figures. This command consists of three fields. The first field is
+%% used for inserting the appropriate space for the figure. The second
+%% field is the figure number. The third field is the caption. See the
+%% example included in this file. SIAM supports the use of psfig for
+%% including Postscript figures. All Postscript figures should be sent
+%% as separate files. A hardcopy version of all Postscript figures is
+%% also required. See note regarding this under How to Submit Your Paper.
+%%
+%% 6. Use of \title\endtitle and \lasttitle\endlastitle.
+%% This macro package provides two possible commands for handling the
+%% title of your paper. The commands \title\endtitle should be used for
+%% all lines except the last line of multiple line titles. The commands
+%% \lasttitle\endlasttitle should be used for the last line of multiple
+%% line titles. In the case of a single line title, \lasttitle\endlasttitle
+%% should be used.
+%%
+%% 7. Use of \author\endauthor and \lastauthor\endlastauthor.
+%% As in the title macro, two possible commands are provided for the
+%% author. The commands \author\endauthor should be used for the first
+%% line of authors if there are more than one line. The commands
+%% \lastauthor\endlastauthor should be used for the last line
+%% of multiple lines of authors. In the case of a single line of authors,
+%% \lastauthor\endlastauthor should be used. A maximum of four authors
+%% should be placed on any one line. The appropriate space must also be
+%% hard coded between authors on the same line. The spacing is as follows:
+%%
+%% If 2 authors; \hskip4pc between
+%% If 3 authors; \hskip3pc between
+%% If 4 authors; \hskip2pc between
+%%
+%% 8. Grant information and author affiliations.
+%% This information is included by using the \footnote command and the
+%% appropriate footnote symbol. SIAM uses footnote symbols in a
+%% particular order. Below is a list of these symbols:
+%%
+%% asterisk
+%% single-dagger
+%% double-dagger
+%% section sign
+%% paragraph
+%% parallel
+%% double asterisk
+%% double single-dagger
+%% double double-dagger
+%%
+%% For illustrative purposes, all footnote symbols have been used in the
+%% example file.
+%%
+%% A note regarding \footnote. This command seems to leave extra white
+%% space between footnotes. This is quite evident in the example file. If
+%% any user of these macros has a solution to this problem, I would
+%% appreciate hearing from you. Send your comments to: gray@siam.org.
+%%
+%% The following general rules apply for including grants and affiliations:
+%% a) If there is a single grant for the paper, then the grant
+%% information should be footnoted to the title.
+%% b) If there is more than one grant, included the grant information
+%% with each authors affiliation.
+%% c) If there are different grants for the paper but the authors share
+%% the same affiliation, footnote the grant information to the title.
+%% For example, The work of the first author was supported by xyz.
+%% The work of the second author was supported by abc. And so on.
+%%
+%%
+%% 9. Special fonts.
+%% SIAM supports the use of AMS-TeX fonts version 2.0 and later. As
+%% described in the manual for these fonts, they can be included by
+%% \input{amssym.def} and \input{amssym.tex}.
+%%
+%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\input ptexproc.sty
+
+\def\leftrh{}
+\def\rightrh{}
+
+\startchapter %Place this command at the beginning of the file immediately
+ %after the \input command.
+
+
+
+\title SIAM Proceedings Series Macros\endtitle
+\lasttitle for Use with Plain TeX\footnote*{Any information
+regarding grants should be placed here.}\endlasttitle
+
+\author J. Corey Gray\footnote{$^{\dag}$}{Production Manager, Society for
+Industrial and Applied Mathematics, Philadelphia, PA.}
+\hskip2truepc Tricia Manning\footnote{$^{\ddag}$}{Publications
+Specialist, Society for Industrial and Applied Mathematics, Philadelphia,
+PA.}
+\hskip2truepc Vickie Kearn\footnote{$^{\S}$}{Publisher, Society for Industrial
+and Applied Mathematics, Philadelphia, PA.}
+\hskip2truepc Nancy Abbott\footnote{$^{\P}$}{Design Supervisor, Society for
+Industrial and Applied Mathematics, Philadelphia, PA.}
+\endauthor
+\lastauthor Sue Ciambrano\footnote{$^{\parallel}$}{Acquisition Editor, Society for
+Industrial and Applied Mathematics, Philadelphia, PA.}
+\hskip2truepc Paul Duggan\footnote{$^{**}$}{Composition
+Specialist, Society for Industrial and Applied Mathematics, Philadelphia,
+PA.}
+\hskip2truepc Robbi Anne Albert\footnote{$^{\dagger\dagger}$}{Production,
+Assistant, Society for Industrial
+and Applied Mathematics, Philadelphia, PA.}
+\hskip2truepc Jean Anderson\footnote{$^{\ddag\ddag}$}{Composition Coordinator, Society for
+Industrial and Applied Mathematics, Philadelphia, PA.}
+\endlastauthor
+
+% Use \headone for the first level headings. The macro will automatically
+% number the headings.
+
+\centerline{\bf Abstract}
+\abstract An equivalence is shown between realizability of input/output (i/o) operators by
+rational control systems and high-order algebraic differential equations for
+i/o pairs. This generalizes, to nonlinear systems, the equivalence
+between autoregressive representations and finite dimensional linear
+realizability.\endabstract
+
+
+\headone{Problem Specification}
+In this paper, we consider the solution of the $N \times N$ linear
+system
+$$A x = b\leqno (1)$$
+where $A$ is large, sparse, symmetric, and positive definite. We consider
+the direct solution of by means of general sparse Gaussian
+elimination. In such a procedure, we find a permutation matrix $P$, and
+compute the decomposition
+$$
+P A P^{t} = L D L^{t}
+\leqno (2)$$
+
+\noindent where $L$ is unit lower triangular and $D$ is diagonal.
+
+
+\headone{Design Considerations}
+Several good ordering algorithms (nested dissection and minimum degree)
+are available for computing $P$ [1], [2].
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+% Use \thm and \endthm for theorems. They must be numbered manually.
+% Lemmas (\lem \endlem), corollaries (\cor \endcor), and
+% propositions (\prop \endprop) are coded the same as theorems and must
+% also be numbered manually.
+
+\thm{Theorem 2.1.} The method was extended to three
+dimensions. For the standard multigrid
+coarsening
+(in which, for a given grid, the next coarser grid has $1/8$
+as many points), anisotropic problems require plane
+relaxation to
+obtain a good smoothing factor.\endthm
+
+Several good ordering algorithms (nested dissection and minimum degree)
+are available for computing $P$ [1], [2].
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+Several good ordering algorithms (nested dissection and minimum degree)
+are available for computing $P$ [1], [2].
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+% Use \prf and \endprf to begin and end a proof.
+% The use of \qed will produce an end-of-proof box.
+
+\prf{Proof} In this paper we consider two methods. The first method
+is
+basically the method considered with two differences:
+first, we perform plane relaxation by a two-dimensional
+multigrid method, and second, we use a slightly different
+choice of
+interpolation operator, which improves performance
+for nearly singular problems. In the second method coarsening
+is done by successively coarsening each.\qed\endprf
+
+% Use \dfn and \enddfn to begin and end definitions.
+
+\dfn{Definition 2.1.}We describe the two methods in \S\ 1.2. This is a
+definition in the plain tex macro.\enddfn
+
+This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in [3].
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in [3].
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+% Use \lem and \endlem to begin and end lemmas.
+
+\lem{Lemma 2.1.}We discuss first the choice for $I_{k-1}^k$
+which is a generalization. We assume that $G^{k-1}$ is
+obtained
+from $G^k$
+by standard coarsening; that is, if $G^k$ is a tensor product
+grid $G_{x}^k \times G_{y}^k \times G_{z}^k$,
+$G^{k-1}=G_{x}^{k-1} \times G_{y}^{k-1} \times G_{z}^{k-1}$,
+where $G_{x}^{k-1}$ is obtained by deleting every other grid
+point of $G_x^k$ and similarly for $G_{y}^k$ and $G_{z}^k$.
+\endlem
+
+% Use \fig to insert space for figures .
+
+\fig{10pc}{Fig. 1}{This is the caption for figure one.}
+
+To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6]. In \S 1.3., we analyze the complexity of the old and new
+approaches to the intersection problem for the special case of
+an $n \times n$ grid ordered by nested dissection. The special
+structure of this problem allows us to make exact estimates of
+the complexity. To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6].
+
+% Use \headtwo for second level headings. They will be numbered automatically.
+
+\headtwo{Robustness}In \S 1.2, we review the bordering algorithm, and introduce
+the sorting and intersection problems that arise in the
+sparse formulation of the algorithm.
+
+\headtwo{Versatility} In \S 1.3., we analyze the complexity of the old and new
+approaches to the intersection problem for the special case of
+an $n \times n$ grid ordered by nested dissection. The special
+structure of this problem allows us to make exact estimates of
+the complexity. To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6].
+
+
+% Use \headthree for third level headings.
+
+\headthree{Complexity.}For the old approach, we show that the
+complexity of the intersection problem is $O(n^{3})$, the same
+as the complexity of the numerical computations. For the
+new approach, the complexity of the second part is reduced to
+$O(n^{2} (\log n)^{2})$.
+
+% The command \Refs sets the word Reference as a heading and allows the proper
+% amount of space before the start of the references. Each reference must
+% begin with \ref\\. The article or title of the reference should be in
+% italic. Use the \it command within brackets. End each reference with
+% \endref and allow two returns between references. Use the command
+% \sameauthor (see reference 8) when the same author or group of authors
+% is listed consecutively.
+
+\Refs
+
+\ref 1\\R.~E. Bank, {\it PLTMG users' guide, edition 5.0}, tech. report,
+ Department of Mathematics, University of California, San Diego, CA, 1988.\endref
+
+\ref 2\\R.~E. Bank, T.~F. Dupont, and H.~Yserentant, {\it The hierarchical basis
+ multigrid method}, Numer. Math., 52 (1988), pp.~427--458.\endref
+
+\ref 3\\R.~E. Bank and R.~K. Smith, {\it General sparse elimination requires no
+ permanent integer storage}, SIAM J. Sci. Stat. Comput., 8 (1987),
+ pp.~574--584.\endref
+
+\ref 4\\S.~C. Eisenstat, M.~C. Gursky, M.~Schultz, and A.~Sherman, {\it
+ Algorithms and data structures for sparse symmetric gaussian elimination},
+ SIAM J. Sci. Stat. Comput., 2 (1982), pp.~225--237.\endref
+
+\ref 5\\A.~George and J.~Liu, {\it Computer Solution of Large Sparse Positive
+ Definite Systems}, Prentice Hall, Englewood Cliffs, NJ, 1981.\endref
+
+\ref 6\\K.~H. Law and S.~J. Fenves, {\it A node addition model for symbolic
+ factorization}, ACM TOMS, 12 (1986), pp.~37--50.\endref
+
+\ref 7\\J.~W.~H. Liu, {\it A compact row storage scheme for cholesky factors
+ using elimination trees}, ACM TOMS, 12 (1986), pp.~127--148.\endref
+
+\ref 8\\\sameauthor , {\it The role of
+ elimination trees in sparse factorization}, Tech. Report CS-87-12,Department
+ of Computer Science, York University, Ontario, Canada, 1987.\endref
+
+\ref 9\\D.~J. Rose, {\it A graph theoretic study of the numeric solution of
+ sparse positive definite systems}, in Graph Theory and Computing,
+ Academic Press, New York, 1972.\endref
+
+\ref 10\\D.~J. Rose, R.~E. Tarjan, and G.~S. Lueker, {\it Algorithmic aspects of
+ vertex elimination on graphs}, SIAM J. Comput., 5 (1976), pp.~226--283.\endref
+
+
+\bye
+
+%end of example file
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% This is ptexproc.sty
+% This file may be freely distributed but may not be altered in any way.
+% Any comments or questions regarding these macros should be directed to:
+
+% Corey Gray
+% SIAM
+% 3600 University City Science Center
+% Philadelphia, PA 19104-2688
+% USA
+% Telephone: (215) 382-9800
+% Fax: (215) 386-7999
+% e-mail: gray@siam.org
+
+%
+% This is a file of macros and definitions for creating a chapter
+% for publication in the SIAM Proceedings Series using Plain TeX.
+
+% Report the version.
+\message{*** SIAM Plain TeX Proceedings Series macro package, version 1.0,
+November 6, 1992.***}
+
+% Make the @ sign a letter for internal control sequences.
+\catcode`\@=11
+%
+%
+%
+
+\overfullrule=0pt
+\baselineskip=14truept
+
+
+%%% DIMENSIONS %%%
+
+\hsize=36truepc
+\vsize=55truepc
+%\hoffset=.5in
+\parindent=18truept
+\def\firstpar{\parindent=0pt\global\everypar{\parindent=18truept}}
+\parskip=0pt
+
+
+%%% FONTS %%%
+
+\font\tenrm=cmr10
+\font\tenbf=cmbx10
+\font\tenit=cmti10
+\font\tensmc=cmcsc10
+\def\tenpoint{%
+ \def\rm{\tenrm}\def\bf{\tenbf}%
+ \def\it{\tenit}\def\smc{\tensmc}
+ \textfont0=\tenrm \scriptfont0=\sevenrm
+ \textfont1=\teni \scriptfont1=\seveni
+ \textfont2=\tensy \scriptfont2=\sevensy
+ \textfont3=\tenex \scriptfont3=\tenex
+\baselineskip=12pt\rm}%
+
+\font\ninerm=cmr9
+\font\ninebf=cmbx9
+\font\nineit=cmti9
+\def\ninepoint{%
+ \def\rm{\ninerm}\def\bf{\ninebf}%
+ \def\it{\nineit}\baselineskip=11pt\rm}%
+
+\font\eightrm=cmr8
+\font\eightbf=cmbx8
+\font\eightit=cmti8
+\font\eighti=cmmi8
+\font\eightsy=cmsy8
+\def\eightpoint{%
+ \def\rm{\eightrm}\def\bf{\eightbf}%
+ \def\it{\eightit}\def\smc{\eightrm}\baselineskip=10pt\rm%
+ \textfont0=\eightrm \scriptfont0=\sixrm
+ \textfont1=\eighti \scriptfont1=\sixi
+ \textfont2=\eightsy \scriptfont2=\sixsy
+ \textfont3=\tenex \scriptfont3=\tenex
+}
+
+\font\sixrm=cmr6
+\font\sixbf=cmbx6
+\font\sixi=cmmi6
+\font\sixsmc=cmr5
+\font\sixsy=cmsy6
+\def\sixpoint{%
+ \def\rm{\sixrm}\def\bf{\sixbf}%
+ \def\smc{\sixsmc}\baselineskip=8pt\rm}%
+
+\fontdimen13\tensy=2.6pt
+\fontdimen14\tensy=2.6pt
+\fontdimen15\tensy=2.6pt
+\fontdimen16\tensy=1.2pt
+\fontdimen17\tensy=1.2pt
+\fontdimen18\tensy=1.2pt
+
+\font\eightrm=cmr8
+\font\ninerm=cmr9
+\font\elevenrm=cmr10 scaled\magstephalf
+\font\fourteenrm=cmr10 scaled\magstep 1
+\font\eighteenrm=cmr10 scaled\magstep 3
+\font\twelvebf=cmbx10 scaled\magstep 1
+\font\elevenbf=cmbx10 scaled\magstephalf
+\font\elevenit=cmti10 scaled\magstephalf
+\font\elevensc=cmcsc10 scaled\magstephalf
+
+\def\theoremfont{\elevensc}
+\def\textfont{\elevenrm}
+\def\itfont{\elevenit}
+\def\headfont{\twelvebf}
+\def\smallheadfont{\elevenbf}
+\def\titlefont{\eighteenrm}
+\def\chapterfont{\fourteenrm}
+\def\authorfont{\fourteenrm}
+\def\rheadfont{\tenrm}
+\def\abstractfont{\tenrm}
+\def\smc{\tensmc}
+\font\eightsmc=cmcsc8
+
+\def\footnote#1{\baselineskip=11truept\edef\@sf{\spacefactor\the\spacefactor}#1\@sf
+ \insert\footins\bgroup\ninepoint\hsize=36pc
+ \interlinepenalty10000 \let\par=\endgraf
+ \leftskip=0pt \rightskip=0pt
+ \splittopskip=10pt plus 1pt minus 1pt \floatingpenalty=20000
+\smallskip
+\item{#1}\bgroup\baselineskip=10pt\strut
+\aftergroup\@foot\let\next}
+\skip\footins=12pt plus 2pt minus 4pt
+\dimen\footins=36pc
+
+
+
+%%% CHAPTER OPENING MACROS %%%
+
+\def\startchapter{\topinsert\vglue54pt\endinsert}
+
+\def\title#1\endtitle{\titlefont\centerline{#1}\vglue5pt}%\vskip40truept\tenrm}
+\def\lasttitle#1\endlasttitle{\titlefont\centerline{#1}\vskip1.32truepc}
+\def\author#1\endauthor{\authorfont\centerline{#1}\vglue8pt\textfont}
+\def\lastauthor#1\endlastauthor{\authorfont\centerline{#1}\vglue2.56pc\textfont}
+\def\abstract#1\endabstract{\baselineskip=12pt\leftskip=2.25pc
+ \rightskip=2.25pc\abstractfont{#1}\textfont}
+
+%%% COUNTERS FOR HEADINGS %%%
+
+\newcount\headcount
+\headcount=1
+\newcount\seccount
+\seccount=1
+\newcount\subseccount
+\subseccount=1
+\def\secreset{\global\seccount=1}
+ \def\subsecreset{\global\subseccount=1}
+
+%%% HEADINGS %%%
+
+\def\headone#1{\baselineskip=14pt\leftskip=0pt\rightskip=0pt\vskip17truept\parindent=0pt
+{\headfont\the\headcount\hskip14truept #1}
+\par\nobreak\firstpar\global\advance\headcount by 0
+ \global\advance\headcount by 1\secreset\vskip2truept\textfont}
+
+\def\headtwo#1{\advance\headcount by -1%
+ \vskip17truept\parindent=0pt{\headfont\the\headcount.%
+ \the\seccount\hskip14truept #1}%\enspace\ignorespaces\firstpar
+ \global\advance\headcount by 1\global\advance\seccount by 1
+ \global\advance\subseccount by 1\subsecreset\vskip2pt\textfont}
+
+ \def\headthree#1{\advance\headcount by -1\advance\seccount by -1
+% \advance\subseccount by -1%
+ \vskip17truept\parindent=0pt{\smallheadfont\the\headcount.%
+ \the\seccount.\the\subseccount\hskip11truept #1}\hskip6pt\ignorespaces
+ \firstpar\global\advance\headcount by 1\global\advance\seccount by 1
+ \global\advance\subseccount by 1\textfont}
+
+%%% THEOREMS, PROOFS, DEFINITIONS, etc. %%%
+
+\def\thm#1{{\theoremfont
+#1\enspace}
+\hskip-5pt\begingroup\itfont\ignorespaces}
+
+\let\lem=\thm
+\let\cor=\thm
+\let\prop=\thm
+
+\def\endthm{\endgroup\textfont}
+\let\endlem=\endthm
+\let\endcor=\endthm
+\let\endprop=\endthm
+
+\def\prf#1{{\itfont #1.}\textfont\enspace\ignorespaces}
+\let\rem=\prf
+\let\case=\prf
+
+\def\endprf{\textfont}
+\let\endrem=\endprf
+\let\endcase=\endprf
+
+\def\qed{{\qquad \vbox{\hrule\hbox{%
+ \vrule height1.3ex\hskip0.8ex\vrule}\hrule
+ }}\par}
+
+\def\dfn#1{{\theoremfont
+#1\enspace}
+\textfont\ignorespaces}
+
+\let\fact=\dfn
+
+\def\enddfn{\textfont}
+
+\let\endfact=\enddfn
+
+%%% FIGURES AND CAPTIONS %%%
+
+
+\newcount\figcount
+\figcount=1
+
+
+%\newcount\tablenumber
+%\tablenumber=1
+
+\def\\{\hfill\break}
+
+\newbox\TestBox
+\newdimen\setwd
+\newskip\belowcaptionskip
+\belowcaptionskip=6pt plus 1pt
+
+\def\endinsert{\egroup % finish the \vbox
+ \if@mid \dimen@\ht\z@ \advance\dimen@\dp\z@
+ \advance\dimen@12\p@ \advance\dimen@\pagetotal
+ \ifdim\dimen@>\pagegoal\@midfalse\p@gefalse\fi\fi
+ \if@mid\vskip\belowcaptionskip\box\z@\par \penalty-200\vskip\belowcaptionskip
+ \else\insert\topins{\penalty100 % floating insertion
+ \splittopskip\z@skip
+ \splitmaxdepth\maxdimen \floatingpenalty\z@
+ \ifp@ge \dimen@\dp\z@
+ \vbox to\vsize{\unvbox\z@\kern-\dimen@}% depth is zero
+ \else \box\z@\nobreak\vskip\belowcaptionskip\fi}\fi\endgroup}
+
+
+
+
+\def\fig#1#2#3{%
+ \setbox\TestBox=\hbox{\tenpoint #3.}\setwd=\wd\TestBox
+ \topinsert
+ \vskip #1
+ \vskip 12pt
+ \ifdim\setwd > 23pc
+ {\tenit{\smc #2.}\ \ #3}
+ \else
+ \centerline{\tenit\noindent
+ {\smc #2.}\ \ #3}\fi%
+ % \global\advance\figcount by 1
+ \endinsert}
+
+
+
+%%% REFERENCES %%%
+
+\newdimen\refindent@
+\newdimen\refhangindent@
+\newbox\refbox@
+\setbox\refbox@=\hbox{\tenrm\baselineskip=11pt [00]}% Default 2 digits
+\refindent@=\wd\refbox@
+
+\def\resetrefindent#1{%
+ \setbox\refbox@=\hbox{\tenrm\baselineskip=11pt [#1]}%
+ \refindent@=\wd\refbox@}
+
+\def\Refs{%
+ \unskip\vskip1pc
+ \leftline{\noindent\headfont References}%
+ \penalty10000
+ \vskip4pt
+ \penalty10000
+ \refhangindent@=\refindent@
+ \global\advance\refhangindent@ by .5em
+ \global\everypar{\hangindent\refhangindent@}%
+ \parindent=0pt\baselineskip=12pt\tenrm}
+
+\def\sameauthor{\leavevmode\vbox to 1ex{\vskip 0pt plus 100pt
+ \hbox to 2em{\leaders\hrule\hfil}\vskip 0pt plus 300pt}}
+
+\def\ref#1\\#2\endref{\leavevmode\hbox to \refindent@{\hfil[#1]}\enspace #2\par}
+
+
+%%% OUTPUT %%%
+
+\def\rightheadline{\hfill\tensmc\rightrh\hskip2pc\tenrm\folio}
+\def\leftheadline{\tenrm\folio\hskip2pc\tensmc\leftrh\hfill}
+
+\global\footline={\hss\tenrm\folio\hss}% first page
+
+\output{\plainoutput}
+\def\plainoutput{\shipout\vbox{\makeheadline\pagebody\makefootline}%
+ \advancepageno
+ \ifnum\pageno>1
+ \global\footline={\hfill}%
+ \fi
+ \ifodd\pageno
+ \global\headline={\rightheadline}%
+ \else
+ \global\headline={\leftheadline}%
+ \fi
+ \ifnum\outputpenalty>-\@MM \else\dosupereject\fi}
+\def\pagebody{\vbox to\vsize{\boxmaxdepth\maxdepth \pagecontents}}
+\def\makeheadline{\vbox to\z@{\vskip-22.5\p@
+ \line{\vbox to8.5\p@{}\rheadfont\the\headline}\vss}%
+ \nointerlineskip}
+\def\makefootline{\baselineskip24\p@\vskip-6\p@\line{\the\footline}}
+\def\dosupereject{\ifnum\insertpenalties>\z@ % something is being held over
+ \line{}\kern-\topskip\nobreak\vfill\supereject\fi}
+
+\def\footnoterule{\vskip11pt\kern -4\p@\hrule width 3pc \kern 3.6\p@ } % rule = .4 pt high
+
+% Turn off @ as being a letter.
+%
+\catcode`\@=13
+
+%end of style file
diff --git a/texmf-dist/doc/latex/siam/ptexproc.tex b/texmf-dist/doc/latex/siam/ptexproc.tex
new file mode 100644
index 00000000..b25d6560
--- /dev/null
+++ b/texmf-dist/doc/latex/siam/ptexproc.tex
@@ -0,0 +1,354 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% This is ptexproc.tex, an example file for use with the SIAM Plain TeX
+% Proceedings Series macros. Comments are placed at the beginning and
+% throughout this file. Please take the time to read them as they document
+% how to use these macros. This file can be composed and printed out for
+% use as sample output. Please ignore the underfull \vbox on page 3.
+
+% Any comments or questions regarding these macros should be directed to:
+%
+% Corey Gray
+% SIAM
+% 3600 University City Science Center
+% Philadelphia, PA 19104-2688
+% USA
+% Telephone: (215) 382-9800
+% Fax: (215) 386-7999
+% e-mail: gray@siam.org
+
+
+% This file is to be used as an example for style only. It should not be read
+% for content.
+
+%%%%%%%%%%%%%%% PLEASE NOTE THE FOLLOWING STYLE RESTRICTIONS %%%%%%%%%%%%%%%
+
+%% 1. You must use the numbered reference style([1],[2]), listing the
+%% references at the end of the chapter either by order of citation
+%% or alphabetically.
+%%
+%% 2. This macro is set up for three levels of headings. Use the commands
+%% \headone, \headtwo, and \headthree. The macro will automatically
+%% number the headings.
+%%
+%% 3. Theorems, Lemmas, Definitions, etc. are to be double-numbered,
+%% indicating the section and the occurrence of that element
+%% within that section. (For example, the first theorem in the second
+%% section would be numbered 2.1.) This numbering must
+%% be done manually.
+%%
+%% 4. Proofs are handled by \prf\endprf. If you want to use an end-of-proof
+%% box, insert \qed right before the \endprf command.
+%%
+%% 5. Figures and equations must be manually single-numbered. Use \leqno
+%% for equation numbering. The macro provides the \fig for including
+%% figures. This command consists of three fields. The first field is
+%% used for inserting the appropriate space for the figure. The second
+%% field is the figure number. The third field is the caption. See the
+%% example included in this file. SIAM supports the use of psfig for
+%% including Postscript figures. All Postscript figures should be sent
+%% as separate files. A hardcopy version of all Postscript figures is
+%% also required. See note regarding this under How to Submit Your Paper.
+%%
+%% 6. Use of \title\endtitle and \lasttitle\endlastitle.
+%% This macro package provides two possible commands for handling the
+%% title of your paper. The commands \title\endtitle should be used for
+%% all lines except the last line of multiple line titles. The commands
+%% \lasttitle\endlasttitle should be used for the last line of multiple
+%% line titles. In the case of a single line title, \lasttitle\endlasttitle
+%% should be used.
+%%
+%% 7. Use of \author\endauthor and \lastauthor\endlastauthor.
+%% As in the title macro, two possible commands are provided for the
+%% author. The commands \author\endauthor should be used for the first
+%% line of authors if there are more than one line. The commands
+%% \lastauthor\endlastauthor should be used for the last line
+%% of multiple lines of authors. In the case of a single line of authors,
+%% \lastauthor\endlastauthor should be used. A maximum of four authors
+%% should be placed on any one line. The appropriate space must also be
+%% hard coded between authors on the same line. The spacing is as follows:
+%%
+%% If 2 authors; \hskip4pc between
+%% If 3 authors; \hskip3pc between
+%% If 4 authors; \hskip2pc between
+%%
+%% 8. Grant information and author affiliations.
+%% This information is included by using the \footnote command and the
+%% appropriate footnote symbol. SIAM uses footnote symbols in a
+%% particular order. Below is a list of these symbols:
+%%
+%% asterisk
+%% single-dagger
+%% double-dagger
+%% section sign
+%% paragraph
+%% parallel
+%% double asterisk
+%% double single-dagger
+%% double double-dagger
+%%
+%% For illustrative purposes, all footnote symbols have been used in the
+%% example file.
+%%
+%% A note regarding \footnote. This command seems to leave extra white
+%% space between footnotes. This is quite evident in the example file. If
+%% any user of these macros has a solution to this problem, I would
+%% appreciate hearing from you. Send your comments to: gray@siam.org.
+%%
+%% The following general rules apply for including grants and affiliations:
+%% a) If there is a single grant for the paper, then the grant
+%% information should be footnoted to the title.
+%% b) If there is more than one grant, included the grant information
+%% with each authors affiliation.
+%% c) If there are different grants for the paper but the authors share
+%% the same affiliation, footnote the grant information to the title.
+%% For example, The work of the first author was supported by xyz.
+%% The work of the second author was supported by abc. And so on.
+%%
+%%
+%% 9. Special fonts.
+%% SIAM supports the use of AMS-TeX fonts version 2.0 and later. As
+%% described in the manual for these fonts, they can be included by
+%% \input{amssym.def} and \input{amssym.tex}.
+%%
+%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\input ptexproc.sty
+
+\def\leftrh{}
+\def\rightrh{}
+
+\startchapter %Place this command at the beginning of the file immediately
+ %after the \input command.
+
+
+
+\title SIAM Proceedings Series Macros\endtitle
+\lasttitle for Use with Plain TeX\footnote*{Any information
+regarding grants should be placed here.}\endlasttitle
+
+\author J. Corey Gray\footnote{$^{\dag}$}{Production Manager, Society for
+Industrial and Applied Mathematics, Philadelphia, PA.}
+\hskip2truepc Tricia Manning\footnote{$^{\ddag}$}{Publications
+Specialist, Society for Industrial and Applied Mathematics, Philadelphia,
+PA.}
+\hskip2truepc Vickie Kearn\footnote{$^{\S}$}{Publisher, Society for Industrial
+and Applied Mathematics, Philadelphia, PA.}
+\hskip2truepc Nancy Abbott\footnote{$^{\P}$}{Design Supervisor, Society for
+Industrial and Applied Mathematics, Philadelphia, PA.}
+\endauthor
+\lastauthor Sue Ciambrano\footnote{$^{\parallel}$}{Acquisition Editor, Society for
+Industrial and Applied Mathematics, Philadelphia, PA.}
+\hskip2truepc Paul Duggan\footnote{$^{**}$}{Composition
+Specialist, Society for Industrial and Applied Mathematics, Philadelphia,
+PA.}
+\hskip2truepc Robbi Anne Albert\footnote{$^{\dagger\dagger}$}{Production,
+Assistant, Society for Industrial
+and Applied Mathematics, Philadelphia, PA.}
+\hskip2truepc Jean Anderson\footnote{$^{\ddag\ddag}$}{Composition Coordinator, Society for
+Industrial and Applied Mathematics, Philadelphia, PA.}
+\endlastauthor
+
+% Use \headone for the first level headings. The macro will automatically
+% number the headings.
+
+\centerline{\bf Abstract}
+\abstract An equivalence is shown between realizability of input/output (i/o) operators by
+rational control systems and high-order algebraic differential equations for
+i/o pairs. This generalizes, to nonlinear systems, the equivalence
+between autoregressive representations and finite dimensional linear
+realizability.\endabstract
+
+
+\headone{Problem Specification}
+In this paper, we consider the solution of the $N \times N$ linear
+system
+$$A x = b\leqno (1)$$
+where $A$ is large, sparse, symmetric, and positive definite. We consider
+the direct solution of by means of general sparse Gaussian
+elimination. In such a procedure, we find a permutation matrix $P$, and
+compute the decomposition
+$$
+P A P^{t} = L D L^{t}
+\leqno (2)$$
+
+\noindent where $L$ is unit lower triangular and $D$ is diagonal.
+
+
+\headone{Design Considerations}
+Several good ordering algorithms (nested dissection and minimum degree)
+are available for computing $P$ [1], [2].
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+% Use \thm and \endthm for theorems. They must be numbered manually.
+% Lemmas (\lem \endlem), corollaries (\cor \endcor), and
+% propositions (\prop \endprop) are coded the same as theorems and must
+% also be numbered manually.
+
+\thm{Theorem 2.1.} The method was extended to three
+dimensions. For the standard multigrid
+coarsening
+(in which, for a given grid, the next coarser grid has $1/8$
+as many points), anisotropic problems require plane
+relaxation to
+obtain a good smoothing factor.\endthm
+
+Several good ordering algorithms (nested dissection and minimum degree)
+are available for computing $P$ [1], [2].
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+Several good ordering algorithms (nested dissection and minimum degree)
+are available for computing $P$ [1], [2].
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+% Use \prf and \endprf to begin and end a proof.
+% The use of \qed will produce an end-of-proof box.
+
+\prf{Proof} In this paper we consider two methods. The first method
+is
+basically the method considered with two differences:
+first, we perform plane relaxation by a two-dimensional
+multigrid method, and second, we use a slightly different
+choice of
+interpolation operator, which improves performance
+for nearly singular problems. In the second method coarsening
+is done by successively coarsening each.\qed\endprf
+
+% Use \dfn and \enddfn to begin and end definitions.
+
+\dfn{Definition 2.1.}We describe the two methods in \S\ 1.2. This is a
+definition in the plain tex macro.\enddfn
+
+This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in [3].
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in [3].
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+% Use \lem and \endlem to begin and end lemmas.
+
+\lem{Lemma 2.1.}We discuss first the choice for $I_{k-1}^k$
+which is a generalization. We assume that $G^{k-1}$ is
+obtained
+from $G^k$
+by standard coarsening; that is, if $G^k$ is a tensor product
+grid $G_{x}^k \times G_{y}^k \times G_{z}^k$,
+$G^{k-1}=G_{x}^{k-1} \times G_{y}^{k-1} \times G_{z}^{k-1}$,
+where $G_{x}^{k-1}$ is obtained by deleting every other grid
+point of $G_x^k$ and similarly for $G_{y}^k$ and $G_{z}^k$.
+\endlem
+
+% Use \fig to insert space for figures .
+
+\fig{10pc}{Fig. 1}{This is the caption for figure one.}
+
+To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6]. In \S 1.3., we analyze the complexity of the old and new
+approaches to the intersection problem for the special case of
+an $n \times n$ grid ordered by nested dissection. The special
+structure of this problem allows us to make exact estimates of
+the complexity. To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6].
+
+% Use \headtwo for second level headings. They will be numbered automatically.
+
+\headtwo{Robustness}In \S 1.2, we review the bordering algorithm, and introduce
+the sorting and intersection problems that arise in the
+sparse formulation of the algorithm.
+
+\headtwo{Versatility} In \S 1.3., we analyze the complexity of the old and new
+approaches to the intersection problem for the special case of
+an $n \times n$ grid ordered by nested dissection. The special
+structure of this problem allows us to make exact estimates of
+the complexity. To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6].
+
+
+% Use \headthree for third level headings.
+
+\headthree{Complexity.}For the old approach, we show that the
+complexity of the intersection problem is $O(n^{3})$, the same
+as the complexity of the numerical computations. For the
+new approach, the complexity of the second part is reduced to
+$O(n^{2} (\log n)^{2})$.
+
+% The command \Refs sets the word Reference as a heading and allows the proper
+% amount of space before the start of the references. Each reference must
+% begin with \ref\\. The article or title of the reference should be in
+% italic. Use the \it command within brackets. End each reference with
+% \endref and allow two returns between references. Use the command
+% \sameauthor (see reference 8) when the same author or group of authors
+% is listed consecutively.
+
+\Refs
+
+\ref 1\\R.~E. Bank, {\it PLTMG users' guide, edition 5.0}, tech. report,
+ Department of Mathematics, University of California, San Diego, CA, 1988.\endref
+
+\ref 2\\R.~E. Bank, T.~F. Dupont, and H.~Yserentant, {\it The hierarchical basis
+ multigrid method}, Numer. Math., 52 (1988), pp.~427--458.\endref
+
+\ref 3\\R.~E. Bank and R.~K. Smith, {\it General sparse elimination requires no
+ permanent integer storage}, SIAM J. Sci. Stat. Comput., 8 (1987),
+ pp.~574--584.\endref
+
+\ref 4\\S.~C. Eisenstat, M.~C. Gursky, M.~Schultz, and A.~Sherman, {\it
+ Algorithms and data structures for sparse symmetric gaussian elimination},
+ SIAM J. Sci. Stat. Comput., 2 (1982), pp.~225--237.\endref
+
+\ref 5\\A.~George and J.~Liu, {\it Computer Solution of Large Sparse Positive
+ Definite Systems}, Prentice Hall, Englewood Cliffs, NJ, 1981.\endref
+
+\ref 6\\K.~H. Law and S.~J. Fenves, {\it A node addition model for symbolic
+ factorization}, ACM TOMS, 12 (1986), pp.~37--50.\endref
+
+\ref 7\\J.~W.~H. Liu, {\it A compact row storage scheme for cholesky factors
+ using elimination trees}, ACM TOMS, 12 (1986), pp.~127--148.\endref
+
+\ref 8\\\sameauthor , {\it The role of
+ elimination trees in sparse factorization}, Tech. Report CS-87-12,Department
+ of Computer Science, York University, Ontario, Canada, 1987.\endref
+
+\ref 9\\D.~J. Rose, {\it A graph theoretic study of the numeric solution of
+ sparse positive definite systems}, in Graph Theory and Computing,
+ Academic Press, New York, 1972.\endref
+
+\ref 10\\D.~J. Rose, R.~E. Tarjan, and G.~S. Lueker, {\it Algorithmic aspects of
+ vertex elimination on graphs}, SIAM J. Comput., 5 (1976), pp.~226--283.\endref
+
+
+\bye
+
+%end of example file
diff --git a/texmf-dist/doc/latex/siam/siamatex.tar b/texmf-dist/doc/latex/siam/siamatex.tar
new file mode 100644
index 00000000..4a50bd92
--- /dev/null
+++ b/texmf-dist/doc/latex/siam/siamatex.tar
Binary files differ
diff --git a/texmf-dist/doc/latex/siam/siamltex.zip b/texmf-dist/doc/latex/siam/siamltex.zip
new file mode 100644
index 00000000..dedaf0c0
--- /dev/null
+++ b/texmf-dist/doc/latex/siam/siamltex.zip
Binary files differ
diff --git a/texmf-dist/doc/latex/siam/siamptex.tar b/texmf-dist/doc/latex/siam/siamptex.tar
new file mode 100644
index 00000000..19706620
--- /dev/null
+++ b/texmf-dist/doc/latex/siam/siamptex.tar
Binary files differ
diff --git a/texmf-dist/doc/latex/siam/soda209.all b/texmf-dist/doc/latex/siam/soda209.all
new file mode 100644
index 00000000..862535cc
--- /dev/null
+++ b/texmf-dist/doc/latex/siam/soda209.all
@@ -0,0 +1,682 @@
+%% This is soda209.all. This file is to be used for creating a paper
+%% in the ACM/SIAM Preprint series with LaTeX. It consists of the following
+%% two files:
+%%
+%% ltexprt.tex ---- an example and documentation file
+%% ltexprt.sty ---- the macro file
+%%
+%% To use, cut this file apart at the appropriate places. You can run the
+%% example file with the macros to get sample output.
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CUT HERE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%% ltexprt.tex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% This is ltexprt.tex, an example file for use with the SIAM LaTeX (version 2.09)
+% Preprint Series macros. It is designed to provide double-column output.
+% Please take the time to read the following comments, as they document
+% how to use these macros. This file can be composed and printed out for
+% use as sample output.
+
+% Any comments or questions regarding these macros should be directed to:
+%
+% Corey Gray
+% SIAM
+% 3600 University City Science Center
+% Philadelphia, PA 19104-2688
+% USA
+% Telephone: (215) 382-9800
+% Fax: (215) 386-7999
+% e-mail: gray@siam.org
+
+
+% This file is to be used as an example for style only. It should not be read
+% for content.
+
+%%%%%%%%%%%%%%% PLEASE NOTE THE FOLLOWING STYLE RESTRICTIONS %%%%%%%%%%%%%%%
+
+%% 1. There are no new tags. Existing LaTeX tags have been formatted to match
+%% the Preprint series style.
+%%
+%% 2. You must use \cite in the text to mark your reference citations and
+%% \bibitem in the listing of references at the end of your chapter. See
+%% the examples in the following file. If you are using BibTeX, please
+%% supply the bst file with the manuscript file.
+%%
+%%
+%% 3. This macro is set up for two levels of headings (\section and
+%% \subsection). The macro will automatically number the headings for you.
+%%
+%% 4. No running heads are to be used in this volume.
+%%
+%% 5. Theorems, Lemmas, Definitions, etc. are to be double numbered,
+%% indicating the section and the occurence of that element
+%% within that section. (For example, the first theorem in the second
+%% section would be numbered 2.1. The macro will
+%% automatically do the numbering for you.
+%%
+%% 6. Figures, equations, and tables must be single-numbered.
+%% Use existing LaTeX tags for these elements.
+%% Numbering will be done automatically.
+%%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+\documentstyle[twoside,leqno,twocolumn,ltexprt]{article}
+
+\begin{document}
+
+
+\title{\Large SIAM/ACM Preprint Series Macros for
+Use With LaTeX\thanks{Supported by GSF grants ABC123, DEF456, and GHI789.}}
+\author{Corey Gray\thanks{Society for Industrial and Applied Mathematics.} \\
+\and
+Tricia Manning\thanks{Society for Industrial and Applied Mathematics.}}
+\date{}
+
+\maketitle
+
+\pagestyle{myheadings}
+\markboth{}{}
+
+%\pagenumbering{arabic}
+
+
+\begin{abstract} \small\baselineskip=9pt This is the text of my abstract. It is a brief
+description of my
+paper, outlining the purposes and goals I am trying to address.\end{abstract}
+
+\section{Problem Specification.}In this paper, we consider the solution of the $N \times
+N$ linear
+system
+\begin{equation} \label{e1.1}
+A x = b
+\end{equation}
+where $A$ is large, sparse, symmetric, and positive definite. We consider
+the direct solution of (\ref{e1.1}) by means of general sparse Gaussian
+elimination. In such a procedure, we find a permutation matrix $P$, and
+compute the decomposition
+\[
+P A P^{t} = L D L^{t}
+\]
+where $L$ is unit lower triangular and $D$ is diagonal.
+
+
+\section{Design Considerations.}Several good ordering algorithms (nested dissection and
+minimum degree)
+are available for computing $P$ \cite{GEORGELIU}, \cite{ROSE72}.
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+
+\begin{theorem} The method was extended to three
+dimensions. For the standard multigrid
+coarsening
+(in which, for a given grid, the next coarser grid has $1/8$
+as many points), anisotropic problems require plane
+relaxation to
+obtain a good smoothing factor.\end{theorem}
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+Several good ordering algorithms (nested dissection and minimum degree)
+are available for computing $P$ \cite{GEORGELIU}, \cite{ROSE72}.
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+\begin{proof} In this paper we consider two methods. The first method
+is
+basically the method considered with two differences:
+first, we perform plane relaxation by a two-dimensional
+multigrid method, and second, we use a slightly different
+choice of
+interpolation operator, which improves performance
+for nearly singular problems. In the second method coarsening
+is done by successively coarsening in each of the three
+independent variables and then ignoring the intermediate
+grids; this artifice simplifies coding considerably.
+\end{proof}
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+
+\begin{Definition}{\rm We describe the two methods in \S 1.2. In \S\ 1.3. we
+discuss
+some remaining details.}
+\end{Definition}
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+Several good ordering algorithms (nested dissection and minimum degree)
+are available for computing $P$ \cite{GEORGELIU}, \cite{ROSE72}.
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination.
+
+\begin{lemma} We discuss first the choice for $I_{k-1}^k$
+which is a generalization. We assume that $G^{k-1}$ is
+obtained
+from $G^k$
+by standard coarsening; that is, if $G^k$ is a tensor product
+grid $G_{x}^k \times G_{y}^k \times G_{z}^k$,
+$G^{k-1}=G_{x}^{k-1} \times G_{y}^{k-1} \times G_{z}^{k-1}$,
+where $G_{x}^{k-1}$ is obtained by deleting every other grid
+point of $G_x^k$ and similarly for $G_{y}^k$ and $G_{z}^k$.
+\end{lemma}
+
+To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6]. In \S 1.3., we analyze the complexity of the old and new
+approaches to the intersection problem for the special case of
+an $n \times n$ grid ordered by nested dissection. The special
+structure of this problem allows us to make exact estimates of
+the complexity. To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6].
+
+In \S 1.2, we review the bordering algorithm, and introduce
+the sorting and intersection problems that arise in the
+sparse formulation of the algorithm.
+In \S 1.3., we analyze the complexity of the old and new
+approaches to the intersection problem for the special case of
+an $n \times n$ grid ordered by nested dissection. The special
+structure of this problem allows us to make exact estimates of
+the complexity. To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6].
+
+
+For the old approach, we show that the
+complexity of the intersection problem is $O(n^{3})$, the same
+as the complexity of the numerical computations. For the
+new approach, the complexity of the second part is reduced to
+$O(n^{2} (\log n)^{2})$.
+
+To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6]. In \S 1.3., we analyze the complexity of the old and new
+approaches to the intersection problem for the special case of
+an $n \times n$ grid ordered by nested dissection. The special
+structure of this problem allows us to make exact estimates of
+the complexity. To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6].
+This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+\cite{EISENSTAT} - \cite{LIU2}, \cite{ROSE76}, \cite{SCHREIBER}.
+
+\subsection{Robustness.}\ We do not
+attempt to present an overview
+here, but rather attempt to focus on those results that
+are relevant to our particular algorithm.
+This section assumes prior knowledge of the role of graph theory
+in sparse Gaussian elimination; surveys of this role are
+available in \cite{ROSE72} and \cite{GEORGELIU}. More general
+discussions of elimination trees are given in
+\cite{LAW} - \cite{LIU2}, \cite{SCHREIBER}.
+Thus, at the $k$th stage, the bordering algorithm consists of
+solving the lower triangular system
+\begin{equation} \label{1.2}
+ L_{k-1}v = c
+\end{equation}
+and setting
+\begin{eqnarray}
+\ell &=& D^{-1}_{k-1}v , \\
+\delta &=& \alpha - \ell^{t} v .
+\end{eqnarray}
+
+\begin{figure}
+\vspace{14pc}
+\caption{This is a figure 1.1.}
+\end{figure}
+
+\section{Robustness.} We do not
+attempt to present an overview
+here, but rather attempt to focus on those results that
+are relevant to our particular algorithm.
+
+\subsection{Versatility.}\ The special
+structure of this problem allows us to make exact estimates of
+the complexity. For the old approach, we show that the
+complexity of the intersection problem is $O(n^{3})$, the same
+as the complexity of the numerical computations
+\cite{GEORGELIU}, \cite{ROSEWHITTEN}. For the
+new approach, the complexity of the second part is reduced to
+$O(n^{2} (\log n)^{2})$.
+
+To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6]. In \S 1.3., we analyze the complexity of the old and new
+approaches to the intersection problem for the special case of
+an $n \times n$ grid ordered by nested dissection. The special
+structure of this problem allows us to make exact estimates of
+the complexity. To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6].
+
+In \S 1.2, we review the bordering algorithm, and introduce
+the sorting and intersection problems that arise in the
+sparse formulation of the algorithm.
+In \S 1.3., we analyze the complexity of the old and new
+approaches to the intersection problem for the special case of
+an $n \times n$ grid ordered by nested dissection. The special
+structure of this problem allows us to make exact estimates of
+the complexity. To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6].
+
+
+For the old approach, we show that the
+complexity of the intersection problem is $O(n^{3})$, the same
+as the complexity of the numerical computations. For the
+new approach, the complexity of the second part is reduced to
+$O(n^{2} (\log n)^{2})$.
+
+To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6]. In \S 1.3., we analyze the complexity of the old and new
+approaches to the intersection problem for the special case of
+an $n \times n$ grid ordered by nested dissection. The special
+structure of this problem allows us to make exact estimates of
+the complexity. To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6].
+This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+\cite{EISENSTAT} - \cite{LIU2}, \cite{ROSE76}, \cite{SCHREIBER}.
+
+\begin{thebibliography}{99}
+
+%\bibitem{GUIDE}
+%R.~E. Bank, {\em PLTMG users' guide, edition 5.0}, tech. report,
+% Department of Mathematics, University of California, San Diego, CA, 1988.
+
+%\bibitem{HBMG}
+%R.~E. Bank, T.~F. Dupont, and H.~Yserentant, {\em The hierarchical basis
+% multigrid method}, Numer. Math., 52 (1988), pp.~427--458.
+
+\bibitem{BANKSMITH}
+R.~E. Bank and R.~K. Smith, {\em General sparse elimination requires no
+ permanent integer storage}, SIAM J. Sci. Stat. Comput., 8 (1987),
+ pp.~574--584.
+
+\bibitem{EISENSTAT}
+S.~C. Eisenstat, M.~C. Gursky, M.~Schultz, and A.~Sherman, {\em
+ Algorithms and data structures for sparse symmetric gaussian elimination},
+ SIAM J. Sci. Stat. Comput., 2 (1982), pp.~225--237.
+
+\bibitem{GEORGELIU}
+A.~George and J.~Liu, {\em Computer Solution of Large Sparse Positive
+ Definite Systems}, Prentice Hall, Englewood Cliffs, NJ, 1981.
+
+\bibitem{LAW}
+K.~H. Law and S.~J. Fenves, {\em A node addition model for symbolic
+ factorization}, ACM TOMS, 12 (1986), pp.~37--50.
+
+\bibitem{LIU}
+J.~W.~H. Liu, {\em A compact row storage scheme for cholesky factors
+ using elimination trees}, ACM TOMS, 12 (1986), pp.~127--148.
+
+\bibitem{LIU2}
+\sameauthor , {\em The role of
+ elimination trees in sparse factorization}, Tech. Report CS-87-12,Department
+ of Computer Science, York University, Ontario, Canada, 1987.
+
+\bibitem{ROSE72}
+D.~J. Rose, {\em A graph theoretic study of the numeric solution of
+ sparse positive definite systems}, in Graph Theory and Computing, AcademicΠPress, New
+York, 1972.
+
+\bibitem{ROSE76}
+D.~J. Rose, R.~E. Tarjan, and G.~S. Lueker, {\em Algorithmic aspects of
+ vertex elimination on graphs}, SIAM J. Comput., 5 (1976), pp.~226--283.
+
+\bibitem{ROSEWHITTEN}
+D.~J. Rose and G.~F. Whitten, {\em A recursive analysis of disection
+ strategies}, in Sparse Matrix Computations, Academic Press, New York, 1976.
+
+\bibitem{SCHREIBER}
+R.~Schrieber, {\em A new implementation of sparse gaussian elimination},
+ ACM TOMS, 8 (1982), pp.~256--276.
+
+\end{thebibliography}
+\end{document}
+
+% End of ltexprt.tex
+%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CUT HERE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ltexprt.sty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% This is ltexprt.sty, a file of macros and definitions for creating a
+% chapter for publication in the ACM/SIAM Preprint series using LaTeX (version 2.09).
+% It is designed to produce double-column output.
+% This file may be freely distributed but may not be altered in any way.
+% Any comments or questions regarding these macros should be directed to:
+
+% Corey Gray
+% SIAM
+% 3600 University City Science Center
+% Philadelphia, PA 19104-2688
+% USA
+% Telephone: (215) 382-9800
+% Fax: (215) 386-7999
+% e-mail: gray@siam.org
+
+
+% Report the version.
+\message{*** ACM/SIAM LaTeX 2.09 Preprint Series macro package, version 1.0,
+September 24,1990 ***}
+
+
+\pretolerance=800
+\tolerance=10000
+\sloppy
+
+\voffset=-.5in
+\hoffset=-.5in
+\vsize=55pc
+\hsize=41pc
+\baselineskip=14pt
+\footskip=18pt
+\topmargin 24pt
+\headheight 12pt
+\headsep 17pt
+\textheight 52.5pc \advance\textheight by \topskip
+\textwidth 41pc
+\parskip 0pt
+\parindent 18pt
+
+\font\tensmc=cmcsc10
+\def\smc{\tensmc}
+
+%% footnotes to be set 8/10
+\def\footnotesize{\@setsize\footnotesize{10pt}\viiipt\@viiipt
+ % \indent
+ \abovedisplayskip \z@
+ \belowdisplayskip\z@
+ \abovedisplayshortskip\abovedisplayskip
+ \belowdisplayshortskip\belowdisplayshortskip
+ \def\@listi{\leftmargin\leftmargini \topsep 3pt plus 1pt minus 1pt
+ \parsep 2pt plus 1pt minus 1pt
+ \itemsep \parsep}}
+
+\let\referencesize\footnotesize
+
+\footnotesep 0pt
+
+\skip\footins 12pt plus 12pt
+
+\def\footnoterule{\kern3\p@ \hrule width 3em} % the \hrule is .4pt high
+
+\def\ps@plain{\let\@mkboth\@gobbletwo
+ \def\@oddfoot{{\hfil\small\thepage\hfil}}%
+ \def\@oddhead{}
+ \def\@evenhead{}\def\@evenfoot{}}
+
+
+
+
+
+\def\ps@headings{\let\@mkboth\markboth
+ \def\@oddfoot{}\def\@evenfoot{}%
+ \def\@evenhead{{\rm\thepage}\hfil{\small\leftmark}}%
+ \def\@oddhead{{\noindent\small\rightmark}\hfil{\rm\thepage}}%
+
+
+
+\def\ps@myheadings{\let\@mkboth\@gobbletwo
+ \def\@oddfoot{}\def\@evenfoot{}%
+ \def\@oddhead{\rlap{\normalsize\rm\rightmark}\hfil{small\thepage}}%
+ \def\@evenhead%{\hfil{\small\@chapapp}\
+ {\small\thepage}\hfil\llap{\normalsize\rm\leftmark}}%
+ \def\chaptermark##1{}%
+ \def\sectionmark##1{}\def\subsectionmark##1{}}
+
+
+\def\theequation{\arabic{section}.\arabic{equation}}
+
+
+\def\section{\@startsection{section}{1}{0pt}{-12pt}{3pt}{\hyphenpenalty=\@M
+\exhyphenpenalty=\@M\normalsize\bf}}
+\def\subsection{\@startsection{subsection}{2}{0pt}{-12pt}{0pt}{\normalsize\bf}
+}
+\def\subsubsection{\@startsection
+ {subsubsection}{3}{0pt}{-12pt}{0pt}{\normalsize\bf}}
+\def\paragraph{\@startsection
+ {paragraph}{4}{\parindent}{0pt}{0pt}{\normalsize\bf}}
+\def\subparagraph{\@startsection
+ {subparagraph}{4}{\parindent}{0pt}{0pt}{\normalsize\bf}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% THEOREMS, PROOFS, ALGORITHMS %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%% defined proof environment by theorem model (took out counter)
+
+\def\newproof#1{\@nprf{#1}}
+
+\def\@nprf#1#2{\@xnprf{#1}{#2}}
+
+\def\@xnprf#1#2{\expandafter\@ifdefinable\csname #1\endcsname
+\global\@namedef{#1}{\@prf{#1}{#2}}\global\@namedef{end#1}{\@endproof}}
+
+\def\@prf#1#2{\@xprf{#1}{#2}}
+
+\def\@xprf#1#2{\@beginproof{#2}{\csname the#1\endcsname}\ignorespaces}
+
+
+
+%%% defined algorithm environment by theorem model
+
+\def\newalgorithm#1{\@ifnextchar[{\@oalg{#1}}{\@nalg{#1}}}
+
+\def\@nalg#1#2{%
+\@ifnextchar[{\@xnalg{#1}{#2}}{\@ynalg{#1}{#2}}}
+
+\def\@xnalg#1#2[#3]{\expandafter\@ifdefinable\csname #1\endcsname
+{\@definecounter{#1}\@addtoreset{#1}{#3}%
+\expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand
+ \csname the#3\endcsname \@thmcountersep \@thmcounter{#1}}%
+\global\@namedef{#1}{\@alg{#1}{#2}}\global\@namedef{end#1}{\@endalgorithm}}}
+
+\def\@ynalg#1#2{\expandafter\@ifdefinable\csname #1\endcsname
+{\@definecounter{#1}%
+\expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
+\global\@namedef{#1}{\@alg{#1}{#2}}\global\@namedef{end#1}{\@endalgorithm}}}
+
+\def\@oalg#1[#2]#3{\expandafter\@ifdefinable\csname #1\endcsname
+ {\global\@namedef{the#1}{\@nameuse{the#2}}%
+\global\@namedef{#1}{\@alg{#2}{#3}}%
+\global\@namedef{end#1}{\@endalgorithm}}}
+
+\def\@alg#1#2{\refstepcounter
+ {#1}\@ifnextchar[{\@yalg{#1}{#2}}{\@xalg{#1}{#2}}}
+
+\def\@xalg#1#2{\@beginalgorithm{#2}{\csname the#1\endcsname}\ignorespaces}
+\def\@yalg#1#2[#3]{\@opargbeginalgorithm{#2}{\csname
+ the#1\endcsname}{#3}\ignorespaces}
+
+
+
+
+\def\@beginproof#1{\rm \trivlist \item[\hskip \labelsep{\it #1.\/}]}
+\def\@endproof{\outerparskip 0pt\endtrivlist}
+
+\def\@begintheorem#1#2{\it \trivlist \item[\hskip \labelsep{\sc #1\ #2.}]}
+\def\@opargbegintheorem#1#2#3{\it \trivlist
+ \item[\hskip \labelsep{\sc #1\ #2.\ (#3)}]}
+\def\@endtheorem{\outerparskip 0pt\endtrivlist}
+
+%\def\@begindefinition#1#2{\rm \trivlist \item[\hskip \labelsep{\sc #1\ #2.}]}
+%\def\@opargbegindefinition#1#2#3{\rm \trivlist
+% \item[\hskip \labelsep{\sc #1\ #2.\ (#3)}]}
+%\def\@enddefinition{\outerparskip 0pt\endtrivlist}
+
+
+\def\@beginalgorithm#1#2{\rm \trivlist \item[\hskip \labelsep{\sc #1\ #2.}]}
+\def\@opargbeginalgorithm#1#2#3{\rm \trivlist
+ \item[\hskip \labelsep{\sc #1\ #2.\ (#3)}]}
+\def\@endalgorithm{\outerparskip 6pt\endtrivlist}
+
+
+\newskip\outerparskip
+
+\def\trivlist{\parsep\outerparskip
+ \@trivlist \labelwidth\z@ \leftmargin\z@
+ \itemindent\parindent \def\makelabel##1{##1}}
+
+\def\@trivlist{\topsep=0pt\@topsepadd\topsep
+ \if@noskipsec \leavevmode \fi
+ \ifvmode \advance\@topsepadd\partopsep \else \unskip\par\fi
+ \if@inlabel \@noparitemtrue \@noparlisttrue
+ \else \@noparlistfalse \@topsep\@topsepadd \fi
+ \advance\@topsep \parskip
+ \leftskip\z@\rightskip\@rightskip \parfillskip\@flushglue
+ \@setpar{\if@newlist\else{\@@par}\fi}%
+ \global\@newlisttrue \@outerparskip\parskip}
+
+
+\def\endtrivlist{\if@newlist\@noitemerr\fi
+ \if@inlabel\indent\fi
+ \ifhmode\unskip \par\fi
+ \if@noparlist \else
+ \ifdim\lastskip >\z@ \@tempskipa\lastskip \vskip -\lastskip
+ \advance\@tempskipa\parskip \advance\@tempskipa -\@outerparskip
+ \vskip\@tempskipa
+ \fi\@endparenv\fi
+ \vskip\outerparskip}
+
+
+
+ \newproof{@proof}{Proof}
+ \newenvironment{proof}{\begin{@proof}}{\end{@proof}}
+
+ \newtheorem{@theorem}{Theorem}[section]
+ \newenvironment{theorem}{\begin{@theorem}}{\end{@theorem}}
+
+ \newalgorithm{@algorithm}{Algorithm}[section]
+ \newenvironment{algorithm}{\begin{@algorithm}}{\end{@algorithm}}
+
+
+
+\newtheorem{lemma}{Lemma}[section]
+\newtheorem{fact}{Fact}[section]
+\newtheorem{corollary}{Corollary}[section]
+\newtheorem{axiom}{Axiom}[section]
+\newtheorem{cond}{Condition}[section]
+\newtheorem{property}{Property}[section]
+\newtheorem{proposition}{Proposition}[section]
+
+\newtheorem{Conjecture}{Conjecture}[section]
+%\newtheorem{Corollary}[Theorem]{Corollary}
+\newtheorem{Definition}{Definition}[section]
+\newtheorem{Lemma}{Lemma}[section]
+\newtheorem{Remark}{Remark}[section]
+
+\newproof{Example}{Example}
+\newproof{Method}{Method}
+\newproof{Exercise}{Exercise}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% BIBLIOGRAPHY %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\def\thebibliography#1{%
+%\cleardoublepage
+\parindent 0em
+\vspace{6pt}
+\begin{flushleft}\normalsize\bf References\end{flushleft}
+\addvspace{3pt}\nopagebreak\list
+ %% default is no labels, for those not using \cite or BibTeX
+% {[\arabic{enumi}]} {\settowidth\labelwidth{[#1]}
+{[\arabic{enumi}]}{\settowidth\labelwidth{mm}
+\leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \usecounter{enumi}\@bibsetup}
+\def\newblock{\hskip .11em plus .33em minus -.07em}
+ \sloppy\clubpenalty4000\widowpenalty4000
+ \sfcode`\.=1000\relax}
+
+%% setup 8/10 type
+\def\@bibsetup{\itemindent=0pt \itemsep=0pt \parsep=0pt
+\small}
+
+\def\sameauthor{\leavevmode\vrule height 2pt depth -1.6pt width 23pt}
+
+%
+%% End of ltexprt.sty
+%
+%%%%%%%%%%%%%%%%%%%%%%%%% End of soda209.all %%%%%%%%%%%%%%%%%%%%%%%
diff --git a/texmf-dist/doc/latex/siam/soda2e.all b/texmf-dist/doc/latex/siam/soda2e.all
new file mode 100644
index 00000000..17f57096
--- /dev/null
+++ b/texmf-dist/doc/latex/siam/soda2e.all
@@ -0,0 +1,688 @@
+%% This is soda2e.all. This file is to be used for creating a paper
+%% in the ACM/SIAM Preprint series with LaTeX2E. It consists of the following
+%% two files:
+%%
+%% ltexpprt.tex ---- an example and documentation file
+%% ltexpprt.sty ---- the macro file
+%%
+%% To use, cut this file apart at the appropriate places. You can run the
+%% example file with the macros to get sample output.
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CUT HERE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%% ltexpprt.tex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% This is ltexpprt.tex, an example file for use with the SIAM LaTeX2E
+% Preprint Series macros. It is designed to provide double-column output.
+% Please take the time to read the following comments, as they document
+% how to use these macros. This file can be composed and printed out for
+% use as sample output.
+
+% Any comments or questions regarding these macros should be directed to:
+%
+% Corey Gray
+% SIAM
+% 3600 University City Science Center
+% Philadelphia, PA 19104-2688
+% USA
+% Telephone: (215) 382-9800
+% Fax: (215) 386-7999
+% e-mail: gray@siam.org
+
+
+% This file is to be used as an example for style only. It should not be read
+% for content.
+
+%%%%%%%%%%%%%%% PLEASE NOTE THE FOLLOWING STYLE RESTRICTIONS %%%%%%%%%%%%%%%
+
+%% 1. There are no new tags. Existing LaTeX tags have been formatted to match
+%% the Preprint series style.
+%%
+%% 2. You must use \cite in the text to mark your reference citations and
+%% \bibitem in the listing of references at the end of your chapter. See
+%% the examples in the following file. If you are using BibTeX, please
+%% supply the bst file with the manuscript file.
+%%
+%% 3. This macro is set up for two levels of headings (\section and
+%% \subsection). The macro will automatically number the headings for you.
+%%
+%% 5. No running heads are to be used for this volume.
+%%
+%% 6. Theorems, Lemmas, Definitions, etc. are to be double numbered,
+%% indicating the section and the occurence of that element
+%% within that section. (For example, the first theorem in the second
+%% section would be numbered 2.1. The macro will
+%% automatically do the numbering for you.
+%%
+%% 7. Figures, equations, and tables must be single-numbered.
+%% Use existing LaTeX tags for these elements.
+%% Numbering will be done automatically.
+%%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+\documentclass[twoside,leqno,twocolumn]{article}
+\usepackage{ltexpprt}
+\begin{document}
+
+
+%\setcounter{chapter}{2} % If you are doing your chapter as chapter one,
+%\setcounter{section}{3} % comment these two lines out.
+
+\title{\Large SIAM/ACM Preprint Series Macros for
+Use With LaTeX\thanks{Supported by GSF grants ABC123, DEF456, and GHI789.}}
+\author{Corey Gray\thanks{Society for Industrial and Applied Mathematics.} \\
+\and
+Tricia Manning\thanks{Society for Industrial and Applied Mathematics.}}
+\date{}
+
+\maketitle
+
+\pagestyle{myheadings}
+\markboth{}{}
+
+
+%\pagenumbering{arabic}
+%\setcounter{page}{1}%Leave this line commented out.
+
+\begin{abstract} \small\baselineskip=9pt This is the text of my abstract. It is a brief
+description of my
+paper, outlining the purposes and goals I am trying to address.\end{abstract}
+
+
+
+
+\section{Problem Specification.}In this paper, we consider the solution of the $N \times
+N$ linear
+system
+\begin{equation} \label{e1.1}
+A x = b
+\end{equation}
+where $A$ is large, sparse, symmetric, and positive definite. We consider
+the direct solution of (\ref{e1.1}) by means of general sparse Gaussian
+elimination. In such a procedure, we find a permutation matrix $P$, and
+compute the decomposition
+\[
+P A P^{t} = L D L^{t}
+\]
+where $L$ is unit lower triangular and $D$ is diagonal.
+
+
+\section{Design Considerations.}Several good ordering algorithms (nested dissection and
+minimum degree)
+are available for computing $P$ \cite{GEORGELIU}, \cite{ROSE72}.
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+
+\begin{theorem} The method was extended to three
+dimensions. For the standard multigrid
+coarsening
+(in which, for a given grid, the next coarser grid has $1/8$
+as many points), anisotropic problems require plane
+relaxation to
+obtain a good smoothing factor.\end{theorem}
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+Several good ordering algorithms (nested dissection and minimum degree)
+are available for computing $P$ \cite{GEORGELIU}, \cite{ROSE72}.
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+\begin{proof} In this paper we consider two methods. The first method
+is
+basically the method considered with two differences:
+first, we perform plane relaxation by a two-dimensional
+multigrid method, and second, we use a slightly different
+choice of
+interpolation operator, which improves performance
+for nearly singular problems. In the second method coarsening
+is done by successively coarsening in each of the three
+independent variables and then ignoring the intermediate
+grids; this artifice simplifies coding considerably.
+\end{proof}
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+
+\begin{Definition}{\rm We describe the two methods in \S 1.2. In \S\ 1.3. we
+discuss
+some remaining details.}
+\end{Definition}
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+Several good ordering algorithms (nested dissection and minimum degree)
+are available for computing $P$ \cite{GEORGELIU}, \cite{ROSE72}.
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in \cite{BANKSMITH}.
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination.
+
+\begin{lemma} We discuss first the choice for $I_{k-1}^k$
+which is a generalization. We assume that $G^{k-1}$ is
+obtained
+from $G^k$
+by standard coarsening; that is, if $G^k$ is a tensor product
+grid $G_{x}^k \times G_{y}^k \times G_{z}^k$,
+$G^{k-1}=G_{x}^{k-1} \times G_{y}^{k-1} \times G_{z}^{k-1}$,
+where $G_{x}^{k-1}$ is obtained by deleting every other grid
+point of $G_x^k$ and similarly for $G_{y}^k$ and $G_{z}^k$.
+\end{lemma}
+
+To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6]. In \S 1.3., we analyze the complexity of the old and new
+approaches to the intersection problem for the special case of
+an $n \times n$ grid ordered by nested dissection. The special
+structure of this problem allows us to make exact estimates of
+the complexity. To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6].
+
+In \S 1.2, we review the bordering algorithm, and introduce
+the sorting and intersection problems that arise in the
+sparse formulation of the algorithm.
+In \S 1.3., we analyze the complexity of the old and new
+approaches to the intersection problem for the special case of
+an $n \times n$ grid ordered by nested dissection. The special
+structure of this problem allows us to make exact estimates of
+the complexity. To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6].
+
+
+For the old approach, we show that the
+complexity of the intersection problem is $O(n^{3})$, the same
+as the complexity of the numerical computations. For the
+new approach, the complexity of the second part is reduced to
+$O(n^{2} (\log n)^{2})$.
+
+To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6]. In \S 1.3., we analyze the complexity of the old and new
+approaches to the intersection problem for the special case of
+an $n \times n$ grid ordered by nested dissection. The special
+structure of this problem allows us to make exact estimates of
+the complexity. To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6].
+This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+\cite{EISENSTAT} - \cite{LIU2}, \cite{ROSE76}, \cite{SCHREIBER}.
+
+\subsection{Robustness.}\ We do not
+attempt to present an overview
+here, but rather attempt to focus on those results that
+are relevant to our particular algorithm.
+This section assumes prior knowledge of the role of graph theory
+in sparse Gaussian elimination; surveys of this role are
+available in \cite{ROSE72} and \cite{GEORGELIU}. More general
+discussions of elimination trees are given in
+\cite{LAW} - \cite{LIU2}, \cite{SCHREIBER}.
+Thus, at the $k$th stage, the bordering algorithm consists of
+solving the lower triangular system
+\begin{equation} \label{1.2}
+ L_{k-1}v = c
+\end{equation}
+and setting
+\begin{eqnarray}
+\ell &=& D^{-1}_{k-1}v , \\
+\delta &=& \alpha - \ell^{t} v .
+\end{eqnarray}
+
+\begin{figure}
+\vspace{14pc}
+\caption{This is a figure 1.1.}
+\end{figure}
+
+\section{Robustness.} We do not
+attempt to present an overview
+here, but rather attempt to focus on those results that
+are relevant to our particular algorithm.
+
+\subsection{Versatility.}\ The special
+structure of this problem allows us to make exact estimates of
+the complexity. For the old approach, we show that the
+complexity of the intersection problem is $O(n^{3})$, the same
+as the complexity of the numerical computations
+\cite{GEORGELIU}, \cite{ROSEWHITTEN}. For the
+new approach, the complexity of the second part is reduced to
+$O(n^{2} (\log n)^{2})$.
+
+To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6]. In \S 1.3., we analyze the complexity of the old and new
+approaches to the intersection problem for the special case of
+an $n \times n$ grid ordered by nested dissection. The special
+structure of this problem allows us to make exact estimates of
+the complexity. To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6].
+
+In \S 1.2, we review the bordering algorithm, and introduce
+the sorting and intersection problems that arise in the
+sparse formulation of the algorithm.
+In \S 1.3., we analyze the complexity of the old and new
+approaches to the intersection problem for the special case of
+an $n \times n$ grid ordered by nested dissection. The special
+structure of this problem allows us to make exact estimates of
+the complexity. To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6].
+
+
+For the old approach, we show that the
+complexity of the intersection problem is $O(n^{3})$, the same
+as the complexity of the numerical computations. For the
+new approach, the complexity of the second part is reduced to
+$O(n^{2} (\log n)^{2})$.
+
+To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6]. In \S 1.3., we analyze the complexity of the old and new
+approaches to the intersection problem for the special case of
+an $n \times n$ grid ordered by nested dissection. The special
+structure of this problem allows us to make exact estimates of
+the complexity. To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6].
+This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+\cite{EISENSTAT} - \cite{LIU2}, \cite{ROSE76}, \cite{SCHREIBER}.
+
+\begin{thebibliography}{99}
+
+%\bibitem{GUIDE}
+%R.~E. Bank, {\em PLTMG users' guide, edition 5.0}, tech. report,
+% Department of Mathematics, University of California, San Diego, CA, 1988.
+
+%\bibitem{HBMG}
+%R.~E. Bank, T.~F. Dupont, and H.~Yserentant, {\em The hierarchical basis
+% multigrid method}, Numer. Math., 52 (1988), pp.~427--458.
+
+\bibitem{BANKSMITH}
+R.~E. Bank and R.~K. Smith, {\em General sparse elimination requires no
+ permanent integer storage}, SIAM J. Sci. Stat. Comput., 8 (1987),
+ pp.~574--584.
+
+\bibitem{EISENSTAT}
+S.~C. Eisenstat, M.~C. Gursky, M.~Schultz, and A.~Sherman, {\em
+ Algorithms and data structures for sparse symmetric gaussian elimination},
+ SIAM J. Sci. Stat. Comput., 2 (1982), pp.~225--237.
+
+\bibitem{GEORGELIU}
+A.~George and J.~Liu, {\em Computer Solution of Large Sparse Positive
+ Definite Systems}, Prentice Hall, Englewood Cliffs, NJ, 1981.
+
+\bibitem{LAW}
+K.~H. Law and S.~J. Fenves, {\em A node addition model for symbolic
+ factorization}, ACM TOMS, 12 (1986), pp.~37--50.
+
+\bibitem{LIU}
+J.~W.~H. Liu, {\em A compact row storage scheme for cholesky factors
+ using elimination trees}, ACM TOMS, 12 (1986), pp.~127--148.
+
+\bibitem{LIU2}
+\sameauthor , {\em The role of
+ elimination trees in sparse factorization}, Tech. Report CS-87-12,Department
+ of Computer Science, York University, Ontario, Canada, 1987.
+
+\bibitem{ROSE72}
+D.~J. Rose, {\em A graph theoretic study of the numeric solution of
+ sparse positive definite systems}, in Graph Theory and Computing, Academic Press, New
+York, 1972.
+
+\bibitem{ROSE76}
+D.~J. Rose, R.~E. Tarjan, and G.~S. Lueker, {\em Algorithmic aspects of
+ vertex elimination on graphs}, SIAM J. Comput., 5 (1976), pp.~226--283.
+
+\bibitem{ROSEWHITTEN}
+D.~J. Rose and G.~F. Whitten, {\em A recursive analysis of disection
+ strategies}, in Sparse Matrix Computations, Academic Press, New York, 1976.
+
+\bibitem{SCHREIBER}
+R.~Schrieber, {\em A new implementation of sparse gaussian elimination},
+ ACM TOMS, 8 (1982), pp.~256--276.
+
+\end{thebibliography}
+\end{document}
+
+% End of ltexpprt.tex
+%
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ltexpprt.sty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% This is ltexpprt.sty, a file of macros and definitions for creating a
+% chapter for publication in the ACM/SIAM Preprint series using LaTeX2E.
+% It is designed to produce double-column output.
+% This file may be freely distributed but may not be altered in any way.
+% Any comments or questions regarding these macros should be directed to:
+
+% Corey Gray
+% SIAM
+% 3600 University City Science Center
+% Philadelphia, PA 19104-2688
+% USA
+% Telephone: (215) 382-9800
+% Fax: (215) 386-7999
+% e-mail: gray@siam.org
+
+
+% Report the version.
+\message{*** ACM/SIAM LaTeX2E Preprint Series macro package, version 1.0,
+September 5, 1996 ***}
+
+
+\pretolerance=800
+\tolerance=10000
+\sloppy
+
+%\voffset=-.5in
+%\hoffset=-.5in
+\vsize=55pc
+\hsize=41pc
+\baselineskip=14pt
+\footskip=18pt
+\topmargin 24pt
+\headheight 12pt
+\headsep 17pt
+\textheight 52.5pc \advance\textheight by \topskip
+\textwidth 41pc
+\parskip 0pt
+\parindent 18pt
+
+\font\tensmc=cmcsc10
+\def\smc{\tensmc}
+
+%% footnotes to be set 8/10
+\def\footnotesize{\@setsize\footnotesize{10pt}\viiipt\@viiipt
+ % \indent
+ \abovedisplayskip \z@
+ \belowdisplayskip\z@
+ \abovedisplayshortskip\abovedisplayskip
+ \belowdisplayshortskip\belowdisplayshortskip
+ \def\@listi{\leftmargin\leftmargini \topsep 3pt plus 1pt minus 1pt
+ \parsep 2pt plus 1pt minus 1pt
+ \itemsep \parsep}}
+
+\let\referencesize\footnotesize
+
+\footnotesep 0pt
+
+\skip\footins 12pt plus 12pt
+
+\def\footnoterule{\kern3\p@ \hrule width 3em} % the \hrule is .4pt high
+
+\def\ps@plain{\let\@mkboth\@gobbletwo
+ \def\@oddfoot{{\hfil\small\thepage\hfil}}%
+ \def\@oddhead{}
+ \def\@evenhead{}\def\@evenfoot{}}
+
+
+
+
+
+\def\ps@headings{\let\@mkboth\markboth
+ \def\@oddfoot{}\def\@evenfoot{}%
+ \def\@evenhead{{\rm\thepage}\hfil{\small\leftmark}}%
+ \def\@oddhead{{\noindent\small\rightmark}\hfil{\rm\thepage}}%
+
+
+
+\def\ps@myheadings{\let\@mkboth\@gobbletwo
+ \def\@oddfoot{}\def\@evenfoot{}%
+ \def\@oddhead{\rlap{\normalsize\rm\rightmark}\hfil{small\thepage}}%
+ \def\@evenhead%{\hfil{\small\@chapapp}\
+ {\small\thepage}\hfil\llap{\normalsize\rm\leftmark}}%
+ \def\chaptermark##1{}%
+ \def\sectionmark##1{}\def\subsectionmark##1{}}
+
+
+\def\theequation{\arabic{section}.\arabic{equation}}
+
+
+\def\section{\@startsection{section}{1}{0pt}{-12pt}{3pt}{\hyphenpenalty=\@M
+\exhyphenpenalty=\@M\normalsize\bf}}
+\def\subsection{\@startsection{subsection}{2}{0pt}{-12pt}{0pt}{\normalsize\bf}
+}
+\def\subsubsection{\@startsection
+ {subsubsection}{3}{0pt}{-12pt}{0pt}{\normalsize\bf}}
+\def\paragraph{\@startsection
+ {paragraph}{4}{\parindent}{0pt}{0pt}{\normalsize\bf}}
+\def\subparagraph{\@startsection
+ {subparagraph}{4}{\parindent}{0pt}{0pt}{\normalsize\bf}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% THEOREMS, PROOFS, ALGORITHMS %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%% defined proof environment by theorem model (took out counter)
+
+\def\newproof#1{\@nprf{#1}}
+
+\def\@nprf#1#2{\@xnprf{#1}{#2}}
+
+\def\@xnprf#1#2{\expandafter\@ifdefinable\csname #1\endcsname
+\global\@namedef{#1}{\@prf{#1}{#2}}\global\@namedef{end#1}{\@endproof}}
+
+\def\@prf#1#2{\@xprf{#1}{#2}}
+
+\def\@xprf#1#2{\@beginproof{#2}{\csname the#1\endcsname}\ignorespaces}
+
+
+
+%%% defined algorithm environment by theorem model
+
+\def\newalgorithm#1{\@ifnextchar[{\@oalg{#1}}{\@nalg{#1}}}
+
+\def\@nalg#1#2{%
+\@ifnextchar[{\@xnalg{#1}{#2}}{\@ynalg{#1}{#2}}}
+
+\def\@xnalg#1#2[#3]{\expandafter\@ifdefinable\csname #1\endcsname
+{\@definecounter{#1}\@addtoreset{#1}{#3}%
+\expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand
+ \csname the#3\endcsname \@thmcountersep \@thmcounter{#1}}%
+\global\@namedef{#1}{\@alg{#1}{#2}}\global\@namedef{end#1}{\@endalgorithm}}}
+
+\def\@ynalg#1#2{\expandafter\@ifdefinable\csname #1\endcsname
+{\@definecounter{#1}%
+\expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
+\global\@namedef{#1}{\@alg{#1}{#2}}\global\@namedef{end#1}{\@endalgorithm}}}
+
+\def\@oalg#1[#2]#3{\expandafter\@ifdefinable\csname #1\endcsname
+ {\global\@namedef{the#1}{\@nameuse{the#2}}%
+\global\@namedef{#1}{\@alg{#2}{#3}}%
+\global\@namedef{end#1}{\@endalgorithm}}}
+
+\def\@alg#1#2{\refstepcounter
+ {#1}\@ifnextchar[{\@yalg{#1}{#2}}{\@xalg{#1}{#2}}}
+
+\def\@xalg#1#2{\@beginalgorithm{#2}{\csname the#1\endcsname}\ignorespaces}
+\def\@yalg#1#2[#3]{\@opargbeginalgorithm{#2}{\csname
+ the#1\endcsname}{#3}\ignorespaces}
+
+
+
+
+\def\@beginproof#1{\rm \trivlist \item[\hskip \labelsep{\it #1.\/}]}
+\def\@endproof{\outerparskip 0pt\endtrivlist}
+
+\def\@begintheorem#1#2{\it \trivlist \item[\hskip \labelsep{\sc #1\ #2.}]}
+\def\@opargbegintheorem#1#2#3{\it \trivlist
+ \item[\hskip \labelsep{\sc #1\ #2.\ (#3)}]}
+\def\@endtheorem{\outerparskip 0pt\endtrivlist}
+
+%\def\@begindefinition#1#2{\rm \trivlist \item[\hskip \labelsep{\sc #1\ #2.}]}
+%\def\@opargbegindefinition#1#2#3{\rm \trivlist
+% \item[\hskip \labelsep{\sc #1\ #2.\ (#3)}]}
+%\def\@enddefinition{\outerparskip 0pt\endtrivlist}
+
+
+\def\@beginalgorithm#1#2{\rm \trivlist \item[\hskip \labelsep{\sc #1\ #2.}]}
+\def\@opargbeginalgorithm#1#2#3{\rm \trivlist
+ \item[\hskip \labelsep{\sc #1\ #2.\ (#3)}]}
+\def\@endalgorithm{\outerparskip 6pt\endtrivlist}
+
+
+\newskip\outerparskip
+
+%\def\trivlist{\parsep\outerparskip
+% \@trivlist \labelwidth\z@ \leftmargin\z@
+% \itemindent\parindent \def\makelabel##1{##1}}
+%
+%\def\@trivlist{\topsep=0pt\@topsepadd\topsep
+% \if@noskipsec \leavevmode \fi
+% \ifvmode \advance\@topsepadd\partopsep \else \unskip\par\fi
+% \if@inlabel \@noparitemtrue \@noparlisttrue
+% \else \@noparlistfalse \@topsep\@topsepadd \fi
+% \advance\@topsep \parskip
+% \leftskip\z@\rightskip\@rightskip \parfillskip\@flushglue
+% \@setpar{\if@newlist\else{\@@par}\fi}%
+% \global\@newlisttrue \@outerparskip\parskip}
+%
+%
+%\def\endtrivlist{\if@newlist\@noitemerr\fi
+% \if@inlabel\indent\fi
+% \ifhmode\unskip \par\fi
+% \if@noparlist \else
+% \ifdim\lastskip >\z@ \@tempskipa\lastskip \vskip -\lastskip
+% \advance\@tempskipa\parskip \advance\@tempskipa -\@outerparskip
+% \vskip\@tempskipa
+% \fi\@endparenv\fi
+% \vskip\outerparskip}
+
+
+
+ \newproof{@proof}{Proof}
+ \newenvironment{proof}{\begin{@proof}}{\end{@proof}}
+
+ \newtheorem{@theorem}{Theorem}[section]
+ \newenvironment{theorem}{\begin{@theorem}}{\end{@theorem}}
+
+ \newalgorithm{@algorithm}{Algorithm}[section]
+ \newenvironment{algorithm}{\begin{@algorithm}}{\end{@algorithm}}
+
+
+
+\newtheorem{lemma}{Lemma}[section]
+\newtheorem{fact}{Fact}[section]
+\newtheorem{corollary}{Corollary}[section]
+\newtheorem{axiom}{Axiom}[section]
+\newtheorem{cond}{Condition}[section]
+\newtheorem{property}{Property}[section]
+\newtheorem{proposition}{Proposition}[section]
+
+\newtheorem{Conjecture}{Conjecture}[section]
+%\newtheorem{Corollary}[Theorem]{Corollary}
+\newtheorem{Definition}{Definition}[section]
+\newtheorem{Lemma}{Lemma}[section]
+\newtheorem{Remark}{Remark}[section]
+
+\newproof{Example}{Example}
+\newproof{Method}{Method}
+\newproof{Exercise}{Exercise}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% BIBLIOGRAPHY %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\def\thebibliography#1{%
+%\cleardoublepage
+\parindent 0em
+\vspace{6pt}
+\begin{flushleft}\normalsize\bf References\end{flushleft}
+\addvspace{3pt}\nopagebreak\list
+ %% default is no labels, for those not using \cite or BibTeX
+% {[\arabic{enumi}]} {\settowidth\labelwidth{[#1]}
+{[\arabic{enumi}]}{\settowidth\labelwidth{mm}
+\leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \usecounter{enumi}\@bibsetup}
+\def\newblock{\hskip .11em plus .33em minus -.07em}
+ \sloppy\clubpenalty4000\widowpenalty4000
+ \sfcode`\.=1000\relax}
+
+%% setup 8/10 type
+\def\@bibsetup{\itemindent=0pt \itemsep=0pt \parsep=0pt
+\small}
+
+\def\sameauthor{\leavevmode\vrule height 2pt depth -1.6pt width 23pt}
+
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CUT HERE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%
+%
+
diff --git a/texmf-dist/doc/latex/siam/sodaptex.all b/texmf-dist/doc/latex/siam/sodaptex.all
new file mode 100644
index 00000000..e4c99f08
--- /dev/null
+++ b/texmf-dist/doc/latex/siam/sodaptex.all
@@ -0,0 +1,722 @@
+%% This is sodaptex.all. This file is to be used for creating a paper
+%% in the ACM/SIAM Preprint series with Plain TeX. It consists of the following
+%% two files:
+%%
+%% ptexpprt.tex ---- an example and documentation file
+%% ptexpprt.sty ---- the macro file
+%%
+%% To use, cut this file apart at the appropriate places. You can run the
+%% example file with the macros to get sample output.
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CUT HERE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%% ptexpprt.tex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% This is ptexpprt.tex, an example file for use with the ACM/SIAM Plain TeX
+% Preprint Series macros. It is designed to produce double-column output.
+% Comments are placed at the beginning and throughout this file. Please
+% take the time to read them as they document how to use these macros.
+% This file can be composed and printed out for use as sample output.
+
+% Any comments or questions regarding these macros should be directed to:
+%
+% Corey Gray
+% SIAM
+% 3600 University City Science Center
+% Philadelphia, PA 19104-2688
+% USA
+% Telephone: (215) 382-9800
+% Fax: (215) 386-7999
+% e-mail: gray@siam.org
+
+% This file is to be used as an example for style only. It should not be read
+% for content.
+
+%%%%%%%%%%%%%%% PLEASE NOTE THE FOLLOWING STYLE RESTRICTIONS %%%%%%%%%%%%%%%
+
+%% 1. You must use the numbered reference style([1],[2]), listing the
+%% references at the end of the chapter either by order of citation
+%% or alphabetically.
+%%
+%% 2. Unless otherwise stated by your editor, do your chapter as if it
+%% is Chapter 1.
+%% If you know which number your chapter is, you must do the following:
+%%
+%% Go into the style file (ptexfrnt.sty) and search for the
+%% \def\chapter#1 definition. At the end of this definition
+%% there is a command \headcount=1. Change the 1 to
+%% the appropriate number. This change will cause the headings
+%% in your chapter to match the chapter number.
+%%
+%% 3. This macro is set up for two levels of headings. The macro will
+%% automatically number the headings for you.
+%%
+%% 4. The running heads are defined in the output routine. It will be
+%% necessary for you to alter the information currently included.
+%% To do this, go into the style file and search for OUTPUT. Once there,
+%% scroll through the file until you see the command \def\rhead. Replace
+%% CHAPTER TITLE with the title (or shortened title) of your paper.
+%% Replace AUTHORS NAMES with the appropriate names.
+%% Neither running head may be longer than 50 characters.
+%%
+%% 5. Theorems, Lemmas, Definitions, etc. are to be triple numbered,
+%% indicating the chapter, section, and the occurence of that element
+%% within that section. (For example, the first theorem in the second
+%% section of chapter three would be numbered 3.2.1. This numbering must
+%% be done manually.
+%%
+%% 6. Figures and equations must be manually double-numbered, indicating
+%% chapter and occurence. Use \leqno for equation numbering. See the
+%% example of \caption for figure numbering.
+%% Note. Although not shown, tables must also be double-numbered. The
+%% command \caption can also be used for table captions.
+%%
+%% 7. At the first occurence of each new element there is a description
+%% of how to use the coding.
+%%
+%%%%%%% PLEASE NOTE THE FOLLOWING POTENTIAL PROBLEMS:
+%
+%% 1. A bug exists that prevents a page number from printing on the first
+%% page of the paper. Please ignore this problem. It will be handled
+%% after you submit your paper.
+%%
+%% 2. The use of \topinsert and \midinsert to allow space for figures can
+%% result in unusual page breaks, or unusual looking pages in general.
+%% If you encounter such a situation, contact the SIAM office at the
+%% address listed above for instructions.
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\input ptexpprt.sty
+\voffset=.25in
+\titlepage
+
+% It will be necessary to hard code the chapter title and chapter authors.
+% You must decide where to break the lines. For the authors, please follow
+% the following conventions:
+% 1. If 2 authors are on a line, use \hskip4pc between them. If 3 authors,
+% use \hskip2pc. Do not put more than 3 authors on the same line.
+% 2. Use the following notation: asterisk, dagger, double-dagger, section
+% symbol, paragraph symbol, double asterisk. If more are needed, contact
+% the SIAM office.
+
+\centerline{\chapterfont Chapter 1}
+\vskip2pt
+\centerline{\titlefont SIAM/ACM Preprint Series Macros for
+Plain TeX\footnote*{Supported by GSF grants ABC123, DEF456, and GHI 789.}}
+\vskip15pt
+\centerline{\authorfont J. Corey Gray\footnote\dag{Society for Industrial and
+Applied Mathematics.}\hskip2pc Tricia Manning\footnote\ddag{Society for
+Industrial and Applied Mathematics.}\hskip2pc Vickie Kearn\footnote\S{Society
+for Industrial and Applied Mathematics.}}
+\vskip2pc
+
+\begindoublecolumns
+
+% Use \headone for the first level headings. The macro will automatically
+% number the headings.
+
+\headone{Problem Specification}
+In this paper, we consider the solution of the $N \times N$ linear
+system
+$$A x = b\leqno(1.1)$$
+where $A$ is large, sparse, symmetric, and positive definite. We consider
+the direct solution of by means of general sparse Gaussian
+elimination. In such a procedure, we find a permutation matrix $P$, and
+compute the decomposition
+$$
+P A P^{t} = L D L^{t}
+$$
+where $L$ is unit lower triangular and $D$ is diagonal.
+
+\headone{Design Considerations}
+Several good ordering algorithms (nested dissection and minimum degree)
+are available for computing $P$ [1], [2].
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+% Use \headtwo for second level headings. They will be numbered automatically.
+
+\headtwo{Robustness}In \S 1.2, we review the bordering algorithm, and introduce
+the sorting and intersection problems that arise in the
+sparse formulation of the algorithm.
+
+\headtwo{Versatility} In \S 1.3., we analyze the complexity of the old and new
+approaches to the intersection problem for the special case of
+an $n \times n$ grid ordered by nested dissection. The special
+structure of this problem allows us to make exact estimates of
+the complexity. To our knowledge, the m-tree previously has not been applied in
+this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6].
+This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in [3].
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+
+
+% Use \thm and \endthm for theorems. They must be numbered manually.
+% Lemmas (\lem \endlem), corollaries (\cor \endcor), and
+% propositions (\prop \endprop) are coded the same as theorems and must
+% also be numbered manually.
+
+\thm{Theorem 2.1.} The method was extended to three
+dimensions. For the standard multigrid
+coarsening
+(in which, for a given grid, the next coarser grid has $1/8$
+as many points), anisotropic problems require plane
+relaxation to
+obtain a good smoothing factor.\endthm
+
+Several good ordering algorithms (nested dissection and minimum degree)
+are available for computing $P$ [1], [2].
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+Several good ordering algorithms (nested dissection and minimum degree)
+are available for computing $P$ [1], [2].
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+% Use \prf to begin a proof.
+
+\prf{Proof} In this paper we consider two methods. The first method
+is
+basically the method considered with two differences:
+first, we perform plane relaxation by a two-dimensional
+multigrid method, and second, we use a slightly different
+choice of
+interpolation operator, which improves performance
+for nearly singular problems. In the second method coarsening
+is done by successively coarsening each.
+
+% Use \dfn to begin definitions.
+
+\dfn{Definition 1.2.1.}We describe the two methods in \S\ 1.2. This is a
+definition in the plain tex macro.
+
+This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in [3].
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in [3].
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+
+To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6]. In \S 1.3., we analyze the complexity of the old and new
+approaches to the intersection problem for the special case of
+an $n \times n$ grid ordered by nested dissection. The special
+structure of this problem allows us to make exact estimates of
+the complexity. To our knowledge, the m-tree previously has not been applied in
+this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6].
+Several good ordering algorithms (nested dissection and minimum degree)
+are available for computing $P$ [1], [2].
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+For the old approach, we show that the
+complexity of the intersection problem is $O(n^{3})$, the same
+as the complexity of the numerical computations. For the
+new approach, the complexity of the second part is reduced to
+$O(n^{2} (\log n)^{2})$.
+
+% Use \midinsert along with \caption to allow space for
+% figures. See note above in problem section.
+%\midinsert\vskip15.5pc\caption{Fig. 1.1. {\nineit This is figure 1.}}
+% \endcaption\endinsert
+
+In this paper, we consider the solution of the $N \times N$ linear
+system
+where $A$ is large, sparse, symmetric, and positive definite. We consider
+the direct solution of by means of general sparse Gaussian
+elimination. In such a procedure, we find a permutation matrix $P$, and
+compute the decomposition
+where $L$ is unit lower triangular and $D$ is diagonal.
+
+\headone{Design Considerations}
+Several good ordering algorithms (nested dissection and minimum degree)
+are available for computing $P$ [1], [2].
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+Several good ordering algorithms (nested dissection and minimum degree)
+are available for computing $P$ [1], [2].
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+Several good ordering algorithms (nested dissection and minimum degree)
+are available for computing $P$ [1], [2].
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+Our purpose here is to examine the nonnumerical complexity of the
+sparse elimination algorithm given in [3].
+As was shown there, a general sparse elimination scheme based on the
+bordering algorithm requires less storage for pointers and
+row/column indices than more traditional implementations of general
+sparse elimination. This is accomplished by exploiting the m-tree,
+a particular spanning tree for the graph of the filled-in matrix.
+Since our interest here does not
+focus directly on the ordering, we assume for convenience that $P=I$,
+or that $A$ has been preordered to reflect an appropriate choice of $P$.
+
+% Use \lem and \endlem to begin and end lemmas.
+
+\lem{Lemma 2.1.}We discuss first the choice for $I_{k-1}^k$
+which is a generalization. We assume that $G^{k-1}$ is
+obtained
+from $G^k$
+by standard coarsening; that is, if $G^k$ is a tensor product
+grid $G_{x}^k \times G_{y}^k \times G_{z}^k$,
+$G^{k-1}=G_{x}^{k-1} \times G_{y}^{k-1} \times G_{z}^{k-1}$,
+where $G_{x}^{k-1}$ is obtained by deleting every other grid
+point of $G_x^k$ and similarly for $G_{y}^k$ and $G_{z}^k$.
+\endlem
+
+To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6]. In \S 1.3., we analyze the complexity of the old and new
+approaches to the intersection problem for the special case of
+an $n \times n$ grid ordered by nested dissection. The special
+structure of this problem allows us to make exact estimates of
+the complexity. To our knowledge, the m-tree previously has not been applied in
+this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6].
+
+% Use \headtwo for second level headings. They will be numbered automatically.
+
+\headone{Problem Solving}In \S 1.2, we review the bordering algorithm, and
+introduce
+the sorting and intersection problems that arise in the
+sparse formulation of the algorithm.
+
+\headtwo{Versatility} In \S 1.3., we analyze the complexity of the old and new
+approaches to the intersection problem for the special case of
+an $n \times n$ grid ordered by nested dissection. The special
+structure of this problem allows us to make exact estimates of
+the complexity. To our knowledge, the m-tree previously has not been applied in
+this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6].
+
+
+\headtwo{Complexity}For the old approach, we show that the
+complexity of the intersection problem is $O(n^{3})$, the same
+as the complexity of the numerical computations. For the
+new approach, the complexity of the second part is reduced to
+$O(n^{2} (\log n)^{2})$.
+
+To our knowledge, the m-tree previously has not been applied in this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6]. In \S 1.3., we analyze the complexity of the old and new
+approaches to the intersection problem for the special case of
+an $n \times n$ grid ordered by nested dissection. The special
+structure of this problem allows us to make exact estimates of
+the complexity. To our knowledge, the m-tree previously has not been applied in
+this
+fashion to the numerical factorization, but it has been used,
+directly or indirectly, in several optimal order algorithms for
+computing the fill-in during the symbolic factorization phase
+[4] - [10], [5], [6].
+
+% The command \Refs sets the word Reference as a heading and allows the proper
+% amount of space before the start of the references. Each reference must
+% begin with \ref\\. The article or title of the reference should be in
+% italic. Use the \it command within brackets. End each reference with
+% \endref and allow two returns between references. Use the command
+% \sameauthor (see reference 8) when the same author or group of authors
+% is listed consecutively.
+
+\Refs
+
+\ref 1\\R.~E. Bank, {\it PLTMG users' guide, edition 5.0}, tech. report,
+ Department of Mathematics, University of California, San Diego, CA,
+1988.\endref
+
+\ref 2\\R.~E. Bank, T.~F. Dupont, and H.~Yserentant, {\it The hierarchical basis
+ multigrid method}, Numer. Math., 52 (1988), pp.~427--458.\endref
+
+\ref 3\\R.~E. Bank and R.~K. Smith, {\it General sparse elimination requires no
+ permanent integer storage}, SIAM J. Sci. Stat. Comput., 8 (1987),
+ pp.~574--584.\endref
+
+\ref 4\\S.~C. Eisenstat, M.~C. Gursky, M.~Schultz, and A.~Sherman, {\it
+ Algorithms and data structures for sparse symmetric gaussian elimination},
+ SIAM J. Sci. Stat. Comput., 2 (1982), pp.~225--237.\endref
+
+\ref 5\\A.~George and J.~Liu, {\it Computer Solution of Large Positive
+ Definite Systems}, Prentice Hall, Englewood Cliffs, NJ, 1981.\endref
+
+\ref 6\\K.~H. Law and S.~J. Fenves, {\it A node addition model for symbolic
+ factorization}, ACM TOMS, 12 (1986), pp.~37--50.\endref
+
+\ref 7\\J.~W.~H. Liu, {\it A compact row storage scheme for factors
+ using elimination trees}, ACM TOMS, 12 (1986), pp.~127--148.\endref
+
+\ref 8\\\sameauthor , {\it The role of
+ elimination trees in sparse factorization}, Tech. Report CS-87-12,Department
+ of Computer Science, York University, Ontario, Canada, 1987.\endref
+
+\ref 9\\D.~J. Rose, {\it A graph theoretic study of the numeric solution of
+ sparse positive definite systems}, in Graph Theory and Computing,
+ Academic Press, New York, 1972.\endref
+
+\ref 10\\D.~J. Rose, R.~E. Tarjan, and G.~S. Lueker, {\it Algorithmic aspects of
+ vertex elimination on graphs}, SIAM J. Comput., 5 (1976), pp.~226--283.\endref
+\enddoublecolumns
+
+\bye
+%%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CUT HERE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%% ptexpprt.sty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% This is a file of macros and definitions for creating a chapter
+% for publication in the ACM/SIAM Preprint Series using Plain TeX.
+% This file may be freely distributed but may not be altered in any way.
+% Any comments or questions regarding these macros should be directed to:
+
+% Corey Gray
+% SIAM
+% 3600 University City Science Center
+% Philadelphia, PA 19104-2688
+% USA
+% Telephone: (215) 382-9800
+% Fax: (215) 386-7999
+% e-mail: gray@siam.org
+%
+
+% Report the version.
+\message{*** ACM/SIAM Plain TeX Preprint Series macro package, version 1.0,
+September 24, 1990.***}
+
+% Make the @ sign a letter for internal control sequences.
+\catcode`\@=11
+%
+%
+%
+
+
+
+%%% DIMENSIONS %%%
+
+\newdimen\pagewidth
+\hsize=41pc
+\pagewidth=\hsize
+\newdimen\pageheight
+\vsize=50pc
+\pageheight=\vsize
+\newdimen\ruleht
+\ruleht=.5pt
+\maxdepth=2.2pt
+
+\parindent=18truept
+\def\firstpar{\parindent=0pt\global\everypar{\parindent=18truept}}
+\parskip=0pt plus 1pt
+
+
+%%% FONTS %%%
+
+\font\tenrm=cmr10
+\font\tenbf=cmbx10
+\font\tenit=cmti10
+\font\tensmc=cmcsc10
+\def\tenpoint{%
+ \def\rm{\tenrm}\def\bf{\tenbf}%
+ \def\it{\tenit}\def\smc{\tensmc}
+ \textfont0=\tenrm \scriptfont0=\sevenrm
+ \textfont1=\teni \scriptfont1=\seveni
+ \textfont2=\tensy \scriptfont2=\sevensy
+ \textfont3=\tenex \scriptfont3=\tenex
+\baselineskip=12pt\rm}%
+
+\font\ninerm=cmr9
+\font\ninebf=cmbx9
+\font\nineit=cmti9
+\def\ninepoint{%
+ \def\rm{\ninerm}\def\bf{\ninebf}%
+ \def\it{\nineit}\baselineskip=11pt\rm}%
+
+\font\eightrm=cmr8
+\font\eightbf=cmbx8
+\font\eightit=cmti8
+\font\eighti=cmmi8
+\font\eightsy=cmsy8
+\def\eightpoint{%
+ \def\rm{\eightrm}\def\bf{\eightbf}%
+ \def\it{\eightit}\def\smc{\eightrm}\baselineskip=10pt\rm%
+ \textfont0=\eightrm \scriptfont0=\sixrm
+ \textfont1=\eighti \scriptfont1=\sixi
+ \textfont2=\eightsy \scriptfont2=\sixsy
+ \textfont3=\tenex \scriptfont3=\tenex
+}
+
+\font\sixrm=cmr6
+\font\sixbf=cmbx6
+\font\sixi=cmmi6
+\font\sixsmc=cmr5
+\font\sixsy=cmsy6
+\def\sixpoint{%
+ \def\rm{\sixrm}\def\bf{\sixbf}%
+ \def\smc{\sixsmc}\baselineskip=8pt\rm}%
+
+\fontdimen13\tensy=2.6pt
+\fontdimen14\tensy=2.6pt
+\fontdimen15\tensy=2.6pt
+\fontdimen16\tensy=1.2pt
+\fontdimen17\tensy=1.2pt
+\fontdimen18\tensy=1.2pt
+
+\font\eightrm=cmr8
+\font\ninerm=cmr9
+\font\twelverm=cmr10 scaled\magstep1
+\font\twelvebf=cmbx10 scaled\magstep 1
+\font\sixteenrm=cmr10 scaled\magstep2
+\def\titlefont{\sixteenrm}
+\def\chapterfont{\twelvebf}
+\def\authorfont{\twelverm}
+\def\rheadfont{\tenrm}
+\def\smc{\tensmc}
+
+
+
+
+%%% COUNTERS FOR HEADINGS %%%
+
+\newcount\headcount
+\headcount=1
+\newcount\seccount
+\seccount=1
+\newcount\subseccount
+\subseccount=1
+\def\reset{\global\seccount=1}
+\global\headcount=0
+
+%%% HEADINGS %%%
+
+\def\headone#1{\global\advance\headcount by 1
+\vskip12truept\parindent=0pt{\tenpoint\bf\the\headcount
+\hskip11truept #1.}\par\nobreak\firstpar\global\advance\headcount by 0
+ %\global\advance\seccount by 1
+\reset\vskip2truept}
+
+\def\headtwo#1{%\advance\seccount by -1%
+ \vskip12truept\parindent=0pt{\tenpoint\bf\the\headcount.%
+ \the\seccount\hskip11truept #1.}\enspace\ignorespaces\firstpar
+ \global\advance\headcount by 0\global\advance\seccount by 1}
+% \global\advance\subseccount by 1}
+
+
+%%% THEOREMS, PROOFS, DEFINITIONS, etc. %%%
+
+\def\thm#1{{\smc
+#1\enspace}
+\begingroup\it\ignorespaces\firstpar}
+
+\let\lem=\thm
+\let\cor=\thm
+\let\prop=\thm
+
+\def\endthm{\endgroup}
+\let\endlem=\endthm
+\let\endcor=\endthm
+\let\endprop=\endthm
+
+\def\prf#1{{\it #1.}\rm\enspace\ignorespaces}
+\let\rem=\prf
+\let\case=\prf
+
+
+\def\dfn#1{{\smc
+#1\enspace}
+\rm\ignorespaces}
+
+
+
+%%% FIGURES AND CAPTIONS %%%
+
+\def\caption#1\endcaption{\vskip18pt\ninerm\centerline{#1}\vskip18pt\tenrm}
+
+\newinsert\topins \newif\ifp@ge \newif\if@mid
+\def\topinsert{\@midfalse\p@gefalse\@ins}
+\def\midinsert{\@midtrue\@ins}
+\def\pageinsert{\@midfalse\p@getrue\@ins}
+\skip\topins=0pt %no space added when a topinsert is present
+\count\topins=1000 %magnification factor (1 to 1)
+\dimen\topins=\maxdimen
+\def\@ins{\par\begingroup\setbox0=\vbox\bgroup}
+\def\endinsert{\egroup
+ \if@mid \dimen@=\ht0 \advance\dimen@ by\dp0
+ \advance\dimen@ by12\p@ \advance\dimen@ by\pagetotal
+ \ifdim\dimen@>\pagegoal \@midfalse\p@gefalse\fi\fi
+ \if@mid \bigskip \box0 \bigbreak
+ \else\insert\topins{\penalty100
+ \splittopskip=0pt \splitmaxdepth=\maxdimen \floatingpenalty=0
+ \ifp@ge \dimen@=\dp0
+ \vbox to\vsize{\unvbox0 \kern-\dimen@}
+ \else \box0 \nobreak\bigskip\fi}\fi\endgroup}
+
+
+%%% REFERENCES %%%
+
+\newdimen\refindent@
+\newdimen\refhangindent@
+\newbox\refbox@
+\setbox\refbox@=\hbox{\ninepoint\rm\baselineskip=11pt [00]}% Default 2 digits
+\refindent@=\wd\refbox@
+
+\def\resetrefindent#1{%
+ \setbox\refbox@=\hbox{\ninepoint\rm\baselineskip=11pt [#1]}%
+ \refindent@=\wd\refbox@}
+
+\def\Refs{%
+ \unskip\vskip1pc
+ \leftline{\noindent\tenpoint\bf References}%
+ \penalty10000
+ \vskip4pt
+ \penalty10000
+ \refhangindent@=\refindent@
+ \global\advance\refhangindent@ by .5em
+ \global\everypar{\hangindent\refhangindent@}%
+ \parindent=0pt\ninepoint\rm}
+
+\def\sameauthor{\leavevmode\vbox to 1ex{\vskip 0pt plus 100pt
+ \hbox to 2em{\leaders\hrule\hfil}\vskip 0pt plus 300pt}}
+
+\def\ref#1\\#2\endref{\leavevmode\hbox to \refindent@{\hfil[#1]}\enspace #2\par}
+
+
+%%% OUTPUT %%%
+
+\newinsert\margin
+\dimen\margin=\maxdimen
+\count\margin=0 \skip\margin=0pt
+
+
+\def\footnote#1{\edef\@sf{\spacefactor\the\spacefactor}#1\@sf
+ \insert\footins\bgroup\eightpoint\hsize=30pc
+ \interlinepenalty100 \let\par=\endgraf
+ \leftskip=0pt \rightskip=0pt
+ \splittopskip=10pt plus 1pt minus 1pt \floatingpenalty=20000
+\smallskip
+\item{#1}\bgroup\strut\aftergroup\@foot\let\next}
+\skip\footins=6pt plus 2pt minus 4pt
+\dimen\footins=30pc
+
+\newif\iftitle
+
+
+\def\titlepage{\global\titletrue\footline={\hss\ninepoint\rm\folio\hss}}
+\def\rhead{\ifodd\pageno CHAPTER TITLE
+ \else AUTHORS NAMES\fi}
+
+\def\makefootline{\ifnum\pageno>1\global\footline={\hfill}\fi
+ \baselineskip24\p@\vskip12\p@\fullline{\the\footline}}
+\def\leftheadline{\hbox to \pagewidth{
+ \vbox to 10pt{}
+ {\kern-8pt\tenrm\folio\hfill\ninerm\rhead}}}
+\def\rightheadline{\hbox to \pagewidth{
+ \vbox to 10pt{}
+ \kern-8pt\ninerm\rhead\hfil
+ {\kern-1pc\tenrm\folio}}}
+
+\def\onepageout#1{\shipout\vbox{
+\offinterlineskip
+ \vbox to 2.25pc{%
+ \iftitle \global\titlefalse
+% \setcornerrules
+ \else\ifodd\pageno\rightheadline\else\leftheadline\fi\fi \vfill}
+\vbox to \pageheight{
+ \ifvoid\margin\else
+ \rlap{\kern31pc\vbox to0pt{\kern4pt\box\margin \vss}}\fi
+ #1 %
+\ifvoid\footins\else
+ \vskip\skip\footins \kern 0pt
+ \hrule height\ruleht width 2.5pc \kern-\ruleht \kern 0pt
+ \unvbox\footins\fi
+\boxmaxdepth=\maxdepth}}
+\advancepageno}
+
+\def\setcornerrules{\hbox to \pagewidth{
+ \vrule width 1pc height\ruleht \hfil \vrule width 1pc}
+ \hbox to \pagewidth{\llap{\sevenrm(page \folio)\kern1pc}
+ \vrule height1pc width\ruleht depth0pt
+ \hfil \vrule width\ruleht depth0pt}}
+\output{\onepageout{\unvbox255}}
+
+\newbox\partialpage
+\def\begindoublecolumns{\begingroup
+ \output={\global\setbox\partialpage=\vbox{\unvbox255\bigskip}}\eject
+ \output={\doublecolumnout} \hsize=20pc \vsize=101pc}
+\def\enddoublecolumns{\output={\balancecolumns}\eject
+ \endgroup \pagegoal=\vsize}
+
+\def\doublecolumnout{\splittopskip=\topskip \splitmaxdepth=\maxdepth
+ \dimen@=50pc \advance\dimen@ by-\ht\partialpage
+ \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
+ \onepageout\pagesofar \unvbox255 \penalty\outputpenalty}
+\def\pagesofar{\unvbox\partialpage
+ \wd0=\hsize \wd2=\hsize \hbox to\pagewidth{\box0\hfil\box2}}
+\def\balancecolumns{\setbox0=\vbox{\unvbox255} \dimen@=\ht0
+ \advance\dimen@ by\topskip \advance\dimen@ by-\baselineskip
+ \divide\dimen@ by2 \splittopskip=\topskip
+{\vbadness=10000 \loop \global\setbox3=\copy0
+ \global\setbox1=\vsplit3 to\dimen@
+ \ifdim\ht3>\dimen@ \global\advance\dimen@ by1pt \repeat}
+ \setbox0=\vbox to\dimen@{\unvbox1} \setbox2=\vbox to\dimen@{\unvbox 3}
+\pagesofar}
+
+
+
+
+% Turn off @ as being a letter.
+%
+\catcode`\@=13
+
+% End of ptexpprt.sty
+
+
+CUT HERE............
diff --git a/texmf-dist/fonts/enc/dvips/mathtime-ltx/mh2scr.enc b/texmf-dist/fonts/enc/dvips/mathtime-ltx/mh2scr.enc
new file mode 100644
index 00000000..41685991
--- /dev/null
+++ b/texmf-dist/fonts/enc/dvips/mathtime-ltx/mh2scr.enc
@@ -0,0 +1,72 @@
+%%
+%% This is file `mh2scr.enc',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% mtfonts.fdd (with options: `mh2screnc')
+%%
+%% Copyright 1996 1997 Frank Mittelbach and David Carlisle.
+%%
+%% Development of this package was commissioned by Y&Y Inc.
+%% http://www.yandy.com
+ %
+ % Encoding file to reencode MathematicalPi-Two font by Adobe so that
+ % its script alphabet is in a sensible position
+ % and thus can be used with \DeclareMathAlphabet
+ %
+ % Usage:
+ %
+ % generate tfm
+ %
+ % afm2tfm mh2_____ -T mh2scr.enc mh2scr
+ %
+ % add mapping line to dvips config file:
+ %
+ % mh2 MathematicalPi-Two <mh2_____.pfa
+ % mh2scr MathematicalPi-Two "mh2scrEncoding ReEncodeFont" <mh2scr.enc <mh2_____.pfa
+ %
+ %
+ %
+/mh2scrEncoding [
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ %'10x
+ /space /H5101 /H5102 /H5103 /H5104 /H5105 /H5106 /H5107
+ /H5108 /H5109 /H5110 /H5111 /H5112 /H5113 /H5114 /H5115
+ /H5116 /H5117 /H5118 /H5119 /H5120 /H5121 /H5122 /H5123
+ /H5124 /H5125 /H5126 /.notdef /.notdef /.notdef /.notdef /.notdef
+ %
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ %'20
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ %'30
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+
+%%
+%%
+%% End of file `mh2scr.enc'.
diff --git a/texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hirakaku-w3-v.ofm b/texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hirakaku-w3-v.ofm
index 6fefdc79..d11349c9 100644
--- a/texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hirakaku-w3-v.ofm
+++ b/texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hirakaku-w3-v.ofm
Binary files differ
diff --git a/texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hirakaku-w6-v.ofm b/texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hirakaku-w6-v.ofm
index 149f56c4..cc2e0aec 100644
--- a/texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hirakaku-w6-v.ofm
+++ b/texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hirakaku-w6-v.ofm
Binary files differ
diff --git a/texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hiramaru-w4-v.ofm b/texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hiramaru-w4-v.ofm
index 8f17b089..97d24831 100644
--- a/texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hiramaru-w4-v.ofm
+++ b/texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hiramaru-w4-v.ofm
Binary files differ
diff --git a/texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hiramin-w3-v.ofm b/texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hiramin-w3-v.ofm
index e0baf5a7..0f860707 100644
--- a/texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hiramin-w3-v.ofm
+++ b/texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hiramin-w3-v.ofm
Binary files differ
diff --git a/texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hiramin-w6-v.ofm b/texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hiramin-w6-v.ofm
index 5244e6bd..7d31179d 100644
--- a/texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hiramin-w6-v.ofm
+++ b/texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hiramin-w6-v.ofm
Binary files differ
diff --git a/texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphirakakuw3-h.tfm b/texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphirakakuw3-h.tfm
index 68f85022..2d3a24b3 100644
--- a/texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphirakakuw3-h.tfm
+++ b/texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphirakakuw3-h.tfm
Binary files differ
diff --git a/texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphirakakuw3-v.tfm b/texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphirakakuw3-v.tfm
index 6307bad7..e1c35566 100644
--- a/texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphirakakuw3-v.tfm
+++ b/texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphirakakuw3-v.tfm
Binary files differ
diff --git a/texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphirakakuw6-h.tfm b/texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphirakakuw6-h.tfm
index dadf10e3..a62f2f63 100644
--- a/texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphirakakuw6-h.tfm
+++ b/texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphirakakuw6-h.tfm
Binary files differ
diff --git a/texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphirakakuw6-v.tfm b/texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphirakakuw6-v.tfm
index 10985189..68aeee03 100644
--- a/texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphirakakuw6-v.tfm
+++ b/texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphirakakuw6-v.tfm
Binary files differ
diff --git a/texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphiramaruw4-h.tfm b/texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphiramaruw4-h.tfm
index 0745d58e..8a33db5b 100644
--- a/texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphiramaruw4-h.tfm
+++ b/texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphiramaruw4-h.tfm
Binary files differ
diff --git a/texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphiramaruw4-v.tfm b/texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphiramaruw4-v.tfm
index 779281ad..b3c8610d 100644
--- a/texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphiramaruw4-v.tfm
+++ b/texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphiramaruw4-v.tfm
Binary files differ
diff --git a/texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphiraminw3-h.tfm b/texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphiraminw3-h.tfm
index edcbeb31..1f66aa86 100644
--- a/texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphiraminw3-h.tfm
+++ b/texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphiraminw3-h.tfm
Binary files differ
diff --git a/texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphiraminw3-v.tfm b/texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphiraminw3-v.tfm
new file mode 100644
index 00000000..b1926b42
--- /dev/null
+++ b/texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphiraminw3-v.tfm
Binary files differ
diff --git a/texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphiraminw6-h.tfm b/texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphiraminw6-h.tfm
index 797410bd..da9b468c 100644
--- a/texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphiraminw6-h.tfm
+++ b/texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphiraminw6-h.tfm
Binary files differ
diff --git a/texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphiraminw3-v.tfm b/texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphiraminw6-v.tfm
index 02d2d7e5..66d0589b 100644
--- a/texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphiraminw3-v.tfm
+++ b/texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphiraminw6-v.tfm
Binary files differ
diff --git a/texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphiraminw6-v.tfm b/texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphiraminw6-v.tfm
deleted file mode 100644
index 191d0783..00000000
--- a/texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphiraminw6-v.tfm
+++ /dev/null
Binary files differ
diff --git a/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phirakakuw3-h.vf b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phirakakuw3-h.vf
index 017c2ed7..b8331909 100644
--- a/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phirakakuw3-h.vf
+++ b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phirakakuw3-h.vf
Binary files differ
diff --git a/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phirakakuw3-v.vf b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phirakakuw3-v.vf
index 20605fa0..f37f109e 100644
--- a/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phirakakuw3-v.vf
+++ b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phirakakuw3-v.vf
Binary files differ
diff --git a/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phirakakuw6-h.vf b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phirakakuw6-h.vf
index 77dd244a..c2bf2c4e 100644
--- a/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phirakakuw6-h.vf
+++ b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phirakakuw6-h.vf
Binary files differ
diff --git a/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phirakakuw6-v.vf b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phirakakuw6-v.vf
index bb69bd20..5a065d56 100644
--- a/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phirakakuw6-v.vf
+++ b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phirakakuw6-v.vf
Binary files differ
diff --git a/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiramaruw4-h.vf b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiramaruw4-h.vf
index ef56aa0a..00893b90 100644
--- a/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiramaruw4-h.vf
+++ b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiramaruw4-h.vf
Binary files differ
diff --git a/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiramaruw4-v.vf b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiramaruw4-v.vf
index 573414a8..c3486b12 100644
--- a/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiramaruw4-v.vf
+++ b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiramaruw4-v.vf
Binary files differ
diff --git a/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiraminw3-h.vf b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiraminw3-h.vf
index aeeb2500..baa833e9 100644
--- a/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiraminw3-h.vf
+++ b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiraminw3-h.vf
Binary files differ
diff --git a/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiraminw3-v.vf b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiraminw3-v.vf
index 2bc57b47..a47d42fe 100644
--- a/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiraminw3-v.vf
+++ b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiraminw3-v.vf
Binary files differ
diff --git a/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiraminw6-h.vf b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiraminw6-h.vf
index 4f590774..bbb44af7 100644
--- a/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiraminw6-h.vf
+++ b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiraminw6-h.vf
Binary files differ
diff --git a/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiraminw6-v.vf b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiraminw6-v.vf
index dd4b56b0..cfc61d55 100644
--- a/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiraminw6-v.vf
+++ b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiraminw6-v.vf
Binary files differ
diff --git a/texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphirakakuw3-h.vf b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphirakakuw3-h.vf
index c72b7301..5cabb6b6 100644
--- a/texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphirakakuw3-h.vf
+++ b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphirakakuw3-h.vf
Binary files differ
diff --git a/texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphirakakuw3-v.vf b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphirakakuw3-v.vf
index 104ae67b..b64a8758 100644
--- a/texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphirakakuw3-v.vf
+++ b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphirakakuw3-v.vf
Binary files differ
diff --git a/texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphirakakuw6-h.vf b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphirakakuw6-h.vf
index e8d608ed..bb39ca81 100644
--- a/texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphirakakuw6-h.vf
+++ b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphirakakuw6-h.vf
Binary files differ
diff --git a/texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphirakakuw6-v.vf b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphirakakuw6-v.vf
index 6d54eb6c..717cbd13 100644
--- a/texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphirakakuw6-v.vf
+++ b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphirakakuw6-v.vf
Binary files differ
diff --git a/texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphiramaruw4-h.vf b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphiramaruw4-h.vf
index 2bdf9668..ae64c32f 100644
--- a/texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphiramaruw4-h.vf
+++ b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphiramaruw4-h.vf
Binary files differ
diff --git a/texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphiramaruw4-v.vf b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphiramaruw4-v.vf
index f5c84211..0579cb89 100644
--- a/texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphiramaruw4-v.vf
+++ b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphiramaruw4-v.vf
Binary files differ
diff --git a/texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphiraminw3-h.vf b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphiraminw3-h.vf
index 40e0b3f4..bc43a1a4 100644
--- a/texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphiraminw3-h.vf
+++ b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphiraminw3-h.vf
Binary files differ
diff --git a/texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphiraminw3-v.vf b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphiraminw3-v.vf
index d4ffe03c..c00281e5 100644
--- a/texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphiraminw3-v.vf
+++ b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphiraminw3-v.vf
Binary files differ
diff --git a/texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphiraminw6-h.vf b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphiraminw6-h.vf
index c721f3da..797c1622 100644
--- a/texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphiraminw6-h.vf
+++ b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphiraminw6-h.vf
Binary files differ
diff --git a/texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphiraminw6-v.vf b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphiraminw6-v.vf
index 9e8a2150..8f021cf7 100644
--- a/texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphiraminw6-v.vf
+++ b/texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphiraminw6-v.vf
Binary files differ
diff --git a/texmf-dist/source/latex/mathtime-ltx/mathtime.dtx b/texmf-dist/source/latex/mathtime-ltx/mathtime.dtx
new file mode 100644
index 00000000..53adb580
--- /dev/null
+++ b/texmf-dist/source/latex/mathtime-ltx/mathtime.dtx
@@ -0,0 +1,1187 @@
+%
+% \iffalse
+%% Copyright 1996 1997 Frank Mittelbach and David Carlisle.
+%%
+%% Development of this package was commissioned by Y&Y Inc.
+%% http://www.yandy.com
+%% This package may be distributed under the terms of the LaTeX Project Public
+%% License, as described in lppl.txt in the base LaTeX distribution.
+%% Either version 1.0 or, at your option, any later version.
+%%
+%
+%
+%<*dtx>
+ \ProvidesFile{mathtime.dtx}
+%</dtx>
+%<package>\NeedsTeXFormat{LaTeX2e}[1995/01/01]
+%<mathtime>\ProvidesPackage{mathtime}
+%<mathpi>\ProvidesPackage{mathpi}
+%<driver>\ProvidesFile{mathtime.drv}
+% \fi
+% \ProvidesFile{mathtime.dtx}
+ [1999/03/29 v1.1%
+%<mathtime> mathtime
+%<mathpi> mathpi
+ font support (FMi/DPC)]
+%
+% \iffalse
+%<*driver>
+\documentclass{ltxdoc}
+%\usepackage{mathtime}
+\DocInput{mathtime.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{853}
+%
+% \GetFileInfo{mathtime.dtx}
+% \begin{document}
+% \title{The \textsf{mathtime} and \textsf{mathpi} packages\thanks
+% {This file has version number \fileversion,
+% last revised \filedate.}\ \thanks{Development of
+% this package was commissioned by Y\&Y.}}
+%
+% \date{\filedate}
+% \author{Frank Mittelbach with support by David Carlisle}
+% \maketitle
+%
+% \section{The mathtime package}
+%
+% The mathtime package contains the code to support the Math Time fonts.
+%
+% \subsection{Usage and options}
+%
+% To load support for the Math Time fonts add the following
+% declaration to the preamble of your \LaTeX{} document:
+% \begin{quote}
+% \verb=\usepackage[=\meta{options}\verb=]{mathtime}=
+% \end{quote}
+% This package supports several options:
+% \begin{description}
+% \item[nobold] default.
+%
+% \item[cmbold] use cm bold fonts (not recommended, the bold fonts
+% will then be encoded differently to the normal weight ones, and
+% no account of this will be taken).
+%
+% \item[mtbold] This provides bold and heavy math versions coming
+% with the Math Time Plus fonts.
+%
+% \item[heavybold] Also requires the Math Time Plus font set, just
+% define bold math version (not heavy) but use the heavy fonts where
+% available.
+%
+% In all cases the user level command |\heavymath| is defined to be
+% |\boldmath| if the heavy math version is not defined.
+%
+% \item[slantedgreek] Make the lowercase greek letters slanted
+% (by default).
+% Note that the uppercase greek letters are always upright.
+%
+% \item[uprightgreek] Make the lowercase greek letters upright.
+%
+% \item[subscriptcorrection]
+% Redefine |_| so that it automatically adds negative kerns in
+% subscripts if they start with either
+% \texttt{j}, \texttt{p}, or \texttt{f}.
+% This option might generate problems if other packages are
+% loaded as well.
+%
+% The subscript correction also be be turned on and off within the
+% document using the commands:\\
+% |\enablesubscriptcorrection| and
+% |\disablesubscriptcorrection|.
+%
+% \item[nosubscriptcorrection]
+% Disable the the subscript correction (default).
+%
+% \item[cmcal]
+% This option uses the Computer Modern calligraphic alphabet
+% for |\mathcal| --- a bad choice, but what do you do if nothing else
+% is at your disposal. We make this the default as we know that it is
+% always around.
+%
+% \item[lucidacal] This options sets up |\mathcal| to load the Lucida
+% calligraphic font as a math alphabet. It also defines |\mathbcal| to
+% always refer to the bold series of this alphabet.
+%
+% \item[lucidascr] Like \texttt{lucidacal} but puts the font into
+% |\mathscr|. This might be useful if for some reason |\mathcal|
+% already contains some special calligraphic alphabet.
+%
+% \item[mtplusscr] This options sets up |\mathscr| to load the Math Time
+% Plus script font as a math alphabet. It also defines |\mathbscr| to
+% always refer to the bold series of this alphabet.
+%
+% \item[mtpluscal] Like \texttt{mtplusscr} but puts the font into the
+% |\mathcal| alphabet.
+%
+% \item[noTS1]
+% The use of the mathtime fonts with text fonts encoded in the
+% standard OT1 or T1 encodings leaves a few symbols (section and
+% paragraph marks, and dagger symbols) undefined.
+% By default the TS1 `text companion encoding' will be used to access
+% these symbols, but this option suppresses that.
+% If the LY1 option (below) is used this option
+% will be implied and dagger etc will be drawn from the operators font.
+%
+% \item[OT1] Use OT1 encoing for the operators font. This is the
+% normal behaviour, but in this package the default behaviour is to
+% use the default text encoding for the operators font.
+%
+% \item[T1] Use T1 encoding for the operators font.
+%
+% \item[LY1] Use LY1 (Y\&Y's `locally' defined texnansi encoding)
+% In the operators font. This option implies the noTS1 option.
+% Dagger etc will be drawn from the operators font in this case.
+%
+% \end{description}
+%
+% Not all options can be used together, e.g., one can at most select one
+% of the options setting up |\mathcal|, if both options are given
+% \texttt{mtpluscal} will win over \texttt{luciadcal} and in case of
+% |\mathscr|,
+% \texttt{lucidascr} will be the winner over \texttt{mtplusscr}.
+%
+% This package makes a lot of font re-assignments. Normally these
+% generate warning messages on the terminal, however getting so many
+% messages would be distracting, so a further three options control the
+% font tracing. Even more control may be obtained by loading the
+% \textsf{tracefnt} package.
+%
+% \begin{description}
+% \item[errorshow] Only show font \emph{errors} on the terminal.
+% Warnings are just sent to the log file. This is the default
+% for this package.
+%
+% \item[warningshow] Show font warnings on the terminal. This
+% corresponds to the usual \LaTeX\ behaviour.
+%
+% \item[nofontinfo] Suppress all font warnings, even from the log file.
+% \end{description}
+%
+%
+%
+% \subsection{Text fonts}
+% The package sets up Times, Helvetica, and Courier as the default
+% text fonts (selected through |\textrm|, |\textsf|, and |\texttt|)
+% unless the text fonts have been explicitly set, e.g., by loading a
+% package like \texttt{newcent} before loading the \texttt{mathtime}
+% package.
+% More exactly the package checks if |\rmdefault| refers to \texttt{cmr}
+% and in that case changes all three defaults.
+%
+% To support a few symbols not available in the Math Time fonts (but
+% normally available with \LaTeX) the \texttt{mathtime} package has to
+% load the the symbol companion font for Times (i.e., the TS1 encoded
+% font).
+% To preserve space we do not load the corresponding package
+% (\texttt{texcomp}) but only declare those characters we do need.
+% If you do want all symbols from this font available in your text load
+% the \texttt{textcomp} package in the preamble. Conversely you
+% may suppress the declaration of these symbols from the TS1 encoded
+% fonts by use of the \texttt{nots1} package option, in which case
+% the default definitions refering to the standard \TeX\ encodings
+% and hence possibly the Computer Modern fonts will be used.
+%
+% \subsection{Provided math alphabets}
+%
+% The package provides be default the five standard math alphabets
+% |\mathrm|, |\mathbf|, |\mathit|, |\mathsf| and |\mathtt| pointing
+% to the document text fonts, the first three to the roman font
+% in normal, bold, and italic, the others to the sans serif and the
+% typewriter font.
+%
+% The |\mathcal| and |\mathbcal| defaults to the Computer Modern
+% calligraphic alphabet but can be modified with options as decribed
+% above.
+%
+% Script alphabets with |\mathscr| and |\mathbscr| are only available
+% if explicitly selected by an option.
+%
+% Alternatively one can select other fonts for |\mathscr| and
+% |\mathcal|, for example, by loading the \texttt{mathpi} package
+% described below.
+% An alternative (although not blending very well) would be the
+% the Euler Script fonts from the AMS font collection which can be
+% loaded as either |\mathcal| or |\mathscr| using the \texttt{eucal}
+% package.
+%
+% A Fraktur alphabet (|\mathfrak|) can be loaded with the
+% \texttt{mathpi} fonts (a good match) or by loading the \texttt{eufrak}
+% package from the AMS font collection.
+%
+%
+% \subsection{Additional or changed symbols}
+%
+% The Math Time fonts contain a small number of additional symbols which
+% are made available by the \texttt{mathtime} package.
+% See the general documentation of the Math Time fonts.
+%
+% \subsection{Font sizes}
+%
+% \LaTeX{} is set up in a way that the user normally uses commands
+% that hide font sizes rather than specifying font sizes explicitly,
+% e.g., instead of |\fontsize{17pt}{19pt}|\allowbreak|\selectfont|
+% a command like |\LARGE| is used (which does in fact a bit more than
+% just setting the font size).
+%
+% It is the task of a document class and not that task of a support
+% package like this one to decide about the absolute sizes used in a
+% document.
+% The task of a package like \texttt{mathtime} is to provide sensible
+% values for math sizes given some text size.
+%
+% The default ratio for script fonts is 0.76
+% and for scriptscript fonts 0.6.
+%
+%
+% \section{The mathpi package}
+%
+% The mathpi package provides support for the Adobe math pi fonts by
+% declaring a number of math alphabets. It can be used independly of the
+% mathtime package. At least one option has to be given, otherwise
+% loading this package will have no effect.
+% \begin{description}
+% \item[mathfrak] Defines |\mathfrak| to refer to the fraktur alphabet
+% from the Math Pi Two font.
+% \item[mathscr] Defines |\mathscr| to refer to the script alphabet
+% from the Math Pi Two font. This needs the font especially encoded,
+% see \texttt{mtfonts.fdd} for details.
+% \item[mathcal] Defines the script alphabet under the math alphabet
+% command usually used for a calligraphic font, otherwise like
+% \texttt{mathscr}.
+% \item[mathbb] Defines |\mathbb| to refer to the blackboard bold math
+% alphabet from Math Pi Six.
+% \end{description}
+%
+%
+% \StopEventually{}
+%
+%
+%
+% \section{The implementation of mathtime}
+%
+% \changes{v0.2}{1996/12/12}
+% {nobold cmbold mtbold and heavybold options}
+% \changes{v0.3}{1996/12/17}
+% {nobold cmbold mtbold and heavybold options}
+% \changes{v0.7}{1997/01/10}
+% {Add font tracing control options}
+% \changes{v0.9}{1997/01/16}
+% {First public release}
+% \changes{v1.0a}{1997/02/14}
+% {First ctan release}
+% \changes{v1.0d}{1997/09/01}
+% {Remove use of double quote hex convention}
+%
+% \subsection{Options}
+%
+% We start with declaring the options. For the (un)slanted greek we need
+% store the shape information in a macro. For the various bold options
+% we use |\boldmath| as a marker since this needs redefinition anyway.
+% \begin{macrocode}
+%<*mathtime>
+\newcommand\greekshape{}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\DeclareOption{slantedgreek}{\renewcommand\greekshape{it}}
+\DeclareOption{uprightgreek}{\renewcommand\greekshape{n}}
+\DeclareOption{nobold}{\let\boldmath=u}
+\DeclareOption{cmbold}{\let\boldmath=c}
+\DeclareOption{mtbold}{\let\boldmath=m}
+\DeclareOption{heavybold}{\let\boldmath=h}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand\enablesubscriptcorrection {\catcode`\_=12\relax}
+\newcommand\disablesubscriptcorrection{\catcode`\_=8\relax}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\DeclareOption{nosubscriptcorrection}{\disablesubscriptcorrection}
+\DeclareOption{subscriptcorrection} {\enablesubscriptcorrection}
+% \end{macrocode}
+%
+% We signal that we want Lucida calligraphic by defining |\mathcal|
+% to be the letter |l|. In a similar fashion we handle |\mathscr|.
+% \begin{macrocode}
+\DeclareOption{cmcal} {\let\mathcal=c}
+\DeclareOption{lucidacal}{\let\mathcal=l}
+\DeclareOption{mtplusscr}{\let\mathscr=s}
+\DeclareOption{mtpluscal}{\let\mathcal=s}
+\DeclareOption{lucidascr}{\let\mathscr=l}
+% \end{macrocode}
+%
+%
+% The use of the mathtime fonts with text fonts encoded in the standard
+% OT1 or T1 encodings leaves a few symbols (section and paragraph marks,
+% and dagger symbols) undefined. By default the TS1 `text companion
+% encoding' will be used to access these symbols, but this option
+% suppresses that. (Leaving you to define these symbols yourself
+% some other way, or to accept the default definitions, from
+% Computer Modern.)
+% \changes{v0.9b}{1997/01/31}
+% {option name change nots1 noTS1}
+% \begin{macrocode}
+\DeclareOption{noTS1} {\let\symtextcomp\relax}
+% \end{macrocode}
+%
+% The next few options control the encoding used for the `operators'
+% font. When using Computer Modern Math fonts an OT1 font must be used
+% even if an alternative encoding, such as T1, is used for the text
+% fonts. This is due to the fact that the default math setup assumes
+% that certain symbols (such as uppercase Greek) are available from the
+% text font used for the operators symbol font. With this package
+% this restriction is not needed as all symbols are accessed from the
+% mathtime fonts.
+% \changes{v0.9b}{1997/01/31}
+% {New options for operator font encoding}
+% By default use the current text encoding.
+% \begin{macrocode}
+\let\operator@encoding\encodingdefault
+% \end{macrocode}
+%
+% Use OT1 encoded `operators' fonts.
+% \begin{macrocode}
+\DeclareOption{OT1}{\def\operator@encoding{OT1}}
+% \end{macrocode}
+%
+% Use T1 encoded `operators' fonts.
+% \begin{macrocode}
+\DeclareOption{T1}{\def\operator@encoding{T1}}
+% \end{macrocode}
+%
+% Use LY1 (The local `texnansi' encoding used by the Y\&Y \TeX\ system)
+% encoded `operators' fonts. This option implies the `noTS1' option
+% as the LY1 encoding includes the dagger and other symbols.
+% \begin{macrocode}
+\DeclareOption{LY1}{\def\operator@encoding{LY1}\ExecuteOptions{noTS1}}
+% \end{macrocode}
+%
+% This package makes a lot of redefinitions. The warnings can be rather
+% annoying so some package options control whether the information
+% is printed to the terminal or log file. More control can be obtained
+% by loading the \textsf{tracefnt} package.
+%
+% Just show font errors; Warning and info to the log file.
+% The default for this package.
+% \begin{macrocode}
+\DeclareOption{errorshow}{%
+ \def\@font@info#1{%
+ \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}%
+ {LaTeX Font Info: \space\space\space#1}}%
+ \def\@font@warning#1{%
+ \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}%
+ {LaTeX Font Warning: #1}}}
+% \end{macrocode}
+%
+% The normal \LaTeX\ default, Font Info to the log file and Font
+% Warning to the terminal.
+% \begin{macrocode}
+\DeclareOption{warningshow}{%
+ \def\@font@info#1{%
+ \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}%
+ {LaTeX Font Info: \space\space\space#1}}%
+ \def\@font@warning#1{%
+ \GenericWarning{(Font)\@spaces\@spaces\@spaces\space\space}%
+ {LaTeX Font Warning: #1}}}
+% \end{macrocode}
+%
+% On some machines writing all the log info may slow things down
+% so extra option not to log font changes at all.
+% \begin{macrocode}
+\DeclareOption{nofontinfo}{%
+ \let\@font@info\@gobble
+ \let\@font@warning\@gobble}
+% \end{macrocode}
+%
+% The defaults:
+% \begin{macrocode}
+\ExecuteOptions{%
+ slantedgreek,nobold,nosubscriptcorrection,cmcal,errorshow}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\ProcessOptions
+% \end{macrocode}
+%
+% If the text font default for roman is CMR we switch to Times,
+% otherwise we assume that the user has already added a package
+% selecting the text font faces.
+% \begin{macrocode}
+\edef\@tempa{\rmdefault}
+\def\@tempb {cmr}
+\ifx\@tempa\@tempb
+ \renewcommand*\sfdefault{phv}
+ \renewcommand*\rmdefault{ptm}
+ \renewcommand*\ttdefault{pcr}
+ \renewcommand*\bfdefault{b}
+\fi
+% \end{macrocode}
+%
+% \subsection{Math Font Declarations}
+%
+% As the Math Time fonts unfortunately do come with their private
+% encoding we need to make those encodings known to \LaTeX.
+% \begin{macrocode}
+\DeclareFontEncoding{MY1}{}{}
+\DeclareFontEncoding{MY2}{}{}
+\DeclareFontEncoding{MY3}{}{}
+\DeclareFontSubstitution{MY1}{mtt}{m}{it}
+\DeclareFontSubstitution{MY2}{mtt}{m}{n}
+\DeclareFontSubstitution{MY3}{mtt}{m}{n}
+% \end{macrocode}
+%
+% Not clear if we should use |\rmdefault| or fix the operator symbol
+% font to Times --- probably the latter.
+%
+% The main four symbol fonts are already declared in the \LaTeX{}
+% format. Thus we don't need to declare them but simply change he
+% relevant slots in the normal and bold math version.
+%
+% \changes{v0.9b}{1997/01/31}
+% {Dont force OT1 encoding for operators}
+% \begin{macrocode}
+%\DeclareSymbolFont{operators} {\operator@encoding}{\rmdefault}{m}{n}
+%\DeclareSymbolFont{letters} {MY1}{mtt}{m}{it}
+%\DeclareSymbolFont{symbols} {MY2}{mtt}{m}{n}
+%\DeclareSymbolFont{largesymbols}{MY3}{mtt}{m}{n}
+% \end{macrocode}
+%
+% The normal weight fonts are availble by default.
+% \begin{macrocode}
+\SetSymbolFont{operators} {normal}{\operator@encoding}{ptm}{m}{n}
+\SetSymbolFont{letters} {normal}{MY1}{mtt}{m}{it}
+\SetSymbolFont{symbols} {normal}{MY2}{mtt}{m}{n}
+\SetSymbolFont{largesymbols}{normal}{MY3}{mtt}{m}{n}
+% \end{macrocode}
+%
+% If the |cmbold| package option is specified then the
+% Computer Modern Bold math fonts will be used (as is the
+% normal \LaTeX\ default). The mathtime fonts are \emph{differently}
+% encoded, and so the use of this option may produce some incorrect
+% characters (with no warning). However it may be useful if the
+% `mathtime plus' bold fonts are not available, and a few bold
+% symbols are needed for special circumstances. (However CM bold
+% is not much bolder than mathtime normal weight, and is not really
+% visually compatible).
+% \begin{macrocode}
+\ifx\boldmath c
+ \SetSymbolFont{operators} {bold}{\operator@encoding}{cmr}{bx}{n}
+ \SetSymbolFont{letters} {bold}{OML}{cmm}{b}{it}
+ \SetSymbolFont{symbols} {bold}{OMS}{cmsy}{b}{n}
+ \SetSymbolFont{largesymbols}{bold}{MY3}{mtt}{m}{n}
+\PackageWarningNoLine{mathtime}
+ {The use of the `cmbold' option will result\MessageBreak
+ in incorrect characters in some circumstances\MessageBreak
+ without any warning as the Math Time fonts and the\MessageBreak
+ Computer Modern fonts have incompatible encodings.\MessageBreak
+ Please use this option with care!\@gobble}
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \renewcommand\boldmath{\@nomath\boldmath\mathversion{bold}}
+ \let\heavymath\boldmath
+\fi
+% \end{macrocode}
+%
+% This is the default behaviour for this package, |\boldmath| is
+% not available. As it is no longer available save some space
+% by removing it from the internal list of math versions.
+% (Then waste most of the saving on the text of an error message.)
+% \begin{macrocode}
+\ifx\boldmath u
+ \let\@tempa\version@elt
+ \def\version@elt#1{%
+ \ifx\mv@bold#1\else\noexpand\version@elt\noexpand#1\fi}
+ \edef\version@list{\version@list}
+ \let\version@elt\@tempa
+ \let\mv@bold\@undefined
+ \renewcommand\boldmath{\PackageError{mathtime}%
+ {Bold math is not supported}%
+ {Use cmbold or mtbold options}}
+ \let\heavymath\boldmath
+\fi
+% \end{macrocode}
+%
+% If the bold (and heavy) mathtime fonts are available then they
+% can be assigned to the appropriate math versions by specifying the
+% |mtbold| package option.
+% \begin{macrocode}
+\ifx\boldmath m
+ \SetSymbolFont{operators}{bold}{\operator@encoding}{\rmdefault}{b}{n}
+ \SetSymbolFont{letters} {bold}{MY1}{mtt}{b}{\greekshape}
+ \SetSymbolFont{symbols} {bold}{MY2}{mtt}{b}{n}
+ \SetSymbolFont{largesymbols}{bold}{MY3}{mtt}{b}{n}
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \DeclareMathVersion{heavy}
+ \SetSymbolFont{operators}{heavy}{\operator@encoding}{\rmdefault}{b}{n}
+ \SetSymbolFont{letters} {heavy}{MY1}{mtt}{ub}{\greekshape}
+ \SetSymbolFont{symbols} {heavy}{MY2}{mtt}{ub}{n}
+ \SetSymbolFont{largesymbols}{heavy}{MY3}{mtt}{ub}{n}
+% \end{macrocode}
+%
+% \changes{v0.9a}{1997/01/17}
+% {Redeclare colon etc to the symbols font}
+% As the bold font is available, use these symbols from
+% the symbols font rather than operators, so they are made
+% bold by |\boldmath|.
+% \begin{macrocode}
+ \DeclareMathSymbol{:}{\mathrel}{symbols}{86}
+ \DeclareMathSymbol{!}{\mathclose}{symbols}{87}
+ \DeclareMathSymbol{[}{\mathopen}{symbols}{84}
+ \DeclareMathSymbol{]}{\mathclose}{symbols}{85}
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \renewcommand\boldmath{\@nomath\boldmath\mathversion{bold}}
+ \newcommand\heavymath{\@nomath\heavymath\mathversion{heavy}}
+\fi
+% \end{macrocode}
+%
+% Alternatively, you may specify the |heavybold| option, which
+% instead of having a `heavy' math version, places the heavy
+% fonts in the `bold' math version, to get greater visual
+% contrast.
+% \begin{macrocode}
+\ifx\boldmath h
+ \SetSymbolFont{operators}{bold}{\operator@encoding}{\rmdefault}{b}{n}
+ \SetSymbolFont{letters} {bold}{MY1}{mtt}{ub}{\greekshape}
+ \SetSymbolFont{symbols} {bold}{MY2}{mtt}{ub}{n}
+ \SetSymbolFont{largesymbols}{bold}{MY3}{mtt}{ub}{n}
+% \end{macrocode}
+%
+% As above, use these symbols from
+% the symbols font rather than operators, so they are made
+% bold by |\boldmath|.
+% \begin{macrocode}
+ \DeclareMathSymbol{:}{\mathrel}{symbols}{86}
+ \DeclareMathSymbol{!}{\mathclose}{symbols}{87}
+ \DeclareMathSymbol{[}{\mathopen}{symbols}{84}
+ \DeclareMathSymbol{]}{\mathclose}{symbols}{85}
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \renewcommand\boldmath{\@nomath\boldmath\mathversion{bold}}
+ \let\heavymath\boldmath
+\fi
+% \end{macrocode}
+%
+%
+% \subsection{Math alphabet declarations}
+%
+% The standard alphabets first.
+%
+% We don't have to declare |\mathrm| as \LaTeX{} declares it as
+% a math symbol alphabet pointing to ``operators'' symbol font.
+% But if we redeclare it it will then use the text fonts which might
+% not be Times.
+%
+% As standard \LaTeX{} provides a couple of alphabets we better change
+% them all \ldots
+% \begin{macrocode}
+\SetMathAlphabet{\mathrm}{normal}{\encodingdefault}{\rmdefault}{m}{n}
+\SetMathAlphabet{\mathbf}{normal}{\encodingdefault}{\rmdefault}{b}{n}
+\SetMathAlphabet{\mathit}{normal}{\encodingdefault}{\rmdefault}{m}{it}
+\SetMathAlphabet{\mathsf}{normal}{\encodingdefault}{\sfdefault}{m}{n}
+\SetMathAlphabet{\mathtt}{normal}{\encodingdefault}{\ttdefault}{m}{n}
+% \end{macrocode}
+%
+% If a bold or heavy version exists add appropriate values.
+% Right now |\mathbf| is the same in all versions.
+% \begin{macrocode}
+\ifx\mv@bold\@undefined
+\else
+ \SetMathAlphabet{\mathrm}{bold} {\encodingdefault}{\rmdefault}{b}{n}
+ \SetMathAlphabet{\mathbf}{bold} {\encodingdefault}{\rmdefault}{b}{n}
+ \SetMathAlphabet{\mathit}{bold} {\encodingdefault}{\rmdefault}{b}{it}
+ \SetMathAlphabet{\mathsf}{bold} {\encodingdefault}{\sfdefault}{b}{n}
+% \end{macrocode}
+% If the typewriter is Computer Modern the next declaration will revert
+% to normal (with a warning) but such is life.
+% \begin{macrocode}
+ \SetMathAlphabet{\mathtt}{bold} {\encodingdefault}{\ttdefault}{b}{n}
+\fi
+% \end{macrocode}
+%
+% \begin{macrocode}
+\ifx\mv@heavy\@undefined
+\else
+ \SetMathAlphabet{\mathrm}{heavy}{\encodingdefault}{\rmdefault}{b}{n}
+ \SetMathAlphabet{\mathbf}{heavy}{\encodingdefault}{\rmdefault}{b}{n}
+ \SetMathAlphabet{\mathit}{heavy}{\encodingdefault}{\rmdefault}{b}{it}
+ \SetMathAlphabet{\mathsf}{heavy}{\encodingdefault}{\sfdefault}{b}{n}
+ \SetMathAlphabet{\mathtt}{heavy}{\encodingdefault}{\ttdefault}{b}{n}
+\fi
+% \end{macrocode}
+%
+% \subsubsection{Script alphabets}
+%
+% If the \texttt{mtplusscr} option was selected
+% we make |\mathscr| point to Spivak's script font.
+%
+% Declaring the bold version first takes care of bold and heavy
+% version.
+% So far this doesn't allow for alternatives but I think the best
+% solution here would be to provide input ligatures \texttt{*A}
+% etc.\ in the font itself. However as \TeX{} doesn't handle math
+% accents correctly in that case that idea might not be so good after
+% all.
+% Perhaps defining a |\variant| command might be better, e.g.,
+% |\mathscr{\variant A}| --- we'll see.
+% \changes{v1.0b}{1997/02/24}
+% {clear existing definitions of \cs{mathscr} and \cs{mathcal}}
+% \begin{macrocode}
+\ifx\mathscr s
+ \let\mathscr\relax
+ \DeclareMathAlphabet\mathscr{U} {mtms}{b}{n}
+ \SetMathAlphabet \mathscr{normal}{U}{mtms}{m}{n}
+% \end{macrocode}
+%
+% The |\mathbscr| is bold in all versions.
+% \begin{macrocode}
+ \DeclareMathAlphabet\mathbscr{U}{mtms}{b}{n}
+\fi
+% \end{macrocode}
+%
+% If \texttt{lucidascr} was selected we put the Lucida calligraphic
+% font in |\mathscr|:
+% \begin{macrocode}
+\ifx\mathscr l
+ \let\mathscr\relax
+ \DeclareMathAlphabet{\mathscr} {OMS}{lby}{b}{n}
+ \SetMathAlphabet {\mathscr}{normal} {OMS}{lby}{m}{n}
+% \end{macrocode}
+% |\mathbscr| will be bold in all math versions.
+% \begin{macrocode}
+ \DeclareMathAlphabet{\mathbscr} {OMS}{lby}{b}{n}
+\fi
+% \end{macrocode}
+%
+% \subsubsection{Calligraphic alphabets}
+%
+% If the \texttt{lucidacal} option was selected we set up |\mathcal|.
+% \begin{macrocode}
+\ifx\mathcal l
+ \let\mathcal\relax
+ \DeclareMathAlphabet{\mathcal} {OMS}{lby}{b}{n}
+ \SetMathAlphabet {\mathcal}{normal} {OMS}{lby}{m}{n}
+% \end{macrocode}
+% |\mathbcal| will be bold in all math versions.
+% \begin{macrocode}
+ \DeclareMathAlphabet{\mathbcal} {OMS}{lby}{b}{n}
+\fi
+% \end{macrocode}
+%
+% The code below refers to the \texttt{mtpluscal} option:
+% \begin{macrocode}
+\ifx\mathcal s
+ \let\mathcal\relax
+ \DeclareMathAlphabet\mathcal{U} {mtms}{b}{n}
+ \SetMathAlphabet \mathcal{normal}{U}{mtms}{m}{n}
+% \end{macrocode}
+%
+% The |\mathbcal| is bold in all versions.
+% \begin{macrocode}
+ \DeclareMathAlphabet\mathbcal{U}{mtms}{b}{n}
+\fi
+% \end{macrocode}
+% The code below will be used if no calligraphic option has been
+% selected. We need to redeclare that alphabet as by default it points
+% to the symbols alphabet that in case of the Math Time fonts simply
+% doesn't contain a math alphabet any longer.
+% \begin{macrocode}
+\ifx\mathcal c
+ \let\mathcal\relax
+ \DeclareMathAlphabet\mathcal{OMS} {cmsy}{b}{n}
+ \SetMathAlphabet \mathcal{normal}{OMS}{cmsy}{m}{n}
+% \end{macrocode}
+%
+% The |\mathbcal| is bold in all versions.
+% \begin{macrocode}
+ \DeclareMathAlphabet\mathbcal{OMS} {cmsy}{b}{n}
+
+\fi
+% \end{macrocode}
+%
+% \subsection{Math Symbol Declarations}
+%
+% In MathT\i me, italic upper case Greek found in math italic font
+% and we don't make them changable with the font.
+% \begin{macrocode}
+\DeclareMathSymbol\Gamma {\mathord}{letters}{48}
+\DeclareMathSymbol\Delta {\mathord}{letters}{49}
+\DeclareMathSymbol\Theta {\mathord}{letters}{50}
+\DeclareMathSymbol\Lambda {\mathord}{letters}{51}
+\DeclareMathSymbol\Xi {\mathord}{letters}{52}
+\DeclareMathSymbol\Pi {\mathord}{letters}{53}
+\DeclareMathSymbol\Sigma {\mathord}{letters}{54}
+\DeclareMathSymbol\Upsilon{\mathord}{letters}{55}
+\DeclareMathSymbol\Phi {\mathord}{letters}{56}
+\DeclareMathSymbol\Psi {\mathord}{letters}{57}
+\DeclareMathSymbol\Omega {\mathord}{letters}{127}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\DeclareMathSymbol\varGamma {\mathord}{letters}{0}
+\DeclareMathSymbol\varDelta {\mathord}{letters}{1}
+\DeclareMathSymbol\varTheta {\mathord}{letters}{2}
+\DeclareMathSymbol\varLambda {\mathord}{letters}{3}
+\DeclareMathSymbol\varXi {\mathord}{letters}{4}
+\DeclareMathSymbol\varPi {\mathord}{letters}{5}
+\DeclareMathSymbol\varSigma {\mathord}{letters}{6}
+\DeclareMathSymbol\varUpsilon {\mathord}{letters}{7}
+\DeclareMathSymbol\varPhi {\mathord}{letters}{8}
+\DeclareMathSymbol\varPsi {\mathord}{letters}{9}
+\DeclareMathSymbol\varOmega {\mathord}{letters}{10}
+% \end{macrocode}
+% The next setting all need to be checked for correctness
+% (with a test file).
+% Those settings where I think the \LaTeX{} defaults are the same, are
+% commented out.
+%
+% \begin{macrocode}
+\DeclareMathSymbol{(}{\mathopen}{letters}{46} % was 028
+\DeclareMathSymbol{)}{\mathclose}{letters}{47} % was 029
+% \end{macrocode}
+%
+% Not sure this version of |\DeclareMathDelimiter| is documented or
+% used anywhere, but like |\DeclareMathSymbol| it can take
+% a character token (and one less argument).
+% \changes{v0.2}{1996/12/12}{use \cs{DeclareMathDelimiter}}
+% \begin{macrocode}
+\DeclareMathDelimiter{(}{letters}{46}{largesymbols}{0}
+\DeclareMathDelimiter{)}{letters}{47}{largesymbols}{1}
+% \end{macrocode}
+%
+% \begin{macrocode}
+%\DeclareMathSymbol{.}{\mathord}{letters}{58}
+%\DeclareMathSymbol{,}{\mathpunct}{letters}{59}
+%\DeclareMathSymbol{\ldotp}{\mathpunct}{letters}{58}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\DeclareMathSymbol{\triangleleft}{\mathbin}{symbols}{71} % was 12F
+\DeclareMathSymbol{\triangleright}{\mathbin}{symbols}{70} % was 12E
+% \end{macrocode}
+%
+% \changes{v0.9c}{1997/02/07}
+% {Add \cs{varkappa}}
+% \begin{macrocode}
+\DeclareMathSymbol{\comp}{\mathbin}{symbols}{66} % new?
+\DeclareMathSymbol{\setdif}{\mathbin}{symbols}{88} % new
+\DeclareMathSymbol{\cupprod}{\mathbin}{symbols}{89} % new
+\DeclareMathSymbol{\capprod}{\mathbin}{symbols}{90} % new
+\DeclareMathSymbol{+}{\mathbin}{symbols}{67} % was 02B
+\DeclareMathSymbol{=}{\mathrel}{symbols}{68} % was 03D
+\let\Relbar\@undefined
+\DeclareMathSymbol{\Relbar}{\mathrel}{symbols}{72} % was a macro
+\DeclareMathSymbol{;}{\mathpunct}{symbols}{73} % was 13B
+\DeclareMathSymbol{\varkappa}{\mathord}{letters}{126} % new (AMS)
+% \end{macrocode}
+%
+% We make all accents |\mathord|; as they are placed in strange
+% positions it is really not feasible to support changing them.
+% \begin{macrocode}
+\DeclareMathAccent{\vec}{\mathord}{symbols}{69}
+\DeclareMathAccent{\grave}{\mathord}{symbols}{74}
+\DeclareMathAccent{\acute}{\mathord}{symbols}{75}
+\DeclareMathAccent{\check}{\mathord}{symbols}{76}
+\DeclareMathAccent{\breve}{\mathord}{symbols}{77}
+\DeclareMathAccent{\bar}{\mathord}{symbols}{78}
+\DeclareMathAccent{\hat}{\mathord}{symbols}{79}
+\DeclareMathAccent{\dot}{\mathord}{symbols}{80}
+\DeclareMathAccent{\tilde}{\mathord}{symbols}{81}
+\DeclareMathAccent{\ddot}{\mathord}{symbols}{82}
+\DeclareMathAccent{\widebar}{\mathord}{symbols}{83} % new
+% \end{macrocode}
+%
+% Next two are the same as in standard \LaTeX{}.
+% \begin{macrocode}
+%\DeclareMathAccent{\widetilde}{\mathord}{largesymbols}{101}
+%\DeclareMathAccent{\widehat}{\mathord}{largesymbols}{98}
+% \end{macrocode}
+%
+% \subsection{AMS double accent commands}
+%
+% Unfortunately the AMS double accent commands such as |\Hat|
+% assume that the math accents come from an `OT1' encoded
+% font in the `operators' math symbol font. To use
+% these commands with mathtime you may need to place code
+% such as the following into a package file and load that after
+% loading the \textsf{amsmath} package. This section is commented out
+% here as it would not work without several other sections of
+% \textsf{amsmath}, and a future release of the AMS package may anyway
+% remove some of these encoding assumptions.
+%
+%\begin{verbatim}
+% \def\@math@ccent#1#2#3{%
+% \RIfM@
+% \xdef\thefam@{\ifnum\mathgroup=\m@ne1\else\the\mathgroup\fi}%
+% \accentdimen@\z@
+% \setboxz@h{\unbracefonts@$\m@th\mathgroup\thefam@\relax#3$}%
+% \ifdim\accentdimen@=\z@\DN@{#2{#3}}%
+% \setbox\@ne\hbox{\unbracefonts@
+% $\m@th\mathgroup\thefam@\relax#3\theskewchar@$}
+% \setbox\tw@\hbox{$\m@th\ifnum\skewcharcount@=\m@ne\else
+% \mathchar\skewcharcount@\fi$}%
+% \global\accentdimen@\wd\@ne\global\advance\accentdimen@-\wdz@
+% \global\advance\accentdimen@-\wd\tw@
+% \global\multiply\accentdimen@\tw@
+% \dimentomu@\global\advance\accentmu@\@ne
+% \else\DN@{{#2{#3\mkern\accentmu@ mu}%
+% \mkern-\accentmu@ mu}{}}\fi
+% \next@
+% \else
+% \nonmatherr@#1%
+% \fi}
+%
+%
+% \def\Hat{\@math@ccent\Hat\hat}
+% \def\Dot{\@math@ccent\Dot\dot}
+% \def\Check{\@math@ccent\Check\check}
+% \def\Tilde{\@math@ccent\Tilde\tilde}
+% \def\Acute{\@math@ccent\Acute\acute}
+% \def\Grave{\@math@ccent\Grave\grave}
+% \def\Dot{\@math@ccent\Dot\dot}
+% \def\Ddot{\@math@ccent\Ddot\ddot}
+% \def\Breve{\@math@ccent\Breve\breve}
+% \def\Bar{\@math@ccent\Bar\bar}
+% \def\Vec{\@math@ccent\Vec\vec}
+%\end{verbatim}
+%
+% \subsection{Math font sizes}
+%
+% Math Time, like most other type 1 fonts uses the same font at all
+% sizes. For such fonts the default ratios (.7 and .5) produce
+% unreadably small superscripts.
+% \begin{macrocode}
+\def\defaultscriptratio{.76}
+\def\defaultscriptscriptratio{.6}
+% \end{macrocode}
+%
+% These default ratios are not used for any sizes that have been
+% explicitly declared, so redeclare the sizes used by the standard
+% classes. At least for the lower sizes this is important as we don't
+% want to end up with a 5pt font being reduced even further.
+%
+% The table below might need some further tweaking. I selected the
+% numbers partly on a few visual tests (but not many) and partly on the
+% idea that resusing sizes is better than introducing many new
+% ones. Even with Type~1 fonts many people will produce pk versions of
+% the fonts in their document (using gftopk, for example).
+%
+% \begin{macrocode}
+\DeclareMathSizes{5} {6} {6} {6}
+\DeclareMathSizes{6} {6} {6} {6}
+\DeclareMathSizes{7} {6.8} {6} {6}
+\DeclareMathSizes{8} {8} {6.8}{6}
+\DeclareMathSizes{9} {9} {7.6}{6}
+\DeclareMathSizes{10} {10} {7.6}{6}
+\DeclareMathSizes{10.95}{10.95}{7.6}{6}
+\DeclareMathSizes{12} {12} {9} {7}
+\DeclareMathSizes{14.4} {14.4} {10} {8}
+\DeclareMathSizes{17.28}{17.28}{12} {9}
+\DeclareMathSizes{20.74}{20.74}{14.4}{10}
+\DeclareMathSizes{24.88}{24.88}{17.28}{12}
+% \end{macrocode}
+%
+%
+% \subsection{Strange Commands}
+% |\vdots| and |\ddots| take their ``dots'' from the math fonts.
+% In fact this is something that should be corrected in base format
+% of \LaTeX{} as well.
+%
+% \begin{macrocode}
+\newcommand\hb@xmdot{\hbox{$\m@th.$}}
+\def\vdots{\vbox{\baselineskip4\p@ \lineskiplimit\z@
+ \kern6\p@\hb@xmdot\hb@xmdot\hb@xmdot}}
+\def\ddots{\mathinner{\mkern1mu\raise7\p@\vbox{\kern7\p@
+ \hb@xmdot}\mkern2mu
+ \raise4\p@\hb@xmdot\mkern2mu\raise\p@\hb@xmdot\mkern1mu}}
+% \end{macrocode}
+%
+% |\angle| needs a thicker horizontal rule (what a mess).
+%
+% \begin{macrocode}
+\def\angle{{\vbox{\ialign{$\m@th\scriptstyle##$\crcr
+ \not\mathrel{\mkern14mu}\crcr
+ \noalign{\nointerlineskip}%
+ \mkern2.5mu%
+ \leaders\hrule\@height.48\p@\hfill\mkern2.5mu\crcr}}}}
+% \end{macrocode}
+%
+% Awful many tokens are wasted to define to lower horizontal bar in
+% |\hbar|. The definition below uses \={} from the symbol font to
+% avoid problems with different text encodings in the operators
+% font.
+% \changes{v0.2}{1996/12/12}{save a few tokens here}
+% \changes{v0.9b}{1997/01/31}
+% {New \cs{hbar} getting bar from symbol font not operators}
+% \changes{v1.0e}{1997/10/10}{Make \cs{hbar} robust}
+% \begin{macrocode}
+\DeclareRobustCommand\hbar{{%
+ \dimen@.12em%
+ \dimen@ii.1em%
+ \def\@tempa##1##2{{%
+ \lower##1\dimen@\rlap{\kern##1\dimen@ii\the##2\tw@\char78}}}%
+ \mathchoice\@tempa\@ne\textfont
+ \@tempa\@ne\textfont
+ \@tempa\defaultscriptratio\scriptfont
+ \@tempa\defaultscriptscriptratio\scriptscriptfont
+ h}}
+% \end{macrocode}
+%
+% Redefine |\@fnsymbol| to use |\mathsection| and |\mathparagraph|
+% (Should be done in base \LaTeX\ as well).
+% \changes{v1.0c}{1997/03/14}
+% {Make footnote symbols work with other encodings}
+% \begin{macrocode}
+\def\@fnsymbol#1{\ensuremath{\ifcase#1\or *\or \dagger\or \ddagger\or
+ \mathsection\or \mathparagraph\or \|\or **\or \dagger\dagger
+ \or \ddagger\ddagger \else\@ctrerr\fi}}
+% \end{macrocode}
+%
+% Wasting a full symbol font just to have |\dagger| and friends. Here
+% we pay part of the price for fact that the math time fonts have their
+% own encoding incompatible with the CM fonts.
+%
+% If the |noTS1| option is used, this whole section is skipped unless
+% LY1 or T1 encodings are being used, in which case the symbols can be
+% accessed from the operators font.
+% \begin{macrocode}
+\ifx\symtextcomp\relax
+ \def\@tempa{LY1}
+ \ifx\operator@encoding\@tempa
+ \DeclareMathSymbol\dagger {\mathbin}{operators}{134}
+ \DeclareMathSymbol\ddagger{\mathbin}{operators}{135}
+ \DeclareMathSymbol\mathsection{\mathord}{operators}{'247}
+ \DeclareMathSymbol\mathparagraph{\mathord}{operators}{'266}
+ \DeclareMathSymbol\mathsterling{\mathord}{operators}{163}
+ \let\mathunderscore\@undefined
+ \DeclareMathSymbol\mathunderscore{\mathord}{operators}{95}
+ \fi
+% \end{macrocode}
+% If we have T1 encoded operators but are nt using TS1 can at least
+% get pounds sign and underscore, but not dagger etc.
+% \begin{macrocode}
+ \def\@tempa{T1}
+ \ifx\operator@encoding\@tempa
+ \DeclareMathSymbol\mathsterling{\mathord}{operators}{191}
+ \let\mathunderscore\@undefined
+ \DeclareMathSymbol\mathunderscore{\mathord}{operators}{95}
+ \fi
+% \end{macrocode}
+%
+% \begin{macrocode}
+\else
+ \DeclareFontEncoding{TS1}{}{}
+ \DeclareSymbolFont{textcomp}{TS1}{ptm}{m}{n}
+ \ifx\mv@bold\@undefined
+ \else
+ \SetSymbolFont {textcomp}{bold}{TS1}{ptm}{b}{n}
+ \fi
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \ifx\mv@heavy\@undefined
+ \else
+ \SetSymbolFont {textcomp}{heavy}{TS1}{ptm}{b}{n}
+ \fi
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \DeclareMathSymbol\dagger {\mathbin}{textcomp}{'204}
+ \DeclareMathSymbol\ddagger{\mathbin}{textcomp}{'205}
+% \end{macrocode}
+%
+% The math versions for \textsection{} and \textparagraph{}
+% are also not in the symbol fonts so we pick them up as well.
+% \begin{macrocode}
+ \DeclareMathSymbol\mathsection{\mathord}{textcomp}{'247}
+ \DeclareMathSymbol\mathparagraph{\mathord}{textcomp}{'266}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\fi
+% \end{macrocode}
+%
+% \subsection{Encoding Specific Text Commands}
+%
+% Some encoding specific commands default to the OML or OMS encoding.
+% As these encodings are not used with this package, we need to change
+% the defaults.
+%
+% These ones used to default to OML
+% \begin{macrocode}
+\DeclareTextSymbolDefault{\textless}{MY1}
+\DeclareTextSymbolDefault{\textgreater}{MY1}
+\DeclareTextAccentDefault{\t}{MY2}
+% \end{macrocode}
+%
+% Important is to not only set the default the default but also declare
+% the symbols itself. If this is forgotten calling the command will
+% generate a loop. Or to quote David:
+% \begin{quote}
+% [hmm, otherwise you waste an hour or two staring at |\tracingall|
+% output trying to work out what the heck is happening:-]
+% \end{quote}
+%
+% \begin{macrocode}
+\DeclareTextSymbol{\textless}{MY1}{`\<}
+\DeclareTextSymbol{\textgreater}{MY1}{`\>}
+\DeclareTextAccent{\t}{MY2}{65}
+% \end{macrocode}
+%
+% These ones used to default to OMS
+% \begin{macrocode}
+\DeclareTextSymbolDefault{\textasteriskcentered}{MY2}
+\DeclareTextSymbolDefault{\textbackslash}{MY2}
+\DeclareTextSymbolDefault{\textbar}{MY2}
+\DeclareTextSymbolDefault{\textbraceleft}{MY2}
+\DeclareTextSymbolDefault{\textbraceright}{MY2}
+\DeclareTextSymbolDefault{\textbullet}{MY2}
+\DeclareTextSymbolDefault{\textperiodcentered}{MY2}
+\DeclareTextAccentDefault{\textcircled}{MY2}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\DeclareTextSymbol{\textasteriskcentered}{MY2}{3}
+\DeclareTextSymbol{\textbackslash}{MY2}{110}
+\DeclareTextSymbol{\textbar}{MY2}{106}
+\DeclareTextSymbol{\textbraceleft}{MY2}{102}
+\DeclareTextSymbol{\textbraceright}{MY2}{103}
+\DeclareTextSymbol{\textbullet}{MY2}{15}
+\DeclareTextSymbol{\textperiodcentered}{MY2}{1}
+\DeclareTextCommand{\textcircled}{MY2}[1]{{%
+ \ooalign{%
+ \hfil \raise .07ex\hbox {\upshape#1}\hfil \crcr
+ \char13}}}
+% \end{macrocode}
+%
+% These also normally default to OMS, but are not available
+% in MY1 or MY2, so get them from the TS1 encoded font.
+% \begin{macrocode}
+\ifx\symtextcomp\relax
+\else
+ \DeclareTextSymbolDefault{\textsection}{TS1}
+ \DeclareTextSymbolDefault{\textparagraph}{TS1}
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \DeclareTextSymbol{\textsection}{TS1}{'247}
+ \DeclareTextSymbol{\textparagraph}{TS1}{'266}
+\fi
+% \end{macrocode}
+%
+%
+% \subsection{Subscript correction}
+%
+% We provide a definition for |_| as active character. This definition
+% in itself is not changing \LaTeX's behaviour as by default |_| has
+% catcode 8, i.e., subscript character. Only if we change this catcode
+% or if we change the |\mathcode| of |_| \TeX{} is going to look at it.
+% \begin{macrocode}
+\begingroup
+ \catcode`\_=13
+ \gdef_#1{\sb{\test@sb#1}}
+\endgroup
+% \end{macrocode}
+%
+% The |\test@sb| gets passed the argument of a subscript and tests with
+% |\@ifnextchar| if the first non-space token is a \texttt{p}.
+% If not it will look at |\@let@token| (set by |\@ifnextchar|) to see
+% if it is perhaps \texttt{j} or \texttt{f}. In each case it will add
+% a negative kern.
+%
+% Note that this test will fail if an old \LaTeX{} is used as the old
+% definition of |\@ifnextchar| does not use |\@let@token| but
+% |\@tempa|.
+% However, the worst that would happen is that the kern is not
+% inserted. I tried to trap this by requesting a \LaTeX{} not older
+% than 1995/01/01.
+% \begin{macrocode}
+\def\test@sb{%
+ \@ifnextchar p%
+ {\mkern\m@ne mu}%
+ {\ifx\@let@token j%
+ \mkern-\tw@ mu%
+ \else
+ \ifx\@let@token f%
+ \mkern-\tw@ mu%
+ \fi
+ \fi}}
+% \end{macrocode}
+%
+% Finally we set the |\mathcode| of |_| to ``active''. However, as long
+% as its |\catcode| is not changed this |\mathcode| is never looked at,
+% in other words we can now turn the feature on and off by changing the
+% |\catcode| to |12| (that is done in the option section above).
+% \begin{macrocode}
+\mathcode`\_=\string"8000
+% \end{macrocode}
+%
+%
+%
+% \begin{macrocode}
+%</mathtime>
+% \end{macrocode}
+%
+%
+%
+%
+% \section{Math Pi}
+%
+% This package consist only of options declaring math alphabets:
+% \begin{macrocode}
+%<*mathpi>
+\DeclareOption{mathfrak}{%
+ \DeclareMathAlphabet\mathfrak{U}{mh2}{m}{n}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\DeclareOption{mathcal}{%
+ \DeclareMathAlphabet\mathcal{U}{mh2scr}{m}{n}}
+\DeclareOption{mathscr}{%
+ \DeclareMathAlphabet\mathscr{U}{mh2scr}{m}{n}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\DeclareOption{mathbb}{%
+ \DeclareMathAlphabet\mathbb{U}{mh6}{m}{n}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\ProcessOptions
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</mathpi>
+% \end{macrocode}
+%
+% \subsection{Unused Declarations}
+% The following declarations may be extracted from this source
+% file, but they are not used in the \textsf{mathpi} package
+% as equivalent code is called in the options section.
+% \begin{macrocode}
+%<*mpifrak>
+\DeclareMathAlphabet\mathfrak{U}{mh2}{m}{n}
+%</mpifrak>
+%
+%<*mpiscr>
+\DeclareMathAlphabet\mathscr{U}{mh2scr}{m}{n}
+%</mpiscr>
+%
+%<*mpibb>
+\DeclareMathAlphabet\mathbb{U}{mh6}{m}{n}
+%</mpibb>
+% \end{macrocode}
+%
+% \Finale
+%
+
diff --git a/texmf-dist/source/latex/mathtime-ltx/mathtime.ins b/texmf-dist/source/latex/mathtime-ltx/mathtime.ins
new file mode 100644
index 00000000..58d40f93
--- /dev/null
+++ b/texmf-dist/source/latex/mathtime-ltx/mathtime.ins
@@ -0,0 +1,84 @@
+%% Copyright 1996 1997 Frank Mittelbach David Carlisle
+%%
+%% Development of this package was commissioned by Y&Y Inc.
+%% http://www.yandy.com
+
+\def\batchfile{mathtime.ins}
+\input docstrip.tex
+\preamble
+\endpreamble
+
+\def\writefd#1{\lowercase{\generateFile{#1}{f}}}
+\def\mtplus{mtplus}
+
+
+%%%% IMPORTANT NOTE %%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%
+% If your LaTeX is older than 1996/12/01 then uncomment this
+% line to write the file names as `mixed case' if you are
+% using a case sensitive system such as UNIX.
+%
+%\def\writefd#1{\generateFile{#1}{f}}
+%
+%%%% IMPORTANT NOTE %%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%
+% If you have the `basic' MathTime font set, and *not*
+% the extended MathTime Plus (or MathTime Complete) set
+% then you should uncomment this line so that LaTeX does
+% not attempt to access bold math fonts, or the new MTSYN
+% font.
+%
+%\def\mtplus{}
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\keepsilent
+
+\Msg{*** Generating .fd files using Mathtime fonts ***}
+
+\writefd{MY1mtt.fd}{\from{mtfonts.fdd}{MY1mtt,\mtplus}}
+
+\writefd{MY2mtt.fd}{\from{mtfonts.fdd}{MY2mtt,\mtplus}}
+
+\writefd{MY3mtt.fd}{\from{mtfonts.fdd}{MY3mtt,\mtplus}}
+
+% mathtime plus script
+
+\writefd{Umtms.fd}{\from{mtfonts.fdd}{Umtms}}
+
+% Adobe Math Pi Two for Fraktur and Script alphabets
+
+\writefd{Umh2.fd}{\from{mtfonts.fdd}{Umh2}}
+
+\writefd{Umh2scr.fd}{\from{mtfonts.fdd}{Umh2Scr}}
+
+% Adobe Math Pi Six for Blackboard Bold alphabet
+
+\writefd{Umh6.fd}{\from{mtfonts.fdd}{Umh6}}
+
+% Lucida New Math Symbol for Calligraphy alphabet
+
+\writefd{OMSlby.fd}{\from{mtfonts.fdd}{lucidascale,OMSlby}}
+
+
+\Msg{*** Generating packages for Mathtime fonts ***}
+
+\generateFile{mathpi.sty}{f}{\from{mathtime.dtx}{package,mathpi}}
+
+\generateFile{mathtime.sty}{f}{\from{mathtime.dtx}{package,mathtime}}
+
+
+\Msg{*** Generating Encoding file for Math Pi Two font ***}
+
+\postamble
+\endpostamble
+% the encoding file to reencode the Pi Two font
+
+\generateFile{mh2scr.enc}{f}{\from{mtfonts.fdd}{mh2screnc}}
+
+
diff --git a/texmf-dist/source/latex/mathtime-ltx/mtfonts.fdd b/texmf-dist/source/latex/mathtime-ltx/mtfonts.fdd
new file mode 100644
index 00000000..b4916754
--- /dev/null
+++ b/texmf-dist/source/latex/mathtime-ltx/mtfonts.fdd
@@ -0,0 +1,260 @@
+%
+% \iffalse
+%% Copyright 1996 1997 Frank Mittelbach and David Carlisle.
+%%
+%% Development of this package was commissioned by Y&Y Inc.
+%% http://www.yandy.com
+%
+%
+%<*dtx>
+ \ProvidesFile{mtfonts.fdd}
+%</dtx>
+%<*!mh2screnc>
+%<MY1mtt>\ProvidesFile{my1mtt.fd}
+%<MY2mtt>\ProvidesFile{my2mtt.fd}
+%<MY3mtt>\ProvidesFile{my3mtt.fd}
+%<Umtms>\ProvidesFile{umtms.fd}
+%<Umh2>\ProvidesFile{umh2.fd}
+%<Umh2Scr>\ProvidesFile{umh2scr.fd}
+%<Umh6>\ProvidesFile{umh6.fd}
+%<OMSlby>\ProvidesFile{omslby.fd}
+%<driver>\ProvidesFile{bm.drv}
+% \fi
+% \ProvidesFile{mtfonts.fdd}
+ [2001/05/30 v1.0c
+%<MY1mtt> Mathtime Encoding 1
+%<MY2mtt> Mathtime Encoding 2
+%<MY3mtt> Mathtime Encoding 3
+%<Umtms> Mathtime Plus Script (Unknown encoding)
+%<Umh2> Adobe Math Pi 2 (Unknown encoding)
+%<Umh2Scr> Adobe Math Pi 2 Script (Unknown encoding)
+%<Umh6> Adobe Math Pi 6 (Unknown encoding)
+%<OMSlby> Lucida New Math Symbols
+ (FMi)]
+% \iffalse
+%</!mh2screnc>
+%
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{bm}
+\DocInput{mtfonts.fdd}
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{525}
+%
+% \GetFileInfo{mtfonts.fdd}
+% \begin{document}
+% \title{The \textsf{mathtime} Font Descriptor files\thanks{This file
+% has version number \fileversion, last
+% revised \filedate.}}
+%
+% \date{\filedate}
+% \author{Frank Mittelbach}
+% \maketitle
+%
+% \section{The Implementation}
+%
+% \subsection{Math Pi 2}
+% needed for Adobe Math Pi 2 and 6, lbms, lbmsd (Calligraphic)
+% Note: LaTeX 2e needs the TFMs for these even if you don't use them...
+%
+% \begin{macrocode}
+%<*Umh2>
+\DeclareFontFamily{U}{mh2}{}
+\DeclareFontShape{U}{mh2}{m}{n}{<->s * [0.95]mh2}{}
+%</Umh2>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*Umh2Scr>
+\DeclareFontFamily{U}{mh2scr}{}
+\DeclareFontShape{U}{mh2scr}{m}{n}{<->s * [0.95]mh2scr}{}
+%</Umh2Scr>
+% \end{macrocode}
+%
+% The following section is a PostScript header file which may
+% be used to reencdode the script alphabet in the Math Pi 2 font
+% into the `normal' positions for the roman alphabet.
+% \begin{macrocode}
+%<*mh2screnc>
+ %
+ % Encoding file to reencode MathematicalPi-Two font by Adobe so that
+ % its script alphabet is in a sensible position
+ % and thus can be used with \DeclareMathAlphabet
+ %
+ % Usage:
+ %
+ % generate tfm
+ %
+ % afm2tfm mh2_____ -T mh2scr.enc mh2scr
+ %
+ % add mapping line to dvips config file:
+ %
+ % mh2 MathematicalPi-Two <mh2_____.pfa
+ % mh2scr MathematicalPi-Two "mh2scrEncoding ReEncodeFont" <mh2scr.enc <mh2_____.pfa
+ %
+ %
+ %
+/mh2scrEncoding [
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ %'10x
+ /space /H5101 /H5102 /H5103 /H5104 /H5105 /H5106 /H5107
+ /H5108 /H5109 /H5110 /H5111 /H5112 /H5113 /H5114 /H5115
+ /H5116 /H5117 /H5118 /H5119 /H5120 /H5121 /H5122 /H5123
+ /H5124 /H5125 /H5126 /.notdef /.notdef /.notdef /.notdef /.notdef
+ %
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ %'20
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ %'30
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+
+%</mh2screnc>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*Umh6>
+\DeclareFontFamily{U}{mh6}{}
+\DeclareFontShape{U}{mh6}{m}{n}{<->s * [0.95]mh6}{}
+%</Umh6>
+% \end{macrocode}
+%
+% \subsection{LucidaNewMath-Symbols font description files}
+%
+% Following controls size of lbms, lbmsd when used for Calligraphic:
+% \begin{macrocode}
+%<*lucidascale>
+\@ifundefined{LucidaScale}{\def\LucidaScale{0.9}}{}
+%</lucidascale>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*OMSlby>
+\DeclareFontFamily{OMS}{lby}{\skewchar\font48}
+\DeclareFontShape{OMS}{lby}{m}{n}{<->s * [\LucidaScale]lbms}{}
+\DeclareFontShape{OMS}{lby}{b}{n}{<->s * [\LucidaScale]lbmsd}{}
+%</OMSlby>
+% \end{macrocode}
+%
+% \subsection{Math Time font description files}
+%
+% The Math Time fonts are similar in encoding to the Computer Modern set
+% of math fonts. Unfortunately, there are some important differences which
+% make integration of the fonts in a standard setup painful and error prone.
+%
+% To ease the integration we have allocated official encoding names so that
+% (at least on the \LaTeX{} level the encoding difference is transparent)
+%
+% The |MY1| encoding is in most respects the same as the |OML| encoding, for
+% the differences see the font description by Spivak.
+%
+% \begin{macrocode}
+%<*MY1mtt>
+\DeclareFontFamily{MY1}{mtt}{\skewchar\font45}
+\DeclareFontShape{MY1}{mtt}{m}{it}{<->mtmi}{}
+%</MY1mtt>
+% \end{macrocode}
+%
+% Similarily, the |MY2| encoding corresponds to the |OMS| encoding
+% except for a small number of slots.
+%
+% In fact their are two variants of this encoding, the |MTSY| font
+% in the base mathtime set and a slightly extended version in the
+% mathtime plus set. Within \LaTeX\ ignore this difference but
+% give the user the option of installing an my2mtt.fd file
+% calling on either version.
+% \begin{macrocode}
+%<*MY2mtt>
+\DeclareFontFamily{MY2}{mtt}{}
+%<!mtplus>\DeclareFontShape{MY2}{mtt}{m}{n}{<->mtsy}{}
+%</MY2mtt>
+% \end{macrocode}
+%
+% The ``extension symbol'' font has the same encoding as the Computer
+% Modern \texttt{cmex} font, except that it contains one additional symbol
+% (the radical which is originally located in the symbol font. There is a good
+% reason for the radical not being put into the symbol font as it has a large
+% decender and makes it impossible to use the font with programs other than
+% \TeX{}. However, it has the nasty side-effect that we have to define
+% another encoding just for this reason.
+% \begin{macrocode}
+%<*MY3mtt>
+\DeclareFontFamily{MY3}{mtt}{}
+\DeclareFontShape{MY3}{mtt}{m}{n}{<->mtex}{}
+%</MY3mtt>
+% \end{macrocode}
+%
+% \subsection{Math Time Plus font description files}
+%
+% We call the font variant that contains upright lowercase letters
+% ``normal'' which is some sort of abuse, but then the whole font layout
+% is rather percuiliar
+% \begin{macrocode}
+%<*MY1mtt&mtplus>
+\DeclareFontShape{MY1}{mtt}{b}{it}{<->mtmib}{}
+\DeclareFontShape{MY1}{mtt}{ub}{it}{<->mtmih}{}
+\DeclareFontShape{MY1}{mtt}{b}{n} {<->mtmub}{}
+\DeclareFontShape{MY1}{mtt}{ub}{n}{<->mtmuh}{}
+%</MY1mtt&mtplus>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*MY2mtt&mtplus>
+\DeclareFontShape{MY2}{mtt}{m}{n}{<->mtsyn}{}
+\DeclareFontShape{MY2}{mtt}{b}{n}{<->mtsyb}{}
+\DeclareFontShape{MY2}{mtt}{ub}{n}{<->mtsyh}{}
+%</MY2mtt&mtplus>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*MY3mtt&mtplus>
+\DeclareFontShape{MY3}{mtt}{b}{n}{<->mtexb}{}
+\DeclareFontShape{MY3}{mtt}{ub}{n}{<->mtexh}{}
+%</MY3mtt&mtplus>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*Umtms>
+\DeclareFontFamily{U}{mtms}{\skewchar\font42}
+\DeclareFontShape{U}{mtms}{m}{n}{<->mtms}{}
+\DeclareFontShape{U}{mtms}{b}{n}{<->mtmsb}{}
+%</Umtms>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*LAptm>
+\DeclareFontFamily{LA}{ptm}{}
+\DeclareFontShape{LA}{ptm}{m}{n}{<->tir}{}
+\DeclareFontShape{LA}{ptm}{b}{n}{<->tir}{}
+%</LAptm>
+% \end{macrocode}
+%
+% \Finale
+%
diff --git a/texmf-dist/tex/latex/fontsetup-nonfree/fspcambria.sty b/texmf-dist/tex/latex/fontsetup-nonfree/fspcambria.tex
index b2947bb3..8d1d5572 100644
--- a/texmf-dist/tex/latex/fontsetup-nonfree/fspcambria.sty
+++ b/texmf-dist/tex/latex/fontsetup-nonfree/fspcambria.tex
@@ -1,9 +1,7 @@
%%
%% Load Cambria fonts (C) A. Tsolomitis
%%
-\RequirePackage{fontspec}
\setmainfont[Contextuals=AlternateOff,BoldFont=Cambria-Bold,ItalicFont=Cambria-Italic,BoldItalicFont=Cambria-BoldItalic]{Cambria}
-\RequirePackage{unicode-math}
\setmathfont{Cambria Math}
\endinput
diff --git a/texmf-dist/tex/latex/fontsetup-nonfree/fsplucidaot.sty b/texmf-dist/tex/latex/fontsetup-nonfree/fsplucidaot.tex
index 2287f486..b0707c79 100644
--- a/texmf-dist/tex/latex/fontsetup-nonfree/fsplucidaot.sty
+++ b/texmf-dist/tex/latex/fontsetup-nonfree/fsplucidaot.tex
@@ -1,4 +1,3 @@
-\RequirePackage{fontspec}
\setmainfont[% main font
UprightFont=LucidaBrightOT,
ItalicFont=LucidaBrightOT-Italic,
@@ -22,7 +21,6 @@
SmallCapsFeatures={Numbers=OldStyle},
]{LucidaSansTypewriterOT.otf}
% support for OpenType math fonts:
-\RequirePackage{unicode-math}
\setmathfont{LucidaBrightMathOT.otf}
\setmathfont[version=bold]{LucidaBrightMathOT-Demi.otf}
diff --git a/texmf-dist/tex/latex/fontsetup-nonfree/fspminion.sty b/texmf-dist/tex/latex/fontsetup-nonfree/fspminion.tex
index 292f3dd7..1821bf3a 100644
--- a/texmf-dist/tex/latex/fontsetup-nonfree/fspminion.sty
+++ b/texmf-dist/tex/latex/fontsetup-nonfree/fspminion.tex
@@ -1,7 +1,6 @@
-\RequirePackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont[SmallCapsFeatures={Numbers=OldStyle},%
NFSSFamily=MinionPro,%
@@ -27,18 +26,8 @@
BoldFont=MinionPro-Bold,%
BoldItalicFont=MinionPro-BoldIt,%
]{MinionPro-Regular}
-\RequirePackage{iftex}
-\ifxetex
-\RequirePackage[Latin, Greek]{ucharclasses}
-\setDefaultTransitions{\defaultfont}{}
-\setTransitionsForLatin{\defaultfont}{}
-\setTransitionsForGreek{\greekfont}{}
-\else
-\relax
-\fi
-\RequirePackage{unicode-math}
\setmathfont{STIXTwoMath-Regular.otf}
\setmathfont[range=\mathup/{num,latin,Latin,greek,Greek}]{MinionPro-Regular}
\setmathfont[range=\mathbfup/{num,latin,Latin,greek,Greek}]{MinionPro-Bold}
diff --git a/texmf-dist/tex/latex/fontsetup-nonfree/fspmsgaramondot.sty b/texmf-dist/tex/latex/fontsetup-nonfree/fspmsgaramondot.tex
index 5f50b8bf..1479678e 100644
--- a/texmf-dist/tex/latex/fontsetup-nonfree/fspmsgaramondot.sty
+++ b/texmf-dist/tex/latex/fontsetup-nonfree/fspmsgaramondot.tex
@@ -1,5 +1,4 @@
%\RequirePackage[no-math]{fontspec}
-\RequirePackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
%\RequirePackage[garamond]{mathdesign}
@@ -34,17 +33,7 @@
]{Garamond}
-\RequirePackage{iftex}
-\ifxetex
-\RequirePackage[Latin, Greek]{ucharclasses}
-\setDefaultTransitions{\defaultfont}{}
-\setTransitionsForLatin{\defaultfont}{}
-\setTransitionsForGreek{\greekfont}{}
-\else
-\relax
-\fi
-\RequirePackage{unicode-math}
\setmathfont{Garamond-Math.otf}
\setmathfont[range=\mathup/{num,latin,Latin,greek,Greek}]{Garamond}
\setmathfont[range=\mathbfup/{num,latin,Latin,greek,Greek}]{Garamond-Bold}
diff --git a/texmf-dist/tex/latex/fontsetup-nonfree/fsppalatinoot.sty b/texmf-dist/tex/latex/fontsetup-nonfree/fsppalatinoot.tex
index 48528a88..6f3b4e07 100644
--- a/texmf-dist/tex/latex/fontsetup-nonfree/fsppalatinoot.sty
+++ b/texmf-dist/tex/latex/fontsetup-nonfree/fsppalatinoot.tex
@@ -1,4 +1,3 @@
-\RequirePackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont[SmallCapsFeatures={Numbers=OldStyle},%
NFSSFamily=Palatino Linotype,%
@@ -18,17 +17,7 @@
BoldItalicFont=PalatinoLinotype-BoldItalic,%
]{PalatinoLinotype-Roman}
-\RequirePackage{iftex}
-\ifxetex
-\RequirePackage[Latin, Greek]{ucharclasses}
-\setDefaultTransitions{\defaultfont}{}
-\setTransitionsForLatin{\defaultfont}{}
-\setTransitionsForGreek{\greekfont}{}
-\else
-\relax
-\fi
-\RequirePackage{unicode-math}
\setmathfont{texgyrepagella-math.otf}
diff --git a/texmf-dist/tex/latex/lucida-otf/lucida-otf-kern.tex b/texmf-dist/tex/latex/lucida-otf/lucida-otf-kern.tex
index bfd6f478..9f8b057c 100644
--- a/texmf-dist/tex/latex/lucida-otf/lucida-otf-kern.tex
+++ b/texmf-dist/tex/latex/lucida-otf/lucida-otf-kern.tex
@@ -1,3 +1,4 @@
+%% $Id: lucida-otf-kern.tex 755 2018-04-13 11:33:43Z herbert $
%%
%% Herbert Voss 2018 -
%%
diff --git a/texmf-dist/tex/latex/lucida-otf/lucida-otf.sty b/texmf-dist/tex/latex/lucida-otf/lucida-otf.sty
index b380836d..3fe40d4a 100644
--- a/texmf-dist/tex/latex/lucida-otf/lucida-otf.sty
+++ b/texmf-dist/tex/latex/lucida-otf/lucida-otf.sty
@@ -1,13 +1,13 @@
-%% $Id: lucida-otf.sty 750 2018-03-29 12:29:53Z herbert $
+%% $Id: lucida-otf.sty 751 2018-03-31 17:34:46Z herbert $
%%
%% This file is distributed under the terms of the LaTeX Project Public
%% License from CTAN archives in directory macros/latex/base/lppl.txt.
%% Either version 1.3 or, at your option, any later version.
%%
-% Copyright 2018 Herbert Voss hvoss@tug.org
+% Copyright 2023 Herbert Voss hvoss@tug.org
%%
\ProvidesPackage{lucida-otf}[%
- 2018/03/31 v. 0.08 (Herbert Voss) Supports Lucida OpenType for lualatex/xelatex.]
+ 2023/06/16 v. 0.09 (Herbert Voss) Supports Lucida OpenType for lualatex/xelatex.]
%
\RequirePackage{ifxetex,ifluatex,xkeyval,textcomp}
\RequirePackage{unicode-math} % support opentype math fonts
@@ -136,6 +136,7 @@
%----------------------------------------- symbolic names ----------------------------
\setmainfont{Lucida Bright OT}[% main rm
\lucidaRM@features,
+ ItalicFont = * Italic,
BoldFont = * Demibold,
BoldItalicFont = * Demibold Italic,
RawFeature = {\Lucida@RawFeatures}
@@ -143,6 +144,7 @@
%
\setsansfont{Lucida Sans OT}[% main sans
\lucidaSS@features,
+ ItalicFont = * Italic,
BoldFont = * Demibold,
BoldItalicFont = * Demibold Italic
]
diff --git a/texmf-dist/tex/latex/mathtime-ltx/mathpi.sty b/texmf-dist/tex/latex/mathtime-ltx/mathpi.sty
new file mode 100644
index 00000000..080cbe99
--- /dev/null
+++ b/texmf-dist/tex/latex/mathtime-ltx/mathpi.sty
@@ -0,0 +1,34 @@
+%%
+%% This is file `mathpi.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% mathtime.dtx (with options: `package,mathpi')
+%%
+%% Copyright 1996 1997 Frank Mittelbach and David Carlisle.
+%%
+%% Development of this package was commissioned by Y&Y Inc.
+%% http://www.yandy.com
+%% This package may be distributed under the terms of the LaTeX Project Public
+%% License, as described in lppl.txt in the base LaTeX distribution.
+%% Either version 1.0 or, at your option, any later version.
+%%
+\NeedsTeXFormat{LaTeX2e}[1995/01/01]
+\ProvidesPackage{mathpi}
+ [1999/03/29 v1.1%
+ mathpi
+ font support (FMi/DPC)]
+\DeclareOption{mathfrak}{%
+ \DeclareMathAlphabet\mathfrak{U}{mh2}{m}{n}}
+\DeclareOption{mathcal}{%
+ \DeclareMathAlphabet\mathcal{U}{mh2scr}{m}{n}}
+\DeclareOption{mathscr}{%
+ \DeclareMathAlphabet\mathscr{U}{mh2scr}{m}{n}}
+\DeclareOption{mathbb}{%
+ \DeclareMathAlphabet\mathbb{U}{mh6}{m}{n}}
+\ProcessOptions
+
+\endinput
+%%
+%% End of file `mathpi.sty'.
diff --git a/texmf-dist/tex/latex/mathtime-ltx/mathtime.sty b/texmf-dist/tex/latex/mathtime-ltx/mathtime.sty
new file mode 100644
index 00000000..35054191
--- /dev/null
+++ b/texmf-dist/tex/latex/mathtime-ltx/mathtime.sty
@@ -0,0 +1,358 @@
+%%
+%% This is file `mathtime.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% mathtime.dtx (with options: `package,mathtime')
+%%
+%% Copyright 1996 1997 Frank Mittelbach and David Carlisle.
+%%
+%% Development of this package was commissioned by Y&Y Inc.
+%% http://www.yandy.com
+%% This package may be distributed under the terms of the LaTeX Project Public
+%% License, as described in lppl.txt in the base LaTeX distribution.
+%% Either version 1.0 or, at your option, any later version.
+%%
+\NeedsTeXFormat{LaTeX2e}[1995/01/01]
+\ProvidesPackage{mathtime}
+ [1999/03/29 v1.1%
+ mathtime
+ font support (FMi/DPC)]
+\newcommand\greekshape{}
+\DeclareOption{slantedgreek}{\renewcommand\greekshape{it}}
+\DeclareOption{uprightgreek}{\renewcommand\greekshape{n}}
+\DeclareOption{nobold}{\let\boldmath=u}
+\DeclareOption{cmbold}{\let\boldmath=c}
+\DeclareOption{mtbold}{\let\boldmath=m}
+\DeclareOption{heavybold}{\let\boldmath=h}
+\newcommand\enablesubscriptcorrection {\catcode`\_=12\relax}
+\newcommand\disablesubscriptcorrection{\catcode`\_=8\relax}
+\DeclareOption{nosubscriptcorrection}{\disablesubscriptcorrection}
+\DeclareOption{subscriptcorrection} {\enablesubscriptcorrection}
+\DeclareOption{cmcal} {\let\mathcal=c}
+\DeclareOption{lucidacal}{\let\mathcal=l}
+\DeclareOption{mtplusscr}{\let\mathscr=s}
+\DeclareOption{mtpluscal}{\let\mathcal=s}
+\DeclareOption{lucidascr}{\let\mathscr=l}
+\DeclareOption{noTS1} {\let\symtextcomp\relax}
+\let\operator@encoding\encodingdefault
+\DeclareOption{OT1}{\def\operator@encoding{OT1}}
+\DeclareOption{T1}{\def\operator@encoding{T1}}
+\DeclareOption{LY1}{\def\operator@encoding{LY1}\ExecuteOptions{noTS1}}
+\DeclareOption{errorshow}{%
+ \def\@font@info#1{%
+ \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}%
+ {LaTeX Font Info: \space\space\space#1}}%
+ \def\@font@warning#1{%
+ \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}%
+ {LaTeX Font Warning: #1}}}
+\DeclareOption{warningshow}{%
+ \def\@font@info#1{%
+ \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}%
+ {LaTeX Font Info: \space\space\space#1}}%
+ \def\@font@warning#1{%
+ \GenericWarning{(Font)\@spaces\@spaces\@spaces\space\space}%
+ {LaTeX Font Warning: #1}}}
+\DeclareOption{nofontinfo}{%
+ \let\@font@info\@gobble
+ \let\@font@warning\@gobble}
+\ExecuteOptions{%
+ slantedgreek,nobold,nosubscriptcorrection,cmcal,errorshow}
+\ProcessOptions
+\edef\@tempa{\rmdefault}
+\def\@tempb {cmr}
+\ifx\@tempa\@tempb
+ \renewcommand*\sfdefault{phv}
+ \renewcommand*\rmdefault{ptm}
+ \renewcommand*\ttdefault{pcr}
+ \renewcommand*\bfdefault{b}
+\fi
+\DeclareFontEncoding{MY1}{}{}
+\DeclareFontEncoding{MY2}{}{}
+\DeclareFontEncoding{MY3}{}{}
+\DeclareFontSubstitution{MY1}{mtt}{m}{it}
+\DeclareFontSubstitution{MY2}{mtt}{m}{n}
+\DeclareFontSubstitution{MY3}{mtt}{m}{n}
+\SetSymbolFont{operators} {normal}{\operator@encoding}{ptm}{m}{n}
+\SetSymbolFont{letters} {normal}{MY1}{mtt}{m}{it}
+\SetSymbolFont{symbols} {normal}{MY2}{mtt}{m}{n}
+\SetSymbolFont{largesymbols}{normal}{MY3}{mtt}{m}{n}
+\ifx\boldmath c
+ \SetSymbolFont{operators} {bold}{\operator@encoding}{cmr}{bx}{n}
+ \SetSymbolFont{letters} {bold}{OML}{cmm}{b}{it}
+ \SetSymbolFont{symbols} {bold}{OMS}{cmsy}{b}{n}
+ \SetSymbolFont{largesymbols}{bold}{MY3}{mtt}{m}{n}
+\PackageWarningNoLine{mathtime}
+ {The use of the `cmbold' option will result\MessageBreak
+ in incorrect characters in some circumstances\MessageBreak
+ without any warning as the Math Time fonts and the\MessageBreak
+ Computer Modern fonts have incompatible encodings.\MessageBreak
+ Please use this option with care!\@gobble}
+ \renewcommand\boldmath{\@nomath\boldmath\mathversion{bold}}
+ \let\heavymath\boldmath
+\fi
+\ifx\boldmath u
+ \let\@tempa\version@elt
+ \def\version@elt#1{%
+ \ifx\mv@bold#1\else\noexpand\version@elt\noexpand#1\fi}
+ \edef\version@list{\version@list}
+ \let\version@elt\@tempa
+ \let\mv@bold\@undefined
+ \renewcommand\boldmath{\PackageError{mathtime}%
+ {Bold math is not supported}%
+ {Use cmbold or mtbold options}}
+ \let\heavymath\boldmath
+\fi
+\ifx\boldmath m
+ \SetSymbolFont{operators}{bold}{\operator@encoding}{\rmdefault}{b}{n}
+ \SetSymbolFont{letters} {bold}{MY1}{mtt}{b}{\greekshape}
+ \SetSymbolFont{symbols} {bold}{MY2}{mtt}{b}{n}
+ \SetSymbolFont{largesymbols}{bold}{MY3}{mtt}{b}{n}
+ \DeclareMathVersion{heavy}
+ \SetSymbolFont{operators}{heavy}{\operator@encoding}{\rmdefault}{b}{n}
+ \SetSymbolFont{letters} {heavy}{MY1}{mtt}{ub}{\greekshape}
+ \SetSymbolFont{symbols} {heavy}{MY2}{mtt}{ub}{n}
+ \SetSymbolFont{largesymbols}{heavy}{MY3}{mtt}{ub}{n}
+ \DeclareMathSymbol{:}{\mathrel}{symbols}{86}
+ \DeclareMathSymbol{!}{\mathclose}{symbols}{87}
+ \DeclareMathSymbol{[}{\mathopen}{symbols}{84}
+ \DeclareMathSymbol{]}{\mathclose}{symbols}{85}
+ \renewcommand\boldmath{\@nomath\boldmath\mathversion{bold}}
+ \newcommand\heavymath{\@nomath\heavymath\mathversion{heavy}}
+\fi
+\ifx\boldmath h
+ \SetSymbolFont{operators}{bold}{\operator@encoding}{\rmdefault}{b}{n}
+ \SetSymbolFont{letters} {bold}{MY1}{mtt}{ub}{\greekshape}
+ \SetSymbolFont{symbols} {bold}{MY2}{mtt}{ub}{n}
+ \SetSymbolFont{largesymbols}{bold}{MY3}{mtt}{ub}{n}
+ \DeclareMathSymbol{:}{\mathrel}{symbols}{86}
+ \DeclareMathSymbol{!}{\mathclose}{symbols}{87}
+ \DeclareMathSymbol{[}{\mathopen}{symbols}{84}
+ \DeclareMathSymbol{]}{\mathclose}{symbols}{85}
+ \renewcommand\boldmath{\@nomath\boldmath\mathversion{bold}}
+ \let\heavymath\boldmath
+\fi
+\SetMathAlphabet{\mathrm}{normal}{\encodingdefault}{\rmdefault}{m}{n}
+\SetMathAlphabet{\mathbf}{normal}{\encodingdefault}{\rmdefault}{b}{n}
+\SetMathAlphabet{\mathit}{normal}{\encodingdefault}{\rmdefault}{m}{it}
+\SetMathAlphabet{\mathsf}{normal}{\encodingdefault}{\sfdefault}{m}{n}
+\SetMathAlphabet{\mathtt}{normal}{\encodingdefault}{\ttdefault}{m}{n}
+\ifx\mv@bold\@undefined
+\else
+ \SetMathAlphabet{\mathrm}{bold} {\encodingdefault}{\rmdefault}{b}{n}
+ \SetMathAlphabet{\mathbf}{bold} {\encodingdefault}{\rmdefault}{b}{n}
+ \SetMathAlphabet{\mathit}{bold} {\encodingdefault}{\rmdefault}{b}{it}
+ \SetMathAlphabet{\mathsf}{bold} {\encodingdefault}{\sfdefault}{b}{n}
+ \SetMathAlphabet{\mathtt}{bold} {\encodingdefault}{\ttdefault}{b}{n}
+\fi
+\ifx\mv@heavy\@undefined
+\else
+ \SetMathAlphabet{\mathrm}{heavy}{\encodingdefault}{\rmdefault}{b}{n}
+ \SetMathAlphabet{\mathbf}{heavy}{\encodingdefault}{\rmdefault}{b}{n}
+ \SetMathAlphabet{\mathit}{heavy}{\encodingdefault}{\rmdefault}{b}{it}
+ \SetMathAlphabet{\mathsf}{heavy}{\encodingdefault}{\sfdefault}{b}{n}
+ \SetMathAlphabet{\mathtt}{heavy}{\encodingdefault}{\ttdefault}{b}{n}
+\fi
+\ifx\mathscr s
+ \let\mathscr\relax
+ \DeclareMathAlphabet\mathscr{U} {mtms}{b}{n}
+ \SetMathAlphabet \mathscr{normal}{U}{mtms}{m}{n}
+ \DeclareMathAlphabet\mathbscr{U}{mtms}{b}{n}
+\fi
+\ifx\mathscr l
+ \let\mathscr\relax
+ \DeclareMathAlphabet{\mathscr} {OMS}{lby}{b}{n}
+ \SetMathAlphabet {\mathscr}{normal} {OMS}{lby}{m}{n}
+ \DeclareMathAlphabet{\mathbscr} {OMS}{lby}{b}{n}
+\fi
+\ifx\mathcal l
+ \let\mathcal\relax
+ \DeclareMathAlphabet{\mathcal} {OMS}{lby}{b}{n}
+ \SetMathAlphabet {\mathcal}{normal} {OMS}{lby}{m}{n}
+ \DeclareMathAlphabet{\mathbcal} {OMS}{lby}{b}{n}
+\fi
+\ifx\mathcal s
+ \let\mathcal\relax
+ \DeclareMathAlphabet\mathcal{U} {mtms}{b}{n}
+ \SetMathAlphabet \mathcal{normal}{U}{mtms}{m}{n}
+ \DeclareMathAlphabet\mathbcal{U}{mtms}{b}{n}
+\fi
+\ifx\mathcal c
+ \let\mathcal\relax
+ \DeclareMathAlphabet\mathcal{OMS} {cmsy}{b}{n}
+ \SetMathAlphabet \mathcal{normal}{OMS}{cmsy}{m}{n}
+ \DeclareMathAlphabet\mathbcal{OMS} {cmsy}{b}{n}
+
+\fi
+\DeclareMathSymbol\Gamma {\mathord}{letters}{48}
+\DeclareMathSymbol\Delta {\mathord}{letters}{49}
+\DeclareMathSymbol\Theta {\mathord}{letters}{50}
+\DeclareMathSymbol\Lambda {\mathord}{letters}{51}
+\DeclareMathSymbol\Xi {\mathord}{letters}{52}
+\DeclareMathSymbol\Pi {\mathord}{letters}{53}
+\DeclareMathSymbol\Sigma {\mathord}{letters}{54}
+\DeclareMathSymbol\Upsilon{\mathord}{letters}{55}
+\DeclareMathSymbol\Phi {\mathord}{letters}{56}
+\DeclareMathSymbol\Psi {\mathord}{letters}{57}
+\DeclareMathSymbol\Omega {\mathord}{letters}{127}
+\DeclareMathSymbol\varGamma {\mathord}{letters}{0}
+\DeclareMathSymbol\varDelta {\mathord}{letters}{1}
+\DeclareMathSymbol\varTheta {\mathord}{letters}{2}
+\DeclareMathSymbol\varLambda {\mathord}{letters}{3}
+\DeclareMathSymbol\varXi {\mathord}{letters}{4}
+\DeclareMathSymbol\varPi {\mathord}{letters}{5}
+\DeclareMathSymbol\varSigma {\mathord}{letters}{6}
+\DeclareMathSymbol\varUpsilon {\mathord}{letters}{7}
+\DeclareMathSymbol\varPhi {\mathord}{letters}{8}
+\DeclareMathSymbol\varPsi {\mathord}{letters}{9}
+\DeclareMathSymbol\varOmega {\mathord}{letters}{10}
+\DeclareMathSymbol{(}{\mathopen}{letters}{46} % was 028
+\DeclareMathSymbol{)}{\mathclose}{letters}{47} % was 029
+\DeclareMathDelimiter{(}{letters}{46}{largesymbols}{0}
+\DeclareMathDelimiter{)}{letters}{47}{largesymbols}{1}
+\DeclareMathSymbol{\triangleleft}{\mathbin}{symbols}{71} % was 12F
+\DeclareMathSymbol{\triangleright}{\mathbin}{symbols}{70} % was 12E
+\DeclareMathSymbol{\comp}{\mathbin}{symbols}{66} % new?
+\DeclareMathSymbol{\setdif}{\mathbin}{symbols}{88} % new
+\DeclareMathSymbol{\cupprod}{\mathbin}{symbols}{89} % new
+\DeclareMathSymbol{\capprod}{\mathbin}{symbols}{90} % new
+\DeclareMathSymbol{+}{\mathbin}{symbols}{67} % was 02B
+\DeclareMathSymbol{=}{\mathrel}{symbols}{68} % was 03D
+\let\Relbar\@undefined
+\DeclareMathSymbol{\Relbar}{\mathrel}{symbols}{72} % was a macro
+\DeclareMathSymbol{;}{\mathpunct}{symbols}{73} % was 13B
+\DeclareMathSymbol{\varkappa}{\mathord}{letters}{126} % new (AMS)
+\DeclareMathAccent{\vec}{\mathord}{symbols}{69}
+\DeclareMathAccent{\grave}{\mathord}{symbols}{74}
+\DeclareMathAccent{\acute}{\mathord}{symbols}{75}
+\DeclareMathAccent{\check}{\mathord}{symbols}{76}
+\DeclareMathAccent{\breve}{\mathord}{symbols}{77}
+\DeclareMathAccent{\bar}{\mathord}{symbols}{78}
+\DeclareMathAccent{\hat}{\mathord}{symbols}{79}
+\DeclareMathAccent{\dot}{\mathord}{symbols}{80}
+\DeclareMathAccent{\tilde}{\mathord}{symbols}{81}
+\DeclareMathAccent{\ddot}{\mathord}{symbols}{82}
+\DeclareMathAccent{\widebar}{\mathord}{symbols}{83} % new
+\def\defaultscriptratio{.76}
+\def\defaultscriptscriptratio{.6}
+\DeclareMathSizes{5} {6} {6} {6}
+\DeclareMathSizes{6} {6} {6} {6}
+\DeclareMathSizes{7} {6.8} {6} {6}
+\DeclareMathSizes{8} {8} {6.8}{6}
+\DeclareMathSizes{9} {9} {7.6}{6}
+\DeclareMathSizes{10} {10} {7.6}{6}
+\DeclareMathSizes{10.95}{10.95}{7.6}{6}
+\DeclareMathSizes{12} {12} {9} {7}
+\DeclareMathSizes{14.4} {14.4} {10} {8}
+\DeclareMathSizes{17.28}{17.28}{12} {9}
+\DeclareMathSizes{20.74}{20.74}{14.4}{10}
+\DeclareMathSizes{24.88}{24.88}{17.28}{12}
+\newcommand\hb@xmdot{\hbox{$\m@th.$}}
+\def\vdots{\vbox{\baselineskip4\p@ \lineskiplimit\z@
+ \kern6\p@\hb@xmdot\hb@xmdot\hb@xmdot}}
+\def\ddots{\mathinner{\mkern1mu\raise7\p@\vbox{\kern7\p@
+ \hb@xmdot}\mkern2mu
+ \raise4\p@\hb@xmdot\mkern2mu\raise\p@\hb@xmdot\mkern1mu}}
+\def\angle{{\vbox{\ialign{$\m@th\scriptstyle##$\crcr
+ \not\mathrel{\mkern14mu}\crcr
+ \noalign{\nointerlineskip}%
+ \mkern2.5mu%
+ \leaders\hrule\@height.48\p@\hfill\mkern2.5mu\crcr}}}}
+\DeclareRobustCommand\hbar{{%
+ \dimen@.12em%
+ \dimen@ii.1em%
+ \def\@tempa##1##2{{%
+ \lower##1\dimen@\rlap{\kern##1\dimen@ii\the##2\tw@\char78}}}%
+ \mathchoice\@tempa\@ne\textfont
+ \@tempa\@ne\textfont
+ \@tempa\defaultscriptratio\scriptfont
+ \@tempa\defaultscriptscriptratio\scriptscriptfont
+ h}}
+\def\@fnsymbol#1{\ensuremath{\ifcase#1\or *\or \dagger\or \ddagger\or
+ \mathsection\or \mathparagraph\or \|\or **\or \dagger\dagger
+ \or \ddagger\ddagger \else\@ctrerr\fi}}
+\ifx\symtextcomp\relax
+ \def\@tempa{LY1}
+ \ifx\operator@encoding\@tempa
+ \DeclareMathSymbol\dagger {\mathbin}{operators}{134}
+ \DeclareMathSymbol\ddagger{\mathbin}{operators}{135}
+ \DeclareMathSymbol\mathsection{\mathord}{operators}{'247}
+ \DeclareMathSymbol\mathparagraph{\mathord}{operators}{'266}
+ \DeclareMathSymbol\mathsterling{\mathord}{operators}{163}
+ \let\mathunderscore\@undefined
+ \DeclareMathSymbol\mathunderscore{\mathord}{operators}{95}
+ \fi
+ \def\@tempa{T1}
+ \ifx\operator@encoding\@tempa
+ \DeclareMathSymbol\mathsterling{\mathord}{operators}{191}
+ \let\mathunderscore\@undefined
+ \DeclareMathSymbol\mathunderscore{\mathord}{operators}{95}
+ \fi
+\else
+ \DeclareFontEncoding{TS1}{}{}
+ \DeclareSymbolFont{textcomp}{TS1}{ptm}{m}{n}
+ \ifx\mv@bold\@undefined
+ \else
+ \SetSymbolFont {textcomp}{bold}{TS1}{ptm}{b}{n}
+ \fi
+ \ifx\mv@heavy\@undefined
+ \else
+ \SetSymbolFont {textcomp}{heavy}{TS1}{ptm}{b}{n}
+ \fi
+ \DeclareMathSymbol\dagger {\mathbin}{textcomp}{'204}
+ \DeclareMathSymbol\ddagger{\mathbin}{textcomp}{'205}
+ \DeclareMathSymbol\mathsection{\mathord}{textcomp}{'247}
+ \DeclareMathSymbol\mathparagraph{\mathord}{textcomp}{'266}
+\fi
+\DeclareTextSymbolDefault{\textless}{MY1}
+\DeclareTextSymbolDefault{\textgreater}{MY1}
+\DeclareTextAccentDefault{\t}{MY2}
+\DeclareTextSymbol{\textless}{MY1}{`\<}
+\DeclareTextSymbol{\textgreater}{MY1}{`\>}
+\DeclareTextAccent{\t}{MY2}{65}
+\DeclareTextSymbolDefault{\textasteriskcentered}{MY2}
+\DeclareTextSymbolDefault{\textbackslash}{MY2}
+\DeclareTextSymbolDefault{\textbar}{MY2}
+\DeclareTextSymbolDefault{\textbraceleft}{MY2}
+\DeclareTextSymbolDefault{\textbraceright}{MY2}
+\DeclareTextSymbolDefault{\textbullet}{MY2}
+\DeclareTextSymbolDefault{\textperiodcentered}{MY2}
+\DeclareTextAccentDefault{\textcircled}{MY2}
+\DeclareTextSymbol{\textasteriskcentered}{MY2}{3}
+\DeclareTextSymbol{\textbackslash}{MY2}{110}
+\DeclareTextSymbol{\textbar}{MY2}{106}
+\DeclareTextSymbol{\textbraceleft}{MY2}{102}
+\DeclareTextSymbol{\textbraceright}{MY2}{103}
+\DeclareTextSymbol{\textbullet}{MY2}{15}
+\DeclareTextSymbol{\textperiodcentered}{MY2}{1}
+\DeclareTextCommand{\textcircled}{MY2}[1]{{%
+ \ooalign{%
+ \hfil \raise .07ex\hbox {\upshape#1}\hfil \crcr
+ \char13}}}
+\ifx\symtextcomp\relax
+\else
+ \DeclareTextSymbolDefault{\textsection}{TS1}
+ \DeclareTextSymbolDefault{\textparagraph}{TS1}
+ \DeclareTextSymbol{\textsection}{TS1}{'247}
+ \DeclareTextSymbol{\textparagraph}{TS1}{'266}
+\fi
+\begingroup
+ \catcode`\_=13
+ \gdef_#1{\sb{\test@sb#1}}
+\endgroup
+\def\test@sb{%
+ \@ifnextchar p%
+ {\mkern\m@ne mu}%
+ {\ifx\@let@token j%
+ \mkern-\tw@ mu%
+ \else
+ \ifx\@let@token f%
+ \mkern-\tw@ mu%
+ \fi
+ \fi}}
+\mathcode`\_=\string"8000
+
+\endinput
+%%
+%% End of file `mathtime.sty'.
diff --git a/texmf-dist/tex/latex/mathtime-ltx/my1mtt.fd b/texmf-dist/tex/latex/mathtime-ltx/my1mtt.fd
new file mode 100644
index 00000000..4c6c47cb
--- /dev/null
+++ b/texmf-dist/tex/latex/mathtime-ltx/my1mtt.fd
@@ -0,0 +1,25 @@
+%%
+%% This is file `my1mtt.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% mtfonts.fdd (with options: `MY1mtt,mtplus')
+%%
+%% Copyright 1996 1997 Frank Mittelbach and David Carlisle.
+%%
+%% Development of this package was commissioned by Y&Y Inc.
+%% http://www.yandy.com
+\ProvidesFile{my1mtt.fd}
+ [2001/05/30 v1.0c
+ Mathtime Encoding 1
+ (FMi)]
+\DeclareFontFamily{MY1}{mtt}{\skewchar\font45}
+\DeclareFontShape{MY1}{mtt}{m}{it}{<->mtmi}{}
+\DeclareFontShape{MY1}{mtt}{b}{it}{<->mtmib}{}
+\DeclareFontShape{MY1}{mtt}{ub}{it}{<->mtmih}{}
+\DeclareFontShape{MY1}{mtt}{b}{n} {<->mtmub}{}
+\DeclareFontShape{MY1}{mtt}{ub}{n}{<->mtmuh}{}
+\endinput
+%%
+%% End of file `my1mtt.fd'.
diff --git a/texmf-dist/tex/latex/mathtime-ltx/my2mtt.fd b/texmf-dist/tex/latex/mathtime-ltx/my2mtt.fd
new file mode 100644
index 00000000..aa3cd60e
--- /dev/null
+++ b/texmf-dist/tex/latex/mathtime-ltx/my2mtt.fd
@@ -0,0 +1,23 @@
+%%
+%% This is file `my2mtt.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% mtfonts.fdd (with options: `MY2mtt,mtplus')
+%%
+%% Copyright 1996 1997 Frank Mittelbach and David Carlisle.
+%%
+%% Development of this package was commissioned by Y&Y Inc.
+%% http://www.yandy.com
+\ProvidesFile{my2mtt.fd}
+ [2001/05/30 v1.0c
+ Mathtime Encoding 2
+ (FMi)]
+\DeclareFontFamily{MY2}{mtt}{}
+\DeclareFontShape{MY2}{mtt}{m}{n}{<->mtsyn}{}
+\DeclareFontShape{MY2}{mtt}{b}{n}{<->mtsyb}{}
+\DeclareFontShape{MY2}{mtt}{ub}{n}{<->mtsyh}{}
+\endinput
+%%
+%% End of file `my2mtt.fd'.
diff --git a/texmf-dist/tex/latex/mathtime-ltx/my3mtt.fd b/texmf-dist/tex/latex/mathtime-ltx/my3mtt.fd
new file mode 100644
index 00000000..c4b035f2
--- /dev/null
+++ b/texmf-dist/tex/latex/mathtime-ltx/my3mtt.fd
@@ -0,0 +1,23 @@
+%%
+%% This is file `my3mtt.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% mtfonts.fdd (with options: `MY3mtt,mtplus')
+%%
+%% Copyright 1996 1997 Frank Mittelbach and David Carlisle.
+%%
+%% Development of this package was commissioned by Y&Y Inc.
+%% http://www.yandy.com
+\ProvidesFile{my3mtt.fd}
+ [2001/05/30 v1.0c
+ Mathtime Encoding 3
+ (FMi)]
+\DeclareFontFamily{MY3}{mtt}{}
+\DeclareFontShape{MY3}{mtt}{m}{n}{<->mtex}{}
+\DeclareFontShape{MY3}{mtt}{b}{n}{<->mtexb}{}
+\DeclareFontShape{MY3}{mtt}{ub}{n}{<->mtexh}{}
+\endinput
+%%
+%% End of file `my3mtt.fd'.
diff --git a/texmf-dist/tex/latex/mathtime-ltx/omslby.fd b/texmf-dist/tex/latex/mathtime-ltx/omslby.fd
new file mode 100644
index 00000000..2e1da24f
--- /dev/null
+++ b/texmf-dist/tex/latex/mathtime-ltx/omslby.fd
@@ -0,0 +1,23 @@
+%%
+%% This is file `omslby.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% mtfonts.fdd (with options: `lucidascale,OMSlby')
+%%
+%% Copyright 1996 1997 Frank Mittelbach and David Carlisle.
+%%
+%% Development of this package was commissioned by Y&Y Inc.
+%% http://www.yandy.com
+\ProvidesFile{omslby.fd}
+ [2001/05/30 v1.0c
+ Lucida New Math Symbols
+ (FMi)]
+\@ifundefined{LucidaScale}{\def\LucidaScale{0.9}}{}
+\DeclareFontFamily{OMS}{lby}{\skewchar\font48}
+\DeclareFontShape{OMS}{lby}{m}{n}{<->s * [\LucidaScale]lbms}{}
+\DeclareFontShape{OMS}{lby}{b}{n}{<->s * [\LucidaScale]lbmsd}{}
+\endinput
+%%
+%% End of file `omslby.fd'.
diff --git a/texmf-dist/tex/latex/mathtime-ltx/umh2.fd b/texmf-dist/tex/latex/mathtime-ltx/umh2.fd
new file mode 100644
index 00000000..038f17b5
--- /dev/null
+++ b/texmf-dist/tex/latex/mathtime-ltx/umh2.fd
@@ -0,0 +1,21 @@
+%%
+%% This is file `umh2.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% mtfonts.fdd (with options: `Umh2')
+%%
+%% Copyright 1996 1997 Frank Mittelbach and David Carlisle.
+%%
+%% Development of this package was commissioned by Y&Y Inc.
+%% http://www.yandy.com
+\ProvidesFile{umh2.fd}
+ [2001/05/30 v1.0c
+ Adobe Math Pi 2 (Unknown encoding)
+ (FMi)]
+\DeclareFontFamily{U}{mh2}{}
+\DeclareFontShape{U}{mh2}{m}{n}{<->s * [0.95]mh2}{}
+\endinput
+%%
+%% End of file `umh2.fd'.
diff --git a/texmf-dist/tex/latex/mathtime-ltx/umh2scr.fd b/texmf-dist/tex/latex/mathtime-ltx/umh2scr.fd
new file mode 100644
index 00000000..9246d61a
--- /dev/null
+++ b/texmf-dist/tex/latex/mathtime-ltx/umh2scr.fd
@@ -0,0 +1,21 @@
+%%
+%% This is file `umh2scr.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% mtfonts.fdd (with options: `Umh2Scr')
+%%
+%% Copyright 1996 1997 Frank Mittelbach and David Carlisle.
+%%
+%% Development of this package was commissioned by Y&Y Inc.
+%% http://www.yandy.com
+\ProvidesFile{umh2scr.fd}
+ [2001/05/30 v1.0c
+ Adobe Math Pi 2 Script (Unknown encoding)
+ (FMi)]
+\DeclareFontFamily{U}{mh2scr}{}
+\DeclareFontShape{U}{mh2scr}{m}{n}{<->s * [0.95]mh2scr}{}
+\endinput
+%%
+%% End of file `umh2scr.fd'.
diff --git a/texmf-dist/tex/latex/mathtime-ltx/umh6.fd b/texmf-dist/tex/latex/mathtime-ltx/umh6.fd
new file mode 100644
index 00000000..7763a9db
--- /dev/null
+++ b/texmf-dist/tex/latex/mathtime-ltx/umh6.fd
@@ -0,0 +1,21 @@
+%%
+%% This is file `umh6.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% mtfonts.fdd (with options: `Umh6')
+%%
+%% Copyright 1996 1997 Frank Mittelbach and David Carlisle.
+%%
+%% Development of this package was commissioned by Y&Y Inc.
+%% http://www.yandy.com
+\ProvidesFile{umh6.fd}
+ [2001/05/30 v1.0c
+ Adobe Math Pi 6 (Unknown encoding)
+ (FMi)]
+\DeclareFontFamily{U}{mh6}{}
+\DeclareFontShape{U}{mh6}{m}{n}{<->s * [0.95]mh6}{}
+\endinput
+%%
+%% End of file `umh6.fd'.
diff --git a/texmf-dist/tex/latex/mathtime-ltx/umtms.fd b/texmf-dist/tex/latex/mathtime-ltx/umtms.fd
new file mode 100644
index 00000000..8340cb0d
--- /dev/null
+++ b/texmf-dist/tex/latex/mathtime-ltx/umtms.fd
@@ -0,0 +1,22 @@
+%%
+%% This is file `umtms.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% mtfonts.fdd (with options: `Umtms')
+%%
+%% Copyright 1996 1997 Frank Mittelbach and David Carlisle.
+%%
+%% Development of this package was commissioned by Y&Y Inc.
+%% http://www.yandy.com
+\ProvidesFile{umtms.fd}
+ [2001/05/30 v1.0c
+ Mathtime Plus Script (Unknown encoding)
+ (FMi)]
+\DeclareFontFamily{U}{mtms}{\skewchar\font42}
+\DeclareFontShape{U}{mtms}{m}{n}{<->mtms}{}
+\DeclareFontShape{U}{mtms}{b}{n}{<->mtmsb}{}
+\endinput
+%%
+%% End of file `umtms.fd'.
diff --git a/texmf-dist/tex/latex/siam/proc209.sty b/texmf-dist/tex/latex/siam/proc209.sty
new file mode 100644
index 00000000..56365402
--- /dev/null
+++ b/texmf-dist/tex/latex/siam/proc209.sty
@@ -0,0 +1,366 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% This is proc209.sty.
+% This file may be freely distributed but may not be altered in any way.
+% Any comments or questions regarding these macros should be directed to:
+
+% Corey Gray
+% SIAM
+% 3600 University City Science Center
+% Philadelphia, PA 19104-2688
+% USA
+% Telephone: (215) 382-9800
+% Fax: (215) 386-7999
+% e-mail: gray@siam.org
+
+% This is a file of macros and definitions for creating a chapter for
+% publication in the SIAM Proceedings series using LaTeX.
+
+% Report the version.
+\message{*** SIAM LaTeX 2.09 Proceedings Series macro package, version 1.1,
+October 28, 1996 ***}
+
+\pretolerance=800
+\tolerance=10000
+\sloppy
+
+
+\vsize=56pc
+\hsize=36pc
+\baselineskip=13pt
+\hoffset -.5in
+\voffset -.5in
+\footskip=18pt
+\topmargin 24pt
+\headheight 12pt
+\headsep 15pt
+\textheight 53.5pc \advance\textheight by \topskip
+\textwidth 36pc
+\parskip 0pt
+\parindent 18pt
+\def\topfraction{.9}
+\def\textfraction{.1}
+\def\topnumber{2}
+%% footnotes to be set 8/10
+\def\footnotesize{\@setsize\footnotesize{11pt}\ixpt\@ixpt
+ % \indent
+ \abovedisplayskip \z@
+ \belowdisplayskip\z@
+ \abovedisplayshortskip\abovedisplayskip
+ \belowdisplayshortskip\belowdisplayshortskip
+\def\@listi{\leftmargin\leftmargini \topsep 3pt plus 1pt minus 1pt
+ \parsep 2pt plus 1pt minus 1pt
+ \itemsep \parsep}}
+
+\let\referencesize\footnotesize
+
+\footnotesep 0pt
+
+\skip\footins 12pt plus 12pt
+
+\def\footnoterule{\kern3\p@ \hrule width 3em\vspace{3pt}} % the \hrule is .4pt high
+
+
+\def\ps@plain{\let\@mkboth\@gobbletwo
+ \def\@oddfoot{{\hfil\small\thepage\hfil}}%
+ \def\@oddhead{}
+ \def\@evenhead{}\def\@evenfoot{}}
+
+
+
+\def\ps@headings{\let\@mkboth\markboth
+ \def\@oddfoot{}\def\@evenfoot{}%
+ \def\@evenhead{{\rm\thepage}\hspace*{2pc}{\sc\leftmark}\hfil}%
+ \def\@oddhead{\hfil{\noindent\sc\rightmark}\hspace*{2pc}{\rm\thepage}}%
+
+
+
+\def\ps@myheadings{\let\@mkboth\@gobbletwo
+ \def\@oddfoot{}\def\@evenfoot{}%
+ \def\@oddhead{\hfil{\sc\rightmark}\hspace*{2pc}{\normalsize\rm\thepage}}%
+ \def\@evenhead{{\normalsize\rm\thepage}\hspace*{2pc}{\sc\leftmark}\hfil}%
+% \def\chaptermark##1{}%
+ % \def\sectionmark##1{}\def\subsectionmark##1{}}
+}}
+
+
+
+\def\theequation{\arabic{equation}}
+
+\def\abstract{\if@twocolumn
+\section*{Abstract}
+\else \small
+\begin{center}
+{\bf Abstract\vspace{-.5em}\vspace{3pt}}
+\end{center}
+\quotation
+\fi}
+\def\endabstract{\if@twocolumn\else\endquotation\fi}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% THEOREMS, PROOFS, ALGORITHMS %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%% defined proof environment by theorem model (took out counter)
+
+\def\qed{{\qquad \vbox{\hrule\hbox{%
+ \vrule height1.3ex\hskip0.8ex\vrule}\hrule
+ }}\par}
+
+\def\newproof#1{\@nprf{#1}}
+
+\def\@nprf#1#2{\@xnprf{#1}{#2}}
+
+\def\@xnprf#1#2{\expandafter\@ifdefinable\csname #1\endcsname
+\global\@namedef{#1}{\@prf{#1}{#2}}\global\@namedef{end#1}{\@endproof}}
+
+\def\@prf#1#2{\@xprf{#1}{#2}}
+
+\def\@xprf#1#2{\@beginproof{#2}{\csname the#1\endcsname}\ignorespaces}
+
+
+
+%%% defined algorithm environment by theorem model
+
+\def\newalgorithm#1{\@ifnextchar[{\@oalg{#1}}{\@nalg{#1}}}
+
+\def\@nalg#1#2{%
+\@ifnextchar[{\@xnalg{#1}{#2}}{\@ynalg{#1}{#2}}}
+
+\def\@xnalg#1#2[#3]{\expandafter\@ifdefinable\csname #1\endcsname
+{\@definecounter{#1}\@addtoreset{#1}{#3}%
+\expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand
+ \csname the#3\endcsname \@thmcountersep \@thmcounter{#1}}%
+\global\@namedef{#1}{\@alg{#1}{#2}}\global\@namedef{end#1}{\@endalgorithm}}}
+
+\def\@ynalg#1#2{\expandafter\@ifdefinable\csname #1\endcsname
+{\@definecounter{#1}%
+\expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
+\global\@namedef{#1}{\@alg{#1}{#2}}\global\@namedef{end#1}{\@endalgorithm}}}
+
+\def\@oalg#1[#2]#3{\expandafter\@ifdefinable\csname #1\endcsname
+ {\global\@namedef{the#1}{\@nameuse{the#2}}%
+\global\@namedef{#1}{\@alg{#2}{#3}}%
+\global\@namedef{end#1}{\@endalgorithm}}}
+
+\def\@alg#1#2{\refstepcounter
+ {#1}\@ifnextchar[{\@yalg{#1}{#2}}{\@xalg{#1}{#2}}}
+
+\def\@xalg#1#2{\@beginalgorithm{#2}{\csname the#1\endcsname}\ignorespaces}
+\def\@yalg#1#2[#3]{\@opargbeginalgorithm{#2}{\csname
+ the#1\endcsname}{#3}\ignorespaces}
+
+
+
+
+\def\@beginproof#1{\rm {\it #1.\ }}
+\def\@endproof{\outerparskip 0pt\endtrivlist}
+
+\def\@begintheorem#1#2{\it {\sc #1\ #2.\ }}
+\def\@opargbegintheorem#1#2#3{\it
+ {\sc #1\ #2\ (#3).\ }}
+\def\@endtheorem{\outerparskip 0pt\endtrivlist}
+
+%\def\@begindefinition#1#2{\rm \trivlist \item[\hskip \labelsep{\sc #1\ #2.}]}
+%\def\@opargbegindefinition#1#2#3{\rm \trivlist
+% \item[\hskip \labelsep{\sc #1\ #2.\ (#3)}]}
+%\def\@enddefinition{\outerparskip 0pt\endtrivlist}
+
+
+\def\@beginalgorithm#1#2{\rm \trivlist \item[\hskip \labelsep{\sc #1\ #2.}]}
+\def\@opargbeginalgorithm#1#2#3{\rm \trivlist
+ \item[\hskip \labelsep{\sc #1\ #2.\ (#3)}]}
+\def\@endalgorithm{\outerparskip 6pt\endtrivlist}
+
+
+\newskip\outerparskip
+
+\def\trivlist{\parsep\outerparskip
+ \@trivlist \labelwidth\z@ \leftmargin\z@
+ \itemindent\parindent \def\makelabel##1{##1}}
+
+\def\@trivlist{\topsep=0pt\@topsepadd\topsep
+ \if@noskipsec \leavevmode \fi
+ \ifvmode \advance\@topsepadd\partopsep \else \unskip\par\fi
+ \if@inlabel \@noparitemtrue \@noparlisttrue
+ \else \@noparlistfalse \@topsep\@topsepadd \fi
+ \advance\@topsep \parskip
+ \leftskip\z@\rightskip\@rightskip \parfillskip\@flushglue
+ \@setpar{\if@newlist\else{\@@par}\fi}%
+ \global\@newlisttrue \@outerparskip\parskip}
+
+
+\def\endtrivlist{\if@newlist\@noitemerr\fi
+ \if@inlabel\indent\fi
+ \ifhmode\unskip \par\fi
+ \if@noparlist \else
+ \ifdim\lastskip >\z@ \@tempskipa\lastskip \vskip -\lastskip
+ \advance\@tempskipa\parskip \advance\@tempskipa -\@outerparskip
+ \vskip\@tempskipa
+ \fi\@endparenv\fi
+ \vskip\outerparskip}
+
+
+
+ \newproof{@proof}{Proof}
+ \newenvironment{proof}{\begin{@proof}}{\end{@proof}}
+
+ \newtheorem{@theorem}{Theorem}[section]
+ \newenvironment{theorem}{\begin{@theorem}}{\end{@theorem}}
+
+% \newalgorithm{@algorithm}{Algorithm}[section]
+% \newenvironment{algorithm}{\begin{@algorithm}}{\end{@algorithm}}
+
+
+
+\newtheorem{lemma}{Lemma}[section]
+\newtheorem{fact}{Fact}[section]
+\newtheorem{corollary}{Corollary}[section]
+\newtheorem{axiom}{Axiom}[section]
+\newtheorem{cond}{Condition}[section]
+\newtheorem{property}{Property}[section]
+\newtheorem{proposition}{Proposition}[section]
+
+\newtheorem{Conjecture}{Conjecture}[section]
+\newtheorem{Definition}{Definition}[section]
+\newtheorem{Lemma}{Lemma}[section]
+\newtheorem{Remark}{Remark}[section]
+
+\newproof{Example}{Example}
+\newproof{Method}{Method}
+\newproof{Exercise}{Exercise}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% TABLE AND FIGURE CAPTIONS %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \def\@figtxt{figure}
+\long\def\@makecaption#1#2{\small
+\setlength{\parindent}{18pt}
+\baselineskip 14pt
+ \ifx\@captype\@figtxt
+ \vskip 10pt
+ \setbox\@tempboxa\hbox{{\sc #1} {\it #2}}
+ \ifdim \wd\@tempboxa >\hsize {\sc #1} {\it #2}\par \else \hbox
+to\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi\else\hbox to\hsize{\hfil{\sc #1}\hfil}%
+ \setbox\@tempboxa\hbox{{\it #2}}%
+ \ifdim \wd\@tempboxa >\hsize {\it #2}\par \else
+ \hbox to \hsize{\hfil\box\@tempboxa\hfil}\fi
+ \vskip 10pt
+ \fi}
+
+
+%\newif\iftable \global\tablefalse
+
+
+%\long\def\@makecaption#1#2{%
+%\setlength{\parindent}{18pt}
+% \vskip 12pt
+% \iftable
+ % \hbox to \hsize{\hfil\sc #1\hfil}
+ % \hbox to \hsize{\hfil\it #2\hfil}
+ % \global\tablefalse
+ % \else
+ % \setbox\@tempboxa\hbox{{\small#1} {\small\it#2}}
+ % \ifdim \wd\@tempboxa >\hsize
+ % \indent{\small#1}{\small\it#2}\par
+ % \else
+ % \hbox to\hsize{\hfil\box\@tempboxa\hfil}\fi
+ % \fi}
+% \vskip 6pt}
+
+
+
+%\def\figure{\global\tablefalse\@float{figure}}
+\def\fnum@figure{\par\sc Fig. \thefigure.\ }
+%\def\fnum@figure{\par\sc Fig. \thefigure\ }
+
+%\def\table{\global\tabletrue\@float{table}}
+\def\fnum@table{\small \sc Table \thetable}
+
+
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% SECTIONS %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\section{\@startsection {section}{1}{\z@}{-3.5ex plus -1ex minus
+ -.2ex}%{2.3ex plus .2ex}
+{2pt}{\large\bf}}
+\def\subsection{\@startsection{subsection}{2}{\z@}{-3.25ex plus -1ex minus
+ -.2ex}%{1.5ex plus .2ex}
+{2pt}{\large\bf}}
+\def\subsubsection{\@startsection {subsubsection}{3}{\z@}{1.3ex plus .5ex minus
+ .2ex}{-.5em plus -.1em}{\normalsize\bf}}
+
+
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% BIBLIOGRAPHY %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\def\thebibliography#1{%
+%\cleardoublepage
+\parindent 0em
+\vspace{9pt}
+\begin{flushleft}\large\bf {References}\end{flushleft}
+\addvspace{3pt}\nopagebreak\list
+ %% default is no labels, for those not using \cite or BibTeX
+{[\arabic{enumi}]} {\settowidth\labelwidth{[#1]}
+%%{[\arabic{enumi}]}{\settowidth\labelwidth{mm}
+\leftmargin\labelwidth
+\leftmargin=17pt
+ \advance\leftmargin\labelsep
+ \usecounter{enumi}\@bibsetup}
+\def\newblock{\hskip .11em plus .33em minus -.07em}
+ \sloppy\clubpenalty4000\widowpenalty4000
+ \sfcode`\.=1000\relax}
+
+
+
+%% setup 8/10 type
+\def\@bibsetup{%\itemindent=0pt
+\itemsep=0pt \parsep=0pt
+\small}
+
+\def\sameauthor{\leavevmode\vrule height 2pt depth -1.6pt width 23pt}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% INDEX %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%makeindex.sty official version 6.4
+%The second line came from /usr/misc/lib/tex82/report.sty.
+
+\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
+\columnseprule \z@
+\columnsep 35pt\twocolumn[\chapter*{Index}]
+ \parskip\z@ plus .3pt\relax\let\item\@idxitem}
+
+
+\def\printindex{\cleardoublepage\markboth{INDEX}{INDEX}
+\addcontentsline{toc}{chapter}{Index}\@input{\jobname.ind}}
+
+\ps@headings
+
+
+%%% end of style file
diff --git a/texmf-dist/tex/latex/siam/proc2e.sty b/texmf-dist/tex/latex/siam/proc2e.sty
new file mode 100644
index 00000000..270777c3
--- /dev/null
+++ b/texmf-dist/tex/latex/siam/proc2e.sty
@@ -0,0 +1,366 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% This is proc2e.sty.
+% This file may be freely distributed but may not be altered in any way.
+% Any comments or questions regarding these macros should be directed to:
+
+% Corey Gray
+% SIAM
+% 3600 University City Science Center
+% Philadelphia, PA 19104-2688
+% USA
+% Telephone: (215) 382-9800
+% Fax: (215) 386-7999
+% e-mail: gray@siam.org
+
+% This is a file of macros and definitions for creating a chapter for
+% publication in the SIAM Proceedings series using LaTeX2e.
+
+% Report the version.
+\message{*** SIAM LaTeX2e Proceedings Series macro package, version 1.1,
+October 28, 1996 ***}
+
+\pretolerance=800
+\tolerance=10000
+\sloppy
+
+
+\vsize=56pc
+\hsize=36pc
+\baselineskip=13pt
+\hoffset -.5in
+\voffset -.5in
+\footskip=18pt
+\topmargin 24pt
+\headheight 12pt
+\headsep 15pt
+\textheight 53.5pc \advance\textheight by \topskip
+\textwidth 36pc
+\parskip 0pt
+\parindent 18pt
+\def\topfraction{.9}
+\def\textfraction{.1}
+\def\topnumber{2}
+%% footnotes to be set 8/10
+\def\footnotesize{\@setsize\footnotesize{11pt}\ixpt\@ixpt
+ % \indent
+ \abovedisplayskip \z@
+ \belowdisplayskip\z@
+ \abovedisplayshortskip\abovedisplayskip
+ \belowdisplayshortskip\belowdisplayshortskip
+\def\@listi{\leftmargin\leftmargini \topsep 3pt plus 1pt minus 1pt
+ \parsep 2pt plus 1pt minus 1pt
+ \itemsep \parsep}}
+
+\let\referencesize\footnotesize
+
+\footnotesep 0pt
+
+\skip\footins 12pt plus 12pt
+
+\def\footnoterule{\kern3\p@ \hrule width 3em\vspace{3pt}} % the \hrule is .4pt high
+
+
+\def\ps@plain{\let\@mkboth\@gobbletwo
+ \def\@oddfoot{{\hfil\small\thepage\hfil}}%
+ \def\@oddhead{}
+ \def\@evenhead{}\def\@evenfoot{}}
+
+
+
+\def\ps@headings{\let\@mkboth\markboth
+ \def\@oddfoot{}\def\@evenfoot{}%
+ \def\@evenhead{{\rm\thepage}\hspace*{2pc}{\sc\leftmark}\hfil}%
+ \def\@oddhead{\hfil{\noindent\sc\rightmark}\hspace*{2pc}{\rm\thepage}}%
+
+
+
+\def\ps@myheadings{\let\@mkboth\@gobbletwo
+ \def\@oddfoot{}\def\@evenfoot{}%
+ \def\@oddhead{\hfil{\sc\rightmark}\hspace*{2pc}{\normalsize\rm\thepage}}%
+ \def\@evenhead{{\normalsize\rm\thepage}\hspace*{2pc}{\sc\leftmark}\hfil}%
+% \def\chaptermark##1{}%
+ % \def\sectionmark##1{}\def\subsectionmark##1{}}
+}}
+
+
+
+\def\theequation{\arabic{equation}}
+
+\def\abstract{\if@twocolumn
+\section*{Abstract}
+\else \small
+\begin{center}
+{\bf Abstract\vspace{-.5em}\vspace{3pt}}
+\end{center}
+\quotation
+\fi}
+\def\endabstract{\if@twocolumn\else\endquotation\fi}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% THEOREMS, PROOFS, ALGORITHMS %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%% defined proof environment by theorem model (took out counter)
+
+\def\qed{{\qquad \vbox{\hrule\hbox{%
+ \vrule height1.3ex\hskip0.8ex\vrule}\hrule
+ }}\par}
+
+\def\newproof#1{\@nprf{#1}}
+
+\def\@nprf#1#2{\@xnprf{#1}{#2}}
+
+\def\@xnprf#1#2{\expandafter\@ifdefinable\csname #1\endcsname
+\global\@namedef{#1}{\@prf{#1}{#2}}\global\@namedef{end#1}{\@endproof}}
+
+\def\@prf#1#2{\@xprf{#1}{#2}}
+
+\def\@xprf#1#2{\@beginproof{#2}{\csname the#1\endcsname}\ignorespaces}
+
+
+
+%%% defined algorithm environment by theorem model
+
+\def\newalgorithm#1{\@ifnextchar[{\@oalg{#1}}{\@nalg{#1}}}
+
+\def\@nalg#1#2{%
+\@ifnextchar[{\@xnalg{#1}{#2}}{\@ynalg{#1}{#2}}}
+
+\def\@xnalg#1#2[#3]{\expandafter\@ifdefinable\csname #1\endcsname
+{\@definecounter{#1}\@addtoreset{#1}{#3}%
+\expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand
+ \csname the#3\endcsname \@thmcountersep \@thmcounter{#1}}%
+\global\@namedef{#1}{\@alg{#1}{#2}}\global\@namedef{end#1}{\@endalgorithm}}}
+
+\def\@ynalg#1#2{\expandafter\@ifdefinable\csname #1\endcsname
+{\@definecounter{#1}%
+\expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
+\global\@namedef{#1}{\@alg{#1}{#2}}\global\@namedef{end#1}{\@endalgorithm}}}
+
+\def\@oalg#1[#2]#3{\expandafter\@ifdefinable\csname #1\endcsname
+ {\global\@namedef{the#1}{\@nameuse{the#2}}%
+\global\@namedef{#1}{\@alg{#2}{#3}}%
+\global\@namedef{end#1}{\@endalgorithm}}}
+
+\def\@alg#1#2{\refstepcounter
+ {#1}\@ifnextchar[{\@yalg{#1}{#2}}{\@xalg{#1}{#2}}}
+
+\def\@xalg#1#2{\@beginalgorithm{#2}{\csname the#1\endcsname}\ignorespaces}
+\def\@yalg#1#2[#3]{\@opargbeginalgorithm{#2}{\csname
+ the#1\endcsname}{#3}\ignorespaces}
+
+
+
+
+\def\@beginproof#1{\rm {\it #1.\ }}
+\def\@endproof{\outerparskip 0pt\endtrivlist}
+
+\def\@begintheorem#1#2{\it {\sc #1\ #2.\ }}
+\def\@opargbegintheorem#1#2#3{\it
+ {\sc #1\ #2\ (#3).\ }}
+\def\@endtheorem{\outerparskip 0pt\endtrivlist}
+
+%\def\@begindefinition#1#2{\rm \trivlist \item[\hskip \labelsep{\sc #1\ #2.}]}
+%\def\@opargbegindefinition#1#2#3{\rm \trivlist
+% \item[\hskip \labelsep{\sc #1\ #2.\ (#3)}]}
+%\def\@enddefinition{\outerparskip 0pt\endtrivlist}
+
+
+\def\@beginalgorithm#1#2{\rm \trivlist \item[\hskip \labelsep{\sc #1\ #2.}]}
+\def\@opargbeginalgorithm#1#2#3{\rm \trivlist
+ \item[\hskip \labelsep{\sc #1\ #2.\ (#3)}]}
+\def\@endalgorithm{\outerparskip 6pt\endtrivlist}
+
+
+\newskip\outerparskip
+
+%\def\trivlist{\parsep\outerparskip
+% \@trivlist \labelwidth\z@ \leftmargin\z@
+% \itemindent\parindent \def\makelabel##1{##1}}
+%
+%\def\@trivlist{\topsep=0pt\@topsepadd\topsep
+% \if@noskipsec \leavevmode \fi
+% \ifvmode \advance\@topsepadd\partopsep \else \unskip\par\fi
+% \if@inlabel \@noparitemtrue \@noparlisttrue
+% \else \@noparlistfalse \@topsep\@topsepadd \fi
+% \advance\@topsep \parskip
+% \leftskip\z@\rightskip\@rightskip \parfillskip\@flushglue
+% \@setpar{\if@newlist\else{\@@par}\fi}%
+% \global\@newlisttrue \@outerparskip\parskip}
+%
+%
+%\def\endtrivlist{\if@newlist\@noitemerr\fi
+% \if@inlabel\indent\fi
+% \ifhmode\unskip \par\fi
+% \if@noparlist \else
+% \ifdim\lastskip >\z@ \@tempskipa\lastskip \vskip -\lastskip
+% \advance\@tempskipa\parskip \advance\@tempskipa -\@outerparskip
+% \vskip\@tempskipa
+% \fi\@endparenv\fi
+% \vskip\outerparskip}
+
+
+
+ \newproof{@proof}{Proof}
+ \newenvironment{proof}{\begin{@proof}}{\end{@proof}}
+
+ \newtheorem{@theorem}{Theorem}[section]
+ \newenvironment{theorem}{\begin{@theorem}}{\end{@theorem}}
+
+% \newalgorithm{@algorithm}{Algorithm}[section]
+% \newenvironment{algorithm}{\begin{@algorithm}}{\end{@algorithm}}
+
+
+
+\newtheorem{lemma}{Lemma}[section]
+\newtheorem{fact}{Fact}[section]
+\newtheorem{corollary}{Corollary}[section]
+\newtheorem{axiom}{Axiom}[section]
+\newtheorem{cond}{Condition}[section]
+\newtheorem{property}{Property}[section]
+\newtheorem{proposition}{Proposition}[section]
+
+\newtheorem{Conjecture}{Conjecture}[section]
+\newtheorem{Definition}{Definition}[section]
+\newtheorem{Lemma}{Lemma}[section]
+\newtheorem{Remark}{Remark}[section]
+
+\newproof{Example}{Example}
+\newproof{Method}{Method}
+\newproof{Exercise}{Exercise}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% TABLE AND FIGURE CAPTIONS %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ \def\@figtxt{figure}
+\long\def\@makecaption#1#2{\small
+\setlength{\parindent}{18pt}
+\baselineskip 14pt
+ \ifx\@captype\@figtxt
+ \vskip 10pt
+ \setbox\@tempboxa\hbox{{\sc #1} {\it #2}}
+ \ifdim \wd\@tempboxa >\hsize {\sc #1} {\it #2}\par \else \hbox
+to\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi\else\hbox to\hsize{\hfil{\sc #1}\hfil}%
+ \setbox\@tempboxa\hbox{{\it #2}}%
+ \ifdim \wd\@tempboxa >\hsize {\it #2}\par \else
+ \hbox to \hsize{\hfil\box\@tempboxa\hfil}\fi
+ \vskip 10pt
+ \fi}
+
+
+%\newif\iftable \global\tablefalse
+
+
+%\long\def\@makecaption#1#2{%
+%\setlength{\parindent}{18pt}
+% \vskip 12pt
+% \iftable
+ % \hbox to \hsize{\hfil\sc #1\hfil}
+ % \hbox to \hsize{\hfil\it #2\hfil}
+ % \global\tablefalse
+ % \else
+ % \setbox\@tempboxa\hbox{{\small#1} {\small\it#2}}
+ % \ifdim \wd\@tempboxa >\hsize
+ % \indent{\small#1}{\small\it#2}\par
+ % \else
+ % \hbox to\hsize{\hfil\box\@tempboxa\hfil}\fi
+ % \fi}
+% \vskip 6pt}
+
+
+
+%\def\figure{\global\tablefalse\@float{figure}}
+\def\fnum@figure{\par\sc Fig. \thefigure.\ }
+%\def\fnum@figure{\par\sc Fig. \thefigure\ }
+
+%\def\table{\global\tabletrue\@float{table}}
+\def\fnum@table{\small \sc Table \thetable}
+
+
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% SECTIONS %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\section{\@startsection {section}{1}{\z@}{-3.5ex plus -1ex minus
+ -.2ex}%{2.3ex plus .2ex}
+{2pt}{\large\bf}}
+\def\subsection{\@startsection{subsection}{2}{\z@}{-3.25ex plus -1ex minus
+ -.2ex}%{1.5ex plus .2ex}
+{2pt}{\large\bf}}
+\def\subsubsection{\@startsection {subsubsection}{3}{\z@}{1.3ex plus .5ex minus
+ .2ex}{-.5em plus -.1em}{\normalsize\bf}}
+
+
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% BIBLIOGRAPHY %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\def\thebibliography#1{%
+%\cleardoublepage
+\parindent 0em
+\vspace{9pt}
+\begin{flushleft}\large\bf {References}\end{flushleft}
+\addvspace{3pt}\nopagebreak\list
+ %% default is no labels, for those not using \cite or BibTeX
+{[\arabic{enumi}]} {\settowidth\labelwidth{[#1]}
+%%{[\arabic{enumi}]}{\settowidth\labelwidth{mm}
+\leftmargin\labelwidth
+\leftmargin=17pt
+ \advance\leftmargin\labelsep
+ \usecounter{enumi}\@bibsetup}
+\def\newblock{\hskip .11em plus .33em minus -.07em}
+ \sloppy\clubpenalty4000\widowpenalty4000
+ \sfcode`\.=1000\relax}
+
+
+
+%% setup 8/10 type
+\def\@bibsetup{%\itemindent=0pt
+\itemsep=0pt \parsep=0pt
+\small}
+
+\def\sameauthor{\leavevmode\vrule height 2pt depth -1.6pt width 23pt}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% INDEX %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%makeindex.sty official version 6.4
+%The second line came from /usr/misc/lib/tex82/report.sty.
+
+\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
+\columnseprule \z@
+\columnsep 35pt\twocolumn[\chapter*{Index}]
+ \parskip\z@ plus .3pt\relax\let\item\@idxitem}
+
+
+\def\printindex{\cleardoublepage\markboth{INDEX}{INDEX}
+\addcontentsline{toc}{chapter}{Index}\@input{\jobname.ind}}
+
+\ps@headings
+
+
+%%% end of style file
diff --git a/texmf-dist/tex/latex/siam/ptexproc.sty b/texmf-dist/tex/latex/siam/ptexproc.sty
new file mode 100644
index 00000000..6848b8f4
--- /dev/null
+++ b/texmf-dist/tex/latex/siam/ptexproc.sty
@@ -0,0 +1,320 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% This is ptexproc.sty
+% This file may be freely distributed but may not be altered in any way.
+% Any comments or questions regarding these macros should be directed to:
+
+% Corey Gray
+% SIAM
+% 3600 University City Science Center
+% Philadelphia, PA 19104-2688
+% USA
+% Telephone: (215) 382-9800
+% Fax: (215) 386-7999
+% e-mail: gray@siam.org
+
+%
+% This is a file of macros and definitions for creating a chapter
+% for publication in the SIAM Proceedings Series using Plain TeX.
+
+% Report the version.
+\message{*** SIAM Plain TeX Proceedings Series macro package, version 1.0,
+November 6, 1992.***}
+
+% Make the @ sign a letter for internal control sequences.
+\catcode`\@=11
+%
+%
+%
+
+\overfullrule=0pt
+\baselineskip=14truept
+
+
+%%% DIMENSIONS %%%
+
+\hsize=36truepc
+\vsize=55truepc
+%\hoffset=.5in
+\parindent=18truept
+\def\firstpar{\parindent=0pt\global\everypar{\parindent=18truept}}
+\parskip=0pt
+
+
+%%% FONTS %%%
+
+\font\tenrm=cmr10
+\font\tenbf=cmbx10
+\font\tenit=cmti10
+\font\tensmc=cmcsc10
+\def\tenpoint{%
+ \def\rm{\tenrm}\def\bf{\tenbf}%
+ \def\it{\tenit}\def\smc{\tensmc}
+ \textfont0=\tenrm \scriptfont0=\sevenrm
+ \textfont1=\teni \scriptfont1=\seveni
+ \textfont2=\tensy \scriptfont2=\sevensy
+ \textfont3=\tenex \scriptfont3=\tenex
+\baselineskip=12pt\rm}%
+
+\font\ninerm=cmr9
+\font\ninebf=cmbx9
+\font\nineit=cmti9
+\def\ninepoint{%
+ \def\rm{\ninerm}\def\bf{\ninebf}%
+ \def\it{\nineit}\baselineskip=11pt\rm}%
+
+\font\eightrm=cmr8
+\font\eightbf=cmbx8
+\font\eightit=cmti8
+\font\eighti=cmmi8
+\font\eightsy=cmsy8
+\def\eightpoint{%
+ \def\rm{\eightrm}\def\bf{\eightbf}%
+ \def\it{\eightit}\def\smc{\eightrm}\baselineskip=10pt\rm%
+ \textfont0=\eightrm \scriptfont0=\sixrm
+ \textfont1=\eighti \scriptfont1=\sixi
+ \textfont2=\eightsy \scriptfont2=\sixsy
+ \textfont3=\tenex \scriptfont3=\tenex
+}
+
+\font\sixrm=cmr6
+\font\sixbf=cmbx6
+\font\sixi=cmmi6
+\font\sixsmc=cmr5
+\font\sixsy=cmsy6
+\def\sixpoint{%
+ \def\rm{\sixrm}\def\bf{\sixbf}%
+ \def\smc{\sixsmc}\baselineskip=8pt\rm}%
+
+\fontdimen13\tensy=2.6pt
+\fontdimen14\tensy=2.6pt
+\fontdimen15\tensy=2.6pt
+\fontdimen16\tensy=1.2pt
+\fontdimen17\tensy=1.2pt
+\fontdimen18\tensy=1.2pt
+
+\font\eightrm=cmr8
+\font\ninerm=cmr9
+\font\elevenrm=cmr10 scaled\magstephalf
+\font\fourteenrm=cmr10 scaled\magstep 1
+\font\eighteenrm=cmr10 scaled\magstep 3
+\font\twelvebf=cmbx10 scaled\magstep 1
+\font\elevenbf=cmbx10 scaled\magstephalf
+\font\elevenit=cmti10 scaled\magstephalf
+\font\elevensc=cmcsc10 scaled\magstephalf
+
+\def\theoremfont{\elevensc}
+\def\textfont{\elevenrm}
+\def\itfont{\elevenit}
+\def\headfont{\twelvebf}
+\def\smallheadfont{\elevenbf}
+\def\titlefont{\eighteenrm}
+\def\chapterfont{\fourteenrm}
+\def\authorfont{\fourteenrm}
+\def\rheadfont{\tenrm}
+\def\abstractfont{\tenrm}
+\def\smc{\tensmc}
+\font\eightsmc=cmcsc8
+
+\def\footnote#1{\baselineskip=11truept\edef\@sf{\spacefactor\the\spacefactor}#1\@sf
+ \insert\footins\bgroup\ninepoint\hsize=36pc
+ \interlinepenalty10000 \let\par=\endgraf
+ \leftskip=0pt \rightskip=0pt
+ \splittopskip=10pt plus 1pt minus 1pt \floatingpenalty=20000
+\smallskip
+\item{#1}\bgroup\baselineskip=10pt\strut
+\aftergroup\@foot\let\next}
+\skip\footins=12pt plus 2pt minus 4pt
+\dimen\footins=36pc
+
+
+
+%%% CHAPTER OPENING MACROS %%%
+
+\def\startchapter{\topinsert\vglue54pt\endinsert}
+
+\def\title#1\endtitle{\titlefont\centerline{#1}\vglue5pt}%\vskip40truept\tenrm}
+\def\lasttitle#1\endlasttitle{\titlefont\centerline{#1}\vskip1.32truepc}
+\def\author#1\endauthor{\authorfont\centerline{#1}\vglue8pt\textfont}
+\def\lastauthor#1\endlastauthor{\authorfont\centerline{#1}\vglue2.56pc\textfont}
+\def\abstract#1\endabstract{\baselineskip=12pt\leftskip=2.25pc
+ \rightskip=2.25pc\abstractfont{#1}\textfont}
+
+%%% COUNTERS FOR HEADINGS %%%
+
+\newcount\headcount
+\headcount=1
+\newcount\seccount
+\seccount=1
+\newcount\subseccount
+\subseccount=1
+\def\secreset{\global\seccount=1}
+ \def\subsecreset{\global\subseccount=1}
+
+%%% HEADINGS %%%
+
+\def\headone#1{\baselineskip=14pt\leftskip=0pt\rightskip=0pt\vskip17truept\parindent=0pt
+{\headfont\the\headcount\hskip14truept #1}
+\par\nobreak\firstpar\global\advance\headcount by 0
+ \global\advance\headcount by 1\secreset\vskip2truept\textfont}
+
+\def\headtwo#1{\advance\headcount by -1%
+ \vskip17truept\parindent=0pt{\headfont\the\headcount.%
+ \the\seccount\hskip14truept #1}%\enspace\ignorespaces\firstpar
+ \global\advance\headcount by 1\global\advance\seccount by 1
+ \global\advance\subseccount by 1\subsecreset\vskip2pt\textfont}
+
+ \def\headthree#1{\advance\headcount by -1\advance\seccount by -1
+% \advance\subseccount by -1%
+ \vskip17truept\parindent=0pt{\smallheadfont\the\headcount.%
+ \the\seccount.\the\subseccount\hskip11truept #1}\hskip6pt\ignorespaces
+ \firstpar\global\advance\headcount by 1\global\advance\seccount by 1
+ \global\advance\subseccount by 1\textfont}
+
+%%% THEOREMS, PROOFS, DEFINITIONS, etc. %%%
+
+\def\thm#1{{\theoremfont
+#1\enspace}
+\hskip-5pt\begingroup\itfont\ignorespaces}
+
+\let\lem=\thm
+\let\cor=\thm
+\let\prop=\thm
+
+\def\endthm{\endgroup\textfont}
+\let\endlem=\endthm
+\let\endcor=\endthm
+\let\endprop=\endthm
+
+\def\prf#1{{\itfont #1.}\textfont\enspace\ignorespaces}
+\let\rem=\prf
+\let\case=\prf
+
+\def\endprf{\textfont}
+\let\endrem=\endprf
+\let\endcase=\endprf
+
+\def\qed{{\qquad \vbox{\hrule\hbox{%
+ \vrule height1.3ex\hskip0.8ex\vrule}\hrule
+ }}\par}
+
+\def\dfn#1{{\theoremfont
+#1\enspace}
+\textfont\ignorespaces}
+
+\let\fact=\dfn
+
+\def\enddfn{\textfont}
+
+\let\endfact=\enddfn
+
+%%% FIGURES AND CAPTIONS %%%
+
+
+\newcount\figcount
+\figcount=1
+
+
+%\newcount\tablenumber
+%\tablenumber=1
+
+\def\\{\hfill\break}
+
+\newbox\TestBox
+\newdimen\setwd
+\newskip\belowcaptionskip
+\belowcaptionskip=6pt plus 1pt
+
+\def\endinsert{\egroup % finish the \vbox
+ \if@mid \dimen@\ht\z@ \advance\dimen@\dp\z@
+ \advance\dimen@12\p@ \advance\dimen@\pagetotal
+ \ifdim\dimen@>\pagegoal\@midfalse\p@gefalse\fi\fi
+ \if@mid\vskip\belowcaptionskip\box\z@\par \penalty-200\vskip\belowcaptionskip
+ \else\insert\topins{\penalty100 % floating insertion
+ \splittopskip\z@skip
+ \splitmaxdepth\maxdimen \floatingpenalty\z@
+ \ifp@ge \dimen@\dp\z@
+ \vbox to\vsize{\unvbox\z@\kern-\dimen@}% depth is zero
+ \else \box\z@\nobreak\vskip\belowcaptionskip\fi}\fi\endgroup}
+
+
+
+
+\def\fig#1#2#3{%
+ \setbox\TestBox=\hbox{\tenpoint #3.}\setwd=\wd\TestBox
+ \topinsert
+ \vskip #1
+ \vskip 12pt
+ \ifdim\setwd > 23pc
+ {\tenit{\smc #2.}\ \ #3}
+ \else
+ \centerline{\tenit\noindent
+ {\smc #2.}\ \ #3}\fi%
+ % \global\advance\figcount by 1
+ \endinsert}
+
+
+
+%%% REFERENCES %%%
+
+\newdimen\refindent@
+\newdimen\refhangindent@
+\newbox\refbox@
+\setbox\refbox@=\hbox{\tenrm\baselineskip=11pt [00]}% Default 2 digits
+\refindent@=\wd\refbox@
+
+\def\resetrefindent#1{%
+ \setbox\refbox@=\hbox{\tenrm\baselineskip=11pt [#1]}%
+ \refindent@=\wd\refbox@}
+
+\def\Refs{%
+ \unskip\vskip1pc
+ \leftline{\noindent\headfont References}%
+ \penalty10000
+ \vskip4pt
+ \penalty10000
+ \refhangindent@=\refindent@
+ \global\advance\refhangindent@ by .5em
+ \global\everypar{\hangindent\refhangindent@}%
+ \parindent=0pt\baselineskip=12pt\tenrm}
+
+\def\sameauthor{\leavevmode\vbox to 1ex{\vskip 0pt plus 100pt
+ \hbox to 2em{\leaders\hrule\hfil}\vskip 0pt plus 300pt}}
+
+\def\ref#1\\#2\endref{\leavevmode\hbox to \refindent@{\hfil[#1]}\enspace #2\par}
+
+
+%%% OUTPUT %%%
+
+\def\rightheadline{\hfill\tensmc\rightrh\hskip2pc\tenrm\folio}
+\def\leftheadline{\tenrm\folio\hskip2pc\tensmc\leftrh\hfill}
+
+\global\footline={\hss\tenrm\folio\hss}% first page
+
+\output{\plainoutput}
+\def\plainoutput{\shipout\vbox{\makeheadline\pagebody\makefootline}%
+ \advancepageno
+ \ifnum\pageno>1
+ \global\footline={\hfill}%
+ \fi
+ \ifodd\pageno
+ \global\headline={\rightheadline}%
+ \else
+ \global\headline={\leftheadline}%
+ \fi
+ \ifnum\outputpenalty>-\@MM \else\dosupereject\fi}
+\def\pagebody{\vbox to\vsize{\boxmaxdepth\maxdepth \pagecontents}}
+\def\makeheadline{\vbox to\z@{\vskip-22.5\p@
+ \line{\vbox to8.5\p@{}\rheadfont\the\headline}\vss}%
+ \nointerlineskip}
+\def\makefootline{\baselineskip24\p@\vskip-6\p@\line{\the\footline}}
+\def\dosupereject{\ifnum\insertpenalties>\z@ % something is being held over
+ \line{}\kern-\topskip\nobreak\vfill\supereject\fi}
+
+\def\footnoterule{\vskip11pt\kern -4\p@\hrule width 3pc \kern 3.6\p@ } % rule = .4 pt high
+
+% Turn off @ as being a letter.
+%
+\catcode`\@=13
+
+%end of style file
diff --git a/tlpkg/texlive.tlpdb b/tlpkg/texlive.tlpdb
index 5bbe3221..f8ac6e4c 100644
--- a/tlpkg/texlive.tlpdb
+++ b/tlpkg/texlive.tlpdb
@@ -1,13 +1,13 @@
name 00texlive.config
category TLCore
-revision 269
+revision 371
depend container_format/xz
depend container_split_doc_files/1
depend container_split_src_files/1
depend frozen/0
-depend minrelease/2016
+depend minrelease/2023
depend release/2100-nonfree
-depend revision/349
+depend revision/378
name 00texlive.installation
category TLCore
@@ -32,7 +32,7 @@ depend opt_sys_info:/usr/local/share/info
depend opt_sys_man:/usr/local/share/man
depend opt_w32_multi_user:1
depend opt_write18_restricted:1
-depend setting_available_architectures:amd64-freebsd amd64-netbsd armel-linux armhf-linux i386-cygwin i386-darwin i386-freebsd i386-linux i386-netbsd i386-solaris powerpc-darwin powerpc-linux sparc-solaris universal-darwin win32 x86_64-cygwin x86_64-darwin x86_64-darwinlegacy x86_64-linux x86_64-solaris
+depend setting_available_architectures:amd64-freebsd amd64-netbsd armel-linux armhf-linux i386-cygwin i386-darwin i386-freebsd i386-linux i386-netbsd i386-solaris powerpc-darwin powerpc-linux sparc-solaris universal-darwin windows x86_64-cygwin x86_64-darwin x86_64-darwinlegacy x86_64-linux x86_64-solaris
name acmtrans
category Package
@@ -301,18 +301,11 @@ catalogue-topics collection pdf-forms
name acrotex-js
category Package
revision 335
-shortdesc JavaScript files used by acrotex and other packages
-longdesc In the distribution of this package are two critical JavaScript
-longdesc files (aeb.js and aeb_pro.js) used by the packages insdljs,
-longdesc aeb-pro, thorshammer, and docassembly. Previously these JS
-longdesc files where distributed with the individual packages, now they
-longdesc are distributed by this package and must be installed according
-longdesc to the instructions in the docs folder.
docfiles size=223
- texmf-dist/doc/latex/acrotex-js/README.md details="Readme"
+ texmf-dist/doc/latex/acrotex-js/README.md
texmf-dist/doc/latex/acrotex-js/acrobat-in-workflow.pdf
texmf-dist/doc/latex/acrotex-js/acrobat-in-workflow.tex
- texmf-dist/doc/latex/acrotex-js/acrotex-js.pdf details="Package documentation"
+ texmf-dist/doc/latex/acrotex-js/acrotex-js.pdf
texmf-dist/doc/latex/acrotex-js/install_jsfiles.pdf
texmf-dist/doc/latex/acrotex-js/install_jsfiles.tex
texmf-dist/doc/latex/acrotex-js/js-files/aeb-reader.js
@@ -325,9 +318,6 @@ srcfiles size=3
texmf-dist/source/latex/acrotex-js/acrotex-js.ins
runfiles size=1
texmf-dist/tex/latex/acrotex-js/acrotex-js.sty
-catalogue-ctan /macros/latex/contrib/acrotex-js
-catalogue-license lppl
-catalogue-topics pdf-feat acrobat
name adobecaslon
category Package
@@ -1230,12 +1220,12 @@ shortdesc universal-darwin files of cjk-gs-integrate-macos
binfiles arch=universal-darwin size=1
bin/universal-darwin/cjk-gs-integrate-macos
-name cjk-gs-integrate-macos.win32
+name cjk-gs-integrate-macos.windows
category Package
-revision 95
-shortdesc win32 files of cjk-gs-integrate-macos
-binfiles arch=win32 size=1
- bin/win32/cjk-gs-integrate-macos.exe
+revision 371
+shortdesc windows files of cjk-gs-integrate-macos
+binfiles arch=windows size=1
+ bin/windows/cjk-gs-integrate-macos.exe
name cjk-gs-integrate-macos.x86_64-cygwin
category Package
@@ -1433,7 +1423,7 @@ catalogue-version 0.6
name collection-contrib
category Collection
-revision 344
+revision 366
shortdesc tlcontrib packages
longdesc collections of all packages in contrib.texlive.info
depend acmtrans
@@ -1484,7 +1474,6 @@ depend hiraprop
depend icon-appr
depend imprintmtshadow
depend japanese-otf-nonfree
-depend japanese-otf-uptex-nonfree
depend jj-game
depend joy-of-tex
depend lettergothic
@@ -1497,6 +1486,7 @@ depend lucidabr
depend lucold
depend luxi
depend mathstone
+depend mathtime-ltx
depend mkstmpdad
depend notocjksc
depend notocondensed
@@ -1511,6 +1501,7 @@ depend rangen
depend renditions
depend richtext
depend rmannot
+depend siam
depend spark-otf-fonts
depend thorshammer
depend thsmc
@@ -1767,16 +1758,9 @@ catalogue-topics caption adobe-distiller
name docassembly
category Package
revision 329
-shortdesc Use the Acrobat JavaScript API
-longdesc This package defines the docassembly environment in which
-longdesc JavaScript code can be written to execute once and only once
-longdesc the newly created PDF in the Acrobat application. The package
-longdesc also defines a series of helper commands to execute security
-longdesc restricted JavaScript methods. The package depends on
-longdesc acrotex-js.
docfiles size=587
- texmf-dist/doc/latex/docassembly/README.md details="Readme"
- texmf-dist/doc/latex/docassembly/docassembly.pdf details="Package documentation"
+ texmf-dist/doc/latex/docassembly/README.md
+ texmf-dist/doc/latex/docassembly/docassembly.pdf
texmf-dist/doc/latex/docassembly/examples/attach-files.tex
texmf-dist/doc/latex/docassembly/examples/certifyinvisible.pdf
texmf-dist/doc/latex/docassembly/examples/certifyinvisible.tex
@@ -1807,9 +1791,6 @@ srcfiles size=7
texmf-dist/source/latex/docassembly/docassembly.ins
runfiles size=2
texmf-dist/tex/latex/docassembly/docassembly.sty
-catalogue-ctan /macros/latex/contrib/docassembly
-catalogue-license lppl1.2
-catalogue-topics pdf-feat
name dps
category Package
@@ -2301,13 +2282,10 @@ catalogue-version 0.6
name fontsetup-nonfree
category Package
-revision 317
-shortdesc A front-end to fontspec, for selected non-free fonts
-longdesc This package accompanies fontsetup and includes support for
-longdesc nonfree fonts.
-docfiles size=155
- texmf-dist/doc/latex/fontsetup-nonfree/README details="Readme"
- texmf-dist/doc/latex/fontsetup-nonfree/fontsetup-nonfree-doc.pdf details="Package documentation"
+revision 378
+docfiles size=152
+ texmf-dist/doc/latex/fontsetup-nonfree/README
+ texmf-dist/doc/latex/fontsetup-nonfree/fontsetup-nonfree-doc.pdf
texmf-dist/doc/latex/fontsetup-nonfree/fontsetup-nonfree-doc.tex
texmf-dist/doc/latex/fontsetup-nonfree/fspsample-cambria.pdf
texmf-dist/doc/latex/fontsetup-nonfree/fspsample-lucida.pdf
@@ -2318,15 +2296,11 @@ docfiles size=155
texmf-dist/doc/latex/fontsetup-nonfree/system-install-fonts/fsplpscel.otf
texmf-dist/doc/latex/fontsetup-nonfree/system-install-fonts/fspmnscel.otf
runfiles size=5
- texmf-dist/tex/latex/fontsetup-nonfree/fspcambria.sty
- texmf-dist/tex/latex/fontsetup-nonfree/fsplucidaot.sty
- texmf-dist/tex/latex/fontsetup-nonfree/fspminion.sty
- texmf-dist/tex/latex/fontsetup-nonfree/fspmsgaramondot.sty
- texmf-dist/tex/latex/fontsetup-nonfree/fsppalatinoot.sty
-catalogue-ctan /macros/unicodetex/latex/fontsetup-nonfree
-catalogue-license gpl3
-catalogue-topics font-sel font-supp xetex luatex maths
-catalogue-version 1.02
+ texmf-dist/tex/latex/fontsetup-nonfree/fspcambria.tex
+ texmf-dist/tex/latex/fontsetup-nonfree/fsplucidaot.tex
+ texmf-dist/tex/latex/fontsetup-nonfree/fspminion.tex
+ texmf-dist/tex/latex/fontsetup-nonfree/fspmsgaramondot.tex
+ texmf-dist/tex/latex/fontsetup-nonfree/fsppalatinoot.tex
name futurans
category Package
@@ -4127,13 +4101,13 @@ binfiles arch=universal-darwin size=2
bin/universal-darwin/getnonfreefonts
bin/universal-darwin/getnonfreefonts-sys
-name getnonfreefonts.win32
+name getnonfreefonts.windows
category Package
-revision 3
-shortdesc win32 files of getnonfreefonts
-binfiles arch=win32 size=2
- bin/win32/getnonfreefonts-sys.exe
- bin/win32/getnonfreefonts.exe
+revision 371
+shortdesc windows files of getnonfreefonts
+binfiles arch=windows size=2
+ bin/windows/getnonfreefonts-sys.exe
+ bin/windows/getnonfreefonts.exe
name getnonfreefonts.x86_64-cygwin
category Package
@@ -4411,10 +4385,11 @@ catalogue-version 1.0
name japanese-otf-nonfree
category Package
-revision 292
-docfiles size=1
+revision 377
+docfiles size=2
+ texmf-dist/doc/fonts/japanese-otf-nonfree/COPYRIGHT
texmf-dist/doc/fonts/japanese-otf-nonfree/README
-runfiles size=400
+runfiles size=373
texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hirakaku-w3-h.ofm
texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hirakaku-w3-v.ofm
texmf-dist/fonts/ofm/public/japanese-otf-nonfree/hirakaku-w6-h.ofm
@@ -4445,6 +4420,16 @@ runfiles size=400
texmf-dist/fonts/tfm/public/japanese-otf-nonfree/phiraminw3-v.tfm
texmf-dist/fonts/tfm/public/japanese-otf-nonfree/phiraminw6-h.tfm
texmf-dist/fonts/tfm/public/japanese-otf-nonfree/phiraminw6-v.tfm
+ texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphirakakuw3-h.tfm
+ texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphirakakuw3-v.tfm
+ texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphirakakuw6-h.tfm
+ texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphirakakuw6-v.tfm
+ texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphiramaruw4-h.tfm
+ texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphiramaruw4-v.tfm
+ texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphiraminw3-h.tfm
+ texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphiraminw3-v.tfm
+ texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphiraminw6-h.tfm
+ texmf-dist/fonts/tfm/public/japanese-otf-nonfree/upphiraminw6-v.tfm
texmf-dist/fonts/vf/public/japanese-otf-nonfree/phirakakuw3-h.vf
texmf-dist/fonts/vf/public/japanese-otf-nonfree/phirakakuw3-v.vf
texmf-dist/fonts/vf/public/japanese-otf-nonfree/phirakakuw6-h.vf
@@ -4455,33 +4440,16 @@ runfiles size=400
texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiraminw3-v.vf
texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiraminw6-h.vf
texmf-dist/fonts/vf/public/japanese-otf-nonfree/phiraminw6-v.vf
-
-name japanese-otf-uptex-nonfree
-category Package
-revision 292
-docfiles size=1
- texmf-dist/doc/fonts/japanese-otf-uptex-nonfree/README
-runfiles size=33
- texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphirakakuw3-h.tfm
- texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphirakakuw3-v.tfm
- texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphirakakuw6-h.tfm
- texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphirakakuw6-v.tfm
- texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphiramaruw4-h.tfm
- texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphiramaruw4-v.tfm
- texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphiraminw3-h.tfm
- texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphiraminw3-v.tfm
- texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphiraminw6-h.tfm
- texmf-dist/fonts/tfm/public/japanese-otf-uptex-nonfree/upphiraminw6-v.tfm
- texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphirakakuw3-h.vf
- texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphirakakuw3-v.vf
- texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphirakakuw6-h.vf
- texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphirakakuw6-v.vf
- texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphiramaruw4-h.vf
- texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphiramaruw4-v.vf
- texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphiraminw3-h.vf
- texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphiraminw3-v.vf
- texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphiraminw6-h.vf
- texmf-dist/fonts/vf/public/japanese-otf-uptex-nonfree/upphiraminw6-v.vf
+ texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphirakakuw3-h.vf
+ texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphirakakuw3-v.vf
+ texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphirakakuw6-h.vf
+ texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphirakakuw6-v.vf
+ texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphiramaruw4-h.vf
+ texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphiramaruw4-v.vf
+ texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphiraminw3-h.vf
+ texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphiraminw3-v.vf
+ texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphiraminw6-h.vf
+ texmf-dist/fonts/vf/public/japanese-otf-nonfree/upphiraminw6-v.vf
name jj-game
category Package
@@ -4894,19 +4862,19 @@ runfiles size=3
catalogue-ctan /macros/latex/contrib/ltx4yt
catalogue-license lppl
catalogue-topics multimedia pdf-feat
+catalogue-version 0.7
name lucida-otf
category Package
-revision 101
+revision 373
shortdesc Support for the Lucida Bright fonts (OpenType)
longdesc This package supports the non-free fonts from Bigelow & Holmes
longdesc which are available from the TUG office for a special price for
-longdesc members of any TeX user group. See https://tug.org/lucida
-docfiles size=62
+longdesc members of any TeX user group. See http://tug.org/lucida
+docfiles size=60
texmf-dist/doc/latex/lucida-otf/Changes
texmf-dist/doc/latex/lucida-otf/README.md details="Readme"
texmf-dist/doc/latex/lucida-otf/lucida-otf-doc.bib
- texmf-dist/doc/latex/lucida-otf/lucida-otf-doc.fonts
texmf-dist/doc/latex/lucida-otf/lucida-otf-doc.pdf details="Package documentation"
texmf-dist/doc/latex/lucida-otf/lucida-otf-doc.tex
runfiles size=20
@@ -4960,7 +4928,7 @@ runfiles size=48
texmf-dist/tex/latex/lucidabr/omxhlcv.fd
catalogue-alias psnfssx-luc
catalogue-also lucida
-catalogue-contact-home https://tug.org/lucida/
+catalogue-contact-home http://tug.org/lucida/
catalogue-ctan /macros/latex/contrib/psnfssx/lucidabr
catalogue-license lppl1.3
catalogue-topics font-supp font-use
@@ -5252,6 +5220,32 @@ catalogue-license gpl3
catalogue-topics font-supp-maths font-absent
catalogue-version 2.0
+name mathtime-ltx
+category Package
+revision 362
+shortdesc LaTeX macros for using MathTime and MathTime Plus
+docfiles size=1
+ texmf-dist/doc/latex/mathtime-ltx/mathtime.txt details="Package outline"
+srcfiles size=15
+ texmf-dist/source/latex/mathtime-ltx/mathtime.dtx
+ texmf-dist/source/latex/mathtime-ltx/mathtime.ins
+ texmf-dist/source/latex/mathtime-ltx/mtfonts.fdd
+runfiles size=14
+ texmf-dist/fonts/enc/dvips/mathtime-ltx/mh2scr.enc
+ texmf-dist/tex/latex/mathtime-ltx/mathpi.sty
+ texmf-dist/tex/latex/mathtime-ltx/mathtime.sty
+ texmf-dist/tex/latex/mathtime-ltx/my1mtt.fd
+ texmf-dist/tex/latex/mathtime-ltx/my2mtt.fd
+ texmf-dist/tex/latex/mathtime-ltx/my3mtt.fd
+ texmf-dist/tex/latex/mathtime-ltx/omslby.fd
+ texmf-dist/tex/latex/mathtime-ltx/umh2.fd
+ texmf-dist/tex/latex/mathtime-ltx/umh2scr.fd
+ texmf-dist/tex/latex/mathtime-ltx/umh6.fd
+ texmf-dist/tex/latex/mathtime-ltx/umtms.fd
+catalogue-ctan /macros/latex/contrib/psnfssx/mathtime
+catalogue-license lppl
+catalogue-topics font-supp-maths
+
name mkstmpdad
category Package
revision 130
@@ -5313,17 +5307,12 @@ catalogue-version 1.004
name notocondensed
category Package
revision 349
-shortdesc Support for the condensed variants of the Noto fonts
-longdesc This package provides pdfLaTeX, XeLaTeX and LuaLaTeX support
-longdesc for the condensed variants of the NotoSerif, NotoSans and
-longdesc NotoSansMono families of fonts, designed by Steve Matteson for
-longdesc Google.
depend noto
execute addMap notocondensed.map
docfiles size=90
texmf-dist/doc/fonts/notocondensed/LICENSE_OFL.txt
- texmf-dist/doc/fonts/notocondensed/README details="Readme"
- texmf-dist/doc/fonts/notocondensed/notocondensed-samples.pdf details="Font samples"
+ texmf-dist/doc/fonts/notocondensed/README
+ texmf-dist/doc/fonts/notocondensed/notocondensed-samples.pdf
texmf-dist/doc/fonts/notocondensed/notocondensed-samples.tex
runfiles size=64926
texmf-dist/fonts/map/dvips/notocondensed/notocondensed.map
@@ -21880,10 +21869,6 @@ runfiles size=64926
texmf-dist/fonts/vf/google/notocondensed/NotoSerif-SemiCondensedThinItalic-tosf-ts1.vf
texmf-dist/tex/latex/notocondensed/notocondensed-mono.sty
texmf-dist/tex/latex/notocondensed/notocondensed.sty
-catalogue-contact-home https://www.google.com/get/noto/
-catalogue-ctan /fonts/notocondensed
-catalogue-license ofl lppl
-catalogue-topics font font-body font-proportional font-mono font-multilingual font-greek font-sans font-serif font-ttf font-type1 font-supp font-t1enc
name opacity-pro
category Package
@@ -21966,6 +21951,41 @@ catalogue-license other-free
catalogue-topics font-supp
catalogue-version 1.0a
+name pdftex-dev
+category TLCore
+revision 354
+depend atbegshi
+depend atveryend
+depend babel
+depend cm
+depend dehyph
+depend everyshi
+depend firstaid
+depend hyph-utf8
+depend hyphen-base
+depend kpathsea
+depend l3backend
+depend l3kernel
+depend l3packages
+depend latex
+depend latex-fonts
+depend latexconfig
+depend pdftex
+depend pdftex-dev.ARCH
+depend tex-ini-files
+depend unicode-data
+execute AddFormat name=devlatex engine=pdftex-dev patterns=language.dat options="-translate-file=cp227.tcx *latex.ini" fmttriggers=atbegshi,atveryend,babel,cm,everyshi,firstaid,hyphen-base,l3backend,l3kernel,l3packages,latex,latex-fonts,tex-ini-files,unicode-data,latex,dehyph,hyph-utf8,latexconfig
+execute AddFormat name=devpdflatex engine=pdftex-dev patterns=language.dat options="-translate-file=cp227.tcx *pdflatex.ini" fmttriggers=atbegshi,atveryend,babel,cm,everyshi,firstaid,hyphen-base,l3backend,l3kernel,l3packages,latex,latex-fonts,tex-ini-files,unicode-data,latex,dehyph,hyph-utf8,latexconfig
+
+name pdftex-dev.x86_64-linux
+category TLCore
+revision 354
+shortdesc x86_64-linux files of pdftex-dev
+binfiles arch=x86_64-linux size=657
+ bin/x86_64-linux/devlatex
+ bin/x86_64-linux/devpdflatex
+ bin/x86_64-linux/pdftex-dev
+
name pmdb
category Package
revision 325
@@ -21986,7 +22006,7 @@ longdesc content is loaded into the default application, possibly a
longdesc LaTeX editor. For the Ctrl+Click feature to work, the file
longdesc aeb-reader.js needs to be installed. As the filename suggests,
longdesc this file will work for Adobe Acrobat Reader (DC), as well as
-longdesc for the magnificent Adobe Acrobat itself.
+longdesc for Adobe Acrobat itself.
docfiles size=418
texmf-dist/doc/latex/pmdb/README.md details="Readme"
texmf-dist/doc/latex/pmdb/examples/chapters/doc1.tex
@@ -22288,9 +22308,47 @@ runfiles size=19
texmf-dist/tex/latex/rmannot/rmannot.sty
catalogue-contact-home http://www.math.uakron.edu/~dpstory/rmannot.html
catalogue-ctan /macros/latex/contrib/rmannot
-catalogue-license lppl
+catalogue-license lppl1
catalogue-topics pdf-feat pdf-forms adobe-distiller
+name siam
+category Package
+revision 365
+shortdesc Styles for SIAM publications
+longdesc Packages for plain TeX and both LaTeX and old LaTeX 2.09, with
+longdesc instructions for submissions. The bundle includes usage
+longdesc templates for all three packages.
+docfiles size=136
+ texmf-dist/doc/latex/siam/README details="Package README"
+ texmf-dist/doc/latex/siam/ltexconf.all
+ texmf-dist/doc/latex/siam/ltexnec.all
+ texmf-dist/doc/latex/siam/ltexproc.all
+ texmf-dist/doc/latex/siam/makeindx/makeidx.doc
+ texmf-dist/doc/latex/siam/makeindx/makeindx.tex
+ texmf-dist/doc/latex/siam/proc209.all
+ texmf-dist/doc/latex/siam/proc209.tex
+ texmf-dist/doc/latex/siam/proc2e.all
+ texmf-dist/doc/latex/siam/proc2e.tex
+ texmf-dist/doc/latex/siam/ptexconf.all
+ texmf-dist/doc/latex/siam/ptexnec.all
+ texmf-dist/doc/latex/siam/ptexproc.all
+ texmf-dist/doc/latex/siam/ptexproc.tex
+ texmf-dist/doc/latex/siam/siamatex.tar
+ texmf-dist/doc/latex/siam/siamltex.zip
+ texmf-dist/doc/latex/siam/siamptex.tar
+ texmf-dist/doc/latex/siam/soda209.all
+ texmf-dist/doc/latex/siam/soda2e.all
+ texmf-dist/doc/latex/siam/sodaptex.all
+runfiles size=14
+ texmf-dist/bibtex/bst/siam/siamproc.bst
+ texmf-dist/tex/latex/siam/proc209.sty
+ texmf-dist/tex/latex/siam/proc2e.sty
+ texmf-dist/tex/latex/siam/ptexproc.sty
+catalogue-ctan /macros/latex/contrib/siam
+catalogue-license nosell
+catalogue-topics journalpub
+catalogue-version 1.1
+
name spark-otf-fonts
category Package
revision 71
diff --git a/tlpkg/tlpsrc/00texlive.autopatterns.tlpsrc b/tlpkg/tlpsrc/00texlive.autopatterns.tlpsrc
index c2e084b3..df5500ba 100644
--- a/tlpkg/tlpsrc/00texlive.autopatterns.tlpsrc
+++ b/tlpkg/tlpsrc/00texlive.autopatterns.tlpsrc
@@ -47,7 +47,7 @@ tlpsetvar global_no_luajit_platforms x86_64-solaris
# the patterns, in preparation for supporting w64 in addition to w32,
# and perhaps others in the future. The name ${global_wndws} was just
# too long, so there is a super-special case in the code.
-tlpsetvar wndws win32
+#tlpsetvar wndws windows
# It would be ideal to be able to specify the non-jit platforms here,
# but it's not crucial, so we haven't implemented ${global_} expansion
diff --git a/tlpkg/tlpsrc/00texlive.config.tlpsrc b/tlpkg/tlpsrc/00texlive.config.tlpsrc
index 65ea92a7..4b4c8b30 100644
--- a/tlpkg/tlpsrc/00texlive.config.tlpsrc
+++ b/tlpkg/tlpsrc/00texlive.config.tlpsrc
@@ -1,4 +1,4 @@
category TLCore
depend container_format/xz
depend release/2100-nonfree
-depend minrelease/2016
+depend minrelease/2023
diff --git a/tlpkg/tlpsrc/collection-contrib.tlpsrc b/tlpkg/tlpsrc/collection-contrib.tlpsrc
index ce59f986..750851d1 100644
--- a/tlpkg/tlpsrc/collection-contrib.tlpsrc
+++ b/tlpkg/tlpsrc/collection-contrib.tlpsrc
@@ -49,7 +49,6 @@ depend hiraprop
depend icon-appr
depend imprintmtshadow
depend japanese-otf-nonfree
-depend japanese-otf-uptex-nonfree
depend jj-game
depend joy-of-tex
depend lettergothic
@@ -62,6 +61,7 @@ depend lucida-otf
depend lucold
depend luxi
depend mathstone
+depend mathtime-ltx
depend mkstmpdad
depend notocjksc
depend notocondensed
@@ -76,6 +76,7 @@ depend rangen
depend renditions
depend richtext
depend rmannot
+depend siam
depend spark-otf-fonts
depend thorshammer
depend thsmc
diff --git a/tlpkg/tlpsrc/japanese-otf-uptex-nonfree.tlpsrc b/tlpkg/tlpsrc/mathtime-ltx.tlpsrc
index e69de29b..e69de29b 100644
--- a/tlpkg/tlpsrc/japanese-otf-uptex-nonfree.tlpsrc
+++ b/tlpkg/tlpsrc/mathtime-ltx.tlpsrc
diff --git a/tlpkg/tlpsrc/siam.tlpsrc b/tlpkg/tlpsrc/siam.tlpsrc
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tlpkg/tlpsrc/siam.tlpsrc