Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
-- diagbox.lua: -- This file: -- http://angg.twu.net/dednat5/diagbox.lua.html -- http://angg.twu.net/dednat5/diagbox.lua -- (find-dn5 "diagbox.lua") -- Author: Eduardo Ochs <eduardoochs@gmail.com> -- Version: 2013feb01 -- License: GPL3 -- (find-dn4 "experimental.lua" "BOX") -- (find-dn5 "diagforth.lua" "enddiagram") mybox_names = { "\\myboxa", "\\myboxb", "\\myboxc", "\\myboxd", "\\myboxe", "\\myboxf", "\\myboxg", "\\myboxh" } mybox_prep1 = function (boxname, body) -- PP("1", boxname, body) return format(" \\savebox{%s}{$%s$}\n", boxname, body) end mybox_preps = function () prep = "" for i,body in ipairs(mybox_bodies) do prep = prep .. mybox_prep1(mybox_names[i], body) end return prep end mybox_prep = function (diagname, hyperlink) return format("\\defdiagprep{%s}{%s\n%s}\n", diagname, (hyperlink or ""), mybox_preps()) end mybox_bodies = {} forths["BOX"] = function () tinsert(mybox_bodies, node_to_TeX(ds[1])) ds[1].tex = format("\\usebox{%s}", mybox_names[#mybox_bodies]) end -- forths["OUTBOXES"] = function () -- dntprint(mybox_prep(diagramname)) -- mybox_bodies = {} -- end -- (find-dn4 "dednat4.lua" "tree-lib") -- (find-dn4 "dednat4.lua" "tree-lib" "optionalhyperlink =") optionalhyperlink = optionalhyperlink or function () return "" end remembertoundefine = remembertoundefine or function () end -- (find-dn5 "dednat5.lua" "arrows_to_defdiag") -- (find-dn4 "dednat4.lua" "enddiagram") -- (find-dn5 "dednat5.lua" "enddiagram") -- forths["enddiagram"] = function () -- output(arrows_to_defdiag(diagramname, " % no hyperlink yet")) -- end -- arrows_to_defdiag = function (name, hyperlink) -- return format("\\defdiag{%s}{%s\n%s}", -- name, (hyperlink or ""), -- arrows_to_TeX(" ")) -- end enddiagram = function () local diagramdef if #mybox_bodies > 0 then diagramdef = format("\\defprepareddiag{%s}{%s\n%s }{\n%s}", diagramname, optionalhyperlink(" % ", diagramstartlinen, ""), mybox_preps(), arrows_to_TeX()) mybox_bodies = {} else diagramdef = format("\\defdiag{%s}{%s\n%s}", diagramname, optionalhyperlink(" % ", diagramstartlinen, ""), arrows_to_TeX()) end output(diagramdef) remembertoundefine("diag", diagramname) end forths["enddiagram"] = enddiagram forths["OUTBOXES"] = function () end -- dump-to: tests --[==[ * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) require "diagbox" --]==] -- Local Variables: -- coding: raw-text-unix -- ee-anchor-format: "«%s»" -- End: