pub struct EquationElem {
pub body: Content,
/* private fields */
}
Expand description
A mathematical equation.
Can be displayed inline with text or as a separate block. An equation becomes block-level through the presence of at least one space after the opening dollar sign and one space before the closing dollar sign.
§Example
#set text(font: "New Computer Modern")
Let $a$, $b$, and $c$ be the side
lengths of right-angled triangle.
Then, we know that:
$ a^2 + b^2 = c^2 $
Prove by induction:
$ sum_(k=1)^n k = (n(n+1)) / 2 $
By default, block-level equations will not break across pages. This can be
changed through {show math.equation: set block(breakable: true)}
.
§Syntax
This function also has dedicated syntax: Write mathematical markup within dollar signs to create an equation. Starting and ending the equation with at least one space lifts it into a separate block that is centered horizontally. For more details about math syntax, see the main math page.
Fields§
§body: Content
Implementations§
Source§impl EquationElem
impl EquationElem
Sourcepub fn with_block(self, block: bool) -> Self
pub fn with_block(self, block: bool) -> Self
Builder-style setter for the block
field.
Sourcepub fn with_numbering(self, numbering: Option<Numbering>) -> Self
pub fn with_numbering(self, numbering: Option<Numbering>) -> Self
Builder-style setter for the numbering
field.
Sourcepub fn with_number_align(
self,
number_align: SpecificAlignment<OuterHAlignment, VAlignment>,
) -> Self
pub fn with_number_align( self, number_align: SpecificAlignment<OuterHAlignment, VAlignment>, ) -> Self
Builder-style setter for the number-align
field.
Sourcepub fn with_supplement(self, supplement: Smart<Option<Supplement>>) -> Self
pub fn with_supplement(self, supplement: Smart<Option<Supplement>>) -> Self
Builder-style setter for the supplement
field.
Sourcepub fn push_block(&mut self, block: bool)
pub fn push_block(&mut self, block: bool)
Setter for the block
field.
Sourcepub fn push_numbering(&mut self, numbering: Option<Numbering>)
pub fn push_numbering(&mut self, numbering: Option<Numbering>)
Setter for the numbering
field.
Sourcepub fn push_number_align(
&mut self,
number_align: SpecificAlignment<OuterHAlignment, VAlignment>,
)
pub fn push_number_align( &mut self, number_align: SpecificAlignment<OuterHAlignment, VAlignment>, )
Setter for the number-align
field.
Sourcepub fn push_supplement(&mut self, supplement: Smart<Option<Supplement>>)
pub fn push_supplement(&mut self, supplement: Smart<Option<Supplement>>)
Setter for the supplement
field.
Sourcepub fn block(&self, styles: StyleChain<'_>) -> bool
pub fn block(&self, styles: StyleChain<'_>) -> bool
Whether the equation is displayed as a separate block.
Sourcepub fn numbering<'a>(&'a self, styles: StyleChain<'a>) -> &'a Option<Numbering>
pub fn numbering<'a>(&'a self, styles: StyleChain<'a>) -> &'a Option<Numbering>
How to number block-level equations.
#set math.equation(numbering: "(1)")
We define:
$ phi.alt := (1 + sqrt(5)) / 2 $ <ratio>
With @ratio, we get:
$ F_n = floor(1 / sqrt(5) phi.alt^n) $
Sourcepub fn number_align(
&self,
styles: StyleChain<'_>,
) -> SpecificAlignment<OuterHAlignment, VAlignment>
pub fn number_align( &self, styles: StyleChain<'_>, ) -> SpecificAlignment<OuterHAlignment, VAlignment>
The alignment of the equation numbering.
By default, the alignment is {end + horizon}
. For the horizontal
component, you can use {right}
, {left}
, or {start}
and {end}
of the text direction; for the vertical component, you can use
{top}
, {horizon}
, or {bottom}
.
#set math.equation(numbering: "(1)", number-align: bottom)
We can calculate:
$ E &= sqrt(m_0^2 + p^2) \
&approx 125 "GeV" $
Sourcepub fn supplement(&self, styles: StyleChain<'_>) -> Smart<Option<Supplement>>
pub fn supplement(&self, styles: StyleChain<'_>) -> Smart<Option<Supplement>>
A supplement for the equation.
For references to equations, this is added before the referenced number.
If a function is specified, it is passed the referenced equation and should return content.
#set math.equation(numbering: "(1)", supplement: [Eq.])
We define:
$ phi.alt := (1 + sqrt(5)) / 2 $ <ratio>
With @ratio, we get:
$ F_n = floor(1 / sqrt(5) phi.alt^n) $
Sourcepub fn block_in(styles: StyleChain<'_>) -> bool
pub fn block_in(styles: StyleChain<'_>) -> bool
Access the block
field in the given style chain.
Sourcepub fn numbering_in(styles: StyleChain<'_>) -> &Option<Numbering>
pub fn numbering_in(styles: StyleChain<'_>) -> &Option<Numbering>
Access the numbering
field in the given style chain.
Sourcepub fn number_align_in(
styles: StyleChain<'_>,
) -> SpecificAlignment<OuterHAlignment, VAlignment>
pub fn number_align_in( styles: StyleChain<'_>, ) -> SpecificAlignment<OuterHAlignment, VAlignment>
Access the number-align
field in the given style chain.
Sourcepub fn supplement_in(styles: StyleChain<'_>) -> Smart<Option<Supplement>>
pub fn supplement_in(styles: StyleChain<'_>) -> Smart<Option<Supplement>>
Access the supplement
field in the given style chain.
Sourcepub fn size_in(styles: StyleChain<'_>) -> MathSize
pub fn size_in(styles: StyleChain<'_>) -> MathSize
Access the size
field in the given style chain.
Sourcepub fn variant_in(styles: StyleChain<'_>) -> MathVariant
pub fn variant_in(styles: StyleChain<'_>) -> MathVariant
Access the variant
field in the given style chain.
Sourcepub fn cramped_in(styles: StyleChain<'_>) -> bool
pub fn cramped_in(styles: StyleChain<'_>) -> bool
Access the cramped
field in the given style chain.
Sourcepub fn bold_in(styles: StyleChain<'_>) -> bool
pub fn bold_in(styles: StyleChain<'_>) -> bool
Access the bold
field in the given style chain.
Sourcepub fn italic_in(styles: StyleChain<'_>) -> Smart<bool>
pub fn italic_in(styles: StyleChain<'_>) -> Smart<bool>
Access the italic
field in the given style chain.
Sourcepub fn class_in(styles: StyleChain<'_>) -> Option<MathClass>
pub fn class_in(styles: StyleChain<'_>) -> Option<MathClass>
Access the class
field in the given style chain.
Sourcepub fn script_scale_in(styles: StyleChain<'_>) -> (i16, i16)
pub fn script_scale_in(styles: StyleChain<'_>) -> (i16, i16)
Access the script-scale
field in the given style chain.
Sourcepub fn set_numbering(numbering: Option<Numbering>) -> Property
pub fn set_numbering(numbering: Option<Numbering>) -> Property
Create a style property for the numbering
field.
Sourcepub fn set_number_align(
number_align: SpecificAlignment<OuterHAlignment, VAlignment>,
) -> Property
pub fn set_number_align( number_align: SpecificAlignment<OuterHAlignment, VAlignment>, ) -> Property
Create a style property for the number-align
field.
Sourcepub fn set_supplement(supplement: Smart<Option<Supplement>>) -> Property
pub fn set_supplement(supplement: Smart<Option<Supplement>>) -> Property
Create a style property for the supplement
field.
Sourcepub fn set_variant(variant: MathVariant) -> Property
pub fn set_variant(variant: MathVariant) -> Property
Create a style property for the variant
field.
Sourcepub fn set_cramped(cramped: bool) -> Property
pub fn set_cramped(cramped: bool) -> Property
Create a style property for the cramped
field.
Sourcepub fn set_italic(italic: Smart<bool>) -> Property
pub fn set_italic(italic: Smart<bool>) -> Property
Create a style property for the italic
field.
Sourcepub fn set_class(class: Option<MathClass>) -> Property
pub fn set_class(class: Option<MathClass>) -> Property
Create a style property for the class
field.
Sourcepub fn set_script_scale(script_scale: (i16, i16)) -> Property
pub fn set_script_scale(script_scale: (i16, i16)) -> Property
Create a style property for the script-scale
field.
Trait Implementations§
Source§impl Capable for EquationElem
impl Capable for EquationElem
Source§impl Clone for EquationElem
impl Clone for EquationElem
Source§fn clone(&self) -> EquationElem
fn clone(&self) -> EquationElem
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Construct for EquationElem
impl Construct for EquationElem
Source§impl Debug for EquationElem
impl Debug for EquationElem
Source§impl Fields for EquationElem
impl Fields for EquationElem
Source§fn field(&self, id: u8) -> Result<Value, FieldAccessError>
fn field(&self, id: u8) -> Result<Value, FieldAccessError>
Source§fn field_with_styles(
&self,
id: u8,
styles: StyleChain<'_>,
) -> Result<Value, FieldAccessError>
fn field_with_styles( &self, id: u8, styles: StyleChain<'_>, ) -> Result<Value, FieldAccessError>
Source§fn field_from_styles(
id: u8,
styles: StyleChain<'_>,
) -> Result<Value, FieldAccessError>
fn field_from_styles( id: u8, styles: StyleChain<'_>, ) -> Result<Value, FieldAccessError>
Source§fn materialize(&mut self, styles: StyleChain<'_>)
fn materialize(&mut self, styles: StyleChain<'_>)
Source§impl Hash for EquationElem
impl Hash for EquationElem
Source§impl IntoValue for EquationElem
impl IntoValue for EquationElem
Source§fn into_value(self) -> Value
fn into_value(self) -> Value
Source§impl NativeElement for EquationElem
impl NativeElement for EquationElem
Source§impl PartialEq for EquationElem
impl PartialEq for EquationElem
Source§impl Repr for EquationElem
impl Repr for EquationElem
Auto Trait Implementations§
impl Freeze for EquationElem
impl !RefUnwindSafe for EquationElem
impl Send for EquationElem
impl Sync for EquationElem
impl Unpin for EquationElem
impl !UnwindSafe for EquationElem
Blanket Implementations§
Source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
Source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
Source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
Source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
Source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
Source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
Source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
parameters
when converting.Source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
self
into C
, using the provided parameters.Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
Source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
Source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
angle
.Source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
Source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other
into Self
, while performing the appropriate scaling,
rounding and clamping.Source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
Source§fn into_angle(self) -> U
fn into_angle(self) -> U
T
.Source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
Source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
parameters
when converting.Source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
self
into C
, using the provided parameters.Source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
Source§fn into_color(self) -> U
fn into_color(self) -> U
Source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
Source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoResult for Twhere
T: IntoValue,
impl<T> IntoResult for Twhere
T: IntoValue,
Source§fn into_result(self, _: Span) -> Result<Value, EcoVec<SourceDiagnostic>>
fn into_result(self, _: Span) -> Result<Value, EcoVec<SourceDiagnostic>>
Source§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self
into T
, while performing the appropriate scaling,
rounding and clamping.Source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
Source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors
fails to cast.Source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
Source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds
error is returned which contains
the unclamped color. Read more