On Mon, 10 Nov 2014, Wolfgang Schuster wrote:


Am 10.11.2014 um 19:18 schrieb Fabrice Couvreur <fabrice1.couvr...@gmail.com>:

Hi,
With the book Metafun I created a marker with metapost. How to add a counter ?
Best regards,
Fabrice

\startuseMPgraphic{itemize:fuzzy}
numeric u;
u:=0.5cm;
save p; path p;
p := fullcircle xyscaled (u,u) randomized 2pt;
pickup pencircle scaled 1pt;
fill p withcolor green;
draw p withcolor blue;
\stopuseMPgraphic
\definesymbol[itemize:fuzzy][\useMPgraphic{itemize:fuzzy}]
\setupitemize[1][symbol=itemize:fuzzy]
\starttext
\startitemize
\item \input knuth
\item \input knuth
\stopitemize
\stoptext

You can use the visualcounter module, the documentation is included in the 
package
or you download it from the github [1] page.

[1] https://github.com/adityam/visualcounter 
<https://github.com/adityam/visualcounter>

Complete example attached. You can easily make the fill color and draw color to be configurable by a key-value interface.

The counter corresponding to itemgroups is called \v_strc_itemgroups_counter.

Aditya
\usemodule[visualcounter]

\unprotect
\definevisualcounter
  [randomcircle]
  [
    mp=visualcounter::randomcircle,
    rulethickness=1pt,
  ]

\startuseMPgraphic{visualcounter::randomcircle}
  begingroup;

  \includeMPgraphic{visualcounter::initialization}

  if (last_counter > 0) and (current_counter > 0) :
    newpicture countertext     ; countertext     := textext("\visualcounterparameter\c!text");
    newpicture max_countertext ; max_countertext := textext("\visualcounterparameter{\c!max\c!text}");

    newnumeric diameter;
    diameter := 1.75 * max(bbwidth(max_countertext), bbheight(max_countertext)); 
    
    newpath randomcircle; 
    randomcircle := fullcircle xyscaled(diameter, diameter) randomized (diameter/20);

    pickup pencircle scaled \visualcounterparameter\c!rulethickness ;
    fill randomcircle withcolor green; % Can be made configurable
    draw randomcircle withcolor blue;  % Can be made configurable

    label (countertext, origin);


  fi;
  endgroup;
\stopuseMPgraphic
\protect

\definevisualcounter
  [fuzzyitem]
  [randomcircle]
  [counter=\getvalue{v_strc_itemgroups_counter}]

\definesymbol[fuzzy][{\framed[location=depth, frame=off, strut=no]{\usevisualcounter{fuzzyitem}}}]

\starttext
\startitemize[fuzzy]
\startitem \input knuth \stopitem
\startitem \input knuth \stopitem
\stopitemize
\stoptext

___________________________________________________________________________________
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://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to