ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* Re: Clickable question/answer numbers (Otared Kavian)
       [not found] <mailman.237.1478443598.2018.ntg-context@ntg.nl>
@ 2016-11-06 22:43 ` Jeong Dal
  2016-11-07  3:21   ` Otared Kavian
  0 siblings, 1 reply; 3+ messages in thread
From: Jeong Dal @ 2016-11-06 22:43 UTC (permalink / raw)
  To: ntg-context


[-- Attachment #1.1: Type: text/plain, Size: 424 bytes --]

Dear Otared,

Hi,
I run the given  code and got an error message as following.

tex error       > tex error on line 1 in file virtual://block.answer.2: ! Undefined control sequence

l.1 \myanswer
           [Q:test]

<empty file>

Would you please tell me how to avoid such an error?
It seems to me that you don’t have an error.

I am running minimal(beta) in OSX.

Thank you.

Best regards,

Dalyoung

[-- Attachment #1.2: Type: text/html, Size: 1767 bytes --]

[-- Attachment #2: Type: text/plain, Size: 492 bytes --]

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Clickable question/answer numbers (Otared Kavian)
  2016-11-06 22:43 ` Clickable question/answer numbers (Otared Kavian) Jeong Dal
@ 2016-11-07  3:21   ` Otared Kavian
  2016-11-07 16:55     ` Willi Egger
  0 siblings, 1 reply; 3+ messages in thread
From: Otared Kavian @ 2016-11-07  3:21 UTC (permalink / raw)
  To: mailing list for ConTeXt users


[-- Attachment #1.1: Type: text/plain, Size: 5370 bytes --]

Dear Dalyoung,

I guess you are typesetting the wrong file, or you have put the last code I sent into a file which contains something of the previous codes…
Indeed in the last file I sent (which I am sending again at the end of this reply) does not contain the command \myanswer… which appears in your error message.

Please test the code below and let me know if you encunter a problem.

Best regards: OK
%%%% begin interactive-question-answer.tex
%%%% Here, following Wolfgang Schuster's ideas, 
%%%% we define some macros allowing to couple
%%%% Questions and Answers in an automatic way
%%%% Upon clicking on an interactive title for Question or Answer
%%%% one goes to the corresponding Answer or Question

\setupinteraction[state=start]

% We define two counters which follow the numbers
% appearing in Question and Answer

\newcounter\QuestionCounter
\newcounter\AnswerCounter

% We create two commands to be used in the
% enumeration environments
% Note that the check for trial typestting 
% \doifnotmode{*trialtypesetting}
% is necessary in order to avoid unwanted incrementation
\define[1]\QuestionTextCommand
  {\doifnotmode{*trialtypesetting}
     {\doglobal\increment\QuestionCounter
      \pagereference[question:\QuestionCounter]}%
   \doifreferencefoundelse{answer:\QuestionCounter}
     {\goto{#1}[answer:\QuestionCounter]}
     {#1}}

\define[1]\AnswerTextCommand
  {\doifnotmode{*trialtypesetting}
     {\doglobal\increment\AnswerCounter
      \pagereference[answer:\AnswerCounter]}%
   \doifreferencefoundelse{question:\AnswerCounter}
     {\goto{#1}[question:\AnswerCounter]}
     {#1}}

% We define here two enumeration environments for
% Questions and Answers
\defineenumeration[question]
	[text=Question,
	headcommand=\QuestionTextCommand,
	number=yes,
	prefix=yes,
	prefixsegments=chapter,
	coupling=answer]

\defineenumeration[answer]
	[text=Answer,
	headcommand=\AnswerTextCommand,
	number=yes,
	prefix=yes,
	prefixsegments=chapter,
	coupling=question]

% Each question is followed immediately by its answer.
% The answers are put in a block which will be used later
\defineblock[answer]
\hideblocks[answer]

% We define a command used after a  
% Question for which no Answer is provided
% Since the block commands 
% \beginanswer ... \endanswer
% cannot be used directly in a macro definition
% we use a trick...
% In the buffer the two counters associated to Answer
% are incremented...
\startbuffer[noanswer]
    \beginanswer
    \doglobal\increment\AnswerCounter
    \incrementcounter[answer]
    \endanswer
\stopbuffer

% ...and then the above buffer is invoked
\define\noanswer
  {\getbuffer[noanswer]}

% example of use:
\starttext
\startchapter[title=Questions]

\startquestion[q:1]
Prove that ${\rm e}\sim 2.73$ is irrational.
    
This is the first question, with its own reference, for later use.
\stopquestion
    
\beginanswer
\startanswer
This is the answer to the first question (to \in{Question}[q:1]).
\stopanswer
\endanswer

\startquestion 
This is the second question, without its own reference.
\stopquestion
    
\beginanswer
\startanswer[a:Test]
This is the answer to the second question. 

(Note that this answer has a reference named \type{a:Test}).
\stopanswer
\endanswer

\startquestion[q:Obvious]
This is the third question, an easy one, without a given solution.
\stopquestion

% we increment here the counters for Answer
\noanswer

\startquestion[q:2]
This is the fourth question with its own reference.
\stopquestion

\beginanswer
\startanswer
This is the answer to the fourth question: use the result of \in{Question}[q:1].
\stopanswer
\endanswer

\startquestion 
This is the fifth question, without its own reference. 

({\it Hint:} look again at \in{Question}[q:Obvious]).
\stopquestion
    
\beginanswer
\startanswer
This is the answer to the fifth question. Read again \in{Answer}[a:Test].
\stopanswer
\endanswer  

\stopchapter

% Here we say ownnumber=1, in order to match the prefix 
% of numbers associated to Answer
\startchapter[ownnumber=1,title=Answers and solutions]
\useblocks[answer]
\stopchapter

\stoptext
%%%% end interactive-question-answer.tex




> On 6 Nov 2016, at 23:43, Jeong Dal <haksan@me.com> wrote:
> 
> Dear Otared,
> 
> Hi,
> I run the given  code and got an error message as following.
> 
> tex error       > tex error on line 1 in file virtual://block.answer.2: <virtual://block.answer.2> ! Undefined control sequence
> 
> l.1 \myanswer
>            [Q:test]
> 
> <empty file>
> 
> Would you please tell me how to avoid such an error?
> It seems to me that you don’t have an error.
> 
> I am running minimal(beta) in OSX.
> 
> Thank you.
> 
> Best regards,
> 
> Dalyoung
> ___________________________________________________________________________________
> If your question is of interest to others as well, please add an entry to the Wiki!
> 
> maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
> webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
> archive  : https://bitbucket.org/phg/context-mirror/commits/
> wiki     : http://contextgarden.net
> ___________________________________________________________________________________


[-- Attachment #1.2: Type: text/html, Size: 11685 bytes --]

[-- Attachment #2: Type: text/plain, Size: 492 bytes --]

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Clickable question/answer numbers (Otared Kavian)
  2016-11-07  3:21   ` Otared Kavian
@ 2016-11-07 16:55     ` Willi Egger
  0 siblings, 0 replies; 3+ messages in thread
From: Willi Egger @ 2016-11-07 16:55 UTC (permalink / raw)
  To: NTG-Context ConTeXt users

Otared,

thank you for this nice example!

Willi
> On 7 Nov 2016, at 04:21, Otared Kavian <otared@gmail.com> wrote:
> 
> Dear Dalyoung,
> 
> I guess you are typesetting the wrong file, or you have put the last code I sent into a file which contains something of the previous codes…
> Indeed in the last file I sent (which I am sending again at the end of this reply) does not contain the command \myanswer… which appears in your error message.
> 
> Please test the code below and let me know if you encunter a problem.
> 
> Best regards: OK
> %%%% begin interactive-question-answer.tex
> %%%% Here, following Wolfgang Schuster's ideas, 
> %%%% we define some macros allowing to couple
> %%%% Questions and Answers in an automatic way
> %%%% Upon clicking on an interactive title for Question or Answer
> %%%% one goes to the corresponding Answer or Question
> 
> \setupinteraction[state=start]
> 
> % We define two counters which follow the numbers
> % appearing in Question and Answer
> 
> \newcounter\QuestionCounter
> \newcounter\AnswerCounter
> 
> % We create two commands to be used in the
> % enumeration environments
> % Note that the check for trial typestting 
> % \doifnotmode{*trialtypesetting}
> % is necessary in order to avoid unwanted incrementation
> \define[1]\QuestionTextCommand
>   {\doifnotmode{*trialtypesetting}
>      {\doglobal\increment\QuestionCounter
>       \pagereference[question:\QuestionCounter]}%
>    \doifreferencefoundelse{answer:\QuestionCounter}
>      {\goto{#1}[answer:\QuestionCounter]}
>      {#1}}
> 
> \define[1]\AnswerTextCommand
>   {\doifnotmode{*trialtypesetting}
>      {\doglobal\increment\AnswerCounter
>       \pagereference[answer:\AnswerCounter]}%
>    \doifreferencefoundelse{question:\AnswerCounter}
>      {\goto{#1}[question:\AnswerCounter]}
>      {#1}}
> 
> % We define here two enumeration environments for
> % Questions and Answers
> \defineenumeration[question]
> 	[text=Question,
> 	headcommand=\QuestionTextCommand,
> 	number=yes,
> 	prefix=yes,
> 	prefixsegments=chapter,
> 	coupling=answer]
> 
> \defineenumeration[answer]
> 	[text=Answer,
> 	headcommand=\AnswerTextCommand,
> 	number=yes,
> 	prefix=yes,
> 	prefixsegments=chapter,
> 	coupling=question]
> 
> % Each question is followed immediately by its answer.
> % The answers are put in a block which will be used later
> \defineblock[answer]
> \hideblocks[answer]
> 
> % We define a command used after a  
> % Question for which no Answer is provided
> % Since the block commands 
> % \beginanswer ... \endanswer
> % cannot be used directly in a macro definition
> % we use a trick...
> % In the buffer the two counters associated to Answer
> % are incremented...
> \startbuffer[noanswer]
>     \beginanswer
>     \doglobal\increment\AnswerCounter
>     \incrementcounter[answer]
>     \endanswer
> \stopbuffer
> 
> % ...and then the above buffer is invoked
> \define\noanswer
>   {\getbuffer[noanswer]}
> 
> % example of use:
> \starttext
> \startchapter[title=Questions]
> 
> \startquestion[q:1]
> Prove that ${\rm e}\sim 2.73$ is irrational.
>     
> This is the first question, with its own reference, for later use.
> \stopquestion
>     
> \beginanswer
> \startanswer
> This is the answer to the first question (to \in{Question}[q:1]).
> \stopanswer
> \endanswer
> 
> \startquestion 
> This is the second question, without its own reference.
> \stopquestion
>     
> \beginanswer
> \startanswer[a:Test]
> This is the answer to the second question. 
> 
> (Note that this answer has a reference named \type{a:Test}).
> \stopanswer
> \endanswer
> 
> \startquestion[q:Obvious]
> This is the third question, an easy one, without a given solution.
> \stopquestion
> 
> % we increment here the counters for Answer
> \noanswer
> 
> \startquestion[q:2]
> This is the fourth question with its own reference.
> \stopquestion
> 
> \beginanswer
> \startanswer
> This is the answer to the fourth question: use the result of \in{Question}[q:1].
> \stopanswer
> \endanswer
> 
> \startquestion 
> This is the fifth question, without its own reference. 
> 
> ({\it Hint:} look again at \in{Question}[q:Obvious]).
> \stopquestion
>     
> \beginanswer
> \startanswer
> This is the answer to the fifth question. Read again \in{Answer}[a:Test].
> \stopanswer
> \endanswer  
> 
> \stopchapter
> 
> % Here we say ownnumber=1, in order to match the prefix 
> % of numbers associated to Answer
> \startchapter[ownnumber=1,title=Answers and solutions]
> \useblocks[answer]
> \stopchapter
> 
> \stoptext
> %%%% end interactive-question-answer.tex
> 
> 
> 
> 
>> On 6 Nov 2016, at 23:43, Jeong Dal <haksan@me.com> wrote:
>> 
>> Dear Otared,
>> 
>> Hi,
>> I run the given  code and got an error message as following.
>> 
>> tex error       > tex error on line 1 in file virtual://block.answer.2: ! Undefined control sequence
>> 
>> l.1 \myanswer
>>            [Q:test]
>> 
>> <empty file>
>> 
>> Would you please tell me how to avoid such an error?
>> It seems to me that you don’t have an error.
>> 
>> I am running minimal(beta) in OSX.
>> 
>> Thank you.
>> 
>> Best regards,
>> 
>> Dalyoung
>> ___________________________________________________________________________________
>> If your question is of interest to others as well, please add an entry to the Wiki!
>> 
>> maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
>> webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
>> archive  : https://bitbucket.org/phg/context-mirror/commits/
>> wiki     : http://contextgarden.net
>> ___________________________________________________________________________________
> 
> ___________________________________________________________________________________
> If your question is of interest to others as well, please add an entry to the Wiki!
> 
> maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
> webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
> archive  : https://bitbucket.org/phg/context-mirror/commits/
> wiki     : http://contextgarden.net
> ___________________________________________________________________________________

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-11-07 16:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <mailman.237.1478443598.2018.ntg-context@ntg.nl>
2016-11-06 22:43 ` Clickable question/answer numbers (Otared Kavian) Jeong Dal
2016-11-07  3:21   ` Otared Kavian
2016-11-07 16:55     ` Willi Egger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).