Re: Format and TeXForm question
- To: mathgroup at smc.vnet.net
- Subject: [mg66846] Re: Format and TeXForm question
- From: "Jens-Peer Kuska" <kuska at informatik.uni-leipzig.de>
- Date: Thu, 1 Jun 2006 06:55:03 -0400 (EDT)
- Organization: Uni Leipzig
- References: <e5jstv$e78$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi,
In[]:=MakeBoxes[par[a_], fmt_:StandardForm] :=
RowBox[{"(", MakeBoxes[a,fmt], ")"}]
In[]:=par[a^2]*(b + c) // TeXForm
Out[]=(b+c) \left(a^2\right)
Regards
Jens
"Steve White" <swhite at jsu.edu> schrieb im
Newsbeitrag news:e5jstv$e78$1 at smc.vnet.net...
| 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--
|