On Mon, 22 Aug 2011, Hans Hagen wrote:
On 22-8-2011 09:15, Aditya Mahajan wrote:
Hi
Consider the following example:
\startluacode
print("lualetterbackslash:", [=[\\include]=])
\stopluacode
\def\lualetterbackslash{\letterbackslash}
\startluacode
print("letterbackslash:", [=[\\include]=])
\stopluacode
\bye
gives
lualetterbackslash: \\include
letterbackslash: \include
I find the second alternative better. Why is \lualetterbackslash defined
differently from \letterbackslash?
to avoid problems with \n, \t and such
Ah, I see.
btw, best use context.include then as it provides you better tracing
Well, \include is a lilypond command that must be written to an external
file, something like this:
\startluacode
lilypond_preamble = [[
\\include "lilypond-book-preamble.py"
other settings that will be substituted at run-time
]]
buffers.assign("preamble", lilypond_preamble)
\stopluacode
\startbuffer[content]
content of lilypond file
\stopbuffer
\savebuffer[preamble,content][temp-file]
\bye
I'll probably just use
\appendtoks
\def\/{\letterbackslash}
\to\everyluacode
and then \/include. Other than using the magic single letter commands, I
don't see an easy way of getting a \ in a lua string inside luacode :(
- \noexpand\include fails unless I define \include
- \letterbackslash include gives "\ include"
- \letterbackslash{}include gives "\{}include"
Aditya
___________________________________________________________________________________
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 : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________