> 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/es/formato/12-code-highlighting-with-minted.md).

# Resaltado de código con minted

## Introducción

Este artículo muestra cómo usar [`minted` paquete](https://ctan.org/pkg/minted?lang=en) para dar formato y resaltar el código fuente de un lenguaje de programación dentro de un documento LaTeX, comenzando con un ejemplo:

```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 #para convertirse en la matriz de incidencia
    VT = np.zeros((n*m,1), int)  #variable ficticia

    #calcular la matriz 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}
```

[Abre este ejemplo en 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)

Este ejemplo produce la siguiente salida:

![Ejemplo que muestra la salida del paquete minted](/files/3151b689d2f8125d019127b0ca5c383da28d2502)

Hay dos comandos importantes aquí. En el preámbulo, el paquete se importa escribiendo

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

luego las etiquetas `\begin{minted}{python}` y `\end{minted}` delimitan un entorno que imprime el texto literalmente en fuentes monoespaciadas y también aplica color a los comentarios, palabras clave y funciones. El parámetro `python` es el lenguaje de programación en el que está escrito el código fuente. `minted` admite más de 150 lenguajes de programación y de marcado, así como archivos de configuración; consulte la [guía de referencia](#reference-guide) para ver una lista de lenguajes compatibles.

**Nota**: Para `minted` funcione con su *local* distribución de LaTeX, debe instalarse un programa adicional llamado [Pygments](https://pygments.org/) debe estar instalado. [Overleaf](https://www.overleaf.com/) puede ahorrarle la molestia de instalarlo y de tener que ejecutar comandos especiales para compilar su documento: en Overleaf, los documentos que usan `minted` funcionarán "sin necesidad de configuración".

## Uso básico

Como se demuestra en el siguiente ejemplo, el `minted` entorno puede configurarse para modificar la presentación visual del código tipografiado. Aquí, el `minted` entorno usa varios parámetros separados por comas de la forma `key=value`:

```latex
\documentclass{article}
\usepackage{minted}
\usepackage{xcolor} % para acceder al color con nombre 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 #para convertirse en la matriz de incidencia
    VT = np.zeros((n*m,1), int)  #variable ficticia

    #calcular la matriz 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}
```

[Abre este ejemplo en 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)

Este ejemplo produce la siguiente salida:

![Ejemplo que aplica formato al código tipografiado producido por el paquete minted](/files/b6542cd2e14e538bf99921b065192ec4e1b00ae9)

Los parámetros utilizados en este ejemplo son:

* `frame=lines`: dibuja dos líneas, una arriba y otra abajo del código para enmarcarlo. Otros valores posibles son `leftline`, `topline`, `bottomline` y `single`.
* `framesep=2mm`: la separación del marco se establece en 2 mm. Otras [unidades de longitud](/latex/es/formato/01-lengths-in-latex.md) pueden usarse.
* `baselinestretch=1.2`: el interlineado del código se establece en 1,2.
* `bgcolor=LightGray`: color de fondo establecido en `LightGray`. Debe importar el paquete `xcolor` para que esto funcione. Consulte [Uso de colores en LaTeX](/latex/es/formato/13-using-colors-in-latex.md) para aprender más sobre la manipulación del color.
* `fontsize=\footnotesize`: tamaño de fuente establecido en `footnotesize`. Cualquier otro [tamaño de fuente](/latex/es/fuentes/01-font-sizes-families-and-styles.md#reference-guide) puede establecerse.
* `linenos`: habilita los números de línea.

Otras opciones que pueden ser útiles son:

* `mathescape`: habilita el modo matemático en los comentarios del código.
* `rulecolor`: cambia el color del marco.
* `showspaces`: habilita un carácter especial para hacer visibles los espacios.

## Incluir código desde un archivo

El código suele almacenarse en un archivo fuente, por lo tanto, un comando que importe automáticamente código desde un archivo es muy conveniente, como se muestra en el siguiente ejemplo:

```latex
\documentclass{article}
\usepackage{minted}
\title{Importación de archivos usando minted}
\begin{document}
El siguiente código se importará directamente desde un archivo:

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

[Abre este ejemplo en 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)

Este ejemplo produce la siguiente salida:

![Usar minted para importar un archivo de código](/files/efc994c0498ac53bdab3d0747a1f74be100b89e3)

El comando `\inputminted{octave}{BitXorMatrix.m}` importa el código del archivo `BitXorMatrix.m`, el parámetro `octave` indica a LaTeX el lenguaje de programación del código. Este comando puede tomar dos parámetros adicionales para importar solo una parte del archivo; por ejemplo, para importar código desde la línea 2 hasta la línea 12, el comando se convierte en:

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

## Código de una sola línea

Si necesita introducir solo una línea de código, el comando `\mint`, cuya sintaxis se presenta en el siguiente ejemplo, hará el trabajo.

```latex
El formato de código de una sola línea también funciona con \texttt{minted}. Por ejemplo, un pequeño fragmento de HTML como este:
\mint{html}|<h2>Algo <b>aquí</b></h2>|
\noindent puede formatearse correctamente.
```

[Abre este ejemplo en 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)

Este ejemplo produce la siguiente salida:

![Ejemplo de código de una sola línea con minted](/files/03312ce734d0aaed86ca538a9378b40a2f64795d)

El parámetro entre llaves establece el lenguaje de programación (`html` lenguaje de marcado en este caso), y el texto real que se va a formatear está delimitado por el carácter '|'.

## Lexers personalizados

**(Tenga en cuenta que debido a cambios en `minted` desde 2023, el siguiente enfoque solo funcionará en** [**TeX Live 2022 o anterior**](/latex/es/base-de-conocimientos/148-using-the-overleaf-project-menu.md#tex-live-version)**.)**

De forma predeterminada, `minted` solo admite lenguajes con lexers que ya están instalados o registrados con `pygmentize`. Si ha escrito un lexer personalizado, o quiere usar un lexer para un lenguaje que aún no se ha instalado en Overleaf, todavía puede usarlo en su propio proyecto de Overleaf utilizando el enfoque mencionado [aquí](https://tex.stackexchange.com/questions/18083/how-to-add-custom-c-keywords-to-be-recognized-by-minted#comment930474_42392).

Suponga que ha definido un lexer en el archivo `nl-lexer.py`, que contiene la clase `NetLogoLexer` para el lenguaje NetLogo. Cargue `nl-lexer.py` en su proyecto de Overleaf, y luego especifique `nl-lexer.py:NetLogoLexer` como el "nombre del lenguaje" al usar `minted`. Por ejemplo:

```latex
\begin{minted}{nl-lexer.py:NetLogoLexer -x}
   ... your code here ...
\end{minted}
```

[Aquí hay](http://quantixed.org/2018/10/23/new-lexicon-how-to-add-a-custom-minted-lexer-in-overleaf/) otro ejemplo para el lenguaje ImageJ Macro.

## Colores y hojas de estilo

Los esquemas de color utilizados para el resaltado de código se guardan en hojas de estilo. Puede crear el suyo propio o usar uno ya disponible en su distribución de LaTeX. Consulte la [guía de referencia](#reference-guide) para obtener una lista de hojas de estilo incluidas en [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 #para convertirse en la matriz de incidencia
    VT = np.zeros((n*m,1), int)  #variable ficticia

    #calcular la matriz 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}
```

[Abre este ejemplo en 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 la `borland` hoja de estilo produce la siguiente salida:

![Salida del paquete minted usando la hoja de estilo borland](/files/3a25fe43887b40a8cc4be52bf5638ff0986a2aca)

La sintaxis para establecer un estilo de coloración es sencilla, el comando `\usemintedstyle{borland}` usa el tema de colores `borland` para dar formato al código fuente. Puede encontrar más esquemas de color en la [guía de referencia](#reference-guide).

## Títulos, etiquetas y la lista de listings

Los listados de código formateados con **minted** pueden incluirse en un elemento flotante, igual que [figuras](/latex/es/mas-temas/27-inserting-images.md#positioning) y [tablas](/latex/es/figuras-y-tablas/01-tables.md#positioning-tables). Se pueden asignar títulos y etiquetas a los listados de código, y luego referenciarlos e incluirlos en una "Lista de listados".

```latex
\documentclass{article}
\usepackage{minted}
\title{Ejemplos de listados de código}
\begin{document}
\begin{listing}[!ht]
\inputminted{octave}{BitXorMatrix.m}
\caption{Ejemplo desde archivo externo}
\label{listing:1}
\end{listing}

\begin{listing}[!ht]
\begin{minted}{c}
#include <stdio.h>
int main() {
   printf("¡Hola, mundo!"); /*printf() imprime la cadena entre comillas*/
   return 0;
}
\end{minted}
\caption{Hola, mundo en C}
\label{listing:2}
\end{listing}

\begin{listing}[!ht]
\begin{minted}{lua}
function fact (n)--define una función factorial
  if n == 0 then
    return 1
  else
    return n * fact(n-1)
  end
end

print("introduzca un número:")
a = io.read("*number") -- leer un número
print(fact(a))
\end{minted}
\caption{Ejemplo del manual de Lua}
\label{listing:3}
\end{listing}
\noindent\texttt{minted} hace un buen trabajo al tipografiar los listados \ref{listing:1}, \ref{listing:2} y \ref{listing:3}.
\renewcommand\listoflistingscaption{Lista de códigos fuente}
\listoflistings
\end{document}
```

[Abre este ejemplo en 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 primera página de este ejemplo contiene la siguiente salida:

![Ejemplo de fragmentos de código de listados](/files/412427000d486e83112ed64c3e208eb91d0afad4)

Para imprimir la lista con todos los elementos "listing" use `\listoflistings`. En el ejemplo anterior, el título predeterminado `Lista de listados` se cambia a `Lista de códigos fuente` escribiendo

```latex
\renewcommand\listoflistingscaption{Lista de códigos fuente}
\listoflistings % Ahora tipografíe la lista
```

La segunda página producida por el ejemplo anterior contiene el siguiente listado:

![Un ejemplo de listado de códigos fuente](/files/0c2fef0e579890bc0dbd961cd0239bd3b94009ba)

## Guía de referencia

**Estilos de color para minted**

| nombre   | salida                                                                | nombre   | salida                                                                 |
| -------- | --------------------------------------------------------------------- | -------- | ---------------------------------------------------------------------- |
| manni    | ![MintedStyles1.png](/files/37bbacace6bd72a39def6d231198082b448d9d8b) | fruity   | ![MintedStyles10.png](/files/260ce7f2b86500c1bd363a4ce74f541ff1bb780f) |
| rrt      | ![MintedStyles2.png](/files/c85bffd9f70303c8cad639c4e7c9f6d7f1686f93) | autumn   | ![MintedStyles11.png](/files/3f8f2fb898bda8cd07938a414c81f94ba05750cd) |
| perldoc  | ![MintedStyles3.png](/files/97ae08af158658d73f2dc8f22684c7bb0cad64ba) | bw       | ![MintedStyles12.png](/files/fa738cf12161dea4b07481927d1e9c44b497a935) |
| borland  | ![MintedStyles4.png](/files/cb734cad02ee61e76e6d74e298648c9b95e14d64) | emacs    | ![MintedStyles13.png](/files/2fb000f5e29ba68da93322f6e44cbbb8b8763bde) |
| colorful | ![MintedStyles5.png](/files/2266168e79a1a5fecd66a7510e9a1bdb2d9eaa24) | vim      | ![MintedStyles14.png](/files/548d626063413697c0a667fbbb94b39d8abacdb1) |
| murphy   | ![MintedStyles6.png](/files/bcb778bac17df6e487144fe9ff0d3ebe7e9a6131) | pastie   | ![MintedStyles15.png](/files/ee4ff1102d0347fe6b8b1520d0c86e7be7f4af81) |
| vs       | ![MintedStyles7.png](/files/ef663e5e3eee3b4167eab3c3357e13ce9b660902) | friendly | ![MintedStyles16.png](/files/774c57f0784747985d2f50d8f2e1f4862743fe39) |
| trac     | ![MintedStyles8.png](/files/366db8b1bf7ce7ce1ee82a9b8a31a847dbe5926f) | native   | ![MintedStyles17.png](/files/5344d44b4e78157a87e40298663da0b9b1c3c69a) |
| tango    | ![MintedStyles9.png](/files/dec34d8ea499d43c4d9ea086c2993a40dedffefe) | monokai  | ![MintedStyles18.png](/files/a9e62f17388d64055e310cfa2d06bb6607007481) |

Algunos esquemas de color necesitan un fondo oscuro para ser legibles.

**Principales lenguajes de programación y archivos de configuración compatibles**

|          |            |             |           |
| -------- | ---------- | ----------- | --------- |
| 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      | texto      | vala        | vgl       |
| vim      | xml        | xquery      | yaml      |

## Lectura adicional

Para más información, consulte:

* [Longitudes en LaTeX](/latex/es/formato/01-lengths-in-latex.md)
* [Listado de código](/latex/es/formato/11-code-listing.md)
* [Contadores](/latex/es/formato/10-counters.md)
* [Uso de colores en LaTeX](/latex/es/formato/13-using-colors-in-latex.md)
* [Tamaños, familias y estilos de fuente](/latex/es/fuentes/01-font-sizes-families-and-styles.md)
* [Familias tipográficas](/latex/es/fuentes/02-font-typefaces.md)
* [Gestión en un proyecto grande](/latex/es/estructura-del-documento/07-management-in-a-large-project.md)
* [Proyectos de LaTeX de varios archivos](/latex/es/estructura-del-documento/08-multi-file-latex-projects.md)
* [Tabla de contenidos](/latex/es/estructura-del-documento/02-table-of-contents.md)
* [Documentos a una sola cara y a doble cara](/latex/es/formato/08-single-sided-and-double-sided-documents.md)
* [El **minted** documentación del paquete](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/es/formato/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.
