ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* luatexing
@ 2008-04-11 23:37 Wolfgang Werners-Lucchini
  2008-04-12  7:29 ` luatexing Hans Hagen
  0 siblings, 1 reply; 5+ 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] 5+ 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; 5+ 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] 5+ 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; 5+ 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] 5+ 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; 5+ 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] 5+ messages in thread

* Re: luatexing
       [not found] <mailman.4851.1207985975.4340.ntg-context@ntg.nl>
@ 2008-04-12 19:47 ` Wolfgang Werners-Lucchini
  2008-04-13  8:59   ` luatexing Taco Hoekwater
  2008-04-13 11:58   ` luatexing Hans Hagen
  0 siblings, 2 replies; 5+ 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] 5+ messages in thread

end of thread, other threads:[~2008-04-13 11:58 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-04-11 23:37 luatexing Wolfgang Werners-Lucchini
2008-04-12  7:29 ` luatexing Hans Hagen
     [not found] <mailman.4851.1207985975.4340.ntg-context@ntg.nl>
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

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).