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 | |
---|