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
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
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 -----------------------------------------------------------------
participants (3)
-
Hans Hagen
-
Taco Hoekwater
-
Wolfgang Werners-Lucchini