Estoy haciendo un conjunto de problemas para un curso de matemáticas en látex. Cada problema tiene una pista y una respuesta, ambas deben encontrarse al final del documento. Pero para facilitar la edición quiero poder escribir problemas/sugerencias/respuestas en el mismo lugar en el archivo fuente, quiero poder escribir algo como
\problem{problem text}{hint text}{answer text}
Tengo una configuración como esta que funciona de alguna manera: escribe todo en los parámetros de sugerencias/respuestas en archivos separados y luego ingresa esos archivos al final:
\documentclass{article}
% Counters for problems and chapters
\newcounter{problem}
\setcounter{problem}{0}
\newcounter{chap}
\setcounter{chap}{1}
% Open files for hints and answers
\newwrite\hintsfile
\immediate\openout\hintsfile=hints.tex
\newwrite\ansfile
\immediate\openout\ansfile=answers.tex
% Custom problem command
\newcommand{\problem}[3]{%
\addtocounter{problem}{1}%
\noindent\llap{\textbf{\thechap.\theproblem.} }#1 \\ \vspace{1mm}
% Write to hint file
\immediate\write\hintsfile{\string\noindent\string\llap{\string\textbf{\thechap.\theproblem.}}}
\immediate\write\hintsfile{#2 \par}
% Write to answer file
\immediate\write\ansfile{\string\noindent\string\llap{\string\textbf{\thechap.\theproblem.}}}
\immediate\write\ansfile{#3 \par}
}
\begin{document}
\section{Problems}
\problem{Problem 1 Text}{Hint 1 Text}{Answer 1 Text}
Text between problems\\
\problem{Problem 2 Text}{Hint 2 Text}{Answer 2 Text}
\problem{Problem 3 Text}{Hint 3 Text}{Answer 3 Text}
\immediate\closeout\hintsfile
\immediate\closeout\ansfile
\section{Hints}
\input{hints}
\section{Answers}
\input{answers}
\end{document}
El problema actual es que quiero poder usar el entorno \enumerate dentro de los problemas/sugerencias/respuestas, pero actualmente me da un error (probablemente debido a algún error de análisis cuando intento pasar un problema matemático completo como un parámetro).
¿Cuál es la mejor manera de hacer esto?