ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Michael Saunders <odradek5@gmail.com>
To: ntg-context@ntg.nl
Subject: Re: tooltips and glossary
Date: Tue, 4 May 2010 23:36:17 -0500	[thread overview]
Message-ID: <k2x54d7f5601005042136lcc7dc74duaed717af54a51ca3@mail.gmail.com> (raw)

About glossaries:

Thank you, everyone.  I'm not much of a TeXpert and certainly not a
lua expert, but I'm trying to understand your different solutions and
integrate them into a working system.  There seem to be three
approaches:

I. Willi Egger---synonym-based
II. Marius---modified index
III. Philipp Gesang---lua-based

I. So far, Willi's synonym-based solution looks simple and promising.
I imagine something like this:

\definesynonyms[gloss][glosses][\infull][\inshort]%to make short
glosses available for tooltips
\definesynonyms[gentry][gentries][\infull][\inshort]%to connect
headwords to entries
\def\gdef#1#2#3{\gloss{#1}{#2}\gentry{#1}{#3}}
\def\hint#1{\tooltip[middle]{#1}{\infull{#1}}}


%then you have a file of definitions like this one:

\gdef{vibrato}{a periodic fluctuation in pitch}{A periodic fluctuation
of pitch, typically in the range 6--12~Hz.}


%within the text, where you need a tooltip on a word, you can say:

... \hint{vibrato} ...


%at then end of the text, something like:

Glossary:


\placelistofgentries

I see three problems with this:

1.  I don't know how to tell \hint to refer to the "vibrato" in
glosses and not in gentries.
2.  There is no mechanism to refer to the page with a substantive
discussion of "vibrato".
3.  There is no way to handle cases where the string in the text is
some variation of "vibrato" (e.g., Vibrato, vibrati, vibrato's)

II. Marius's modified index solution is the only one to successfully
link the entry back to a point in the text, but the resulting
"glossary"  really just looks like an index.

III.  Philipp Gesang's lua-based solution connects headwords to
entries just as \definesynonyms[gentry][gentries][\infull][\inshort]
does, and it produces something that looks like a glossary, but the
entries have no link back to the text.  Also, I don't see the point of
the \usegloss{word} command unless it references the substantive
discussion(s) of the word.  I think that is what his
"\usegloss[exp]{word}" is for, but then there should be a reference to
it in the entry.  Something like:
{\bd headword}---entry text, p.\at[g:headword]
There probably is some advantage in using the lua script for this, but
I don't know what it is.


About tooltips:


\tooltip surprised me, and I was impressed that it appears to typeset
the tooltip text with Context, but there are some problems with it:

1. It's stretched horizontally.
2. The active area begins at the baseline and stretches about 1 ex
_under_ the word.
3. It appears without a border and under the cursor.

I have seen tooltips in pdf files before, and they looked better than
this.  I suspect the reason is that, as you say, \tooltip uses
Javascript, and the ones I saw use a different mechanism.  I dug
around and found this reference which describes how it's done with
form fields and invisible buttons:
http://gilbertconsulting.com/pdf/Build_tool_tips_in_InDesign.pdf
(Notice how tidy the tooltips in it look.) That document describes
setting them up manually in a point-and-click interface, but surely
Context could automate this by putting an invisible frame around the
word and creating a form field/button over it?
And, correct me if I'm wrong, but that mechanism is not
Javascript-based at all, is it?

(by the way:  I've not broken the thread again, have I?)
___________________________________________________________________________________
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:[~2010-05-05  4:36 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-05  4:36 Michael Saunders [this message]
2010-05-05  7:02 ` Philipp Gesang
2010-05-05  7:04   ` Philipp Gesang
2010-05-05  7:04 ` Marius
2010-05-06 10:31 ` luigi scarso
  -- strict thread matches above, loose matches on Subject: below --
2010-05-06 11:20 Michael Saunders
2010-05-06 11:49 ` luigi scarso
2010-05-04  9:44 Michael Saunders
2010-05-04 12:28 ` Philipp Gesang
     [not found]   ` <o2i54d7f5601005040628p90c28ea6s47eab9d212acce20@mail.gmail.com>
2010-05-04 13:32     ` Michael Saunders
2010-05-04 19:04       ` Philipp Gesang
2010-05-04 19:42       ` Corsair
2010-05-04 13:07 ` Willi Egger
2010-05-04 13:34 ` Marius
2010-05-06  9:45 ` Hans Hagen
2010-05-06 10:00   ` Taco Hoekwater
2010-05-03 19:18 Michael Saunders
2010-05-03 19:21 ` Wolfgang Schuster
2010-05-04  1:40 ` Michael Saunders
2010-05-04  8:18   ` Marius
2010-05-05  6:28   ` Taco Hoekwater
2010-05-02 22:51 Michael Saunders
2010-05-03 12:26 ` Wolfgang Schuster
2010-05-03 19:09 ` Wolfgang Schuster

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=k2x54d7f5601005042136lcc7dc74duaed717af54a51ca3@mail.gmail.com \
    --to=odradek5@gmail.com \
    --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).