Module:Dynkin

From IxWiki
Jump to navigation Jump to search

This module implements the Dynkin diagram template, Template:Dynkin. It is invoked as

  • {{#invoke:Dynkin|Dynkin}}

though the parameter is ignored; instead it uses the parameters passed to the template. See the template documentation for how that is used.

For using this from other Lua modules, first load the module.

local Dynkin = require('Module:Dynkin')._Dynkin

You can then use it with the following syntax.

Dynkin{"node", "3", "node"}

See the template documentation for possible inputs.


-- module to turn a parameter list into a list of [[Dynkin diagram]] images.
-- See the template documentation or any example for how it is used and works.
local p = {}

function p.Dynkin(frame)
	-- For calling from #invoke.
	local pframe = frame:getParent()
	local args = pframe.args
	return p._Dynkin(args)
end
	
function p._Dynkin(args)
	-- For calling from other Lua modules.
	local body ='<span style="display:inline-block;">'         -- create and start the output string
	for v, x in ipairs(args) do                                -- process params, ignoring any names
		body = body .. "[[File:dyn-" .. x .. ".png]]"          -- write file for this parameter
	end
	body = body .. "</span>"                                   -- finish output string
	return body                                                -- return result
end

return p