Paquet LaTeX pour faire la mise en évidence syntaxique du code dans différentes langues
je cherche un paquet LaTeX qui fait de la mise en évidence syntaxique sur le code. Par exemple, en ce moment j'utilise le bloc mot à mot pour écrire le code:
begin{verbatim}
<html>
<head>
<title>Hello</title>
</head>
<body>Hello</body>
</html>
end{verbatim}
Et cela fonctionne très bien pour afficher le code sur mon document. Mais, supposons que je veuille mettre en évidence le markup HTML de la façon dont un IDE serait dans le document de sortie? y a-t-il un paquet qui pourrait aider?
je voudrais faire la même chose pour différentes langues telles que Java, C#, HTML, CSS et ainsi de suite.
7 réponses
vous pouvez utiliser le paquet listings . Il prend en charge de nombreuses langues différentes et il ya beaucoup d'options pour personnaliser la sortie.
\documentclass{article}
\usepackage{listings}
\begin{document}
\begin{lstlisting}[language=html]
<html>
<head>
<title>Hello</title>
</head>
<body>Hello</body>
</html>
\end{lstlisting}
\end{document}
après avoir posé une question similaire j'ai créé un autre paquet qui utilise des Pygments, et offre pas mal plus d'options que texments
. Ça s'appelle minted
et est assez stable et utilisable.
juste pour le montrer, voici un code en surbrillance avec minted:
je recommande Pygments . Il accepte un morceau de code dans n'importe quelle langue et la syntaxe de sortie met en évidence le code LaTeX. Il utilise les paquets fancyvrb et color pour produire sa sortie. Je le préfère personnellement à la liste. Je pense que fancyvrb crée des résultats beaucoup plus beaux.
LGrind est-ce le. C'est un paquet LaTeX mature qui existe depuis qu'adam était cow-boy et qui supporte de nombreux langages de programmation.
j'utiliserais le paquet marqué comme mentionné par le développeur Konrad Rudolph au lieu du paquet listing . Voici pourquoi:
liste de paquet
le paquet listing ne supporte pas les couleurs par défaut. Pour utiliser les couleurs, vous devez inclure le paquet couleur et définir les règles de couleur par vous-même avec la commande \lstset comme expliqué pour le code matlab ici .
aussi, le paquet de listing ne fonctionne pas bien avec unicode, mais vous pouvez corriger 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:
colis frappé
le paquet minté prend en charge les couleurs, unicode et semble impressionnant. Cependant, pour l'utiliser, vous devez avoir python 2.6 et pygments . Dans Ubuntu, vous pouvez vérifier votre version python dans le terminal avec
python --version
et vous pouvez installer pygments avec
sudo apt-get install python-pygments
puis, puisque minted fait des appels à pygments, vous avez besoin pour le compiler avec - shell-escape comme ceci
pdflatex -shell-escape yourfile.tex
si vous utilisez un éditeur en latex comme TexMaker ou autre chose, je vous recommande d'ajouter une commande user-command, de sorte que vous puissiez toujours le 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 des listings LST dans les papiers, mais pour les sorties colorées (pour les diapos) j'utilise des Pygmées à la place.
je suggérerais de définir votre propre paquet basé sur le code tex suivant; cela vous donne une liberté totale. http://ubuntuforums.org/archive/index.php/t-331602.html