Comment insérer du code dans un document LaTeX? Y a-t-il quelque chose comme:
\begin{code}## Heading ##
...
\end{code}
La seule chose dont j'ai vraiment besoin est l'indentation et une police à largeur fixe. La mise en évidence de la syntaxe pourrait être agréable, bien qu'elle ne soit absolument pas requise.
Réponses:
Utilisez le
listings
package.Configuration simple pour l'en-tête LaTeX (avant
\begin{document}
):Vous pouvez changer la langue par défaut au milieu du document avec
\lstset{language=Java}
.Exemple d'utilisation dans le document:
Voici le résultat:
la source
figure
pourrait produire l'effet.Vous pouvez également utiliser l'environnement textuel
la source
Voici comment ajouter du code en ligne:
Vous pouvez ajouter 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 commandeNotez également que les blocs de code peuvent être chargés à partir d'autres fichiers avec
breaklines
n'est pas obligatoire, mais je le trouve utile. Sachez que vous devrez spécifier des\usepackage{
listes}
pour celui-ci.Mise à jour: le package de listes inclut également la
\lstinline
commande, qui a les mêmes fonctionnalités de mise en évidence de la syntaxe que les commandes\lstlisting
et\lstinputlisting
(voir la réponse de Cloudanger pour les détails de configuration). Comme mentionné dans quelques autres réponses, il y a aussi le paquet minted, qui fournit la\mintinline
commande. Comme\lstinline
,\mintinline
fournit la même coloration syntaxique qu'un bloc de code normal:la source
Les packages spécialisés tels que
minted
, qui s'appuient sur Pygments pour effectuer le formatage, offrent divers avantages par rapport aulistings
package. Pour citer leminted
manuel,la source
-shell-escape
directive est, au mieux, une modification mineure des systèmes de build existants, et au pire, incompatible avec les préférences de sécurité de certains utilisateurs.Utilisez Minted .
C'est un package qui facilite la mise en évidence de la syntaxe expressive dans LaTeX en utilisant la puissante bibliothèque Pygments . Le package fournit également des options pour personnaliser la sortie du code source en surbrillance à l'aide de fancyvrb .
Il est beaucoup plus évolué et personnalisable que n'importe quel autre package!
la source
-shell-escape
pourrait être nul pour certaines personnes.Frappées workes à overleaf , TeX Live et MikTeX.
Exemple:
Production:
la source
Comme il n'est pas encore mentionné ici, il peut être utile d'ajouter une autre option, package
spverbatim
(pas de mise en évidence de la syntaxe):De plus, si la mise en évidence de la syntaxe n'est pas requise, empaquetez
alltt
:la source
Utilisez des pygments !
la source