summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/ijmart
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/ijmart
Initial commit
Diffstat (limited to 'macros/latex/contrib/ijmart')
-rw-r--r--macros/latex/contrib/ijmart/Makefile62
-rw-r--r--macros/latex/contrib/ijmart/README33
-rw-r--r--macros/latex/contrib/ijmart/ijmart.bib137
-rw-r--r--macros/latex/contrib/ijmart/ijmart.bst1226
-rw-r--r--macros/latex/contrib/ijmart/ijmart.dtx1709
-rw-r--r--macros/latex/contrib/ijmart/ijmart.ins29
-rw-r--r--macros/latex/contrib/ijmart/ijmart.pdfbin0 -> 386604 bytes
-rw-r--r--macros/latex/contrib/ijmart/ijmsample.bib169
-rw-r--r--macros/latex/contrib/ijmart/ijmsample.pdfbin0 -> 539601 bytes
-rw-r--r--macros/latex/contrib/ijmart/ijmsample.tex2308
10 files changed, 5673 insertions, 0 deletions
diff --git a/macros/latex/contrib/ijmart/Makefile b/macros/latex/contrib/ijmart/Makefile
new file mode 100644
index 0000000000..322c5b4611
--- /dev/null
+++ b/macros/latex/contrib/ijmart/Makefile
@@ -0,0 +1,62 @@
+#
+# Makefile for ijmart package
+#
+# This file is in public domain
+#
+# $Id: Makefile,v 1.4 2007-08-21 02:04:10 boris Exp $
+#
+
+PACKAGE=ijmart
+
+SAMPLES = \
+ ijmsample.tex
+
+PDF = $(PACKAGE).pdf ${SAMPLES:%.tex=%.pdf}
+
+all: ${PDF}
+
+
+%.pdf: %.dtx $(PACKAGE).cls
+ pdflatex $<
+ - bibtex $*
+ pdflatex $<
+ - makeindex -s gind.ist -o $*.ind $*.idx
+ - makeindex -s gglo.ist -o $*.gls $*.glo
+ pdflatex $<
+ while ( grep -q '^LaTeX Warning: Label(s) may have changed' $*.log) \
+ do pdflatex $<; done
+
+
+%.cls: %.ins %.dtx
+ pdflatex $<
+
+%.pdf: %.tex $(PACKAGE).cls
+ pdflatex $<
+ - bibtex $*
+ pdflatex $<
+ while ( grep -q '^LaTeX Warning: Label(s) may have changed' $*.log) \
+ do pdflatex $<; done
+
+
+
+.PRECIOUS: $(PACKAGE).cfg $(PACKAGE).cls
+
+
+clean:
+ $(RM) $(PACKAGE).cls *.log *.aux \
+ *.cfg *.glo *.idx *.toc \
+ *.ilg *.ind *.out *.lof \
+ *.lot *.bbl *.blg *.gls \
+ *.dvi *.ps *.thm *.tgz *.zip
+
+distclean: clean
+ $(RM) $(PDF)
+
+#
+# Archive for the distribution. Includes typeset documentation
+#
+archive: all clean
+ tar -czvf $(PACKAGE).tgz --exclude '*~' --exclude '*.tgz' --exclude '*.zip' --exclude CVS .
+
+zip: all clean
+ zip -r $(PACKAGE).zip * -x '*~' -x '*.tgz' -x '*.zip' -x CVS -x 'CVS/*' \ No newline at end of file
diff --git a/macros/latex/contrib/ijmart/README b/macros/latex/contrib/ijmart/README
new file mode 100644
index 0000000000..9f47dab6ce
--- /dev/null
+++ b/macros/latex/contrib/ijmart/README
@@ -0,0 +1,33 @@
+ IJMART: LATEX CLASS FOR THE ISRAEL JOURNAL OF MATHEMATICS
+
+The Israel Journal of Mathematics is published by The Hebrew
+University Magnes Press. This class provides LaTeX support for its
+authors and editors. It strives to achieve the distinct ``look and
+feel'' of the journal, while having the interface similar to the one
+of the amsart document class. This will help the authors already
+familiar with amsart to easily submit manuscripts for The Israel
+Journal of Mathematics or to put the preprints in http://www.arxiv.org
+with minimal changes in the LaTeX source.
+
+Changes:
+
+Version 1.1: Added environments namedprop and namedprop* for special
+ named propositions.
+
+Version 1.1a: Minor documentation updates.
+
+Version 1.2: New table of contents formatting.
+
+Version 1.3: Changed the typesetting of proofs that end by a math
+ display. This involves interface changes.
+ Changed table of contents formatting (again).
+
+Version 1.4: Fixed the bug inherited from amsart: now appendices
+ do not cause large indentations in table of contents
+
+Version 1.5: Added compatibility with babel
+
+Version 1.6: Bibliography style now understands fjournal field.
+ Documentation update
+
+Version 1.7: Changes in sample file \ No newline at end of file
diff --git a/macros/latex/contrib/ijmart/ijmart.bib b/macros/latex/contrib/ijmart/ijmart.bib
new file mode 100644
index 0000000000..9d24a24294
--- /dev/null
+++ b/macros/latex/contrib/ijmart/ijmart.bib
@@ -0,0 +1,137 @@
+,-------------------.
+| BIBTEX ENTRIES |
+`-------------------'
+
+@manual{Downes04:amsart,
+ author = {Michael Downes and Barbara Beeton},
+ month = {August},
+ note =
+ {\url{http://www.ctan.org/tex-archive/macros/latex/required/amslatex/classes%
+}},
+ organization = {American Mathematical Society},
+ title = {The \textsf{amsart}, \textsf{amsproc}, and
+ \textsf{amsbook} document~classes},
+ year = {2004},
+}
+
+@book{Graetzer00:MathIntoLaTeX,
+ address = {Boston},
+ author = {George Gr\"aetzer},
+ edition = {Third},
+ publisher = {Birkh\"auser},
+ title = {Math into \LaTeX},
+ year = {2000},
+}
+
+@misc{TeXFAQ,
+ author = {UK \TeX{} Users Group},
+ howpublished = {\url{http://www.tex.ac.uk/cgi-bin/texfaq2html}},
+ title = {{UK} List of {\TeX} Frequently Asked Questions},
+ year = {2006},
+}
+
+@manual{Oberdiek06:Ifpdf,
+ author = {Heiko Oberdiek},
+ month = {February},
+ note =
+ {\url{http://ctan.tug.org/tex-archive/macros/latex/contrib/oberdiek}},
+ title = {The \textsf{ifpdf} Package},
+ year = {2006},
+}
+
+@manual{Oostrum04:Fancyhdr,
+ author = {van Oostrum, Piet},
+ month = {March},
+ note =
+ {\url{http://ctan.tug.org/tex-archive/macros/latex/contrib/fancyhdr}},
+ title = {Page Layout in \LaTeX},
+ year = {2004},
+}
+
+@manual{Goldberg94:Lastpage,
+ author = {Jeff Goldberg},
+ month = {July},
+ note =
+ {\url{http://www.ctan.org/tex-archive/macros/latex/contrib/lastpage}},
+ title = {The \textsf{lastpage} Package},
+ year = {1994},
+}
+
+@manual{amsldoc,
+ month = {February},
+ note =
+ {\url{http://ctan.tug.org/tex-archive/macros/latex/required/amslatex/math/am%
+sldoc.pdf}},
+ organization = {American Mathematical Society},
+ title = {User's Guide for the \textsf{amsmath} Package
+ (Version~2.0)},
+ year = {2002},
+}
+
+@manual{Braams05:Babel,
+ author = {Johannes Braams},
+ month = {April},
+ note =
+ {\url{http://www.ctan.org/tex-archive/macros/latex/required/babel}},
+ title = {Babel, a Multilingual Package For Use With {\LaTeX}'s
+ Standard Document Classes},
+ year = {2005},
+}
+
+@manual{instr-l,
+ month = {August},
+ note =
+ {\url{http://www.ctan.org/tex-archive/macros/latex/required/amslatex/classes%
+/instr-l.pdf}},
+ organization = {American Mathematical Society},
+ title = {Instructions for Preparation of Papers and
+ Monographs, {AMS\LaTeX}},
+ year = {2004},
+}
+
+@book{Goossens97:LateXGraphicsCompanion,
+ address = {Reading, Ma.},
+ author = {Michel Goossens and Sebastian Rahtz and
+ Frank Mittelbach},
+ chapter = {},
+ publisher = {Addison-Wesley},
+ series = {Addison-Wesley Series on Tools and Techniques for
+ Computer Typesetting},
+ title = {The \LaTeX{} Graphics Companion: Illustrating
+ Documents With \TeX{} and {PostScript}},
+ year = {1997},
+}
+
+@manual{Wilson04:Memoir,
+ author = {Peter Wilson},
+ month = {January},
+ note =
+ {\url{http://ctan.tug.org/tex-archive/macros/latex/contrib/memoir}},
+ title = {The Memoir Class for Configurable Typesetting},
+ year = {2004},
+}
+
+@manual{classes,
+ author = {Leslie Lamport and Frank Mittelbach and
+ Johannes Braams},
+ note =
+ {\url{http://ctan.tug.org/tex-archive/macros/latex/base}},
+ title = {Standard Document Classes for {\LaTeX{}} version 2e},
+ year = {1997},
+}
+
+@Manual{Carlisle95:indentfirst,
+ title = {The \textsf{indentfirst} package},
+ author = {David Carlisle},
+ month = {November},
+ year = 1995,
+ note = {\url{http://www.ctan.org/tex-archive/macros/latex/required/tools/indentfirst.pdf}}
+}
+
+@Manual{amsthdoc,
+ title = {Using the \texttt{amsthm} Package},
+ organization = {American Mathematical Society},
+ month = {August},
+ year = 2004,
+ note = {\url{http://www.ctan.org/tex-archive/macros/latex/required/amslatex/classes/amsthdoc.pdf}}
+}
diff --git a/macros/latex/contrib/ijmart/ijmart.bst b/macros/latex/contrib/ijmart/ijmart.bst
new file mode 100644
index 0000000000..d307da3361
--- /dev/null
+++ b/macros/latex/contrib/ijmart/ijmart.bst
@@ -0,0 +1,1226 @@
+%%% ====================================================================
+%%% @BibTeX-style-file{
+%%% filename = "ijmart.bst",
+%%% copyright = "Copyright 1995 American Mathematical Society,
+%%% 2005 The Hebrew University Magnes Press (changes)
+%%% all rights reserved. Copying of this file is
+%%% authorized only if either:
+%%% (1) you make absolutely no changes to your copy,
+%%% including name; OR
+%%% (2) if you do make changes, you first rename it
+%%% to some other name.",
+%%% abstract = "BibTeX bibliography style `ijmart' for BibTeX
+%%% versions 0.99a or later and LaTeX version 2e.
+%%% Produces numeric-label bibliography items in
+%%% a form typical for the Israel journal of
+%%% Mathematics. The style is based on amsplain.bst
+%%%
+%%% }
+%%% ====================================================================
+
+% See the file btxbst.doc for extra documentation other than
+% what is included here. And see btxhak.tex for a description
+% of the BibTeX language and how to use it.
+
+% This defines the types of fields that can occur in a database entry
+% for this particular bibliography style. Except for `language',
+% this is the standard list from plain.bst.
+
+%% Types of entries currently allowed in a BibTeX file:
+%%
+%% ARTICLE -- An article from a journal or magazine.
+%%
+%% BOOK -- A book with an explicit publisher.
+%%
+%% BOOKLET -- A work that is printed and bound,
+%% but without a named publisher or sponsoring institution.
+%%
+%% CONFERENCE -- The same as INPROCEEDINGS,
+%% included for Scribe compatibility.
+%%
+%% INBOOK -- A part of a book,
+%% which may be a chapter (or section or whatever) and/or a range of pages.
+%%
+%% INCOLLECTION -- A part of a book having its own title.
+%%
+%% INPROCEEDINGS -- An article in a conference proceedings.
+%%
+%% MANUAL -- Technical documentation.
+%%
+%% MASTERSTHESIS -- A Master's thesis.
+%%
+%% MISC -- Use this type when nothing else fits.
+%%
+%% PHDTHESIS -- A PhD thesis.
+%%
+%% PROCEEDINGS -- The proceedings of a conference.
+%%
+%% TECHREPORT -- A report published by a school or other institution,
+%% usually numbered within a series.
+%%
+%% UNPUBLISHED -- A document having an author and title, but not formally
+%% published.
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ fjournal
+ key
+ language
+ month
+ mrnumber
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+{}
+ { label }
+
+
+% Removed after.sentence, after.block---not needed.
+
+INTEGERS { output.state before.all mid.sentence }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+}
+
+% Scratch variables:
+
+STRINGS { s t }
+
+% Utility functions
+
+FUNCTION {shows}
+{ duplicate$ ":::: `" swap$ * "'" * top$
+}
+
+FUNCTION {showstack}
+{"STACK====================================================================="
+top$
+stack$
+"ENDSTACK=================================================================="
+top$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textsl{" swap$ * "}" * }
+ if$
+}
+
+% n.dashify is used to make sure page ranges get the TeX code
+% (two hyphens) for en-dashes.
+
+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$
+}
+
+% tie.or.space.connect connects two items with a ~ if the
+% second item is less than 3 letters long, otherwise it just puts an
+% ordinary space.
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {add.space.if.necessary}
+{ duplicate$ "" =
+ 'skip$
+ { " " * }
+ if$
+}
+
+% either.or.check gives a warning if two mutually exclusive fields
+% were used in the database.
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+% output.nonnull is called by output.
+
+FUNCTION {output.nonnull}
+% remove the top item from the stack because it's in the way.
+{ 's :=
+ output.state mid.sentence =
+% If we're in mid-sentence, add a comma to the new top item and write it
+ { ", " * write$ }
+% Otherwise, if we're at the beginning of a bibitem,
+ { output.state before.all =
+% just write out the top item from the stack;
+ 'write$
+% and the last alternative is that we're at the end of the current
+% bibitem, so we add a period to the top stack item and write it out.
+ { add.period$ " " * write$ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+% Put the top item back on the stack that we removed earlier.
+ s
+}
+
+% Output checks to see if the stack top is empty; if not, it
+% calls output.nonnull to write it out.
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+% Standard warning message for a missing or empty field. For the user
+% we call any such field `missing' without respect to the distinction
+% made by BibTeX between missing and empty.
+
+FUNCTION {missing.warning}
+{ "missing " swap$ * " in " * cite$ * warning$ }
+
+% Output.check is like output except that it gives a warning on-screen
+% if the given field in the database entry is empty. t is the field
+% name.
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ t missing.warning }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+% This empty string is the first thing that will be written
+% the next time write$ is called. Done this way because each
+% item is saved on the stack until we find out what punctuation
+% should be added after it. Therefore we need an empty first item.
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.nonempty.mrnumber}
+{ duplicate$ missing$
+ { pop$ "" }
+ 'skip$
+ if$
+ duplicate$ empty$
+ 'pop$
+ { " \MR{" swap$ * "}" * write$ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ mrnumber output.nonempty.mrnumber
+ newline$
+}
+
+% Removed new.block, new.block.checka, new.block.checkb, new.sentence,
+% new.sentence.checka, and new.sentence.checkb functions here, since they
+% don't seem to be needed in the AMS style. Also moved some real
+% basic functions like `and' and 'or' earlier in the file.
+
+INTEGERS { nameptr namesleft numnames }
+
+% The extra section to write out a language field was added
+% for AMSPLAIN.BST. Not present in plain.bst.
+
+FUNCTION {format.language}
+{ language empty$
+ { "" }
+ { " (" language * ")" * }
+ if$
+}
+
+% This version of format.names puts names in the format
+%
+% First von Last, Jr.
+%
+% (i.e., first name first, no abbreviating to initials).
+%
+% Changed by BV, 2008/01/20: no comma before "and"
+
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #3 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { " (eds.)" * }
+ { " (ed.)" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.nonauthor.editors}
+{ 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 {format.journal.vol.year}
+{ fjournal empty$
+ { journal empty$
+ { "journal name" missing.warning ""}
+ { journal }
+ if$ }
+ { fjournal }
+ if$
+ volume empty$
+ 'skip$
+ { " \textbf{" * volume * "}" * }
+ if$
+ year empty$
+ { "year" missing.warning }
+ { " (" * year * ")" * }
+ if$
+}
+
+% For formatting the issue number for a journal article.
+
+FUNCTION {format.number}
+{ number empty$
+ { "" }
+ { "no.~" number * }
+ if$
+}
+
+% For formatting miscellaneous dates
+
+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$
+}
+
+%% The volume, series and number information is sort of tricky.
+%% This code handles it as follows:
+%% If the series is present, and the volume, but not the number,
+%% then we do "\emph{Book title}, Series Name, vol. 000"
+%% If the series is present, and the number, but not the volume,
+%% then we do "\emph{Book title}, Series Name, no. 000"
+%% If the series is present, and both number and volume,
+%% then we do "\emph{Book title}, vol. XX, Series Name, no. 000"
+%% Finally, if the series is absent,
+%% then we do "\emph{Book title}, vol. XX"
+%% or "\emph{Book title}, no. 000"
+%% and if both volume and number are present, give a warning message.
+
+FUNCTION {format.bookvolume.series.number}
+{ volume empty$
+ { "" % Push the empty string as a placeholder in case everything else
+ % is empty too.
+ series empty$
+ 'skip$
+ { pop$ series } % if series is not empty put in stack
+ if$
+ number empty$
+ 'skip$
+ { duplicate$ empty$ % if no preceding material,
+ 'skip$ % do nothing, otherwise
+ { ", " * } % add a comma and space to separate.
+ if$
+ "no." number tie.or.space.connect * % add the number information
+ }
+ if$
+ }
+%% If the volume is NOT EMPTY:
+ { "vol." volume tie.or.space.connect % vol. XX
+ number empty$
+ { series empty$
+ 'skip$
+ { series ", " * swap$ *} % Series Name, vol. XX
+ if$
+ }
+ { series empty$
+ { "can't use both volume and number if series info is missing"
+ warning$
+ "in BibTeX entry type `" type$ * "'" * top$
+ }
+ { ", " * series * ", no." * number tie.or.space.connect }
+ if$
+ }
+ if$
+ }
+ if$
+
+} % end of format.bookvolume.series.number
+
+%% format.inproc.title.where.editors is used by inproceedings entry types
+
+%% No case changing or emphasizing for the title. We want initial
+%% caps, roman.
+%% We add parentheses around the address (place where conference
+%% was held).
+%% Likewise we add parentheses around the editors' names.
+
+FUNCTION {format.inproc.title.address.editors}
+{ booktitle empty$
+ { "" }
+ { booktitle
+ address empty$
+ 'skip$
+ { add.space.if.necessary "(" * address * ")" * }
+ if$
+ editor empty$
+ 'skip$
+ { add.space.if.necessary "(" * format.nonauthor.editors * ")" * }
+ if$
+ }
+ if$
+}
+
+%% format.incoll.title.editors is similar to format.inproc... but
+%% omits the address. For collections that are not proceedings volumes.
+
+FUNCTION {format.incoll.title.editors}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { booktitle }
+ { booktitle
+ add.space.if.necessary "(" * format.nonauthor.editors * ")" *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " ed." * }
+ { edition "t" change.case$ " ed." * }
+ if$
+ }
+ 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 n.dashify }
+ if$
+}
+
+FUNCTION {format.book.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { "pp.~" pages n.dashify * }
+ { "p.~" pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.book.pages
+ { type empty$
+ { "ch.~" }
+ { type "l" change.case$ " " * }
+ if$
+ chapter *
+ pages empty$
+ 'skip$
+ { ", " * format.book.pages * }
+ 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 "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Tech. Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+% The format.crossref functions haven't been paid much attention
+% at the present time (June 1990) and could probably use some
+% work. MJD
+
+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 tie.or.space.connect
+ " 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 \emph{" booktitle * "}" * }
+ if$
+ }
+ { "in " key * }
+ if$
+ }
+ { "in " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% The main functions for each entry type.
+
+% journal, vol and year are formatted together because they are
+% not separated by commas.
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.journal.vol.year output
+ format.number output
+ format.pages "pages" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages "pages" output.check
+ }
+ if$
+ format.language *
+ 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.title "title" output.check
+ format.edition output
+ crossref missing$
+ { format.bookvolume.series.number output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull
+ }
+ if$
+ format.date "year" output.check
+ format.language *
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ format.title "title" output.check
+ howpublished output
+ address output
+ format.date output
+ 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.title "title" output.check
+ format.edition output
+ crossref missing$
+ { format.bookvolume.series.number output
+ format.chapter.pages "chapter and pages" output.check
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.date "year" output.check
+ format.language *
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.incoll.title.editors "booktitle" output.check
+ format.bookvolume.series.number output
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ note output
+ format.book.pages output
+ format.language *
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.inproc.title.address.editors "booktitle" output.check
+ format.bookvolume.series.number output
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ note output
+ format.book.pages output
+ format.language *
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ format.title "title" output.check
+ author empty$
+ { organization empty$
+ { address output }
+ 'skip$
+ if$
+ }
+ { organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ 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
+ note output
+ format.book.pages output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ format.title output
+ howpublished output
+ format.date output
+ note output
+ format.book.pages output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ "Ph.D. thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ note output
+ format.book.pages output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ format.title "title" output.check
+ format.bookvolume.series.number output
+ address empty$
+ { editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ if$
+ 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
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+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{ }}{ ff{ }}{ 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 prev.author this.author }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+ "abcxyz" 'prev.author :=
+ "" 'this.author :=
+}
+
+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$
+ author empty$
+ { editor empty$
+ { "" }
+ 'editor
+ if$
+ }
+ 'author
+ if$
+ 'this.author :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {write.lines}
+{ { duplicate$ "." = NOT }
+ { write$ newline$ }
+ while$
+ pop$
+}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\providecommand{\MR}{\relax\ifhmode\unskip\space\fi MR }"
+ write$ newline$
+ "% \MRhref is called by the amsart/book/proc definition of \MR."
+ write$ newline$
+ "\providecommand{\MRhref}[2]{%"
+ write$ newline$
+ " \href{http://www.ams.org/mathscinet-getitem?mr=#1}{#2}"
+ write$ newline$
+ "}"
+ write$ newline$
+ "\providecommand{\href}[2]{#2}"
+ write$ newline$
+ "\begin{thebibliography}{" longest.label * "}" *
+ write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+
diff --git a/macros/latex/contrib/ijmart/ijmart.dtx b/macros/latex/contrib/ijmart/ijmart.dtx
new file mode 100644
index 0000000000..ee11d20483
--- /dev/null
+++ b/macros/latex/contrib/ijmart/ijmart.dtx
@@ -0,0 +1,1709 @@
+% \iffalse
+% $Id: ijmart.dtx,v 1.52 2013-06-25 03:33:52 boris Exp $
+%
+% Copyright 2007-2010, The Hebrew University Magnes Press
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3 of this license or (at your option) any
+% later version.
+% The latest version of the license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of
+% LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Boris Veytsman,
+% <borisv@lk.net>
+%
+% This work consists of the file ijmart.dtx and the
+% derived file ijmart.cls
+%
+% \fi
+% \CheckSum{861}
+%
+%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%
+%\iffalse
+% Taken from xkeyval.dtx
+%\fi
+%\makeatletter
+%\def\DescribeOption#1{\leavevmode\@bsphack
+% \marginpar{\raggedleft\PrintDescribeOption{#1}}%
+% \SpecialOptionIndex{#1}\@esphack\ignorespaces}
+%\def\PrintDescribeOption#1{\strut\emph{option}\\\MacroFont #1\ }
+%\def\SpecialOptionIndex#1{\@bsphack
+% \index{#1\actualchar{\protect\ttfamily#1}
+% (option)\encapchar usage}%
+% \index{options:\levelchar#1\actualchar{\protect\ttfamily#1}\encapchar
+% usage}\@esphack}
+%\def\DescribeOptions#1{\leavevmode\@bsphack
+% \marginpar{\raggedleft\strut\emph{options}%
+% \@for\@tempa:=#1\do{%
+% \\\strut\MacroFont\@tempa\SpecialOptionIndex\@tempa
+% }}\@esphack\ignorespaces}
+%\makeatother
+%
+% \MakeShortVerb{|}
+% \GetFileInfo{ijmart.dtx}
+% \newcommand{\progname}[1]{\textsf{#1}}
+% \title{\LaTeX{} Class for \emph{The Israel Journal of Mathematics}\thanks{\copyright 2007, The Hebrew University Magnes Press}}
+% \author{Boris Veytsman\thanks{%
+% \href{mailto:borisv@lk.net}{\texttt{borisv@lk.net}},
+% \href{mailto:boris@varphi.com}{\texttt{boris@varphi.com}}}}
+% \date{\filedate, \fileversion}
+% \maketitle
+% \begin{abstract}
+% This package provides a class for typesetting articles for
+% \emph{The Israel Journal of Mathematics}
+% \end{abstract}
+% \tableofcontents
+%
+% \clearpage
+%
+% \changes{v0.2}{2007/08/20}{First fully functional version}
+% \changes{v0.3}{2007/08/23}{Documentation update}
+% \changes{v1.0}{2007/09/03}{Documentation update}
+% \changes{v1.1a}{2007/10/14}{Documentation update}
+% \changes{v1.3}{2008/01/27}{Documented the use of qedhere and mqedhere}
+% \changes{v1.6}{2010/10/28}{Documentation updates: illustrations and
+% bibliography}
+% \changes{v1.7}{2013/06/23}{Change in a sample file}
+%
+%\section{Introduction}
+%\label{sec:intro}
+%
+% \emph{The Israel Journal of Mathematics} is published by \emph{The
+% Hebrew University Magnes Press}. This class provides \LaTeX{}
+% support for its authors and editors. It strives to achieve the
+% distinct ``look and feel'' of the journal, while having the
+% interface similar to the one of the \progname{amsart} document
+% class~\cite{Downes04:amsart}. This will help the authors already
+% familiar with \progname{amsart} to easily submit manuscripts for \emph{The
+% Israel Journal of Mathematics} or to put the preprints in
+% \url{http://www.arxiv.org} with minimal changes in the \LaTeX{}
+% source.
+%
+% This goal determined the implementation approach. We load the
+% \progname{amsart} class and redefine some of its internals on the fly. There
+% are some additional commands added to support the features specific
+% to the journal, but we aimed to keep their number minimal.
+%
+% An author well acquainted with AMS\LaTeX{} should find this package
+% easy to use and configurable. The User Manual below illustrates the
+% basic use of the class and discusses the differences with \progname{amsart}.
+% For an in-depth tutorial of AMS\LaTeX{} I could recommend the
+% excellent book~\cite{Graetzer00:MathIntoLaTeX}.
+%
+%
+%\section{User's Guide}
+%\label{sec:manual}
+%
+%
+%\subsection{Installation}
+%\label{sec:installation}
+%
+% The installation of the class follows the usual
+% practice~\cite{TeXFAQ} for \LaTeX{} packages:
+% \begin{enumerate}
+% \item Run \progname{latex} on |ijmart.ins|. This will produce the file
+% |ijmart.cls|.
+% \item Put the files |ijmart.cls| and |ijmart.bst| to
+% the places where \LaTeX{} and Bib\TeX{} can find them (see
+% \cite{TeXFAQ} or the documentation for your \TeX{}
+% system).\label{item:install}
+% \item Update the database of file names. Again, see \cite{TeXFAQ}
+% or the documentation for your \TeX{} system for the system-specific
+% details.\label{item:update}
+% \item The file |ijmart.pdf| provides the documentation for the
+% package (this is the file you are probably reading now).
+% \end{enumerate}
+% As an alternative to items~\ref{item:install} and~\ref{item:update}
+% you can just put the files in the working directory where your
+% |.tex| file is.
+%
+%
+% The class uses some other \LaTeX{} classes or packages. Most
+% probably, they are already installed on your system. If not (or if
+% their versions are very old), you need to download and
+% install them. Here is the list:
+% \begin{enumerate}
+% \item \progname{amsart} class and related packages~\cite{Downes04:amsart},
+% \item \progname{ifpdf} package~\cite{Oberdiek06:Ifpdf},
+% \item \progname{fancyhdr} package~\cite{Oostrum04:Fancyhdr},
+% \item \progname{lastpage} package~\cite{Goldberg94:Lastpage}.
+% \end{enumerate}
+%
+%
+%\subsection{Invocation}
+%\label{sec:invocation}
+%
+% To use the class, put in the preamble of your document
+% \begin{flushleft}
+% |\documentclass[|\meta{options}|]{ijmart}|
+% \end{flushleft}
+% The class internally loads \progname{amsart}, so all facilities of
+% \progname{amsart}~\cite{Graetzer00:MathIntoLaTeX, amsldoc} can be used in the
+% source.
+%
+%
+% \DescribeOption{french}
+% Most of the options are just passed to
+% \progname{amsart} (see~\cite{Graetzer00:MathIntoLaTeX, amsldoc} for their
+% description). The class \progname{ijmart} adds one new option |french|. If
+% it is chosen, some words in the top matter will be typeset in
+% French. Note that this option does \emph{not} change the names of
+% the table of contents and references. An author should also include
+% a call, for example, to the Babel package~\cite{Braams05:Babel},
+% which takes care of these and other details of international
+% typesetting.
+%
+% If the author indeed chooses \progname{babel}, then the option
+% |french| is passed to the package. Therefore the following works:
+% \begin{verbatim}
+% \documentclass[french]{ijmart}
+% \usepackage{babel} % the french option is passed to the package
+% \end{verbatim}
+% Please note that \progname{babel} scans the global options first,
+% but the main language of the document must be the last one.
+% Therefore if the paper is written in French, but uses English
+% quotations, the proper way to call \progname{babel} is the following:
+% \begin{verbatim}
+% \documentclass[french]{ijmart}
+% \usepackage[english,french]{babel}
+% \end{verbatim}
+%
+%
+%
+% By default \progname{babel} redefines French captions for figures
+% and tables to use \textsc{Fig.} and \textsc{Tab.} correspondingly.
+% If this is not
+% acceptable, the authors should add to the preamble \emph{after} the
+% call to \progname{babel} the following:
+% \begin{verbatim}
+% \addto\captionsfrench{%
+% \renewcommand{\figurename}{Figure}%
+% \renewcommand{\tablename}{Table}}%
+% \end{verbatim}
+%
+% \DescribeOptions{draft,final}
+% The options |draft| and |final| work in the same way as for
+% \progname{amsart} and standard \LaTeX. If the option |draft| is
+% chosen, the overfull lines are marked by black boxes on the margins
+% \emph{and} the |\includegraphics| prints blank placeholders for the
+% images. The option |final| (default) switches off the marking of
+% overfull lines and restores the behavior of |\includegraphics|. To
+% switch on just the overfull marks, without changing the behavior of
+% |\includegraphics|, one can either explicitly pass the option final
+% to \progname{graphics} package:
+% \begin{verbatim}
+% \documentclass[draft]{ijmart}
+% \usepackage[final]{graphics}
+% \end{verbatim}
+% or add in the beginning of the document
+% \begin{verbatim}
+% \overfullrule=5pt
+% \end{verbatim}
+%
+%
+%
+% \DescribeOptions{8pt,9pt,10pt,11pt,12pt}
+% The size-changing options of \progname{amsart} class (|8pt|, |9pt|,
+% \dots, |12pt|) have no effect other than producing a warning in the
+% log since the journal is designed for
+% only one type size (roughly corresponding to |10pt| of
+% \progname{amsart}).
+%
+%
+%
+% The journal uses a special paper size. If you process the
+% manuscript with \progname{pdflatex} to produce PDF output, the paper
+% dimensions will be automatically set up by the class. However, if
+% you use \progname{latex} and \progname{dvips}, you need to tell
+% \progname{dvips} what paper size to choose. One way to do this is
+% to add to the \progname{dvips} options the following:
+% \begin{verbatim}
+% -T 5.964in,8.844in -O -0in,0.1in
+% \end{verbatim}
+%
+%
+%\subsection{Top Matter}
+%\label{sec:top_matter}
+%
+% Top matter contains the information about the paper: authors, title,
+% affiliations, etc. The interface for \progname{ijmart} top matter is very
+% close to the one used by \progname{amsart}. We added a couple of commands to
+% deal with the information specific to the \emph{The Israel Journal of
+% Mathematics} and changed the behavior of several other commands to
+% suit the style of the journal. These changes are documented below.
+%
+% There are two kinds of top matter commands: the ones used primarily
+% for authors and the ones used primarily for editors. We describe
+% them separately.
+%
+%
+%\subsubsection{Commands for Authors}
+%\label{sec:authors_commands}
+%
+% \DescribeMacro{\title}
+% The command |\title|, as in \progname{amsart} class, has two arguments: one
+% optional, and one mandatory:
+% \begin{flushleft}
+% |\title[|\meta{ShortTitle}|]{|\meta{FullTitle}|}|
+% \end{flushleft}
+% The mandatory argument is the full title of the article. The
+% optional argument, if present, defines the shorter version of the
+% title for running heads. If the optional argument is absent, the
+% full title is used instead. Note that the titles are typeset in
+% upper case, but you do not need to input them in capital letters:
+% the class does the conversion automatically.
+%
+% The optional argument should be used in two cases: when the full
+% title is too long to fit in the running head, \emph{and} when the
+% author wants to add a footnote or linebreaks to the title. Unlike
+% \progname{amsart}, \progname{ijmart} allows the command |\thanks|
+% inside |\title| and |\author| commands. However, the footnote
+% belongs to the title typeset in the top matter, not to the running
+% head version. The optional argument in this case helps, as in the
+% following example:
+% \begin{verbatim}
+% \title[Some properties of $\sigma$-algebras]{%
+% Some properties of $\sigma$-algebras\thanks{%
+% The work was supported by grant from NSF No.~123456789-MMMM}}
+% \end{verbatim}
+% The line breaks in the title, if neccessary, are introduced by the
+% command |\linebreak| in the second (mandatory) argument of |\title|:
+% \begin{verbatim}
+% \title[Title with line breaks]{Title \linebreak with line breaks}
+% \end{verbatim}
+%
+%
+%
+%
+% \DescribeMacro{\author} \DescribeMacro{\address}
+% \DescribeMacro{\curraddr} \DescribeMacro{\email}
+% \DescribeMacro{\urladdr} The interface for specifying the authors
+% and their affiliations is close the the one of
+% \progname{amsart}~\cite{instr-l} (and different from the standard \LaTeX).
+% For each author a separate command |\author| should be used,
+% followed by |\address| and (optionally) |\curraddr|, |\email| and
+% |\urladdr|. The lines in the address should be divided by |\\|.
+% Like the newer versions of \progname{amsart}, \progname{ijmart} does
+% \emph{not}
+% require the doubling of the |@| symbols in the e-mail addresses.
+% The macro |\author| has two arguments, similarly to |\title|:
+% \begin{flushleft}
+% |\author[|\meta{AbbrevName}|]{|\meta{FullName}|}|
+% \end{flushleft}
+% The optional argument defines the shorter form of the author's name
+% to be included in the running head. Similarly to |\title|, the
+% command |\author| allows the use of |\thanks|. Again, to show that
+% the footnote does not belong to the running head, the optional
+% argument is used.
+%
+% \DescribeMacro{\shortauthors}
+% In some cases the authors list may be too long for the running head,
+% even if the abbreviated forms are used for each author. In this
+% case it is possible to change the running head by a
+% \emph{redefinition} of the command |\shortauthors|. This
+% redefinition must be done after all |\author| commands, but before
+% |\maketitle|:
+% \begin{verbatim}
+% \renewcommand{\shortauthors}{A.~Smith et al}
+% \end{verbatim}
+%
+%
+% \DescribeMacro{\thanks}
+% As discussed above, the behavior of the |\thanks| command in
+% \progname{ijmart} is different from the one in \progname{amsart}.
+% This command is
+% allowed within the scope of the top matter commands. If it is used
+% in the scope of the main argument of the commands |\author| and
+% |\title|, the optional argument should be used to correctly typeset
+% the running heads.
+%
+% Sometimes it is necessary to have a |\thanks| footnote referring to
+% more than one author. In this case the usual \LaTeX{} command
+% |\footnotemark|\oarg{number} can help:
+% \begin{verbatim}
+% \author{A.~Uthor\thanks{The first and the third author were
+% supported by NSA grant~123456789}
+% \author{W.~Riter\thanks{The second author was supported by NSF
+% grant~987654321}
+% \author{C.~Orrespondent\footnotemark[1]}
+% \address{Noname University\\ Nowhere, RI\\ USA}
+% \email{author@nowhere.edu, writer@nowhere.edu and
+% correspondent@nowhere.edu}
+% \end{verbatim}
+%
+% The command |\title| might have no more than one |\thanks| command
+% in its scope.
+%
+% \DescribeEnv{abstract}
+% The abstract of the paper must be put between |\begin{abstract}| and
+% |\end{abstract}|. Note that to change the abstract name to
+% R\'esum\'e, the authors should use Babel. Similarly to \progname{amsart}
+% class, abstract must precede |\maketitle|.
+%
+% \DescribeMacro{\maketitle}
+% The macro |\maketitle| typesets the top matter. All top matter
+% information should be specified before this command.
+%
+% \DescribeMacro{\tableofcontents}
+% \changes{v1.2}{2007/11/14}{Added documentation for table of contents
+% formatting}
+% The authors are encouraged to include |\tableofcontents| for long
+% papers. By default only the sections are included in the table. If
+% the authors wish to have a more detailed table of contents, they
+% could change the counter |tocdepth|, for example:
+% \begin{verbatim}
+% \setcounter{tocdepth}{1} % The default: only sections are included
+% \setcounter{tocdepth}{2} % Sections and subsections
+% \setcounter{tocdepth}{3} % Sections, subsections and subsubsections
+% ...
+% \end{verbatim}
+% If |tocdepth| is greater than the default value of 1, the formatting
+% of the table of contents changes: the section entries then are
+% typeset bold.
+%
+%
+%\subsubsection{Commands for Editors}
+%\label{sec:editors_commands}
+%
+% The commands described in this section should be used by the editors
+% to insert the information about the published paper. They must be
+% put before the |\maketitle| command.
+%
+% \DescribeMacro{\issueinfo}
+% The command |\issueinfo| has the same format as in the \progname{amsart}
+% document class:
+% \begin{flushleft}
+% |\issueinfo{|\meta{volume}|}{|\meta{number}|}{|\meta{month}|}{|\meta{year}|}|
+% \end{flushleft}
+% Note that at present the class uses only the first and the last
+% arguments of this command (volume and year) for the actual typesetting.
+% However, we keep the original format of this command, first, for
+% compatibility reasons, and second, to facilitate a possible automatic
+% processing of journal issues in the future.
+%
+% Example of this command:
+% \begin{verbatim}
+% \issueinfo{159}{1}{January}{2007}
+% \end{verbatim}
+%
+%
+% \DescribeMacro{\pagespan}
+% The command |\pagespan| has two arguments, setting the first and the
+% last page numbers of the article. If the last argument is empty, the last
+% page number is calculated automatically. If the first argument is
+% negative, the page numbering is done in Roman numerals, for example,
+% for editorial materials. Here are examples of this command:
+% \begin{verbatim}
+% \pagespan{5}{15} % Explicit page span
+% \pagespan{5}{} % The last page is calculated automatically
+% \pagespan{-5}{} % Page numbers are Roman numerals v, vi, ...
+% \pagespan{-5}{xx} % Page numbers are Roman numerals v, vi, ..., xx
+% \end{verbatim}
+%
+% \DescribeMacro{\date}
+% The command |\date| is used to put the editorial information
+% about the manuscript, usually the date when the manuscript was
+% received. For example:
+% \begin{verbatim}
+% \date{Received March 12, 2006 and in revised form December 6, 2006.}
+% \end{verbatim}
+%
+% \DescribeMacro{\doiinfo}
+% The command |\doiinfo| is used to specify the DOI number of the
+% article, for example
+% \begin{verbatim}
+% \doiinfo{10.1007/s11856-007-0037-3}
+% \end{verbatim}
+%
+%
+%
+%\subsection{Theorems, Lemmas, etc.}
+% \label{sec:ijmthm_descr}
+%
+% \changes{v1.1}{2007/09/30}{Updated documentation for theorems}
+%
+% The class \progname{amsart} defines three theorem styles: |plain|,
+% |remark| and |definition|. They are redefined by \progname{ijmart}
+% to conform to the style of \emph{The Israel Jorunal of Mathematics.}
+% Otherwise the usage of the theorem-like environments is the same as
+% for \progname{amsart}. Note that \emph{The Israel Journal of
+% Mathematics} usually recommends |definition| style for remarks,
+% while |remark| style is used for steps, facts, cases, etc.
+%
+% \DescribeMacro{\qedhere}
+% The environment |proof| has the same syntax and meaning as for
+% \progname{amsart} package. According to the journal style, the QED
+% symbol in proofs is not flushed left, like in \progname{amsart}, but
+% is typeset at the last line of the proof at some distance from the
+% text. If a proof ends by a nested environment, this might lead to
+% an ugly position of the QED symbol. The command |\qedhere| inside a
+% proof can be used to improve the situaiton\footnote{It is actually
+% defined in \progname{amsart} too, but is not documented in the
+% user's documentation there.}. It causes the immediate typesetting
+% of the QED symbol and deletes the QED symbol at the end of the
+% current proof. For example
+% \begin{verbatim}
+% \begin{proof}
+% This proof ends by an enumerated list:
+% \begin{enumerate}
+% \item Item
+% \item Item \qedhere
+% \end{enumerate}
+% \end{proof}
+% \end{verbatim}
+% Compare this to the similar code without |\qedhere|.
+%
+% The command |\qedhere| should be used if a proof ends by a math
+% display:
+% \begin{verbatim}
+% \begin{proof}
+% This proof ends by a displayed math:
+% \begin{gather}
+% a = b\\
+% c = d\qedhere
+% \end{gather}
+% \end{proof}
+% \end{verbatim}
+% \DescribeMacro{\mqedhere}
+% The exception is the |multline| environment, where the special
+% version |\mqedhere| should be used:
+% \begin{verbatim}
+% \begin{proof}
+% This proof ends with a multline:
+% \begin{multline}
+% a = b + c + d + e + f + g + h + i +\\
+% j + k + l + m + n + o + p + q +\\
+% r + s + t + u + v + w + x + y + z\mqedhere
+% \end{multline}
+% \end{proof}
+% \end{verbatim}
+%
+%
+% \DescribeEnv{namedprop}
+% \DescribeEnv{namedprop*}
+% Sometimes authors use non-standard names for their theorem-like
+% propositions. The documentation~\cite{amsthdoc} recommends the use
+% of |\newtheorem*|:
+% \begin{verbatim}
+% \newtheorem*{KL}{Klein's Lemma}
+% \end{verbatim}
+% However, if the number of such special environments is large enough,
+% this might be too cumbersome. The package progname{ijmart} provides
+% two environments, |namedprop| and |namedprop*| to define such
+% these propositions on the fly.
+%
+% The environment |namedprop| is used for numbered named propositions
+% (admittedly such propositions are less frequent than unnumbered
+% ones). It has the following syntax:
+% \begin{quote}
+% |\begin{namedprop}|\marg{style}\marg{numbered-as}\marg{name}\oarg{note}\\
+% \dots\\
+% |\end{namedprop}|
+% \end{quote}
+% where |style| is the style of the proposition (|plain|, |remark|,
+% etc.), |nmubered-as| is the name of (already defined) theorem-like
+% environment, that shares the numbering with this proposition, |name|
+% is the name to use instead of ``Theorem'', ``Lemma'', and |note| is
+% the note after the heading. For example,
+% \begin{verbatim}
+% \begin{namedprop}{plain}{thm}{Klein's Lemma}[as restated in~\cite{a-l}]
+% ...
+% \end{namedprop}
+% \end{verbatim}
+%
+% The nevironment |\namedprop*| is used for \emph{unnumbered} named
+% propositions:
+% \begin{quote}
+% |\begin{namedprop*}|\marg{style}\marg{name}\oarg{note}\\
+% \dots\\
+% |\end{namedprop*}|
+% \end{quote}
+% For example,
+% \begin{verbatim}
+% \begin{namedprop*}{plain}{Klein's Lemma}[as restated in~\cite{a-l}]
+% ...
+% \end{namedprop*}
+% \end{verbatim}
+%
+%
+%\subsection{Bibliography}
+%\label{sec:bilbio}
+%
+% The sample paper in the distribution shows the journal style for the
+% list of references. For those authors who wish to use Bib\TeX, the
+% style |ijmart.bst| is included in the distribution. It should be
+% noted that the journal style requires full journal titles in
+% references. Following MathSciNet
+% (\url{http://www.ams.org/mathscinet/} conventions, the style
+% correctly processes article entries with both |journal| and
+% |fjournal| fields, for example
+% \begin{verbatim}
+% @article {MR2663320,
+% AUTHOR = {Farkas, J. Z. and Green, D. M. and Hinow, P.},
+% TITLE = {Semigroup analysis of structured parasite populations},
+% JOURNAL = {Math. Model. Nat. Phenom.},
+% FJOURNAL = {Mathematical Modelling of Natural Phenomena},
+% VOLUME = {5},
+% YEAR = {2010},
+% NUMBER = {3},
+% PAGES = {94--114},
+% ISSN = {0973-5348},
+% MRCLASS = {92D25 (35B35 35Q92 47D06 47N60)},
+% MRNUMBER = {2663320},
+% DOI = {10.1051/mmnp/20105307},
+% URL = {http://dx.doi.org/10.1051/mmnp/20105307},
+% }
+% \end{verbatim}
+% If an entry has only the |journal| field, it is used for the journal
+% title. However, if the entry has also the |fjournal| field, the
+% style assumes that this field contains the full (unabbreviated)
+% title, and uses it for formatting bibliography.
+%
+%\subsection{Illustrations}
+%\label{sec:illustrations}
+%
+% The authors can use the \progname{graphics}, \progname{graphicx},
+% \progname{PSTricks}, \progname{pgf/tikz}, \progname{Metapost} or
+% other tools to include illustrations
+% (see~\cite{Goossens97:LateXGraphicsCompanion} for a comprehensive
+% discussion of \LaTeX{} graphics possibilities).
+%
+% Note that the journal uses \progname{dvips} for internal processing.
+% If the authors submit their illustrations in the PNG, JPEG of PDF
+% formats, they are converted to the EPS format by the technical
+% editors. Sometimes this conversion may lead to the loss of quality
+% and resolution. Therefore the authors are advised to submit the
+% illustrations in the EPS format.
+%
+%
+% \StopEventually{%
+% \clearpage
+% \section{Acknowledgements}
+% \label{sec:acks}
+%
+% I am grateful to the editorial staff of \emph{the Israel Journal of
+% Mathematics} for the very careful copy editing of this manuscript
+% and their patient explanations of the requirements of the journal.
+%
+% The Editors of the Journal and our Magnes colleagues wish to thank
+% Professors Moshe Jarden and Gregory Cherlin for writing the original
+% Journal package when the Journal came into the ownership of Magnes
+% Press (in 1991). We would also like to thank Guy Jarden for his
+% meticulous work, and for keeping the IJM package updated throughout
+% the last 15 years.
+%
+% As a result of their efforts, the Journal was not only saved from
+% extinction, but it has expanded and is considered a leader in its
+% field. With the recent change in the production procedure to a more
+% global format, we have moved to another program, building on the
+% sturdy basis which they created.
+%
+% \bibliography{ijmart}
+% \bibliographystyle{unsrt}}
+%
+% \clearpage
+%
+%
+%\section{Implementation}
+%\label{sec:impl}
+%
+%\subsection{Identification}
+%\label{sec:ident}
+%
+% We start with the declaration who we are. Most |.dtx| files put
+% driver code in a separate driver file |.drv|. We roll this code into the
+% main file, and use the pseudo-guard |<gobble>| for it.
+% \begin{macrocode}
+%<class>\NeedsTeXFormat{LaTeX2e}
+%<*gobble>
+\ProvidesFile{ijmart.dtx}
+%</gobble>
+%<class>\ProvidesClass{ijmart}
+[2013/06/23 v1.7 Typesetting articles for The Israel Journal of Mathematics]
+% \end{macrocode}
+%
+% \begin{macro}{\@classname}
+% \changes{v0.3}{2007/08/24}{Introduced macro}
+% We also store the current class name in |\@classname|:
+% \begin{macrocode}
+%<class>\def\@classname{ijmart}%
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
+% And the driver code:
+% \begin{macrocode}
+%<*gobble>
+\documentclass{ltxdoc}
+\usepackage{array}
+\usepackage{url,amsfonts}
+\usepackage[breaklinks,colorlinks,linkcolor=black,citecolor=black,
+ pagecolor=black,urlcolor=black,hyperindex=false]{hyperref}
+\PageIndex
+\CodelineIndex
+\RecordChanges
+\EnableCrossrefs
+\begin{document}
+ \DocInput{ijmart.dtx}
+\end{document}
+%</gobble>
+%<*class>
+% \end{macrocode}
+%
+%
+%\subsection{Options}
+%\label{sec:options}
+%
+% \begin{macro}{\ifijm@french}
+% First, the language option. We do not know whether the author
+% chooses to use \progname{babel}, so we define it in the way, which
+% is compatible with \progname{babel}, but works without it too.
+% \begin{macrocode}
+\newif\ifijm@french
+\ijm@frenchfalse
+\DeclareOption{french}{\ijm@frenchtrue}
+% \end{macrocode}
+% \end{macro}
+%
+% The size-changing options produce a warning:
+% \begin{macrocode}
+\long\def\ijm@size@warning#1{%
+ \ClassWarning{\@classname}{Size-changing option #1 will not be
+ honored}}%
+\DeclareOption{8pt}{\ijm@size@warning{\CurrentOption}}%
+\DeclareOption{9pt}{\ijm@size@warning{\CurrentOption}}%
+\DeclareOption{10pt}{\ijm@size@warning{\CurrentOption}}%
+\DeclareOption{11pt}{\ijm@size@warning{\CurrentOption}}%
+\DeclareOption{12pt}{\ijm@size@warning{\CurrentOption}}%
+% \end{macrocode}
+%
+%
+%
+% All other options are passed to \progname{amsart}:
+% \begin{macrocode}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{amsart}}
+% \end{macrocode}
+%
+% Now we read the configuration file
+% \begin{macrocode}
+\InputIfFileExists{ijmart.cfg}{%
+ \ClassInfo{ijmart}{%
+ Loading configuration file ijmart.cfg}}{%
+ \ClassInfo{ijmart}{%
+ Configuration file ijmart.cfg is not found}}
+% \end{macrocode}
+% And process the options:
+% \begin{macrocode}
+\ProcessOptions\relax
+% \end{macrocode}
+%
+%
+%\subsection{Loading Class and Packages}
+%\label{sec:loading}
+%
+% We start with the base class
+% \begin{macrocode}
+\PassOptionsToClass{10pt}{amsart}
+\LoadClass{amsart}
+% \end{macrocode}
+%
+% A bunch of packages:
+% \begin{macrocode}
+\RequirePackage{ifpdf, fancyhdr, lastpage}
+% \end{macrocode}
+%
+%\subsection{Fonts}
+%\label{sec:fonts}
+%
+% The \progname{amsart} class defines several options for different
+% font sizes (10pt, 11pt, etc). We have just one design size for the
+% articles corresponding to the 10pt option of \progname{amsart}, but
+% with larger |\baselineskip|.
+%
+% \begin{macro}{\@typesizes}
+% \changes{v0.3}{2007/08/23}{Redefined \progname{amsart} defaults}
+% The font information in \progname{amsart} is stored in
+% |\@typesizes| macro. It has 11 typesizes: 5 below and 5 above
+% |\normalsize| .
+% \begin{macrocode}
+\def\@typesizes{%
+ \or{5}{7}\or{6}{8}\or{7}{9}\or{8}{11.2}\or{9}{12.6}%
+ \or{10}{14}% normalsize
+ \or{\@xipt}{15}\or{\@xiipt}{16.8}\or{\@xivpt}{19.8}%
+ \or{\@xviipt}{23.3}\or{\@xxpt}{28}}%
+\normalsize \linespacing=\baselineskip
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+%\subsection{Page Dimensions and Paragraphing}
+%\label{sec:page}
+%
+% \begin{macro}{\paperheight}
+% \begin{macro}{\paperwidth}
+% The journal has rather narrow pages:
+% \begin{macrocode}
+\setlength{\paperheight}{636.77bp}
+\setlength{\paperwidth}{429.41bp}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\pdfpaperheight}
+% \begin{macro}{\pdfpaperwidth}
+% \begin{macro}{\pdfvorigin}
+% \begin{macro}{\pdfhorigin}
+% \changes{v0.3}{2007/08/23}{Changed offsets}
+% \changes{v0.4}{2007/09/02}{Changed offsets}
+% If we deal with \progname{pdftex}, we can use this information more
+% creatively. This was inspired by
+% \progname{memoir}~\cite{Wilson04:Memoir}.
+% \begin{macrocode}
+\ifpdf\relax
+ \pdfpageheight=\paperheight
+ \pdfpagewidth=\paperwidth
+ \pdfvorigin=0.9in
+ \pdfhorigin=1in
+\fi
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\headheight}
+% We leave generous header space:
+% \begin{macrocode}
+\setlength{\headheight}{32pt}
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\footskip}
+% \changes{v0.3}{2007/08/23}{Redefined}
+% \changes{v0.4}{2007/09/02}{Changed}
+% The footer is slightly larger than in \progname{amsart}
+% \begin{macrocode}
+\setlength{\footskip}{42pt}%
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \begin{macro}{\topmargin}
+% The top margin is 50 bp:
+% \changes{v0.4}{2007/09/02}{Changed offsets}
+% \begin{macrocode}
+\setlength\topmargin{50bp}
+\addtolength\topmargin{-0.9in}
+\addtolength\topmargin{-\topskip}
+\addtolength\topmargin{-\headsep}
+\@settopoint\topmargin
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\textheight}
+% \changes{v0.4}{2007/09/02}{Changed}
+% This code is similar to the one in~\cite{classes}. |\textheight|
+% is the height of the text including footnotes, but excluding
+% running head and foot. We start with |\paperheight| and subtract
+% margins, running heads and foots:
+% \begin{macrocode}
+\setlength\@tempdima{\paperheight}
+\addtolength\@tempdima{-\topmargin}
+\addtolength\@tempdima{-26bp} % Bottom margin
+\addtolength\@tempdima{-\headheight}
+\addtolength\@tempdima{-\headsep}
+\addtolength\@tempdima{-\footskip}
+\addtolength\@tempdima{-1in}
+% \end{macrocode}
+% We want this length to contain an integer number of lines:
+% \begin{macrocode}
+\divide\@tempdima\baselineskip
+\@tempcnta=\@tempdima
+\setlength\textheight{\@tempcnta\baselineskip}
+% \end{macrocode}
+% Now we take care of the first line height:
+% \begin{macrocode}
+\addtolength\textheight{\topskip}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\evensidemargin}
+% \begin{macro}{\oddsidemargin}
+% The margins on even and odd pages are 43 bp:
+% \begin{macrocode}
+\setlength\evensidemargin{43bp}
+\addtolength{\evensidemargin}{-1in}
+\setlength\oddsidemargin{43bp}
+\addtolength{\oddsidemargin}{-1in}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\textwidth}
+% The way to set up the right margin is slightly different:
+% \begin{macrocode}
+\setlength\textwidth{\paperwidth}
+\addtolength{\textwidth}{-1in}
+\addtolength\textwidth{-\evensidemargin}
+\addtolength\textwidth{-43bp} % right margin
+\@settopoint\textwidth
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\parindent}
+% The paragraph indentation is 1em:
+% \begin{macrocode}
+\setlength\parindent{1em}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+%
+%\subsection{Headers}
+%\label{sec:headers}
+%
+%
+% \begin{macro}{\headrulewidth}
+% \begin{macro}{\footrulewidth}
+% We do not want decorative rules in the journal:
+% \begin{macrocode}
+\renewcommand{\headrulewidth}{0pt}
+\renewcommand{\footrulewidth}{0pt}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% It is easy to set up headers with \progname{fancyhdr}:
+% \begin{macrocode}
+\pagestyle{fancy}
+\fancyhead[LO]{\footnotesize Vol.~\currentvolume, \currentyear}
+\fancyhead[CO]{\footnotesize\shorttitle}
+\fancyhead[RO]{\footnotesize\thepage}
+\fancyhead[LE]{\footnotesize\thepage}
+\fancyhead[CE]{\footnotesize\shortauthors}
+\fancyhead[RE]{\footnotesize Isr. J. Math.}
+\fancyfoot{}
+% \end{macrocode}
+%
+% The first page has the special headers. The style |firstpage| is
+% invoked by \progname{amsart}; here we just redefine it.
+% \begin{macrocode}
+\fancypagestyle{firstpage}{%
+ \fancyhf{}%
+ \chead{\tiny%
+ ISRAEL JOURNAL OF MATHEMATICS \textbf{\currentvolume}
+ (\currentyear),
+ \start@page--\end@page\\[0.5ex]
+ DOI: \@doiinfo}%
+ \cfoot{\thepage}}%
+% \end{macrocode}
+%
+%\subsection{Top Matter Macros}
+%\label{sec:top_matter_code}
+%
+% Most top matter macros are defined in \progname{amsart}. Here we
+% just add some new macros and redefine some.
+%
+% \begin{macro}{\author}
+% The macro |\author| provided by \progname{amsart} is almost what
+% we need. ``Almost'' because we want to add author's name(s) to
+% the address list to typeset them together.
+%
+% Another note: \progname{amsart} stores the list of all authors in
+% the macro |\authors|. We need it now only to check whether the
+% list is empty
+% \begin{macrocode}
+\renewcommand{\author}[2][]{%
+ \ifx\@empty\authors
+ \gdef\authors{#2}%
+ \gdef\addresses{\author{#2}}%
+ \else
+ \g@addto@macro\authors{\and#2}%
+ \g@addto@macro\addresses{\and\author{#2}}%
+ \fi
+ \def\@tempa{#1}%
+ \ifx\@tempa\@empty\relax
+ \ifx\@empty\shortauthors
+ \gdef\shortauthors{#2}%
+ \else
+ \g@addto@macro\shortauthors{\and#2}%
+ \fi
+ \else
+ \ifx\@empty\shortauthors
+ \gdef\shortauthors{#1}%
+ \else
+ \g@addto@macro\shortauthors{\and#1}%
+ \fi
+ \fi
+}%
+% \end{macrocode}
+%
+%
+% \end{macro}
+%
+%
+% \begin{macro}{abstract}
+% \changes{v0.3}{2007/08/23}{Changed spacing}
+% The following code is mostly from~\cite{Downes04:amsart} with the
+% changes due to our style. The comments are mostly from the same
+% source.
+%
+% {\itshape In AMS-derived document classes, the abstract should be placed
+% before |\maketitle| (otherwise the desired ordering of frontmatter
+% elements cannot be ensured in all cases).}
+% \begin{macrocode}
+\newbox\abstractbox
+% \end{macrocode}
+% {\itshape We start by checking whether |\maketitle| has already been used
+% (in which case it was reset to \cs{relax}); if so, we give a
+% warning that the abstract should be placed before |\maketitle|.}
+% \begin{macrocode}
+\renewenvironment{abstract}{%
+ \ifx\maketitle\relax
+ \ClassWarning{\@classname}{Abstract should precede
+ \protect\maketitle\space in AMS-derived document classes; reported}%
+ \fi
+ \global\setbox\abstractbox=\vtop \bgroup
+ \vglue 10pt plus 6pt minus 6pt%
+ \normalfont\tiny
+ \centering\MakeUppercase{\abstractname}\par%
+ \Small
+ \list{}{\labelwidth\z@
+ \leftmargin3pc \rightmargin\leftmargin
+ \listparindent\normalparindent \itemindent\z@
+ \parsep\z@ \@plus\p@
+% \end{macrocode}
+% {\itshape In order to get equation numbers indented with the rest of the
+% abstract, we have to do this:}
+% \begin{macrocode}
+ \let\fullwidthdisplay\relax
+ }%
+ \item[]%
+}{%
+ \vspace*{-10pt}
+ \endlist\egroup
+% \end{macrocode}
+% {\itshape If the abstract was supposed to be typeset earlier, then
+% \cs{@setabstract} is now equal to \cs{relax}, and we had better
+% drop the contents of the abstract box onto the page immediately, to
+% salvage the situation as best we can.}
+% \begin{macrocode}
+ \ifx\@setabstract\relax \@setabstracta \fi
+}%
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
+% \begin{macro}{\pagespan}
+% This macro is different from the one provided by \progname{amsart}
+% because we want to have the option of automatic calculation of the
+% last page number.
+% \begin{macrocode}
+\def\pagespan#1#2{\pagenumbering{arabic}\setcounter{page}{#1}%
+ \def\start@page{#1}%
+ \ifnum\c@page<\z@ \pagenumbering{roman}\setcounter{page}{-#1}%
+ \def\start@page{\romannumeral#1}%
+ \fi%
+ \def\@tempa{#2}%
+ \ifx\@tempa\@empty\def\end@page{\pageref{LastPage}}%
+ \else\def\end@page{#2}\fi}
+\pagespan{1}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\doiinfo}
+% This is the doi number of the article:
+% \begin{macrocode}
+\def\doiinfo#1{\gdef\@doiinfo{#1}}
+\doiinfo{10.1007/s000000000000000000000000}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\thanks}
+% \changes{v0.3}{2007/08/23}{Changed size}
+% The macro |\thanks| is redefined in \progname{amsart}. Here is
+% the adapted original definition from the \LaTeX{} kernel. Note
+% that the footnotes on the title page are typeset in |\small| size,
+% rather than in |\footnotesize|.
+% \begin{macrocode}
+\def\thanks#1{\footnotemark
+ \protected@xdef\thankses{\thankses
+ \protect\footnotetext[\the\c@footnote]{\small#1}}%
+}
+\let\@thanks\@empty
+% \end{macrocode}
+%
+% \end{macro}
+%
+%\subsection{Typesetting Top Matter}
+%\label{sec:maketitle}
+%
+%
+% \begin{macro}{\@maketitle@hook}
+% \changes{v0.3}{2007/08/23}{Changed footnotes formatting}
+% \changes{v1.0}{2007/09/03}{Deleted rlap from footnotemark}
+% The |\@maketitle@hook| is called by |\maketitle| in
+% \progname{amsart}. We use it to a number of redefinitions.
+% \begin{macrocode}
+\def\@maketitle@hook{%
+% \end{macrocode}
+% At this point we collected all authors in |\shortauthors|, so we
+% can uppercase it:
+% \begin{macrocode}
+ \uppercasenonmath\shortauthors
+% \end{macrocode}
+%
+% The footnote numbering on the title page is rather interesting. It
+% is $\ast$, then $\ast\ast$, then $\dagger$, then $\dagger\dagger$,
+% etc.
+% \begin{macrocode}
+ \renewcommand\thefootnote{\ifcase\c@footnote\relax
+ \or\@fnsymbol{1}%
+ \or\@fnsymbol{1}\@fnsymbol{1}%
+ \or\@fnsymbol{2}%
+ \or\@fnsymbol{2}\@fnsymbol{2}%
+ \or\@fnsymbol{3}%
+ \or\@fnsymbol{3}\@fnsymbol{3}%
+ \or\@fnsymbol{4}%
+ \or\@fnsymbol{4}\@fnsymbol{4}%
+ \or\@fnsymbol{5}%
+ \or\@fnsymbol{5}\@fnsymbol{5}%
+ \or\@fnsymbol{6}%
+ \or\@fnsymbol{6}\@fnsymbol{6}%
+ \fi}%
+ \def\@makefnmark{\@textsuperscript{\normalfont\@thefnmark}}%
+ \long\def\@makefntext##1{\noindent\hangindent=2em\hangafter=1
+ \hb@xt@2em{%
+ \hss\@textsuperscript{\normalfont\footnotesize\@thefnmark\space}}##1}%
+ \def\footnoterule{\kern-3pt\hrule width 2in\kern 2.6pt}
+ \setcounter{footnote}{0}%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@adminfootnotes}
+% \progname{amsart} typesets the footnotes \emph{before} typesetting
+% the authors and title. Since we form the footnotes later, we must
+% delay this till the end of the top matter:
+% \begin{macrocode}
+\def\@adminfootnotes{}%
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\andify}
+% In the US the common style for lists is ``Tom, Dick, and Harry''.
+% It is hard-coded into \progname{amsart}. However, our journal
+% style is ``Tom, Dick and Harry'' (is it the British usage?).
+% Therefore we need to redefine the function |\andify|:
+% \begin{macrocode}
+\renewcommand{\andify}{%
+ \nxandlist{\unskip, }{\unskip{} \@@and~}{\unskip{} \@@and~}}
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\@@and}
+% Normally the macro |\@@and| is expanded just to 'and'. However,
+% if |french| option is selected, we want the french version:
+% \begin{macrocode}
+\def\@@and{AND}
+\ifijm@french\def\@@and{ET}\fi
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@@by}
+% Same with |\@@by|:
+% \begin{macrocode}
+\def\@@by{BY}
+\ifijm@french\def\@@by{PAR}\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\curraddrname}
+% \begin{macro}{\emailaddrname}
+% \begin{macro}{\urladdrname}
+% The keywords for the specific parts of the address (e-mail,
+% current address, etc.) depend on the language chosen.
+% \begin{macrocode}
+\def\curraddrname{Current address:}%
+\def\emailaddrname{e-mail:}%
+\def\urladdrname{URL:}%
+\ifijm@french
+ \def\curraddrname{Adresse actuelle:}%
+ \def\emailaddrname{courriel:}%
+\fi
+% \end{macrocode}
+%
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+%
+% \begin{macro}{\@settitle}
+% The title is set in large font uppercase. There is a problem,
+% however: uppercasing title means uppercasing \emph{everything},
+% including thanks! We solve this problem in the following way: we
+% typeset the title twice, once invisibly in the lowercase, and
+% again in uppercase, but without typesetting the footnote text.
+% \begin{macrocode}
+\def\@settitle{%
+ \begin{center}%
+ \makebox[0pt]{\hphantom{\@title}}%
+ \def\thanks##1{\addtocounter{footnote}{-1}\footnotemark}%
+ \uppercasenonmath\@title
+ \Large\baselineskip=14pt\lineskiplimit=2pt\lineskip=2pt\@title%
+ \end{center}}%
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@setauthors}
+% While we call this macro |\@setauthors|, in fact it is setting the
+% names \emph{and} addresses of the authors.
+%
+% The authors' block is centered:
+% \begin{macrocode}
+\def\@setauthors{\vglue 21pt plus 6pt minus 3pt%
+ \begin{center}%
+% \end{macrocode}
+%
+% We need to properly treat the current address, e-mail and URL of the
+% authors. Note that \progname{amsart} uses an optional first
+% argument to these macros; we silently drop it.
+% \begin{macrocode}
+ \def\curraddr##1##2{\begingroup
+ \@ifnotempty{##2}{\par\curraddrname{}\par
+ ##2\par}\endgroup}%
+ \def\email##1##2{\begingroup
+ \@ifnotempty{##2}{\par\emailaddrname{}~%
+ ##2\par}\endgroup}%
+ \def\urladdr##1##2{\begingroup
+ \@ifnotempty{##2}{\par\urladdrname{}~%
+ ##2\par}\endgroup}%
+% \end{macrocode}
+%
+% We print the word ``by'' only if there is at least one author.
+% I am not sure how it can be that a manuscript has no authors, but
+% has addresses defined. Maybe official editorial?
+% \begin{macrocode}
+ \if\authors\@empty\relax\else{\normalfont\tiny\@@by}\par\medskip
+% \end{macrocode}
+% The authors are typeset in small caps:
+% \begin{macrocode}
+ \def\author##1{{\normalsize\scshape##1}\par\medskip}
+% \end{macrocode}
+% The keyword ``and'' is typeset like ``by'' with large skip:
+% \begin{macrocode}
+ \def\and{\par\bigskip{\normalfont\tiny\@@and}\par\medskip}
+% \end{macrocode}
+% And everything else is typeset in italics:
+% \begin{macrocode}
+ \small\itshape\addresses
+% \end{macrocode}
+% \begin{macrocode}
+ \end{center}}%
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@maketitle}
+% \changes{v0.3}{2007/08/23}{Changed size for date}
+% We typeset footnotes at the end of the top matter typesetting.
+% Note the larger type size for the |\@date| footnote.
+% \begin{macrocode}
+\let\@origmaketitle=\@maketitle
+\def\@maketitle{\@origmaketitle
+ \thankses
+ \ifx\@date\@empty\else
+ \def\thefootnote{}%
+ \footnotetext{\small\@date}\fi%
+ \gdef\thefootnote{\@arabic\c@footnote}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\enddoc@text}
+% In \progname{amsart} the macro |\enddoc@text| typesets addresses
+% at the end of the document. We do not need it:
+% \begin{macrocode}
+\def\enddoc@text{}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+%\subsection{Table of Contents}
+%\label{sec:toc}
+% By default we include in the table of contents only sections:
+% \begin{macrocode}
+\setcounter{tocdepth}{1}
+% \end{macrocode}
+% \begin{macro}{\contentsnamefont}
+% The table of contents is typeset smaller than in
+% \progname{amsart}:
+% \begin{macrocode}
+\renewcommand\contentsnamefont{\scshape\footnotesize}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@starttoc}
+% \changes{v1.2}{2007/11/15}{Redefined}
+% \changes{v1.5}{2010/03/02}{Added |\makeatletter| to make compatible
+% with |babel|}
+% We also rewrite |\@starttoc| to make the type smaller. The
+% comments are again from \progname{amsart}:
+% \begin{macrocode}
+\def\@starttoc#1#2{\begingroup
+ \setTrue{#1}%
+% \end{macrocode}
+% {\itshape Remove the skip after the abstract so that we can
+% substitute another.}
+% \begin{macrocode}
+ \par\removelastskip\vskip\z@skip
+% \end{macrocode}
+% {\itshape The first two arguments of \cs{@startsection} here are
+% special values
+% that cause different internal branches to be taken.}
+%\begin{verbatim}
+% Arguments: {} = name = empty
+% \@M = no number should be used and no table of contents entry
+% \z@ = indent amount
+% 12pt + 12pt = vskip before
+% 6pt = vskip after
+% \centering\contentsnamefont = format
+%\end{verbatim}
+% \begin{macrocode}
+ \@startsection{}\@M\z@{\linespacing\@plus\linespacing}%
+ {.5\linespacing}{\centering\contentsnamefont}{#2}%
+% \end{macrocode}
+% {\itshape If we have a list of figures or list of tables we want to put
+% them in the main table of contents, but we don't want to put an
+% entry there for the main table of contents itself. So we check
+% to see if argument 2 is |\contentsname| and if it is then
+% we refrain from doing |\addcontentsline|.}
+% \begin{macrocode}
+ \ifx\contentsname#2%
+ \else \addcontentsline{toc}{section}{#2}\fi
+% \end{macrocode}
+% We want the table of contents to have the same width as the abstract
+% \begin{macrocode}
+ \list{}{\labelwidth\z@
+ \leftmargin2.4pc \rightmargin\leftmargin
+ \listparindent\z@ \itemindent\z@
+ \parsep\z@ \@plus\p@}%
+ \item[]\makeatletter%
+ \small\@input{\jobname.#1}\endlist%
+ \if@filesw
+ \@xp\newwrite\csname tf@#1\endcsname
+ \immediate\@xp\openout\csname tf@#1\endcsname \jobname.#1\relax
+ \fi
+ \global\@nobreakfalse \endgroup
+ \addvspace{32\p@\@plus14\p@}%
+ \let\tableofcontents\relax
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@dotsep}
+% Separation between the dots for table of contents:
+% \begin{macrocode}
+\newcommand\@dotsep{4.5}
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\@tocline}
+% We want dots in the table of contents\dots
+% \begin{macrocode}
+\def\@tocline#1#2#3#4#5#6#7{\relax
+ \ifnum #1>\c@tocdepth % then omit
+ \else
+ \par \addpenalty\@secpenalty\addvspace{#2}%
+ \begingroup \hyphenpenalty\@M
+ \@ifempty{#4}{%
+ \@tempdima\csname r@tocindent\number#1\endcsname\relax
+ }{%
+ \@tempdima#4\relax
+ }%
+ \parindent\z@ \leftskip#3\relax \advance\leftskip\@tempdima\relax
+ \rightskip\@pnumwidth plus4em \parfillskip-\@pnumwidth
+ #5\leavevmode\hskip-\@tempdima #6\nobreak\relax
+ \leaders\hbox{$\m@th
+ \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
+ mu$}\hfill
+ \hbox to\@pnumwidth{\@tocpagenum{#7}}\par
+ \nobreak
+ \endgroup
+ \fi}%
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\l@section}
+% \changes{v1.2}{2007/11/15}{Redefined to check whether subsections
+% are present}
+% The actual formatting of section entries depend whether
+% subsections are included in toc. If yes, the sections are bold.
+% \begin{macrocode}
+\def\l@section{%
+ \@tocline{1}{0pt}{1pc}{}{%
+ \ifnum\c@tocdepth>1\bfseries\fi}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\l@subsection}
+% \begin{macro}{\l@subsubsection}
+% \changes{v1.2}{2007/11/14}{Added indentation}
+% \changes{v1.3}{2008/02/12}{Changed indentation}
+% These entries are indented.
+% \begin{macrocode}
+\def\l@subsection{\@tocline{2}{0pt}{2.8pc}{}{}}
+\def\l@subsubsection{\@tocline{3}{0pt}{4.6pc}{}{}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%
+%
+%\subsection{Captions}
+%\label{sec:captions}
+%
+% \begin{macro}{\@captionheadfont}
+% \changes{v0.3}{2007/08/23}{Redefined}
+% The captions in \progname{amsart} are in small caps. In this
+% journal they are not:
+% \begin{macrocode}
+\def\@captionheadfont{\normalfont}
+% \end{macrocode}
+%
+% \end{macro}
+%
+%\subsection{Sectioning}
+%\label{sec:sections}
+%
+% \begin{macro}{\@secnumfont}
+% It is possible in \progname{amsart} to have section numbers in the
+% font different from the title font. We do not want this:
+% \begin{macrocode}
+\let\@secnumfont\@empty
+% \end{macrocode}
+%
+% \end{macro}
+%
+% Now we redefine sections. The arguments of the |\@startsection|
+% commands are
+%\begin{verbatim}
+% #1 #2 #3 #4 #5 #6
+% {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}
+%\end{verbatim}
+%
+% \begin{macro}{\section}
+% Most sections are not centered, unlike \progname{amsart} ones:
+% \begin{macrocode}
+\def\section{\@startsection{section}{1}%
+ \z@{20pt plus 4pt minus 4pt}{0.5\linespacing}%
+ {\normalfont\bfseries}}%
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\centeredsection}
+% \changes{v0.3}{2007/08/23}{Added macro}
+% However, there are special centered sections, for example,
+% ``References'':
+% \begin{macrocode}
+\def\centeredsection{\@startsection{section}{1}%
+ \z@{20pt plus 4pt minus 4pt}{0.5\linespacing}%
+ {\normalfont\bfseries\centering}}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\subsection}
+% Subsections are in small caps on the line with text.
+% \begin{macrocode}
+\def\subsection{\@startsection{subsection}{2}%
+ \z@{.5\linespacing\@plus.7\linespacing}{-0.5em}%
+ {\normalfont\scshape}}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\subsubsection}
+% Subsubsection heads are in italics
+% \begin{macrocode}
+\def\subsubsection{\@startsection{subsubsection}{3}%
+ \z@{.5\linespacing\@plus.7\linespacing}{-0.5em}%
+ {\normalfont\itshape}}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\paragraph}
+% \begin{macro}{\subparagraph}
+% Paragraphs and subparagraphs are in normal font:
+% \begin{macrocode}
+\def\paragraph{\@startsection{paragraph}{4}%
+ \z@\z@{-0.5em}%
+ {\normalfont}}%
+\def\subparagraph{\@startsection{subparagraph}{5}%
+ \z@\z@{-0.5em}%
+ {\normalfont}}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%\begin{macro}{\if@afterindent}
+% \changes{v0.3}{2007/08/23}{Deleted first indent after the section head}
+% The first paragraph after section head is \emph{not} indented,
+% like in standard \LaTeX---but \emph{unlike} \progname{amsart}.
+% The code below is inspired by David Carlisle's package
+% \progname{indentfirst}~\cite{Carlisle95:indentfirst} (of course
+% David wanted to \emph{have} the first indent, and we want
+% the opposite):
+% \begin{macrocode}
+\let\@afterindenttrue\@afterindentfalse
+\@afterindentfalse
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\appendix}
+% \changes{v1.4}{2009/11/10}{Redefined the macro to delete ugly indent
+% in TOC}
+% The standard \progname{amsart} macro |\@tochangmeasure| measures
+% the width of the TOC label for the hanging indentation of TOC
+% entries. However, for appendices this label includes the word
+% ``Appendix'', which leads to an ugly indent of TOC entries.
+% Therefore we stop measuring in appendices:
+% \begin{macrocode}
+\def\appendix{\par\c@section\z@ \c@subsection\z@
+ \let\sectionname\appendixname
+ \def\thesection{\@Alph\c@section}%
+ \def\@tochangmeasure##1{}}
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
+%
+%\subsection{Theorem Styles}
+%\label{sec:theorem_code}
+%
+% Here we redefine three main style of \progname{amsart}. Here are
+% the arguments of |\newtheoremstyle| from~\cite{Downes04:amsart}:
+%\begin{verbatim}
+% #1
+% \newtheoremstyle{NAME}%
+% #2 #3 #4
+% {ABOVESPACE}{BELOWSPACE}{BODYFONT}%
+% #5 #6 #7 #8
+% {INDENT}{HEADFONT}{HEADPUNCT}{HEADSPACE}%
+% #9
+% {CUSTOM-HEAD-SPEC}
+%\end{verbatim}
+%
+%
+%
+% In the |plain| style the name (``theorem'') and number are
+% printed in small caps, the optional note is in
+% upright, and the text is slanted.
+% \begin{macrocode}
+\newtheoremstyle{plain}{0.5\linespacing}{0.5\linespacing}{\slshape}{0pt}%
+ {\scshape}{:}{0.5em}{\thmname{#1}\thmnumber{ #2}\thmnote{\upshape{} (#3)}}
+% \end{macrocode}
+%
+%
+% In the |definition| style the name, the number is slanted, and the
+% text and the note are upright.
+% \begin{macrocode}
+\newtheoremstyle{definition}{0.5\linespacing}{0.5\linespacing}%
+ {\upshape}{0pt}%
+ {\slshape}{:}{0.5em}{\thmname{#1}\thmnumber{ #2}\thmnote{\upshape{} (#3)}}
+% \end{macrocode}
+%
+%
+% In the |remark| style the name and the number are in small caps,
+% the note and the text text is upright.
+% \changes{v0.4}{2007/09/03}{Redefined remark and definition styles:
+% the note is now upright.}
+% \begin{macrocode}
+\newtheoremstyle{remark}{0.5\linespacing}{0.5\linespacing}%
+ {\upshape}{0pt}%
+ {\scshape}{:}{0.5em}{\thmname{#1}\thmnumber{ #2}\thmnote{\upshape{} (#3)}}
+% \end{macrocode}
+%
+%
+%
+% \begin{macro}{proof}
+% \changes{v0.3}{2007/08/23}{Redefined \progname{amsart} defaults}
+% We want to have the word ``proof'' slanted rather than italicized:
+% \begin{macrocode}
+\renewenvironment{proof}[1][\proofname]{\par
+ \pushQED{\qed}%
+ \normalfont \topsep6\p@\@plus6\p@\relax
+ \trivlist
+ \item[\hskip\labelsep
+ \slshape
+ #1\@addpunct{.}]\ignorespaces
+}{%
+ \popQED\endtrivlist\@endpefalse
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\qed}
+% \changes{v0.3}{2007/08/24}{Redefined \progname{amsart} default}
+% \changes{v1.3}{2008/01/27}{Changed math mode branch}
+% Unlike \progname{amsart}, we do not want the QED symbol to be
+% flushed right:
+% \begin{macrocode}
+\DeclareRobustCommand{\qed}{%
+ \leavevmode\unskip\penalty9999 \hbox{}\nobreak
+ \ifmmode
+ \makebox[0pt][l]{\qquad\hbox{\qedsymbol}}%
+ \else
+ \qquad\hbox{\qedsymbol}\fi}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\mqedhere}
+% \changes{v1.3}{2008/01/27}{Introduced the command}
+% Normally |\qedhere| is typeset with zero effective width in math
+% mode to present centering alignment in equations. This presents
+% problems in |multline| environment, where the last line is flushed
+% right, so |\qedhere| would be typeset on the margin. The following
+% command switches to text mode:
+% \begin{macrocode}
+\def\mqedhere{\ensuremath{\text{\qedhere}}}%
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
+% \begin{macro}{\qedsymbol}
+% \changes{v0.3}{2007/08/24}{Redefined \progname{amsart} default}
+% The QED symbol itself is a small closed box:
+% \begin{macrocode}
+\def\qedsymbol{\rule[0.47pt]{4pt}{6pt}}%
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\namedprop}
+% \changes{v1.1}{2007/09/30}{Introduced macro}
+% This is the unstarred version of the macro. It calls the command
+% and then closes the group opened by |\namedprop@|
+% \begin{macrocode}
+\newenvironment{namedprop}{%
+ \namedprop@}{%
+ \end{namedprop@thm}%
+ \egroup}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\namedprop*}
+% \changes{v1.1}{2007/09/30}{Introduced macro}
+% The starred version is similar:
+% \begin{macrocode}
+\newenvironment{namedprop*}{%
+ \namedprop@star@}{%
+ \end{namedprop@thm}%
+ \egroup}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\namedprop@star@}
+% \changes{v1.1}{2007/09/30}{Introduced macro}
+% The starred version has two mandatory arguments: style and and
+% name, and one optional argument: note.
+% \begin{macrocode}
+\def\namedprop@star@#1#2{%
+ \@ifnextchar[{\namedprop@star@@{#1}{#2}}{\namedprop@star@@{#1}{#2}[]}}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\namedprop@star@@}
+% \changes{v1.1}{2007/09/30}{Introduced macro}
+% This is the command that does the real work:
+% \begin{macrocode}
+\def\namedprop@star@@#1#2[#3]{%
+ \bgroup
+ \let\namedprop@thm\relax
+ \theoremstyle{#1}
+ \newtheorem*{namedprop@thm}{#2}
+ \begin{namedprop@thm}[#3]}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\namedprop@}
+% \changes{v1.1}{2007/09/30}{Introduced macro}
+% This is the unstarred version of the macro. It has three
+% mandatory arguments: style, counter and the name, and one
+% optional argument: the note.
+% \begin{macrocode}
+\def\namedprop@#1#2#3{%
+ \@ifnextchar[{\namedprop@@{#1}{#2}{#3}}{\namedprop@@{#1}{#2}{#3}[]}}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\namedprop@@}
+% \changes{v1.1}{2007/09/30}{Introduced macro}
+% And the real macro:
+% \begin{macrocode}
+\def\namedprop@@#1#2#3[#4]{%
+ \bgroup
+ \let\namedprop@thm\relax
+ \theoremstyle{#1}
+ \newtheorem{namedprop@thm}[#2]{#3}
+ \begin{namedprop@thm}[#4]}
+% \end{macrocode}
+% \end{macro}
+%
+%\subsection{Bibliography}
+%\label{sec:biblio_code}
+%
+% \begin{macro}{\@bibtitlestyle}
+% \changes{v0.3}{2007/08/23}{Redefined to have centered heading}
+% Unlike other section heads, the word ``References'' in the journal
+% is centered:
+% \begin{macrocode}
+\renewcommand{\@bibtitlestyle}{%
+ \@xp\centeredsection\@xp*\@xp{\refname}%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+%\subsection{End of Class}
+%\label{end}
+%
+%
+% \begin{macrocode}
+%</class>
+% \end{macrocode}
+%
+%\Finale
+%\clearpage
+%
+%\PrintChanges
+%\clearpage
+%\PrintIndex
+%
+\endinput
diff --git a/macros/latex/contrib/ijmart/ijmart.ins b/macros/latex/contrib/ijmart/ijmart.ins
new file mode 100644
index 0000000000..137726fcab
--- /dev/null
+++ b/macros/latex/contrib/ijmart/ijmart.ins
@@ -0,0 +1,29 @@
+%
+% Doctrip file for ijmart
+% This file is in public domain
+% $Id: ijmart.ins,v 1.3 2007-08-10 18:16:28 boris Exp $
+%
+\def\batchfile{ijmart.ins}
+\input docstrip
+\keepsilent
+\showprogress
+
+
+\askforoverwritefalse
+
+\generate{%
+ \file{ijmart.cls}{\from{ijmart.dtx}{class}}}
+
+\obeyspaces
+\Msg{*****************************************************}%
+\Msg{* Congratulations! You successfully generated the *}%
+\Msg{* ijmart package. *}%
+\Msg{* *}%
+\Msg{* Please move the files ijmart.cls and ijmart.bst *}%
+\Msg{* to the place where the LaTeX files are stored in *}%
+\Msg{* your system. The manual is ijmart.pdf. *}%
+\Msg{* *}%
+\Msg{* The package is released under LPPL *}%
+\Msg{* *}%
+\Msg{* Happy TeXing! *}%
+\Msg{*****************************************************}% \ No newline at end of file
diff --git a/macros/latex/contrib/ijmart/ijmart.pdf b/macros/latex/contrib/ijmart/ijmart.pdf
new file mode 100644
index 0000000000..d5328cefa4
--- /dev/null
+++ b/macros/latex/contrib/ijmart/ijmart.pdf
Binary files differ
diff --git a/macros/latex/contrib/ijmart/ijmsample.bib b/macros/latex/contrib/ijmart/ijmsample.bib
new file mode 100644
index 0000000000..d1d7a9c70c
--- /dev/null
+++ b/macros/latex/contrib/ijmart/ijmsample.bib
@@ -0,0 +1,169 @@
+
+
+@Article{dihe:newdir,
+ author = {W. Diffie and E. Hellman},
+ title = {New directions in Cryptography},
+ fjournal = {IEEE Transactions on Information Theory},
+ journal = {IEEE Trans. Inf. Theory},
+ year = 1976,
+ volume = 22,
+ number = 5,
+ pages = {644--654}
+}
+
+
+
+
+
+@Misc{fre:cichon,
+ author = {D. H. Fremlin},
+ title = {Cichon's Diagram},
+ howpublished = {presented at the
+S{\'e}minaire Initiation {\`a} l'Analyse, G. Choquet, M. Rogalski, J.
+Saint Raymond, at the Universit{\'e} Pierre et Marie Curie, Paris, 23e
+ann{\'e}e.},
+ year = {1983/194}
+}
+
+
+
+
+@Article{gouja:lagrmeth,
+ author = {I. P. Goulden and D. M. Jackson},
+ title = {The Enumeration of Directed
+Closed {E}uler Trails and Directed {H}amiltonian Circuits by
+{L}angrangian Methods},
+ journal = {European Journal of Combinatorics},
+ year = 1981,
+ volume = 2,
+ pages = {131--212}
+}
+
+
+
+@Book{hapa:graphenum,
+ author = {F. Harary and E. M. Palmer},
+ title = {Graphical Enumeration},
+ publisher = {Academic Press},
+ year = 1973
+}
+
+
+
+
+@InProceedings{imlelu:oneway,
+ author = {R. Impagliazzo and L. Levin and M. Luby},
+ title = {Pseudo-random Generation from One-Way Functions},
+ booktitle = {Proc. 21st STOC},
+ pages = {12--24},
+ year = 1989,
+ address = {New York},
+ publisher = {ACM}
+}
+
+
+
+
+@TechReport{komiyo:unipfunc,
+ author = {M. Kojima and S. Mizuno and A. Yoshise},
+ title = {A New Continuation Method
+for Complementarity Problems With Uniform $p$-Functions},
+ institution = {Tokyo Inst. of Technology, Dept. of Information Sciences},
+ year = 1987,
+ number = {B-194},
+ address = {Tokyo}
+}
+
+
+
+
+@TechReport{komiyo:lincomp,
+ author = {M. Kojima and S. Mizuno and A. Yoshise},
+ title = {A Polynomial-Time Algorithm For a Class of Linear
+Complementarity Problems},
+ institution = {Tokyo Inst. of Technology, Dept. of Information Sciences},
+ year = 1987,
+ number = {B-193},
+ address = {Tokyo}
+}
+
+
+
+
+@Article{liuchow:formalsum,
+ author = {C. J. Liu and Yutze Chow},
+ title = {On Operator and Formal Sum Methods for
+Graph Enumeration Problems},
+ journal = {SIAM J. Algorith. and Discr. Meth.},
+ fjournal = {SIAM Journal of Algorithms and Discrete Methods},
+ year = 1984,
+ volume = 5,
+ pages = {384--438}
+}
+
+
+
+
+@Article{mami:matrixth,
+ author = {M. Marcus and H. Minc},
+ title = {A Survey of Matrix Theory and Matrix
+Inequalities},
+ journal = {Complementary Series in Mathematics},
+ year = 1964,
+ volume = 14,
+ pages = {21--48}
+}
+
+
+
+
+@TechReport{miyoki:lincomp,
+ author = {S. Mizuno and A. Yoshise and T. Kikuchi},
+ title = {Practical Polynomial Time
+Algorithms for Linear Complementarity Problems},
+ institution = {Tokyo Inst. of Technology, Dept. of Industrial Engineering
+and Management},
+ year = 1988,
+ number = 13,
+ address = {Tokyo},
+ month = {April}
+}
+
+
+
+
+@TechReport{moad:quadpro,
+ author = {R. D. Monteiro and I. Adler},
+ title = {Interior Path Following Primal-Dual
+Algorithms, Part {II}: Quadratic Programming},
+ institution = {Dept. of Industrial Engineering and Operations Research},
+ year = 1987,
+ type = {Working Paper},
+ month = {August}
+}
+
+
+
+
+@Book{ste:sint,
+ author = {E. M. Stein},
+ title = {Singular Integrals and Differentiability Properties
+of Functions},
+ publisher = {Princeton Univ. Press},
+ year = 1970,
+ address = {Princeton, NJ}
+}
+
+
+
+
+
+@PhdThesis{ye:intalg,
+ author = {Y. Ye},
+ title = {Interior Algorithms for Linear, Quadratic and Linearly
+Constrained Convex Programming},
+ school = {Stanford Univ., Dept. of Engineering--Economic Systems},
+ year = 1987,
+ address = {Palo Alto, CA},
+ month = {July}
+}
diff --git a/macros/latex/contrib/ijmart/ijmsample.pdf b/macros/latex/contrib/ijmart/ijmsample.pdf
new file mode 100644
index 0000000000..01d9d1c0ad
--- /dev/null
+++ b/macros/latex/contrib/ijmart/ijmsample.pdf
Binary files differ
diff --git a/macros/latex/contrib/ijmart/ijmsample.tex b/macros/latex/contrib/ijmart/ijmsample.tex
new file mode 100644
index 0000000000..6661afdfa8
--- /dev/null
+++ b/macros/latex/contrib/ijmart/ijmsample.tex
@@ -0,0 +1,2308 @@
+%%% ====================================================================
+%%% @LaTeX-file{
+%%% filename = "ijmsample.tex",
+%%% copyright = "Copyright 1995, 1999 American Mathematical Society,
+%%% 2005 Hebrew University Magnes Press,
+%%% all rights reserved. Copying of this file is
+%%% authorized only if either:
+%%% (1) you make absolutely no changes to your copy,
+%%% including name; OR
+%%% (2) if you do make changes, you first rename it
+%%% to some other name.",
+%%% }
+%%% ====================================================================
+\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX)
+[1994/12/01]% LaTeX date must December 1994 or later
+\documentclass{ijmart}
+% Some definitions useful in producing this sort of documentation:
+\chardef\bslash=`\\ % p. 424, TeXbook
+% Normalized (nonbold, nonitalic) tt font, to avoid font
+% substitution warning messages if tt is used inside section
+% headings and other places where odd font combinations might
+% result.
+\newcommand{\ntt}{\normalfont\ttfamily}
+% command name
+\newcommand{\cn}[1]{{\protect\ntt\bslash#1}}
+% LaTeX package name
+\newcommand{\pkg}[1]{{\protect\ntt#1}}
+% File name
+\newcommand{\fn}[1]{{\protect\ntt#1}}
+% environment name
+\newcommand{\env}[1]{{\protect\ntt#1}}
+\hfuzz1pc % Don't bother to report overfull boxes if overage is < 1pc
+
+% Theorem environments
+
+%% \theoremstyle{plain} %% This is the default
+\newtheorem{thm}{Theorem}[section]
+\newtheorem{cor}[thm]{Corollary}
+\newtheorem{lem}[thm]{Lemma}
+\newtheorem{prop}[thm]{Proposition}
+\newtheorem{ax}{Axiom}
+
+\theoremstyle{definition}
+\newtheorem{defn}{Definition}[section]
+\newtheorem{rem}{Remark}[section]
+\newtheorem*{notation}{Notation}
+
+\theoremstyle{remark}
+\newtheorem{step}{Step}
+
+%\numberwithin{equation}{section}
+
+\newcommand{\thmref}[1]{Theorem~\ref{#1}}
+\newcommand{\secref}[1]{\S\ref{#1}}
+\newcommand{\lemref}[1]{Lemma~\ref{#1}}
+
+
+% Math definitions
+
+\newcommand{\A}{\mathcal{A}}
+\newcommand{\B}{\mathcal{B}}
+\newcommand{\st}{\sigma}
+\newcommand{\XcY}{{(X,Y)}}
+\newcommand{\SX}{{S_X}}
+\newcommand{\SY}{{S_Y}}
+\newcommand{\SXY}{{S_{X,Y}}}
+\newcommand{\SXgYy}{{S_{X|Y}(y)}}
+\newcommand{\Cw}[1]{{\hat C_#1(X|Y)}}
+\newcommand{\G}{{G(X|Y)}}
+\newcommand{\PY}{{P_{\mathcal{Y}}}}
+\newcommand{\X}{\mathcal{X}}
+\newcommand{\wt}{\widetilde}
+\newcommand{\wh}{\widehat}
+
+\DeclareMathOperator{\per}{per}
+\DeclareMathOperator{\cov}{cov}
+\DeclareMathOperator{\non}{non}
+\DeclareMathOperator{\cf}{cf}
+\DeclareMathOperator{\add}{add}
+\DeclareMathOperator{\Cham}{Cham}
+\DeclareMathOperator{\IM}{Im}
+\DeclareMathOperator{\esssup}{ess\,sup}
+\DeclareMathOperator{\meas}{meas}
+\DeclareMathOperator{\seg}{seg}
+
+% \interval is used to provide better spacing after a [ that
+% is used as a closing delimiter.
+\newcommand{\interval}[1]{\mathinner{#1}}
+
+% Notation for an expression evaluated at a particular condition. The
+% optional argument can be used to override automatic sizing of the
+% right vert bar, e.g. \eval[\biggr]{...}_{...}
+\newcommand{\eval}[2][\right]{\relax
+ \ifx#1\right\relax \left.\fi#2#1\rvert}
+
+% Enclose the argument in vert-bar delimiters:
+\newcommand{\envert}[1]{\left\lvert#1\right\rvert}
+\let\abs=\envert
+
+% Enclose the argument in double-vert-bar delimiters:
+\newcommand{\enVert}[1]{\left\lVert#1\right\rVert}
+\let\norm=\enVert
+
+%\setcounter{tocdepth}{5}
+
+\begin{document}
+\title[Sample Paper]{Sample Paper for the \pkg{ijmart}
+ Class\thanks{Version 2.0, 1999/11/15}}
+\author[AMS]{American Mathematical Society}
+\address{Technical Support\\
+Electronic Products and Services\\
+P. O. Box 6248\\
+Providence, RI 02940\\
+USA}
+\email{tech-support@ams.org\thanks{Even e-mail addresses can have
+ footnotes!}}
+\author[Magnes Press]{The Hebrew University Magnes Press\thanks{This
+ is the copyright owner of the style}}
+\author[IJM]{Israel Journal of Mathematics Editorial Board\thanks{This
+ entry is inserted just to show how to typeset several authors with
+ the same address}}
+\address{P.O. Box 39099\\ Jerusalem 91390\\
+Israel}
+
+
+
+\date{Received on MONTH, YEAR}
+\issueinfo{VOL}{NUM}{MONTH}{YEAR}
+\doiinfo{10.1007/DOI-NUMBER}
+\begin{abstract}
+ This is a test file for \textsf{ijmart} class based on the
+ \texttt{testmath.tex} file from the \textsf{amsmath} distribution.
+\end{abstract}
+\maketitle
+\tableofcontents
+
+
+\section{Introduction}
+
+
+This paper demonstrates the use of \texttt{ijmart} class. It is based
+on \texttt{testmath.tex} from \AmS-\LaTeX{} distribution. The text
+is (slightly) reformatted according to the requirements of the
+\texttt{ijmart} style.
+
+
+\section{Enumeration of Hamiltonian paths in a graph}
+
+Let $\mathbf{A}=(a_{ij})$ be the adjacency matrix of graph $G$. The
+corresponding Kirchhoff matrix $\mathbf{K}=(k_{ij})$ is obtained from
+$\mathbf{A}$ by replacing in $-\mathbf{A}$ each diagonal entry by the
+degree of its corresponding vertex; i.e., the $i$th diagonal entry is
+identified with the degree of the $i$th vertex. It is well known that
+\begin{equation}
+\det\mathbf{K}(i|i)=\text{ the number of spanning trees of $G$},
+\quad i=1,\dots,n
+\end{equation}
+where $\mathbf{K}(i|i)$ is the $i$th principal submatrix of
+$\mathbf{K}$.
+\begin{verbatim}
+\det\mathbf{K}(i|i)=\text{ the number of spanning trees of $G$},
+\end{verbatim}
+
+Let $C_{i(j)}$ be the set of graphs obtained from $G$ by attaching edge
+$(v_iv_j)$ to each spanning tree of $G$. Denote by $C_i=\bigcup_j
+C_{i(j)}$. It is obvious that the collection of Hamiltonian cycles is a
+subset of $C_i$. Note that the cardinality of $C_i$ is $k_{ii}\det
+\mathbf{K}(i|i)$. Let $\wh X=\{\hat x_1,\dots,\hat x_n\}$.
+\begin{verbatim}
+$\wh X=\{\hat x_1,\dots,\hat x_n\}$
+\end{verbatim}
+Define multiplication for the elements of $\wh X$ by
+\begin{equation}\label{multdef}
+\hat x_i\hat x_j=\hat x_j\hat x_i,\quad \hat x^2_i=0,\quad
+i,j=1,\dots,n.
+\end{equation}
+Let $\hat k_{ij}=k_{ij}\hat x_j$ and $\hat k_{ij}=-\sum_{j\not=i} \hat
+k_{ij}$. Then the number of Hamiltonian cycles $H_c$ is given by the
+relation \cite{liuchow:formalsum}
+\begin{equation}\label{H-cycles}
+\biggl(\prod^n_{\,j=1}\hat x_j\biggr)H_c=\frac{1}{2}\hat k_{ij}\det
+\wh{\mathbf{K}}(i|i),\qquad i=1,\dots,n.
+\end{equation}
+The task here is to express \eqref{H-cycles}
+in a form free of any $\hat x_i$,
+$i=1,\dots,n$. The result also leads to the resolution of enumeration of
+Hamiltonian paths in a graph.
+
+It is well known that the enumeration of Hamiltonian cycles and paths in
+a complete graph $K_n$ and in a complete bipartite graph $K_{n_1n_2}$
+can only be found from \textit{first combinatorial principles}
+\cite{hapa:graphenum}. One wonders if there exists a formula which can
+be used very efficiently to produce $K_n$ and $K_{n_1n_2}$. Recently,
+using Lagrangian methods, Goulden and Jackson have shown that $H_c$ can
+be expressed in terms of the determinant and permanent of the adjacency
+matrix \cite{gouja:lagrmeth}. However, the formula of Goulden and
+Jackson determines neither $K_n$ nor $K_{n_1n_2}$ effectively. In this
+paper, using an algebraic method, we parametrize the adjacency matrix.
+The resulting formula also involves the determinant and permanent, but
+it can easily be applied to $K_n$ and $K_{n_1n_2}$. In addition, we
+eliminate the permanent from $H_c$ and show that $H_c$ can be
+represented by a determinantal function of multivariables, each variable
+with domain $\{0,1\}$. Furthermore, we show that $H_c$ can be written by
+number of spanning trees of subgraphs. Finally, we apply the formulas to
+a complete multigraph $K_{n_1\dots n_p}$.
+
+The conditions $a_{ij}=a_{ji}$, $i,j=1,\dots,n$, are not required in
+this paper. All formulas can be extended to a digraph simply by
+multiplying $H_c$ by 2.
+
+\section{Main Theorem}
+\label{s:mt}
+
+\begin{notation} For $p,q\in P$ and $n\in\omega$ we write
+$(q,n)\le(p,n)$ if $q\le p$ and $A_{q,n}=A_{p,n}$.
+\begin{verbatim}
+\begin{notation} For $p,q\in P$ and $n\in\omega$
+...
+\end{notation}
+\end{verbatim}
+\end{notation}
+
+Let $\mathbf{B}=(b_{ij})$ be an $n\times n$ matrix. Let $\mathbf{n}=\{1,
+\dots,n\}$. Using the properties of \eqref{multdef}, it is readily seen
+that
+
+\begin{lem}\label{lem-per}
+\begin{equation}
+\prod_{i\in\mathbf{n}}
+\biggl(\sum_{\,j\in\mathbf{n}}b_{ij}\hat x_i\biggr)
+=\biggl(\prod_{\,i\in\mathbf{n}}\hat x_i\biggr)\per \mathbf{B}
+\end{equation}
+where $\per \mathbf{B}$ is the permanent of $\mathbf{B}$.
+\end{lem}
+
+Let $\wh Y=\{\hat y_1,\dots,\hat y_n\}$. Define multiplication
+for the elements of $\wh Y$ by
+\begin{equation}
+\hat y_i\hat y_j+\hat y_j\hat y_i=0,\quad i,j=1,\dots,n.
+\end{equation}
+Then, it follows that
+\begin{lem}\label{lem-det}
+\begin{equation}\label{detprod}
+\prod_{i\in\mathbf{n}}
+\biggl(\sum_{\,j\in\mathbf{n}}b_{ij}\hat y_j\biggr)
+=\biggl(\prod_{\,i\in\mathbf{n}}\hat y_i\biggr)\det\mathbf{B}.
+\end{equation}
+\end{lem}
+
+Note that all basic properties of determinants are direct consequences
+of Lemma ~\ref{lem-det}. Write
+\begin{equation}\label{sum-bij}
+\sum_{j\in\mathbf{n}}b_{ij}\hat y_j=\sum_{j\in\mathbf{n}}b^{(\lambda)}
+_{ij}\hat y_j+(b_{ii}-\lambda_i)\hat y_i\hat y
+\end{equation}
+where
+\begin{equation}
+b^{(\lambda)}_{ii}=\lambda_i,\quad b^{(\lambda)}_{ij}=b_{ij},
+\quad i\not=j.
+\end{equation}
+Let $\mathbf{B}^{(\lambda)}=(b^{(\lambda)}_{ij})$. By \eqref{detprod}
+and \eqref{sum-bij}, it is
+straightforward to show the following
+result:
+\begin{thm}\label{thm-main}
+\begin{equation}\label{detB}
+\det\mathbf{B}=
+\sum^n_{l =0}\sum_{I_l \subseteq n}
+\prod_{i\in I_l}(b_{ii}-\lambda_i)
+\det\mathbf{B}^{(\lambda)}(I_l |I_l ),
+\end{equation}
+where $I_l =\{i_1,\dots,i_l \}$ and $\mathbf{B}^{(\lambda)}(I_l |I_l )$
+is the principal submatrix obtained from $\mathbf{B}^{(\lambda)}$
+by deleting its $i_1,\dots,i_l $ rows and columns.
+\end{thm}
+
+\begin{rem}[convention]
+Let $\mathbf{M}$ be an $n\times n$ matrix. The convention
+$\mathbf{M}(\mathbf{n}|\mathbf{n})=1$ has been used in \eqref{detB} and
+hereafter.
+\end{rem}
+
+Before proceeding with our discussion, we pause to note that
+\thmref{thm-main} yields immediately a fundamental formula which can be
+used to compute the coefficients of a characteristic polynomial
+\cite{mami:matrixth}:
+\begin{cor}\label{BI}
+Write $\det(\mathbf{B}-x\mathbf{I})=\sum^n_{l =0}(-1)
+^l b_l x^l $. Then
+\begin{equation}\label{bl-sum}
+b_l =\sum_{I_l \subseteq\mathbf{n}}\det\mathbf{B}(I_l |I_l ).
+\end{equation}
+\end{cor}
+Let
+\begin{equation}
+\mathbf{K}(t,t_1,\dots,t_n)
+=\begin{pmatrix} D_1t&-a_{12}t_2&\dots&-a_{1n}t_n\\
+-a_{21}t_1&D_2t&\dots&-a_{2n}t_n\\
+\hdotsfor[2]{4}\\
+-a_{n1}t_1&-a_{n2}t_2&\dots&D_nt\end{pmatrix},
+\end{equation}
+\begin{verbatim}
+\begin{pmatrix} D_1t&-a_{12}t_2&\dots&-a_{1n}t_n\\
+-a_{21}t_1&D_2t&\dots&-a_{2n}t_n\\
+\hdotsfor[2]{4}\\
+-a_{n1}t_1&-a_{n2}t_2&\dots&D_nt\end{pmatrix}
+\end{verbatim}
+where
+\begin{equation}
+D_i=\sum_{j\in\mathbf{n}}a_{ij}t_j,\quad i=1,\dots,n.
+\end{equation}
+
+Set
+\begin{equation*}
+D(t_1,\dots,t_n)=\frac{\delta}{\delta t}\eval{\det\mathbf{K}(t,t_1,\dots,t_n)
+}_{t=1}.
+\end{equation*}
+Then
+\begin{equation}\label{sum-Di}
+D(t_1,\dots,t_n)
+=\sum_{i\in\mathbf{n}}D_i\det\mathbf{K}(t=1,t_1,\dots,t_n; i|i),
+\end{equation}
+where $\mathbf{K}(t=1,t_1,\dots,t_n; i|i)$ is the $i$th principal
+submatrix of $\mathbf{K}(t=1,t_1,\dots,t_n)$.
+
+Theorem ~\ref{thm-main} leads to
+\begin{equation}\label{detK1}
+\det\mathbf{K}(t_1,t_1,\dots,t_n)
+=\sum_{I\in\mathbf{n}}(-1)^{\envert{I}}t^{n-\envert{I}}
+\prod_{i\in I}t_i\prod_{j\in I}(D_j+\lambda_jt_j)\det\mathbf{A}
+^{(\lambda t)}(\overline{I}|\overline I).
+\end{equation}
+Note that
+\begin{equation}\label{detK2}
+\det\mathbf{K}(t=1,t_1,\dots,t_n)=\sum_{I\in\mathbf{n}}(-1)^{\envert{I}}
+\prod_{i\in I}t_i\prod_{j\in I}(D_j+\lambda_jt_j)\det\mathbf{A}
+^{(\lambda)}(\overline{I}|\overline{I})=0.
+\end{equation}
+
+Let $t_i=\hat x_i,i=1,\dots,n$. Lemma ~\ref{lem-per} yields
+\begin{multline}
+\biggl(\sum_{\,i\in\mathbf{n}}a_{l _i}x_i\biggr)
+\det\mathbf{K}(t=1,x_1,\dots,x_n;l |l )\\
+=\biggl(\prod_{\,i\in\mathbf{n}}\hat x_i\biggr)
+\sum_{I\subseteq\mathbf{n}-\{l \}}
+(-1)^{\envert{I}}\per\mathbf{A}^{(\lambda)}(I|I)
+\det\mathbf{A}^{(\lambda)}
+(\overline I\cup\{l \}|\overline I\cup\{l \}).
+\label{sum-ali}
+\end{multline}
+\begin{verbatim}
+\begin{multline}
+\biggl(\sum_{\,i\in\mathbf{n}}a_{l _i}x_i\biggr)
+\det\mathbf{K}(t=1,x_1,\dots,x_n;l |l )\\
+=\biggl(\prod_{\,i\in\mathbf{n}}\hat x_i\biggr)
+\sum_{I\subseteq\mathbf{n}-\{l \}}
+(-1)^{\envert{I}}\per\mathbf{A}^{(\lambda)}(I|I)
+\det\mathbf{A}^{(\lambda)}
+(\overline I\cup\{l \}|\overline I\cup\{l \}).
+\label{sum-ali}
+\end{multline}
+\end{verbatim}
+
+By \eqref{H-cycles}, \eqref{detprod}, and \eqref{sum-bij}, we have
+\begin{prop}\label{prop:eg}
+\begin{equation}
+H_c=\frac1{2n}\sum^n_{l =0}(-1)^{l}
+D_{l},
+\end{equation}
+where
+\begin{equation}\label{delta-l}
+D_{l}=\eval[2]{\sum_{I_{l}\subseteq \mathbf{n}}
+D(t_1,\dots,t_n)}_{t_i=\left\{\begin{smallmatrix}
+0,& \text{if }i\in I_{l}\quad\\% \quad added for centering
+1,& \text{otherwise}\end{smallmatrix}\right.\;,\;\; i=1,\dots,n}.
+\end{equation}
+\end{prop}
+
+\section{Application}
+\label{lincomp}
+
+We consider here the applications of Theorems~\ref{th-info-ow-ow} and
+~\ref{th-weak-ske-owf} to a complete
+multipartite graph $K_{n_1\dots n_p}$. It can be shown that the
+number of spanning trees of $K_{n_1\dots n_p}$
+may be written
+\begin{equation}\label{e:st}
+T=n^{p-2}\prod^p_{i=1}
+(n-n_i)^{n_i-1}
+\end{equation}
+where
+\begin{equation}
+n=n_1+\dots+n_p.
+\end{equation}
+
+It follows from Theorems~\ref{th-info-ow-ow} and
+~\ref{th-weak-ske-owf} that
+\begin{equation}\label{e:barwq}
+\begin{split}
+H_c&=\frac1{2n}
+\sum^n_{{l}=0}(-1)^{l}(n-{l})^{p-2}
+\sum_{l _1+\dots+l _p=l}\prod^p_{i=1}
+\binom{n_i}{l _i}\\
+&\quad\cdot[(n-l )-(n_i-l _i)]^{n_i-l _i}\cdot
+\biggl[(n-l )^2-\sum^p_{j=1}(n_i-l _i)^2\biggr].\end{split}
+\end{equation}
+\begin{verbatim}
+... \binom{n_i}{l _i}\\
+\end{verbatim}
+and
+\begin{equation}\label{joe}
+\begin{split}
+H_c&=\frac12\sum^{n-1}_{l =0}
+(-1)^{l}(n-l )^{p-2}
+\sum_{l _1+\dots+l _p=l}
+\prod^p_{i=1}\binom{n_i}{l _i}\\
+&\quad\cdot[(n-l )-(n_i-l _i)]^{n_i-l _i}
+\left(1-\frac{l _p}{n_p}\right)
+[(n-l )-(n_p-l _p)].
+\end{split}
+\end{equation}
+
+The enumeration of $H_c$ in a $K_{n_1\dotsm n_p}$ graph can also be
+carried out by Theorem ~\ref{thm-H-param} or ~\ref{thm-asym}
+together with the algebraic method of \eqref{multdef}.
+Some elegant representations may be obtained. For example, $H_c$ in
+a $K_{n_1n_2n_3}$ graph may be written
+\begin{equation}\label{j:mark}
+\begin{split}
+H_c=&
+\frac{n_1!\,n_2!\,n_3!}
+{n_1+n_2+n_3}\sum_i\left[\binom{n_1}{i}
+\binom{n_2}{n_3-n_1+i}\binom{n_3}{n_3-n_2+i}\right.\\
+&+\left.\binom{n_1-1}{i}
+\binom{n_2-1}{n_3-n_1+i}
+\binom{n_3-1}{n_3-n_2+i}\right].\end{split}
+\end{equation}
+
+\section{Secret Key Exchanges}
+\label{SKE}
+
+Modern cryptography is fundamentally concerned with the problem of
+secure private communication. A Secret Key Exchange is a protocol
+where Alice and Bob, having no secret information in common to start,
+are able to agree on a common secret key, conversing over a public
+channel. The notion of a Secret Key Exchange protocol was first
+introduced in the seminal paper of Diffie and Hellman
+\cite{dihe:newdir}. \cite{dihe:newdir} presented a concrete
+implementation of a Secret Key Exchange protocol, dependent on a
+specific assumption (a variant on the discrete log), specially
+tailored to yield Secret Key Exchange. Secret Key Exchange is of
+course trivial if trapdoor permutations exist. However, there is no
+known implementation based on a weaker general assumption.
+
+The concept of an informationally one-way function was introduced
+in \cite{imlelu:oneway}. We give only an informal definition here:
+
+\begin{defn}[one way] A polynomial time
+computable function $f = \{f_k\}$ is informationally
+one-way if there is no probabilistic polynomial time algorithm which
+(with probability of the form $1 - k^{-e}$ for some $e > 0$)
+returns on input $y \in \{0,1\}^{k}$ a random element of $f^{-1}(y)$.
+\end{defn}
+In the non-uniform setting \cite{imlelu:oneway} show that these are not
+weaker than one-way functions:
+\begin{thm}[\cite{imlelu:oneway} (non-uniform)]
+\label{th-info-ow-ow}
+The existence of informationally one-way functions
+implies the existence of one-way functions.
+\end{thm}
+We will stick to the convention introduced above of saying
+``non-uniform'' before the theorem statement when the theorem
+makes use of non-uniformity. It should be understood that
+if nothing is said then the result holds for both the uniform and
+the non-uniform models.
+
+It now follows from \thmref{th-info-ow-ow} that
+
+\begin{thm}[non-uniform]\label{th-weak-ske-owf} Weak SKE
+implies the existence of a one-way function.
+\end{thm}
+
+More recently, the polynomial-time, interior point algorithms for linear
+programming have been extended to the case of convex quadratic programs
+\cite{moad:quadpro,ye:intalg}, certain linear complementarity problems
+\cite{komiyo:lincomp,miyoki:lincomp}, and the nonlinear complementarity
+problem \cite{komiyo:unipfunc}. The connection between these algorithms
+and the classical Newton method for nonlinear equations is well
+explained in \cite{komiyo:lincomp}.
+
+\section{Review}
+\label{computation}
+
+We begin our discussion with the following definition:
+
+\begin{defn}
+
+A function $H\colon \Re^n \to \Re^n$ is said to be
+\emph{B-differentiable} at the point $z$ if (i)~$H$ is Lipschitz
+continuous in a neighborhood of $z$, and (ii)~ there exists a positive
+homogeneous function $BH(z)\colon \Re^n \to \Re^n$, called the
+\emph{B-derivative} of $H$ at $z$, such that
+\[ \lim_{v \to 0} \frac{H(z+v) - H(z) - BH(z)v}{\enVert{v}} = 0. \]
+The function $H$ is \textit{B-differentiable in set $S$} if it is
+B-differentiable at every point in $S$. The B-derivative $BH(z)$ is said
+to be \textit{strong} if
+\[ \lim_{(v,v') \to (0,0)} \frac{H(z+v) - H(z+v') - BH(z)(v
+ -v')}{\enVert{v - v'}} = 0. \]
+\end{defn}
+
+
+\begin{lem}\label{limbog} There exists a smooth function $\psi_0(z)$
+defined for $\abs{z}>1-2a$ satisfying the following properties\textup{:}
+\begin{enumerate}
+\renewcommand{\labelenumi}{(\roman{enumi})}
+\item $\psi_0(z)$ is bounded above and below by positive constants
+$c_1\leq \psi_0(z)\leq c_2$.
+\item If $\abs{z}>1$, then $\psi_0(z)=1$.
+\item For all $z$ in the domain of $\psi_0$, $\Delta_0\ln \psi_0\geq 0$.
+\item If $1-2a<\abs{z}<1-a$, then $\Delta_0\ln \psi_0\geq
+c_3>0$.
+\end{enumerate}
+\end{lem}
+
+\begin{proof}
+We choose $\psi_0(z)$ to be a radial function depending only on $r=\abs{z}$.
+Let $h(r)\geq 0$ be a suitable smooth function satisfying $h(r)\geq c_3$
+for $1-2a<\abs{z}<1-a$, and $h(r)=0$ for $\abs{z}>1-\tfrac a2$. The radial
+Laplacian
+\[\Delta_0\ln\psi_0(r)=\left(\frac {d^2}{dr^2}+\frac
+1r\frac d{dr}\right)\ln\psi_0(r)\]
+has smooth coefficients for $r>1-2a$. Therefore, we may
+apply the existence and uniqueness theory for ordinary differential
+equations. Simply let $\ln \psi_0(r)$ be the solution of the differential
+equation
+\[\left(\frac{d^2}{dr^2}+\frac 1r\frac d{dr}\right)\ln \psi_0(r)=h(r)\]
+with initial conditions given by $\ln \psi_0(1)=0$ and
+$\ln\psi_0'(1)=0$.
+
+Next, let $D_\nu$ be a finite collection of pairwise disjoint disks,
+all of which are contained in the unit disk centered at the origin in
+$C$. We assume that $D_\nu=\{z\mid \abs{z-z_\nu}<\delta\}$. Suppose that
+$D_\nu(a)$ denotes the smaller concentric disk $D_\nu(a)=\{z\mid
+\abs{z-z_\nu}\leq (1-2a)\delta\}$. We define a smooth weight function
+$\Phi_0(z)$ for $z\in C-\bigcup_\nu D_\nu(a)$ by setting $\Phi_
+0(z)=1$ when $z\notin \bigcup_\nu D_\nu$ and $\Phi_
+0(z)=\psi_0((z-z_\nu)/\delta)$ when $z$ is an element of $D_\nu$. It
+follows from \lemref{limbog} that $\Phi_ 0$ satisfies the properties:
+\begin{enumerate}
+\renewcommand{\labelenumi}{(\roman{enumi})}
+\item \label{boundab}$\Phi_ 0(z)$ is bounded above and below by
+positive constants $c_1\leq \Phi_ 0(z)\leq c_2$.
+\item \label{d:over}$\Delta_0\ln\Phi_ 0\geq 0$ for all
+$z\in C-\bigcup_\nu D_\nu(a)$,
+the domain where the function $\Phi_ 0$ is defined.
+\item \label{d:ad}$\Delta_0\ln\Phi_ 0\geq c_3\delta^{-2}$
+when $(1-2a)\delta<\abs{z-z_\nu}<(1-a)\delta$.
+\end{enumerate}
+Let $A_\nu$ denote the annulus $A_\nu=\{(1-2a)\delta<\abs{z-z_\nu}<(1-a)
+\delta \}$, and set $A=\bigcup_\nu A_\nu$. The
+properties (\ref{d:over}) and (\ref{d:ad}) of $\Phi_ 0$
+may be summarized as $\Delta_0\ln \Phi_ 0\geq c_3\delta^{-2}\chi_A$,
+where $\chi _A$ is the characteristic function of $A$.
+\end{proof}
+
+Suppose that $\alpha$ is a nonnegative real constant. We apply
+Proposition~\ref{prop:eg} with $\Phi(z)=\Phi_ 0(z) e^{\alpha\abs{z}^2}$. If
+$u\in C^\infty_0(R^2-\bigcup_\nu D_\nu(a))$, assume that $\mathcal{D}$
+is a bounded domain containing the support of $u$ and $A\subset
+\mathcal{D}\subset R^2-\bigcup_\nu D_\nu(a)$. A calculation gives
+\[\int_{\mathcal{D}}\abs{\overline\partial u}^2\Phi_ 0(z) e^{\alpha\abs{z}^2}
+\geq c_4\alpha\int_{\mathcal{D}}\abs{u}^2\Phi_ 0e^{\alpha\abs{z}^2}
++c_5\delta^{-2}\int_ A\abs{u}^2\Phi_ 0e^{\alpha\abs{z}^2}.\]
+
+The boundedness, property (\ref{boundab}) of $\Phi_ 0$, then yields
+\[\int_{\mathcal{D}}\abs{\overline\partial u}^2e^{\alpha\abs{z}^2}\geq c_6\alpha
+\int_{\mathcal{D}}\abs{u}^2e^{\alpha\abs{z}^2}
++c_7\delta^{-2}\int_ A\abs{u}^2e^{\alpha\abs{z}^2}.\]
+
+Let $B(X)$ be the set of blocks of $\Lambda_{X}$
+and let $b(X) = \abs{B(X)}$. If $\phi \in Q_{X}$ then
+$\phi$ is constant on the blocks of $\Lambda_{X}$.
+\begin{equation}\label{far-d}
+ P_{X} = \{ \phi \in M \mid \Lambda_{\phi} = \Lambda_{X} \},
+\qquad
+Q_{X} = \{\phi \in M \mid \Lambda_{\phi} \geq \Lambda_{X} \}.
+\end{equation}
+If $\Lambda_{\phi} \geq \Lambda_{X}$ then
+$\Lambda_{\phi} = \Lambda_{Y}$ for some $Y \geq X$ so that
+\[ Q_{X} = \bigcup_{Y \geq X} P_{Y}. \]
+Thus by M\"obius inversion
+\[ \abs{P_{Y}}= \sum_{X\geq Y} \mu (Y,X)\abs{Q_{X}}.\]
+Thus there is a bijection from $Q_{X}$ to $W^{B(X)}$.
+In particular $\abs{Q_{X}} = w^{b(X)}$.
+
+Next note that $b(X)=\dim X$. We see this by choosing a
+basis for $X$ consisting of vectors $v^{k}$ defined by
+\[v^{k}_{i}=
+\begin{cases} 1 & \text{if $i \in \Lambda_{k}$},\\
+0 &\text{otherwise.} \end{cases}
+\]
+\begin{verbatim}
+\[v^{k}_{i}=
+\begin{cases} 1 & \text{if $i \in \Lambda_{k}$},\\
+0 &\text{otherwise.} \end{cases}
+\]
+\end{verbatim}
+
+\begin{lem}\label{p0201}
+Let $\A$ be an arrangement. Then
+\[ \chi (\A,t) = \sum_{\B \subseteq \A}
+(-1)^{\abs{\B}} t^{\dim T(\B)}. \]
+\end{lem}
+
+In order to compute $R''$ recall the definition
+of $S(X,Y)$ from \lemref{lem-per}. Since $H \in \B$,
+$\A_{H} \subseteq \B$. Thus if $T(\B) = Y$ then
+$\B \in S(H,Y)$. Let $L'' = L(\A'')$. Then
+\begin{equation}\label{E_SXgYy}
+\begin{split}
+R''&= \sum_{H\in \B \subseteq \A} (-1)^{\abs{\B}}
+t^{\dim T(\B)}\\
+&= \sum_{Y \in L''} \sum_{\B \in S(H,Y)}
+(-1)^{\abs{\B}}t^{\dim Y} \\
+&= -\sum_{Y \in L''} \sum_{\B \in S(H,Y)} (-1)^
+{\abs{\B - \A_{H}}} t^{\dim Y} \\
+&= -\sum_{Y \in L''} \mu (H,Y)t^{\dim Y} \\
+&= -\chi (\A '',t).
+\end{split}
+\end{equation}
+
+\begin{cor}\label{tripleA}
+Let $(\A,\A',\A'')$ be a triple of arrangements. Then
+\[ \pi (\A,t) = \pi (\A',t) + t \pi (\A'',t). \]
+\end{cor}
+
+\begin{defn}
+Let $(\A,\A',\A'')$ be a triple with respect to
+the hyperplane $H \in \A$. Call $H$ a \textit{separator}
+if $T(\A) \not\in L(\A')$.
+\end{defn}
+
+\begin{cor}\label{nsep}
+Let $(\A,\A',\A'')$ be a triple with respect to $H \in \A$.
+\begin{enumerate}
+\renewcommand{\labelenumi}{(\roman{enumi})}
+\item
+If $H$ is a separator then
+\[ \mu (\A) = - \mu (\A'') \]
+and hence
+\[ \abs{\mu (\A)} = \abs{ \mu (\A'')}. \]
+
+\item If $H$ is not a separator then
+\[\mu (\A) = \mu (\A') - \mu (\A'') \]
+and
+\[ \abs{\mu (\A)} = \abs{\mu (\A')} + \abs{\mu (\A'')}. \]
+\end{enumerate}
+\end{cor}
+
+\begin{proof}
+It follows from \thmref{th-info-ow-ow} that $\pi(\A,t)$
+has leading term
+\[(-1)^{r(\A)}\mu (\A)t^{r(\A)}.\]
+The conclusion
+follows by comparing coefficients of the leading
+terms on both sides of the equation in
+Corollary~\ref{tripleA}. If $H$ is a separator then
+$r(\A') < r(\A)$ and there is no contribution
+from $\pi (\A',t)$.
+\end{proof}
+
+The Poincar\'e polynomial of an arrangement
+will appear repeatedly
+in these notes. It will be shown to equal the
+Poincar\'e polynomial
+of the graded algebras which we are going to
+associate with $\A$. It is also the Poincar\'e
+polynomial of the complement $M(\A)$ for a
+complex arrangement. Here we prove
+that the Poincar\'e polynomial is the chamber
+counting function for a real arrangement. The
+complement $M(\A)$ is a disjoint union of chambers
+\[M(\A) = \bigcup_{C \in \Cham(\A)} C.\]
+The number
+of chambers is determined by the Poincar\'e
+polynomial as follows.
+
+\begin{thm}\label{th-realarr}
+Let $\A_{\mathbf{R}}$ be a real arrangement. Then
+\[ \abs{\Cham(\A_{\mathbf{R}})} = \pi (\A_{\mathbf{R}},1). \]
+\end{thm}
+
+\begin{proof}
+We check the properties required in Corollary~\ref{nsep}:
+(i) follows from $\pi (\Phi_{ l},t) = 1$, and (ii) is a
+consequence of Corollary~\ref{BI}.
+\end{proof}
+
+\begin{figure}
+\vspace{5cm}
+\caption[]{$Q(\A_{1}) = xyz(x-z)(x+z)(y-z)(y+z)$}
+\end{figure}
+
+\begin{figure}
+\vspace{5cm}
+\caption[]{$Q(\A_{2})= xyz(x+y+z)(x+y-z)(x-y+z)(x-y-z)$}
+\end{figure}
+
+
+\begin{thm}
+\label{T_first_the_int}
+Let $\phi$ be a protocol for a random pair $\XcY$.
+If one of $\st_\phi(x',y)$ and $\st_\phi(x,y')$ is a prefix of the other
+and $(x,y)\in\SXY$, then
+\[
+\langle \st_j(x',y)\rangle_{j=1}^\infty
+=\langle \st_j(x,y)\rangle_{j=1}^\infty
+=\langle \st_j(x,y')\rangle_{j=1}^\infty .
+\]
+\end{thm}
+\begin{proof}
+We show by induction on $i$ that
+\[
+\langle \st_j(x',y)\rangle_{j=1}^i
+=\langle \st_j(x,y)\rangle_{j=1}^i
+=\langle \st_j(x,y')\rangle_{j=1}^i.
+\]
+The induction hypothesis holds vacuously for $i=0$. Assume it holds for
+$i-1$, in particular
+$[\st_j(x',y)]_{j=1}^{i-1}=[\st_j(x,y')]_{j=1}^{i-1}$. Then one of
+$[\st_j(x',y)]_{j=i}^{\infty}$ and $[\st_j(x,y')]_{j=i}^{\infty}$ is a
+prefix of the other which implies that one of $\st_i(x',y)$ and
+$\st_i(x,y')$ is a prefix of the other. If the $i$th message is
+transmitted by $P_\X$ then, by the separate-transmissions property and
+the induction hypothesis, $\st_i(x,y)=\st_i(x,y')$, hence one of
+$\st_i(x,y)$ and $\st_i(x',y)$ is a prefix of the other. By the
+implicit-termination property, neither $\st_i(x,y)$ nor $\st_i(x',y)$
+can be a proper prefix of the other, hence they must be the same and
+$\st_i(x',y)=\st_i(x,y)=\st_i(x,y')$. If the $i$th message is
+transmitted by $\PY$ then, symmetrically, $\st_i(x,y)=\st_i(x',y)$ by
+the induction hypothesis and the separate-transmissions property, and,
+then, $\st_i(x,y)=\st_i(x,y')$ by the implicit-termination property,
+proving the induction step.
+\end{proof}
+
+If $\phi$ is a protocol for $(X,Y)$, and $(x,y)$, $(x',y)$ are distinct
+inputs in $\SXY$, then, by the correct-decision property,
+$\langle\st_j(x,y)\rangle_{j=1}^\infty\ne\langle
+\st_j(x',y)\rangle_{j=1}^\infty$.
+
+Equation~(\ref{E_SXgYy}) defined $\PY$'s ambiguity set $\SXgYy$
+to be the set of possible $X$ values when $Y=y$.
+The last corollary implies that for all $y\in\SY$,
+the multiset%
+\footnote{A multiset allows multiplicity of elements.
+Hence, $\{0,01,01\}$ is prefix free as a set, but not as a multiset.}
+of codewords $\{\st_\phi(x,y):x\in\SXgYy\}$ is prefix free.
+
+\section{One-Way Complexity}
+\label{S_Cp1}
+
+$\Cw1$, the one-way complexity of a random pair $\XcY$,
+is the number of bits $P_\X$ must transmit in the worst case
+when $\PY$ is not permitted to transmit any feedback messages.
+Starting with $\SXY$, the support set of $\XcY$, we define $\G$,
+the \textit{characteristic hypergraph} of $\XcY$, and show that
+\[
+\Cw1=\lceil\,\log\chi(\G)\rceil\ .
+\]
+
+Let $\XcY$ be a random pair. For each $y$ in $\SY$, the support set of
+$Y$, Equation~(\ref{E_SXgYy}) defined $\SXgYy$ to be the set of possible
+$x$ values when $Y=y$. The \textit{characteristic hypergraph} $\G$ of
+$\XcY$ has $\SX$ as its vertex set and the hyperedge $\SXgYy$ for each
+$y\in\SY$.
+
+
+We can now prove a continuity theorem.
+\begin{thm}\label{t:conl}
+Let $\Omega \subset\mathbf{R}^n$ be an open set, let
+$u\in BV(\Omega ;\mathbf{R}^m)$, and let
+\begin{equation}\label{quts}
+T^u_x=\left\{y\in\mathbf{R}^m:
+ y=\tilde u(x)+\left\langle \frac{Du}{\abs{Du}}(x),z
+\right\rangle \text{ for some }z\in\mathbf{R}^n\right\}
+\end{equation}
+for every $x\in\Omega \backslash S_u$. Let $f\colon \mathbf{R}^m\to
+\mathbf{R}^k$ be a Lipschitz continuous function such that $f(0)=0$, and
+let $v=f(u)\colon \Omega \to \mathbf{R}^k$. Then $v\in BV(\Omega
+;\mathbf{R}^k)$ and
+\begin{equation}
+Jv=\eval{(f(u^+)-f(u^-))\otimes \nu_u\cdot\,
+\mathcal{H}_{n-1}}_{S_u}.
+\end{equation}
+In addition, for $\abs{\wt{D}u}$-almost every $x\in\Omega $ the
+restriction of the function $f$ to $T^u_x$ is differentiable at $\tilde
+u(x)$ and
+\begin{equation}
+\wt{D}v=\nabla (\eval{f}_{T^u_x})(\tilde u)
+\frac{\wt{D}u}{\abs{\wt{D}u}}\cdot\abs{\wt{D}u}.\end{equation}
+\end{thm}
+
+Before proving the theorem, we state without proof three elementary
+remarks which will be useful in the sequel.
+\begin{rem}\label{r:omb}
+Let $\omega\colon \left]0,+\infty\right[\to \left]0,+\infty\right[$
+be a continuous function such that $\omega (t)\to 0$ as $t\to
+0$. Then
+\[\lim_{h\to 0^+}g(\omega(h))=L\Leftrightarrow\lim_{h\to
+0^+}g(h)=L\]
+for any function $g\colon \left]0,+\infty\right[\to \mathbf{R}$.
+\end{rem}
+\begin{rem}\label{r:dif}
+Let $g \colon \mathbf{R}^n\to \mathbf{R}$ be a Lipschitz
+continuous function and assume that
+\[L(z)=\lim_{h\to 0^+}\frac{g(hz)-g(0)}h\]
+exists for every $z\in\mathbf{Q}^n$ and that $L$ is a linear function of
+$z$. Then $g$ is differentiable at 0.
+\end{rem}
+\begin{rem}\label{r:dif0}
+Let $A \colon \mathbf{R}^n\to \mathbf{R}^m$ be a linear function, and
+let $f \colon \mathbf{R}^m\to \mathbf{R}$ be a function. Then the
+restriction of $f$ to the range of $A$ is differentiable at 0 if and
+only if $f(A)\colon \mathbf{R}^n\to \mathbf{R}$ is differentiable at 0
+and
+\[\nabla(\eval{f}_{\IM(A)})(0)A=\nabla (f(A))(0).\]
+\end{rem}
+
+\begin{proof}
+ We begin by showing that $v\in BV(\Omega;\mathbf{R}^k)$ and
+\begin{equation}\label{e:bomb}
+\abs{Dv}(B)\le K\abs{Du}(B)\qquad\forall B\in\mathbf{B}(\Omega ),
+\end{equation}
+where $K>0$ is the Lipschitz constant of $f$. By \eqref{sum-Di} and by
+the approximation result quoted in \secref{s:mt}, it is possible to find
+a sequence $(u_h)\subset C^1(\Omega ;\mathbf{R}^m)$ converging to $u$ in
+$L^1(\Omega ;\mathbf{R}^m)$ and such that
+\[\lim_{h\to +\infty}\int_\Omega \abs{\nabla u_h}\,dx=\abs{Du}(\Omega ).\]
+The functions $v_h=f(u_h)$ are locally Lipschitz continuous in $\Omega
+$, and the definition of differential implies that $\abs{\nabla v_h}\le
+K\abs{\nabla u_h}$ almost everywhere in $\Omega $. The lower semicontinuity
+of the total variation and \eqref{sum-Di} yield
+\begin{equation}
+\begin{split}
+\abs{Dv}(\Omega )\le\liminf_{h\to +\infty}\abs{Dv_h}(\Omega) &
+=\liminf_{h\to +\infty}\int_\Omega \abs{\nabla v_h}\,dx\\
+&\le K\liminf_{h\to +\infty}\int_\Omega
+\abs{\nabla u_h}\,dx=K\abs{Du}(\Omega).
+\end{split}\end{equation}
+Since $f(0)=0$, we have also
+\[\int_\Omega \abs{v}\,dx\le K\int_\Omega \abs{u}\,dx;\]
+therefore $u\in BV(\Omega ;\mathbf{R}^k)$. Repeating the same argument
+for every open set $A\subset\Omega $, we get \eqref{e:bomb} for every
+$B\in\mathbf{B}(\Omega)$, because $\abs{Dv}$, $\abs{Du}$ are Radon measures. To
+prove \lemref{limbog}, first we observe that
+\begin{equation}\label{e:SS}
+S_v\subset S_u,\qquad\tilde v(x)=f(\tilde u(x))\qquad \forall x\in\Omega
+\backslash S_u.\end{equation}
+In fact, for every $\varepsilon >0$ we have
+\[\{y\in B_\rho(x): \abs{v(y)-f(\tilde u(x))}>\varepsilon \}\subset \{y\in
+B_\rho(x): \abs{u(y)-\tilde u(x)}>\varepsilon /K\},\]
+hence
+\[\lim_{\rho\to 0^+}\frac{\abs{\{y\in B_\rho(x): \abs{v(y)-f(\tilde u(x))}>
+\varepsilon \}}}{\rho^n}=0\]
+whenever $x\in\Omega \backslash S_u$. By a similar argument, if $x\in
+S_u$ is a point such that there exists a triplet $(u^+,u^-,\nu_u)$
+satisfying \eqref{detK1}, \eqref{detK2}, then
+\[
+(v^+(x)-v^-(x))\otimes \nu_v=(f(u^+(x))-f(u^-(x)))\otimes\nu_u\quad
+\text{if }x\in S_v
+\]
+and $f(u^-(x))=f(u^+(x))$ if $x\in S_u\backslash S_v$. Hence, by (1.8)
+we get
+\begin{equation*}\begin{split}
+Jv(B)=\int_{B\cap S_v}(v^+-v^-)\otimes \nu_v\,d\mathcal{H}_{n-1}&=
+\int_{B\cap S_v}(f(u^+)-f(u^-))\otimes \nu_u\,d\mathcal{H}_{n-1}\\
+&=\int_{B\cap S_u}(f(u^+)-f(u^-))\otimes \nu_u\,d\mathcal{H}_{n-1}
+\end{split}\end{equation*}
+and \lemref{limbog} is proved.
+\end{proof}
+
+To prove \eqref{e:SS}, it is not restrictive to assume that $k=1$.
+Moreover, to simplify our notation, from now on we shall assume that
+$\Omega = \mathbf{R}^n$. The proof of \eqref{e:SS} is divided into two
+steps. In the first step we prove the statement in the one-dimensional
+case $(n=1)$, using \thmref{th-weak-ske-owf}. In the second step we
+achieve the general result using \thmref{t:conl}.
+
+\begin{step}
+Assume that $n=1$. Since $S_u$ is at most countable, \eqref{sum-bij}
+yields that $\abs{\wt{D}v}(S_u\backslash S_v)=0$, so that
+\eqref{e:st} and \eqref{e:barwq} imply that $Dv=\wt{D}v+Jv$ is
+the Radon-Nikod\'ym decomposition of $Dv$ in absolutely continuous and
+singular part with respect to $\abs{\wt{D} u}$. By
+\thmref{th-weak-ske-owf}, we have
+\begin{equation*}
+\frac{\wt{D}v}{\abs{\wt{D}u}}(t)=\lim_{s\to t^+}
+\frac{Dv(\interval{\left[t,s\right[})}
+{\abs{\wt{D}u}(\interval{\left[t,s\right[})},\qquad
+\frac{\wt{D}u}{\abs{\wt{D}u}}(t)=\lim_{s\to t^+}
+\frac{Du(\interval{\left[t,s\right[})}
+{\abs{\wt{D}u}(\interval{\left[t,s\right[})}
+\end{equation*}
+$\abs{\wt{D}u}$-almost everywhere in $\mathbf{R}$. It is well known
+(see, for instance, \cite[2.5.16]{ste:sint}) that every one-dimensional
+function of bounded variation $w$ has a unique left continuous
+representative, i.e., a function $\hat w$ such that $\hat w=w$ almost
+everywhere and $\lim_{s\to t^-}\hat w(s)=\hat w(t)$ for every $t\in
+\mathbf{R}$. These conditions imply
+\begin{equation}
+\hat u(t)=Du(\interval{\left]-\infty,t\right[}),
+\qquad \hat v(t)=Dv(\interval{\left]-\infty,t\right[})\qquad
+\forall t\in\mathbf{R}
+\end{equation}
+and
+\begin{equation}\label{alimo}
+\hat v(t)=f(\hat u(t))\qquad\forall t\in\mathbf{R}.\end{equation}
+Let $t\in\mathbf{R}$ be such that
+$\abs{\wt{D}u}(\interval{\left[t,s\right[})>0$ for every $s>t$ and
+assume that the limits in \eqref{joe} exist. By \eqref{j:mark} and
+\eqref{far-d} we get
+\begin{equation*}\begin{split}
+\frac{\hat v(s)-\hat
+v(t)}{\abs{\wt{D}u}(\interval{\left[t,s\right[})}&=\frac {f(\hat
+u(s))-f(\hat u(t))}{\abs{\wt{D}u}(\interval{\left[t,s\right[})}\\
+&=\frac{f(\hat u(s))-f(\hat
+u(t)+\dfrac{\wt{D}u}{\abs{\wt{D}u}}(t)\abs{\wt{D}u
+}(\interval{\left[t,s\right[}))}%
+{\abs{\wt{D}u}(\interval{\left[t,s\right[})}\\
+&+\frac
+{f(\hat u(t)+\dfrac{\wt{D}u}{\abs{\wt{D}u}}(t)\abs{\wt{D}
+u}(\interval{\left[t,s\right[}))-f(\hat
+u(t))}{\abs{\wt{D}u}(\interval{\left[t,s\right[})}
+\end{split}\end{equation*}
+for every $s>t$. Using the Lipschitz condition on $f$ we find
+{\setlength{\multlinegap}{0pt}
+\begin{multline*}
+\left\lvert\frac{\hat v(s)-\hat
+v(t)}{\abs{\wt{D}u}(\interval{\left[t,s\right[})} -\frac{f(\hat
+u(t)+\dfrac{\wt{D}u}{\abs{\wt{D}u}}(t)
+\abs{\wt{D}u}(\interval{\left[t,s\right[}))-f(\hat
+u(t))}{\abs{\wt{D}u}(\interval{\left[t,s\right[})}\right\rvert\\
+\le K\left\lvert
+\frac{\hat u(s)-\hat u(t)}
+ {\abs{\wt{D}u}(\interval{\left[t,s\right[})}
+-\frac{\wt{D}u}{\abs{
+\wt{D}u}}(t)\right\rvert.\end{multline*}
+}% end of group with \multlinegap=0pt
+By \eqref{e:bomb}, the function $s\to
+\abs{\wt{D}u}(\interval{\left[t,s\right[})$ is continuous and
+converges to 0 as $s\downarrow t$. Therefore Remark~\ref{r:omb} and the
+previous inequality imply
+\[\frac{\wt{D}v}{\abs{\wt{D}u}}(t)=\lim_{h\to 0^+}
+\frac{f(\hat u(t)+h\dfrac{\wt{D}u}{\abs{\wt{D}u}}
+(t))-f(\hat u(t))}h\quad\abs{\wt{D}u}\text{-a.e. in }\mathbf{R}.\]
+By \eqref{joe}, $\hat u(x)=\tilde u(x)$ for every
+$x\in\mathbf{R}\backslash S_u$; moreover, applying the same argument to
+the functions $u'(t)=u(-t)$, $v'(t)=f(u'(t))=v(-t)$, we get
+\[\frac{\wt{D}v}{\abs{\wt{D}u}}(t)=\lim_{h\to 0}
+\frac{f(\tilde u(t)
++h\dfrac{\wt{D}u}{\abs{\wt{D}u}}(t))-f(\tilde u(t))}{h}
+\qquad\abs{\wt{D}u}\text{-a.e. in }\mathbf{R}\]
+and our statement is proved.
+\end{step}
+
+\begin{step}
+Let us consider now the general case $n>1$. Let $\nu\in \mathbf{R}^n$ be
+such that $\abs{\nu}=1$, and let $\pi_\nu=\{y\in\mathbf{R}^n: \langle
+y,\nu\rangle =0\}$. In the following, we shall identify $\mathbf{R}^n$
+with $\pi_\nu\times\mathbf{R}$, and we shall denote by $y$ the variable
+ranging in $\pi_\nu$ and by $t$ the variable ranging in $\mathbf{R}$. By
+the just proven one-dimensional result, and by \thmref{thm-main}, we get
+\[\lim_{h\to 0}\frac{f(\tilde u(y+t\nu)+h\dfrac{\wt{D}u_y}{\abs{
+\wt{D}u_y}}(t))-f(\tilde u(y+t\nu))}h=\frac{\wt{D}v_y}{\abs{
+\wt{D}u_y}}(t)\qquad\abs{\wt{D}u_y}\text{-a.e. in }\mathbf{R}\]
+for $\mathcal{H}_{n-1}$-almost every $y\in \pi_\nu$. We claim that
+\begin{equation}
+\frac{\langle \wt{D}u,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle
+}}(y+t\nu)=\frac{\wt{D}u_y}
+{\abs{\wt{D}u_y}}(t)\qquad\abs{\wt{D}u_y}\text{-a.e. in }\mathbf{R}
+\end{equation}
+for $\mathcal{H}_{n-1}$-almost every $y\in\pi_\nu$. In fact, by
+\eqref{sum-ali} and \eqref{delta-l} we get
+\begin{multline*}
+\int_{\pi_\nu}\frac{\wt{D}u_y}{\abs{\wt{D}u_y}}\cdot\abs{\wt{D}u_y
+}\,d\mathcal{H}_{n-1}(y)=\int_{\pi_\nu}\wt{D}u_y\,d\mathcal{H}_{n-1}(y)\\
+=\langle \wt{D}u,\nu\rangle =\frac
+{\langle \wt{D}u,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle}}\cdot
+\abs{\langle \wt{D}u,\nu\rangle }=\int_{\pi_\nu}\frac{
+\langle \wt{D}u,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle }}
+(y+\cdot \nu)\cdot\abs{\wt{D}u_y}\,d\mathcal{H}_{n-1}(y)
+\end{multline*}
+and \eqref{far-d} follows from \eqref{sum-Di}. By the same argument it
+is possible to prove that
+\begin{equation}
+\frac{\langle \wt{D}v,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle
+}}(y+t\nu)=\frac{\wt{D}v_y}{\abs{\wt{D}u_y}}(t)\qquad\abs{
+\wt{D}u_y}\text{-a.e. in }\mathbf{R}\end{equation}
+for $\mathcal{H}_{n-1}$-almost every $y\in \pi_\nu$. By \eqref{far-d}
+and \eqref{E_SXgYy} we get
+\[
+\lim_{h\to 0}\frac{f(\tilde u(y+t\nu)+h\dfrac{\langle \wt{D}
+u,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle }}(y+t\nu))-f(\tilde
+u(y+t\nu))}{h}
+=\frac{\langle \wt{D}v,\nu\rangle }{\abs{\langle
+\wt{D}u,\nu\rangle }}(y+t\nu)\]
+for $\mathcal{H}_{n-1}$-almost every $y\in\pi_\nu$, and using again
+\eqref{detK1}, \eqref{detK2} we get
+\[
+\lim_{h\to 0}\frac{f(\tilde u(x)+h\dfrac{\langle
+\wt{D}u,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle }}(x))-f(\tilde
+u(x))}{h}=\frac{\langle \wt{D}v,\nu\rangle }{\abs{\langle \wt{D}u,\nu
+\rangle }}(x)
+\]
+$\abs{\langle \wt{D}u,\nu\rangle}$-a.e. in $\mathbf{R}^n$.
+
+Since the function $\abs{\langle \wt{D}u,\nu\rangle }/\abs{\wt{D}u}$
+is strictly positive $\abs{\langle \wt{D}u,\nu\rangle }$-almost everywhere,
+we obtain also
+\begin{multline*}
+\lim_{h\to 0}\frac{f(\tilde u(x)+h\dfrac{\abs{\langle
+\wt{D}u,\nu\rangle }}{\abs{\wt{D}u}}(x)\dfrac{\langle \wt{D}
+u,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle }}(x))-f(\tilde u(x))}{h}\\
+=\frac{\abs{\langle \wt{D}u,\nu\rangle }}{\abs{\wt{D}u}}(x)\frac
+{\langle \wt{D}v,\nu\rangle }{\abs{\langle
+\wt{D}u,\nu\rangle }}(x)
+\end{multline*}
+$\abs{\langle \wt{D}u,\nu\rangle }$-almost everywhere in $\mathbf{R}^n$.
+
+Finally, since
+\begin{align*}
+&\frac{\abs{\langle \wt{D}u,\nu\rangle }}{\abs{\wt{D}u}}
+\frac{\langle \wt{D}u,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle}}
+=\frac{\langle \wt{D}u,\nu\rangle }{\abs{\wt{D}u}}
+=\left\langle \frac{\wt{D}u}{\abs{\wt{D}u}},\nu\right\rangle
+ \qquad\abs{\wt{D}u}\text{-a.e. in }\mathbf{R}^n\\
+&\frac{\abs{\langle \wt{D}u,\nu\rangle }}{\abs{\wt{D}u}}
+\frac{\langle \wt{D}v,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle}}
+=\frac{\langle \wt{D}v,\nu\rangle }{\abs{\wt{D}u}}
+=\left\langle \frac{\wt{D}v}{\abs{\wt{D}u}},\nu\right\rangle
+ \qquad\abs{\wt{D}u}\text{-a.e. in }\mathbf{R}^n
+\end{align*}
+and since both sides of \eqref{alimo}
+are zero $\abs{\wt{D}u}$-almost everywhere
+on $\abs{\langle \wt{D}u,\nu\rangle }$-negligible sets, we conclude that
+\[
+\lim_{h\to 0}\frac{f\left(
+\tilde u(x)+h\left\langle \dfrac{\wt{D}
+u}{\abs{\wt{D}u}}(x),\nu\right\rangle \right)-f(\tilde u(x))}h
+=\left\langle \frac{\wt{D}v}{\abs{\wt{D}u}}(x),\nu\right\rangle,
+\]
+$\abs{\wt{D}u}$-a.e. in $\mathbf{R}^n$.
+Since $\nu$ is arbitrary, by Remarks \ref{r:dif} and~\ref{r:dif0}
+the restriction of $f$ to
+the affine space $T^u_x$ is differentiable at $\tilde u(x)$ for $\abs{\wt{D}
+u}$-almost every $x\in \mathbf{R}^n$ and \eqref{quts} holds.\qed
+\end{step}
+
+It follows from \eqref{sum-Di}, \eqref{detK1}, and \eqref{detK2} that
+\begin{equation}\label{Dt}
+D(t_1,\dots,t_n)=\sum_{I\in\mathbf{n}}(-1)^{\abs{I}-1}\abs{I}
+\prod_{i\in I}t_i\prod_{j\in I}(D_j+\lambda_jt_j)\det\mathbf{A}^{(\lambda)}
+(\overline I|\overline I).
+\end{equation}
+Let $t_i=\hat x_i$, $i=1,\dots,n$. Lemma 1 leads to
+\begin{equation}\label{Dx}
+D(\hat x_1,\dots,\hat x_n)=\prod_{i\in\mathbf{n}}\hat x_i
+\sum_{I\in\mathbf{n}}(-1)^{\abs{I}-1}\abs{I}\per \mathbf{A}
+^{(\lambda)}(I|I)\det\mathbf{A}^{(\lambda)}(\overline I|\overline I).
+\end{equation}
+By \eqref{H-cycles}, \eqref{sum-Di}, and \eqref{Dx},
+we have the following result:
+\begin{thm}\label{thm-H-param}
+\begin{equation}\label{H-param}
+H_c=\frac{1}{2n}\sum^n_{l =1}l (-1)^{l -1}A_{l}
+^{(\lambda)},
+\end{equation}
+where
+\begin{equation}\label{A-l-lambda}
+A^{(\lambda)}_l =\sum_{I_l \subseteq\mathbf{n}}\per \mathbf{A}
+^{(\lambda)}(I_l |I_l )\det\mathbf{A}^{(\lambda)}
+(\overline I_{l}|\overline I_l ),\abs{I_{l}}=l .
+\end{equation}
+\end{thm}
+
+It is worth noting that $A_l ^{(\lambda)}$ of \eqref{A-l-lambda} is
+similar to the coefficients $b_l $ of the characteristic polynomial of
+\eqref{bl-sum}. It is well known in graph theory that the coefficients
+$b_l $ can be expressed as a sum over certain subgraphs. It is
+interesting to see whether $A_l $, $\lambda=0$, structural properties
+of a graph.
+
+We may call \eqref{H-param} a parametric representation of $H_c$. In
+computation, the parameter $\lambda_i$ plays very important roles. The
+choice of the parameter usually depends on the properties of the given
+graph. For a complete graph $K_n$, let $\lambda_i=1$, $i=1,\dots,n$.
+It follows from \eqref{A-l-lambda} that
+\begin{equation}\label{compl-gr}
+A^{(1)}_l =\begin{cases} n!,&\text{if }l =1\\
+0,&\text{otherwise}.\end{cases}
+\end{equation}
+By \eqref{H-param}
+\begin{equation}
+H_c=\frac 12(n-1)!.
+\end{equation}
+For a complete bipartite graph $K_{n_1n_2}$, let $\lambda_i=0$, $i=1,\dots,n$.
+By \eqref{A-l-lambda},
+\begin{equation}
+A_l =
+\begin{cases} -n_1!n_2!\delta_{n_1n_2},&\text{if }l =2\\
+0,&\text{otherwise }.\end{cases}
+\label{compl-bip-gr}
+\end{equation}
+Theorem ~\ref{thm-H-param}
+leads to
+\begin{equation}
+H_c=\frac1{n_1+n_2}n_1!n_2!\delta_{n_1n_2}.
+\end{equation}
+
+Now, we consider an asymmetrical approach. Theorem \ref{thm-main} leads to
+\begin{multline}
+\det\mathbf{K}(t=1,t_1,\dots,t_n;l |l )\\
+=\sum_{I\subseteq\mathbf{n}-\{l \}}
+(-1)^{\abs{I}}\prod_{i\in I}t_i\prod_{j\in I}
+(D_j+\lambda_jt_j)\det\mathbf{A}^{(\lambda)}
+(\overline I\cup\{l \}|\overline I\cup\{l \}).
+\end{multline}
+
+By \eqref{H-cycles} and \eqref{sum-ali} we have the following asymmetrical
+result:
+\begin{thm}\label{thm-asym}
+\begin{equation}
+H_c=\frac12\sum_{I\subseteq\mathbf{n}-\{l \}}
+(-1)^{\abs{I}}\per\mathbf{A}^{(\lambda)}(I|I)\det
+\mathbf{A}^{(\lambda)}
+(\overline I\cup\{l \}|\overline I\cup\{l \})
+\end{equation}
+which reduces to Goulden--Jackson's formula when $\lambda_i=0,i=1,\dots,n$
+\cite{mami:matrixth}.
+\end{thm}
+
+\section{Named Propositions}
+\label{s:namedprops}
+
+Here we discuss several propositions:
+\begin{namedprop}{plain}{thm}{G\"odel Theorem}[First incompleteness theorem]
+ For any consistent formal, computably enumerable theory that proves
+ basic arithmetical truths, an arithmetical statement that is true,
+ but not provable in the theory, can be constructed. That is, any
+ effectively generated theory capable of expressing elementary
+ arithmetic cannot be both consistent and complete.
+\end{namedprop}
+
+\begin{namedprop}{plain}{thm}{G\"odel Theorem}
+ For any formal recursively enumerable (i.e. effectively generated)
+ theory T including basic arithmetical truths and also certain truths
+ about formal provability, T includes a statement of its own
+ consistency if and only if T is inconsistent.
+\end{namedprop}
+
+\begin{namedprop*}{plain}{Abel's Lemma}[Summation by parts]
+ For any sequences $f_k$ and $g_k$
+ \begin{displaymath}
+ \sum_{k=m}^n f_k(g_{k+1}-g_k) = f_{n+1}g_{n+1} -
+ \sum_{k=m}^n g_{k+1} (f_{k+1} - f_k)
+ \end{displaymath}
+\end{namedprop*}
+
+\begin{namedprop*}{plain}{Fermat's last theorem}
+ For any $n>2$ the equation $x^n+y^n=z^n$ has no non-zero integer
+ solutions.
+\end{namedprop*}
+
+\section{Various font features of the \pkg{amsmath} package}
+\label{s:font}
+\subsection{Bold versions of special symbols}
+
+In the \pkg{amsmath} package \cn{boldsymbol} is used for getting
+individual bold math symbols and bold Greek letters---everything in
+math except for letters of the Latin alphabet,
+where you'd use \cn{mathbf}. For example,
+\begin{verbatim}
+A_\infty + \pi A_0 \sim
+\mathbf{A}_{\boldsymbol{\infty}} \boldsymbol{+}
+\boldsymbol{\pi} \mathbf{A}_{\boldsymbol{0}}
+\end{verbatim}
+looks like this:
+\[A_\infty + \pi A_0 \sim \mathbf{A}_{\boldsymbol{\infty}}
+\boldsymbol{+} \boldsymbol{\pi} \mathbf{A}_{\boldsymbol{0}}\]
+
+\subsection{``Poor man's bold''}
+If a bold version of a particular symbol doesn't exist in the
+available fonts,
+then \cn{boldsymbol} can't be used to make that symbol bold.
+At the present time, this means that
+\cn{boldsymbol} can't be used with symbols from
+the \fn{msam} and \fn{msbm} fonts, among others.
+In some cases, poor man's bold (\cn{pmb}) can be used instead
+of \cn{boldsymbol}:
+% Can't show example from msam or msbm because this document is
+% supposed to be TeXable even if the user doesn't have
+% AMSFonts. MJD 5-JUL-1990
+\[\frac{\partial x}{\partial y}
+\pmb{\bigg\vert}
+\frac{\partial y}{\partial z}\]
+\begin{verbatim}
+\[\frac{\partial x}{\partial y}
+\pmb{\bigg\vert}
+\frac{\partial y}{\partial z}\]
+\end{verbatim}
+So-called ``large operator'' symbols such as $\sum$ and $\prod$
+require an additional command, \cn{mathop},
+to produce proper spacing and limits when \cn{pmb} is used.
+For further details see \textit{The \TeX book}.
+\[\sum_{\substack{i<B\\\text{$i$ odd}}}
+\prod_\kappa \kappa F(r_i)\qquad
+\mathop{\pmb{\sum}}_{\substack{i<B\\\text{$i$ odd}}}
+\mathop{\pmb{\prod}}_\kappa \kappa(r_i)
+\]
+\begin{verbatim}
+\[\sum_{\substack{i<B\\\text{$i$ odd}}}
+\prod_\kappa \kappa F(r_i)\qquad
+\mathop{\pmb{\sum}}_{\substack{i<B\\\text{$i$ odd}}}
+\mathop{\pmb{\prod}}_\kappa \kappa(r_i)
+\]
+\end{verbatim}
+
+\section{Compound symbols and other features}
+\label{s:comp}
+\subsection{Multiple integral signs}
+
+\cn{iint}, \cn{iiint}, and \cn{iiiint} give multiple integral signs
+with the spacing between them nicely adjusted, in both text and
+display style. \cn{idotsint} gives two integral signs with dots
+between them.
+\begin{gather}
+\iint\limits_A f(x,y)\,dx\,dy\qquad\iiint\limits_A
+f(x,y,z)\,dx\,dy\,dz\\
+\iiiint\limits_A
+f(w,x,y,z)\,dw\,dx\,dy\,dz\qquad\idotsint\limits_A f(x_1,\dots,x_k)
+\end{gather}
+
+\subsection{Over and under arrows}
+
+Some extra over and under arrow operations are provided in
+the \pkg{amsmath} package. (Basic \LaTeX\ provides
+\cn{overrightarrow} and \cn{overleftarrow}).
+\begin{align*}
+\overrightarrow{\psi_\delta(t) E_t h}&
+=\underrightarrow{\psi_\delta(t) E_t h}\\
+\overleftarrow{\psi_\delta(t) E_t h}&
+=\underleftarrow{\psi_\delta(t) E_t h}\\
+\overleftrightarrow{\psi_\delta(t) E_t h}&
+=\underleftrightarrow{\psi_\delta(t) E_t h}
+\end{align*}
+\begin{verbatim}
+\begin{align*}
+\overrightarrow{\psi_\delta(t) E_t h}&
+=\underrightarrow{\psi_\delta(t) E_t h}\\
+\overleftarrow{\psi_\delta(t) E_t h}&
+=\underleftarrow{\psi_\delta(t) E_t h}\\
+\overleftrightarrow{\psi_\delta(t) E_t h}&
+=\underleftrightarrow{\psi_\delta(t) E_t h}
+\end{align*}
+\end{verbatim}
+These all scale properly in subscript sizes:
+\[\int_{\overrightarrow{AB}} ax\,dx\]
+\begin{verbatim}
+\[\int_{\overrightarrow{AB}} ax\,dx\]
+\end{verbatim}
+
+\subsection{Dots}
+
+Normally you need only type \cn{dots} for ellipsis dots in a
+math formula. The main exception is when the dots
+fall at the end of the formula; then you need to
+specify one of \cn{dotsc} (series dots, after a comma),
+\cn{dotsb} (binary dots, for binary relations or operators),
+\cn{dotsm} (multiplication dots), or \cn{dotsi} (dots after
+an integral). For example, the input
+\begin{verbatim}
+Then we have the series $A_1,A_2,\dotsc$,
+the regional sum $A_1+A_2+\dotsb$,
+the orthogonal product $A_1A_2\dotsm$,
+and the infinite integral
+\[\int_{A_1}\int_{A_2}\dotsi\].
+\end{verbatim}
+produces
+\begin{quotation}
+Then we have the series $A_1,A_2,\dotsc$,
+the regional sum $A_1+A_2+\dotsb$,
+the orthogonal product $A_1A_2\dotsm$,
+and the infinite integral
+\[\int_{A_1}\int_{A_2}\dotsi\]
+\end{quotation}
+
+\subsection{Accents in math}
+
+Double accents:
+\[\Hat{\Hat{H}}\quad\Check{\Check{C}}\quad
+\Tilde{\Tilde{T}}\quad\Acute{\Acute{A}}\quad
+\Grave{\Grave{G}}\quad\Dot{\Dot{D}}\quad
+\Ddot{\Ddot{D}}\quad\Breve{\Breve{B}}\quad
+\Bar{\Bar{B}}\quad\Vec{\Vec{V}}\]
+\begin{verbatim}
+\[\Hat{\Hat{H}}\quad\Check{\Check{C}}\quad
+\Tilde{\Tilde{T}}\quad\Acute{\Acute{A}}\quad
+\Grave{\Grave{G}}\quad\Dot{\Dot{D}}\quad
+\Ddot{\Ddot{D}}\quad\Breve{\Breve{B}}\quad
+\Bar{\Bar{B}}\quad\Vec{\Vec{V}}\]
+\end{verbatim}
+This double accent operation is complicated
+and tends to slow down the processing of a \LaTeX\ file.
+
+
+\subsection{Dot accents}
+\cn{dddot} and \cn{ddddot} are available to
+produce triple and quadruple dot accents
+in addition to the \cn{dot} and \cn{ddot} accents already available
+in \LaTeX:
+\[\dddot{Q}\qquad\ddddot{R}\]
+\begin{verbatim}
+\[\dddot{Q}\qquad\ddddot{R}\]
+\end{verbatim}
+
+\subsection{Roots}
+
+In the \pkg{amsmath} package \cn{leftroot} and \cn{uproot} allow you to adjust
+the position of the root index of a radical:
+\begin{verbatim}
+\sqrt[\leftroot{-2}\uproot{2}\beta]{k}
+\end{verbatim}
+gives good positioning of the $\beta$:
+\[\sqrt[\leftroot{-2}\uproot{2}\beta]{k}\]
+
+\subsection{Boxed formulas} The command \cn{boxed} puts a box around its
+argument, like \cn{fbox} except that the contents are in math mode:
+\begin{verbatim}
+\boxed{W_t-F\subseteq V(P_i)\subseteq W_t}
+\end{verbatim}
+\[\boxed{W_t-F\subseteq V(P_i)\subseteq W_t}.\]
+
+\subsection{Extensible arrows}
+\cn{xleftarrow} and \cn{xrightarrow} produce
+arrows that extend automatically to accommodate unusually wide
+subscripts or superscripts. The text of the subscript or superscript
+are given as an optional resp.\@ mandatory argument:
+Example:
+\[0 \xleftarrow[\zeta]{\alpha} F\times\triangle[n-1]
+ \xrightarrow{\partial_0\alpha(b)} E^{\partial_0b}\]
+\begin{verbatim}
+\[0 \xleftarrow[\zeta]{\alpha} F\times\triangle[n-1]
+ \xrightarrow{\partial_0\alpha(b)} E^{\partial_0b}\]
+\end{verbatim}
+
+\subsection{\cn{overset}, \cn{underset}, and \cn{sideset}}
+Examples:
+\[\overset{*}{X}\qquad\underset{*}{X}\qquad
+\overset{a}{\underset{b}{X}}\]
+\begin{verbatim}
+\[\overset{*}{X}\qquad\underset{*}{X}\qquad
+\overset{a}{\underset{b}{X}}\]
+\end{verbatim}
+
+The command \cn{sideset} is for a rather special
+purpose: putting symbols at the subscript and superscript
+corners of a large operator symbol such as $\sum$ or $\prod$,
+without affecting the placement of limits.
+Examples:
+\[\sideset{_*^*}{_*^*}\prod_k\qquad
+\sideset{}{'}\sum_{0\le i\le m} E_i\beta x
+\]
+\begin{verbatim}
+\[\sideset{_*^*}{_*^*}\prod_k\qquad
+\sideset{}{'}\sum_{0\le i\le m} E_i\beta x
+\]
+\end{verbatim}
+
+\subsection{The \cn{text} command}
+The main use of the command \cn{text} is for words or phrases in a
+display:
+\[\mathbf{y}=\mathbf{y}'\quad\text{if and only if}\quad
+y'_k=\delta_k y_{\tau(k)}\]
+\begin{verbatim}
+\[\mathbf{y}=\mathbf{y}'\quad\text{if and only if}\quad
+y'_k=\delta_k y_{\tau(k)}\]
+\end{verbatim}
+
+\subsection{Operator names}
+The more common math functions such as $\log$, $\sin$, and $\lim$
+have predefined control sequences: \verb=\log=, \verb=\sin=,
+\verb=\lim=.
+The \pkg{amsmath} package provides \cn{DeclareMathOperator} and
+\cn{DeclareMathOperator*}
+for producing new function names that will have the
+same typographical treatment.
+Examples:
+\[\norm{f}_\infty=
+\esssup_{x\in R^n}\abs{f(x)}\]
+\begin{verbatim}
+\[\norm{f}_\infty=
+\esssup_{x\in R^n}\abs{f(x)}\]
+\end{verbatim}
+\[\meas_1\{u\in R_+^1\colon f^*(u)>\alpha\}
+=\meas_n\{x\in R^n\colon \abs{f(x)}\geq\alpha\}
+\quad \forall\alpha>0.\]
+\begin{verbatim}
+\[\meas_1\{u\in R_+^1\colon f^*(u)>\alpha\}
+=\meas_n\{x\in R^n\colon \abs{f(x)}\geq\alpha\}
+\quad \forall\alpha>0.\]
+\end{verbatim}
+\cn{esssup} and \cn{meas} would be defined in the document preamble as
+\begin{verbatim}
+\DeclareMathOperator*{\esssup}{ess\,sup}
+\DeclareMathOperator{\meas}{meas}
+\end{verbatim}
+
+The following special operator names are predefined in the \pkg{amsmath}
+package: \cn{varlimsup}, \cn{varliminf}, \cn{varinjlim}, and
+\cn{varprojlim}. Here's what they look like in use:
+\begin{align}
+&\varlimsup_{n\rightarrow\infty}
+ \mathcal{Q}(u_n,u_n-u^{\#})\le0\\
+&\varliminf_{n\rightarrow\infty}
+ \left\lvert a_{n+1}\right\rvert/\left\lvert a_n\right\rvert=0\\
+&\varinjlim (m_i^\lambda\cdot)^*\le0\\
+&\varprojlim_{p\in S(A)}A_p\le0
+\end{align}
+\begin{verbatim}
+\begin{align}
+&\varlimsup_{n\rightarrow\infty}
+ \mathcal{Q}(u_n,u_n-u^{\#})\le0\\
+&\varliminf_{n\rightarrow\infty}
+ \left\lvert a_{n+1}\right\rvert/\left\lvert a_n\right\rvert=0\\
+&\varinjlim (m_i^\lambda\cdot)^*\le0\\
+&\varprojlim_{p\in S(A)}A_p\le0
+\end{align}
+\end{verbatim}
+
+\subsection{\cn{mod} and its relatives}
+The commands \cn{mod} and \cn{pod} are variants of
+\cn{pmod} preferred by some authors; \cn{mod} omits the parentheses,
+whereas \cn{pod} omits the `mod' and retains the parentheses.
+Examples:
+\begin{align}
+x&\equiv y+1\pmod{m^2}\\
+x&\equiv y+1\mod{m^2}\\
+x&\equiv y+1\pod{m^2}
+\end{align}
+\begin{verbatim}
+\begin{align}
+x&\equiv y+1\pmod{m^2}\\
+x&\equiv y+1\mod{m^2}\\
+x&\equiv y+1\pod{m^2}
+\end{align}
+\end{verbatim}
+
+\subsection{Fractions and related constructions}
+\label{fracs}
+
+The usual notation for binomials is similar to the fraction concept,
+so it has a similar command \cn{binom} with two arguments. Example:
+\begin{equation}
+\begin{split}
+\sum_{\gamma\in\Gamma_C} I_\gamma&
+=2^k-\binom{k}{1}2^{k-1}+\binom{k}{2}2^{k-2}\\
+&\quad+\dots+(-1)^l\binom{k}{l}2^{k-l}
++\dots+(-1)^k\\
+&=(2-1)^k=1
+\end{split}
+\end{equation}
+\begin{verbatim}
+\begin{equation}
+\begin{split}
+[\sum_{\gamma\in\Gamma_C} I_\gamma&
+=2^k-\binom{k}{1}2^{k-1}+\binom{k}{2}2^{k-2}\\
+&\quad+\dots+(-1)^l\binom{k}{l}2^{k-l}
++\dots+(-1)^k\\
+&=(2-1)^k=1
+\end{split}
+\end{equation}
+\end{verbatim}
+There are also abbreviations
+\begin{verbatim}
+\dfrac \dbinom
+\tfrac \tbinom
+\end{verbatim}
+for the commonly needed constructions
+\begin{verbatim}
+{\displaystyle\frac ... } {\displaystyle\binom ... }
+{\textstyle\frac ... } {\textstyle\binom ... }
+\end{verbatim}
+
+The generalized fraction command \cn{genfrac} provides full access to
+the six \TeX{} fraction primitives:
+\begin{align}
+\text{\cn{over}: }&\genfrac{}{}{}{}{n+1}{2}&
+\text{\cn{overwithdelims}: }&
+ \genfrac{\langle}{\rangle}{}{}{n+1}{2}\\
+\text{\cn{atop}: }&\genfrac{}{}{0pt}{}{n+1}{2}&
+\text{\cn{atopwithdelims}: }&
+ \genfrac{(}{)}{0pt}{}{n+1}{2}\\
+\text{\cn{above}: }&\genfrac{}{}{1pt}{}{n+1}{2}&
+\text{\cn{abovewithdelims}: }&
+ \genfrac{[}{]}{1pt}{}{n+1}{2}
+\end{align}
+\begin{verbatim}
+\text{\cn{over}: }&\genfrac{}{}{}{}{n+1}{2}&
+\text{\cn{overwithdelims}: }&
+ \genfrac{\langle}{\rangle}{}{}{n+1}{2}\\
+\text{\cn{atop}: }&\genfrac{}{}{0pt}{}{n+1}{2}&
+\text{\cn{atopwithdelims}: }&
+ \genfrac{(}{)}{0pt}{}{n+1}{2}\\
+\text{\cn{above}: }&\genfrac{}{}{1pt}{}{n+1}{2}&
+\text{\cn{abovewithdelims}: }&
+ \genfrac{[}{]}{1pt}{}{n+1}{2}
+\end{verbatim}
+
+\subsection{Continued fractions}
+The continued fraction
+\begin{equation}
+\cfrac{1}{\sqrt{2}+
+ \cfrac{1}{\sqrt{2}+
+ \cfrac{1}{\sqrt{2}+
+ \cfrac{1}{\sqrt{2}+
+ \cfrac{1}{\sqrt{2}+\dotsb
+}}}}}
+\end{equation}
+can be obtained by typing
+\begin{verbatim}
+\cfrac{1}{\sqrt{2}+
+ \cfrac{1}{\sqrt{2}+
+ \cfrac{1}{\sqrt{2}+
+ \cfrac{1}{\sqrt{2}+
+ \cfrac{1}{\sqrt{2}+\dotsb
+}}}}}
+\end{verbatim}
+Left or right placement of any of the numerators is accomplished by using
+\cn{cfrac[l]} or \cn{cfrac[r]} instead of \cn{cfrac}.
+
+\subsection{Smash}
+
+In \pkg{amsmath} there are optional arguments \verb"t" and \verb"b" for
+the plain \TeX\ command \cn{smash}, because sometimes it is advantageous
+to be able to `smash' only the top or only the bottom of something while
+retaining the natural depth or height. In the formula
+$X_j=(1/\sqrt{\smash[b]{\lambda_j}})X_j'$ \cn{smash}\verb=[b]= has been
+used to limit the size of the radical symbol.
+\begin{verbatim}
+$X_j=(1/\sqrt{\smash[b]{\lambda_j}})X_j'$
+\end{verbatim}
+Without the use of \cn{smash}\verb=[b]= the formula would have appeared
+thus: $X_j=(1/\sqrt{\lambda_j})X_j'$, with the radical extending to
+encompass the depth of the subscript $j$.
+
+\subsection{The `cases' environment}
+`Cases' constructions like the following can be produced using
+the \env{cases} environment.
+\begin{equation}
+P_{r-j}=
+ \begin{cases}
+ 0& \text{if $r-j$ is odd},\\
+ r!\,(-1)^{(r-j)/2}& \text{if $r-j$ is even}.
+ \end{cases}
+\end{equation}
+\begin{verbatim}
+\begin{equation} P_{r-j}=
+ \begin{cases}
+ 0& \text{if $r-j$ is odd},\\
+ r!\,(-1)^{(r-j)/2}& \text{if $r-j$ is even}.
+ \end{cases}
+\end{equation}
+\end{verbatim}
+Notice the use of \cn{text} and the embedded math.
+
+\subsection{Matrix}
+
+Here are samples of the matrix environments,
+\cn{matrix}, \cn{pmatrix}, \cn{bmatrix}, \cn{Bmatrix}, \cn{vmatrix}
+and \cn{Vmatrix}:
+\begin{equation}
+\begin{matrix}
+\vartheta& \varrho\\\varphi& \varpi
+\end{matrix}\quad
+\begin{pmatrix}
+\vartheta& \varrho\\\varphi& \varpi
+\end{pmatrix}\quad
+\begin{bmatrix}
+\vartheta& \varrho\\\varphi& \varpi
+\end{bmatrix}\quad
+\begin{Bmatrix}
+\vartheta& \varrho\\\varphi& \varpi
+\end{Bmatrix}\quad
+\begin{vmatrix}
+\vartheta& \varrho\\\varphi& \varpi
+\end{vmatrix}\quad
+\begin{Vmatrix}
+\vartheta& \varrho\\\varphi& \varpi
+\end{Vmatrix}
+\end{equation}
+%
+\begin{verbatim}
+\begin{matrix}
+\vartheta& \varrho\\\varphi& \varpi
+\end{matrix}\quad
+\begin{pmatrix}
+\vartheta& \varrho\\\varphi& \varpi
+\end{pmatrix}\quad
+\begin{bmatrix}
+\vartheta& \varrho\\\varphi& \varpi
+\end{bmatrix}\quad
+\begin{Bmatrix}
+\vartheta& \varrho\\\varphi& \varpi
+\end{Bmatrix}\quad
+\begin{vmatrix}
+\vartheta& \varrho\\\varphi& \varpi
+\end{vmatrix}\quad
+\begin{Vmatrix}
+\vartheta& \varrho\\\varphi& \varpi
+\end{Vmatrix}
+\end{verbatim}
+
+To produce a small matrix suitable for use in text, use the
+\env{smallmatrix} environment.
+\begin{verbatim}
+\begin{math}
+ \bigl( \begin{smallmatrix}
+ a&b\\ c&d
+ \end{smallmatrix} \bigr)
+\end{math}
+\end{verbatim}
+To show
+the effect of the matrix on the surrounding lines of
+a paragraph, we put it here: \begin{math}
+ \bigl( \begin{smallmatrix}
+ a&b\\ c&d
+ \end{smallmatrix} \bigr)
+\end{math}
+and follow it with enough text to ensure that there will
+be at least one full line below the matrix.
+
+\cn{hdotsfor}\verb"{"\textit{number}\verb"}" produces a row of dots in a matrix
+spanning the given number of columns:
+\[W(\Phi)= \begin{Vmatrix}
+\dfrac\varphi{(\varphi_1,\varepsilon_1)}&0&\dots&0\\
+\dfrac{\varphi k_{n2}}{(\varphi_2,\varepsilon_1)}&
+\dfrac\varphi{(\varphi_2,\varepsilon_2)}&\dots&0\\
+\hdotsfor{5}\\
+\dfrac{\varphi k_{n1}}{(\varphi_n,\varepsilon_1)}&
+\dfrac{\varphi k_{n2}}{(\varphi_n,\varepsilon_2)}&\dots&
+\dfrac{\varphi k_{n\,n-1}}{(\varphi_n,\varepsilon_{n-1})}&
+\dfrac{\varphi}{(\varphi_n,\varepsilon_n)}
+\end{Vmatrix}\]
+\begin{verbatim}
+\[W(\Phi)= \begin{Vmatrix}
+\dfrac\varphi{(\varphi_1,\varepsilon_1)}&0&\dots&0\\
+\dfrac{\varphi k_{n2}}{(\varphi_2,\varepsilon_1)}&
+\dfrac\varphi{(\varphi_2,\varepsilon_2)}&\dots&0\\
+\hdotsfor{5}\\
+\dfrac{\varphi k_{n1}}{(\varphi_n,\varepsilon_1)}&
+\dfrac{\varphi k_{n2}}{(\varphi_n,\varepsilon_2)}&\dots&
+\dfrac{\varphi k_{n\,n-1}}{(\varphi_n,\varepsilon_{n-1})}&
+\dfrac{\varphi}{(\varphi_n,\varepsilon_n)}
+\end{Vmatrix}\]
+\end{verbatim}
+The spacing of the dots can be varied through use of a square-bracket
+option, for example, \verb"\hdotsfor[1.5]{3}". The number in square brackets
+will be used as a multiplier; the normal value is 1.
+
+\subsection{The \cn{substack} command}
+
+The \cn{substack} command can be used to produce a multiline
+subscript or superscript:
+for example
+\begin{verbatim}
+\sum_{\substack{0\le i\le m\\ 0<j<n}} P(i,j)
+\end{verbatim}
+produces a two-line subscript underneath the sum:
+\begin{equation}
+\sum_{\substack{0\le i\le m\\ 0<j<n}} P(i,j)
+\end{equation}
+A slightly more generalized form is the \env{subarray} environment which
+allows you to specify that each line should be left-aligned instead of
+centered, as here:
+\begin{equation}
+\sum_{\begin{subarray}{l}
+ 0\le i\le m\\ 0<j<n
+ \end{subarray}}
+ P(i,j)
+\end{equation}
+\begin{verbatim}
+\sum_{\begin{subarray}{l}
+ 0\le i\le m\\ 0<j<n
+ \end{subarray}}
+ P(i,j)
+\end{verbatim}
+
+
+\subsection{Big-g-g delimiters}
+
+Here are some big delimiters, first in \cn{normalsize}:
+\[\biggl(\mathbf{E}_{y}
+ \int_0^{t_\varepsilon}L_{x,y^x(s)}\varphi(x)\,ds
+ \biggr)
+\]
+\begin{verbatim}
+\[\biggl(\mathbf{E}_{y}
+ \int_0^{t_\varepsilon}L_{x,y^x(s)}\varphi(x)\,ds
+ \biggr)
+\]
+\end{verbatim}
+and now in \cn{Large} size:
+{\Large
+\[\biggl(\mathbf{E}_{y}
+ \int_0^{t_\varepsilon}L_{x,y^x(s)}\varphi(x)\,ds
+ \biggr)
+\]}
+\begin{verbatim}
+{\Large
+\[\biggl(\mathbf{E}_{y}
+ \int_0^{t_\varepsilon}L_{x,y^x(s)}\varphi(x)\,ds
+ \biggr)
+\]}
+\end{verbatim}
+
+\newpage
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\makeatletter
+
+%% This turns on vertical rules at the right and left margins, to
+%% better illustrate the spacing for certain multiple-line equation
+%% structures.
+\def\@makecol{\ifvoid\footins \setbox\@outputbox\box\@cclv
+ \else\setbox\@outputbox
+ \vbox{\boxmaxdepth \maxdepth
+ \unvbox\@cclv\vskip\skip\footins\footnoterule\unvbox\footins}\fi
+ \xdef\@freelist{\@freelist\@midlist}\gdef\@midlist{}\@combinefloats
+ \setbox\@outputbox\hbox{\vrule width\marginrulewidth
+ \vbox to\@colht{\boxmaxdepth\maxdepth
+ \@texttop\dimen128=\dp\@outputbox\unvbox\@outputbox
+ \vskip-\dimen128\@textbottom}%
+ \vrule width\marginrulewidth}%
+ \global\maxdepth\@maxdepth}
+\newdimen\marginrulewidth
+\setlength{\marginrulewidth}{.1pt}
+\makeatother
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\appendix
+\section{Examples of multiple-line equation structures}
+\label{s:eq}
+
+\textbf{\large Note: Starting on this page, vertical rules are
+added at the margins so that the positioning of various display elements
+with respect to the margins can be seen more clearly.}
+
+\subsection{Split}
+The \env{split} environment is not an independent environment
+but should be used inside something else such as \env{equation}
+or \env{align}.
+
+If there is not enough room for it, the equation number for a
+\env{split} will be shifted to the previous line, when equation numbers are
+on the left; the number shifts down to the next line when numbers are on
+the right.
+\begin{equation}
+\begin{split}
+f_{h,\varepsilon}(x,y)
+&=\varepsilon\mathbf{E}_{x,y}\int_0^{t_\varepsilon}
+L_{x,y_\varepsilon(\varepsilon u)}\varphi(x)\,du\\
+&= h\int L_{x,z}\varphi(x)\rho_x(dz)\\
+&\quad+h\biggl[\frac{1}{t_\varepsilon}\biggl(\mathbf{E}_{y}
+ \int_0^{t_\varepsilon}L_{x,y^x(s)}\varphi(x)\,ds
+ -t_\varepsilon\int L_{x,z}\varphi(x)\rho_x(dz)\biggr)\\
+&\phantom{{=}+h\biggl[}+\frac{1}{t_\varepsilon}
+ \biggl(\mathbf{E}_{y}\int_0^{t_\varepsilon}L_{x,y^x(s)}
+ \varphi(x)\,ds -\mathbf{E}_{x,y}\int_0^{t_\varepsilon}
+ L_{x,y_\varepsilon(\varepsilon s)}
+ \varphi(x)\,ds\biggr)\biggr]\\
+&=h\wh{L}_x\varphi(x)+h\theta_\varepsilon(x,y),
+\end{split}
+\end{equation}
+Some text after to test the below-display spacing.
+
+\begin{verbatim}
+\begin{equation}
+\begin{split}
+f_{h,\varepsilon}(x,y)
+&=\varepsilon\mathbf{E}_{x,y}\int_0^{t_\varepsilon}
+L_{x,y_\varepsilon(\varepsilon u)}\varphi(x)\,du\\
+&= h\int L_{x,z}\varphi(x)\rho_x(dz)\\
+&\quad+h\biggl[\frac{1}{t_\varepsilon}\biggl(\mathbf{E}_{y}
+ \int_0^{t_\varepsilon}L_{x,y^x(s)}\varphi(x)\,ds
+ -t_\varepsilon\int L_{x,z}\varphi(x)\rho_x(dz)\biggr)\\
+&\phantom{{=}+h\biggl[}+\frac{1}{t_\varepsilon}
+ \biggl(\mathbf{E}_{y}\int_0^{t_\varepsilon}L_{x,y^x(s)}
+ \varphi(x)\,ds -\mathbf{E}_{x,y}\int_0^{t_\varepsilon}
+ L_{x,y_\varepsilon(\varepsilon s)}
+ \varphi(x)\,ds\biggr)\biggr]\\
+&=h\wh{L}_x\varphi(x)+h\theta_\varepsilon(x,y),
+\end{split}
+\end{equation}
+\end{verbatim}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newpage
+Unnumbered version:
+\begin{equation*}
+\begin{split}
+f_{h,\varepsilon}(x,y)
+&=\varepsilon\mathbf{E}_{x,y}\int_0^{t_\varepsilon}
+L_{x,y_\varepsilon(\varepsilon u)}\varphi(x)\,du\\
+&= h\int L_{x,z}\varphi(x)\rho_x(dz)\\
+&\quad+h\biggl[\frac{1}{t_\varepsilon}\biggl(\mathbf{E}_{y}
+ \int_0^{t_\varepsilon}L_{x,y^x(s)}\varphi(x)\,ds
+ -t_\varepsilon\int L_{x,z}\varphi(x)\rho_x(dz)\biggr)\\
+&\phantom{{=}+h\biggl[}+\frac{1}{t_\varepsilon}
+ \biggl(\mathbf{E}_{y}\int_0^{t_\varepsilon}L_{x,y^x(s)}
+ \varphi(x)\,ds -\mathbf{E}_{x,y}\int_0^{t_\varepsilon}
+ L_{x,y_\varepsilon(\varepsilon s)}
+ \varphi(x)\,ds\biggr)\biggr]\\
+&=h\wh{L}_x\varphi(x)+h\theta_\varepsilon(x,y),
+\end{split}
+\end{equation*}
+Some text after to test the below-display spacing.
+
+\begin{verbatim}
+\begin{equation*}
+\begin{split}
+f_{h,\varepsilon}(x,y)
+&=\varepsilon\mathbf{E}_{x,y}\int_0^{t_\varepsilon}
+L_{x,y_\varepsilon(\varepsilon u)}\varphi(x)\,du\\
+&= h\int L_{x,z}\varphi(x)\rho_x(dz)\\
+&\quad+h\biggl[\frac{1}{t_\varepsilon}\biggl(\mathbf{E}_{y}
+ \int_0^{t_\varepsilon}L_{x,y^x(s)}\varphi(x)\,ds
+ -t_\varepsilon\int L_{x,z}\varphi(x)\rho_x(dz)\biggr)\\
+&\phantom{{=}+h\biggl[}+\frac{1}{t_\varepsilon}
+ \biggl(\mathbf{E}_{y}\int_0^{t_\varepsilon}L_{x,y^x(s)}
+ \varphi(x)\,ds -\mathbf{E}_{x,y}\int_0^{t_\varepsilon}
+ L_{x,y_\varepsilon(\varepsilon s)}
+ \varphi(x)\,ds\biggr)\biggr]\\
+&=h\wh{L}_x\varphi(x)+h\theta_\varepsilon(x,y),
+\end{split}
+\end{equation*}
+\end{verbatim}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newpage
+If the option \env{centertags} is included in the options
+list of the \pkg{amsmath} package,
+the equation numbers for \env{split} environments will be
+centered vertically on the height
+of the \env{split}:
+{\makeatletter\ctagsplit@true
+\begin{equation}
+\begin{split}
+ \abs{I_2}&=\left\lvert \int_{0}^T \psi(t)\left\{u(a,t)-\int_{\gamma(t)}^a
+ \frac{d\theta}{k(\theta,t)}
+ \int_{a}^\theta c(\xi)u_t(\xi,t)\,d\xi\right\}dt\right\rvert\\
+&\le C_6\left\lvert \left\lvert f\int_\Omega\left\lvert \wt{S}^{-1,0}_{a,-}
+ W_2(\Omega,\Gamma_l)\right\rvert\right\rvert
+ \left\lvert \abs{u}\overset{\circ}\to W_2^{\wt{A}}
+ (\Omega;\Gamma_r,T)\right\rvert\right\rvert.
+\end{split}
+\end{equation}}%
+Some text after to test the below-display spacing.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newpage
+Use of \env{split} within \env{align}:
+{\delimiterfactor750
+\begin{align}
+\begin{split}\abs{I_1}
+ &=\left\lvert \int_\Omega gRu\,d\Omega\right\rvert\\
+&\le C_3\left[\int_\Omega\left(\int_{a}^x
+ g(\xi,t)\,d\xi\right)^2d\Omega\right]^{1/2}\\
+&\quad\times \left[\int_\Omega\left\{u^2_x+\frac{1}{k}
+ \left(\int_{a}^x cu_t\,d\xi\right)^2\right\}
+ c\Omega\right]^{1/2}\\
+&\le C_4\left\lvert \left\lvert f\left\lvert \wt{S}^{-1,0}_{a,-}
+ W_2(\Omega,\Gamma_l)\right\rvert\right\rvert
+ \left\lvert \abs{u}\overset{\circ}\to W_2^{\wt{A}}
+ (\Omega;\Gamma_r,T)\right\rvert\right\rvert.
+\end{split}\label{eq:A}\\
+\begin{split}\abs{I_2}&=\left\lvert \int_{0}^T \psi(t)\left\{u(a,t)
+ -\int_{\gamma(t)}^a\frac{d\theta}{k(\theta,t)}
+ \int_{a}^\theta c(\xi)u_t(\xi,t)\,d\xi\right\}dt\right\rvert\\
+&\le C_6\left\lvert \left\lvert f\int_\Omega
+ \left\lvert \wt{S}^{-1,0}_{a,-}
+ W_2(\Omega,\Gamma_l)\right\rvert\right\rvert
+ \left\lvert \abs{u}\overset{\circ}\to W_2^{\wt{A}}
+ (\Omega;\Gamma_r,T)\right\rvert\right\rvert.
+\end{split}
+\end{align}}%
+Some text after to test the below-display spacing.
+
+\begin{verbatim}
+\begin{align}
+\begin{split}\abs{I_1}
+ &=\left\lvert \int_\Omega gRu\,d\Omega\right\rvert\\
+&\le C_3\left[\int_\Omega\left(\int_{a}^x
+ g(\xi,t)\,d\xi\right)^2d\Omega\right]^{1/2}\\
+&\quad\times \left[\int_\Omega\left\{u^2_x+\frac{1}{k}
+ \left(\int_{a}^x cu_t\,d\xi\right)^2\right\}
+ c\Omega\right]^{1/2}\\
+&\le C_4\left\lvert \left\lvert f\left\lvert \wt{S}^{-1,0}_{a,-}
+ W_2(\Omega,\Gamma_l)\right\rvert\right\rvert
+ \left\lvert \abs{u}\overset{\circ}\to W_2^{\wt{A}}
+ (\Omega;\Gamma_r,T)\right\rvert\right\rvert.
+\end{split}\label{eq:A}\\
+\begin{split}\abs{I_2}&=\left\lvert \int_{0}^T \psi(t)\left\{u(a,t)
+ -\int_{\gamma(t)}^a\frac{d\theta}{k(\theta,t)}
+ \int_{a}^\theta c(\xi)u_t(\xi,t)\,d\xi\right\}dt\right\rvert\\
+&\le C_6\left\lvert \left\lvert f\int_\Omega
+ \left\lvert \wt{S}^{-1,0}_{a,-}
+ W_2(\Omega,\Gamma_l)\right\rvert\right\rvert
+ \left\lvert \abs{u}\overset{\circ}\to W_2^{\wt{A}}
+ (\Omega;\Gamma_r,T)\right\rvert\right\rvert.
+\end{split}
+\end{align}
+\end{verbatim}
+
+%%%%%%%%%%%%%%%%%%
+
+\newpage
+Unnumbered \env{align}, with a number on the second \env{split}:
+\begin{align*}
+\begin{split}\abs{I_1}&=\left\lvert \int_\Omega gRu\,d\Omega\right\rvert\\
+ &\le C_3\left[\int_\Omega\left(\int_{a}^x
+ g(\xi,t)\,d\xi\right)^2d\Omega\right]^{1/2}\\
+&\phantom{=}\times \left[\int_\Omega\left\{u^2_x+\frac{1}{k}
+ \left(\int_{a}^x cu_t\,d\xi\right)^2\right\}
+ c\Omega\right]^{1/2}\\
+&\le C_4\left\lvert \left\lvert f\left\lvert \wt{S}^{-1,0}_{a,-}
+ W_2(\Omega,\Gamma_l)\right\rvert\right\rvert
+ \left\lvert \abs{u}\overset{\circ}\to W_2^{\wt{A}}
+ (\Omega;\Gamma_r,T)\right\rvert\right\rvert.
+\end{split}\\
+\begin{split}\abs{I_2}&=\left\lvert \int_{0}^T \psi(t)\left\{u(a,t)
+ -\int_{\gamma(t)}^a\frac{d\theta}{k(\theta,t)}
+ \int_{a}^\theta c(\xi)u_t(\xi,t)\,d\xi\right\}dt\right\rvert\\
+&\le C_6\left\lvert \left\lvert f\int_\Omega
+ \left\lvert \wt{S}^{-1,0}_{a,-}
+ W_2(\Omega,\Gamma_l)\right\rvert\right\rvert
+ \left\lvert \abs{u}\overset{\circ}\to W_2^{\wt{A}}
+ (\Omega;\Gamma_r,T)\right\rvert\right\rvert.
+\end{split}\tag{\theequation$'$}
+\end{align*}
+Some text after to test the below-display spacing.
+
+\begin{verbatim}
+\begin{align*}
+\begin{split}\abs{I_1}&=\left\lvert \int_\Omega gRu\,d\Omega\right\rvert\\
+ &\le C_3\left[\int_\Omega\left(\int_{a}^x
+ g(\xi,t)\,d\xi\right)^2d\Omega\right]^{1/2}\\
+&\phantom{=}\times \left[\int_\Omega\left\{u^2_x+\frac{1}{k}
+ \left(\int_{a}^x cu_t\,d\xi\right)^2\right\}
+ c\Omega\right]^{1/2}\\
+&\le C_4\left\lvert \left\lvert f\left\lvert \wt{S}^{-1,0}_{a,-}
+ W_2(\Omega,\Gamma_l)\right\rvert\right\rvert
+ \left\lvert \abs{u}\overset{\circ}\to W_2^{\wt{A}}
+ (\Omega;\Gamma_r,T)\right\rvert\right\rvert.
+\end{split}\\
+\begin{split}\abs{I_2}&=\left\lvert \int_{0}^T \psi(t)\left\{u(a,t)
+ -\int_{\gamma(t)}^a\frac{d\theta}{k(\theta,t)}
+ \int_{a}^\theta c(\xi)u_t(\xi,t)\,d\xi\right\}dt\right\rvert\\
+&\le C_6\left\lvert \left\lvert f\int_\Omega
+ \left\lvert \wt{S}^{-1,0}_{a,-}
+ W_2(\Omega,\Gamma_l)\right\rvert\right\rvert
+ \left\lvert \abs{u}\overset{\circ}\to W_2^{\wt{A}}
+ (\Omega;\Gamma_r,T)\right\rvert\right\rvert.
+\end{split}\tag{\theequation$'$}
+\end{align*}
+\end{verbatim}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newpage
+\subsection{Multline}
+Numbered version:
+\begin{multline}\label{eq:E}
+\int_a^b\biggl\{\int_a^b[f(x)^2g(y)^2+f(y)^2g(x)^2]
+ -2f(x)g(x)f(y)g(y)\,dx\biggr\}\,dy \\
+ =\int_a^b\biggl\{g(y)^2\int_a^bf^2+f(y)^2
+ \int_a^b g^2-2f(y)g(y)\int_a^b fg\biggr\}\,dy
+\end{multline}
+To test the use of \verb=\label= and
+\verb=\ref=, we refer to the number of this
+equation here: (\ref{eq:E}).
+
+\begin{verbatim}
+\begin{multline}\label{eq:E}
+\int_a^b\biggl\{\int_a^b[f(x)^2g(y)^2+f(y)^2g(x)^2]
+ -2f(x)g(x)f(y)g(y)\,dx\biggr\}\,dy \\
+ =\int_a^b\biggl\{g(y)^2\int_a^bf^2+f(y)^2
+ \int_a^b g^2-2f(y)g(y)\int_a^b fg\biggr\}\,dy
+\end{multline}
+\end{verbatim}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+Unnumbered version:
+\begin{multline*}
+\int_a^b\biggl\{\int_a^b[f(x)^2g(y)^2+f(y)^2g(x)^2]
+ -2f(x)g(x)f(y)g(y)\,dx\biggr\}\,dy \\
+ =\int_a^b\biggl\{g(y)^2\int_a^bf^2+f(y)^2
+ \int_a^b g^2-2f(y)g(y)\int_a^b fg\biggr\}\,dy
+\end{multline*}
+Some text after to test the below-display spacing.
+
+\begin{verbatim}
+\begin{multline*}
+\int_a^b\biggl\{\int_a^b[f(x)^2g(y)^2+f(y)^2g(x)^2]
+ -2f(x)g(x)f(y)g(y)\,dx\biggr\}\,dy \\
+ =\int_a^b\biggl\{g(y)^2\int_a^bf^2+f(y)^2
+ \int_a^b g^2-2f(y)g(y)\int_a^b fg\biggr\}\,dy
+\end{multline*}
+\end{verbatim}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\iffalse % bugfix needed, error message "Multiple \tag"
+ % [mjd,24-Jan-1995]
+\newpage
+And now an ``unnumbered'' version numbered with a literal tag:
+\begin{multline*}\tag*{[a]}
+\int_a^b\biggl\{\int_a^b[f(x)^2g(y)^2+f(y)^2g(x)^2]
+ -2f(x)g(x)f(y)g(y)\,dx\biggr\}\,dy \\
+ =\int_a^b\biggl\{g(y)^2\int_a^bf^2+f(y)^2
+ \int_a^b g^2-2f(y)g(y)\int_a^b fg\biggr\}\,dy
+\end{multline*}
+Some text after to test the below-display spacing.
+
+\begin{verbatim}
+\begin{multline*}\tag*{[a]}
+\int_a^b\biggl\{\int_a^b[f(x)^2g(y)^2+f(y)^2g(x)^2]
+ -2f(x)g(x)f(y)g(y)\,dx\biggr\}\,dy \\
+ =\int_a^b\biggl\{g(y)^2\int_a^bf^2+f(y)^2
+ \int_a^b g^2-2f(y)g(y)\int_a^b fg\biggr\}\,dy
+\end{multline*}
+\end{verbatim}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+The same display with \verb=\multlinegap= set to zero.
+Notice that the space on the left in
+the first line does not change, because of the equation number, while
+the second line is pushed over to the right margin.
+{\setlength{\multlinegap}{0pt}
+\begin{multline*}\tag*{[a]}
+\int_a^b\biggl\{\int_a^b[f(x)^2g(y)^2+f(y)^2g(x)^2]
+ -2f(x)g(x)f(y)g(y)\,dx\biggr\}\,dy \\
+ =\int_a^b\biggl\{g(y)^2\int_a^bf^2+f(y)^2
+ \int_a^b g^2-2f(y)g(y)\int_a^b fg\biggr\}\,dy
+\end{multline*}}%
+Some text after to test the below-display spacing.
+
+\begin{verbatim}
+{\setlength{\multlinegap}{0pt}
+\begin{multline*}\tag*{[a]}
+\int_a^b\biggl\{\int_a^b[f(x)^2g(y)^2+f(y)^2g(x)^2]
+ -2f(x)g(x)f(y)g(y)\,dx\biggr\}\,dy \\
+ =\int_a^b\biggl\{g(y)^2\int_a^bf^2+f(y)^2
+ \int_a^b g^2-2f(y)g(y)\int_a^b fg\biggr\}\,dy
+\end{multline*}}
+\end{verbatim}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\fi % matches \iffalse above [mjd,24-Jan-1995]
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newpage
+\subsection{Gather}
+Numbered version with \verb;\notag; on the second line:
+\begin{gather}
+D(a,r)\equiv\{z\in\mathbf{C}\colon \abs{z-a}<r\},\\
+\seg(a,r)\equiv\{z\in\mathbf{C}\colon
+\Im z= \Im a,\ \abs{z-a}<r\},\notag\\
+c(e,\theta,r)\equiv\{(x,y)\in\mathbf{C}
+\colon \abs{x-e}<y\tan\theta,\ 0<y<r\},\\
+C(E,\theta,r)\equiv\bigcup_{e\in E}c(e,\theta,r).
+\end{gather}
+\begin{verbatim}
+\begin{gather}
+D(a,r)\equiv\{z\in\mathbf{C}\colon \abs{z-a}<r\},\\
+\seg(a,r)\equiv\{z\in\mathbf{C}\colon
+\Im z= \Im a,\ \abs{z-a}<r\},\notag\\
+c(e,\theta,r)\equiv\{(x,y)\in\mathbf{C}
+\colon \abs{x-e}<y\tan\theta,\ 0<y<r\},\\
+C(E,\theta,r)\equiv\bigcup_{e\in E}c(e,\theta,r).
+\end{gather}
+\end{verbatim}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+Unnumbered version.
+\begin{gather*}
+D(a,r)\equiv\{z\in\mathbf{C}\colon \abs{z-a}<r\},\\
+\seg (a,r)\equiv\{z\in\mathbf{C}\colon
+\Im z= \Im a,\ \abs{z-a}<r\},\\
+c(e,\theta,r)\equiv\{(x,y)\in\mathbf{C}
+ \colon \abs{x-e}<y\tan\theta,\ 0<y<r\},\\
+C(E,\theta,r)\equiv\bigcup_{e\in E}c(e,\theta,r).
+\end{gather*}
+Some text after to test the below-display spacing.
+\begin{verbatim}
+\begin{gather*}
+D(a,r)\equiv\{z\in\mathbf{C}\colon \abs{z-a}<r\},\\
+\seg (a,r)\equiv\{z\in\mathbf{C}\colon
+\Im z= \Im a,\ \abs{z-a}<r\},\\
+c(e,\theta,r)\equiv\{(x,y)\in\mathbf{C}
+ \colon \abs{x-e}<y\tan\theta,\ 0<y<r\},\\
+C(E,\theta,r)\equiv\bigcup_{e\in E}c(e,\theta,r).
+\end{gather*}
+\end{verbatim}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newpage
+\subsection{Align}
+Numbered version:
+\begin{align}
+\gamma_x(t)&=(\cos tu+\sin tx,v),\\
+\gamma_y(t)&=(u,\cos tv+\sin ty),\\
+\gamma_z(t)&=\left(\cos tu+\frac\alpha\beta\sin tv,
+ -\frac\beta\alpha\sin tu+\cos tv\right).
+\end{align}
+Some text after to test the below-display spacing.
+
+\begin{verbatim}
+\begin{align}
+\gamma_x(t)&=(\cos tu+\sin tx,v),\\
+\gamma_y(t)&=(u,\cos tv+\sin ty),\\
+\gamma_z(t)&=\left(\cos tu+\frac\alpha\beta\sin tv,
+ -\frac\beta\alpha\sin tu+\cos tv\right).
+\end{align}
+\end{verbatim}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+Unnumbered version:
+\begin{align*}
+\gamma_x(t)&=(\cos tu+\sin tx,v),\\
+\gamma_y(t)&=(u,\cos tv+\sin ty),\\
+\gamma_z(t)&=\left(\cos tu+\frac\alpha\beta\sin tv,
+ -\frac\beta\alpha\sin tu+\cos tv\right).
+\end{align*}
+Some text after to test the below-display spacing.
+
+\begin{verbatim}
+\begin{align*}
+\gamma_x(t)&=(\cos tu+\sin tx,v),\\
+\gamma_y(t)&=(u,\cos tv+\sin ty),\\
+\gamma_z(t)&=\left(\cos tu+\frac\alpha\beta\sin tv,
+ -\frac\beta\alpha\sin tu+\cos tv\right).
+\end{align*}
+\end{verbatim}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+A variation:
+\begin{align}
+x& =y && \text {by (\ref{eq:C})}\\
+x'& = y' && \text {by (\ref{eq:D})}\\
+x+x' & = y+y' && \text {by Axiom 1.}
+\end{align}
+Some text after to test the below-display spacing.
+
+\begin{verbatim}
+\begin{align}
+x& =y && \text {by (\ref{eq:C})}\\
+x'& = y' && \text {by (\ref{eq:D})}\\
+x+x' & = y+y' && \text {by Axiom 1.}
+\end{align}
+\end{verbatim}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newpage
+\subsection{Align and split within gather}
+When using the \env{align} environment within the \env{gather}
+environment, one or the other, or both, should be unnumbered (using the
+\verb"*" form); numbering both the outer and inner environment would
+cause a conflict.
+
+Automatically numbered \env{gather} with \env{split} and \env{align*}:
+\begin{gather}
+\begin{split} \varphi(x,z)
+&=z-\gamma_{10}x-\gamma_{mn}x^mz^n\\
+&=z-Mr^{-1}x-Mr^{-(m+n)}x^mz^n
+\end{split}\\[6pt]
+\begin{align*}
+\zeta^0 &=(\xi^0)^2,\\
+\zeta^1 &=\xi^0\xi^1,\\
+\zeta^2 &=(\xi^1)^2,
+\end{align*}
+\end{gather}
+Here the \env{split} environment gets a number from the outer
+\env{gather} environment; numbers for individual lines of the
+\env{align*} are suppressed because of the star.
+
+\begin{verbatim}
+\begin{gather}
+\begin{split} \varphi(x,z)
+&=z-\gamma_{10}x-\gamma_{mn}x^mz^n\\
+&=z-Mr^{-1}x-Mr^{-(m+n)}x^mz^n
+\end{split}\\[6pt]
+\begin{align*}
+\zeta^0 &=(\xi^0)^2,\\
+\zeta^1 &=\xi^0\xi^1,\\
+\zeta^2 &=(\xi^1)^2,
+\end{align*}
+\end{gather}
+\end{verbatim}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+The \verb"*"-ed form of \env{gather} with the non-\verb"*"-ed form of
+\env{align}.
+\begin{gather*}
+\begin{split} \varphi(x,z)
+&=z-\gamma_{10}x-\gamma_{mn}x^mz^n\\
+&=z-Mr^{-1}x-Mr^{-(m+n)}x^mz^n
+\end{split}\\[6pt]
+\begin{align} \zeta^0&=(\xi^0)^2,\\
+\zeta^1 &=\xi^0\xi^1,\\
+\zeta^2 &=(\xi^1)^2,
+\end{align}
+\end{gather*}
+Some text after to test the below-display spacing.
+
+\begin{verbatim}
+\begin{gather*}
+\begin{split} \varphi(x,z)
+&=z-\gamma_{10}x-\gamma_{mn}x^mz^n\\
+&=z-Mr^{-1}x-Mr^{-(m+n)}x^mz^n
+\end{split}\\[6pt]
+\begin{align} \zeta^0&=(\xi^0)^2,\\
+\zeta^1 &=\xi^0\xi^1,\\
+\zeta^2 &=(\xi^1)^2,
+\end{align}
+\end{gather*}
+\end{verbatim}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newpage
+\subsection{Alignat}
+Numbered version:
+\begin{alignat}{3}
+V_i & =v_i - q_i v_j, & \qquad X_i & = x_i - q_i x_j,
+ & \qquad U_i & = u_i,
+ \qquad \text{for $i\ne j$;}\label{eq:B}\\
+V_j & = v_j, & \qquad X_j & = x_j,
+ & \qquad U_j & u_j + \sum_{i\ne j} q_i u_i.
+\end{alignat}
+Some text after to test the below-display spacing.
+
+\begin{verbatim}
+\begin{alignat}{3}
+V_i & =v_i - q_i v_j, & \qquad X_i & = x_i - q_i x_j,
+ & \qquad U_i & = u_i,
+ \qquad \text{for $i\ne j$;}\label{eq:B}\\
+V_j & = v_j, & \qquad X_j & = x_j,
+ & \qquad U_j & u_j + \sum_{i\ne j} q_i u_i.
+\end{alignat}
+\end{verbatim}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+Unnumbered version:
+\begin{alignat*}3
+V_i & =v_i - q_i v_j, & \qquad X_i & = x_i - q_i x_j,
+ & \qquad U_i & = u_i,
+ \qquad \text{for $i\ne j$;} \\
+V_j & = v_j, & \qquad X_j & = x_j,
+ & \qquad U_j & u_j + \sum_{i\ne j} q_i u_i.
+\end{alignat*}
+Some text after to test the below-display spacing.
+
+\begin{verbatim}
+\begin{alignat*}3
+V_i & =v_i - q_i v_j, & \qquad X_i & = x_i - q_i x_j,
+ & \qquad U_i & = u_i,
+ \qquad \text{for $i\ne j$;} \\
+V_j & = v_j, & \qquad X_j & = x_j,
+ & \qquad U_j & u_j + \sum_{i\ne j} q_i u_i.
+\end{alignat*}
+\end{verbatim}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newpage
+The most common use for \env{alignat} is for things like
+\begin{alignat}{2}
+x& =y && \qquad \text {by (\ref{eq:A})}\label{eq:C}\\
+x'& = y' && \qquad \text {by (\ref{eq:B})}\label{eq:D}\\
+x+x' & = y+y' && \qquad \text {by Axiom 1.}
+\end{alignat}
+Some text after to test the below-display spacing.
+
+\begin{verbatim}
+\begin{alignat}{2}
+x& =y && \qquad \text {by (\ref{eq:A})}\label{eq:C}\\
+x'& = y' && \qquad \text {by (\ref{eq:B})}\label{eq:D}\\
+x+x' & = y+y' && \qquad \text {by Axiom 1.}
+\end{alignat}
+\end{verbatim}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newpage
+\setlength{\marginrulewidth}{0pt}
+
+\bibliography{ijmsample}
+\bibliographystyle{ijmart}
+
+\end{document}
+\endinput