[Dev-luatex] .BEILMOPS or how I stopped worrying and love Open Source
Jonathan Sauer
Jonathan.Sauer at silverstroke.com
Tue Dec 11 10:59:00 CET 2007
Hello,
> > However, if I run this with my own format, the pattern is:
>
> How does that work, running this example in your format?
> I saved your example as weird.tex (attached), but
>
> luatex -fmt=luaktex weird
>
> gives me:
>
> This is LuaTeX, Version snapshot-0.20.1-2007121015 (Web2C 7.5.6)
> (weird.tex
> ! Undefined control sequence.
> l.7 \directlua
> 0{\unexpanded{
> ? x
I'm sorry, I forgot to note that for "weird.tex" to run with luaktex,
all primitives have to be prefixed with ":":
------------------------------------------------------------------------
\:directlua0{\:unexpanded{
whiteSpace = lpeg.S(" \t\n")
splitComma = lpeg.P({
lpeg.Ct(lpeg.V("elem") * (lpeg.V("sep") *
lpeg.V("elem"))^0),
sep = lpeg.S(",{}"),
elem = whiteSpace^0 *
lpeg.C((1 - lpeg.V("sep"))^1) *
whiteSpace^0, % B
})
}}
\:def\splitComma#1{%
\:directlua0{%
local s = '\:luaescapestring{\:unexpanded{#1}}'
local t = lpeg.match(splitComma,s)
for k,v in ipairs(t) do
texio.write_nl('[' .. v .. ']')
end
}%
}
\splitComma{A, B, C, D, E, F}
% `print' is not documented, but prints a compiled pattern's bytecode
% to the console
\:directlua0{lpeg.print(splitComma)}
------------------------------------------------------------------------
This should work.
> Best wishes,
> Taco
Jonathan
More information about the dev-luatex
mailing list