> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/it/formattazione/12-code-highlighting-with-minted.md).

# Evidenziazione del codice con minted

## Introduzione

Questo articolo mostra come usare [`minted` pacchetto](https://ctan.org/pkg/minted?lang=en) per formattare e evidenziare il codice sorgente di un linguaggio di programmazione all'interno di un documento LaTeX, a partire da un esempio:

```latex
\documentclass{article}
\usepackage{minted}
\begin{document}
\begin{minted}{python}
import numpy as np

def incmatrix(genl1,genl2):
    m = len(genl1)
    n = len(genl2)
    M = None #per diventare la matrice di incidenza
    VT = np.zeros((n*m,1), int)  #variabile fittizia

    #calcola la matrice xor bit a bit
    M1 = bitxormatrix(genl1)
    M2 = np.triu(bitxormatrix(genl2),1)

    for i in range(m-1):
        for j in range(i+1, m):
            [r,c] = np.where(M2 == M1[i,j])
            for k in range(len(r)):
                VT[(i)*n + r[k]] = 1;
                VT[(i)*n + c[k]] = 1;
                VT[(j)*n + r[k]] = 1;
                VT[(j)*n + c[k]] = 1;

                if M is None:
                    M = np.copy(VT)
                else:
                    M = np.concatenate((M, VT), 1)

                VT = np.zeros((n*m,1), int)

    return M
\end{minted}
\end{document}
```

[Apri questo esempio in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+of+the+minted+package\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bminted%7D%7Bpython%7D%0Aimport+numpy+as+np%0A++++%0Adef+incmatrix%28genl1%2Cgenl2%29%3A%0A++++m+%3D+len%28genl1%29%0A++++n+%3D+len%28genl2%29%0A++++M+%3D+None+%23to+become+the+incidence+matrix%0A++++VT+%3D+np.zeros%28%28n%2Am%2C1%29%2C+int%29++%23dummy+variable%0A++++%0A++++%23compute+the+bitwise+xor+matrix%0A++++M1+%3D+bitxormatrix%28genl1%29%0A++++M2+%3D+np.triu%28bitxormatrix%28genl2%29%2C1%29+%0A%0A++++for+i+in+range%28m-1%29%3A%0A++++++++for+j+in+range%28i%2B1%2C+m%29%3A%0A++++++++++++%5Br%2Cc%5D+%3D+np.where%28M2+%3D%3D+M1%5Bi%2Cj%5D%29%0A++++++++++++for+k+in+range%28len%28r%29%29%3A%0A++++++++++++++++VT%5B%28i%29%2An+%2B+r%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28i%29%2An+%2B+c%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28j%29%2An+%2B+r%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28j%29%2An+%2B+c%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++%0A++++++++++++++++if+M+is+None%3A%0A++++++++++++++++++++M+%3D+np.copy%28VT%29%0A++++++++++++++++else%3A%0A++++++++++++++++++++M+%3D+np.concatenate%28%28M%2C+VT%29%2C+1%29%0A++++++++++++++++%0A++++++++++++++++VT+%3D+np.zeros%28%28n%2Am%2C1%29%2C+int%29%0A++++%0A++++return+M%0A%5Cend%7Bminted%7D%0A%5Cend%7Bdocument%7D)

Questo esempio produce il seguente output:

![Esempio che mostra l'output del pacchetto minted](/files/e41afc56fdd3a622026e1323fe73d97a32ca034c)

Qui ci sono due comandi importanti. Nel preambolo il pacchetto viene importato scrivendo

```latex
\usepackage{minted}
```

poi i tag `\begin{minted}{python}` e `\end{minted}` delimitano un ambiente che stampa il testo letterale in caratteri monospaziati e applica anche il colore ai commenti, alle parole chiave e alle funzioni. Il parametro `python` è il linguaggio di programmazione in cui è scritto il codice sorgente. `minted` supporta oltre 150 linguaggi di programmazione e di markup, oltre ai file di configurazione; vedi la [guida di riferimento](#reference-guide) per un elenco dei linguaggi supportati.

**Nota**: Per `minted` far funzionare il tuo *locale* distribuzione LaTeX, è necessario installare un programma aggiuntivo chiamato [Pygments](https://pygments.org/) . [Overleaf](https://www.overleaf.com/) può risparmiarti la fatica di installarlo e di dover eseguire comandi speciali per compilare il documento—su Overleaf, i documenti che usano `minted` funzioneranno "out of the box".

## Uso di base

Come dimostrato nell'esempio seguente, l' `minted` ambiente può essere configurato per modificare la presentazione visiva del codice impaginato. Qui, l' `minted` ambiente usa diversi parametri separati da virgole nella forma `chiave=valore`:

```latex
\documentclass{article}
\usepackage{minted}
\usepackage{xcolor} % per accedere al colore nominato LightGray
\definecolor{LightGray}{gray}{0.9}
\begin{document}
\begin{minted}
[
frame=lines,
framesep=2mm,
baselinestretch=1.2,
bgcolor=LightGray,
fontsize=\footnotesize,
linenos
]
{python}
import numpy as np

def incmatrix(genl1,genl2):
    m = len(genl1)
    n = len(genl2)
    M = None #per diventare la matrice di incidenza
    VT = np.zeros((n*m,1), int)  #variabile fittizia

    #calcola la matrice xor bit a bit
    M1 = bitxormatrix(genl1)
    M2 = np.triu(bitxormatrix(genl2),1)

    for i in range(m-1):
        for j in range(i+1, m):
            [r,c] = np.where(M2 == M1[i,j])
            for k in range(len(r)):
                VT[(i)*n + r[k]] = 1;
                VT[(i)*n + c[k]] = 1;
                VT[(j)*n + r[k]] = 1;
                VT[(j)*n + c[k]] = 1;

                if M is None:
                    M = np.copy(VT)
                else:
                    M = np.concatenate((M, VT), 1)

                VT = np.zeros((n*m,1), int)

    return M
\end{minted}
\end{document}
```

[Apri questo esempio in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Another+example+of+the+minted+package\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Cusepackage%7Bxcolor%7D+%25+to+access+the+named+colour+LightGray%0A%5Cdefinecolor%7BLightGray%7D%7Bgray%7D%7B0.9%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bminted%7D%0A%5B%0Aframe%3Dlines%2C%0Aframesep%3D2mm%2C%0Abaselinestretch%3D1.2%2C%0Abgcolor%3DLightGray%2C%0Afontsize%3D%5Cfootnotesize%2C%0Alinenos%0A%5D%0A%7Bpython%7D%0Aimport+numpy+as+np%0A++++%0Adef+incmatrix%28genl1%2Cgenl2%29%3A%0A++++m+%3D+len%28genl1%29%0A++++n+%3D+len%28genl2%29%0A++++M+%3D+None+%23to+become+the+incidence+matrix%0A++++VT+%3D+np.zeros%28%28n%2Am%2C1%29%2C+int%29++%23dummy+variable%0A++++%0A++++%23compute+the+bitwise+xor+matrix%0A++++M1+%3D+bitxormatrix%28genl1%29%0A++++M2+%3D+np.triu%28bitxormatrix%28genl2%29%2C1%29+%0A%0A++++for+i+in+range%28m-1%29%3A%0A++++++++for+j+in+range%28i%2B1%2C+m%29%3A%0A++++++++++++%5Br%2Cc%5D+%3D+np.where%28M2+%3D%3D+M1%5Bi%2Cj%5D%29%0A++++++++++++for+k+in+range%28len%28r%29%29%3A%0A++++++++++++++++VT%5B%28i%29%2An+%2B+r%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28i%29%2An+%2B+c%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28j%29%2An+%2B+r%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28j%29%2An+%2B+c%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++%0A++++++++++++++++if+M+is+None%3A%0A++++++++++++++++++++M+%3D+np.copy%28VT%29%0A++++++++++++++++else%3A%0A++++++++++++++++++++M+%3D+np.concatenate%28%28M%2C+VT%29%2C+1%29%0A++++++++++++++++%0A++++++++++++++++VT+%3D+np.zeros%28%28n%2Am%2C1%29%2C+int%29%0A++++%0A++++return+M%0A%5Cend%7Bminted%7D%0A%5Cend%7Bdocument%7D)

Questo esempio produce il seguente output:

![Esempio che applica la formattazione al codice impaginato prodotto dal pacchetto minted](/files/af92bf263b075749c81df77f7b79f6ba0b5baa00)

I parametri usati in questo esempio sono:

* `frame=lines`: disegna due linee, una in alto e una in basso al codice per incorniciarlo. Altri valori possibili sono `leftline`, `topline`, `bottomline` e `single`.
* `framesep=2mm`: la separazione del riquadro è impostata a 2mm. Altre [unità di lunghezza](/latex/it/formattazione/01-lengths-in-latex.md) possono essere usate.
* `baselinestretch=1.2`: l'interlinea del codice è impostata a 1.2.
* `bgcolor=LightGray`: il colore di sfondo è impostato su `LightGray`. Devi importare il pacchetto `xcolor` perché questo funzioni. Vedi [Uso dei colori in LaTeX](/latex/it/formattazione/13-using-colors-in-latex.md) per saperne di più sulla manipolazione dei colori.
* `fontsize=\footnotesize`: la dimensione del carattere è impostata su `footnotesize`. È possibile impostare qualsiasi altra [dimensione del carattere](/latex/it/caratteri/01-font-sizes-families-and-styles.md#reference-guide) .
* `linenos`: abilita i numeri di riga.

Altre opzioni che possono essere utili sono:

* `mathescape`: abilita la modalità matematica nei commenti del codice.
* `rulecolor`: cambia il colore del riquadro.
* `showspaces`: abilita un carattere speciale per rendere visibili gli spazi.

## Inclusione di codice da un file

Il codice è di solito memorizzato in un file sorgente, quindi un comando che importa automaticamente il codice da un file è molto comodo, come dimostrato nel seguente esempio:

```latex
\documentclass{article}
\usepackage{minted}
\title{Importazione di file usando minted}
\begin{document}
Il codice seguente verrà importato direttamente da un file:

\inputminted{octave}{BitXorMatrix.m}
\end{document}
```

[Apri questo esempio in Overleaf](https://www.overleaf.com/docs?engine=\&snip_name\[]=main.tex\&snip\[]=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Ctitle%7BImporting+files+using+minted%7D%0A%5Cbegin%7Bdocument%7D%0AThe+next+code+will+be+directly+imported+from+a+file%3A%0A%0A%5Cinputminted%7Boctave%7D%7BBitXorMatrix.m%7D%0A%5Cend%7Bdocument%7D\&snip_name\[]=BitXorMatrix.m\&snip\[]=function+X+%3D+BitXorMatrix%28A%2CB%29%0A%25function+to+compute+the+sum+without+charge+of+two+vectors%0A%09%0A%09%25convert+elements+into+usigned+integers%0A%09A+%3D+uint8%28A%29%3B%0A%09B+%3D+uint8%28B%29%3B%0A%0A%09m1+%3D+length%28A%29%3B%0A%09m2+%3D+length%28B%29%3B%0A%09X+%3D+uint8%28zeros%28m1%2C+m2%29%29%3B%0A%09for+n1%3D1%3Am1%0A%09%09for+n2%3D1%3Am2%0A%09%09%09X%28n1%2C+n2%29+%3D+bitxor%28A%28n1%29%2C+B%28n2%29%29%3B%0A%09%09end%0A%09end\&main_document=main.tex)

Questo esempio produce il seguente output:

![Usare minted per importare un file di codice](/files/ad29a87c307b1b868df9aaa9a223da1034f1fbbf)

Il comando `\inputminted{octave}{BitXorMatrix.m}` importa il codice dal file `BitXorMatrix.m`, il parametro `octave` dice a LaTeX il linguaggio di programmazione del codice. Questo comando può accettare due parametri aggiuntivi per importare solo una parte del file; per esempio, per importare il codice dalla riga 2 alla riga 12, il comando diventa:

```latex
\inputminted[firstline=2, lastline=12]{octave}{BitXorMatrix.m}
```

## Codice su una sola riga

Se hai bisogno di inserire solo una riga di codice, il comando `\mint`, la cui sintassi è presentata nell'esempio seguente, farà al caso tuo.

```latex
La formattazione del codice su una sola riga funziona anche con \texttt{minted}. Per esempio, un piccolo frammento di HTML come questo:
\mint{html}|<h2>Qualcosa <b>qui</b></h2>|
\noindent può essere formattato correttamente.
```

[Apri questo esempio in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=One+line+code+example+with+minted\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Cbegin%7Bdocument%7D%0AOne-line+code+formatting+also+works+with+%5Ctexttt%7Bminted%7D.+For+example%2C+a+small+fragment+of+HTML+like+this%3A%0A%5Cmint%7Bhtml%7D%7C%3Ch2%3ESomething+%3Cb%3Ehere%3C%2Fb%3E%3C%2Fh2%3E%7C%0A%5Cnoindent+can+be+formatted+correctly.%0A%5Cend%7Bdocument%7D)

Questo esempio produce il seguente output:

![Esempio di codice su una riga con minted](/files/3a347df49845826d2093349a573364d44e88e904)

Il parametro tra parentesi graffe imposta il linguaggio di programmazione (`html` linguaggio di markup in questo caso) mentre il testo effettivo da formattare è delimitato dal carattere '|' .

## Lexer personalizzati

**(Si noti che, a causa di cambiamenti in `minted` dal 2023, il seguente approccio funzionerà solo in** [**TeX Live 2022 o precedente**](/latex/it/base-di-conoscenza/148-using-the-overleaf-project-menu.md#tex-live-version)**.)**

Per impostazione predefinita, `minted` supporta solo i linguaggi con lexer già installati o registrati con `pygmentize`. Se hai scritto un lexer personalizzato, o vuoi usare un lexer per un linguaggio che non è ancora stato installato su Overleaf, puoi comunque usarlo nel tuo progetto Overleaf seguendo l'approccio menzionato [qui](https://tex.stackexchange.com/questions/18083/how-to-add-custom-c-keywords-to-be-recognized-by-minted#comment930474_42392).

Supponi di aver definito un lexer nel file `nl-lexer.py`, contenente la classe `NetLogoLexer` per il linguaggio NetLogo. Carica `nl-lexer.py` nel tuo progetto Overleaf, e poi specifica `nl-lexer.py:NetLogoLexer` come "nome del linguaggio" quando usi `minted`. Per esempio:

```latex
\begin{minted}{nl-lexer.py:NetLogoLexer -x}
   ... il tuo codice qui ...
\end{minted}
```

[Ecco](http://quantixed.org/2018/10/23/new-lexicon-how-to-add-a-custom-minted-lexer-in-overleaf/) un altro esempio per il linguaggio ImageJ Macro.

## Colori e fogli di stile

Gli schemi di colori usati per l'evidenziazione del codice sono salvati nei fogli di stile. Puoi crearne di tuoi oppure usare uno già disponibile nella tua distribuzione LaTeX. Vedi la [guida di riferimento](#reference-guide) per un elenco dei fogli di stile inclusi in [Overleaf](https://www.overleaf.com).

```latex
\documentclass{article}
\usepackage{minted}
\usemintedstyle{borland}
\begin{document}
\begin{minted}{python}
import numpy as np

def incmatrix(genl1,genl2):
    m = len(genl1)
    n = len(genl2)
    M = None #per diventare la matrice di incidenza
    VT = np.zeros((n*m,1), int)  #variabile fittizia

    #calcola la matrice xor bit a bit
    M1 = bitxormatrix(genl1)
    M2 = np.triu(bitxormatrix(genl2),1)

    for i in range(m-1):
        for j in range(i+1, m):
            [r,c] = np.where(M2 == M1[i,j])
            for k in range(len(r)):
                VT[(i)*n + r[k]] = 1;
                VT[(i)*n + c[k]] = 1;
                VT[(j)*n + r[k]] = 1;
                VT[(j)*n + c[k]] = 1;

                if M is None:
                    M = np.copy(VT)
                else:
                    M = np.concatenate((M, VT), 1)

                VT = np.zeros((n*m,1), int)

    return M
\end{minted}
\end{document}
```

[Apri questo esempio in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+stylesheets+with+minted+package\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Cusemintedstyle%7Bborland%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bminted%7D%7Bpython%7D%0Aimport+numpy+as+np%0A++++%0Adef+incmatrix%28genl1%2Cgenl2%29%3A%0A++++m+%3D+len%28genl1%29%0A++++n+%3D+len%28genl2%29%0A++++M+%3D+None+%23to+become+the+incidence+matrix%0A++++VT+%3D+np.zeros%28%28n%2Am%2C1%29%2C+int%29++%23dummy+variable%0A++++%0A++++%23compute+the+bitwise+xor+matrix%0A++++M1+%3D+bitxormatrix%28genl1%29%0A++++M2+%3D+np.triu%28bitxormatrix%28genl2%29%2C1%29+%0A%0A++++for+i+in+range%28m-1%29%3A%0A++++++++for+j+in+range%28i%2B1%2C+m%29%3A%0A++++++++++++%5Br%2Cc%5D+%3D+np.where%28M2+%3D%3D+M1%5Bi%2Cj%5D%29%0A++++++++++++for+k+in+range%28len%28r%29%29%3A%0A++++++++++++++++VT%5B%28i%29%2An+%2B+r%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28i%29%2An+%2B+c%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28j%29%2An+%2B+r%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28j%29%2An+%2B+c%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++%0A++++++++++++++++if+M+is+None%3A%0A++++++++++++++++++++M+%3D+np.copy%28VT%29%0A++++++++++++++++else%3A%0A++++++++++++++++++++M+%3D+np.concatenate%28%28M%2C+VT%29%2C+1%29%0A++++++++++++++++%0A++++++++++++++++VT+%3D+np.zeros%28%28n%2Am%2C1%29%2C+int%29%0A++++%0A++++return+M%0A%5Cend%7Bminted%7D%0A%5Cend%7Bdocument%7D)

Usando il foglio di stile `borland` si ottiene il seguente output:

![Output del pacchetto minted usando il foglio di stile borland](/files/78592a6d187b247aba0f98ab2d9714eb96766761)

La sintassi per impostare uno stile di colore è semplice: il comando `\usemintedstyle{borland}` usa il tema di colori `borland` per formattare il codice sorgente. Puoi trovare altri schemi di colori nella [guida di riferimento](#reference-guide).

## Didascalie, etichette e l'elenco delle liste

Gli elenchi di codice formattati con **minted** possono essere inclusi in un elemento flottante, proprio come [figure](/latex/it/altri-argomenti/27-inserting-images.md#positioning) e [tabelle](/latex/it/figure-e-tabelle/01-tables.md#positioning-tables). Agli elenchi di codice possono essere assegnate didascalie ed etichette e poi in seguito essere citati e inclusi in un "Elenco delle liste".

```latex
\documentclass{article}
\usepackage{minted}
\title{Esempi di codice in elenco}
\begin{document}
\begin{listing}[!ht]
\inputminted{octave}{BitXorMatrix.m}
\caption{Esempio da file esterno}
\label{listing:1}
\end{listing}

\begin{listing}[!ht]
\begin{minted}{c}
#include <stdio.h>
int main() {
   printf("Ciao, mondo!"); /*printf() restituisce la stringa tra virgolette*/
   return 0;
}
\end{minted}
\caption{Ciao mondo in C}
\label{listing:2}
\end{listing}

\begin{listing}[!ht]
\begin{minted}{lua}
function fact (n)--definisce una funzione fattoriale
  if n == 0 then
    return 1
  else
    return n * fact(n-1)
  end
end

print("inserisci un numero:")
a = io.read("*number") -- leggi un numero
print(fact(a))
\end{minted}
\caption{Esempio dal manuale Lua}
\label{listing:3}
\end{listing}
\noindent\texttt{minted} fa un ottimo lavoro nell'impaginare gli elenchi \ref{listing:1}, \ref{listing:2} e \ref{listing:3}.
\renewcommand\listoflistingscaption{Elenco dei codici sorgente}
\listoflistings
\end{document}
```

[Apri questo esempio in Overleaf](https://www.overleaf.com/docs?engine=\&snip_name\[]=main.tex\&snip\[]=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Ctitle%7BListing+code+examples%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Blisting%7D%5B%21ht%5D%0A%5Cinputminted%7Boctave%7D%7BBitXorMatrix.m%7D%0A%5Ccaption%7BExample+from+external+file%7D%0A%5Clabel%7Blisting%3A1%7D%0A%5Cend%7Blisting%7D%0A%0A%5Cbegin%7Blisting%7D%5B%21ht%5D%0A%5Cbegin%7Bminted%7D%7Bc%7D%0A%23include+%3Cstdio.h%3E%0Aint+main%28%29+%7B%0A+++printf%28%22Hello%2C+World%21%22%29%3B+%2F%2Aprintf%28%29+outputs+the+quoted+string%2A%2F%0A+++return+0%3B%0A%7D%0A%5Cend%7Bminted%7D%0A%5Ccaption%7BHello+World+in+C%7D%0A%5Clabel%7Blisting%3A2%7D%0A%5Cend%7Blisting%7D%0A%0A%5Cbegin%7Blisting%7D%5B%21ht%5D%0A%5Cbegin%7Bminted%7D%7Blua%7D%0Afunction+fact+%28n%29--defines+a+factorial+function%0A++if+n+%3D%3D+0+then%0A++++return+1%0A++else%0A++++return+n+%2A+fact%28n-1%29%0A++end%0Aend%0A%0Aprint%28%22enter+a+number%3A%22%29%0Aa+%3D+io.read%28%22%2Anumber%22%29+--+read+a+number%0Aprint%28fact%28a%29%29%0A%5Cend%7Bminted%7D%0A%5Ccaption%7BExample+from+the+Lua+manual%7D%0A%5Clabel%7Blisting%3A3%7D%0A%5Cend%7Blisting%7D%0A%5Cnoindent%5Ctexttt%7Bminted%7D+makes+a+nice+job+of+typesetting+listings+%5Cref%7Blisting%3A1%7D%2C+%5Cref%7Blisting%3A2%7D+and+%5Cref%7Blisting%3A3%7D.%0A%5Crenewcommand%5Clistoflistingscaption%7BList+of+source+codes%7D%0A%5Clistoflistings%0A%5Cend%7Bdocument%7D\&snip_name\[]=BitXorMatrix.m\&snip\[]=%25This+code+is+directly+imported+from+a+file%0A%25A+function+to+compute+the+sum+without+charge+of+two+vectors%0Afunction+X+%3D+BitXorMatrix%28A%2CB%29%0A%25convert+elements+into+unsigned+integers%0AA+%3D+uint8%28A%29%3B%0AB+%3D+uint8%28B%29%3B%0A%0Am1+%3D+length%28A%29%3B%0Am2+%3D+length%28B%29%3B%0AX+%3D+uint8%28zeros%28m1%2C+m2%29%29%3B%0A+for+n1%3D1%3Am1%0A++for+n2%3D1%3Am2%0A+++X%28n1%2C+n2%29+%3D+bitxor%28A%28n1%29%2C+B%28n2%29%29%3B%0A++end%0Aend\&main_document=main.tex)

La prima pagina di questo esempio contiene il seguente output:

![Esempio di frammenti di codice in elenco](/files/b86cd2cb1bfc390af58b55949b0965350fb8360a)

Per stampare l'elenco con tutti gli elementi "listing" usa `\listoflistings`. Nell'esempio sopra, il titolo predefinito `Elenco delle liste` viene cambiato in `Elenco dei codici sorgente` scrivendo

```latex
\renewcommand\listoflistingscaption{Elenco dei codici sorgente}
\listoflistings % Ora impagina l'elenco
```

La seconda pagina prodotta dall'esempio sopra contiene il seguente elenco:

![Un esempio di elenco di codici sorgente](/files/4a15d0d06938c98fa2ca2129318433ebdd0a67c6)

## Guida di riferimento

**Stili di colore per minted**

| nome     | risultato                                                             | nome     | risultato                                                              |
| -------- | --------------------------------------------------------------------- | -------- | ---------------------------------------------------------------------- |
| manni    | ![MintedStyles1.png](/files/1467ad277ebf7a555d57403b42a2a20a16e389cf) | fruity   | ![MintedStyles10.png](/files/a9d366134f586db23bf91db64cb811b8ee58d1e3) |
| rrt      | ![MintedStyles2.png](/files/e8f697f97564fbfbfadd1459a3c1e3a3a5850cff) | autumn   | ![MintedStyles11.png](/files/2be1c4918407f18f80cb9dfd1b1e776a7dfbc0c4) |
| perldoc  | ![MintedStyles3.png](/files/69976874c9e79dcf081c8ad70158356d0c573a09) | bw       | ![MintedStyles12.png](/files/bb792cb56ab95b6f0edcdc1ba0210c4c07b6d9a1) |
| borland  | ![MintedStyles4.png](/files/d9e9e8767c26390567fcfb28d36942873d06c64a) | emacs    | ![MintedStyles13.png](/files/5d3e9e9ab5145e87d732b1d0cb683ad10124fa6e) |
| colorful | ![MintedStyles5.png](/files/436f347c873dfcb6759f28db3483c8e2c65c7ab2) | vim      | ![MintedStyles14.png](/files/5b4c32551862fddcd45911893f1448bc90451463) |
| murphy   | ![MintedStyles6.png](/files/5756c49f4c7194e1fb4e3814656f747845ff0027) | pastie   | ![MintedStyles15.png](/files/79fd70d3f5dd783a1d3a1eed03e280225d78e6fe) |
| vs       | ![MintedStyles7.png](/files/211ad3c6b3783f84c704f90d070ace4264eb4b4c) | friendly | ![MintedStyles16.png](/files/272592c9c706b921d94b5967170ee9c47479dd8a) |
| trac     | ![MintedStyles8.png](/files/55f23d6fe1f9a7c93a759f99476124eae72153f6) | native   | ![MintedStyles17.png](/files/3f3f9b23e68ba1140194a1965523dd7528db2452) |
| tango    | ![MintedStyles9.png](/files/9d35f9ea6e73a0a73094bd3f83cb9823b705e733) | monokai  | ![MintedStyles18.png](/files/c41bb3dfda91c94d539f4e7420cb8fefd9c483ff) |

Alcuni schemi di colori richiedono uno sfondo scuro per essere leggibili.

**Principali linguaggi di programmazione supportati e file di configurazione**

|          |            |             |           |
| -------- | ---------- | ----------- | --------- |
| cucumber | abap       | ada         | ahk       |
| antlr    | apacheconf | applescript | as        |
| aspectj  | autoit     | asy         | awk       |
| basemake | bash       | bat         | bbcode    |
| befunge  | bmax       | boo         | brainfuck |
| bro      | bugs       | c           | ceylon    |
| cfm      | cfs        | cheetah     | clj       |
| cmake    | cobol      | cl          | console   |
| control  | coq        | cpp         | croc      |
| csharp   | css        | cuda        | cyx       |
| d        | dg         | diff        | django    |
| dpatch   | duel       | dylan       | ec        |
| erb      | evoque     | fan         | fancy     |
| fortran  | gas        | genshi      | glsl      |
| gnuplot  | go         | gosu        | groovy    |
| gst      | haml       | haskell     | hxml      |
| html     | http       | hx          | idl       |
| irc      | ini        | java        | jade      |
| js       | json       | jsp         | kconfig   |
| koka     | lasso      | livescrit   | llvm      |
| logos    | lua        | mako        | mason     |
| matlab   | minid      | monkey      | moon      |
| mxml     | myghty     | mysql       | nasm      |
| newlisp  | newspeak   | numpy       | ocaml     |
| octave   | ooc        | perl        | php       |
| plpgsql  | postgresql | postscript  | pot       |
| prolog   | psql       | puppet      | python    |
| qml      | ragel      | raw         | ruby      |
| rhtml    | sass       | scheme      | smalltalk |
| sql      | ssp        | tcl         | tea       |
| tex      | text       | vala        | vgl       |
| vim      | xml        | xquery      | yaml      |

## Letture aggiuntive

Per ulteriori informazioni, vedi:

* [Lunghezze in LaTeX](/latex/it/formattazione/01-lengths-in-latex.md)
* [Elenco del codice](/latex/it/formattazione/11-code-listing.md)
* [Contatori](/latex/it/formattazione/10-counters.md)
* [Uso dei colori in LaTeX](/latex/it/formattazione/13-using-colors-in-latex.md)
* [Dimensioni, famiglie e stili dei caratteri](/latex/it/caratteri/01-font-sizes-families-and-styles.md)
* [Tipi di carattere](/latex/it/caratteri/02-font-typefaces.md)
* [Gestione in un grande progetto](/latex/it/struttura-del-documento/07-management-in-a-large-project.md)
* [Progetti LaTeX con più file](/latex/it/struttura-del-documento/08-multi-file-latex-projects.md)
* [Indice](/latex/it/struttura-del-documento/02-table-of-contents.md)
* [Documenti a facciata singola e doppia](/latex/it/formattazione/08-single-sided-and-double-sided-documents.md)
* [La **minted** documentazione del pacchetto](https://texdoc.org/serve/minted/0)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/it/formattazione/12-code-highlighting-with-minted.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
