Dear Otared (and others), while waiting for Hans reply on the \namedenumerationparameter and \enumerationparameter, this is the best I could do. Now, only "Question" is clickable and not the number, but I think I could live with that if no other solution show up.
Best regards, Mikael \usemodule[references-show] \setupinteraction[state=start,color=,contrastcolor=,style=] \defineblock[answer] \hideblocks[answer] \def\myanswer[#1]{\inleft{\in[#1]\reference[A:#1]{\in[#1]}}} \defineenumeration[exercise][ text=Question, title=yes, titlestyle=, titlecolor=black, headstyle={\sc}, headcolor=darkred, style=, number=yes, ] \def\startquestion{\dodoubleempty\dostartquestion} \long\def\dostartquestion[#1][#2]#3\stopquestion{% \iffirstargument \setupenumeration[exercise][text={\goto{Question}[A:#1]}] \ifsecondargument \startexercise[#1]{#2} \else \startexercise[#1] \fi \else \setupenumeration[exercise][text=Question] \startexercise \fi #3 } \def\stopquestion{\stopexercise} \starttext \section{A section with questions} \startquestion[Q:test][This is a title] This is a question with title. \stopquestion \beginanswer \myanswer[Q:test] This is an answer \endanswer \startquestion[Q:test2] This is a question without title. \startformula (a+b)^2=a^2+ab+ba+b^2. \stopformula \stopquestion \beginanswer \myanswer[Q:test2] This is an answer. \endanswer \startquestion This is a question without reference. It cannot have any answer. \stopquestion \page[yes] \subject{Answers} \useblocks[answer] \stoptext On Thu, Nov 3, 2016 at 12:58 PM, Mikael P. Sundqvist <mic...@gmail.com> wrote: > Dear Hans, > > This seems to be exactly what I need, but I cannot get it to work. > With the example below nothing comes from those > commands (I just updated my standalone to the latest one). On the > other hand, with text instead of reference it works. > > Best regards, Mikael > > \defineenumeration[question][ > text=Question, > ] > > \starttext > \startquestion[test] > This question has reference > \namedenumerationparameter{question}{reference} which could also > be achieved via \enumerationparameter{reference}. On the other hand, > \namedenumerationparameter{question}{text} > gives Question as assumed. > \stopquestion > > \startquestion[reference=test2] > This question has reference > \namedenumerationparameter{question}{reference} which could also > be achieved via \enumerationparameter{reference}. On the other hand, > \namedenumerationparameter{question}{text} > gives Question as assumed. > \stopquestion > \stoptext > > On Thu, Nov 3, 2016 at 10:34 AM, Hans Hagen <pra...@wxs.nl> wrote: >> On 11/2/2016 9:58 PM, Mikael P. Sundqvist wrote: >>> >>> Dear Otared, >>> >>> thank you again. This is somehow a proof that it should work. In my >>> real document I use the title to name some exercises (after old >>> exams), and I don't see how that can be combined with your solution. >>> >>> If someone else reads this: I think the question boils down to the >>> following: >>> >>> \startquestion[Q:test] >>> How can I here automatically get access to to the string "Q:test"? >>> \stopquestion >> >> >> it depends what automatically means >> >> \enumerationparameter{reference} >> >> or >> >> \namedenumerationparameter{question}{reference} >> >> >>> Best regards, Mikael >>> >>> On Wed, Nov 2, 2016 at 9:04 PM, Otared Kavian <ota...@gmail.com> wrote: >>>> >>>> Hi Mikael, >>>> >>>> A partial solution to the feature we are discussing is contained in the >>>> example below, but somone more aware of ConTeXtish coding might improve it. >>>> It is not satisfactory in that one has to define twice \startquestion and >>>> \StartQuestion, \beginanswer and \BeginAnswer, and more importantly one >>>> cannot generate automatically the references (I tried \getnumber[question] >>>> and such to append to Q:\getnumber[question] for instance, but something >>>> does not work…). >>>> >>>> Le me know if you find a satisfactory solution… >>>> >>>> Best regards: OK >>>> %%% begin interactive-question-answer.tex >>>> \setupinteraction[state=start,color=,contrastcolor=,style=] >>>> >>>> \defineblock[answer] >>>> \hideblocks[answer] >>>> >>>> \def\myanswer[#1]{\inleft{\in[#1]\reference[A:#1]{\in[#1]}}} >>>> >>>> \define[1]\AnswerToQuestion{Question \goto{(see Solution)}[A:Q:#1]} >>>> >>>> >>>> \define[1]\StartQuestion{\startquestion[reference=Q:#1,title={\AnswerToQuestion{#1}}]} >>>> >>>> \define[1]\BeginAnswer{\beginanswer\myanswer[Q:#1]} >>>> >>>> \defineenumeration[question][ >>>> text=, %Question, >>>> headcolor=darkred, >>>> title=yes, >>>> titleleft=, >>>> titleright={.}, >>>> width=fit, >>>> number=yes, >>>> prefix=yes, >>>> prefixsegments=section, >>>> ] >>>> >>>> \starttext >>>> >>>> \section{A section with questions} >>>> >>>> \StartQuestion{test} >>>> >>>> Prove that $(a +b)^2 = a^2 + 2ab + b^2$ for all $a,b\in{\Bbb R}$. >>>> >>>> \BeginAnswer{test} >>>> >>>> Indeed $(a+b)^2 = (a+b)(a+b) = a^2 + ab + ba +b^2 = a^2 + 2ab +b^2$ since >>>> $ba=ba$. >>>> \endanswer >>>> >>>> \stopquestion >>>> >>>> \page[yes] >>>> >>>> \startsection[title={Answers to all questions}] >>>> >>>> \useblocks[answer] >>>> >>>> \stopsection >>>> \stoptext >>>> %%% end interactive-question-answer.tex >>>> >>>>> On 2 Nov 2016, at 16:16, Mikael P. Sundqvist <mic...@gmail.com> wrote: >>>>> >>>>> Dear Otared (and list), >>>>> >>>>> thank you for your reply and support. >>>>> >>>>> The links from the answers to the questions work as wanted with my >>>>> solution, it is the links from the questions to the answers that do >>>>> not. >>>>> >>>>> I guess I need something like >>>>> >>>>> headcommand={\in{Question}[A:###]}, >>>>> >>>>> where ### is the reference tag I set. But I don't know what to change >>>>> the ### into (or if that would work). >>>>> >>>>> Best regards, Mikael >>>>> >>>>> On Wed, Nov 2, 2016 at 1:52 PM, Otared Kavian <ota...@gmail.com> wrote: >>>>>> >>>>>> Hi Mikael, >>>>>> >>>>>> I had a similar question some time ago, but I wanted to add a sort of >>>>>> automatic referencing of questions and answers (and interaction going >>>>>> from >>>>>> questions to answers and back). >>>>>> >>>>>> If you accept the hurdle of adding manual references, in your case you >>>>>> can add (for instance…) >>>>>> >>>>>> \goto{:-)}[Q:test] >>>>>> >>>>>> to the end of your answer to go back to the respective question. But >>>>>> when you have several dozens of such references to add manually, it is >>>>>> not a >>>>>> good idea. >>>>>> >>>>>> However I could not find a way to code the items (that is the >>>>>> questions) in such a way that each adds automatically a unique reference, >>>>>> and so I am interested too in the solution of the problem you mention. >>>>>> >>>>>> Best regards: OK >>>>>> >>>>>> >>>>>>> On 2 Nov 2016, at 12:43, Mikael P. Sundqvist <mic...@gmail.com> wrote: >>>>>>> >>>>>>> Dear list, >>>>>>> >>>>>>> I have a pretty large text with a lot of questions and answers, and >>>>>>> want the user(students) to be able to click in the pdf to go from a >>>>>>> certain exercise to its answer, and back. I have a solution (see >>>>>>> below) to go from answers to questions, but not the other way around. >>>>>>> I simply have no idea on how to make the red text (in the head) in the >>>>>>> example question clickable with the answer on the next page as target. >>>>>>> As you can see, the answer has a tag A:Q:test (I want to set these >>>>>>> automatically in that manner), and clicking the green text I get to >>>>>>> the correct place. I just don't see how to make the "Question 1.1" >>>>>>> clickable with that target. >>>>>>> >>>>>>> I hope I make myself clear. If it matters, in the solution one could >>>>>>> assume that the optional tag of the \startquestion \stopquestion is >>>>>>> given for all questions. >>>>>>> >>>>>>> Best regards, Mikael >>>>>>> >>>>>>> %% qa.tex >>>>>>> \setupinteraction[state=start,color=,contrastcolor=,style=] >>>>>>> >>>>>>> \defineblock[answer] >>>>>>> \hideblocks[answer] >>>>>>> >>>>>>> \def\myanswer[#1]{\inleft{\in[#1]\reference[A:#1]{\in[#1]}}} >>>>>>> >>>>>>> \defineenumeration[question][ >>>>>>> text=Question, >>>>>>> headcolor=darkred, >>>>>>> width=fit, >>>>>>> number=yes, >>>>>>> prefix=yes, >>>>>>> prefixsegments=section, >>>>>>> ] >>>>>>> >>>>>>> \starttext >>>>>>> >>>>>>> \section{A section with questions} >>>>>>> >>>>>>> \startquestion[Q:test] >>>>>>> Solve this question! >>>>>>> \stopquestion >>>>>>> >>>>>>> We could, however, click \color[darkyellow]{\in{Answer}[A:Q:test]}. >>>>>>> >>>>>>> \beginanswer >>>>>>> \myanswer[Q:test] >>>>>>> What question? The answer is \quotation{do it yourself}! >>>>>>> \endanswer >>>>>>> >>>>>>> \page[yes] >>>>>>> >>>>>>> \subject{Answers} >>>>>>> >>>>>>> \useblocks[answer] >>>>>>> >>>>>>> \stoptext >>>>>>> >>>>>>> <qa.pdf>___________________________________________________________________________________ >>>>>>> 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 >>>>> >>>>> ___________________________________________________________________________________ >>>> >>>> >>>> >>>> ___________________________________________________________________________________ >>>> 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 >>> >>> ___________________________________________________________________________________ >>> >> >> >> -- >> >> ----------------------------------------------------------------- >> Hans Hagen | PRAGMA ADE >> Ridderstraat 27 | 8061 GH Hasselt | The Netherlands >> tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl >> ----------------------------------------------------------------- >> >> ___________________________________________________________________________________ >> 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 ___________________________________________________________________________________