From: Aditya Mahajan <adityam@umich.edu>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: Permissible characters in ConTeXt reference labels
Date: Wed, 17 Sep 2014 22:26:47 -0400 (EDT) [thread overview]
Message-ID: <alpine.LNX.2.03.1409172221360.11676@hzvpu.rqh> (raw)
In-Reply-To: <541A08A0.1010002@wxs.nl>
On Thu, 18 Sep 2014, Hans Hagen wrote:
> On 9/18/2014 12:06 AM, Mark Szepieniec wrote:
>> Bump...
>>
>> If it's not too much trouble, I would greatly appreciate some feedback
>> on this before I propose it to be merged into pandoc; even a "looks good
>> to me" from one of the ConTeXt gurus would be very helpful.
>>
>> Thanks in advance,
>>
>> Mark
>>
>> On Tue, Sep 9, 2014 at 12:20 AM, Mark Szepieniec <mszepien@gmail.com
>> <mailto:mszepien@gmail.com>> wrote:
>>
>> I'm trying to fix a problem in pandoc (see
>> https://github.com/jgm/pandoc/pull/1589) where it doesn't properly
>> sanitize the reference labels in ConTeXt output, causing errors
>> during compilation when a label contains '#' for example. Note that
>> this sanitizing is needed in addition to the regular backslash
>> escaping used for control characters: '\#' is still illegal in a
>> label for example.
(LaTeX label) = (ConTeXt reference). What Mark mean was references such as
\section[...]{...} or \startplacefigure[reference={...}].
>> In the sanitizer function I'm writing, I'd like to properly escape
>> all illegal characters, but I couldn't find an explicit list of
>> allowed or illegal characters. Based on some testing I've conducted
>> (see attached file), I've arrived at the following set:
>>
>> \#[]",{}%()|=
>
> it depends on where these characters end up in
>
> # : always tricky as it denotes an argument, so escape
> [] : depends if it gets fed into a macro that uses [] as delimiters
> {} : only an issue when not balanced
> % : escaping needed as it's comment otherwise
> () : depends on where it ends up, like []
> | : is special in context so needs escaping
> \ : of course that one needs escaping
>
>> 1) Does this look like a reasonable set? Are there other characters
>> or sequences that should be included, or are worth testing?
>
> keep in mind that escapes should end up unescaped at some point
>
>> 2) I was told (see
>> https://groups.google.com/forum/#!topic/pandoc-discuss/tYpXMUkmbEY)
>> that if the characters " and , didn't work, it would count as a
>> ConTeXt bug, is there any truth to that? Please let me know if any
>> further info is needed on my part.
>
> well, define bug ... one can say the same of < and > in xml -)
Since I made that comment on the pandoc mailing list, let me explain.
Consider:
\section["some" reference]{Title}
Given how " behaves elsewhere in ConTeXt, a user would expect the above to
be a valid input. If it is not, then it is bug (or atleast, surprising).
The same goes for
\section[some, reference]{Title}
> if the result ends up in a comma separated list then , can be an issue but
> one can always wrap an argument in {} to hide that
>
>> 3) Does anyone see issues with this general approach? I'm relatively
>> new to ConTeXt, so I might be missing either a huge problem, or an
>> obviously easier way to do this.
>
> i don't know ... i never used pandoc input
Aditya
___________________________________________________________________________________
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
___________________________________________________________________________________
next prev parent reply other threads:[~2014-09-18 2:26 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-08 22:20 Mark Szepieniec
2014-09-17 22:06 ` Mark Szepieniec
2014-09-17 22:18 ` Hans Hagen
2014-09-18 2:26 ` Aditya Mahajan [this message]
2014-09-18 12:39 ` Mark Szepieniec
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=alpine.LNX.2.03.1409172221360.11676@hzvpu.rqh \
--to=adityam@umich.edu \
--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).