summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/xelatex/imsproc
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-04-04 23:14:14 +0000
committerKarl Berry <karl@freefriends.org>2013-04-04 23:14:14 +0000
commit8dc3239d0e2ec12780e1d1253931c75c0f7e6428 (patch)
treefd1a1b6f862d3f96b7a129c7ee533ae29c7eccb0 /Master/texmf-dist/tex/xelatex/imsproc
parent5e72b5047614abdbd19df5d80b12a263bba17adf (diff)
imsproc (4apr13)
git-svn-id: svn://tug.org/texlive/trunk@29659 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/imsproc')
-rwxr-xr-xMaster/texmf-dist/tex/xelatex/imsproc/imsproc.cls1718
1 files changed, 1718 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/xelatex/imsproc/imsproc.cls b/Master/texmf-dist/tex/xelatex/imsproc/imsproc.cls
new file mode 100755
index 00000000000..c96c6e90f82
--- /dev/null
+++ b/Master/texmf-dist/tex/xelatex/imsproc/imsproc.cls
@@ -0,0 +1,1718 @@
+%%
+%% This is file `imsproc.cls'
+%%
+%% ______________________________________
+%% Copyright © 2012–2013 Persian TeX Group
+%%
+%% License information appended.
+%%
+%% Unlimited copying and redistribution of this file are permitted as
+%% long as this file is not modified. Modifications, and distribution
+%% of modified versions, are permitted, but only if the resulting file
+%% is renamed.
+%%
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+\ProvidesClass{imsproc}[2013/04/04 v0.2 typesetting papers for IMS (Iranian Mathematical Society) conferences proceedings]
+\global\expandafter\let\csname ver@amsthm.sty\expandafter\endcsname
+ \csname ver@\@currname.\@currext\endcsname
+\let\@xp=\expandafter
+\let\@nx=\noexpand
+\def\@oparg#1[#2]{\@ifnextchar[{#1}{#1[#2]}}
+\long\def\@ifempty#1{\@xifempty#1@@..\@nil}
+\long\def\@xifempty#1#2@#3#4#5\@nil{%
+ \ifx#3#4\@xp\@firstoftwo\else\@xp\@secondoftwo\fi}
+\long\def\@ifnotempty#1{\@ifempty{#1}{}}
+\def\setboxz@h{\setbox\z@\hbox}
+\def\@addpunct#1{%
+ \relax\ifhmode
+ \ifnum\spacefactor>\@m \else#1\fi
+ \fi}
+\def\nopunct{\spacefactor 1007 }
+\def\frenchspacing{\sfcode`\.1006\sfcode`\?1005\sfcode`\!1004%
+ \sfcode`\:1003\sfcode`\;1002\sfcode`\,1001 }
+\def\@tempa#1#2\@nil{\edef\@classname{#1}}
+\expandafter\@tempa\@currnamestack{}{}{}\@nil
+\ifx\@classname\@empty \edef\@classname{\@currname}\fi
+\def\@True{00}
+\def\@False{01}
+\newcommand\newswitch[2][False]{%
+ \expandafter\@ifdefinable\csname ?@#2\endcsname{%
+ \global\expandafter\let\csname ?@#2\expandafter\endcsname
+ \csname @#1\endcsname
+ }%
+}
+\newcommand{\setFalse}[1]{%
+ \expandafter\let\csname ?@#1\endcsname\@False
+}
+\newcommand{\setTrue}[1]{%
+ \expandafter\let\csname ?@#1\endcsname\@True
+}
+\newswitch{}
+\DeclareRobustCommand{\except}[1]{%
+ \if\csname ?@#1\endcsname \expandafter\@gobble
+ \else \expandafter\@firstofone
+ \fi
+}
+\DeclareRobustCommand{\for}[1]{%
+ \if\csname ?@#1\endcsname \expandafter\@firstofone
+ \else \expandafter\@gobble
+ \fi
+}
+\DeclareRobustCommand{\forany}[1]{%
+ \csname for@any@01\endcsname#1,?,\@nil
+}
+\@namedef{for@any@\@False}#1,{%
+ \csname for@any@%
+ \csname ?@\zap@space#1 \@empty\endcsname
+ \endcsname
+}
+\@namedef{?@?}{x}
+\@namedef{for@any@\@True}#1\@nil#2{#2}
+\def\for@any@x{\@car\@gobble}
+\DeclareOption{a4paper}{\paperheight 297mm\paperwidth 210mm
+ \textheight 54.5pc }
+\DeclareOption{letterpaper}{\paperheight 11in\paperwidth 8.5in }
+\DeclareOption{landscape}{\@tempdima\paperheight
+ \paperheight\paperwidth \paperwidth\@tempdima}
+\DeclareOption{portrait}{}
+\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
+\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue}
+\DeclareOption{draft}{\overfullrule5\p@
+ \ClassWarningNoLine{\@classname}{%
+ When the draft option is used, the
+ \protect\includegraphics\MessageBreak
+ command will print blank placeholder boxes\MessageBreak
+ for the graphics}%
+}
+\DeclareOption{final}{\overfullrule\z@ }
+\def\dateposted#1{\def\@dateposted{#1}}%
+\let\@dateposted\@empty
+\def\@logofont{\fontsize{6}{7\p@}\selectfont}
+\long\def\set@logo#1{%
+ \vbox to\headheight{%
+ \@parboxrestore \@logofont
+ \noindent#1\par\vss
+ }%
+}
+\def\procart@logo{%
+ \set@logo{\publname
+ \ifx\@empty\volinfo \else\newline\volinfo\fi}%
+}
+\newif\if@titlepage
+\DeclareOption{titlepage}{\@titlepagetrue}
+\DeclareOption{notitlepage}{\@titlepagefalse}
+\DeclareOption{onecolumn}{\@twocolumnfalse}
+\DeclareOption{twocolumn}{\@twocolumntrue}
+\DeclareOption{nomath}{}
+\DeclareOption{noamsfonts}{}
+\DeclareOption{psamsfonts}{%
+ \PassOptionsToPackage{psamsfonts}{amsfonts}%
+ \PassOptionsToPackage{cmex10}{amsmath}}
+\newif\iftagsleft@
+\DeclareOption{leqno}{%
+ \tagsleft@true \PassOptionsToPackage{leqno}{amsmath}}
+\DeclareOption{reqno}{%
+ \tagsleft@false \PassOptionsToPackage{reqno}{amsmath}}
+\newif\ifctagsplit@
+\DeclareOption{centertags}{%
+ \ctagsplit@true \PassOptionsToPackage{centertags}{amsmath}}
+\DeclareOption{tbtags}{%
+ \ctagsplit@false \PassOptionsToPackage{tbtags}{amsmath}}
+\DeclareOption{fleqn}{}%
+\newcommand{\@mainsize}{10}
+\newcommand{\@ptsize}{0}
+\newcommand{\larger}[1][1]{%
+ \count@\@currsizeindex \advance\count@#1\relax
+ \ifnum\count@<\z@ \count@\z@ \else\ifnum\count@>12 \count@12 \fi\fi
+ \ifcase\count@
+ \Tiny\or\Tiny\or\tiny\or\SMALL\or\Small\or\small
+ \or\normalsize
+ \or\large\or\Large\or\LARGE\or\huge\or\Huge\else\Huge
+ \fi
+}
+\newcommand{\smaller}[1][1]{\larger[-#1]}
+\def\@adjustvertspacing{%
+ \bigskipamount.7\baselineskip plus.7\baselineskip
+ \medskipamount\bigskipamount \divide\medskipamount\tw@
+ \smallskipamount\medskipamount \divide\smallskipamount\tw@
+ \abovedisplayskip\medskipamount
+ \belowdisplayskip \abovedisplayskip
+ \abovedisplayshortskip\abovedisplayskip
+ \advance\abovedisplayshortskip-1\abovedisplayskip
+ \belowdisplayshortskip\abovedisplayshortskip
+ \advance\belowdisplayshortskip 1\smallskipamount
+ \jot\baselineskip \divide\jot 4 \relax
+}
+\renewcommand\normalsize{\@xsetfontsize\normalsize 6%
+ \@adjustvertspacing \let\@listi\@listI}
+\DeclareRobustCommand{\Tiny}{\@xsetfontsize\Tiny 1}
+\DeclareRobustCommand{\tiny}{\@xsetfontsize\tiny 2}
+\DeclareRobustCommand{\SMALL}{\@xsetfontsize\SMALL 3}
+\DeclareRobustCommand{\Small}{\@xsetfontsize\Small 4%
+ \@adjustvertspacing
+ \def\@listi{\topsep\smallskipamount \parsep\z@skip \itemsep\z@skip
+ \leftmargin=\leftmargini
+ \labelwidth=\leftmargini \advance\labelwidth-\labelsep
+ }%
+}
+\DeclareRobustCommand{\small}{\@xsetfontsize\small 5\@adjustvertspacing}
+\def\footnotesize{\Small}
+\def\scriptsize{\SMALL}
+\DeclareRobustCommand{\large}{\@xsetfontsize\large 7\@adjustvertspacing}
+\DeclareRobustCommand{\Large}{\@xsetfontsize\Large 8\@adjustvertspacing}
+\DeclareRobustCommand{\LARGE}{\@xsetfontsize\LARGE 9}
+\DeclareRobustCommand{\huge}{\@xsetfontsize\huge{10}}
+\DeclareRobustCommand{\Huge}{\@xsetfontsize\Huge{11}}
+\def\@xsetfontsize#1#2{%
+ \chardef\@currsizeindex#2\relax
+ \edef\@tempa{\@nx\@setfontsize\@nx#1%
+ \@xp\ifcase\@xp\@currsizeindex\@typesizes
+ \else{99}{99}\fi}%
+ \@tempa
+}
+\chardef\@currsizeindex=6
+\widowpenalty=10000
+\clubpenalty=10000
+\brokenpenalty=10000
+\newdimen\linespacing
+\lineskip=1pt \lineskiplimit=1pt
+\normallineskip=1pt \normallineskiplimit=1pt
+\let\baselinestretch=\@empty
+\headheight=8pt \headsep=14pt
+\footskip=12pt
+\textheight=50.5pc \topskip=10pt
+\textwidth=30pc
+\columnsep=10pt \columnseprule=0pt
+\marginparwidth=90pt
+\marginparsep=11pt
+\marginparpush=5pt
+\AtBeginDocument{\settoheight{\footnotesep}{\footnotesize M$^1$}}
+\skip\footins=7pt plus11pt
+\skip\@mpfootins=\skip\footins
+\fboxsep=3pt \fboxrule=.4pt
+\arrayrulewidth=.4pt \doublerulesep=2pt
+\labelsep=5pt \arraycolsep=\labelsep
+\tabcolsep=\labelsep \tabbingsep=\labelsep
+\floatsep=15pt plus 12pt \dblfloatsep=15pt plus 12pt
+\textfloatsep=\floatsep \dbltextfloatsep=15pt plus 12pt
+\intextsep=\floatsep
+\@fptop=0pt plus1fil \@dblfptop=0pt plus1fil
+\@fpbot=0pt plus1fil \@dblfpbot=0pt plus1fil
+\@fpsep=8pt plus2fil \@dblfpsep=8pt plus2fil\relax
+\parskip=0pt \relax
+\newdimen\normalparindent
+\normalparindent=18pt
+\parindent=\normalparindent
+\partopsep=0pt \relax \parsep=0pt \relax \itemsep=0pt \relax
+\@lowpenalty=51 \@medpenalty=151 \@highpenalty=301
+\@beginparpenalty=-\@lowpenalty
+\@endparpenalty=-\@lowpenalty
+\@itempenalty=-\@lowpenalty
+\DeclareOption{10pt}{\def\@mainsize{10}\def\@ptsize{0}%
+ \def\@typesizes{%
+ \or{5}{6}\or{6}{7}\or{7}{8}\or{8}{10}\or{9}{11}%
+ \or{10}{12}% normalsize
+ \or{\@xipt}{13}\or{\@xiipt}{14}\or{\@xivpt}{17}%
+ \or{\@xviipt}{20}\or{\@xxpt}{24}}%
+ \normalsize \linespacing=\baselineskip
+}
+\DeclareOption{11pt}{\def\@mainsize{11}\def\@ptsize{1}%
+ \def\@typesizes{%
+ \or{6}{7}\or{7}{8}\or{8}{10}\or{9}{11}\or{10}{12}%
+ \or{\@xipt}{13}% normalsize
+ \or{\@xiipt}{14}\or{\@xivpt}{17}\or{\@xviipt}{20}%
+ \or{\@xxpt}{24}\or{\@xxvpt}{30}}%
+ \normalsize \linespacing=\baselineskip
+}
+\DeclareOption{12pt}{\def\@mainsize{12}\def\@ptsize{2}%
+ \def\@typesizes{%
+ \or{7}{8}\or{8}{10}\or{9}{11}\or{10}{12}\or{\@xipt}{13}%
+ \or{\@xiipt}{14}% normalsize
+ \or{\@xivpt}{17}\or{\@xviipt}{20}\or{\@xxpt}{24}%
+ \or{\@xxvpt}{30}\or{\@xxvpt}{30}}%
+ \normalsize \linespacing=\baselineskip
+}
+\DeclareOption{8pt}{\def\@mainsize{8}\def\@ptsize{8}%
+ \def\@typesizes{%
+ \or{5}{6}\or{5}{6}\or{5}{6}\or{6}{7}\or{7}{8}%
+ \or{8}{10}% normalsize
+ \or{9}{11}\or{10}{12}\or{\@xipt}{13}%
+ \or{\@xiipt}{14}\or{\@xivpt}{17}}%
+ \normalsize \linespacing=\baselineskip
+}
+\DeclareOption{9pt}{\def\@mainsize{9}\def\@ptsize{9}%
+ \def\@typesizes{%
+ \or{5}{6}\or{5}{6}\or{6}{7}\or{7}{8}\or{8}{10}%
+ \or{9}{11}% normalsize
+ \or{10}{12}\or{\@xipt}{13}\or{\@xiipt}{14}%
+ \or{\@xivpt}{17}\or{\@xviipt}{20}}%
+ \normalsize \linespacing=\baselineskip
+}
+\def\ps@empty{\let\@mkboth\@gobbletwo
+ \let\@oddhead\@empty \let\@evenhead\@empty
+ \let\@oddfoot\@empty \let\@evenfoot\@empty
+ \global\topskip\normaltopskip}
+\def\ps@plain{\ps@empty
+ \def\@oddfoot{\normalfont\scriptsize \hfil\thepage\hfil}%
+ \let\@evenfoot\@oddfoot}
+\newswitch{runhead}
+\def\ps@headings{\ps@empty
+ \def\@evenhead{%
+ \setTrue{runhead}%
+ \normalfont\scriptsize
+ \rlap{\thepage}\hfil
+ \def\thanks{\protect\thanks@warning}%
+ \leftmark{}{}\hfil}%
+ \def\@oddhead{%
+ \setTrue{runhead}%
+ \normalfont\scriptsize \hfil
+ \def\thanks{\protect\thanks@warning}%
+ \rightmark{}{}\hfil \llap{\thepage}}%
+ \let\@mkboth\markboth
+}
+\let\sectionname\@empty
+\let\subsectionname\@empty
+\let\subsubsectionname\@empty
+\let\paragraphname\@empty
+\let\subparagraphname\@empty
+\def\leftmark{\expandafter\@firstoftwo\topmark{}{}}
+\def\rightmark{\expandafter\@secondoftwo\botmark{}{}}
+\def\ps@firstpage{\ps@plain
+ \def\@oddfoot{\normalfont\scriptsize \hfil\thepage\hfil
+ \global\topskip\normaltopskip}%
+ \let\@evenfoot\@oddfoot
+ \def\@oddhead{\@serieslogo\hss}%
+ \let\@evenhead\@oddhead % in case an article starts on a left-hand page
+}
+\long\def\@nilgobble#1\@nil{}
+\def\markboth#1#2{%
+ \begingroup
+ \@temptokena{{#1}{#2}}\xdef\@themark{\the\@temptokena}%
+ \mark{\the\@temptokena}%
+ \endgroup
+ \if@nobreak\ifvmode\nobreak\fi\fi}
+\def\ps@myheadings{\ps@headings \let\@mkboth\@gobbletwo}
+\newskip\normaltopskip
+\normaltopskip=10pt \relax
+\let\sectionmark\@gobble
+\let\subsectionmark\@gobble
+\let\subsubsectionmark\@gobble
+\let\paragraphmark\@gobble
+
+\DeclareOption{makeidx}{}
+\ExecuteOptions{leqno,centertags,letterpaper,portrait,%
+ 10pt,twoside,onecolumn,final}
+\ProcessOptions\relax
+\if@compatibility
+ \def\@tempa{\RequirePackage{amstex}\relax}%
+\else
+ \@ifclasswith{\@classname}{nomath}{%
+ \let\@tempa\relax
+ }{%
+ \def\@tempa{\RequirePackage{amsmath}\relax}%
+ }%
+\fi
+\@tempa % load amstex.sty or amsmath.sty
+\@ifundefined{numberwithin}{%
+ \newcommand{\numberwithin}[3][\arabic]{%
+ \@ifundefined{c@#2}{\@nocounterr{#2}}{%
+ \@ifundefined{c@#3}{\@nocnterr{#3}}{%
+ \@addtoreset{#2}{#3}%
+ \@xp\xdef\csname the#2\endcsname{%
+ \@xp\@nx\csname the#3\endcsname .\@nx#1{#2}}}}%
+ }
+ \csname newtoks\endcsname\@emptytoks
+}{}
+\if@compatibility
+\else
+ \@ifclasswith{\@classname}{noamsfonts}{%
+ % amsfonts package is not wanted
+ }{%
+ % amsfonts package IS wanted; test whether a recent enough version
+ % seems to be installed
+ \begingroup \fontencoding{U}\fontfamily{msa}\try@load@fontshape\endgroup
+ \global\@xp\let\csname U+msa\endcsname\relax % reset
+ \@ifundefined{U/msa/m/n}{%
+ \ClassError{\@classname}{%
+ Package `amsfonts' not installed, or version too old?\MessageBreak
+ Unable to get font info for the `msam' fonts in the expected form%
+ }{%
+ The amsfonts package will not be loaded, to avoid probable\MessageBreak
+ incompatibility problems. You can (a) use the `noamsfonts'
+ documentclass\MessageBreak
+ option next time, or (b) check that the amsfonts package is
+ installed\MessageBreak
+ correctly, and is not too old to be compatible.%
+ }%
+ }{%
+ \RequirePackage{amsfonts}[1995/01/01]\relax
+ }%
+ }
+\fi % end yesamsfonts branch
+\let\cleardouble@page\cleardoublepage
+\AtBeginDocument{%
+ \ifx\cleardouble@page\cleardoublepage
+ \def\cleardoublepage{\clearpage{\pagestyle{empty}\cleardouble@page}}
+ \fi
+}
+\newcommand{\uppercasenonmath}[1]{\toks@\@emptytoks
+ \@xp\@skipmath\@xp\@empty#1$$%
+ \edef#1{{\@nx\protect\@nx\@upprep\the\toks@}}%
+}
+\newcommand{\@upprep}{%
+ \spaceskip1.3\fontdimen2\font plus1.3\fontdimen3\font
+ \upchars@}
+\newcommand{\upchars@}{%
+ \def\ss{SS}\def\i{I}\def\j{J}\def\ae{\AE}\def\oe{\OE}%
+ \def\o{\O}\def\aa{\AA}\def\l{\L}\def\Mc{M{\scshape c}}}
+\providecommand{\Mc}{Mc}
+\newcommand{\@skipmath}{}
+\long\def\@skipmath#1$#2${%
+ \@xskipmath#1\(\)%
+ \@ifnotempty{#2}{\toks@\@xp{\the\toks@$#2$}\@skipmath\@empty}}%
+\newcommand{\@xskipmath}{}
+\long\def\@xskipmath#1\(#2\){%
+ \uppercase{\toks@\@xp\@xp\@xp{\@xp\the\@xp\toks@#1}}%
+ \@ifnotempty{#2}{\toks@\@xp{\the\toks@\(#2\)}\@xskipmath\@empty}}%
+\def\altucnm#1{%
+ \MakeTextUppercase{\toks@{#1}}%
+ \edef#1{\the\toks@}%
+}
+\AtBeginDocument{%
+ \@ifundefined{MakeTextUppercase}{}{\let\uppercasenonmath\altucnm}%
+}
+\@ifundefined{MakeUppercase}{\let\MakeUppercase\uppercase}{}%
+
+%%\if@compatibility
+%%\else
+%% \def\@obsolete@fontswitch#1#2#3{%
+%% \@latex@warning@no@line{%
+%% Command {\string#1...}\on@line\space is obsolete;\MessageBreak
+%% the LaTeX2e equivalent is \string#3{...}}%
+%% \gdef#1{\@fontswitch\relax#3}%
+%% }
+%% \DeclareRobustCommand*\cal{%
+%% \@xp\@obsolete@fontswitch\csname cal \endcsname\relax\mathcal}
+%% \DeclareRobustCommand*\mit{%
+%% \@xp\@obsolete@fontswitch\csname mit \endcsname\relax\mathnormal}
+%%\fi
+\renewcommand*{\title}[2][]{\gdef\shorttitle{#1}\gdef\@title{#2}}
+\edef\title{\@nx\@dblarg
+ \@xp\@nx\csname\string\title\endcsname}
+\renewcommand{\author}[2][]{%
+ \ifx\@empty\authors
+ \gdef\authors{#2}%
+ \else
+ \g@addto@macro\authors{\and#2}%
+ \g@addto@macro\addresses{\author{}}%
+ \fi
+ \@ifnotempty{#1}{%
+ \ifx\@empty\shortauthors
+ \gdef\shortauthors{#1}%
+ \else
+ \g@addto@macro\shortauthors{\and#1}%
+ \fi
+ }%
+}
+\edef\author{\@nx\@dblarg
+ \@xp\@nx\csname\string\author\endcsname}
+\let\shortauthors\@empty \let\authors\@empty
+\newif\ifresetcontrib \resetcontribfalse
+\newcommand\contrib[2][]{%
+ \def\@tempa{#1}%
+ \ifx\@empty\@tempa
+ \else
+ \ifresetcontrib \@xcontribs
+ \else \global\resetcontribtrue
+ \fi
+ \fi
+ \ifx\@empty\contribs
+ \gdef\contribs{#1 #2}%
+ \else
+ \g@addto@macro\contribs{\and#1 #2}%
+ \fi
+ \@wraptoccontribs{#1}{#2}%
+}
+\def\wraptoccontribs#1#2{}
+\def\@xcontribs{%
+ \author@andify\contribs
+ \ifx\@empty\xcontribs
+ \xdef\xcontribs{\contribs}%
+ \else
+ \xdef\xcontribs{\xcontribs, \contribs}%
+ \fi
+ \let\contribs\@empty
+}
+\let\contribs\@empty \let\xcontribs\@empty \let\toccontribs\@empty
+\let\addresses\@empty \let\thankses\@empty
+\newcommand{\address}[2][]{\g@addto@macro\addresses{\address{#1}{#2}}}
+\newcommand{\curraddr}[2][]{\g@addto@macro\addresses{\curraddr{#1}{#2}}}
+\newcommand{\email}[2][]{\g@addto@macro\addresses{\email{#1}{#2}}}
+\newcommand{\urladdr}[2][]{\g@addto@macro\addresses{\urladdr{#1}{#2}}}
+\long\def\thanks@warning#1{%
+ \ClassError{\@classname}{%
+ \protect\thanks\space should be given separately, not inside author name.%
+ }\@ehb
+}
+\renewcommand{\thanks}[1]{%
+ \@ifnotempty{#1}{\g@addto@macro\thankses{\thanks{#1}}}%
+}
+\def\enddoc@text{\ifx\@empty\@translators \else\@settranslators\fi
+ \ifx\@empty\addresses \else\@setaddresses\fi}
+\AtEndDocument{\enddoc@text}
+\def\curraddrname{{\iranicfamily نشانی}}
+\def\emailaddrname{{\iranicfamily رایانامه}}
+\def\urladdrname{{\iranicfamily تارنما}}
+\def\@setaddresses{\par
+ \nobreak \begingroup
+\footnotesize
+ \def\author##1{\nobreak\addvspace\bigskipamount}%
+ \def\\{\unskip, \ignorespaces}%
+ \interlinepenalty\@M
+ \def\address##1##2{\begingroup
+ \par\addvspace\bigskipamount\indent
+ \@ifnotempty{##1}{(\ignorespaces##1\unskip) }%
+ {\bfseries\ignorespaces##2}\par\endgroup}%
+ \def\curraddr##1##2{\begingroup
+ \@ifnotempty{##2}{\nobreak\indent\curraddrname
+ \@ifnotempty{##1}{, \ignorespaces##1\unskip}\/:\space
+ ##2\par}\endgroup}%
+ \def\email##1##2{\begingroup
+ \@ifnotempty{##2}{\nobreak\indent\emailaddrname
+ \@ifnotempty{##1}{, \ignorespaces##1\unskip}\/:\space
+ \ttfamily##2\par}\endgroup}%
+ \def\urladdr##1##2{\begingroup
+ \def~{\char`\~}%
+ \@ifnotempty{##2}{\nobreak\indent\urladdrname
+ \@ifnotempty{##1}{, \ignorespaces##1\unskip}\/:\space
+ \ttfamily##2\par}\endgroup}%
+ \addresses
+ \endgroup
+}
+\let\@date\@empty
+\def\dedicatory#1{\def\@dedicatory{#1}}
+\let\@dedicatory=\@empty
+\def\keywords#1{\def\@keywords{#1}}
+\let\@keywords=\@empty
+\newcommand*\subjclass[2][1991]{%
+ \def\@subjclass{#2}%
+ \@ifundefined{subjclassname@#1}{%
+ \ClassWarning{\@classname}{Unknown edition (#1) of Mathematics
+ Subject Classification; using '1991'.}%
+ }{%
+ \@xp\let\@xp\subjclassname\csname subjclassname@#1\endcsname
+ }%
+}
+\let\@subjclass=\@empty
+\def\translname{مترجم}
+\def\translator#1{%
+ \ifx\@empty\@translators \def\@translators{#1}%
+ \else\g@addto@macro\@translators{\and#1}\fi}
+\let\@translators=\@empty
+\def\@settranslators{\par\begingroup
+ \addvspace{6\p@\@plus9\p@}%
+ \hboxR to\columnwidth{\hss\normalfont\normalsize
+ \translname{ }%
+ \andify\@translators \uppercasenonmath\@translators
+ \@translators}
+ \endgroup
+}
+\newcommand{\xandlist}[4]{\@andlista{{#1}{#2}{#3}}#4\and\and}
+\def\@andlista#1#2\and#3\and{\@andlistc{#2}\@ifnotempty{#3}{%
+ \@andlistb#1{#3}}}
+\def\@andlistb#1#2#3#4#5\and{%
+ \@ifempty{#5}{%
+ \@andlistc{#2#4}%
+ }{%
+ \@andlistc{#1#4}\@andlistb{#1}{#3}{#3}{#5}%
+ }}
+\let\@andlistc\@iden
+\newcommand{\nxandlist}[4]{%
+ \def\@andlistc##1{\toks@\@xp{\the\toks@##1}}%
+ \toks@{\toks@\@emptytoks \@andlista{{#1}{#2}{#3}}}%
+ \the\@xp\toks@#4\and\and
+ \edef#4{\the\toks@}%
+ \let\@andlistc\@iden}
+\def\@@and{and}
+\newcommand{\andify}{%
+ \nxandlist{\unskip, }{\unskip{} \@@and~}{\unskip, \@@and~}}
+\def\and{\unskip{ }\@@and{ }\ignorespaces}
+\def\maketitle{\par
+ \@topnum\z@ % this prevents figures from falling at the top of page 1
+ \@setcopyright
+ \thispagestyle{firstpage}% this sets first page specifications
+ \uppercasenonmath\shorttitle
+ \ifx\@empty\shortauthors \let\shortauthors\shorttitle
+ \else \andify\shortauthors
+ \fi
+ \@maketitle@hook
+ \begingroup
+ \@maketitle
+ \toks@\@xp{\shortauthors}\@temptokena\@xp{\shorttitle}%
+ \toks4{\def\\{ \ignorespaces}}% defend against questionable usage
+ \edef\@tempa{%
+ \@nx\markboth{\the\toks4
+ \@nx\MakeUppercase{\the\toks@}}{\the\@temptokena}}%
+ \@tempa
+ \endgroup
+ \c@footnote\z@
+ \@cleartopmattertags
+}
+\def\@cleartopmattertags{%
+ \def\do##1{\let##1\relax}%
+ \do\maketitle \do\@maketitle \do\title \do\@xtitle \do\@title
+ \do\author \do\@xauthor \do\address \do\@xaddress
+ \do\contrib \do\contribs \do\xcontribs \do\toccontribs
+ \do\email \do\@xemail \do\curraddr \do\@xcurraddr
+ \do\dedicatory \do\@dedicatory \do\thanks \do\thankses
+ \do\keywords \do\@keywords \do\subjclass \do\@subjclass
+}
+\def\@maketitle@hook{\global\let\@maketitle@hook\@empty}
+\def\@maketitle{%
+ \normalfont\normalsize
+ \@adminfootnotes
+ \@mkboth{\@nx\shortauthors}{\@nx\shorttitle}%
+ \global\topskip8pc\relax % 10pc to base of first title line
+ \@settitle
+ \ifx\@empty\authors \else \@setauthors \fi
+ \ifx\@empty\@dedicatory
+ \else
+ \baselineskip26\p@
+ \vtop{\centering{\footnotesize\iranicfamily\@dedicatory\@@par}%
+ \global\dimen@i\prevdepth}\prevdepth\dimen@i
+ \fi
+ \@setabstract
+ \normalsize
+ \if@titlepage
+ \newpage
+ \else
+ \dimen@34\p@ \advance\dimen@-\baselineskip
+ \vskip\dimen@\relax
+ \fi
+} % end \@maketitle
+\def\@adminfootnotes{%
+ \let\@makefnmark\relax \let\@thefnmark\relax
+ \ifx\@empty\@subjclass\else \@LTRfootnotetext{\@setsubjclass}\fi
+ \ifx\@empty\@keywords\else \@footnotetext{\@setkeywords}\fi
+ \ifx\@empty\thankses\else \@footnotetext{%
+ \def\par{\let\par\@par}\@setthanks}%
+ \fi
+}
+\AtBeginDocument{%
+ \@ifundefined{publname}{%
+ \let\publname\@empty
+ \let\@serieslogo\@empty
+ }{%
+ \def\@serieslogo{\procart@logo}%
+ }%
+}
+\AtBeginDocument{%
+ \@ifundefined{volinfo}{\let\volinfo\@empty}{}
+}
+\def\issueinfo#1#2#3#4{\def\currentvolume{#1}\def\currentissue{#2}%
+ \def\currentmonth{#3}\def\currentyear{#4}}
+\issueinfo{00}% volume number
+ {0}% % issue number
+ {Xxxx}% % month
+ {XXXX}% % year
+\newcommand{\copyrightinfo}[2]{%
+ \def\copyrightyear{#1}%
+ \@ifnotempty{#2}{\def\copyrightholder{#2}}%
+}
+
+\def\pagespan#1#2{\setcounter{page}{#1}%
+ \ifnum\c@page<\z@ \pagenumbering{roman}\setcounter{page}{-#1}\fi
+ \def\start@page{#1}\def\end@page{#2}}
+\pagespan{000}{000}
+\newinsert\copyins
+\skip\copyins=1.5pc
+\count\copyins=1000 % magnification factor, 1000 = 100%
+\dimen\copyins=.5\textheight % maximum allowed per page
+\g@addto@macro\@reinserts{%
+ \ifvoid\copyins\else\insert\copyins{\unvbox\copyins}\fi
+}
+\def\@copyinsfontsize{\fontsize{6}{7\p@}\normalfont\upshape}
+\newif\if@extracrline \@extracrlinefalse
+\let\@extracrline\@empty
+\relax
+\def\@setcopyright{%
+ \ifx\@empty\@serieslogo
+ \else\ifx\@empty\copyrightyear
+ \else
+ \insert\copyins{\hsize\textwidth
+ \parfillskip\z@\relax
+ \leftskip\z@\@plus.9\textwidth\relax \rightskip\z@\relax
+ \@copyinsfontsize
+ \everypar{}%
+ \vskip-\skip\copyins
+ \if@extracrline
+ \vskip-6pt
+ \fi
+ \nointerlineskip
+ \leavevmode\hfill\vrule\@width\z@\@height\skip\copyins
+ \copyright\ \copyrightyear\ \copyrightholder\ignorespaces
+ \if@extracrline \@extracrline \fi
+ \par
+ \kern\z@}%
+ \fi\fi
+}
+\def\@combinefloats{%
+ \ifx \@toplist\@empty \else \@cflt \fi
+ \ifx \@botlist\@empty \else \@cflb \fi
+ \ifvoid\copyins \else \@cflci \fi
+}
+\def\@cflci{%
+ \setbox\@outputbox\vbox{%
+ \unvbox\@outputbox
+ \vskip\skip\copyins
+ \if@twocolumn \else \vskip\z@ plus\p@ \fi
+ \hbox to\columnwidth{%
+ \hss\vbox to\z@{\vss
+ \if@twocolumn
+ \if@firstcolumn \else \unvbox\copyins \fi
+ \else
+ \unvbox\copyins
+ \fi
+ }}}%
+ \if@twocolumn \if@firstcolumn
+ \insert\copyins{\unvbox\copyins}%
+ \fi\fi
+ \global\count\copyins=999 \relax
+}
+\newcommand{\abstractname}{چکیده}
+\newcommand{\keywordsname}{عبارات و کلمات کلیدی}
+\newcommand{\subjclassname}{%
+ \textup{1991} Mathematics Subject Classification}
+\@xp\let\csname subjclassname@1991\endcsname \subjclassname
+\@namedef{subjclassname@2000}{%
+ \textup{2000} Mathematics Subject Classification}
+\@namedef{subjclassname@2010}{%
+ \textup{2010} Mathematics Subject Classification}
+\def\@tempb{imsproc}
+\ifx\@classname\@tempb
+ \newcommand{\datename}{\textiranic{تاریخ}:}
+\else
+ \newcommand{\datename}{دریافت‌شده توسط دبیرخانه}
+\fi
+\def\@settitle{\begin{center}%
+ \Large
+ \bfseries
+ \@title
+ \end{center}%
+}
+\def\author@andify{%
+ \nxandlist {\unskip ,\penalty-1 \space\ignorespaces}%
+ {\unskip {} \@@and~}%
+ {\unskip ,\penalty-2 \space \@@and~}%
+}
+\def\@setauthors{%
+ \begingroup
+ \def\thanks{\protect\thanks@warning}%
+ \trivlist
+ \centering \fontsize{11}{13\p@}\selectfont\@topsep13\p@\relax
+ \item\relax
+ \author@andify\authors
+ \def\\{\protect\linebreak}%
+ \authors
+ \ifx\@empty\contribs
+ \else
+ ,\penalty-3 \space \@setcontribs
+ \@closetoccontribs
+ \fi
+ \endtrivlist
+ \endgroup
+}
+\def\@closetoccontribs{}
+\def\@setcontribs{%
+ \@xcontribs
+ \xcontribs
+}
+\def\@setdate{\datename\ \@date\@addpunct.}
+\def\@setsubjclass{%
+ {\latinfont\itshape\subjclassname.}\enspace\@subjclass\@addpunct.}
+\def\@setkeywords{%
+ {\iranicfamily \keywordsname.}\enspace \@keywords\@addpunct.}
+\def\@setthanks{\def\thanks##1{\par##1\@addpunct.}\thankses}
+\newbox\abstractbox
+\newenvironment{abstract}{%
+ \ifx\maketitle\relax
+ \ClassWarning{\@classname}{Abstract should precede
+ \protect\maketitle\space in imsproc document class; reported}%
+ \fi
+ \global\setbox\abstractbox=\vtop \bgroup
+ \normalfont\Small
+ \list{}{\labelwidth\z@
+ \leftmargin3pc \rightmargin\leftmargin
+ \listparindent\normalparindent \itemindent\z@
+ \parsep\z@ \@plus\p@
+ \let\fullwidthdisplay\relax
+ }%
+ \item[\hskip\labelsep\bfseries\abstractname.]%
+}{%
+ \endlist\egroup
+ \ifx\@setabstract\relax \@setabstracta \fi
+}
+\def\@setabstract{\@setabstracta \global\let\@setabstract\relax}
+\def\@setabstracta{%
+ \ifvoid\abstractbox
+ \else
+ \skip@20\p@ \advance\skip@-\lastskip
+ \advance\skip@-\baselineskip \vskip\skip@
+ \box\abstractbox
+ \prevdepth\z@ % because \abstractbox is a vtop
+ \fi
+}
+\def\titlepage{%
+ \clearpage
+ \thispagestyle{empty}\setcounter{page}{0}}
+\def\endtitlepage{\newpage}
+\def\labelenumi{(\theenumi)}
+\def\theenumi{\@arabic\c@enumi}
+\def\labelenumii{(\theenumii)}
+\def\theenumii{\@alph\c@enumii}
+\def\p@enumii{\theenumi}
+\def\labelenumiii{(\theenumiii)}
+\def\theenumiii{\@roman\c@enumiii}
+\def\p@enumiii{\theenumi(\theenumii)}
+\def\labelenumiv{(\theenumiv)}
+\def\theenumiv{\@Alph\c@enumiv}
+\def\p@enumiv{\p@enumiii\theenumiii}
+\def\labelitemi{$\m@th\bullet$}
+\def\labelitemii{\bfseries --}% \upshape already done by \itemize
+\def\labelitemiii{$\m@th\ast$}
+\def\labelitemiv{$\m@th\cdot$}
+\newenvironment{verse}{\let\\\@centercr
+ \list{}{\itemsep\z@ \itemindent -1.5em\listparindent\itemindent
+ \rightmargin\leftmargin \advance\leftmargin 1.5em}\item[]%
+}{%
+ \endlist
+}
+\let\endverse=\endlist % for efficiency
+\newenvironment{quotation}{\list{}{%
+ \leftmargin3pc \listparindent\normalparindent
+ \itemindent\z@
+ \rightmargin\leftmargin \parsep\z@ \@plus\p@}%
+ \item[]%
+}{%
+ \endlist
+}
+\let\endquotation=\endlist % for efficiency
+\newenvironment{quote}{%
+ \list{}{\rightmargin\leftmargin}\item[]%
+}{%
+ \endlist
+}
+\let\endquote=\endlist % for efficiency
+\def\trivlist{\parsep\parskip\@nmbrlistfalse
+ \@trivlist \labelwidth\z@ \leftmargin\z@
+ \itemindent\z@
+ \let\@itemlabel\@empty
+ \def\makelabel##1{\upshape##1}}
+\renewenvironment{enumerate}{%
+ \ifnum \@enumdepth >3 \@toodeep\else
+ \advance\@enumdepth \@ne
+ \edef\@enumctr{enum\romannumeral\the\@enumdepth}\list
+ {\csname label\@enumctr\endcsname}{\usecounter
+ {\@enumctr}\def\makelabel##1{\hss\llap{\upshape##1}}}\fi
+}{%
+ \endlist
+}
+\let\endenumerate=\endlist % for efficiency
+\renewenvironment{itemize}{%
+ \ifnum\@itemdepth>3 \@toodeep
+ \else \advance\@itemdepth\@ne
+ \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
+ \list{\csname\@itemitem\endcsname}%
+ {\def\makelabel##1{\hss\llap{\upshape##1}}}%
+ \fi
+}{%
+ \endlist
+}
+\let\enditemize=\endlist % for efficiency
+\newcommand{\descriptionlabel}[1]{\hspace\labelsep \upshape\bfseries #1:}
+\newenvironment{description}{\list{}{%
+ \advance\leftmargini6\p@ \itemindent-12\p@
+ \labelwidth\z@ \let\makelabel\descriptionlabel}%
+}{
+ \endlist
+}
+\let\enddescription=\endlist % for efficiency
+\let\upn=\textup
+\AtBeginDocument{%
+ \labelsep=5pt\relax
+ \setcounter{enumi}{13}\setcounter{enumii}{13}%
+ \setcounter{enumiii}{13}\setcounter{enumiv}{13}%
+ \settowidth\leftmargini{\labelenumi\hskip\labelsep}%
+ \advance\leftmargini by \normalparindent
+ \settowidth\leftmarginii{\labelenumii\hskip\labelsep}%
+ \settowidth\leftmarginiii{\labelenumiii\hskip\labelsep}%
+ \settowidth\leftmarginiv{\labelenumiv\hskip\labelsep}%
+ \setcounter{enumi}{0}\setcounter{enumii}{0}%
+ \setcounter{enumiii}{0}\setcounter{enumiv}{0}%
+ \leftmarginv=10pt \leftmarginvi=\leftmarginv
+ \leftmargin=\leftmargini
+ \labelwidth=\leftmargini \advance\labelwidth-\labelsep
+ \@listi}
+\newskip\listisep
+\listisep\smallskipamount
+\def\@listI{\leftmargin\leftmargini \parsep\z@skip
+ \topsep\listisep \itemsep\z@skip
+ \listparindent\normalparindent}
+\let\@listi\@listI
+\def\@listii{\leftmargin\leftmarginii
+ \labelwidth\leftmarginii \advance\labelwidth-\labelsep
+ \topsep\z@skip \parsep\z@skip \partopsep\z@skip \itemsep\z@skip}
+\def\@listiii{\leftmargin\leftmarginiii
+ \labelwidth\leftmarginiii \advance\labelwidth-\labelsep}
+\def\@listiv{\leftmargin\leftmarginiv
+ \labelwidth\leftmarginiv \advance\labelwidth-\labelsep}
+\def\@listv{\leftmargin\leftmarginv
+ \labelwidth\leftmarginv \advance\labelwidth-\labelsep}
+\def\@listvi{\leftmargin\leftmarginvi
+ \labelwidth\leftmarginvi \advance\labelwidth-\labelsep}
+\@ifclasswith{\@classname}{fleqn}{%
+ \let\@tempa\@iden
+ \AtBeginDocument{\mathindent\leftmargini}%
+}{\let\@tempa\@gobble}%
+\@ifpackageloaded{amsmath}{\let\@tempa\@gobble}{%
+ \@ifpackageloaded{amstex}{\let\@tempa\@gobble}{}%
+}
+\@tempa{%
+ \def\[{\relax
+ \ifmmode\@badmath
+ \else
+ \begin{trivlist}%
+ \@beginparpenalty\predisplaypenalty
+ \@endparpenalty\postdisplaypenalty
+ \item[]\leavevmode
+ \hbox to\linewidth\bgroup$\displaystyle
+ \hskip\mathindent\bgroup
+ \fi}%
+ \def\]{\relax
+ \ifmmode
+ \egroup \m@th$\hfil \egroup
+ \end{trivlist}%
+ \else \@badmath
+ \fi}%
+ \renewenvironment{equation}{%
+ \@beginparpenalty\predisplaypenalty
+ \@endparpenalty\postdisplaypenalty
+ \refstepcounter{equation}%
+ \@topsep\abovedisplayskip \trivlist
+ \item[]\leavevmode
+ \hbox to\linewidth\bgroup\hskip\mathindent$\displaystyle
+ }{%
+ \m@th$\hfil \displaywidth\linewidth \hbox{\@eqnnum}\egroup
+ \endtrivlist
+ }%
+ \renewenvironment{eqnarray}{%
+ \stepcounter{equation}\let\@currentlabel\theequation
+ \global\@eqnswtrue \global\@eqcnt\z@ \tabskip\mathindent
+ \let\\=\@eqncr \abovedisplayskip\topsep
+ \ifvmode \advance\abovedisplayskip\partopsep \fi
+ \belowdisplayskip\abovedisplayskip
+ \belowdisplayshortskip\abovedisplayskip
+ \abovedisplayshortskip\abovedisplayskip
+ $$\everycr{}\halign to\linewidth\bgroup
+ \hskip\@centering
+ $\displaystyle\tabskip\z@skip####\m@th$&%
+ \@eqnsel \global\@eqcnt\@ne
+ \hfil${}####{}\m@th$\hfil&%
+ \global\@eqcnt\tw@
+ $\displaystyle ####\m@th$\hfil\tabskip\@centering&%
+ \global\@eqcnt\thr@@
+ \hbox to \z@\bgroup\hss####\egroup\tabskip\z@skip\cr
+ }{%
+ \@@eqncr \egroup \global\advance\c@equation\m@ne$$%
+ \global\@ignoretrue
+ }%
+ \newdimen\mathindent
+ \mathindent\leftmargini
+}
+\def\@startsection#1#2#3#4#5#6{%
+ \if@noskipsec \leavevmode \fi
+ \par \@tempskipa #4\relax
+ \@afterindenttrue
+ \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse\fi
+ \if@nobreak \everypar{}\else
+ \addpenalty\@secpenalty\addvspace\@tempskipa\fi
+ \@ifstar{\@dblarg{\@sect{#1}{\@m}{#3}{#4}{#5}{#6}}}%
+ {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}%
+}
+\def\@seccntformat#1{%
+ \protect\textup{\protect\@secnumfont
+ \csname the#1\endcsname
+ \protect\@secnumpunct
+ }%
+}
+\let\@secnumfont\@empty
+\def\@sect#1#2#3#4#5#6[#7]#8{%
+ \edef\@toclevel{\ifnum#2=\@m 0\else\number#2\fi}%
+ \ifnum #2>\c@secnumdepth \let\@secnumber\@empty
+ \else \@xp\let\@xp\@secnumber\csname the#1\endcsname\fi
+ \@tempskipa #5\relax
+ \ifnum #2>\c@secnumdepth
+ \let\@svsec\@empty
+ \else
+ \refstepcounter{#1}%
+ \edef\@secnumpunct{%
+ \ifdim\@tempskipa>\z@ % not a run-in section heading
+ \@ifnotempty{#8}{.\@nx\enspace}%
+ \else
+ \@ifempty{#8}{.}{.\@nx\enspace}%
+ \fi
+ }%
+ \protected@edef\@svsec{%
+ \ifnum#2<\@m
+ \@ifundefined{#1name}{}{%
+ \ignorespaces\csname #1name\endcsname\space
+ }%
+ \fi
+ \@seccntformat{#1}%
+ }%
+ \fi
+ \ifdim \@tempskipa>\z@ % then this is not a run-in section heading
+ \begingroup #6\relax
+ \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty\@M #8\par}%
+ \endgroup
+ \ifnum#2>\@m \else \@tocwrite{#1}{#8}\fi
+ \else
+ \def\@svsechd{#6\hskip #3\@svsec
+ \@ifnotempty{#8}{\ignorespaces#8\unskip
+ \@addpunct.}%
+ \ifnum#2>\@m \else \@tocwrite{#1}{#8}\fi
+ }%
+ \fi
+ \global\@nobreaktrue
+ \@xsect{#5}}
+\let\@ssect\relax
+\newcounter{part}
+\newcounter{section}
+\newcounter{subsection}[section]
+\newcounter{subsubsection}[subsection]
+\newcounter{paragraph}[subsubsection]
+\newcounter{subparagraph}[paragraph]
+\renewcommand\thesection {\arabic{section}}
+\setcounter{secnumdepth}{3}
+\def\specialsection{\@startsection{section}{1}%
+ \z@{2\linespacing\@plus\linespacing}{.5\linespacing}%
+ {\large\bfseries\centering}}
+\def\section{\@startsection{section}{1}%
+ \z@{.7\linespacing\@plus\linespacing}{.5\linespacing}%
+ {\normalfont\bfseries\centering}}
+\def\subsection{\@startsection{subsection}{2}%
+ \normalparindent{.5\linespacing\@plus.7\linespacing}{-.5em}%
+ {\normalfont\bfseries}}
+\def\subsubsection{\@startsection{subsubsection}{3}%
+ \normalparindent\z@{-.5em}%
+ {\normalfont\iranicfamily}}
+\def\paragraph{\@startsection{paragraph}{4}%
+ \normalparindent\z@{-\fontdimen2\font}%
+ \normalfont}
+\def\subparagraph{\@startsection{subparagraph}{5}%
+ \z@\z@{-\fontdimen2\font}%
+ \normalfont}
+\def\@Roman#1{\@xp\@slowromancap
+ \romannumeral#1@}%
+\def\@slowromancap#1{\ifx @#1% then terminate
+ \else
+ \if i#1I\else\if v#1V\else\if x#1X\else\if l#1L\else\if
+ c#1C\else\if m#1M\else#1\fi\fi\fi\fi\fi\fi
+ \@xp\@slowromancap
+ \fi
+}
+\def\aufm#1{\par\vspace*{12pt}{\flushright #1\par}}
+\newcommand{\@pnumwidth}{1.6em}
+\newcommand{\@tocrmarg}{2.6em}
+\setcounter{tocdepth}{1}
+\newswitch{toc}
+\newswitch{lof}
+\newswitch{lot}
+\newcommand\contentsnamefont{\bfseries}
+\def\@starttoc#1#2{\begingroup
+ \setTrue{#1}%
+ \par\removelastskip\vskip\z@skip
+ \@startsection{}\@M\z@{\linespacing\@plus\linespacing}%
+ {.5\linespacing}{\centering\contentsnamefont}{#2}%
+ \ifx\contentsname#2%
+ \else \addcontentsline{toc}{section}{#2}\fi
+ \makeatletter
+ \@input{\jobname.#1}%
+ \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
+}
+\def\tableofcontents{%
+ \@starttoc{toc}\contentsname
+}
+\def\listoffigures{\@starttoc{lof}\listfigurename}
+\def\listoftables{\@starttoc{lot}\listtablename}
+\AtBeginDocument{%
+ \@for\@tempa:=-1,0,1,2,3\do{%
+ \@ifundefined{r@tocindent\@tempa}{%
+ \@xp\gdef\csname r@tocindent\@tempa\endcsname{0pt}}{}%
+ }%
+}
+\def\@writetocindents{%
+ \begingroup
+ \@for\@tempa:=-1,0,1,2,3\do{%
+ \immediate\write\@auxout{%
+ \string\newlabel{tocindent\@tempa}{%
+ \csname r@tocindent\@tempa\endcsname}}%
+ }%
+ \endgroup}
+\AtEndDocument{\@writetocindents}
+
+\let\indentlabel\@empty
+\def\@tochangmeasure#1{\sbox\z@{#1}%
+ \ifdim\wd\z@>\csname r@tocindent\@toclevel\endcsname\relax
+ \@xp\xdef\csname r@tocindent\@toclevel\endcsname{\the\wd\z@}%
+ \fi
+}
+\def\@toclevel{0}
+\def\@tocpagenum#1{\hss{\mdseries #1}}
+\def\@tocwrite#1{\@xp\@tocwriteb\csname toc#1\endcsname{#1}}
+\def\@tocwriteb#1#2#3{%
+ \begingroup
+ \def\@tocline##1##2##3##4##5##6{%
+ \ifnum##1>\c@tocdepth
+ \else \sbox\z@{##5\let\indentlabel\@tochangmeasure##6}\fi}%
+ \csname l@#2\endcsname{#1{\csname#2name\endcsname}{\@secnumber}{}}%
+ \endgroup
+ \addcontentsline{toc}{#2}%
+ {\protect#1{\csname#2name\endcsname}{\@secnumber}{#3}}}
+\def\l@section{\@tocline{1}{0pt}{1pc}{}{}}
+\newcommand{\tocsection}[3]{%
+ \indentlabel{\@ifnotempty{#2}{\ignorespaces#1 #2.\quad}}#3}
+\def\l@subsection{\@tocline{2}{0pt}{1pc}{5pc}{}}
+\let\tocsubsection\tocsection
+\def\l@subsubsection{\@tocline{3}{0pt}{1pc}{7pc}{}}
+\let\tocsubsubsection\tocsection
+\let\l@paragraph\l@subsubsection
+\let\tocparagraph\tocsection
+\let\l@subparagraph\l@subsubsection
+\let\tocsubparagraph\tocsection
+\def\l@part{\@tocline{-1}{12pt plus2pt}{0pt}{}{\bfseries}}
+\let\tocpart\tocsection
+\def\l@chapter{\@tocline{0}{8pt plus1pt}{0pt}{}{}}
+\let\tocchapter\tocsection
+\newcommand{\tocappendix}[3]{%
+ \indentlabel{#1\@ifnotempty{#2}{ #2}.\quad}#3}
+\def\l@figure{\@tocline{0}{3pt plus2pt}{0pt}{1.5pc}{}}
+\let\l@table=\l@figure
+\def\@defaultbiblabelstyle#1{#1.}
+\def\bibliographystyle#1{%
+ \if@filesw\immediate\write\@auxout{\string\bibstyle{#1}}\fi
+ \def\@tempa{#1}%
+ \def\@tempb{amsplain}%
+ \def\@tempc{}%
+ \ifx\@tempa\@tempb
+ \def\@biblabel##1{\@defaultbiblabelstyle{##1}}%
+ \def\bibsetup{}%
+ \else
+ \def\bibsetup{\labelsep6\p@}%
+ \ifx\@tempa\@tempc
+ \def\@biblabel##1{}%
+ \def\bibsetup{\labelwidth\z@ \leftmargin24\p@
+ \itemindent-\leftmargin
+ \labelsep\z@ }%
+ \fi
+ \fi}
+\newcommand{\bibliofont}{\footnotesize}
+\newcommand{\@bibtitlestyle}{%
+ \@xp\section\@xp*\@xp{\refname}%
+}
+\def\bysame{\leavevmode\hbox to3em{\hrulefill}\thinspace}
+\def\newblock{}
+\newcommand\MR[1]{\relax\ifhmode\unskip\spacefactor3000 \space\fi
+ MR~\MRhref{#1}{#1}}
+\let\MRhref\@gobble
+\newcommand\URL{\begingroup
+ \def\@sverb##1{%
+ \def\@tempa####1##1{\@URL{####1}\egroup\endgroup}%
+ \@tempa}%
+ \verb}
+\let\URLhref\@gobble
+\def\@URL#1{\URLhref{#1}#1}
+\newif\if@restonecol
+\newcommand{\@indextitlestyle}{%
+ \twocolumn[\@xp\section\@xp*\@xp{\indexname}]%
+}
+\def\indexname{Index}
+\def\@idxitem{\par\hangindent 2em}
+\def\subitem{\par\hangindent 2em\hspace*{1em}}
+\def\subsubitem{\par\hangindent 3em\hspace*{2em}}
+\def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi}
+\def\indexspace{\par\bigskip}
+\def\@makefntext{\indent\@makefnmark}
+\hfuzz=1pt \vfuzz=\hfuzz
+\def\sloppy{\tolerance9999 \emergencystretch 3em\relax}
+\setcounter{topnumber}{4}
+\setcounter{bottomnumber}{4}
+\setcounter{totalnumber}{4}
+\setcounter{dbltopnumber}{4}
+\renewcommand{\topfraction}{.97}
+\renewcommand{\bottomfraction}{.97}
+\renewcommand{\textfraction}{.03}
+\renewcommand{\floatpagefraction}{.9}
+\renewcommand{\dbltopfraction}{.97}
+\renewcommand{\dblfloatpagefraction}{.9}
+\setlength{\floatsep}{12pt plus 6pt minus 4pt}
+\setlength{\textfloatsep}{15pt plus 8pt minus 5pt}
+\setlength{\intextsep}{12pt plus 6pt minus 4pt}
+\setlength{\dblfloatsep}{12pt plus 6pt minus 4pt}
+\setlength{\dbltextfloatsep}{15pt plus 8pt minus 5pt}
+\setlength{\@fptop}{0pt}% removed "plus 1fil"
+\setlength{\@fpsep}{8pt}% removed "plus 2fil"
+\setlength{\@fpbot}{0pt plus 1fil}
+\setlength{\@dblfptop}{0pt}% removed "plus 1fil"
+\setlength{\@dblfpsep}{8pt}% removed "plus 2fil"
+\setlength{\@dblfpbot}{0pt plus 1fil}
+\newcommand{\fps@figure}{tbp}
+\newcommand{\fps@table}{tbp}
+\newcounter{figure}
+\def\@captionheadfont{\bfseries}
+\def\@captionfont{\normalfont}
+\def\ftype@figure{1}
+\def\ext@figure{lof}
+\def\fnum@figure{\figurename\ \thefigure}
+\def\figurename{Figure}
+\newenvironment{figure}{%
+ \@float{figure}%
+}{%
+ \end@float
+}
+\newenvironment{figure*}{%
+ \@dblfloat{figure}%
+}{%
+ \end@dblfloat
+}
+\newcounter{table}
+\def\ftype@table{2}
+\def\ext@table{lot}
+\def\fnum@table{\tablename\ \thetable}
+\def\tablename{Table}
+\newenvironment{table}{%
+ \@float{table}%
+}{%
+ \end@float
+}
+\newenvironment{table*}{%
+ \@dblfloat{table}%
+}{%
+ \end@dblfloat
+}
+\def\@floatboxreset{\global\@minipagefalse \centering}
+\long\def\@makecaption#1#2{%
+ \setbox\@tempboxa\vbox{\color@setgroup
+ \advance\hsize-2\captionindent\noindent
+ \@captionfont\@captionheadfont#1\@xp\@ifnotempty\@xp
+ {\@cdr#2\@nil}{.\@captionfont\upshape\enspace#2}%
+ \unskip\kern-2\captionindent\par
+ \global\setbox\@ne\lastbox\color@endgroup}%
+ \ifhbox\@ne % the normal case
+ \setbox\@ne\hbox{\unhbox\@ne\unskip\unskip\unpenalty\unkern}%
+ \fi
+ \ifdim\wd\@tempboxa=\z@ % this means caption will fit on one line
+ \setbox\@ne\hbox to\columnwidth{\hss\kern-2\captionindent\box\@ne\hss}%
+ \else % tempboxa contained more than one line
+ \setbox\@ne\vbox{\unvbox\@tempboxa\parskip\z@skip
+ \noindent\unhbox\@ne\advance\hsize-2\captionindent\par}%
+ \fi
+ \ifnum\@tempcnta<64 % if the float IS a figure...
+ \addvspace\abovecaptionskip
+ \hbox to\hsize{\kern\captionindent\box\@ne\hss}%
+ \else % if the float IS NOT a figure...
+ \hbox to\hsize{\kern\captionindent\box\@ne\hss}%
+ \nobreak
+ \vskip\belowcaptionskip
+ \fi
+\relax
+}
+\newskip\abovecaptionskip \abovecaptionskip=12pt \relax
+\newskip\belowcaptionskip \belowcaptionskip=12pt \relax
+\newdimen\captionindent \captionindent=3pc
+\def\nonbreakingspace{\unskip\nobreak\ \ignorespaces}
+\def~{\protect\nonbreakingspace}
+\def\@biblabel#1{\@ifnotempty{#1}{[#1]}}
+\def\@citestyle{\m@th\upshape\mdseries}
+\def\citeform#1{{\bfseries#1}}
+\def\@cite#1#2{{%
+ \@citestyle[\citeform{#1}\if@tempswa, #2\fi]}}
+\@ifundefined{cite }{%
+ \expandafter\let\csname cite \endcsname\cite
+ \edef\cite{\@nx\protect\@xp\@nx\csname cite \endcsname}%
+}{}
+\def\fullwidthdisplay{\displayindent\z@ \displaywidth\columnwidth}
+\edef\@tempa{\noexpand\fullwidthdisplay\the\everydisplay}
+\everydisplay\expandafter{\@tempa}
+\newcommand*\seeonlyname{see}
+\newcommand*\seename{see also}
+\newcommand*\alsoname{see also}
+\newcommand*\seeonly[2]{\emph{\seeonlyname} #1}
+\newcommand*\see[2]{\emph{\seename} #1}
+\newcommand*\seealso[2]{\emph{\alsoname} #1}
+\newcommand\printindex{\@input{\jobname.ind}}
+\DeclareRobustCommand\textprime{\leavevmode
+ \raise.8ex\hbox{\check@mathfonts\the\scriptfont2 \char48 }}
+
+\newcommand{\theoremstyle}[1]{%
+ \@ifundefined{th@#1}{%
+ \PackageWarning{amsthm}{Unknown theoremstyle `#1'}%
+ \thm@style{plain}%
+ }{%
+ \thm@style{#1}%
+ }%
+}
+\newtoks\thm@style
+\thm@style{plain}
+\newtoks\thm@bodyfont \thm@bodyfont{\iranicfamily}
+\newtoks\thm@headfont \thm@headfont{\bfseries}
+\newtoks\thm@notefont \thm@notefont{}
+\newtoks\thm@headpunct \thm@headpunct{.}
+\newskip\thm@preskip \newskip\thm@postskip
+\def\thm@space@setup{%
+ \thm@preskip=.5\baselineskip\@plus.2\baselineskip
+ \@minus.2\baselineskip
+ \thm@postskip=\thm@preskip
+}
+\renewcommand{\newtheorem}{\@ifstar{\@xnthm *}{\@xnthm \relax}}
+\def\@xnthm#1#2{%
+ \let\@tempa\relax
+ \@xp\@ifdefinable\csname #2\endcsname{%
+ \global\@xp\let\csname end#2\endcsname\@endtheorem
+ \ifx *#1% unnumbered, need to get one more mandatory arg
+ \edef\@tempa##1{%
+ \gdef\@xp\@nx\csname#2\endcsname{%
+ \@nx\@thm{\@xp\@nx\csname th@\the\thm@style\endcsname}%
+ {}{##1}}}%
+ \else % numbered theorem, need to check for optional arg
+ \def\@tempa{\@oparg{\@ynthm{#2}}[]}%
+ \fi
+ }%
+ \@tempa
+}
+\def\@ynthm#1[#2]#3{%
+ \ifx\relax#2\relax
+ \def\@tempa{\@oparg{\@xthm{#1}{#3}}[]}%
+ \else
+ \@ifundefined{c@#2}{%
+ \def\@tempa{\@nocounterr{#2}}%
+ }{%
+ \@xp\xdef\csname the#1\endcsname{\@xp\@nx\csname the#2\endcsname}%
+ \toks@{#3}%
+ \@xp\xdef\csname#1\endcsname{%
+ \@nx\@thm{%
+ \let\@nx\thm@swap
+ \if S\thm@swap\@nx\@firstoftwo\else\@nx\@gobble\fi
+ \@xp\@nx\csname th@\the\thm@style\endcsname}%
+ {#2}{\the\toks@}}%
+ \let\@tempa\relax
+ }%
+ \fi
+ \@tempa
+}
+\def\@xthm#1#2[#3]{%
+ \ifx\relax#3\relax
+ \newcounter{#1}%
+ \else
+ \newcounter{#1}[#3]%
+ \@xp\xdef\csname the#1\endcsname{\@xp\@nx\csname the#3\endcsname
+ \@thmcountersep\@thmcounter{#1}}%
+ \fi
+ \toks@{#2}%
+ \@xp\xdef\csname#1\endcsname{%
+ \@nx\@thm{%
+ \let\@nx\thm@swap
+ \if S\thm@swap\@nx\@firstoftwo\else\@nx\@gobble\fi
+ \@xp\@nx\csname th@\the\thm@style\endcsname}%
+ {#1}{\the\toks@}}%
+}
+\def\@thm#1#2#3{%
+ \ifhmode\unskip\unskip\par\fi
+ \normalfont
+ \trivlist
+ \let\thmheadnl\relax
+ \let\thm@swap\@gobble
+ \let\thm@indent\indent % indent
+ \thm@headfont{\bfseries}% heading font small caps
+ \thm@notefont{\fontseries\mddefault\upshape}%
+ \thm@headpunct{.}% add period after heading
+ \thm@headsep 5\p@ plus\p@ minus\p@\relax
+ \thm@space@setup
+ #1% style overrides
+ \@topsep \thm@preskip % used by thm head
+ \@topsepadd \thm@postskip % used by \@endparenv
+ \def\@tempa{#2}\ifx\@empty\@tempa
+ \def\@tempa{\@oparg{\@begintheorem{#3}{}}[]}%
+ \else
+ \refstepcounter{#2}%
+ \def\@tempa{\@oparg{\@begintheorem{#3}{\csname the#2\endcsname}}[]}%
+ \fi
+ \@tempa
+}
+\def\@restorelabelsep{\relax}
+\let\@ythm\relax
+\let\thmname\@iden \let\thmnote\@iden \let\thmnumber\@iden
+\providecommand\@upn{\textup}
+\def\thmhead@plain#1#2#3{%
+ \thmname{#1}\thmnumber{\@ifnotempty{#1}{ }\@upn{#2}}%
+ \thmnote{ {\the\thm@notefont(#3)}}}
+\let\thmhead\thmhead@plain
+\def\swappedhead#1#2#3{%
+ \thmnumber{\@upn{\@secnumfont#2\@ifnotempty{#1}{.~}}}%
+ \thmname{#1}%
+ \thmnote{ {\the\thm@notefont(#3)}}}
+\let\swappedhead@plain=\swappedhead
+\let\thmheadnl\relax
+\let\thm@indent\noindent
+\let\thm@swap\@gobble
+\def\@begintheorem#1#2[#3]{%
+ \deferred@thm@head{\the\thm@headfont \thm@indent
+ \@ifempty{#1}{\let\thmname\@gobble}{\let\thmname\@iden}%
+ \@ifempty{#2}{\let\thmnumber\@gobble}{\let\thmnumber\@iden}%
+ \@ifempty{#3}{\let\thmnote\@gobble}{\let\thmnote\@iden}%
+ \thm@swap\swappedhead\thmhead{#1}{#2}{#3}%
+ \the\thm@headpunct
+ \thmheadnl % possibly a newline.
+ \hskip\thm@headsep
+ }%
+ \ignorespaces}
+\newskip\thm@headsep
+\thm@headsep=5pt plus1pt minus1pt\relax
+\let\adjust@parskip@nobreak=\@nbitem
+\newtoks\dth@everypar
+\dth@everypar={%
+ \@minipagefalse \global\@newlistfalse
+ \@noparitemfalse
+ \if@inlabel
+ \global\@inlabelfalse
+ \begingroup \setbox\z@\lastbox
+ \ifvoid\z@ \kern-\itemindent \fi
+ \endgroup
+ \unhbox\@labels
+ \fi
+ \if@nobreak \@nobreakfalse \clubpenalty\@M
+ \else \clubpenalty\@clubpenalty \everypar{}%
+ \fi
+}%
+\def\deferred@thm@head#1{%
+ \if@inlabel \indent \par \fi % eject a section head if one is pending
+ \if@nobreak
+ \adjust@parskip@nobreak
+ \else
+ \addpenalty\@beginparpenalty
+ \addvspace\@topsep
+ \addvspace{-\parskip}%
+ \fi
+ \global\@inlabeltrue
+ \everypar\dth@everypar
+ \sbox\@labels{\normalfont#1}%
+ \ignorespaces
+}
+\def\nonslanted{\relax
+ \@xp\let\@xp\@tempa\csname\f@shape shape\endcsname
+ \ifx\@tempa\itshape\upshape
+ \else\ifx\@tempa\slshape\upshape\fi\fi}
+\def\swapnumbers{\edef\thm@swap{\if S\thm@swap N\else S\fi}}
+\def\thm@swap{N}%
+\let\@opargbegintheorem\relax
+\def\th@plain{%
+%% \let\thm@indent\noindent % no indent
+%% \thm@headfont{\bfseries}% heading font is bold
+%% \thm@notefont{}% same as heading font
+%% \thm@headpunct{.}% add period after heading
+%% \let\thm@swap\@gobble
+%% \thm@preskip\topsep
+%% \thm@postskip\theorempreskipamount
+ \itshape % body font
+}
+\def\th@definition{%
+ \normalfont % body font
+}
+\def\th@remark{%
+ \normalfont % body font
+}
+\def\@endtheorem{\endtrivlist\@endpefalse }
+\newcommand{\newtheoremstyle}[9]{%
+ \@ifempty{#5}{\dimen@\z@skip}{\dimen@#5\relax}%
+ \ifdim\dimen@=\z@
+ \toks@{#4\let\thm@indent\noindent}%
+ \else
+ \toks@{#4\def\thm@indent{\noindent\hbox to#5{}}}%
+ \fi
+ \def\@tempa{#8}\ifx\space\@tempa
+ \toks@\@xp{\the\toks@ \thm@headsep\fontdimen\tw@\font\relax}%
+ \else
+ \def\@tempb{\newline}%
+ \ifx\@tempb\@tempa
+ \toks@\@xp{\the\toks@ \thm@headsep\z@skip
+ \def\thmheadnl{\newline}}%
+ \else
+ \toks@\@xp{\the\toks@ \thm@headsep#8\relax}%
+ \fi
+ \fi
+ \begingroup
+ \thm@space@setup
+ \@defaultunits\@tempskipa#2\thm@preskip\relax\@nnil
+ \@defaultunits\@tempskipb#3\thm@postskip\relax\@nnil
+ \xdef\@gtempa{\thm@preskip\the\@tempskipa
+ \thm@postskip\the\@tempskipb\relax}%
+ \endgroup
+ \@temptokena\@xp{\@gtempa
+ \thm@headfont{#6}\thm@headpunct{#7}%
+ }%
+ \@ifempty{#9}{%
+ \let\thmhead\thmhead@plain
+ }{%
+ \@namedef{thmhead@#1}##1##2##3{#9}%
+ \@temptokena\@xp{\the\@temptokena
+ \@xp\let\@xp\thmhead\csname thmhead@#1\endcsname}%
+ }%
+ \@xp\xdef\csname th@#1\endcsname{\the\toks@ \the\@temptokena}%
+}
+\DeclareRobustCommand{\qed}{%
+ \ifmmode \mathqed
+ \else
+ \leavevmode\unskip\penalty9999 \hbox{}\nobreak\hfill
+ \quad\hbox{\qedsymbol}%
+ \fi
+}
+\let\QED@stack\@empty
+\let\qed@elt\relax
+\newcommand{\pushQED}[1]{%
+ \toks@{\qed@elt{#1}}\@temptokena\expandafter{\QED@stack}%
+ \xdef\QED@stack{\the\toks@\the\@temptokena}%
+}
+\newcommand{\popQED}{%
+ \begingroup\let\qed@elt\popQED@elt \QED@stack\relax\relax\endgroup
+}
+\def\popQED@elt#1#2\relax{#1\gdef\QED@stack{#2}}
+\newcommand{\qedhere}{%
+ \begingroup \let\mathqed\math@qedhere
+ \let\qed@elt\setQED@elt \QED@stack\relax\relax \endgroup
+}
+\newif\ifmeasuring@
+\newif\iffirstchoice@ \firstchoice@true
+\def\setQED@elt#1#2\relax{%
+ \ifmeasuring@
+ \else \iffirstchoice@ \gdef\QED@stack{\qed@elt{}#2}\fi
+ \fi
+ #1%
+}
+\def\qed@warning{%
+ \PackageWarning{amsthm}{The \@nx\qedhere command may not work
+ correctly here}%
+}
+\newcommand{\mathqed}{\quad\hbox{\qedsymbol}}
+\def\linebox@qed{\hfil\hbox{\qedsymbol}\hfilneg}
+\@ifpackageloaded{amsmath}{%
+ \def\math@qedhere{%
+ \@ifundefined{\@currenvir @qed}{%
+ \qed@warning\quad\hbox{\qedsymbol}%
+ }{%
+ \@xp\aftergroup\csname\@currenvir @qed\endcsname
+ }%
+ }
+ \def\displaymath@qed{%
+ \relax
+ \ifmmode
+ \ifinner \aftergroup\linebox@qed
+ \else
+ \eqno
+ \let\eqno\relax \let\leqno\relax \let\veqno\relax
+ \hbox{\qedsymbol}%
+ \fi
+ \else
+ \aftergroup\linebox@qed
+ \fi
+ }
+ \@xp\let\csname equation*@qed\endcsname\displaymath@qed
+ \def\equation@qed{%
+ \iftagsleft@
+ \hbox{\phantom{\quad\qedsymbol}}%
+ \gdef\alt@tag{%
+ \rlap{\hbox to\displaywidth{\hfil\qedsymbol}}%
+ \global\let\alt@tag\@empty
+ }%
+ \else
+ \gdef\alt@tag{%
+ \global\let\alt@tag\@empty
+ \vtop{\ialign{\hfil####\cr
+ \tagform@\theequation\cr
+ \qedsymbol\cr}}%
+ \setbox\z@
+ }%
+ \fi
+ }
+ \def\qed@tag{%
+ \global\tag@true \nonumber
+ &\omit\setboxz@h {\strut@ \qedsymbol}\tagsleft@false
+ \place@tag@gather
+ \kern-\tabskip
+ \ifst@rred \else \global\@eqnswtrue \fi \global\advance\row@\@ne \cr
+ }
+ \def\split@qed{%
+ \def\endsplit{\crcr\egroup \egroup \ctagsplit@false \rendsplit@
+ \aftergroup\align@qed
+ }%
+ }
+ \def\align@qed{%
+ \ifmeasuring@ \tag*{\qedsymbol}%
+ \else \let\math@cr@@@\qed@tag
+ \fi
+ }
+ \@xp\let\csname align*@qed\endcsname\align@qed
+ \@xp\let\csname gather*@qed\endcsname\align@qed
+%% Needs some patching up for amsmath 1.2
+}{% end of amsmath branch, start plain LaTeX branch
+ \def\math@qedhere{%
+ \@ifundefined{\@currenvir @qed}{%
+ \qed@warning \aftergroup\displaymath@qed
+ }{%
+ \@xp\aftergroup\csname\@currenvir @qed\endcsname
+ }%
+ }
+ \def\displaymath@qed{%
+ \relax
+ \ifmmode
+ \ifinner \aftergroup\aftergroup\aftergroup\linebox@qed
+ \else
+ \eqno \def\@badmath{$$}%
+ \let\eqno\relax \let\leqno\relax \let\veqno\relax
+ \hbox{\qedsymbol}%
+ \fi
+ \else
+ \aftergroup\linebox@qed
+ \fi
+ }
+ \@ifundefined{ver@leqno.clo}{%
+ \def\equation@qed{\displaymath@qed \quad}%
+ }{%
+ \def\equation@qed{\displaymath@qed}%
+ }
+ \def\@tempa#1$#2#3\@nil{%
+ \def\[{#1$#2\def\@currenvir{displaymath}#3}%
+ }%
+ \expandafter\@tempa\[\@nil
+}
+\@ifpackageloaded{amstex}{%
+ \def\@tempa{TT}%
+}{%
+ \@ifpackageloaded{amsmath}{%
+ \def\@tempb#1 v#2.#3\@nil{#2}%
+ \ifnum\@xp\@xp\@xp\@tempb\csname ver@amsmath.sty\endcsname v0.0\@nil
+ <\tw@
+ \def\@tempa{TT}%
+ \else
+ \def\@tempa{TF}%
+ \fi
+ }{%
+ \def\@tempa{TF}
+ }%
+}
+\if\@tempa
+ \renewcommand{\math@qedhere}{\quad\hbox{\qedsymbol}}%
+\fi
+\newcommand{\openbox}{\leavevmode
+ \hbox to.77778em{%
+ \hfil\vrule
+ \vbox to.675em{\hrule width.6em\vfil\hrule}%
+ \vrule\hfil}}
+\DeclareRobustCommand{\textsquare}{%
+ \begingroup \usefont{U}{msa}{m}{n}\thr@@\endgroup
+}
+\@ifclasswith{\@classname}{noamsfonts}{%
+ \providecommand{\qedsymbol}{\openbox}%
+}{}
+\providecommand{\qedsymbol}{\textsquare}
+\newenvironment{proof}[1][\proofname]{\par
+ \pushQED{\qed}%
+ \normalfont \topsep6\p@\@plus6\p@\relax
+ \trivlist
+ \itemindent\normalparindent
+ \item[\hskip\labelsep
+ \bfseries
+ #1\@addpunct{.}]\ignorespaces
+}{%
+ \popQED\endtrivlist\@endpefalse
+}
+\def\bb@skip#1{%
+ \skip@#1\relax \advance\skip@-\prevdepth \advance\skip@-\baselineskip
+ \vskip\skip@}
+\def\markleft#1{{\let\protect\noexpand
+ \let\label\relax \let\index\relax \let\glossary\relax
+ \expandafter\@markleft\@themark{#1}%
+ \mark{\@themark}}%
+ \if@nobreak\ifvmode\nobreak\fi\fi}
+\def\@markleft#1#2#3{\gdef\@themark{{#3}{#2}}}
+\def\@tempa{}
+\edef\@dh{%
+ \noexpand\mathhexbox{\hexnumber@\symAMSb}67}
+\DeclareTextCommand{\dh}{OT1}{%
+ \edef\@tempb{\scdefault}%
+ \ifx\f@shape\@tempb
+ \leavevmode
+ \raisebox{-.8ex}{\makebox[\z@][l]{\hskip-.08em\accent"16\hss}}d%
+ \else
+ \@dh
+ \fi
+}
+\DeclareTextCommand{\DH}{OT1}{%
+ \leavevmode\raisebox{-.5ex}{\makebox[\z@][l]{\hskip-.07em\accent"16\hss}}D}
+\DeclareTextCommand{\DJ}{OT1}{%
+ \leavevmode\raisebox{-.5ex}{\makebox[\z@][l]{\hskip-.07em\accent"16\hss}}D}
+\DeclareTextCommand{\dj}{OT1}{%
+ \edef\@tempa{\f@shape}\edef\@tempb{\scdefault}%
+ \ifx\@tempa\@tempb
+ \leavevmode
+ \raisebox{-.75ex}{\makebox[\z@][l]{\hskip-.08em\accent"16\hss}}d%
+ \else
+ \leavevmode\raisebox{.02ex}{\makebox[\z@][l]{\hskip.1em\accent"16\hss}}d%
+ \fi}
+\def\calclayout{\advance\textheight -\headheight
+ \advance\textheight -\headsep
+ \oddsidemargin\paperwidth
+ \advance\oddsidemargin -\textwidth
+ \divide\oddsidemargin\tw@
+ \ifdim\oddsidemargin<.5truein \oddsidemargin.5truein \fi
+ \advance\oddsidemargin -1truein
+ \evensidemargin\oddsidemargin
+ \topmargin\paperheight \advance\topmargin -\textheight
+ \advance\topmargin -\headheight \advance\topmargin -\headsep
+ \divide\topmargin\tw@
+ \ifdim\topmargin<.5truein \topmargin.5truein \fi
+ \advance\topmargin -1truein\relax
+}
+\InputIfFileExists{imsproc.cfg}{}{%
+ \calclayout % initialize
+ \pagenumbering{arabic}%
+ \pagestyle{headings}%
+ \thispagestyle{plain}%
+}
+\if@compatibility \else\endinput\fi
+\def\tiny{\Tiny}
+\def\defaultfont{\normalfont}
+\def\rom{\textup}
+\let\@newpf\proof \let\proof\relax \let\endproof\relax
+\newenvironment{pf}{\@newpf[\proofname]}{\popQED\endtrivlist}
+\newenvironment{pf*}[1]{\@newpf[#1]}{\popQED\endtrivlist}
+\endinput
+%%
+%% Copyright © 2012–2013 Persian TeX Group <persian-tex@tug.org>
+%%
+%% It may be distributed and/or modified under the LaTeX Project Public License,
+%% version 1.3c or higher (your choice). The latest version of
+%% this license is at: http://www.latex-project.org/lppl.txt
+%%
+%% This work is “maintained” (as per LPPL maintenance status)
+%% by Persian TeX Group.
+%%
+%%
+%%
+%%
+%% End of file `imsproc.cls'. \ No newline at end of file