C++ में PowerPoint प्रस्तुतियों में गणितीय समीकरण जोड़ें
अवलोकन
PowerPoint समीकरणों को Office Math Markup Language (OMML) के रूप में सहेजता है। Aspose.Slides for C++ के साथ, आप प्रोग्रामेटिक रूप से वही प्रकार की गणितीय सामग्री बना सकते हैं: भाग, मूल, फ़ंक्शन, सीमाएं, N-ary ऑपरेटर, मैट्रिक्स, एरे, और फ़ॉर्मेटेड गणित ब्लॉक।
PowerPoint में, उपयोगकर्ता सामान्यतः Insert > Equation मेनू से समीकरण जोड़ते हैं:

परिणाम स्लाइड पर संपादन योग्य गणितीय टेक्स्ट है:

Aspose.Slides तीन मुख्य ऑब्जेक्ट्स के माध्यम से वह गणितीय टेक्स्ट बनाता है:
- एक गणितीय आकार, जो AddMathShape के साथ बनाया गया है, वह आकार है जिसमें समीकरण होता है।
- MathPortion आकार के टेक्स्ट फ़्रेम के अंदर गणितीय सामग्री संग्रहीत करता है।
- MathParagraph में एक या अधिक MathBlock ऑब्जेक्ट्स होते हैं।
नीचे के अधिकांश उदाहरण MathematicalText और IMathElement की फ्लुएंट मेथड्स का उपयोग करते हैं ताकि कोड छोटा और पठनीय रहे।
For MathML export scenarios, see Export Math Equations from Presentations in C++.
एक समीकरण बनाएं
यह उदाहरण एक गणितीय आकार बनाता है और पायथागोरस प्रमेय जोड़ता है:

auto presentation = System::MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto mathShape = slide->get_Shapes()->AddMathShape(20.0f, 20.0f, 700.0f, 120.0f);
auto mathPortion = System::ExplicitCast<MathPortion>(mathShape->get_TextFrame()->get_Paragraph(0)->get_Portion(0));
auto mathParagraph = mathPortion->get_MathParagraph();
auto equation = System::MakeObject<MathematicalText>(u"c")
- >SetSuperscript(u"2")
- >Join(u"=")
- >Join(System::MakeObject<MathematicalText>(u"a")->SetSuperscript(u"2"))
- >Join(u"+")
- >Join(System::MakeObject<MathematicalText>(u"b")->SetSuperscript(u"2"));
mathParagraph->Add(equation);
presentation->Save(u"pythagorean-theorem.pptx", SaveFormat::Pptx);
presentation->Dispose();
AddMathShape एक आकार बनाता है जिसमें पहले से ही एक गणितीय पैराग्राफ होता है। पहला MathPortion एक्सेस करें, उसका MathParagraph प्राप्त करें, और उसमें गणितीय ब्लॉक्स या गणितीय तत्व जोड़ें।
भिन्न जोड़ें
Divide का उपयोग करके आप एक भिन्न बना सकते हैं। आप एक भिन्न शैली चुन सकते हैं MathFractionTypes।

auto presentation = System::MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto mathShape = slide->get_Shapes()->AddMathShape(20.0f, 20.0f, 700.0f, 100.0f);
auto mathPortion = System::ExplicitCast<MathPortion>(mathShape->get_TextFrame()->get_Paragraph(0)->get_Portion(0));
auto mathParagraph = mathPortion->get_MathParagraph();
auto fraction = System::MakeObject<MathematicalText>(u"1")
- >Divide(u"x", MathFractionTypes::Skewed);
mathParagraph->Add(System::MakeObject<MathBlock>(fraction));
presentation->Save(u"fraction.pptx", SaveFormat::Pptx);
presentation->Dispose();
एक स्टैक्ड (ऊपर नीचे) भिन्न के लिए, MathFractionTypes::Bar का प्रयोग करें:
auto stackedFraction = System::MakeObject<MathematicalText>(u"x + 1")->Divide(u"y - 1", MathFractionTypes::Bar);
रैडिकल जोड़ें
Radical का उपयोग करके आप वर्गमूल, घनमूल या अन्य मूल बना सकते हैं। मौजूदा तत्व बेस बन जाता है, और आर्ग्युमेंट डिग्री बन जाता है।

auto presentation = System::MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto mathShape = slide->get_Shapes()->AddMathShape(20.0f, 20.0f, 700.0f, 100.0f);
auto mathPortion = System::ExplicitCast<MathPortion>(mathShape->get_TextFrame()->get_Paragraph(0)->get_Portion(0));
auto mathParagraph = mathPortion->get_MathParagraph();
auto radical = System::MakeObject<MathematicalText>(u"x")
- >Radical(u"n");
mathParagraph->Add(System::MakeObject<MathBlock>(radical));
presentation->Save(u"radical.pptx", SaveFormat::Pptx);
presentation->Dispose();
फ़ंक्शन और सीमाएं जोड़ें
AsArgumentOfFunction या Function का उपयोग sin(x), log(x) जैसे फ़ंक्शनों या कस्टम फ़ंक्शन नामों के लिए करें। सीमाओं के लिये, lim को एक MathLimit में रखें या SetLowerLimit का प्रयोग करें।

auto presentation = System::MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto mathShape = slide->get_Shapes()->AddMathShape(20.0f, 20.0f, 700.0f, 100.0f);
auto mathPortion = System::ExplicitCast<MathPortion>(mathShape->get_TextFrame()->get_Paragraph(0)->get_Portion(0));
auto mathParagraph = mathPortion->get_MathParagraph();
auto limit = System::MakeObject<MathematicalText>(u"lim")
- >SetLowerLimit(u"x→∞")
- >Function(u"x");
mathParagraph->Add(System::MakeObject<MathBlock>(limit));
presentation->Save(u"functions-and-limits.pptx", SaveFormat::Pptx);
presentation->Dispose();
कस्टम फ़ंक्शन नाम के लिये, फ़ंक्शन नाम को वर्तमान तत्व बनाएं:
auto customFunction = System::MakeObject<MathematicalText>(u"f")->Function(u"x + 1");
N-ary ऑपरेटर और इंटीग्रल जोड़ें
समेशन, यूनियन, इंटर्सेक्शन और अन्य बड़े ऑपरेटर्स के लिए Nary का उपयोग करें। इंटीग्रल के लिये Integral का प्रयोग करें। दोनों मेथड्स आपको लोअर और अपर लिमिट सेट करने देते हैं।

auto presentation = System::MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto mathShape = slide->get_Shapes()->AddMathShape(20.0f, 20.0f, 700.0f, 120.0f);
auto mathPortion = System::ExplicitCast<MathPortion>(mathShape->get_TextFrame()->get_Paragraph(0)->get_Portion(0));
auto mathParagraph = mathPortion->get_MathParagraph();
auto summationBase = System::MakeObject<MathematicalText>(u"x")
- >SetSuperscript(u"k")
- >Join(System::MakeObject<MathematicalText>(u"a")->SetSuperscript(u"n-k"));
auto summation = summationBase->Nary(MathNaryOperatorTypes::Summation, u"k=0", u"n");
mathParagraph->Add(System::MakeObject<MathBlock>(summation));
presentation->Save(u"nary-operators.pptx", SaveFormat::Pptx);
presentation->Dispose();
N-ary ऑपरेटर बड़े ऑपरेटर्स होते हैं जिनमें वैकल्पिक सीमाएं हो सकती हैं। सरल ऑपरेटर जैसे +, -, और = आमतौर पर MathematicalText के रूप में जोड़े जाते हैं और अभिव्यक्ति में सम्मिलित होते हैं।
इंटीग्रल के लिये, Integral का प्रयोग करें:
auto integralBase = System::MakeObject<MathematicalText>(u"x")->Join(System::MakeObject<MathematicalText>(u"dx")->ToBox());
auto integral = integralBase->Integral(MathIntegralTypes::Simple, u"0", u"1");
मैट्रिक्स जोड़ें
पंक्तियों और कॉलमों के लिये MathMatrix का प्रयोग करें। मैट्रिक्स में डिफ़ॉल्ट रूप से ब्रेस नहीं होते, इसलिए जब आपको कोष्ठक, ब्रैकेट या ब्रेस चाहिए हो तो मैट्रिक्स को घेरें।

auto presentation = System::MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto mathShape = slide->get_Shapes()->AddMathShape(20.0f, 20.0f, 700.0f, 120.0f);
auto mathPortion = System::ExplicitCast<MathPortion>(mathShape->get_TextFrame()->get_Paragraph(0)->get_Portion(0));
auto mathParagraph = mathPortion->get_MathParagraph();
auto matrix = System::MakeObject<MathMatrix>(2, 3);
matrix->idx_set(0, 0, System::MakeObject<MathematicalText>(u"1"));
matrix->idx_set(0, 1, System::MakeObject<MathematicalText>(u"x"));
matrix->idx_set(1, 0, System::MakeObject<MathematicalText>(u"x"));
matrix->idx_set(1, 1, System::MakeObject<MathematicalText>(u"2"));
matrix->idx_set(1, 2, System::MakeObject<MathematicalText>(u"y"));
mathParagraph->Add(System::MakeObject<MathBlock>(matrix));
presentation->Save(u"matrix.pptx", SaveFormat::Pptx);
presentation->Dispose();
समीकरण एरे जोड़ें
जब आपको संरेखित समीकरण या अभिव्यक्तियों का वर्टिकल स्टैक चाहिए हो, तो ToMathArray का उपयोग करें।

auto presentation = System::MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto mathShape = slide->get_Shapes()->AddMathShape(20.0f, 20.0f, 700.0f, 140.0f);
auto mathPortion = System::ExplicitCast<MathPortion>(mathShape->get_TextFrame()->get_Paragraph(0)->get_Portion(0));
auto mathParagraph = mathPortion->get_MathParagraph();
auto equationArray = System::MakeObject<MathematicalText>(u"x")
- >Join(u"y")
- >ToMathArray();
mathParagraph->Add(System::MakeObject<MathBlock>(equationArray));
presentation->Save(u"equation-array.pptx", SaveFormat::Pptx);
presentation->Dispose();
त्रिकोणमितीय फ़ंक्शन जोड़ें
जब आर्ग्युमेंट वर्तमान तत्व हो और फ़ंक्शन नाम ज्ञात हो, तब AsArgumentOfFunction का उपयोग करें।

auto presentation = System::MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto mathShape = slide->get_Shapes()->AddMathShape(20.0f, 20.0f, 700.0f, 100.0f);
auto mathPortion = System::ExplicitCast<MathPortion>(mathShape->get_TextFrame()->get_Paragraph(0)->get_Portion(0));
auto mathParagraph = mathPortion->get_MathParagraph();
auto cosine = System::MakeObject<MathematicalText>(u"2x")
- >AsArgumentOfFunction(MathFunctionsOfOneArgument::Cos);
mathParagraph->Add(System::MakeObject<MathBlock>(cosine));
presentation->Save(u"trigonometric-function.pptx", SaveFormat::Pptx);
presentation->Dispose();
सबस्क्रिप्ट और सुपरस्क्रिप्ट जोड़ें
इंडेक्स और पावर के लिये सबस्क्रिप्ट और सुपरस्क्रिप्ट हेल्पर्स का उपयोग करें। जब इंडेक्स बेस के बाएँ ओर दिखने चाहिए, तो SetSubSuperscriptOnTheLeft का प्रयोग करें।

auto presentation = System::MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto mathShape = slide->get_Shapes()->AddMathShape(20.0f, 20.0f, 700.0f, 100.0f);
auto mathPortion = System::ExplicitCast<MathPortion>(mathShape->get_TextFrame()->get_Paragraph(0)->get_Portion(0));
auto mathParagraph = mathPortion->get_MathParagraph();
auto scripts = System::MakeObject<MathematicalText>(u"Y")
- >SetSubSuperscriptOnTheLeft(u"1", u"n");
mathParagraph->Add(System::MakeObject<MathBlock>(scripts));
presentation->Save(u"subscript-superscript.pptx", SaveFormat::Pptx);
presentation->Dispose();
डिलिमिटर जोड़ें
एक अभिव्यक्ति को डिलिमिटर्स के भीतर रखने के लिये Enclose का उपयोग करें। आप कई तत्वों वाली डिलिमिटर अभिव्यक्तियों के लिये एक सेपरेटर कैरेक्टर भी सेट कर सकते हैं।

auto presentation = System::MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto mathShape = slide->get_Shapes()->AddMathShape(20.0f, 20.0f, 700.0f, 100.0f);
auto mathPortion = System::ExplicitCast<MathPortion>(mathShape->get_TextFrame()->get_Paragraph(0)->get_Portion(0));
auto mathParagraph = mathPortion->get_MathParagraph();
auto delimiter = System::MakeObject<MathematicalText>(u"x")
- >Join(u"y")
- >Join(u"z")
- >Enclose(u'<', u'>', u'|');
mathParagraph->Add(System::MakeObject<MathBlock>(delimiter));
presentation->Save(u"delimiters.pptx", SaveFormat::Pptx);
presentation->Dispose();
बॉर्डर बॉक्स जोड़ें
जब समीकरण को फ्रेम की आवश्यकता हो, तब ToBorderBox का प्रयोग करें।

auto presentation = System::MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto mathShape = slide->get_Shapes()->AddMathShape(20.0f, 20.0f, 700.0f, 100.0f);
auto mathPortion = System::ExplicitCast<MathPortion>(mathShape->get_TextFrame()->get_Paragraph(0)->get_Portion(0));
auto mathParagraph = mathPortion->get_MathParagraph();
auto boxedEquation = System::MakeObject<MathematicalText>(u"a")
- >SetSuperscript(u"2")
- >Join(u"=")
- >Join(System::MakeObject<MathematicalText>(u"b")->SetSuperscript(u"2"))
- >Join(u"+")
- >Join(System::MakeObject<MathematicalText>(u"c")->SetSuperscript(u"2"))
- >ToBorderBox();
mathParagraph->Add(System::MakeObject<MathBlock>(boxedEquation));
presentation->Save(u"border-box.pptx", SaveFormat::Pptx);
presentation->Dispose();
टर्म समूहित करें
Group का उपयोग करके आप अभिव्यक्ति के ऊपर या नीचे ग्रुपिंग कैरेक्टर रख सकते हैं। ग्रुप किए गए टर्म को लेबल करने के लिये एक लिमिट जोड़ें।

auto presentation = System::MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto mathShape = slide->get_Shapes()->AddMathShape(20.0f, 20.0f, 700.0f, 120.0f);
auto mathPortion = System::ExplicitCast<MathPortion>(mathShape->get_TextFrame()->get_Paragraph(0)->get_Portion(0));
auto mathParagraph = mathPortion->get_MathParagraph();
auto grouped = System::MakeObject<MathematicalText>(u"x + y")
- >Group(u'\u23DF', MathTopBotPositions::Bottom, MathTopBotPositions::Top)
- >SetLowerLimit(u"any text");
mathParagraph->Add(System::MakeObject<MathBlock>(grouped));
presentation->Save(u"grouped-terms.pptx", SaveFormat::Pptx);
presentation->Dispose();
गणितीय तत्वों का फॉर्मेट
फ़ॉर्मेटिंग हेल्पर्स का उपयोग केवल तभी करें जब वे फ़ॉर्मूला को स्पष्ट करें। उदाहरण के लिये, Overbar गणितीय तत्व के ऊपर एक बार रखता है।

auto presentation = System::MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto mathShape = slide->get_Shapes()->AddMathShape(20.0f, 20.0f, 700.0f, 100.0f);
auto mathPortion = System::ExplicitCast<MathPortion>(mathShape->get_TextFrame()->get_Paragraph(0)->get_Portion(0));
auto mathParagraph = mathPortion->get_MathParagraph();
auto overbar = System::MakeObject<MathematicalText>(u"ABC")->Overbar();
mathParagraph->Add(System::MakeObject<MathBlock>(overbar));
presentation->Save(u"overbar.pptx", SaveFormat::Pptx);
presentation->Dispose();
त्वरित संदर्भ
| कार्य | मुख्य API |
|---|---|
| गणितीय टेक्स्ट बनाएं | MathematicalText |
| तत्वों को मिलाएं | IMathElement.Join |
| अंश बनाएं | IMathElement.Divide |
| सुपरस्क्रिप्ट या सबस्क्रिप्ट जोड़ें | SetSuperscript, SetSubscript |
| फ़ंक्शन जोड़ें | Function, AsArgumentOfFunction |
| रैडिकल जोड़ें | IMathElement.Radical |
| सीमाएं जोड़ें | SetLowerLimit, SetUpperLimit |
| बाएँ-साइड स्क्रिप्ट जोड़ें | SetSubSuperscriptOnTheLeft |
| समेशन और इंटीग्रल जोड़ें | Nary, Integral |
| मैट्रिक्स जोड़ें | MathMatrix |
| समीकरण एरे जोड़ें | ToMathArray |
| डिलिमिटर जोड़ें | Enclose |
| बार और बॉर्डर जोड़ें | Overbar, ToBorderBox |
| टर्म समूहित करें | Group |
FAQ
क्या मैं मौजूदा PowerPoint समीकरण को संपादित कर सकता हूँ?
हां। प्रस्तुति खोलें, वह आकार खोजें जिसमें MathPortion हो, उसका MathParagraph प्राप्त करें, और उस पैराग्राफ में गणितीय ब्लॉक्स को अपडेट करें।
क्या समीकरण संपादन योग्य PowerPoint गणित के रूप में सहेजे जाते हैं?
हां। जब आप PPTX में सहेजते हैं, तो Aspose.Slides समीकरण को संपादन योग्य Office गणित सामग्री के रूप में लिखता है।
क्या मैं समीकरणों को LaTeX में निर्यात कर सकता हूँ?
Aspose.Slides गणितीय समीकरणों को MathML में निर्यात करता है। यदि आपको LaTeX चाहिए, तो पहले MathML में निर्यात करें और फिर एक ऐसे टूल का उपयोग करके MathML को LaTeX में परिवर्तित करें जो आपके लक्ष्य LaTeX डायलेक्ट को सपोर्ट करता हो।