Thanks Luigi! Now I have a lot to play with…

Matthias


On May 23, 2014, at 7:44 AM, luigi scarso <luigi.scarso@gmail.com> wrote:




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
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________