Defining commands in \start ... \stop
Hi, Concerned with the answers to the [that topic](http://www.ntg.nl/pipermail/ntg-context/2014/077099.html), I was thinking if I could define a command "Exercise" with a optional argument (the "Answer"). \defineblock[question] \defineblock[answer] \defineenumeration[question][text={Question}] \defineenumeration[answer] [text={Answer}] \keepblocks[question] \hideblocks[answer] Something like \startexercise My execise ... \stopexercise If no more is provide, at the question does \incrementcounter[answer] If \startexercise{\startsolution The solution is \stopsolution} My exercise \stopexercise then \beginanswer and \startanswer is called. Is it possible? I just want to know if it's better to have \startBla...\stopBla command or \Bla{} command type? In the case of the first, how do you define that? I did not find it here (http://wiki.contextgarden.net/Commands_with_optional_arguments) Thanks, Xan PS: Please CCme
This: \defineblock[question] \defineblock[answer] \defineenumeration[question][text={Question}] \defineenumeration[answer] [text={Answer}] \keepblocks[question] \hideblocks[answer] \def\mynewcommand{\dosingleempty\doMyNewCommand} \def\doMyNewCommand[#1]#2{% \iffirstargument \beginquestion \startquestion #2% \stopquestion \endquestion \beginanswer \startanswer #1% \stopanswer \endanswer \else \beginquestion \startquestion #2% \stopquestion \endquestion \incrementcounter[answer] \fi } \starttext \chapter{Question} \beginquestion \startquestion Question 1. \stopquestion \endquestion \beginanswer \startanswer Answer 1. \stopanswer \endanswer \beginquestion \startquestion Question 2. \stopquestion \endquestion \beginanswer \incrementcounter[answer] \endanswer \beginquestion \startquestion Question 3. \stopquestion \endquestion \beginanswer \startanswer Answer 3. \stopanswer \endanswer \mynewcommand{Question 5} \mynewcommand[Resposta 6]{Question 6} \chapter{Answers} \useblocks[answer] \stoptext does not work
Am 30.03.2014 um 19:28 schrieb Xan
This:
\defineblock[question] \defineblock[answer]
\defineenumeration[question][text={Question}] \defineenumeration[answer] [text={Answer}]
\keepblocks[question] \hideblocks[answer]
\def\mynewcommand{\dosingleempty\doMyNewCommand} \def\doMyNewCommand[#1]#2{% \iffirstargument \beginquestion \startquestion #2% \stopquestion \endquestion \beginanswer \startanswer #1% \stopanswer \endanswer \else \beginquestion \startquestion #2% \stopquestion \endquestion \incrementcounter[answer] \fi }
\starttext
\chapter{Question}
\beginquestion \startquestion Question 1. \stopquestion \endquestion
\beginanswer \startanswer Answer 1. \stopanswer \endanswer
\beginquestion \startquestion Question 2. \stopquestion \endquestion
\beginanswer \incrementcounter[answer] \endanswer
\beginquestion \startquestion Question 3. \stopquestion \endquestion
\beginanswer \startanswer Answer 3. \stopanswer \endanswer
\mynewcommand{Question 5}
\mynewcommand[Resposta 6]{Question 6}
\chapter{Answers}
\useblocks[answer]
\stoptext
does not work
The block commands use a buffer to store the content and buffers can’t be used in commands. Wolfgang
participants (2)
-
Wolfgang Schuster
-
Xan