Listati di codice in LaTeX
Metti il codice in un ambiente verbatim, lstlisting o minted, oppure usa \verb|...| nel testo; Scissor LaTeX lo compone in un font a spaziatura fissa esattamente come l’hai scritto e colora la sintassi quando indichi il linguaggio.
verbatim
Dentro verbatim nulla viene interpretato: barre rovesciate, parentesi graffe, $ e % vengono stampati così come sono, e gli a capo e gli spazi vengono mantenuti. È il modo più semplice per mostrare codice o l’output di un terminale.
Un blocco verbatim
\begin{verbatim}
for i in range(44):
print(i) # $ and \textbf stay as typed
\end{verbatim}Codice nel testo: \verb
\verb mostra un breve frammento di codice all’interno di una frase. Il carattere subito dopo \verb è il delimitatore; scegline uno che non compare nel codice, come | o +.
Codice nel testo con \verb e \texttt
Call \verb|total(xs)| to add the list, or type \verb+x_1 = 44+.
For plain words in a monospaced font, \texttt{main.tex} is enough.\texttt{...} cambia solo il font: lì i caratteri speciali come _ e % vanno comunque protetti, mentre \verb li prende così come sono.
listings: lstlisting con un linguaggio
Il pacchetto listings ti offre lstlisting. Con language=... il codice riceve i colori della sintassi.
lstlisting con language=Python
\begin{lstlisting}[language=Python]
def total(xs):
"""Add up the numbers in xs."""
return sum(xs)
print(total([40, 4])) # 44
\end{lstlisting}\lstinline|code| è la forma nel testo, come \verb.
minted
minted prende il linguaggio come argomento. In un’installazione TeX richiede Python e l’opzione -shell-escape; in Scissor LaTeX funziona senza nessuno dei due.
minted con un linguaggio
\begin{minted}{rust}
fn main() {
let answer = 40 + 4;
println!("{}", answer);
}
\end{minted}
Inline: \mintinline{rust}{let x = 44;}Cosa viene letto
| Comando | In Scissor LaTeX | Note |
|---|---|---|
verbatim, verbatim* | Funziona | |
\verb, \verb* | Funziona | |
lstlisting | In parte | language= viene letto; ogni altra opzione (numbers, caption, frame, basicstyle, firstline ...) viene ignorata. |
\lstinline | Funziona | Nessun colore della sintassi nel testo. |
\lstset{...} | Escluso | Un linguaggio impostato qui non viene usato; indica language= in ogni listato. |
minted | In parte | Il linguaggio viene letto; opzioni come linenos e frame vengono ignorate. |
\mintinline{lang}{code} | Funziona | Nessun colore della sintassi nel testo. |
Verbatim, BVerbatim (fancyvrb) | In parte | Mostrati come verbatim; le opzioni vengono ignorate. |
\lstinputlisting{file}, \inputminted{lang}{file} | Non supportato | Ignorati con un messaggio; incolla il codice nel documento. |
\lstnewenvironment, \newminted | Non supportato |
I colori della sintassi sono disponibili per i linguaggi più comuni, tra cui Python, C, C++, Java, JavaScript, TypeScript, Rust, Go, Ruby, R, Julia, MATLAB, SQL, Bash, HTML, CSS, JSON, YAML, TeX e LaTeX. I nomi dei linguaggi non distinguono tra maiuscole e minuscole, quindi Python e python sono equivalenti. Un nome non riconosciuto produce codice semplice a spaziatura fissa.
Codice da un file
\lstinputlisting e \inputminted leggono il codice da un altro file in un’installazione TeX. Scissor LaTeX li ignora e lo segnala nella scheda Problemi:
\lstinputlisting viene ignorato
The script below is not shown:
\lstinputlisting[language=Python]{scripts/total.py}
Paste the code into an lstlisting environment instead.Scheda Problemi: 1 included file is not part of this conversion
Cosa cambia rispetto a un’installazione TeX
Vedi listings e minted per le pagine dei pacchetti. I manuali completi sono su CTAN: listings, minted e fancyvrb.
Domande e risposte
Come si aggiunge un blocco di codice in LaTeX?
Racchiudi il codice in \begin{verbatim} ... \end{verbatim}, oppure in lstlisting con [language=Python] per avere i colori della sintassi.
minted funziona senza shell escape?
In Scissor LaTeX sì: gli ambienti minted vengono colorati senza Python né -shell-escape. In un’installazione TeX minted richiede comunque entrambi.
Perché mancano i numeri di riga nel mio listato?
Scissor LaTeX ignora numbers=left e le altre opzioni di layout di listings. Viene letto solo il linguaggio.
Ogni esempio di questa pagina viene composto da Scissor LaTeX quando il sito viene generato. Ultimo aggiornamento: 2026-11-07.