[luatex] Getting the extra primitives?
Joseph Wright
joseph.wright at morningstar2.co.uk
Tue Feb 16 12:41:06 CET 2010
On 16/02/2010 11:13, Taco Hoekwater wrote:
> Straight from pdftexmds:
>
> \long\def\pdf at strcmp#1#2{%
> \directlua0{%
> oberdiek.pdftexcmds.strcmp("\luaescapestring{#1}",%
> "\luaescapestring{#2}")%
> }%
> }%
>
> With:
>
> function strcmp(A, B)
> if A == B then
> tex.write("0")
> elseif A< B then
> tex.write("-1")
> else
> tex.write("1")
> end
> end
>
> In lua, you can simply compare strings using the math operators.
Hello Taco,
Thanks for that (and to Manuel too): I was not sure if there were any
"pitfalls". Also, that simulates \pdfstrcmp itself, but I was wondering
about doing the entire functions (missing out all of the \ifnum and
\expandafter stuff). In partial pseudo-code (and using LaTeX3-style
function naming):
function strcmp:xxTF (A,B,C,D)
if A == B then
[Leave C on input stream]
else
[Leave D on input stream]
end
end
(Also, am I correct in thinking that there is no way to avoid needing
\unexpanded to get the string comparison "as is"?)
--
Joseph Wright
More information about the luatex
mailing list