t_out (x,format="%s",sep=" ") = print(t_word(x,format=format,sep=sep)) \\ Separating line or text between 2 separating lines. t_line (text="",width=38) = {my (s); s=t_word(vector(width,i,"-"),,""); if (text=="",print(s), t_line(,width); print(text); t_line(,width))} t_word (u,format="%s",sep=" ",rowsep="\n") = {my (typ,a,b,J); typ=type(u); if (typ=="t_VEC" || typ=="t_LIST",return (t_wordchain(u,format,sep))); if (typ=="t_MAT",n=matsize(u)[1]; J=vector(n,i,i); a=apply(i->t_wordchain(u[i,],format,sep),J); b=t_wordchain(a,,sep=rowsep); return(b)); Strprintf(format,u)} \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\ Auxiliary, not used normally. t_wordchain = (u,format="%s",sep=" ",g=0) -> {my (n,t); n=#u; if (!n,return("")); t=Strprintf(format,u[1]); if(g,gsep=sep;sep=""); for (i=2,n,if(g&&((i-1)%g==0),t=concat(t,gsep)); t=concat(t,concat(sep,Strprintf(format,u[i])))); t}