Use a nicer Format for differences
- To: mathgroup at smc.vnet.net
- Subject: [mg6427] Use a nicer Format for differences
- From: Ersek_Ted%PAX1A at mr.nawcad.navy.mil
- Date: Thu, 20 Mar 1997 00:52:24 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
If you have a difference of two terms Mma presents them so they are in standard order. Consider the following: In[1]:= y-d Out[1]= -d+y It puts "-d" before "y", and most would find this unapealing. You can get the nicer result by using TraditionalForm. In[2]:= y-d//TraditionalForm Out[2]=y-d ---------------------------------------------------------------------------- ----------------------- You can also get the nicer result by writing your own Format. Dave Withoff at WRI helped me get this working. However, he hasn't seen my latest version. In[3]:=Unprotect[Plus]; Format[(n_Real | n_Integer | n_Rational)*a_.+b_/; (Head[b]=!=Plus)&&(n<0)&&OrderedQ[{n*a,b}]]:= SequenceForm[b,"-",-n*a] Protect[Plus]; ---------------------------------------------------------------------------- ---------------------- After entering In[3] any of the following are displayed as a difference in Out[n]. y-d y-3 d y-2/3 d y-1.25 d y-2/3 y-a b Also this format is used when the difference is inside another function. As in: 1/Log[y-3 d] However, this format is not used when more that two terms are added / subtracted. This is the way I wanted it. Eventually I will have the above Format used automatically as soon as Mma is opened. However, I have yet to figure out that part. Ted Ersek