次に例を示します。
\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}
これを動作させるには、\usepackage[at]{easylist}
の代わりに のような他の記号を使用するだけですsharp
。しかし、エラー メッセージではなぜこれが動作しないのかがまったくわからないので、不思議に思っています。 を使用できない理由を知っている人はいますか#
?
エラーメッセージは次のとおりです:
_./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}
アップデート:
@egregの答え説明については下記(およびコメント)をご覧ください。
上記の質問に対する解決策は\Activate
、\Deactivate
が提供するコマンドを使用して次のようにします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}
答え1
オプションsharp
は を#
アクティブ文字にします。 によって生成されるファイルには をpygmentize
使用するマクロ定義が含まれており#
、 内にあるためeasylist
、この文字はパラメータ指定子ではなくなります。
したがって、使用する必要がある引数を持つすべての補助マクロはminted
期待どおりに動作しません。
他の文字を使用すると、別の問題が発生する可能性があります。at
オプションを試してみましたが、@
では機能しませんでしたminted
。たとえば、
\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}
印刷されません@
。
また、minted
リスト内の現在のインデントは考慮されません。
比較してみましょう:
\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}