summaryrefslogtreecommitdiffstats
path: root/configuration
diff options
context:
space:
mode:
authorFabrice (iLiburu) <Fabrice.Orgogozo@gmail.com>2011-01-05 10:51:46 +0100
committerFabrice (iLiburu) <Fabrice.Orgogozo@gmail.com>2011-01-05 10:51:46 +0100
commit9b397c6baf243cfab623ede077eff43b67f0d05f (patch)
treebf934a1dd51c9555c9ce0668bb262038b95be28a /configuration
parent71624bddf4e7e63397a9af8213153bdbdb06a3ba (diff)
downloadgalois-9b397c6baf243cfab623ede077eff43b67f0d05f.zip
galois-9b397c6baf243cfab623ede077eff43b67f0d05f.tar.gz
galois-9b397c6baf243cfab623ede077eff43b67f0d05f.tar.bz2
renommage massif : séparation des fichiers de configuration des chapitres etc.
Diffstat (limited to 'configuration')
-rw-r--r--configuration/adresse.tex16
-rw-r--r--configuration/bibliographie-livre.bib820
-rw-r--r--configuration/caracteres-japonais.tex10
-rw-r--r--configuration/commun.tex23
-rw-r--r--configuration/encoredesmacros.tex2
-rw-r--r--configuration/formules.tex155
-rw-r--r--configuration/francais-natbib.bst1738
-rw-r--r--configuration/francais.tex160
-rw-r--r--configuration/gadgets.tex6
-rw-r--r--configuration/modele.tex55
-rw-r--r--configuration/numerotation.tex25
-rw-r--r--configuration/smf.tex1
-rw-r--r--configuration/smfalpha.bst1255
-rw-r--r--configuration/smfart-moi.cls1345
-rw-r--r--configuration/smfbook-moi.cls1452
-rw-r--r--configuration/smfhyperref.sty71
-rw-r--r--configuration/smfthm-moi.sty85
-rw-r--r--configuration/style-bib-livre.bst1273
-rw-r--r--configuration/taille.tex8
-rw-r--r--configuration/ucs_manquants.tex15
20 files changed, 8515 insertions, 0 deletions
diff --git a/configuration/adresse.tex b/configuration/adresse.tex
new file mode 100644
index 0000000..7063403
--- /dev/null
+++ b/configuration/adresse.tex
@@ -0,0 +1,16 @@
+\author{David Madore}
+%\address{CNRS et Centre de math\'ematiques Laurent Schwartz\\
+%\'Ecole polytechnique\\
+%\oldstylenums{91128} Palaiseau\\
+%France}
+%\email{Fabrice.Orgogozo@math.polytechnique.fr}
+%\urladdr{http://www.math.polytechnique.fr/~orgogozo/}
+
+\author{Fabrice Orgogozo}
+%\address{CNRS et Centre de math\'ematiques Laurent Schwartz\\
+%\'Ecole polytechnique\\
+%\oldstylenums{91128} Palaiseau\\
+%France}
+%\email{Fabrice.Orgogozo@math.polytechnique.fr}
+%\urladdr{http://www.math.polytechnique.fr/~orgogozo%/}
+% cf. www.cnrs.fr/fr/presentation/organisation/docs/Affiliations_CNRS.pdf
diff --git a/configuration/bibliographie-livre.bib b/configuration/bibliographie-livre.bib
new file mode 100644
index 0000000..153592a
--- /dev/null
+++ b/configuration/bibliographie-livre.bib
@@ -0,0 +1,820 @@
+@Book{Elements@Bourbaki,
+AUTHOR = {Bourbaki, Nicolas},
+ TITLE = {\'{E}l\'ements de math\'ematique},
+ PUBLISHER = {Springer},
+ NOTE = {réimpression des dernières éditions Masson},
+ YEAR = {2007},
+}
+
+@Book{TG@Bourbaki,
+ AUTHOR = {Bourbaki, Nicolas},
+ TITLE = {\'{E}l\'ements de math\'ematique. Topologie générale},
+}
+
+@book{AC10@Bourbaki,
+ AUTHOR = {Bourbaki, Nicolas},
+ TITLE = {{É}léments de mathématique. {A}lgèbre commutative, chapitre 10},
+ NOTE = {réimpression de l'original de 1998},
+ PUBLISHER = {Springer-Verlag},
+ ADDRESS = {Berlin},
+ YEAR = {2007},
+ PAGES = {ii+187},
+ ISBN = {978-3-540-34394-3; 3-540-34394-6},
+}
+
+@book{A10@Bourbaki,
+ AUTHOR = {Bourbaki, Nicolas},
+ TITLE = {\'{E}l\'ements de math\'ematique. {A}lg\`ebre, chapitre 10.
+ {A}lg\`ebre homologique},
+ NOTE = {réimpression de l'original de 1980},
+ PUBLISHER = {Springer-Verlag},
+ ADDRESS = {Berlin},
+ YEAR = {2007},
+ PAGES = {viii+216},
+ ISBN = {978-3-540-34492-6; 3-540-34492-6},
+}
+
+@book{A9@Bourbaki,
+ AUTHOR = {Bourbaki, Nicolas},
+ TITLE = {\'{E}l\'ements de math\'ematique. {A}lg\`ebre, chapitre 9},
+ NOTE = {réimpression de l'original de 1959},
+ PUBLISHER = {Springer-Verlag},
+ ADDRESS = {Berlin},
+ YEAR = {2007},
+ PAGES = {211},
+ ISBN = {978-3-540-35338-6; 3-540-35338-0},
+}
+
+@book{AC8-9@Bourbaki,
+ AUTHOR = {Bourbaki, Nicolas},
+ TITLE = {\'{E}l\'ements de math\'ematique. {A}lg\`ebre commutative, chapitres 8 et 9},
+ NOTE = {réimpression de l'original de 1983},
+ PUBLISHER = {Springer},
+ ADDRESS = {Berlin},
+ YEAR = {2006},
+ PAGES = {ii+200},
+ ISBN = {978-3-540-33942-7; 3-540-33942-6},
+}
+
+@Book{A4-7@Bourbaki,
+ AUTHOR = {Bourbaki, Nicolas},
+ TITLE = {\'{E}l\'ements de math\'ematique, Alg\`ebre, chapitres 4 à 7},
+ PUBLISHER = {Masson},
+ ADDRESS = {Paris},
+ YEAR = {1981},
+ PAGES = {vii+422},
+}
+
+@book{AC5-7@Bourbaki,
+ AUTHOR = {Bourbaki, Nicolas},
+ TITLE = {\'{E}l\'ements de math\'ematique},
+ NOTE = {Alg\`ebre commutative, chapitres 5 à 7},
+ PUBLISHER = {Masson},
+ ADDRESS = {Paris},
+ YEAR = {1985},
+ PAGES = {351},
+}
+@book{AC8-9@Bourbaki,
+ AUTHOR = {Bourbaki, Nicolas},
+ TITLE = {\'{E}l\'ements de math\'ematique},
+ NOTE = {Alg\`ebre commutative, chapitres 8 et 9},
+ PUBLISHER = {Masson},
+ ADDRESS = {Paris},
+ YEAR = {1983},
+ PAGES = {200},
+}
+
+@book{First@Lam,
+ AUTHOR = {Lam, T. Y.},
+ TITLE = {A first course in noncommutative rings},
+ SERIES = {Graduate Texts in Mathematics},
+ VOLUME = {131},
+ NOTE = {seconde édition},
+ PUBLISHER = {Springer-Verlag},
+ ADDRESS = {New York},
+ YEAR = {2001},
+ PAGES = {xx+385},
+ ISBN = {0-387-95183-0},
+}
+
+@article{determinants@Cayley,
+AUTHOR = {Cayley, Arthur},
+TITLE = {Sur quelques propriétés des déterminants gauches},
+YEAR = {1846},
+JOURNAL = {J. reine angew. Math.},
+VOLUME = {32},}
+
+@BOOK{seisuuron@Saito,
+AUTHOR = {Sa{\"i}t{\^o}, Sh{\^u}ji},
+TITLE = {\jap{整数論}},
+YEAR = {1997},
+ADDRESS = {Tôkyô},
+PUBLISHER = {\jap{共立出版}},}
+
+@article{Problema@Euler,
+AUTHOR = {Euler, Leonhard},
+TITLE = {Problema algebraicum ob affectiones prorsus
+singulares memorabile},
+JOURNAL = {Novi Commentarii academiae scientiarum
+Petropolitanae},
+NOTE = {dans \cite{Operaomnia-I6@Euler}},
+YEAR = {1771},
+PAGES = {75-106},
+VOLUME = {15},}
+
+@book{Operaomnia-I6@Euler,
+author="Euler, Leonhard",
+title="{Opera omnia. Series I: Opera mathematica. VI:
+Commentationes algebraicae ad theoriam aequationum pertinentes. Ediderunt F. Rudio,
+A. Krazer, P. Stäckel.}",
+language="Latin",
+publisher={Teubner},
+address = {Leipzig},
+pages = {xx+509},
+year="1921",
+}
+
+@book{BNT@Weil,
+ AUTHOR = {Weil, André},
+ TITLE = {Basic number theory},
+ EDITION = {troisième},
+ NOTE = {Die Grundlehren der Mathematischen Wissenschaften, Band 144},
+ PUBLISHER = {Springer-Verlag},
+ ADDRESS = {New York},
+ YEAR = {1974},
+ PAGES = {xviii+325},
+}
+
+@article{Zahlbericht@Hilbert,
+author={Hilbert, David},
+title={Die {T}heorie der algebraischen {Z}ahlkörper},
+journal={Deutsche Math. Ver.},
+volume={4, I-XVIII},
+pages={175-546},
+year={1897},}
+
+
+
+@article {ZSG@Speiser,
+ AUTHOR = {Speiser, A.},
+ TITLE = {Zahlentheoretische {S}ätze aus der {G}ruppentheorie},
+ JOURNAL = {Math. Zeit.},
+ FJOURNAL = {Mathematische Zeitschrift},
+ VOLUME = {5},
+ YEAR = {1919},
+ NUMBER = {1-2},
+ PAGES = {1--6},
+ ISSN = {0025-5874},
+ DOI = {10.1007/BF01203150},
+ URL = {http://dx.doi.org/10.1007/BF01203150},
+}
+
+@article{Konstruktion@Witt,
+author="Witt, Ernst",
+title="{Konstruktion von galoisschen Körpern der
+Charakteristik $p$ zu vorgegebener Gruppe der Ordnung $p^f$.}",
+journal="J. reine angew. Math.",
+note={№20 in \cite{Oeuvres@Witt}},
+volume="174",
+pages="237-245",
+year="1936",
+}
+
+@book{Generic@JLY,
+ AUTHOR = {Jensen, Christian U. and Ledet, Arne and Yui, Noriko},
+ TITLE = {Generic polynomials},
+ SERIES = {Mathematical Sciences Research Institute Publications},
+ VOLUME = {45},
+ NOTE = {Constructive aspects of the inverse Galois problem},
+ PUBLISHER = {Cambridge University Press},
+ ADDRESS = {Cambridge},
+ YEAR = {2002},
+ PAGES = {x+258},
+ ISBN = {0-521-81998-9},
+}
+
+@book{Oeuvres@Witt,
+ AUTHOR = {Witt, Ernst},
+ TITLE = {{G}esammelte {A}bhandlungen ({Œ}uvres)},
+ PUBLISHER = {Springer-Verlag},
+ ADDRESS = {Berlin},
+ YEAR = {1998},
+ PAGES = {xvi+420},
+ ISBN = {3-540-57061-6},
+}
+
+@article{unendlichen@Krull,
+ AUTHOR = {Krull, Wolfgang},
+ TITLE = {Galoissche {T}heorie der unendlichen
+algebraischen {E}rweiterungen},
+ JOURNAL = {Math. Ann.},
+ FJOURNAL = {Mathematische Annalen},
+ VOLUME = {100},
+ YEAR = {1928},
+ NUMBER = {1},
+ PAGES = {687--698},
+ ISSN = {0025-5831},
+}
+
+@book{Involutions@KMRT,
+ AUTHOR = {Knus, Max-Albert and Merkurjev, Alexander and Rost, Markus and
+ Tignol, Jean-Pierre},
+ TITLE = {The book of involutions},
+ SERIES = {American Mathematical Society Colloquium Publications},
+ VOLUME = {44},
+ PUBLISHER = {American Mathematical Society},
+ ADDRESS = {Providence, RI},
+ YEAR = {1998},
+ PAGES = {xxii+593},
+ ISBN = {0-8218-0904-0},
+}
+
+@article{Pisot@Siegel,
+ AUTHOR = {Siegel, Carl Ludwig},
+ TITLE = {Algebraic integers whose conjugates lie in the
+unit circle},
+ JOURNAL = {Duke Math. J.},
+ FJOURNAL = {Duke Mathematical Journal},
+ VOLUME = {11},
+ YEAR = {1944},
+ PAGES = {597--602},
+ ISSN = {0012-7094},
+}
+
+@incollection{Isomorphism@Poonen,
+ AUTHOR = {Poonen, Bjorn},
+ TITLE = {Isomorphism types of commutative algebras of
+finite rank over an algebraically closed field},
+ BOOKTITLE = {Computational arithmetic geometry},
+ SERIES = {Contemp. Math.},
+ VOLUME = {463},
+ PAGES = {111--120},
+ PUBLISHER = {Amer. Math. Soc.},
+ ADDRESS = {Providence, RI},
+ YEAR = {2008},
+}
+
+@book{Gille-Szamuely,
+ AUTHOR = {Gille, Philippe and Szamuely, Tam{\'a}s},
+ TITLE = {Central simple algebras and {G}alois cohomology},
+ SERIES = {Cambridge Studies in Advanced Mathematics},
+ VOLUME = {101},
+ PUBLISHER = {Cambridge University Press},
+ ADDRESS = {Cambridge},
+ YEAR = {2006},
+ PAGES = {xii+343},
+ ISBN = {978-0-521-86103-8; 0-521-86103-9},
+}
+
+@book{Topics@Serre,
+ AUTHOR = {Serre, Jean-Pierre},
+ TITLE = {Topics in {G}alois theory},
+ SERIES = {Research Notes in Mathematics},
+ VOLUME = {1},
+ PUBLISHER = {Jones and Bartlett Publishers},
+ ADDRESS = {Boston, MA},
+ YEAR = {1992},
+ PAGES = {xvi+117},
+ ISBN = {0-86720-210-6},
+}
+
+@book{Mordell-Weil@Serre,
+ AUTHOR = {Serre, Jean-Pierre},
+ TITLE = {Autour du théorème de {M}ordell-{W}eil},
+ SERIES = {cours au Collège de France},
+ NOTE = {traduction anglaise publiée chez Vieweg},
+ YEAR = {1980},
+}
+
+
+@book{Lecons@Lebesgue,
+ AUTHOR = {Lebesgue, Henri},
+ TITLE = {Leçons sur les constructions géométriques},
+ PUBLISHER = {Gauthier-Villars},
+ ADDRESS = {Paris},
+ YEAR = {1950},
+ PAGES = {vi+304},
+}
+
+@article{Tohoku@Grothendieck,
+ AUTHOR = {Grothendieck, Alexandre},
+ TITLE = {Sur quelques points d'algèbre homologique},
+ JOURNAL = {Tôhoku Math. J. (2)},
+ VOLUME = {9},
+ YEAR = {1957},
+ PAGES = {119--221},
+}
+
+@book{Douady-Douady,
+AUTHOR = {Douady, Régine and Douady, Adrien},
+ TITLE = {Algèbre et théories galoisiennes},
+ PUBLISHER = {Cassini},
+ ADDRESS = {Paris},
+ YEAR = {2005},
+}
+
+@book{Polya-Szego,
+ AUTHOR = {Pólya, George and Szegő, Gabor},
+ TITLE = {Problems and theorems in analysis, {I} et {II}},
+ SERIES = {Classics in Mathematics},
+ NOTE = {traduction de l'édition allemande de 1971},
+ PUBLISHER = {Springer-Verlag},
+ ADDRESS = {Berlin},
+ YEAR = {1998},
+ PAGES = {xii+392},
+}
+
+@book{Theorie@Samuel,
+ AUTHOR = {Samuel, Pierre},
+ TITLE = {Théorie algébrique des nombres},
+ PUBLISHER = {Hermann},
+ ADDRESS = {Paris},
+ YEAR = {1967},
+ PAGES = {130},
+}
+
+@incollection{cyclotomie@Weil,
+ AUTHOR = {Weil, André},
+ TITLE = {La cyclotomie jadis et naguère},
+ BOOKTITLE = {Séminaire Bourbaki, 1973/1974, 26e année, Exp.
+ No. 452},
+ YEAR = {1974},
+}
+
+@incollection{Zeta@Heilbronn,
+ AUTHOR = {Heilbronn, H.},
+ TITLE = {Zeta-functions and {$L$}-functions},
+ BOOKTITLE = {Algebraic Number Theory (Proc. Instructional Conf., Brighton,
+ 1965)},
+ PAGES = {204--230},
+ YEAR = {1967},
+}
+
+@book{Memoire@Cauchy,
+ AUTHOR = {Cauchy, Augustin-Louis},
+ TITLE = {Mémoire sur la théorie des nombres},
+ NOTE = {Œuvres I, vol. III ; disponible sur \url{gallica.bnf.fr}},
+ YEAR = {1840},
+}
+
+@book{Disquisitiones@Gauss,
+ AUTHOR = {Gauß, Carl Friedrich},
+ TITLE = {Recherches arithmétiques (\emph{Disquisitiones arithmeticae})},
+ NOTE = {Traduit du latin par A.-C.M. Poullet-Delisle.
+Réédité chez Jacques Gabay, Paris et disponible sur \url{gallica.bnf.fr}},
+ YEAR = {1807},
+}
+
+@book{Tate-Silverman,
+ AUTHOR = {Silverman, Joseph H. and Tate, John},
+ TITLE = {Rational points on elliptic curves},
+ SERIES = {Undergraduate Texts in Mathematics},
+ PUBLISHER = {Springer-Verlag},
+ ADDRESS = {New York},
+ YEAR = {1992},
+ PAGES = {x+281},
+}
+
+@book{Tagebuch@Gauss,
+ AUTHOR = {Gau{\ss}, Carl Friedrich},
+ TITLE = {Mathematisches {T}agebuch, 1796--1814},
+ SERIES = {Ostwalds Klassiker der Exakten Wissenschaften},
+ EDITION = {cinquième},
+ NOTE = {Bilingue latin-allemand (avec commentaires en allemand)},
+ PUBLISHER = {Verlag Harri Deutsch},
+ YEAR = {2005},
+ PAGES = {235},
+}
+
+@book{Categories@MacLane,
+ AUTHOR = {Mac Lane, Saunders},
+ TITLE = {Categories for the working mathematician},
+ SERIES = {Graduate Texts in Mathematics},
+ VOLUME = {5},
+ EDITION = {seconde},
+ PUBLISHER = {Springer-Verlag},
+ ADDRESS = {New York},
+ YEAR = {1998},
+ PAGES = {xii+314},
+}
+
+@book{suuron1@kato-kurokawa-saito,
+ AUTHOR = {Katô, Kazuya and Kurokawa, Noboushigué and Saïtô, Takéshi},
+ TITLE = {Théorie des nombres I},
+ NOTE = {En japonais},
+ PUBLISHER = {Iwanami shoten},
+ ADDRESS = {Tôkyô},
+ YEAR = {2005},
+}
+
+@book{Cours@Serre,
+ AUTHOR = {Serre, Jean-Pierre},
+ TITLE = {Cours d'arithm\'etique},
+ NOTE = {Deuxi\`eme \'edition revue et corrig\'ee},
+ PUBLISHER = {Presses universitaires de France},
+ ADDRESS = {Paris},
+ YEAR = {1977},
+ PAGES = {188},
+}
+
+@incollection{Zeta@Serre,
+ AUTHOR = {Serre, Jean-Pierre},
+ TITLE = {Zeta and {$L$} functions (Œuvres 64)},
+ BOOKTITLE = {Arithmetical Algebraic Geometry (Proc. Conf. Purdue Univ.,
+ 1963)},
+ PAGES = {82--92},
+ PUBLISHER = {Harper \& Row},
+ ADDRESS = {New York},
+ YEAR = {1965},
+}
+
+@incollection{Lefschetz@Grothendieck,
+ AUTHOR = {Grothendieck, Alexandre},
+ TITLE = {Formule de {L}efschetz et rationalit\'e des fonctions {$L$}},
+ BOOKTITLE = {S\'eminaire Bourbaki, Vol.\ 9},
+ PAGES = {Exp.\ No.\ 279, 41--55},
+ PUBLISHER = {Réédité par la Soc. math. France},
+ ADDRESS = {Paris},
+ YEAR = {1964},
+}
+
+@article{Jacobi@Weil,
+author="Weil, Andr\'e",
+title="Jacobi sums as ``Gr{\"o}{\ss}encharaktere'' (Œuvres [1952d])",
+journal="Trans. Am. Math. Soc.",
+volume="73",
+pages="487-495",
+year="1952",
+}
+
+@article{Numbers@Weil,
+ AUTHOR = {Weil, Andr{\'e}},
+ TITLE = {Numbers of solutions of equations in finite fields (Œuvres [1949b])},
+ JOURNAL = {Bull. Amer. Math. Soc.},
+ VOLUME = {55},
+ YEAR = {1949},
+ PAGES = {497--508},
+}
+
+@article{Davenport-Hasse,
+author="Davenport, Harold and Hasse, Helmut",
+title="Die Nullstellen der Kongruenzzetafunktionen in gewissen zyklischen F{\"a}llen",
+journal="J. reine angew. Math.",
+volume="172",
+pages="151-182",
+year="1934",
+}
+
+@book{Basic2@Shafarevich,
+ AUTHOR = {Shafarevich, Igor R.},
+ TITLE = {Basic algebraic geometry, deuxième tome},
+ EDITION = {Seconde},
+ NOTE = {traduit du russe par Miles Reid},
+ PUBLISHER = {Springer-Verlag},
+ ADDRESS = {Berlin},
+ YEAR = {1994},
+ PAGES = {xiv+269},
+}
+
+@book{p-adic@Koblitz,
+ AUTHOR = {Koblitz, Neal},
+ TITLE = {{$p$}-adic numbers, {$p$}-adic analysis, and zeta-functions},
+ SERIES = {Graduate Texts in Mathematics},
+ VOLUME = {58},
+ PUBLISHER = {Springer-Verlag},
+ ADDRESS = {New York},
+ YEAR = {1984},
+ PAGES = {xii+150},
+}
+
+@article{Number@Koblitz,
+ AUTHOR = {Koblitz, Neal},
+ TITLE = {The number of points on certain families of hypersurfaces over
+ finite fields},
+ JOURNAL = {Compositio Math.},
+ FJOURNAL = {Compositio Mathematica},
+ VOLUME = {48},
+ YEAR = {1983},
+ NUMBER = {1},
+ PAGES = {3--23},
+}
+
+@book{RB@Mumford,
+ AUTHOR = {Mumford, David},
+ TITLE = {The red book of varieties and schemes},
+ SERIES = {Lecture Notes in Mathematics},
+ VOLUME = {1358},
+ PUBLISHER = {Springer-Verlag},
+ ADDRESS = {Berlin},
+ YEAR = {1988},
+ PAGES = {vi+309},
+}
+
+@article{RamificationII@Abbes-Saito,
+ AUTHOR = {Abbes, Ahmed and Sait\^o, Takeshi},
+ TITLE = {Ramification of local fields with imperfect residue fields.
+ {II}},
+ JOURNAL = {Doc. Math.},
+ FJOURNAL = {Documenta Mathematica},
+ YEAR = {2003},
+ NUMBER = {Extra Vol.},
+ PAGES = {5--72},
+}
+
+@article{RamificationI@Abbes-Saito,
+ AUTHOR = {Abbes, Ahmed and Sait\^o, Takeshi},
+ TITLE = {Ramification of local fields with imperfect residue fields},
+ JOURNAL = {Amer. J. Math.},
+ FJOURNAL = {American Journal of Mathematics},
+ VOLUME = {124},
+ YEAR = {2002},
+ NUMBER = {5},
+ PAGES = {879--920},
+}
+
+@book{CRT@Matsumura,
+ AUTHOR = {Matsumura, Hideyuki},
+ TITLE = {Commutative ring theory},
+ SERIES = {Cambridge Studies in Advanced Mathematics},
+ VOLUME = {8},
+ PUBLISHER = {Cambridge University Press},
+ YEAR = {1989},
+ PAGES = {xiv+320},
+}
+
+@book{Anneaux@Raynaud,
+ AUTHOR = {Raynaud, Michel},
+ TITLE = {Anneaux locaux hens\'eliens},
+ SERIES = {Lecture Notes in Mathematics, Vol. 169},
+ PUBLISHER = {Springer-Verlag},
+ YEAR = {1970},
+ PAGES = {v+129},
+}
+
+@book{CL@Serre,
+ AUTHOR = {Serre, Jean-Pierre},
+ TITLE = {Corps locaux},
+ NOTE = {deuxi\`eme \'edition,
+ publications de l'Universit\'e de Nancago, No. VIII},
+ PUBLISHER = {Hermann},
+ ADDRESS = {Paris},
+ YEAR = {1968},
+ PAGES = {245},
+}
+
+@book{Galois@Cox,
+ AUTHOR = {Cox, David A.},
+ TITLE = {Galois theory},
+ SERIES = {Pure and Applied Mathematics (New York)},
+ PUBLISHER = {Wiley-Interscience [John Wiley \& Sons]},
+ ADDRESS = {Hoboken, NJ},
+ YEAR = {2004},
+ PAGES = {xx+559},
+}
+
+
+@Book{Algebre@Lang,
+ AUTHOR = {Lang, Serge},
+ TITLE = {Alg\`ebre. Cours et exercices},
+ PUBLISHER = {Dunod},
+ ADDRESS = {Paris},
+ YEAR = {2004},
+ PAGES = {944},
+}
+
+@Book{Algebra@VdW,
+ AUTHOR = {van der Waerden, B. L.},
+ TITLE = {Algebra. {V}ol. {I}},
+ PUBLISHER = {Springer-Verlag},
+ ADDRESS = {New York},
+ YEAR = {1991},
+ PAGES = {xiv+265},
+}
+
+@book{Ireland-Rosen,
+ AUTHOR = {Ireland, Kenneth and Rosen, Michael},
+ TITLE = {A classical introduction to modern number theory},
+ SERIES = {Graduate Texts in Mathematics},
+ VOLUME = {84},
+ PUBLISHER = {Springer-Verlag},
+ ADDRESS = {New York},
+ YEAR = {1990},
+ PAGES = {xiv+389},
+}
+
+@article{Jordan@Serre,
+ AUTHOR = {Serre, Jean-Pierre},
+ TITLE = {On a theorem of {J}ordan},
+ JOURNAL = {Bull. Amer. Math. Soc. (N.S.)},
+ FJOURNAL = {American Mathematical Society. Bulletin. New Series},
+ VOLUME = {40},
+ YEAR = {2003},
+ NUMBER = {4},
+ PAGES = {429--440},
+}
+
+@book{Bertini@Jouanolou,
+ AUTHOR = {Jouanolou, Jean-Pierre},
+ TITLE = {Th\'eor\`emes de {B}ertini et applications},
+ SERIES = {Progress in Mathematics},
+ VOLUME = {42},
+ PUBLISHER = {Birkh\"auser},
+ ADDRESS = {Boston},
+ YEAR = {1983},
+ PAGES = {ii+127},
+}
+
+@book{CG@Serre,
+author={Serre, Jean-Pierre},
+title={Cohomologie galoisienne (cinquième
+édition révisée et complétée)},
+SERIES = {Lecture Notes in Mathematics},
+VOLUME = {5},
+ PUBLISHER = {Springer-Verlag},
+ ADDRESS = {Berlin},
+year = {1994},
+}
+
+@article{Weil1@Deligne,
+ AUTHOR = {Deligne, Pierre},
+ TITLE = {La conjecture de {W}eil. {\sc i}},
+ JOURNAL = {Publications math\'ematiques de l'{I}{H}{\'E}{S}},
+ NUMBER = {43},
+ YEAR = {1974},
+ PAGES = {273--307},
+}
+
+@book{GACC@Serre,
+ AUTHOR = {Serre, Jean-Pierre},
+ TITLE = {Groupes algébriques et corps de classes},
+ NOTE = {Actualités scientifiques et industrielles, 1264},
+ PUBLISHER = {Hermann},
+ ADDRESS = {Paris},
+ YEAR = {1958},
+ PAGES = {207},
+}
+
+@article {EGA,
+ AUTHOR = {Grothendieck, A.},
+ TITLE = {\'{E}l\'ements de g\'eom\'etrie alg\'ebrique},
+ NOTE = {numéros 4 (I) ; 8 (II) ; 11,17 (III) ; 20, 24 et 28 (IV), rédigés avec la collaboration de J. Dieudonné.},
+ JOURNAL = {Publications mathématiques de l'{I}{H}{\'E}{S}},
+ YEAR = {1960-1967},
+}
+
+@book{Etale@Milne,
+ AUTHOR = {Milne, James S.},
+ TITLE = {\'{E}tale cohomology},
+ PUBLISHER = {Princeton University Press},
+ ADDRESS = {Princeton, N.J.},
+ YEAR = {1980},
+ PAGES = {xiii+323},
+}
+
+@book{Algebre@Serre,
+ AUTHOR = {Serre, Jean-Pierre},
+ TITLE = {Alg\`ebre locale. {M}ultiplicit\'es},
+ PUBLISHER = {Springer-Verlag},
+ ADDRESS = {Berlin},
+ YEAR = {1965},
+ PAGES = {vii+188 pp.},
+ MRCLASS = {13.95 (14.08)},
+ MRNUMBER = {34 \#1352},
+MRREVIEWER = {M. Nagata},
+}
+
+@Book{ATLAS,
+ AUTHOR = {Conway, John Horton and Curtis, Robert Turner and Norton, Simon Phillips and Parker, Richard Alan and Wilson, Robert Arnott},
+ TITLE = {{ATLAS} of Finite Groups},
+ PUBLISHER = {Oxford University Press},
+ YEAR = {1985},
+}
+
+@article{invariant@Serre,
+ AUTHOR = {Serre, Jean-Pierre},
+ TITLE = {L'invariant de {W}itt de la forme {${\rm Tr}(x^2)$}},
+ JOURNAL = {Comment. Math. Helv.},
+ FJOURNAL = {Commentarii Mathematici Helvetici},
+ VOLUME = {59},
+ YEAR = {1984},
+ NUMBER = {4},
+ PAGES = {651--676},
+ ISSN = {0010-2571},
+ DOI = {10.1007/BF02566371},
+ URL = {http://dx.doi.org/10.1007/BF02566371},
+}
+
+@article{central@Amitsur,
+ AUTHOR = {Amitsur, S. A.},
+ TITLE = {On central division algebras},
+ JOURNAL = {Israel J. Math.},
+ FJOURNAL = {Israel Journal of Mathematics},
+ VOLUME = {12},
+ YEAR = {1972},
+ PAGES = {408--420},
+ ISSN = {0021-2172},
+}
+
+@book{BHN@Roquette,
+ AUTHOR = {Roquette, Peter},
+ TITLE = {The {B}rauer-{H}asse-{N}oether theorem in historical perspective},
+ SERIES = {Schriften der Mathematisch-Naturwissenschaftlichen Klasse der
+ Heidelberger Akademie der Wissenschaften},
+ VOLUME = {15},
+ PUBLISHER = {Springer-Verlag},
+ ADDRESS = {Berlin},
+ YEAR = {2005},
+ PAGES = {vi+92},
+ ISBN = {3-540-23005-X},
+}
+
+@article{Lineare@Kneser,
+ AUTHOR = {Kneser, Martin},
+ TITLE = {Lineare {A}bhängigkeit von {W}urzeln},
+ JOURNAL = {Acta Arith.},
+ FJOURNAL = {Polska Akademia Nauk. Instytut Matematyczny. Acta Arithmetica},
+ VOLUME = {26},
+ YEAR = {1975},
+ NUMBER = {3},
+ PAGES = {307--308},
+ URL ={http://matwbn.icm.edu.pl/ksiazki/aa/aa26/aa26313.pdf},
+ ISSN = {0065-1036},
+}
+
+@article{Reflexions@Lagrange,
+AUTHOR = {Lagrange, Joseph-Louis},
+TITLE = {Réflexions sur la résolution algébrique des
+équations},
+JOURNAL = {Nouveaux mémoires de l'Acad. des sc. et b.-l. de
+Berlin},
+YEAR = {1770-1771},
+}
+
+@book{Rotman,
+ AUTHOR = {Rotman, Joseph J.},
+ TITLE = {An Introduction to the Theory of Groups},
+ EDITION = {quatrième},
+ SERIES = {Graduate Texts in Mathematics},
+ VOLUME = {148},
+ PUBLISHER = {Springer-Verlag},
+ ADDRESS = {New York},
+ YEAR = {1995},
+}
+
+@book{Dixon-Mortimer,
+ AUTHOR = {Dixon, John D. and Mortimer, Brian},
+ TITLE = {Permutation Groups},
+ SERIES = {Graduate Texts in Mathematics},
+ VOLUME = {163},
+ PUBLISHER = {Springer-Verlag},
+ ADDRESS = {New York},
+ YEAR = {1996},
+}
+
+@book{Wilson-Parker,
+ AUTHOR = {Wilson, Robert and Parker, Christopher W.},
+ TITLE = {The Finite Simple Groups},
+ SERIES = {Graduate Texts in Mathematics},
+ VOLUME = {251},
+ PUBLISHER = {Springer-Verlag},
+ ADDRESS = {New York},
+ YEAR = {2009},
+}
+
+@book{Polynomials@Schinzel,
+ AUTHOR = {Schinzel, Andrzej},
+ TITLE = {Polynomials with special regard to reducibility},
+ SERIES = {Encyclopedia of Mathematics and its Applications},
+ VOLUME = {77},
+ NOTE = {Avec un appendice de Umberto Zannier},
+ PUBLISHER = {Cambridge University Press},
+ ADDRESS = {Cambridge},
+ YEAR = {2000},
+ PAGES = {x+558},
+ ISBN = {0-521-66225-7},
+ DOI = {10.1017/CBO9780511542916},
+ URL = {http://dx.doi.org/10.1017/CBO9780511542916},
+}
+
+@article{Kennzeichnung@AS,
+author="Artin, Emil and Schreier, Otto",
+title="{Eine Kennzeichnung der reell abgeschlossenen Körper.}",
+journal="Abhandlungen Hamburg ",
+volume="5",
+pages="225-231",
+year="1927",
+doi={10.1007/BF02952522},}
+
+@article {Cyclic@Albert,
+ AUTHOR = {Albert, A. A.},
+ TITLE = {Cyclic fields of degree {$p^n$} over {$F$} of characteristic {$p$}},
+ JOURNAL = {Bull. Amer. Math. Soc.},
+ FJOURNAL = {Bulletin of the American Mathematical Society},
+ VOLUME = {40},
+ YEAR = {1934},
+ NUMBER = {8},
+ PAGES = {625--631},
+ ISSN = {0002-9904},
+ DOI = {10.1090/S0002-9904-1934-05930-5},
+ URL = {http://dx.doi.org/10.1090/S0002-9904-1934-05930-5},
+}
diff --git a/configuration/caracteres-japonais.tex b/configuration/caracteres-japonais.tex
new file mode 100644
index 0000000..2cbea56
--- /dev/null
+++ b/configuration/caracteres-japonais.tex
@@ -0,0 +1,10 @@
+% JAPONAIS
+%\renewcommand{\rubysize}{0.5}
+%\renewcommand{\rubysep}{-0.3ex}
+\def\jap#1{\begin{CJK}{UTF8}{min}#1\end{CJK}}
+\def\japmath#1{\textrm{\jap{#1}}}
+\def\japmathpetit#1{\textrm{\tiny{\jap{#1}}}}
+\def\furi#1#2{\jap{\ruby{#1}{#2}}}
+\newcommand{\yoneDA}{{\japmath{田}}}
+\newcommand{\yone}{{\japmath{米}}}
+
diff --git a/configuration/commun.tex b/configuration/commun.tex
new file mode 100644
index 0000000..153104b
--- /dev/null
+++ b/configuration/commun.tex
@@ -0,0 +1,23 @@
+\usepackage{stmaryrd}
+\usepackage{wasysym}
+\usepackage{amsmath,a4wide}
+\usepackage{amssymb}
+\usepackage{mathrsfs}
+\usepackage{euscript}
+\usepackage{xspace}
+\usepackage[all]{xy}
+\usepackage[pagebackref]{hyperref} % pour voir où sont cités les références
+%\renewcommand*{\backref}[1]{{↑#1}} % variante possible plus jolie mais ne marchant pas pour le livre
+\renewcommand*{\backref}[1]{{\small [cit\'e page(s)~#1.]}}
+\usepackage[mathletters]{ucs}
+\usepackage[utf8]{inputenc}
+%% Ces lignes ne font pas ce qu'on veut : pourquoi ?
+%\PreloadUnicodePage{0}
+%\PreloadUnicodePage{1}
+%\PrerenderUnicode{É}
+\usepackage[T1]{fontenc}
+\usepackage[T1]{CJKutf8}
+\usepackage[overlap,CJK]{ruby} % japonais
+\input{ucs_manquants}
+\usepackage{textcomp}
+\usepackage{xr} %Références eXternes
diff --git a/configuration/encoredesmacros.tex b/configuration/encoredesmacros.tex
new file mode 100644
index 0000000..4d1f378
--- /dev/null
+++ b/configuration/encoredesmacros.tex
@@ -0,0 +1,2 @@
+\newcommand\refext[2]{\textbf{#1}-\ref{#2}}
+\newcommand{\XXX}{(\textcolor{Magenta}{XXX})}
diff --git a/configuration/formules.tex b/configuration/formules.tex
new file mode 100644
index 0000000..bdc915f
--- /dev/null
+++ b/configuration/formules.tex
@@ -0,0 +1,155 @@
+%\usepackage{mathabx} %marche pas
+
+% gras, surlignage, etc...
+\def\sur{\overline}
+\def\sous{\underline}
+\def\gtilde{\widetilde}
+
+% polices pour les catégories
+\newcommand{\categ}[1]{\mathtt{#1}}
+
+%\renewcommand{\ieme}{^\text{ième}}
+%\renewcommand{\iemes}{^\text{ièmes}}
+\newcommand{\e}{$^\text{e}$\xspace}
+% catégorique
+\newcommand{\Hom}{\mathsf{Hom}}
+\newcommand{\MHom}{\mathsf{MHom}}
+\newcommand{\End}{\mathsf{End}}
+\newcommand{\Aut}{\mathsf{Aut}}
+\newcommand{\Int}{\mathsf{Int}}
+\newcommand{\Out}{\mathsf{Out}}
+\newcommand{\Isom}{\mathsf{Isom}}
+\newcommand{\ob}{\mathsf{Ob}\ }
+\newcommand{\op}{^{\mathsf{op}}}
+\newcommand{\Ens}{\categ{Ens}}
+\newcommand{\Alg}{\categ{Alg}}
+\newcommand{\Ab}{\mathsf{Ab}}
+\newcommand{\Nerf}{\mathsf{Nerf}}
+\newcommand{\Idem}{\mathrm{Idem}}
+\newcommand{\Id}{\mathrm{Id}}
+\newcommand{\Fix}{\mathrm{Fix}}
+\newcommand{\Stab}{\mathrm{Stab}}
+\renewcommand{\Im}{\mathop{\mathrm{Im}}}
+\newcommand{\pgcd}{\mathrm{pgcd}}
+% schémas
+\newcommand{\Spec}{\mathrm{Spec}}
+\newcommand{\Specmax}{\mathrm{Specmax}}
+\newcommand{\Frob}{\mathrm{Frob}}
+\newcommand{\Gal}{\mathrm{Gal}}
+\newcommand{\red}{\mathrm{r\acute{e}d}}
+\newcommand{\Nilp}{\mathrm{Nilp}}
+\newcommand{\Ann}{\mathrm{Ann}} % annulateur
+
+\def\car#1{\mathrm{car}.\,#1}
+\def\quater#1#2{\left(\frac{#1}{#2}\right)_𝐇}
+\def\deuxdeux#1#2#3#4{\left(\begin{matrix}#1&#3\\#2&#4\end{matrix}\right)}
+\def\troistrois#1#2#3#4#5#6#7#8#9{\left(\begin{matrix}#1&#4&#7\\#2&#5&#8\\#3&#6&#9\end{matrix}\right)}
+
+\newcommand{\sep}{^{\mathrm{s\acute{e}p}}}
+\newcommand{\alg}{^{\mathrm{alg}}}
+\newcommand{\dec}{{\mathrm{d\acute{e}c}}}
+
+\newcommand{\pr}{{\mathrm{pr}}}
+\newcommand{\cont}{{\mathrm{cont}}}
+
+% cohomologie, faisceaux
+\newcommand{\Gm}{{\mathbf{G}_m}} % groupe additif
+\newcommand{\Ga}{{\mathbf{G}_a}} % multiplicatif
+
+% ramification
+\newcommand{\Swan}{\mathrm{Swan}}
+\newcommand{\sauv}{\mathrm{sauv.}}
+\newcommand{\modere}{\mathrm{mod.}}
+
+% toposlogie
+\newcommand{\Pic}{{\mathrm{Pic}}}
+
+% algèbre linéaire, catégories dérivée
+\newcommand{\Tr}{\mathrm{Tr}}
+\newcommand{\Trd}{\mathrm{Trd}}
+\newcommand{\Br}{\mathrm{Br}}
+\newcommand{\Azu}{\mathrm{Azu}}
+\newcommand{\N}{\mathrm{N}}
+\newcommand{\Nrd}{\mathrm{Nrd}}
+\newcommand{\NSpin}{\mathop{\mathrm{N\!S}}}
+\renewcommand{\det}{\mathrm{d\acute{e}t}}
+\newcommand{\Der}{\mathrm{D\acute{e}r}}
+\newcommand{\vol}{\mathop{\mathrm{vol}}}
+\newcommand{\Ext}{{\mathsf{Ext}}}
+\newcommand{\Sym}{\mathsf{Sym}}
+\newcommand{\Ker}{\mathop{\mathrm{Ker}}}
+\newcommand{\Coker}{\mathop{\mathrm{Coker}}}
+\newcommand{\GL}{{\mathrm{GL}}}
+\newcommand{\PGL}{\mathrm{PGL}}
+\newcommand{\AGL}{{\mathrm{AGL}}}
+\newcommand{\Orth}{\mathrm{O}}
+\newcommand{\SOrth}{\mathrm{SO}}
+\newcommand{\rang}{{\mathrm{rang}}}
+\newcommand{\Frac}{{\mathrm{Frac}}}
+\newcommand{\prang}{{p\text{-}\mathrm{rang}}}
+\newcommand{\Irr}{\mathrm{Irr}}
+\newcommand{\diag}{\mathop{\mathrm{diag}}} % matrice diagonale
+\def\transpose#1{{^{\mathrm{t}}{#1}}}
+
+% algèbre commutative, catégories abéliennes
+\newcommand{\Gr}{\mathrm{Gr}} % gradué
+
+% ensembles usuels et caractères gras
+\newcommand{\ZZ}{\mathbf{Z}}
+\newcommand{\NN}{\mathbf{N}}
+\newcommand{\RR}{\mathbf{R}}
+\newcommand{\QQ}{\mathbf{Q}}
+\newcommand{\CC}{\mathbf{C}}
+\newcommand{\PP}{\mathbf{P}}
+\newcommand{\FF}{\mathbf{F}}
+\newcommand{\GG}{\mathbf{G}}
+
+% caractères spéciaux
+\newcommand{\MM}{\mathfrak{m}}
+\newcommand{\vide}{\varnothing}
+\newcommand{\vardelta}{\partial}
+
+%\newcommand{\tiret}{\mathop{\textrm{---}}}
+\DeclareMathSymbol{\tiret}{\mathord}{operators}{"7C}
+\DeclareMathSymbol{\traitdunion}{\mathord}{operators}{"2D}
+
+% degré de transcendance
+\newcommand{\degtr}{\mathop{\mathrm{deg.tr}}}
+
+% flèches diverses
+\def\commutatif{\ar@{}[rd]|{\circlearrowleft}}
+\def\cartesien{\ar@{}[rd]|{\square}}
+
+\newcommand{\iso}{\stackrel{\sim}{\ra}}
+\newcommand{\isononcan}{\simeq}
+\newcommand{\bo}{/} % barre oblique apparaissant dans A/k
+\newcommand{\Legendre}[2]{\left(\frac{#1}{#2}\right)}
+
+\def\dessusdessous#1#2{ \stackrel{#1}{#2} } % écrit 1 au-dessus de 2
+
+% texte
+\newcommand{\ssi}{si et seulement si\xspace}
+\newcommand{\cad}{c'est-\`a-dire\xspace}
+\newcommand{\num}{{$\mathrm{n}^{\mathrm{o}}$}}
+
+% non classé !
+\newcommand{\R}{\mathrm{R}}
+\newcommand{\prlim}{\mathop{\mathrm{lim}}}
+\newcommand{\colim}{\mathop{\mathrm{colim}}}
+\newcommand{\ev}{\mathop{\mathrm{ev}}}
+
+% commandes
+%%%%%%%%%%%
+\def\sga#1#2#3{[{\bf $\mathbf{SGA\,{#1}}$}~{\sc #2}~#3]}
+\def\ega#1#2{[{\bf ÉGA}~{\sc #1}~#2]}
+\def\egalong#1#2#3{[{\bf ÉGA}~$\textsc{#1}_{\textrm{#2}}$~#3]}
+\def\egazéro#1#2{[{\bf ÉGA}~$0_{\textsc{#1}}$~#2]}
+\def\bbkac#1#2#3#4{{\bf Bourbaki}, A.C.,~{\sc #1}, §#2, n°#3\,#4}
+\def\bbka#1#2#3#4{{\bf Bourbaki}, A.,~{\sc #1}, §#2, n°#3\,#4}
+\def\bbk#1#2#3#4#5{{\bf Bourbaki}, #1,~{\sc #2}, §#3, n°#4\,#5}
+\def\mc{\mathscr}
+\def\got{\mathfrak}
+\def\chap#1{\widehat{#1}}
+\def\cochap#1{\widecheck{#1}}
+
+\input{caracteres-japonais.tex}
diff --git a/configuration/francais-natbib.bst b/configuration/francais-natbib.bst
new file mode 100644
index 0000000..9fd1b00
--- /dev/null
+++ b/configuration/francais-natbib.bst
@@ -0,0 +1,1738 @@
+%%
+%% This is file `francais2.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs (with options: `babel,ay,nat,lang,vonx,nm-rev1,jnrlst,nmft,nmft-def,fnm-rm,nmand-rm,blkyear,dt-beg,yr-per,note-yr,tit-qq,qt-g,qx,vnum-nr,volp-com,pgsep-s,jwdpg,pp-last,jwdvol,num-xser,numser,ser-vol,ser-ed,pg-bk,pre-edn,isbn,issn,agu-doi,doi,edby,blk-com,blknt,pp,ed,abr,ord,and-xcom,url,url-nt,nfss,')
+%% ----------------------------------------
+%% *** Style franais conforme Malo (1996) ***
+%%
+%% Copyright 1994-2004 Patrick W Daly
+ % ===============================================================
+ % IMPORTANT NOTICE:
+ % This bibliographic style (bst) file has been generated from one or
+ % more master bibliographic style (mbs) files, listed above.
+ %
+ % This generated file can be redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or any later version.
+ % ===============================================================
+ % Name and version information of the main mbs file:
+ % \ProvidesFile{merlin.mbs}[2004/02/09 4.13 (PWD, AO, DPC)]
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file requires a file named babelbst.tex
+ % containing the definitions of word commands like \bbleditor, etc.
+ % This is an author-year citation style bibliography. As such, it is
+ % non-standard LaTeX, and requires a special package file to function properly.
+ % Such a package is natbib.sty by Patrick W. Daly
+ % The form of the \bibitem entries is
+ % \bibitem[Jones et al.(1990)]{key}...
+ % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
+ % The essential feature is that the label (the part in brackets) consists
+ % of the author names, as they should appear in the citation, with the year
+ % in parentheses following. There must be no space before the opening
+ % parenthesis!
+ % With natbib v5.3, a full list of authors may also follow the year.
+ % In natbib.sty, it is possible to define the type of enclosures that is
+ % really wanted (brackets or parentheses), but in either case, there must
+ % be parentheses in the label.
+ % The \cite command functions as follows:
+ % \citet{key} ==>> Jones et al. (1990)
+ % \citet*{key} ==>> Jones, Baker, and Smith (1990)
+ % \citep{key} ==>> (Jones et al., 1990)
+ % \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
+ % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
+ % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
+ % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
+ % \citeauthor{key} ==>> Jones et al.
+ % \citeauthor*{key} ==>> Jones, Baker, and Smith
+ % \citeyear{key} ==>> 1990
+ %---------------------------------------------------------------------
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ doi
+ edition
+ editor
+ eid
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label short.list }
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+STRINGS { s t}
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ skip$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+FUNCTION {non.stop}
+{ duplicate$
+ "}" * add.period$
+ #-1 #1 substring$ "." =
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+FUNCTION {bib.name.font}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\bibnamefont{" swap$ * "}" * }
+ if$
+}
+FUNCTION {bib.fname.font}
+{ skip$ }
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$
+}
+
+FUNCTION {capitalize}
+{ "\capitalize" swap$ * }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The BABEL language selection is made here; definitions in babelbst.tex.
+FUNCTION {bbl.and}
+{ "\bbland{}"}
+
+FUNCTION {bbl.etal}
+{ "\bbletal{}"}
+
+FUNCTION {bbl.editors}
+{ "\bbleds{}" }
+
+FUNCTION {bbl.editor}
+{ "\bbled{}" }
+
+FUNCTION {bbl.edby}
+{ "\bbledby{}" }
+
+FUNCTION {bbl.edition}
+{ "\bbledn{}" }
+
+FUNCTION {bbl.volume}
+{ "\bblvol{}" }
+
+FUNCTION {bbl.of}
+{ "\bblof{}" }
+
+FUNCTION {bbl.number}
+{ "\bblno{}" }
+
+FUNCTION {bbl.nr}
+{ "\bblno{}" }
+
+FUNCTION {bbl.in}
+{ "\bblin{}" }
+
+FUNCTION {bbl.pages}
+{ "\bblpp{}" }
+
+FUNCTION {bbl.page}
+{ "\bblp{}" }
+
+FUNCTION {bbl.chapter}
+{ "\bblchap{}" }
+
+FUNCTION {bbl.techrep}
+{ "\bbltechrep{}" }
+
+FUNCTION {bbl.mthesis}
+{ "\bblmthesis{}" }
+
+FUNCTION {bbl.phdthesis}
+{ "\bblphdthesis{}" }
+
+FUNCTION {bbl.first}
+{ "\bblfirsto{}" }
+
+FUNCTION {bbl.second}
+{ "\bblsecondo{}" }
+
+FUNCTION {bbl.third}
+{ "\bblthirdo{}" }
+
+FUNCTION {bbl.fourth}
+{ "\bblfourtho{}" }
+
+FUNCTION {bbl.fifth}
+{ "\bblfiftho{}" }
+
+FUNCTION {bbl.st}
+{ "\bblst{}" }
+
+FUNCTION {bbl.nd}
+{ "\bblnd{}" }
+
+FUNCTION {bbl.rd}
+{ "\bblrd{}" }
+
+FUNCTION {bbl.th}
+{ "\bblth{}" }
+
+MACRO {jan} {"\bbljan{}"}
+
+MACRO {feb} {"\bblfeb{}"}
+
+MACRO {mar} {"\bblmar{}"}
+
+MACRO {apr} {"\bblapr{}"}
+
+MACRO {may} {"\bblmay{}"}
+
+MACRO {jun} {"\bbljun{}"}
+
+MACRO {jul} {"\bbljul{}"}
+
+MACRO {aug} {"\bblaug{}"}
+
+MACRO {sep} {"\bblsep{}"}
+
+MACRO {oct} {"\bbloct{}"}
+
+MACRO {nov} {"\bblnov{}"}
+
+MACRO {dec} {"\bbldec{}"}
+
+FUNCTION {eng.ord}
+{ duplicate$ "1" swap$ *
+ #-2 #1 substring$ "1" =
+ { bbl.th * }
+ { duplicate$ #-1 #1 substring$
+ duplicate$ "1" =
+ { pop$ bbl.st * }
+ { duplicate$ "2" =
+ { pop$ bbl.nd * }
+ { "3" =
+ { bbl.rd * }
+ { bbl.th * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+FUNCTION {bibinfo.check}
+{ swap$
+ duplicate$ missing$
+ {
+ pop$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ pop$
+ }
+ { swap$
+ pop$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {bibinfo.warn}
+{ swap$
+ duplicate$ missing$
+ {
+ swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ "empty " swap$ * " in " * cite$ * warning$
+ }
+ { swap$
+ pop$
+ }
+ if$
+ }
+ if$
+}
+STRINGS { bibinfo}
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ nameptr #1 >
+ { "{f.}" format.name$ duplicate$ empty$ 'skip$
+ { tie.or.space.prefix bib.fname.font swap$ * }
+ if$
+ s nameptr
+ "{vv~}{ll}" format.name$ bib.name.font *
+ s nameptr
+ "{jj}" format.name$ duplicate$ empty$ 'skip$
+ { bib.fname.font ", " swap$ * }
+ if$
+ }
+ { "{vv~}{ll}" format.name$ bib.name.font
+ s nameptr
+ "{f.}{, jj}"
+ format.name$ duplicate$ empty$ 'skip$
+ { bib.fname.font ", " swap$ * }
+ if$
+ }
+ if$
+ *
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal bib.name.font *
+ }
+ {
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+FUNCTION {format.names.ed}
+{
+ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f.~}{vv~}{ll}{, jj}"
+ format.name$
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+
+ " " * bbl.etal *
+ }
+ {
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author "author" format.names
+}
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+ {
+ "," *
+ " " *
+ get.bbl.editor
+ *
+ }
+ if$
+}
+FUNCTION {format.book.pages}
+{ pages "pages" bibinfo.check
+ duplicate$ empty$ 'skip$
+ { " " * bbl.pages * }
+ if$
+}
+FUNCTION {format.isbn}
+{ isbn "isbn" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ "ISBN " swap$ *
+ }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn "issn" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ "ISSN " swap$ *
+ }
+ if$
+}
+
+FUNCTION {format.doi}
+{ doi "doi" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ "\doi{" swap$ * "}" *
+ }
+ if$
+}
+FUNCTION {select.language}
+{ duplicate$ empty$
+ 'pop$
+ { language empty$
+ 'skip$
+ { "{\selectlanguage{" language * "}" * swap$ * "}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.note}
+{
+ url empty$
+ 'skip$
+ { "\urlprefix\url{" url * "}" * output }
+ if$
+ note empty$
+ { "" }
+ { note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ * "note" bibinfo.check
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title
+ duplicate$ empty$ 'skip$
+ { "t" change.case$ }
+ if$
+ "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ "\enquote{" swap$ *
+ "}, " *
+ select.language
+ }
+ if$
+}
+FUNCTION {end.quote.title}
+{ title empty$
+ 'skip$
+ { before.all 'output.state := }
+ if$
+}
+FUNCTION {format.full.names}
+{'s :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ }
+ {
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {author.editor.key.full}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {author.key.full}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.key.full}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.full
+ { type$ "proceedings" =
+ 'editor.key.full
+ 'author.key.full
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[{" write$
+ label write$
+ ")" make.full.names duplicate$ short.list =
+ { pop$ }
+ { * }
+ if$
+ "}]{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {if.digit}
+{ duplicate$ "0" =
+ swap$ duplicate$ "1" =
+ swap$ duplicate$ "2" =
+ swap$ duplicate$ "3" =
+ swap$ duplicate$ "4" =
+ swap$ duplicate$ "5" =
+ swap$ duplicate$ "6" =
+ swap$ duplicate$ "7" =
+ swap$ duplicate$ "8" =
+ swap$ "9" = or or or or or or or or or
+}
+FUNCTION {n.separate}
+{ 't :=
+ ""
+ #0 'numnames :=
+ { t empty$ not }
+ { t #-1 #1 substring$ if.digit
+ { numnames #1 + 'numnames := }
+ { #0 'numnames := }
+ if$
+ t #-1 #1 substring$ swap$ *
+ t #-2 global.max$ substring$ 't :=
+ numnames #5 =
+ { duplicate$ #1 #2 substring$ swap$
+ #3 global.max$ substring$
+ "\," swap$ * *
+ }
+ 'skip$
+ if$
+ }
+ while$
+}
+FUNCTION {n.dashify}
+{
+ n.separate
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in
+ " " * }
+
+FUNCTION {format.date}
+{ year "year" bibinfo.check duplicate$ empty$
+ {
+ }
+ 'skip$
+ if$
+ extra.label *
+ before.all 'output.state :=
+ after.sentence 'output.state :=
+}
+FUNCTION {format.btitle}
+{ title "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ emphasize
+ select.language
+ }
+ if$
+}
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.prefix
+ "volume" bibinfo.check * *
+ series "series" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { emphasize ", " * swap$ * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { number "number" bibinfo.check }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.prefix "number" bibinfo.check * *
+ bbl.in space.word *
+ series "series" bibinfo.check *
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {convert.edition}
+{ extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { bbl.first 't := }
+ { s "second" = s "2" = or
+ { bbl.second 't := }
+ { s "third" = s "3" = or
+ { bbl.third 't := }
+ { s "fourth" = s "4" = or
+ { bbl.fourth 't := }
+ { s "fifth" = s "5" = or
+ { bbl.fifth 't := }
+ { s #1 #1 substring$ is.num
+ { s eng.ord 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+ {
+ convert.edition
+ output.state mid.sentence =
+ { "l" }
+ { "t" }
+ if$ change.case$
+ "edition" bibinfo.check
+ " " * bbl.edition *
+ }
+ if$
+}
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+FUNCTION {format.pages}
+{ pages duplicate$ empty$ 'skip$
+ { duplicate$ multi.page.check
+ {
+ bbl.pages swap$
+ n.dashify
+ }
+ {
+ bbl.page swap$
+ }
+ if$
+ tie.or.space.prefix
+ "pages" bibinfo.check
+ * *
+ }
+ if$
+}
+FUNCTION {format.journal.pages}
+{ pages duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$
+ { pop$ pop$ format.pages }
+ {
+ ", " *
+ swap$
+ n.dashify
+ pages multi.page.check
+ 'bbl.pages
+ 'bbl.page
+ if$
+ swap$ tie.or.space.prefix
+ "pages" bibinfo.check
+ * *
+ *
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.journal.eid}
+{ eid "eid" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$ 'skip$
+ {
+ ", " *
+ }
+ if$
+ swap$ *
+ }
+ if$
+}
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ duplicate$ empty$ 'skip$
+ {
+ bbl.volume swap$ tie.or.space.prefix
+ "volume" bibinfo.check
+ * *
+ }
+ if$
+ number "number" bibinfo.check duplicate$ empty$ 'skip$
+ {
+ swap$ duplicate$ empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ swap$
+ ", " bbl.nr * number tie.or.space.prefix pop$ * swap$ *
+ }
+ if$ *
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ { "" }
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$
+ "type" bibinfo.check
+ }
+ if$
+ chapter tie.or.space.prefix
+ "chapter" bibinfo.check
+ * *
+ }
+ if$
+}
+
+FUNCTION {format.booktitle}
+{
+ booktitle "booktitle" bibinfo.check
+ emphasize
+}
+FUNCTION {format.in.ed.booktitle}
+{ format.booktitle duplicate$ empty$ 'skip$
+ {
+ format.bvolume duplicate$ empty$ 'pop$
+ { ", " swap$ * * }
+ if$
+ editor "editor" format.names.ed duplicate$ empty$ 'pop$
+ {
+ bbl.edby
+ " " * swap$ *
+ swap$
+ "," *
+ " " * swap$
+ * }
+ if$
+ word.in swap$ *
+ }
+ if$
+}
+FUNCTION {format.thesis.type}
+{ type duplicate$ empty$
+ 'pop$
+ { swap$ pop$
+ "t" change.case$ "type" bibinfo.check
+ }
+ if$
+}
+FUNCTION {format.tr.number}
+{ number "number" bibinfo.check
+ type duplicate$ empty$
+ { pop$ bbl.techrep }
+ 'skip$
+ if$
+ "type" bibinfo.check
+ swap$ duplicate$ empty$
+ { pop$ "t" change.case$ }
+ { tie.or.space.prefix * * }
+ if$
+}
+FUNCTION {format.article.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.book.crossref}
+{ volume duplicate$ empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ pop$ word.in
+ }
+ { bbl.volume
+ swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.incoll.inproc.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.org.or.pub}
+{ 't :=
+ ""
+ address empty$ t empty$ and
+ 'skip$
+ {
+ t empty$
+ { address "address" bibinfo.check *
+ }
+ { t *
+ address empty$
+ 'skip$
+ { ", " * address "address" bibinfo.check * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.publisher.address}
+{ publisher "publisher" bibinfo.warn format.org.or.pub
+}
+
+FUNCTION {format.organization.address}
+{ organization "organization" bibinfo.check format.org.or.pub
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ {
+ journal
+ "journal" bibinfo.check
+ emphasize
+ "journal" output.check
+ format.vol.num.pages output
+ format.doi output
+ }
+ { format.article.crossref output.nonnull
+ }
+ if$
+ eid empty$
+ { format.journal.pages }
+ { format.journal.eid }
+ if$
+ format.issn output
+ new.sentence
+ format.note output
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.edition output
+ format.number.series output
+ format.publisher.address output
+ }
+ {
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.isbn output
+ format.book.pages output
+ format.doi output
+ new.sentence
+ format.note output
+ fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ end.quote.title
+ howpublished "howpublished" bibinfo.check output
+ address "address" bibinfo.check output
+ format.isbn output
+ format.book.pages output
+ format.doi output
+ new.sentence
+ format.note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.edition output
+ format.number.series output
+ format.publisher.address output
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ crossref missing$
+ { format.isbn output }
+ 'skip$
+ if$
+ format.pages "pages" output.check
+ format.doi output
+ new.sentence
+ format.note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.edition output
+ format.chapter.pages output
+ format.number.series output
+ format.publisher.address output
+ format.isbn output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.pages "pages" output.check
+ format.doi output
+ new.sentence
+ format.note output
+ fin.entry
+}
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ end.quote.title
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.number.series output
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ format.isbn output
+ format.issn output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ format.pages "pages" output.check
+ format.doi output
+ new.sentence
+ format.note output
+ fin.entry
+}
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ organization "organization" bibinfo.check output
+ address "address" bibinfo.check output
+ format.edition output
+ format.doi output
+ new.sentence
+ format.note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle
+ "title" output.check
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.doi output
+ new.sentence
+ format.note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title output
+ end.quote.title
+ howpublished "howpublished" bibinfo.check output
+ format.doi output
+ new.sentence
+ format.note output
+ fin.entry
+}
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle
+ "title" output.check
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.doi output
+ new.sentence
+ format.note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ format.isbn output
+ format.issn output
+ format.doi output
+ new.sentence
+ format.note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title
+ "title" output.check
+ end.quote.title
+ format.tr.number output.nonnull
+ institution "institution" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.doi output
+ new.sentence
+ format.note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ end.quote.title
+ format.doi output
+ new.sentence
+ format.note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+READ
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+INTEGERS { len }
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+FUNCTION {format.lab.names}
+{ 's :=
+ "" 't :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$
+ " " * bbl.etal *
+ }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ " " * bbl.etal *
+ }
+ { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
+ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ "("
+ *
+ year duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ll{ }}{ f{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ " " *
+ namesleft #1 = t "others" = and
+ { "zzzzz" * }
+ { t sortify * }
+ if$
+ }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+SORT
+STRINGS { last.label next.extra }
+INTEGERS { last.extra.num number.label }
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
+}
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "{\natexlab{" swap$ * "}}" * }
+ if$
+ 'extra.label :=
+ label extra.label * 'label :=
+}
+EXECUTE {initialize.extra.label.stuff}
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+ITERATE {bib.sort.order}
+SORT
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+ "\ProvideTextCommand{\guillemotleft}{OT1}{%"
+ write$ newline$
+ " \leavevmode\raise .27ex\hbox{$\scriptscriptstyle\ll$}}"
+ write$ newline$
+ "\ProvideTextCommand{\guillemotright}{OT1}{%"
+ write$ newline$
+ " \leavevmode\raise .27ex\hbox{$\scriptscriptstyle\gg$}}"
+ write$ newline$
+ "\newcommand{\enquote}[1]{\guillemotleft#1\guillemotright}"
+ write$ newline$
+ "\providecommand{\natexlab}[1]{#1}"
+ write$ newline$
+ "\providecommand{\bibnamefont}[1]{#1}"
+ write$ newline$
+ "\providecommand{\url}[1]{\texttt{#1}}"
+ write$ newline$
+ "\providecommand{\urlprefix}{URL }"
+ write$ newline$
+ "\expandafter\ifx\csname urlstyle\endcsname\relax"
+ write$ newline$
+ " \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else"
+ write$ newline$
+ " \providecommand{\doi}{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi"
+ write$ newline$
+ "\providecommand{\selectlanguage}[1]{\relax}"
+ write$ newline$
+ "\input{babelbst.tex}" write$ newline$
+ "\newcommand{\Capitalize}[1]{\uppercase{#1}}" write$ newline$
+ "\newcommand{\capitalize}[1]{\expandafter\Capitalize#1}" write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+ITERATE {call.type$}
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
+%% End of customized bst file
+%%
+%% End of file `francais2.bst'.
diff --git a/configuration/francais.tex b/configuration/francais.tex
new file mode 100644
index 0000000..5a80bee
--- /dev/null
+++ b/configuration/francais.tex
@@ -0,0 +1,160 @@
+\usepackage[francais]{babel}
+\PrerenderUnicode{ÉéèêôÔàâïî} %Problème de la SMF dans les titres
+%\usepackage{aeguill}
+%\def«{\og}
+%\def»{\fg}
+%\usepackage[T1]{fontenc}
+%\usepackage{lmodern}
+
+% changement prp -> prop ; thm -> th etc. Cf. Bourbaki.
+
+
+% lemmes
+\newtheorem{lemme}[subsection]{Lemme} % Lemme 1.1
+\newtheorem{lemme2}[subsubsection]{Lemme} % Lemme 2.3.4
+\newtheorem{lemme3}[paragraph]{Lemme} % Lemme 4.5.6.7
+
+% propositions
+\newtheorem{proposition}[subsection]{Proposition} % Proposition 1.1 etc. (\begin{prop} ne semble pas possible)
+\newtheorem{proposition2}[subsubsection]{Proposition}
+\newtheorem{proposition3}[paragraph]{Proposition}
+
+% théorèmes
+\newtheorem{theoreme}[subsection]{Th\'eor\`eme}
+\newtheorem{theoreme2}[subsubsection]{Th\'eor\`eme}
+\newtheorem{theoreme3}[paragraph]{Th\'eor\`eme}
+
+\newtheorem{théorème}[subsection]{Th\'eor\`eme}
+\newtheorem{théorème2}[subsubsection]{Th\'eor\`eme}
+\newtheorem{théorème3}[paragraph]{Th\'eor\`eme}
+
+% corollaires
+\newtheorem{corollaire}[subsection]{Corollaire}
+\newtheorem{corollaire2}[subsubsection]{Corollaire}
+\newtheorem{corollaire3}[paragraph]{Corollaire}
+
+% définitions
+\theoremstyle{definition}
+\newtheorem{definition}[subsection]{D\'efinition}
+\newtheorem{definition2}[subsubsection]{D\'efinition}
+\newtheorem{definition3}[paragraph]{D\'efinition}
+\newtheorem{définition}[subsection]{D\'efinition}
+\newtheorem{définition2}[subsubsection]{D\'efinition}
+\newtheorem{définition3}[paragraph]{D\'efinition}
+
+\newtheorem{definitionrestreinte}[subsection]{D\'efinition restreinte}
+\newtheorem{definitionrestreinte2}[subsubsection]{D\'efinition restreinte}
+\newtheorem{definitionrestreinte3}[paragraph]{D\'efinition restreinte}
+\newtheorem{définitionrestreinte}[subsection]{D\'efinition restreinte}
+\newtheorem{définitionrestreinte2}[subsubsection]{D\'efinition restreinte}
+\newtheorem{définitionrestreinte3}[paragraph]{D\'efinition restreinte}
+
+
+
+% autres
+\newtheorem{remarque}[subsection]{Remarque}
+\newtheorem{remarque2}[subsubsection]{Remarque}
+\newtheorem{remarque3}[paragraph]{Remarque}
+\newtheorem{remarques}[subsection]{Remarques}
+\newtheorem{remarques2}[subsubsection]{Remarques}
+\newtheorem{remarques3}[paragraph]{Remarques}
+
+
+
+
+
+\newtheorem{sslemme}[subsection]{Sous-lemme}
+\newtheorem{sslemme2}[subsubsection]{Sous-lemme}
+\newtheorem{sslemme3}[paragraph]{Sous-lemme}
+\newtheorem{sous-lemme}[subsection]{Sous-lemme}
+\newtheorem{sous-lemme2}[subsubsection]{Sous-lemme}
+\newtheorem{sous-lemme3}[paragraph]{Sous-lemme}
+
+
+
+
+\newtheorem{conjecture}[subsection]{Conjecture}
+\newtheorem{conjecture2}[subsubsection]{Conjecture}
+\newtheorem{conjecture3}[paragraph]{Conjecture}
+
+\newtheorem{exercice}[subsection]{Exercice}
+\newtheorem{exercice2}[subsubsection]{Exercice}
+\newtheorem{exercice3}[paragraph]{Exercice}
+
+\newtheorem{exemple}[subsection]{Exemple}
+\newtheorem{exemple2}[subsubsection]{Exemple}
+\newtheorem{exemple3}[paragraph]{Exemple}
+\newtheorem{exemples}[subsection]{Exemples}
+\newtheorem{exemples2}[subsubsection]{Exemples}
+\newtheorem{exemples3}[paragraph]{Exemples}
+
+\newtheorem{variante}[subsection]{Variante}
+\newtheorem{variante2}[subsubsection]{Variante}
+\newtheorem{variante3}[paragraph]{Variante}
+
+\newtheorem{convention}[subsection]{Convention}
+\newtheorem{convention2}[subsubsection]{Convention}
+\newtheorem{convention3}[paragraph]{Convention}
+
+\newtheorem{conventionrestreinte}[subsection]{Convention restreinte}
+\newtheorem{conventionrestreinte2}[subsubsection]{Convention restreinte}
+\newtheorem{conventionrestreinte3}[paragraph]{Convention restreinte}
+
+\newtheorem{miseengarde}[subsection]{Mise en garde}
+\newtheorem{miseengarde2}[subsubsection]{Mise en garde}
+\newtheorem{miseengarde3}[paragraph]{Mise en garde}
+
+
+%% version précédente
+
+\newtheorem{prpnn}{Proposition}
+\newtheorem{prp}[subsection]{Proposition} %mettre subsubsection partout si on veut du 1.2.3 et non 1.2 seulement ; idem pour les equations
+\newtheorem{prop3}[paragraph]{Proposition}
+\newtheorem{prp3}[paragraph]{Proposition}
+%\newtheorem{lmm3}[paragraph]{Lemme}
+\newtheorem{prp2}[subsubsection]{Proposition}
+\newtheorem{prop2}[subsubsection]{Proposition}
+\newtheorem{thm}[subsection]{Th\'eor\`eme}
+%\newtheorem{th}[subsection]{Th\'eor\`eme}
+%\newtheorem{thm-sn}{Théorème}
+% marche pas pour ne pas avoir de numéro...
+\newtheorem{thm2}[subsubsection]{Th\'eor\`eme}
+\newtheorem{th2}[subsubsection]{Th\'eor\`eme}
+\newtheorem{constr2}[subsubsection]{Construction}
+\newtheorem{constr}[subsection]{Construction}
+\newtheorem{constr3}[paragraph]{Construction}
+\newtheorem{thm3}[paragraph]{Th\'eor\`eme}
+\newtheorem{th3}[paragraph]{Th\'eor\`eme}
+\newtheorem{lmm}[subsection]{Lemme}
+\newtheorem{lmm2}[subsubsection]{Lemme}
+\newtheorem{lmm3}[paragraph]{Lemme}
+\newtheorem{crl3}[paragraph]{Corollaire}
+\newtheorem{rmr3}[paragraph]{Remarque}
+\newtheorem{exm3}[paragraph]{Exemple}
+\newtheorem{exo3}[paragraph]{Exercice}
+\newtheorem{cor3}[paragraph]{Corollaire}
+\newtheorem{sslmm2}[subsubsection]{Sous-lemme}
+\newtheorem{sslmm}[subsection]{Sous-lemme}
+\newtheorem{cnj}[subsection]{Conjecture}
+\newtheorem{crl}[subsection]{Corollaire}
+\newtheorem{cor}[subsection]{Corollaire}
+\newtheorem{crl2}[subsubsection]{Corollaire}
+\newtheorem{cor2}[subsubsection]{Corollaire}
+
+\theoremstyle{definition}
+\newtheorem{dfn}[subsection]{D\'efinition}
+\newtheorem{dfn2}[subsubsection]{D\'efinition}
+%impossible car def déjà défini
+\newtheorem{déf}[subsection]{D\'efinition}
+\newtheorem{déf2}[subsubsection]{D\'efinition}
+\newtheorem{déf3}[paragraph]{Définition}
+\newtheorem{definitionprov}{D\'efinition Provisoire}
+\newtheorem{exm}[subsection]{Exemple}
+\newtheorem{rmr}[subsection]{Remarque}
+\newtheorem{rmr2}[subsubsection]{Remarque}
+\newtheorem{exms}[subsection]{Exemples}
+\newtheorem{rmrs}[subsection]{Remarques}
+\newtheorem{rmrs2}[subsubsection]{Remarques}
+\newtheorem{exm2}[subsubsection]{Exemple}
+\newtheorem{exms2}[subsubsection]{Exemples}
+\newtheorem{exo2}[subsubsection]{Exercice}
diff --git a/configuration/gadgets.tex b/configuration/gadgets.tex
new file mode 100644
index 0000000..224ffb9
--- /dev/null
+++ b/configuration/gadgets.tex
@@ -0,0 +1,6 @@
+%\usepackage[notcite]{showkeys}
+\usepackage[inline]{showlabels} % mieux que showkeys (pas dans la marge et accepte accents mais pas _
+%\usepackage{lineno}
+%\linenumbers*[1]
+%\pagewiselinenumbers
+%\modulolinenumbers[2]
diff --git a/configuration/modele.tex b/configuration/modele.tex
new file mode 100644
index 0000000..49ddc85
--- /dev/null
+++ b/configuration/modele.tex
@@ -0,0 +1,55 @@
+\ifx\danslelivre\undefined
+\documentclass[9pt]{smfart-moi}
+\input{commun}
+\input{smf}
+\input{adresse}
+\input{gadgets}
+\input{francais}
+\input{numerotation}
+\input{formules}
+\input{encoredesmacros}
+
+\usepackage{stmaryrd}
+\usepackage{graphics}
+\usepackage[usenames,dvipsnames]{xcolor}
+%\usepackage{makeidx}
+\usepackage{tikz}
+\usetikzlibrary{matrix}
+\usepackage{srcltx} % pour passer du dvi au tex en cliquant
+%\usepackage{pxfonts}
+
+\textwidth13cm % pour pouvoir lire le nom des étiquettes si \usepackage{showkeys}
+\externaldocument{extensions-algebriques} % là où regarder
+\externaldocument{correspondance-galois}
+\externaldocument{algo-corps-finis}
+\externaldocument{corps-finis}
+\externaldocument{formes-tordues}
+\externaldocument{brauer}
+\externaldocument{verselles}
+\externaldocument{krull}
+\externaldocument{Boole}
+\externaldocument{calculs-galois}
+\externaldocument{entiers}
+\externaldocument{categories}
+\externaldocument{spectre}
+\externaldocument{produit-tensoriel}
+
+%\makeindex
+
+\title{Titre}
+
+\begin{document}
+\maketitle
+\tableofcontents
+\else
+\chapter{Titre}
+\fi
+
+
+
+
+\ifx\danslelivre\undefined
+\bibliography{bibliographie-livre}
+\bibliographystyle{style-bib-livre}
+\end{document}
+\fi
diff --git a/configuration/numerotation.tex b/configuration/numerotation.tex
new file mode 100644
index 0000000..5acf252
--- /dev/null
+++ b/configuration/numerotation.tex
@@ -0,0 +1,25 @@
+%\renewcommand{\thechapter}{\Roman{chapter}} %pour la thèse juste.
+\renewcommand{\thefootnote}{\roman{footnote}}
+\renewcommand{\theenumi}{\textbf{\roman{enumi}}}
+
+\makeatletter
+%\renewcommand\theequation{\thesection.\textbf{\alph{equation}}}
+\renewcommand\theequation{\thesubsection.\textbf{\alph{equation}}}
+%\renewcommand\theequation{\thesubsection.\roman{equation}}
+\@addtoreset{equation}{subsection}
+\makeatother
+
+\renewcommand\thesubsubsection{\textbf{\thesubsection.\arabic{subsubsection}}} %met en gras les références mais pas le numéro.
+\renewcommand\thesubsection{\textbf{\thesection.\arabic{subsection}}}
+
+%\renewcommand\theparagraph{\textbf{\thesubsubsection.\alph{paragraph}}}
+%\renewcommand\theparagraph{\textbf{\thesubsubsection.\roman{paragraph}}}
+\renewcommand\theparagraph{\textbf{\thesubsubsection.\arabic{paragraph}}}
+\ifx\danslelivre\undefined
+\else
+\renewcommand\thechapter {\Roman{chapter}}
+\fi
+\newenvironment{facultatif}{\bgroup\footnotesize}{\egroup}
+
+\setcounter{tocdepth}{2}
+
diff --git a/configuration/smf.tex b/configuration/smf.tex
new file mode 100644
index 0000000..3e45ad3
--- /dev/null
+++ b/configuration/smf.tex
@@ -0,0 +1 @@
+\usepackage{smfthm-moi}
diff --git a/configuration/smfalpha.bst b/configuration/smfalpha.bst
new file mode 100644
index 0000000..220c9b9
--- /dev/null
+++ b/configuration/smfalpha.bst
@@ -0,0 +1,1255 @@
+%%
+%% This is file `smfalpha.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% smfbib.dtx (with options: `alpha')
+%%
+%%% ==================================================================== %%%
+%%% FORMATS BibTeX SMF
+%%% Styles BibTeX pour la SMF
+%%% (c) A. Chambert-Loir et SMF, 1996-98
+%%% ==================================================================== %%%
+%% \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 \~}
+%%
+%% @BibTeX-style-file{"smfplain.bst"
+%% date="1998/06/15",
+%% version="v0.1"}
+%% Types of entries currently allowed in a BibTeX file:
+%% ARTICLE -- An article from a journal or magazine.
+%% BOOK -- A book with an explicit publisher.
+%% BOOKLET -- A work that is printed and bound,
+%% but without a named publisher or sponsoring institution.
+%% CONFERENCE -- The same as INPROCEEDINGS,
+%% included for Scribe compatibility.
+%% INBOOK -- A part of a book,
+%% which may be a chapter (or section or whatever) and/or a range of pages.
+%% INCOLLECTION -- A part of a book having its own title.
+%% INPROCEEDINGS -- An article in a conference proceedings.
+%% MANUAL -- Technical documentation.
+%% MASTERSTHESIS -- A Master's thesis.
+%% MISC -- Use this type when nothing else fits.
+%% PHDTHESIS -- A PhD thesis.
+%% PROCEEDINGS -- The proceedings of a conference.
+%% TECHREPORT -- A report published by a school or other institution,
+%% usually numbered within a series.
+%% UNPUBLISHED -- A document having an author and title, but not formally
+%% published.
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.name }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'after.name :=
+ #2 'mid.sentence :=
+}
+
+
+STRINGS { s t }
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {guillemetize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\og " swap$ * "\fg}" * }
+ if$
+}
+
+FUNCTION {scapify}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\scshape " swap$ * "}" * }
+ if$
+}
+
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+{ t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+{ "-" *
+ t #2 global.max$ substring$ 't :=
+}
+ while$
+ }
+ if$
+}
+{ t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+}
+ if$
+ }
+ while$
+}
+
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {add.space.if.necessary}
+{ duplicate$ "" =
+ 'skip$
+ { " " * }
+ if$
+}
+
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state after.name =
+ { extra.label "\bysame" =
+ { ", " * write$ }
+ { " -- " * write$ }
+ if$
+ mid.sentence 'output.state := }
+ { output.state mid.sentence =
+ { ", " * write$ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ after.name 'output.state := }
+ if$ }
+ if$
+ s
+}
+
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+
+FUNCTION {missing.warning}
+{ "missing " swap$ * " in " * cite$ * warning$ }
+
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ t missing.warning }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+
+FUNCTION {format.language}
+{ language empty$
+ { "" }
+ { " (" language * ")" * }
+ if$
+}
+INTEGERS { nameptr namesleft numnames }
+
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+{ namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+{ "" * }
+'skip$
+ if$
+ t "others" =
+{ " {\normalfont et~al.}" * }
+{ " {\normalfont \smfandname} " * t * }
+ if$
+ }
+ if$
+}
+'t
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { extra.label "\bysame" =
+ { "\bysame " }
+ { author format.names scapify }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { extra.label "\bysame" =
+ { "\bysame " }
+ { editor format.names scapify }
+ if$
+ editor num.names$ #1 >
+ { " (\smfedsname)" * }
+ { " (\smfedname)" * }
+ if$
+ "\nomorebysame" 'extra.label :=
+ }
+ if$
+}
+
+FUNCTION {format.nonauthor.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+{ ", \smfedsname" * }
+{ ", \smfedname" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.booktitle}
+{ title empty$
+ { "" }
+ { title "t" change.case$ emphasize }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ guillemetize }
+ if$
+}
+
+FUNCTION {format.journal.vol.year}
+{ journal empty$
+ { "journal name" missing.warning ""}
+ { journal emphasize }
+ if$
+ volume empty$
+ 'skip$
+ { " \textbf{" * volume * "}" * }
+ if$
+ year empty$
+ { "year" missing.warning }
+ { " (" * year * ")" * }
+ if$
+}
+
+
+FUNCTION {format.number}
+{ number empty$
+ { "" }
+ { "no.~" number * }
+ if$
+}
+
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+{ "" }
+{ "there's a month but no year in " cite$ * warning$
+ month
+}
+ if$
+ }
+ { month empty$
+'year
+{ month " " * year * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.bookvolume.series.number}
+{ volume empty$
+ { "" % Push the empty string as a placeholder in case everything else
+ % is empty too.
+ series empty$
+ 'skip$
+ { pop$ series } % if series is not empty put in stack
+ if$
+ number empty$
+ 'skip$
+ { duplicate$ empty$ % if no preceding material,
+ 'skip$ % do nothing, otherwise
+ { ", " * } % add a comma and space to separate.
+ if$
+ "no." number tie.or.space.connect * % add the number information
+ }
+ if$
+ }
+%% If the volume is NOT EMPTY:
+ { "vol." volume tie.or.space.connect % vol. XX
+ number empty$
+ { series empty$
+ 'skip$
+ { series ", " * swap$ *} % Series Name, vol. XX
+ if$
+ }
+ { series empty$
+ { "can't use both volume and number if series info is missing"
+ warning$
+ "in BibTeX entry type `" type$ * "'" * top$
+ }
+ { ", " * series * ", no." * number tie.or.space.connect }
+ if$
+ }
+ if$
+ }
+ if$
+
+} % end of format.bookvolume.series.number
+
+%% format.inproc.title.where.editors is used by inproceedings entry types
+
+FUNCTION {format.inproc.title.address.editors}
+{ booktitle empty$
+ { "" }
+%% Emphasizing the title. We want initial caps, roman.
+ { booktitle emphasize }
+ if$
+%% We add parentheses around the address (place where conference
+%% was held).
+ address empty$
+ 'skip$
+ { add.space.if.necessary "(" * address * ")" * }
+ if$
+%% Likewise we add parentheses around the editors' names.
+ editor empty$
+ 'skip$
+ { add.space.if.necessary "(" * format.nonauthor.editors * ")" * }
+ if$
+}
+
+%% format.incoll.title.editors is similar to format.inproc... but
+%% omits the address. For collections that are not proceedings volumes.
+
+FUNCTION {format.incoll.title.editors}
+{ booktitle empty$
+ { "" }
+%% No case changing or emphasizing for the title. We want initial
+%% caps, roman.
+ { booktitle }
+ if$
+%% We add parentheses around the editors' names.
+ editor empty$
+ 'skip$
+ { add.space.if.necessary "(" * format.nonauthor.editors * ")" * }
+ if$
+}
+
+
+FUNCTION {format.number.series}
+{ series empty$
+ { number empty$
+ { "" }
+ { "there's a number but no series in " cite$ * warning$ }
+ if$
+ }
+ { series
+ number empty$
+ 'skip$
+ { "\ \textbf{" * number * "}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+{ edition "l" change.case$ " \smfedname" * }
+{ edition "t" change.case$ " \smfedname" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+{ #1 'multiresult := }
+{ t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { "p.~" pages n.dashify * }
+ if$
+}
+
+FUNCTION {format.book.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+{ "p.~" pages n.dashify * }
+{ "p.~" pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+{ "ch.~" }
+{ type "l" change.case$ " " * }
+ if$
+ chapter *
+ pages empty$
+'skip$
+{ ", " * format.book.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Tech. Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+{ "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+}
+{ "in " journal * }
+ if$
+ }
+ { "in " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+'skip$
+{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " \smfandname\ " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+}
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "in "
+ }
+ { "vol." volume tie.or.space.connect
+ " de " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+{ series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series * }
+ if$
+}
+{ key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ key empty$
+ { booktitle empty$
+ { editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { "need editor, key, or booktitle for " cite$ * "to crossref " *
+ crossref * warning$ "" }
+ { "in " format.crossref.editor * }
+ if$ }
+ { "in \emph{" booktitle * "}" * }
+ if$ }
+ { "in " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.journal.vol.year output
+ format.number output
+ format.pages "pages" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.language *
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+{ "author and editor" editor either.or.check }
+'skip$
+ if$
+ }
+ if$
+ format.booktitle "title" output.check
+ format.edition output
+ crossref missing$
+ { format.bookvolume.series.number output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.book.crossref output.nonnull
+ }
+ if$
+ format.date "year" output.check
+ format.language *
+ note output
+ fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ format.booktitle "title" output.check
+ howpublished output
+ address output
+ format.date output
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+{ "author and editor" editor either.or.check }
+'skip$
+ if$
+ }
+ if$
+ format.title "title" output.check
+ crossref missing$
+ { format.bookvolume.series.number output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.language *
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.incoll.title.editors "booktitle" output.check
+ format.bookvolume.series.number output
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ note output
+ format.book.pages output
+ format.language *
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ crossref missing$
+ { format.inproc.title.address.editors "booktitle" output.check
+ format.bookvolume.series.number output
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ note output
+ format.book.pages output
+ format.language *
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+'skip$
+{ organization output.nonnull
+ address output
+}
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ format.booktitle "title" output.check
+ author empty$
+ { organization empty$
+{ address output }
+'skip$
+ if$
+ }
+ { organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.booktitle "title" output.check
+ "\smfmastersthesisname" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ "\smfphdthesisname" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ note output
+ format.book.pages output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ format.booktitle "title" output.check
+ format.bookvolume.series.number output
+ address empty$
+ { editor empty$
+ 'skip$
+{ organization output }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ editor empty$
+'skip$
+{ organization output }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ note output
+ fin.entry
+}
+
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ format.title output
+ howpublished output
+ format.date output
+ note output
+ format.book.pages output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ format.title "title" output.check
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+FUNCTION {default.type} { misc }
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s num.names$ 'numnames :=
+ numnames #1 >
+ { numnames #4 >
+ { #3 'namesleft := }
+ { numnames 'namesleft := }
+ if$
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ { nameptr numnames =
+ { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ }
+ { s nameptr "{v{}}{l{}}" format.name$ * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ numnames #4 >
+ { "{\etalchar{+}}" *
+ #1 'et.al.char.used :=
+ }
+ 'skip$
+ if$
+ }
+ { s #1 "{v{}}{l{}}" format.name$
+ duplicate$ text.length$ #2 <
+ { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key #3 text.prefix$ }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ duplicate$
+ year field.or.null purify$ #-1 #2 substring$
+ *
+ 'label :=
+ year field.or.null purify$ #-1 #4 substring$
+ *
+ sortify 'sort.label :=
+}
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+{ " " * }
+'skip$
+ if$
+%% s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ s nameptr "{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+{ "et~al" * }
+{ t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+{ "to sort, need author or key in " cite$ * warning$
+ ""
+}
+{ key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+{ key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+}
+{ editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+{ key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+}
+{ "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+{ key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+}
+{ "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+{
+ calc.label
+ sort.label
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+'editor.organization.sort
+{ type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+}
+ if$
+ }
+ if$
+ *
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+STRINGS { longest.label last.sort.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+FUNCTION {begin.bib}
+{
+ et.al.char.used
+ { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+ 'skip$
+ if$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\providecommand{\bysame}{\leavevmode ---\ }" write$ newline$
+ "\providecommand{\og}{}" write$ newline$
+ "\providecommand{\fg}{}" write$ newline$
+ "\providecommand{\smfandname}{et}" write$ newline$
+ "\providecommand{\smfedsname}{\'eds.}" write$ newline$
+ "\providecommand{\smfedname}{\'ed.}" write$ newline$
+ "\providecommand{\smfmastersthesisname}{M\'emoire}" write$ newline$
+ "\providecommand{\smfphdthesisname}{Th\`ese}" write$ newline$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%%
+%% End of file `smfalpha.bst'.
diff --git a/configuration/smfart-moi.cls b/configuration/smfart-moi.cls
new file mode 100644
index 0000000..8e5ed6f
--- /dev/null
+++ b/configuration/smfart-moi.cls
@@ -0,0 +1,1345 @@
+%%
+%% This is file `smfart.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% smfclass.dtx (with options: `article')
+%%
+%%
+%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %% Classes, paquetages pour les publications de la SMF %%
+%% %% (c) 1999-2001 Societe mathematique 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-moi}[2005/03/10 v1.3g
+ 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}}
+\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{\@xxvpt}{30}}%
+ \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 Courriel~:}~{\ttfamily\ignorespaces ##2}}}%
+ \def\urladdr##1##2{\@ifnotempty{##2}%
+ {\cond@bullet
+ {\itshape Adresse r\'eticulaire~:}~{\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}\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\@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
+ \let\@svsec\@empty
+ \let\@svnl\@empty
+ \let\@svspace\@empty
+ \else
+ \@xp\let\@xp\@secnumber\csname the#1\endcsname
+ \refstepcounter{#1}%
+ \@xp\ifx\csname #1name\endcsname\@empty
+ \let\@svnl\@empty
+ \def\@svspace{.\enspace}\def\@svsec{\csname the#1\endcsname}%
+ \else
+ \def\@svsec{\ignorespaces\csname #1name\endcsname\space
+ \protect\textup{\csname the#1\endcsname}}%
+ \let\@svspace\@empty
+ \def\@svnl{\@@par\nobreak\smallskip\nobreak}%
+ \fi
+ \fi
+ \@tempskipa #5\relax
+ \ifsmf@skippt\@tempskipa 1sp\smf@skipptfalse\fi
+ \ifdim \@tempskipa>\z@
+ \begingroup
+ #6{\@hangfrom{\hskip #3\relax\@svsec\@svspace}%
+ \@svnl
+ \interlinepenalty\@M #8\@@par}%
+ \endgroup
+ \csname #1mark\endcsname{#7}%
+ \ifnum#2>\@m \else \@tocwrite{#1}{#8}\fi
+ \par \nobreak
+ \vskip \@tempskipa
+ \global\@nobreaktrue
+ \@afterheading
+ \else
+ \@ifempty{#8}%
+ {\def\@svsechd{#6{\hskip #3\relax\@svsec\@svspace}%
+ \ifnum#2>\@m \else \@tocwrite{#1}{#8}\fi }}%
+ {\def\@svsechd{#6{\hskip #3\relax\@svsec\@svspace
+ {\ignorespaces #8\pointrait\nobreak\ignorespaces}
+ \ifnum#2>\@m \else \@tocwrite{#1}{#8}\fi }}}%
+ \global\@nobreakfalse \global\@noskipsectrue
+ \everypar{%
+ \if@noskipsec
+ \global\@noskipsecfalse
+ \clubpenalty\@M \hskip -\parindent
+ \begingroup \@svsechd \endgroup
+ \unskip
+ \@tempskipa#5\relax\hskip -\@tempskipa
+ \else
+ \clubpenalty \@clubpenalty
+ \everypar{}%
+ \fi}%
+ \fi
+}
+\let\@xsect\relax
+\let\@ssect\relax
+\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}{-.5ex}%
+ {\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}{-.5ex}%
+ {\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\do{%
+ \@ifundefined{r@tocindent\@tempa}{%
+ \@xp\gdef\csname r@tocindent\@tempa\endcsname{0pt}}{}%
+ }%
+}
+\def\@writetocindents{%
+ \begingroup
+ \@for\@tempa:=-1,0,1,2,3\do{%
+ \immediate\write\@auxout{%
+ \string\newlabel{tocindent\@tempa}{%
+ \csname r@tocindent\@tempa\endcsname}}%
+ }%
+ \endgroup}
+\AtEndDocument{\@writetocindents}
+\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\@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\@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}
+\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
+\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
+ \columnseprule0pt \columnsep 35\p@
+ \ifhave@multicol
+ \begin{multicols}{2}[\section*{\indexname}]%
+ \else
+ \twocolumn[\section*{\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}}%
+\def\@begintheorem#1#2[#3]{%
+ \def\@theoremhead{\normalfont\the\thm@headfont
+ \@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}}%
+ \sbox\@tempboxa{\@theoremhead}%
+ \ifdim\wd\@tempboxa>0.7\linewidth \smf@skippttrue\fi
+ \ifsmf@skippt
+ \global\smf@skipptfalse
+ \item [\thm@indent]%
+ {\sloppy\@theoremhead\parskip\z@\@@par}%
+ \nobreak\everypar{}%
+ \let\thmheadnl\relax
+ \else
+ \item[\hskip\labelsep\thm@indent\unhbox\@tempboxa\the\thm@headpunct]%
+%% \hskip\z@\ignorespaces
+ \fi
+ \@restorelabelsep
+ \thmheadnl % possibly a newline.
+ \ignorespaces}
+\newif\ifx@pushQED
+\@ifundefined{pushQED}{\x@pushQEDfalse}{\x@pushQEDtrue}
+\newenvironment{dmo}[1][\proofname]{\par
+ \ifx@pushQED \pushQED{\qed}\fi
+ \normalfont
+ \topsep6\p@\@plus6\p@ \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
+}
+\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.5\linespacing \@plus .5\linespacing
+ \thm@postskip\thm@preskip
+ \thm@headpunct{\pointrait}
+ \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\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 \hbox{---}\else{\upshape.\hskip 1ex\hbox{---}}\fi}
+\DeclareRobustCommand{\MakePointrait}{%
+ \ifsmf@skippt\global\smf@skipptfalse \else\nobreak\pointrait\fi}
+\def\fullwidthdisplay{\displayindent\z@ \displaywidth\columnwidth}
+\edef\@tempa{\noexpand\fullwidthdisplay\the\everydisplay}
+\everydisplay\expandafter{\@tempa}
+\newcommand\see[2]{{\em \seename\/} #1}%
+\calclayout % initialize
+\pagenumbering{arabic}
+\pagestyle{headings}
+\thispagestyle{plain}
+\emergencystretch 2em
+\endinput
+%%
+%% End of file `smfart.cls'.
diff --git a/configuration/smfbook-moi.cls b/configuration/smfbook-moi.cls
new file mode 100644
index 0000000..a3320e6
--- /dev/null
+++ b/configuration/smfbook-moi.cls
@@ -0,0 +1,1452 @@
+%%
+%% This is file `smfbook.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% smfclass.dtx (with options: `book')
+%%
+%%
+%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %% Classes, paquetages pour les publications de la SMF %%
+%% %% (c) 1999-2001 Societe mathematique 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{smfbook}[2005/03/10 v1.3h
+ Classe LaTeX pour les monographies editees par la SMF]
+\def\@classname{smfbook}
+\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\org@markboth
+ \def\partmark {\@secmark\markboth\partrunhead\partname}%
+ \def\chaptermark {\@secmark\markboth\chapterrunhead\chaptername}%
+ \def\sectionmark {\@secmark\markright\sectionrunhead\sectionname}%
+ \def\indexmark {\@secmark\markboth\indexrunhead\indexname}%
+}
+\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}}
+\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{\@xxvpt}{30}}%
+ \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
+ \raggedright
+ \interlinepenalty\@M
+ \def\baselinestretch{1}\par
+ \normalfont
+ \def\\{\unskip, \penalty-5\ignorespaces}%
+ \def\author##1{\nobreak \bigskip
+ {\itshape ##1}\par}%
+ \def\address##1##2{\smallskip\nobreak
+ \ignorespaces##2\unskip.\par}%
+ \let\curraddr\address
+ \def\email##1##2{\@ifnotempty{##2}{\smallskip\nobreak
+ {\itshape Courriel~:} {\ttfamily\ignorespaces##2}\par}}%
+ \def\urladdr##1##2{\@ifnotempty{##2}{\smallskip\nobreak
+ {\itshape Url~:} {\ttfamily\ignorespaces##2}\par}}%
+ \addresses
+ \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\itshape}
+\def\@setdedicatory{%
+ \ifx\@dedicatory\@empty\else
+ \begingroup
+ \def\signature##1{\nobreak\hskip 2em plus 1fil
+ \penalty-5\hbox{}\nobreak\hfil\parfillskip=0pt
+ \mbox{\upshape ##1}\par}
+ \clearpage\thispagestyle{empty}
+ \hbox{}\vfil
+ \leftskip=.2\textwidth
+ \dedicatoryfont
+ \@dedicatory
+ \par\vfil
+ \cleardoublepage
+ \endgroup
+ \fi}
+\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{\normalfont}
+\newdimen\abstractmargin
+\abstractmargin0pt
+\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@titlei{\clearpage\thispagestyle{empty}
+ \vspace*{-2cm}\enlargethispage{2cm}
+ \topskip\z@skip
+ \vfil
+ \begin{raggedleft}
+ \Large \bfseries
+ \def\and{\par\medskip}\authors\par
+ \end{raggedleft}
+ \vfil
+ \hrule height 1pt
+ \vfil
+ \begin{raggedright}
+ \huge\bfseries\smf@boldmath
+ \MakeUppercase\@title\par
+ \vfil
+ \hrule height 1pt
+ \vfil\vfil
+ \end{raggedright}
+ \vfilneg
+}
+\def\smf@titleii{\clearpage
+ \thispagestyle{empty}
+ \ifx\@empty\addresses\else \@setaddresses\fi
+ \vfill
+ \ifx\@empty\@subjclass
+ \ifx\@empty\@keywords\else
+ \hrule\medskip\@setkeywords\medskip\hrule\vfill\fi
+ \else
+ \hrule\medskip\@setsubjclass\par\medskip
+ \ifx\@empty\@keywords\else\@setkeywords\par\medskip\fi
+ \hrule\vfill
+ \fi
+ \ifx\@empty\@translators\else\@settranslators\bigskip\fi
+ \ifx\@empty\thankses\else\@setthanks\par\fi
+ \ifx\@empty\@date\else\@setdate\fi
+ \vfilneg
+}
+\def\smf@titleiii{%
+ \clearpage\thispagestyle{copyright}
+ \markboth{\@nx\shortauthors}{\@nx\shorttitle}
+ %% INSERER UNE IMAGE
+ \null
+ \vskip 12\medskipamount plus 8\medskipamount
+ \begin{center}\Large\bfseries\smf@boldmath
+ {\MakeUppercase\@title\par}
+ \vskip 4\medskipamount plus 2\medskipamount
+ \def\and{,\ \penalty-1}\authors\par
+ \end{center}
+ \vskip 8\medskipamount plus 4 \medskipamount
+ \@setabstract\par
+ \vskip 1\medskipamount plus 1\medskipamount
+ \penalty-100
+ \@setaltabstract\par
+}
+\def\@maketitle{\cleardoublepage
+ \begingroup
+ \parindent\z@
+ \smf@titlei \smf@titleii \@setdedicatory \smf@titleiii \cleardoublepage
+ \endgroup}
+\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}\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\@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
+ \let\@svsec\@empty
+ \let\@svnl\@empty
+ \let\@svspace\@empty
+ \else
+ \@xp\let\@xp\@secnumber\csname the#1\endcsname
+ \refstepcounter{#1}%
+ \@xp\ifx\csname #1name\endcsname\@empty
+ \let\@svnl\@empty
+ \def\@svspace{.\enspace}\def\@svsec{\csname the#1\endcsname}%
+ \else
+ \def\@svsec{\ignorespaces\csname #1name\endcsname\space
+ \protect\textup{\csname the#1\endcsname}}%
+ \let\@svspace\@empty
+ \def\@svnl{\@@par\nobreak\smallskip\nobreak}%
+ \fi
+ \fi
+ \@tempskipa #5\relax
+ \ifsmf@skippt\@tempskipa 1sp\smf@skipptfalse\fi
+ \ifdim \@tempskipa>\z@
+ \begingroup
+ #6{\@hangfrom{\hskip #3\relax\@svsec\@svspace}%
+ \@svnl
+ \interlinepenalty\@M #8\@@par}%
+ \endgroup
+ \csname #1mark\endcsname{#7}%
+ \ifnum#2>\@m \else \@tocwrite{#1}{#8}\fi
+ \par \nobreak
+ \vskip \@tempskipa
+ \global\@nobreaktrue
+ \@afterheading
+ \else
+ \@ifempty{#8}%
+ {\def\@svsechd{#6{\hskip #3\relax\@svsec\@svspace}%
+ \ifnum#2>\@m \else \@tocwrite{#1}{#8}\fi }}%
+ {\def\@svsechd{#6{\hskip #3\relax\@svsec\@svspace
+ {\ignorespaces #8\pointrait\nobreak\ignorespaces}
+ \ifnum#2>\@m \else \@tocwrite{#1}{#8}\fi }}}%
+ \global\@nobreakfalse \global\@noskipsectrue
+ \everypar{%
+ \if@noskipsec
+ \global\@noskipsecfalse
+ \clubpenalty\@M \hskip -\parindent
+ \begingroup \@svsechd \endgroup
+ \unskip
+ \@tempskipa#5\relax\hskip -\@tempskipa
+ \else
+ \clubpenalty \@clubpenalty
+ \everypar{}%
+ \fi}%
+ \fi
+}
+\let\@xsect\relax
+\let\@ssect\relax
+\setcounter{secnumdepth}{5}
+\newcounter{part}
+\newcounter{chapter}
+\newcounter{section}[chapter]
+\newcounter{subsection}[section]
+\newcounter{subsubsection}[subsection]
+\newcounter{paragraph}[subsubsection]
+\renewcommand\thepart {\Roman{part}}
+\renewcommand\thechapter {\arabic{chapter}}
+\renewcommand\thesection {\thechapter.\arabic{section}}
+\renewcommand\thesubsection{\thesection.\arabic{subsection}}
+\renewcommand\thesubsubsection
+ {\thesubsection.\arabic{subsubsection}}
+\renewcommand\theparagraph {\thesubsubsection.\arabic{paragraph}}
+\def\part{\cleardoublepage \thispagestyle{empty}%
+ \null\vfil \markboth{}{}\secdef\@part\@spart}
+\def\@part[#1]#2{%
+ \ifnum \c@secnumdepth >-2\relax \refstepcounter{part}%
+ \addcontentsline{toc}{part}{\partname\ \thepart.
+ \protect\enspace\protect\noindent#1}%
+ \else
+ \addcontentsline{toc}{part}{#1}\fi
+ \begingroup
+ \centering
+ \ifnum \c@secnumdepth >-2\relax
+ {\huge\bfseries\smf@boldmath
+ \MakeUppercase{\partname\ \thepart}}
+ \vfil \fi
+ \huge\bfseries\smf@boldmath
+ \MakeUppercase{#1}\par
+ \vfil\vfil
+ \endgroup
+ \newpage\thispagestyle{empty}}
+
+\def\@spart#1{\addcontentsline{toc}{part}{\protect\noindent#1}%
+ \begingroup
+ \centering
+ \huge\bfseries\smf@boldmath
+ \MakeUppercase{#1}\par
+ \vfil\vfil
+ \endgroup
+ \newpage\thispagestyle{empty}}
+\newdimen\chapterheight\chapterheight\z@
+\def\chapterspace#1{\global\chapterheight=#1\baselineskip\relax}
+\def\chapter{\cleardoublepage
+ \thispagestyle{empty}\global\@topnum\z@
+ \@afterindenttrue
+ \@ifstar{\@dblarg\@schapter}{\@dblarg\@chapter}}
+\def\@chapter[#1]#2{\refstepcounter{chapter}%
+ \ifnum\c@secnumdepth<\z@ \let\@secnumber\@empty
+ \else \let\@secnumber\thechapter \fi
+ \typeout{\chaptername\space\@secnumber}%
+ \def\@toclevel{0}%
+ \ifx\chaptername\appendixname
+ \@tocwriteb\tocappendix{chapter}{#2}%
+ \else \@tocwriteb\tocchapter{chapter}{#2}\fi
+ \chaptermark{#1}%
+ \addtocontents{lof}{\protect\addvspace{10\p@}}%
+ \addtocontents{lot}{\protect\addvspace{10\p@}}%
+ \@makechapterhead{#2}\@afterheading}
+\def\@schapter[#1]#2{\typeout{#2}%
+ \let\@secnumber\@empty
+ \def\@toclevel{0}%
+ \ifx\chaptername\appendixname
+ \@tocwriteb\tocappendix{chapter}{#2}%
+ \else \@tocwriteb\tocchapter{chapter}{#2}\fi
+ \chaptermark{#1}%
+ \addtocontents{lof}{\protect\addvspace{10\p@}}%
+ \addtocontents{lot}{\protect\addvspace{10\p@}}%
+ \@makeschapterhead{#2}\@afterheading}
+\def\@makechapterhead#1{\global\topskip 0pt\relax
+ \advance\chapterheight 6cm
+ \vbox to \chapterheight{\Large\bfseries\smf@boldmath\centering
+ \vskip 0pt plus 0.7fil\relax
+ \ifnum\c@secnumdepth>\m@ne
+ \uppercase\@xp{\chaptername}\enspace\thechapter\par\vskip2pc\fi
+ \MakeUppercase{#1}\par
+ \vfil}\global\chapterheight\z@\relax}
+\def\@makeschapterhead#1{\global\topskip 0pt\relax
+ \advance\chapterheight 6cm
+ \vbox to \chapterheight{\Large\bfseries\smf@boldmath\centering
+ \vskip0pt plus 0.7fil\relax
+ \MakeUppercase{#1}\par
+ \vfil}\global\chapterheight\z@\relax}
+\def\specialchapter{\refstepcounter{chapter}%
+ \chapter*{\chaptername\space\thechapter}}
+\def\appendix{\par
+ \begingroup
+ \def\@elt##1{\global\csname c@##1\endcsname\z@\relax
+ \csname cl@##1\endcsname}
+ \global\c@chapter\z@
+ \cl@chapter
+ \endgroup
+ \let\chaptername\appendixname
+ \renewcommand\thechapter{\Alph{chapter}}}
+\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}}
+\let\sectionname\@empty
+\def\subsection{\@startsection{subsection}{2}%
+ \z@{.7\linespacing\@plus.7\linespacing}{-.5ex}%
+ {\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}{-.5ex}%
+ {\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\chapterrunhead\partrunhead
+ \def\indexrunhead#1#2#3{%
+ \@xp\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{\cleardoublepage\pagenumbering{roman}}
+\def\mainmatter{\cleardoublepage
+ \setcounter{page}{1}\def\baselinestretch{1.1}\normalfont
+ \pagenumbering{arabic}}
+\def\backmatter{\cleardoublepage
+ \def\baselinestretch{1}\normalfont}
+\newcommand{\@pnumwidth}{1.6em}
+\newcommand{\@tocrmarg}{2.6em}
+\setcounter{tocdepth}{1}
+\def\@starttoc#1#2{\begingroup
+ \cleardoublepage
+ \thispagestyle{empty}\global\@topnum\z@
+ \@afterindenttrue
+ \let\@secnumber\@empty % for \@tocwrite and \chaptermark
+ \ifx\contentsname#2%
+ \else \@tocwrite{chapter}{#2}\fi
+ \typeout{#2}\@xp\chaptermark\@xp{#2}%
+ \@makeschapterhead{#2}\@afterheading
+ \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
+ \global\@nobreakfalse \endgroup
+ \newpage }
+\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\do{%
+ \@ifundefined{r@tocindent\@tempa}{%
+ \@xp\gdef\csname r@tocindent\@tempa\endcsname{0pt}}{}%
+ }%
+}
+\def\@writetocindents{%
+ \begingroup
+ \@for\@tempa:=-1,0,1,2,3\do{%
+ \immediate\write\@auxout{%
+ \string\newlabel{tocindent\@tempa}{%
+ \csname r@tocindent\@tempa\endcsname}}%
+ }%
+ \endgroup}
+\AtEndDocument{\@writetocindents}
+\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}
+\newcommand{\tocchapter}[3]{%
+ \indentlabel{\@ifnotempty{#2}{\ignorespaces #2.\kern1ex}}#3}
+\let\tocappendix\tocchapter
+\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@chapter{\@tocline{0}{8pt plus1pt}{0pt}{}{\bfseries\smf@boldmath}}
+\def\l@section{\@tocline{1}{0pt}{1pc}{}{}}
+\def\l@subsection{\@tocline{2}{0pt}{2pc}{}{}}
+\def\l@subsubsection{\@tocline{3}{0pt}{3pc}{}{}}
+\def\l@paragraph{\@tocline{5}{0pt}{4pc}{}{}}
+\def\l@figure{\@tocline{0}{3pt plus2pt}{0pt}{}{}}
+\let\l@table\l@figure
+\newcount\smf@nthebib
+\newdimen\smf@tempwidtha
+\newdimen\smf@tempwidthb
+\def\bibliofont{}
+\newenvironment{thebibliography}[1]{%
+ \global\advance\smf@nthebib1
+ \chapter*{\bibname}%
+ \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 .7\baselineskip plus0.1\baselineskip
+ minus0.2\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\@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\@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}
+\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
+\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
+ \columnseprule0pt \columnsep 35\p@
+ \ifhave@multicol
+ \begin{multicols}{2} [\chapter*{\indexname}]
+ \else
+ twocolumn [\chapter*{\indexname}]
+ \fi
+ \@xp\indexmark\@xp{\indexname}%
+ \thispagestyle{empty}%
+ \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}\clearpage
+ \else
+ \if@restonecol\onecolumn\else\clearpage\fi
+ \fi}
+\def\indexspace{\par}
+\@addtoreset{footnote}{chapter}
+\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}[chapter]
+\newcounter{table}[chapter]
+\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}}%
+\def\@begintheorem#1#2[#3]{%
+ \def\@theoremhead{\normalfont\the\thm@headfont
+ \@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}}%
+ \sbox\@tempboxa{\@theoremhead}%
+ \ifdim\wd\@tempboxa>0.7\linewidth \smf@skippttrue\fi
+ \ifsmf@skippt
+ \global\smf@skipptfalse
+ \item [\thm@indent]%
+ {\sloppy\@theoremhead\parskip\z@\@@par}%
+ \nobreak\everypar{}%
+ \let\thmheadnl\relax
+ \else
+ \item[\hskip\labelsep\thm@indent\unhbox\@tempboxa\the\thm@headpunct]%
+%% \hskip\z@\ignorespaces
+ \fi
+ \@restorelabelsep
+ \thmheadnl % possibly a newline.
+ \ignorespaces}
+\newif\ifx@pushQED
+\@ifundefined{pushQED}{\x@pushQEDfalse}{\x@pushQEDtrue}
+\newenvironment{dmo}[1][\proofname]{\par
+ \ifx@pushQED \pushQED{\qed}\fi
+ \normalfont
+ \topsep6\p@\@plus6\p@ \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
+}
+\renewenvironment{proof}[1][\proofname]{\par
+ \ifx@pushQED \pushQED{\qed}\fi
+ \normalfont
+ \topsep6\p@\@plus6\p@ \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
+}
+\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.5\linespacing \@plus .5\linespacing
+ \thm@postskip\thm@preskip
+ \thm@headpunct{\pointrait}
+ \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\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 \hbox{---}\else{\upshape.\hskip 1ex\hbox{---}}\fi}
+\DeclareRobustCommand{\MakePointrait}{%
+ \ifsmf@skippt\global\smf@skipptfalse \else\nobreak\pointrait\fi}
+\def\fullwidthdisplay{\displayindent\z@ \displaywidth\columnwidth}
+\edef\@tempa{\noexpand\fullwidthdisplay\the\everydisplay}
+\everydisplay\expandafter{\@tempa}
+\newcommand\see[2]{{\em \seename\/} #1}%
+\calclayout % initialize
+\pagenumbering{arabic}
+\pagestyle{headings}
+\thispagestyle{plain}
+\emergencystretch 2em
+\endinput
+%%
+%% End of file `smfbook.cls'.
diff --git a/configuration/smfhyperref.sty b/configuration/smfhyperref.sty
new file mode 100644
index 0000000..f16899c
--- /dev/null
+++ b/configuration/smfhyperref.sty
@@ -0,0 +1,71 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{smfhref}[2002/11/07 v0.0 Hyperref + smfbook...]
+
+\RequirePackage{ifpdf}
+\let\org@bibitem\@bibitem
+\let\org@lbibitem\@lbibitem
+\RequirePackageWithOptions{hyperref}
+
+\AtBeginDocument{%
+\def\@schapter[#1]#2{%
+ \def\@currentlabelname{#1}%
+ \begingroup
+ \let\@mkboth\@gobbletwo
+ \Hy@GlobalStepCount\Hy@linkcounter
+ \xdef\@currentHref{\Hy@chapapp*.\the\Hy@linkcounter}%
+ \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+ \endgroup
+ \H@old@schapter[{#1}]{#2}
+
+}}
+
+\def\@@wrindex#1|#2|#3\\{%
+ \ifx\\#2\\%
+ \protected@write\@indexfile{}{%
+ \string\indexentry{#1}{\thepage}%
+ }%
+ \else
+ \def\Hy@temp@A{#2}%
+ \ifx\Hy@temp@A\HyInd@ParenLeft
+ \protected@write\@indexfile{}{%
+ \string\indexentry{#1|#2}{\thepage}%
+ }%
+ \else
+ \protected@write\@indexfile{}{%
+ \string\indexentry{#1|#2}{\thepage}%
+ }%
+ \fi
+ \fi
+ \endgroup
+ \@esphack
+ }%
+
+\@ifpackageloaded{backref}{%
+\def\BR@@lbibitem[#1]#2#3\par{%
+ \org@lbibitem[#1]{#2}#3
+ \newblock
+ \backref{\csname br@#2\endcsname}%
+ \par
+}%
+
+\def\BR@@bibitem#1#2\par{%
+ \org@bibitem{#1}#2
+ \newblock
+ \backref{\csname br@#1\endcsname}%
+ \par
+}
+
+\AtBeginDocument{%
+\def\thebibliography{%
+ % \@starttoc{brf}{}%
+ \BRorg@thebibliography
+
+}%
+}
+}
+
+\ifpdf
+ \hypersetup{pdftex}
+ \else
+ \hypersetup{dvips}
+\fi
diff --git a/configuration/smfthm-moi.sty b/configuration/smfthm-moi.sty
new file mode 100644
index 0000000..02b254a
--- /dev/null
+++ b/configuration/smfthm-moi.sty
@@ -0,0 +1,85 @@
+%%
+%% This is file `smfthm.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% smfclass.dtx (with options: `smfthm')
+%%
+%%
+%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %% Classes, paquetages pour les publications de la SMF %%
+%% %% (c) 1999-2001 Societe mathematique 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 \~}
+%%
+\ProvidesPackage{smfthm-moi}[1999/03/05 v1.0.h
+ Environnements predefinis de theoremes]
+\newif\ifsmf@thmsin\smf@thmsintrue
+\def\NumberTheoremsIn#1{\@ifempty{#1}%
+ {\smf@thmsinfalse}%
+ {\@ifundefined{c@#1}{\@nocounterr{#1}}%
+ {\smf@thmsintrue\def\@NumberTheorems{#1}}}}
+ \NumberTheoremsIn{section}
+\def\NumberTheoremsAs#1{\@ifempty{#1}%
+ {\smf@thmsintrue}%
+ {\@ifundefined{c@#1}{\@nocounterr{#1}}%
+ {\smf@thmsinfalse\def\@NumberTheorems{#1}}}}
+ \NumberTheoremsAs{}
+\def\SwapTheoremNumbers{\def\thm@swap{S}}
+\def\NoSwapTheoremNumbers{\def\thm@swap{N}}
+ \NoSwapTheoremNumbers
+\def\smf@thmdefs{%
+ \theoremstyle{plain}
+ \ifsmf@thmsin
+ \newcounter{smfthm}[\@NumberTheorems]
+ \xdef\thesmfthm
+ {\expandafter\noexpand\csname the\@NumberTheorems\endcsname
+ .\noexpand\arabic{smfthm}}%
+ \gdef\smf@thm{smfthm}
+ \else
+ \xdef\smf@thm{\@NumberTheorems}
+ \fi
+ \newtheorem{theo}[\smf@thm]{\theoname}%
+ \newtheorem{prop}[\smf@thm]{\propname}%
+ \newtheorem{conj}[\smf@thm]{\conjname}%
+ \newtheorem{coro}[\smf@thm]{\coroname}%
+ \newtheorem{lemm}[\smf@thm]{\lemmname}%
+ \theoremstyle{definition}%
+ \newtheorem{defi}[\smf@thm]{\definame}%
+ \theoremstyle{remark}%
+ \newtheorem{rema}[\smf@thm]{\remaname}%
+ \newtheorem{exem}[\smf@thm]{\exemname}%
+ \theoremstyle{plain}}
+\def\smf@enoncedef{%
+ \newenvironment{enonce}[2][plain]%
+ {\let\smfenonce\relax \theoremstyle{##1}%
+ \newtheorem{smfenonce}[\smf@thm]{##2}%
+ \begin{smfenonce}}%
+ {\end{smfenonce}}%
+ \newenvironment{enonce*}[2][plain]%
+ {\let\smfenonce\relax \theoremstyle{##1}%
+ \newtheorem*{smfenonce}{##2}%
+ \begin{smfenonce}}%
+ {\end{smfenonce}}%
+}
+\AtBeginDocument{%
+ \smf@thmdefs\smf@enoncedef}
+\endinput
+%%
+%% End of file `smfthm.sty'.
diff --git a/configuration/style-bib-livre.bst b/configuration/style-bib-livre.bst
new file mode 100644
index 0000000..658fac3
--- /dev/null
+++ b/configuration/style-bib-livre.bst
@@ -0,0 +1,1273 @@
+% BibTeX `apalike' bibliography style (24-Jan-88 version)
+% Adapted from the `alpha' style, version 0.99a; for BibTeX version 0.99a.
+% Copyright (C) 1988, all rights reserved.
+% Copying of this file is allowed, provided that if you make any changes at all
+% you name it something other than `apalike.bst'.
+% This restriction helps ensure that all copies are identical.
+% Differences between this style and `alpha' are generally heralded by a `%'.
+% The file btxbst.doc has the documentation for alpha.bst.
+%
+% This style should be used with the `apalike' LaTeX style (apalike.sty).
+% \cite's come out like "(Jones, 1986)" in the text but there are no labels
+% in the bibliography, and something like "(1986)" comes out immediately
+% after the author. Author (and editor) names appear as last name, comma,
+% initials. A `year' field is required for every entry, and so is either
+% an author (or in some cases, an editor) field or a key field.
+%
+% Editorial note:
+% Many journals require a style like `apalike', but I strongly, strongly,
+% strongly recommend that you not use it if you have a choice---use something
+% like `plain' instead. Mary-Claire van Leunen (A Handbook for Scholars,
+% Knopf, 1979) argues convincingly that a style like `plain' encourages better
+% writing than one like `apalike'. Furthermore the strongest arguments for
+% using an author-date style like `apalike'---that it's "the most practical"
+% (The Chicago Manual of Style, University of Chicago Press, thirteenth
+% edition, 1982, pages 400--401)---fall flat on their face with the new
+% computer-typesetting technology. For instance page 401 anachronistically
+% states "The chief disadvantage of [a style like `plain'] is that additions
+% or deletions cannot be made after the manuscript is typed without changing
+% numbers in both text references and list." LaTeX sidesteps the disadvantage.
+%
+% History:
+% 15-sep-86 (SK,OP) Original version, by Susan King and Oren Patashnik.
+% 10-nov-86 (OP) Truncated the sort.key$ string to the correct length
+% in bib.sort.order to eliminate error message.
+% 24-jan-88 (OP) Updated for BibTeX version 0.99a, from alpha.bst 0.99a;
+% apalike now sorts by author, then year, then title;
+% THIS `apalike' VERSION DOES NOT WORK WITH BIBTEX 0.98i.
+% Local modifications 10/89 -- Brian Reiser
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+% month not used in apalike
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {eho.special.output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { " " * write$ }
+ { output.state after.block =
+ { % add.period$ write$
+ ": " write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { % add.period$ " " * write$
+ ": " * write$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {eho.special.output}
+{ duplicate$ empty$
+ 'pop$
+ 'eho.special.output.nonnull
+ if$
+}
+
+%% Added by Eric Ho <eho@word> on Wed Jan 10 20:13:56 1990
+%% A special patch for output.nonnull in book environment.
+
+FUNCTION {eho.output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ": " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+%% Added by Eric Ho <eho@word> on Wed Jan 10 20:13:56 1990
+%% A special patch for output in book environment.
+
+FUNCTION {eho.output}
+{ duplicate$ empty$
+ 'pop$
+ 'eho.output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+%% Added by Eric Ho <eho@word> on Wed Jan 10 20:13:56 1990
+%% A special patch for output.check in book environment.
+
+FUNCTION {eho.output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'eho.output.nonnull
+ if$
+}
+
+% apalike needs this function because
+% the year has special punctuation;
+% apalike ignores the month
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { write$
+ " (" year * extra.label * ")" *
+ mid.sentence 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " \& " * t * } % changed from " and " for names -- BJR 10/5/89
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+%% Added by Fri Jan 12 19:03:22 1990 on Fri Jan 12 19:03:27 1990
+%% Mainly to make sure that editors have initials before last names.
+
+FUNCTION {eho.format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f.} {vv~}{ll}{, jj}" format.name$ 't := %% initials first.
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " \& " * t * } % changed from " and " for names -- BJR 10/5/89
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.key} % this function is just for apalike
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+ { ", Eds." * } % changed from ", editors" -- BJR 10/5/89
+ { ", Ed." * } % changed from ", editor" -- BJR 10/5/89
+ if$
+ }
+ if$
+}
+
+%% Added by Eric Ho <eho@word> Fri Jan 12 19:11:12 1990
+%% Mainly to call eho.format.names instead of format.names and
+%% to make Eds or Ed to be surrounded by pararentheses instead of preceeded by
+%% a comma.
+
+FUNCTION {eho.format.editors}
+{ editor empty$
+ { "" }
+ { editor eho.format.names
+ editor num.names$ #1 >
+ { " (Eds.)" * } % changed from ", editors" -- BJR 10/5/89
+ { " (Ed.)" * } % changed from ", editor" -- BJR 10/5/89
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " des " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " édition" * }
+ { edition "t" change.case$ " édition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+% { "pages" pages n.dashify tie.or.space.connect }
+% { "page" pages tie.or.space.connect }
+ { "(pp.\" pages n.dashify tie.or.space.connect }
+ { "(pp.\" pages tie.or.space.connect }
+ if$
+ ")." *
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ", " * pages n.dashify * } % changed from ":" for vol,pgs -- BJR 10/5/89
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+%% Added by Eric Ho <eho@word> Fri Jan 12 19:17:37 1990
+%% Primarily to call eho.format.editors instead of format.editors.
+
+FUNCTION {eho.format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " eho.format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" * % this is for apalike
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "journal" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+%% Modified by Eric Ho <eho@word> on Wed Jan 10 20:30:11 1990
+%% Making it to call eho.output.check instead of output.check and eho.output
+%% instead of output.
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+% publisher "publisher" output.check
+% address output
+% switched order of publisher and address for book -- BJR 10/5/89
+ address eho.output % Using eho.output instead of output.
+ publisher "publisher" eho.output.check % Using eho.output.check
+ % instead of output.check.
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+%% Modified by Eric Ho <eho@word> on Wed Jan 10 20:27:26 1990
+%% Making it to call eho.output.check instead of output.check and eho.output
+%% instead of output.
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" eho.output.check % Using eho.output.check instead
+ % of output.check.
+ address eho.output % Using eho.output instead of output.
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+%% Modified by Eric Ho <eho@word> on Wed Jan 10 20:27:26 1990
+%% Making it to call eho.output.check instead of output.check and eho.output
+%% instead of output. Also modified by Eric Ho <eho@word> on Fri Jan 12
+%% 19:21:59 1990 so as to call eho.format.in.ed.booktitle instead of the old
+%% format.in.ed.booktitle.
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { eho.format.in.ed.booktitle "booktitle" output.check
+ % The above line is changed by Eric Ho <eho@word> on Fri Jan 12
+ % 19:20:28 1990 so that it'll call eho.format.in.ed.booktitle instead
+ % of format.in.ed.booktitle.
+
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages eho.special.output
+ new.sentence
+% publisher "publisher" output.check
+% address output
+% switched order of publisher and address for incollection -- BJR 1/3/90
+ address eho.output % Use eho.output instead of output.
+ publisher "publisher" eho.output.check % Use eho.output.check instead
+ % of output.check.
+ format.edition output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { % format.in.ed.booktitle "booktitle" output.check
+ eho.format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages eho.special.output
+ address eho.special.output % for apalike
+ new.sentence % there's no year
+ organization eho.special.output % here so things
+ publisher eho.special.output % are simpler
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ organization address new.block.checkb
+ organization output
+ address output
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title output
+ new.block
+ howpublished output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output % for apalike
+ new.sentence % we always output
+ organization output % a nonempty organization
+ publisher output % here
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+% format.title "title" output.check
+ format.btitle "title" output.check % change to ital title -- BJR
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+% There are three apalike cases: one person (Jones),
+% two (Jones and de~Bruijn), and more (Jones et~al.).
+% This function is much like format.crossref.editors.
+%
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " \& " * s #2 "{vv~}{ll}" format.name$ * } % " and " -- BJR 10/5/89
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole key, no organization
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label % apalike ignores organization
+ 'author.key.label % for labeling and sorting
+ if$
+ }
+ if$
+ ", " % these three lines are
+ * % for apalike, which
+ year field.or.null purify$ #-1 #4 substring$ % uses all four digits
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$ % apalike uses initials
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := % <= here
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+% apalike uses two sorting passes; the first one sets the
+% labels so that the `a's, `b's, etc. can be computed;
+% the second pass puts the references in "correct" order.
+% The presort function is for the first pass. It computes
+% label, sort.label, and title, and then concatenates.
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$ % for
+ 'sort.label := % apalike
+ sort.label % style
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT % by label, sort.label, title---for final label calculation
+
+STRINGS { last.label next.extra } % apalike labels are only for the text;
+
+INTEGERS { last.extra.num } % there are none in the bibliography
+
+FUNCTION {initialize.extra.label.stuff} % and hence there is no `longest.label'
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * 'label :=
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+% Now that the label is right we sort for real,
+% on sort.label then year then title. This is
+% for the second sorting pass.
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {bib.sort.order}
+
+SORT % by sort.label, year, title---giving final bibliography order
+
+FUNCTION {begin.bib}
+{ preamble$ empty$ % no \etalchar in apalike
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$ % no labels in apalike
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/configuration/taille.tex b/configuration/taille.tex
new file mode 100644
index 0000000..d2b48c8
--- /dev/null
+++ b/configuration/taille.tex
@@ -0,0 +1,8 @@
+\textwidth18cm
+%\voffset-2cm
+% \hoffset-1.7cm %pour 9pt
+\hoffset-1.4cm %pour 10pt
+%\hoffset-30mm %pour 12pt
+
+\headsep+20pt
+\textheight25cm
diff --git a/configuration/ucs_manquants.tex b/configuration/ucs_manquants.tex
new file mode 100644
index 0000000..68304f8
--- /dev/null
+++ b/configuration/ucs_manquants.tex
@@ -0,0 +1,15 @@
+\makeatletter
+\uc@dclc{189}{default}{\ensuremath{\frac{1}{2}}}%
+\uc@dclc{8531}{default}{\ensuremath{\frac{1}{3}}}%
+\uc@dclc{8532}{default}{\ensuremath{\frac{1}{4}}}%
+\uc@dclc{982}{mathletters}{\ensuremath{\varpi}}%
+\uc@dclc{8618}{default}{\ensuremath{\hookrightarrow}}%
+\uc@dclc{8614}{default}{\ensuremath{\mapsto}}%
+\uc@dclc{8608}{default}{\ensuremath{\twoheadrightarrow}}%
+\uc@dclc{10003}{default}{\checkmark}%
+\uc@dclc{10610}{default}{\ensuremath{\stackrel{\sim}{\rightarrow}}}%
+\uc@dclc{10753}{default}{\ensuremath{\bigoplus}}%
+\uc@dclc{10754}{default}{\ensuremath{\bigotimes}}%
+\uc@dclc{11079}{default}{\ensuremath{\stackrel{\sim}{\rightarrow}}}%
+\uc@dclc{11081}{default}{\ensuremath{\stackrel{\sim}{\leftarrow}}}%
+\makeatother