summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/smflatex/smfart.cls
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/smflatex/smfart.cls')
-rw-r--r--Master/texmf-dist/tex/latex/smflatex/smfart.cls1367
1 files changed, 1367 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/smflatex/smfart.cls b/Master/texmf-dist/tex/latex/smflatex/smfart.cls
new file mode 100644
index 00000000000..0cd66d915e7
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/smflatex/smfart.cls
@@ -0,0 +1,1367 @@
+%%
+%% This is file `smfart.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% smflatex.dtx (with options: `article')
+%%
+%% This is smflatex v1.6 (released 2021/05/01)
+%% LaTeX bundle for the SMF publications
+%% (c) 1999-2021 Société mathématique de France
+%%
+%% \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 \~}
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{smfart}[2021/03/28 v1.6
+ Classe LaTeX pour les articles publies par la SMF]
+\def\@classname{smfart}
+\RequirePackage{amsgen}
+\newcommand{\uppercasenonmath}[1]{\toks@\@emptytoks
+ \@xp\@skipmath\@xp\@empty#1$$%
+ \edef#1{\@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}}}
+\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\@smfprotect{\let\smfcr\\\def\\{\protect\smfcr}}
+\DeclareRobustCommand{\MakeUppercase}[1]{{%
+ \@smfprotect\upchars@
+ \protected@edef\reserved@a{#1}\uppercasenonmath\reserved@a\reserved@a}}
+\protected@edef\MakeUppercase#1{\MakeUppercase{#1}}
+\newcommand{\today}{%
+ \relax\ifcase\month\or
+ January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or December\fi
+ \space\number\day, \number\year}
+\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
+\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
+\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
+\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}
+\newcommand\Tiny{\@xsetfontsize\Tiny 1}
+\newcommand\tiny{\@xsetfontsize\tiny 2}
+\newcommand\SMALL{\@xsetfontsize\SMALL 3}
+\newcommand\Small{\@xsetfontsize\Small 4%
+ \@adjustvertspacing
+ \def\@listi{\topsep\smallskipamount \parsep\z@skip
+ \itemsep\z@skip}}
+\newcommand\small{\@xsetfontsize\small 5\@adjustvertspacing}
+\def\footnotesize{\Small}
+\def\scriptsize{\SMALL}
+\newcommand\large{\@xsetfontsize\large 7\@adjustvertspacing}
+\newcommand\Large{\@xsetfontsize\Large 8\@adjustvertspacing}
+\newcommand\LARGE{\@xsetfontsize\LARGE 9}
+\newcommand\huge{\@xsetfontsize\huge{10}}
+\newcommand\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 \normallineskip=1pt
+\lineskiplimit=1pt \normallineskiplimit=1pt
+\def\baselinestretch{1} %% 1.1 is better
+\textheight 21.5cm
+\textwidth 13cm
+\headheight=10pt
+\headsep 10mm
+\footskip 10mm % was .7
+\columnsep=10pt \columnseprule=0pt
+\marginparsep=10pt
+\marginparpush=5pt
+\marginparwidth=90pt
+\newskip\normaltopskip
+\skip\footins=12pt plus12pt
+\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=10pt plus2fil \@dblfpsep=10pt plus2fil\relax
+\parskip=0pt
+
+\newdimen\normalparindent
+\normalparindent=12pt
+\parindent=\normalparindent
+
+\parsep 0pt
+\partopsep=0pt \relax \parsep=0pt \relax \itemsep=0pt \relax
+
+\@lowpenalty=51 \@medpenalty=151 \@highpenalty=301
+\@beginparpenalty=-\@lowpenalty
+\@endparpenalty=-\@lowpenalty
+\@itempenalty=-\@lowpenalty
+\def\calclayout{\normalsize
+ \topskip\normaltopskip
+ \settoheight{\footnotesep}{\normalfont\footnotesize M$^1$}%
+ \@tempdima=\textheight
+ \advance\textheight -\headheight
+ \advance\textheight -\headsep
+ \advance\textheight -\footskip
+ \advance\textheight -\topskip
+ \divide\textheight\baselineskip\@tempcnta\textheight
+ \textheight\@tempcnta\baselineskip
+ \advance\textheight \topskip
+ \headsep\@tempdima
+ \advance\headsep -\textheight \advance\headsep -\headheight
+ \footskip=.5\headsep\advance\footskip .5\baselineskip
+ \advance\headsep by -\footskip
+
+ \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
+ \advance\topmargin -\footskip
+ \divide\topmargin\tw@
+ \ifdim\topmargin<.5truein \topmargin.5truein \fi
+ \advance\topmargin -1truein\relax
+}
+\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}
+\def\ps@headings{\ps@empty
+ \def\@oddfoot{}%
+ \def\@evenfoot{}%
+ \def\@evenhead{\normalfont\scriptsize
+ \rlap{\bfseries\thepage}\hfil \leftmark{}{}\hfil}%
+ \def\@oddhead{\normalfont\scriptsize
+ \hfil \rightmark{}{}\hfil \llap{\bfseries\thepage}}%
+ \let\@mkboth\@gobbletwo}
+\let\ps@copyright\ps@empty
+\def\ps@myheadings{\ps@headings \let\@mkboth\@gobbletwo}
+\def\leftmark{\expandafter\@firstoftwo\topmark{}{}}
+\def\rightmark{\expandafter\@secondoftwo\botmark{}{}}
+\long\def\@nilgobble#1\@nil{}
+\def\@secmark#1#2#3#4{%
+ \begingroup \let\protect\@unexpandable@protect
+ \edef\@tempa{\endgroup \toks@{\protect#2{#3}{\@secnumber}}}%
+ \@tempa
+ \toks@\@xp{\the\toks@{#4}}%
+ \afterassignment\@nilgobble\@temptokena\@themark{}\@nil
+ \edef\@tempa{\@nx\@mkboth{%
+ \ifx\markright#1\the\@temptokena\else\the\toks@\fi}{\the\toks@}}%
+ \@tempa}
+\let\@secnumber\@empty
+\def\markboth#1#2{%
+ \begingroup
+ \@temptokena{{#1}{#2}}\xdef\@themark{\the\@temptokena}%
+ \mark{\the\@temptokena}%
+ \endgroup
+ \if@nobreak\ifvmode\nobreak\fi\fi}
+\let\org@markboth\markboth
+\let\partmark\@gobble
+\let\tocmark\@gobble
+\let\sectionmark\@gobble
+\let\subsectionmark\@gobble
+\let\subsubsectionmark\@gobble
+\let\paragraphmark\@gobble
+\def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
+ \thispagestyle{empty}\hbox{}\newpage
+ \if@twocolumn\hbox{}\newpage\fi\fi\fi}
+\DeclareOption{a4paper}{\paperheight 297mm\paperwidth 210mm}
+\DeclareOption{letterpaper}{\paperheight 11in\paperwidth 8.5in }
+\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
+\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue}
+\newif\if@draft
+\DeclareOption{draft}{\@drafttrue\overfullrule5\p@ }
+\DeclareOption{final}{\@draftfalse\overfullrule\z@ }
+\DeclareOption{onecolumn}{\@twocolumnfalse}
+\DeclareOption{twocolumn}{\@twocolumntrue}
+\newif\iftagsleft@
+\DeclareOption{leqno}{%
+ \tagsleft@true \PassOptionsToPackage{leqno}{amsmath}}
+\DeclareOption{reqno}{%
+ \tagsleft@false \PassOptionsToPackage{reqno}{amsmath}}
+\DeclareOption{fleqn}{%
+ \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
+}
+\let\smf@boldmath\relax
+\DeclareOption{boldmath}{%
+ \def\smf@boldmath{\mathversion{bold}}}
+\DeclareOption{french}{%
+ \global\def\smf@language{french}}
+\DeclareOption{francais}{%
+ \global\def\smf@language{french}}
+\DeclareOption{english}{%
+ \global\def\smf@language{english}}
+\def\@xxxpt{29.86}
+\DeclareOption{10pt}{\def\@mainsize{10}\def\@ptsize{0}%
+ \normaltopskip=10pt \relax
+ \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}%
+ \normaltopskip=11pt \relax
+ \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}%
+ \normaltopskip=12pt \relax
+ \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{\@xxxpt}{36}}%
+ \normalsize \linespacing=\baselineskip }
+
+\DeclareOption{14pt}{\def\@mainsize{14}\def\@ptsize{3}%
+ \normaltopskip=14pt \relax
+ \def\@typesizes{%
+ \or{8}{10}\or{9}{11}\or{10}{12}\or{\@xipt}{13}%
+ \or{\@xiipt}{14}\or{\@xivpt}{17}% normalsize
+ \or{\@xviipt}{20}\or{\@xxpt}{24}%
+ \or{\@xxvpt}{30}\or{\@xxxpt}{36}\or{\@xxxpt}{36}}%
+ \normalsize \linespacing=\baselineskip }
+
+\DeclareOption{8pt}{\def\@mainsize{8}\def\@ptsize{8}%
+ \normaltopskip=8pt \relax
+ \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}%
+ \normaltopskip=9pt \relax
+ \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 }
+\ExecuteOptions{leqno,centertags,%
+ a4paper,portrait,%
+ 10pt,twoside,onecolumn,%
+ final,francais}
+\ProcessOptions\relax
+\@ifundefined{numberwithin}%
+ {\let\@tempa\relax}%
+ {\let\@tempa\@gobbletwo}
+\@tempa
+\ifx\relax\mathfrak \@xp\@gobbletwo
+ \else \let\mathfrak\relax \fi
+\RequirePackage{amsfonts}\relax
+\RequirePackage{amsmath}\relax
+\def\tdots@{$\m@th\ldots$}
+\renewcommand{\title}[2][]{\gdef\shorttitle{#1}\gdef\@title{#2}}
+\edef\title{\@nx\@dblarg
+ \@xp\@nx\csname\string\title\endcsname}
+\let\@title\@empty \let\shorttitle\@empty
+\def\alttitle#1{\gdef\@alttitle{#1}}
+\let\@alttitle\@empty
+\renewcommand{\author}[2][]{%
+ \ifx\@empty\authors
+ \gdef\shortauthors{#1}\gdef\authors{#2}%
+ \else
+ \g@addto@macro\shortauthors{\and#1}%
+ \g@addto@macro\authors{\and#2}%
+ \fi
+ \g@addto@macro\addresses{\author{#1}}%
+}
+\edef\author{\@nx\@dblarg
+ \@xp\@nx\csname\string\author\endcsname}
+\let\shortauthors\@empty \let\authors\@empty
+\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}
+\newcommand{\andify}{%
+ \nxandlist{\unskip, }{\unskip{} \smfandname~}{\unskip{} \smfandname~}}
+\def\and{\unskip{} \smfandname\ \ignorespaces}
+\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}{\bgroup\catcode`\:=12\catcode`\~=12\@urladdr}
+\newcommand{\@urladdr}[2][]{\g@addto@macro\addresses{\urladdr{#1}{#2}}\egroup}
+\def\@setaddresses{\par\nobreak
+ \begingroup
+ \parindent-2em\leftskip2em
+ \rightskip=0pt plus 20pt
+ \emergencystretch .5\textwidth
+ \exhyphenpenalty=-100
+ \interlinepenalty\@M
+ \def\baselinestretch{1}\normalfont\footnotesize
+ \def\\{\unskip, \penalty-10\ignorespaces}%
+ \def\cond@bullet {{\setbox0\hbox{\quad$\bullet$\quad}%
+ \hskip 0pt plus 3cm\penalty -30\hskip 0pt plus -3cm
+ \cleaders \copy0 \hskip\wd0 }}%
+ \def\author##1{\ifhmode\par\nobreak \vskip\smallskipamount\fi
+ {\scshape ##1}\let\address\firstaddress}%
+ \def\firstaddress##1##2{\unskip, \let\address\otheraddress
+ \penalty-20\ignorespaces##2}%
+ \def\otheraddress##1##2{\cond@bullet \ignorespaces##2}%
+ \def\curraddr{\address}%
+ \let\address\firstaddress
+ \def\email##1##2{\@ifnotempty{##2}%
+ {\cond@bullet
+ \hbox{\itshape E-mail~:}~{\ttfamily\ignorespaces ##2}}}%
+ \def\urladdr##1##2{\@ifnotempty{##2}%
+ {\cond@bullet
+ {\itshape Url~:}~{\ttfamily\ignorespaces ##2}\par}}%
+ \addresses
+ \par\endgroup
+}
+\renewcommand{\thanks}[1]{\g@addto@macro\thankses{\thanks{#1}}}
+\def\@setthanks{\def\thanks##1{\par##1\@addpunct{{\upshape.}}}\thankses}
+\let\@date\@empty
+\def\@setdate{{\itshape\@date\@@par}} %% enleve le \@addpunct. avant \@@par
+\def\dedicatory#1{\def\@dedicatory{#1}}
+\let\@dedicatory\@empty
+\def\dedicatoryfont{\normalfont\footnotesize\itshape}
+\def\@setdedicatory{%
+ \begingroup
+ \def\signature##1{\nobreak\hskip 2em plus 1fil
+ \penalty-5\hbox{}\nobreak\hfil\parfillskip=0pt
+ \mbox{\upshape ##1}\par}
+ \raggedleft
+ \dedicatoryfont
+ \@dedicatory\par
+ \endgroup}
+\def\keywords#1{\def\@keywords{#1}}
+\let\@keywords=\@empty
+\def\@setkeywords{%
+ \abstractfont
+ {\abstractheadfont\keywordsname\MakePointrait}\enspace\ignorespaces
+ \@keywords\@addpunct{{\upshape.}}}
+\def\altkeywords#1{\def\@altkeywords{#1}}
+\let\@altkeywords=\@empty
+\def\@setaltkeywords{%
+ \abstractfont
+ {\abstractheadfont\altkeywordsname\MakePointrait}\enspace\ignorespaces
+ \@altkeywords\@addpunct{{\upshape.}}}
+\def\subjclass#1{\def\@subjclass{#1}}
+\let\@subjclass=\@empty
+\def\@setsubjclass{%
+ \abstractfont
+ {\abstractheadfont\subjclassname\MakePointrait}\enspace\ignorespaces
+ \@subjclass\@addpunct{{\upshape.}}}
+\def\translator#1{%
+ \ifx\@empty\@translators
+ \gdef\@translators{#1}\else
+ \g@addto@macro\@translators{\and#1}\fi}
+\let\@translators\@empty
+\def\@settranslators{\par
+ \begingroup
+ \translatedby\ \andify\@translators
+ {\itshape \ignorespaces\@translators} \@@par
+ \endgroup}
+\def\ISBN#1{\def\@isbn{#1}}
+\def\ISSN#1{\def\@issn{#1}}
+\let\@isbn\@empty
+\let\@issn\@empty
+\def\abstractheadfont{\bfseries\smf@boldmath\itshape}
+\def\abstractfont{\def\baselinestretch{1}\footnotesize}
+\newdimen\abstractmargin
+\abstractmargin1cm
+\newtoks\@genabs\newtoks\@genabstokb
+\newenvironment{@genabstract}[1]{%
+ \gdef\@genabstext{}\def\smf@tempb{#1}\@getgenabstext
+}{%
+ \@xp\@xp\global\@xp\let\csname @\smf@tempb\endcsname \@genabstext}
+
+\long\def\@getgenabstext#1\end #2{%
+ \@genabs=\expandafter{\@genabstext}
+ \def\@tempa{#2}\ifx\@tempa\smf@tempb
+ \@genabstokb={#1}%
+ \edef\@next{\noexpand\end{@genabstract}\noexpand\end{\smf@tempb}}%
+ \else
+ \@genabstokb={#1\end{#2}}%
+ \let\@next\@getgenabstext
+ \fi
+ \global\edef\@genabstext {\the\@genabs \the\@genabstokb}%
+ \@next}
+
+\def\@setgenabstract#1{%
+\@xp\ifx\csname @#1\endcsname\@empty\else
+ \vbox\bgroup
+ \abstractfont
+ \list{}{\labelwidth\z@
+ \leftmargin\abstractmargin \rightmargin\leftmargin
+ \listparindent\normalparindent
+ \itemindent\z@
+ % \itemindent\normalparindent % \advance\itemindent\labelsep
+ \parsep\z@ \@plus\p@
+ \let\fullwidthdisplay\relax}%
+ \sbox\@tempboxa{\csname @set#1head\endcsname}%
+ \ifdim\wd\@tempboxa>.7\textwidth \smf@skippttrue\fi
+ \item\relax
+ {\csname @set#1head\endcsname
+ \ifsmf@skippt
+ \global\smf@skipptfalse
+ \@@par\nobreak
+ \else
+ \pointrait\nobreak
+ \fi}
+ \ignorespaces
+ \csname @#1language\endcsname
+ \csname @#1\endcsname
+ \endlist
+ \egroup
+\fi}
+\def\@abstract{}
+\def\@abstractlanguage{\@smflanguage}
+\newenvironment{abstract}{%
+ \ifx\maketitle\relax
+ \ClassWarning{\@classname}{Abstracts should precede
+ \protect\maketitle\space in SMF documentclasses; reported}%
+ \fi
+ \begin{@genabstract}{abstract}%
+}{%
+ \ifx\@setabstract\relax \@setabstracta\par\bigskip \fi
+}
+\def\@setabstracthead{\abstractheadfont\abstractname}
+\newif\ifsmfabstracta\smfabstractatrue
+\def\@setabstract{\ifsmfabstracta
+ \@setabstracta
+ \global\let\@setabstract\relax
+ \fi}
+\def\@setabstracta{\@setgenabstract{abstract}}
+\def\@altabstract{}
+\def\@altabstractlanguage{\@smfaltlanguage}
+\newenvironment{altabstract}{%
+ \ifx\maketitle\relax
+ \ClassWarning{\@classname}{Abstracts should precede
+ \protect\maketitle\space in SMF documentclasses; reported}%
+ \fi
+ \begin{@genabstract}{altabstract}%
+}{%
+ \ifx\@setaltabstract\relax \@setaltabstracta\par\bigskip \fi
+}
+\def\@setaltabstracthead{\abstractheadfont \altabstractname
+ \ifx\@alttitle\@empty\else\
+ {\@altabstractlanguage\textup(\emph{\@alttitle}\textup)}\fi}
+\newif\ifsmfaltabstracta\smfaltabstractatrue
+\def\@setaltabstract{\ifsmfaltabstracta
+ \@setaltabstracta
+ \global\let\@setaltabstract\relax
+ \fi}
+\def\@setaltabstracta{\@setgenabstract{altabstract}}
+\def\titlepage{%
+ \cleardoublepage
+ \thispagestyle{empty}\setcounter{page}{0}}
+\def\endtitlepage{\newpage}
+\def\maketitle{\par \@topnum\z@
+ % this prevents figures from falling at the top of page 1
+ \begingroup
+ \let\@makefnmark\relax \let\@thefnmark\relax
+ \@maketitle
+ \@endmaketitlehook
+ \endgroup
+ \c@footnote\z@
+ \let\maketitle\relax \let\@maketitle\relax }
+\def\@endmaketitlehook{}
+\def\smf@journalhead{}
+\def\smf@authorfont{}
+\def\@maketitle{\cleardoublepage\thispagestyle{copyright}
+ \begingroup
+ \uppercasenonmath\shorttitle
+ \ifx\@empty\shortauthors \let\shortauthors\shorttitle
+ \else \uppercasenonmath\shortauthors \andify\shortauthors \fi
+ \toks@\@xp{\shortauthors}\@temptokena\@xp{\shorttitle}%
+ \edef\@tempa{\@nx\markboth{\the\toks@}{\the\@temptokena}}\@tempa
+ \topskip\z@skip
+ \vtop to 55 mm{%
+ \parindent=0pt
+ \hrule
+ \medskip
+ {\abstractfont\smf@journalhead\par}\vfil
+ \begin{center}
+ \def\baselinestretch{1.2}\large\vfil
+ {\bfseries\smf@boldmath\MakeUppercase\@title\par}
+ \vfil
+ \ifx\@empty\smfbyname\else
+ {\smf@byfont\smfbyname\ifsmf@byauthor\par\vfil\else\ \fi}%
+ \fi
+ {\smf@authorfont
+ \edef\smfandname{{\noexpand\normalfont \smfandname}}
+ \andify\authors\authors\par}
+ \vfil \vrule height .4pt width .3\textwidth \vfil
+ \end{center}}
+ \@maketitlehook
+ \par\bigskip
+ \ifx\@empty\@dedicatory\else\@setdedicatory\medskip\fi
+ \@setabstract\par\smallskip\@setaltabstract\par
+ \bigskip\bigskip
+ \endgroup}
+\newif\ifsmf@byauthor\smf@byauthortrue
+\def\smf@byfont{\normalfont\itshape}
+\def\@maketitlehook{%
+ \ifx\@empty\@subjclass\else\@footnotetext{\@setsubjclass}\fi
+ \ifx\@empty\@keywords\else\@footnotetext{\@setkeywords}\fi
+ \ifx\@empty\thankses\else\def\par{\let\par\@par}\@footnotetext{\@setthanks}\fi
+}
+\def\smf@enddoc{%
+ \par\vskip 2\bigskipamount
+ \bgroup
+ \def\baselinestretch{1}\normalfont\footnotesize
+ \raggedright
+ \hrule width .2\textwidth\par\bigskip
+ \ifx\@empty\@date \else \@setdate\medskip \fi
+ \ifx\@empty\@translators\else \@settranslators\medskip \fi
+ \ifx\@empty\addresses \else \@setaddresses \fi
+ \par\egroup}
+\AtEndDocument{\smf@enddoc}
+\def\trivlist{\parsep\parskip\@nmbrlistfalse
+ \@trivlist \labelwidth\z@ \leftmargin\z@
+ \itemindent\z@
+ \let\@itemlabel\@empty
+ \def\makelabel##1{\upshape##1}}
+\newskip\listisep \listisep\smallskipamount
+\def\@listi{\leftmargin\leftmargini \parsep\z@skip
+ \topsep\listisep \itemsep\z@skip
+ \listparindent\normalparindent}
+\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}
+\let\@listI\@listi
+\def\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}
+\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\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}
+\def\labelitemi{\bfseries --}% \upshape already done by \itemize
+\def\labelitemii{$\m@th\bullet$}
+\def\labelitemiii{$\m@th\ast$}
+\def\labelitemiv{$\m@th\cdot$}
+\def\verse{\let\\\@centercr
+ \list{}{\itemsep\z@ \itemindent -1.5em\listparindent\itemindent
+ \rightmargin\leftmargin \advance\leftmargin 1.5em\relax}\item[]}
+\let\endverse=\endlist
+\def\quotation{\list{}{%
+ \leftmargin3pc \listparindent\normalparindent
+ \itemindent\z@
+ \rightmargin\leftmargin \parsep\z@ \@plus\p@}%
+ \item[]}
+\let\endquotation=\endlist
+\def\quote{\list{}{\rightmargin\leftmargin}\item[]}
+\let\endquote=\endlist
+\newcommand{\descriptionlabel}[1]{\hspace\labelsep
+ \upshape\bfseries\smf@boldmath #1\unskip\ :}
+\newcommand{\description}{\list{}{%
+ \advance\leftmargini6\p@ \itemindent-12\p@
+ \labelwidth\z@ \let\makelabel\descriptionlabel}}
+\let\enddescription=\endlist
+\AtBeginDocument{%
+ \labelsep=5pt
+ \settowidth\leftmargini{\labelenumi\hskip\labelsep}%
+ \advance\leftmargini by \normalparindent
+ \settowidth\leftmarginii{\labelenumii\hskip\labelsep}%
+ \advance\leftmarginii by 15pt
+ \settowidth\leftmarginiii{\labelenumiii\hskip\labelsep}%
+ \advance\leftmarginiii by 12pt
+ \settowidth\leftmarginiv{\labelenumiv\hskip\labelsep}%
+ \advance\leftmarginiv by 10pt
+ \leftmarginv=10pt
+ \leftmarginvi=10pt
+ \leftmargin=\leftmargini
+ \labelwidth=\leftmargini \advance\labelwidth-\labelsep
+ \@listi}
+\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
+ }%
+}
+\def\@secnumfont{\bfseries}
+\newif\ifsmf@ee
+\newbox\smf@eebox
+\newcount\smf@sf
+\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
+ \setbox\smf@eebox\hbox{#8\global\smf@sf\the\spacefactor}%
+ \ifdim\wd\smf@eebox>\z@\smf@eefalse\else\smf@eetrue\fi
+ \ifnum #2>\c@secnumdepth
+ \let\@svsec\@empty
+ \else
+ \refstepcounter{#1}%
+ \edef\@secnumpunct{%
+ \ifdim\@tempskipa>\z@ % not a run-in section heading
+ \ifsmf@ee\else .\@nx\enspace\fi
+ \else
+ \ifsmf@ee \else .\@nx\enspace\fi
+ \fi}%
+ \ifsmf@ee
+ \ifnum #2=\tw@ \def\@secnumfont{\bfseries}\fi
+ \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
+ \csname #1mark\endcsname{#7}%
+ \ifnum#2>\@m \else \@tocwrite{#1}{#8}\fi
+ \else
+ \ifsmf@ee
+ \def\@svsechd{#6{\hskip #3\@svsec\unskip}\MakePointrait
+ \ifnum#2>\@m \else \@tocwrite{#1}{#8}\fi }%
+ \else
+ \def\@svsechd{#6{\hskip #3\@svsec\ignorespaces #8}\unskip
+ \spacefactor\smf@sf\MakePointrait%
+ \ifnum#2>\@m \else \@tocwrite{#1}{#8}\fi }%
+ \fi
+\fi
+ \global\@nobreaktrue
+ \@xsect{#5}}
+\setcounter{secnumdepth}{5}
+\newcounter{part}
+\newcounter{section}
+\newcounter{subsection}[section]
+\newcounter{subsubsection}[subsection]
+\newcounter{paragraph}[subsubsection]
+\renewcommand\thepart {\Roman{part}}
+\renewcommand\thesection {\arabic{section}}
+\renewcommand\thesubsection{\thesection.\arabic{subsection}}
+\renewcommand\thesubsubsection
+ {\thesubsection.\arabic{subsubsection}}
+\renewcommand\theparagraph {\thesubsubsection.\arabic{paragraph}}
+\def\part{\@startsection{part}{1}%
+ \z@{3\linespacing\@plus\linespacing}{2\linespacing}%
+ {\centering\normalfont\bfseries\smf@boldmath\MakeUppercase}}
+\def\appendix{\par
+ \begingroup
+ \def\@elt##1{\global\csname c@##1\endcsname\z@\relax
+ \csname cl@##1\endcsname}
+ \global\c@section\z@
+ \cl@section
+ \endgroup
+ \let\sectionname\appendixname
+ \def\thesection{\@Alph\c@section}}
+\def\specialsection{\@startsection{section}{1}%
+ \z@{2\linespacing\@plus\linespacing}{.5\linespacing}%
+ {\centering\normalfont\bfseries\smf@boldmath\MakeUppercase}}
+\def\section{\@startsection{section}{1}%
+ \z@{1.5\linespacing\@plus\linespacing}{.5\linespacing}%
+ {\normalfont\bfseries\smf@boldmath\centering}}
+\let\sectionname\@empty
+\def\subsection{\@startsection{subsection}{2}%
+ \z@{.7\linespacing\@plus.7\linespacing}{-.5em}%
+ {\normalfont\bfseries\smf@boldmath}}
+\def\Subsection{\@startsection{subsection}{2}%
+ \z@{.7\linespacing\@plus.7\linespacing}{.3\linespacing}
+ {\normalfont\bfseries\smf@boldmath}}
+\let\subsectionname\@empty
+\def\subsubsection{\@startsection{subsubsection}{3}%
+ \z@{.4\linespacing}{-.5em}%
+ {\normalfont\itshape}}
+\def\Subsubsection{\@startsection{subsubsection}{3}%
+ \z@{.4\linespacing}{.2\linespacing}%
+ {\normalfont\itshape}}
+\let\subsubsectionname\@empty
+\def\paragraph{\@startsection{paragraph}{4}%
+ \z@{.4\linespacing}{-\fontdimen2\font}%
+ {\normalfont\itshape}}
+\let\paragraphname\@empty % ACL
+\def\subparagraph{\@startsection{subparagraph}{5}%
+ \z@{.3\linespacing}{-\fontdimen2\font}%
+ \normalfont}
+ \def\partrunhead#1#2#3{%
+ \@ifnotempty{#2}
+ {\MakeUppercase{#1 #2}\@ifnotempty{#3}{.\ }}%
+ \@ifnotempty{#3}{\MakeUppercase{#3}}}
+\let\sectionrunhead\partrunhead
+\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\frontmatter{}
+\def\mainmatter{\def\baselinestretch{1.1}\normalfont}
+\def\backmatter{\def\baselinestretch{1}\normalfont}
+\newcommand{\@pnumwidth}{1.6em}
+\newcommand{\@tocrmarg}{2.6em}
+\setcounter{tocdepth}{1}
+\def\@starttoc#1#2{\begingroup
+ \par\removelastskip\vskip\z@skip
+ \@startsection{toc}\@M\z@{\linespacing\@plus\linespacing}%
+ {.5\linespacing}{\centering\normalfont\bfseries}{#2}%
+ \ifx\contentsname#2%
+ \else \addcontentsline{toc}{section}{#2}\fi
+ \list{}{\labelwidth\z@
+ \leftmargin\abstractmargin \rightmargin\leftmargin
+ \listparindent\z@
+ \itemindent\z@
+ \parsep\z@ \@plus\p@
+ \def\baselinestretch{1}\normalfont
+ \let\fullwidthdisplay\relax}%
+ \item\relax
+ \makeatletter
+ \@input{\jobname.#1}%
+ \def\@tempa{toc}\def\@tempb{#1}\ifx\@tempa\@tempb\else
+ \if@filesw
+ \@xp\newwrite\csname tf@#1\endcsname
+ \immediate\@xp\openout\csname tf@#1\endcsname \jobname.#1\relax
+ \fi\fi\par
+ \endlist
+ \global\@nobreakfalse \endgroup
+ \addvspace{32\p@\@plus14\p@}%
+}
+\def\tableofcontents{\@starttoc{toc}\contentsname
+ \let\tableofcontents\relax}
+\def\listoffigures{\@starttoc{lof}\listfigurename}
+\def\listoftables{\@starttoc{lot}\listtablename}
+\AtBeginDocument{%
+ \@for\@tempa:=-1,0,1,2,3,4,5,10000\do{%
+ \@ifundefined{r@tocindent\@tempa}{%
+ \@xp\gdef\csname r@tocindent\@tempa\endcsname{0pt}}{}%
+ }%
+}
+\def\@writetocindents{%
+ \begingroup
+ \@for\@tempa:=-1,0,1,2,3,4,5,10000\do{%
+ \immediate\write\@auxout{%
+ \string\newlabel{tocindent\@tempa}{%
+ \csname r@tocindent\@tempa\endcsname}}%
+ }%
+ \endgroup}
+\AtEndDocument{\@writetocindents}
+\AtEndDocument{%
+ \if@filesw
+ \@xp\newwrite\csname tf@toc\endcsname
+ \immediate\@xp\openout\csname tf@toc\endcsname \jobname.toc\relax
+ \fi}
+\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
+}
+\newcount\tochyphenpenalty
+\tochyphenpenalty\@M
+\def\@tocline#1#2#3#4#5#6#7{\relax
+ \ifnum #1>\c@tocdepth % then omit
+ \else
+ \par \addpenalty\@secpenalty\addvspace{#2}%
+ \begingroup \hyphenpenalty\tochyphenpenalty
+ \@ifempty{#4}{%
+ \@tempdima\csname r@tocindent\number#1\endcsname\relax
+ }{%
+ \@tempdima#4\relax
+ }%
+ \parindent\z@ \leftskip#3\relax
+ \advance\leftskip\@tempdima\relax
+ \advance\rightskip\@pnumwidth % plus1em
+ \parfillskip-\@pnumwidth
+ {#5{\leavevmode\hskip-\@tempdima #6}}%
+ \nobreak
+ \xleaders\hbox to1ex{\normalfont\hss.\hss}\hfil\nobreak
+ \hbox to\@pnumwidth{\@tocpagenum{#7}}\par
+ \nobreak
+ \endgroup
+ \fi}
+\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}}}
+\newcommand{\tocpart}[3]{%
+ \indentlabel{\@ifnotempty{#2}{\ignorespaces#1 #2.\kern1ex}}#3}
+\let\tocsection\tocpart
+\let\tocsubsection\tocsection
+\let\tocsubsubsection\tocsection
+\let\tocparagraph\tocsection
+
+\def\l@part{\@tocline{-1}{12pt plus2pt}{0pt}{}{\bfseries\smf@boldmath}}
+\def\l@section{\@tocline{1}{0pt}{0pc}{}{}}
+\def\l@subsection{\@tocline{2}{0pt}{1pc}{}{}}
+\def\l@subsubsection{\@tocline{3}{0pt}{2pc}{}{}}
+\def\l@paragraph{\@tocline{5}{0pt}{3pc}{}{}}
+\def\l@figure{\@tocline{0}{3pt plus2pt}{0pt}{}{}}
+\let\l@table\l@figure
+\newcount\smf@nthebib
+\newdimen\smf@tempwidtha
+\newdimen\smf@tempwidthb
+\let\bibliosection\section
+\def\bibliofont{\def\baselinestretch{1}\small}
+\newenvironment{thebibliography}[1]{%
+ \global\advance\smf@nthebib1
+ \bibliosection*{\refname}%
+ \normalfont\labelsep .5em\relax
+ \renewcommand\theenumiv{\arabic{enumiv}}\let\p@enumiv\@empty
+ \list{\@biblabel{\theenumiv}}{%
+ \global\smf@tempwidtha 0pt
+ \expandafter\ifx
+ \csname r@maxlabelwd\the\smf@nthebib\endcsname
+ \relax
+ \settowidth\labelwidth{\@biblabel{#1}}%
+ \else
+ \expandafter\expandafter\expandafter\labelwidth
+ \csname r@maxlabelwd\the\smf@nthebib\endcsname
+ \fi
+ \leftmargin\labelwidth \advance\leftmargin\labelsep
+ \usecounter{enumiv}%
+ \itemindent 0pt
+ \itemsep 0.1\baselineskip plus0.1\baselineskip
+ minus0.1\baselineskip
+ }
+ \bibliofont
+ \sloppy \clubpenalty\@M \widowpenalty\clubpenalty
+ \sfcode`\.=\@m
+}{%
+ \def\@noitemerr{%
+ \@latex@warning{Empty `thebibliography' environment}}% ' (hack)
+ \endlist
+ \immediate\write\@auxout
+ {\string\newlabel{maxlabelwd\the\smf@nthebib}{\the\smf@tempwidtha}}
+}
+\def\bysame{\leavevmode\hbox to3em{\hrulefill}\thinspace}
+\def\newblock{}
+\def\@biblabel#1{\@ifnotempty{#1}{[#1]}}
+\def\@cite#1#2{{%
+ \m@th\upshape\mdseries[{\bfseries #1}{\if@tempswa, #2\fi}]}}
+\@ifundefined{cite }{%
+ \expandafter\let\csname cite \endcsname\cite
+ \edef\cite{\@nx\protect\@xp\@nx\csname cite \endcsname}%
+}{}
+\def\bibitem{\@ifnextchar[\@lbibitem\@bibitem}
+\def\smf@lbibitem[#1]#2{\item[\@biblabel{#1}\hfill]%
+ \settowidth\smf@tempwidthb{\@biblabel{#1}}%
+ \ifdim\smf@tempwidthb>\smf@tempwidtha
+ \global\smf@tempwidtha=\smf@tempwidthb
+ \fi
+ \if@filesw
+ {\let\protect\noexpand
+ \immediate
+ \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
+\def\smf@bibitem#1{\item\if@filesw \immediate\write\@auxout
+ {\string\bibcite{#1}{\the\value{\@listctr}}}\fi
+ \settowidth\smf@tempwidthb{\@biblabel{\theenumiv}}%
+ \ifdim\smf@tempwidthb>\smf@tempwidtha
+ \global\smf@tempwidtha=\smf@tempwidthb
+ \fi\ignorespaces}
+\let\@lbibitem\smf@lbibitem\let\@bibitem\smf@bibitem
+\newif\ifhave@multicol
+\IfFileExists{multicol.sty}%
+ {\ClassInfo{\@classname}{Loading multicol.sty}%
+ \RequirePackage{multicol}\have@multicoltrue}%
+ {\ClassInfo{\@classname}%
+ {multicol.sty is unavailable, using LaTeX's twocolumn}}
+\newcommand\printindex{\@input{\jobname.ind}}%
+\newif\if@restonecol
+\let\indexsection\section
+\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
+ \columnseprule0pt \columnsep 35\p@
+ \ifhave@multicol
+ \begin{multicols}{2}[\indexsection*{\indexname}]%
+ \else
+ \twocolumn[\indexsection*{\indexname}]%
+ \fi
+ \let\item\@idxitem
+ \parindent\z@ \parskip\z@\@plus.3\p@\relax
+ \footnotesize}
+\def\@idxitem{\par\hangindent 2em}
+\def\subitem{\par\hangindent 2em\hspace*{1em}}
+\def\subsubitem{\par\hangindent 3em\hspace*{2em}}
+\def\endtheindex{\ifhave@multicol
+ \end{multicols}%
+ \else
+ \if@restonecol\onecolumn\fi
+ \fi}
+\def\indexspace{\par}
+\def\footnoterule{\kern-.4\p@
+ \hrule\@width 5pc\kern10\p@\kern-\footnotesep}
+\def\@makefnmark{\hbox{$\m@th^{(\@thefnmark)}$}}
+\def\@makefntext{\parindent0pt\sloppy\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}
+\newcounter{table}
+\def\ftype@figure{1}
+\def\ext@figure{lof}
+\def\fnum@figure{\figurename\ \thefigure}
+\newenvironment{figure}{\@float{figure}}{\end@float}
+\newenvironment{figure*}{\@dblfloat{figure}}{\end@dblfloat}
+\def\ftype@table{2}
+\def\ext@table{lot}
+\def\fnum@table{\tablename\ \thetable}
+\newenvironment{table}{\@float{table}}{\end@float}
+\newenvironment{table*}{\@dblfloat{table}}{\end@dblfloat}
+\newskip\abovecaptionskip \abovecaptionskip=12pt \relax
+\newskip\belowcaptionskip \belowcaptionskip=12pt \relax
+\newdimen\captionindent \captionindent=3pc
+%% \def\captionheadfont@{\scshape}
+%% \def\captionfont@{\normalfont}
+\def\@captionheadfont{\normalfont\scshape\small}
+\def\@captionfont{\normalfont\small}
+\long\def\smf@makecaption#1#2{%
+ \ifdim\captionindent>.1\hsize \captionindent.1\hsize \fi
+ \setbox\@tempboxa\vbox{\color@setgroup
+ \advance\hsize-2\captionindent\noindent
+ \@captionfont\@captionheadfont#1\@xp\@ifnotempty\@xp
+ {\@cdr#2\@nil}{\@addpunct{.}\@captionfont\rmfamily\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}%
+ \@tempdima\wd\@ne\advance\@tempdima-\captionindent
+ \wd\@ne\@tempdima
+ \else % tempboxa contained more than one line
+ \setbox\@ne\vbox{\rightskip=0pt plus\captionindent\relax
+ \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
+ \noindent\kern\captionindent\box\@ne
+ \else % if the float IS NOT a figure...
+ \noindent\kern\captionindent\box\@ne
+ \nobreak
+ \vskip\belowcaptionskip
+ \fi
+\relax
+}
+\let\@makecaption\smf@makecaption
+\def\@upn{}
+\RequirePackage{amsthm}
+\@ifundefined{@restorelabelsep}{\let\@restorelabelsep\relax}{}
+\@ifundefined{thm@headfont}{%
+ \let\thm@indent\theoremindent
+ \let\thm@headfont\theoremheadfont
+ \let\thm@notefont\theoremnotefont
+ \let\thm@preskip\theorempreskipamount
+ \let\thm@postskip\theorempostskipamount
+ \let\thm@headpunct\theoremheadpunct}{}
+\def\@swapped#1#2{#2\@ifnotempty{#1}{\@addpunct{{\upshape.}}\quad#1\unskip}}
+\def\swappedhead#1#2#3{%
+ \thmnumber{#2.}%
+ \thmname{\@ifnotempty{#2}{~}#1}%
+ \thmnote{ {\the\thm@notefont(#3)}}}
+\def\@thmheadnl{%
+ \@noskipsectrue
+ \everypar{\global\@minipagefalse \global\@newlistfalse
+ \global\@inlabelfalse \global\@nobreakfalse
+ {\setbox\z@\lastbox}\box\@labels
+ {\parskip0pt\par}\global\@nobreaktrue
+ \everypar{}\indent}}%
+\newif\ifsmf@thmnewline
+\def\thmnewline{\newline\global\smf@thmnewlinetrue}
+\def\@begintheorem#1#2[#3]{%
+ \global\smf@thmnewlinefalse
+ \def\@theoremhead{\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
+ }%
+ \ifsmf@skippt\else
+ {\thm@headpunct{.}\sbox\@labels{\@theoremhead}%
+ \ifdim\wd\@labels>.7\linewidth\skippointrait\fi}\fi
+ \ifsmf@skippt\def\thmheadnl{\newline\indent\global\smf@thmnewlinetrue}\fi
+ \deferred@thm@head{\@theoremhead}%
+ \ignorespaces}
+\let\smf@org@trivlist\@trivlist
+\def\@trivlist{%
+ \if@inlabel\ifsmf@thmnewline
+ \mbox{}\par\nobreak
+ \vskip\glueexpr-\parskip-\baselineskip+3pt\relax
+ \hrule\@height\z@
+ \global\smf@thmnewlinefalse
+ \fi\fi
+ \smf@org@trivlist}
+\newif\ifx@pushQED
+\@ifundefined{pushQED}{\x@pushQEDfalse}{\x@pushQEDtrue}
+\renewenvironment{proof}[1][\proofname]{\par
+ \ifx@pushQED \pushQED{\qed}\fi
+ \normalfont
+ \topsep0pt
+ \trivlist \itemindent\z@ %% \normalparindent
+ \def\@proofhead{\normalfont\itshape #1}%
+ \sbox\@tempboxa{\@proofhead}%
+ \ifdim\wd\@tempboxa>0.7\linewidth \smf@skippttrue\fi
+ \ifsmf@skippt
+ \global\smf@skipptfalse
+ \item[]{\@proofhead\@@par}
+ \nobreak
+ \else
+ \item[\hskip\labelsep
+ \unhbox\@tempboxa\pointrait]%
+ \fi
+ \ignorespaces
+}{%
+ \MakeQed
+ \endtrivlist
+ \@endpefalse
+ \medskip
+}
+\def\MakeQed{\ifsmf@qed
+ \ifx@pushQED\popQED\else\qed\fi
+ \fi\global\smf@qedtrue}
+\newif\ifsmf@qed\smf@qedtrue
+\def\skipqed{\global\smf@qedfalse}
+\def\th@plain{%
+ \let\thm@indent\noindent
+ \thm@headfont{\bfseries\smf@boldmath\itshape}%
+ \thm@notefont{\bfseries\smf@boldmath\upshape}%
+ \thm@preskip 0pt %% was: .5\linespacing \@plus .5\linespacing
+ \thm@postskip\thm@preskip
+ \thm@headpunct{\MakePointrait}
+ \itshape }
+\def\th@definition{\th@plain \upshape }
+\def\th@remark{\th@definition }
+\def\smf@captionsenglish{%
+ \def\abstractname{Abstract}%
+ \def\contentsname{Contents}%
+ \def\partname{Part}%
+ \def\chaptername{Chapter}%
+ \def\refname{References}%
+ \def\bibname{Bibliography}%
+ \def\indexname{Index}%
+ \def\altabstractname{R\'esum\'e}%
+ \def\appendixname{Appendix}%
+ \def\tablename{Table}%
+ \def\listtableename{List of tables}%
+ \def\figurename{Figure}%
+ \def\listfigurename{List of figures}%
+ \def\seename{see also}%
+ \def\keywordsname{Key words and phrases}%
+ \def\altkeywordsname{Mots clefs}%
+ \def\translatedby {Translated by}%
+ \def\subjclassname
+ {\textup{2000} Mathematics Subject Classification}%
+ \def\proofname{Proof}%
+ \def\definame{Definition}%
+ \def\propname{Proposition}%
+ \def\theoname{Theorem}%
+ \def\conjname{Conjecture}%
+ \def\coroname{Corollary}%
+ \def\exemname{Example}%
+ \def\lemmname{Lemma}%
+ \def\remaname{Remark}%
+ \def\smfbyname{by}\def\smfandname{\&}%
+ \def\smfedbyname{edited by}%
+ \def\smfedname{ed.}\def\smfedsname{eds.}%
+ \def\smfphdthesisname{Ph.D. Thesis}%
+ \def\smfmastersthesisname{Master's Thesis}%
+ \let\@makecaption\smf@makecaption
+}
+\def\smf@captionsfrench{%
+ \def\abstractname{R\'esum\'e}%
+ \def\contentsname{Table des mati\`eres}%
+ \def\partname{Partie}%
+ \def\chaptername{Chapitre}%
+ \def\bibname{Bibliographie}%
+ \def\indexname{Index}%
+ \def\refname{R\'ef\'erences}%
+ \def\altabstractname{Abstract}%
+ \def\appendixname{Appendice}%
+ \def\figurename{Figure}%
+ \def\listfigurename{Liste des figures}%
+ \def\tablename{Table}%
+ \def\listtablename{Liste des tables}%
+ \def\seename{voir}%
+ \def\keywordsname{Mots clefs}%
+ \def\altkeywordsname{Key words and phrases}%
+ \def\subjclassname
+ {Classification math\'ematique par sujets \textup{(2000)}}%
+ \def\translatedby {Traduit par}%
+ \def\proofname{D\'emonstration}%
+ \def\definame{D\'efinition}%
+ \def\propname{Proposition}%
+ \def\theoname{Th\'eor\`eme}%
+ \def\conjname{Conjecture}%
+ \def\coroname{Corollaire}%
+ \def\exemname{Exemple}%
+ \def\lemmname{Lemme}%
+ \def\remaname{Remarque}%
+ \def\smfbyname{par}\def\smfandname{\&}%
+ \def\smfedbyname{\'edit\'e par}%
+ \def\smfedname{\'ed.}\def\smfedsname{\'eds.}%
+ \def\smfphdthesisname{Th\`ese}%
+ \def\smfmastersthesisname{M\'emoire}%
+ \csname bbl@nonfrenchlistspacing\endcsname
+ \let\@makecaption\smf@makecaption
+}
+\AtBeginDocument{%
+ \expandafter\csname smf@captions\smf@language\endcsname
+ \ifx\ldf@quit\@undefined % babel n'est pas charge
+ \let\@smflanguage\relax
+ \let\@smfaltlanguage\relax
+ \else
+ \expandafter\main@language\expandafter{\smf@language}
+ \ifx\captionsfrenchb\@undefined\else
+ \addto\captionsfrenchb{\smf@captionsfrench}\fi
+ \ifx\captionsfrench\@undefined\else
+ \addto\captionsfrench{\smf@captionsfrench}\fi
+ \ifx\captionsfrancais\@undefined\else
+ \addto\captionsfrancais{\smf@captionsfrench}\fi
+ \ifx\captionsenglish\@undefined\else
+ \addto\captionsenglish{\smf@captionsenglish}%
+ \fi
+ \def\@temp{french}%
+ \ifx\smf@language\@temp
+ \def\@smflanguage{\smf@silentselectlanguage{french}}%
+ \def\@smfaltlanguage{\smf@silentselectlanguage{english}}%
+ \else
+ \def\@smflanguage{\smf@silentselectlanguage{english}}%
+ \def\@smfaltlanguage{\smf@silentselectlanguage{french}}%
+ \fi
+ \fi }
+\def\smf@silentselectlanguage#1{%
+ \def\smf@tmp{}%
+ \expandafter\ifx\csname date#1\endcsname\relax\else
+ \def\smf@tmp{\selectlanguage{#1}}\fi\smf@tmp}
+\ProvideTextCommandDefault{\guillemotleft}%
+ {\leavevmode\hbox{\fontencoding{U}\fontfamily{lasy}%
+ \fontseries{m}\fontshape{n}\selectfont
+ (\kern-0.20em(\kern+0.20em}\nobreak}
+\ProvideTextCommandDefault{\guillemotright}%
+ {\nobreak\leavevmode
+ \hbox{\fontencoding{U}\fontfamily{lasy}%
+ \fontseries{m}\fontshape{n}\selectfont
+ \kern+0.20em)\kern-0.20em)}}
+\def\nonbreakingspace{\unskip\nobreak\ \ignorespaces}
+\def~{\protect\nonbreakingspace}
+\newif\ifsmf@skippt \smf@skipptfalse
+\def\skippointrait{\global\smf@skippttrue}
+\DeclareRobustCommand{\@pointrait}{%
+ \unskip
+ \ifnum\spacefactor>\@m \hskip1ex\hbox{---}\else
+ {\upshape.\hskip 1ex\hbox{---}}\fi}
+\DeclareRobustCommand{\MakePointrait}{%
+ \ifsmf@skippt\global\smf@skipptfalse \else\nobreak\@pointrait\fi}
+\let\pointrait\MakePointrait
+\def\fullwidthdisplay{\displayindent\z@ \displaywidth\columnwidth}
+\edef\@tempa{\noexpand\fullwidthdisplay\the\everydisplay}
+\everydisplay\expandafter{\@tempa}
+\newcommand\see[2]{{\em \seename\/} #1}%
+\AtBeginDocument{%
+ \csname @ifpackageloaded\endcsname{hyperref}{\RequirePackage{smfhyperref}}{}}
+\calclayout % initialize
+\pagenumbering{arabic}
+\pagestyle{headings}
+\thispagestyle{plain}
+\emergencystretch 2em
+\endinput
+%%
+%% End of file `smfart.cls'.