Am 28.11.2011 um 10:18 schrieb Otared Kavian:
Hi Wolfgang,
Many thanks for your attention and the link you sent. I looked up the chapter on references of the main manuel written by Hans, but unfortunately I could not find a solution, or could not adapt what is said there. It can be that I have to change my approach of defining my « exercises », for instance by defining each exercise as a section or subsection? Up to now I have two ways of defining an « exercise »: • one is with \defineenumeration[Exo] (when using mkii), • the other one is with \defineannotation[Exo] and your annotation module when using mkiv.
In neither case the command \setupreferencing[prefix=+] or \setupannotation[Exo][prefix=+] seems to generate local tags.
Just in case, below is a minimal file, which shows how I use the annotation module.
There are a few fixes needed in the mechanism but as you can see below it works when you know what’s wrong but to complete the function for MkIV Hans needs a shorter example. \setupinteraction[state=start] \usemodule[annotation] \define[2]\ExoSetup {%doifsomething{\annotationparameter{prefix}}{\setupreferencing[prefix=\annotationparameter{prefix}]}% \doifsomething{\annotationparameter{prefix}}{\setupreferenceprefix[\annotationparameter{prefix}]}% \doifsomething{\annotationparameter{prefix}}{\setupformulas[referenceprefix=\annotationparameter{prefix}]}% \resetnumber[formula] \textrule{#1}% \startframedtext[width=\textwidth,frame=off,leftframe=on]% #2% \stopframedtext} \defineannotation [Exo] [alternative=command, command=\ExoSetup, text=Exercise , number=yes, headcolor=darkred] \starttext \startExo[prefix=CharacTwo] Prove that if $ab=ba$ and $2ab=0$ then \placeformula[eq:1] \startformula (a+b)^2 = a^2 + b^2. \stopformula Using the identity (\in[eq:1]) prove that $(a=b)^{2n} = a^{2n} + b^{2n}$. \stopExo \page \startExo[prefix=Moivre]{Moivre's formula} Prove that for any integer $n$ \placeformula[eq:1] \startformula (\cos(x) + {\rm i}\sin(x))^n = \cos(nx) + {\rm i} \sin(nx). \stopformula Using the identity (\in[eq:1]) compute $\cos{3x}$. \stopExo \page \starttabulate[|Tl|l|] \NC eq:1 \NC \in{Equation}[eq:1] \NC\NR \NC CharacTwo:eq:1 \NC \in{Equation}[CharacTwo eq:1] \NC\NR \NC CharacTwo:eq:1 \NC \def\referenceprefix{CharacTwo}\in{Equation}[eq:1] \NC\NR \NC Moivre:eq:1 \NC \in{Equation}[Moivre eq:1] \NC\NR \NC Moivre:eq:1 \NC \def\referenceprefix{Moivre}\in{Equation}[eq:1] \NC\NR \stoptabulate \stoptext Wolfgang