私はLaTeXで数学のコースの問題集を作っています。各問題にはヒントと答えがあり、どちらもドキュメントの一番最後にあります。しかし、編集を簡単にするために、問題/ヒント/答えをソースファイルの同じ場所に入力できるようにしたいのです。次のような書き方ができるようにしたいのです。
\problem{problem text}{hint text}{answer text}
私は、ある程度機能している次のような設定を持っています。ヒント/回答パラメータのすべてを別々のファイルに書き込み、最後にそれらのファイルを入力します。
\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}
現在の問題は、問題/ヒント/回答内で \enumerate 環境を使用できるようにしたいのですが、現在はエラーが発生していることです (おそらく、数学の問題全体をパラメーターとして渡そうとしたときに、何らかの解析エラーが発生したためです)。
これを行う最善の方法は何ですか?