Ho visto dell’esistenza del pacchetto listingsutf8
E ho un codice del tipo:
`\usepackage{listings}
\usepackage{listingsutf8}
\lstnewenvironment{code}%
{\lstset{%
basicstyle=\color{black}\small\ttfamily,
keywordstyle=\color{black},
commentstyle=\color{black},
stringstyle=\color{black},
backgroundcolor=\color{cyan},
moredelim=[is][\color{black}\textrm]{|*}{*|},
escapeinside={£!}{!£},
frame=lines,
rulecolor=\color{black},
inputencoding=utf8, extendedchars=true}}{}`
Ipotizziamo poi che io debba inserire una semplice “è”
Come trovo lone-byte encoding di “è” ?
E devo lasciare o eliminare la stringa
inputencoding=utf8, extendedchars=true ?Grazie
M.
Prima di tutto, quello che fai non serve a nulla: listingsutf8 ridefinisce solamente il comando \lstinputlisting, ovvero funziona solamente per listati inclusi da un file esterno. Definendoti un nuovo ambiente con \lstnewenvironment, non cambia nulla rispetto al listing originario.
Quello che devi fare (oltre a richiamare listati su file esterni) è specificare:
`\lstset{extendedchars=true,inputencoding=utf8/latin1}`
al livello globale (cioè non all’interno di un nuovo ambiente). Al posto di latin1 puoi mettere anche un’altra codifica di tipo “one-byte”.
Dopodiché nel tuo file (esterno) contenente il codice puoi usare liberamente le lettere accentate. Devi solo fare attenzione a salvarlo con la codifica utf8.
Ciao,
Antonio