MathPhantom

MathPhantom class

Represents a phantom math object (<m:phant>) that affects the layout of its child element without necessarily displaying it. A phantom can hide its base expression while preserving its width, height, or depth to align formulas or reserve space. Visibility and geometry behavior are controlled by properties such as Show, ZeroWid, ZeroAsc, ZeroDesc, and Transp.

public sealed class MathPhantom : MathElementBase, IMathPhantom

Constructors

NameDescription
MathPhantom(IMathElement)Initializes a new instance of the MathPhantom class using the specified base math element.

Properties

NameDescription
Base { get; }Base argument
Show { get; set; }Gets or sets a value indicating whether the base element is displayed.
Transp { get; set; }Gets or sets a value indicating whether the phantom is transparent for class-based spacing rules.
ZeroAsc { get; set; }Gets or sets a value indicating whether the ascent (height above baseline) of the base element should be treated as zero.
ZeroDesc { get; set; }Gets or sets a value indicating whether the descent (depth below baseline) of the base element should be treated as zero.
ZeroWidth { get; set; }Gets or sets a value indicating whether the width of the base element should be treated as zero.

Methods

NameDescription
Accent(char)Sets an accent mark (a character on the top of this element)
AsArgumentOfFunction(IMathElement)Takes specified function using this instance as the argument
AsArgumentOfFunction(MathFunctionsOfOneArgument)Takes specified function using this instance as the argument
AsArgumentOfFunction(string)Takes specified function using this instance as the argument
AsArgumentOfFunction(MathFunctionsOfTwoArguments, IMathElement)Takes specified function using this instance as the argument and specified additional argument
AsArgumentOfFunction(MathFunctionsOfTwoArguments, string)Takes specified function using this instance as the argument and specified additional argument
Divide(IMathElement)Creates a fraction with this numerator and specified denominator
Divide(string)Creates a fraction with this numerator and specified denominator
Divide(IMathElement, MathFractionTypes)Creates a fraction of the specified type with this numerator and specified denominator
Divide(string, MathFractionTypes)Creates a fraction of the specified type with this numerator and specified denominator
Enclose()Encloses a math element in parenthesis
virtual Enclose(char, char)Encloses a math element in specified characters such as parenthesis or another characters as framing
Function(IMathElement)Takes a function of an argument using this instance as the function name
Function(string)Takes a function of an argument using this instance as the function name
GetChildren()Get children elements
Group()Places this element in a group using a bottom curly bracket
Group(char, MathTopBotPositions, MathTopBotPositions)Places this element in a group using a grouping character such as bottom curly bracket or another
Integral(MathIntegralTypes)Takes the integral without limits
Integral(MathIntegralTypes, IMathElement, IMathElement)Takes the integral
Integral(MathIntegralTypes, string, string)Takes the integral
Integral(MathIntegralTypes, IMathElement, IMathElement, MathLimitLocations)Takes the integral
Integral(MathIntegralTypes, string, string, MathLimitLocations)Takes the integral
virtual Join(IMathElement)Joins a mathematical element and forms a mathematical block
virtual Join(string)Joins a mathematical text and forms a mathematical block
Nary(MathNaryOperatorTypes, IMathElement, IMathElement)Creates a N-ary operator
Nary(MathNaryOperatorTypes, string, string)Creates a N-ary operator
Overbar()Sets a bar on the top of this element
Radical(IMathElement)Specifies the mathematical root of the given degree from the specified argument.
Radical(string)Specifies the mathematical root of the given degree from the specified argument.
SetLowerLimit(IMathElement)Takes lower limit
SetLowerLimit(string)Takes lower limit
SetSubscript(IMathElement)Creates subscript
SetSubscript(string)Creates subscript
SetSubSuperscriptOnTheLeft(IMathElement, IMathElement)Creates subscript and superscript on the left
SetSubSuperscriptOnTheLeft(string, string)Creates subscript and superscript on the left
SetSubSuperscriptOnTheRight(IMathElement, IMathElement)Creates subscript and superscript on the right
SetSubSuperscriptOnTheRight(string, string)Creates subscript and superscript on the right
SetSuperscript(IMathElement)Creates superscript
SetSuperscript(string)Creates superscript
SetUpperLimit(IMathElement)Takes upper limit
SetUpperLimit(string)Takes upper limit
ToBorderBox()Places this element in a border-box
ToBorderBox(bool, bool, bool, bool, bool, bool, bool, bool)Places this element in a border-box
ToBox()Places this element in a non-visual box (logical grouping) which is used to group components of an equation or other instance of mathematical text. A boxed object can (for example) serve as an operator emulator with or without an alignment point, serve as a line break point, or be grouped such as not to allow line breaks within.
virtual ToMathArray()Puts in a vertical array
Underbar()Sets a bar on the bottom of this element

Examples

Example:

[C#]
IMathPhantom phantom = new MathPhantom(new MathematicalText("1/2"));
phantom.Show = false;          // Hide the content
phantom.ZeroWidth = false;     // Keep the width

See Also