diff options
author | Fabrice (iLiburu) <Fabrice.Orgogozo@gmail.com> | 2011-01-05 10:51:46 +0100 |
---|---|---|
committer | Fabrice (iLiburu) <Fabrice.Orgogozo@gmail.com> | 2011-01-05 10:51:46 +0100 |
commit | 9b397c6baf243cfab623ede077eff43b67f0d05f (patch) | |
tree | bf934a1dd51c9555c9ce0668bb262038b95be28a /configuration | |
parent | 71624bddf4e7e63397a9af8213153bdbdb06a3ba (diff) | |
download | galois-9b397c6baf243cfab623ede077eff43b67f0d05f.tar.gz galois-9b397c6baf243cfab623ede077eff43b67f0d05f.tar.bz2 galois-9b397c6baf243cfab623ede077eff43b67f0d05f.zip |
renommage massif : séparation des fichiers de configuration des chapitres etc.
Diffstat (limited to 'configuration')
-rw-r--r-- | configuration/adresse.tex | 16 | ||||
-rw-r--r-- | configuration/bibliographie-livre.bib | 820 | ||||
-rw-r--r-- | configuration/caracteres-japonais.tex | 10 | ||||
-rw-r--r-- | configuration/commun.tex | 23 | ||||
-rw-r--r-- | configuration/encoredesmacros.tex | 2 | ||||
-rw-r--r-- | configuration/formules.tex | 155 | ||||
-rw-r--r-- | configuration/francais-natbib.bst | 1738 | ||||
-rw-r--r-- | configuration/francais.tex | 160 | ||||
-rw-r--r-- | configuration/gadgets.tex | 6 | ||||
-rw-r--r-- | configuration/modele.tex | 55 | ||||
-rw-r--r-- | configuration/numerotation.tex | 25 | ||||
-rw-r--r-- | configuration/smf.tex | 1 | ||||
-rw-r--r-- | configuration/smfalpha.bst | 1255 | ||||
-rw-r--r-- | configuration/smfart-moi.cls | 1345 | ||||
-rw-r--r-- | configuration/smfbook-moi.cls | 1452 | ||||
-rw-r--r-- | configuration/smfhyperref.sty | 71 | ||||
-rw-r--r-- | configuration/smfthm-moi.sty | 85 | ||||
-rw-r--r-- | configuration/style-bib-livre.bst | 1273 | ||||
-rw-r--r-- | configuration/taille.tex | 8 | ||||
-rw-r--r-- | configuration/ucs_manquants.tex | 15 |
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\\#2\end{matrix}\right)} +\def\troistrois#1#2#3#4#5#6#7#8#9{\left(\begin{matrix}#1\\#2\\#3	\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 |