nico wrote:
Hello,
For those who know, I'm trying to have the DocBook callout mechanism with context. Basically, there are some numbers in lines of verbatim text, and below the verbatim text the numbers are used to explain the portion of the text (kind of footnote). Typically the numbers are rendered white in black circle. I could use the Dingbats numbers, but it is limited to 10, so that I emulated them with the following code to be able to go up to 99.
The questions I have: - Is it the right way to do it in context (do I really need metafont? Simpler, smarter method?) - What should I do to make them as anchors, so that it can be cross-referenced (I mean, one can click on a hot spot that jump to the number in the verbatim text).
Thanks for any hint,
\newdimen \cowidth
% Maximum size of the circle fits for number 99 \def\evalwidth% {\bgroup% \setbox0\hbox{\small\bf{\ss 99}}% \global\cowidth=1.2\wd0% \egroup}
% Background black circle \startuniqueMPgraphic{CoCircle} fill fullcircle scaled \overlaywidth withcolor black ; \stopuniqueMPgraphic
\defineoverlay[cocircle][\uniqueMPgraphic{CoCircle}]
% Display the black circled number \def\conum#1% {\evalwidth% \framed[background=cocircle,strut=no,frame=off, width=\the\cowidth,height=\the\cowidth,offset=overlay] {\color[white]{\small\bf{\ss #1}}}}
\starttext
\dorecurse{99}{\conum{\recurselevel}, }
\stoptext
\setupcolors[state=start] \startuniqueMPgraphic{CoCircle} fill fullcircle xysized (OverlayWidth,OverlayHeight) withcolor OverlayColor ; \stopuniqueMPgraphic \defineoverlay[cocircle][\uniqueMPgraphic{CoCircle}] \definecolor[CoBackgroundColor] [red] \definecolor[CoForegroundColor] [white] \def\conum#1% {\setbox\scratchbox\hbox {\small\ss\bf \setbox\scratchbox\hbox{99}% \hbox to 1.2\wd\scratchbox{\hss#1\hss}}% \framed [background=cocircle, offset=overlay, frame=off, width=\the\wd\scratchbox, height=\the\wd\scratchbox, backgroundcolor=CoBackgroundColor, foregroundcolor=CoForegroundColor] {\box\scratchbox}} \starttext \dontleavehmode \dorecurse{99}{\conum{\recurselevel}, } \stoptext ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------