Difference between revisions of "LuaTeX callbacks"

From Wiki
Jump to navigation Jump to search
(collect callback stuff here, please expand!)
 
m
 
(3 intermediate revisions by 2 users not shown)
Line 45: Line 45:
 
* Some related user reports [http://archive.contextgarden.net/message/20100219.070449.3ef91a45.en.html on] [http://archive.contextgarden.net/message/20100408.182612.5fa89eef.en.html the] [http://archive.contextgarden.net/message/20101017.140616.e9262376.en.html mailing] [http://archive.contextgarden.net/message/20120625.133813.e3875200.en.html list]
 
* Some related user reports [http://archive.contextgarden.net/message/20100219.070449.3ef91a45.en.html on] [http://archive.contextgarden.net/message/20100408.182612.5fa89eef.en.html the] [http://archive.contextgarden.net/message/20101017.140616.e9262376.en.html mailing] [http://archive.contextgarden.net/message/20120625.133813.e3875200.en.html list]
 
* [[Miscellaneous Lua Topics]]
 
* [[Miscellaneous Lua Topics]]
/code> ===
 
The functionality provided by the
 
  
[[Category:Lua]]
+
[[Category:Programming and Databases]]
[[Category:LuaTeX]]
+
[[Category:Tools]]
[[Category:Callbacks]]
 
/code> callback
 
can be accessed through a string filter that is hooked into the
 

Latest revision as of 17:01, 8 June 2020

The callback system from LuaTeX has been disabled. Instead, Context defines actions that must be registered through an offical mechanism. Then they can be toggled on and off at will, as long as it makes sense.

Actions

This page is dedicated to collecting all available information on how to achieve in Context when you would resort to callbacks to do the same in plain LuaTeX.

File reading callbacks / open_read_file

The functionality provided by the open_read_file callback can be accessed through a string filter that is hooked into the textfileactions processor (data-tex.lua, cf. luat-fio.lua)

Hans demonstrated the canonical way on the mailing list [1]:

\startluacode

  function document.MyCharacterMess(str,filename)
    if file.nameonly(filename) == "ward" then
      str = table.concat(string.totable(str,"."), " + ")
    end
    return str
  end

  local textfileactions = resolvers.openers.helpers.textfileactions
  utilities.sequencers.appendaction(textfileactions,"system","document.MyCharacterMess")

\stopluacode

\starttext
  \input ward
  \input knuth
\stoptext


Further Information