> 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/questions-et-reponses/16-how-can-i-include-matlab-code-in-my-latex-document.md).

# Comment puis-je inclure du code MATLAB dans mon document LaTeX ?

Le [`matlab-prettifier` package](https://www.ctan.org/pkg/matlab-prettifier) peut être utilisé pour mettre en forme du code MATLAB et a été écrit en réponse à une [question sur tex.stackexchange](https://tex.stackexchange.com/questions/75116/what-can-i-use-to-typeset-matlab-code-in-my-document).

### L’environnement lstlisting

Après avoir inclus le `matlab-prettifier` package dans votre document via

```latex
\usepackage{matlab-prettifier}
```

vous pouvez utiliser l’ `lstlisting` environnement pour mettre en forme du code MATLAB :

```latex
\begin{lstlisting}[<options>]
MATLAB code...
\end{lstlisting}
```

où `<options>` est une liste de paramètres séparés par des virgules dont les valeurs sont définies à l’aide de paires clé-valeur (c.-à-d., `paramètre=valeur`).

* **Remarque** : Le `matlab-prettifier` package est construit autour du `package listings` , permettant d’utiliser les fonctionnalités fournies par `package listings`, y compris les paramètres à l’intérieur de `<options>` du `lstlisting` environnement. Cependant, certains `package listings` paramètres doivent *pas* être utilisés, et il est conseillé aux lecteurs de consulter le [`matlab-prettifier` documentation](http://mirrors.ctan.org/macros/latex/contrib/matlab-prettifier/matlab-prettifier.pdf) pour plus de détails.

L’apparence visuelle du code MATLAB mis en forme peut être modifiée à l’aide du `paramètre de style, qui prend en charge trois valeurs :` Matlab-editor

* `Matlab-bw`
* `Matlab-Pyglike`
* `Les exemples suivants montrent comment utiliser ces styles.`

Voici un exemple, utilisant du code MATLAB tiré de

### Exemples

Voici un exemple, utilisant du code MATLAB tiré de `matlab-prettifier`de sa documentation, qui applique le `Matlab-bw` style :

```latex
\documentclass[a4paper]{article}
\usepackage{matlab-prettifier}
\begin{document}

\begin{lstlisting}[style=Matlab-editor]
%% Code MATLAB exemple
!mv test.txt test2.txt
A = [1, 2, 3;... foo
     4, 5, 6];
s = 'abcd';
for k = 1:4
  Disp(s(k)) % bar
end
%{
créez un vecteur ligne x, puis inversez-le
%}
x = linspace(0,1,101);
y = x(end:-1:1);
\end{lstlisting}
\end{document}
```

&#x20;[Ouvrez cet exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=A+matlab-prettifier+example\&snip=%5Cdocumentclass%5Ba4paper%5D%7Barticle%7D%0A%5Cusepackage%7Bmatlab-prettifier%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cbegin%7Blstlisting%7D%5Bstyle%3DMatlab-editor%5D%0A%25%25+Sample+Matlab+code%0A%21mv+test.txt+test2.txt%0AA+%3D+%5B1%2C+2%2C+3%3B...+foo%0A+++++4%2C+5%2C+6%5D%3B%0As+%3D+%27abcd%27%3B%0Afor+k+%3D+1%3A4%0A++Disp%28s%28k%29%29+%25+bar%0Aend%0A%25%7B%0Acreate+row+vector+x%2C+then+reverse+it%0A%25%7D%0Ax+%3D+linspace%280%2C1%2C101%29%3B%0Ay+%3D+x%28end%3A-1%3A1%29%3B%0A%5Cend%7Blstlisting%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Code MATLAB mis en forme dans LaTeX sur Overleaf](/files/e9dd5ffb540c6fa692e2b1775e4b98f1d77950dc)

L’exemple suivant définit des valeurs pour les `cadre` et `numéros` paramètres fournis par le `package listings` package :

```latex
\documentclass[a4paper]{article}
\usepackage{matlab-prettifier}
\begin{document}

\begin{lstlisting}[
frame=single,
numbers=left,
style=Matlab-Pyglike]
%% Code MATLAB exemple
!mv test.txt test2.txt
A = [1, 2, 3;... foo
     4, 5, 6];
s = 'abcd';
for k = 1:4
  Disp(s(k)) % bar
end
%{
créez un vecteur ligne x, puis inversez-le
%}
x = linspace(0,1,101);
y = x(end:-1:1);
\end{lstlisting}
\end{document}
```

&#x20;[Ouvrez cet exemple dans Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=A+second+matlab-prettifier+example\&snip=%5Cdocumentclass%5Ba4paper%5D%7Barticle%7D%0A%5Cusepackage%7Bmatlab-prettifier%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cbegin%7Blstlisting%7D%5B%0Aframe%3Dsingle%2C%0Anumbers%3Dleft%2C%0Astyle%3DMatlab-Pyglike%5D%0A%25%25+Sample+Matlab+code%0A%21mv+test.txt+test2.txt%0AA+%3D+%5B1%2C+2%2C+3%3B...+foo%0A+++++4%2C+5%2C+6%5D%3B%0As+%3D+%27abcd%27%3B%0Afor+k+%3D+1%3A4%0A++Disp%28s%28k%29%29+%25+bar%0Aend%0A%25%7B%0Acreate+row+vector+x%2C+then+reverse+it%0A%25%7D%0Ax+%3D+linspace%280%2C1%2C101%29%3B%0Ay+%3D+x%28end%3A-1%3A1%29%3B%0A%5Cend%7Blstlisting%7D%0A%5Cend%7Bdocument%7D)

Cet exemple produit le résultat suivant :

![Code MATLAB mis en forme dans LaTeX sur Overleaf](/files/a999b2cdd53c14e7477b46daac057bee1c8d1a8d)

### Utilisation du code MATLAB stocké dans un fichier

Au lieu d’inclure directement du code MATLAB dans votre document LaTeX, utilisez la `\lstinputlisting` commande pour importer et mettre en forme le code contenu dans un fichier externe :

```latex
\lstinputlisting[<options>]{<filename>}
```

où

* `<options>` est une liste de paramètres séparés par des virgules fournis sous forme de paires clé-valeur [(voir ci-dessus)](#matopts);
* `<filename>` est le chemin vers un fichier contenant du code MATLAB.

Par exemple, pour importer le fichier `sample.m` et le mettre en forme dans le `Matlab-Pyglike` style, vous écririez

```latex
\lstinputlisting[style=Matlab-bw]{sample.m}
```

L’exemple suivant encadre le code, numérote les lignes de code (à gauche), et utilise la `Matlab-Pyglike` style :

```latex
\lstinputlisting[
frame=single,
numbers=left,
style=Matlab-editor
]{sample.m}
```

Sélectionnez l’ `Ouvrez cet exemple dans Overleaf` lien ([voir ci-dessous](#openol)) pour créer automatiquement un projet Overleaf qui inclut le `sample.m` fichier de code MATLAB.

**`main.tex`**

```latex
\documentclass[a4paper]{article}
\usepackage{matlab-prettifier}
\begin{document}
\title{Importation et mise en forme du code MATLAB contenu dans un fichier}
\lstinputlisting[
frame=single,
numbers=left,
style=Matlab-bw
]{sample.m}

\end{document}
```

**`sample.m`**

```latex
%% Code MATLAB exemple
!mv test.txt test2.txt
A = [1, 2, 3;... foo
     4, 5, 6];
s = 'abcd';
for k = 1:4
  Disp(s(k)) % bar
end
%{
créez un vecteur ligne x, puis inversez-le
%}
x = linspace(0,1,101);
y = x(end:-1:1);
```

&#x20;[Ouvrez cet exemple dans Overleaf (cela crée le `sample.m` fichier).](https://www.overleaf.com/docs?engine=pdflatex\&snip_name\[]=main.tex\&snip\[]=%5Cdocumentclass%5Ba4paper%5D%7Barticle%7D%0A%5Cusepackage%7Bmatlab-prettifier%7D%0A%5Cbegin%7Bdocument%7D%0A%5Ctitle%7BImporting+and+typesetting+MATLAB+code+contained+in+a+file%7D%0A%5Clstinputlisting%5B%0Aframe%3Dsingle%2C%0Anumbers%3Dleft%2C%0Astyle%3DMatlab-bw%0A%5D%7Bsample.m%7D%0A%0A%5Cend%7Bdocument%7D\&snip_name\[]=sample.m\&snip\[]=%25%25+Sample+Matlab+code%0A%21mv+test.txt+test2.txt%0AA+%3D+%5B1%2C+2%2C+3%3B...+foo%0A+++++4%2C+5%2C+6%5D%3B%0As+%3D+%27abcd%27%3B%0Afor+k+%3D+1%3A4%0A++Disp%28s%28k%29%29+%25+bar%0Aend%0A%25%7B%0Acreate+row+vector+x%2C+then+reverse+it%0A%25%7D%0Ax+%3D+linspace%280%2C1%2C101%29%3B%0Ay+%3D+x%28end%3A-1%3A1%29%3B\&main_document=main.tex)

Cet exemple produit le résultat suivant :

![Code MATLAB mis en forme dans LaTeX sur Overleaf](/files/e9cc9749ac668f13ec1d43c3e95446942aff6da7)


---

# 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/questions-et-reponses/16-how-can-i-include-matlab-code-in-my-latex-document.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.
