diff options
Diffstat (limited to 'tex')
23 files changed, 270 insertions, 91 deletions
diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii index e0d82c85c..7a8df6ecd 100644 --- a/tex/context/base/mkii/cont-new.mkii +++ b/tex/context/base/mkii/cont-new.mkii @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2023.01.04 11:32} +\newcontextversion{2023.01.05 17:43} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new diff --git a/tex/context/base/mkii/context.mkii b/tex/context/base/mkii/context.mkii index d238a096c..5d3930dec 100644 --- a/tex/context/base/mkii/context.mkii +++ b/tex/context/base/mkii/context.mkii @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2023.01.04 11:32} +\edef\contextversion{2023.01.05 17:43} %D For those who want to use this: diff --git a/tex/context/base/mkii/mult-fr.mkii b/tex/context/base/mkii/mult-fr.mkii index c78135316..aa5c33391 100644 --- a/tex/context/base/mkii/mult-fr.mkii +++ b/tex/context/base/mkii/mult-fr.mkii @@ -591,6 +591,7 @@ \setinterfacevariable{temporary}{temporaire} \setinterfacevariable{test}{test} \setinterfacevariable{text}{texte} +\setinterfacevariable{textdisplay}{textdisplay} \setinterfacevariable{textnote}{notetexte} \setinterfacevariable{three}{trois} \setinterfacevariable{thursday}{jeudi} diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv index 4d1a5f344..a05a08583 100644 --- a/tex/context/base/mkiv/cont-new.mkiv +++ b/tex/context/base/mkiv/cont-new.mkiv @@ -13,7 +13,7 @@ % \normalend % uncomment this to get the real base runtime -\newcontextversion{2023.01.04 11:32} +\newcontextversion{2023.01.05 17:43} %D This file is loaded at runtime, thereby providing an excellent place for hacks, %D patches, extensions and new features. There can be local overloads in cont-loc diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv index 6df85ce83..e9ae230e4 100644 --- a/tex/context/base/mkiv/context.mkiv +++ b/tex/context/base/mkiv/context.mkiv @@ -49,7 +49,7 @@ %D {YYYY.MM.DD HH:MM} format. \edef\contextformat {\jobname} -\edef\contextversion{2023.01.04 11:32} +\edef\contextversion{2023.01.05 17:43} %D Kind of special: diff --git a/tex/context/base/mkiv/grph-raw.lua b/tex/context/base/mkiv/grph-raw.lua index 62e96fcc9..73f0d5175 100644 --- a/tex/context/base/mkiv/grph-raw.lua +++ b/tex/context/base/mkiv/grph-raw.lua @@ -22,7 +22,8 @@ function figures.bitmapimage(t) local xresolution = tonumber(t.xresolution) local yresolution = tonumber(t.yresolution) if data and xresolution and yresolution then - local width, height = t.width or "", t.height or "" + local width = t.width or "" + local height = t.height or "" local n = backends.nodeinjections.injectbitmap { xresolution = xresolution, yresolution = yresolution, @@ -30,9 +31,11 @@ function figures.bitmapimage(t) height = height ~= "" and texsp(height) or nil, data = data, colorspace = t.colorspace, + format = t.format, } if n then - context.hbox(n) + -- context.hpack(n) + context(nodes.hpack(n)) else report_bitmap("format no supported by backend") end diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf Binary files differindex f634b088d..0b5d11035 100644 --- a/tex/context/base/mkiv/status-files.pdf +++ b/tex/context/base/mkiv/status-files.pdf diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf Binary files differindex e46cc1d23..ee5dbae6e 100644 --- a/tex/context/base/mkiv/status-lua.pdf +++ b/tex/context/base/mkiv/status-lua.pdf diff --git a/tex/context/base/mkiv/util-tab.lua b/tex/context/base/mkiv/util-tab.lua index 64fa1af4f..58ca3bcb1 100644 --- a/tex/context/base/mkiv/util-tab.lua +++ b/tex/context/base/mkiv/util-tab.lua @@ -432,7 +432,7 @@ else local v = t[0] if v then m = m + 1 - r[m] = "[0]='" + r[m] = "[0]=" if type(v) == "table" then fastserialize(v) else diff --git a/tex/context/base/mkxl/cont-new.mkxl b/tex/context/base/mkxl/cont-new.mkxl index 1a0c93600..c6fec2f2e 100644 --- a/tex/context/base/mkxl/cont-new.mkxl +++ b/tex/context/base/mkxl/cont-new.mkxl @@ -13,7 +13,7 @@ % \normalend % uncomment this to get the real base runtime -\newcontextversion{2023.01.04 11:32} +\newcontextversion{2023.01.05 17:43} %D This file is loaded at runtime, thereby providing an excellent place for hacks, %D patches, extensions and new features. There can be local overloads in cont-loc diff --git a/tex/context/base/mkxl/context.mkxl b/tex/context/base/mkxl/context.mkxl index af85d279a..b84e3b86d 100644 --- a/tex/context/base/mkxl/context.mkxl +++ b/tex/context/base/mkxl/context.mkxl @@ -29,7 +29,7 @@ %D {YYYY.MM.DD HH:MM} format. \immutable\edef\contextformat {\jobname} -\immutable\edef\contextversion{2023.01.04 11:32} +\immutable\edef\contextversion{2023.01.05 17:43} %overloadmode 1 % check frozen / warning %overloadmode 2 % check frozen / error diff --git a/tex/context/base/mkxl/lpdf-grp.lmt b/tex/context/base/mkxl/lpdf-grp.lmt index 7c4001467..48853ab83 100644 --- a/tex/context/base/mkxl/lpdf-grp.lmt +++ b/tex/context/base/mkxl/lpdf-grp.lmt @@ -106,70 +106,155 @@ end -- we could derive the colorspace if we strip the data -- and divide by x*y -local template = "q BI %s ID %s > EI Q" -local factor = 72/300 +-- todo: map onto png -function nodeinjections.injectbitmap(t) - -- encoding is ascii hex, no checking here - local xresolution, yresolution = t.xresolution or 0, t.yresolution or 0 - if xresolution == 0 or yresolution == 0 then - return -- fatal error - end - local colorspace = t.colorspace - if colorspace ~= "rgb" and colorspace ~= "cmyk" and colorspace ~= "gray" then - -- not that efficient but ok - local d = gsub(t.data,"[^0-9a-f]","") - local b = math.round(#d / (xresolution * yresolution)) - if b == 2 then - colorspace = "gray" - elseif b == 6 then - colorspace = "rgb" - elseif b == 8 then - colorspace = "cmyk" + +do + + local template = "q BI %s ID %s > EI Q" + local factor = 72/300 + + local methods = { } + + methods.hex = function(t) + -- encoding is ascii hex, no checking here + local xresolution, yresolution = t.xresolution or 0, t.yresolution or 0 + if xresolution == 0 or yresolution == 0 then + return -- fatal error + end + local colorspace = t.colorspace + if colorspace ~= "rgb" and colorspace ~= "cmyk" and colorspace ~= "gray" then + -- not that efficient but ok + local d = gsub(t.data,"[^0-9a-f]","") + local b = round(#d / (xresolution * yresolution)) + if b == 2 then + colorspace = "gray" + elseif b == 6 then + colorspace = "rgb" + elseif b == 8 then + colorspace = "cmyk" + end + end + colorspace = lpdf.colorspaceconstants[colorspace] + if not colorspace then + return -- fatal error end + --the original length L is required for pdf 2.0 (4096 max) + local d = pdfdictionary { + W = xresolution, + H = yresolution, + CS = colorspace, + BPC = 8, + F = pdfconstant("AHx"), + -- CS = nil, + -- BPC = 1, + -- IM = true, + } + -- for some reasons it only works well if we take a 1bp boundingbox + local urx, ury = 1/basepoints, 1/basepoints + -- urx = (xresolution/300)/basepoints + -- ury = (yresolution/300)/basepoints + local width, height = t.width or 0, t.height or 0 + if width == 0 and height == 0 then + width = factor * xresolution / basepoints + height = factor * yresolution / basepoints + elseif width == 0 then + width = height * xresolution / yresolution + elseif height == 0 then + height = width * yresolution / xresolution + end + local a = pdfdictionary { + BBox = pdfarray { 0, 0, round(urx * basepoints), round(ury * basepoints) } + } + local image = createimage { + stream = formatters[template](d(),t.data), + width = width, + height = height, + bbox = { 0, 0, round(urx), round(ury) }, + attr = a(), + nobbox = true, + } + return wrapimage(image) end - colorspace = lpdf.colorspaceconstants[colorspace] - if not colorspace then - return -- fatal error + + local zlibcompress = xzip.compress + local lpegmatch = lpeg.match + local compresslevel = 3 + local pattern = lpeg.Cs((lpeg.patterns.space/"" + lpeg.patterns.hextobyte)^0) + + methods.png = function(t) + -- encoding is ascii hex, no checking here + local xresolution = t.xresolution or 0 + local yresolution = t.yresolution or 0 + local data = t.data or "" + if xresolution == 0 or yresolution == 0 or data == "" then + return -- fatal error + end + local colorspace = t.colorspace + local colordepth = 8 + local colors = 1 + if colorspace ~= "rgb" and colorspace ~= "gray" then + -- not that efficient but ok + local d = gsub(t.data,"[^0-9a-f]","") + local b = round(#d / (xresolution * yresolution)) + if b == 2 then + colorspace = "gray" + colors = 1 + elseif b == 6 then + colorspace = "rgb" + colors = 3 + elseif b == 8 then + return -- for now, todo: convert + end + end + colorspace = lpdf.colorspaceconstants[colorspace] + if not colorspace then + return -- fatal error + end + local width = t.width + local height = t.height + if width == 0 and height == 0 then + width = factor * xresolution / basepoints + height = factor * yresolution / basepoints + elseif width == 0 then + width = height * xresolution / yresolution + elseif height == 0 then + height = width * yresolution / xresolution + end + data = zlibcompress(lpegmatch(pattern,data),compresslevel) + local xobject = pdfdictionary { + Type = pdfconstant("XObject"), + Subtype = pdfconstant("Image"), + Width = xresolution, + Height = yresolution, + BitsPerComponent = 8, + ColorSpace = colorspace, + Length = #data, + Filter = pdfconstant("FlateDecode"), + } + local image = createimage { +-- bbox = { 0, 0, round(width/xresolution), round(height/yresolution) }, -- mandate + bbox = { 0, 0, round(width), round(height) }, -- mandate + width = round(width), + height = round(height), + nolength = true, + nobbox = true, + notype = true, + stream = data, + attr = xobject(), + } + return wrapimage(image) end - local d = pdfdictionary { - W = xresolution, - H = yresolution, - CS = colorspace, - BPC = 8, - F = pdfconstant("AHx"), - -- CS = nil, - -- BPC = 1, - -- IM = true, - } - -- for some reasons it only works well if we take a 1bp boundingbox - local urx, ury = 1/basepoints, 1/basepoints - -- urx = (xresolution/300)/basepoints - -- ury = (yresolution/300)/basepoints - local width, height = t.width or 0, t.height or 0 - if width == 0 and height == 0 then - width = factor * xresolution / basepoints - height = factor * yresolution / basepoints - elseif width == 0 then - width = height * xresolution / yresolution - elseif height == 0 then - height = width * yresolution / xresolution + + function nodeinjections.injectbitmap(t) + if t.colorspace == "cmyk" then + return methods.hex(t) + else + return (methods[t.format or "hex"] or methods.hex)(t) + end end - local a = pdfdictionary { - BBox = pdfarray { 0, 0, urx * basepoints, ury * basepoints } - } - local image = createimage { - stream = formatters[template](d(),t.data), - width = width, - height = height, - bbox = { 0, 0, urx, ury }, - attr = a(), - nobbox = true, - } - return wrapimage(image) -end --- general graphic helpers +end function codeinjections.setfigurealternative(data,figure) local request = data.request diff --git a/tex/context/base/mkxl/lpdf-lmt.lmt b/tex/context/base/mkxl/lpdf-lmt.lmt index 57f5b6037..a8608cc7b 100644 --- a/tex/context/base/mkxl/lpdf-lmt.lmt +++ b/tex/context/base/mkxl/lpdf-lmt.lmt @@ -1268,8 +1268,8 @@ local flushimage do usedxforms[objnum] = true pdf_goto_pagemode() calc_pdfpos(pos_h,pos_v) - tx = cmtx * bpfactor - ty = cmty * bpfactor + local tx = cmtx * bpfactor + local ty = cmty * bpfactor b = b + 1 ; buffer[b] = s_b -- b = b + 1 ; buffer[b] = f_cm(rx,0,0,ry,tx,ty) b = b + 1 ; buffer[b] = f_cz(rx, ry,tx,ty) @@ -1456,7 +1456,6 @@ local flushimage do -- to be sorted out -- local ty = pos_v - depth local ty = pos_v -- we assume that depth is dealt with in the caller (for now) - usedximages[index] = objnum pdf_goto_pagemode() diff --git a/tex/context/base/mkxl/meta-ini.mkxl b/tex/context/base/mkxl/meta-ini.mkxl index 9a8b3f7f7..16b97e8cc 100644 --- a/tex/context/base/mkxl/meta-ini.mkxl +++ b/tex/context/base/mkxl/meta-ini.mkxl @@ -850,7 +850,7 @@ \expandafter\startMPoverlaydata_yes \fi} -\permanent\protected\def\startMPoverlaydata_nop#0\stopMPoverlaydata +\permanent\protected\def\startMPoverlaydata_nop#-\stopMPoverlaydata {} \permanent\protected\def\startMPoverlaydata_yes#1\stopMPoverlaydata diff --git a/tex/context/base/mkxl/mlib-pps.lmt b/tex/context/base/mkxl/mlib-pps.lmt index 209656fbe..b8f448964 100644 --- a/tex/context/base/mkxl/mlib-pps.lmt +++ b/tex/context/base/mkxl/mlib-pps.lmt @@ -1339,18 +1339,25 @@ end local function bm_process(object,prescript,before,after) local bm_xresolution = prescript.bm_xresolution + local bm_yresolution = prescript.bm_yresolution if bm_xresolution then - before[#before+1] = f_cm_b(cm(object)) +-- before[#before+1] = f_cm_b(cm(object)) +local sx, rx, ry, sy, tx, ty = cm(object) +local postscript = object.postscript before[#before+1] = function() - figures.bitmapimage { - xresolution = tonumber(bm_xresolution), - yresolution = tonumber(prescript.bm_yresolution), - width = 1/basepoints, - height = 1/basepoints, - data = object.postscript - } +context.MPLIBscaledcm(function() + figures.bitmapimage { + xresolution = tonumber(bm_xresolution), + yresolution = tonumber(bm_yresolution), + width = 1/basepoints, + height = 1/basepoints, + data = postscript, + format = "png", + } + end +, sx, rx, ry, sy, tx, ty) end - before[#before+1] = s_cm_e +-- before[#before+1] = s_cm_e object.path = false object.color = false object.grouped = true diff --git a/tex/context/base/mkxl/mlib-pps.mkxl b/tex/context/base/mkxl/mlib-pps.mkxl index 39dafb2f6..521865e08 100644 --- a/tex/context/base/mkxl/mlib-pps.mkxl +++ b/tex/context/base/mkxl/mlib-pps.mkxl @@ -172,6 +172,23 @@ \box\MPbox \endgroup} +\permanent\protected\def\MPLIBscaledcm#1#2#3#4#5#6#7% 2-7: sx,rx,ry,sy,tx,ty + {\begingroup +% \setbox\MPbox + \hpack\bgroup + \dotransformnextbox{#2}{#3}{#4}{#5}{#6}{#7}% + %\dotransformnextbox{\luaexpr{#2/10}}{\luaexpr{#3/10}}{\luaexpr{#4/10}}{\luaexpr{#5/10}}{\luaexpr{#6/10}}{\luaexpr{#7/10}}% + \vpack to \zeropoint\bgroup + \vss + \hcontainer to \zeropoint \bgroup + #1\hss % used for mp bitmaps + %\fastsxsy{10}{10}{#1}\hss + \egroup + \egroup + \egroup +% \smashbox\MPbox\box\MPbox + \endgroup} + \permanent\protected\def\MPLIBgraphictext#1% use at mp end {\startTEXpage[\c!scale=10000]#1\stopTEXpage} diff --git a/tex/context/base/mkxl/spac-chr.lmt b/tex/context/base/mkxl/spac-chr.lmt index 7c8e02fb6..58071c431 100644 --- a/tex/context/base/mkxl/spac-chr.lmt +++ b/tex/context/base/mkxl/spac-chr.lmt @@ -193,6 +193,7 @@ local methods = { [0x001E] = function(head,current) -- kind of special local next = getnext(current) if next and getid(next) == glue_code and getsubtype(next) == spaceskip_code then + -- remove when no valid character following local nextnext = getnext(next) if nextnext then local char, font = isglyph(nextnext) @@ -200,6 +201,14 @@ local methods = { remove_node(head,next,true) end end + else + -- insert when valid character following + local char, font = isglyph(next) + if char and canhavespace[char] then + local p = fontparameters[font] + head, current = insertnodebefore(head,current,new_glue(p.space,p.spacestretch,p.spaceshrink)) + end + end return head, current end, diff --git a/tex/context/base/mkxl/syst-aux.mkxl b/tex/context/base/mkxl/syst-aux.mkxl index cf39c1cf8..2b87f4b3d 100644 --- a/tex/context/base/mkxl/syst-aux.mkxl +++ b/tex/context/base/mkxl/syst-aux.mkxl @@ -876,9 +876,9 @@ \popmacro\commalistcommand} % \let\syst_helpers_process_comma_item_next_a \syst_helpers_process_comma_item_next -% \def\syst_helpers_process_comma_item_next_b#0\ignorearguments{\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_a} -% \def\syst_helpers_process_comma_item_next_c#0\ignorearguments{\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_b} -% \def\syst_helpers_process_comma_item_gobble#0\ignorearguments{} +% \def\syst_helpers_process_comma_item_next_b#-\ignorearguments{\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_a} +% \def\syst_helpers_process_comma_item_next_c#-\ignorearguments{\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_b} +% \def\syst_helpers_process_comma_item_gobble#-\ignorearguments{} \let\syst_helpers_process_comma_item_next_a \syst_helpers_process_comma_item_next \def\syst_helpers_process_comma_item_next_b#-\ignorearguments{\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_a} @@ -1237,7 +1237,7 @@ % \fi}% % \normalexpanded{\syst_helpers_do_do_if_not_in_string#1}\s!e_o_t_token\ignorearguments\ignorearguments} % -% \def\syst_helpers_do_if_in_string_else_yes#0\ignorearguments\ignorearguments#2#0{#2} +% \def\syst_helpers_do_if_in_string_else_yes#0\ignorearguments\ignorearguments#2#0{#2} % of #- and #1 % \def\syst_helpers_do_if_in_string_else_nop#0\ignorearguments#0#3{#3} % \def\syst_helpers_do_if_in_string_yes #0\ignorearguments\ignorearguments#2{#2} % \def\syst_helpers_do_if_in_string_nop #0\ignorearguments#0{} @@ -3360,7 +3360,7 @@ {\normalexpanded{\recurseaction{\recurselevel}{\the\outerrecurse}}% \endofloop} -\protected\def\syst_helpers_loop_nop#0% +\protected\def\syst_helpers_loop_nop#-% {\enforced\let\endofloop\syst_helpers_loop \globalpopmacro\recurselevel \globalpopmacro\recurseaction @@ -3369,7 +3369,7 @@ \permanent\protected\def\exitloop % \exitloop quits at end {\enforced\let\endofloop\syst_helpers_loop_nop} -\permanent\protected\def\exitloopnow#0\endofloop % \exitloopnow quits directly +\permanent\protected\def\exitloopnow#-\endofloop % \exitloopnow quits directly {\syst_helpers_loop_nop} %D The loop is executed at least once, so beware of situations like: @@ -6854,7 +6854,7 @@ %D %D \typebuffer \startpacked \getbuffer \stoppacked -\def\syst_helpers_wipe_tokens_nop#0^^04{}% +\def\syst_helpers_wipe_tokens_nop#-^^04{}% \permanent\def\wipetokens#1#2% {\beginlocalcontrol diff --git a/tex/context/base/mkxl/tabl-tbl.mkxl b/tex/context/base/mkxl/tabl-tbl.mkxl index 253d3c411..eec1edf9c 100644 --- a/tex/context/base/mkxl/tabl-tbl.mkxl +++ b/tex/context/base/mkxl/tabl-tbl.mkxl @@ -2704,12 +2704,11 @@ {} \appendtoks - \enforced\let\TB\tabl_tabulate_TB_yes + \enforced\let\TB\tabl_tabulate_TB_nop \to \t_tabl_tabulate_initializers_first - \appendtoks - \enforced\let\TB\tabl_tabulate_TB_nop + \enforced\let\TB\tabl_tabulate_TB_yes \to \t_tabl_tabulate_initializers_second % %D Between alignment lines certain rules apply, and even a simple test can mess diff --git a/tex/context/interface/mkii/keys-fr.xml b/tex/context/interface/mkii/keys-fr.xml index 89a549482..f5474769a 100644 --- a/tex/context/interface/mkii/keys-fr.xml +++ b/tex/context/interface/mkii/keys-fr.xml @@ -594,6 +594,7 @@ <cd:variable name='temporary' value='temporaire'/> <cd:variable name='test' value='test'/> <cd:variable name='text' value='texte'/> + <cd:variable name='textdisplay' value='textdisplay'/> <cd:variable name='textnote' value='notetexte'/> <cd:variable name='three' value='trois'/> <cd:variable name='thursday' value='jeudi'/> diff --git a/tex/context/modules/mkxl/m-tikz-pgfplots.tex b/tex/context/modules/mkxl/m-tikz-pgfplots.tex new file mode 100644 index 000000000..1dd06b8b2 --- /dev/null +++ b/tex/context/modules/mkxl/m-tikz-pgfplots.tex @@ -0,0 +1,46 @@ +%D See m-tikz.mkxl for comments. + +\startmodule [pgfplots] + +\writestatus{loading}{ConTeXt User Module / Pgfplots} + +\tikzinputfile{pgfplots.revision.tex} + +\usetikzlibrary[plotmarks] + +\tikzinputfile{pgfplots.code.tex} + +\def\pgfplotsincludegraphics[#1]#2% + {\externalfigure[#2][#1]} + +\starttikzsettings + \pgfkeys{/pgfplots/plot graphics/includegraphics cmd=\pgfplotsincludegraphics} +\stoptikzsettings + +\unprotect + +\let\pgfplots@ORIG@tikz@installcommands@before@context\tikz@installcommands + +\def\tikz@installcommands{% + \pgfplots@ORIG@tikz@installcommands@before@context + % + \let\startaxis=\pgfplots@environment@axis + \let\stopaxis=\endpgfplots@environment@axis + % + \let\startsemilogxaxis=\pgfplots@environment@semilogxaxis + \let\stopsemilogxaxis=\endpgfplots@environment@semilogxaxis + % + \let\startsemilogyaxis=\pgfplots@environment@semilogyaxis + \let\stopsemilogyaxis=\endpgfplots@environment@semilogyaxis + % + \let\startloglogaxis=\pgfplots@environment@loglogaxis + \let\stoploglogaxis=\endpgfplots@environment@loglogaxis + % + \def\startpgfplotsinterruptdatabb{\pgfplotsinterruptdatabb}% + \def\stoppgfplotsinterruptdatabb{\endpgfplotsinterruptdatabb}% +} + +\protect + +\stopmodule + diff --git a/tex/context/modules/mkxl/m-tikz-pgfplotstable.tex b/tex/context/modules/mkxl/m-tikz-pgfplotstable.tex new file mode 100644 index 000000000..acc3309a1 --- /dev/null +++ b/tex/context/modules/mkxl/m-tikz-pgfplotstable.tex @@ -0,0 +1,12 @@ +%D See m-tikz.mkxl for comments. + +\startmodule [pgfplotstable] + +\writestatus{loading}{ConTeXt User Module / Pgfplotstable} + +\usemodule[pgfplots] + +\tikzinputfile{pgfplotstable.code.tex}% + +\stopmodule + diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index df0e9399b..ee3ab219c 100644 --- a/tex/generic/context/luatex/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua -- parent file : c:/data/develop/context/sources/luatex-fonts.lua --- merge date : 2023-01-04 11:32 +-- merge date : 2023-01-05 17:43 do -- begin closure to overcome local limits and interference |