> 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/texlive/es/relacionado-con-paquetes/minted.md).

# {Minted}

Este artículo muestra cómo usar [`minted` paquete](https://ctan.org/pkg/minted?lang=en) para formatear y resaltar el código fuente de un lenguaje de programación dentro de un documento LaTeX, empezando 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 auxiliar
    
    #calcular la matriz xor a nivel de bits
    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}
```

Este ejemplo produce la siguiente salida:

<p align="center"><img src="https://sharelatex-wiki-cdn-671420.c.cdn77.org/learn-scripts/images/f/f0/OLV2minted.png" alt="Example displaying the output of the minted package"></p>

Aquí hay dos comandos importantes. 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](https://www.overleaf.com/learn/latex/Code_Highlighting_with_minted#Reference_guide) para una lista de los lenguajes compatibles.

**Nota**: Para `minted` que funcione con su *distribución local* de LaTeX, debe instalarse un programa adicional llamado [Pygments](https://pygments.org/) . [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 "de inmediato".

### Uso básico

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

```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 auxiliar
    
    #calcular la matriz xor a nivel de bits
    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}
```

Este ejemplo produce la siguiente salida:

<p align="center"><img src="https://sharelatex-wiki-cdn-671420.c.cdn77.org/learn-scripts/images/f/ff/OLV2minted2.png" alt="Example applying formatting to typeset code produced by the minted package"></p>

Los parámetros usados 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 fija en 2 mm. Otros [unidades de longitud](https://www.overleaf.com/learn/latex/Lengths_in_LaTeX) 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 `xcolor` paquete para que esto funcione. Véase [Uso de colores en LaTeX](https://www.overleaf.com/learn/latex/Using_colours_in_LaTeX) 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](https://www.overleaf.com/learn/latex/Font_sizes_and_kinds%23Reference_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, es muy conveniente un comando que importe automáticamente código desde un archivo, como se demuestra en el siguiente ejemplo:

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

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

Este ejemplo produce la siguiente salida:

<img src="https://sharelatex-wiki-cdn-671420.c.cdn77.org/learn-scripts/images/c/c8/OLV2mintedinput.png" alt="Usar minted para importar un archivo de código" height="392" width="600">

El comando `\inputminted{octave}{BitXorMatrix.m}` importa el código del archivo `BitXorMatrix.m`, el parámetro `octave` le indica a LaTeX el lenguaje de programación del código. Este comando puede tomar dos parámetros adicionales para importar solo 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 truco.

{% code overflow="wrap" %}

```latex
El formateo 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>Something <b>here</b></h2>|
\noindent puede formatearse correctamente.
```

{% endcode %}

Este ejemplo produce la siguiente salida:

<img src="https://sharelatex-wiki-cdn-671420.c.cdn77.org/learn-scripts/images/d/d9/OLV2mintedHTML.png" alt="Ejemplo de código de una sola línea con minted" height="112" width="600">

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

### Problemas con Overleaf autohospedado

Si está usando compilación en sandbox y además un servidor de Overleaf para desplegar Overleaf, minted puede no funcionar bien. Para obtener información detallada, puede ver: [issues/131](https://github.com/yu-i-i/overleaf-cep/issues/131). Debe habilitar el perfil de instrucciones ARM y alguna llamada al sistema para que minted funcione.


---

# 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/texlive/es/relacionado-con-paquetes/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.
