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
___________________________________________________________________________________

Reply via email to