MathObjectType
Inhalt
[
Ausblenden
]MathObjectType enumeration
Gibt den Typ eines Office Math-Objekts an.
public enum MathObjectType
Werte
Name | Wert | Beschreibung |
---|---|---|
OMath | 0 | Instanz eines mathematischen Textes. |
OMathPara | 1 | Mathe-Absatz oder Anzeige-Mathe-Zone, die einen oder mehrere enthältOMath Elemente, die sich im Anzeigemodus befinden. |
Accent | 2 | Akzentfunktion, bestehend aus einer Basis und einem kombinierenden diakritischen Zeichen. |
Bar | 3 | Balkenfunktion, bestehend aus einem Basisargument und einem Ober- oder Unterstrich. |
BorderBox | 4 | Border Box-Objekt, bestehend aus einem Rahmen, der um eine Instanz eines mathematischen Textes (z. B. eine Formel oder Gleichung) gezogen wird. |
Box | 5 | Box-Objekt, das zum Gruppieren von Komponenten einer Gleichung oder einer anderen Instanz eines mathematischen Textes verwendet wird. |
Delimiter | 6 | Trennzeichenobjekt, bestehend aus öffnenden und schließenden Trennzeichen (z. B. Klammern, Klammern, Klammern und vertikalen Balken) und einem darin enthaltenen Element. |
Degree | 7 | Abschluss im mathematischen Radikal. |
Argument | 8 | Argumentobjekt. Schließt Office Math-Entitäten ein, wenn sie als Argumente für andere Office Math-Entitäten verwendet werden. |
Array | 9 | Array-Objekt, bestehend aus einer oder mehreren Gleichungen, Ausdrücken oder anderen mathematischen Textläufen , die als Einheit in Bezug auf den umgebenden Text in der Zeile vertikal ausgerichtet werden können. |
Fraction | 10 | Bruchobjekt, bestehend aus einem Zähler und einem Nenner, getrennt durch einen Bruchstrich. |
Denominator | 11 | Nenner eines Bruchobjekts. |
Numerator | 12 | Zähler des Fraction-Objekts. |
Function | 13 | Function-Apply-Objekt, das aus einem Funktionsnamen und einem Argumentelement besteht, auf das reagiert wird. |
FunctionName | 14 | Name der Funktion. Funktionsnamen lauten beispielsweise sin und cos. |
GroupCharacter | 15 | Group-Character-Objekt, bestehend aus einem über oder unter dem Text gezeichneten Zeichen, häufig mit dem Zweck, Elemente visuell zu gruppieren |
Limit | 16 | Untere Grenze derLowerLimit Objekt und die Obergrenze desUpperLimit Funktion. |
LowerLimit | 17 | Lower-Limit-Objekt, bestehend aus Text auf der Grundlinie und verkleinertem Text direkt darunter. |
UpperLimit | 18 | Obergrenzenobjekt, bestehend aus Text auf der Grundlinie und verkleinertem Text direkt darüber. |
Matrix | 19 | Matrixobjekt, bestehend aus einem oder mehreren Elementen, die in einer oder mehreren Zeilen und einer oder mehreren Spalten angeordnet sind. |
MatrixRow | 20 | Einzelne Zeile der Matrix. |
NAry | 21 | N-äres Objekt, bestehend aus einem n-ären Objekt, einer Basis (oder einem Operanden) und optionalen Ober- und Untergrenzen. |
Phantom | 22 | Phantomobjekt. |
Radical | 23 | Radikalobjekt, bestehend aus einem Radikal, einem Basiselement und einem optionalen Grad . |
SubscriptPart | 24 | Index des Objekts, das einen Indexteil haben kann. |
SuperscriptPart | 25 | Hochgestellt des hochgestellten Objekts. |
PreSubSuperscript | 26 | Pre-Sub-Superscript-Objekt, das aus einem Basiselement und einem links von der Basis platzierten Subscript und Superscript besteht. |
Subscript | 27 | Subscript-Objekt, das aus einem Basiselement und einem darunter und rechts davon platzierten verkleinerten Skript besteht. |
SubSuperscript | 28 | Tiefgestelltes Objekt, das aus einem Basiselement, einem darunter und rechts platzierten verkleinerten Skript und einem darüber und rechts platzierten verkleinerten Skript besteht. |
Supercript | 29 | Hochgestelltes Objekt, das aus einem Basiselement und einer darüber und rechts davon platzierten verkleinerten Schrift besteht. |
Beispiele
Zeigt, wie die Knotenstruktur jedes Office-Mathe-Knotens in einem Dokument gedruckt wird.
public void OfficeMathToText()
{
Document doc = new Document(MyDir + "DocumentVisitor-compatible features.docx");
OfficeMathStructurePrinter visitor = new OfficeMathStructurePrinter();
// Wenn wir einen zusammengesetzten Knoten erhalten, der einen Dokumentbesucher akzeptiert, besucht der Besucher den akzeptierenden Knoten.
// und durchläuft dann alle untergeordneten Knoten des Knotens in einer Tiefe-zuerst-Methode.
// Der Besucher kann jeden besuchten Knoten lesen und ändern.
doc.Accept(visitor);
Console.WriteLine(visitor.GetText());
}
/// <summary>
/// Durchläuft den nicht-binären Baum der untergeordneten Knoten eines Knotens.
/// Erstellt eine Karte in Form einer Zeichenfolge aller gefundenen OfficeMath-Knoten und ihrer untergeordneten Knoten.
/// </summary>
public class OfficeMathStructurePrinter : DocumentVisitor
{
public OfficeMathStructurePrinter()
{
mBuilder = new StringBuilder();
mVisitorIsInsideOfficeMath = false;
}
/// <summary>
/// Ruft den Klartext des vom Besucher gesammelten Dokuments ab.
/// </summary>
public string GetText()
{
return mBuilder.ToString();
}
/// <summary>
/// Wird aufgerufen, wenn im Dokument ein Run-Knoten gefunden wird.
/// </summary>
public override VisitorAction VisitRun(Run run)
{
if (mVisitorIsInsideOfficeMath) IndentAndAppendLine("[Run] \"" + run.GetText() + "\"");
return VisitorAction.Continue;
}
/// <summary>
/// Wird aufgerufen, wenn im Dokument ein OfficeMath-Knoten gefunden wird.
/// </summary>
public override VisitorAction VisitOfficeMathStart(OfficeMath officeMath)
{
IndentAndAppendLine("[OfficeMath start] Math object type: " + officeMath.MathObjectType);
mDocTraversalDepth++;
mVisitorIsInsideOfficeMath = true;
return VisitorAction.Continue;
}
/// <summary>
/// Wird aufgerufen, nachdem alle untergeordneten Knoten eines OfficeMath-Knotens besucht wurden.
/// </summary>
public override VisitorAction VisitOfficeMathEnd(OfficeMath officeMath)
{
mDocTraversalDepth--;
IndentAndAppendLine("[OfficeMath end]");
mVisitorIsInsideOfficeMath = false;
return VisitorAction.Continue;
}
/// <summary>
/// Hängen Sie eine Zeile an den StringBuilder an und rücken Sie sie ein, je nachdem, wie tief sich der Besucher im Dokumentbaum befindet.
/// </summary>
/// <param name="text"></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;
}
Siehe auch
- namensraum Aspose.Words.Math
- Montage Aspose.Words