source: trunk/MESOSCALE_DEV/MANUAL/SRC/annales.sty @ 266

Last change on this file since 266 was 209, checked in by aslmd, 13 years ago

MESOSCALE: something went wrong with moving DOC previously because forgot to update before committing... all apologies. this is now fixed.

  • Property svn:executable set to *
File size: 160.4 KB
Line 
1%%%
2% Ami lecteur, bonjour !
3%
4% Ce fichier regroupe les commandes utilisées par les Éditions H&K pour
5% l'élaboration des Annales des Concours. Si vous êtes auteur dans cette
6% collection, vous trouverez de nombreuses explications dans la documentation
7% que vous avez téléchargée par ftp, ou sur www.h-k.fr/annales.
8%
9% Les auteurs des Annales des Concours sont explicitement autorisés à
10% réutiliser tout ou partie de ce fichier pour leurs travaux personnels
11% à but non commercial (mémoire, rapport, thèse, etc.).
12%
13% Si vous n'avez pas participé aux Annales des Concours, veuillez contacter
14% directement les Éditions H&K (contact@h-k.fr) si vous souhaitez utiliser
15% ce fichier.
16%
17% Les macros proposées ci-dessous ont nécessité des centaines d'heures de
18% travail. Elles ne sont pas dans le domaine public, hormis l'environnement
19% \breakbox.
20%
21%                                                         Seb.
22%
23%
24% Le mainteneur du fichier peut toujours être joint à l'adresse
25% annales.sty@H-K.fr
26%
27% 2001.11.03:   * Migration de certains \mathop vers \DeclareMathOperator.
28%               * Ajout des symboles chimiques à deux lettres (\Al, etc.).
29%               * Ajout de [t] et d'une option dans {rcl}.
30% 2001.11.27:   * Correction d'un bug dans \leftcentersright.
31% 2001.12.06:   * Ajout de \Me, \liq, \sol, \gaz et \Equilibre.
32% 2001.12.07:   * Ajout de l'option [t] dans \leqsystsimple.
33%               * Ajout de \Image.
34% 2001.12.08:   * Changement de police pour \apriori et ses amis.
35% 2001.12.11:   * Ajout de \abs pour les valeurs absolues.
36% 2002.02.21:   * Ajout de \Dpc et \DPC (Teteph)
37% 2002.04.19:   * Ajout de \note
38% 2002.04.20:   * Passage de fancyheadings à fancyhdr (suggestion de JJ).
39% 2002.04.21:   * Création \(leftcenters|centers|ref)numero (JJ).
40% 2002.04.22:   * Ajout de \accolades et \paa (David Chapot, JJ).
41% 2002.05.12:   * Retrait d'un espace dans \cf.
42%               * Retrait des \left et \right dans \intn (Walter).
43% 2002.05.16:   * Correction de \RX et \CX (Jean).
44% 2002.05.17:   * Ajout du package {tabularx} (JJ).
45% 2002.05.24:   * Retrait de {tabularx}.
46% 2002.05.31:   * Correction de \ANcenters et \ANencadre (JJ).
47% 2002.06.14:   * Modification de \enonce pour faire des hachures.
48% 2002.06.19:   * Modification de \celsius (BBR).
49%               * Création de la commande \angstrom (BBR, Teteph).
50% 2002.06.24:   * Modification de \Star (Alex).
51% 2002.06.25:   * Création de \conc et \Kzero (Alex).
52% 2002.06.26:   * Création de \serie (Walter).
53% 2002.06.27:   * Création de \butyl et \Bu (Alex).
54% 2002.06.28:   * Modification de \ANcenters et \ANencadre (Alex).
55% 2002.06.30:   * Modification de \degres (BBR).
56% 2002.07.04:   * Modification de \celsius (Nico).
57% 2002.07.08:   * Modification de \etc (JJ).
58% 2002.07.08:   * Modification de \cf: droit, point (Émilia).
59% 2002.07.12:   * Ajout de \intnn (Mathieu).
60% 2002.07.16:   * Abandon de fancyhdr pour fancyheadings à cause des titres
61%                 courants dans les annexes (JJ).
62% 2002.08.14:   * Découpage du fichier en trois morceaux indépendants:
63%                 déclarations, mise en page et commandes scientifiques.
64%               * Réécriture de la plupart des commentaires contextuels.
65% 2003.02.12:   * Cas des arguments vides dans \intff et al (Walter).
66% 2003.03.05:   * Modification de la commande \partie (Paul).
67% 2003.03.10:   * Remplacement des \mathbb par des \mathBB (Paul).
68% 2003.03.18:   * Ajout de la commande \reperes (VF).
69% 2003.05.05:   * Passage à des titres courants centrés (Paul).
70% 2003.05.11:   * Ajout de \mathaccent"17E (JJ).
71% 2003.05.21:   * Ajout de \ir, \jr, \ex et \exi (Paul et VF).
72% 2003.05.26:   * Ajout de \OIInt (TTF, ST) et de \sulfate (Manu).
73% 2003.05.27:   * Ajout de \vectux, \vectuy, \vectuz, \vectex, \vectey,
74%                 \vectez, \vux, \vuy, \vuz, \vex, \vey et \vez.
75% 2003.06.01:   * Ajout de \suite et \liste (Paul).
76% 2003.06.06:   * Ajout de dsfont.sty pour \mathds{1}.
77% 2003.06.28:   * Création de \petito et \grando (JJ, Walter, Paul).
78% 2003.06.29:   * Ajout de \pmgras (Mike).
79% 2003.06.30:   * Création de \Sumt (Walter).
80% 2003.10.16:   * Ajout de \NoAutoSpaceBeforeFDP dans \codesource (Walter).
81% 2003.10.23:   * Ajout de \NoAutoSpaceBeforeFDP dans \web.
82% 2003.12.07:   * Ajout de \encadreminipage (Aurélien).
83% 2003.12.08:   * Ajout de \graphicspath
84% 2004.02.19:   * Ajout de \Produit (Paul, Céline).
85% 2004.02.21:   * Ajout de \scalar (Céline).
86% 2004.02.27:   * Amélioration de \intff et ses amis (Céline).
87% 2004.03.06:   * Redéfinition de \bs (Seb, Céline).
88% 2004.03.08:   * Amélioration de \leftcentersright et ses dérivés: l'argument
89%                 du milieu est maintenant centré dans la page, pas dans
90%                 l'environnement (Céline, Paul).
91% 2004.03.09:   * Bug-fix dans \Sum (portée de \ensuremath) (Céline).
92% 2004.03.15:   * Ajout de \ofg pour les guillemets français (Manu).
93% 2004.03.16:   * Passage de fancyheadings à fancyhdr.
94% 2004.03.18:   * Ajout des environnements {egalites}, {inegalites:leq},
95%                 {inegalites:geq}, {calculs}, {calculs:rcl},
96%                 {calculs:rcl:extracol} et {calculs:latotale}
97%                 (Céline, Paul, Seb, JB)
98% 2004.03.20:   * Modification de la commande \note; par défaut, elle
99%                 rajoute un numéro à l'endroit où on l'appelle et avec
100%                 l'option 0 ou simple elle reprend son ancien
101%                 comportement (JJ)
102%               * Amélioration de \Sum, \SUM et \Int (JJ)
103%               * Modification des commandes \partie, \Partie et
104%                 \Indications pour pouvoir obtenir les petites
105%                 capitales même avec aeguill (JJ)
106% 2004.03.22:   * Changement de l'option d'alignement par défaut dans
107%                 les environnements {systsimple} et dérivés
108%               * \finalementcenters donne désormais « Finalement, » au
109%                 lieu de « Finalement: » .
110%               * Modification des tailles du papier et des marges (Seb).
111% 2004.03.25:   * Modification de la légende des sommaires croisés.
112% 2004.03.29:   * Ajout de \Rdeux, \Rtrois, \Cdeux et \Ctrois.
113% 2004.04.01:   * Ajout de \centersminipage (Seb).
114% 2004.04.03:   * Transfert des commandes pour les sommaires croisés
115%                 vers les fichiers concernés.
116% 2004.04.04:   * Retrait de {aeguill}.
117% 2004.04.08:   * Bug-fix dans un commentaire (Seb).
118% 2004.04.09:   * Suppression du commentaire sur l'installation TeX
119%                 d'Ulm (FX).
120% 2004.04.18:   * Ajout de \notemark et \notetext pour pouvoir utiliser
121%                 \note dans n'importe quel environnement.
122%               * Ajout de \arraybox pour remplacer \EncadreDansTableau.
123% 2004.04.20:   * Ajout de \typeout dans \EncadreDansTableau (Teteph).
124% 2004.04.23:   * Abandon de la police Times dans \partie.
125%               * Ajout de l'option dans \donccenters et ses amis.
126% 2004.04.30:   * Ajout de \DecimalMathComma (Paul).
127% 2004.05.04:   * Passage à \StandardMathComma par défaut (Teteph).
128% 2004.05.05:   * Correction d'un bug dans \leftcentersright.
129% 2004.05.08:   * Ajout de \aq (FX).
130% 2004.05.14:   * Ajout de \null dans les \qetq.
131%               * Modification de \leftcentersright: l'argument est
132%                 toujours centré dans la page, sauf dans les
133%                 {remarque} (Manu).
134%               * Ajout de \textegras, \textgras, \gras, \nongras,
135%                 modification de \mathBB, \mathscr,
136%                 \partie et \Partie (Walter).
137% 2004.05.15:   * Ajout de \thallium et \Tl (Alex).
138%               * Ajout de \Pzero et \czero (FX).
139%               * Ajout de \base.
140% 2004.05.16:   * Ajout de \Rb et \rubidium (Tiphaine).
141% 2004.05.17:   * \mathscr renommé en \mathscrchoice (Seb).
142% 2004.05.18:   * Ajout de \Iint et \IInt. Modification des longueurs
143%                 dans \oiint et \OIInt (Marc, Paul).
144% 2004.05.19:   * Ajout de \deltar et \deltaf (Alex).
145% 2004.05.20:   * Ajout de \Avogadro et \avogadro (JJ).
146% 2004.05.21:   * Retrait de \Avogadro et \avogadro pour ne pas
147%                 privilégier de notation.
148% 2004.05.22:   * Ajout de \exmi (Aurélien).
149%               * Ajout de \Ce et \cerium (Alex).
150% 2004.05.26:   * Redéfinition de \venonce (Alex).
151% 2004.05.27:   * Ajout de \uvect (Aurélien).
152%               * Ajout de \encadrenumero et \leftencadrenumero (Aurélien).
153% 2004.05.28:   * Ajout de \vectu (Aurélien).
154% 2004.05.31:   * Ajout de \Zr et \zirconium (Nicolas).
155% 2004.06.09:   * Amélioration de \simple, \double, \triple (FX).
156% 2004.06.11:   * Amélioration de \pm et \pmgras (Vincent).
157% 2004.06.14:   * Retrait de \typeout dans \EncadreDansTableau.
158% 2004.06.17:   * Ajout de \indenter (Teteph).
159%               * Modification de \centers pour proteger l'argument central
160%                 (Teteph).
161% 2004.07.01:   * Ajout d'une option à \titre (Teteph).
162% 2004.07.02:   * Modification de \petito et \grando (David, Seb).
163% 2004.07.03:   * Ajout de \ajusterletitrecourant.
164% 2004.07.05:   * Remplacement de \LeTitre par \LeTitreCourant dans les
165%                 commandes \titresommaire, \JusteNumeroPage, \mkTitreCourant.
166% 2004.11.02:   * Amélioration de \pm et \pmgras (Emmanuel).
167%               * Changement du \renewcommand en \def dans la définition de
168%                 \degres car la commande \degres n'existe plus sur clipper
169%                 à l'ENS.
170% 2004.12.09:   * Ajout de \xspace dans les définitions des raccourcis
171%                 \droite, \plan, \cercle, etc (Seb).
172%               * Ajout d'une bascule (\CentersOnPage (défaut) et
173%                 \CentersOnItems) pour que \centers centre soit par rapport à
174%                 la page soit par rapport à l'{itemize}. Cette bascule est
175%                 remise à sa valeur par défaut dans la commande \titre (Seb).
176% 2004.12.17:   * Ajout de \arcdecercle (JJ).
177% 2005.01.02:   * Ajout de \email (Seb).
178% 2005.05.06:   * Ajout de \partieentieresup (Sam).
179% 2005.05.07:   * Ajout de \oeuf et \oeufs (Seb).
180% 2005.05.24:   * Ajout de \maitre (Seb).
181%               * Amélioration de \madame, \mademoiselle, \docteur, \maitre.
182% 2005.05.30:   * Ajout de \Iiint et \IIInt (Teteph).
183% 2005.06.05:   * Ajout de \matricedd.
184% 2005.06.07:   * Ajout des \xspace dans \R, \C et commandes similaires.
185% 2005.06.28:   * Amélioration de \pa (Vincent).
186% 2005.06.29:   * Amélioration de \pac et \paa (Teteph).
187% 2005.07.08:   * Ajout de \Sm, \samarium, \Eu, \europium (Alex).
188% 2005.07.12:   * Ajout de \tdemi, \ttiers, \tquart (Alex).
189%               * Mise à jour de la légende des sommaires croisés.
190% 2005.07.15:   * Modification des commandes à base de \mathBB: l'ajout de
191%                 \xspace faisait buguer la version étoilée (David).
192%                               * Ajout du package longtable et modification du sommaire
193%                 (JJ).
194% 2006.03.28:   * Modification des marges due au changement de format (pas de
195%                 changement de la taille du texte) (JJ).
196% 2006.05.12:   * Ajout de \dessinpgf pour les courbes créées avec les
197%                 extensions LaTeX PGF et TikZ (Teteph).
198% 2006.05.14:   * Ajout de \indicatrice.
199%               * Changement de la définition de \ronde et \angstrom (Seb,
200%                 JJ).
201% 2006.05.16:   * Ajout de \soeur, \soeurs, \Soeur, \Soeurs (Sattisvar).
202% 2006.05.23:   * Ajout de \vcol (Aurélien, Frédéric).
203%               * Amélioration de \moyenne (Teteph).
204% 2006.05.25:   * Ajout de \souspartie (Teteph, Seb).
205% 2006.05.31:   * Ajout de \transp (Aurélien, Seb).
206% 2006.06.02:   * Ajout de \fem et \AO (Aurélien, Seb).
207%               * Modification de \transp (qui devient synonyme de \trans).
208% 2006.06.06:   * Modification de \f@thousandsep, utilisée dans \nombre.
209%               * Ajout de \nb, raccourci pour \nombre.
210% 2006.06.12:   * Modification des tailles des marges (Alex).
211% 2006.06.14:   * Bug-fix de l'alignement de {QCM} (Aurélien).
212% 2006.06.18:   * Ajout du test sur les . et - dans \souspartie.
213% 2006.06.27:   * Ajout d'un argument optionnel à \norme (Teteph).
214% 2006.07.07:   * Modification de \partie et \Partie.
215% 2006.07.08:   * Annulation de la modification de \partie et \Partie
216%                 (Teteph).
217% 2006.07.08:   * Amélioration de \dessinpgf (Teteph).
218% 2006.07.09:   * Ajout de \kdonne (Alex).
219% 2006.07.11:   * Modification des commandes pour les sommaires: ajout de
220%                 \tdmtabular, \tdmoutils, \tdmtitresommaire et \tdmConcours.
221% 2006.07.11:   * Modification de la légende des sommaires croisés.
222%%%
223
224%\documentclass[twoside]{article}
225%\documentclass[twoside]{report}
226
227
228%!!!!!!!!!!!!!!!!!!!!!!!!!!                  !!!!!!!!!!!!!!!!!!!!!!!!!!
229%!!!!!!!!!!!!!!!!!!!!!!!!!!   Les packages   !!!!!!!!!!!!!!!!!!!!!!!!!!
230%!!!!!!!!!!!!!!!!!!!!!!!!!!                  !!!!!!!!!!!!!!!!!!!!!!!!!!
231
232%% Les packages à charger en standard.
233
234
235
236\usepackage[utf8]{inputenc}
237\usepackage[english,french]{babel}
238
239%\usepackage{times}
240
241%\usepackage[frenchb]{babel}    % Typo francaise.
242%\FrenchItemizeSpacingfalse     % Pour avoir des \bullet dans les {itemize}
243                                        % et ne pas dérégler les espaces verticaux.
244\usepackage[OT1]{fontenc}       % Accents codés dans la fonte.
245%\usepackage[T1]{fontenc}       % Accents codés dans la fonte.
246%\usepackage[latin1]{inputenc}  % Accents 8 bits dans le fichier.
247\usepackage{vmargin}            % Régler la taille de la feuille.
248\usepackage{fancyhdr}           % Régler le titre courant et le bas de page.
249%\usepackage{fancyheadings}
250\usepackage{calc}               % Faire des calculs sur les longueurs.
251\usepackage{ifthen}                 % Faire des tests if/then/else.
252\usepackage{pifont}                 % La police \ding.
253\usepackage{supertabular}       % Les grands tableaux.
254\usepackage{longtable}
255\usepackage{multicol}           % Plusieurs colonnes.
256\usepackage{wrapfig}            % Dessins dans le texte.
257\usepackage{fancybox}           % Boîtes avec une ombre pour les parties.
258\usepackage{rotating}           % Pour tourner un texte.
259\usepackage{xspace}                 % Ajuster l'espace après des mots.
260
261
262
263%% Les packages pour les maths.
264
265\usepackage{amsmath}    % Les symboles les plus fréquents.
266\usepackage{amssymb}    % Des symboles.
267\usepackage{amsfonts}   % Des fontes, eg pour \mathbb.
268\usepackage{verbatim}   % Pour les codes sources en informatique.
269\usepackage{mathrsfs}   % Des lettres majuscules cursives (\mathscr).
270%\usepackage{dsfont}
271
272%% Les packages pour les dessins.
273
274\usepackage{array}
275\usepackage{curves}
276\usepackage{epic}
277\usepackage{eepic}
278\usepackage{epsfig}
279\usepackage{graphics}
280\graphicspath{{PS/}}
281
282
283
284
285
286%!!!!!!!!!!!!!!!!!!!!!!                          !!!!!!!!!!!!!!!!!!!!!!
287%!!!!!!!!!!!!!!!!!!!!!!   Présentation globale   !!!!!!!!!!!!!!!!!!!!!!
288%!!!!!!!!!!!!!!!!!!!!!!                          !!!!!!!!!!!!!!!!!!!!!!
289
290%% Une taille standard pour le texte.
291
292%        % Pour centrer le texte sur la page (utilisation courante).
293%\setpapersize{custom}{21.5cm}{26.5cm}
294%\setmarginsrb{43mm}{10mm}{43mm}{15mm}{10mm}{6mm}{0mm}{10mm}
295
296                % Pour envoyer à l'imprimeur.
297                % Nouveau format 17x25, sans changement de la taille du texte
298                % Rajout des 5mm à l'extérieur (13.5 -> 18.5mm),
299                % en haut (1 -> 3.5mm) et en bas (4 -> 6.5mm).
300                % Attention, lors de l'export en postscript, il faut alors passer
301                % l'option -T17cm,25cm à dvips.
302                % En TeTeX 3, il faut également l'option -tunknown pour dvips.
303%\setpapersize{custom}{17cm}{25cm}
304%\setmarginsrb{22.5mm}{3.5mm}{18.5mm}{6.5mm}{10mm}{6mm}{0mm}{10mm}
305
306        % Pour pouvoir utiliser un zoom=3 dans xdvi.
307        % Couplé à l'option -rv de xdvi, cela permet d'éviter les migraines
308        % après $n$ heures devant l'écran.
309%\setpapersize{custom}{12.9cm}{24.5cm}
310%\setmarginsrb{0mm}{1mm}{0mm}{4mm}{10mm}{6mm}{0mm}{10mm}
311
312%%              % Obsolète.
313%%      % Pour envoyer à l'imprimeur.
314%%      % Attention, lors de l'export en postscript, il faut alors passer
315%%      % l'option -T16.5cm,24.5cm à dvips.
316%%\setpapersizeobsolete{custom}{16.5cm}{24.5cm}
317%%\setmarginsrbobsolete{22.5mm}{1mm}{13.5mm}{4mm}{10mm}{6mm}{0mm}{10mm}
318               
319
320\newcommand{\latex}{\LaTeX}
321
322%% Pour que la virgule devienne un séparateur décimal.
323\providecommand\DecimalMathComma{\iflanguage{frenchb}%
324                                 {\mathcode`\,="013B}{}%
325   \addto\extrasfrenchb{\mathcode`\,="013B}}
326
327\providecommand\StandardMathComma{\mathcode`\,="613B%
328   \addto\extrasfrenchb{\mathcode`\,="613B}}
329
330\StandardMathComma
331
332%% Un hack pour que l'espace avant les doubles ponctuations soit un demi-espace.
333
334\makeatletter
335\declare@shorthand{frenchb}{:}{%
336    \ifhmode
337      \ifdim\lastskip>\z@
338        \unskip\penalty\@M\thinspace
339      \else
340        \FDP@thinspace
341      \fi
342    \fi
343    \string:}
344\makeatother
345
346
347
348%!!!!!!!!!!!!!!!!!!!!!!                          !!!!!!!!!!!!!!!!!!!!!!
349%!!!!!!!!!!!!!!!!!!!!!!   Présentation globale   !!!!!!!!!!!!!!!!!!!!!!
350%!!!!!!!!!!!!!!!!!!!!!!                          !!!!!!!!!!!!!!!!!!!!!!
351
352%% Les notes dans la marge.
353
354\newcounter{ifnote}
355\setcounter{ifnote}{1}          % Accepter les notes dans la marge
356%\setcounter{ifnote}{0}         % Refuser  les notes dans la marge
357
358%% Les traits horizontaux pour l'alignement horizontal des énoncés.
359
360\newcounter{IfAlignementEnonces}
361%\setcounter{IfAlignementEnonces}{1}    % Mettre les hachures
362\setcounter{IfAlignementEnonces}{0}     % Ne pas mettre les hachures
363
364%% Les équations numérotées.
365
366\newcounter{Corrige}
367%\newcounter{Chapter}
368\newcounter{Equation}[Corrige]
369%\newcounter{Equation}[Chapter]
370
371
372%%%%%%%%%
373%% AYM %%
374%%%%%%%%%
375
376%%%%% debut macro %%%%
377\makeatletter
378\@addtoreset{Equation}{chapter}
379\renewcommand\theEquation{\thechapter.\arabic{Equation}}
380\makeatother
381%%%%%% fin macro %%%%
382
383
384
385%!!!!!!!!!!!!!!!!!!!!                               !!!!!!!!!!!!!!!!!!!!
386%!!!!!!!!!!!!!!!!!!!!   Mise en page d'un corrigé   !!!!!!!!!!!!!!!!!!!!
387%!!!!!!!!!!!!!!!!!!!!                               !!!!!!!!!!!!!!!!!!!!
388
389%% Le titre courant.
390
391\pagestyle{fancy}
392%\lhead[\thepage]{\footnotesize\LeTitre}
393%\chead[]{}
394%\rhead[\footnotesize\LeTitre]{\thepage}
395\lhead[\thepage]{}
396\chead[\footnotesize\LeTitreCourant]{\footnotesize\LeTitreCourant}
397\rhead[]{\thepage}
398\lfoot[]{}
399\cfoot[]{}
400\rfoot[]{}
401
402%% Le titre du corrigé.
403
404% La variable dans laquelle est stockée le titre
405\newcommand{\LeTitre}{} % Redéfini dans \titre
406\newcommand{\LeTitreCourant}{CHANGER LE TITRE !!!}
407
408% Afficher le titre.
409\newcommand{\Titre}{
410        \begin{center}
411        {\bfseries\Large \LeTitre}
412        \end{center}
413        \vskip 1 cm
414        }
415
416% Synthèse : on n'appelle qu'une seule commande.
417%\newcommand{\titre}[1]{
418%       \renewcommand{\LeTitre}{#1}
419%       \Titre
420%       \stepcounter{Corrige}   % pour \centersnumero
421%        \renewcommand{\labelitemi}{\ensuremath{\bullet}}
422%       }
423
424\newcommand{\titre}[2][]{%
425    \ifthenelse{\equal{#1}{}}{%
426        \renewcommand{\LeTitreCourant}{#2}%
427    }{%
428        \renewcommand{\LeTitreCourant}{#1}%
429    }%
430    \renewcommand{\LeTitre}{#2}%
431    \Titre%
432        \CentersOnPage
433    \stepcounter{Corrige}%   % pour \centersnumero
434        \renewcommand{\labelitemi}{\ensuremath{\bullet}}%
435    }
436
437\newcommand{\ajusterletitrecourant}[1]{%
438        \renewcommand{\LeTitreCourant}{#1}%
439}
440
441%% Quelques commandes de mise en forme.
442
443% Des parties qui se voient bien.
444% Exemple:
445%       \partie{
446%               Première partie\\[4mm]
447%               Les pincettes optiques
448%       }
449\newcommand{\partie}[1]{%
450        \vspace*{\smallskipamount}%
451        \begin{center}\large\textegras{\scshape #1}\end{center}%
452}
453%\newcommand{\partie}[1]{%
454%       \null\vspace*{\smallskipamount}%
455%       \nopagebreak[4]%
456%       \begin{center}\large\textegras{\scshape #1}\end{center}%
457%}
458
459% Lorsque le titre comporte un numéro (II. \quad Mon titre), on ne peut pas
460% facilement combiner « \partie » et « \\ » à cause de l'alignement vertical.
461% En pareil cas, on peut utiliser \Partie, qui prend deux arguments:
462%       * le numéro de la partie
463%       * le texte
464% Exemple:
465%       \Partie{I}{Mon titre}
466% Bonus: si le titre est long, il sera automatiquement coupé pour passer à
467% la ligne. On peut bien sûr toujours forcer le passage à la ligne à un
468% endroit précis en utilisant « \\ ».
469% Enfin, on peut passer un argument optionnel spécifiant la largeur souhaitée
470% pour le texte: \Partie[6cm]{I}{Mon titre}. Veillez à ne pas utiliser des
471% longueurs trop grandes.
472\newlength{\PartieWidth}
473\newcommand{\Partie}[3][8cm]{%
474    \settowidth{\PartieWidth}{{\large\textegras{\scshape #3}}}%
475    \ifthenelse{\lengthtest{\PartieWidth > #1}}{%
476        \setlength{\PartieWidth}{#1}%
477    }{}%
478    \vspace*{\smallskipamount}%
479    \begin{center}%
480    {\large\textgras{#2.}}{\normalsize\quad}%
481    \begin{minipage}[t]{\PartieWidth}%
482    {\large\textgras{\scshape #3}}%
483    \end{minipage}%
484    \end{center}%
485}
486%\newcommand{\Partie}[3][8cm]{%
487%    \settowidth{\PartieWidth}{{\large\textegras{\scshape #3}}}%
488%    \ifthenelse{\lengthtest{\PartieWidth > #1}}{%
489%        \setlength{\PartieWidth}{#1}%
490%    }{}%
491%    \null\vspace*{\smallskipamount}%
492%       \nopagebreak[4]%
493%    \begin{center}%
494%    {\large\textgras{#2.}}{\normalsize\quad}%
495%    \begin{minipage}[t]{\PartieWidth}%
496%    {\large\textgras{\scshape #3}}%
497%    \end{minipage}%
498%    \end{center}%
499%}
500
501% Des sous-parties standardisées.
502% Si le premier argument contient un point ou un tiret, il est écrit tel quel,
503% sinon il est suivi d'un point.
504% Exemples:
505% \souspartie{1}{Étude d'une fonction}
506%   1. Étude d'une fonction
507% \souspartie{1.2}{Étude d'une fonction}
508%   1.2 Étude d'une fonction
509% \souspartie{1-2}{Étude d'une fonction}
510%   1-2 Étude d'une fonction
511
512\newif\iftiret
513\newif\ifpoint
514
515\def\testtiret{%
516    \futurelet\next\testtiretsuivant%
517}
518\def\testtiretbis#1{%
519    \testtiret%
520}
521\def\testtiretsuivant{%
522    \ifx\next\endoftesttiret\def\endoftesttiret{}%
523    \else\if\next-\tirettrue%
524         \fi%
525         \expandafter\testtiretbis%
526    \fi%
527}
528
529\def\testpoint{%
530    \futurelet\next\testpointsuivant%
531}
532\def\testpointbis#1{%
533    \testpoint%
534}
535\def\testpointsuivant{%
536    \ifx\next\endoftestpoint\def\endoftestpoint{}%
537    \else\if\next.\pointtrue%
538         \fi%
539         \expandafter\testpointbis%
540    \fi%
541}
542
543
544\def\souspartie#1#2{%
545    \vskip\bigskipamount%
546    \ifthenelse{\equal{#1}{}}{%
547        \centers{\textbf{{#1}\quad {#2}}}%
548    }{%
549        \tiretfalse\pointfalse%
550        \testtiret#1\endoftesttiret%
551        \testpoint#1\endoftestpoint%
552        \iftiret \centers{\textbf{{#1}\quad {#2}}}%
553        \else \ifpoint \centers{\textbf{{#1}\quad {#2}}}%
554              \else \centers{\textbf{{#1}.\quad {#2}}}%
555              \fi%
556        \fi%
557        \tiretfalse%
558        \pointfalse%
559    }%
560    \vskip\bigskipamount%
561}
562
563%\newcommand{\souspartie}[2]{%
564%        \vskip\bigskipamount%
565%        \centers{\textbf{{#1}.\quad {#2}}}
566%%        \centers{\textbf{{#1}\quad {#2}}}
567%        \vskip\medskipamount%
568%}
569
570% Pour le cas particulier des indications, il est souhaitable de limiter
571% l'espace avant et après \partie. La commande \Indications est là pour ça.
572\newcommand{\Indications}{%
573        \vspace{-2mm}%
574        \centers[0]{{\large\textbf{\scshape Indications}}}%
575        \medskip 
576}     
577
578% Numéroter les questions.
579\newcommand{\question}[1]{\noindent\fbox{\bfseries#1}}
580
581% Les QCM de l'ENAC.
582%
583% À l'ENAC, le candidat doit répondre à un QCM; pour chaque question, il doit
584% noircir, sur sa feuille de réponse, les rectangles qui correspondent aux
585% affirmations exactes. Les commandes ci-dessous permettent de simuler la
586% feuille de réponse au sein du corrigé.
587%
588% Exemple (les réponses 1 et 4 sont exactes):
589%       \begin{QCM}
590%       \vrai{1}
591%       \vrai{4}
592%       \end{QCM}
593
594\newenvironment{QCM}
595        {
596        \begin{center}
597        \setlength{\unitlength}{1pt}
598%        \begin{picture}(190,15)(0,-15)
599        \begin{picture}(180,15)(0,-15)
600        \allinethickness{0.5pt}
601        \multiput(0,0)(40,0){5}{\line(1,0){20}}
602        \multiput(0,-5)(40,0){5}{\line(1,0){20}}
603        \multiput(0,0)(20,0){10}{\line(0,-1){5}}
604        \put(10,-15){\makebox[0pt]{A}}
605        \put(50,-15){\makebox[0pt]{B}}
606        \put(90,-15){\makebox[0pt]{C}}
607        \put(130,-15){\makebox[0pt]{D}}
608        \put(170,-15){\makebox[0pt]{E}}
609        }
610        {
611        \end{picture} 
612        \end{center}
613        }
614\newcounter{lareponse}
615\newcommand{\vrai}[1]{
616        \setcounter{lareponse}{#1}
617        \addtocounter{lareponse}{-1} 
618        \setcounter{lareponse}{\value{lareponse}*40}
619        \put(\thelareponse,0){\rule[-5pt]{20pt}{5pt}}
620        }
621
622%!!!!!!!!!!!!                                              !!!!!!!!!!!!
623%!!!!!!!!!!!!   Les pages de présentation et les annexes   !!!!!!!!!!!!
624%!!!!!!!!!!!!                                              !!!!!!!!!!!!
625
626% Insérer une page d'énoncé scannée.
627\newcommand{\enonce}[2][0]{%
628        \noindent%
629        \epsfig{file=#2,angle=#1,width=\linewidth,clip=}%
630        \ifthenelse{\value{IfAlignementEnonces} = 1}{%   
631                \begin{picture}(0,0)%
632                \multiput(-400,600)(0,-9){70}{\line(1,0){500}}%
633                \end{picture}%
634        }%
635        {}%
636}
637%\newcommand{\venonce}[2][20.3]{\noindent\centers{\epsfig{file=#2,%
638%       height=#1cm,clip=}}}
639
640% Lorsque les pages d'énoncé ont un rapport hauteur/largeur supérieur à
641% celui d'une page d'Annales, l'utilisation de \enonce entraîne un
642% overfull vbox. Pour éviter cela on utilise \venonce qui fixe la hauteur
643% de la figure incluse et non la largeur. C'est moche mais on n'a pas le
644% choix.
645
646\newcommand{\venonce}[2][21.25]{%
647    \ifthenelse{\value{IfAlignementEnonces} = 1}{%
648        \noindent\centers{\epsfig{file=#2, height=20.8  cm, clip=}}%
649        \begin{picture}(0,0)%
650        \multiput(-50,600)(0,-9){70}{\line(1,0){500}}%
651        \end{picture}%
652    }{%
653        \noindent\centers{\epsfig{file=#2, height=#1cm, clip=}}%
654    }%
655}
656
657
658%% Pour le sommaire.
659\newlength{\Sujet}
660\newlength{\Resume}
661\newlength{\Enonces}
662\newlength{\Corriges}
663\setlength{\Enonces}{7mm} 
664\setlength{\Corriges}{7mm}
665
666\newcommand{\tdmtitresommaire}[1]{
667%       \renewcommand{\LeTitre}{#1}
668        \renewcommand{\LeTitreCourant}{#1}
669        \stepcounter{Corrige}   % pour \centersnumero
670        \renewcommand{\labelitemi}{\ensuremath{\bullet}}
671        \begin{tdmtabular}
672                \mbox{}&\mbox{}\hfill{\bfseries\Large 
673                        Sommaire}\hfill\mbox{}&\mbox{}&\mbox{}\\ \\
674        \end{tdmtabular}
675        }
676
677\newenvironment{tdmtabular}{%
678    \begin{tabular}{
679            p{\Sujet}     % Le sujet
680            p{\Resume}       % Les infos
681            p{\Enonces}      % Les pages des énoncés
682            p{\Corriges}}     % Les pages des corrigés
683    }{%
684    \end{tabular}%
685}
686
687% L'espace entre chaque épreuve d'un concours se règle via la commande
688% \tdmspace. Elle vaut 0pt par défaut (et peut devenir négative).
689\newlength{\tdmspace}
690\setlength{\tdmspace}{0pt}
691
692% L'espace entre le résumé et les outils se règle via la longueur suivante,
693% valant \sk par défaut:
694\newlength{\tdmintraspace}
695\setlength{\tdmintraspace}{3pt plus 1pt minus 1pt}
696
697% L'espace avant le titre des concours se règle via
698% \tdmEspaceAvantTitreConcours et vaut 1mm par défaut.
699\newlength{\tdmEspaceAvantTitreConcours}
700\setlength{\tdmEspaceAvantTitreConcours}{1mm}
701
702% De même pour l'espace après les titres des concours, avec 2mm comme valeur
703% par défaut.
704\newlength{\tdmEspaceApresTitreConcours}
705\setlength{\tdmEspaceApresTitreConcours}{2mm}
706
707\newcommand{\tdmoutils}[1]{\par\vskip\tdmintraspace{{\small\slshape#1}}}
708
709\newcommand{\tdmConcours}[1]{%
710    &\mbox{}\hfill{\bfseries\textsc{#1}}\hfill\mbox{}%
711    &&\\[\tdmEspaceApresTitreConcours]%
712}
713
714\newcommand{\tdmPolytechnique}{\tdmConcours{Polytechnique}}
715\newcommand{\tdmXENS}{\tdmConcours{X\ensuremath{\mathgras{/}}ENS}}
716\newcommand{\tdmPetitesMines}{\tdmConcours{Mines}}
717\newcommand{\tdmMines}{\tdmConcours{Mines-Ponts}}
718\newcommand{\tdmENAC}{\tdmConcours{E.N.A.C.}}
719\newcommand{\tdmCentrale}{\tdmConcours{Centrale-Supélec}}
720\newcommand{\tdmCCP}{
721        &\mbox{}\hfill{\bfseries\textsc{Concours Communs}}\hfill\mbox{}&&
722                \\[0.5mm]
723        &\mbox{}\hfill{\bfseries\textsc{Polytechniques}}\hfill\mbox{}%
724                &&\\[\tdmEspaceApresTitreConcours]
725}
726
727\newcommand{\PagesEnoncesCorriges}{
728        && \mbox{}\hfill \begin{sideways}Énoncé\end{sideways}
729        &  \mbox{}\hfill \begin{sideways}Corrigé\end{sideways}
730        \\
731        }
732
733%\newcommand{\Annexes}{\Concours{Annexes}}
734\newcommand{\Annexes}{\Concours{Formulaires}}
735
736% Les commandes obsolètes.
737\newcommand{\outils}[1]{\sk\newline{\small\slshape#1}}
738
739\newenvironment{sommaire}
740%       {\begin{supertabular}{
741        {\begin{longtable}{
742                        p{\Sujet}     % Le sujet
743                        p{\Resume}       % Les infos
744                        p{\Enonces}      % Les pages des énoncés
745                        p{\Corriges}     % Les pages des corrigés
746                }
747        }
748%       {\end{supertabular}}
749        {\end{longtable}}
750
751\newcommand{\titresommaire}[1]{
752%       \renewcommand{\LeTitre}{#1}
753        \renewcommand{\LeTitreCourant}{#1}
754        \stepcounter{Corrige}   % pour \centersnumero
755        \renewcommand{\labelitemi}{\ensuremath{\bullet}}
756        \begin{sommaire}
757                \mbox{}&\mbox{}\hfill{\bfseries\Large 
758                        Sommaire}\hfill\mbox{}&\mbox{}&\mbox{}\\ \\
759        \end{sommaire}
760        }
761
762%\newlength{\ConcoursSkip}
763%\newcommand{\Concours}[1]
764%       {&\mbox{}\hskip\ConcoursSkip{\bfseries\textsc{#1}}&&\\ \\}
765\newcommand{\Concours}[1]
766        {&\mbox{}\hfill{\bfseries\textsc{#1}}\hfill\mbox{}&&\\ \\}
767
768\newcommand{\Polytechnique}{\Concours{Polytechnique}}
769\newcommand{\XENS}{\Concours{X\ensuremath{\mathgras{/}}ENS}}
770\newcommand{\PetitesMines}{\Concours{Mines}}
771\newcommand{\Mines}{\Concours{Mines-Ponts}}
772\newcommand{\ENAC}{\Concours{E.N.A.C.}}
773\newcommand{\Centrale}{\Concours{Centrale-Supélec}}
774%\newcommand{\CCP}{\Concours{
775%       \mbox{}\hskip-3mm
776%       \begin{minipage}[t]{4cm}
777%       Concours Communs\newline Polytechniques
778%       \end{minipage}
779%       }}
780\newcommand{\CCP}{
781        &\mbox{}\hfill{\bfseries\textsc{Concours Communs}}\hfill\mbox{}&&
782                \\[0.5mm]
783        &\mbox{}\hfill{\bfseries\textsc{Polytechniques}}\hfill\mbox{}&&\\ \\
784}
785
786%% Pour le sommaire croisé.
787\newlength{\TitreCouche}
788
789% Pour 2004
790\newcommand{\LegendeSommaire}{\begin{turn}{270}%
791        \raisebox{2.6cm}{%
792                \begin{tabular}{@{}c@{\,}l@{\quad}l@{}}
793                \raisebox{0pt}{\scriptsize\ding{172}}
794                                &:& 1 fois depuis 1999          \\[-2mm]
795                \raisebox{-1pt}{\ding{173}}
796                                &:& 2 fois depuis 1999          \\[-2mm]
797                \vdots          &&                              \\[-2mm]
798                \raisebox{-4pt}{\LARGE\ding{176}}
799                                &:& 5 fois depuis 1999          \\
800                \raisebox{0pt}{\scriptsize\ding{182}}
801                               &:& 1 fois depuis 1999 dont 2004
802                                                                \\[-2mm]
803                \raisebox{-1pt}{\ding{183}}
804                                &:& 2 fois depuis 1999 dont 2004         
805                                                                \\[-2mm]
806                \vdots          &&                              \\[-2mm]
807                \raisebox{-5.5pt}{\huge\ding{187}}
808                                &:& 6 fois depuis 1999 dont 2004
809                \end{tabular}%
810        }
811        \end{turn}%
812        }
813
814% Pour 2005
815\newcommand{\LegendeSommaireCinq}{\begin{turn}{270}%
816        \raisebox{2.6cm}{%
817                \begin{tabular}{@{}c@{\,}l@{\quad}l@{}}
818                \raisebox{0pt}{\scriptsize\ding{172}, \scriptsize\ding{173}}
819                                &:& 1 ou 2 fois depuis 1999          \\[-2mm]
820                \raisebox{-1pt}{\ding{174}}
821                                &:& 3 fois depuis 1999          \\[-2mm]
822                \vdots          &&                              \\[-2mm]
823                \raisebox{-4pt}{\LARGE\ding{177}}
824                                &:& 6 fois depuis 1999          \\
825                \raisebox{0pt}{\scriptsize\ding{182}, \scriptsize\ding{183}}
826                               &:& 1 ou 2 fois depuis 1999 dont 2005
827                                    \\[-2mm]
828                \raisebox{-1pt}{\ding{184}}
829                                &:& 3 fois depuis 1999 dont 2005
830                                                                \\[-2mm]
831                \vdots          &&                              \\[-2mm]
832                \raisebox{-5.5pt}{\huge\ding{188}}
833                                &:& 7 fois depuis 1999 dont 2005
834                \end{tabular}%
835        }
836        \end{turn}%
837                }
838
839% Pour 2006
840% On cesse d'utiliser les commandes \scriptsize, ..., \huge, et on utilise une
841% échelle linéaire.
842% Le plus petit rond mesure 1mm, le plus grand 3mm: on place les autres
843% à intervalles réguliers entre les deux.
844
845% La valeur de 1/(annee-1999+1) pour déterminer les intervalles.
846\newlength{\tailleminsommairecroise}
847\newlength{\taillemaxsommairecroise}
848\newlength{\intervallesommairecroise}
849\newlength{\hauteursommairecroise}
850\newlength{\grandehauteursommairecroise}
851\newlength{\longueursommairecroise}
852
853\setlength{\tailleminsommairecroise}{1mm}
854\setlength{\taillemaxsommairecroise}{2mm}
855
856\newcommand{\LegendeSommaireCroise}[1]{%
857        \ifthenelse{\equal{#1}{2006}}{%
858                \begin{turn}{270}%
859        \raisebox{2.6cm}{%
860                \begin{tabular}{@{}c@{\,}l@{\quad}l@{}}
861            \raisebox{0pt}{\resizebox{%
862                        \tailleminsommairecroise+\intervallesommairecroise}{!}{%
863                        \ding{172}}}
864                                &:& 1 fois depuis 1999          \\[-2mm]
865            \raisebox{-1pt}{\resizebox{%
866                        \tailleminsommairecroise+2\intervallesommairecroise}{!}{%
867                        \ding{173}}}%
868                                &:& 2 fois depuis 1999          \\[-2mm]
869                \vdots          &&                              \\[-2mm]
870                \raisebox{-4pt}{\resizebox{%
871                                \tailleminsommairecroise+7\intervallesommairecroise}{!}{%
872                                \ding{178}}}%
873                                &:& 7 fois depuis 1999          \\
874                \raisebox{0pt}{\resizebox{%
875                                \tailleminsommairecroise+\intervallesommairecroise}{!}{%
876                                \ding{182}}}
877                               &:& 1 fois depuis 1999 dont 2006
878                                    \\[-2mm]
879                \raisebox{-1pt}{\resizebox{%
880                                \tailleminsommairecroise+2\intervallesommairecroise}{!}{%
881                                \ding{183}}}
882                                &:& 2 fois depuis 1999 dont 2006
883                                                                \\[-2mm]
884                \vdots          &&                              \\[-2mm]
885                \raisebox{-5.5pt}{\resizebox{%
886                                \tailleminsommairecroise+8\intervallesommairecroise}{!}{%
887                                \ding{189}}}
888                                &:& 8 fois depuis 1999 dont 2006
889                \end{tabular}%
890        }
891        \end{turn}%
892        }{%
893        % else: l'an prochain
894        }
895}
896
897\newcommand{\presentation}[1]{ 
898        \mbox{}
899        \thispagestyle{empty}
900        \vfill
901        \centers{{\bfseries\Huge #1}}
902        \mbox{}
903        \vskip2cm
904        \mbox{}
905        \vfill
906        \mbox{}
907        \newpage
908}
909\newcommand{\formulaires}{\presentation{Formulaires}}
910
911\newcommand{\presentationCCP}[1]{
912        \mbox{}
913        \thispagestyle{empty}
914        \vfill
915        \centers{{\bfseries\Huge Concours Communs}}
916        \centers{{\bfseries\Huge Polytechniques}}
917        \mbox{}
918        \vskip2cm
919        \mbox{}
920        \vfill
921        \mbox{}
922        \newpage
923}
924
925% L'ISBN.
926\newcommand{\ISBN}{XXXXXXXXXXXX}
927
928% Aligner dans les annexes de maths.
929\newlength{\alignelength}
930\newcommand{\aligne}[3]{%
931        \settowidth{\alignelength}{#2}%
932        #2%
933        \hskip-\alignelength
934        \hskip #1 cm%
935        #3%
936        }
937
938% N'indiquer que le numéro de page dans le titre courant (annexes).
939\newcommand{\JusteNumeroPage}{
940%       \renewcommand{\LeTitre}{}
941        \renewcommand{\LeTitreCourant}{}
942        \renewcommand{\headrulewidth}{0pt}
943%       \setlength{\headrulewidth}{0pt}
944        }
945
946% Utiliser à nouveau un titre courant complet (annexes).
947\newcommand{\mkTitreCourant}[1]{
948%       \renewcommand{\LeTitre}{#1}
949        \renewcommand{\LeTitreCourant}{#1}
950        \renewcommand{\headrulewidth}{0.5pt}
951%       \setlength{\headrulewidth}{0.5pt}
952        }
953
954% « Insérer une page blanche. » Plus utile depuis 1999...
955\newcommand{\pageblanche}[1][\thepage]{\thispagestyle{empty} 
956        \mbox{} \vskip 2 cm%
957        \Centers{{\bfseries\huge Ne pas imprimer}}\par%
958        \Centers{{\bfseries\huge Insérer une page blanche}}%
959        \vskip 3 cm%
960        \Centers{{\bfseries\huge Page #1}}%
961        \clearpage
962        }
963
964
965%!!!!!!!!!!!!!!!!!!!!!                             !!!!!!!!!!!!!!!!!!!!!
966%!!!!!!!!!!!!!!!!!!!!!   Des commandes pratiques   !!!!!!!!!!!!!!!!!!!!!
967%!!!!!!!!!!!!!!!!!!!!!                             !!!!!!!!!!!!!!!!!!!!!
968
969%% On ne veut pas que les lettres majuscules soient inclinées dans les
970%% formules mathématiques.
971
972\mathcode`A="7041 \mathcode`B="7042 \mathcode`C="7043 \mathcode`D="7044
973\mathcode`E="7045 \mathcode`F="7046 \mathcode`G="7047 \mathcode`H="7048
974\mathcode`I="7049 \mathcode`J="704A \mathcode`K="704B \mathcode`L="704C
975\mathcode`M="704D \mathcode`N="704E \mathcode`O="704F \mathcode`P="7050
976\mathcode`Q="7051 \mathcode`R="7052 \mathcode`S="7053 \mathcode`T="7054
977\mathcode`U="7055 \mathcode`V="7056 \mathcode`W="7057 \mathcode`X="7058
978\mathcode`Y="7059 \mathcode`Z="705A
979
980
981%% Rendre les guillemets ('«' et '»') actifs.
982%%
983%% Attention, cela implique de ne pas mettre d'espace après '«'
984%% ni avant '»' dans le code source.
985%%
986%% Exemple de composition correcte: «comme ceci».
987
988%\catcode`\«=\active
989%\catcode`\»=\active
990%\def«{\og\ignorespaces}
991%\def»{{\fg}}
992
993\newcommand{\ofg}[1]{\og{}#1\fg{}}
994
995% L'environnement {remarque}.
996
997% Le test \ifremarque est utile pour \leftcentersright.
998\newif\ifremarque
999
1000\newenvironment{remarque}
1001        {\remarquetrue\bigskip\noindent\begin{filet}}   % Voir plus bas.
1002        {\end{filet}\bigskip\remarquefalse}
1003
1004% L'environnement {indications}. Le nom « custom-itemize » est plus
1005% « générique »...
1006\newenvironment{custom-itemize}[1]%
1007        {%
1008        \begin{list}{}%
1009                {%
1010                \settowidth{\labelwidth}{#1}%
1011                \setlength{\leftmargin}{\labelwidth+\labelsep}%
1012                }%
1013        }%
1014        {\end{list}}
1015\newenvironment{indications}[1]{\begin{custom-itemize}{#1}}%
1016        {\end{custom-itemize}}
1017
1018% Insérer une ligne de séparation horizontale.
1019\newcommand{\separation}{\begin{center}\rule{3 cm}{1 pt}\end{center}}
1020\newcommand{\Separation}{\separation}
1021
1022% Indenter les paragraphes dans une minipage.
1023
1024\newlength{\longueurindentation}
1025\setlength{\longueurindentation}{\parindent}
1026
1027\newcommand{\indenter}{\hskip\longueurindentation}
1028
1029
1030
1031% La communication entre auteurs et relecteurs est un facteur très
1032% important dans la qualité finale des Annales. Les commandes suivantes
1033% servent à la faciliter.
1034%
1035% Lorsque l'auteur souhaite poser une question à ses relecteurs
1036% scientifiques, ou leur expliquer pourquoi il n'est pas d'accord avec
1037% telle ou telle proposition, ou encore pour dialoguer avec le relecteur
1038% typographique, le moyen « immédiat » est d'écrire, dans un courrier
1039% électronique, quelque chose comme « page 7, question I.4.b, paragraphe
1040% 2, ligne 7, je pense que ··· ». Ce n'est pas très ergonomique !
1041%
1042% La commande \note permet d'ajouter un commentaire directement dans le
1043% corrigé ou, plutôt, dans la marge du corrigé. De la sorte, la question
1044% ou le commentaire est vu par le relecteur (scientifique ou typo)
1045% directement dans le contexte: finis les allers et retours entre le
1046% corrigé et le mail. C'est bien plus pratique pour tout le monde.
1047%
1048% L'équipe des Annales a défini deux manières de présenter les notes.
1049% La commande \notesimple met le commentaire dans la marge; \notenumero
1050% indique en outre un numéro bien visible. Si vous écrivez toutes vos
1051% remarques avec \note, vous obtenez par défaut l'effet de \notenumero,
1052% mais vous pouvez obtenir le même rendu que par \notesimple avec
1053% l'option 0 ou simple.
1054%
1055% Exemple:
1056% [···] ce qui se résout\notenumero{résoud ou résout?} en [···]
1057%
1058% Un inconvénient de ces différentes commandes est qu'elles ne peuvent
1059% pas s'écrire dans certains environnements. Pour pallier ce
1060% problème, vous disposez des commandes \notemark et \notetext. Elles
1061% s'utilisent sur le même modèle que \footnotemark et \footnotetext.
1062% Pour repérer un endroit dans un environnement, il suffit d'utiliser
1063% \notemark qui place le numéro dans le texte (de la même manière que
1064% \notenumero). Pour ensuite écrire la note correspondante, il faut
1065% utiliser la commande \notetext en dehors de l'environnement, soit
1066% avant soit après; elle comportera le même numéro.
1067%
1068% Vous pouvez utiliser plusieurs \notemark dans le même environnement.
1069% La numérotation sera respectée à condition d'écrire les \notetext
1070% dans le même ordre (mais certains peuvent être avant l'environnement
1071% et les suivants après, cela n'a pas d'importance).
1072%
1073% Vous pouvez utiliser dans votre corrigé à la fois des \note et
1074% \notetext; la numérotation sera correcte sous réserve que vous
1075% preniez garde à ce qu'il y ait autant de \notemark que de \notetext
1076% entre deux occurences de \note.
1077%
1078% Exemple :
1079% [...]\notetext{résoud ou résout ?}
1080% \begin{remarque}
1081% [···] ce qui se résout\notemark en [···]
1082% \end{remarque}
1083%
1084% Dans quelques rares cas (\partie, \Partie, \arraybox, \vect, \rest
1085% principalement), lors d'une utilisation de \notemark, le compteur
1086% sera incrémenté d'une unité de trop. Ceci est dû aux \settowidth ou
1087% \settoheight de ces commandes. Il faut donc éviter d'utiliser
1088% \notemark dans ces circonstances.
1089%
1090% Important : pour toutes ces commandes, il ne faut pas laisser d'espace
1091% avant le '\' sinon l'espace final sera trop grand.
1092
1093
1094\reversemarginpar
1095\marginparwidth 3.1cm
1096
1097
1098\newcounter{Note}[page]
1099\setcounter{Note}{0}
1100
1101\newcounter{notesimple}
1102\setcounter{notesimple}{0}
1103
1104% Pour les environnements hostiles
1105\newcounter{notemark}
1106\setcounter{notemark}{0}
1107\newcounter{notemarkref}
1108\setcounter{notemarkref}{0}
1109\newcounter{notetext}
1110\setcounter{notetext}{0}
1111\newcounter{notetextref}
1112\setcounter{notetextref}{0}
1113
1114% Les compteurs \*ref servent à se rappeler où on en est, par exemple
1115% dans le cas où plusieurs \notemark se suivent avant l'apparition du
1116% premier \notetext; il faut en effet que le numéro de celui-ci
1117% corresponde au numéro du premier \notemark.
1118
1119\newcommand{\notemark}{%
1120        \ifthenelse{\equal{\value{notemark}}{\value{notemarkref}}}{%
1121                        %on est au debut de l'environnement (premiere note)
1122                \refstepcounter{notemark}%
1123                \refstepcounter{notemarkref}%
1124                \setcounter{Note}{\value{notemark}}%
1125       }{%
1126                        %notes suivantes
1127                \refstepcounter{notemark}%
1128                \setcounter{Note}{\value{notemark}}%
1129        }%
1130                        %on prepare la suite
1131        \setcounter{notetextref}{\value{notemarkref}}%
1132                        %on écrit le numéro
1133        \begin{picture}(0,0)%
1134                \put(-3,-3){\LARGE\theNote}
1135        \end{picture}\xspace
1136}
1137
1138\newcommand{\notetextbase}[1]{%
1139        \ifthenelse{\value{ifnote} = 1}{%
1140        \marginpar{\notedebasenumero{#1}}%
1141        }{}%
1142}
1143
1144\newcommand{\notetext}[1]{
1145        \ifthenelse{\equal{\value{notetext}}{\value{notetextref}}}{%
1146                        %on est a la première note
1147                \refstepcounter{notetext}%
1148                \refstepcounter{notetextref}%
1149                \setcounter{Note}{\value{notetext}}
1150        }{
1151                         %notes suivantes
1152                \refstepcounter{notetext}%
1153                \setcounter{Note}{\value{notetext}}
1154        }%
1155                        %on prepare la suite
1156\setcounter{notemarkref}{\value{notetextref}}%
1157\notetextbase{#1}%
1158}
1159
1160
1161
1162\newcommand{\notedebase}[1]{%
1163        \raggedright%
1164        \footnotesize%
1165        \vskip-0.5\baselineskip
1166        \rule[-1.4mm]{\linewidth}{0.5pt}
1167        \rule[1.4mm]{\linewidth}{0.5pt} \\%
1168        \vskip-0.5\baselineskip
1169        #1 \\%
1170        \vskip-\baselineskip
1171        \rule[-1.4mm]{\linewidth}{0.5pt}
1172        \rule[1.4mm]{\linewidth}{0.5pt} \\%
1173}
1174
1175\newcommand{\notedebasenumero}[1]{%
1176        {\LARGE\theNote}
1177        \notedebase{#1}%
1178}
1179
1180\newcommand{\notesimple}[1]{%
1181        \ifthenelse{\value{ifnote} = 1}{%
1182        \marginpar{\notedebase{#1}}%   
1183        }{}%
1184}
1185
1186\newcommand{\notenumero}[1]{%
1187        \ifthenelse{\value{ifnote} = 1}{%
1188        \refstepcounter{Note}%
1189        \setcounter{notemarkref}{\value{Note}}%
1190        \setcounter{notetextref}{\value{Note}}%
1191        \setcounter{notemark}{\value{Note}}%
1192        \setcounter{notetext}{\value{Note}}%
1193        \begin{picture}(0,0)%
1194        \put(-3,-3){\LARGE\theNote}
1195        \end{picture}%
1196        \ifthenelse{\isodd{\value{Note}}}{%
1197                \protect\reversemarginpar%
1198                \marginpar[{\notedebasenumero{#1}}]{\notedebasenumero{#1}}}{%
1199                \protect\normalmarginpar%
1200                \marginpar[{\notedebasenumero{#1}}]{\notedebasenumero{#1}}}%
1201        }{}%
1202}
1203
1204\newcommand{\typo}[1]{\notenumero{#1}}
1205
1206\newcommand{\note}[2][1]{%
1207        \ifthenelse{\equal{#1}{0} \or \equal{#1}{simple}}{%
1208                \setcounter{notesimple}{1}%
1209        }{}%
1210        %
1211        \ifthenelse{\value{notesimple} = 0}{%
1212                \notenumero{#2}%
1213        }{%
1214                \notesimple{#2}%
1215        }
1216}
1217
1218
1219
1220%!!!!!!!!!!!!!!!!!!!                                 !!!!!!!!!!!!!!!!!!!
1221%!!!!!!!!!!!!!!!!!!!   Petits raccourcis pratiques   !!!!!!!!!!!!!!!!!!!
1222%!!!!!!!!!!!!!!!!!!!                                 !!!!!!!!!!!!!!!!!!!
1223
1224% Les espaces verticaux et horizontaux.
1225\newcommand{\sk}{\smallskip}
1226\newcommand{\mk}{\medskip}
1227\newcommand{\bk}{\bigskip}
1228\newcommand{\vk}{\vskip 1.5 cm}
1229\newcommand{\hk}{\hskip 1 cm\relax}
1230\newcommand{\marge}{\noindent}
1231\newcommand{\dquad}{\hskip.5em\relax}
1232
1233% Quelques raccourcis pour des expressions, en italique ou pas.
1234\newcommand{\mkemph}[1]{\text{\emph{#1}}\xspace}
1235\newcommand{\etc}{etc.\xspace}
1236\newcommand{\apriori}{a priori\xspace}
1237\newcommand{\afortiori}{a fortiori\xspace}
1238\newcommand{\ie}{\mkemph{ie}}
1239\newcommand{\infine}{in fine\xspace}
1240\newcommand{\ssi}{\mkemph{ssi}}
1241\newcommand{\cf}{cf.\xspace}
1242\newcommand{\tiret}{\textbf{--}\xspace} % plus épais que la normale
1243
1244% Mettre du texte en \texttt.
1245\newcommand{\ttt}[1]{\texttt{#1}}
1246\newcommand{\web}[1]{%
1247    \NoAutoSpaceBeforeFDP%  Pas d'espace avant les ':' et ';'
1248        \makeatletter%
1249        \texttt{#1}%
1250        \makeatother%
1251    \AutoSpaceBeforeFDP%
1252} % Gère '@'.
1253
1254% Pour les adresses email.
1255% Exemple: \email{contact}{H-K.fr}
1256\newcommand{\email}[2]{%
1257    \texttt{#1}%
1258    {\fontfamily{ptm}\selectfont\at}%
1259    \texttt{#2}%
1260    }
1261
1262% Quelques raccourcis.
1263\newcommand{\mbx}[1]{\mbox{#1}} % Anti-goliotages...
1264\newcommand{\unentoure}{\ding{172}}
1265\newcommand{\deuxentoure}{\ding{173}}
1266\newcommand{\troisentoure}{\ding{174}}
1267\newcommand{\quatreentoure}{\ding{175}}
1268\newcommand{\cinqentoure}{\ding{176}}
1269
1270% Les « e dans l'o » de merde et autres raccourcis standards.
1271\newcommand{\coeur}{c{\oe}ur\xspace}
1272\newcommand{\Coeur}{C{\oe}ur\xspace}
1273\newcommand{\coeurs}{c{\oe}urs\xspace}
1274\newcommand{\Coeurs}{C{\oe}urs\xspace}
1275\newcommand{\choeur}{ch{\oe}ur\xspace}
1276\newcommand{\Choeur}{Ch{\oe}ur\xspace}
1277\newcommand{\choeurs}{ch{\oe}urs\xspace}
1278\newcommand{\Choeurs}{Ch{\oe}urs\xspace}
1279\newcommand{\oeuvre}{{\oe}uvre\xspace}
1280\newcommand{\Oeuvre}{{\OE}uvre\xspace}
1281\newcommand{\oeuvres}{{\oe}uvres\xspace}
1282\newcommand{\Oeuvres}{{\OE}uvres\xspace}
1283\newcommand{\oeil}{{\oe}il\xspace}
1284\newcommand{\Oeil}{{\OE}il\xspace}
1285\newcommand{\oeuf}{{\oe}uf\xspace}
1286\newcommand{\oeufs}{{\oe}ufs\xspace}
1287\newcommand{\noeud}{n{\oe}ud\xspace}
1288\newcommand{\noeuds}{n{\oe}uds\xspace}
1289\newcommand{\Noeud}{N{\oe}ud\xspace}
1290\newcommand{\Noeuds}{N{\oe}uds\xspace}
1291\newcommand{\soeur}{s{\oe}ur\xspace}
1292\newcommand{\soeurs}{s{\oe}urs\xspace}
1293\newcommand{\Soeur}{S{\oe}ur\xspace}
1294\newcommand{\Soeurs}{S{\oe}urs\xspace}
1295\newcommand{\voeu}{v{\oe}u\xspace}
1296\newcommand{\Voeu}{V{\oe}u\xspace}
1297\newcommand{\voeux}{v{\oe}ux\xspace}
1298\newcommand{\Voeux}{V{\oe}ux\xspace}
1299%\newcommand{\madame}{M${}^{{\rm me}}$\xspace}   
1300\newcommand{\madame}{M\textsuperscript{me}\xspace}   
1301\newcommand{\Mme}{\madame}
1302%\newcommand{\mademoiselle}{M${}^{{\rm lle}}$\xspace}
1303\newcommand{\mademoiselle}{M\textsuperscript{lle}\xspace}
1304\newcommand{\mamzelle}{\mademoiselle}   
1305\newcommand{\Melle}{\mademoiselle}   
1306%\newcommand{\docteur}{D${}^{{\rm r}}$\xspace}
1307\newcommand{\docteur}{D\textsuperscript{r}\xspace}
1308\newcommand{\Dr}{\docteur}
1309\newcommand{\HK}{H{\footnotesize\&}K\xspace}
1310        % Attention, cela ne marche que pour la taille standard.
1311%\newcommand{\maitre}{M${}^{{\rm e}}$\xspace}
1312\newcommand{\maitre}{M\textsuperscript{e}\xspace}
1313
1314%!!!!!!!!!!!!!!                                           !!!!!!!!!!!!!!
1315%!!!!!!!!!!!!!!   Commandes spécifiques de mise en page   !!!!!!!!!!!!!!
1316%!!!!!!!!!!!!!!                                           !!!!!!!!!!!!!!
1317
1318% Faire des tableaux dans lesquels les lignes sont bien espacées.
1319% Cet environnement « éloigne » toutes les lignes d'un tableau, ce qui peut
1320% être utile lorsque les lignes sont systématiquement séparées par des traits.
1321%
1322% L'argument optionnel permet d'adapter le taux d'éloignement.
1323%
1324% Pour écarter les lignes horizontales autour d'une ligne particulière du
1325% tableau, plutôt que pour tout le tableau, on utilisera plutôt \vphantom,
1326% comme dans les exemples ci-dessous:
1327%       \vphantom{$\Sum{}{}$}
1328%       \vphantom{$\Int{}{}$}
1329%       \vphantom{$\Sum{0}{1}$}
1330%       \vphantom{\rule{1cm}{1cm}}
1331%
1332% Exemple :     \begin{ltab}
1333%               \begin{tabular}···\end{tabular}
1334%               \end{ltab}
1335
1336\newenvironment{ltab}[1][2]{%
1337        \renewcommand{\arraystretch}{#1}}{%
1338        \renewcommand{\arraystretch}{1}}
1339
1340% Pour placer deux {minipage} côte à côte de manière à optimiser l'espace
1341% horizontal disponible, il faut spécifier des largeurs dont la somme fait
1342% la largeur de la page. Une manière plus pratique est de ne spécifier que
1343% la largeur de la première {minipage} et d'utiliser \complete comme
1344% ci-dessous pour spécifier la largeur de la deuxième.
1345%
1346% Attention à ne pas oublier le \noindent, sinon LaTeX vous avertira d'un
1347% 'Overfull hbox'.
1348%
1349% Exemple:      \noindent
1350%               \begin{minipage}{5cm}···\end{minipage}
1351%               \begin{minipage}{\complete{5}}···\end{minipage}
1352%
1353% Exemple:      \noindent
1354%               \begin{minipage}{5cm}···\end{minipage}
1355%               \hskip1cm
1356%               \begin{minipage}{\complete{6}}···\end{minipage}
1357
1358\newcommand{\complete}[1]{\linewidth - #1 cm - 3 pt}
1359
1360% Pour les dessins avec LaTeX.
1361%
1362% Cet environnement permet d'augmenter proprement la taille des traits
1363% dans un dessin fait avec latex. Le paramètre à passer peut prendre n'importe
1364% quelle valeur positive. Une valeur de 0.5 correspond à ne rien changer à
1365% l'épaisseur des traits. Une valeur de 2.5 correspond à multiplier
1366% l'épaisseur des traits par 5, etc.
1367%
1368% ATTENTION: le positionnement des figures dépend de la version de LaTeX
1369% lorsque \allinethickness est utilisé. Autrement dit, n'utilisez JAMAIS cet
1370% environnement pour des traits qui doivent être placés finement, comme des
1371% axes d'un repère, des hachures ou encore en chimie organique.
1372%
1373% Exemple:      \begin{epaisseur}{1}    % Doubler l'épaisseur des traits
1374%               \begin{picture}(0,0)···\end{picture}
1375%               \end{epaisseur}
1376
1377\newenvironment{epaisseur}[1]
1378        {\allinethickness{#1 pt}}
1379        {\allinethickness{0.5 pt}}
1380
1381% On souhaite parfois ajouter des annotations sur une courbe réalisée avec
1382% gnuplot (par exemple). Une solution pratique est d'inclure cette courbe
1383% (au format postscript) avec \epsfig puis de créer un dessin de taille
1384% nulle (\begin{picture}(0,0)), dans lequel on ajoute les éléments souhaités
1385% (comme un vecteur (\vector) ou une valeur, $\pi$, etc.) grâce à la commande
1386% \put de LaTeX. Le problème avec cette méthode est qu'il faut deviner les
1387% « bonnes coordonnées » du point en lequel on souhaite placer un élément.
1388% Pour faciliter cette recherche des coordonnées, la commande \reperes dessine
1389% des graduations sur un repère virtuel. Ces graduations sont espacées de
1390% 10 points en 10 points, avec des traits plus grands pour les cinquantaines
1391% et les centaines. La commande \reperes prend un argument optionnel, qui est
1392% le nombre de graduations souhaité. La valeur par défaut est 20.
1393%
1394% Exemple:      \begin{picture}(0,0)
1395%               \reperes[15]
1396%               \put(37,48){$\f{\pi}{2}$}       % Comment trouver (37,48) ?
1397%               \end{picture}
1398%
1399% Attention, cette commande a vocation à être temporaire, elle ne sert qu'à
1400% trouver des coordonnées. N'oubliez pas de l'effacer de votre fichier une
1401% fois votre dessin terminé.
1402
1403\newcounter{cinquantaine}
1404\newcounter{centaine}
1405\newcommand{\reperes}[1][20]{
1406        \ifthenelse{\value{ifnote} = 1}{%
1407                \setcounter{cinquantaine}{#1/5+1}%
1408                \setcounter{centaine}{#1/10+1}%
1409                \multiput(0,0)(10,0){#1}{\line(0,1){1}}%
1410                \multiput(0,0)(10,0){#1}{\line(0,-1){1}}%
1411                \multiput(0,0)(0,10){#1}{\line(1,0){1}}%
1412                \multiput(0,0)(0,10){#1}{\line(-1,0){1}}%
1413                \multiput(0,0)(-10,0){#1}{\line(0,1){1}}%
1414                \multiput(0,0)(-10,0){#1}{\line(0,-1){1}}%
1415                \multiput(0,0)(0,-10){#1}{\line(1,0){1}}%
1416                \multiput(0,0)(0,-10){#1}{\line(-1,0){1}}%
1417                \multiput(0,0)(50,0){\thecinquantaine}{\line(0,1){3}}%
1418                \multiput(0,0)(50,0){\thecinquantaine}{\line(0,-1){3}}%
1419                \multiput(0,0)(0,50){\thecinquantaine}{\line(1,0){3}}%
1420                \multiput(0,0)(0,50){\thecinquantaine}{\line(-1,0){3}}%
1421                \multiput(0,0)(-50,0){\thecinquantaine}{\line(0,1){3}}%
1422                \multiput(0,0)(-50,0){\thecinquantaine}{\line(0,-1){3}}%
1423                \multiput(0,0)(0,-50){\thecinquantaine}{\line(1,0){3}}%
1424                \multiput(0,0)(0,-50){\thecinquantaine}{\line(-1,0){3}}%
1425                \multiput(0,0)(100,0){\thecentaine}{\line(0,1){5}}%
1426                \multiput(0,0)(100,0){\thecentaine}{\line(0,-1){5}}%
1427                \multiput(0,0)(0,100){\thecentaine}{\line(1,0){5}}%
1428                \multiput(0,0)(0,100){\thecentaine}{\line(-1,0){5}}%
1429                \multiput(0,0)(-100,0){\thecentaine}{\line(0,1){5}}%
1430                \multiput(0,0)(-100,0){\thecentaine}{\line(0,-1){5}}%
1431                \multiput(0,0)(0,-100){\thecentaine}{\line(1,0){5}}%
1432                \multiput(0,0)(0,-100){\thecentaine}{\line(-1,0){5}}%
1433        }%
1434        {}%
1435}
1436
1437% Pour créer des courbes, vous pouvez utiliser les extensions LaTeX PGF et
1438% TikZ (à la manière de l'environnement {picture}, mais beaucoup plus
1439% puissantes). Attention, ce cas est un peu particulier, car il vous est
1440% impossible de les utiliser directement dans le corrigé, il vous faut créer
1441% un fichier à part que vous placerez ensuite dans le sous-répertoire PS/ de
1442% votre corrigé.
1443%
1444% Pour plus d'informations, consultez la Doc à ce sujet:
1445% http://auteurs.h-k.fr/annales/Doc/Graphique/Utiliser_l_extension_PGF_Ti.html
1446%
1447% Voici un exemple minimal:
1448%
1449% \input{annales.sty}
1450% \usepackage{tikz}
1451% \pagestyle{empty}
1452% \begin{document}
1453%
1454% \begin{dessinpgf}{1cm}{.05cm}
1455%       \draw [->] (-2,0) -- (2,0) node [pos=1, below] {$\log x$};
1456%       \draw [->] (0,-50) -- (0,20) node [pos=1, left] {$G$};
1457%       \draw [dashed] (-2,12) -- (0,12) -- (1.5,-48) node
1458%               [pos=.65,above,sloped] {$-40\U{dB/dec}$};
1459%       \draw (0,12) node [right] {$G_0 $};
1460%       \draw plot [samples=200,id=exp1,domain=-2:1.5] function {12.0 -10.0*
1461%               log10((1.0-10.**(2.*x))**2 + 22.47*10.**(2.*x))};
1462% \end{dessinpgf}
1463%
1464% \end{document}
1465
1466\newenvironment{dessinpgf}[3][]{%
1467                \begin{tikzpicture}[#1]%
1468                \pgfsetxvec{\pgfpoint{#2}{0pt}}%
1469                \pgfsetyvec{\pgfpoint{0pt}{#3}}%
1470        }{%
1471                \end{tikzpicture}%
1472}
1473
1474
1475% \mathbf ne suffit pas toujours à mettre en gras. En pareil cas, on peut
1476% avoir recours à \mathgras. Il ne vaut toutefois mieux pas l'utiliser
1477% systématiquement, car il ralentit la compilation du corrigé.
1478%
1479% Exemple : $a \mathgras{=} b$.
1480%
1481% Deux autres avantages: d'une part, tout texte en indice ou en exposant
1482% est automatiquement en gras; d'autre part, la police reste la même (ce
1483% qui n'est pas le cas avec \mathbf). 
1484
1485\newcommand{\mathgras}[1]{\grastrue\ensuremath{%
1486        {\text{\mathversion{bold}\ensuremath{#1}}}%
1487        }\grasfalse}
1488
1489% Pour tout mettre en gras, on peut aussi utiliser \textegras ou \gras
1490% et \nongras, qui présentent l'avantage d'obtenir les lettres
1491% n'existant pas en gras.
1492%
1493% Exemple: \textegras{On a $a = b$.}
1494%          \gras On a $a = b$. \nongras
1495%
1496% Ces commandes sont dues à Walter et présentes dans la définition de
1497% \partie, \Partie et des commandes à base de \mathBB.
1498
1499\newcommand{\textegras}[1]{\grastrue\textbf{\mathversion{bold}#1}\grasfalse}%
1500\newcommand{\textgras}[1]{\textegras{#1}}
1501\newcommand{\gras}{\grastrue\bfseries\mathversion{bold}}%
1502\newcommand{\nongras}{\grasfalse\mathversion{normal}\normalfont}
1503
1504\newif\ifgras
1505
1506% Numéroter les parties et sous-parties (annexes).
1507\renewcommand{\thesection}{\Roman{section}}
1508\renewcommand{\thesubsection}{\arabic{subsection}}
1509
1510% Pour commencer sur une page de droite et laisser proprement une page
1511% blanche en cas de besoin.
1512\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}}
1513
1514% Des points de suspension sans limite de longueur.
1515\def\leaderfill{\leaders\hbox to 1ex{\hss.\hss}\hfill}
1516
1517% Un peu spécieux, mais en fait pratique pour les annexes de maths.
1518\newcommand{\es}[1]{\ensuremath{#1}}
1519
1520% Insérer une page de séparation, qui contient par exemple « Annexes » en
1521% énorme centré sur la page.
1522\newcommand{\pageseparation}[1]{%   
1523        \thispagestyle{empty}
1524        \mbox{}\vfill
1525        \begin{center}
1526        {\bfseries\Huge #1}
1527        \end{center}\vfill
1528        }
1529
1530% Pour le tableau des constantes en chimie.
1531\newenvironment{deuxcolonnes}%
1532        {\setlength{\columnsep}{8 mm}%
1533        \setlength{\columnseprule}{0.5 pt}%
1534        \begin{multicols}{2}}%
1535        {\end{multicols}}
1536
1537%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1538%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1539%%%%%%%%%%%%%%%%%%                                     %%%%%%%%%%%%%%%%%
1540%%%%%%%%%%%%%%%%%%   Pour l'environnement {remarque}   %%%%%%%%%%%%%%%%%
1541%%%%%%%%%%%%%%%%%%                                     %%%%%%%%%%%%%%%%%
1542%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1543%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1544
1545\makeatletter
1546
1547\newbox\bk@bxb
1548\newbox\bk@bxa
1549\newif\if@bkcont
1550\newif\ifbkcount
1551\newcount\bk@lcnt
1552
1553\def\breakboxskip{2pt}
1554\def\breakboxparindent{1.8em}
1555\def\margesep{1cm}      % Écart entre la marge de gauche et le filet.
1556\def\intervalle{1mm}    % Écart supplémentaire entre le filet et le texte.
1557
1558\def\filet{\vskip\breakboxskip\relax
1559\setbox\bk@bxb\vbox\bgroup
1560\advance\linewidth -\fboxrule
1561\advance\linewidth -\margesep
1562\advance\linewidth -\intervalle
1563\advance\linewidth -\fboxsep
1564\hsize\linewidth\@parboxrestore
1565\parindent\breakboxparindent\relax}
1566
1567% \@tempdimb: amount of vertical skip
1568% between the first line (\bk@bxa) and the rest (\bk@bxb)
1569\def\bk@split{%
1570\@tempdimb\ht\bk@bxb % height of original box
1571\advance\@tempdimb\dp\bk@bxb
1572\setbox\bk@bxa\vsplit\bk@bxb to\z@ % split it
1573\setbox\bk@bxa\vbox{\unvbox\bk@bxa}% recover height & depth of \bk@bxa
1574\setbox\@tempboxa\vbox{\copy\bk@bxa\copy\bk@bxb}% naive concatenation
1575\advance\@tempdimb-\ht\@tempboxa
1576\advance\@tempdimb-\dp\@tempboxa}% gap between two boxes
1577 
1578
1579% \@tempdima: height of the first line (\bk@bxa) + fboxsep
1580\def\bk@addfsepht{%
1581     \setbox\bk@bxa\vbox{\vskip\fboxsep\box\bk@bxa}}
1582
1583\def\bk@addskipht{%
1584     \setbox\bk@bxa\vbox{\vskip\@tempdimb\box\bk@bxa}}
1585
1586% \@tempdima: depth of the first line (\bk@bxa) + fboxsep
1587\def\bk@addfsepdp{%
1588     \@tempdima\dp\bk@bxa
1589%     \advance\@tempdima\fboxsep
1590     \dp\bk@bxa\@tempdima}
1591
1592% \@tempdima: depth of the first line (\bk@bxa) + vertical skip
1593\def\bk@addskipdp{%
1594     \@tempdima\dp\bk@bxa
1595     \advance\@tempdima\@tempdimb
1596     \dp\bk@bxa\@tempdima}
1597
1598\def\bk@line{%
1599    \hbox to \linewidth{\ifbkcount\smash{\llap{\the\bk@lcnt\ }}\fi
1600    \hskip\margesep
1601    \vrule \@width\fboxrule\hskip\fboxsep
1602    \hskip\intervalle
1603    \box\bk@bxa\hfil
1604%    \hskip\fboxsep
1605        }}
1606
1607\def\endfilet{\egroup
1608\ifhmode\par\fi{\noindent\bk@lcnt\@ne
1609\@bkconttrue\baselineskip\z@\lineskiplimit\z@
1610\lineskip\z@\vfuzz\maxdimen
1611\bk@split\bk@addfsepht\bk@addskipdp
1612\ifvoid\bk@bxb      % Only one line
1613\def\bk@fstln{\bk@addfsepdp
1614%\vbox{\hrule\@height\fboxrule\bk@line\hrule\@height\fboxrule}}%
1615\vbox{\bk@line}}%
1616\else               % More than one line
1617%\def\bk@fstln{\vbox{\hrule\@height\fboxrule\bk@line}\hfil
1618\def\bk@fstln{\vbox{\bk@line}\hfil
1619\advance\bk@lcnt\@ne
1620\loop 
1621 \bk@split\bk@addskipdp\leavevmode
1622\ifvoid\bk@bxb      % The last line
1623 \@bkcontfalse\bk@addfsepdp
1624% \vtop{\bk@line\hrule\@height\fboxrule}%
1625 \vtop{\bk@line}%
1626\else               % 2,...,(n-1)
1627 \bk@line
1628\fi
1629 \hfil\advance\bk@lcnt\@ne
1630\if@bkcont\repeat}%
1631\fi
1632\leavevmode\bk@fstln\par}\vskip\breakboxskip\relax}
1633
1634\bkcountfalse
1635
1636\makeatother
1637
1638
1639%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!             !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1640%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!   Centrer   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1641%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!             !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1642
1643% LaTeX prévoit un mécanisme pour centrer les équations: $$···$$ (ou, de
1644% manière équivalente, \[···\]). Ces commandes doivent être proscrites dans un
1645% travail en commun, parce que l'espace vertical placé avant et après
1646% ces environnements change d'un site à l'autre, de sorte qu'il n'est pas
1647% possible de préserver une mise en page soignée.
1648%
1649% En remplacement, voici une série de commandes plus générales (elles
1650% permettent de centrer n'importe quoi: texte, formule, tableau, dessin, etc.).
1651%
1652% Supposons que l'on veuille simplement centrer une formule sur la page, comme
1653% ceci:
1654%
1655%                               x_0 = 7
1656%
1657% On pourra utiliser la commande \centers.
1658%
1659% Exemple: \centers{$ x_0 = 7 $}
1660%          \centers{Ceci est un texte centré}
1661%
1662% On peut vouloir y ajouter un petit mot de liaison en début de ligne, collé
1663% à la marge, en particulier dans une suite de calculs, comme ceci:
1664%
1665% d'où                          x_0 = 7
1666%
1667% On pourra alors utiliser \leftcenters.
1668%
1669% Exemple: \leftcenters{ d'où }{ $x_0 = 7$ }
1670%
1671% Il est aussi parfois utile de placer du texte à droite de la ligne, collé
1672% à la marge, comme ceci:
1673%
1674% d'où                          x_0 = 7                                 (2)
1675%
1676% On utilisera dans ce cas \leftcentersright.
1677%
1678% Exemple: \leftcentersright{ d'où }{ $x_0 = 7$ }{ \deux }
1679%
1680% Et si l'on ne souhaite rien placer à gauche, on dispose de \centersright.
1681%
1682% Pour toutes ces commandes, le texte du milieu est parfaitement centré sur
1683% la page quels que soient les deux autres arguments de \leftcentersright.
1684%
1685% Attention dès lors au risque de chevauchement: puisque le texte à gauche ne
1686% « pousse » pas celui du milieu vers la droite, ces deux textes peuvent très
1687% bien se chevaucher s'ils sont tous deux suffisamment longs. LaTeX ne vous
1688% préviendra pas, il faudra le déceler vous-même en regardant une version
1689% compilée. Cela ne devrait en général poser aucun problème.
1690%
1691% Les trois commandes précédentes admettent une variante en remplaçant
1692% 'centers' par 'encadre'; dans ce cas, le texte à centrer sera encadré.
1693%
1694% Exemple: \leftencadre{ En conclusion, }{ $A=0$ }
1695%
1696% Enfin, tous ces environnements (aussi bien avec 'centers' qu'avec 'encadre'
1697% laissent un espace vertical avant et après eux. Cet espace est, par défaut,
1698% équivalent à un \medskip. Mais vous pouvez le changer en passant un argument
1699% optionnel.
1700%
1701% Exemple:      \centers[0]     <==>    Pas d'espace
1702%               \centers[1]     <==>    Laisser un \smallskip
1703%               \centers[2]     <==>    Laisser un \medskip
1704%               \centers[3]     <==>    Laisser un \bigskip
1705%               \centers[4]     <==>    Laisser 1 cm
1706%
1707% L'espace laissé avant et l'espace laissé après sont toujours identiques.
1708
1709% L'ancienne commande \centers centrait par rapport à l'{itemize} (ou
1710% l'environnement en cours) plutôt que par rapport à la page. On dispose
1711% d'une bascule pour passer d'un mode à l'autre.
1712
1713\newcounter{Centers}
1714\setcounter{Centers}{0}
1715
1716\newcommand{\CentersOnPage}{\setcounter{Centers}{0}}
1717\newcommand{\CentersOnItems}{\setcounter{Centers}{1}}
1718
1719\newcommand{\leftcentersright}[4][2]{%
1720        \ifthenelse{\equal{\value{Centers}}{0}}{%
1721                \leftcentersrightonpage[#1]{#2}{#3}{#4}%
1722        }{
1723                \leftcentersrightonitems[#1]{#2}{#3}{#4}%               
1724        }
1725}
1726
1727\newcounter{vcenterstest}
1728\newlength{\leftlength}
1729\newlength{\rightlength}
1730\newlength{\vcentersskip}
1731\newcommand{\leftcentersrightonitems}[4][2]{%
1732        \settowidth{\leftlength}{#2}%
1733        \settowidth{\rightlength}{#4}%
1734        \setcounter{vcenterstest}{#1}%
1735        \ifthenelse{\value{vcenterstest} = 0}
1736                {\setlength{\vcentersskip}{0pt}}{}%
1737        \ifthenelse{\value{vcenterstest} = 1}
1738                {\setlength{\vcentersskip}{\smallskipamount}}{}%
1739        \ifthenelse{\value{vcenterstest} = 2}
1740                {\setlength{\vcentersskip}{\medskipamount}}{}%
1741        \ifthenelse{\value{vcenterstest} = 3}
1742                {\setlength{\vcentersskip}{\bigskipamount}}{}%
1743        \ifthenelse{\value{vcenterstest} = 4}
1744                {\setlength{\vcentersskip}{1cm}}{}%
1745                % On laisse un espace vertical défini par l'argument
1746                % optionnel #1
1747        \vskip\vcentersskip
1748                % On place #2 et on recule de sa longueur
1749        \noindent#2\hskip-\leftlength%
1750                % On centre #3
1751        \hfill#3\hfill%
1752                % On va au bout de la ligne, on recule de la longueur de #4 et
1753                % on place #4
1754        \mbox{}\hskip-\rightlength#4%
1755                % On laisse un espace vertical défini par l'argument
1756                % optionnel #1
1757        \vskip\vcentersskip%
1758}
1759
1760%\newlength{\leftlength}
1761%\newlength{\rightlength}
1762\newlength{\calculskip}
1763\newcommand{\calculvskip}[1]{%
1764  \ifthenelse{#1 = 0}{\setlength{\calculskip}{0pt}}{}%
1765  \ifthenelse{#1 = 1}{\setlength{\calculskip}{\smallskipamount}}{}%
1766  \ifthenelse{#1 = 2}{\setlength{\calculskip}{\medskipamount}}{}%
1767  \ifthenelse{#1 = 3}{\setlength{\calculskip}{\bigskipamount}}{}%
1768  \ifthenelse{#1 = 4}{\setlength{\calculskip}{1cm}}{}%
1769  \vskip\calculskip
1770} 
1771
1772\newcommand{\leftcentersrightonpage}[4][2]{%
1773        \settowidth{\leftlength}{#2}%
1774        \settowidth{\rightlength}{#4}%
1775                % On laisse un espace vertical défini par l'argument
1776                % optionnel #1
1777        \calculvskip{#1}
1778        % On place #2 et on recule de sa longueur
1779                % Amélioration par Céline: la ligne suivante fait en sorte
1780                % que l'argument du milieu soit toujours bien centré sur la
1781                % page, plutôt que centré dans l'environnement (sauf
1782                % dans une {remarque}, à la demande de Manu).
1783        \noindent#2\hskip-\leftlength%
1784%       \hskip\linewidth\hskip-\textwidth%
1785        \ifremarque{}\else\hskip\linewidth\hskip-\textwidth\fi%
1786                % On centre #3
1787        \hfill{#3}\hfill
1788                % On va au bout de la ligne, on recule de la longueur de #4 et
1789                % on place #4
1790        \mbox{}\hskip-\rightlength#4%
1791                % On laisse un espace vertical défini par l'argument
1792                % optionnel #1
1793        \vskip\calculskip%
1794}
1795
1796\newcommand{\centers}[2][2]{\leftcentersright[#1]{}{#2}{}}
1797\newcommand{\leftcenters}[3][2]{\leftcentersright[#1]{#2}{#3}{}}
1798\newcommand{\centersright}[3][2]{\leftcentersright[#1]{}{#2}{#3}}
1799\newcommand{\leftencadreright}[4][2]{\leftcentersright[#1]{#2}{\fbox{#3}}{#4}}
1800\newcommand{\encadre}[2][2]{\leftcentersright[#1]{}{\fbox{#2}}{}}
1801\newcommand{\leftencadre}[3][2]{\leftcentersright[#1]{#2}{\fbox{#3}}{}}
1802\newcommand{\encadreright}[3][2]{\leftcentersright[#1]{}{\fbox{#2}}{#3}}
1803\newcommand{\remandcenters}[3][2]{\leftcentersright[#1]{#2}{#3}{}} % Synonyme
1804\newcommand{\centrer}[2][2]{\leftcentersright[#1]{}{#2}{}}      % Synonyme
1805\newcommand{\Centers}[2][2]{\leftcentersright[#1]{}{#2}{}}      % Synonyme
1806
1807
1808
1809% Pour encadrer un texte trop long pour tenir sur une seule ligne, il faut
1810% inclure ce texte dans une {minipage}. La commande \encadreminipage prend
1811% deux arguments: la largeur de la {minipage}, puis le texte. On peut
1812% également inclure un argument optionnel pour régler l'espace avant et après
1813% la {minipage}.
1814%
1815% Exemple:      \encadreminipage{8cm}{texte ··· texte}
1816
1817\newcommand{\encadreminipage}[3][2]{%
1818        \leftcentersright[#1]{}{\fbox{%
1819                \begin{minipage}{#2} #3 \end{minipage}%
1820        }}{}%
1821}
1822
1823\newcommand{\centersminipage}[3][2]{%
1824        \leftcentersright[#1]{}{%
1825                \begin{minipage}{#2} #3 \end{minipage}%
1826        }{}%
1827}
1828
1829%!!!!!!!!!!!!!!!!!!!!                              !!!!!!!!!!!!!!!!!!!!
1830%!!!!!!!!!!!!!!!!!!!!   Raccourcis de correction   !!!!!!!!!!!!!!!!!!!!
1831%!!!!!!!!!!!!!!!!!!!!                              !!!!!!!!!!!!!!!!!!!!
1832
1833% Les raccourcis ci-dessous sont surtout utiles pour corriger le travail
1834% d'une tierce personne. Rien ne vous empêche néanmoins de les utiliser.
1835
1836\newcommand{\donccenters}[2][2]{\leftcenters[#1]{donc}{#2}}
1837\newcommand{\doucenters}[2][2]{\leftcenters[#1]{d'où}{#2}}
1838\newcommand{\carcenters}[2][2]{\leftcenters[#1]{car}{#2}}
1839\newcommand{\cadcenters}[2][2]{\leftcenters[#1]{c'est-à-dire}{#2}}
1840\newcommand{\puiscenters}[2][2]{\leftcenters[#1]{puis}{#2}}
1841\newcommand{\ainsicenters}[2][2]{\leftcenters[#1]{Ainsi,}{#2}}
1842\newcommand{\depluscenters}[2][2]{\leftcenters[#1]{De plus,}{#2}}
1843\newcommand{\aveccenters}[2][2]{\leftcenters[#1]{avec}{#2}}
1844\newcommand{\soitcenters}[2][2]{\leftcenters[#1]{soit}{#2}}
1845\newcommand{\alorscenters}[2][2]{\leftcenters[#1]{alors}{#2}}
1846\newcommand{\maiscenters}[2][2]{\leftcenters[#1]{mais}{#2}}
1847\newcommand{\commecenters}[2][2]{\leftcenters[#1]{Comme}{#2}}
1848\newcommand{\ailleurscenters}[2][2]{\leftcenters[#1]{Par ailleurs,}{#2}}
1849\newcommand{\orcenters}[2][2]{\leftcenters[#1]{Or,}{#2}}
1850\newcommand{\etcenters}[2][2]{\leftcenters[#1]{et}{#2}}
1851\newcommand{\deduitcenters}[2][2]{\leftcenters[#1]{On en déduit}{#2}}
1852\newcommand{\parsuitecenters}[2][2]{\leftcenters[#1]{Par suite,}{#2}}
1853\newcommand{\parcsqcenters}[2][2]{\leftcenters[#1]{Par conséquent,}{#2}}
1854\newcommand{\ilvientcenters}[2][2]{\leftcenters[#1]{Il vient}{#2}}
1855\newcommand{\conclusioncenters}[2][2]{\leftcenters[#1]{Conclusion :}{#2}}
1856\newcommand{\finalementcenters}[2][2]{\leftcenters[#1]{Finalement,}{#2}}
1857\newcommand{\ANcenters}[2][2]{\leftcenters[#1]{\textit{Application
1858        numérique\/}\,:}{#2}}
1859%
1860\newcommand{\doncencadre}[2][2]{\leftencadre[#1]{donc}{#2}}
1861\newcommand{\douencadre}[2][2]{\leftencadre[#1]{d'où}{#2}}
1862\newcommand{\carencadre}[2][2]{\leftencadre[#1]{car}{#2}}
1863\newcommand{\cadencadre}[2][2]{\leftencadre[#1]{c'est-à-dire}{#2}}
1864\newcommand{\puisencadre}[2][2]{\leftencadre[#1]{puis}{#2}}
1865\newcommand{\ainsiencadre}[2][2]{\leftencadre[#1]{Ainsi,}{#2}}
1866\newcommand{\deplusencadre}[2][2]{\leftencadre[#1]{De plus,}{#2}}
1867\newcommand{\avecencadre}[2][2]{\leftencadre[#1]{avec}{#2}}
1868\newcommand{\soitencadre}[2][2]{\leftencadre[#1]{soit}{#2}}
1869\newcommand{\alorsencadre}[2][2]{\leftencadre[#1]{alors}{#2}}
1870\newcommand{\maisencadre}[2][2]{\leftencadre[#1]{mais}{#2}}
1871\newcommand{\ailleursencadre}[2][2]{\leftencadre[#1]{Par ailleurs,}{#2}}
1872\newcommand{\orencadre}[2][2]{\leftencadre[#1]{Or}{#2}}
1873\newcommand{\etencadre}[2][2]{\leftencadre[#1]{et}{#2}}
1874\newcommand{\deduitencadre}[2][2]{\leftencadre[#1]{On en déduit}{#2}}
1875\newcommand{\parsuiteencadre}[2][2]{\leftencadre[#1]{Par suite,}{#2}}
1876\newcommand{\parcsqencadre}[2][2]{\leftencadre[#1]{Par conséquent,}{#2}}
1877\newcommand{\ilvientencadre}[2][2]{\leftencadre[#1]{Il vient}{#2}}
1878\newcommand{\conclusionencadre}[2][2]{\leftencadre[#1]{Conclusion :}{#2}}
1879\newcommand{\finalementencadre}[2][2]{\leftencadre[#1]{Finalement,}{#2}}
1880\newcommand{\ANencadre}[2][2]{\leftencadre[#1]{\textit{Application
1881        numérique\/}\,:}{#2}}
1882
1883% Les exposants.
1884\newcommand{\moinsun}{\ensuremath{{}^{-1}}}
1885\newcommand{\moinsdeux}{\ensuremath{{}^{-2}}}
1886\newcommand{\moinstrois}{\ensuremath{{}^{-3}}}
1887
1888
1889
1890%!!!!!!!!!!!!!!!!!!!!!                             !!!!!!!!!!!!!!!!!!!!!
1891%!!!!!!!!!!!!!!!!!!!!!   Calculs et commentaires   !!!!!!!!!!!!!!!!!!!!!
1892%!!!!!!!!!!!!!!!!!!!!!                             !!!!!!!!!!!!!!!!!!!!!
1893
1894% Les outils de cette section sont une généralisation de \leftcentersright
1895% et des environnements du type {systsimple}. L'idée est de pouvoir:
1896%
1897%       * centrer des calculs sur la page
1898%       * écrire un commentaire spécifique à une ligne, collé à la marge gauche
1899%       * écrire un commentaire spécifique à une ligne, collé à la marge droite
1900%
1901% Visuellement, le rendu pourrait ressembler à ceci:
1902%
1903% On sait que                    a = b
1904% et                             b = c              d'après la question IV.2.c
1905% donc                           a = c                        par transitivité
1906% En outre,                      d = c
1907% c'est-à-dire                   c = d
1908% d'où                           a = d              en rassemblant les calculs
1909%
1910% On ne peut pas se contenter d'utiliser \leftcentersright à chaque ligne,
1911% car les signes '=' ne seraient alors pas alignés. Il est nécessaire
1912% d'utiliser un tableau ({array}) pour garantir leur alignement.
1913%
1914% Nous allons voir plusieurs environnements, du plus simple au plus général.
1915%
1916% Les commandes de cette section ont été écrites par Céline.
1917
1918% D'abord, quelques routines et déclarations.
1919
1920\newsavebox{\boite}
1921\def\debutcom{\begin{lrbox}{\boite}}
1922\def\fincomg{\end{lrbox}\makebox[0cm][l]{\usebox{\boite}}%
1923             \hskip\linewidth\hskip-\textwidth}
1924\def\fincomd{\end{lrbox}\makebox[0cm][r]{\usebox{\boite}}}
1925
1926
1927% L'environnement {egalites} réalise l'illustration donnée en préambule.
1928% Voici un exemple d'utilisation :
1929%
1930% \begin{egalites}
1931%     On a   & a & b &              \\
1932%     et     & b & c & (question 3) \\
1933%     donc   & a & c &              \\
1934% \end{egalites}
1935%
1936% ce qui produit:
1937%
1938% On a                            a = b
1939% et                              b = c                           (question 3)
1940% donc                            a = c
1941%
1942% Remarquez que l'environnement {egalites} utilise un tableau à 4 colonnes.
1943% La première et la dernière sont réservées aux commentaires: on peut donc
1944% y écrire du texte en français. En revanche, la deuxième et la troisième
1945% servent pour les mathématiques: il n'est pas besoin de préciser les $ du
1946% mode maths, ils sont inclus pour vous. (Plus précisément, il ne faut pas
1947% les indiquer dans votre code, sinon vous annulez leur effet.)
1948%
1949% {egalites}, comme tous les autres environnements de cette section, possède
1950% une propriété bien sympathique: les colonnes collées à la marge sont
1951% « infiniment extensibles », c'est-à-dire que contrairement à la coutume,
1952% elles ne réservent pas une place fixe calculées sur la largeur de l'élément
1953% le plus large. Ainsi, on peut tout à fait obtenir:
1954%
1955% On a               a = b + c + d + e + f + g + h + i + j + k + l
1956% et             u + v = x + y                  d'après la question précédente
1957% donc  age(capitaine) = 30                          (même si ça dépend quand)
1958%
1959% (Ce qu'il faut remarquer, c'est que la colonne comportant le paquet
1960% d'additions « mord » sur la colonne des commentaires sans que cela gêne
1961% cette dernière.)
1962%
1963% Tout comme \leftcentersright et ses dérivés (\centers, \leftcenters, etc.),
1964% l'environnement {egalites} accepte un argument optionnel, qui permet de
1965% régler les espaces verticaux avant et après. Pour laisser un argument plus
1966% grand que la normale, on écrirait donc:
1967%
1968% \begin{egalites}[3]   % Valeur par défaut: 2.
1969%                       % Valeur maximale: 4.
1970%
1971% Et pour ne laisser aucun espace avant ni après:
1972%
1973% \begin{egalites}[0]
1974%
1975% L'espace entre les lignes du calcul peut en outre être géré très finement,
1976% ligne par ligne, en utilisant l'argument optionnel de '\\', selon la
1977% procédure classique:
1978%
1979% \begin{egalites}
1980%     On a   & a & b &              \\[2mm]
1981%     et     & b & c & (question 3) \\[4mm]
1982%     donc   & a & c &              \\
1983% \end{egalites}
1984%
1985% Enfin, sachez que l'environnement {egalites} (comme les suivants) n'est
1986% pas compatible avec \leftcentersright ou l'un de ses dérivés. On ne peut
1987% donc _pas_ écrire \centers{\begin{egalites} ··· \end{egalites}}.
1988% Ce serait d'ailleurs tout à fait inutile. Si vous pensez en avoir
1989% véritablement besoin un jour, utilisez simplement une {minipage}.
1990
1991\newenvironment{calculs:base}[2][2]{%
1992        % On laisse un espace vertical défini par l'argument optionnel #1
1993        \calculvskip{#1}
1994        \noindent
1995        \begin{tabular*}{\linewidth}[t]%
1996                {@{}>{\debutcom}l<{\fincomg}@{\extracolsep{\fill}}%
1997                >{$}r<{$}%
1998                @{$\ #2\ $}%
1999                @{\extracolsep{0pt}}>{$}l<{$}%
2000                @{\extracolsep{\fill}}>{\debutcom}r<{\fincomd}@{}}
2001        }{%
2002        \end{tabular*}%
2003        \vskip\calculskip
2004}
2005
2006\newenvironment{egalites}[1][2]{%
2007        \begin{calculs:base}[#1]{=}}{%
2008        \end{calculs:base}
2009}
2010
2011% Autre cas fréquent: le symbole de relation entre les membres de gauche et
2012% de droite n'est pas '=', mais '\leq', ou '\geq'. On dispose de deux
2013% environnements pour répondre à ce besoin:
2014%
2015% \begin{inegalites:leq}
2016%     On a   & a & b &              \\[2mm]
2017%     et     & b & c & (question 3) \\[2mm]
2018%     donc   & a & c &              \\
2019% \end{inegalites:leq}
2020%
2021% \begin{inegalites:geq}
2022%     On a   & a & b &              \\[2mm]
2023%     et     & b & c & (question 3) \\[2mm]
2024%     donc   & a & c &              \\
2025% \end{inegalites:geq}
2026%
2027% Le premier cas étant de loin le plus fréquent, il est également accessible
2028% par la version abrégée {inegalites}:
2029%
2030% \begin{inegalites}
2031%     On a   & a & b &              \\[2mm]
2032%     et     & b & c & (question 3) \\[2mm]
2033%     donc   & a & c &              \\
2034% \end{inegalites}
2035
2036\newenvironment{inegalites}{%
2037        \begin{inegalites:leq}}{%
2038        \end{inegalites:leq}
2039}
2040
2041\newenvironment{inegalites:leq}[1][2]{%
2042        \begin{calculs:base}[#1]{\leq}}{%
2043        \end{calculs:base}
2044}
2045
2046\newenvironment{inegalites:geq}[1][2]{%
2047        \begin{calculs:base}[#1]{\geq}}{%
2048        \end{calculs:base}
2049}
2050
2051% Les environnements précédents sont pratiques, mais ils sont loin de couvrir
2052% tous les cas. Bien souvent, le symbole de relation change en cours de
2053% calcul, ce qui nécessite un environnement plus général: {calculs}.
2054%
2055% Dans cet environnement, vous devez préciser le symbole de relation à chaque
2056% ligne, dans une colonne à part:
2057%
2058% \begin{calculs}
2059%     On a   & a &  =   & b &              \\
2060%     et     & b & \leq & c & (question 3) \\
2061%     donc   & a & \leq & c &              \\
2062% \end{calculs}
2063%
2064% Le principe est inchangé pour les autres colonnes.
2065
2066\newenvironment{calculs}[1][2]%
2067        {\begin{calculs:rcl}[#1]{r}{c}{l}}%
2068        {\end{calculs:rcl}}
2069
2070% Lorsque les calculs se compliquent, il est parfois souhaitable de ne pas
2071% suivre les consignes générales d'alignement, qui veulent que la colonne
2072% de gauche (dans les calculs, ie celle qui précède le symbole de relation)
2073% soit justifiée à droite, et la colonne de droite justifiée à gauche.
2074%
2075% LaTeX utilise les lettres
2076%   * l (left)
2077%   * c (center)
2078%   * r (right)
2079% pour classer les types d'alignements. La règle classique est donc
2080% r (colonne de gauche) puis c (symbole de relation) puis l (colonne de droite).
2081%
2082% L'environnement {calculs:rcl} fonctionne comme {calculs}, hormis qu'il
2083% exige trois paramètres, en plus de l'argument optionnel; ces paramètres
2084% règleront pour vous la justification des colonnes.
2085%
2086% \begin{calculs:rcl}{c}{c}{l}
2087%     On a   & a & = & b &              \\[2mm]
2088%     et     & b & = & c & (question 3) \\[2mm]
2089%     donc   & a & = & c &              \\
2090% \end{calculs:rcl}
2091%
2092% Remarquez qu'il n'est pas possible de changer l'alignement des colonnes
2093% ligne par ligne: ceci est une limitation de LaTeX.
2094
2095\newenvironment{calculs:rcl}[4][2]{%
2096        % On laisse un espace vertical défini par l'argument
2097        % optionnel #1
2098        \calculvskip{#1}
2099        \noindent
2100        \begin{tabular*}{\linewidth}[t]%
2101                {@{}>{\debutcom}l<{\fincomg}@{\extracolsep{\fill}}
2102                >{$}#2<{$}@{\extracolsep{0pt}}%
2103                >{$\ }#3<{\ $}%
2104                @{\extracolsep{0pt}}>{$}#4<{$}%
2105                @{\extracolsep{\fill}}>{\debutcom}r<{\fincomd}@{}}%
2106        }{%
2107        \end{tabular*}%
2108        \vskip\calculskip
2109}
2110
2111% Occasionnellement, il arrive que l'on ait besoin de séparer en deux morceaux
2112% la colonne de droite dans un calcul. Cela peut avoir lieu dans deux cas:
2113%
2114%   1° lorsqu'une ligne est trop longue;
2115%   2° lorsque le membre de droite comporte deux termes bien distincts.
2116%
2117% Le premier cas n'est pas traité ici. En revanche, pour le deuxième, c'est
2118% simple: il suffit de diviser la colonne de droite en deux colonnes ou, ce
2119% qui revient au même, à introduire une colonne supplémentaire entre la
2120% colonne des relations et la colonne des commentaires collés à la marge de
2121% droite.
2122%
2123% Voici un exemple d'utilisation:
2124%
2125% \begin{calculs:rcl:extracol}{r}{c}{l}{l}
2126%     On a   & a   &  =   & b_1 & + b_2 &               \\[2mm]
2127%     et     & b_1 & \leq & c   &       & (question 3a) \\[2mm]
2128%            & b_2 & \leq & d   &       & (question 3b) \\[2mm]
2129%     donc   & a   & \leq & c   & + d   &               \\
2130% \end{calculs:rcl:extracol}
2131%
2132% Dans cet exemple, imaginez bien sûr que b_1, b_2, c et d sont des
2133% expressions plutôt complexes: il va de soi que vous n'avez pas besoin
2134% de cet environnement pour additionner des termes de petite taille.
2135
2136\newenvironment{calculs:rcl:extracol}[5][2]{%
2137        \calculvskip{#1}
2138        \noindent
2139        \begin{tabular*}{\linewidth}[t]%
2140                {@{}>{\debutcom}l<{\fincomg}@{\extracolsep{\fill}}%
2141                >{$}#2<{$}@{\extracolsep{0pt}}%
2142                >{$\ }#3<{\ $}@{\extracolsep{0pt}}%
2143                >{$}#4<{$}@{\extracolsep{0pt}}%
2144                >{$\null}#5<{$}%
2145                @{\extracolsep{\fill}}>{\debutcom}r<{\fincomd}@{}}%
2146}{%
2147        \end{tabular*}%
2148        \vskip\calculskip
2149}
2150
2151% Aucun des environnements précédents ne répond pleinement à vos besoins ?
2152% Vos calculs sont abominables au-delà de toute norme ?
2153% Nous avons la solution.
2154%
2155% L'environnement {calculs:rcl:extracol} vous ouvrait une colonne
2156% supplémentaire mais imposait encore que le symbole se trouve dans la
2157% deuxième (sans compter celle des commentaires collés à la marge de gauche).
2158%
2159% Avec {calculs:latotale}, vous disposez de 5 colonnes garanties sans
2160% restriction, en plus des deux colonnes qui servent aux commentaires collés
2161% aux marges. Vous pouvez les utiliser comme bon vous semble pour créer
2162% des dispositions adaptées à vos besoins.
2163%
2164% Attention, le corollaire de cette liberté est que les espaces autour des
2165% relations (=, \leq, etc.) ne sont plus réglés pour vous, vous allez devoir
2166% les placer à la main en les faisant précéder et suivre d'un espace
2167% (remplacer '=' par '\ =\ \null'). Voici un exemple d'utilisation:
2168%
2169% \begin{calculs:latotale}[3]{c}{l}{c}{l}{l}
2170%     On a   & a & + b & \ = \    \null & c & + d &               \\[2mm]
2171%     et     & a & + c & \ = \    \null & e & + d & (question 3a) \\[4mm]
2172%     donc   & a & - b & \ \leq \ \null & f &     &               \\
2173% \end{calculs:latotale}
2174%
2175% Plus simplement, vous pouvez aussi régler ces espaces pour toute la
2176% colonne d'un coup à l'aide de '<' et '>'. Dans l'exemple précédent,
2177% cela donnerait:
2178%
2179% \begin{calculs:latotale}[3]{c}{l}{>{\ }c<{\ }}{l}{l}
2180%     On a   & a & + b & =    & c & + d &               \\[2mm]
2181%     et     & a & + c & =    & e & + d & (question 3a) \\[4mm]
2182%     donc   & a & - b & \leq & f &     &               \\
2183% \end{calculs:latotale}
2184
2185\newenvironment{calculs:latotale}[6][2]{%
2186        \calculvskip{#1}
2187        \noindent
2188        \begin{tabular*}{\linewidth}[t]%
2189                {@{}>{\debutcom}l<{\fincomg}@{\extracolsep{\fill}}%
2190                >{$\null}#2<{$}@{\extracolsep{0pt}}%
2191                >{$\null}#3<{$}@{\extracolsep{0pt}}%
2192                >{$\null}#4<{$}%
2193                @{\extracolsep{0pt}}>{$\null}#5<{$}%
2194                @{\extracolsep{0pt}}>{$\null}#6<{$}%
2195                @{\extracolsep{\fill}}>{\debutcom}r<{\fincomd}@{}}%
2196}{%
2197        \end{tabular*}%
2198        \vskip\calculskip
2199}
2200
2201% Bravo d'avoir lu jusque-là ! Pour vous en remercier, voici une petite
2202% astuce: les séparateurs '&' n'ont pas besoin d'être précisés lorsqu'ils
2203% précèdent immédiatement le retour à la ligne '\\'. Autrement dit, si
2204% vous ne collez pas de commentaire à la marge de droite, vous pouvez
2205% vous éviter de taper un '&' et, surtout, vous éviter de compter ces
2206% symboles.
2207
2208
2209%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2210%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2211%%%%%%%%%%%%%%%%%%%                                  %%%%%%%%%%%%%%%%%%
2212%%%%%%%%%%%%%%%%%%%   Le langage des mathématiques   %%%%%%%%%%%%%%%%%%
2213%%%%%%%%%%%%%%%%%%%                                  %%%%%%%%%%%%%%%%%%
2214%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2215%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2216
2217%!!!!!!!!!!!!!!!!!!!!!!!!!!                   !!!!!!!!!!!!!!!!!!!!!!!!!!
2218%!!!!!!!!!!!!!!!!!!!!!!!!!!   Les fractions   !!!!!!!!!!!!!!!!!!!!!!!!!!
2219%!!!!!!!!!!!!!!!!!!!!!!!!!!                   !!!!!!!!!!!!!!!!!!!!!!!!!!
2220
2221% La taille des fractions doit s'adapter au contexte: grandes dans une
2222% équation, petites en exposant ou en indice. La commande \f gère pour vous
2223% tous les cas.
2224%
2225% Exemple : $ \f{1}{2} $
2226%           $ x^{\f{3}{2}} $
2227%           $ \Int{0}{ \f{pi}{2} } \cos²t \dt $
2228\newcommand{\f}[2]{{\ensuremath{%
2229        \mathchoice%
2230        {\dfrac{#1}{#2}}
2231    {\dfrac{#1}{#2}}
2232        {\frac{#1}{#2}}
2233        {\frac{#1}{#2}}
2234}}}
2235
2236% Dans le texte, on a souvent envie d'écrire 1/2 plutôt que \f{1}{2}.
2237% La macro \tf permet de corriger rapidement un \f malheureux.
2238% Exemple: $ \tf{1}{\sqrt{2}} $  <==>  $1 / \sqrt{2}$
2239\newcommand{\tf}[2]{\ensuremath{#1/#2}}
2240
2241% Quelques raccourcis pour les infortunés qui utilisent un clavier azerty.
2242\newcommand{\demi}{\ensuremath{\f{1}{2}}\xspace}
2243\newcommand{\tdemi}{\ensuremath{1/2}\xspace}
2244\newcommand{\tiers}{\ensuremath{\f{1}{3}}\xspace}
2245\newcommand{\ttiers}{\ensuremath{1/3}\xspace}
2246\newcommand{\quart}{\ensuremath{\f{1}{4}}\xspace}
2247\newcommand{\tquart}{\ensuremath{1/4}\xspace}
2248
2249%!!!!!!!!!!!!!!!!!!!!!!!!!                     !!!!!!!!!!!!!!!!!!!!!!!!!
2250%!!!!!!!!!!!!!!!!!!!!!!!!!   Les parenthèses   !!!!!!!!!!!!!!!!!!!!!!!!!
2251%!!!!!!!!!!!!!!!!!!!!!!!!!                     !!!!!!!!!!!!!!!!!!!!!!!!!
2252
2253% Pour indiquer des parenthèses autour d'une grosse expression, il peut
2254% parfois être utile d'utiliser une macro plutôt que la commande explicite,
2255% qui est \left(···\right).
2256%
2257% Exemple: $ \pa{ \Int{0}{1} f(t) \dt }^{\f{1}{2}} $
2258%
2259% Attention, il ne faut pas utiliser cette macro dans les deux cas suivants:
2260%
2261% * Autour d'une lettre seule, comme dans $f\pa(x)$: l'espace après
2262%   le $f$ ne serait pas bon. Utiliser simplement $f(x)$.
2263%
2264% * Autour d'un vecteur seul, comme dans $\pa{\vect{E}}$. Il est
2265%   normal et souhaitable que la flèche dépasse des parenthèses.
2266%   Utiliser simplement $(\vect{E})$. S'il y a une fraction,
2267%   préférez $ \pa{ \f{1}{2} \vect{E} } $ à
2268%            $ \pa{ \f{\vect{E}}{2} $.
2269%
2270% En résumé, n'utilisez \pa que lorsque vous en avez vraiment besoin, ce qui
2271% n'est pas le cas courant.
2272%
2273% La commande \pa possède une option pour corriger facilement des
2274% parenthèses trop grandes:
2275% \pa[0] supprime les parenthèses
2276% \pa[1] les transforme en parenthèses simples
2277% \pa[2-5] les transforme en parenthèses de plus en plus grandes
2278
2279%\newcommand{\pa}[1]{\ensuremath{\left(#1\right)}}
2280\newcommand{\pa}[2][9]{%
2281        \ifthenelse{#1 = 0}
2282                {\ensuremath{#2}}{}%
2283        \ifthenelse{#1 = 1}
2284                {\ensuremath{(#2)}}{}%
2285        \ifthenelse{#1 = 2}
2286                {\ensuremath{\big(#2\big)}}{}%
2287        \ifthenelse{#1 = 3}
2288                {\ensuremath{\Big(#2\Big)}}{}%
2289        \ifthenelse{#1 = 4}
2290                {\ensuremath{\bigg(#2\bigg)}}{}%
2291        \ifthenelse{#1 = 5}
2292                {\ensuremath{\Bigg(#2\Bigg)}}{}%
2293        \ifthenelse{#1 = 9}
2294                {\ensuremath{\left(#2\right)}}{}%
2295}
2296
2297% Des parenthèses autour d'une fraction (très très pratique !).
2298% Exemple: $ \paf{1}{2} $
2299\newcommand{\paf}[2]{\ensuremath{\left(\f{#1}{#2}\right)}}
2300
2301% Et l'analogue de \tf pour les parenthèses autour d'une fraction:
2302\newcommand{\patf}[2]{\ensuremath{\left({#1}/{#2}\right)}}
2303
2304% On peut aussi vouloir des crochets de la bonne taille plutôt que des
2305% parenthèses (analogue de \pa: mêmes recommandations).
2306% Exemple: $\crochets{ \f{1}{2} x \ln x }$
2307%\newcommand{\crochets}[1]{\ensuremath{\left[#1\right]}}
2308%\newcommand{\pac}[1]{\ensuremath{\crochets{#1}}}               % Synonyme
2309\newcommand{\crochets}[2][9]{%
2310        \ifthenelse{#1 = 0}
2311                {\ensuremath{#2}}{}%
2312        \ifthenelse{#1 = 1}
2313                {\ensuremath{[#2]}}{}%
2314        \ifthenelse{#1 = 2}
2315                {\ensuremath{\big[#2\big]}}{}%
2316        \ifthenelse{#1 = 3}
2317                {\ensuremath{\Big[#2\Big]}}{}%
2318        \ifthenelse{#1 = 4}
2319                {\ensuremath{\bigg[#2\bigg]}}{}%
2320        \ifthenelse{#1 = 5}
2321                {\ensuremath{\Bigg[#2\Bigg]}}{}%
2322        \ifthenelse{#1 = 9}
2323                {\ensuremath{\left[#2\right]}}{}%
2324}
2325\newcommand{\pac}[2][9]{\ensuremath{\crochets[#1]{#2}}}         % Synonyme
2326
2327% Ou pourquoi pas des accolades (analogue de \pa: mêmes recommandations).
2328%\newcommand{\accolades}[1]{\ensuremath{\left\{#1\right\}}}
2329%\newcommand{\paa}[1]{\ensuremath{\accolades{#1}}}              % Synonyme
2330\newcommand{\accolades}[2][9]{%
2331        \ifthenelse{#1 = 0}
2332                {\ensuremath{#2}}{}%
2333        \ifthenelse{#1 = 1}
2334                {\ensuremath{\{#2\}}}{}%
2335        \ifthenelse{#1 = 2}
2336                {\ensuremath{\big\{#2\big\}}}{}%
2337        \ifthenelse{#1 = 3}
2338                {\ensuremath{\Big\{#2\Big\}}}{}%
2339        \ifthenelse{#1 = 4}
2340                {\ensuremath{\bigg\{#2\bigg\}}}{}%
2341        \ifthenelse{#1 = 5}
2342                {\ensuremath{\Bigg\{#2\Bigg\}}}{}%
2343        \ifthenelse{#1 = 9}
2344                {\ensuremath{\left\{#2\right\}}}{}%
2345}
2346\newcommand{\paa}[2][9]{\ensuremath{\accolades[#1]{#2}}}                % Synonyme
2347
2348% Ou encore des barres pour les valeurs absolues (analogue de \pa: mêmes
2349% recommandations).
2350%\newcommand{\abs}[1]{\ensuremath{\left|#1\right|}}
2351\newcommand{\abs}[2][9]{%
2352        \ifthenelse{#1 = 0}
2353                {\ensuremath{#2}}{}%
2354        \ifthenelse{#1 = 1}
2355                {\ensuremath{|#2|}}{}%
2356        \ifthenelse{#1 = 2}
2357                {\ensuremath{\big|#2\big|}}{}%
2358        \ifthenelse{#1 = 3}
2359                {\ensuremath{\Big|#2\Big|}}{}%
2360        \ifthenelse{#1 = 4}
2361                {\ensuremath{\bigg|#2\bigg|}}{}%
2362        \ifthenelse{#1 = 5}
2363                {\ensuremath{\Bigg|#2\Bigg|}}{}%
2364        \ifthenelse{#1 = 9}
2365                {\ensuremath{\left|#2\right|}}{}%
2366}
2367
2368% Pour virer des parenthèses quand on corrige un fichier.
2369\newcommand{\nopa}[1]{\ensuremath{#1}}
2370
2371% Pour transformer \pa en parenthèses simples.
2372\newcommand{\cpa}[1]{\ensuremath{(#1)}}
2373
2374%!!!!!!!!!!!!!!!                                        !!!!!!!!!!!!!!!
2375%!!!!!!!!!!!!!!!   Quelques conventions et raccourcis   !!!!!!!!!!!!!!!
2376%!!!!!!!!!!!!!!!                                        !!!!!!!!!!!!!!!
2377
2378% Les constantes.
2379\newcommand{\cte}{\ensuremath{C^{\mbox{\scriptsize{te}}}}}
2380\newcommand{\Cte}{\cte}                                         % Synonyme
2381
2382% La force électromotrice.
2383\newcommand{\fem}{f.é.m.\xspace}
2384
2385% L'amplificateur opérationnel.
2386\newcommand{\AO}{AO\xspace}
2387
2388% La fonction indicatrice.
2389\newcommand{\indicatrice}{\ensuremath{\mathds{1}}}
2390
2391% Les espaces de séparation pour les milliers.
2392% Exemple:
2393% $\nombre{1234567}$ a le même effet que $1\,234\,567$.
2394\makeatletter
2395\def\f@thousandsep{\ifmmode\mskip3mu\else\penalty\@M\kern.3em\fi}
2396\makeatother
2397\newcommand{\nb}[1]{\nombre{#1}}
2398
2399% « Grand O » et « petit o » sont dans un bateau.
2400%
2401% Exemples:
2402%       En 0, $\sin x = x + \petito(x)$.
2403%
2404%       $f(x) = x + \petito[x\to0](x)$.
2405%
2406% La première forme est celle recommandée, mais lorsque le contexte est
2407% flou, on peut utiliser l'argument optionnel pour préciser comment il faut
2408% entendre le « o ».
2409%
2410% Dans tous les cas, n'écrivez pas « x \to 0 » sous un signe égal.
2411
2412%\newcommand{\petito}[1][]{\ensuremath{\underset{#1}{\text{o}}}}
2413%\newcommand{\grando}[1][]{\ensuremath{\underset{#1}{\text{O}}}}
2414
2415\newcommand{\petito}[1][]{%
2416    \ifthenelse{%
2417        \equal{#1}{}%
2418    }{%
2419        \ensuremath{\text{o}}%
2420    }{%
2421        \ensuremath{\underset{#1}{\text{o}}}%
2422    }%
2423}
2424
2425\newcommand{\grando}[1][]{%
2426    \ifthenelse{%
2427        \equal{#1}{}%
2428    }{%
2429        \ensuremath{\text{O}}%
2430    }{%
2431        \ensuremath{\underset{#1}{\text{O}}}%
2432    }%
2433}
2434
2435% Les deux commandes suivantes sont obsolètes; elles ne sont laissées que pour
2436% la compatibilité ascendante. Veuillez ne pas les utiliser.
2437\newcommand{\pto}[1]{\ensuremath{\text{o}\left ( #1 \right )}}
2438\newcommand{\gdo}[1]{\ensuremath{O\left ( #1 \right )}}
2439
2440% La probabilité d'un événement.
2441% Exemple: $ \proba{X} $
2442\newcommand{\proba}[1]{\ensuremath{\text{Pr}\left(#1\right)}}
2443
2444% Les chapeaux et les tildes doivent avoir une bonne taille pour être bien
2445% visibles et éviter ainsi les confusions.
2446\renewcommand{\hat}[1]{\ensuremath{\widehat{#1}}}
2447\renewcommand{\tilde}[1]{\ensuremath{\widetilde{#1}}}
2448
2449% Dessiner un arrondi au-dessus d'un groupe de lettres, disons 'AB',
2450% pour signifier que l'on considère un arc de cercle d'extrémités A et B.
2451% Exemple: \arcdecercle{AB}
2452
2453\newlength{\longueurarcdecercle}
2454\newcommand{\arcdecercle}[1]{\ensuremath{%
2455    \settowidth{\longueurarcdecercle}{\ensuremath{#1}}%
2456    \overset{%
2457        \mbox{%
2458                \resizebox{\longueurarcdecercle}{4pt}{%
2459                        \rotatebox{90}{\ensuremath{\hskip-1pt)}}%
2460                }%
2461        }%
2462    }{#1}%
2463}}
2464
2465% Plus et moins l'infini.
2466%
2467% Lorsque l'on écrit $+\infty$, le plus est trop gros. On fait la même
2468% remarque avec $-\infty$. Pour contourner ce problème, vous pouvez utiliser
2469% des macros spécifiques à ces cas-là.
2470%
2471% Exemple: $ \sqrt{n} \tvn \pinf $
2472%
2473% Attention, n'utilisez jamais \plus et \moins dans vos corrigés.
2474% Ces macros n'existent que pour définir \pinf et \minf et quelques autres
2475% bidouilles comme \Rplus.
2476% Ne les utilisez pas à la place de + et - dans les opérations courantes !
2477
2478\newcommand{\plus}{\mbox{\protect\raisebox{.2mm}{\tiny{\ensuremath{+}}}}}
2479\newcommand{\moins}{\mbox{\protect\raisebox{.2mm}{\tiny{\ensuremath{-}}}}}
2480\newcommand{\pinf}{\plus\ensuremath{\infty}}
2481\newcommand{\minf}{\moins\ensuremath{\infty}}
2482
2483% Le « plus ou moins » (\pm) de LaTeX est vraiment trop laid.
2484\newlength{\pmlength} 
2485\settowidth{\pmlength}{{\scriptsize$+$}}
2486\newlength{\pmsmalllength}
2487\settowidth{\pmsmalllength}{{\tiny$+$}}
2488%\renewcommand{\pm}{%
2489%        \mathop{\raisebox{0.8mm}{{\scriptsize\ensuremath{+}}}%
2490%        \hskip-\pmlength%
2491%        \raisebox{-0.4mm}{{\scriptsize\ensuremath{-}}}}%
2492%}
2493\renewcommand{\pm}{%
2494    \mathchoice{%
2495            \mathop{\raisebox{0.528ex}{{\scriptsize\ensuremath{+}}}%
2496            \hskip-\pmlength%
2497            \raisebox{-0.264ex}{{\scriptsize\ensuremath{-}}}}%
2498    }{%
2499            \mathop{\raisebox{0.528ex}{{\scriptsize\ensuremath{+}}}%
2500            \hskip-\pmlength%
2501            \raisebox{-0.264ex}{{\scriptsize\ensuremath{-}}}}%
2502    }{%
2503            \mathop{\raisebox{0.528ex}{{\tiny\ensuremath{+}}}%
2504            \hskip-\pmsmalllength\hskip-0.035ex%
2505            \raisebox{-0.14ex}{{\tiny\ensuremath{-}}}}%
2506    }{%
2507            \mathop{\raisebox{0.528ex}{{\tiny\ensuremath{+}}}%
2508            \hskip-\pmsmalllength\hskip-0.035ex%
2509            \raisebox{-0.14ex}{{\tiny\ensuremath{-}}}}%
2510    }
2511}
2512
2513% La commande \pm précédente ne passe pas bien en \mathgras... En voici
2514% une version spécialement prévue dans ce cas.
2515\newlength{\pmgraslength} 
2516\settowidth{\pmgraslength}{{\scriptsize\ensuremath{\mathgras{$+$}}}}
2517\newlength{\pmgrassmalllength}
2518\settowidth{\pmgrassmalllength}{{\tiny\ensuremath{\mathgras{$+$}}}}
2519%\newcommand{\pmgras}{%
2520%        \mathop{\raisebox{0.8mm}{{\scriptsize\ensuremath{\mathgras{+}}}}%
2521%        \hskip-\pmgraslength%
2522%               \hskip-0.9pt%
2523%        \raisebox{-0.6mm}{{\scriptsize\ensuremath{\mathgras{-}}}}}%
2524%}
2525\newcommand{\pmgras}{%
2526    \mathchoice{%
2527        \mathop{\raisebox{0.528ex}{{\scriptsize\ensuremath{\mathgras{+}}}}%
2528            \hskip-\pmgraslength%
2529            \hskip-0.9pt%
2530        \raisebox{-0.396ex}{{\scriptsize\ensuremath{\mathgras{-}}}}}%
2531    }{%
2532        \mathop{\raisebox{0.528ex}{{\scriptsize\ensuremath{\mathgras{+}}}}%
2533            \hskip-\pmgraslength%
2534            \hskip-0.9pt%
2535        \raisebox{-0.396ex}{{\scriptsize\ensuremath{\mathgras{-}}}}}%
2536    }{%
2537        \mathop{\raisebox{0.528ex}{{\tiny\ensuremath{\mathgras{+}}}}%
2538            \hskip-\pmgrassmalllength%
2539            \hskip-0.739pt%
2540        \raisebox{-0.22ex}{{\tiny\ensuremath{\mathgras{-}}}}}%
2541    }{%
2542        \mathop{\raisebox{0.528ex}{{\tiny\ensuremath{\mathgras{+}}}}%
2543            \hskip-\pmgrassmalllength%
2544            \hskip-0.739pt%
2545        \raisebox{-0.22ex}{{\tiny\ensuremath{\mathgras{-}}}}}%
2546    }
2547}
2548
2549
2550% Idéalement, le « e » de l'exponentielle et le « i » des complexes devraient
2551% être composés en romain (« droit »). Ceci est facultatif dans les Annales,
2552% parce que la composition est rendue moins intuitive.
2553% Toutefois, pour simplifier la composition des auteurs qui souhaitent suivre
2554% cette louable convention, les commandes suivantes peuvent être utiles.
2555%
2556% Exemples:     La fonction $f \colon x \mapsto \ex{x+1}$ etc.
2557%               La «racine carrée» de $-1$ est notée \ir.
2558%               La racine troisième de l'unité est notée $\jr$.
2559%               $1 + \ir = \sqrt{2} \: \exi{\pi / 4}$.
2560
2561\newcommand{\ir}{\ensuremath{\mathrm{i}}\xspace}        % « i romain »
2562\newcommand{\jr}{\ensuremath{\mathrm{j}}\xspace}        % « j romain »
2563\newcommand{\ex}[1]{\ensuremath{\mathrm{e}^{\,#1}}\xspace}
2564\newcommand{\exi}[1]{\ensuremath{\mathrm{e}^{\,\mathrm{i}\,#1}}\xspace}
2565\newcommand{\exmi}[1]{\ensuremath{\mathrm{e}^{\,-\mathrm{i}\,#1}}\xspace}
2566
2567% Le principe de récurrence est un outil puissant pour résoudre de nombreux
2568% problèmes. Parfois, il suffit de l'invoquer pour conclure: « On en déduit,
2569% par une récurrence immédiate, que tous les chats sont gris. »
2570% Toutefois, dès lors que la récurrence doit être explicitement déroulée, il
2571% faut mettre ses étapes en valeur, avec {itemize} et les commandes
2572% ci-dessous.
2573%
2574% Exemple:
2575%       Montrons que la propriété:
2576%
2577%       \centers{$
2578%               \PP(n): \quad u_n \geq 0
2579%               $}
2580%
2581%       \marge est vraie pour tout $n \geq 0$.
2582%
2583%       \begin{itemize}
2584%
2585%       \item $\recz$ est vraie par hypothèse.
2586%       \item $\rec{n}{n+1}$: blabla
2587%       \item \leftcenters{\underline{Conclusion}:}{$
2588%               \forall n \geq 0    \qquad    u_n \geq 0
2589%               $}
2590%
2591%       \end{itemize}
2592
2593\newcommand{\PP}{\ensuremath{\mathscrchoice{P}}}
2594\newcommand{\QQ}{\ensuremath{\mathscrchoice{Q}}}
2595        % Quand \PP est déjà utilisé, ou pour une famille de polynômes...
2596\newcommand{\rec}[2]{\underline{\ensuremath{\mathscrchoice{P}(#1) \imply%
2597        \mathscrchoice{P}(#2)}}}
2598        % $\rec{n}{n+1}$ <==> \underline{$\PP{n}\imply\PP{n+1}$}
2599\newcommand{\recz}[1][0]{\underline{\ensuremath{\mathscrchoice{P}(#1)}}\xspace}
2600        % L'initialisation de la récurrence.
2601        % On écrit $\recz[2]$ pour partir de $n=2$.
2602        % Si on ne précise pas d'argument optionnel, la valeur 0 est utilisée.
2603
2604% Donner la bonne tête aux symboles courants: sacrés amerloques !
2605\renewcommand{\leq}{\ensuremath{\leqslant}}
2606\renewcommand{\geq}{\ensuremath{\geqslant}}
2607\renewcommand{\le}{\ensuremath{\leq}}                           % Synonyme
2608\renewcommand{\ge}{\ensuremath{\geq}}                           % Synonyme
2609\renewcommand{\epsilon}{\ensuremath{\varepsilon}}
2610\newcommand{\eps}{\epsilon}
2611\renewcommand{\setminus}{\smallsetminus}        % $\R \setminus \Q$
2612%\newcommand{\bs}{\ensuremath{\backslash}}      % Quand \setminus est trop petit
2613\newcommand{\bs}{\texttt{\symbol{92}}}
2614
2615
2616% \phi et \varphi.
2617% Neuf fois sur dix, c'est \varphi que l'on veut dessiner, ce qui mérite un
2618% raccourci.
2619\newcommand{\ph}{\ensuremath{\varphi}}
2620
2621% Une moyenne bien présentée.
2622% Exemple: $ \moyenne{ \vectE } $
2623%\newcommand{\moyenne}[1]{\ensuremath{\left\langle#1\right\rangle}}
2624\newcommand{\moyenne}[2][9]{%
2625        \ifthenelse{#1 = 0}
2626                {\ensuremath{#2}}{}%
2627        \ifthenelse{#1 = 1}
2628                {\ensuremath{\langle#2\rangle}}{}%
2629        \ifthenelse{#1 = 2}
2630                {\ensuremath{\big\langle#2\big\rangle}}{}%
2631        \ifthenelse{#1 = 3}
2632                {\ensuremath{\Big\langle#2\Big\rangle}}{}%
2633        \ifthenelse{#1 = 4}
2634                {\ensuremath{\bigg\langle#2\bigg\rangle}}{}%
2635        \ifthenelse{#1 = 5}
2636                {\ensuremath{\Bigg\langle#2\Bigg\rangle}}{}%
2637        \ifthenelse{#1 = 9}
2638                {\ensuremath{\left\langle#2\right\rangle}}{}%
2639}
2640
2641% Pour placer une conjonction entre deux termes dans une formule centrée.
2642\newcommand{\qetq}{\quad\text{et}\quad\null}
2643\newcommand{\qqetqq}{\qquad\text{et}\qquad\null}
2644\newcommand{\qcarq}{\quad\text{car}\quad\null}
2645\newcommand{\qqcarqq}{\qquad\text{car}\qquad\null}
2646\newcommand{\qavecq}{\quad\text{avec}\quad\null}
2647\newcommand{\qqavecqq}{\qquad\text{avec}\qquad\null}
2648
2649% Lorsque l'on définit une fonction, on a besoin de:
2650%       * son nom
2651%       * l'ensemble de départ
2652%       * l'ensemble d'arrivée
2653%       * le nom de la variable
2654%       * l'expression de la fonction
2655% On veut alors obtenir un tableau dont la première ligne concerne les
2656% ensembles, la deuxième les transformations de la variable, une accolade
2657% à gauche et le nom de la variable devant. C'est ce que fait \fonction.
2658%
2659% Exemple: $ \fonction{f}{ \R }{ \Z }{ x }{ \partieentiere{x} } $
2660
2661\newcommand{\fonction}[5]{%
2662        \ensuremath{#1\colon
2663        \left\{\hskip -1.5 mm
2664        \begin{array}{c@{\ }c@{\ }l}
2665        \medskip #2 & \longrightarrow & #3 \\
2666        #4 & \longmapsto & #5 \\
2667        \end{array}
2668        \right .
2669        }}
2670
2671% Pour dessiner la restriction d'une fonction à un ensemble, la coutume est
2672% de placer le nom de la fonction, une barre verticale et en indice,
2673% l'ensemble dans lequel on fait vivre la restriction. C'est l'objet de cette
2674% commande.
2675%
2676% Exemple: $ \rest{f}{ \Z } $
2677
2678\newlength{\restsubwidth}
2679\newlength{\restsubheight}
2680\newlength{\restsubmoreheight}
2681\setlength{\restsubmoreheight}{4 pt}
2682\newcommand{\rest}[2]{%
2683        \settowidth{\restsubwidth}{\ensuremath{#2}}
2684        \settoheight{\restsubheight}{\ensuremath{{}_{#2}}}
2685        \ensuremath{{#1\hskip 0.5 pt}_{\vrule\kern2pt\parbox[b][%
2686        \the\restsubheight +
2687                \the\restsubmoreheight][b]{\the\restsubwidth}{%
2688                        \ensuremath{{}_{#2}}}}}
2689        }
2690
2691% Les combinaisons peuvent être notées à la française ou à l'anglaise.
2692% Le mérite de cette dernière apparaît lorsque les arguments sont trop
2693% grands pour une simple lettre C.
2694%
2695% Rappel: à la française, on indique le 'n' (nombre total d'éléments) en bas
2696% et le 'p' (nombre d'éléments à choisir) en haut. À l'anglaise, c'est
2697% l'inverse.
2698%
2699% Exemple: $ \Comb{n}{p} $      À la française
2700%          $ \comb{n}{p} $      À l'anglaise
2701
2702\newcommand{\Comb}[2]{\ensuremath{C_{#1}^{#2}}}
2703\newcommand{\comb}[2]{\ensuremath{\begin{pmatrix}#1\\#2\\\end{pmatrix}}}
2704
2705% La partie entière peut être écrite à l'américaine plutôt qu'avec
2706% l'énigmatique fonction 'E'. C'est efficace...
2707\newcommand{\partieentiere}[1]{\ensuremath{\left\lfloor#1\right\rfloor}}
2708\newcommand{\partieentieresup}[1]{\ensuremath{\left\lceil#1\right\rceil}}
2709
2710%!!!!!!!!!!!!!!!!!                                    !!!!!!!!!!!!!!!!!
2711%!!!!!!!!!!!!!!!!!   Intégrales, sommes et produits   !!!!!!!!!!!!!!!!!
2712%!!!!!!!!!!!!!!!!!                                    !!!!!!!!!!!!!!!!!
2713
2714% À la main, on dessine toujours des intégrales ayant la même taille.
2715% Dans l'édition française, c'est assez standard; ce sont les anglo-saxons
2716% qui adaptent la taille de leurs intégrales au contexte (leurs intégrales
2717% sont plus petites dans le texte). Pour avoir toujours une intégrale de
2718% taille standard, on dispose de la commande \Int, qui prend deux arguments:
2719% ses bornes.
2720%
2721% Exemple: $ \Int{0}{\f \pi 2} \sin t \dt $
2722%
2723% Exemple: $ \Int{}{} \ln t \dt $
2724%
2725% Attention, il ne faut jamais utiliser \int dans les Annales.
2726
2727\newcommand{\Int}[2]{\ensuremath{\mathchoice%
2728        {{\displaystyle\int_{#1}^{#2}}}
2729        {{\displaystyle\int_{#1}^{#2}}}
2730        {\int_{#1}^{#2}}
2731        {\int_{#1}^{#2}}
2732        }}
2733
2734% Les éléments différentiels.
2735%
2736% Ils doivent être composés avec un 'd' droit. On dispose pour cela de la
2737% commande \dd.
2738%
2739% Exemple: $ \dd x $
2740%
2741% Cette commande convient parfaitement à une dérivée temporelle, par exemple.
2742%
2743% Exemple: $ \f{\dd f}{\dd t} $
2744%
2745% Dans les intégrales, il faut aussi laisser un peu d'espace avant l'élément
2746% différentiel; les commandes suivantes (\dx, \dt, etc.) incluent cet espace.
2747%
2748% Exemple: $ \Int{0}{1} f(t) \dt $
2749%
2750% Attention toutefois, il ne faut pas les utiliser lorsque l'élément
2751% différentiel fait partie d'une fraction. En pareil cas on en revient à '\:'
2752% pour l'espace et à \dd pour le 'd' droit.
2753%
2754% Exemple: $ \Int{0}{1} f(t) \: \f{\dd t}{2} $
2755
2756\newcommand{\dd}{\ensuremath{\mathrm{d}}}
2757\newcommand{\dt}{\ensuremath{\:\dd t}}
2758\newcommand{\dx}{\ensuremath{\:\dd x}}
2759\newcommand{\dy}{\ensuremath{\:\dd y}}
2760\newcommand{\dz}{\ensuremath{\:\dd z}}
2761\newcommand{\du}{\ensuremath{\:\dd u}}
2762\newcommand{\dv}{\ensuremath{\:\dd v}}
2763\newcommand{\dr}{\ensuremath{\:\dd r}}
2764\newcommand{\dS}{\ensuremath{\,\dd\!\vect{S}}}          % Élément de surface
2765\newcommand{\dl}{\ensuremath{\,\dd\!\vect{\ell}}}       % Élément de longueur
2766\newcommand{\dT}{\ensuremath{\:\dd T}}                  % Températures
2767\newcommand{\dtheta}{\ensuremath{\:\dd \theta}}
2768\newcommand{\dphi}{\ensuremath{\:\dd \varphi}}
2769\newcommand{\dtau}{\ensuremath{\:\dd \tau}}
2770\newcommand{\dV}{\ensuremath{\:\dd V}}
2771
2772% Les sommes.
2773%
2774% De même que \Int doit être préférée à \int, \Sum doit être préférée à \sum.
2775% Cette commande dessine un 'sigma' qui est presque toujours de la bonne
2776% taille.
2777%
2778% Exemple:  $ \Sum{k=1}{n} \f{1}{k} = \ln n + \gamma + \petito(1) $
2779%
2780% Pour les séries (« la série 'sigma' u_n converge »), dans lesquelles on ne
2781% précise pas les bornes, l'utilisation de \Sum avec des arguments vides
2782% (c'est-à-dire \Sum{}{}) ne donne pas un bon rendu en mode texte car cette
2783% commande laisse inévitablement un espace vertical au-dessus et en dessous
2784% d'elle. On préfèrera alors la commande \serie, qui est faite pour cela, et
2785% pour cela uniquement.
2786%
2787% Exemple: La série $ \serie u_n $ converge.
2788%
2789% Enfin, bien que ce ne soit pas recommandé par H&K (car cela rend confus la
2790% distinction entre une série et une somme partielle), vous pouvez être amené
2791% à préciser l'indice de sommation dans la série; vous seriez alors tenté
2792% d'écrire quelque chose comme $\Sum{k \geq 0}{} u_k$. L'ennui, c'est que,
2793% comme précédemment, \Sum laissera au-dessus d'elle un espace indésirable.
2794% Vous pouvez l'éliminer grâce à la commande \smash.
2795%
2796% Exemple: La série $\smash[t]{ \Sum{k \geq 0}{} u_k }$ converge.
2797%
2798% Attention, la commande \serie doit être proscrite dès que vous souhaitez
2799% utiliser un indice ou un exposant.
2800
2801\newcommand{\Sum}[2]{\ensuremath{\textstyle{\sum\limits_{#1}^{#2}}}}
2802\newcommand{\serie}{\ensuremath{\smash{\Sum{}{}}}}
2803
2804\newcommand{\Sumt}[2]{\protect\Sumtproto{#1}{#2}}
2805\newcommand{\Sumtproto}[2]{%
2806        \ifthenelse{%
2807                \equal{#1}{}
2808        }{%
2809                \ifthenelse{%
2810                        \equal{#2}{}%
2811                }{%
2812                        \ensuremath{\sum}%
2813                }{%
2814                        \smash[b]{\ensuremath{\sum\limits_{#1}^{#2}}}%
2815                }
2816        }{%
2817                \ensuremath{\sum\limits}_{#1}^{#2}%
2818        }%
2819}
2820
2821% Il y a quelques cas où l'on souhaite dessiner un symbole de sommation plus
2822% grand que la normale, par exemple s'il est suivi d'une intégrale.
2823%
2824% Exemple: $ \SUM{k=1}{n}   \f{1}{k}   \Int{}{} f_n(t) \dt $
2825
2826\newcommand{\SUM}[2]{\ensuremath{{\displaystyle\sum\limits_{#1}^{#2}}}}
2827
2828% Dans la même veine que « \Sum vs \sum » et « \Int vs \int », on peut vouloir
2829% écrire un produit autrement qu'avec \prod (commande prédéfinie), qui ne se
2830% comporte pas comme on l'attend.
2831%
2832% Exemple: $ \Prod{k=1}{n} k = n\,! $
2833
2834\newcommand{\PI}[2]{\ensuremath{%
2835        \mathop{\mbox{\Large\ensuremath{\Pi}}}\limits_{#1}^{#2}}}
2836\newcommand{\Prod}[2]{\PI{#1}{#2}}                      % Synonyme préférable
2837
2838% La commande précédente produit un symbole dont le bas est aligné sur la       
2839% ligne de référence; or, on s'attend d'habitude à ce que les symboles         
2840% mathématiques soient centrés sur cette ligne. Si c'est ce deuxième           
2841% comportement qui est souhaité, c'est la commande suivante qu'il faut         
2842% utiliser.                                                                     
2843                                                                               
2844\newcommand{\Produit}[2]{\ensuremath{\prod\limits_{#1}^{#2}}}
2845
2846%!!!!!!!!!!!!!!!!!!!!!                            !!!!!!!!!!!!!!!!!!!!!
2847%!!!!!!!!!!!!!!!!!!!!!   Limites et équivalents   !!!!!!!!!!!!!!!!!!!!!
2848%!!!!!!!!!!!!!!!!!!!!!                            !!!!!!!!!!!!!!!!!!!!!
2849
2850% Les limites.
2851%
2852% Pour indiquer qu'une variable tend vers une valeur, on peut utiliser \to,
2853% comme dans $ x \to x_0$. Pour indiquer ensuite que f(x) tend vers \ell
2854% lorsque x tend vers x_0, on a envie de représenter une longue flèche portant
2855% en dessous la mention $x \to x_0$.
2856%
2857% Exemple: $ f(x)  \tv{x \to x_0}  \ell $
2858%
2859% Lorsque la variable est $n$ est tend vers l'infini, on a un raccourci.
2860%
2861% Exemples:     $ u_n \tvn \ell $
2862%               $ u_k \tvn[k] \ell $
2863
2864\newcommand{\tv}[1]{\ensuremath{\xrightarrow[#1]{}}}
2865\newcommand{\tvn}[1][n]{\ensuremath{\tv{#1 \to \infty}}}
2866
2867% Indiquer une limite avec « lim » pose un problème car, par défaut, la
2868% commande prédéfinie \lim ne met pas bien en dessous ce que l'on aimerait
2869% qui soit en dessous. On utilise plutôt \limt.
2870%
2871% Exemple: $ \limt_{x \to 0} \f{\sin x}{x} = 1 $
2872\newcommand{\limt}{\ensuremath{\lim\limits}}
2873
2874% De même, on veut pouvoir, au besoin préciser quelque chose comme $x \to 0$
2875% en dessous du symbole « équivalent ».
2876% Exemple: $ \f{\sin x}{x} \Sim_{x \to 0} 1 $
2877\newcommand{\Sim}{\ensuremath{\mathop{\sim}\limits}}
2878
2879%!!!!!!!!!!!!!!!!!!!!!                            !!!!!!!!!!!!!!!!!!!!!
2880%!!!!!!!!!!!!!!!!!!!!!   Ensembles et relations   !!!!!!!!!!!!!!!!!!!!!
2881%!!!!!!!!!!!!!!!!!!!!!                            !!!!!!!!!!!!!!!!!!!!!
2882
2883% Pour l'intersection de deux ensembles, LaTeX fournit la commande \cap, comme
2884% dans $A \cap B$. Pour dessiner l'intersection d'une famille d'ensembles, on
2885% a envie de placer un indice et un exposant; c'est ce que permettent les
2886% commandes \inter et \Inter.
2887%
2888% Exemple: $ \inter{k=1}{n} A_k $
2889%          $ \Inter{k=1}{n} A_k $
2890%
2891% Le premier s'utilise plutôt dans le texte et le deuxième plutôt dans les
2892% formules centrées, mais cela dépend aussi du contexte, c'est-à-dire des
2893% ensembles considérés. \inter peut très bien être utilisé dans une équation
2894% centrée.
2895%
2896% Les remarques et exemples précédents s'appliquent directement à \union et
2897% \Union, qui généralisent la commande prédéfinie \cup (comme dans $A \cup B$).
2898
2899\newcommand{\inter}[2]{\ensuremath{\bigcap\limits_{#1}^{#2}}}
2900\newcommand{\Inter}[2]{\ensuremath{\displaystyle\bigcap_{#1}^{#2}}}
2901\newcommand{\union}[2]{\ensuremath{\bigcup\limits_{#1}^{#2}}}
2902\newcommand{\Union}[2]{\ensuremath{\displaystyle\bigcup_{#1}^{#2}}}
2903
2904% Le complémentaire d'un ensemble (sans préciser l'ensemble de référence)
2905% peut être noté par \compl.
2906% Exemple: $ \compl{A} $
2907\newcommand{\compl}[1]{\ensuremath{\sideset{^{\text{c}}}{}%
2908        {\mathop{#1}\nolimits}}}
2909
2910% Quand on écrit un ensemble en extension, il faut préciser le domaine
2911% d'existence de la variable, en séparant cette précision de ce qui précède
2912% au moyen d'une barre verticale. Il est alors bon de laisser un espace avant
2913% et après cette barre: c'est ce que fait la commande \|.
2914%
2915% Exemple: $ \{ x\in\R    \|    \sin x = 0}    =    \pi\Z $
2916%
2917% Lorsque la hauteur de la barre doit s'adapter à des accolades de grande
2918% taille, on ne peut pas utiliser \|. Il faut alors procéder à la main.
2919%
2920% Exemple:      $\left\{
2921%                       \left. \Sum{k=1}{n} (-1)^k/k \ \right|\
2922%                       n \in \Nstar
2923%               \right\}$
2924%
2925% ce qui peut également s'écrire:
2926%
2927%               $\left\{ \Sum{k=1}{n} (-1)^k/k  \ \right|\
2928%               n \in \Nstar \left.\vphantom{\Sum{k=1}{n}} \right\}$
2929%
2930% On peut aussi utiliser directement le constructeur \Big pour imposer la
2931% taille des délimiteurs.
2932%
2933% Exemple: $\Big\{ \Sum{k=1}{n} (-1)^k/k   \ \Big|\    n \in \Nstar   \Big\} $
2934
2935\renewcommand{\|}{\ensuremath{\:|\:}}   
2936
2937% Les mathématiques utilisent beaucoup les listes, en particulier en algèbre
2938% linéaire, par exemple pour décrire une base. Composer ces listes peut être
2939% automatisé, puisque l'on n'a en général besoin que du nom de la famille
2940% ('e'), et éventuellement des indices de début et de fin, comme dans
2941% (e_1 , ... , e_n).
2942%
2943% Exemples:     
2944%               \liste{x}       -> (x_1,x_2,...,x_n)
2945%               \liste[p]{x}    -> (x_1,x_2,...,x_p)
2946%               \liste*{x}      -> (x_0,x_1,...,x_n)
2947%               \liste*[p]{x}   -> (x_0,x_1,...,x_p)
2948%
2949% Remarque: d'un point de vue sémantique, il serait plus logique d'utiliser
2950% la forme étoilée pour les listes qui commencent à 1, mais comme ce sont
2951% ces dernières qui sont les plus fréquentes, on leur réserve la commande
2952% la plus simple.
2953
2954\makeatletter
2955\newif\if@ListeStar
2956\global\@ListeStartrue
2957
2958\newcommand{\liste}{%
2959        \@ifstar{\global\@ListeStartrue\@liste}%
2960                {\global\@ListeStarfalse\@liste}%
2961}
2962
2963\newcommand{\@liste}[2][n]{%
2964        \if@ListeStar%
2965                \left({#2}_0,{#2}_1,\ldots,{#2}_{#1}\right)%
2966        \else%
2967                \left({#2}_1,{#2}_2,\ldots,{#2}_{#1}\right)%
2968        \fi\@ListeStarfalse%
2969}
2970\makeatother
2971
2972% Les commandes suivantes ne sont gardées que pour la compatibilité
2973% ascendante. Elles sont néanmoins fonctionnelles, mais n'acceptent pas
2974% de forme étoilée.
2975\newcommand{\xlist}[2]{\ensuremath{\left({#1}_1,\ldots,{#1}_{#2}\right)}}
2976\newcommand{\xliste}[2]{\xlist{#1}{#2}}                         % Synonyme
2977\newcommand{\nlist}[1]{\xlist{#1}{n}}
2978\newcommand{\mlist}[1]{\xlist{#1}{m}}
2979\newcommand{\plist}[1]{\xlist{#1}{p}}
2980\newcommand{\rlist}[1]{\xlist{#1}{r}}
2981\newcommand{\nliste}[1]{\nlist{#1}}                             % Synonyme
2982\newcommand{\mliste}[1]{\mlist{#1}}                             % Synonyme
2983\newcommand{\pliste}[1]{\plist{#1}}                             % Synonyme
2984\newcommand{\rliste}[1]{\rlist{#1}}                             % Synonyme
2985
2986% Les deux grandes manières utilisées en prépa pour noter les suites sont de
2987% la forme $(u_n)$ et $(u_n)_{n\in\N}$. La première (sans les indices) est
2988% généralement préférable, tant que le contexte permet de lever toute
2989% ambiguïté sur ce qui serait en indice dans la notation complète.
2990% Toutefois, il est parfois utile de préciser les indices, par exemple dans
2991% les résultats encadrés. On pourra alors soit composer les indices
2992% « à la main », soit avec la commande \suite.
2993%
2994% Exemples:     \suite{u}       -> (u_n)_{n\in\N}
2995%               \suite*{u}      -> (u_n)_{n\in\N^*}
2996%               \suite[k]{u}    -> (u_k)_{k\in\N}
2997%               \suite*[k]{u}   -> (u_k)_{k\in\N^*}
2998
2999\makeatletter
3000\newif\if@SuiteStar
3001\global\@SuiteStartrue
3002
3003\newcommand{\suite}{%
3004        \@ifstar{\global\@SuiteStartrue\@suite}%
3005                {\global\@SuiteStarfalse\@suite}%
3006}
3007
3008\newcommand{\@suite}[2][n]{%
3009        \if@SuiteStar%
3010                \left(#2_{#1}\right)_{#1\in\N^*}%
3011        \else%
3012                \left(#2_{#1}\right)_{#1\in\N}%
3013        \fi\@SuiteStarfalse%
3014}
3015\makeatother
3016
3017
3018%% Quelques ensembles classiques.
3019
3020% On n'utilise pas cette commande, elle pose problème avec le \xspace: \N*
3021% renvoie N* et non N^*.
3022
3023% La commande \mathBB est proposée par Paul; elle est construite sur la base
3024% de la commande usuelle \mathbb, mais pour obtenir la version étoilée
3025% (« R étoile »), il suffit de placer une étoile après le symbole, sans
3026% chapeau.
3027% Exemple:      \N*     est équivalent à \mathbb{N}^{*}
3028
3029\makeatletter
3030\newif\if@laststared
3031\global\@laststaredtrue
3032\newcommand{\mathBB}[1]{%
3033        \@ifstar%
3034        {\global\@laststaredtrue\m@thBB{#1}}%
3035        {\global\@laststaredfalse\m@thBB{#1}}%
3036}
3037\newcommand{\m@thBB}[1]{%
3038        \if@laststared{\ensuremath{%
3039                {\ifgras\pmb{\mathbb{#1}^{*}}\else\mathbb{#1}^{*}\fi}}\xspace}%
3040        \else{\ensuremath{%
3041                {\ifgras\pmb{\mathbb{#1}}\else\mathbb{#1}\fi}}\xspace}%
3042        \fi%
3043        \@laststaredfalse%
3044}
3045\makeatother
3046
3047\renewcommand{\emptyset}{\ensuremath{\varnothing}\xspace}       % L'ensemble vide
3048
3049\makeatletter
3050%\newcommand{\N}{\ensuremath{\mathBB{N}}\xspace}        % Entiers
3051\newcommand{\N}{%
3052    \@ifnextchar*%
3053        {\ensuremath{\mathBB{N}}}%
3054        {\ensuremath{\mathbb{N}}\xspace}
3055}
3056%\newcommand{\Z}{\ensuremath{\mathBB{Z}}\xspace}        % Entiers relatifs
3057\newcommand{\Z}{%
3058    \@ifnextchar*%
3059        {\ensuremath{\mathBB{Z}}}%
3060        {\ensuremath{\mathbb{Z}}\xspace}
3061}
3062%\newcommand{\Q}{\ensuremath{\mathBB{Q}}\xspace}        % Rationnels
3063\newcommand{\Q}{%
3064    \@ifnextchar*%
3065        {\ensuremath{\mathBB{Q}}}%
3066        {\ensuremath{\mathbb{Q}}\xspace}
3067}
3068%\newcommand{\R}{\ensuremath{\mathBB{R}}\xspace}        % Réels
3069\newcommand{\R}{%
3070    \@ifnextchar*%
3071        {\ensuremath{\mathBB{R}}}%
3072        {\ensuremath{\mathbb{R}}\xspace}
3073}
3074%\newcommand{\C}{\ensuremath{\mathBB{C}}\xspace}        % Complexes
3075\newcommand{\C}{%
3076    \@ifnextchar*%
3077        {\ensuremath{\mathBB{C}}}%
3078        {\ensuremath{\mathbb{C}}\xspace}
3079}
3080\newcommand{\Nstar}{\ensuremath{\N*}\xspace}
3081\newcommand{\Zstar}{\ensuremath{\Z*}\xspace}
3082\newcommand{\Zdeux}{\ensuremath{\Z^2}\xspace}
3083\newcommand{\Ztrois}{\ensuremath{\Z^3}\xspace}
3084\newcommand{\Qstar}{\ensuremath{\Q*}\xspace}
3085\newcommand{\Rstar}{\ensuremath{\R*}\xspace}
3086\newcommand{\Rdeux}{\ensuremath{\R^2}\xspace}
3087\newcommand{\Rtrois}{\ensuremath{\R^3}\xspace}
3088\newcommand{\Cstar}{\ensuremath{\C*}\xspace}
3089\newcommand{\Cdeux}{\ensuremath{\C^2}\xspace}
3090\newcommand{\Ctrois}{\ensuremath{\C^3}\xspace}
3091\newcommand{\Rplus}{\ensuremath{\R_{\plus}}\xspace}
3092\newcommand{\Rmoins}{\ensuremath{\R_{\moins}}\xspace}
3093\newcommand{\Rplusstar}{\ensuremath{\Rplus^*}\xspace}
3094\newcommand{\Rmoinsstar}{\ensuremath{\Rmoins^*}\xspace}
3095\newcommand{\Rplusetoile}{\ensuremath{\Rplusstar}\xspace}
3096\newcommand{\Rmoinsetoile}{\ensuremath{\Rmoinsstar}\xspace}
3097
3098% Les nombres complexes de module 1 (Groupe Unimodulaire)
3099%\newcommand{\GU}{\mathBB{U}}
3100\newcommand{\GU}{%
3101    \@ifnextchar*%
3102        {\ensuremath{\mathBB{U}}}%
3103        {\ensuremath{\mathbb{U}}\xspace}
3104}
3105
3106% Un corps quelconque.
3107%\newcommand{\K}{\mathBB{K}}
3108\newcommand{\K}{%
3109    \@ifnextchar*%
3110        {\ensuremath{\mathBB{K}}}%
3111        {\ensuremath{\mathbb{K}}\xspace}
3112}
3113\newcommand{\corps}{\K}                 % Synonyme
3114
3115% Les anneaux cycliques.
3116\newcommand{\ZZ}[1][\ensuremath{n}]{\ensuremath{\mathBB{Z}/#1\mathBB{Z}}}
3117
3118    % \ZZ[n] --> Z/nZ
3119    % \ZZ[2] --> Z/2Z
3120    % \ZZ    --> Z/nZ
3121\newcommand{\zpz}{\ensuremath{\ZZ[p]}}
3122\newcommand{\znz}{\ensuremath{\ZZ[n]}}
3123\newcommand{\zpzstar}{\ensuremath{\zpz^*}}
3124
3125% Les anneaux de polynômes.
3126% Exemple: $ P \in \CX    \implique    P \in \RX $
3127\newcommand{\RX}{\ensuremath{\mathBB{R}[X]}}
3128\newcommand{\CX}{\ensuremath{\mathBB{C}[X]}}
3129\newcommand{\zpzx}{\ensuremath{\zpz[X]}}
3130
3131% Le groupe symétrique.
3132%\newcommand{\sym}{\ensuremath{\mathBB{S}}}         % Au choix
3133\newcommand{\sym}{%
3134    \@ifnextchar*%
3135        {\ensuremath{\mathBB{S}}}%
3136        {\ensuremath{\mathbb{S}}\xspace}
3137}
3138\newcommand{\GS}{\ensuremath{\mathfrak{S}}}         % Au choix
3139\newcommand{\SG}{\ensuremath{\mathfrak{S}}}         % Synonyme
3140
3141% Une notation affreuse parfois rencontrée pour l'ensemble des nombres
3142% premiers.
3143%\renewcommand{\P}{\ensuremath{\mathBB{P}}}
3144\renewcommand{\P}{%
3145    \@ifnextchar*%
3146        {\ensuremath{\mathBB{P}}}%
3147        {\ensuremath{\mathbb{P}}\xspace}
3148}
3149\makeatother
3150
3151% L'anneau des matrices.
3152% Exemple: $ A \in \M_n(\R) $
3153\newcommand{\M}{\ensuremath{\mathscrchoice{M}}}
3154
3155%% Des symboles d'ensemble avec des lettres rondes.
3156
3157\DeclareSymbolFont{rsfs}{U}{rsfs}{m}{n}
3158\DeclareSymbolFontAlphabet{\tmpmathscr}{rsfs}
3159\newcommand{\mathscrchoice}[1]{%
3160        \ifgras\pmb{\tmpmathscr{#1}}\else\tmpmathscr{#1}\fi}
3161
3162\newcommand{\aire}{\ensuremath{\mathcal{A}}\xspace}
3163\newcommand{\alphabet}{\ensuremath{\mathcal{A}}\xspace}
3164\newcommand{\arbre}{\ensuremath{\mathcal{A}}\xspace}
3165\newcommand{\base}{\ensuremath{\mathscrchoice{B}}\xspace}
3166\newcommand{\courbe}{\ensuremath{\mathscrchoice{C}}\xspace}
3167\newcommand{\cercle}{\ensuremath{\mathscrchoice{C}}\xspace}
3168\newcommand{\Cun}{\ensuremath{\mathscrchoice{C}^1}\xspace}      % $f$ est de classe \Cun
3169\newcommand{\Cinfini}{\ensuremath{\mathscrchoice{C}^{\infty}}\xspace}
3170\newcommand{\classe}{\ensuremath{\mathscrchoice{C}}\xspace}     % $f$ est de classe $\classe^4$
3171\newcommand{\courbef}{\ensuremath{\mathscrchoice{C}_f}\xspace} % La courbe représentative
3172\newcommand{\domaine}{\ensuremath{\mathscrchoice{D}}\xspace}
3173\newcommand{\droite}{\ensuremath{\mathscrchoice{D}}\xspace}
3174\newcommand{\Def}{\ensuremath{\mathscrchoice{D}}\xspace}        % \def est réservé par TeX
3175\newcommand{\deff}{\ensuremath{\mathscrchoice{D}_f}\xspace}     % $ \deff = \intoo{0}{1} $
3176\newcommand{\ens}{\ensuremath{\mathscrchoice{E}}\xspace}        % Un ensemble
3177\newcommand{\G}{\ensuremath{\mathscrchoice{G}}\xspace}  % La constante de gravitation
3178\newcommand{\Lin}{\ensuremath{\mathscrchoice{L}}\xspace}        % $ u \in \Lin(E,F) $
3179\newcommand{\mixte}{\ensuremath{\mathscrchoice{M}}\xspace}      % Le produit mixte
3180\newcommand{\plan}{\ensuremath{\mathscrchoice{P}}\xspace}
3181\newcommand{\II}{\ensuremath{\mathscrchoice{I}}\xspace} % Pour les idéaux
3182\newcommand{\solset}{\ensuremath{\mathscrchoice{S}}\xspace}     % Ensemble des solutions
3183\newcommand{\volume}{\ensuremath{\mathscrchoice{V}}\xspace}  % Volumes
3184
3185% Des droites parallèles.
3186% Exemple: $\droite_1 \parallele \droite_2$
3187\newcommand{\parallele}{{\ensuremath{/ \hskip -1mm /}}}
3188\renewcommand{\parallel}{\parallele}
3189
3190% Les intervalles.
3191%
3192% Bien composer un intervalle n'est pas facile: il faut adapter la taille des
3193% crochets et bien espacer le délimiteur central, qui doit être un
3194% point-virgule. On dispose de commandes qui prennent tout cela en charge.
3195% On précise si les intervalles sont Ouverts ou Fermés à gauche et à droite,
3196% puis les valeurs des bornes.
3197%
3198% Exemple:      \intff{0}{1}    <==>    [0;1]
3199%               \intof{0}{1}    <==>    ]0;1]
3200%               \intfo{0}{1}    <==>    [0;1[
3201%               \intoo{0}{1}    <==>    ]0;1[
3202%
3203% Si le membre de gauche (resp. de droite) est omis, il est remplacé par
3204% -\infty (resp. +\infty).
3205%
3206% Pour les intervalles d'entiers, on peut ajouter une barre verticale dans les
3207% crochets, et les bornes doivent alors être incluses dans l'ensemble. La
3208% taille de ces crochets modifiés ne dépend pas des arguments; en cas de
3209% besoin, utiliser la notation ensembliste.
3210%
3211% Exemple: $ \forall k \in \intn{0}{n-1}    \quad    |u_k| < 1 $
3212
3213\newcommand{\TestGauche}[1]{\ifthenelse{\equal{#1}{}}{\minf}{#1}}
3214\newcommand{\TestDroite}[1]{\ifthenelse{\equal{#1}{}}{\pinf}{#1}}
3215\newcommand{\intff}[2]{\ensuremath{\left [ \, \protect\TestGauche{#1} \,;%
3216        \protect\TestDroite{#2} \, \right ] }}
3217\newcommand{\intof}[2]{\ensuremath{\left ] \, \protect\TestGauche{#1} \,;%
3218        \protect\TestDroite{#2} \, \right ] }}
3219\newcommand{\intfo}[2]{\ensuremath{\left [ \, \protect\TestGauche{#1} \,;%
3220        \protect\TestDroite{#2} \, \right [ }}
3221\newcommand{\intoo}[2]{\ensuremath{\left ] \, \protect\TestGauche{#1} \,;%
3222        \protect\TestDroite{#2} \, \right [ }}
3223
3224%\newcommand{\intff}[2]{\ensuremath{\left [ \, #1 \,; #2 \, \right ] }}
3225%\newcommand{\intfo}[2]{\ensuremath{\left [ \, #1 \,; #2 \, \right [ }}
3226%\newcommand{\intof}[2]{\ensuremath{\left ] \, #1 \,; #2 \, \right ] }}
3227%\newcommand{\intoo}[2]{\ensuremath{\left ] \, #1 \,; #2 \, \right [ }}
3228
3229\newcommand{\intn}[2]{\ensuremath{[\![ \, #1 \,;\, #2 \,]\!]}}
3230\newcommand{\intnn}[2]{\intn{#1}{#2}}                           % Synonyme
3231
3232% L'intérieur d'un ensemble est noté avec \ronde ou \interieur.
3233% Exemple: $ \ronde{A} $
3234%\newcommand{\ronde}[1]{\ensuremath{\overset{\circ}{#1}}}
3235\newcommand{\ronde}[1]{\ensuremath{\mathring{#1}}}
3236\newcommand{\interieur}[1]{\ronde{#1}}                          % Synonyme
3237% Une alternative pour les ensembles notés par une lettre minuscule:
3238% \mathaccent0023{a}
3239
3240%!!!!!!!!!!!!!!!!!!!!!!!!!!                  !!!!!!!!!!!!!!!!!!!!!!!!!!
3241%!!!!!!!!!!!!!!!!!!!!!!!!!!   Numérotation   !!!!!!!!!!!!!!!!!!!!!!!!!!
3242%!!!!!!!!!!!!!!!!!!!!!!!!!!                  !!!!!!!!!!!!!!!!!!!!!!!!!!
3243
3244% Il peut être très utile de numéroter une équation pour y faire aisément
3245% référence ensuite, soit explicitement avec les commandes ci-dessous, soit
3246% avec la commande \centersnumero (décrite juste après).
3247%
3248% Exemple : \leftcentersright{par suite}{$
3249%               f = g² + h²
3250%               $}{\deux}.
3251%
3252% La commande de base est \numero; elle accepte un argument.
3253%
3254% Exemple: $ \numero{17} $
3255%
3256% Pour faire simple, des raccourcis qui utilisent cette macro sont déjà prévus
3257% (\un <==> \numero{1}).
3258
3259\newcommand{\numero}[1]{\ensuremath{\mathbf{(#1)}}\xspace}
3260\newcommand{\un}{\numero{1}}
3261\newcommand{\deux}{\numero{2}}
3262\newcommand{\trois}{\numero{3}}
3263\newcommand{\quatre}{\numero{4}} 
3264\newcommand{\cinq}{\numero{5}}   
3265\newcommand{\E}{\numero{E}}
3266\newcommand{\F}{\numero{F}}
3267\newcommand{\Star}{\ensuremath{(\mathgras{*})}\xspace}
3268\newcommand{\sys}{\numero{S}}
3269
3270% Les commandes à base de \numero, pour simples et pratiques qu'elles soient,
3271% posent un problème lorsque les équations sont nombreuses car les relectures
3272% scientifiques viendront peut-être tout chambouler. Il peut dont être
3273% pratique d'utiliser une numérotation automatique.
3274%
3275% Dans une copie, ceci est toujours fait en mettant un numéro à droite d'une
3276% équation centrée. C'est ce que font les commandes ci-dessous, en étendant
3277% les commandes comme \centers et en reprenant les mêmes idées que dans les
3278% \label et \ref de LaTeX.
3279%
3280% Exemple: \centersnumero{$f=g$}{petit:nom}
3281%       (···)
3282%       Or, d'après l'équation \numeroref{petit:nom}, blablabla.
3283%
3284% Exemple: \leftcentersnumero{d'où}{$f=g$}{deuxieme:nom}
3285%       (···)
3286%       Or, d'après l'équation \numeroref{deuxieme:equation}, blablabla.
3287%
3288% Notez que l'on ne peut pas utiliser d'accent dans le petit nom que l'on
3289% affecte ('petit:nom' ou 'deuxieme:nom').
3290
3291\newcommand{\centersnumero}[3][2]{%
3292        \refstepcounter{Equation}%
3293        \centersright[#1]{#2}{\numero{\theEquation}\label{\theCorrige:#3}}%
3294        }
3295\newcommand{\leftcentersnumero}[4][2]{%
3296        \refstepcounter{Equation}%
3297        \leftcentersright[#1]{#2}{#3}{%
3298                \numero{\theEquation}\label{\theCorrige:#4}%
3299        }%
3300}
3301\newcommand{\encadrenumero}[3][2]{%
3302    \refstepcounter{Equation}%
3303    \encadreright[#1]{#2}{\numero{\theEquation}\label{\theCorrige:#3}}%
3304    }
3305\newcommand{\leftencadrenumero}[4][2]{%
3306    \refstepcounter{Equation}%
3307    \leftencadreright[#1]{#2}{#3}{%
3308        \numero{\theEquation}\label{\theCorrige:#4}%
3309    }%
3310}
3311\newcommand{\numeroref}[1]{\numero{\ref{\theCorrige:#1}}}
3312
3313
3314%!!!!!!!!!!!!!!!!!!!!                              !!!!!!!!!!!!!!!!!!!!
3315%!!!!!!!!!!!!!!!!!!!!   Logique et mathématiques   !!!!!!!!!!!!!!!!!!!!
3316%!!!!!!!!!!!!!!!!!!!!                              !!!!!!!!!!!!!!!!!!!!
3317
3318% Les symboles qui peuvent être utiles à tout le monde sont \implique et \eq.
3319% Exemple: $ \PP(n)    \implique    \PP(n+1) $
3320% Exemple: On a montré $(i) \implique (ii)$ et $(ii) \implique (i)$,
3321%          donc $(i) \eq (ii)$.
3322\newcommand{\implique}{\ensuremath{\Longrightarrow}}
3323\newcommand{\imply}{\implique}                                  % Synonyme
3324\newcommand{\eq}{\ensuremath{\Longleftrightarrow}}
3325\newcommand{\SSI}{\ensuremath{\Longleftrightarrow}}             % Synonyme
3326
3327% « Être en relation avec » se note « A \mathscrchoice{R} B ».
3328% Exemple: $ A \relation B $
3329\newcommand{\relation}{\ensuremath{\mathscrchoice{R}}}
3330
3331% Enfin, les symboles logiques classiques sont utiles pour les épreuves
3332% d'informatique. Partout ailleurs, il faut leur préférer les expressions
3333% rédigées complètes, en particulier dans les ensembles.
3334% Exemple: $ A \implique B    \qquad \eq \qquad    \non B \ou A $
3335% Exemple: $ \{ \pgcd(i,j) \| i \in A \text{ et } i \in B \} $
3336\newcommand{\ou}{\ensuremath{\vee}}
3337\newcommand{\et}{\ensuremath{\wedge}}
3338\newcommand{\non}{\ensuremath{\neg}}
3339\newcommand{\donne}{\ensuremath{\longrightarrow}}
3340\newcommand{\tauto}{\ensuremath{\vdash}}
3341
3342%!!!!!!!!!!!!!!!!!                                    !!!!!!!!!!!!!!!!!
3343%!!!!!!!!!!!!!!!!!   Algèbre linéaire et bilinéaire   !!!!!!!!!!!!!!!!!
3344%!!!!!!!!!!!!!!!!!                                    !!!!!!!!!!!!!!!!!
3345
3346% Quelques raccourcis pour manipuler les nombres complexes.
3347\newcommand{\barre}[1]{\ensuremath{\overline{#1}}}              % Conjugué
3348\newcommand{\Arg}{\ensuremath{\mathop{\rm Arg\,}\nolimits}}     % Argument
3349\renewcommand{\Re}{\ensuremath{\mathop{\text{Re}\,}\nolimits}}
3350\renewcommand{\Im}{\ensuremath{\mathop{\text{Im}\,}\nolimits}}
3351\newcommand{\Rez}{\ensuremath{\Re}}                             % Synonyme
3352\newcommand{\Imz}{\ensuremath{\Im}}                             % Synonyme
3353\newcommand{\im}{\ensuremath{\Imz}}                             % Synonyme
3354
3355% Les produits scalaires.
3356%
3357% Ils doivent être notés avec la même convention que dans l'énoncé.
3358% Les deux notations les plus répandues utilisent des parenthèses et des
3359% délimiteurs en coin:
3360%
3361% (u|v), (\vect{AB}|\vect{CD}).
3362% <u|v>, <\vect{AB}|\vect{CD}>.
3363%
3364% Vous disposez de deux commandes pour les composer rapidement et proprement:
3365%
3366%   $\scalaire{u}{v}$                     pour (u|v)
3367%   $\scalaire{ \vect{AB} }{ \vect{CD} }$
3368%
3369%   $\scalar{u}{v}$                       pour <u|v>
3370%   $\scalar{ \vect{AB} }{ \vect{CD} }$
3371%
3372% Ne changez pas de notation au fil de votre corrigé !
3373%
3374% NB: dans la majorité des cas, il ne faut pas adapter la taille
3375% des parenthèses à leur argument. En particulier, il est normal
3376% que les flèches des vecteurs dépassent des parenthèses du produit scalaire.
3377% Si toutefois vous avez besoin d'adapter la taille des parenthèses,
3378% utilisez une syntaxe de ce genre:
3379%
3380%   \left(
3381%       \left. \f{1}{2} u \:\right| v
3382%   \right)
3383%
3384% ce qui peut aussi s'écrire:
3385%
3386%   \left( \f{1}{2} u \:\right|
3387%   \left . \vphantom{\f{1}{2}} v \right)
3388%
3389% Si vous trouvez que ces parenthèses sont trop grandes, utilisez le
3390% constructeur \Big:
3391%
3392% Exemple: $ \Big(    \Sum{k=0}{n} e_k    \:\Big|\:    e_{i_0}    \Big) $
3393
3394\newcommand{\scalaire}[2]{\ensuremath{(#1\|#2)}}
3395\newcommand{\scalar}[2]{\ensuremath{\langle #1\|#2 \rangle}}
3396
3397% Les normes.
3398%
3399% La commande standard est \norme, qui doit être utilisée dans pratiquement
3400% tous les cas. Il est normal et souhaitable que la flèche déborde des barres
3401% verticales.
3402%
3403% Exemple: $ \norme{ \vect{AB} } $
3404%
3405% Il y a toutefois quelques cas pour lesquels on a vraiment besoin de barres
3406% plus grandes, qui couvrent tout l'argument. On utilise alors \bignorme.
3407%
3408% Exemple: $ \bignorme{    \f{1}{2}   \vect{u}    } $
3409%
3410% Évitez de diviser un vecteur par un scalaire, comme dans $\f{\vect u}{2}$.
3411%
3412% Enfin, le sup d'un endomorphisme sur la boule unité se note avec trois
3413% barres verticales.
3414%
3415% Exemple: $ \trinorme{u} $
3416
3417%\newcommand{\norme}[1]{\ensuremath{\Arrowvert #1 \Arrowvert}}
3418
3419\newcommand{\norme}[2][1]{%
3420    \ifthenelse{#1 = 0}
3421        {\ensuremath{#2}}{}%
3422    \ifthenelse{#1 = 1}
3423        {\ensuremath{\Arrowvert #2\Arrowvert}}{}%
3424    \ifthenelse{#1 = 2}
3425        {\ensuremath{\big\Arrowvert#2\big\Arrowvert}}{}%
3426    \ifthenelse{#1 = 3}
3427        {\ensuremath{\Big\Arrowvert#2\Big\Arrowvert}}{}%
3428    \ifthenelse{#1 = 4}
3429        {\ensuremath{\bigg\Arrowvert#2\bigg\Arrowvert}}{}%
3430    \ifthenelse{#1 = 5}
3431        {\ensuremath{\Bigg\Arrowvert#2\Bigg\Arrowvert}}{}%
3432    \ifthenelse{#1 = 9}
3433        {\ensuremath{\left\Arrowvert#2\right\Arrowvert}}{}%
3434}
3435
3436
3437\newcommand{\bignorme}[1]{\ensuremath{\left\Arrowvert #1 \right\Arrowvert}}
3438\newcommand{\trinorme}[1]{\ensuremath{|\hskip -1 pt|\hskip -1 pt| #1%
3439        |\hskip -1 pt|\hskip -1 pt|}}
3440
3441% Dessiner une matrice ou un déterminant peut se faire avec les environnements
3442% {matrice} et {determinant}.
3443%
3444% Exemple: $\begin{matrice}     $\begin{determinant}
3445%               1 & 0 \\                1 & 0 \\
3446%               0 & 1 \\                0 & 1 \\
3447%           \end{matrice}$       \end{determinant}$
3448%
3449% La transposée d'une matrice nommée par une lettre se note avec \trans.
3450%
3451% Exemple: $ \trans{A} $
3452%
3453% Pour indiquer des points de suspension qui descendent la première diagonale,
3454% LaTeX fournir \ddots (down dots). Il fournit également \cdots pour les
3455% points de suspension horizontaux et \vdots pour les points de
3456% suspension verticaux. Pour indiquer des points de suspension qui remontent
3457% la deuxième diagonale, on peut utiliser \udots.
3458%
3459% Exemple: $\begin{matrice}
3460%                  0   & \cdots &    0   &    1   \\
3461%               \vdots & \udots & \udots &    0   \\
3462%                  0   & \udots & \udots & \vdots \\
3463%                  1   &    0   & \cdots &    0   \\
3464%           \end{matrice}$
3465
3466\newenvironment{matrice}%
3467        {\begin{pmatrix}}%
3468        {\end{pmatrix}}
3469\newenvironment{determinant}%
3470        {\begin{vmatrix}}%
3471        {\end{vmatrix}}
3472
3473% La commande \matricedd simplifie la composition de matrices (2,2). Elle
3474% prend quatre arguments qui sont les quatre coefficients de la matrice, lus
3475% ligne par ligne.
3476%
3477% Exemple: \matricedd{\exi{\theta}}{0}{0}{\exmi{\theta}}
3478%
3479\newcommand{\matricedd}[4]{%
3480        \ensuremath{\begin{matrice}
3481                #1 & #2 \\
3482                #3 & #4 \\
3483        \end{matrice}}
3484}
3485
3486% Le raccourci \vcol permet de dessiner facilement un vecteur colonne.
3487%
3488% Exemple:
3489%   \vcol{ x \\ y \\ z } produit: / x \
3490%                                 | y |
3491%                                 \ z /
3492%
3493% On peut placer un nombre quelconque de lignes: \vcol{x\\ y} fait un
3494% vecteur à deux lignes, tandis que \vcol{x\\ y\\ z\\ t} utilise quatre
3495% lignes.
3496%
3497% Enfin, on peut espacer les lignes en utilisant l'argument optionnel de
3498% '\\':
3499% $\vcol{\f{1}{2}(X+1)\\[2mm] X²}$
3500
3501\newcommand{\vcol}[1]{\ensuremath{\begin{pmatrix}#1\end{pmatrix}}}
3502
3503%% Pour les matrices
3504\newcommand{\udots}{\ensuremath{\hskip 2pt \raisebox{1pt}{.} \hskip 1pt%
3505        \raisebox{4pt}{.} \hskip 1pt \raisebox{7pt}{.} \hskip 2pt}}
3506        % up-dots, le symérique de \ddots sur la diagonale.
3507%\newcommand{\transp}[1]{%
3508%    \ensuremath{%
3509%        {\vphantom{#1}}^t #1%
3510%    }%
3511%}
3512\newcommand{\trans}[1]{\ensuremath{\sideset{^t}{}%
3513        {\mathop{\mathstrut #1}}}}
3514\newcommand{\transp}[1]{\trans{#1}}
3515        % La transposée d'une matrice : $\trans{A}$.
3516
3517
3518%!!!!!!!!!!!!!!!!!!!!!                            !!!!!!!!!!!!!!!!!!!!!
3519%!!!!!!!!!!!!!!!!!!!!!   Analyse différentielle   !!!!!!!!!!!!!!!!!!!!!
3520%!!!!!!!!!!!!!!!!!!!!!                            !!!!!!!!!!!!!!!!!!!!!
3521
3522% Les physiciens et les chimistes ont besoin de beaucoup de dérivées
3523% partielles ou totales, avec la notation par les éléments différentiels.
3524% Toutes les commandes ci-dessous s'utilisent de la même manière, en donnant
3525% en premier argument la fonction à dériver et en deuxième argument la
3526% variable par rapport à laquelle on dérive. Je représente les « d rond » par
3527% un ð, faute de mieux sur le clavier; l'apparence sera toutefois correcte
3528% dans LaTeX.
3529
3530% Commençons par un synonyme.
3531\newcommand{\drond}{\ensuremath{\partial}}
3532
3533% df
3534% --    Exemple: $ \ddf{f}{x} $
3535% dx
3536\newcommand{\ddf}[2]{\ensuremath{\f{\dd#1}{\dd#2}}}
3537
3538% df
3539% --    Exemple: $ \ddt{f} $            On dérive par rapport à t.
3540% dt
3541\newcommand{\ddt}[1]{\ddf{#1}{t}}
3542
3543% d²f
3544% --    Exemple: $ \ddxx{f}{x} $
3545% dx²
3546\newcommand{\ddxx}[2]{\ensuremath{\f{\dd^2{}#1}{\dd{}{#2}^2}}}
3547
3548% d²f
3549% --    Exemple: $ \ddtt{f} $           On dérive 2 fois par rapport à t.
3550% dt²
3551\newcommand{\ddtt}[1]{\ensuremath{\ddxx{#1}{t}}}
3552
3553% ðf
3554% --    Exemple: $ \Dp{f}{x} $
3555% ðx
3556\newcommand{\Dp}[2]{\ensuremath{\f{\partial#1}{\partial#2}}} 
3557
3558% ðf
3559% --    Exemple: $ \Dpt{f} $            On dérive par rappor à t.
3560% ðt
3561\newcommand{\Dpt}[1]{\ensuremath{\Dp{#1}{t}}}
3562
3563% ð²f
3564% ---   Exemple: $ \DDp{f}{x} $
3565% ðx²
3566\newcommand{\DDp}[2]{\ensuremath{\f{\partial^2#1}{\partial{#2}^2}}}
3567
3568% / ðf \
3569%|  --  |       Exemple: $ \DP{f}{x} $
3570% \ ðx /        Ces parenthèses peuvent être utiles pour placer des indices.
3571\newcommand{\DP}[2]{\ensuremath{\left(\f{\partial#1}{\partial#2}\right)}}
3572
3573% ð² f
3574% ----  Exemple: $\Dpc{f}{x}{y}$        Dérivée partielle croisée.
3575% ðxðy
3576\newcommand{\Dpc}[3]{\ensuremath\f{\partial^2#1}{\partial#2\,\partial#3}}
3577\newcommand{\DCP}[3]{\ensuremath{\Dpc{#1}{#2}{#3}}}             % Synonyme
3578
3579%  / ð² f \
3580% |  ----  |    Exemple: $\DPC{f}{x}{y}$
3581%  \ ðxðy /
3582\newcommand{\DPC}[3]{\ensuremath{\left(\Dpc{#1}{#2}{#3}\right)}}
3583
3584% Les intégrales de contour doivent être « grandes », comme \Int, même dans le
3585% texte. Au lieu de préciser '\displaystyle' à chaque occurrence, on peut
3586% profiter de la commande \Oint.
3587\newcommand{\Oint}{\displaystyle\oint}
3588
3589% Bizarrement, il n'y a pas de symbole prédéfini pour les intégrales de
3590% surface.
3591\newcommand{\oiint}{\ensuremath{\mathop{{\displaystyle%
3592%        \int \hskip -3 mm \int%
3593%        \hskip -4.7 mm \bigcirc\ }}\limits}}
3594        \int\mkern -15.37mu \int%
3595        \mkern -24.08mu \bigcirc\ }}\limits}}
3596
3597% La même chose, mais avec un indice à l'intégrale ($\OIInt{\Sigma}$).
3598\newcommand{\OIInt}[1]{\ensuremath{\mathop{{%
3599        \displaystyle%
3600        \bigcirc%
3601%        \hskip -4.7 mm \int%
3602%        \hskip -3 mm \int_{#1}%
3603        \mkern -24.08mu \int%
3604        \mkern -15.37mu \int_{#1}%
3605}}}}%
3606
3607\newcommand{\Iint}{\ensuremath{\mathop{{\displaystyle%
3608        \int \mkern -15.37mu \int}}\limits}}
3609
3610% La même chose, mais avec un indice à l'intégrale ($\IInt{\Sigma}$).
3611\newcommand{\IInt}[1]{\ensuremath{\mathop{{%
3612        \displaystyle%
3613        \int\mkern -15.37mu \int_{#1}%
3614}}}}%
3615
3616\newcommand{\Iiint}{\ensuremath{\mathop{{\displaystyle%
3617        \int \mkern -15.37mu \int \mkern -15.37mu \int}}\limits}}
3618
3619% La même chose, mais avec un indice à l'intégrale ($\IIInt{\Sigma}$).
3620\newcommand{\IIInt}[1]{\ensuremath{\mathop{{%
3621        \displaystyle%
3622        \int\mkern -15.37mu \int \mkern -15.37mu \int_{#1}%
3623}}}}%
3624
3625%!!!!!!!!!!!!!!!!!!!!!!!!!!!!               !!!!!!!!!!!!!!!!!!!!!!!!!!!!
3626%!!!!!!!!!!!!!!!!!!!!!!!!!!!!   Géométrie   !!!!!!!!!!!!!!!!!!!!!!!!!!!!
3627%!!!!!!!!!!!!!!!!!!!!!!!!!!!!               !!!!!!!!!!!!!!!!!!!!!!!!!!!!
3628
3629% Dessiner des vecteurs est très difficile. La commande LaTeX standard,
3630% \overrightarrow, ne produit pas un résultat satisfaisant sur les lettres
3631% majuscules. Pour pallier ce manque, on peut utiliser la commande \vect.
3632%
3633% Exemple: $\vect{AB}$
3634%          $\vect{u}$
3635%
3636% Ce type de flèche doit être utilisé en toute circonstance, sauf une: lorsque
3637% le vecteur est placé en exposant (notamment en optique), on utiliser plutôt
3638% \svect, qui sert précisément et uniquement à cela.
3639%
3640% Exemple pour les vecteurs en exposant: $e^{ i\,\svect{k} \cdot \svect{r} }$
3641
3642\newlength{\moreinterligne}
3643\setlength{\moreinterligne}{5.5 pt}
3644\newlength{\letterarrowvskip}
3645\setlength{\letterarrowvskip}{-1.5 pt}
3646\newlength{\vectlength}
3647\newlength{\vectheight}
3648\newlength{\boxlength}
3649\newcommand{\vect}[1]{%
3650        \settowidth{\vectlength}{\ensuremath{#1}}%
3651        \settoheight{\vectheight}{\ensuremath{#1}}%
3652        \settowidth{\boxlength}{%
3653                \ensuremath{%
3654                \overrightarrow{%
3655                        \parbox[b][\the\vectheight + \letterarrowvskip][b]{%
3656                                \the\vectlength%
3657                        }{\ensuremath{#1}}%
3658                }%
3659                }%
3660        }
3661        \parbox[b][\the\vectheight + \moreinterligne][b]{\the\boxlength}{%
3662                \ensuremath{%
3663                        \overset{\hbox to \the\boxlength{\rightarrowfill}}{%
3664                        \parbox[b][\the\vectheight + \letterarrowvskip][b]{
3665                                \the\vectlength%
3666                        }{\ensuremath{#1}}%
3667                        }%
3668                }%
3669        }
3670}
3671
3672\newlength{\smoreinterligne}
3673\setlength{\smoreinterligne}{5.5 pt}
3674\newlength{\sletterarrowvskip}
3675\setlength{\sletterarrowvskip}{0 pt}
3676\newlength{\svectlength}
3677\newlength{\svectheight}
3678\newlength{\sboxlength}
3679\newlength{\sebtemp}
3680\newcommand{\svect}[1]{%
3681        \settowidth{\svectlength}{\mbox{\scriptsize{\ensuremath{#1}}}}%
3682        \settoheight{\svectheight}{\mbox{\scriptsize{\ensuremath{#1}}}}%
3683        \settowidth{\sboxlength}{%
3684                \ensuremath{%
3685                \overrightarrow{%
3686                        \parbox[b][\the\svectheight + \sletterarrowvskip][b]{%
3687                                \the\svectlength%
3688                        }%
3689                        {\mbox{\scriptsize{\ensuremath{#1}}}}%
3690                }%
3691                }%
3692        }
3693        \parbox[b][\the\svectheight + \smoreinterligne][b]{\the\sboxlength}{%
3694                \ensuremath{%
3695                \overrightarrow{%
3696                        \parbox[b][\the\svectheight + \sletterarrowvskip][b]{%
3697                                \the\svectlength%
3698                        }%
3699                        {\mbox{\scriptsize{\ensuremath{#1}}}}%
3700                }%
3701                }%
3702        }
3703}
3704
3705% \vec (pour les petits arguments) est remplacé par \vect.
3706\renewcommand{\vec}[1]{\ensuremath{\vect{#1}}}
3707
3708% Pour les vecteurs complexes
3709\newcommand{\uvect}[1]{\ensuremath{\underline{\vect{#1}}}}
3710\newcommand{\vectu}[1]{\ensuremath{\vect{\underline{#1}}}}
3711
3712% Exceptionnellement, on peut vouloir utiliser \vec pour les *indices*.
3713\newcommand{\oldvec}{\mathaccent"17E }
3714
3715% Les vecteurs usuels ont un petit nom.
3716%       \vecti, \vectj, \vectk: la base usuelle de \R³
3717%       \vectE: le champ électrique
3718%       \vectB: le champ magnétique
3719\newcommand{\vecti}{\ensuremath{\vect{\imath}}}
3720\newcommand{\vectj}{\ensuremath{\vect{\jmath}}}
3721\newcommand{\vectk}{\ensuremath{\vect{k}}}
3722\newcommand{\vectux}{\ensuremath{\vect{u_x}}}
3723\newcommand{\vectuy}{\ensuremath{\vect{u_y}}}
3724\newcommand{\vectuz}{\ensuremath{\vect{u_z}}}
3725\newcommand{\vectex}{\ensuremath{\vect{e_x}}}
3726\newcommand{\vectey}{\ensuremath{\vect{e_y}}}
3727\newcommand{\vectez}{\ensuremath{\vect{e_z}}}
3728\newcommand{\vux}{\ensuremath{\vect{u_x}}}
3729\newcommand{\vuy}{\ensuremath{\vect{u_y}}}
3730\newcommand{\vuz}{\ensuremath{\vect{u_z}}}
3731\newcommand{\vex}{\ensuremath{\vect{e_x}}}
3732\newcommand{\vey}{\ensuremath{\vect{e_y}}}
3733\newcommand{\vez}{\ensuremath{\vect{e_z}}}
3734\newcommand{\vectE}{\ensuremath{\vect{E}}}
3735\newcommand{\vectB}{\ensuremath{\vect{B}}}
3736
3737% Le produit vectoriel
3738% Exemple: $ \vecti \vectoriel \vectj = \vectk $
3739\newcommand{\vectoriel}{\ensuremath{\wedge}}
3740
3741% Les mesures algébriques, par exemple pour compter si une distance doit être
3742% considérée comme positive ou négative. Utile en optique.
3743% Exemple: $ \alg{AB} $
3744\newcommand{\alg}[1]{\ensuremath{\overline{#1}}}
3745
3746
3747%!!!!!!!!!!!!!!!!!!!!!!!!!                    !!!!!!!!!!!!!!!!!!!!!!!!!
3748%!!!!!!!!!!!!!!!!!!!!!!!!!   Les opérateurs   !!!!!!!!!!!!!!!!!!!!!!!!!
3749%!!!!!!!!!!!!!!!!!!!!!!!!!                    !!!!!!!!!!!!!!!!!!!!!!!!!
3750
3751% Les ensembles.
3752\newcommand{\card}{\ensuremath{\mathop{\rm Card\,}\nolimits}}
3753\newcommand{\Min}{\ensuremath{\mathop{\,\rm Min\,}\limits}} 
3754\newcommand{\Max}{\ensuremath{\mathop{\,\rm Max\,}\limits}}
3755\newcommand{\Maj}{\ensuremath{\mathop{\,\rm Maj\,}\limits}}
3756\newcommand{\Inf}{\ensuremath{\mathop{\,\rm Inf\,}\limits}}
3757\newcommand{\Sup}{\ensuremath{\mathop{\,\rm Sup\,}\limits}} 
3758
3759% Arithmétique.
3760\newcommand{\pgcd}{\ensuremath{\mathop{\rm pgcd\,}\nolimits}}
3761\renewcommand{\gcd}{\pgcd}
3762\newcommand{\ppcm}{\ensuremath{\mathop{\rm ppcm\,}\nolimits}}
3763\newcommand{\ord}{\ensuremath{\mathop{\rm ord\,}\nolimits}} % Ordre d'un groupe
3764
3765% L'identité.
3766\newcommand{\id}{\ensuremath{\mathop{\rm id\,}\nolimits}}
3767\newcommand{\Id}{\ensuremath{\mathop{\rm Id\,}\nolimits}}
3768
3769% Les opérateurs vectoriels.
3770\renewcommand{\div}{\ensuremath{\mathop{\rm div\,}\nolimits}}
3771\newcommand{\rot}{\ensuremath{\mathop{\vect{\rm rot}\,}\nolimits}} 
3772\newcommand{\grad}{\ensuremath{\mathop{\vect{\rm grad}\,}\nolimits}}
3773
3774% Polynômes,
3775\DeclareMathOperator{\val}{val\,}       % \deg est prédéfini
3776
3777% Algèbre.
3778\DeclareMathOperator{\Ker}{Ker\,}
3779\renewcommand{\ker}{\Ker}                                       % Synonyme
3780\DeclareMathOperator{\Image}{Im\,}
3781\DeclareMathOperator{\spectre}{sp\,}
3782
3783\DeclareMathOperator{\Vect}{Vect\,}     % Ne pas confondre avec \vect
3784\DeclareMathOperator{\rg}{rg\,}         % Le rang
3785\DeclareMathOperator{\tr}{Tr\,}         % La trace
3786\DeclareMathOperator{\trace}{Tr\,}      % La trace aussi
3787\DeclareMathOperator{\Mat}{Mat\,}       % Uniquement pour les expressions
3788                                        % comme $\Mat_{\nliste{e}}(u)$.
3789\DeclareMathOperator{\Pass}{Pass\,}     % Matrice de passage
3790\newcommand{\orthogonal}[1]{\ensuremath{{#1}^{\perp}}}  % $ \orthogonal{E} $
3791
3792% Fonctions trigonométrique et réciproques
3793\DeclareMathOperator{\sh}{sh\,}
3794\DeclareMathOperator{\ch}{ch\,}
3795\renewcommand{\sinh}{\sh}                                       % Synonyme
3796\renewcommand{\cosh}{\ch}                                       % Synonyme
3797\renewcommand{\th}{\ensuremath{\mathop{\rm th\,}\nolimits}}
3798\renewcommand{\coth}{\ensuremath{\mathop{\rm coth\,}\nolimits}}
3799%
3800\DeclareMathOperator{\argsh}{Argsh\,}
3801\DeclareMathOperator{\argch}{Argch\,}
3802\DeclareMathOperator{\argth}{Argth\,}
3803\DeclareMathOperator{\argcoth}{Argcoth\,}
3804\newcommand{\Argsh}{\argsh}                                     % Synonyme
3805\newcommand{\Argch}{\argch}                                     % Synonyme
3806\newcommand{\Argth}{\argth}                                     % Synonyme
3807\newcommand{\Argcoth}{\argcoth}                                 % Synonyme
3808%
3809\DeclareMathOperator{\cotan}{cotan\,}
3810\renewcommand{\arcsin}{\ensuremath{\mathop{\rm Arcsin\,}\nolimits}}
3811\renewcommand{\arccos}{\ensuremath{\mathop{\rm Arccos\,}\nolimits}}
3812\renewcommand{\arctan}{\ensuremath{\mathop{\rm Arctan\,}\nolimits}}
3813\DeclareMathOperator{\arccot}{Arccot\,}
3814\newcommand{\arccotan}{\arccot}                                 % Synonyme
3815        % Rien n'est prévu si vous ne prenez pas l'argument *principal*.
3816        % Si vous tenez absolument à chercher les ennuis, utilisez \text...
3817\newcommand{\Arcsin}{\arcsin}                                   % Synonyme
3818\newcommand{\Arccos}{\arccos}                                   % Synonyme
3819\newcommand{\Arctan}{\arctan}                                   % Synonyme
3820\newcommand{\Arccot}{\arccot}                                   % Synonyme
3821\newcommand{\Arccotan}{\arccotan}                               % Synonyme
3822%
3823\DeclareMathOperator{\sinc}{sinc\,}
3824
3825%!!!!!!!!!!!!!!!!!!!!!!!!!!                  !!!!!!!!!!!!!!!!!!!!!!!!!!
3826%!!!!!!!!!!!!!!!!!!!!!!!!!!   Les tableaux   !!!!!!!!!!!!!!!!!!!!!!!!!!
3827%!!!!!!!!!!!!!!!!!!!!!!!!!!                  !!!!!!!!!!!!!!!!!!!!!!!!!!
3828
3829% Dessiner des équations alignées, un système, un tableau de variation, etc.,
3830% c'est plutôt difficile. À la base, tout est construit sur l'environnement
3831% standard {array}. Les environnement ci-dessous lui passent des options pour
3832% traiter la plupart des cas courants.
3833%
3834% Exemple: $\begin{syst}
3835%               a & b+2 \\      Dessine un système avec une grande accolade
3836%               b &  1  \\      à gauche. Le '&' est remplacé par un '='.
3837%           \end{syst}$
3838%
3839% Exemple: $\begin{systsimple}
3840%               a & b+2 \\      Comme le précédent, mais sans l'accolade
3841%               b &  1  \\      à gauche.
3842%           \end{systsimple}$
3843%
3844% Exemple: $\begin{varsyst}             Comme {syst}, sauf que le '=' est
3845%               3   & \leq & \pi \\     remplacé par ce qui est entre les '&',
3846%               \pi & \leq &  4  \\     soit, dans l'exemple, le symbole
3847%           \end{varsyst}$              « inférieur ou égal ».
3848%
3849% Exemple: $\begin{leqsystsimple}
3850%               a & b+2 \\      Comme {systsimple}, mais en remplaçant le signe
3851%               b &  1  \\      '=' par un « inférieur ou égal ».
3852%           \end{leqsystsimple}$
3853%
3854% Exemple : $f(x) =
3855%               \begin{accolade}
3856%               \f{\sin x}{x} & \text{si }   x\neq 0 \\[3mm]
3857%                      1      & \text{sinon}         \\
3858%               \end{accolade}$
3859%               On pourrait aussi utiliser l'environnement standard {cases}.
3860%
3861% Exemple: $\begin{rcl}
3862%               |f| &   =  & |g + h|             \\
3863%               |f| & \leq & |g| + |h|           \\
3864%               |f| & \leq & \Max |g| + \Max |h| \\
3865%           \end{rcl}$
3866% À utiliser lorsque le symbole central change à chaque ligne.
3867%
3868% Lorsqu'aucun de ces environnements ne peut vous satisfaire, il faut créer
3869% un tableau {array} en lui passant des arguments: une lettre par colonne
3870% ('c' pour centrer, 'l' pour aligner à gauche et 'r' pour aligner à droite)
3871% et on peut remplacer l'espace intercolonnes par un argument entre @{···}.
3872%
3873% Exemple: $\begin{array}{r @{\ \geq\ } l}
3874%               a & b \\        Dessine un tableau dans lequel on insère entre
3875%               c & d \\        la première et la deuxième colonne le symbole
3876%           \end{array}$        « supérieur ou égal ».
3877
3878\newenvironment{syst}[1][r]%
3879        {\ensuremath{\left \{ \hskip -1.5 mm \begin{array}{#1@{\ =\ }l}}}%
3880        {\end{array}\right.}
3881\newenvironment{systsimple}[1][r]%
3882        {\ensuremath{\begin{array}[t]{#1@{\ =\ }l}}}%
3883        {\end{array}}
3884\newenvironment{varsyst}[1][r]%
3885        {\ensuremath{\left \{ \hskip -1.5 mm%
3886         \begin{array}{#1@{\ }c@{\ }l}}}%
3887        {\end{array}\right.}
3888\newenvironment{accolade}[1][r]%
3889        {\ensuremath{\left \{ \hskip -1.5 mm \begin{array}{#1@{\quad}l}}}%
3890        {\end{array}\right.}
3891\newenvironment{leqsystsimple}[1][r]%
3892        {\ensuremath{\begin{array}[t]{#1@{\ \leq\ }l}}}%
3893        {\end{array}}
3894\newenvironment{rcl}[1][r]%
3895        {\ensuremath{\begin{array}[t]{#1@{\ }c@{\ }l}}}%
3896        {\end{array}}
3897
3898% Dans les tableaux de variation, on a souvent besoin d'insérer deux barres
3899% verticales pour indiquer les « zones interdites ».
3900\newcommand{\barres}{\ensuremath{\vline\:\vline}}
3901
3902% Lorsque l'on réalise un long calcul, il est parfois souhaitable d'encadrer
3903% sa dernière ligne. Un cas fréquent est celui des équation-bilan.
3904% La commande suivante permet de réaliser cela. Son premier (resp.
3905% dernier) argument est la première (resp. dernière) colonne qui doit
3906% être encadrée. Elle dispose également de trois arguments optionnels
3907% entre ces deux arguments qui permettent d'encadrer plus de deux
3908% colonnes.
3909%
3910% Exemple: $\begin{array}{r @{\ =\ } l}
3911%               a + 1 & 7 - 3 \\
3912%                 a   & 4 - 1 \\
3913%               \arraybox{a}{3} \\
3914%           \end{array}$
3915%
3916% Exemple: $\begin{array}{r @{\ } = @{\ } l}
3917%               a + 1 & = & 7 - 3 \\
3918%                 a   & = & 4 - 1 \\
3919%               \arraybox{a}[=]{3} \\
3920%           \end{array}$
3921
3922\newlength{\boxrulewidth}
3923\setlength{\boxrulewidth}{.4pt}
3924\newlength{\boxrulesep}
3925\setlength{\boxrulesep}{1mm}
3926
3927\newlength{\gauchelong}
3928\newlength{\droitelong}
3929\newlength{\colonnealong}
3930\newlength{\colonneblong}
3931\newlength{\colonneclong}
3932
3933\newlength{\maxhaut}
3934\newlength{\maxbas}
3935
3936\newcommand{\writeifexist}[1]{%
3937        \ifthenelse{\equal{#1}{\null}}{\null}{#1&}%
3938}
3939
3940\newcommand{\lengthifexist}[2]{%
3941       \ifthenelse{\not\equal{#1}{\null}}{%
3942                \settowidth{#2}{$#1$}
3943                }{\setlength{#2}{0cm}}%
3944}
3945
3946\makeatletter
3947
3948\def\arraybox#1{
3949    \@ifnextchar[%]
3950        {\iarraybox{#1}}%
3951        {\ivarraybox{#1}{\null}{\null}[\null]}}
3952
3953\def\iarraybox#1[#2]{%
3954    \@ifnextchar[%]
3955        {\iiarraybox{#1}{#2}}%
3956        {\ivarraybox{#1}{#2}{\null}[\null]}}
3957
3958\def\iiarraybox#1#2[#3]{%
3959    \@ifnextchar[%]
3960          {\iiiarraybox{#1}{#2}{#3}}%
3961        {\ivarraybox{#1}{#2}{#3}[\null]}}
3962
3963\def\iiiarraybox#1#2#3[#4]{%
3964    \@ifnextchar[%]
3965          {\ivarraybox{#1}{#2}{#3}[#4]\relax}%
3966        {\ivarraybox{#1}{#2}{#3}[#4]}}%
3967
3968\def\ivarraybox#1#2#3[#4]#5{%
3969        \settowidth{\gauchelong}{$#1\ $}%
3970        \settoheight{\maxhaut}{$#1#2#3#4#5$}
3971        \settodepth{\maxbas}{$#1#2#3#4#5$}
3972        \lengthifexist{#2}{\colonnealong}%
3973        \lengthifexist{#3}{\colonneblong}%
3974        \lengthifexist{#4}{\colonneclong}%
3975%
3976        \raisebox{-\maxbas-\boxrulewidth-\boxrulesep}{%
3977                \rule{\boxrulewidth}{%
3978                \maxbas+\maxhaut+2\boxrulewidth+2\boxrulesep}}%
3979        \raisebox{\maxhaut+\boxrulesep}{%
3980                \makebox[0cm][l]{\rule{%
3981                \gauchelong+\colonnealong+\colonneblong+\colonneclong}{%
3982                \boxrulewidth}}}%
3983        \raisebox{-\maxbas-\boxrulewidth-\boxrulesep}{%
3984                \makebox[0cm][l]{\rule{%
3985                \gauchelong+\colonnealong+\colonneblong+\colonneclong}{%
3986                \boxrulewidth}}}%
3987        \hskip\boxrulesep%
3988        #1&%
3989                \writeifexist{#2}%
3990                \writeifexist{#3}%
3991        \writeifexist{#4}%
3992%
3993        #5%
3994                                % il faut les remettre apres le & il semblerait...
3995        \settowidth{\droitelong}{$#5\ \eq $}
3996        \settoheight{\maxhaut}{$#1#2#3#4#5$}
3997        \settodepth{\maxbas}{$#1#2#3#4#5$}
3998%
3999        \hskip\boxrulesep%
4000        \hskip-\droitelong%
4001        \raisebox{\maxhaut+\boxrulesep}{%
4002                \makebox[0cm][l]{\rule{\droitelong}{\boxrulewidth}}}
4003        \raisebox{-\maxbas-\boxrulesep-\boxrulewidth}{%
4004                \makebox[0cm][l]{\rule{\droitelong}{\boxrulewidth}}}
4005        \hskip\droitelong%
4006        \raisebox{-\maxbas-\boxrulesep-\boxrulewidth}{%
4007                \rule{\boxrulewidth}{%
4008                \maxbas+\maxhaut+2\boxrulesep+2\boxrulewidth}}
4009}
4010
4011\makeatother
4012
4013% La commande \arraybox comporte un bug connu mais que nous ne savons pas
4014% résoudre. Il est possible de remplacer dans un tableau l'espace entre les
4015% colonnes par n'importe quoi d'autre à l'aide de '@'. Or, lorsqu'on remplace
4016% dans un tableau de plus de trois colonnes cet espace par quelque chose de
4017% plus grand, par exemple « @{\ =\ } », la boîte produite par \arraybox
4018% ne ferme pas bien, il reste un « jour » horizontal. (Si vous avez une
4019% idée pour corriger ce problème, envoyez-nous un mail à annales.sty@H-K.fr !)
4020%
4021% Si vous rencontrez ce cas, vous pouvez utiliser la commande suivante,
4022% \EncadreDansTableau, qui marche toujours (mais qui est moins
4023% ergonomique).
4024%
4025% Son premier argument est une longueur, en points, dont il faut
4026% décaler le cadre vers la gauche. Son deuxième argument est le même code
4027% que celui de la dernière ligne du tableau, en changeant les '&' par ce
4028% qu'ils sont censés représenter. Il faut placer cette commande avant le
4029% code qui correspond à la dernière ligne du tableau.
4030%
4031% Exemple: $\begin{array}{r @{\ =\ } l}
4032%               a + 1 & 7 - 3 \\
4033%                 a   & 4 - 1 \\
4034%               \EncadreDansTableau{5}{a \ =\  3} a & 3 \\
4035%           \end{array}$
4036
4037\newcommand{\EncadreDansTableau}[2]{%
4038%       \typeout{^^JEncadreDansTableau est obsolete, veuillez
4039%       utiliser arraybox SVP.^^J}
4040        \begin{picture}(0,0)%
4041        \put(-#1,0){\fbox{\ensuremath{\hphantom{#2}\vphantom{#2}}}}%
4042        \end{picture}%
4043}
4044
4045%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4046%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4047%%%%%%%%%%%%%%%%%%%%%%%%%%%%                 %%%%%%%%%%%%%%%%%%%%%%%%%%%
4048%%%%%%%%%%%%%%%%%%%%%%%%%%%%   La physique   %%%%%%%%%%%%%%%%%%%%%%%%%%%
4049%%%%%%%%%%%%%%%%%%%%%%%%%%%%                 %%%%%%%%%%%%%%%%%%%%%%%%%%%
4050%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4051%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4052
4053%% Les unités.
4054
4055% Présenter les unités correctement peut être pénible sans une macro
4056% appropriée car d'un côté il faut que les lettres (m, kg, etc.) apparaissent
4057% comme dans le texte, et de l'autre on souhaite utiliser des exposants.
4058% La macro \U est faite pour cela.
4059%
4060% Exemple: $ g = 9,81 \U{m^2 s^{-1}} $
4061
4062\newcommand{\U}[1]{\ensuremath{\mathrm{~#1}}}
4063
4064% Le cas particulier des Angström doit être traité à part pour avoir un
4065% bon rendu.
4066%
4067% Exemple: $ \ell = 2 \U{\Angstrom} $
4068%\newlength{\angstromlength}
4069%\settowidth{\angstromlength}{A}
4070%\setlength{\angstromlength}{\angstromlength / 2 + 0.003mm}
4071%\newcommand{\angstrom}{%
4072%       \hskip\angstromlength
4073%       \makebox[0pt]{%
4074%               \ensuremath{%
4075%               \overset{\text{\tiny$\circ$}}{\rule{0pt}{2.2mm}}%
4076%               }%
4077%       }%
4078%       \hskip-\angstromlength A%
4079%}
4080\newcommand{\angstrom}{\ensuremath{\mathring{A}}}
4081\newcommand{\Angstrom}{\angstrom}                               % Synonyme
4082
4083% Les degrés.
4084% Exemple: $T\e{f} = 10 \celsius$
4085% Exemple: $T\e{i} = 10 \U{K}$
4086\newcommand{\celsius}{\ensuremath{\text{\degre{}C}}\xspace}
4087\renewcommand{\degre}{\ensuremath{{}^{\text{\footnotesize\ensuremath{\circ}}}}}
4088%\renewcommand{\degres}{\degre}                                 % Synonyme
4089\def\degres{\degre}
4090
4091% Les indices
4092%
4093% Les indices placés à côté d'une lettre peuvent être essentiellement de deux
4094% natures: soit ils désignent un numéro, comme dans 'u_n', soit ils désignent
4095% une abréviation, comme dans 'T_\text{f}' (température finale).
4096%
4097% Les premiers ne posent aucun problème à composer: $u_n$. Les seconds, en
4098% revanche, sont pénibles parce qu'il faudrait en permanence utiliser \text
4099% pour les faire apparaître en droit, ce qui est indispensable. La commande
4100% \e s'en occupe pour vous.
4101%
4102% Exemple: $ T\e{finale} = 1 \U{K} $
4103%
4104% Attention, n'abusez pas non plus de cette commande: il ne serait pas correct
4105% d'écrire $u\e{n}$. Il faut alors s'en tenir à la règle habituelle: $u_n$.
4106%
4107% Les commandes \liq, \sol et \gaz servent à indiquer la phase.
4108%
4109% Exemple: $ \He\liq $
4110
4111\newcommand{\e}[1]{\ensuremath{{}_{\text{#1}}}}
4112\newcommand{\liq}{\ensuremath{\e{\ensuremath{(\ell)}}}}
4113\newcommand{\gaz}{\ensuremath{\e{(g)}}}
4114\newcommand{\sol}{\ensuremath{\e{(s)}}}
4115\newcommand{\aq}{\ensuremath{\e{(aq)}}}
4116
4117% On en profite pour la thermochimie. Des combinaisons plus complexes sont
4118% aussi possibles avec \e.
4119\newcommand{\Deltar}{\ensuremath{\Delta_{\text{r}}}}
4120\newcommand{\Deltaf}{\ensuremath{\Delta_{\text{f}}}}
4121\newcommand{\deltar}{\Deltar}
4122\newcommand{\deltaf}{\Deltaf}
4123
4124
4125
4126%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4127%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4128%%%%%%%%%%%%%%%%%%%%%%%%%%%%%               %%%%%%%%%%%%%%%%%%%%%%%%%%%%
4129%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   La chimie   %%%%%%%%%%%%%%%%%%%%%%%%%%%%
4130%%%%%%%%%%%%%%%%%%%%%%%%%%%%%               %%%%%%%%%%%%%%%%%%%%%%%%%%%%
4131%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4132%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4133
4134% La chimie est toujours difficile à composer. Le pire est naturellement la
4135% chimie organique, qui exige des dessins. Mais même le simple fait d'utiliser
4136% le symbole d'un élément demande du travail, puisque le symbole doit
4137% apparaître en caractères droits. Pour les quelques éléments dont le symbole
4138% est réduit à une lettre (B,C,F,I,K,N,O,U), pas de problème. Pour tous les
4139% autres, il faudrait utiliser \text, comme dans $\text{Al}_2 O_3$.
4140%
4141% Pour simplifier le travail de composition, au moins deux commandes ont été
4142% accordées à chaque élément: l'un avec le nom complet, l'autre avec le
4143% symbole. Pour ce dernier cas, veillez à ne pas oublier les majuscules.
4144%
4145% Exemple: $ \Al_2 O_3 $
4146
4147\newcommand{\aluminium}{\ensuremath{\mathrm{Al}}}
4148\newcommand{\alu}{\aluminium}
4149\newcommand{\Al}{\aluminium}
4150\newcommand{\argent}{\ensuremath{\mathrm{Ag}}}   
4151\newcommand{\Ag}{\argent}
4152\newcommand{\argon}{\ensuremath{\mathrm{Ar}}}
4153\newcommand{\Ar}{\argon}
4154\newcommand{\arsenic}{\ensuremath{\mathrm{As}}}
4155\newcommand{\As}{\arsenic}
4156\newcommand{\baryum}{\ensuremath{\mathrm{Ba}}}
4157\newcommand{\Ba}{\baryum}
4158\newcommand{\beryllium}{\ensuremath{\mathrm{Be}}}
4159\newcommand{\Be}{\beryllium}
4160\newcommand{\bismuth}{\ensuremath{\mathrm{Bi}}}
4161\newcommand{\Bi}{\bismuth}
4162\newcommand{\brome}{\ensuremath{\mathrm{Br}}}
4163\newcommand{\Br}{\brome}
4164\newcommand{\cadmium}{\ensuremath{\mathrm{Cd}}}
4165\newcommand{\Cd}{\cadmium}
4166\newcommand{\calcium}{\ensuremath{\mathrm{Ca}}}   
4167\newcommand{\Ca}{\calcium}
4168\newcommand{\cerium}{\ensuremath{\mathrm{Ce}}}
4169\newcommand{\Ce}{\cerium}
4170\newcommand{\cesium}{\ensuremath{\mathrm{Cs}}}
4171\newcommand{\Cs}{\cesium}
4172\newcommand{\chlore}{\ensuremath{\mathrm{Cl}}}   
4173\newcommand{\Cl}{\chlore}
4174\newcommand{\chrome}{\ensuremath{\mathrm{Cr}}}
4175\newcommand{\Cr}{\chrome}
4176\newcommand{\cobalt}{\ensuremath{\mathrm{Co}}}
4177\newcommand{\Co}{\cobalt}
4178\newcommand{\cuivre}{\ensuremath{\mathrm{Cu}}}
4179\newcommand{\Cu}{\cuivre}
4180\newcommand{\etain}{\ensuremath{\mathrm{Sn}}}
4181\newcommand{\Sn}{\etain}
4182\newcommand{\europium}{\ensuremath{\mathrm{Eu}}}
4183\newcommand{\Eu}{\europium}
4184\newcommand{\fer}{\ensuremath{\mathrm{Fe}}} 
4185\newcommand{\Fe}{\fer}
4186\newcommand{\gallium}{\ensuremath{\mathrm{Ga}}} 
4187\newcommand{\Ga}{\gallium}
4188\newcommand{\germanium}{\ensuremath{\mathrm{Ge}}} 
4189\newcommand{\Ge}{\germanium}
4190\newcommand{\helium}{\ensuremath{\mathrm{He}}}
4191\newcommand{\He}{\helium}
4192\newcommand{\krypton}{\ensuremath{\mathrm{Kr}}}
4193\newcommand{\Kr}{\krypton}
4194\newcommand{\lithium}{\ensuremath{\mathrm{Li}}}
4195\newcommand{\Li}{\lithium}
4196\newcommand{\magnesium}{\ensuremath{\mathrm{Mg}}}
4197\newcommand{\Mg}{\magnesium}
4198\newcommand{\manganese}{\ensuremath{\mathrm{Mn}}}
4199\newcommand{\Mn}{\manganese}
4200\newcommand{\mercure}{\ensuremath{\mathrm{Hg}}}
4201\newcommand{\Hg}{\mercure}
4202\newcommand{\molybdene}{\ensuremath{\mathrm{Mo}}}
4203\newcommand{\Mo}{\molybdene}
4204\newcommand{\neon}{\ensuremath{\mathrm{Ne}}}
4205\newcommand{\Ne}{\neon}
4206\newcommand{\nickel}{\ensuremath{\mathrm{Ni}}}
4207\newcommand{\Ni}{\nickel}
4208\newcommand{\palladium}{\ensuremath{\mathrm{Pd}}}
4209\newcommand{\Pd}{\palladium}
4210\newcommand{\platine}{\ensuremath{\mathrm{Pt}}}
4211\newcommand{\Pt}{\platine}
4212\newcommand{\plomb}{\ensuremath{\mathrm{Pb}}}
4213\newcommand{\Pb}{\plomb}
4214\newcommand{\polonium}{\ensuremath{\mathrm{Po}}}
4215\newcommand{\Po}{\polonium}
4216\newcommand{\radon}{\ensuremath{\mathrm{Rn}}}
4217\newcommand{\Rn}{\radon}
4218\newcommand{\rubidium}{\ensuremath{\mathrm{Rb}}}
4219\newcommand{\Rb}{\rubidium}
4220\newcommand{\samarium}{\ensuremath{\mathrm{Sm}}}
4221\newcommand{\Sm}{\samarium}
4222\newcommand{\selenium}{\ensuremath{\mathrm{Se}}}
4223\newcommand{\Se}{\selenium}
4224\newcommand{\silicium}{\ensuremath{\mathrm{Si}}}
4225\newcommand{\Si}{\silicium}
4226\newcommand{\sodium}{\ensuremath{\mathrm{Na}}} 
4227\newcommand{\Na}{\sodium}
4228\newcommand{\strontium}{\ensuremath{\mathrm{Sr}}} 
4229\newcommand{\Sr}{\strontium}
4230\newcommand{\titane}{\ensuremath{\mathrm{Ti}}}
4231\newcommand{\Ti}{\titane}
4232\newcommand{\thallium}{\ensuremath{\mathrm{Tl}}}
4233\newcommand{\Tl}{\thallium}
4234\newcommand{\xenon}{\ensuremath{\mathrm{Xe}}}
4235\newcommand{\Xe}{\xenon}
4236\newcommand{\zinc}{\ensuremath{\mathrm{Zn}}}   
4237\newcommand{\Zn}{\zinc}
4238\newcommand{\zirconium}{\ensuremath{\mathrm{Zr}}}                               
4239\newcommand{\Zr}{\zirconium}   
4240
4241% D'autres raccourcis peuvent se révéler pratiques.
4242\newcommand{\affinite}{\ensuremath{\mathcal{A}}}
4243\newcommand{\cuivreI}{\ensuremath{\mathrm{Cu}^{+}}}
4244        \newcommand{\CuI}{\cuivreI}                             % Synonyme
4245\newcommand{\cuivreII}{\ensuremath{\mathrm{Cu}^{2+}}}
4246        \newcommand{\CuII}{\cuivreII}                           % Synonyme
4247\newcommand{\ferII}{\ensuremath{\mathrm{Fe}^{2+}}}
4248        \newcommand{\FeII}{\ferII}                              % Synonyme
4249\newcommand{\ferIII}{\ensuremath{\mathrm{Fe}^{3+}}}
4250        \newcommand{\FeIII}{\ferIII}                            % Synonyme
4251%
4252\newcommand{\elec}{\ensuremath{\mathrm{e}^{-}}} % Pour les ½-équations rédox.
4253\newcommand{\methyl}{\ensuremath{\mathrm{Me}}}
4254        \newcommand{\Met}{\methyl}                              % Synonyme
4255        \newcommand{\Me}{\methyl}                               % Synonyme
4256\newcommand{\ethyl}{\ensuremath{\mathrm{Et}}}
4257        \newcommand{\Et}{\ethyl}                                % Synonyme
4258\newcommand{\butyl}{\ensuremath{\mathrm{Bu}}}
4259        \newcommand{\Bu}{\butyl}                                % Synonyme
4260%
4261\newcommand{\pH}{\ensuremath{\mathrm{pH}}}
4262\newcommand{\pOH}{\ensuremath{\mathrm{pOH}}}
4263\newcommand{\pKa}{\ensuremath{\mathrm{pKa}}}
4264\newcommand{\pKb}{\ensuremath{\mathrm{pKb}}}
4265\newcommand{\pKe}{\ensuremath{\mathrm{pKe}}}
4266\newcommand{\pKd}{\ensuremath{\mathrm{pKd}}}
4267\newcommand{\pKs}{\ensuremath{\mathrm{pKs}}}
4268\newcommand{\Ka}{\ensuremath{\text{Ka}}}
4269\newcommand{\Kb}{\ensuremath{\text{Kb}}}
4270\newcommand{\Ke}{\ensuremath{\text{Ke}}}
4271\newcommand{\Ks}{\ensuremath{\text{Ks}}}
4272\newcommand{\Kd}{\ensuremath{\text{Kd}}}
4273%
4274\newcommand{\sulfate}{\ensuremath{{SO_4}^{2-}}} 
4275\newcommand{\sulfite}{\ensuremath{{SO_3}^{2-}}} 
4276\newcommand{\nitrate}{\ensuremath{{NO_3}^{-}}} 
4277\newcommand{\nitrite}{\ensuremath{{NO_2}^{-}}} 
4278\newcommand{\hydronium}{\ensuremath{{H_3O}^{+}}} 
4279\newcommand{\phosphate}{\ensuremath{{PO_4}^{3-}}} 
4280\newcommand{\carbonate}{\ensuremath{{CO_3}^{2-}}} 
4281\newcommand{\ammonium}{\ensuremath{{NH_4}^{+}}} 
4282\newcommand{\bicarbonate}{\ensuremath{{HCO_3}^{-}}} 
4283\newcommand{\bichromate}{\ensuremath{{\chrome_2O_7}^{2-}}} 
4284\newcommand{\borate}{\ensuremath{{BO_3}^{3-}}} 
4285\newcommand{\chlorate}{\ensuremath{{\chlore O_3}^{-}}} 
4286\newcommand{\perchlorate}{\ensuremath{{\chlore O_4}^{-}}} 
4287\newcommand{\chlorite}{\ensuremath{{\chlore O_2}^{-}}} 
4288\newcommand{\chromate}{\ensuremath{{\chrome O_4}^{2-}}} 
4289\newcommand{\dithionate}{\ensuremath{{S_4O_6}^{2-}}} 
4290\newcommand{\hypochlorite}{\ensuremath{{\chlore O}^{-}}} 
4291\newcommand{\permanganate}{\ensuremath{{\manganese O_4}^{-}}} 
4292\newcommand{\thiosulfate}{\ensuremath{{S_2O_3}^{2-}}}
4293
4294% Pour les concentrations, on doit parfois ajuster la taille des crochets.
4295\newcommand{\concentration}[1]{\ensuremath{\left[#1\right]}}
4296
4297% On peut aussi raccourcir l'unité la plus fréquence en chimie.
4298% Exemple: $ [\ferII ]\e{finale} = 0,10 \conc $
4299\newcommand{\conc}{\ensuremath{\U{mol.L^{-1}}}}
4300
4301% Le K°.
4302\newcommand{\Kzero}{{\ensuremath{K^\circ}}}
4303
4304% P° et c°.
4305\newcommand{\Pzero}{{\ensuremath{P^\circ}}}
4306\newcommand{\czero}{{\ensuremath{c^\circ}}}
4307
4308% Les grandeurs standard.
4309% Exemple: $\Deltar H\zero$
4310\newcommand{\zero}{\ensuremath{^{\circ}}}
4311
4312% On est parfois amené à préciser des liaisons d'une molécule qui n'est pas
4313% dessinée mais « décrite » dans le texte, comme $H_3 C - \Cl$ ou
4314% $H_2 C = C H_2$. Pour que le rendu soit correct, on peut utiliser les
4315% commandes suivantes, l'idéal étant d'enrober la molécule dans une \mbox
4316% pour s'assurer que LaTeX ne va pas augmenter ou rétrécir l'espace pour faire
4317% en sorte que la ligne joigne correctement les deux marges.
4318%
4319% Exemple: L'éthylène (\mbox{$H_2 C \double C H_2$}) étant toxique, blablabla.
4320
4321\newcommand{\simple}{{\ensuremath{%
4322    \mathchoice%
4323        {\mbox{\raisebox{0.232ex}{\ensuremath{-}}}}
4324        {\mbox{\raisebox{0.232ex}{\ensuremath{-}}}}
4325        {\mbox{\raisebox{-0.05ex}{\ensuremath{-}}}}
4326        {\mbox{\raisebox{-0.15ex}{\ensuremath{-}}}}
4327}}}
4328
4329\newcommand{\double}{{\ensuremath{%
4330    \mathchoice%
4331        {\mbox{\raisebox{0.232ex}{\ensuremath{=}}}}
4332        {\mbox{\raisebox{0.232ex}{\ensuremath{=}}}}
4333        {\mbox{\raisebox{-0.005ex}{\ensuremath{=}}}}
4334        {\mbox{\raisebox{-0.177ex}{\ensuremath{=}}}}
4335}}}
4336
4337\newcommand{\triple}{{\ensuremath{%
4338    \mathchoice%
4339        {\mbox{\raisebox{0.232ex}{\ensuremath{\equiv}}}}
4340        {\mbox{\raisebox{0.232ex}{\ensuremath{\equiv}}}}
4341        {\mbox{\raisebox{-0.005ex}{\ensuremath{\equiv}}}}
4342        {\mbox{\raisebox{-0.177ex}{\ensuremath{\equiv}}}}
4343}}}
4344
4345%\newcommand{\simple}{\ensuremath{\!-\!}}
4346%\newcommand{\double}{\ensuremath{\!=\!}}
4347%\newcommand{\triple}{\ensuremath{\!\equiv\!}}
4348
4349% Les équilibres doivent être dessinés avec des demi-flèches.
4350% \Equilibre laisse plus de place (horizontale) autour du symbole que
4351% \equilibre.
4352\newcommand{\equilibre}{\ensuremath{\ \rightleftharpoons\ }}
4353\newcommand{\Equilibre}{\ensuremath{\ \,\rightleftharpoons\,\ }}
4354
4355% Une simple flèche pour la cinétique
4356\newcommand{\kdonne}[1]{%
4357        \ensuremath{%
4358                {\overset{\raisebox{-2pt}{\scriptsize #1}}{\ \,\longrightarrow\,\ }}%
4359        }%
4360}
4361
4362%% Les configurations électroniques de quelques éléments.
4363
4364\newcommand{\ConfigurationAzote}{\ensuremath{%
4365        \raisebox{0.5pt}{|}\,%
4366        \underset{\text{\normalsize $\cdot$}}%
4367        {\overset{\text{\raisebox{-1pt}{\normalsize $\cdot$}}}{N}}%
4368        \hskip1pt\cdot%
4369        }}
4370\newcommand{\ConfigurationOxygene}{\ensuremath{%
4371        \cdot\hskip1pt%
4372        \underset{\raisebox{2pt}{\text{\normalsize{$-$}}}}%
4373        {\overset{\raisebox{-2pt}{\text{\normalsize{$-$}}}}{O}}%
4374        \hskip1pt\cdot%
4375        }}
4376\newcommand{\ConfigurationCarbone}{\ensuremath{%
4377        \cdot\hskip1pt%
4378        \underset{\raisebox{2pt}{\text{\normalsize{$\cdot$}}}}%
4379        {\overset{\raisebox{-2pt}{\text{\normalsize{$\cdot$}}}}{C}}%
4380        \hskip1pt\cdot%
4381        }}
4382\newcommand{\ConfigurationHydrogene}{\ensuremath{H\hskip0.5pt\cdot}}
4383
4384%% Pour dessiner les spins.
4385
4386\newcommand{\spinup}{
4387        \begin{picture}(10,10)
4388        \put(2.5,2.5){$\uparrow$}
4389        \path(0,0)(10,0)(10,10)(0,10)(0,0)
4390        \end{picture}
4391        }
4392\newcommand{\spindown}{
4393        \begin{picture}(10,10)
4394        \put(2.5,2.5){$\downarrow$}
4395        \path(0,0)(10,0)(10,10)(0,10)(0,0)
4396        \end{picture}
4397        }
4398\newcommand{\spindouble}{
4399        \begin{picture}(10,10)
4400        \put(1,2.5){$\uparrow\!\downarrow$}
4401        \path(0,0)(10,0)(10,10)(0,10)(0,0)
4402        \end{picture}
4403        }
4404\newcommand{\spinvide}{
4405        \begin{picture}(10,10)
4406        \path(0,0)(10,0)(10,10)(0,10)(0,0)
4407        \end{picture}
4408        }
4409
4410%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4411%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4412%%%%%%%%%%%%%%%%%%%%%%%%%%                    %%%%%%%%%%%%%%%%%%%%%%%%%
4413%%%%%%%%%%%%%%%%%%%%%%%%%%   L'informatique   %%%%%%%%%%%%%%%%%%%%%%%%%
4414%%%%%%%%%%%%%%%%%%%%%%%%%%                    %%%%%%%%%%%%%%%%%%%%%%%%%
4415%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4416%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4417
4418% Insérer un code source en précisant le nom de la version et le fichier
4419% à inclure.
4420% Exemple: \codesource{Version Caml}{PS/MP_INFO_X_1_2002__1.ml}
4421%\newcommand{\codesource}[2]{%
4422%       \medskip\noindent%
4423%       \textbf{#1}%
4424%       \verbatiminput{#2}%
4425%}
4426% Je modifie cette commande car depuis 2003, seules les versions Caml des
4427% corrigés sont proposées.
4428%\newcommand{\codesource}[1]{\medskip\noindent\verbatiminput{#1}}
4429\newcommand{\codesource}[1]{%
4430    \medskip\noindent%
4431    \NoAutoSpaceBeforeFDP%  Pas d'espace avant les ':' et ';'
4432    \verbatiminput{#1}%
4433    \AutoSpaceBeforeFDP%
4434    }
4435
4436
4437
4438%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4439%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4440%%%%%%%%%%%%%%%%%%%%%%%                          %%%%%%%%%%%%%%%%%%%%%%
4441%%%%%%%%%%%%%%%%%%%%%%%   Les fautes de frappe   %%%%%%%%%%%%%%%%%%%%%%
4442%%%%%%%%%%%%%%%%%%%%%%%                          %%%%%%%%%%%%%%%%%%%%%%
4443%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4444%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4445
4446%\renewcommand{\mp}{\pm}
4447\renewcommand{\mp}{\errmessage{Commande interdite: utiliser \string\pm}}
4448
Note: See TracBrowser for help on using the repository browser.