ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Hans Hagen <pragma@wxs.nl>
Subject: Re: Extending the black circled numbers
Date: Tue, 04 Apr 2006 14:44:28 +0200	[thread overview]
Message-ID: <44326A2C.5040407@wxs.nl> (raw)
In-Reply-To: <ops7ge6ktp9niby6@localhost>

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
-----------------------------------------------------------------

  parent reply	other threads:[~2006-04-04 12:44 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-03 22:52 nico
2006-04-04  9:40 ` Taco Hoekwater
2006-04-04 18:42   ` nico
2006-04-04 12:44 ` Hans Hagen [this message]
2006-04-04 18:56   ` nico
2006-04-04 20:50     ` Hans Hagen
2006-04-04 22:13       ` nico
2006-04-05  7:42         ` Hans Hagen
2006-04-05 19:59           ` nico
2006-04-05 20:42             ` nico
2006-04-05 20:50               ` Hans Hagen
2006-04-05 20:52               ` Hans Hagen
2006-04-05 23:06                 ` nico
2006-04-06  0:20                 ` nico
2006-04-06  8:17                   ` Hans Hagen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=44326A2C.5040407@wxs.nl \
    --to=pragma@wxs.nl \
    --cc=ntg-context@ntg.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).