1%D \module 2%D [ file=mtx-context-ideas, 3%D version=2009.03.21, 4%D title=\CONTEXT\ Extra Trickry, 5%D subtitle=Placeholder File, 6%D author=Hans Hagen, 7%D date=\currentdate, 8%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] 9%C 10%C This module is part of the \CONTEXT\ macro||package and is 11%C therefore copyrighted by \PRAGMA. See mreadme.pdf for 12%C details. 13 14% The hard coded goodies in texexec are now external. We also use this 15% opportunity to explore mixed tex/lua user interfacing so you will see 16% some old and new tricks here that might disappear or become extended. 17% 18% if users want to add their own ... go ahead but use a different 19% namespace: 20% 21% mtx-context-third-somename.tex 22% mtx-context-user-somename.tex 23 24% \startluacode 25% -- some day we might move the whole ui to lua 26% context = context or { } 27% function interfaces.tosetups(setups) 28% if not setups then 29% return "" 30% elseif type(setups) == "table" then 31% local t = { } 32% for k,v in next, setups do 33% t[k] = "{" .. v .. "}" 34% end 35% return table.concat(t,",") 36% else 37% return setups 38% end 39% end 40% function context.setuplayout(category,setups) 41% setups = setups or category 42% tex.sprint(string.format("\\setuplayout[%s]",interfaces.tosetups(setups)) 43% end 44% local topspace = document.arguments["topspace"] or 0 45% if dimen(topspace) > dimen(0) then 46% context.setuplayout { topspace = dimen(topspace) } 47% end 48% local backspace = document.arguments["backspace"] or 0 49% if dimen(topspace) > dimen(0) then 50% context.setuplayout { backspace = dimen(backspace) } 51% end 52% \stopluacode 53 |