\RequirePackage{rawfonts} \ifx\@bases@loaded\undefined \input bases.sty \else\fi \ifx\@boxes@loaded\undefined \input boxes.sty \else\fi % ====================================================================== % ======================== SMASHES ===================================== % ====================================================================== \newif\iftop@ \newif\ifbot@ \def\topsmash{\top@true\bot@false\smash@} \def\botsmash{\top@false\bot@true\smash@} \def\smash{\top@true\bot@true\smash@} \def\smash@{\relax\ifmmode\def\next{\mathpalette\mathsm@sh}\else \let\next\makesm@sh\fi\next} \def\finsm@sh{\iftop@\ht\z@\z@\fi\ifbot@\dp\z@\z@\fi\box\z@} \newdimen\buffer@ \buffer@\fontdimen13 \tenex \newdimen\buffer \buffer\buffer@ \def\ChangeBuffer#1{\fontdimen13 \tenex#1\relax \global\buffer\fontdimen13 \tenex} \def\ResetBuffer{\fontdimen13 \tenex\buffer@\global\buffer\buffer@} \def\shave#1{\mathop{\hbox{$\fontdimen13 \tenex\z@ \displaystyle{#1}$}}\fontdimen13 \tenex\buffer} \def\topshave#1{\topsmash{\displaystyle{#1}}\vphantom{\shave{#1}}} \def\botshave#1{\botsmash{\displaystyle{#1}}\vphantom{\shave{#1}}} % ====================================================================== % ======================== ALIGNEMENTS ================================= % ====================================================================== \def\topaligned{{}\,\vtop\aligned@} \def\botaligned{{}\,\vbox\aligned@} \def\aligned{{}\,\vcenter\aligned@} \def\aligned@{\bgroup\vspace@\Let@ \ifinany@\else\openup\jot\fi\m@th\ialign \bgroup\hfil\strut@$\displaystyle{##}$&$\displaystyle{{}##}$\hfil\crcr} \def\endaligned{\crcr\egroup\egroup} \let\endtopaligned\endaligned \let\endbotaligned\endaligned \newcount\atcount@ \newtoks\hashtoks@ \hashtoks@{#} \def\alignedat#1{{}\,\vcenter\bgroup\doat@{#1}\vspace@\Let@ \ifinany@\else\openup\jot\fi\m@th\ialign\bgroup\span\preamble@@\crcr} \def\doat@#1{\toks@{\hfil\strut@$\displaystyle{\the\hashtoks@}$&$\displaystyle {{}\the\hashtoks@}$\hfil}\atcount@#1\relax\advance\atcount@\m@ne \loop\ifnum\atcount@>\z@\toks@=\expandafter{\the\toks@&\hfil$\displaystyle {\the\hashtoks@}$&$\displaystyle{{}\the\hashtoks@}$\hfil}\advance \atcount@\m@ne\repeat\xdef\preamble@{\the\toks@}\xdef\preamble@@{\preamble@}} \let\endalignedat\endaligned \def\gathered{{}\,\vcenter\bgroup\vspace@\Let@ \ifinany@\else\openup\jot\fi\m@th\ialign \bgroup\hfil\strut@$\displaystyle{##}$\hfil\crcr} \def\endgathered{\crcr\egroup\egroup} \newif\iftopfolded@ \newif\ifbotfolded@ \def\topfoldedtext{\topfolded@true\botfolded@false\foldedtext@} \def\botfoldedtext{\botfolded@true\topfolded@false\foldedtext@} \def\foldedtext{\topfolded@false\botfolded@false\foldedtext@} \Invalid@\foldedwidth \def\foldedtext@{\relaxnext@ \def\next@{\ifx\next\foldedwidth\let\next\nextii@\else \def\next{\nextii@\foldedwidth{.3\hsize}}\fi\next}% \def\nextii@\foldedwidth##1##2{\setbox\z@\vbox {\normalbaselines\hsize##1\relax \tolerance1600 \noindent\ignorespaces##2}\ifbotfolded@\box\z@\else \iftopfolded@\vtop{\unvbox\z@}\else\vcenter{\box\z@}\fi\fi}% \futurelet\next\next@} \newif\iftagsleft@ \def\TagsOnLeft{\global\tagsleft@true} \def\TagsOnRight{\global\tagsleft@false} \TagsOnLeft \newif\ifmathtags@ \def\TagsAsMath{\global\mathtags@true} \def\TagsAsText{\global\mathtags@false} \TagsAsText \def\tagform@#1{\hbox{\rm(\ignorespaces#1\unskip)}} \def\thetag{\leavevmode\tagform@} \def\tag#1$${\iftagsleft@\leqno\else\eqno\fi\maketag@#1\maketag@$$} \def\maketag@{\relaxnext@ \def\next@{\ifx\next"\let\next@\nextii@\else\let\next@\nextiii@\fi\next@}% \def\nextii@"##1"##2\maketag@{\hbox{\rm##1}}% \def\nextiii@##1\maketag@{\ifmathtags@\tagform@{$##1$}\else \tagform@{##1}\fi}% \futurelet\next\next@} \def\intertext@{\def\intertext##1{\noalign{\vskip\abovedisplayskip \vbox{\normalbaselines\noindent##1}\vskip\belowdisplayskip}}} \def\align{\relaxnext@\ifingather@\let\next\galign@\else \ifmmode\ifinner\def\next{\onlydmatherr@\align}\else \let\next\align@\fi\else \def\next{\onlydmatherr@\align}\fi\fi\next} \newcount\and@ \def\align@{\inalign@true\inany@true \def\tag{\ifnum\and@=\z@\def\next{&&}\else\def\next{&}\fi\next} \vspace@\allowdisplaybreak@\displaybreak@\intertext@ \iftagsleft@\let\next\lalign@\else\let\next\ralign@\fi\next} \newdimen\lwidth@ \newdimen\rwidth@ \newdimen\maxlwidth@ \newdimen\maxrwidth@ \newdimen\totwidth@ \def\measure@#1\endalign{\lwidth@\z@\rwidth@\z@ \maxlwidth@\z@\maxrwidth@\z@\and@\z@ \setbox\@ne\vbox{\everycr{\noalign{\global\and@\z@}}\Let@ \halign{\setbox\z@\hbox{$\displaystyle{\everycr{}##}$}% \global\lwidth@\wd\z@ \ifdim\lwidth@>\maxlwidth@\global\maxlwidth@\lwidth@\fi \global\advance\and@\@ne &\setbox\z@\hbox{$\displaystyle{{}\everycr{}##}$}\global\rwidth@\wd\z@ \ifdim\rwidth@>\maxrwidth@\global\maxrwidth@\rwidth@\fi \global\advance\and@\@ne &\eat@{\everycr{}##}\crcr#1\crcr}}\totwidth@\maxlwidth@ \advance\totwidth@\maxrwidth@} \def\displ@y@{\global\dt@ptrue\openup\jot\m@th \everycr{\noalign{\global\and@\z@\ifdt@p\global\dt@pfalse \vskip-\lineskiplimit\vskip\normallineskiplimit\else \penalty\interdisplaylinepenalty\fi}}} \def\black@#1{\noalign{\ifdim#1>\displaywidth \dimen@\prevdepth\nointerlineskip \vskip-\ht\strutbox@\vskip-\dp\strutbox@ \vbox{\noindent\hbox to#1{\strut@\hfill\strut@}}% \prevdepth\dimen@\fi}} \def\ralign@#1\endalign{\measure@#1\endalign\and@\z@ \ifingather@\everycr{\noalign{\global\and@\z@}}\else\displ@y@\fi\Let@ \tabskip\centering@\halign to\displaywidth {\hfil\strut@\setbox\z@\hbox{$\displaystyle{\everycr{}##}$}% \global\lwidth@\wd\z@\box\z@\global\advance\and@\@ne \tabskip\z@skip&\setbox\z@\hbox{$\displaystyle{{}\everycr{}##}$}% \global\rwidth@\wd\z@\box\z@\hfill\global\advance\and@\@ne \tabskip\centering@&\setbox\z@\hbox{\everycr{}\strut@\maketag@##\maketag@}% \dimen@\displaywidth\advance\dimen@-\totwidth@ \divide\dimen@\tw@\advance\dimen@\maxrwidth@\advance\dimen@-\rwidth@ \ifdim\dimen@>\tw@\wd\z@\llap{\box\z@}\else \llap{\vtop{\normalbaselines\null\box\z@}}\fi \tabskip\z@skip\crcr#1\crcr\black@\totwidth@}} \newdimen\lineht@ \def\lalign@#1\endalign{\measure@#1\endalign\and@\z@ \ifdim\totwidth@>\displaywidth\let\displaywidth@\totwidth@\else \let\displaywidth@\displaywidth\fi \ifingather@\everycr{\noalign{\global\and@\z@}}\else\displ@y@\fi\Let@ \tabskip\centering@\halign to\displaywidth {\hfil\strut@\setbox\z@\hbox{$\displaystyle{\everycr{}##}$}% \global\lwidth@\wd\z@\global\lineht@\ht\z@\box\z@\global\advance\and@\@ne \tabskip\z@skip&\setbox\z@\hbox{$\displaystyle{{}\everycr{}##}$}% \global\rwidth@\wd\z@\ifdim\ht\z@>\lineht@\global\lineht@\ht\z@\fi \box\z@\hfil\global\advance\and@\@ne \tabskip\centering@&\kern-\displaywidth@ \setbox\z@\hbox{\everycr{}\strut@\maketag@##\maketag@}% \dimen@\displaywidth\advance\dimen@-\totwidth@ \divide\dimen@\tw@\advance\dimen@\maxlwidth@\advance\dimen@-\lwidth@ \ifdim\dimen@>\tw@\wd\z@\rlap{\box\z@}\else \rlap{\vbox{\normalbaselines\box\z@\vbox to\lineht@{}}}\fi \tabskip\displaywidth@\crcr#1\crcr\black@\totwidth@}} \def\galign@#1\endalign{\vcenter{\m@th\align@#1\endalign}} \newbox\savealignat@ \newif\ifxat@ \newif\ifmeasuring@ \def\alignat{\relaxnext@\ifmmode\ifinner\def\next{\onlydmatherr@\alignat}\else \let\next\alignat@\fi\else\def\next{\onlydmatherr@\alignat}\fi\next} \def\alignat@#1#2\endalignat{\inany@true\xat@false \def\tag{\xdef\tag@{}\count@#1\relax\multiply\count@\tw@ \loop\ifnum\count@>\and@\xdef\tag@{&\tag@}\advance\count@\m@ne\repeat\tag@}% \vspace@\allowdisplaybreak@\displaybreak@\intertext@ \displ@y@\measuring@true\setbox\savealignat@\hbox{$\displaystyle\Let@ \attag@{#1}\vbox{\halign{\span\preamble@@\crcr#2\crcr}}$} \measuring@false\Let@ \attag@{#1}\tabskip\centering@\halign to\displaywidth {\span\preamble@@\crcr#2\crcr\black@{\wd\savealignat@}}} % \xalignat not implemented... % ====================================================================== % ======================== DIVERS ====================================== % ====================================================================== % la plupart de ces macros se suffisent a elles-memes. Si vous n'en utilisez % qu'une ou deux, essayez d'abord de ne prendre que celles-la. % \def\careof{\leavevmode\hbox{\raise.75ex\hbox{c}\kern-.15em /\kern-.125em\smash{\lower.3ex\hbox{o}}}} % % \Comment does nothing except ignore its parameter % \def\Comment#1{} % \annexes est analogue a \appendix \def\annexes#1{\par \setcounter{chapter}{\z@} \setcounter{section}{\z@} \def\@chapapp{#1} \def\thechapter{\Alph{chapter}}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % \Uppercase is a macro that will convert its argument to % uppercase. The TeX primitive by itself doesn't work % in such a functional manner since it works "in the mouth." % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \def\Uppercase#1{\uppercase\expandafter{#1}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % \Lowercase is a macro that will convert its argument to % lowercase. The TeX primitive by itself doesn't work % in such a functional manner since it works "in the mouth." % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \def\Lowercase#1{\lowercase\expandafter{#1}} % Symboles divers \def\pyth+{\mathbin{++}} \def\Pyth-{\mathbin{--}} \def\sqbull{\vrule height .9ex width .8ex depth -.1ex } % square bullet \def\pave{\hbox{\hskip.5pt\vrule height.4em width.4em depth \z@}} \def\vl{\leavevmode\hbox{\tt\char`\|}} % vertical line \def\dn{\leavevmode\hbox{\tt\char'14}} % downward arrow \def\up{\leavevmode\hbox{\tt\char'13}} % upward arrow \def\vs{\leavevmode\hbox{\tt\char`\ }} % visible space \def\degre{\ifmmode{^\circ}\else{$^\circ$}\fi} \let\degres=\degre \def\relstack#1#2{\mathrel{\mathop{#2}\limits_{#1}}} \def\hlstack#1#2#3{\mathrel{\mathop{#2}\limits_{#1}^{#3}}} \def\build#1_#2^#3{\mathrel{\mathop{\kern \z@#1}\limits_{#2}^{#3}}} % petite boite \def\pbt#1{\leavevmode\thinspace\hbox{\vrule\vtop{\vbox{\hrule\kern\p@ \hbox{\vphantom{\tt/}\thinspace{\tt#1}\thinspace}} \kern\p@\hrule}\vrule}\thinspace} % petite boite % \arrows makes things like <--- text ---> \def\arrows#1#2{% #1=width, #2=text {\setbox0=\hbox{$\mkern-2mu\mathord-\mkern-2mu$} \hbox to #1{\kern-.055556em$\leftarrow\mkern-6mu$% \cleaders\copy0\hfil \kern.4em #2\kern.4em \cleaders\copy0\hfil $\mkern-6mu\rightarrow$\kern-.055556em}}} % \Arrows makes things like <=== text ===> \def\Arrows#1#2{% #1=width, #2=text {\setbox0=\hbox{$\mkern-2mu\mathord=\mkern-2mu$} \hbox to #1{\kern-.055556em$\Leftarrow\mkern-6mu$% \cleaders\copy0\hfil \kern.4em #2\kern.4em \cleaders\copy0\hfil $\mkern-6mu\Rightarrow$\kern-.055556em}}} \def\boxed#1{\setbox\z@\hbox{$\displaystyle{#1}$}\hbox{\lower.4\ex@ \hbox{\lower3\ex@\hbox{\lower\dp\z@\hbox{\vbox{\hrule height.4\ex@ \hbox{\vrule width.4\ex@\hskip3\ex@\vbox{\vskip3\ex@\box\z@\vskip3\ex@}% \hskip3\ex@\vrule width.4\ex@}\hrule height.4\ex@}}}}}} % signature \def\signed#1#2{{\unskip\nobreak\hfil\penalty50 \hskip2em\hbox{}\nobreak\hfil\sl#1\/ \rm(#2) \parfillskip=\z@ \finalhyphendemerits=\z@ \endgraf}} \def\wdesclabel#1{\hspace\labelsep \bf #1} \def\wdesc#1{\list{}{\settowidth\labelwidth{#1}\leftmargin\labelwidth \advance\leftmargin\labelsep \let\makelabel\wdesclabel}} \let\endwdesc\endlist \def\qed{\ifhmode\unskip\nobreak\fi\ifmmode\ifinner\else\hskip5\p@\fi\fi \hbox{\hskip5\p@\vrule width4\p@ height6\p@ depth1.5\p@\hskip\p@}} \def\cqfd{\unskip\kern 6pt\penalty 500 \raise -2pt\hbox{\vrule\vbox to10pt{\hrule width 4pt \vfill\hrule}\vrule}} % Vertical `laps'; cf. \llap and \rlap \def\ulap#1{\vbox to \z@{\vss#1}} \def\dlap#1{\vbox to \z@{#1\vss}} % And a horizontal `lap' that takes up no space on either side. \def\zlap#1{\hbox to \z@{\hss#1\hss}} % And a vertical `lap' that takes up no space on either side. \def\vlap#1{\vbox to \z@{\vss#1\vss}} % Avoid unwanted vertical glue when making up pages. \def \basezero{\baselineskip\z@ \lineskip\z@} % Struts give ascenders and descenders to assist in baseline alignment % (e.g. of adjoining vertical boxes); useful only with text fonts. % \def \d@sh#1{\nobreak\thinspace#1\penalty\z@\thinspace} \def \dash{\d@sh{--}} \def \Dash{\d@sh{---}} \def\pdmil{\leavevmode\kern.1em \raise.5ex\hbox{\the\scriptscriptfont0 0}\kern-.1em /\kern-.15em\lower.25ex\hbox{\the\scriptscriptfont0 000}} \def\pmil{\leavevmode\kern.1em \raise.5ex\hbox{\the\scriptscriptfont0 0}\kern-.1em /\kern-.15em\lower.25ex\hbox{\the\scriptscriptfont0 00}} \def\pct{\leavevmode\kern.1em \raise.5ex\hbox{\the\scriptscriptfont0 0}\kern-.1em /\kern-.15em\lower.25ex\hbox{\the\scriptscriptfont0 0}} \def\circledx{\protect\pcircled} \def\pcircled#1{{\rm\ooalign{\hfil \raise.07ex\hbox{#1}\hfil\crcr\mathhexbox20D}}} \newbox\cr@ \sbox\cr@{\rule[-2.5pt]{\z@}{8pt}\begin{picture}(10,6) \put(2,-1){\vector(-1,0){2}} \put(2,3){\oval(12,8)[r]} \end{picture}} \newcommand\Carrtn{\usebox\cr@} \def\flushpar{\par\noindent} \def\emptypage{\eject\@@line{}\vfil\eject} % faire une page vide (TeXbook 114) \def\emptyline{\break\hbox{}\hfil\break} \def\cbox#1{\hbox{$\vcenter{#1}$}} \def\cc#1{\hfill\quad#1\quad\hfill} \long\def\ctitre#1{\vbox{\leftskip=\z@ plus 1fil \rightskip=\z@ plus 1fil \parfillskip=\z@#1}} \def\ycopyright{\copyright~\uppercase\expandafter{\romannumeral\year}\relax} \def\sur{\above .2pt} %\def\oldstyle{\fam\@ne\tenmi} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% OLDSTYLE \ifx\@ptsize\undefined \let\@ptsize=100 \fi \ifcase\@ptsize \def\oldstyle{\fam\@ne\tenmi} \or \def\oldstyle{\fam\@ne\elvmi} \or \def\oldstyle{\fam\@ne\twlmi} \else \def\oldstyle{\fam\@ne\twtymi} \fi \def\biffe#1{\setbox0=\hbox{#1}% %\ifvmode\indent\fi\raise0.4ex\hbox to\wd0{\vbox{\box0\vskip-0.48ex\hrule height.08ex}}} \ifvmode\indent\fi\raise0.5ex\hbox to\wd0{\vbox{\box0\vskip-0.58ex\hrule height.08ex}}} \newcount\@spr \def\spread#1{\relax\bgroup\@spr=#1\dimen@\@spr\jot\advance\dimen@\dimen@\vskip-\dimen@\bgroup\@spr=#1\openup#1\jot} \def\endspread{\removelastskip\vskip\belowdisplayskip\egroup\egroup} % ====================================================================== % ======================== DIVERS MATH ================================= % ====================================================================== \let\dsize\displaystyle \let\tsize\textstyle \let\ssize\scriptstyle \let\sssize\scriptscriptstyle \def\dfrac#1#2{{\displaystyle{#1\over#2}}} \def\tfrac#1#2{{\textstyle{#1\over#2}}} \def\fracwithdelims#1#2#3#4{{#3\overwithdelims#1#2#4}} \def\binom#1#2{{#1\choose#2}} \def\dbinom#1#2{{\displaystyle{#1\choose#2}}} \def\tbinom#1#2{{\textstyle{#1\choose#2}}} \def\snug{\unskip\kern-\mathsurround} \def\overset#1\to#2{\binrel@{#2}\ifdim\wd\tw@<\z@ \mathbin{\mathop{\kern\z@#2}\limits^{#1}}\else\ifdim\wd\tw@>\z@ \mathrel{\mathop{\kern\z@#2}\limits^{#1}}\else {\mathop{\kern\z@#2}\limits^{#1}}{}\fi\fi} \def\underset#1\to#2{\binrel@{#2}\ifdim\wd\tw@<\z@ \mathbin{\mathop{\kern\z@#2}\limits_{#1}}\else\ifdim\wd\tw@>\z@ \mathrel{\mathop{\kern\z@#2}\limits_{#1}}\else {\mathop{\kern\z@#2}\limits_{#1}}{}\fi\fi} \def\oversetbrace#1\to#2{\overbrace{#2}^{#1}} \def\undersetbrace#1\to#2{\underbrace{#2}_{#1}} \def\sideset#1\and#2\to#3{% \setbox\@ne\hbox{$\dsize{\vphantom{#3}}#1{#3}\m@th$}% \setbox\tw@\hbox{$\dsize{#3}#2\m@th$}% \kern\wd\@ne\kern-\wd\tw@\mathop{\hskip\wd\tw@\hskip-\wd\@ne {\vphantom{#3}}#1{#3}#2}} \def\dddot#1{{\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@ \hbox{\normalsize\rmfamily\normalfont...}\vss}}}} \def\ddddot#1{{\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@ \hbox{\normalsize\rmfamily\normalfont....}\vss}}}} \def\spdot{^{\hbox{\raise\ex@\hbox{\normalsize\rmfamily\normalfont.}}}} \def\spddot{^{\hbox{\raise\ex@\hbox{\normalsize\rmfamily\normalfont..}}}} \def\spdddot{^{\hbox{\raise\ex@\hbox{\normalsize\rmfamily\normalfont...}}}} \def\spddddot{^{\hbox{\raise\ex@\hbox{\normalsize\rmfamily\normalfont....}}}} \def\spbar{^-} \def\spvec{^\rightarrow} \def\sptilde{^\sim} \def\spcheck{^\vee} \def\sphat{^{\mathchoice{}{}{\,\,\botsmash{\hbox{\lower 4\ex@\hbox {$\widehat{\null}$}}}}{\,\botsmash{\hbox{\lower3\ex@\hbox {$\hat{\null}$}}}}}} \def\spacute{^{\!\botsmash{\hbox{\lower\@ne ex\hbox{\'{}}}}}} \def\spgrave{^{\mathchoice{}{}{}{\!}% \botsmash{\hbox{\lower\@ne ex\hbox{\`{}}}}}} \def\spbreve{^{\!\botsmash{\hbox{\lower4\ex@\hbox{\u{}}}}}} \def\operatorname#1{\mathop{\newmcodes@\kern\z@\fam\z@#1}\nolimits@} \def\operatornamewithlimits#1{\mathop{\newmcodes@\kern\z@\fam\z@#1}\nlimits@} \def\qopname@#1{\mathop{\fam\z@#1}\nolimits@} \def\qopnamewl@#1{\mathop{\fam\z@#1}\nlimits@} \def\arccos{\qopname@{arccos}} \def\arcsin{\qopname@{arcsin}} \def\arctan{\qopname@{arctan}} \def\arg{\qopname@{arg}} \def\cos{\qopname@{cos}} \def\cosh{\qopname@{cosh}} \def\cot{\qopname@{cot}} \def\coth{\qopname@{coth}} \def\csc{\qopname@{csc}} \def\deg{\qopname@{deg}} \def\det{\qopnamewl@{det}} \def\dim{\qopname@{dim}} \def\exp{\qopname@{exp}} \def\gcd{\qopnamewl@{gcd}} \def\hom{\qopname@{hom}} \def\inf{\qopnamewl@{inf}} \def\injlim{\qopnamewl@{inj\,lim}} \def\ker{\qopname@{ker}} \def\lg{\qopname@{lg}} \def\lim{\qopnamewl@{lim}} \def\liminf{\qopnamewl@{lim\,inf}} \def\limsup{\qopnamewl@{lim\,sup}} \def\ln{\qopname@{ln}} \def\log{\qopname@{log}} \def\max{\qopnamewl@{max}} \def\min{\qopnamewl@{min}} \def\Pr{\qopnamewl@{Pr}} \def\projlim{\qopnamewl@{proj\,lim}} \def\sec{\qopname@{sec}} \def\sin{\qopname@{sin}} \def\sinh{\qopname@{sinh}} \def\sup{\qopnamewl@{sup}} \def\tan{\qopname@{tan}} \def\tanh{\qopname@{tanh}} \def\varinjlim{\mathop{\vtop{\ialign{$##$\cr \hfil{\fam\z@ lim}\hfil\cr\noalign{\nointerlineskip}% {-}\mkern-6mu\cleaders\hbox{$\mkern-2mu{-}\mkern-2mu$}\hfill \mkern-6mu{\to}\cr\noalign{\nointerlineskip\kern-\ex@}\cr}}}} \def\varprojlim{\mathop{\vtop{\ialign{$##$\cr \hfil{\fam\z@ lim}\hfil\cr\noalign{\nointerlineskip}% {\leftarrow}\mkern-6mu\cleaders\hbox{$\mkern-2mu{-}\mkern-2mu$}\hfill \mkern-6mu{-}\cr\noalign{\nointerlineskip\kern-\ex@}\cr}}}} \def\varliminf{\mathop{\underline{\vrule height\z@ depth.2exwidth\z@ \hbox{\rm lim}}}} \def\varlimsup{\mathop{\overline{\hbox{\rm lim}}}} \def\multilimits@{\bgroup\vspace@\Let@ \baselineskip\fontdimen10 \scriptfont\tw@ \advance\baselineskip\fontdimen12 \scriptfont\tw@ \lineskip\thr@@\fontdimen8 \scriptfont\thr@@ \lineskiplimit\thr@@\fontdimen8 \scriptfont\thr@@ \vbox\bgroup\ialign\bgroup\hfil$\scriptstyle{##}$\hfil\cr} \def\Sb{_\multilimits@} \def\endSb{\cr\egroup\egroup\egroup} \def\Sp{^\multilimits@} \let\endSp\endSb \newcount\skewcharcount@ \newcount\familycount@ \def\theskewchar@{\global\familycount@\@ne \global\skewcharcount@\the\skewchar\textfont\@ne \ifnum\fam>\m@ne\ifnum\fam<17 \global\familycount@\the\fam\relax \global\skewcharcount@\the\skewchar\textfont\the\fam\relax\fi\fi \ifnum\skewcharcount@>\m@ne \ifnum\skewcharcount@<128 \global\multiply\familycount@256 \global\advance\skewcharcount@\familycount@ \global\advance\skewcharcount@28672 \mathchar\skewcharcount@\else \global\skewcharcount@\m@ne\fi\else \global\skewcharcount@\m@ne\fi} \newcount\pointcount@ \def\getpoints@#1.#2\getpoints@{\pointcount@#1 } \def\accentfam@{7} \def\noaccents@{\def\accentfam@{0}} \def\makeacc@#1#2{\def#1{\mathaccent"\accentfam@#2 }} \def\Makeacc@#1#2{\relaxnext@\def#1{\relax\ifmmode\def\next{\mathaccent@ {"\accentfam@#2 }}\else\def\next{\Err@{Use \string#1\space only in math mode}}\fi\next}} \makeacc@\hat{05E} \Makeacc@\Hat{05E} \makeacc@\check{014} \Makeacc@\Check{014} \makeacc@\tilde{07E} \Makeacc@\Tilde{07E} \makeacc@\acute{013} \Makeacc@\Acute{013} \makeacc@\grave{012} \Makeacc@\Grave{012} \makeacc@\dot{05F} \Makeacc@\Dot{05F} \makeacc@\ddot{07F} \Makeacc@\Ddot{07F} \makeacc@\breve{015} \Makeacc@\Breve{015} \makeacc@\bar{016} \Makeacc@\Bar{016} \def\vec{\mathaccent"017E } \def\Vec{\relaxnext@\ifmmode\def\next{\mathaccent@{"017E }}\else \def\next{\Err@{Use \string\vec\space only in math mode}}\fi\next} \newdimen\accentdimen@ \newcount\accentmu@ \def\unbracefonts@{\let\Cal@\Cal@@\let\rom@\rom@@\let\bold@\bold@@ \let\slanted@\slanted@@} \def\mathaccent@#1#2{\relaxnext@\ifnum\fam=\m@ne\xdef\thefam@{1}\else \xdef\thefam@{\the\fam}\fi \accentdimen@\z@ \setbox\z@\hbox{\unbracefonts@$\fam\thefam@#2$}% \ifdim\accentdimen@=\z@\def\next{\mathaccent#1{#2}}% \setbox\@ne\hbox{\unbracefonts@$\fam\thefam@#2\theskewchar@$}% \setbox\tw@\hbox{$\ifnum\skewcharcount@=\m@ne\else \mathchar\skewcharcount@\fi$}% \global\accentdimen@\wd\@ne\global\advance\accentdimen@-\wd\z@ \global\advance\accentdimen@-\wd\tw@ \global\multiply\accentdimen@\tw@ \dimentomu@\accentdimen@\accentmu@\global\advance\accentmu@\@ne\else \def\next{{\mathaccent#1{#2\mkern\accentmu@ mu}\mkern-\accentmu@ mu}{}}\fi \next} \def\dimentomu@#1#2{\multiply#1 100 \expandafter\getpoints@\the#1\getpoints@ \multiply\pointcount@18 \divide\pointcount@\@m \global#2\pointcount@} \def\newbox@{\alloc@4\box\chardef\insc@unt} \def\accentedsymbol#1#2{\expandafter\newbox@\csname\expandafter \eat@\string#1@box\endcsname \expandafter\setbox\csname\expandafter\eat@ \string#1@box\endcsname\hbox{$#2$}\def #1{\expandafter\copy\csname\expandafter\eat@\string#1@box\endcsname{}}} \def\dmatherr@#1{\Err@{\string#1\space not allowed in display math mode}} \def\nonmatherr@#1{\Err@{\string#1\space allowed only in math mode}} \def\mathbreak{\relax\ifmmode\ifinner\break\else \dmatherr@\mathbreak\fi\else\nonmatherr@\mathbreak\fi} \def\nomathbreak{\relax\ifmmode\ifinner\nobreak\else \dmatherr@\nomathbreak\fi\else\nonmatherr@\nomathbreak\fi} \def\allowmathbreak{\relax\ifmmode\ifinner\allowbreak\else \dmatherr@\allowmathbreak\fi\else\nonmatherr@\allowmathbreak\fi} \newcount\thickness %\Invalid@\thickness \def\thickfrac{\relaxnext@ \def\next@{\ifx\next\thickness\let\next@\nextii@\else \def\next@{\nextii@\thickness1}\fi\next@}% \def\nextii@\thickness##1##2##3{{##2\above##1\ex@##3}}% \futurelet\next\next@} \def\fracwithdelims#1#2#3#4{{#3\overwithdelims#1#2#4}} \def\thickfracwithdelims#1#2{\relaxnext@\def\ldelim@{#1}\def\rdelim@{#2}% \def\next@{\ifx\next\thickness\let\next@\nextii@\else \def\next@{\nextii@\thickness1}\fi\next@}% \def\nextii@\thickness##1##2##3{{##2\abovewithdelims \ldelim@\rdelim@##1\ex@##3}}% \futurelet\next\next@} \def\pod#1{\allowbreak\ifinner\mkern8mu\else\mkern18mu\fi(#1)} \newcount\cfraccount@ \def\gloop@#1\repeat{\gdef\body{#1}\iterate} \def\cfrac{\bgroup\bgroup\advance\cfraccount@\@ne\strut \iffalse{\fi\def\\{\over\displaystyle}\iffalse}\fi} \def\lcfrac{\bgroup\bgroup\advance\cfraccount@\@ne\strut \iffalse{\fi\def\\{\hfill\over\displaystyle}\iffalse}\fi} \def\rcfrac{\bgroup\bgroup\advance\cfraccount@\@ne\strut\hfill \iffalse{\fi\def\\{\over\displaystyle\hfill}\iffalse}\fi} \def\endcfrac{\gloop@\ifnum\cfraccount@>\z@\global\advance\cfraccount@\m@ne \egroup\hskip-\nulldelimiterspace\egroup\repeat} %\def\adots{\mathinner{\mkern1mu\raise\p@\vbox{\kern7\p@\hbox{.}}\mkern2mu % \raise4\p@\hbox{.}\mkern2mu\raise7\p@\hbox{.}\mkern1mu}} %\def\adots{\mathinner{\mkern2mu\raise\p@\hbox{.} %\mkern3mu\raise4pt\hbox{.}\mkern1mu\raise7pt\hbox{.}}} %% %\def\adots{\mathinner{\mkern1mu\raise\p@\hbox{.}\mkern2mu % \raise4\p@\hbox{.}\mkern2mu\raise7\p@\vbox{\kern7\p@\hbox{.}}\mkern1mu}} % from yhmath \def\adots{\mathinner{\mkern2mu\raise\p@\hbox{.} \mkern2mu\raise4\p@\hbox{.}\mkern1mu \raise7\p@\vbox{\kern7\p@\hbox{.}}\mkern1mu}} % ----------------------------------------------------------------------------- % variantes grecques & \Per, \Ser % ----------------------------------------------------------------------------- %\mathchardef\itGamma="0100 %\mathchardef\itDelta="0101 %\mathchardef\itTheta="0102 %\mathchardef\itLambda="0103 %\mathchardef\itXi="0104 %\mathchardef\itPi="0105 %\mathchardef\itSigma="0106 %\mathchardef\itUpsilon="0107 %\mathchardef\itPhi="0108 %\mathchardef\itPsi="0109 %\mathchardef\itOmega="010A \def\hexnumber@#1{\ifnum#1<10 \number#1\else \ifnum#1=10 A\else\ifnum#1=11 B\else\ifnum#1=12 C\else \ifnum#1=13 D\else\ifnum#1=14 E\else\ifnum#1=15 F\fi\fi\fi\fi\fi\fi\fi} %\def\bffam@{\hexnumber@\bffam} %\mathchardef\boldGamma="0\bffam@00 %\mathchardef\boldDelta="0\bffam@01 %\mathchardef\boldTheta="0\bffam@02 %\mathchardef\boldLambda="0\bffam@03 %\mathchardef\boldXi="0\bffam@04 %\mathchardef\boldPi="0\bffam@05 %\mathchardef\boldSigma="0\bffam@06 %\mathchardef\boldUpsilon="0\bffam@07 %\mathchardef\boldPhi="0\bffam@08 %\mathchardef\boldPsi="0\bffam@09 \mathchardef\Ser"2278 \mathchardef\Per"227B % ----------------------------------------------------------------------------- % radicaux, \uproot et \leftroot \def\@sqrt@#1{\radical"270370 {#1}} \Invalid@\leftroot \Invalid@\uproot \newcount\uproot@ \newcount\leftroot@ \def\root{\relaxnext@ \def\next@{\ifx\next\uproot\let\next\nextii@\else \ifx\next\leftroot\let\next\nextiii@\else \let\next\plainroot@\fi\fi\next}% \def\nextii@\uproot##1{\uproot@##1\relax\futurelet\next\nextiv@}% \def\nextiv@{\ifx\next\space@\def\next. {\futurelet\next\nextv@}\else \def\next.{\futurelet\next\nextv@}\fi\next.}% \def\nextv@{\ifx\next\leftroot\let\next\nextvi@\else \let\next\plainroot@\fi\next}% \def\nextvi@\leftroot##1{\leftroot@##1\relax\plainroot@}% \def\nextiii@\leftroot##1{\leftroot@##1\relax\futurelet\next\nextvii@}% \def\nextvii@{\ifx\next\space@ \def\next. {\futurelet\next\nextviii@}\else \def\next.{\futurelet\next\nextviii@}\fi\next.}% \def\nextviii@{\ifx\next\uproot\let\next\nextix@\else \let\next\plainroot@\fi\next}% \def\nextix@\uproot##1{\uproot@##1\relax\plainroot@}% \bgroup\uproot@\z@\leftroot@\z@\futurelet\next\next@} \def\plainroot@#1\of#2{\setbox\rootbox\hbox{$\m@th\scriptscriptstyle{#1}$}% \mathchoice{\r@@t\displaystyle{#2}}{\r@@t\textstyle{#2}} {\r@@t\scriptstyle{#2}}{\r@@t\scriptscriptstyle{#2}}\egroup} \def\r@@t#1#2{\setbox\z@\hbox{$\m@th#1\@sqrt@{#2}$}% \dimen@\ht\z@\advance\dimen@-\dp\z@ \setbox1\hbox{$\m@th#1\mskip\uproot@ mu$}\advance\dimen@ by1.667\wd\@ne \mkern-\leftroot@ mu\mkern5mu\raise.6\dimen@\copy\rootbox \mkern-10mu\mkern\leftroot@ mu\box\z@} \def\tcheche#1{#1\mkern2.5mu\check{}} \def\sh{\mathop{\rm sh}\nolimits} \def\ch{\mathop{\rm ch}\nolimits} \def\Arctg{\mathop{\rm Arctg}\nolimits} \def\arctg{\mathop{\rm arctg}\nolimits} \def\Arcsin{\mathop{\rm Arcsin}\nolimits} \def\arcsin{\mathop{\rm arcsin}\nolimits} \def\Arccos{\mathop{\rm Arccos}\nolimits} \def\arccos{\mathop{\rm arccos}\nolimits} \def\minmax{\mathop{\rm min\,max}} \def\pgcd{\mathop{\rm pgcd}\nolimits} \def\tg{\mathop{\rm tg}\nolimits} \def\th{\mathop{\rm th}\nolimits} \def\Arcth{\mathop{\rm Arcth}\nolimits} \def\arcth{\mathop{\rm arcth}\nolimits} \def\intvp{\ifinner\rlap{\raise-.05ex\hbox{\kern.30em\large\rm\char"20}}\else{\scriptstyle\rlap{\raise-0.3ex\hbox{\kern.45em\LARGE\rm\char"20}}}\fi\int} \def\cintvp{\ifinner\rlap{\raise.1ex\hbox{\kern.2em\tiny\rm C}}\else{\rlap{\raise-0.3ex\hbox{\kern.2em\large\rm C}}}\fi\int} \def\system#1{\let\next=\\\let\\=\cr\left\{\null\,\vcenter{\openup1\jot\m@th \ialign{\strut\hfil$##$&$##$\hfil&&\enspace$##$\enspace& \hfil$##$&$##$\hfil\crcr#1\crcr}}\right.\let\\=\next} % % variantes de \shortstack % \newif\if@shs\@shsfalse \let\bshortstack\shortstack \def\tshortstack{\@ifnextchar[{\@tshortstack}{\@tshortstack[c]}} \def\@tshortstack[#1]{\leavevmode \vtop\bgroup\baselineskip-1pt\lineskip 3pt\let\mb@l\hss \let\mb@r\hss \expandafter\let\csname mb@#1\endcsname\relax \let\\\@stackcr\@itshortstack} \def\@itshortstack#1{\halign{\mb@l ##\unskip\mb@r\cr #1\crcr}\egroup} \def\cshortstack{\@ifnextchar[{\@cshortstack}{\@cshortstack[c]}} \def\@cshortstack[#1]{\leavevmode \@shsfalse \ifmmode \vcenter \else \@shstrue $\vcenter\fi\bgroup\baselineskip-1pt\lineskip 3pt\let\mb@l\hss \let\mb@r\hss \expandafter\let\csname mb@#1\endcsname\relax \let\\\@stackcr\@icshortstack} \def\@icshortstack#1{\halign{\mb@l ##\unskip\mb@r\cr #1\crcr}\egroup\if@shs $\fi} %%% \stackword \def\stackword#1{\leavevmode\lower3pt\hbox{\shortstack{\@stackrest#1\endolist}}} \let\bstackword\stackword \def\tstackword#1{\tshortstack{\@stackrest#1\endolist}} \def\cstackword#1{\leavevmode\lower3pt\hbox{\cshortstack{\@stackrest#1\endolist}}} \def\endolist{\endolist} \def\@stackrest{\afterassignment\@stacksymbol \let\next= } \def\@stacksymbol{\ifx\next\endolist \let\next\relax %\kern-0.25em \else \next\hfill\\% \let\next\@stackrest \fi \next} %%% end of \stackword %%% \uppercasefirst {\obeyspaces% \gdef\uppercasefirst#{\begingroup\obeyspaces\let =\@capaftersp% \@UppercaseSec}} \def\@UppercaseSec#1{\futurelet\next\@CapAFTERsp#1{}\endgroup} \def\@capaftersp{\space\futurelet\next\@CapAFTERsp} \def\@CapAFTERsp{\ifx\next\egroup\let\next\relax\else \ifx\next\@capaftersp \unskip \let\next\relax \else \def\next##1{\uppercase{##1}}\fi\fi \next} %% Exemple : \uppercasefirst{space: from {nasa} {}to the final frontier.} %%% end of \uppercasefirst %%======================================= %% changemargin %%======================================= %\newenvironment{changemargin}[2]{\begin{list}{}{ % \setlength{\topsep}{0pt}\setlength{\leftmargin}{0pt} % \setlength{\rightmargin}{0pt} % \setlength{\listparindent}{\parindent} % \setlength{\itemindent}{\parindent} % \setlength{\parsep}{0pt plus 1pt} % \addtolength{\leftmargin}{#1}\addtolength{\rightmargin}{#2} % }\item[] }{\end{list}} \def\checkbox{\hbox{$\Box$ \hspace{-1.35em} \raisebox{0.4em}{$\surd$}}} \newcommand{\braopket}[3]{% \left\langle\vphantom{#2#3}#1\,\vrule\,\relax#2\,\vrule\,\relax\vphantom{#1#2}#3\right\rangle} \newcommand{\fancyfrac}[2]{\raisebox{0.3ex}{#1} \hspace*{-0.1em}/\hspace*{-0.1em}\raisebox{-0.3ex}{#2}} \def\degr{\hbox{$^\circ$}} \def\sq{\hbox{\rlap{$\sqcap$}$\sqcup$}} \def\arcmin{\hbox{$^\prime$}} \def\arcsec{\hbox{$^{\prime\prime}$}} \def\fd{\hbox{$.\!\!^{\rm d}$}} \def\fh{\hbox{$.\!\!^{\rm h}$}} \def\fm{\hbox{$.\!\!^{\rm m}$}} \def\fs{\hbox{$.\!\!^{\rm s}$}} \def\fdg{\hbox{$.\!\!^\circ$}} \def\farcm{\hbox{$.\mkern-4mu^\prime$}} \def\farcs{\hbox{$.\!\!^{\prime\prime}$}} \def\fp{\hbox{$.\!\!^{\scriptscriptstyle\rm p}$}} \def\micron{\hbox{$\mu$m}} \let\la=\lesssim \let\ga=\gtrsim \def\case#1#2{\hbox{$\frac{#1}{#2}$}} \def\slantfrac#1#2{\hbox{$\,^#1\!/_#2$}} \def\onehalf{\slantfrac{1}{2}} \def\onethird{\slantfrac{1}{3}} \def\twothirds{\slantfrac{2}{3}} \def\onequarter{\slantfrac{1}{4}} \def\threequarters{\slantfrac{3}{4}} \def\ubvr{\hbox{$U\!BV\!R$}} \def\ub{\hbox{$U\!-\!B$}} \def\bv{\hbox{$B\!-\!V$}} \def\vr{\hbox{$V\!-\!R$}} \def\ur{\hbox{$U\!-\!R$}} \def\ion#1#2{#1$\;${\small\rm\@Roman{#2}}\relax} \def\nodata{\multicolumn{1}{c}{$\cdots$}} \newcount\lecurrentfam %\def\LaTeX{\lecurrentfam=\the\fam \leavevmode L\raise.42ex %\hbox{$\fam\lecurrentfam\scriptscriptstyle\kern-.3em A$}\kern-.15em\TeX} \def\sizrpt{ (\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font \typeout{ (\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font }} \newcommand{\bfmdot}[1]{\mbox{\boldmath\bf \rlap{$#1$}\setbox0=\hbox{$\dot{\phantom{#1}}$}% create fat & bold \dot \kern-0.025em\copy0\kern-\wd0 \kern0.05em\copy0\kern-\wd0 \kern-0.025em\raise.0433em\box0}} % \def\underdotline#1{{\leavevmode\setbox0=\hbox{#1}\rlap{\raise-0.28em\hbox to\wd0{% \rm\tiny\cleaders\hbox{.\kern-0.1ex}\hfill}}\box0}} % % ^---- dots here -- could be anything % %Morten Welinder %terra@diku.dk % \def\underanyline#1#2{{\leavevmode\setbox0=\hbox{#2}\rlap{\raise-0.28em\hbox to\wd0{% \rm\tiny\cleaders\hbox{#1\kern-0.1ex}\hfill}}\box0}} % % % Mc \def\Mc{M\kern-.05em\raise.5ex\hbox{\b c}\kern-.05em}