From 42af4b15d1af005bbe14b6e4a9728ba7c147c4b4 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Sun, 18 Apr 2021 20:24:44 +0000
Subject: smflatex (18apr21)

git-svn-id: svn://tug.org/texlive/trunk@58910 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/tex/latex/smflatex/smfart.cls | 1367 +++++++++++++++++++++++
 1 file changed, 1367 insertions(+)
 create mode 100644 Master/texmf-dist/tex/latex/smflatex/smfart.cls

(limited to 'Master/texmf-dist/tex/latex/smflatex/smfart.cls')

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'.
-- 
cgit v1.2.3

