From 723f6c0ca424dd079a896a196f1f20571ac0634b Mon Sep 17 00:00:00 2001 From: GOPINATHSF4767 Date: Tue, 18 Aug 2026 12:51:37 +0530 Subject: [PATCH] Math --- .../.NET/Create-Complex-Equation.sln | 25 +++ .../Create-Complex-Equation.csproj | 19 ++ .../Create-Complex-Equation/Output/.gitkeep | 1 + .../Output/Output.docx | Bin 0 -> 5723 bytes .../.NET/Create-Complex-Equation/Program.cs | 163 ++++++++++++++++++ 5 files changed, 208 insertions(+) create mode 100644 Mathematical-Equation/Create-Complex-Equation/.NET/Create-Complex-Equation.sln create mode 100644 Mathematical-Equation/Create-Complex-Equation/.NET/Create-Complex-Equation/Create-Complex-Equation.csproj create mode 100644 Mathematical-Equation/Create-Complex-Equation/.NET/Create-Complex-Equation/Output/.gitkeep create mode 100644 Mathematical-Equation/Create-Complex-Equation/.NET/Create-Complex-Equation/Output/Output.docx create mode 100644 Mathematical-Equation/Create-Complex-Equation/.NET/Create-Complex-Equation/Program.cs diff --git a/Mathematical-Equation/Create-Complex-Equation/.NET/Create-Complex-Equation.sln b/Mathematical-Equation/Create-Complex-Equation/.NET/Create-Complex-Equation.sln new file mode 100644 index 000000000..ba304cd49 --- /dev/null +++ b/Mathematical-Equation/Create-Complex-Equation/.NET/Create-Complex-Equation.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.14.37531.7 d17.14 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Create-Complex-Equation", "Create-Complex-Equation\Create-Complex-Equation.csproj", "{2091E74E-6598-9AFD-0545-AFFF3C4C90D2}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {2091E74E-6598-9AFD-0545-AFFF3C4C90D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2091E74E-6598-9AFD-0545-AFFF3C4C90D2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2091E74E-6598-9AFD-0545-AFFF3C4C90D2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2091E74E-6598-9AFD-0545-AFFF3C4C90D2}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {F3B3C138-6133-4B1A-8CAC-84CD7CED6B00} + EndGlobalSection +EndGlobal diff --git a/Mathematical-Equation/Create-Complex-Equation/.NET/Create-Complex-Equation/Create-Complex-Equation.csproj b/Mathematical-Equation/Create-Complex-Equation/.NET/Create-Complex-Equation/Create-Complex-Equation.csproj new file mode 100644 index 000000000..401993e45 --- /dev/null +++ b/Mathematical-Equation/Create-Complex-Equation/.NET/Create-Complex-Equation/Create-Complex-Equation.csproj @@ -0,0 +1,19 @@ + + + + Exe + net8.0 + Create_Complex_Equation + + + + + + + + + Always + + + + diff --git a/Mathematical-Equation/Create-Complex-Equation/.NET/Create-Complex-Equation/Output/.gitkeep b/Mathematical-Equation/Create-Complex-Equation/.NET/Create-Complex-Equation/Output/.gitkeep new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/Mathematical-Equation/Create-Complex-Equation/.NET/Create-Complex-Equation/Output/.gitkeep @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Mathematical-Equation/Create-Complex-Equation/.NET/Create-Complex-Equation/Output/Output.docx b/Mathematical-Equation/Create-Complex-Equation/.NET/Create-Complex-Equation/Output/Output.docx new file mode 100644 index 0000000000000000000000000000000000000000..0afd0a51281f17ceef3faf49c85a4184489ab392 GIT binary patch literal 5723 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 S{CWu+`Fn!&GK^o51o$5eukYFb literal 0 HcmV?d00001 diff --git a/Mathematical-Equation/Create-Complex-Equation/.NET/Create-Complex-Equation/Program.cs b/Mathematical-Equation/Create-Complex-Equation/.NET/Create-Complex-Equation/Program.cs new file mode 100644 index 000000000..be50636b8 --- /dev/null +++ b/Mathematical-Equation/Create-Complex-Equation/.NET/Create-Complex-Equation/Program.cs @@ -0,0 +1,163 @@ +using Syncfusion.DocIO.DLS; +using Syncfusion.Office; +using System.IO; + +namespace Create_Complex_Equation +{ + class Program + { + static void Main(string[] args) + { + + // Create WordDocument instance + using (WordDocument document = new WordDocument()) + { + document.EnsureMinimal(); + // Add mathml equation in the word document + AddMathMLEquation(document.LastParagraph); + // Save the document to file + document.Save(Path.GetFullPath(@"Output/Output.docx")); + } + } + /// + /// Adds a math equation in the word document using MathML + /// + /// Represents a Word document paragraph to add math text + private static void AddMathMLEquation(WParagraph paragraph) + { + WordDocument document = paragraph.Document; + //Creates a new MathML element + WMath math = paragraph.AppendMath(); + IOfficeMath officeMath = math.MathParagraph.Maths.Add(); + + // Adds a Subscript equation + IOfficeMathScript mathScript = AddMathScript(officeMath, MathScriptType.Subscript); + //Adds a math text + AddMathText(document, mathScript.Equation, "L"); + AddMathText(document, mathScript.Script, "r") + ; + AddMathText(document, officeMath, "="); + + AddMathText(document, officeMath, "1.95"); + mathScript = AddMathScript(officeMath, MathScriptType.Subscript); + AddMathText(document, mathScript.Equation, "f"); + AddMathText(document, mathScript.Script, "t"); + + //Adds a math fraction + IOfficeMathFraction mathFraction = officeMath.Functions.Add(MathFunctionType.Fraction) as IOfficeMathFraction; + //Adds a numerator text + AddMathText(document, mathFraction.Numerator, "E"); + //Adds a math script + mathScript = AddMathScript(mathFraction.Denominator, MathScriptType.Subscript); + + //Adds a math text for Superscript + AddMathText(document, mathScript.Equation, "F"); + AddMathText(document, mathScript.Script, "L"); + + //Adds a radical equation + IOfficeMathRadical officeMathRadical = officeMath.Functions.Add(MathFunctionType.Radical) as IOfficeMathRadical; + //Sets false to show degree in radical + officeMathRadical.HideDegree = true; + //Adds a numerator text + AddMathText(document, officeMathRadical.Degree, ""); + + officeMath = officeMathRadical.Equation; + + mathFraction = officeMath.Functions.Add(MathFunctionType.Fraction) as IOfficeMathFraction; + //Adds a numerator text + AddMathText(document, mathFraction.Numerator, "J"); + mathScript = AddMathScript(mathFraction.Denominator, MathScriptType.Subscript); + + //Adds a math text for Superscript + AddMathText(document, mathScript.Equation, "S"); + AddMathText(document, mathScript.Script, "xc"); + mathScript = AddMathScript(mathFraction.Denominator, MathScriptType.Subscript); + + //Adds a math text for Superscript + AddMathText(document, mathScript.Equation, "h"); + AddMathText(document, mathScript.Script, "0"); + + AddMathText(document, officeMath, "+"); + + //Adds a radical equation + officeMathRadical = officeMath.Functions.Add(MathFunctionType.Radical) as IOfficeMathRadical; + //Sets false to show degree in radical + officeMathRadical.HideDegree = true; + //Adds a numerator text + AddMathText(document, officeMathRadical.Degree, ""); + + officeMath = officeMathRadical.Equation; + + //Adds a math script element + IOfficeMathScript mathScript1 = AddMathScript(officeMath, MathScriptType.Superscript); + + IOfficeMathDelimiter mathDelimiter = mathScript1.Equation.Functions.Add(MathFunctionType.Delimiter) as IOfficeMathDelimiter; + + // Adds an office math in the delimiter + officeMath = mathDelimiter.Equation.Add() as IOfficeMath; + + mathFraction = officeMath.Functions.Add(MathFunctionType.Fraction) as IOfficeMathFraction; + //Adds a numerator text + AddMathText(document, mathFraction.Numerator, "J"); + mathScript = AddMathScript(mathFraction.Denominator, MathScriptType.Subscript); + + //Adds a math text for Superscript + AddMathText(document, mathScript.Equation, "S"); + AddMathText(document, mathScript.Script, "xc"); + mathScript = AddMathScript(mathFraction.Denominator, MathScriptType.Subscript); + + //Adds a math text for Superscript + AddMathText(document, mathScript.Equation, "h"); + AddMathText(document, mathScript.Script, "0"); + //Adds a math text + AddMathText(document, mathScript1.Script, "2"); + + officeMath = officeMathRadical.Equation; + + AddMathText(document, officeMath, "+"); + AddMathText(document, officeMath, "6.76"); + + //Adds a math script element + mathScript1 = AddMathScript(officeMath, MathScriptType.Superscript); + mathDelimiter = mathScript1.Equation.Functions.Add(MathFunctionType.Delimiter) as IOfficeMathDelimiter; + // Adds an office math in the delimiter + officeMath = mathDelimiter.Equation.Add() as IOfficeMath; + //Adds a math fraction + mathFraction = officeMath.Functions.Add(MathFunctionType.Fraction) as IOfficeMathFraction; + //Adds a numerator text + AddMathText(document, mathFraction.Denominator, "E"); + //Adds a math script + mathScript = AddMathScript(mathFraction.Numerator, MathScriptType.Subscript); + //Adds a math text for Superscript + AddMathText(document, mathScript.Equation, "F"); + AddMathText(document, mathScript.Script, "L"); + //Adds a math text + AddMathText(document, mathScript1.Script, "2"); + } + /// + /// Adds a math text + /// + /// Represents a Word document to add math text + /// Represents an office math to add math text + /// Represents the text to set for math item + private static IOfficeMathRunElement AddMathText(WordDocument document, IOfficeMath officeMath, string text) + { + //Adds math text + IOfficeMathRunElement officeMathParaItem = officeMath.Functions.Add(MathFunctionType.RunElement) as IOfficeMathRunElement; + officeMathParaItem.Item = new WTextRange(document); + //Set math text value + (officeMathParaItem.Item as WTextRange).Text = text; + return officeMathParaItem; + } + /// + /// Adds a math Subscript or Superscript equation + /// + private static IOfficeMathScript AddMathScript(IOfficeMath officeMath, MathScriptType mathScriptType) + { + IOfficeMathScript mathScript = officeMath.Functions.Add(MathFunctionType.SubSuperscript) as IOfficeMathScript; + //Sets the script type as Subscript or Superscript + mathScript.ScriptType = mathScriptType; + return mathScript; + } + } +}