C++ में PowerPoint प्रस्तुतियों में गणितीय समीकरण जोड़ें

अवलोकन

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

PowerPoint में, उपयोगकर्ता सामान्यतः Insert > Equation मेनू से समीकरण जोड़ते हैं:

PowerPoint Insert टैब जिसमें Equation कमांड चयनित है

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

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

Aspose.Slides तीन मुख्य ऑब्जेक्ट्स के माध्यम से वह गणितीय टेक्स्ट बनाता है:

  • एक गणितीय आकार, जो AddMathShape के साथ बनाया गया है, वह आकार है जिसमें समीकरण होता है।
  • MathPortion आकार के टेक्स्ट फ़्रेम के अंदर गणितीय सामग्री संग्रहीत करता है।
  • MathParagraph में एक या अधिक MathBlock ऑब्जेक्ट्स होते हैं।

नीचे के अधिकांश उदाहरण MathematicalText और IMathElement की फ्लुएंट मेथड्स का उपयोग करते हैं ताकि कोड छोटा और पठनीय रहे।

For MathML export scenarios, see Export Math Equations from Presentations in C++.

एक समीकरण बनाएं

यह उदाहरण एक गणितीय आकार बनाता है और पायथागोरस प्रमेय जोड़ता है:

समीकरण c वर्ग बराबर a वर्ग प्लस b वर्ग

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();

भिन्न जोड़ें

Divide का उपयोग करके आप एक भिन्न बना सकते हैं। आप एक भिन्न शैली चुन सकते हैं MathFractionTypes

एक तिरछा गणितीय भिन्न जिसमें 1 को x से विभाजित दिखाया गया है

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 का उपयोग करके आप वर्गमूल, घनमूल या अन्य मूल बना सकते हैं। मौजूदा तत्व बेस बन जाता है, और आर्ग्युमेंट डिग्री बन जाता है।

एक n-वाँ मूल अभिव्यक्ति जिसमें x मूल चिह्न के नीचे है

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 का प्रयोग करें।

x की सीमा जब x अनंत की ओर बढ़ता है

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 का उपयोग करें।

एक वर्टिकल गणितीय एरे जिसमें x y के ऊपर है

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 का उपयोग करें।

त्रिकोणमितीय फ़ंक्शन cos को 2x पर लागू किया गया

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 का प्रयोग करें।

एक बड़े अक्षर Y जिसमें बाएँ ओर सबस्क्रिप्ट 1 और सुपरस्क्रिप्ट n है

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 का उपयोग करें। आप कई तत्वों वाली डिलिमिटर अभिव्यक्तियों के लिये एक सेपरेटर कैरेक्टर भी सेट कर सकते हैं।

एक डिलिमिटर अभिव्यक्ति जिसमें x, y, और z को वर्टिकल बार द्वारा अलग किया गया है

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 का प्रयोग करें।

एक बॉक्स्ड समीकरण जिसमें a वर्ग बराबर b वर्ग प्लस c वर्ग दिखाया गया है

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 का उपयोग करके आप अभिव्यक्ति के ऊपर या नीचे ग्रुपिंग कैरेक्टर रख सकते हैं। ग्रुप किए गए टर्म को लेबल करने के लिये एक लिमिट जोड़ें।

अभिव्यक्ति x + y को ग्रुप किया गया है और उसके नीचे लेबल के रूप में कोई भी टेक्स्ट है

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 गणितीय तत्व के ऊपर एक बार रखता है।

एक गणितीय अभिव्यक्ति ABC जिसमें एक ओवरबार है

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 डायलेक्ट को सपोर्ट करता हो।