ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Otso Helenius <context@pi-xi.net>
To: <ntg-context@ntg.nl>
Subject: Solution to a "superscript" problem?
Date: Wed, 12 Oct 2011 22:43:05 +0300	[thread overview]
Message-ID: <6c17f9dcc01621f20e74d6673d9a0bca@pi-xi.net> (raw)

Hello,

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:



\startuniqueMPgraphic{defline}
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;
\stopuniqueMPgraphic

\defineoverlay[curlybracket][\includeMPgraphic{defline}]

\def\sentencedef[#1][#2]{\setbox\scratchbox=\hbox{#2}\hbox to 
\the\wd\scratchbox{\cbox{\hbox{\tfxx\color[red] 
#1}\\\hbox{\framed[background=curlybracket,frame=off]{#2}}}}}

\def\worddef[#1][#2]{\setbox\scratchbox=\hbox{#2}\hbox to 
\the\wd\scratchbox{\cbox{\hbox{\rotate[rotation=25]{\tfxx\color[red] 
#1}}\\\hbox{#2}}}}

\starttext

\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.}

\stoptext



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.



Best regards,
-- 
  * Otso Helenius
  * Helsinki University, Faculty of Mathematics
  * Aalto University, Faculty of Architecture
___________________________________________________________________________________
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	other threads:[~2011-10-12 19:43 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-12 19:43 Otso Helenius [this message]
2011-10-12 20:09 ` Hans Hagen
2011-10-12 20:26   ` Otso Helenius
2011-10-12 20:55   ` Aditya Mahajan

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=6c17f9dcc01621f20e74d6673d9a0bca@pi-xi.net \
    --to=context@pi-xi.net \
    --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).