vendredi 27 mars 2020

Écrire en LaTeX

Bonjour à tou-te-s !
Ça faisait un petit moment que j'avais rien écrit sur ce blog, je verrai si je rajoute des explications sur plein de sujets plus récents du second semestre ou pas. Je tiens avant tout à préciser que je ne suis pas du tout un-e expert-e du sujet, mais disons que ça fait un petit moment que je l'utilise donc voilà.

Où trouver un bon éditeur LaTeX ?
Je vous conseille chaleureusement d'utiliser TeXworks. Si ça marche pas tout seul (j'ai pas essayé), je l'ai originellement obtenu grâce à MiKTeX (version portable de mon côté pour économiser un peu de place, mais j'ai l'impression qu'ils ont mélangé les installateurs donc bon, vous emmerdez pas, utilisez le MiKTeX normal, ça devrait fonctionner). Une fois installé, t'as le classique CtrlS pour sauvegarder, et CtrlT pour compiler et visualiser le document.

Comment commencer un document LaTeX ?
Si vous voulez un article tout simple, ça ressemble à ceci :
\documentclass[npt]{article}
% commentaire
% quelques "\usepackage{nomdupackage}" éventuellement
\begin{document}
...
\end{document}
Ici, n ne peut valoir que 10, 11 ou 12. Ça change juste la taille de la police d'écriture. Les usepackage permettent d'inclure des symboles, des formattages, etc. qui n'existent pas dans la bibliothèque de base. Voici quelques packages fréquemment utilisés :
  • amsfonts : Permet d'écrire des trucs comme \mathbb R qui donne le symbole des réels \(\mathbb R\), \mathbb N qui donne le symboles des entiers naturels \(\mathbb N\), \mathbb{R^N} pour le symbole des suites de réels, etc.
  • amssymb : Permet d'écrire des symboles comme \Box (symbole usuel du CQFD), par exemple.
  • arydshln : Permet de faire des tableaux avec des bordures un peu différentes – en tirets, en points, etc.
Bref, il y en a une tonne, et c'est pas rare d'inclure des packages juste pour un truc. Tout texte s'écrit juste comme ça, y a pas de guillemets ou de trucs à rajouter. Par contre, les équations s'écrivent soit sous la forme $...$ (inclut l'équation dans la même ligne que le texte qui l'entoure, mais les équations à l'intérieur peuvent être très moches avec des fractions ou des sommes/intégrales/...), soit sous la forme $⁤$...$$ (crée une nouvelle ligne juste pour l'équation, mais donne des équations beaucoup plus jolies à visualiser).

Quelques symboles et fonctions usuels.
Syntaxiquement, les fonctions en LaTeX, c'est les trucs qui font \nomFonction{argument}. Les symboles, c'est juste \nomSymbole. Y a certains symboles que tu peux mettre en-dehors d'équations (donc pas forcément entre dollars), mais je vous laisse voir lesquelles fonctionnent.
  • Typiquement, les lettres grecques c'est juste \leurnom en minuscule, ou \Leurnom en majuscule. Donc par exemple, zêta c'est juste \zeta en minuscule, \Zeta en majuscule, xi c'est juste \xi ou \Xi, delta c'est \delta ou \Delta, etc.
  • Pour écrire des espaces dans une équation, il y a ~ ou \; notamment. À l'inverse, pour mêler des caractères, on peut écrire \!. Par exemple \(\rm o\!e\) c'est {\rm o\!e}.
  • Pour écrire du texte dans une équation, on utilise \textrm{...}. On peut utiliser \rm pour l'appliquer sur tout ce qui suit, mais faut utiliser des espaces.
  • Y a certains symboles qui se trouvent tout simplement sur le clavier comme l'égalité, l'addition ou la soustraction, c'est juste =, + et - respectivement. Pour écrire des dérivées comme f ' c'est juste f'.
  • La puissance c'est ^{...}, et l'indice c'est _{...}. Vous pouvez enlever les accolades s'il n'y a qu'un seul caractère pour aller plus vite. Par exemple, \(e^x\) c'est e^x, et \(a_n\) c'est a_n.
  • Niveau multiplication, y a \cdot pour faire juste un point ou \times pour l'écrire en croix.
  • Niveau fraction, c'est juste \frac{a}{b}. Si il y a juste un seul symbole, on peut enlever les accolades. Faut juste faire gaffe à pas écrire \fracab car ça va être interprété comme une commande qui s'appelle fracab. Mais sinon, on peut écrire \frac a{b}, \frac ab ou \frac{a}b, toutes ces formes sont correctes.
  • Pour écrire une somme directe, c'est \oplus.
  • Pour écrire des trucs entre guillemets, c'est ``je suis entre guillemets''.
  • Pour écrire l'infini, c'est quelque chose que j'avais déjà marqué dans un exemple mais c'est \infty.
  • Pour les opérateurs comme la somme, le produit, l'intégrale, etc. c'est généralement les trois-quatres premières lettres en anglais : \sum, \prod, \int. pour écrire des trucs comme ceci : $$\sum_{bas}^{haut}argument$$ il faut écrire $⁤$\sum_{bas}^{haut}argument$$. D'ailleurs pro-tip, pour écrire dx dans une intégrale ou une dérivée écrite à la Leibniz, c'est plus rapide d'écrire {\rm d}x. C'est mieux quand le d du dx n'est pas en italique, sinon on dirait une variable.
  • Pour écrire des trucs comme \(f:x\mapsto e^x\), le symbole entre \(x\) et \(e^x\) c'est \mapsto. C'est possible d'écrire \longmapsto si vous préférez. Souvent faut aussi écrire \(f:\mathbb R\to\mathbb R\) et la flèche c'est \to ou \rightarrow. Il est également possible d'écrire \longrightarrow.
  • Pour écrire des trucs entre accolades dans une équation, on peut faire (...) bien sûr, mais si les symboles à l'intérieur sont un peu grands, on peut faire \left(...\right). On peut remplacer ( et ) par [ et ], \{ et \}, < et >, etc.
Si vous voulez voir plus de symboles, je vous conseille ce PDF : https://rpi.edu/dept/arc/training/latex/LaTeX_symbols.pdf.

Créer des fonctions (commandes).
Oui bon, on appelle pas ça des fonctions, c'est plutôt des commandes. Pour ça, avant le \begin{document}, on écrit \newcommand{\nomdelacommande}[n]{appels de variables : de #1 à #n}, avec n le nombre d'arguments possibles. Par exemple, si je veux écrire \(f(x,y,z)\) en plein milieu du texte, je peux définir la commande f comme ceci :
\newcommand{\f}[3]{$f(#1,#2,#3)$}
Puis après le \begin{document}, on peut écrire \f{x}{y}{z}, ou comme avec \frac ou les autres fois où on n'a qu'un seul symbole dans un argument, on peut enlever les accolades et écrire \f xyz, ou \f x{y}z, etc. C'est aussi possible de donner des valeurs par défaut pour les arguments de #1 à #n comme ceci :
\newcommand{\nomdelacommande}[n][default1][default2]...[defaultn]{appels de variables : de #1 à #n}

Faire des listes.
Pour commencer une liste non-exhaustive, c'est \begin{itemize}. Pour la terminer, c'est comme pour un document, c'est \end{itemize}. Pour une liste numérée, on remplace juste les itemize par des enumerate. Dans les deux cas, ce qui se trouve entre le \begin{...} et le \end{...} est exactement le même : un nouvel élément de la liste s'écrit \item. Donc par exemple, je peux écrire ceci :
\begin{itemize}
 \item Ceci est un point, et voici une équation :
  $⁤$\zeta(s)=2^s\pi^{s-1}\sin\frac{\pi s}2\Gamma(1-s)\zeta(1-s)$$
 \item Sinon, voici une liste énumérée :
  \begin{enumerate}
   \item Voici un premier élément.
   \item En voici un deuxième.
  \end{enumerate}
\end{itemize}

Faire des tableaux, matrices, vecteurs, etc. (arrays).
Bon c'est un peu chiant à écrire mais on s'y fait.
  • On commence un array par \begin{array}, on le termine avec \end{array}.
  • Contrairement aux autres fois où on avait \begin{quelquechose}, là on doit préciser la manière d'aligner le contenu de chaque colonne. \begin{array}{lcrlrlc}, par exemple, aligne chaque contenu de la première colonne à gauche (left), la deuxième colonne est centrée (centered), la troisième colonne à droite (right), la quatrième à gauche, puis à droite, puis à gauche, puis centrée.
  • Pour changer de colonne, on écrit & à l'intérieur de l'array. Pour faire une nouvelle ligne, on utilise \\.
Par exemple, pour écrire : $$\left(\begin{array}{cc}-1&1\\3&158\end{array}\right)$$ On peut faire :
\left(
\begin{array}{cc}
  -1 & 1\\
   3 & 158
\end{array}
 \right)
D'ailleurs, il est même possible de faire des équations à plusieurs variables comme ceci : $$\left\{\begin{array}{ccc}x+y&=&3\\3x-2y&=&9\end{array}\right.$$ En utilisant \right. qui ferme un \left sans qu'il y ait de caractère de fermeture visible :
\left\{
  \begin{array}{ccc}
    x+y & = & 3\\
    3x-2y & = & 9
  \end{array}
\right.

Voilà, je pense que j'ai mis un peu tout l'essentiel pour écrire des documents en LaTeX.