16

I'm using the listings package and was already able to modify the color of the keywords and almost all elements I was interested in. The only thing that remains is the color of the digits. I'd like to have all numbers within my source codes to be coloured in red. Do you know any smart way of doing this ?

I was able to change the colour of single digits but not of whole numbers. Any help would be greatly appreciated.

15
\documentclass[12pt]{article}
\usepackage{xcolor}
\usepackage{listings}
\lstset{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
}
\begin{document}

\begin{lstlisting}
This is a test
123 + 456 = 789
\end{lstlisting}

\end{document}

enter image description here

  • +1 Is it possible to change the hard-coded list of {*}{{{\color{red}*}}}1 into a looping form? – xport Jul 20 '11 at 21:26
  • 1
    This also colors numbers inside comments, though. – Clément Nov 15 '11 at 7:17
  • 11
    @Clément: Add a star before the zero, i.e. {0}{{{\color{red}0}}}1 -> *{0}{{{\color{red}0}}}1 to only colour outside of strings and comments. You only need to do this once, so not for the rest of the numerals. – qubyte Jan 31 '12 at 15:57
  • 3
    However, be aware that, with those literate replacements of digits, if you define identifiers containing digits, listings won't be able to recognise those identifiers as such. For instance, if you have alsoletter={1},morekeywords={test1},keywordstyle=\color{blue}, then Herbert's literate replacements will prevent test8 from being coloured in blue. – jub0bs Feb 17 '14 at 12:48
  • @xport I know your question is old, but, if you're still interested, look at egreg's answer to tex.stackexchange.com/questions/164442/… – jub0bs Aug 16 '14 at 12:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.