Re: ExportString[exp, "MathML"]
- To: mathgroup at smc.vnet.net
- Subject: [mg61901] Re: [mg61881] ExportString[exp, "MathML"]
- From: Chris Chiasson <chris.chiasson at gmail.com>
- Date: Fri, 4 Nov 2005 05:11:22 -0500 (EST)
- References: <200511030958.EAA26552@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Steven, Use Unevaluated or HoldForm? You could try using SetOptions to see if it affects the way highlight+copy as MathML works. Please let us know what you decide to do and why. On 11/3/05, Steven T. Hatton <hattons at globalsymmetry.com> wrote: > I created a function as follows: > MMLString[exp_, id_String] := > ExportString[exp, "MathML", > ConversionOptions -> {"MathAttributes" -> {"id" -> id}, > "UseUnicodePlane1Characters" -> False, "Entities" -> {"MathML", > "\[Implies]" -> "⇒", > "\[SuchThat]" -> "∋" > }, > "NamespacePrefixes" -> {"http://www.w3.org/1998/Math/MathML" -> > "mml"}, "Formats" -> {"PresentationMathML"}, > "Annotations" -> {} > }] > Then I called it like this > \!\(MMLString[\[Alpha] \[Element] \[DoubleStruckCapitalN] \[Implies] > \[Alpha]\ > \^\[Prime] \[Element] \[DoubleStruckCapitalN], "\<peano-2\>"]\) > > which resulted in this output: > > <mml:math xmlns:mml='http://www.w3.org/1998/Math/MathML' > xmlns='http://www.w3.org/1998/Math/MathML' > id='peano-2'> > <mml:mrow> > <mml:mrow> > <mml:mi>α</mml:mi> > <mml:mo>∈</mml:mo> > <mml:mi mathvariant='double-struck'>N</mml:mi> > </mml:mrow> > <mml:mo>⇒</mml:mo> > <mml:mrow> > <mml:msup> > <mml:mi>α</mml:mi> > <mml:mo>′</mml:mo> > </mml:msup> > <mml:mo>∈</mml:mo> > <mml:mi mathvariant='double-struck'>N</mml:mi> > </mml:mrow> > </mml:mrow> > </mml:math> > > Which was exactly what I wanted. > > Note, however, that I passed a "raw" expression, not a string. That's fine > for an expression that would evaluate to something else. But I now need to > convert this: > > \!\(MMLString[\[NotExists] \[Alpha] \[Element] \[DoubleStruckCapitalN] \ > \[SuchThat] \[Alpha]\^\[Prime] = 0, "\<peano-2\>"]\) > > That gives: > <mml:math xmlns:mml='http://www.w3.org/1998/Math/MathML' > xmlns='http://www.w3.org/1998/Math/MathML' > id='peano-2'> > <mml:mn>0</mml:mn> > </mml:math> > > because the expression evaluated to 0. If I pass it as a string, I get: > > <mml:math xmlns:mml='http://www.w3.org/1998/Math/MathML' > xmlns='http://www.w3.org/1998/Math/MathML' > id='peano-2'> > <mml:semantics> > <mml:mrow> > <mml:ms>∄α∈N∋</mml:ms> > <mml:msup> > <mml:ms>α</mml:ms> > <mml:ms>′</mml:ms> > </mml:msup> > <mml:ms>=0</mml:ms> > </mml:mrow> > <mml:annotation encoding='Mathematica'>"\"\[NotExists]\[Alpha]\ > \[Element]\[DoubleStruckCapitalN]\[SuchThat]\\!\\(\[Alpha]\\^\[Prime]\\)=\ > 0\""</mml:annotation> > </mml:semantics> > </mml:math> > > which has two problems. First of all, notice that the > \[DoubleStruckCapitalN] is no longer represented as <mml:mi > mathvariant='double-struck'>N</mml:mi>. That needs to be corrected. The > second problem is all the Mathematica annotation. I don't need that, nor > do I want it. > > So, 1) how do I convert the expression to MathML, without having it evaluate > to 0? There is a small caveat. In Mathematica terminology, that is really > trying to do an assignment, so it doesn't make sense as a Mathematica > expression to have the '='. A '==' would make more sense for an expression. > In this case, however, I want to present the expression in traditional > mathematical notation. 2) How do I prevent Mathematica from tacking on its > own annotations? As I say, I neither need nor want them. > > > -- > "Philosophy is written in this grand book, The Universe. ... But the book > cannot be understood unless one first learns to comprehend the language... > in which it is written. It is written in the language of mathematics, ...; > without which wanders about in a dark labyrinth." The Lion of Gaul > > -- http://chrischiasson.com/contact/chris_chiasson
- References:
- ExportString[exp, "MathML"]
- From: "Steven T. Hatton" <hattons@globalsymmetry.com>
- ExportString[exp, "MathML"]