Thank you very much! Something else happens: \applytosplitstringwordspaced\somemacro{Content and {\tt typewriter} more content} either ignores braced groups or ignores macros AND prints braces "{" and "}" as if it were in verbatim mode depending on the content being on the document or loaded via Lua, even when context.escape is used. How to keep {\it braced content}? Thank you in advance. Jairo :) El sáb., 8 de ago. de 2020 a la(s) 08:34, Hans Hagen (j.hagen@xs4all.nl) escribió:
On 8/8/2020 12:00 PM, Wolfgang Schuster wrote:
Jairo A. del Rio schrieb am 08.08.2020 um 10:14:
Hi, list! :D I've found \applytosplitstringwordspaced and many other commands reading on the mailing list and TeX StackExchange. An issue with those is: the following does not work:
\applytosplitstringwordspaced\somemacro{\input knuth}
It only works with explicit TeX "words". How to circumvent this inconvenience? Thanks in advance.
You can't feed knuth.tex to the command because it contains multiple paragraphs but even when your file contains only a single paragraph it isn't perfect because the linebreak after the last line contains as extra word (seen in the first paragraph below).
To use \input as argument for \applytosplitstringwordspaced you need a few \expandafter's to ensure the file is read before the argument is passed to Lua. A easier method is to move everything to Lua where you read the file and put it in a string, afterward you can use the CLD mechanism to call \applytosplitstringwordspaced from Lua.
\unexpanded\def\somemacro#1{[#1]}
\starttext
\expandafter\applytosplitstringwordspaced\expandafter\somemacro\expandafter{\input
weisman }
\blank
\startluacode
-- local ward = io.loaddata(resolvers.findfile("ward.tex")) local ward = string.fullstrip(io.loaddata(resolvers.findfile("ward.tex")))
context.applytosplitstringwordspaced ( "\\somemacro", ward )
\stopluacode
\stoptext just a remark: knuth.tex is tricky becauss it also has \TeX and \ and such, so one needs to escape it, as in:
context.applytosplitstringwordspaced ( "\\somemacro", context.escape(ward) )
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
___________________________________________________________________________________ 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://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net
___________________________________________________________________________________