Este artículo muestra cómo usar el paquete minted para dar formato y resaltar código fuente de lenguajes de programación dentro de un documento LaTeX, empezando por un ejemplo:
\documentclass{article}\usepackage{minted}\begin{document}\begin{minted}{python}import numpy as npdef incmatrix(genl1,genl2): m = len(genl1) n = len(genl2) M = None #to become the incidence matrix VT = np.zeros((n*m,1), int) #dummy variable #compute the bitwise xor matrix 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 el siguiente resultado:
Aquí hay dos comandos importantes. En el preámbulo, el paquete se importa escribiendo
\usepackage{minted}
y luego las etiquetas \begin{minted}{python} y \end{minted} delimitan un entorno que imprime el texto literalmente en fuente monoespaciada y, además, aplica color a los comentarios, las palabras clave y las 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; consulta la guía de referencia para ver la lista de lenguajes compatibles.Nota: para que minted funcione con tu distribución LaTeX local, debe estar instalado un programa adicional llamado Pygments. Overleaf puede ahorrarte la molestia de instalarlo y de tener que ejecutar comandos especiales para compilar tu documento: en Overleaf, los documentos que usan minted funcionan “de serie”.
Como se muestra en el siguiente ejemplo, el entorno minted se puede configurar para modificar la presentación visual del código compuesto. Aquí, el entorno minted usa varios parámetros separados por comas con la forma key=value:
\documentclass{article}\usepackage{minted}\usepackage{xcolor} % to access the named colour 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 npdef incmatrix(genl1,genl2): m = len(genl1) n = len(genl2) M = None #to become the incidence matrix VT = np.zeros((n*m,1), int) #dummy variable #compute the bitwise xor matrix 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 el siguiente resultado:
Los parámetros usados en este ejemplo son:
frame=lines: dibuja dos líneas, una encima y otra debajo 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. Se pueden usar otras unidades de longitud.
baselinestretch=1.2: el interlineado del código se establece en 1,2.
bgcolor=LightGray: el color de fondo se establece en LightGray. Para que esto funcione, debes importar el paquete xcolor. Consulta Usar colores en LaTeX para saber más sobre la manipulación de colores.
fontsize=\footnotesize: el tamaño de fuente se establece en footnotesize. Se puede establecer cualquier otro tamaño de fuente.
linenos: activa los números de línea.
Otras opciones que pueden resultar útiles son:
mathescape: activa el modo matemático en los comentarios del código.
rulecolor: cambia el color del marco.
showspaces: activa un carácter especial para hacer visibles los espacios.
El código suele almacenarse en un archivo fuente, por lo que un comando que importe automáticamente el código desde un archivo resulta muy práctico, como se muestra en el siguiente ejemplo:
\documentclass{article}\usepackage{minted}\title{Importing files using minted}\begin{document}The next code will be directly imported from a file:\inputminted{octave}{BitXorMatrix.m}\end{document}
Este ejemplo produce el siguiente resultado: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 admite dos parámetros adicionales para importar solo una parte del archivo; por ejemplo, para importar el código de la línea 2 a la línea 12, el comando queda así:
Si solo necesitas introducir una línea de código, el comando \mint, cuya sintaxis se presenta en el siguiente ejemplo, te servirá.
One-line code formatting also works with \texttt{minted}. For example, a small fragment of HTML like this:\mint{html}|<h2>Something <b>here</b></h2>|\noindent can be formatted correctly.
Este ejemplo produce el siguiente resultado:El parámetro entre llaves establece el lenguaje de programación (en este caso, el lenguaje de marcado html), y el texto real al que se dará formato queda delimitado por el carácter ’|’.
Si usas la compilación en sandbox y además despliegas Overleaf en tu propio servidor, es posible que minted no funcione bien. Para información detallada, consulta: issues/131. Debes habilitar el perfil de instrucciones arm y algunas llamadas al sistema para que minted funcione.
Última modificación el 4 de octubre de 2026
¿Esta página le ayudó?
Assistant
Responses are generated using AI and may contain mistakes.