\\ Function arguments and values. t_fav (f,v,m,format="%-2s") = {my (w); w=apply(f,v); t_tvalues2(v,w,m,format)} \\ Function arguments and values output. t_favo (f,v,m,format="%-2s") =t_out(t_fav(f,v,m,format)) \\ Function values. t_fv (f,v,m,format="%-s",sep=" ",g=0) = t_table(apply(f,v),m,format,sep,g) \\ Function values output. t_fvo (f,v,m,format="%-s",sep=" ",g=0) = t_to(apply(f,v),m,format,sep,g) \\ [u1,v1,u2,v2,...]. t_pairsconsecutive (u,v) = vector(2*#u,i, if(i%2, u[(i+1)/2],v[i/2])) \\ Groups (separated by sep) of g elements if g. t_table (v,m,format="%-s",sep=" ",g=0) = {my (n,r,J,a); n=#v\m; r=#v%m; if (r,n++); J=vector(n,i,i-1); a=apply(i->t_wordchain(v[m*i+1..m*i+if(r&&(i==n-1),r,m)], format,sep,g),J); t_wordchain(a,,"\n")} \\ Table output. t_to (v,m,format="%-s",sep=" ",g=0) = t_out(t_table(v,m,format,sep,g)) \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ Auxiliary, not used normally. \\ v and w must have the same length. \\ format kann nur vom Typ "%ks" sein. t_tvalues2 (v,w,m,format="%-s") = {my (r,p,n,u,s,i,j); r=#v%m; if (r,p=vector(m-r,i,""); v=concat(v,p); w=concat(w,p)); n=#v*3; u=vector(n,k,s=(k-1)\(3*m); i=(k-1)\m; i=i%3; j=(k-1)%m+1; if (i==0,v[s*m+j], i==1,w[s*m+j],"")); t_table(u,m,format)}