MathBox

MathBox class

Specifies the logical boxing (packaging) of mathematical element. For example, a boxed object can 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. For example, the “==” operator should be boxed to prevent line breaks.

public sealed class MathBox : MathElementBase, IMathBox

Constructors

Name Description
MathBox(IMathElement) Initializes MathBox with the specified element as an argument

Properties

Name Description
AlignmentPoint { get; set; } When true, this operator emulator serves as an alignment point; that is, designated alignment points in other equations can be aligned with it. Default: false
Base { get; } Base argument
Differential { get; set; } Differential When true, the box acts as a differential (e.g., 𝑑𝑥 in an integrand), and receives the appropriate horizontal spacing for the mathematical differential. Default: false
ExplicitBreak { get; set; } Explicit break specifies whether there is a line break at the start of the Box object, such that the line wraps at the start of the box object. Specifies the number of the operator on the previous line of mathematical text which shall be used as the alignment point for the current line of mathematical text possible values: 1..255 Default: 0 (no explicit break)
NoBreak { get; set; } No break This property specifies the “unbreakable” property on the object box. When true, no line breaks can occur within the box. This can be important for operator emulators that consist of more than one binary operator. When this element is not specified, breaks can occur inside box. Default: true
OperatorEmulator { get; set; } Operator Emulator. When true, the box and its contents behave as a single operator and inherit the properties of an operator. This means, for example, that the character can serve as a point for a line break and can be aligned to other operators. Operator Emulators are often used when one or more glyphs combine to form an operator, such as ‘==’. Default value: false

Methods

Name Description
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#]
MathBox box = new MathBox(new MathematicalText("=="));

See Also