TheLOTR” post=70669Salve a tutti. Piccolo problemino con l’utilizzo di lstlisting: quando scrivo del codice java vorrei che le stringhe fossero di un colore specifico. Il punto è che stringhe e caratteri singoli in java si indicano in modi diversi: le stringhe con “stringa” e i caratteri con ‘carattere’. Per entrambi vorrei la stessa colorazione così ho inserito:
morestring={“}{”},
morestring={`}{‘}Il punto è che ovviamente se scrivo “ciao” l’ultimo apice non lo evidenzia perchè evidentemente inizia a processare il primo dei due apici iniziali come stringa ma a partire dal secondo entra nel secondo caso. Almeno credo sia così, non so se mi sono spiegato.
Come potrei risolvere?
Questo esempio minimo
`\documentclass{article}
\usepackage{listings}
\usepackage{xcolor}
\lstset{%
language=Java,%
stringstyle=\color{red},%
morestring={“}{''},%
morestring={`}{'}%
}
\begin{document}
\begin{lstlisting}
“ciao''
`a'
void
\end{lstlisting}
\end{document}`
per me funziona correttamente. Riproduco il comportamento da te descritto solo scrivendo`string={“}{''},%
morestring={`}{'}%`
Lorenzo