pub struct RawElem {
pub text: RawContent,
/* private fields */
}
Expand description
Raw text with optional syntax highlighting.
Displays the text verbatim and in a monospace font. This is typically used to embed computer code into your document.
§Example
Adding `rbx` to `rcx` gives
the desired result.
What is ```rust fn main()``` in Rust
would be ```c int main()``` in C.
```rust
fn main() {
println!("Hello World!");
}
```
This has ``` `backticks` ``` in it
(but the spaces are trimmed). And
``` here``` the leading space is
also trimmed.
You can also construct a [raw
] element programmatically from a string (and
provide the language tag via the optional lang
argument).
#raw("fn " + "main() {}", lang: "rust")
§Syntax
This function also has dedicated syntax. You can enclose text in 1 or 3+
backticks (`
) to make it raw. Two backticks produce empty raw text.
This works both in markup and code.
When you use three or more backticks, you can additionally specify a language tag for syntax highlighting directly after the opening backticks. Within raw blocks, everything (except for the language tag, if applicable) is rendered as is, in particular, there are no escape sequences.
The language tag is an identifier that directly follows the opening backticks only if there are three or more backticks. If your text starts with something that looks like an identifier, but no syntax highlighting is needed, start the text with a single space (which will be trimmed) or use the single backtick syntax. If your text should start or end with a backtick, put a space before or after it (it will be trimmed).
Fields§
§text: RawContent
Implementations§
Source§impl RawElem
impl RawElem
Sourcepub fn new(text: RawContent) -> Self
pub fn new(text: RawContent) -> Self
Create a new instance of the element.
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_lang(self, lang: Option<EcoString>) -> Self
pub fn with_lang(self, lang: Option<EcoString>) -> Self
Builder-style setter for the lang
field.
Sourcepub fn with_align(self, align: HAlignment) -> Self
pub fn with_align(self, align: HAlignment) -> Self
Builder-style setter for the align
field.
Sourcepub fn with_syntaxes(
self,
syntaxes: Derived<OneOrMultiple<DataSource>, Vec<RawSyntax>>,
) -> Self
pub fn with_syntaxes( self, syntaxes: Derived<OneOrMultiple<DataSource>, Vec<RawSyntax>>, ) -> Self
Builder-style setter for the syntaxes
field.
Sourcepub fn with_theme(
self,
theme: Smart<Option<Derived<DataSource, RawTheme>>>,
) -> Self
pub fn with_theme( self, theme: Smart<Option<Derived<DataSource, RawTheme>>>, ) -> Self
Builder-style setter for the theme
field.
Sourcepub fn with_tab_size(self, tab_size: usize) -> Self
pub fn with_tab_size(self, tab_size: usize) -> Self
Builder-style setter for the tab-size
field.
Sourcepub fn with_lines(self, lines: Vec<Packed<RawLine>>) -> Self
pub fn with_lines(self, lines: Vec<Packed<RawLine>>) -> Self
Builder-style setter for the lines
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_align(&mut self, align: HAlignment)
pub fn push_align(&mut self, align: HAlignment)
Setter for the align
field.
Sourcepub fn push_syntaxes(
&mut self,
syntaxes: Derived<OneOrMultiple<DataSource>, Vec<RawSyntax>>,
)
pub fn push_syntaxes( &mut self, syntaxes: Derived<OneOrMultiple<DataSource>, Vec<RawSyntax>>, )
Setter for the syntaxes
field.
Sourcepub fn push_theme(
&mut self,
theme: Smart<Option<Derived<DataSource, RawTheme>>>,
)
pub fn push_theme( &mut self, theme: Smart<Option<Derived<DataSource, RawTheme>>>, )
Setter for the theme
field.
Sourcepub fn push_tab_size(&mut self, tab_size: usize)
pub fn push_tab_size(&mut self, tab_size: usize)
Setter for the tab-size
field.
Sourcepub fn block(&self, styles: StyleChain<'_>) -> bool
pub fn block(&self, styles: StyleChain<'_>) -> bool
Whether the raw text is displayed as a separate block.
In markup mode, using one-backtick notation makes this {false}
.
Using three-backtick notation makes it {true}
if the enclosed content
contains at least one line break.
// Display inline code in a small box
// that retains the correct baseline.
#show raw.where(block: false): box.with(
fill: luma(240),
inset: (x: 3pt, y: 0pt),
outset: (y: 3pt),
radius: 2pt,
)
// Display block code in a larger block
// with more padding.
#show raw.where(block: true): block.with(
fill: luma(240),
inset: 10pt,
radius: 4pt,
)
With `rg`, you can search through your files quickly.
This example searches the current directory recursively
for the text `Hello World`:
```bash
rg "Hello World"
```
Sourcepub fn lang<'a>(&'a self, styles: StyleChain<'a>) -> &'a Option<EcoString>
pub fn lang<'a>(&'a self, styles: StyleChain<'a>) -> &'a Option<EcoString>
The language to syntax-highlight in.
Apart from typical language tags known from Markdown, this supports the
{"typ"}
, {"typc"}
, and {"typm"}
tags for
Typst markup,
Typst code, and
Typst math, respectively.
```typ
This is *Typst!*
```
This is ```typ also *Typst*```, but inline!
Sourcepub fn align(&self, styles: StyleChain<'_>) -> HAlignment
pub fn align(&self, styles: StyleChain<'_>) -> HAlignment
The horizontal alignment that each line in a raw block should have.
This option is ignored if this is not a raw block (if specified
block: false
or single backticks were used in markup mode).
By default, this is set to {start}
, meaning that raw text is
aligned towards the start of the text direction inside the block
by default, regardless of the current context’s alignment (allowing
you to center the raw block itself without centering the text inside
it, for example).
#set raw(align: center)
```typc
let f(x) = x
code = "centered"
```
Sourcepub fn syntaxes(
&self,
styles: StyleChain<'_>,
) -> Derived<OneOrMultiple<DataSource>, Vec<RawSyntax>>
pub fn syntaxes( &self, styles: StyleChain<'_>, ) -> Derived<OneOrMultiple<DataSource>, Vec<RawSyntax>>
Additional syntax definitions to load. The syntax definitions should be
in the sublime-syntax
file format.
You can pass any of the following values:
- A path string to load a syntax file from the given path. For more details about paths, see the Paths section.
- Raw bytes from which the syntax should be decoded.
- An array where each item is one the above.
#set raw(syntaxes: "SExpressions.sublime-syntax")
```sexp
(defun factorial (x)
(if (zerop x)
; with a comment
1
(* x (factorial (- x 1)))))
```
Sourcepub fn theme<'a>(
&'a self,
styles: StyleChain<'a>,
) -> &'a Smart<Option<Derived<DataSource, RawTheme>>>
pub fn theme<'a>( &'a self, styles: StyleChain<'a>, ) -> &'a Smart<Option<Derived<DataSource, RawTheme>>>
The theme to use for syntax highlighting. Themes should be in the
tmTheme
file format.
You can pass any of the following values:
{none}
: Disables syntax highlighting.{auto}
: Highlights with Typst’s default theme.- A path string to load a theme file from the given path. For more details about paths, see the Paths section.
- Raw bytes from which the theme should be decoded.
Applying a theme only affects the color of specifically highlighted
text. It does not consider the theme’s foreground and background
properties, so that you retain control over the color of raw text. You
can apply the foreground color yourself with the [text
] function and
the background with a filled block. You could also use
the [xml
] function to extract these properties from the theme.
#set raw(theme: "halcyon.tmTheme")
#show raw: it => block(
fill: rgb("#1d2433"),
inset: 8pt,
radius: 5pt,
text(fill: rgb("#a2aabc"), it)
)
```typ
= Chapter 1
#let hi = "Hello World"
```
Sourcepub fn tab_size(&self, styles: StyleChain<'_>) -> usize
pub fn tab_size(&self, styles: StyleChain<'_>) -> usize
The size for a tab stop in spaces. A tab is replaced with enough spaces to align with the next multiple of the size.
#set raw(tab-size: 8)
```tsv
Year Month Day
2000 2 3
2001 2 1
2002 3 10
```
Sourcepub fn lines(&self) -> Option<&Vec<Packed<RawLine>>>
pub fn lines(&self) -> Option<&Vec<Packed<RawLine>>>
The stylized lines of raw text.
Made accessible for the raw.line
element.
Allows more styling control in show
rules.
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 lang_in(styles: StyleChain<'_>) -> &Option<EcoString>
pub fn lang_in(styles: StyleChain<'_>) -> &Option<EcoString>
Access the lang
field in the given style chain.
Sourcepub fn align_in(styles: StyleChain<'_>) -> HAlignment
pub fn align_in(styles: StyleChain<'_>) -> HAlignment
Access the align
field in the given style chain.
Sourcepub fn syntaxes_in(
styles: StyleChain<'_>,
) -> Derived<OneOrMultiple<DataSource>, Vec<RawSyntax>>
pub fn syntaxes_in( styles: StyleChain<'_>, ) -> Derived<OneOrMultiple<DataSource>, Vec<RawSyntax>>
Access the syntaxes
field in the given style chain.
Sourcepub fn theme_in(
styles: StyleChain<'_>,
) -> &Smart<Option<Derived<DataSource, RawTheme>>>
pub fn theme_in( styles: StyleChain<'_>, ) -> &Smart<Option<Derived<DataSource, RawTheme>>>
Access the theme
field in the given style chain.
Sourcepub fn tab_size_in(styles: StyleChain<'_>) -> usize
pub fn tab_size_in(styles: StyleChain<'_>) -> usize
Access the tab-size
field in the given style chain.
Sourcepub fn set_lang(lang: Option<EcoString>) -> Property
pub fn set_lang(lang: Option<EcoString>) -> Property
Create a style property for the lang
field.
Sourcepub fn set_align(align: HAlignment) -> Property
pub fn set_align(align: HAlignment) -> Property
Create a style property for the align
field.
Sourcepub fn set_syntaxes(
syntaxes: Derived<OneOrMultiple<DataSource>, Vec<RawSyntax>>,
) -> Property
pub fn set_syntaxes( syntaxes: Derived<OneOrMultiple<DataSource>, Vec<RawSyntax>>, ) -> Property
Create a style property for the syntaxes
field.
Sourcepub fn set_theme(
theme: Smart<Option<Derived<DataSource, RawTheme>>>,
) -> Property
pub fn set_theme( theme: Smart<Option<Derived<DataSource, RawTheme>>>, ) -> Property
Create a style property for the theme
field.
Sourcepub fn set_tab_size(tab_size: usize) -> Property
pub fn set_tab_size(tab_size: usize) -> Property
Create a style property for the tab-size
field.
Trait Implementations§
Source§impl Fields for RawElem
impl Fields for RawElem
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 RawElem
impl NativeElement for RawElem
Source§impl NativeScope for RawElem
impl NativeScope for RawElem
Source§fn constructor() -> Option<&'static NativeFuncData>
fn constructor() -> Option<&'static NativeFuncData>
Auto Trait Implementations§
impl Freeze for RawElem
impl !RefUnwindSafe for RawElem
impl Send for RawElem
impl Sync for RawElem
impl Unpin for RawElem
impl !UnwindSafe for RawElem
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