[NTG-context] hyperlinks with special characters

Prashanth N Rao prash.n.rao at gmail.com
Fri Aug 29 23:20:14 CEST 2014


On Friday 29 August 2014 21:52:33 Hans Hagen wrote:
> On 8/29/2014 7:48 PM, Prashanth N Rao wrote:
> > I have already asked this question on Stackexchange. It appears that no one who has seen the question knows an answer. I figure I'll ask here too, just to cover all bases.
> >
> > I need to link to some online resources in my PDF file. Based on the official documentation, I have written:
> >
> >> \useURL[dbdk] [http://dbpedia.org/page/The_Dark_Knight_(film)] [] [it's link to DBPedia]
> >>
> >> Lorem ipsum \goto{the LinkedMDB.org entry on The Dark Knight}[url(http://data.linkedmdb.org/page/film/6224)], and \from[dbdk] dolor sit amet.
> >
> > Note my code for the link to DBpedia: I had to write it in this convoluted way, instead of using my preferred \goto, because the link has the special characters, `(` and `)`. These characters interfered with `url()`. I can't use HTML's URL encoding scheme because the `%`s interfere with TeX. Is there another escape code format in ConTeXt for use within `\goto{...}[url(...)]`?
> 
> Hm, I can support properly nested () and {} but how about not balanced 
> ... one way out is to support "" and ''
> 
> special(operation)
> special(operation(whatever))
> special(operation{argument,argument{whatever}})
> special(operation{argument{whatever}})
> 
> special("operation(")
> special("operation(whatever")
> special(operation{"argument,argument{whatever"})
> special(operation{"argument{whatever"})
> 
> I'll add that but it needs testing because the ref parser is already 
> somewhat complex.
> 

If I may make a suggestion, you could just support one escape character -> \
That way, balanced or unbalanced, they just have to know one convention. If I
understood your examples correctly, i.e. these are the strings one would write
within url(), this is how they could do it:

special\(operation\)
special\(operation\(whatever\)\)
special\(operation{argument,argument{whatever}}\)
special\(operation{argument{whatever}}\)

special\(operation\(\)
special\(operation\(whatever\)
special\(operation{argument,argument{whatever}\)
special\(operation{"argument{whatever"}\)

And if they ever need a literal \ in their URL, they would have to write \\
In my examples above, I have escaped only ( and ) because they interefere
with url(). If the any other character interferes with your code, they could
escape it as I have shown.


> > Using the suggestion by @phg, I tried the following:
> >
> >> \startasciimode
> >> Lorem ipsum \goto{the LinkedMDB.org entry on The Dark Knight}[url(http://data.linkedmdb.org/page/film/6224)], and \goto{it's link to DBPedia}[url(http://dbpedia.org/page/The_Dark_Knight_%28film%29)] dolor sit amet.
> >> \stopasciimode
> > I still had to use escape codes, `%28` and `%29`, to keep it from interfering with url(). It turns out that DBpedia does not like these codes, and requires the actual characters. Is there another way I put them in `\goto{...}[url(...)]`?
> 
> you can use: \letterpercent
> 
> -----------------------------------------------------------------
>                                            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 Wiki!
> 
> maillist : ntg-context at 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
> ___________________________________________________________________________________
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://www.ntg.nl/pipermail/ntg-context/attachments/20140829/3e885160/attachment.pgp>


More information about the ntg-context mailing list