Die Literate-Option bei listings funktioniert nicht bei ')'

Schriftbild, Absätze und Auflistungen einstellen


Bausparfuchs
Forum-Anfänger
Forum-Anfänger
Beiträge: 30
Registriert: Do 12. Apr 2012, 14:50

Die Literate-Option bei listings funktioniert nicht bei ')'

Beitrag von Bausparfuchs »

Hallo, ich möchte über "literate" bei einem Listing diverse Zeichen einfärben. Leider funktioniert dies nicht bei einer sich schließenden Klammer. Diese bleibt immer schwarz.

Im folgenden Minimalbeispiel ist es verdeutlicht.
Wie bekomme ich diese Klammer eingefärbt?

Vielen lieben Dank schonmal im Voraus.
\documentclass{scrreprt}
\usepackage[dvipsnames,usenames]{xcolor}
\usepackage{listings}
\lstset{
    basicstyle=\scriptsize\ttfamily,	 %    
    keywordstyle=\color{RoyalBlue}, % Anzeige-Stil für Schlüsselworte
    commentstyle=\itshape\color{green}, % Anzeige-Stil für Kommentare
    stringstyle=\color{Maroon},
    numbers=none,
    numberstyle=\scriptsize,
    stepnumber=5,
    numbersep=8pt,
    showstringspaces=false,
    breaklines=true,
    frameround=ftff,
    frame=single,
    belowcaptionskip=.75\baselineskip,
    float=[bth],
} 
\lstdefinelanguage{SCL}
{morekeywords={FUNCTION_BLOCK,BEGIN,NOT,END_FUNCTION_BLOCK,FUNCTION,VOID,VAR_INPUT,END_VAR,VAR_IN_OUT,IF,
THEN,END_IF,END_FUNCTION,BOOL,FALSE,TRUE},
sensitive=false,
morecomment=[l]{//},
morestring=[b]",
literate={;}{{\textcolor{orange}{;}}}{1}
{:}{{\textcolor{orange}{:}}}{1}
{)}{{\textcolor{orange}{)}}}{1}
{(}{{\textcolor{orange}{(}}}{1}
{=}{{\textcolor{orange}{=}}}{1}
{,}{{\textcolor{orange}{,}}}{1},}

\begin{document}
\begin{lstlisting}[language=SCL]
FUNCTION_BLOCK "FB_Stoerungen_Fehler"

BEGIN 

//Stoerungen absetzen

        "Stoermeldungen" (
           IN_Stoerung              := NOT "NOT_AUS",
           IN_OUT_SM                := "Stoerungen_Fehler".Stoermeldungen._108,
           IN_OUT_Quit_SM           := "Stoerungen_Fehler".Quittierungen._108);
     
END_FUNCTION_BLOCK
\end{lstlisting}
\end{document}

Bausparfuchs
Forum-Anfänger
Forum-Anfänger
Beiträge: 30
Registriert: Do 12. Apr 2012, 14:50

Beitrag von Bausparfuchs »

Push, in Vereinbarkeit mit dem goLatex.de-Knigge. Vielleicht kann doch noch jemand helfen, der das Topic noch nicht kennt.

Gruß

Gast

Beitrag von Gast »

Ich habe das gleiche Problem.

Mein unschöner Workaround lautet wie folgt:

in \lstset setze ich
literate = {.)}{{{\color{lstred})}}}1
im Listing schreibe ich dann
a = (a + b.)
ziehmlich unschön, aber ich weiß nichts besseres

Antworten