Re: Suggestions on how to use standard engineering symbols in Mathematica which conflict with Mathematica own symbols?
- To: mathgroup at smc.vnet.net
- Subject: [mg104106] Re: Suggestions on how to use standard engineering symbols in Mathematica which conflict with Mathematica own symbols?
- From: John Fultz <jfultz at wolfram.com>
- Date: Mon, 19 Oct 2009 07:13:15 -0400 (EDT)
- Reply-to: jfultz at wolfram.com
You could use Interpretation[] to create an object which looks like one thing but evaluates as another. You can also add formatting rules to change the default output to produce an InterpretationBox[] object...something like this: In[1]:= MakeBoxes[Inertia, StandardForm]:=InterpretationBox[I, Inertia]; In[2]:= Inertia Out[2]= I This completely prevents a conflict with the built-in symbols, since you can still type in an I and have it mean what you want it to mean. If you wanted to use such an object for input, you can copy/paste it from output, or put it into a palette button. -John On Sun, 18 Oct 2009 05:26:29 -0400 (EDT), Nasser M. Abbasi wrote: > Hello > > This is a problem I am sure all of us had. > > It would be nice to use the same standard engineering/physics > symbols/letters found in textbook to write the equations in mathematica. > > But some/many of those symbols conflict with existing Mathemtica symbols. > For example, Young modulus is always written as E, but E in mathematica is > reserved to the exponential constant, and I would like to use I (upper > case > I) to mean the moment of inertia, and not have it conflict with complex > number I. And many other examples. > > I was wondering if there is a way to still use these letters in my > equations but not conflict with Mathematica's? > > I thought may be I could make a bold versions of these letters with a new > code, or find latine characters which "looks like" these from the palette, > but have different ASCII code. > > Or may be I could tell mathematica somehow to "undefine" these symbols > during some computation and restore them again, so it will not interpret > them as its own standard symbols only during this computation, but was > not sure if this is a good idea? (would this will cause a problem > internally to Mathematica as it could very well use these symbols in its > own package code. I could always use Exp[] instead of E and use Sqrt[-1] > instead of "I" when I really mean to use the Mathematica letters and > leave E and I etc... for my use. > > Any other ideas others have on this subject? I'd really like to write the > equations as they appear in the textbook if possible and not have to > rename standard engineering letters to something else. > > --Nasser