用 latex 格式设置带有单独提示和答案的问题

用 latex 格式设置带有单独提示和答案的问题

我正在用 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 环境,但它目前给了我一个错误(可能是由于当我试图将整个数学问题作为参数传递时出现了一些解析错误)。

做这个的最好方式是什么?

相关内容