Écrire du code dans un document latex

Comment insérer du code dans un document en latex? Y a-t-il quelque chose comme:

\begin{code} ... \end{code} 

La seule chose dont j’ai vraiment besoin est l’indentation et une police de largeur fixe. La mise en évidence de la syntaxe pourrait être intéressante, bien que ce ne soit pas obligatoire.

    Utilisez le package de Listings .

    Configuration simple pour l’en-tête LaTeX (avant \begin{document} ):

     \usepackage{listings} \usepackage{color} \definecolor{dkgreen}{rgb}{0,0.6,0} \definecolor{gray}{rgb}{0.5,0.5,0.5} \definecolor{mauve}{rgb}{0.58,0,0.82} \lstset{frame=tb, language=Java, aboveskip=3mm, belowskip=3mm, showssortingngspaces=false, columns=flexible, basicstyle={\small\ttfamily}, numbers=none, numberstyle=\tiny\color{gray}, keywordstyle=\color{blue}, commentstyle=\color{dkgreen}, ssortingngstyle=\color{mauve}, breaklines=true, breakatwhitespace=true, tabsize=3 } 

    Vous pouvez changer la langue par défaut au milieu du document avec \lstset{language=Java} .

    Exemple d’utilisation dans le document:

     \begin{lstlisting} // Hello.java import javax.swing.JApplet; import java.awt.Graphics; public class Hello extends JApplet { public void paintComponent(Graphics g) { g.drawSsortingng("Hello, world!", 65, 95); } } \end{lstlisting} 

    Voici le résultat:

    Exemple d'image

    Vous pouvez également utiliser l’environnement textuel

     \begin{verbatim} your code example \end{verbatim} 

    C’est une vieille question, mais j’ai remarqué que personne n’a dit comment append du code en ligne.

    Vous pouvez append du code en ligne avec {\tt code } ou \texttt{ code } . Si vous souhaitez formater le code en ligne, il serait préférable de créer votre propre commande

     \newcommand{\code}[1]{\texttt{#1}} 

    Notez également que les blocs de code peuvent être chargés à partir d’autres fichiers avec

     \lstinputlisting[breaklines]{source.c} 

    breaklines ne sont pas nécessaires, mais je le trouve utile. Sachez que vous devrez spécifier \usepackage{ listings } pour celui-ci.

    Les packages spécialisés tels que minted , qui s’appuie sur Pygments pour effectuer le formatage, offrent divers avantages par rapport au package d’ listings . Pour citer le manuel minted ,

    Pygments fournit une mise en évidence de la syntaxe nettement supérieure à celle des packages classiques. Par exemple, les listes ne mettent en évidence que les chaînes, les commentaires et les mots-clés. Les Pygments, quant à eux, peuvent être complètement personnalisés pour mettre en évidence tout type de jeton que le langage source pourrait prendre en charge. Cela peut inclure des séquences de formatage spéciales à l’intérieur des chaînes, des nombres, différents types d’identificateurs et des constructions exotiques telles que les balises HTML.

    Utilisez Minted .

    C’est un package qui facilite la mise en évidence de la syntaxe expressive dans LaTeX à l’aide de la puissante bibliothèque Pygments . Le paquet fournit également des options pour personnaliser la sortie du code source en surbrillance en utilisant fancyvrb .

    C’est beaucoup plus évolué et personnalisable que tout autre paquet!

    Utilisez Pygments !

    Comme il n’a pas encore été mentionné ici, il peut être utile d’append une autre option, le package spverbatim :

     \documentclass{article} \usepackage{spverbatim} \begin{document} \begin{spverbatim} Your code here \end{spverbatim} \end{document}