Am 11.01.2014 um 00:36 schrieb Otared Kavian <otared@gmail.com>:

Hi Wolfgang,

In mkiv, even using \startanswer, \stopanswer (and the same syntax with questions and hints) the blocks mechanism seems to be broken.
The error message is still the following:

\dostopnormalblock ...meter \c!after \par \egroup 
                                                  
<argument> ...fact that $2\times 5 = 10$. \dostopnormalblock 
                                                  \dostartnormalblock {hint}...
\dodowithpar ...dler \v!construction \endcsname #1
                                                  \csname \??constructionsto...

When I understand a little bit more about that mechanism I’ll do other testings and eventually ask Hans about what has been changed regarding blocks.

You have to convert the question, hint and answer environment.

What the block environment does is to save the content from the begin to the end block and hides it when you use \hideblocks[…]. To output the content of the environments you can use \useblocks[…].


\defineblock[question]
\defineblock[hint]
\defineblock[answer]

\defineenumeration[question][alternative=hanging,text={Question},stopper={.}]
\defineenumeration[hint]    [alternative=hanging,text={Hint for question},stopper={.}]
\defineenumeration[answer]  [alternative=hanging,text={Answer to question},stopper={.}]

\keepblocks[question]
\hideblocks[hint]
\hideblocks[answer]

\starttext

\section{Questions}

\beginquestion

\startquestion
  Compute $4\times 5$.
\stopquestion

\beginhint
\starthint
  Use the fact that $2\times 5 = 10$.
\stophint
\endhint

\beginanswer
\startanswer
  $20$.
\stopanswer
\endanswer

\endquestion

\beginquestion

\startquestion
  What is the value of $100 / 10$?
\stopquestion

\beginhint
\starthint
Remember that $10\times 10 = 100$.
\stophint
\endhint

\beginanswer
\startanswer
$10$
\stopanswer
\endanswer

\endquestion

\section{Hints}

\useblocks[hint]

\section{Answers}

\useblocks[answer]

\stoptext

Wolfgang