# Formule mathématique : utiliser du LaTeX ou MathJax

Il est possible de saisir des formules mathématiques aussi bien dans les contenus du cours, que dans les quiz, le wiki et les messages du forum de discussion.


---

## Intégrer des formules dans du texte

Cette action peut être réalisée dans un composant "standard" au format HTML > Text, dans l'énoncé ou les réponses d'un quiz, dans un wiki ou dans un message d'un forum de discussion.


:::info
Les balises encadrant les formules ne sont pas les mêmes selon les contextes.

:::

Sept types de balises existent et permettent soit d'écrire dans la phrase soit en séparant la formule sur une ligne isolée et centrée.

| Balise | En ligne | Isolée |
|--------|----------|--------|
|        | `$laformule$` | `\(laformule\)` | `[mathjaxinline] laformule [/mathjaxinline]` | `$$laformule$$` | `\[laformule\]` | `\begin{equation} laformule \end{equation}` | `[mathjax] laformule [/mathjax]` |
| **Composant Text** | \-       | oui    | oui | \-  | oui | oui | oui |
| **Quiz** | \-       | oui    | oui | \-  | oui  | oui | oui |
| **Wiki** | oui      | \-     | \-  | oui | \-  | oui | \-  |
| **Forum** | oui      | \-     | oui | oui | \-  | oui | oui |


---


## Intégrer une portion de cours en LaTeX

Si vous souhaitez intégrer dans les contenus du cours des documents en LaTeX (si par exemple vous utilisez des macros, des sections, etc.) vous devrez utiliser un composant spécial "E-text Written in LaTeX".

Il faut tout d'abord vous rendre dans les paramètres avancés du cours pour autoriser le compilateur LaTeX :

 ![](https://support.fun-edu.fr/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzE0NGZkNTM4LTgwYjAtNDI0NS05Y2U0LTEyOGExMWRkNjI4Mi8zYzc3ODMwZC05NTVlLTQ4MWEtOTE0Ny0xYzFlYzlkMWMzNTMvaW1hZ2UiLCJ0eXBlIjoiYXR0YWNobWVudCIsImlhdCI6MTc5MDA3OTMwMCwiZXhwIjoxNzkwMTY1NzAwfQ.Lw8X3D1_jI-ZswKUzZbz5ygyDgPADvq60C4zNc1JFpc)

Dans l'unité du cours, il faut ajouter un composant HTML puis choisir "E-text Written in LaTeX".

 ![](https://support.fun-edu.fr/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzE0NGZkNTM4LTgwYjAtNDI0NS05Y2U0LTEyOGExMWRkNjI4Mi85N2IxZmM4OS1hMmU2LTRhMjUtOTU2NS05ZGY5OGExOTgwMjAvaW1hZ2UiLCJ0eXBlIjoiYXR0YWNobWVudCIsImlhdCI6MTc5MDA3OTMwMCwiZXhwIjoxNzkwMTY1NzAwfQ.lzICyqVzkRZBG_uAGWU4BGk10vPYb10YjK17wNvOLh0)

Pour ajouter du contenu dans le composant, il faut cliquer tout d'abord sur "éditer" puis sur "Exécuter le compilateur LaTex" et enfin coller le code source LaTeX dans la fenêtre "High Level Source Editing".  


:::warning
NB : *Attention à ne copier que les éléments inclus dans le* `*\\begin {document}*` *...* `*\\end {document}*``.`

:::

Il faut ensuite cliquer sur "Save & Compile to edX XML" puis cliquer sur "Enregistrer" sur la fenêtre d'édition du composant.


:::info
NB : *La fenêtre "Modification: E-text Written in LaTeX" ne se met pas à jour après la compilation du code LaTeX, il n'est pas possible de "prévisualiser" à cette étape le résultat, mais il faut attendre d'arriver sur la page présentant tout le contenu de l'unité*.

:::

Si vous souhaitez pouvoir intégrer du texte directement à partir d'un fichier LaTeX, il est possible de l'importer au lieu de le copier-coller en utilisant le bouton "upload".


---

## Documentation sur les syntaxes LaTeX et MathJax

* LaTeX : quelques exemples en [Mathématiques, Physique et Chimie](http://fr.wikibooks.org/wiki/LaTeX/%C3%89crire_des_math%C3%A9matiques)
* MathJax: <http://www.mathjax.org/>, et quelques exemples <http://www.mathjax.org/demos/tex-samples/>


---

## Exemples

### Exemples simples


----

```
\(E = m c^2\)
```

 ![](https://support.fun-edu.fr/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzE0NGZkNTM4LTgwYjAtNDI0NS05Y2U0LTEyOGExMWRkNjI4Mi8xMTdkMWEzYi04ZGNmLTRmNWMtODRjNS1kMWYxZWJhMjc1MGEvaW1hZ2UiLCJ0eXBlIjoiYXR0YWNobWVudCIsImlhdCI6MTc5MDA3OTMwMCwiZXhwIjoxNzkwMTY1NzAwfQ.xV9dHdfixX4j_PN4SltX8E4pcNHuQpew2YL_1tNcYQA)


----

```
\[ 1 + \frac{q^2}{(1-q)}+\frac{q^6}{(1-q)(1-q^2)}+\cdots = \prod_{j=0}^{\infty}\frac{1}{(1-q^{5j+2})(1-q^{5j+3})}, \quad\quad \text{for $|q|<1$}. \]
```

 ![](https://support.fun-edu.fr/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzE0NGZkNTM4LTgwYjAtNDI0NS05Y2U0LTEyOGExMWRkNjI4Mi9lNzgzZjJlNS00ZWFhLTRkOWUtYTcyMC0xMDUzYjhhNzM0MjkvaW1hZ2UiLCJ0eXBlIjoiYXR0YWNobWVudCIsImlhdCI6MTc5MDA3OTMwMCwiZXhwIjoxNzkwMTY1NzAwfQ.4Hd9Bur3sZEIzTigRvKa7FT_nNJrewvo057NxYaQfZ0)


----

### Exemples en LaTeX


----

```
\begin{equation}  
   f(x) = x-1  
\end{equation}
```

 ![](https://support.fun-edu.fr/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzE0NGZkNTM4LTgwYjAtNDI0NS05Y2U0LTEyOGExMWRkNjI4Mi9lOTg2N2NlNS1hZGJiLTQ3MDMtOTJlZS1kMGVmNTFjOWE5Y2UvaW1hZ2UiLCJ0eXBlIjoiYXR0YWNobWVudCIsImlhdCI6MTc5MDA3OTMwMCwiZXhwIjoxNzkwMTY1NzAwfQ.9TAsgCtVzhIdSuaX6TnMwkb9qsGPLbd0wEK_XYrTXgo)


----

```
\begin{equation}  
   f(x) = 0 \iff x = 1  
\end{equation}
```

 ![](https://support.fun-edu.fr/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzE0NGZkNTM4LTgwYjAtNDI0NS05Y2U0LTEyOGExMWRkNjI4Mi81MThmOTQyYi0wYTc5LTQwMjktOTFhNS04ZDQwZWM5ZGQ4OWIvaW1hZ2UiLCJ0eXBlIjoiYXR0YWNobWVudCIsImlhdCI6MTc5MDA3OTMwMCwiZXhwIjoxNzkwMTY1NzAwfQ.eN0IW-Q9DrDH0W28zGsTQCjMYn9c5FnIDL4CmHmJ5C8)


----

```
\begin{equation}   
x_{1,2} = \frac{- b \pm \sqrt{\Delta}}{2a}  
\end{equation}
```

 ![](https://support.fun-edu.fr/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzE0NGZkNTM4LTgwYjAtNDI0NS05Y2U0LTEyOGExMWRkNjI4Mi8yZThjYmFhNC0wYTBkLTQ1MTktYTc4NS1mZWU3YjkxMDZmOTQvaW1hZ2UiLCJ0eXBlIjoiYXR0YWNobWVudCIsImlhdCI6MTc5MDA3OTMwMCwiZXhwIjoxNzkwMTY1NzAwfQ.FUDlqnMFPwncAODci4LNAiBWCfXzh9JKy_sFjqG4ywc)


----

### Exemples en MathJax


----

```
[mathjaxinline]f[/mathjaxinline]
```

 ![](https://support.fun-edu.fr/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzE0NGZkNTM4LTgwYjAtNDI0NS05Y2U0LTEyOGExMWRkNjI4Mi9lOWEwM2VhNy1lODNiLTRhODQtYTMyZC1hYzYzMWY1NDM4NjcvaW1hZ2UiLCJ0eXBlIjoiYXR0YWNobWVudCIsImlhdCI6MTc5MDA3OTMwMCwiZXhwIjoxNzkwMTY1NzAwfQ.CZtXEv1EBX9uFrmW3ClXBlDSoXOqcJppvos6qe_lYB0)


----

```
[mathjaxinline]U=\begin{pmatrix}  
1 & 2\\  
      3 & 4  
      \end{pmatrix}[/mathjaxinline]
```

 ![](https://support.fun-edu.fr/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzE0NGZkNTM4LTgwYjAtNDI0NS05Y2U0LTEyOGExMWRkNjI4Mi84ZDVlY2U2My0zYTZhLTRjMWQtYWFhZi02YjVmYWUyNTdmZmEvaW1hZ2UiLCJ0eXBlIjoiYXR0YWNobWVudCIsImlhdCI6MTc5MDA3OTMwMCwiZXhwIjoxNzkwMTY1NzAwfQ._iFpVDVPxhe5B0KIF15ZXlxekKhFYUI5H3vMmadgLEQ)


---

## Astuces et compléments d'information

### Intégrer du latex ou mathjax directement dans un composant, ou en utilisant un composant dédié

* Il est possible d'utiliser du latex et du mathjax directement dans les composants exercices ou HTML.
* Ou sinon vous pouvez utiliser le composant "e-text written in latex" pour du contenu informatif ou "problem written in latex" pour des exercices ; ce sont ces composants qui permettent d'accéder au compilateur latex.

### LateX to edX

Le compilateur d'open edX a ses particularités. Pour lui soumettre du code, vous pouvez opter par copier-coller ou import de fichier, mais dans un cas comme dans l'autre, vous pourrez avoir souvent des erreurs d'exécution du compilateur, même si votre latex est conforme aux normes du langage latex, car il y a certaines choses que le compilateur Open edX "n'aime pas".

En effet, l'outil utilisé latex2edx est instable (comme le reconnait edX) en particulier quand on insère du latex dans les composants exercices. Et le composant "e-text written in latex" et autres composants de ce type, sont des prototypes non maintenus [comme indiqué dans la documentation edX en anglais](http://edx-partner-course-staff.readthedocs.org/en/latest/exercises_tools/problem_in_latex.html).

> This problem type is a prototype, and is not supported. By default, the ability to create these problems is not enabled in Studio. You must change the advanced settings in your course before you can create problems with LaTeX. Use this problem type with caution.


Il n'est par ailleurs pas possible d'insérer les documents latex "tels quels" à moins de respecter les macros documentées ici : <http://mitocw.github.io/latex2edx/html/macros.html>


### Utiliser les balises begin et end du LateX

Lors de nos tests, nous avons constaté que ce que le compilateur latex n'aime pas notamment, c'est quand il y a autre chose que des équations entre des balises begin et end. Par exemple ce code latex...

```
La fonction $f$ est définie par   
\[   
f(x) = x-1   
\].   
On a alors   
\begin{equation}   
f(x) = 0 \iff x = 1   
\end{equation}
```

... ne marche pas. Il faut mettre dans l'éditeur simplement les éléments latex...

```
\(f\)
```

```
\begin{equation}   
f(x) = x-1   
\end{equation}
```

```
\begin{equation}   
f(x) = 0 \iff x = 1   
\end{equation}
```

...puis cliquer sur save & compile. Puis sur le bouton bleu "enregistrer" pour voir le résultat. Et ensuite rouvrir le composant. Les équations apparaissent en langage compris par edX. Il suffit de rajouter les éléments de français de liaison directement sans passer via le compilateur. Ce qui donne dans cet exemple :

```
La fonction [mathjaxinline]f[/mathjaxinline] est définie par : [mathjax]f(x) = x-1[/mathjax]   
On a alors [mathjax]f(x) = 0 \iff x = 1[/mathjax]
```

... par contre, si après vous relancez le compilateur latex, il écrasera tout le texte rajouté rajouté à la main.

### Se servir des composants LateX uniquement pour accéder au compilateur

Compte tenu des tests décrits dans le paragraphe ci-dessus, il nous semble que l'utilisation du compilateur LateX est plutôt la suivante : le compilateur latex sert avant tout à convertir du latex en code compris par edX, qu'il suffit ensuite de copier coller dans n'importe quel composant html ou exercice.

### Écrire directement dans le langage edX sans utiliser le compilateur

Dans l'absolu, si le langage tel qu'utilisé par edx vous est connu (il semble convertir en mathjax), vous pouvez l'écrire directement sans passer par le compilateur.

### `{pmatrix}` et `{equation}`

Le fait qu'il y ait écrit `{pmatrix}` au lieu de `{equation}` balise `\begin \end` n'est pas une anomalie, mais visiblement une question d'interprétation du compilateur, en vue du rendu visuel. Vous pouvez tenter de remplacer l'un par l'autre et voir que le rendu est différent, mais que cela ne génère pas d'erreur.

### Ne pas uploader vos formules en masse pour identifier les récalcitrantes

Nous vous invitons à ne pas uploader ou copier-coller un grand nombre de formules d'un coup, mais une par une ou en petit lot, afin d'identifier rapidement celles qui ne passent pas et celles qui passent et ainsi pouvoir copier-coller le code correctement interprété par edx dans le composant concerné ou tenter de corriger l'équation qu ne passe pas.

Pour plus d'informations vous pouvez suivre le lien suivant : [MathJax TeX and LaTeX Support](https://docs.mathjax.org/en/v2.5-latest/tex.html)

Par ailleurs, vous pouvez télécharger l'ouvrage "LATEX appliqué aux Sciences Humaines" de Maïeul Rouquette avec la participation de Brendan Chabannes et Enimie Rouquette. 

Cet ouvrage conseillé par un doctorant est sous Licence Creatives Commons - Paternité - Partage des Conditions Initiales à l’Identique 3.0 France (http://creativecommons.org/licenses/by-sa/3.0/fr/legalcode).

Vous pouvez télécharger cet ouvrage ci-dessous.

[latex-sciences-humaines.pdf 1341215](https://support.fun-edu.fr/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzE0NGZkNTM4LTgwYjAtNDI0NS05Y2U0LTEyOGExMWRkNjI4Mi9mNzM0YzQzMy1lZGRjLTQ4ZmYtODU4OS1jODhjOWU0MmU1NzYvbGF0ZXgtc2NpZW5jZXMtaHVtYWluZXMucGRmIiwidHlwZSI6ImF0dGFjaG1lbnQiLCJpYXQiOjE3OTAwNzkzMDAsImV4cCI6MTc5MDE2NTcwMH0.MpQDH59vcsovKIagHYHXWMpywQ7s39tCsSTX1GIeHRI)


Chers concepteurs friands de LateX et Mathjax, vos **retours d'expérience** sur la question sont les bienvenus !