pub struct BibliographyElem {
pub sources: Derived<OneOrMultiple<DataSource>, Bibliography>,
/* private fields */
}Expand description
A bibliography / reference listing.
You can create a new bibliography by calling this function with a path to a bibliography file in either one of two formats:
- A Hayagriva
.ymlfile. Hayagriva is a new bibliography file format designed for use with Typst. Visit its documentation for more details. - A BibLaTeX
.bibfile.
As soon as you add a bibliography somewhere in your document, you can start
citing things with reference syntax ([@key]) or explicit calls to the
citation function ([#cite(<key>)]). The bibliography will only
show entries for works that were referenced in the document.
§Styles
Typst offers a wide selection of built-in citation and bibliography styles. Beyond those, you can add and use custom CSL (Citation Style Language) files. Wondering which style to use? Here are some good defaults based on what discipline you’re working in:
| Fields | Typical Styles |
|---|---|
| Engineering, IT | {"ieee"} |
| Psychology, Life Sciences | {"apa"} |
| Social sciences | {"chicago-author-date"} |
| Humanities | {"mla"}, {"chicago-notes"}, {"harvard-cite-them-right"} |
| Economics | {"harvard-cite-them-right"} |
| Physics | {"american-physics-society"} |
§Example
This was already noted by
pirates long ago. @arrgh
Multiple sources say ...
@arrgh @netwok.
#bibliography("works.bib")Fields§
§sources: Derived<OneOrMultiple<DataSource>, Bibliography>Implementations§
Source§impl BibliographyElem
impl BibliographyElem
Sourcepub fn new(sources: Derived<OneOrMultiple<DataSource>, Bibliography>) -> Self
pub fn new(sources: Derived<OneOrMultiple<DataSource>, Bibliography>) -> Self
Create a new instance of the element.
Sourcepub fn with_title(self, title: Smart<Option<Content>>) -> Self
pub fn with_title(self, title: Smart<Option<Content>>) -> Self
Builder-style setter for the title field.
Sourcepub fn with_style(self, style: Derived<CslSource, CslStyle>) -> Self
pub fn with_style(self, style: Derived<CslSource, CslStyle>) -> Self
Builder-style setter for the style field.
Sourcepub fn with_region(self, region: Option<Region>) -> Self
pub fn with_region(self, region: Option<Region>) -> Self
Builder-style setter for the region field.
Sourcepub fn push_region(&mut self, region: Option<Region>)
pub fn push_region(&mut self, region: Option<Region>)
Setter for the region field.
Sourcepub fn title(&self, styles: StyleChain<'_>) -> Smart<Option<Content>>
pub fn title(&self, styles: StyleChain<'_>) -> Smart<Option<Content>>
The title of the bibliography.
- When set to
{auto}, an appropriate title for the text language will be used. This is the default. - When set to
{none}, the bibliography will not have a title. - A custom title can be set by passing content.
The bibliography’s heading will not be numbered by default, but you can
force it to be with a show-set rule:
{show bibliography: set heading(numbering: "1.")}
Sourcepub fn full(&self, styles: StyleChain<'_>) -> bool
pub fn full(&self, styles: StyleChain<'_>) -> bool
Whether to include all works from the given bibliography files, even those that weren’t cited in the document.
To selectively add individual cited works without showing them, you can
also use the cite function with form set to {none}.
Sourcepub fn style(&self, styles: StyleChain<'_>) -> Derived<CslSource, CslStyle>
pub fn style(&self, styles: StyleChain<'_>) -> Derived<CslSource, CslStyle>
The bibliography style.
This can be:
- A string with the name of one of the built-in styles (see below). Some of the styles listed below appear twice, once with their full name and once with a short alias.
- A path string to a CSL file. For more details about paths, see the Paths section.
- Raw bytes from which a CSL style should be decoded.
Sourcepub fn title_in(styles: StyleChain<'_>) -> Smart<Option<Content>>
pub fn title_in(styles: StyleChain<'_>) -> Smart<Option<Content>>
Access the title field in the given style chain.
Sourcepub fn full_in(styles: StyleChain<'_>) -> bool
pub fn full_in(styles: StyleChain<'_>) -> bool
Access the full field in the given style chain.
Sourcepub fn style_in(styles: StyleChain<'_>) -> Derived<CslSource, CslStyle>
pub fn style_in(styles: StyleChain<'_>) -> Derived<CslSource, CslStyle>
Access the style field in the given style chain.
Trait Implementations§
Source§impl Capable for BibliographyElem
impl Capable for BibliographyElem
Source§impl Clone for BibliographyElem
impl Clone for BibliographyElem
Source§fn clone(&self) -> BibliographyElem
fn clone(&self) -> BibliographyElem
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Construct for BibliographyElem
impl Construct for BibliographyElem
Source§impl Debug for BibliographyElem
impl Debug for BibliographyElem
Source§impl Fields for BibliographyElem
impl Fields for BibliographyElem
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 BibliographyElem
impl Hash for BibliographyElem
Source§impl IntoValue for BibliographyElem
impl IntoValue for BibliographyElem
Source§fn into_value(self) -> Value
fn into_value(self) -> Value
Source§impl NativeElement for BibliographyElem
impl NativeElement for BibliographyElem
Source§impl PartialEq for BibliographyElem
impl PartialEq for BibliographyElem
Source§impl Repr for BibliographyElem
impl Repr for BibliographyElem
Auto Trait Implementations§
impl Freeze for BibliographyElem
impl !RefUnwindSafe for BibliographyElem
impl Send for BibliographyElem
impl Sync for BibliographyElem
impl Unpin for BibliographyElem
impl !UnwindSafe for BibliographyElem
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