Aktualisieren:

Aktualisieren:

Hier ist ein Beispiel:

\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}

Damit es funktioniert, könnte ich einfach andere Symbole wie \usepackage[at]{easylist}anstelle von verwenden sharp. Aber ich bin neugierig, weil die Fehlermeldung mir nicht wirklich sagen kann, warum das nicht funktioniert. Weiß jemand, warum ich nicht verwenden kann #?

Die Fehlermeldung lautet:

_./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}

Aktualisieren:

Bitte sehen Sie @egreg'sAntwortunten (und Kommentare!) für eine Erklärung.

Eine Lösung der obigen Frage \Activatemit einem von . \Deactivatebereitgestellten Befehl :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}

Antwort1

Die sharpOption macht #zu einem aktiven Zeichen. Die von erstellten Dateien pygmentizeenthalten Makrodefinitionen, die wiederum #und verwenden. Da sich easylistdieses Zeichen innerhalb befindet, ist es nicht mehr der Parameterbezeichner.

Daher funktionieren alle Hilfsmakros mit Argumenten, die mintedverwendet werden müssen, nicht wie erwartet.

Die Verwendung anderer Zeichen kann zu anderen Problemen führen; ich habe die atOption ausprobiert und @sie funktioniert nicht in minted. Zum Beispiel

\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}

wird nicht gedruckt @.

Außerdem mintedwird die aktuelle Einrückung in der Liste nicht berücksichtigt.

Hier ist ein Vergleich:

\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}

Bildbeschreibung hier eingeben

verwandte Informationen