% % % MATH2.STY : Collection de macros pour Plain TeX % % % % % % %
%         Conception: Robert CABANE                               %
%         Version du 7 mai 2001                                   %
%         Contact: 19 rue de Lyon 33000 BORDEAUX                  %
%         Ymelle: rcabane@free.fr                                 %
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
%
% Fontes pour entete
%
\newcount\svguil\svguil=\the\catcode`\"
\catcode`\"=12
\catcode`\@=11
% Integrales plus grandes (plus grasses aussi).
\font\twelvex=cmex10 scaled 1440
\newfam\xmfam\textfont\xmfam=\twelvex
\def\INT{\mathchar"1\hexnumber@\xmfam52\nolimits}
\def\OINT{\mathchar"1\hexnumber@\xmfam48\nolimits}
%
\def\newsymbol#1#2#3#4#5{\let\next@\relax
 \ifnum#2=\@ne\let\next@\msafam@\else
 \ifnum#2=\tw@\let\next@\msbfam@\fi\fi
 \mathchardef#1="#3\next@#4#5}
\def\mathhexbox@#1#2#3{\relax
 \ifmmode\mathpalette{}{\m@th\mathchar"#1#2#3}%
 \else\leavevmode\hbox{$\m@th\mathchar"#1#2#3$}\fi}
\def\hexnumber@#1{\ifcase#1 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or
 9\or A\or B\or C\or D\or E\or F\fi}
% Fontes LaTeX (si pas disponible red\'efinir \N \C \Q \R \og\fg etc.)
\font\ly       =lasy10
\font\tenmsa   =msam10
\font\twelvemsa=msam10 scaled \magstep1
\font\xivmsa   =msam10 scaled \magstep2
\font\xviimsa  =msam10 scaled \magstep3
\font\fivemsa  =msam5
\font\sixmsa   =msam6
\font\sevenmsa =msam7
\font\eightmsa =msam8
\font\tenmsb   =msbm10
\font\twelvemsb=msbm10 scaled \magstep1
\font\xivmsb   =msbm10 scaled \magstep2
\font\xviimsb  =msbm10 scaled \magstep3
\font\fivemsb  =msbm5
\font\sixmsb   =msbm6
\font\sevenmsb =msbm7
\font\eightmsb =msbm8
\newfam\msafam
\textfont\msafam=\tenmsa
\scriptfont\msafam=\sevenmsa
\scriptscriptfont\msafam=\fivemsa
\edef\msafam@{\hexnumber@\msafam}
\newfam\msbfam
\textfont\msbfam=\tenmsb
\scriptfont\msbfam=\sevenmsb
\scriptscriptfont\msbfam=\fivemsb
\edef\msbfam@{\hexnumber@\msbfam}
\def\Bbb#1{{\fam\msbfam\relax#1}}
\def\widehat#1{\setbox\z@\hbox{$\m@th#1$}%
 \ifdim\wd\z@>\tw@ em\mathaccent"0\msbfam@5B{#1}%
 \else\mathaccent"0362{#1}\fi}
\def\widetilde#1{\setbox\z@\hbox{$\m@th#1$}%
 \ifdim\wd\z@>\tw@ em\mathaccent"0\msbfam@5D{#1}%
 \else\mathaccent"0365{#1}\fi}
\newsymbol\leqslant 1336
\newsymbol\geqslant 133E
\newsymbol\blacklozenge 1007
\newsymbol\subsetneq 2328
\newsymbol\subsetneqq 2324
\let\le=\leqslant
\let\leq=\leqslant
\let\ge=\geqslant
\let\geq=\geqslant
\font\tenbsy  =cmbsy10
\font\xiibsy  =cmbsy10 scaled\magstep1
\font\xviibsy =cmbsy10 scaled\magstep2
\font\sixbf   =cmbx6
\font\eightbf =cmbx8
\font\ninebf  =cmbx9
\font\xiibx   =cmbx12
\font\xviibx  =cmbx12 scaled\magstep1
\font\sixi    =cmmi6
\font\eighti  =cmmi8
\font\ninei   =cmmi9
\font\xiimi   =cmmi10 scaled\magstep1
\font\xviimi  =cmmi10 scaled\magstep2
\font\fivemib =cmmib5
\font\sevenmib=cmmib7
\font\tenmib  =cmmib10
\font\xiimib  =cmmib10 scaled\magstep1
\font\xviimib =cmmib10 scaled\magstep2
\font\sixrm   =cmr6
\font\eightrm =cmr8
\font\ninerm  =cmr9
\font\xiirm   =cmr12
\font\xviirm  =cmr17
\font\Large   =cmr17 scaled \magstep1
\font\xviisl  =cmsl12 scaled\magstep1
\font\eightsl =cmsl8
\font\eightss =cmss8
\font\niness  =cmss9
\font\tenss   =cmss10
\font\gss     =cmss17 %cmssbx10 scaled \magstep3
\font\xiixb   =cmssbx10 scaled \magstep1
\font\sixsy   =cmsy6
\font\eightsy =cmsy8
\font\ninesy  =cmsy9
\font\sevenit =cmti7
\font\eightit =cmti8
\font\eighttt =cmtt8
%
% Pour les tableaux 
%
\def\tvi{\vrule height 12 pt depth 5pt width 0pt}
\def\tv{\tvi\vrule}
\def\hfq{\hfill\quad}
\def\cc#1{\hfq#1\hfq}
\def\filet #1{\hfill\hbox to #1{\hrulefill}\hfill }%
%
% Cadres
% Usage: \cadre{10pt}{texte} pour avoir un cadre de 10 points de large
%
\newdimen\hcadre
\newdimen\pcadre
\def\cadre#1#2{\vbox{\hrule\hbox{\vrule
\vbox spread#1{\vfil\hbox spread#1{\hfil#2\hfil}\vfil}%
\vrule}\hrule}}
%
\def\cadrerelief#1#2{\setbox1=\hbox{\kern #1{#2}\kern #1}%
\hcadre=\ht1\advance\hcadre #1\pcadre=\dp1\advance\pcadre #1%
{\advance\hcadre -0.8pt\global\ht1=\hcadre}
\setbox2=\hbox{\vrule height\hcadre depth\pcadre\kern-0.5pt\copy1\vrule\vrule
height\ht1 depth\pcadre width0.6pt}%
\setbox1=\vbox{\offinterlineskip\hrule height#1 depth0pt width0pt%
\hbox{\vrule height0.4pt width 0.1pt\vrule width\wd1}\box2%
\hbox{\vrule height0pt depth0.4pt width0.9pt\vrule depth1.2pt width\wd1}%
\hrule height 0pt depth#1 width0pt}\advance\hcadre .4pt%
\advance\hcadre #1\advance\pcadre 1.7pt\advance\pcadre #1%
\ht1\hcadre\dp1\pcadre\kern#1\box1\kern#1\relax}
%
% Param\`etres de page (mise en page: voir frpage.sty)
%
\newskip\linesize\linesize=\hsize\advance\linesize by-\leftskip
\advance\linesize by-\rightskip
\newskip\enmargeg\enmargeg=2truemm
\def\retrait{\kern -\enmargeg}
\def\margeg{\kern \enmargeg}
\frenchspacing
%
% Macros pour les bizarreries du fran\c cais
%
\def\^#1{\if#1i{\accent94\i}\else{\accent94 #1}\fi}
\def\"#1{\if#1i{\accent127\i}\else{\accent127 #1}\fi}
\def\og{\leavevmode\hbox{\ly(\kern-.2em(\kern.2em}\nobreak\ignorespaces}
\def\fg{\ifdim\lastskip>\z@\unskip\penalty\@M\fi\leavevmode\hbox{\kern.1em\ly)\kern-.2em)
}}
\def\up#1{\raise1ex\hbox{\eightss#1}}
\def\er{\up{er }}
\def\iemes{\up{i\`emes }}
\def\ieme{\up{i\`eme }}
\def\eme{\up{\`eme }}
\def\degre{\up{o}}
\def\no{n\degre\,}
\def\No{N\degre\,}
%
% Figure a cot\'e du texte: \coteacote{texte}{figure}
%
\long\def\coteacote#1#2{\smallskip
\setbox1=\hbox{#2}\hbox{\vbox{\advance\hsize-\wd1\advance\hsize-1mm
#1}\hskip1mm\vbox{\hsize\wd1\box1}}}
%
% Notes de bas de page
%
%\let\footnoterule=\relax
\newcount\numnote\numnote1
%
\def\eightpoint{%
\textfont0=\eightrm\scriptfont0=\sixrm\scriptscriptfont0=\fiverm
\textfont1=\eighti\scriptfont1=\sixi\scriptscriptfont1=\fivei
\textfont2=\eightsy\scriptfont2=\sixsy\scriptscriptfont2=\fivesy
\textfont\bffam=\eightbf\scriptfont\bffam=\sixbf\scriptscriptfont\bffam=\fivebf
\textfont\itfam=\eightit\textfont\slfam=\eightsl\textfont\ttfam=\eighttt
\def\rm{\fam0\eightrm}\def\it{\fam\itfam\eightit}\def\sl{\fam\slfam\eightsl}%
\def\bf{\fam\bffam\eightbf}\def\tt{\fam\ttfam\eighttt}%
\textfont\msafam=\eightmsa\scriptfont\msafam=\sixmsa
\textfont\msbfam=\eightmsb\scriptfont\msbfam=\sixmsb
\abovedisplayskip=2pt plus 2pt minus 1pt\abovedisplayshortskip=0pt plus 2pt
\belowdisplayskip=\abovedisplayskip\belowdisplayshortskip=2pt plus 1pt minus 1pt
\smallskipamount=2pt plus 1pt minus 1pt
\medskipamount=4pt plus 2pt minus 2pt\bigskipamount=9pt plus 4pt minus 4pt
\setbox\strutbox=\hbox{\vrule height7pt depth2pt width0pt}%
\normalbaselineskip=9pt\normalbaselines\rm}
%
\def\vfootnote#1{\insert\footins\bgroup%
\interlinepenalty\interfootnotelinepenalty%
\splittopskip\ht\strutbox % top baseline for broken footnotes
\splitmaxdepth\dp\strutbox \floatingpenalty\@MM
\parindent 5mm%
%%  \leftskip\z@skip \rightskip\z@skip
\spaceskip\z@skip \xspaceskip\z@skip
\textindent{#1}\footstrut\futurelet\next\fo@t}
%
\long\def\note#1{\footnote{$^{(\the\numnote)}$}{\eightpoint #1}\advance\numnote by1}
%
% Maths en gras voire gros et gras
%
\def\grasmath{\everymath{\textfont0=\tenbf\scriptfont0=\sevenbf\scriptscriptfont0=\fivebf
\textfont1=\tenmib\scriptfont1=\sevenmib\scriptscriptfont1=\fivemib
\textfont2=\tenbsy}}
\edef\Grasmath{\everymath{\textfont0=\xiibx\scriptfont0=\tenbf\scriptscriptfont0=\sevenbf
\textfont1=\xiimib\scriptfont1=\tenmib\scriptscriptfont1=\sevenmib
\textfont2=\xiibsy\scriptfont2=\tenbsy
\textfont\msafam=\twelvemsa\textfont\msbfam=\twelvemsb
}}
%
% Titres
% Titre en grands caract\`eres droites (sans serif), centr\'e
%
\long\def\grostitre#1{\xdef\titredoc{#1}{\vbox{\leftskip0pt plus 2fil\rightskip0pt plus 1fil%
\parskip 16pt plus 2pt\noindent\gss #1}\par\noindent\filet\linesize\medskip}
\global\footline={\hfil\everymath{\scriptstyle}\sevenit\titredoc, page \folio\hfil
\ifnum1=\pageno\the\day/\the\month/\the\year\fi\everymath{}}}
%
\def\titrecentre#1{\vskip5mm minus1mm\goodbreak\noindent
{\hfill\xiixb\Grasmath #1\hfill\null}\par\nobreak\vskip4mm minus1mm}
%
\def\titrecadre#1{\titrecentre{\cadrerelief{4pt}{\xiixb\Grasmath #1}}}
%
\def\titregras#1{\smallskip{\bf \grasmath #1}}
%
% Abreviations
%
\def\intro#1.{{\bf #1.}}
\def\aide#1{{\sl In\-di\-ca\-tion: #1}}
\def\remarque#1{{\sl Re\-marque: #1}}
\def\remq{\remarque{}}
\def\puce{\noindent$\bullet$\quad}
\def\fin{\bigskip\centerline{- FIN -}}
\def\qed{.\raise0.2ex\hbox{$\ \scriptstyle\blacklozenge$}}
\def\CQFD{\ifmmode\>\qed\else\qed\par\fi}
\def\ssi{si et seule\-ment si }
%
% Numerotation des parties, questions ...
%
\newcount\pno\pno=0
\newcount\qno\qno=0
\newcount\sqno\sqno=96
\newcount\spno\spno=64
% Pour numerotation style X, \razqnofalse
\newif\ifrazqno\razqnotrue
\def\partieprelim
{\vskip5mm minus1mm\goodbreak%
\noindent{\hfill\xiixb Partie pr\'eliminaire\hfill\null}%
\par\nobreak\vskip4mm minus1mm}
%
\def\partie
{\ifrazqno\qno0\fi\sqno96\spno64\advance\pno by1\vskip5mm minus1mm\goodbreak%
\noindent{\hfill\xiixb Partie \uppercase\expandafter{\romannumeral\pno}\hfill\null}%
\par\nobreak\vskip4mm minus1mm}
%
\def\partietitre#1
{\ifrazqno\qno0\fi\sqno96\spno64\advance\pno by1\vskip5mm minus1mm\goodbreak%
\noindent{\hfill\xiixb\Grasmath Partie \uppercase\expandafter{\romannumeral\pno}\ :\
#1\hfill\null}\par\nobreak\vskip4mm minus 1mm}
%
\let\Partie=\partie
\let\Partietitre=\partietitre
%
\def\souspartie
{\qno=0\sqno=96\advance\spno by1\goodbreak\medskip%
\noindent{\hfill\bf\grasmath Section \char\spno\hfill}\nobreak\par\smallskip}
%
\def\souspartietitre#1
{\qno=0\sqno=96\advance\spno by1\goodbreak\medskip%
\noindent{\hfill\bf\grasmath Section \char\spno\ :\ #1\hfill}\nobreak\par\smallskip}
%
\def\question
{\global\parindent0mm\global\sqno96\global\advance\qno by1\goodbreak\vskip2mm
\retrait{\bf \the\qno \up{o})\ \ }\nobreak}
%
\def\questiontitre#1
{\global\parindent0mm\global\sqno96\global\advance\qno by1\goodbreak\vskip2mm
\retrait{\bf\grasmath \the\qno \up{o})\ \ #1}\par\nobreak}
%
\def\questiona
{\global\parindent0mm\global\sqno97\global\advance\qno by1\goodbreak\vskip2mm
\retrait{\bf \the\qno \up{o})\ \char\sqno\sevenrm )\ \ }\nobreak}
%
\def\sousquestion
{\global\parindent0mm\goodbreak\vskip2mm
\retrait\global\advance\sqno by1{\bf \char\sqno\sevenrm )}\ \ }
%
\def\encadre#1{\hfil\cadrerelief{3pt}{#1}\par}
\def\reponse#1{\par\centerline{\cadrerelief{3pt}{#1}}}
\def\Reponse#1#2{\setbox1=\vbox{\hbox{#1}\hbox{#2}}\par\centerline{\cadrerelief{4pt}{\box1}}}
%
% Maths
%
\long\def\Lemme #1.#2\Preuve{\medbreak\noindent{\bf Lemme
#1\unskip.}\quad{\sl #2\par
\ifdim\lastskip<\smallskipamount\removelastskip\penalty55\smallskip\fi
\noindent Preuve:}}
%
% Macros pour les matrices
%
% Points en diagonale
% \Ddot{nombre}{symbole}(x_init,y_init,delta_x,delta_y)
\newcount\dotcnt
\def\Ddot#1#2(#3,#4,#5,#6){\haut=#6\setbox1=\hbox to 0pt{\smash{%
\dotcnt=1\kern#3\loop\raise\dotcnt\haut\hbox to 0pt{\hss#2}\kern#5%
\ifnum\dotcnt<#1\advance\dotcnt by 1\repeat}\hss}\setbox2=\vtop{\box1}\ht2=#4
\box2}
%
\let\\=\cr
% Grandes lettres
\def\grand#1(#2,#3){\setbox1=\hbox{\raise#3\hbox{
\textfont0=\xviirm\scriptfont0=\xiirm\scriptscriptfont0=\tenrm
\textfont1=\xviimi\scriptfont1=\xiimi\scriptscriptfont1=\teni
\textfont2=\xviibsy\scriptfont2=\xiibsy
\textfont\msafam=\xviimsa\textfont\msbfam=\xviimsb
$#1$}}\dp1=0pt\ht1=0pt\hbox to 0pt{\kern#2\box1\hss}}
% Systeme d'equations
\def\system#1{\left\{\null\,\vcenter{\openup1\jot\m@th\ialign{\strut\hfil%
$##$&$##$\hfil&&\enspace$##$\enspace&\hfil$##$&$##$\hfil\crcr#1\crcr}}\right.}
% Transposition: ~A en mode maths
\catcode`\~=\active
\def~#1{\ifmmode\setbox9=\hbox{$#1$}\vphantom{\copy9}^t\!\box9%
\else\penalty1000\ #1\fi}
\def\Diag{\mathop{\rm Diag}\nolimits}
%
% Fractions
% Fraction en displaystyle avec numerateur un peu plus bas
\def\Fr@c#1#2{\setbox1\hbox{$\displaystyle #1$}
{\displaystyle{\hbox{\lower2pt\box1}\over #2}}}
\def\Frac#1#2{\mathchoice{#1\over #2}{\Fr@c{#1}{#2}}
{\tfrac{#1}{#2}}{\sfrac{#1}{#2}}}
% Fraction g\'en\'eralement plus petite
\def\frac#1#2{\mathchoice{\Fr@c{#1}{#2}}{\tfrac{#1}{#2}}{\sfrac{#1}{#2}}{#1/#2}}
% Fraction toujours plus petite, en textstyle (fontes agrandies)
% \def\tfrac#1#2{\textstyle{{#1}\over{#2}}}
\def\tfrac#1#2{\hbox{\scriptfont0=\ninerm\scriptscriptfont0=\sevenrm
\scriptfont1=\ninei\scriptscriptfont1=\seveni
\scriptfont2=\ninesy\scriptscriptfont2=\sevensy
$#1\over \mathstrut #2$}}
% Fraction avec barre inclin\'ee
\def\sfrac#1#2{{\raise1.5pt\hbox{$\scriptstyle #1$}\mkern-2mu
\raise1pt\hbox{$\scriptstyle/$}\mkern-2mu\lower0.5pt\hbox{$\scriptstyle #2$}}}
% Fraction toujours plus grande, en displaystyle
\def\DFrac#1#2{\displaystyle{{#1}\over{#2}}}
\def\dpar#1#2{\Frac{\partial #1}{\partial #2}}
\def\ddpar#1#2#3{\ifx #2#3\Frac{\partial^2#1}{\partial #2^2}
\else\Frac{\partial^2#1}{\partial #2\partial #3}\fi}
%
% Macros diverses plus ou moins math\'ematiques
%
\def\build#1_#2^#3{\mathrel{\mathop{\kern 0pt#1}\limits_{#2}^{#3}}}
\def\soul#1{$\underline{\hbox{#1}}$}
\def\soulgras#1{$\underline{\hbox{\bf\grasmath #1}}$}
\def\ec#1{\hbox to0pt{\hskip0pt minus1fil$\smash{#1}$\hskip0pt minus1fil}}
\def\Vdots{\ec{\smash{\vdots}}}
\def\trt{\hbox{\vrule height1.5pt depth0pt}}
\def\vdash{\lower2pt\vbox{\baselineskip3pt\lineskiplimit0pt%
\kern6pt\trt\trt\trt\trt}\kern1pt\null}
\def\cascade#1{\leavevmode\vtop{\halign{${}##{}$\hfil&&${}##{}$\hfil\cr%
#1}}\par}
\def\[{\mathopen{\left[{}\mskip-3mu\right[}}
\def\]{\mathclose{\left]{}\mskip-3mu\right]}}
\def\<#1|#2>{\mathchar\string"413C #1|#2\mathchar\string"513E}
\def\Vec#1{\overrightarrow{#1}}
\def\vect#1#2{\overrightarrow{\rm #1#2}} % de sorte que \vect AB fonctionne
\def\binom#1#2{{\rm C\mkern1mu\mathstrut}_{#1}^{#2}}
\let\binome=\binom
\def\norme#1#2{{\|#2\|}_{#1}}
% de sorte que \normei2x donnera ||x||
%\def\C#1{\ifmmode{\cal C}^{#1}\else${\cal C}^{#1}$\fi} % classe C^n
\def\rest#1{_{\,\vrule height5pt width.3pt depth3pt\,_{\scriptstyle #1}}}
\def\interieur#1{\buildrel\circ\over{#1\,}}
\def\Interieur#1{{\displaystyle\overbrace{#1\,}^\circ}}
\def\adher#1{\overline{#1\,}}
\def\cur#1{{\cal #1}}
\def\fonca#1#2#3#4{:\left\{\matrix{#2&\rightarrow&#4\cr#1&\mapsto&#3}\right.}
\def\racine#1#2{\root\raise 2pt\hbox{$\scriptstyle #1$} \of{\,#2}} % racine ni\`eme
\def\.{\ifmmode\>.\else$\>.$\fi}
% Pour la geometrie: majuscules romaines, non italiques
\def\majrm{
\mathcode`\A="7041\mathcode`\B="7042\mathcode`\C="7043\mathcode`\D="7044
\mathcode`\E="7045\mathcode`\F="7046\mathcode`\G="7047\mathcode`\H="7048
\mathcode`\I="7049\mathcode`\J="704A\mathcode`\K="704B\mathcode`\L="704C
\mathcode`\M="704D\mathcode`\N="704E\mathcode`\O="704F\mathcode`\P="7050
\mathcode`\Q="7051\mathcode`\R="7052\mathcode`\S="7053\mathcode`\T="7054
\mathcode`\U="7055\mathcode`\V="7056\mathcode`\W="7057\mathcode`\X="7058
\mathcode`\Y="7059\mathcode`\Z="705A
}
%
\catcode`\"=\svguil
\catcode`\@=12
%
% quelques operateurs
%
\let\oldsum=\sum
\let\oldprod=\prod
\let\oldsim=\sim
\def\Aut{\mathop{\rm Aut}\nolimits}
\def\Card{\mathop{\rm Card}\nolimits}
\def\Det{\mathop{\rm Det}\nolimits}
\def\Exp{\mathop{\rm Exp}\nolimits}
\def\Id{\mathop{\rm Id}\nolimits}
\def\Iiint{\displaystyle\iiint}
\def\Iint{\displaystyle\iint}
\def\Im{\mathop{\rm Im}\nolimits}
\def\Inf{\inf\limits}
\def\Inter{\mathop\bigcap\limits}
\let\oldint=\int
\def\Int{\displaystyle\oldint}
\def\Ker{\mathop{\rm Ker}\nolimits}
\def\Lim{\lim\limits}
\def\Max{\max\limits}
\def\Min{\min\limits}
\def\Oint{\displaystyle\oint}
\def\prod{\oldprod\limits}
\def\Prod{\displaystyle\oldprod}
\def\Reun{\mathop\bigcup\limits}
\def\Somdir{\displaystyle\bigoplus}
\def\Sum{\displaystyle\oldsum}
\def\sum{\textstyle\oldsum\limits}
\def\sim{\mathop{\oldsim}\limits}
\def\Sup{\sup\limits}
\def\Tr{\mathop{\rm Tr}\nolimits}
\def\Vect{\mathop{\rm Vect}\nolimits}
\def\cotan{\mathop{\rm cotan}\nolimits}
\def\arccos{\mathop{\rm Arccos}\nolimits}
\def\arcsin{\mathop{\rm Arcsin}\nolimits}
\def\arctan{\mathop{\rm Arctan}\nolimits}
\def\argch{\mathop{\rm Argch}\nolimits}
\def\argsh{\mathop{\rm Argsh}\nolimits}
\def\argth{\mathop{\rm Argth}\nolimits}
\def\ch{\mathop{\rm ch}\nolimits}
\def\diff{\thinspace{\rm d}}
\def\D{\thinspace{\rm D}}
\def\Df{\D f}
\def\df{\diff f}
\def\ds{\diff s}
\def\dt{\diff t}
\def\du{\diff u}
\def\dx{\diff x}
\def\dy{\diff y}
\def\dz{\diff z}
\def\id{\mathop{\rm id}\nolimits}
\def\iiint{\INT\!\!\!\INT\!\!\!\INT}
\def\iint{\INT\!\!\!\INT}
\def\im{\mathop{\rm Im}\nolimits}
\def\inf{\mathop{\rm Inf}\limits}
\def\ker{\mathop{\rm Ker}\nolimits}
\def\max{\mathop{\rm Max}\limits}
\def\min{\mathop{\rm Min}\limits}
\def\pgcd{\mathop{\rm pgcd}\nolimits}
\def\re{\mathop{\rm Re}\nolimits}
\def\rg{\mathop{\rm rg}\nolimits}
\def\sgn{\mathop{\rm sgn}\nolimits}
\def\sh{\mathop{\rm sh}\nolimits}
\def\sup{\mathop{\rm Sup}\limits}
\def\tr{\mathop{\rm tr}\nolimits}
\def\th{\mathop{\rm th}\nolimits}
%
% Quelques ensembles
%
\def\CC{\Bbb C}
\def\KK{\Bbb K}
\def\LL{\Bbb L}
\def\NN{\Bbb N}
\def\QQ{\Bbb Q}
\def\RR{\Bbb R}
\def\UU{\Bbb U}
\def\ZZ{\Bbb Z}
\let\C=\CC
\let\R=\RR
\let\Z=\ZZ
\let\N=\NN
\def\MM#1#2{{\cal M}_{#1}({\Bbb #2})}
\def\GL#1#2{\mathop{\rm GL}\nolimits_{#1}({\Bbb #2})}
\def\RnX{\R_n[{\rm X}]}
\def\z/#1z{\Bbb Z\lower2pt\hbox{$/$}_{\strut\displaystyle #1\Bbb Z}} 

