Hi, I uploaded a new version. There are two new features that are experimental. This time we attempt to deal with the more tricky things and artifacts of the otherwise nice tex machinery we need to get rid of. One can rightfully argue that they are not really issues as one can work around them (and so they are never brought to attention) but why not make things better (cleaner) if we can. (1) Languages: hyphenation normally uses a hyphen and the engine has some messy work-around-border-cases in the hyphenator. So, I wondered if we could improve that. First of all, there can now be more than one hyphen character so here is the way to deal with it (the hyphenchar code is like the other 'codes'): \hccode"002D = "002D \hccode"2010 = "2010 \hccode"2013 = "2013 \hccode"2014 = "2014 This makes all these four into (kind of) compound word seperators: \startTEXpage \hsize3mm firstpart\char"002D secondpart\blank firstpart\char"2010 secondpart\blank firstpart\char"2013 secondpart\blank firstpart\char"2014 secondpart \stopTEXpage will work ok. There are provisions for those characters being at the left and right edges. All is under low level (engine) option controls (compatibility and such) but currently I enable all. With a bit of definitions one can for the 002D and 2010 cases deal with pre/post variants .. the question is do we need that for more, if so, then I need to add some more code (doable). This feature relates to Denis collection of German compound words and ligature prevention data. Dutch has the same issue. (Denis: we can ditch the compound word entries now, the ones with -.) Also, this kind of automatism (keep in mind that normally tex won't hyphenate the first word in such a compound) is especially handy in cases where there is no control over the input as with xml (when we do have control you can use || as compound word marker). (I'm wondering if we should deal with the typical somewhat archaic tex -- and --- in a different manner, but I'll come back to that.) (2) Math: what is added is not so much an issue in traditional tex math usage which is for journals but as context is used for educational purposes and thereby has quite some tricks built in. Some of these jump through ugly hoops to get it done. Here I stick to color as example. Just try this (notice the spacing): \startTEXpage[offset=10pt] \showmakeup[mathglue]% \enableexperiments[simplegroups]% $ a = b \color[red]{=} c \startcolor[blue]=\stopcolor d $\par $ \sin \color[green]{(x)} = \sin {(x)} $\par \disableexperiments[simplegroups]% $ a = b \color[red]{=} c \startcolor[blue]=\stopcolor d $\par $ \sin \color[green]{(x)} = \sin {(x)}$\par \stopTEXpage The 'simplegroups' experiment enables a more hybrid grouping model but we (read: Wolfgang, Aditya and I, but input is welcome) need to check for side effects carefully. The 'mathglue' tracker is also new, and it exposes what actually goes on. It has to do with the fact that something grouped with { } creates a math list which enforces different spacing but in the case of color that is a side effect we don't want (of course it relates to how context implements the \color macro and one could work around it, but the problem is of a more general nature. Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
participants (1)
-
Hans Hagen