Format

*To*: mathgroup at smc.vnet.net*Subject*: [mg111555] Format*From*: Derivator <salcedo at ugr.es>*Date*: Thu, 5 Aug 2010 06:59:19 -0400 (EDT)

Hi. I need some help. The commands Format[a[x_]]:=f[x,a]; Format[a[x_,c]]:=a[x]; Format[b[x_]]:=f[x,b]; Format[b[x_,c]]:=b[x]; assign a certain format to the symbols a and b, so that the input {a[1],a[2,c],b[3],b[4,c]} yields {f[1,a],f[2,a],f[3,b],f[4,b]} Now I want to do the same thing for several symbols a,b,.... all at once. I have tried list={a,b}; Do[ Format[z[x_]]:=f[x,z]; Format[z[x_,c]]:=z[x]; ,{z,list}]; but it does not work. The input {a[1],a[2,c],b[3],b[4,c]} yields {f[1,z],z[2],f[3,z],z[4]} Likewise the following also fails: list={a,b}; Format[z_[x_]]:=f[x,z]/;MemberQ[list,z]; Format[z[x_,c]]:=z[x]/;MemberQ[list,z]; Any suggestions? Thanks in advance L.L.