マシュマロンのブログ

おはようございます。こんにちは。こんばんは。

【LaTeX】\end{enumerate}の部分で "! Undefined control sequence. " というエラーが出る

お急ぎの方は"解決法"へ。

背景

事件が起こったのは、研究室の先輩から貰ったスタイル・クラスファイルを使って論文を執筆しているとき…。
自分がよく使うパッケージを丸っとコピペしてきて書き進めていると、\end{enumerate}のところで"! Undefined control sequence. "というエラーが出ました。
しかし、このエラー文自体はよく見ると思います。
普通、\usepackage{}で足りないパッケージをロードしてくれば良いのですが、今回はそれでは解決されず…。
今回変わったことといえば、貰ったスタイル・クラスファイルがpdflatexでないと動かなさそうだったのでコンパイラをpdflatexに変更したことくらい (普段はplatexを使っている)。
スタイルファイルが原因か?コンパイラの問題か?
原因が分からず解決するのに時間を要しました。

症状

コンパイルを実行すると、以下のようなエラーが出る。

! Undefined control sequence.
\enit@endenumerate ->\enit@after
\endlist \ifx \enit@series \relax \else \if...
\end{enumerate}

治すためにやったこと

背景でも触れたように、"! Undefined control sequence. " はパッケージが不足しているなどの理由でコマンドが定義されていないときに出ます。
しかし、今回は\usepackage{enumerate}をしているから関係がない…。
エラー文でググっても直接的な解決には至りませんでした。

解決法

最終的にパッケージの衝突が原因なのでは、と思い、悪さをしてそうなパッケージをちまちま消しました。
結局のところ、paralistとenumerate, enumitemが衝突しているようで、今回の論文では使っていなかったparalistを削除することで、正常にコンパイルされるようになりました。
また、クラスファイルの方で\RequirePackage{enumitem}していたので、texファイルの方の\usepackage{enumerate}を削除しました。



これにて事件、解決!!!