> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/fr/base-de-connaissances/166-writing-markdown-in-latex-documents.md).

# Écrire du Markdown dans des documents LaTeX

## Introduction

Pour utiliser Markdown dans un document LaTeX, vous devez charger le [`markdown` package](https://www.ctan.org/pkg/markdown) dans le préambule de votre document :

```latex
\usepackage[settings]{markdown}
```

où `[settings]` est un *ensemble facultatif* de paramètres utilisés pour configurer ou activer des fonctionnalités spécifiques du package. Reportez-vous à la `markdown` package [documentation](https://anorien.csc.warwick.ac.uk/mirrors/CTAN/macros/generic/markdown/markdown.html) pour une [description des paramètres du package (options)](https://anorien.csc.warwick.ac.uk/mirrors/CTAN/macros/generic/markdown/markdown.html#options).

Cet article passera brièvement en revue à la fois le *markdown en ligne* — écrit dans votre document — et l'importation de *markdown externe* contenu dans un fichier texte.

* **Note de mise en garde**: En général, l'utilisation de Markdown dans un document LaTeX doit être considérée comme une option complémentaire et pratique pour rédiger certains éléments du contenu de votre document, et non comme une syntaxe alternative destinée à remplacer entièrement LaTeX lui-même.

## Utilisation de fichiers Markdown externes

Utilisez la commande

```latex
\markdownInput{filename}
```

pour inclure le fichier Markdown `filename`.

L'exemple suivant insère un fichier appelé `example.md`. Utilisez le lien sous les listes de code pour les ouvrir en tant que projet Overleaf :

**`main.tex`**

```latex
\documentclass{article}
\title{Utilisation du package markdown}
\usepackage[smartEllipses]{markdown}
\begin{document}

\markdownInput{example.md}

\end{document}
```

**`example.md`**

```latex
%% example.md

# Je suis un fichier Markdown.

Et je peux faire de l'*emphase*.
## Avec des sous-titres

> Les citations en bloc sont
> écrites ainsi.
>
> Elles peuvent s'étendre sur plusieurs paragraphes,
> si vous le souhaitez.

Utilisez 3 tirets pour un tiret cadratin. Utilisez 2 tirets pour
des plages (ex., « tout est dans les chapitres 12--14 »).
Trois points ... seront convertis en points de suspension
(à condition d'inclure l'option smartEllipses
dans votre préambule). L'Unicode est pris en charge.
```

[Ouvrez ces fichiers en tant que projet Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name\[]=main.tex\&snip\[]=%5Cdocumentclass%7Barticle%7D%0A%5Ctitle%7BUsing+the+markdown+package%7D%0A%5Cusepackage%5BsmartEllipses%5D%7Bmarkdown%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5CmarkdownInput%7Bexample.md%7D%0A%0A%5Cend%7Bdocument%7D\&snip_name\[]=example.md\&snip\[]=%25%25+example.md%0A%0A%23+I%27m+a+markdown+file.%0A%0AAnd+I+can+do+%2Aemphasis%2A.%0A%23%23+With+sub-headers%0A%0A%3E+Block+quotes+are%0A%3E+written+like+so.%0A%3E%0A%3E+They+can+span+multiple+paragraphs%2C%0A%3E+if+you+like.%0A%0AUse+3+dashes+for+an+em-dash.+Use+2+dashes+for+%0Aranges+%28ex.%2C+%22it%27s+all+in+chapters+12--14%22%29.+%0AThree+dots+...+will+be+converted+to+an+ellipsis+%0A%28provided+you+include+the+smartEllipses+option+%0Ain+your+preamble%29.+Unicode+is+supported.\&main_document=main.tex)

Cet exemple produit le résultat suivant :

![Graphique montrant la sortie du package markdown](/files/a4225f1c3201b6ea0e1680b158a92c17d06dba8b)

## Utilisation du markdown en ligne

Utilisez la `markdown` environnement :

```latex
\begin{markdown}
...votre markdown
va ici...
\end{markdown}
```

pour écrire du markdown en ligne, comme le montre l'exemple suivant :

```latex
\documentclass{article}
\usepackage[hashEnumerators,smartEllipses]{markdown}
\begin{document}

Utilisation du markdown en ligne :

\begin{markdown}
Un titre h1
============

Les paragraphes sont séparés par une ligne vide.

2e paragraphe. *Italique*, **gras** et `monospace`. Les listes à puces
se présentent ainsi :

* celle-ci
* celle-là
* l'autre

> Les citations en bloc sont
> écrites ainsi.
>
> Elles peuvent s'étendre sur plusieurs paragraphes,
> si vous le souhaitez.

Un titre h2
------------

Voici une liste numérotée (utilisez l'option `hashEnumerators` si vous voulez utiliser des dièses) :

#. premier élément
#. deuxième élément
#. troisième élément

\end{markdown}
\end{document}
```

[Ouvrez cet exemple dans Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+markdown\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5BhashEnumerators%2CsmartEllipses%5D%7Bmarkdown%7D%0A%5Cbegin%7Bdocument%7D%0A%0AUsing+inline+markdown%3A%0A%0A%5Cbegin%7Bmarkdown%7D%0AAn+h1+header%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%0AParagraphs+are+separated+by+a+blank+line.+%0A%0A2nd+paragraph.+%2AItalic%2A%2C+%2A%2Abold%2A%2A%2C+and+%60monospace%60.+Itemized+lists%0Alook+like%3A%0A%0A%2A+this+one%0A%2A+that+one%0A%2A+the+other+one%0A%0A%3E+Block+quotes+are%0A%3E+written+like+so.%0A%3E%0A%3E+They+can+span+multiple+paragraphs%2C%0A%3E+if+you+like.%0A%0AAn+h2+header%0A------------%0A%0AHere%27s+a+numbered+list+%28use+%60hashEnumerators%60+option+if+you+want+to+use+hashes%29%3A%0A%0A%23.+first+item%0A%23.+second+item%0A%23.+third+item%0A%0A%5Cend%7Bmarkdown%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Exemple de mise en page de markdown en ligne dans Overleaf](/files/45530e125e39fc5cd30b2d3f7361e3c9d79eca52)

## Fonctionnalités et options du package Markdown

Nous allons ici explorer quelques-unes des [fonctionnalités et options](https://anorien.csc.warwick.ac.uk/mirrors/CTAN/macros/generic/markdown/markdown.html) fournies par le `markdown` package.

### Inclure du code dans markdown

Il existe deux mécanismes pour afficher des extraits de code (blocs de code) dans markdown :

* en indentant chaque ligne du bloc d'au moins quatre espaces ou une tabulation, ou
* en utilisant ce qu'on appelle des [blocs de code délimités](#using-fenced-code-blocks)

#### Utilisation de l'indentation pour afficher des blocs de code

L'exemple suivant utilise 4 espaces, ou plus, au début de chaque ligne de code — certaines lignes utilisent 6, 8 ou 10 espaces selon la taille de l'indentation requise :

```latex
\documentclass{article}
\usepackage{markdown}
\begin{document}
Voici quelques fragments de code indentés d'au moins 4 espaces.
\vspace{6mm}

\begin{markdown}

Voici un extrait de C :

    /* Laissez-moi itérer ... */

    int i;
    for(i=0; i<10; i++)
    {
      do-something(i)
    }

Voici du HTML :

    <html>
      <head>
        <title>Page Title</title>
      </head>
      <body>
        <h1>Ceci est un titre</h1>
          <p>Ceci est un paragraphe.</p>
      </body>
    </html>

\end{markdown}
\end{document}
```

[Ouvrez cet exemple dans Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+markdown+code+snippets\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bmarkdown%7D%0A%5Cbegin%7Bdocument%7D%0AHere+are+some+code+fragments+indented+by+at+least+4+space+characters.%0A%5Cvspace%7B6mm%7D%0A%0A%5Cbegin%7Bmarkdown%7D%0A%0AHere+is+a+fragment+of+C%3A%0A%0A++++%2F%2A+Let+me+iterate+...+%2A%2F%0A%0A++++int+i%3B%0A++++for%28i%3D0%3B+i%3C10%3B+i%2B%2B%29%0A++++%7B%0A++++++do-something%28i%29%0A++++%7D%0A%0AHere+is+some+HTML%3A%0A%0A++++%3Chtml%3E%0A++++++%3Chead%3E%0A++++++++%3Ctitle%3EPage+Title%3C%2Ftitle%3E%0A++++++%3C%2Fhead%3E%0A++++++%3Cbody%3E%0A++++++++%3Ch1%3EThis+is+a+Heading%3C%2Fh1%3E%0A++++++++++%3Cp%3EThis+is+a+paragraph.%3C%2Fp%3E%0A++++++%3C%2Fbody%3E%0A++++%3C%2Fhtml%3E%0A%0A%5Cend%7Bmarkdown%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Exemple de composition de code via markdown](/files/87aaf2c31b83d3fec4996168fc9d3ee3f66dab26)

#### Utilisation de blocs de code délimités

Un bloc de code délimité est créé en écrivant soit

* trois backticks (` ``` `), ou
* trois tildes (`~~~`)

sur les lignes avant et après le bloc de code. Avec cette méthode, vous n'avez pas besoin d'indenter les lignes, mais vous devez utiliser l'option `fencedCode` dans votre préambule :

```latex
\usepackage[fencedCode]{markdown}
```

Voici un exemple créant des blocs de code délimités à l'aide de 3 backticks (` ``` `):

````latex
\documentclass{article}
\usepackage[fencedCode]{markdown}
\begin{document}
\begin{markdown}

```
if (a > 3) {
    moveShip(5 * gravity, DOWN);
}
```

```
    <html>
      <head>
        <title>Page Title</title>
      </head>
      <body>
        <h1>Ceci est un titre</h1>
          <p>Ceci est un paragraphe.</p>
      </body>
    </html>
```
\end{markdown}
\end{document}
````

[Ouvrez cet exemple dans Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+markdown+fenced+code+blocks\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5BfencedCode%5D%7Bmarkdown%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bmarkdown%7D%0A%0A%60%60%60%0Aif+%28a+%3E+3%29+%7B%0A++++moveShip%285+%2A+gravity%2C+DOWN%29%3B%0A%7D%0A%60%60%60%0A%0A%60%60%60%0A++++%3Chtml%3E%0A++++++%3Chead%3E%0A++++++++%3Ctitle%3EPage+Title%3C%2Ftitle%3E%0A++++++%3C%2Fhead%3E%0A++++++%3Cbody%3E%0A++++++++%3Ch1%3EThis+is+a+Heading%3C%2Fh1%3E%0A++++++++++%3Cp%3EThis+is+a+paragraph.%3C%2Fp%3E%0A++++++%3C%2Fbody%3E%0A++++%3C%2Fhtml%3E%0A%60%60%60%0A%5Cend%7Bmarkdown%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Utilisation de blocs de code délimités avec le package LaTeX markdown](/files/d14d1330e74d150a828d66f01467fe8fba7760ac)

#### Coloration syntaxique

Les blocs de code délimités prennent en charge la coloration syntaxique en écrivant le nom du langage après le premier groupe de backticks (`` ` ``). Par exemple, le bloc suivant est identifié comme du Javascript en écrivant le premier groupe de backticks comme ` ``` js `:

````latex
``` js
if (a > 3) {
    moveShip(5 * gravity, DOWN);
}
```
````

Pour LaTeX, le `minted` package peut être utilisé pour la coloration syntaxique, comme le montre l'exemple suivant qui contient du Javascript (` ``` js `) et du HTML (` ``` html `):

````latex
\documentclass{article}
\usepackage{minted}
\usepackage[fencedCode]{markdown}
\begin{document}
\begin{markdown}

``` js
if (a > 3) {
    moveShip(5 * gravity, DOWN);
}
```

``` html
    <html>
      <head>
        <title>Page Title</title>
      </head>
      <body>
        <h1>Ceci est un titre</h1>
          <p>Ceci est un paragraphe.</p>
      </body>
    </html>
```
\end{markdown}
\end{document}
````

[Ouvrez cet exemple dans Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+markdown+fenced+code+blocks\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Cusepackage%5BfencedCode%5D%7Bmarkdown%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bmarkdown%7D%0A%0A%60%60%60+js%0Aif+%28a+%3E+3%29+%7B%0A++++moveShip%285+%2A+gravity%2C+DOWN%29%3B%0A%7D%0A%60%60%60%0A%0A%60%60%60+html%0A++++%3Chtml%3E%0A++++++%3Chead%3E%0A++++++++%3Ctitle%3EPage+Title%3C%2Ftitle%3E%0A++++++%3C%2Fhead%3E%0A++++++%3Cbody%3E%0A++++++++%3Ch1%3EThis+is+a+Heading%3C%2Fh1%3E%0A++++++++++%3Cp%3EThis+is+a+paragraph.%3C%2Fp%3E%0A++++++%3C%2Fbody%3E%0A++++%3C%2Fhtml%3E%0A%60%60%60%0A%5Cend%7Bmarkdown%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Coloration syntaxique avec minted et markdown](/files/099f4fa933b5a2e5b804e1483ae9f220d39df006)

### Listes

Les exemples précédents [montrent la création de listes non ordonnées](#using-inline-markdown) dans markdown à l'aide du `*` caractère. Les listes ordonnées peuvent être créées à l'aide du `#` caractère si l'option `hashEnumerators` a été spécifiée :

```latex
\usepackage[hashEnumerators]{markdown}
```

Il est également possible de créer des listes imbriquées, comme le montre l'exemple suivant :

```latex
\documentclass{article}
\usepackage[hashEnumerators]{markdown}
\begin{document}
\begin{markdown}
Voici une liste numérotée qui contient une liste imbriquée :

#. Tout d'abord, prenez ces ingrédients :

      * carottes
      * céleri
      * lentilles

#. Faites bouillir de l'eau.

#. Versez tout dans la casserole et suivez cet algorithme :

        trouver une cuillère en bois
        découvrir la casserole
        remuer
        couvrir la casserole
        équilibrer la cuillère en bois de façon précaire sur la poignée de la casserole
        attendre 10 minutes
        aller à la première étape (ou éteindre le brûleur une fois terminé)

    Ne heurtez pas la cuillère en bois, sinon elle tombera.
\end{markdown}
\end{document}
```

[Ouvrez cet exemple dans Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Creating+a+nested+list+in+markdown\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5BhashEnumerators%5D%7Bmarkdown%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bmarkdown%7D%0AHere+is+a+numbered+list+that+contains+a+nested+list%3A%0A%0A%23.+First%2C+get+these+ingredients%3A%0A%0A++++++%2A+carrots%0A++++++%2A+celery%0A++++++%2A+lentils%0A%0A%23.+Boil+some+water.%0A%0A%23.+Dump+everything+in+the+pot+and+follow+this+algorithm%3A%0A%0A++++++++find+wooden+spoon%0A++++++++uncover+pot%0A++++++++stir%0A++++++++cover+pot%0A++++++++balance+wooden+spoon+precariously+on+pot+handle%0A++++++++wait+10+minutes%0A++++++++goto+first+step+%28or+shut+off+burner+when+done%29%0A%0A++++Do+not+bump+wooden+spoon+or+it+will+fall.%0A%5Cend%7Bmarkdown%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Création de listes numérotées à l'aide du package LaTeX markdown](/files/968323cde0a5082e1c225b2e5da36282a14e1b44)

### Inclure du LaTeX dans markdown

Si vous activez l'option `hybrid` vous pouvez mélanger du code LaTeX dans Markdown !

```latex
\documentclass{article}
\usepackage[hybrid]{markdown}
\begin{document}

\begin{markdown}
Les équations mathématiques en ligne peuvent être créées ainsi : $\omega = d\phi / dt$.
Les équations mathématiques affichées peuvent s'écrire ainsi :

\begin{equation}
I = \int \rho R^{2} dV
\end{equation}

\end{markdown}
\end{document}
```

[Ouvrez cet exemple dans Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+LaTeX+code+in+markdown\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bhybrid%5D%7Bmarkdown%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cbegin%7Bmarkdown%7D%0AInline+math+equations+can+be+created+like+this%3A+%24%5Comega+%3D+d%5Cphi+%2F+dt%24.+%0ADisplay+math+can+be+written+as%3A%0A%0A%5Cbegin%7Bequation%7D%0AI+%3D+%5Cint+%5Crho+R%5E%7B2%7D+dV%0A%5Cend%7Bequation%7D%0A%0A%5Cend%7Bmarkdown%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Utilisation du code LaTeX dans markdown](/files/ffab635b85198c8636c9eb00718066fafe8b0288)

### Inclure des images

* **Remarque**: L'exemple suivant utilise un fichier graphique (`example-image.pdf`) fourni par le `mwe` package. Ces fichiers graphiques sont distribués par TeX Live et sont donc stockés sur les serveurs d'Overleaf, ce qui les rend disponibles comme espaces réservés d'images, comme dans l'exemple ci-dessous.

Les images peuvent être incluses dans markdown en écrivant le balisage au format suivant :

```latex
![texte alternatif](nom de fichier "légende de l'image")
```

Espérons que les noms de paramètres `texte alternatif`, `nom de fichier` et `"légende de l'image"` décrivent ce qu'ils font. Voici un exemple pour les illustrer :

```latex
\documentclass{article}
\usepackage[hybrid]{markdown}
% Le package mwe fournit des images d'exemple. Le charger est
% pas essentiel, car ces images se trouvent dans le chemin de recherche de LaTeX.
% Ici, nous le chargeons pour plus de clarté dans cet exemple.
\usepackage{mwe}
\begin{document}
\begin{markdown}
Cet exemple montre comment importer un fichier graphique. Ici, nous utilisons une
image d'exemple fournie par le package `mwe`.

% Utilisez \setkeys{Gin} si vous devez modifier la taille d'affichage d'une image

\setkeys{Gin}{width=.5\linewidth}
![Ceci est un texte alternatif pour décrire mon image.](example-image.jpg "Une image d'exemple fournie par le \texttt{mwe} package.")
\end{markdown}
\end{document}
```

[Ouvrez cet exemple sur Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+images+in+markdown\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bhybrid%5D%7Bmarkdown%7D%0A%25+The+mwe+package+provides+example+images.+Loading+it+is%0A%25+not+essential+because+those+images+are+in+LaTeX%27s+search+path.+%0A%25+Here%2C+we+load+it+for+clarity+in+this+example.%0A%5Cusepackage%7Bmwe%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bmarkdown%7D%0AThis+example+shows+how+to+import+a+graphics+file.+Here+we+are+using+an%0Aexample+image+provided+by+the+%60mwe%60+package.%0A%0A%25+Use+%5Csetkeys%7BGin%7D+if+you+need+to+change+an+image%27s+display+size%0A%0A%5Csetkeys%7BGin%7D%7Bwidth%3D.5%5Clinewidth%7D%0A%21%5BThis+is+alt+text+to+describe+my+image.%5D%28example-image.jpg+%22An+example+image+provided+by+the+%5Ctexttt%7Bmwe%7D+package.%22%29%0A%5Cend%7Bmarkdown%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Montrer comment importer des images dans markdown](/files/60155b122ee00daf9bf512c2de969dfba5790f28)

#### Remarque sur la largeur de l'image

Comme la plupart des packages, `markdown` charge d'autres packages, y compris [`keyval`](https://ctan.org/pkg/keyval?lang=en) et [`graphicx`](https://ctan.org/pkg/graphicx?lang=en), afin d'utiliser les commandes et fonctionnalités qu'ils fournissent. Ici, la largeur de l'image est définie à l'aide de la `\setkeys` commande, qui est fournie par `keyvals`. `Gin` est une « famille » de clés définie par le `graphicx` package.

* **Remarque**: Comme une commande LaTeX, ici `\setkeys`, est utilisée *dans* le `markdown` l'environnement `hybrid` , l'option du package markdown est requise.

## Lectures complémentaires

Overleaf a publié d'autres articles sur l'utilisation de markdown :

* [Comment écrire en Markdown sur Overleaf](/latex/fr/articles-approfondis/30-how-to-write-in-markdown-on-overleaf.md)
* [Markdown vers LaTeX avec style](/latex/fr/articles-approfondis/32-markdown-into-latex-with-style.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/fr/base-de-connaissances/166-writing-markdown-in-latex-documents.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
