From: Marco Patzer <homerow@lavabit.com>
To: context <ntg-context@ntg.nl>
Subject: TeX expansion within lua
Date: Tue, 4 Sep 2012 17:12:43 +0200 [thread overview]
Message-ID: <20120904171243.3f70b4a6@homerow> (raw)
Hi,
please have a look at the following example:
\starttext
\def\cmd{%
\def\mymacro{Foobar}
\newtoks\mytoks
\mytoks={mytoks}}
\startluacode
context.cmd()
context.mymacro()
-- this fails
-- context(tex.toks.mytoks)
\stopluacode
-- this works
\startluacode
context(tex.toks.mytoks)
\stopluacode
\stoptext
Why does the first call to tex.toks.mytoks fail?
Apparently the luacode environment has to be closed for cmd to be
expanded. I guess that the call to mymacro() succeeds is a quirk due
to the face that the macro is expanded later, in contrast to tokens,
dimens and counters.
Is there a command I can use within Lua to expand a macro
immediately or to expand the pending macros to be able to access the
values like the token register in the example?
Another question which is related:
Is there a way to access the contents of the macro from within Lua
like counters and token registers?
\starttext
\newtoks\mytoks
\mytoks={Foobar}
\startluacode
local tok = tex.toks.mytoks
-- something like this is what I have in mind
-- local mac = tex.macros.somemacro
\stopluacode
\stoptext
I am just interested in a text string, not a box with typeset
material. I guess that's more difficult, since macros are expanded
and not just simply read.
Marco
___________________________________________________________________________________
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
___________________________________________________________________________________
next reply other threads:[~2012-09-04 15:12 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-04 15:12 Marco Patzer [this message]
2012-09-04 15:28 ` Aditya Mahajan
2012-09-04 16:54 ` Marco Patzer
2012-09-04 17:06 ` Martin Schröder
2012-09-04 17:40 ` Marco Patzer
2012-09-04 17:53 ` Wolfgang Schuster
2012-09-04 18:11 ` Marco Patzer
2012-09-04 18:25 ` Wolfgang Schuster
2012-09-04 18:58 ` Marco Patzer
2012-09-05 9:18 ` Hans Hagen
2012-09-05 9:42 ` Marco Patzer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120904171243.3f70b4a6@homerow \
--to=homerow@lavabit.com \
--cc=ntg-context@ntg.nl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).