protected override WriteResult Write(OpenXMLWpfMathRenderer renderer, WpfMath.Radical item) { var radicalEle = renderer.Push(new Radical()); var radicalProperties = new RadicalProperties( new ControlProperties( new W.RunProperties( new W.RunFonts() { Ascii = "Cambria Math", HighAnsi = "Cambria Math" }, new W.Italic() ) ) ); if (null == item.DegreeAtom) { radicalProperties.PrependChild(new HideDegree() { Val = BooleanValues.One }); } radicalEle.AppendChild(radicalProperties); // note we need a Degree element even if no degree text is present // (but note that in this case we have a HideDegree element in RadicalProperties) var degreeEle = renderer.Push(new Degree()); if (null != item.DegreeAtom) { renderer.Write(item.DegreeAtom); } renderer.PopTo(degreeEle); if (null != item.BaseAtom) { var baseEle = renderer.Push(new Base()); renderer.Write(item.BaseAtom); renderer.PopTo(baseEle); } renderer.PopTo(radicalEle); return(WriteResult.Completed); }
public static Radical CreateRadical(OpenXmlElement argument) { var rad = new Radical(); var radprop = new RadicalProperties(); var hideDegree = new HideDegree { Val = BooleanValues.One }; var degree = new Degree(); radprop.AppendChild(hideDegree); var bas = new Base(); bas.AppendChild(argument); rad.Append(radprop, degree, bas); return(rad); }