Le paquet LaTeX pour faire la coloration syntaxique du code dans différentes langues
-
08-07-2019 - |
Question
Je recherche un paquet LaTeX qui met en évidence la syntaxe dans le code. Par exemple, à l’heure actuelle, j’utilise le bloc textuel pour écrire le code:
\begin{verbatim}
<html>
<head>
<title>Hello</title>
</head>
<body>Hello</body>
</html>
\end{verbatim}
Et cela fonctionne bien pour afficher le code sur mon document. Mais supposons que je veuille mettre en évidence le balisage HTML comme le ferait un IDE dans le document de sortie? Existe-t-il un package susceptible de vous aider?
J'aimerais faire la même chose pour différents langages tels que Java, C #, HTML, CSS, etc.
La solution
Vous pouvez utiliser le package listings . Il prend en charge de nombreuses langues et propose de nombreuses options pour personnaliser le résultat.
\documentclass{article}
\usepackage{listings}
\begin{document}
\begin{lstlisting}[language=html]
<html>
<head>
<title>Hello</title>
</head>
<body>Hello</body>
</html>
\end{lstlisting}
\end{document}
Autres conseils
Après avoir posé une question similaire , j'ai créé un autre package qui utilise Pygments, et offre un peu plus d’options que texments
. Il est appelé créé
et est relativement stable et utilisable.
Juste pour le montrer, voici un code surligné en menthe:
Je recommande Pygments . Il accepte un morceau de code dans n'importe quel langage et affiche le code LaTeX mis en évidence par la syntaxe. Il utilise fancyvrb et color pour produire sa sortie. Personnellement, je le préfère au paquet de liste. Je pense que fancyvrb donne des résultats beaucoup plus jolis.
LGrind le fait. C'est un paquet LaTeX mature qui existe depuis qu'Adam était un cow-boy et supporte de nombreux langages de programmation.
J'utiliserais le package créé mentionné dans le développeur Konrad Rudolph au lieu du package d'annonce . Voici pourquoi:
package de liste
Le package de référencement ne prend pas en charge les couleurs par défaut. Pour utiliser les couleurs, vous devez inclure le package de couleurs et définir vous-même les règles de couleur à l'aide de la commande \ lstset , comme expliqué pour le code matlab ici .
De plus, le package de référencement ne fonctionne pas bien avec Unicode, mais vous pouvez résoudre ces problèmes comme expliqué ici et ici .
Le code suivant
\documentclass{article}
\usepackage{listings}
\begin{document}
\begin{lstlisting}[language=html]
<html>
<head>
<title>Hello</title>
</head>
<body>Hello</body>
</html>
\end{lstlisting}
\end{document}
produit l'image suivante:
package créé
Le paquet neuf prend en charge les couleurs, l’unicode et un rendu superbe. Cependant, pour pouvoir l'utiliser, vous devez disposer de python 2.6 et de pygments . Dans Ubuntu, vous pouvez vérifier votre version de python dans le terminal avec
python --version
et vous pouvez installer des pygments avec
sudo apt-get install python-pygments
Puis, comme Minted appelle des pygments, vous devez le compiler avec -shell-escape comme ceci
pdflatex -shell-escape yourfile.tex
Si vous utilisez un éditeur de latex comme TexMaker ou quelque chose du genre, je vous conseillerais d'ajouter une commande utilisateur, de sorte que vous puissiez toujours la compiler dans l'éditeur.
Le code suivant
\documentclass{article}
\usepackage{minted}
\begin{document}
\begin{minted}{html}
<!DOCTYPE html>
<html>
<head>
<title>Hello</title>
</head>
<body>Hello</body>
</html>
\end{minted}
\end{document}
produit l'image suivante:
J'utilise principalement lstlistings dans les papiers, mais pour les sorties en couleur (pour les diapositives), j'utilise plutôt des pygments.
Je suggérerais de définir votre propre paquet sur la base du code tex suivant; cela vous donne une totale liberté. http://ubuntuforums.org/archive/index.php/t-331602. html