MathObjectType

MathObjectType enumeration

Bir Office Math nesnesinin türünü belirtir.

public enum MathObjectType

değerler

İsimDeğerTanım
OMath0Matematiksel metin örneği.
OMathPara1Bir veya daha fazla matematik paragrafı veya görüntüleme matematik alanı içerenOMath görüntüleme modunda olan öğeler.
Accent2Bir taban ve birleştirici bir diakritik işaretten oluşan vurgu işlevi.
Bar3Bir temel argüman ve bir üst veya alt çubuktan oluşan Bar fonksiyonu.
BorderBox4Matematiksel metin örneğinin (örneğin bir formül veya denklem) etrafına çizilen bir kenarlıktan oluşan Kenarlık Kutusu nesnesi
Box5Bir denklemin veya matematiksel metnin diğer örneklerinin bileşenlerini gruplamak için kullanılan kutu nesnesi.
Delimiter6Ayırıcı nesnesi, açma ve kapama ayraçlarından (parantez, parantez, köşeli parantez ve dikey çubuklar gibi) ve içinde bulunan bir öğeden oluşur.
Degree7Matematiksel radikalde derece.
Argument8Bağımsız değişken nesnesi. Office Math varlıklarını, diğer Office Math varlıklarına bağımsız değişken olarak kullanıldıklarında çevreler.
Array9Bir veya daha fazla denklem, ifade veya diğer matematiksel metinlerden oluşan dizi nesnesi, satırdaki çevreleyen metne göre bir birim olarak dikey olarak hizalanabilen çalıştırır.
Fraction10Kesir nesnesi, bir kesir çubuğuyla ayrılmış bir pay ve paydadan oluşur.
Denominator11Bir kesir nesnesinin paydası.
Numerator12Kesir nesnesinin Payı.
Function13İşlev-Uygulama nesnesi, bir işlev adı ve üzerinde işlem yapılan bir argüman öğesinden oluşur.
FunctionName14Fonksiyonun adı. Örneğin, fonksiyon adları sin ve cos’tur.
GroupCharacter15Metnin üstüne veya altına çizilen bir karakterden oluşan Grup Karakter nesnesi, genellikle öğeleri görsel olarak gruplandırmak amacıyla kullanılır
Limit16Alt sınırLowerLimit nesne ve üst sınırUpperLimit fonksiyon.
LowerLimit17Alt Sınır nesnesi, taban çizgisindeki metinden ve hemen altındaki küçültülmüş boyuttaki metinden oluşur.
UpperLimit18Taban çizgisindeki metinden ve hemen üstündeki küçültülmüş boyuttaki metinden oluşan Üst Sınır nesnesi.
Matrix19Bir veya daha fazla satırda ve bir veya daha fazla sütunda düzenlenmiş bir veya daha fazla öğeden oluşan matris nesnesi.
MatrixRow20Matrisin tek satırı.
NAry21N-ary nesne, bir n-ary nesneden, bir tabandan (veya işlenenden) ve isteğe bağlı üst ve alt sınırlardan oluşur.
Phantom22Hayalet nesne.
Radical23Radikal nesne, bir radikal, bir temel eleman ve isteğe bağlı bir dereceden oluşur.
SubscriptPart24Alt simge parçası olabilen nesnenin alt simgesi.
SuperscriptPart25Üst simge nesnesinin üst simgesi.
PreSubSuperscript26Bir taban öğesinden ve tabanın soluna yerleştirilmiş bir alt simge ve üst simgeden oluşan Ön-Alt-Üst Simge nesnesi.
Subscript27Bir taban öğesinden ve altına ve sağına yerleştirilmiş küçültülmüş boyutlu bir betikten oluşan alt simge nesnesi.
SubSuperscript28Bir taban öğesinden, altına ve sağa yerleştirilmiş küçültülmüş boyutlu bir betikten ve üstüne ve sağa yerleştirilmiş küçültülmüş boyutlu bir betikten oluşan alt-üst simge nesnesi.
Supercript29Bir taban öğesinden ve üstüne ve sağına yerleştirilmiş küçültülmüş boyutlu bir betikten oluşan üst simge nesnesi.

Örnekler

Bir belgedeki her ofis matematik düğümünün düğüm yapısının nasıl yazdırılacağını gösterir.

public void OfficeMathToText()
{
    Document doc = new Document(MyDir + "DocumentVisitor-compatible features.docx");
    OfficeMathStructurePrinter visitor = new OfficeMathStructurePrinter();

    // Bir belge ziyaretçisini kabul etmek için bir bileşik düğüm aldığımızda, ziyaretçi kabul eden düğümü ziyaret eder,
    // ve sonra düğümün tüm çocuklarını derinlemesine bir şekilde dolaşır.
    // Ziyaretçi ziyaret edilen her düğümü okuyabilir ve değiştirebilir.
    doc.Accept(visitor);

    Console.WriteLine(visitor.GetText());
}

/// <summary>
/// Bir düğümün alt düğümlerinin ikili olmayan ağacını dolaşır.
/// Karşılaşılan tüm OfficeMath düğümlerinin ve bunların alt öğelerinin bir dize biçiminde bir haritasını oluşturur.
/// </summary>
public class OfficeMathStructurePrinter : DocumentVisitor
{
    public OfficeMathStructurePrinter()
    {
        mBuilder = new StringBuilder();
        mVisitorIsInsideOfficeMath = false;
    }

    /// <summary>
    /// Ziyaretçinin topladığı belgenin düz metnini alır.
    /// </summary>
    public string GetText()
    {
        return mBuilder.ToString();
    }

    /// <summary>
    /// Belgede bir Çalıştırma düğümüyle karşılaşıldığında çağrılır.
    /// </summary>
    public override VisitorAction VisitRun(Run run)
    {
        if (mVisitorIsInsideOfficeMath) IndentAndAppendLine("[Run] \"" + run.GetText() + "\"");

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Belgede bir OfficeMath düğümüyle karşılaşıldığında çağrılır.
    /// </summary>
    public override VisitorAction VisitOfficeMathStart(OfficeMath officeMath)
    {
        IndentAndAppendLine("[OfficeMath start] Math object type: " + officeMath.MathObjectType);
        mDocTraversalDepth++;
        mVisitorIsInsideOfficeMath = true;

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Bir OfficeMath düğümünün tüm alt düğümleri ziyaret edildikten sonra çağrılır.
    /// </summary>
    public override VisitorAction VisitOfficeMathEnd(OfficeMath officeMath)
    {
        mDocTraversalDepth--;
        IndentAndAppendLine("[OfficeMath end]");
        mVisitorIsInsideOfficeMath = false;

        return VisitorAction.Continue;
    }

    /// <summary>
    /// StringBuilder'a bir satır ekleyin ve ziyaretçinin belge ağacında ne kadar derine indiğine bağlı olarak girintisini ayarlayın.
    /// </summary>
    /// <param adı="metin"></param>
    private void IndentAndAppendLine(string text)
    {
        for (int i = 0; i < mDocTraversalDepth; i++) mBuilder.Append("|  ");

        mBuilder.AppendLine(text);
    }

    private bool mVisitorIsInsideOfficeMath;
    private int mDocTraversalDepth;
    private readonly StringBuilder mBuilder;
}

Ayrıca bakınız