Saltar al contenido

minted en Scissor LaTeX

El paquete minted funciona en parte en Scissor LaTeX: \begin{minted}{python} y \mintinline funcionan sin Python ni -shell-escape, con colores de sintaxis de un esquema fijo; las opciones como linenos, \setminted, \usemintedstyle, el pie de listing, \mint e \inputminted no son compatibles.

Qué hace el paquete

minted colorea el código fuente con la biblioteca Pygments. Escribes \begin{minted}{python} ... \end{minted}, o \mintinline{python}{code} dentro de una frase. Opciones como linenos y frame=lines cambian el diseño, \setminted las fija para todo el documento y \usemintedstyle elige un tema de colores. En una instalación de TeX, minted necesita Python con Pygments, y el documento debe compilarse con -shell-escape.

Qué funciona aquí

FunciónEn Scissor LaTeXNotas
\begin{minted}{lang} ... \end{minted}FuncionaCon colores, sin Python ni shell escape.
\mintinline{lang}{code}FuncionaMonoespaciado, sin colores.
Opciones: [linenos, frame=lines, bgcolor=...]Se omiteSe ignoran sin ningún mensaje.
\setminted{...}, \usemintedstyle{...}Se omiteSe ignoran sin ningún mensaje; los colores son fijos.
Entorno listing con \captionEn parteEl código se muestra y el pie se imprime como texto normal, sin "Listing 1"; un \ref a él muestra "??".
\mint{lang}|code|No compatibleSe omite con un mensaje; el lenguaje y el código se imprimen como texto normal.
\inputminted{lang}{file}No compatibleSe omite con un mensaje.
\newminted, \newmintinlineNo compatibleSe omiten con un mensaje, y los argumentos se imprimen.

Los nombres de lenguaje son los mismos que en listings: Python, C, C++, Java, JavaScript, Rust, Go, R, MATLAB, SQL, Bash, HTML, TeX y muchos más, en mayúsculas o minúsculas.

Ejemplos

Un bloque minted con un lenguaje:

minted con JavaScript

LaTeXPreámbulo: \usepackage{minted}Abrir en el editor (se abre en una pestaña nueva)
\begin{minted}{javascript}
// greet a list of people
const people = ["Erika", "Hans", "John"];
for (const name of people) {
  console.log(`Hello, ${name}!`);
}
\end{minted}
Compuesto por Scissor LaTeX: minted con JavaScript

Las opciones se aceptan y se ignoran, así que aquí este bloque no tiene números de línea ni marco:

linenos y frame se ignoran

LaTeXPreámbulo: \usepackage{minted}Abrir en el editor (se abre en una pestaña nueva)
\begin{minted}[linenos, frame=lines]{rust}
fn main() {
    let total: u32 = (1..=8).sum();
    println!("{}", total + 8); // 44
}
\end{minted}
Compuesto por Scissor LaTeX: linenos y frame se ignoran

Para un pie numerado, usa un figure en lugar del entorno listing de minted. Aquí el pie dice "Listing 1", y \ref da el número:

Un bloque minted con pie dentro de un figure

LaTeXPreámbulo: \usepackage{minted}Abrir en el editor (se abre en una pestaña nueva)
\begin{figure}[h]
\begin{minted}{python}
print(sum(range(44)))
\end{minted}
\caption{Adding the numbers below 44}
\label{lst:sum}
\end{figure}
Listing~\ref{lst:sum} prints 946.
Compuesto por Scissor LaTeX: Un bloque minted con pie dentro de un figure

Compatibilidad

  • De una instalación de TeX a aquí: todos los bloques minted se muestran con colores. Las opciones y los estilos no se aplican; sustituye \mint por \mintinline y pega en el documento el código de los archivos de \inputminted.
  • De aquí a una instalación de TeX: los bloques minted se compilan allí cuando están disponibles Python, Pygments y -shell-escape. Allí, un figure alrededor de un bloque minted recibe el pie "Figure 1".

El manual completo está en CTAN: ctan.org/pkg/minted. Consulta también Listados de código en LaTeX.

Preguntas y respuestas

¿Funciona minted sin shell escape?

Aquí, sí. Scissor LaTeX colorea él mismo los bloques minted, así que no hacen falta ni Python ni -shell-escape. En una instalación de TeX siguen siendo necesarios los dos.

¿Uso minted o listings?

Aquí los dos funcionan igual: se lee el lenguaje y las demás opciones se ignoran. Si el documento también tiene que compilarse en otro sitio sin shell escape, listings es la opción más segura.

Scissor LaTeX compone cada ejemplo de esta página al generar el sitio. Última actualización: 2026-11-07.