List of the commands to work with cached boxes:
<texcode>\{{cmd|putboxincache }} <tt>{category} {name} number</tt>\{{cmd|getboxfromcache }} <tt>{category} {name} number</tt> \{{cmd|doifelseboxincache }} <tt>{category} {name}</tt>\{{cmd|copyboxfromcache }} <tt>{category} {name} number</tt> \{{cmd|directboxfromcache }} <tt>{category} {name}</tt>\{{cmd|directcopyboxfromcache }} <tt>{category} {name}</tt> \{{cmd|resetboxesincache }} <tt>{category}</tt> \{{cmd|putnextboxincache }} <tt>{category} {name} box</tt>\{{cmd|getboxwdfromcache }} <tt>{category} {name}</tt> \{{cmd|getboxhtfromcache }} <tt>{category} {name}</tt>\{{cmd|getboxdpfromcache }} <tt>{category} {name}</texcodett>
All these commands can be used on Lua side with the usual syntax <tt>context.<command>(<params>)</tt>
Boxed are stored in user defined '''categories''' (namespaces) and every box has its unique '''name''' inside its the category.
If the boxes are not to be cached for the subsequent runs, one needs to clear the category cache at the beginning of the document.
<texcode>
\resetboxesincache{category}
To cache that box the user can use either
<texcode>
\putboxincache ... [to test]{category}{name} 0% space is optional
</texcode>
or
</texcode>
=Tracing= One can trace the creation of cached boxes in log or console with
<texcode>
\enabletrackers[nodes.boxes]
</texcode>
To visualize boxes (hbox, vbox) in PDF use
<texcode>
\showmakeup[boxes]
</texcode>
Tracing in general is explained in [[Debugging]].
[[Category:ConTeXt]] [[Category:Basics]] [[Category:Boxes]]