[Dev-luatex] Perplexing behaviour with \directlua and tex.print

Taco Hoekwater taco at elvenkind.com
Sun May 16 21:11:19 CEST 2010


Graham Douglas wrote:
> Dear All
> 
> I am getting some strange behaviour with the following
> minimal example via LaTeX with LuaTeX
> 
> \pdfoutput=1
> \documentclass[12pt]{article}
> \begin{document}
> \directlua{tex.print("{\it abc}")}
> \end{document}
> 
> I run the above and get a PDF which displays
> the following text
> 
> protect protect protect edef OT1OT1let enc at update

\directlua expands its argument (like what happens when writing
to a file), but font switches tend to expand into internal
commands. On top of that, lua strings interpret \ as an
escape character. To circumvent both problems at the same
time, you can do this:

  \pdfoutput=1
  \let\\\relax
  \directlua{tex.print("{\\it abc}")}
  \bye

Which should also work in latex (except that it trashes
the normal meaning of \\, of course).

I am pretty sure that there will be a latex package that
deals with all this expansion stuff for you.

Best wishes,
Taco




More information about the dev-luatex mailing list