listings dans Scissor LaTeX
Le package listings fonctionne en partie dans Scissor LaTeX : lstlisting garde le code exactement tel que vous l’avez tapé et le colore quand vous indiquez language= sur l’environnement, et \lstinline fonctionne ; \lstset, les numéros de ligne, les cadres, les légendes et les étiquettes sont ignorés, et \lstinputlisting est ignorée.
Ce que fait le package
listings compose du code source. L’environnement lstlisting conserve les retours à la ligne et les espaces, et avec language=Python (ou C, Java, SQL ...) il compose les mots-clés, les commentaires et les chaînes dans des styles différents. Des options ajoutent des numéros de ligne, des cadres, des légendes et des couleurs, soit pour un listing, soit pour tout le document avec \lstset. \lstinline en est la forme en ligne, et \lstinputlisting lit le code dans un fichier.
Ce qui fonctionne ici
| Fonction | Dans Scissor LaTeX | Remarques |
|---|---|---|
\begin{lstlisting} ... \end{lstlisting} | Fonctionne | En chasse fixe, exactement tel que tapé. |
[language=Python] sur l’environnement | Fonctionne | Coloration syntaxique selon un schéma fixe. |
[language={[Sharp]C}] et autres dialectes | Fonctionne | Le dialecte entre crochets est lu avec le nom. |
\lstinline|code|, \lstinline{code} | Fonctionne | En chasse fixe, sans couleurs. |
numbers=left, frame=single, basicstyle, keywordstyle, backgroundcolor | Ignorée | Ignorées sans message. |
caption=, label= | Ignorée | Aucune légende ne s’affiche, et un \ref vers l’étiquette affiche « ?? ». |
\lstset{...}, \lstdefinestyle, style= | Ignorée | Ignorées, y compris un language= défini à cet endroit. |
\lstinputlisting{file} | Non prise en charge | Ignorée avec un message. |
\lstlistoflistings, \lstnewenvironment | Non prise en charge | Ignorées avec un message. |
Les noms de langages ne tiennent pas compte de la casse. Les couleurs sont disponibles pour les langages courants comme Python, C, C++, C#, Java, JavaScript, Rust, Go, R, MATLAB, SQL, Bash, HTML et TeX. Un nom non reconnu, comme Fortran, donne du code en chasse fixe sans couleurs et sans message.
Exemples
Indiquez le langage sur chaque listing :
lstlisting avec language=Python
\begin{lstlisting}[language=Python]
def mean(values):
# average of a list of numbers
return sum(values) / len(values)
print(mean([40, 44, 48]))
\end{lstlisting}Un langage défini avec \lstset n’est pas utilisé : ce listing n’a donc pas de couleurs. Les options de mise en page comme numbers et frame sont ignorées elles aussi :
\lstset est ignorée
\documentclass{article}
\usepackage{listings}
\lstset{language=SQL, numbers=left, frame=single}
\begin{document}
\begin{lstlisting}
SELECT name FROM staff WHERE id = 44;
\end{lstlisting}
\begin{lstlisting}[language=SQL]
SELECT name FROM staff WHERE id = 44;
\end{lstlisting}
\end{document}Le code en ligne avec \lstinline accepte n’importe quel délimiteur, comme \verb :
\lstinline dans une phrase
The loop \lstinline|for i in range(44):| runs 44 times, and
\lstinline{total += i} adds up the numbers.Un listing avec légende dans une figure
\begin{figure}[h]
\begin{lstlisting}[language=Python]
print(sum(range(44)))
\end{lstlisting}
\caption{Adding the numbers below 44}
\label{lst:sum}
\end{figure}
The code in Listing~\ref{lst:sum} prints 946.Compatibilité
- D’une installation TeX vers Scissor LaTeX : le code de chaque
lstlistings’affiche. Déplacezlanguage=de\lstsetvers chaque listing pour obtenir les couleurs, et collez dans le document le code des fichiers lus par\lstinputlisting. - De Scissor LaTeX vers une installation TeX : les documents s’y compilent sans modification, et vos options s’y appliquent.
Le manuel complet se trouve sur CTAN : ctan.org/pkg/listings. Voir aussi Code source en LaTeX et minted.
Questions et réponses
Pourquoi mes listings ne sont-ils pas colorés ?
Le langage est sans doute défini avec \lstset, qui est ignorée ici. Écrivez [language=Python] (ou votre langage) après \begin{lstlisting}.
Puis-je afficher des numéros de ligne ?
Pas encore. numbers=left est acceptée et ignorée.
Chaque exemple de cette page est composé par Scissor LaTeX lors de la génération du site. Dernière mise à jour : 2026-11-07.