pub struct ListElem {
pub children: Vec<Packed<ListItem>>,
/* private fields */
}
Expand description
A bullet list.
Displays a sequence of items vertically, with each item introduced by a marker.
§Example
Normal list.
- Text
- Math
- Layout
- ...
Multiple lines.
- This list item spans multiple
lines because it is indented.
Function call.
#list(
[Foundations],
[Calculate],
[Construct],
[Data Loading],
)
§Syntax
This functions also has dedicated syntax: Start a line with a hyphen, followed by a space to create a list item. A list item can contain multiple paragraphs and other block-level content. All content that is indented more than an item’s marker becomes part of that item.
Fields§
§children: Vec<Packed<ListItem>>
Implementations§
Source§impl ListElem
impl ListElem
Sourcepub fn with_tight(self, tight: bool) -> Self
pub fn with_tight(self, tight: bool) -> Self
Builder-style setter for the tight
field.
Sourcepub fn with_marker(self, marker: ListMarker) -> Self
pub fn with_marker(self, marker: ListMarker) -> Self
Builder-style setter for the marker
field.
Sourcepub fn with_indent(self, indent: Length) -> Self
pub fn with_indent(self, indent: Length) -> Self
Builder-style setter for the indent
field.
Sourcepub fn with_body_indent(self, body_indent: Length) -> Self
pub fn with_body_indent(self, body_indent: Length) -> Self
Builder-style setter for the body-indent
field.
Sourcepub fn with_spacing(self, spacing: Smart<Length>) -> Self
pub fn with_spacing(self, spacing: Smart<Length>) -> Self
Builder-style setter for the spacing
field.
Sourcepub fn push_tight(&mut self, tight: bool)
pub fn push_tight(&mut self, tight: bool)
Setter for the tight
field.
Sourcepub fn push_marker(&mut self, marker: ListMarker)
pub fn push_marker(&mut self, marker: ListMarker)
Setter for the marker
field.
Sourcepub fn push_indent(&mut self, indent: Length)
pub fn push_indent(&mut self, indent: Length)
Setter for the indent
field.
Sourcepub fn push_body_indent(&mut self, body_indent: Length)
pub fn push_body_indent(&mut self, body_indent: Length)
Setter for the body-indent
field.
Sourcepub fn push_spacing(&mut self, spacing: Smart<Length>)
pub fn push_spacing(&mut self, spacing: Smart<Length>)
Setter for the spacing
field.
Sourcepub fn tight(&self, styles: StyleChain<'_>) -> bool
pub fn tight(&self, styles: StyleChain<'_>) -> bool
Defines the default spacing of the list. If it is
{false}
, the items are spaced apart with
paragraph spacing. If it is {true}
, they use
paragraph leading instead. This makes the list more
compact, which can look better if the items are short.
In markup mode, the value of this parameter is determined based on
whether items are separated with a blank line. If items directly follow
each other, this is set to {true}
; if items are separated by a blank
line, this is set to {false}
. The markup-defined tightness cannot be
overridden with set rules.
- If a list has a lot of text, and
maybe other inline content, it
should not be tight anymore.
- To make a list wide, simply insert
a blank line between the items.
Sourcepub fn marker<'a>(&'a self, styles: StyleChain<'a>) -> &'a ListMarker
pub fn marker<'a>(&'a self, styles: StyleChain<'a>) -> &'a ListMarker
The marker which introduces each item.
Instead of plain content, you can also pass an array with multiple
markers that should be used for nested lists. If the list nesting depth
exceeds the number of markers, the markers are cycled. For total
control, you may pass a function that maps the list’s nesting depth
(starting from {0}
) to a desired marker.
#set list(marker: [--])
- A more classic list
- With en-dashes
#set list(marker: ([•], [--]))
- Top-level
- Nested
- Items
- Items
Sourcepub fn indent(&self, styles: StyleChain<'_>) -> <Length as Resolve>::Output
pub fn indent(&self, styles: StyleChain<'_>) -> <Length as Resolve>::Output
The indent of each item.
Sourcepub fn body_indent(&self, styles: StyleChain<'_>) -> <Length as Resolve>::Output
pub fn body_indent(&self, styles: StyleChain<'_>) -> <Length as Resolve>::Output
The spacing between the marker and the body of each item.
Sourcepub fn spacing(&self, styles: StyleChain<'_>) -> Smart<Length>
pub fn spacing(&self, styles: StyleChain<'_>) -> Smart<Length>
Sourcepub fn tight_in(styles: StyleChain<'_>) -> bool
pub fn tight_in(styles: StyleChain<'_>) -> bool
Access the tight
field in the given style chain.
Sourcepub fn marker_in(styles: StyleChain<'_>) -> &ListMarker
pub fn marker_in(styles: StyleChain<'_>) -> &ListMarker
Access the marker
field in the given style chain.
Sourcepub fn indent_in(styles: StyleChain<'_>) -> <Length as Resolve>::Output
pub fn indent_in(styles: StyleChain<'_>) -> <Length as Resolve>::Output
Access the indent
field in the given style chain.
Sourcepub fn body_indent_in(styles: StyleChain<'_>) -> <Length as Resolve>::Output
pub fn body_indent_in(styles: StyleChain<'_>) -> <Length as Resolve>::Output
Access the body-indent
field in the given style chain.
Sourcepub fn spacing_in(styles: StyleChain<'_>) -> Smart<Length>
pub fn spacing_in(styles: StyleChain<'_>) -> Smart<Length>
Access the spacing
field in the given style chain.
Sourcepub fn depth_in(styles: StyleChain<'_>) -> Depth
pub fn depth_in(styles: StyleChain<'_>) -> Depth
Access the depth
field in the given style chain.
Sourcepub fn set_marker(marker: ListMarker) -> Property
pub fn set_marker(marker: ListMarker) -> Property
Create a style property for the marker
field.
Sourcepub fn set_indent(indent: Length) -> Property
pub fn set_indent(indent: Length) -> Property
Create a style property for the indent
field.
Sourcepub fn set_body_indent(body_indent: Length) -> Property
pub fn set_body_indent(body_indent: Length) -> Property
Create a style property for the body-indent
field.
Sourcepub fn set_spacing(spacing: Smart<Length>) -> Property
pub fn set_spacing(spacing: Smart<Length>) -> Property
Create a style property for the spacing
field.
Trait Implementations§
Source§impl Fields for ListElem
impl Fields for ListElem
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 NativeElement for ListElem
impl NativeElement for ListElem
Source§impl NativeScope for ListElem
impl NativeScope for ListElem
Source§fn constructor() -> Option<&'static NativeFuncData>
fn constructor() -> Option<&'static NativeFuncData>
Auto Trait Implementations§
impl Freeze for ListElem
impl !RefUnwindSafe for ListElem
impl Send for ListElem
impl Sync for ListElem
impl Unpin for ListElem
impl !UnwindSafe for ListElem
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