Ineinander verschachtelte Strings bei Listings (mit Bsp.)

Schriftbild, Absätze und Auflistungen einstellen


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

Ineinander verschachtelte Strings bei Listings (mit Bsp.)

Beitrag von Bausparfuchs »

Hallo,

ich möchte, dass im Listing im unten angehängten Minimalbeispiel folgender Teil als String markiert wird:
"Stoerungen_Fehler".Fehlercodes.
Ich brauche also quasi sowohl
morestring=[b]"
als auch
morestring=[s]{".}{.}
simultan.

ich habe schon geschätzt 20 verschiedene Versionen, basierend auf den Optionen im Reference Guide ausprobiert, bekomme es allerdings nicht hin.

Anscheinend bin ich einfach zu blöd. Es wäre toll, wenn mir jemand kurz dabei unter die Arme greifen würde.

Danke schonmal

Gruß
\documentclass{scrreprt}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{listings}

\lstset{language=[LaTeX]Tex,%C++,
    keywordstyle=\color{RoyalBlue},%\bfseries,
    basicstyle=\small\ttfamily,
    %identifierstyle=\color{NavyBlue},
    commentstyle=\color{Green}\ttfamily,
    stringstyle=\rmfamily,
    numbers=none,%left,%
    numberstyle=\scriptsize,%\tiny
    stepnumber=5,
    numbersep=8pt,
    showstringspaces=false,
    breaklines=true,
    frameround=ftff,
    frame=single,
    belowcaptionskip=.75\baselineskip,
    float=[bth]
    %frame=L
} 

\lstdefinelanguage{AWL}
{
morekeywords = {), )MCR, *D, *I, *R, +, +AR1, +AR2, +D, +I, +R, -D, -I, -R, /D, /I, /R,=, ==D, <>D, >D,
=D, <=D, ==I, <>I, >I, =I, <=I, ==R, <>R, >R, =R, <=R, A, A(, ABS, ACOS, AD, AN, AN(, ASIN, ATAN, AUF,
AW, BE, BEA, BEB, BEC, BEU, BLD, BTD, BTI, CAD, CALL, CAR, CAW, CC, CD, CDB, CLR, COS, CU, DBLG, DBNO,
DEC, DILG, DINO, DTB, DTR, ENT, EXP, FN, FP, FR, INC, INVD, INVI, ITB, ITD, JBI, JC, JCB, JCN, JL, JM,
JMZ, JN, JNB, JNBI, JO, JOS, JP, JPZ, JU, JUO, JZ, L, LAR1, LAR2, LC, LEAVE,LN, LOOP, MCR(, MCRA, MCRD,
MOD, NEGD, NEGI, NEGR, NOP, NOT, O, O(, OD, ON, ON(, OPN, OW, POP, PUSH, R, RLD, RLDA, RND, RND+, RRD,
RRDA, S, SA, SAVE, SD, SE, SET, SF, SI, SIN,SLD, SLW, SP, SPA, SPB, SPBB, SPBI, SPBIN, SPBN, SPBNB, SPL,
SPM, SPMZ, SPN, SPO, SPP, SPPZ, SPS, SPU, SPZ, SQR, SQRT, SRD, SRW, SS, SSD, SSI, STW, SV, T, TAD, TAK,
TAN, TAR, TAR1, TAR2,TAW, TDB, TRUNC, U, U(, UC, UD, UN, NR, RET_VAL, UN(, UW, X, X(, XN, XN(, XOD, XOW,
ZR, ZV},
sensitive=false,
morecomment=[l]{//},
morestring=[b]",
morestring=[s]{".}{.},
%moredelim=**[is]{".}{.},
keywordstyle=\scriptsize\bfseries\color{RoyalBlue}, % Anzeige-Stil für Schlüsselworte
basicstyle=\scriptsize\ttfamily,	 % Basisstil aller Code-Elemente
commentstyle=\scriptsize\itshape\color{green}, % Anzeige-Stil für Kommentare
stringstyle=\color{Maroon},
}


\begin{document}

\begin{lstlisting}[language=AWL]
//fake
U(    
O     "TRUE"	
ON    "TRUE"
)     
=     L     20.0
//start
CALL  "CTRL_RTM"
  NR     :=B#16#0
  S      :=L20.0
  RET_VAL:="Stoerungen_Fehler".Fehlercodes.RETVAL_BETRIEBSSTUNDEN
 
\end{lstlisting}
\end{document}