下面是一个展示该问题的 mwe。
\documentclass[12pt,a4paper]{article}
\usepackage{answers}
\Newassociation{sol}{enumerate}{ans}
\newtheorem{ex}{Exercise}
\begin{document}
\Opensolutionfile{ans}[ans1]
\section{Problems}
\begin{ex}
First exercise
\begin{sol}
\item First solution.
\begin{enumerate}
\item
\item
\end{enumerate}
\end{sol}
\end{ex}
\begin{ex}
Second exercise
\begin{sol}
\item Second solution.
\end{sol}
\end{ex}
\Closesolutionfile{ans}
\section{Solutions}
\input{ans1}
\end{document}
这给出了一条错误消息。这是生成的答案文件。
\begin{enumerate}\enumerateparams
\item First solution.
\begin{enumerate}
\item
\item
\end{enumerate}
\end{enumerate}
\begin{enumerate}\enumerateparams
Second solution.
\end{enumerate}
可以看到,有一个额外的 \enumerateparams。我不知道如何去掉它。我尝试了 hack
\newcommand{\enumerateparams}{\relax}
这也不能解决问题。以下是有关我的 TeX Live 发行版的详细信息。
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/W32TeX) (preloaded format=pdflatex 2019.9.23) 4 MAR 2020 10:53
这是错误信息:
! Undefined control sequence.
l.1 \begin{enumerate}\enumerateparams
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
答案1
我添加了行
\newcommand{\enumerateparams}{}
并且成功了!:)