I writing a documentation in LaTeX about Linux Bash resp. Shell script. And I'm having some problems:

  • How can I start a formatting at the beginning of a line?
  • How can I format between two signs, but only if both signs are in the same line (like: <>)?
  • How can I format from a minus to a space or the end of the line (not to the next line)?

Here a pic:

enter image description here

and the code in a minimal working example:


\lstset{ %
    morestring=[s][\color{OrangeRed}]{\ -}{\ },
    morestring=[s][\color{OrangeRed}]{*}{\ },
    morestring=[s][\color{OrangeRed}]{|}{\ },
    morestring=[s][\color{OrangeRed}]{\&}{\ },


Every time:
    \item the first string in a line: blue
    \item after a minus \enquote{-} (including itself), which followed a space, the string gets: red
    \item special signs \enquote{* | \&}: red
    \item after a hash \enquote{\#} (including itself): the complete line green
    \item between less/greater than \enquote{<>} (including itself): gray
    \item if a string starts with a slash \enquote{/}: this string black
    \item the rest: black

blue -red text
blue -red text  # green ...
blue-blue <gray>
blue * black    # green ...
blue -red <gray>
# green ...
/black/black/ blue -red 
blue -red /black/black/
blue -red black-black
blue black > black
blue black < black
blue -red && black -red <gray> || black -red
/black/black/ blue


Your Answer

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

Browse other questions tagged or ask your own question.