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
