On Fri, May 23, 2014 at 11:54 AM, Matthias Weber <matweber@indiana.edu> wrote:
Dear All,

I would like to define a command that expands

\vector{2,4} % or vector[2,4] if that’s easier

to

\startpmatrix
 \NC 2 \NR
 \NC 4 \NR
\stoppmatrix

and more generally

\vector{2,4,1,7}

to

\startpmatrix
 \NC 2 \NR
 \NC 4 \NR
\NC 1 \NR
\NC 7 \NR
\stoppmatrix

Any hints how to achieve this?

Thanks,



\definemathmatrix
  [pmatrix]
  [left={\left(\,},right={\,\right)}]

\startluacode
document = document or {}
document.matthias =  document.matthias or {} 
local function lua_columnvector(a)
 context.startpmatrix()
  for i,v in ipairs(a) do
     context.NC() context(tostring(v))  context.NR()
 end
 context.stoppmatrix()
end
document.matthias.lua_columnvector = document.matthias.lua_columnvector  or lua_columnvector
\stopluacode

\def\columnvector#1{\ctxlua{document.matthias.lua_columnvector(#1)}}

\starttext
\startformula
\columnvector{{1,2,3}} %% watch the double { !
\stopformula


\stoptext

--
luigi