/// <summary> /// Add values in matrix row /// </summary> /// <param name="document">Represents a Word document to add matrix</param> /// <param name="mathMatrixRow">Represents a matrix row to add values</param> /// <param name="text">Represents a base text value for Subscript and Superscript equation</param> private void AddMatrixRowValues(WordDocument document, IOfficeMathMatrixRow mathMatrixRow, string text) { //Adds arguments for matrix row IOfficeMath officeMath = mathMatrixRow.Arguments[0]; //Adds a Subscript IOfficeMathScript mathScript = AddMathScript(officeMath, MathScriptType.Subscript); //Adds a math text IOfficeMathRunElement officeMathParaItem = AddMathText(document, mathScript.Equation, text); //Adds math text officeMathParaItem = AddMathText(document, mathScript.Script, "x"); //Adds arguments for matrix row officeMath = mathMatrixRow.Arguments[1]; //Adds a script mathScript = AddMathScript(officeMath, MathScriptType.Subscript); //Adds math text officeMathParaItem = AddMathText(document, mathScript.Equation, text); //Adds math text officeMathParaItem = AddMathText(document, mathScript.Script, "y"); //Adds arguments for matrix row officeMath = mathMatrixRow.Arguments[2]; //Adds a script mathScript = AddMathScript(officeMath, MathScriptType.Subscript); //Adds math text officeMathParaItem = AddMathText(document, mathScript.Equation, text); //Adds math text officeMathParaItem = AddMathText(document, mathScript.Script, "z"); }
/// <summary> /// Creates an expansion of triple scalar product /// </summary> /// <param name="paragraph">Represents a paragraph to add MathML element</param> private void CreateTripleScalarProduct(IWParagraph paragraph) { WordDocument document = paragraph.Document; //Creates a MathML element WMath math = paragraph.AppendMath(); //Adds an office math IOfficeMath officeMath = math.MathParagraph.Maths.Add(); #region Math text //Unicode value of middle dot string middleDot = "\u00B7"; string multiplicationSign = "\u00D7"; string text = "A" + middleDot + "B" + multiplicationSign + "C"; //Adds a math item IOfficeMathRunElement officeMathParaItem = AddMathText(document, officeMath, text); //Sets style for math text officeMathParaItem.MathFormat.Style = MathStyleType.Bold; //Adds math text officeMathParaItem = AddMathText(document, officeMath, "="); //Sets style for math text officeMathParaItem.MathFormat.Style = MathStyleType.Bold; //Adds math text text = "A" + multiplicationSign + "B" + middleDot + "C"; officeMathParaItem = AddMathText(document, officeMath, text); //Sets style for math text officeMathParaItem.MathFormat.Style = MathStyleType.Bold; //Adds math text officeMathParaItem = AddMathText(document, officeMath, "="); #endregion #region Delimiter //Adds a delimiter IOfficeMathDelimiter mathDelimiter = officeMath.Functions.Add(MathFunctionType.Delimiter) as IOfficeMathDelimiter; //Sets begin character for delimiter mathDelimiter.BeginCharacter = "|"; //Sets end character for delimiter mathDelimiter.EndCharacter = "|"; //Apply formats for delimiter mathDelimiter.ControlProperties = new WCharacterFormat(document); (mathDelimiter.ControlProperties as WCharacterFormat).Italic = true; //Adds arguments for delimiter officeMath = mathDelimiter.Equation.Add() as IOfficeMath; #region Matrix //Add matrix into delimiter IOfficeMathMatrix mathMatrix = officeMath.Functions.Add(MathFunctionType.Matrix) as IOfficeMathMatrix; //Add columns in matrix mathMatrix.Columns.Add(); mathMatrix.Columns.Add(); mathMatrix.Columns.Add(); #region First row //Adds a new row IOfficeMathMatrixRow mathMatrixRow = mathMatrix.Rows.Add(); ///Add values to row AddMatrixRowValues(document, mathMatrixRow, "A"); #endregion #region Second row //Adds a new row mathMatrixRow = mathMatrix.Rows.Add(); ///Add values to row AddMatrixRowValues(document, mathMatrixRow, "B"); #endregion #region Third row //Adds a new row mathMatrixRow = mathMatrix.Rows.Add(); ///Add values to row AddMatrixRowValues(document, mathMatrixRow, "C"); #endregion #endregion #endregion }