Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: TeX output via TeXForm: variable name translation

  • To: mathgroup at smc.vnet.net
  • Subject: [mg101200] Re: TeX output via TeXForm: variable name translation
  • From: dnquark <dnquark at gmail.com>
  • Date: Fri, 26 Jun 2009 06:53:17 -0400 (EDT)
  • References: <h1hbfh$mq$1@smc.vnet.net> <h1l43o$2e4$1@smc.vnet.net>

Thanks -- this is insightful, but doesn't address the main problem I
had:

eo /: MakeBoxes[eo, fmt_: StandardForm] :=  SuperscriptBox["\
[Epsilon]", "(o)"]

In[438]:= eo // TeXForm

Out[438]//TeXForm=
\epsilon ^{\text{(o)}}

How do I get rid of the "text" tag?..


On Jun 21, 7:04 am, Jens-Peer Kuska <ku... at informatik.uni-leipzig.de>
wrote:
> Hi,
>
> set up the boxes for you symbol in a proper way and Mathematica
> does the rest, i.e.
>
> e1 /:MakeBoxes[e1, fmt_: StandardForm] :=
>   SubscriptBox["\[Epsilon]", "1"]
>
> and
>
> TeXForm[e1]
>
> gives
>
> \epsilon _1
>
> Regards
>    Jens
>
>
>
> dnquark wrote:
> > I am trying to find a good way to interoperate between Mathematica and
> > LaTeX (or LyX).
> > Typically, I am workign with multi-character variable names, which
> > TeXForm interprets as text:
>
> > In[65]:= TeXForm[e1]
> > Out[65]//TeXForm=
> > \text{e1}
>
> > To get around this, I am trying to create a translation table of
> > sorts: e.g.
>
> > TranslationTable1 = {{e1, "\\epsilon_1"}, {e0, "\\epsilon_0"}, {kz0t,
> > "\\tilde{k^{(0)}_z}"}, {kz1t, "\\tilde{k^{(1)}_z}"}};
>
> > I would like, if possible, to perform those replacements in
> > Mathematica, without writing and invoking external scripts.  The firs=
t
> > thing I tried was this:
>
> > TeXReplacements := (Rule[#[[1]], ToExpression[#[[2]], TeXForm,
> > HoldForm]] & /@ TranslationTable1)
>
> > In[67]:= (e1*kz0t) /. TeXReplacements // TeXForm
>
> > Out[67]//TeXForm=
> > \epsilon _1 \tilde{k_z^0}
>
> > (This simply does the following:
> > In[69]:= (e1*kz0t) /. {e1 -> ToExpression["\\epsilon_1", TeXForm,
> > HoldForm],
> >    kz0t -> ToExpression["\\tilde{k^{(0)}_z}", TeXForm, HoldForm]} /=
/
> > TeXForm
>
> > Out[69]//TeXForm=
> > \epsilon _1 \tilde{k_z^0}
> > )
>
> > Notice how this doesn't work: Take a look at the translation table
> > above and notice parentheses around in k_z^{(0)}.  Mathematica
> > discards these parentheses.
>
> > So the question to the group is: (1) is it possible to preserve the
> > formatting exactly how I specified it in the translation table before
> > converting to TeXForm  or (2) is it possible to do a replacement usin=
g
> > my translation table after I had converted to TeXForm or (3) is there
> > a better solution altogether?
>
> > Thanks!- Hide quoted text -
>
> - Show quoted text -



  • Prev by Date: Re: Possible bug in Mathematica 7 using ColorFunction
  • Next by Date: Re: *slowing down* a Mathematica process (Dynamic/Refresh question)
  • Previous by thread: Re: TeX output via TeXForm: variable name translation
  • Next by thread: Integrate[], Sort[] and Hold[]