* Re: mplib [not found] <mailman.4851.1207985975.4340.ntg-context@ntg.nl> @ 2008-04-12 19:47 ` Wolfgang Werners-Lucchini 2008-04-13 10:31 ` mplib Taco Hoekwater 2008-04-12 19:47 ` luatexing Wolfgang Werners-Lucchini 1 sibling, 1 reply; 7+ messages in thread From: Wolfgang Werners-Lucchini @ 2008-04-12 19:47 UTC (permalink / raw) To: ntg-context On 12 Apr 2008 at 9:39, ntg-context-request@ntg.nl wrote: > > \startlua > > mp = mplib.new ( { > > hash_size = 100000, > > main_memory = 2000000, > > param_size = 100000, > > } ) > > > > if mp then > > res = mp:execute( > > "beginfig(1) draw (0,0) .. (1,1) .. (2,1); endfig; bye;" ) > > tex.print("[" .. tostring(res.status) .. "]") > > mp:finish() > > end > > \stoplua > > no format, so beginfig, draw etc are unknown I thought 'plain.mem' is the default. But I see, there exists only 'metafun.mem'. So I wrote: ------------------------------------------------------ mp = mplib.new ( { hash_size = 100000, main_memory = 2000000, param_size = 100000, mem_name = "metafun.mem" } ) ------------------------------------------------------ and it get the same result > metapost.process("metafun","some commands") > > may work better ------------------------------------------------------ \startlua mp = mplib.new ( { hash_size = 100000, main_memory = 2000000, param_size = 100000 } ) if mp then res = metapost.process("metafun","beginfig(1) draw (0,0) .. (1,1) .. (2,1); endfig; bye;") tex.print("[" .. tostring(res.status) .. "]") mp:finish() end \stoplua ------------------------------------------------------ results in : ------------------------------------------------------ mplib : loading format: metafun.mp, name: d:/context/tex/texmf-cache/luatex- cache/context/c80dc1fd5292ec817c6e82c295beaf1e/formats/cont-en- metafun.mem ! Emergency stop. \@@expanded ..... "]") -- mp:finish() -- end } l.54 \stoplua ! ==> Fatal error occurred, no output PDF file produced! ------------------------------------------------------ why does it load 'metafun.mp'? after that I tried ------------------------------------------------------ \startlua mp = mplib.new ( { hash_size = 100000, main_memory = 2000000, param_size = 100000, mem_name = "metafun.mem" } ) if mp then res = metapost.process(mp, "beginfig(1) draw (0,0) .. (1,1) .. (2,1); endfig; bye;") tex.print("[" .. tostring(res.status) .. "]") mp:finish() end \stoplua ------------------------------------------------------ which gives the following error: ------------------------------------------------------ report >> error: This is MetaPost, Version 1.003 (Cweb version 0.40) I can't find the PLAIN mem file! ------------------------------------------------------ What else should I check to find the error? Wolfgang ___________________________________________________________________________________ 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 : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: mplib 2008-04-12 19:47 ` mplib Wolfgang Werners-Lucchini @ 2008-04-13 10:31 ` Taco Hoekwater 0 siblings, 0 replies; 7+ messages in thread From: Taco Hoekwater @ 2008-04-13 10:31 UTC (permalink / raw) To: mailing list for ConTeXt users Wolfgang Werners-Lucchini wrote: > On 12 Apr 2008 at 9:39, ntg-context-request@ntg.nl wrote: > >>> \startlua >>> mp = mplib.new ( { >>> hash_size = 100000, >>> main_memory = 2000000, >>> param_size = 100000, >>> } ) >>> >>> if mp then >>> res = mp:execute( >>> "beginfig(1) draw (0,0) .. (1,1) .. (2,1); endfig; bye;" ) >>> tex.print("[" .. tostring(res.status) .. "]") >>> mp:finish() >>> end >>> \stoplua >> no format, so beginfig, draw etc are unknown > > I thought 'plain.mem' is the default. But I see, there exists only > 'metafun.mem'. If you want to "do the low-level thing", you have to read the luatex manual carefully. MPlib is just like standalone metapost in that it wants to load a mem file in non-ini mode, and that file has to be generated before being used. Here is what you wanted to do, using just the library core (I did cheat just a little bit though, I added "dump;" at the end of my plain.mp): % start low-level \startlua local function finder(name, mode, ftype) if mode=="w" then return name else return kpse.find_file(name,ftype) end end mp = mplib.new ( { hash_size = 100000, main_memory = 2000000, param_size = 100000, find_file = finder, ini_version = true } ) if mp then res = mp:execute('plain') mp:finish() end mp = mplib.new ( { hash_size = 100000, main_memory = 2000000, param_size = 100000, find_file = finder, } ) if mp then res = mp:execute("\\beginfig(1) draw (0,0) .. (1,1) .. (2,1); endfig; bye;" ) tex.print("[" .. tostring(res.status) .. "]") mp:finish() end \stoplua % stop low-level If you just want to run plain metapost images inside of a context document (instead of metafun), it is much easier to use Hans' high-level API (once again, you need "dump;" at the end of plain.mp): \startlua metapost.process( metapost.format("plain"), "beginfig(0); draw (0,0) .. (1,1) .. (2,1); endfig;") \stoplua This makes sure that all memory values are the same, that the mem file is cached inbetween runs, removes the need for "\\" and "bye;" etc. Best wishes, Taco ___________________________________________________________________________________ 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 : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: luatexing [not found] <mailman.4851.1207985975.4340.ntg-context@ntg.nl> 2008-04-12 19:47 ` mplib Wolfgang Werners-Lucchini @ 2008-04-12 19:47 ` Wolfgang Werners-Lucchini 2008-04-13 8:59 ` luatexing Taco Hoekwater 2008-04-13 11:58 ` luatexing Hans Hagen 1 sibling, 2 replies; 7+ messages in thread From: Wolfgang Werners-Lucchini @ 2008-04-12 19:47 UTC (permalink / raw) To: ntg-context On 12 Apr 2008 at 9:39, ntg-context-request@ntg.nl wrote: > > I have a few silly questions about > > > > tex.print() > > > > To produce > > > > $\sqrt{2}=1.4142135623731$ > > > > it should be enough to write > > > > tex.print("$\\sqrt{2}=" .. math.sqrt(2) .. "$") > > this is because \\ can mean anything, for instance it may expand to > \par or \crlf or .. May be I do not understand this right, but I thought that '\' is luas escape character and tex.print() returns '\' not '\\'. So TeX sees no macro '\\' which could expand to whatever. > there is a \luaescapestring primitive which catches things like > quotes Can you make a little example of usage? > tex.print("\detokenize{$\sqrt{2}=}" .. math.sqrt(2) .. "$") Could not find the definition of \detokenize. Wolfgang ___________________________________________________________________________________ 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 : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: luatexing 2008-04-12 19:47 ` luatexing Wolfgang Werners-Lucchini @ 2008-04-13 8:59 ` Taco Hoekwater 2008-04-13 11:58 ` luatexing Hans Hagen 1 sibling, 0 replies; 7+ messages in thread From: Taco Hoekwater @ 2008-04-13 8:59 UTC (permalink / raw) To: mailing list for ConTeXt users Wolfgang Werners-Lucchini wrote: > > May be I do not understand this right, but I thought that '\' is luas > escape character and tex.print() returns '\' not '\\'. So TeX sees no > macro '\\' which could expand to whatever. This depends on how exactly you have input that line (which in turn nicely demonstrates why you should post minimal examples, instead of out-of-context questions). I tried: % engine=luatex \starttext \directlua0 {tex.print('$\\sqrt{2}=1.4142135623731$')} \ctxlua{tex.print('$\\sqrt{2}=1.4142135623731$')} \startluacode tex.print('$\\sqrt{2}=1.4142135623731$') \stopluacode \stoptext And all three work as they should. So what did you input, exactly, that gave wrong results? Best wishes, Taco ___________________________________________________________________________________ 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 : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: luatexing 2008-04-12 19:47 ` luatexing Wolfgang Werners-Lucchini 2008-04-13 8:59 ` luatexing Taco Hoekwater @ 2008-04-13 11:58 ` Hans Hagen 1 sibling, 0 replies; 7+ messages in thread From: Hans Hagen @ 2008-04-13 11:58 UTC (permalink / raw) To: mailing list for ConTeXt users Wolfgang Werners-Lucchini wrote: > On 12 Apr 2008 at 9:39, ntg-context-request@ntg.nl wrote: > >>> I have a few silly questions about >>> >>> tex.print() >>> >>> To produce >>> >>> $\sqrt{2}=1.4142135623731$ >>> >>> it should be enough to write >>> >>> tex.print("$\\sqrt{2}=" .. math.sqrt(2) .. "$") >> this is because \\ can mean anything, for instance it may expand to >> \par or \crlf or .. > > May be I do not understand this right, but I thought that '\' is luas > escape character and tex.print() returns '\' not '\\'. So TeX sees no > macro '\\' which could expand to whatever. it depends on where you code lives ... in a lua file, then \\ is an escape, in \directlua (or \ctxlua cum suis), then it's a tex cs your mail only shows the one line of code so we have to guess >> there is a \luaescapestring primitive which catches things like >> quotes > > Can you make a little example of usage? > >> tex.print("\detokenize{$\sqrt{2}=}" .. math.sqrt(2) .. "$") well, if you put that in your document, you'l get a typeset tex.sprint, so i assume that tis is wrapped in \directlua or so? > Could not find the definition of \detokenize. an etex primitive ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl ----------------------------------------------------------------- ___________________________________________________________________________________ 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 : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 7+ messages in thread
* luatexing @ 2008-04-11 23:37 Wolfgang Werners-Lucchini 2008-04-12 7:29 ` luatexing Hans Hagen 0 siblings, 1 reply; 7+ messages in thread From: Wolfgang Werners-Lucchini @ 2008-04-11 23:37 UTC (permalink / raw) To: ntg-context Hallo, I have a few silly questions about tex.print() To produce $\sqrt{2}=1.4142135623731$ it should be enough to write tex.print("$\\sqrt{2}=" .. math.sqrt(2) .. "$") or better tex.print([[$\sqrt{2}=]] .. math.sqrt(2) .. "$") but that's both not working. The following instead does the job: tex.print("$\string\\sqrt{2}=" .. math.sqrt(2) .. "$") why? Another question: What is the differenz between 'tex.sprint()' and 'tex.write()'? Wolfgang ___________________________________________________________________________________ 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 : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: luatexing 2008-04-11 23:37 luatexing Wolfgang Werners-Lucchini @ 2008-04-12 7:29 ` Hans Hagen 0 siblings, 0 replies; 7+ messages in thread From: Hans Hagen @ 2008-04-12 7:29 UTC (permalink / raw) To: mailing list for ConTeXt users Wolfgang Werners-Lucchini wrote: > Hallo, > > I have a few silly questions about > > tex.print() > > To produce > > $\sqrt{2}=1.4142135623731$ > > it should be enough to write > > tex.print("$\\sqrt{2}=" .. math.sqrt(2) .. "$") this is because \\ can mean anything, for instance it may expand to \par or \crlf or .. there is a \luaescapestring primitive which catches things like quotes tex.print("\detokenize{$\sqrt{2}=}" .. math.sqrt(2) .. "$") may also work ok > or better > > tex.print([[$\sqrt{2}=]] .. math.sqrt(2) .. "$") > > but that's both not working. The following instead does the job: > > tex.print("$\string\\sqrt{2}=" .. math.sqrt(2) .. "$") > > why? > > Another question: > > What is the differenz between 'tex.sprint()' and 'tex.write()'? tokenization under a catcode regime versus writing strings ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl ----------------------------------------------------------------- ___________________________________________________________________________________ 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 : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2008-04-13 11:58 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <mailman.4851.1207985975.4340.ntg-context@ntg.nl> 2008-04-12 19:47 ` mplib Wolfgang Werners-Lucchini 2008-04-13 10:31 ` mplib Taco Hoekwater 2008-04-12 19:47 ` luatexing Wolfgang Werners-Lucchini 2008-04-13 8:59 ` luatexing Taco Hoekwater 2008-04-13 11:58 ` luatexing Hans Hagen 2008-04-11 23:37 luatexing Wolfgang Werners-Lucchini 2008-04-12 7:29 ` luatexing Hans Hagen
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).