LaTeX/Écrire de la physique
La physique nécessite des éléments supplémentaires par rapport aux mathématiques. La plupart de ces éléments sont accessibles dans le mode mathématique, mais ils sont présentés ici. Certaines extensions sont spécifiques à la physique.
Nombres
modifierL'extension numprint
fournit la commande \numprint
qui met en forme automatiquement les grands nombres[1] : avant et après le séparateur décimal, les chiffres sont groupés par trois et ces groupes sont séparés par une espace. Par exemple
\usepackage{numprint} … \numprint{123456,789123}
donne
123 456,789 123
En particulier, hors du mode mathématique, la commande \numprint
permet de supprimer l'espace ajoutée après la virgule.
Mode mathématiques
modifierEn mode mathématiques, la commande \mho
affiche le symbole du mho, , et \hbar
affiche .
Unités
modifierExtension siunitx
modifier
Selon les mots de l'auteur de cette extension, Joseph Wright: CTAN, je cite :
« Le paquet siunitx prend le meilleur des packages existants et ajoute de nouvelles fonctionnalités et une interface cohérente. Un certain nombre de nouvelles idées ont été intégrées, pour combler les lacunes des packages existants. Le paquet fournit également une compatibilité descendante avec
SIunits
,sistyle
,unitsdef
etunits
. L'objectif est d'avoir un package pour répondre à tous les besoins possibles liés à l'unité aux utilisateurs de LaTeX. »
Extension SIunits
modifier
SIunits
est incompatible avec certaines extensions, notamment la commande \square
de l'extension amssymb
, et la commande \gray
de pstricks
. Pour éviter les conflits, on peut charger les options squaren
et Gray
, on utilise alors :
\square
avecamssymb
et\squaren
avecSIunits
;\gray
avecpstricks
et\Gray
avecSIunits
.
Ceci permet d'assurer la compatibilité avec du code sans SIunits
. Nous considérerons cette hypothèse par la suite.
\usepackage[squaren,Gray]{SIunits}
Fonctionnement général
modifierPour écrire les unités du système international, on dispose de l'extension SIunits
; attention, ici, le « S » et le « I » doivent être en capitales. Les symboles des unités sont alors accessibles par des commandes portant leur nom anglais (par exemple \kilogram
, \meter
). Ces commandes sont utilisables dans le texte ou dans des formules mathématiques :
Il vaut mieux exprimer la vitesse
en mètres par seconde (\meter\per\second)
plutôt qu'en kilomètres par heure (\kilo\meter\per\hour).
On a~:
\[
1 \kilo\meter\per\hour = \numprint{0,278} \meter\per\second
\]
On dispose également d'une commande
\unit{nombre}{\unité}
par exemple
\unit{10}{\meter}
pour avoir « 10 m ». L'avantage est que la typographie est correcte, notamment pour le préfixe µ (micro) : la commande \mu
en mode mathématiques donne un caractère italique alors qu'avec \micro
il est droit. De plus, cela gère automatiquement les espaces : espace insécable entre le nombre et l'unité, qui n'a pas la même taille que les espaces entre les composantes de l'unité.
Pour les grands nombres, on utilisera
\unit{\numprint{''nombre''}}{\''unité''}
On peut appeler l'extension avec des options :
\usepackage[''option'']{SIunits}
les principales options permettent de définir le séparateur dans le cas d'une grandeur produit de grandeurs fondamentales, lorsque l'on utilise \usk
ou .
à l'intérieur du deuxième bloc de \unit
:
cdot
(centered dot) : les différentes unités sont séparées par un point centré ;thinspace
: dans le cas d'une grandeur produit de grandeurs fondamentale, les différentes unités sont séparées par une petite espace ;mediumqspace
: le nombre et l'unité sont séparés d'une espace moyenne ;thickqspace
: le nombre et l'unité sont séparés d'une grande espace.
Par exemple :
\usepackage[squaren, Gray, cdot]{SIunits}
Unités de base
modifierLes unités SI et dérivées sont obtenues simplement en écrivant leur nom anglais précédé de la contre-oblique.
Unité | Commande | Résultat |
---|---|---|
kilogramme | \kilogram |
kg |
mètre | \metre , \meter |
m |
seconde | \second |
s |
ampère | \ampere |
A |
kelvin | \kelvin |
K |
mole | \mole |
mol |
candela | \candela |
cd |
Les unités dérivées sont : \hertz
(Hz), \pascal
(Pa), \newton
(N), \joule
(J), \watt
(W), \coulomb
(C), \volt
(V), \farad
(F), \ohm
(Ω), \siemens
(S), \weber
(Wb), \tesla
(T), \henry
(H), \celsius
(°C), \lumen
(lm), \lux
(lu), \becquerel
(Bq), \Gray
[2] (Gy), \sievert
(Sv).
Un certain nombre d'unités non-Si sont également définies : \angstrom
(Å), \arcminute
('), \arcsecond
("), \are
(a), \atomicmass
(u), \barn
(b),
\bbar
(b), \bel
(B), \curie
(Ci), \dday
(d), \degree
(°), \electronvolt
(eV), \gal
(Gal), \gram
(g), \hectare
(ha), \hour
(h), \liter
(L), \litre
(l), \minute
(min), \neper
(Np), \rad
(rad), \rem
(rem), \roentgen
(R), \rperminute
(r/min), \tonne
(t).
Préfixes multiplicatifs
modifierLes préfixes s'utilisent de la même manière. On a donc : \yocto
(y, 10-24), \zepto
(z, 10-21), …, \micro
(µ, 10-6), \milli
(m, 10-3), \centi
(c, 10-2), \deci
(d, 10-1), \deca
(da, 10), \hecto
(h, 102), \kilo
(k, 103), \mega
(M, 106), …, \zetta
(Z, 1021), \yotta
(Y, 1024).
Si l'on intègre un « d » à la fin du préfixe, cela génère la puissance de 10, par exemple
\unit{5}{\micro\meter}
donne 5 µm, mais\unit{5}{\microd\meter}
donne 5 10-6 m
Si l'on veut mettre un point centré, il faut écrire \unit{5}{.\microd\metre}
, mais alors, on a un espace puis un point. On peut utiliser
$\unit{5 \cdot 10^{-6}}{\meter}$
Unités composées
modifierL'extension contient un certain nombre d'unités composées. Il suffit d'utiliser le nom en anglais, en un seul mot, par exemple
\squaremeter
: m2 ;\cubicmeter
: m3 ;\squaremeterpercubicmeter
: m2/m3 ;\kilogramsquaremeter
: kg⋅m2 ;\kilogrampersquaremeter
: kg/m2 ;\kilogrampersquaremeternp
: kg⋅m-2 ;\kilowatthour
: kWh ;- …
On peut aussi composer ses propres unités :
- pour multiplier des unités entre elles, il suffit de les mettre les unes après les autres, elles sont alors accolées ; on peut les séparer par un point « . » ou par la commande
\usk
(unit skip) pour utiliser le délimiteur défini en option (si l'on a choisi l'optionmediumspace
, le point sera remplacé par une espace moyenne) ; - pour placer une barre de fraction, on utilise
\per
; - pour élever à la puissance :
- -1 : on fait précéder l'unité par
\reciprocal
, par exemple\reciprocal\second
pour s-1 - 2 : on fait précéder l'unité par
\squaren
[3] ou suivre par\squared
, par exemple\squaren\meter
ou\meter\squared
pour m2 ; - 3 : on fait précéder l'unité par
\cubic
ou suivre par\cubed
, par exemple\cubic\meter
ou\meter\cubed
pour m3 ; - -2 : on fait précéder l'unité par
\rpsquare
ou suivre par\rpsquared
, par exemple\rpsquare\meter
ou\meter\rpsquared
pour m-2 ; - -3 : on fait précéder l'unité par
\rpcubic
ou suivre par\rpcubed
, par exemple\rpcubic\meter
ou\meter\rpcubed
pour m-3 ; - une puissance quelconque :
\power{unité}{puissance}
, par exemple\power{m}{\mathit{n}}
pour mn.
- -1 : on fait précéder l'unité par
Par exemple
\unit{25}{\kilogram.\meter \per \squaren \second}
donne 25 kg⋅m/s2\unit{25}{\kilogram.\meter.\rpsquare \second}
donne 25 kg⋅m⋅s-2
Extension sistyle
modifier
L'utilisation de l'extension sistyle
— ici, le « s » et le « i » sont en bas-de-casse — est beaucoup plus simple que SIunits
. On utilise la commande
\SI{nombre}{unité}
mais ici, l'unité est composée comme en mode mathématique. Cela est laissé à l'entière responsabilité de l'utilisateur. Par exemple
\SI{1}{N}=\SI{1}{kg.m/s^2}
Le point est remplacé par un point centré ; si l'on veut utiliser le point comme séparateur décimal, on utilise \pnt
, par exemple
\SI{}{MPa^{0 \pnt 5}}
pour (MPa)0.5.
La commande \tfrac{dividende}{diviseur}
permet d'écrire un rapport d'unités sous la forme d'une petite fraction.
L'extension fournit des commandes pour certaines unités qui ne sont pas des lettres latines :
\angstrom
: Å ;\micro
: µ ;\ohm
: Ω ;\degC
: °C ;\degF
: °F ;\arcdeg
: ° ;\arcmin
: ' ;\arcsec
: ".
La commande \num*{nombre}
formate les nombres, en séparant les groupes de trois chiffres par une espace. Elle fournit également une notation simplifiée des puissances de 10, avec e
:
1e2
donne 1×102- e -0,5
donne -10-0.5
Pour avoir la virgule comme séparateur décimal, il faut employer
\SIdecimalsign{,}
La commande \num
a le même effet, mais utlise des chiffres bas-de-casse (ceux obtenus avec \oldstylenums
).
L'extension fournit également une mise en forme des angles :
\ang{degrés; minutes; secondes}
par exemple
\ang{3; 2; 1}
donne 3°2'1"
Réactions nucléaires
modifierPour pouvoir écrire une réaction nucléaire, il est utile de savoir utiliser les instructions d’indices et d’exposants. Sauf qu’il faut les placer avant l’élément concerné et pas après comme en mathématique. Pour cela, il suffit simplement d’écrire l'instruction voulue avant. Par exemple _{6}^{12}C_{6}
nous donne . On peut donc facilement écrire des réactions nucléaires complètes en utilisant cette méthode. Ainsi _{7}^{14}N + _{0}^{1}n \longrightarrow _{1}^{1}p + _{6}^{14}C
permet d’écrire .
Il semblerait qu’il soit préférable d’écrire en premier la partie concernant l'indice et ensuite d’écrire la partie concernant l’exposant. Par exemple, on écrira _{6}^{12}C
(ce qui nous donne ) à la place de ^{12}_{6}C
(ce qui nous donne ) ; le rendu est plus parlant.
Quand l'indice et l'exposant n'ont pas le même nombre de caractères --- 1 pour “6” et 2 pour “12” --- on peut les aligner à droite à l'aide de la commande \phantom
, comme dans _{\phantom{1}6}^{12}C
, qui donnera un résultat plus joli que , sans espace sous le “2”.
Il est possible de définir la commande \newcommand{\noyau}[3]{\prescript{#2}{#3}{\mathrm{#1}}} dans l'entête. Le paquet mathtools définit la commande \prescript. On doit donc aussi l'inclure pour pouvoir utiliser cette commande. L'avantage de cette commande est que, par exemple pour le carbone 12, le 6 sera correctement aligné à droite, ce qui n'est pas le cas avec les commandes du paragraphe précédent. Pour écrire un noyau de carbone 12, vous devez simplement taper \noyau{C}{12}{6}
dans un environnement mathématique. Il est possible de laisser l'un des paramètres libre en écrivant par exemple \noyau{C}{12}{}
qui afficher .
Notation de Dirac, bra et ket
modifierPour la physique quantique, les instructions utiles sont \langle
pour faire , \rangle
pour faire et le tube |.
On peut utiliser l'extension braket
, qui fournit
- les commandes
\bra
,\ket
et\braket
pour des symboles de taille fixée, - et les commandes
\Bra
,\Ket
et\Braket
pour des symboles extensibles selon leur contenu.
On utilisera comme suit :
\bra{a} \ket{b} \braket{a|P|b}
On peut aussi choisir de créer soi-même des commandes bra
et ket
, pour plus de souplesse. Par exemple, on peut mettre dans l'en-tête :
\usepackage{xspace}
\newcommand{\ket}[1]{\ensuremath{|#1\rangle}\xspace}
\newcommand{\bra}[1]{\ensuremath{\langle #1|}\xspace}
Ainsi, \ket{n_i}
donne , \bra{p}
donne et \bra{u_i} \hat{A} \ket{u_j}
donne .
On peut ensuite créer de nouvelles commandes utilisant \bra
et \ket
, par exemple
\newcommand{\uiacuj}{\ensuremath{\bra{u_i}\hat{A}^\dagger \ket{u_j}}\xspace}
et donc \uiacuj
donne .
Ou encore, pour rendre cette dernière commande paramétrable :
\newcommand{\elemm}[3]{\ensuremath{\bra{#1}\hat{#2}\ket{#3}}\xspace}
par exemple, \elemm{a}{W}{b}
donne , et \elemm{a_n^{(1)}}{H_0}{b_p^{(2)}}
donne .
Pour écrire un produit scalaire, de la même façon :
\newcommand{\psh}[2]{\ensuremath{\langle #1|#2\rangle}\xspace}
et donc \psh{a}{b}
donne . Ou encore \psh{x-\ell}{\varphi}
qui donne .
Un joli exemple, pour le plaisir .En plus des commandes ci-dessus, on peut faire du zèle et créer les commandes suivantes
\newcommand{\upp}[1]{\ensuremath{^{(#1)}}\xspace}
\newcommand{\sqmod}[1]{\ensuremath{|#1|^2}\xspace}
Et alors
\ket{n} \upp{1} \sim
\ket{n} +
\sum_{p\neq n} \frac{\sqmod{\elemm{p}{W}{n}}}{E_n\upp{0}-E_p\upp{0}}
\ket{p}
donne
ce qui, sans les macros, s'écrirait in extenso
| n \rangle^{(1)} \sim
| n \rangle +
\sum_{p\neq n}\frac{\langle p | \hat{W} |n \rangle}{E_n^{(0)}-E_p^{(0)}}
| p \rangle
Notes
modifier- ↑ dans la documentation Babel du 18 mars 2010, Daniel Flipo recommande l'utilisation de la commande
\numprint
au lieu de la commande\nombre
, voir [[1]] en bas de page 4. - ↑ avec l'option
Gray
lors de l'appel de l'extension - ↑ avec l'option
squaren
lors de l'appel de l'extension