Format and TeXForm question
- To: mathgroup at smc.vnet.net
- Subject: [mg66828] Format and TeXForm question
- From: Steve White <swhite at jsu.edu>
- Date: Wed, 31 May 2006 06:31:55 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Steve White
Department of Mathematics
Jacksonville State University
swhite at jsu.edu
I have two questions which are related.
*********************************************************************
First Question
*********************************************************************
In Mathematica versions 3 to 4 (and I believe 5)
I get the following:
In[1]:= Format[par[a_], TeXForm] :=
StringJoin["\\left(",ToString[TeXForm[HoldForm[a]]], "\\right)"];
In[2]:=TeXForm[a*par[b + c]]
Out[2]//TeXForm= a\,\left(b + c\right)
Which is exactly what I would expect to happen.
However in Mathematica 5.2 I get the following:
In[3]:= Format[par[a_], TeXForm] :=
StringJoin["\\left(", ToString[TeXForm[HoldForm[a]]], "\\right)"];
In[4]:=TeXForm[a*par[b + c]]
Out[4]//TeXForm= a \text{par}(b+c)
How do I get the TeXForm output of my function par
to work as it did in Mathematica 4.
**********************************************************************
Second Question
**********************************************************************
My second question is related to the first. Namely how is
Mathematica 5.2 now handing the Format command for TeXForm verses
how it used to in version 4.
In the Mathematica 4 and 5 book the following example is given
as an illustration of the Format statement.
In[5]:= Format[x, TeXForm] := "{\\bf x}";
In[6]:= TeXForm[1 + x^2]
Out[6]//TeXForm= 1 + {{\bf x}}^2
This is what one would expect.
However in the online documentation for Mathematica, the above
example is given as
In[7]:= Format[x, TeXForm] := "{\\bf x}";
In[8]:= TeXForm[1 + x^2]
Out[8]//TeXForm= x^2+1
So the example in the documentation makes it appear that nothing
has happened.
When I execute these same commands in Mathematica 5.2 this is,
in fact, what happens.
In Mathematica 5.2 I get the following:
In[8]:= Format[x, TeXForm] := "{\\bf x}";
In[9]:=TeXForm[x]
Out[9]//TeXForm=\text{$\{\backslash \backslash $bf x$\}$}
In Mathematica 5.2 I also get the following
In[10]:=TeXForm["{\\bf x}"]
Out[10]//TeXForm=\text{$\{\backslash \backslash $bf x$\}$}
So it appears that when the commands
In[11]:= Format[x, TeXForm] := "{\\bf x}";
In[12]:=TeXForm[x]
are executed
Mathematica 5.2 is converting x to "{\\bf x}" and
then is again converting "{\\bf x}" to
\text{$\{\backslash \backslash $bf x$\}$}.
Can someone explain what is happening here?
I have contacted Wolfram's technical support several times, with
no success whatsoever. I have dozens of special TeXForm changes that
I need to implement all of which worked as expected in Mathematica 3 and
4.
--Alt-Boundary-1097.17300359
Content-type: text/html; charset=US-ASCII
Content-description: Mail message body
<?xml version="1.0" ?><html>
<head>
<title></title>
</head>
<body>
<div align="left"><font face="Arial"><span style="font-size:10pt">Steve White</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">Department of Mathematics</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">Jacksonville State University</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">swhite at jsu.edu</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">I have two questions which are related.</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">*********************************************************************</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">First Question</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">*********************************************************************</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">In Mathematica versions 3 to 4 (and I believe 5)</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">I get the following:</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">In[1]:= Format[par[a_], TeXForm] :=
StringJoin["\\left(",ToString[TeXForm[HoldForm[a]]], "\\right)"];</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">In[2]:=TeXForm[a*par[b + c]]</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">Out[2]//TeXForm= a\,\left(b + c\right)</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">Which is exactly what I would expect to happen.</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">However in Mathematica 5.2 I get the following:</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">In[3]:= Format[par[a_], TeXForm] :=</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">    StringJoin["\\left(", ToString[TeXForm[HoldForm[a]]], "\\right)"];</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">In[4]:=TeXForm[a*par[b + c]]</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">Out[4]//TeXForm= a \text{par}(b+c)</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">How do I get the TeXForm output of my function par</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">to work as it did in Mathematica 4.</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">**********************************************************************</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">Second Question</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">**********************************************************************</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">My second question is related to the first. Namely how is</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">Mathematica 5.2 now handing the Format command for TeXForm verses</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">how it used to in version 4.</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">In the Mathematica 4 and 5 book the following example is given</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">as an illustration of the Format statement.</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">In[5]:=  Format[x, TeXForm] := "{\\bf x}";</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">In[6]:=   TeXForm[1 + x^2]</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">Out[6]//TeXForm= 1 + {{\bf x}}^2</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">This is what one would expect.</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">However in the online documentation for Mathematica, the above</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">example is given as</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">In[7]:=  Format[x, TeXForm] := "{\\bf x}";</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">In[8]:=   TeXForm[1 + x^2]</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">Out[8]//TeXForm= x^2+1</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">So the example in the documentation makes it appear that nothing</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">has happened.</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">When I execute these same commands in Mathematica 5.2 this is,</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">in fact, what happens.</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">In Mathematica 5.2 I get the following:</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">In[8]:= Format[x, TeXForm] := "{\\bf x}";</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">In[9]:=TeXForm[x]</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">Out[9]//TeXForm=\text{$\{\backslash \backslash $bf x$\}$}</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">In Mathematica 5.2 I also get the following</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">In[10]:=TeXForm["{\\bf x}"]</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">Out[10]//TeXForm=\text{$\{\backslash \backslash $bf x$\}$}</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">So it appears that when the commands</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">In[11]:= Format[x, TeXForm] := "{\\bf x}";</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">In[12]:=TeXForm[x]</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">are executed</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">Mathematica 5.2 is converting x to "{\\bf x}" and</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">then is again converting "{\\bf x}" to</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">\text{$\{\backslash \backslash $bf x$\}$}.</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><font face="Arial"><span style="font-size:10pt">Can someone explain what is happening here?</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">I have contacted Wolfram's technical support several times, with</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">no success whatsoever. I have dozens of special TeXForm changes that</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">I need to implement all of which worked as expected in Mathematica 3 and</span></font></div>
<div align="left"><font face="Arial"><span style="font-size:10pt">4.</span></font></div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"><br/>
</div>
<div align="left"></div>
</body>
</html>
--Alt-Boundary-1097.17300359--