/// <summary> /// Performs the conversion procedure. /// </summary> /// <param name="expr">The expression to convert.</param> /// <returns>The conversion result.</returns> public override string Convert(LatexExpression expr) { if (expr.Expressions == null) { return(""); } GetParameters(); var bld = new StringBuilder(); if (_mathMode) { bld.Append("<mover accent=\"true\">\n"); if (!_stretchy) { bld.Append(expr.Expressions[0][0].Convert()); } else { bld.Append(SequenceConverter.ConvertOutline(expr.Expressions[0], expr.Customization)); } bld.Append("<mo stretchy=\"true\">" + _value + "</mo>\n</mover>\n"); } else { MathConverter.AppendMathProlog(bld, "accent", true, expr.Customization); bld.Append("<mrow>"); bld.Append("<mover accent=\"true\">\n"); bld.Append(expr.Expressions[0][0].Convert()); bld.Append("<mo>" + _value + "</mo>\n</mover>\n"); bld.Append("</mrow>\n"); MathConverter.AppendMathEpilog(bld); } return(bld.ToString()); }
/// <summary> /// Performs the conversion procedure (comments the expression). /// </summary> /// <param name="expr">The expression to convert.</param> /// <returns>The conversion result.</returns> public override string Convert(LatexExpression expr) { var bld = new StringBuilder(); MathConverter.AppendMathProlog(bld, "eqnarray", false, expr.Customization); var rows = expr.Expressions[0]; bld.Append("<mtable>\n"); for (int i = 0; i < rows.Count; i++) { bld.Append("<mtr>\n"); for (int j = 0; j < rows[i].Expressions[0].Count; j++) { bld.Append("<mtd columnalign=\"left\">\n<mrow>\n"); bld.Append(SequenceConverter.ConvertOutline(rows[i].Expressions[0][j].Expressions[0], expr.Customization)); bld.Append("</mrow>\n</mtd>\n"); } bld.Append("</mtr>\n"); } bld.Append("</mtable>\n"); MathConverter.AppendMathEpilog(bld); return(bld.ToString()); }