MathObjectType

MathObjectType enumeration

Office Math nesnesinin türünü belirtir.

public enum MathObjectType

değerler

İsimDeğerTanım
OMath0Matematiksel metin örneği.
OMathPara1Bir veya daha fazlasını içeren matematik paragrafı veya matematik bölgesini görüntülemeOMath görüntüleme modundaki öğeler.
Accent2Bir taban ve birleştirici aksan işaretinden oluşan vurgu işlevi.
Bar3Temel bağımsız değişken ve üst veya alt çubuktan oluşan çubuk işlevi.
BorderBox4Matematiksel bir metin örneğinin (formül veya denklem gibi) etrafına çizilen bir kenarlıktan oluşan Kenarlık Kutusu nesnesi
Box5Bir denklemin bileşenlerini veya başka bir matematiksel metin örneğini gruplamak için kullanılan Box nesnesi.
Delimiter6Açma ve kapama sınırlayıcılarından (parantez, ayraçları, ayraçlar ve dikey çubuklar gibi) ve içinde yer alan bir öğeden oluşan sınırlayıcı nesnesi.
Degree7Matematiksel radikalin derecesi.
Argument8Bağımsız değişken nesnesi. Diğer Office Math varlıklarına bağımsız değişken olarak kullanıldıklarında Office Math varlıklarını kapsar.
Array9Bir veya daha fazla denklemden, ifadeden veya satırdaki çevredeki metne göre bir birim olarak dikey olarak yaslanabilen diğer matematiksel metin çalıştırmalarından oluşan dizi nesnesi.
Fraction10Kesir çubuğuyla ayrılmış bir pay ve paydadan oluşan kesir nesnesi.
Denominator11Kesir nesnesinin paydası.
Numerator12Kesir nesnesinin payı.
Function13Bir işlev adından ve üzerinde işlem yapılan bir bağımsız değişken öğesinden oluşan Function-Apply nesnesi.
FunctionName14Fonksiyonun adı. Örneğin işlev adları sin ve cos. ‘dir.
GroupCharacter15Grup-Karakter nesnesi, metnin üstüne veya altına çizilen bir karakterden oluşur; öğeleri görsel olarak gruplandırmak amacıyla genellikle ‘dir
Limit16Alt limitLowerLimit nesne ve üst sınırıUpperLimit function.
LowerLimit17Taban çizgisindeki metinden ve hemen altındaki küçültülmüş boyutlu metinden oluşan Alt Limit nesnesi.
UpperLimit18Taban çizgisindeki metinden ve hemen üstündeki küçültülmüş boyutlu metinden oluşan Üst Sınır nesnesi.
Matrix19Bir veya daha fazla satır ve bir veya daha fazla sütun halinde düzenlenmiş bir veya daha fazla öğeden oluşan Matrix nesnesi.
MatrixRow20Matrisin tek satırı.
NAry21N-ary nesnesi, N-ary nesnesi, bir taban (veya işlenen) ve isteğe bağlı üst ve alt limitlerden oluşur.
Phantom22Hayalet nesne.
Radical23Radikal nesne, bir radikal, bir temel öğe ve isteğe bağlı bir dereceden oluşan .
SubscriptPart24Alt simge kısmına sahip olabilecek nesnenin alt simgesi.
SuperscriptPart25Üst simge nesnesinin üst simgesi.
PreSubSuperscript26Bir temel öğe ve tabanın soluna yerleştirilen bir alt simge ve üst simgeden oluşan Ön Alt Üst Simge nesnesi.
Subscript27Bir temel öğeden ve aşağıya ve sağa yerleştirilen küçültülmüş boyutlu bir komut dosyasından oluşan alt simge nesnesi.
SubSuperscript28Bir temel öğeden, aşağıya ve sağa yerleştirilen küçültülmüş boyutlu bir komut dosyasından ve yukarıya ve sağa yerleştirilen küçültülmüş boyutlu bir komut dosyasından oluşan alt üst simge nesnesi.
Supercript29Bir temel öğeden ve yukarıya ve sağa yerleştirilen küçültülmüş boyutlu bir komut dosyasından 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 edecek bileşik bir düğüm aldığımızda, ziyaretçi kabul eden düğümü ziyaret eder,
    // ve ardından düğümün tüm alt öğelerini derinlik öncelikli bir şekilde geçer.
    // Ziyaretçi ziyaret edilen her düğümü okuyabilir ve değiştirebilir.
    doc.Accept(visitor);

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

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

    /// <summary>
    /// Ziyaretçinin biriktirdiği 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 derin olduğuna bağlı olarak onu girintileyin.
    /// </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