Historique des modifications [retour]
cliquez ici pour masquer/afficher la révision 2
Package xcolor manquant dans l'ECM

05 Jul '23, 12:35

denis's gravatar image

denis
7.4k2510

Création d'un language listings pour les expressions régulières

Cette question ne trouve pas de réponse sur [TeX StackExchange][1], je me permets donc de la reposer ici. Je cherche à créer un language `listings` pour les expressions régulières. La difficulté principale repose sur le fait que les caractères spéciaux sont des caractères spéciaux en LaTeX également. Voici ma tentative actuelle : \documentclass[12pt]{article} \usepackage{listings} \usepackage{xcolor} \lstdefinelanguage{regex}{ commentstyle=\color{gray}, keywords={}, otherkeywords={^, \{, \}, ?, +}, alsoletter={}, basicstyle=\ttfamily, keywordstyle=\bfseries\color{green}, breakatwhitespace=false, breaklines=true, captionpos=b, showspaces=false, showstringspaces=true, literate=% *{0}{{{\color{red}0}}}1 {1}{{{\color{red}1}}}1 {2}{{{\color{red}2}}}1 {3}{{{\color{red}3}}}1 {4}{{{\color{red}4}}}1 {5}{{{\color{red}5}}}1 {6}{{{\color{red}6}}}1 {7}{{{\color{red}7}}}1 {8}{{{\color{red}8}}}1 {9}{{{\color{red}9}}}1 {(}{{{\bfseries\color{blue}(}}}1 {)}{{{\bfseries\color{blue}\)}}}1 } \begin{document} \begin{lstlisting}[language=regex] ((a+b){4,5})*c? + [^ab{?]{3} \end{lstlisting} \end{document} C'est un peu moche mais j'y suis presque. Le problème c'est que les parenthèses fermantes ne se colorent pas avec cette définition. J'ai déjà essayé d'enlever le `\` devant la parenthèse, ça ne change rien. Comment puis-je faire pour corriger ça ? Est-ce qu'il y a un paquet existant / une meilleure manière de le faire ? [1]: https://tex.stackexchange.com/questions/690180/creating-a-regex-language-for-listings
cliquez ici pour masquer/afficher la révision 1

05 Jul '23, 12:00

olirwin's gravatar image

olirwin
4314

Création d'un language listings pour les expressions régulières

Cette question ne trouve pas de réponse sur [TeX StackExchange][1], je me permets donc de la reposer ici. Je cherche à créer un language `listings` pour les expressions régulières. La difficulté principale repose sur le fait que les caractères spéciaux sont des caractères spéciaux en LaTeX également. Voici ma tentative actuelle : \documentclass[12pt]{article} \usepackage{listings} \lstdefinelanguage{regex}{ commentstyle=\color{gray}, keywords={}, otherkeywords={^, \{, \}, ?, +}, alsoletter={}, basicstyle=\ttfamily, keywordstyle=\bfseries\color{green}, breakatwhitespace=false, breaklines=true, captionpos=b, showspaces=false, showstringspaces=true, literate=% *{0}{{{\color{red}0}}}1 {1}{{{\color{red}1}}}1 {2}{{{\color{red}2}}}1 {3}{{{\color{red}3}}}1 {4}{{{\color{red}4}}}1 {5}{{{\color{red}5}}}1 {6}{{{\color{red}6}}}1 {7}{{{\color{red}7}}}1 {8}{{{\color{red}8}}}1 {9}{{{\color{red}9}}}1 {(}{{{\bfseries\color{blue}(}}}1 {)}{{{\bfseries\color{blue}\)}}}1 } \begin{document} \begin{lstlisting}[language=regex] ((a+b){4,5})*c? + [^ab{?]{3} \end{lstlisting} \end{document} C'est un peu moche mais j'y suis presque. Le problème c'est que les parenthèses fermantes ne se colorent pas avec cette définition. J'ai déjà essayé d'enlever le `\` devant la parenthèse, ça ne change rien. Comment puis-je faire pour corriger ça ? Est-ce qu'il y a un paquet existant / une meilleure manière de le faire ? [1]: https://tex.stackexchange.com/questions/690180/creating-a-regex-language-for-listings