- Questo topic ha 1 risposta, 2 partecipanti ed è stato aggiornato l'ultima volta 17 anni, 9 mesi fa da .
-
Topic
-
Ciao a tutti. Mi resta da risolvere un ultimo dubbio relativo alle stringhe di tipo b, introdotte con la chiave morestring del pacchetto listings. Da quello che ho capito:I tipo più comune per le stringhe è b, con un delimitatore che inizia e conclude la stringa; se dentro una stringa c’è bisogno di scrivere il delimitatore (caso raro, ma possibile), si può usare il carattere di barra rovescia backslash) per scrivere il delimitatore senza che venga conclusa la stringa.
1. Ho capito bene?
In effetti, il seguente codice funziona, nel senso che scrivendo
`\”`
dentro ad una stringa, la stringa prosegue.
`\documentclass{article}
\usepackage[italian]{babel}
\usepackage[applemac]{inputenc}
\usepackage{listings}
\usepackage{xcolor}\lstdefinelanguage{rock}
{morekeywords=%
{one,two,three,four,five,six,seven,eight,
nine,ten,eleven,twelve,o,clock,rock,around,the,tonight},
morecomment=[l][\color{green}]{//},
morecomment=[\color{green}]{/*}{*/},
morestring=[\color{red}]”}\lstset{language=rock}
\begin{document}
\begin{lstlisting}
Parole chiave: one, two, …
“Una str\”inga” Del testo
// Una riga di commento
/*Un commento*/ Del testo
\end{lstlisting}
\end{document}`
2. Tuttavia mi chiedo se sia davveo utile una possibilità come la precedente. Se all’interno di una stringa ci fosse bisogno di inserire il simbolo “, non credo si vorrebbe che esso fosse preceduto dalla barra rovescia. In altre parole, troverei più logico che il carattere di barra rovescia non fosse visualizzato nell’output finale (un po’ come accade con i delimitatori di tipo i, definibili con moredelim).C’è qualcosa che mi sfugge… 🙄
Grazie mille,
L.
- Devi essere connesso per rispondere a questo topic.