On 12-10-2011 21:43, Otso Helenius wrote:

I've been trying to come up with a few methods to add definitions to
text with the help of the metafun and context manuals. The first method
adds the definition as sort of a "superscript" on top of the word, and
the second one marks multiple words with a curly bracket and adds the
definition on top of the tip of the bracket.

Here is the (ugly and hackish) code:

path p; p:=(0,0)..controls (0,1) and (1,1)..(1,1)--(6,1)..controls(7,1)
and (7,1)..(7,2)--(7,2)..controls(7,1) and
(7,1)..(8,1)--(13,1)..controls(13,1) and (14,1)..(14,0);
draw (0,0)--(0,12pt) withcolor white;
draw p xscaled (\overlaywidth/15) yscaled 5 shifted (0,9mm) withpen
pencircle scaled 0.25mm withcolor red;


\def\sentencedef[#1][#2]{\setbox\scratchbox=\hbox{#2}\hbox to

\def\worddef[#1][#2]{\setbox\scratchbox=\hbox{#2}\hbox to


\hbox{\worddef[def1][Lorem] ipsum \worddef[def2][dolor] sit
\worddef[def3][amet] consectetur \worddef[def4][adipiscing] elit.}

\hbox{\sentencedef[def5][Lorem ipsum] dolor sit \sentencedef[def6][amet
consectetur] adipiscing elit.}


I haven't figured a way to add the curly bracket graphic neatly nor
position the definition correctly on top of it.

I would be very interested in any advice regarding these two functions
and how to rewrite both of them in a more elegant way.

Wikifyable ...


    path p ;
    p :=
        ( 0,0) .. controls  (0,1) and ( 1,1) ..
        ( 1,1) --
        ( 6,1) .. controls  (7,1) and ( 7,1) ..
        ( 7,2) --
        ( 7,2) .. controls  (7,1) and ( 7,1) ..
        ( 8,1) --
        (13,1) .. controls (13,1) and (14,1) ..
        (14,0) ;
        xysized (\MPvar{width},ExHeight)
        withpen pencircle scaled .1ExHeight
        withcolor \MPcolor{red} ;




\raise\strutheight\hbox to \wd\scratchbox{\hss\rotate[rotation=25]{\tfxx\color[red]#1}\hss}%


\raise1.5\strutht\hbox to \wd\scratchbox{\hss\rotate[rotation=25]{\tfxx\color[red]#1}\hss}%
\raise0.9\strutht\hbox to \wd\scratchbox{\uniqueMPgraphic{defline}{width=\the\wd\scratchbox}}%


\WordDef[def1][Lorem] ipsum \WordDef[def2][dolor] sit \WordDef[def3][amet] consectetur \WordDef[def4][adipiscing] elit.

\LineDef[def5][Lorem ipsum] dolor sit \LineDef[def6][amet consectetur] adipiscing elit.


                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
    tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
                                             | www.pragma-pod.nl
If your question is of interest to others as well, please add an entry to the 

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net

Reply via email to