Buffers in LuaTeX
Jump to navigation
Jump to search
A bit about buffers
Buffers are named chunks of text, saved by ConTeXt to be retrieved by the user later. They are usually defined as follows:
% Start a buffer with a custom name \startbuffer[Marie] This is the text in the buffer 'Marie' \stopbuffer % Define the \start...\stopPierre environment \def\startPierre {\dostartbuffer[Pierre][startPierre][stopPierre]} % Give \stopPierre some meaning if you want to do something with the buffer right away. %\def\stopPierre % {\getbuffer[Pierre]}} \startPierre This is the text in the buffer 'Pierre'. \stopPierre \getbuffer[Pierre] % Print typeset contents \startPierre Now this is the text in the buffer 'Pierre', instead. \stopPierre \typebuffer[Pierre] % Print verbatim contents
The LuaTeX buffers.* commands
These commands were all found in the source code: buff-ini.lua
buffers.getcontent(b)
: Get the contents of the bufferb
, or the empty string if the buffer does not exist.buffers.raw(b)
: Synonym forbuffers.getcontent(b)
.buffers.getlines(b)
: Equivalent tosplitlines(buffers.getcontent(b))
.buffers.erase(b)
: Delete the bufferb
(not just its contents).buffers.assign(b, text, catcodes)
: Set the contents of bufferb
totext
, using catcodetablecatcodes
buffers.append(b, text)
: Appendtext
to bufferb
.buffers.exists(b)
: Returns the name of the buffer if it exists, or elsenil
.buffers.collectcontent(names, seperator)
: Returns the contents of the buffers innames
, seperated byseperator
('\n'
by default). Names can be either a table, or a comma-seperated string (surrounding braces are automatically removed — seeparsers.settings_to_array
inutil-prs.lua
.