Le 15 oct. 2015 à 19:58, jfbu <[email protected]> a écrit :

> 
> Le 15 oct. 2015 à 19:43, jfbu <[email protected]> a écrit :
> 
>> 
>> Le 15 oct. 2015 à 19:37, David Carlisle <[email protected]> a écrit :
>> 
>>> On 15 October 2015 at 18:35, jfbu <[email protected]> wrote:
>>>> Hi Joseph
>>>> 
>>>> Le 15 oct. 2015 à 19:29, Joseph Wright <[email protected]> 
>>>> a écrit :
>>>> 
>>>>>> 
>>>>> 
>>>>> Hello Jean-François,
>>>>> 
>>>>> The 'real' names of the primitives have always been just \Umath... For
>>>>> some time they've been enabled with the "luatex" prefix.. The LaTeX team
>>>>> have recently taken a more 'active' interest in directly supporting
>>>>> LuaTeX (and XeTeX) by modifying latex.ltx to 'know' about these engines.
>>>>> As part of that process, we've revised the approach to the newer
>>>>> primitives and dropped the prefix 'out of the box'.
>>>>> 
>>>>> For code that needs to work both with older (pre 2015/10/01) and newer
>>>>> (2015/10/01 onward) kernel releases, adding
>>>>> 
>>>>> \directlua{
>>>>>   tex.enableprimitives("luatex", tex.extraprimitives("Umath"))
>>>>> }
>>>>> 
>>>>> (for just the Umath set) will do the job. Alternatively, if the code in
>>>>> your package gets modified to drop the prefix then
>>>>> 
>>>>> \directlua{
>>>>>   tex.enableprimitives("", tex.extraprimitives("Umath"))
>>>>> }
>>>>> 
>>>>> will ensure that the 'natural' names are available with older kernel
>>>>> releases.
>>>> 
>>>> 
>>>> OK, let's see if I get you right: I remove from mathastext.sty
>>>> all "luatex" prefixes, but also I need to add
>>>> 
>>>> \directlua{
>>>>   tex.enableprimitives("", tex.extraprimitives("Umath"))
>>>> }
>>>> 
>>>> to mathastext.sty if it detects luatex,
>>>> 
>>>> so as to be sure the new version of the package will work also
>>>> with older LaTeX releases ?
>>>> 
>>>> is that right ?
>>>> 
>>>> best,
>>>> 
>>>> Jean-François
>>> 
>>> 
>>> That works in general for primitives that were previously prefixed
>>> \luatex... but the \Umath... names are special in that they were
>>> previously available both prefixed and not prefixed, so you can just
>>> use the unprefixed ones.
>>> 
>> 
>> Hi David,
>> 
>> ok, this is very clear, thanks, sorry if I have one last question does
>> "previously available" mean "all the way back to 2011" ? 
>> 
>> I can't test it on my laptop which only has TeXLive 2012 and later,
>> and I would like not to break installations as far back as 2011,
>> 
>> best
>> 
>> Jean-François
> 
> Hi David/Joseph,
> 
> [ I apologize to the list, perhaps I should move this discussion to 
> a LaTeX list ]
> 
> sorry again, but texdoc ltnews did not give me the following info:
> 
> should I also remove the "xetex" prefixes and use "\Umathchardef" 
> also under XeLaTeX ? from texdoc xetex, the primitives are there
> only with "U" prefix.
> 
> best,
> 
> Jean-François
> 

Hi all,

sorry for all the fuss. I will do

  \let\mst@Umathcharnumdef\Umathcharnumdef
  \let\mst@Umathcodenum\Umathcodenum
  \let\mst@Umathcode\Umathcode
  \let\mst@Umathchardef\Umathchardef

then test if \mst@Umathcode is \undefined
and in the latter case use either "luatexU" or "XeTeX"
prefix depending on the engine,

besides I am sorry about the TL2011 thing, because
regarding LuaLaTeX the doc of mathastext says 
already TL2013 or later is needed.

mathastext.sty will be leaner as I can not
treat identically both unicode engines

best wishes

Jean-François

Reply via email to