Aqui está um exemplo:
\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 fazer funcionar, eu poderia simplesmente usar outros símbolos como \usepackage[at]{easylist}
em vez de sharp
. Mas estou curioso porque a mensagem de erro não pode me dizer por que isso não está funcionando. Alguém sabe por que não posso usar #
?
A mensagem de erro é:
_./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}
Atualizar:
Por favor, veja @egreg'sresponderabaixo (e comentários!) para uma explicação.
Uma solução para a questão acima usando \Activate
um \Deactivate
comando fornecido 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}
Responder1
A sharp
opção se transforma #
em um personagem ativo. Os arquivos produzidos por pygmentize
contêm definições de macro que por sua vez utilizam #
e, por estar dentro de easylist
, esse caractere não é mais o especificador de parâmetro.
Assim, todas as macros auxiliares com argumentos que minted
precisam ser utilizadas não funcionam conforme o esperado.
Usar outros personagens pode levar a outros problemas; Tentei a at
opção e @
não funciona em minted
. Por exemplo
\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}
não será impresso @
.
Além disso, minted
não respeitará o recuo atual da lista.
Aqui está uma comparação:
\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}