Dear All I hope this question is OK to ask on this list. Quick background: I routinely compile LuaTeX on Windows Vista and use my own runtime environment (via texmf.cnf + environment variables etc ) which is not based on a standard TDS --- purely a test environment. Basically it works OK. My LuaTeX version is beta-0.60.1-2010060119 I'm interested to explore luatextra, luaotfload etc but am running into a problem I can't resolve. I have, this morning, downloaded and installed all the very latest versions of luainputenc, lualibs, luaotfload, luatexbase and luatextra Firstly, here is the minimal test file (say luafonts.tex): \documentclass{article} \usepackage{luatextra} \begin{document} Hello \end{document} When I run this: $ luatex --fmt=pdflatex $TEXMF/luafonts.tex I get the following error: ----------------------------------------------- ! LuaTeX error <\directlua >:1: Expected an array of names as second argument stack traceback: [C]: in function 'enableprimitives' <\directlua >:1: in main chunk. \luatexbase@ensure@primitive ...s('luatex', '#1')} \fi l.82 \luatexbase@ensure@primitive{luaescapestring} ? --------------------------------------------------- The full run is below: does anyone know what I'm doing wrong? I appreciate that my runtime environment is not standard but to date that's not been an issue. Thanks to all in advance for any help --- and of course thanks to the team who write luatextra, luaotfload etc. Warm regards Graham ============ This is LuaTeX, Version beta-0.60.1-2010060119 (g:/msys/1.0/trunk/build/texk/luafonts.tex LaTeX2e <2009/09/24> (g:/msys/1.0/trunk/build/texk/formats/pdflatex/base/article.cls Document Class: article 2007/10/19 v1.4h Standard LaTeX document class (g:/msys/1.0/trunk/build/texk/formats/pdflatex/base/size10.clo)) (g:/msys/1.0/trunk/build/texk/formats/pdflatex/luatextra/luatextra.sty (g:/msys/1.0/trunk/build/texk/formats/pdflatex/ifluatex.sty) (g:/msys/1.0/trunk/build/texk/formats/pdflatex/luatexbase/luatexbase-modutils.s ty (g:/msys/1.0/trunk/build/texk/formats/pdflatex/luatexbase/luatexbase-loader.sty (g:/msys/1.0/trunk/build/texk/formats/pdflatex/luatexbase/luatexbase-compat.sty ) (g:/msys/1.0/trunk/build/texk/formats/pdflatex/luatexbase/luatexbase.loader.lua )) (g:/msys/1.0/trunk/build/texk/formats/pdflatex/luatexbase/modutils.lua) ! LuaTeX error <\directlua >:1: Expected an array of names as second argument stack traceback: [C]: in function 'enableprimitives' <\directlua >:1: in main chunk. \luatexbase@ensure@primitive ...s('luatex', '#1')} \fi l.82 \luatexbase@ensure@primitive{luaescapestring} ?
On Sat, 12 Jun 2010, Graham Douglas wrote:
Dear All
I hope this question is OK to ask on this list.
Quick background: I routinely compile LuaTeX on Windows Vista and use my own runtime environment (via texmf.cnf + environment variables etc ) which is not based on a standard TDS --- purely a test environment. Basically it works OK.
My LuaTeX version is beta-0.60.1-2010060119
I'm interested to explore luatextra, luaotfload etc but am running into a problem I can't resolve.
I have, this morning, downloaded and installed all the very latest versions of luainputenc, lualibs, luaotfload, luatexbase and luatextra
Firstly, here is the minimal test file (say luafonts.tex):
\documentclass{article} \usepackage{luatextra} \begin{document} Hello \end{document}
When I run this:
$ luatex --fmt=pdflatex $TEXMF/luafonts.tex
Umm.... you need the lualatex (or pdflualatex) fmt. You can also use lualatex filename Also it is not a good idea to store arbitrary files in $TEXMF. Aditya
Hi, many thanks, sure, it is purely a test/harness environment for development work + experimentation, hand built from scratch. At some point I'll rewrite/restructure everything. I'll try your suggestion, many thanks. I did peruse the docs but clearly missed that detail somewhere along the line!! Cheers Graham
Hi,
----------------------------------------------- ! LuaTeX error <\directlua >:1: Expected an array of names as second argument stack traceback: [C]: in function 'enableprimitives' <\directlua >:1: in main chunk. \luatexbase@ensure@primitive ...s('luatex', '#1')} \fi l.82 \luatexbase@ensure@primitive{luaescapestring}
This looks like an error in luatexbase-compat.sty to me, but I feel like I've forgotten all about TeX macro programming.: \luatexbase@directlua{tex.enableprimitives('luatex', '#1')}} and \luatexbase@ensure@primitive{luaescapestring} The message is, that the second arg to enableprimitives must be an array, but the expansion of \luatexbase@ensure@primitive{luaescapestring} is something like tex.enableprimitives('luatex', 'luaescapestring') which does not look like an array (but an error) to me. Patrick
Hi Patrick Many thanks. This same issue has stymied trying to use fontspec too. I'll try to post the question elsewhere to see if the authors can shed further light on this. Trying to figure this out is a bit beyond my expertise, sadly :-( Many thanks Graham
Hmm, this is probably the issue luatex-compat.sty /x{ /luatexbase@directlua{tex.enableprimitives('luatex', #1)}} ---> /x{ /luatexbase@directlua{tex.enableprimitives('luatex', {'#1'})}} Seems to fix it. Graham
participants (3)
-
Aditya Mahajan
-
Graham Douglas
-
Patrick Gundlach