He aquí un ejemplo:
\documentclass{article}
\usepackage[sharp]{easylist} % use # symbol to denote a list
\usepackage{minted}
\begin{document}
\begin{easylist}[enumerate]
# Profile Python
\begin{minted}{python}
import math
\end{minted}
\end{easylist}
\end{document}
Para que funcione, podría usar otros símbolos como \usepackage[at]{easylist}
en lugar de sharp
. Pero tengo curiosidad porque el mensaje de error realmente no puede decirme por qué no funciona. ¿Alguien sabe por qué no puedo usarlo #
?
El mensaje de error es:
_./main.out.pyg:2:
Use of \FV@PYG doesn't match its definition.
\PYG #1#2->\FV@PYG {
#1}{\FancyVerbBreakStart #2\FancyVerbBreakStop }
l.2 \PYG{k+kn}{import} \PYG{n+nn}{math}
Actualizar:
Por favor vea el de @egregrespuestaa continuación (¡y comentarios!) para obtener una explicación.
Una solución a la pregunta anterior usando \Activate
un \Deactivate
comando proporcionado por easylist
.:
\documentclass{article}
\usepackage[sharp]{easylist} % use # symbol to denote a list
\usepackage[cache=false]{minted}
\title{useless}
\begin{document}
\begin{easylist}[enumerate]
# Deactivate it first,
\Deactivate
\begin{minted}{python}
import math
\end{minted}
\Activate
# then activate it again.
# Good!
\end{easylist}
\end{document}
Respuesta1
La sharp
opción se convierte #
en un personaje activo. Los archivos producidos por pygmentize
contienen definiciones de macros que a su vez utilizan #
y, al estar dentro de easylist
, este carácter ya no es el especificador de parámetros.
Por lo tanto, todas las macros auxiliares con argumentos que minted
deben usarse no funcionan como se esperaba.
Usar otros personajes puede generar otros problemas; Probé la at
opción y @
no funciona en minted
. Por ejemplo
\documentclass{article}
\usepackage[at]{easylist} % use # symbol to denote a list
\usepackage{minted}
\begin{document}
\begin{easylist}[enumerate]
@ Profile Python
\begin{minted}{python}
@classmethod
\end{minted}
\end{easylist}
\end{document}
no se imprimirá @
.
Además, minted
no respetará la sangría actual en la lista.
Aquí hay una comparación:
\documentclass{article}
\usepackage{easylist}
\usepackage{minted}
\begin{document}
\begin{enumerate}
\item Profile Python
\begin{minted}{python}
# This program prints Hello, world!
print('Hello, world!')
\end{minted}
\begin{enumerate}
\item Indented
\begin{minted}{python}
# This program prints Hello, world!
print('Hello, world!')
\end{minted}
\end{enumerate}
\end{enumerate}
\begin{easylist}[enumerate]
§ Profile Python
\begin{minted}{python}
# This program prints Hello, world!
print('Hello, world!')
\end{minted}
§§ Indented
\begin{minted}{python}
# This program prints Hello, world!
print('Hello, world!')
\end{minted}
\end{easylist}
\end{document}