pub struct BibliographyElem {
pub path: BibliographyPaths,
pub bibliography: 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
.yml
file. Hayagriva is a new bibliography file format designed for use with Typst. Visit its documentation for more details. - A BibLaTeX
.bib
file.
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§
§path: BibliographyPaths
§bibliography: Bibliography
Implementations§
source§impl BibliographyElem
impl BibliographyElem
sourcepub fn new(path: BibliographyPaths, bibliography: Bibliography) -> Self
pub fn new(path: BibliographyPaths, bibliography: Bibliography) -> Self
Create a new instance of the element.
sourcepub fn with_path(self, path: BibliographyPaths) -> Self
pub fn with_path(self, path: BibliographyPaths) -> Self
Builder-style setter for the path
field.
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: CslStyle) -> Self
pub fn with_style(self, style: CslStyle) -> Self
Builder-style setter for the style
field.
sourcepub fn with_bibliography(self, bibliography: Bibliography) -> Self
pub fn with_bibliography(self, bibliography: Bibliography) -> Self
Builder-style setter for the bibliography
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_path(&mut self, path: BibliographyPaths)
pub fn push_path(&mut self, path: BibliographyPaths)
Setter for the path
field.
sourcepub fn push_style(&mut self, style: CslStyle)
pub fn push_style(&mut self, style: CslStyle)
Setter for the style
field.
sourcepub fn push_bibliography(&mut self, bibliography: Bibliography)
pub fn push_bibliography(&mut self, bibliography: Bibliography)
Setter for the bibliography
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 path(&self) -> &BibliographyPaths
pub fn path(&self) -> &BibliographyPaths
Path(s) to Hayagriva .yml
and/or BibLaTeX .bib
files.
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<'_>) -> CslStyle
pub fn style(&self, styles: StyleChain<'_>) -> CslStyle
The bibliography style.
Should be either one of the built-in styles (see below) or a path to a CSL file. Some of the styles listed below appear twice, once with their full name and once with a short alias.
sourcepub fn bibliography(&self) -> &Bibliography
pub fn bibliography(&self) -> &Bibliography
The loaded bibliography.
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<'_>) -> CslStyle
pub fn style_in(styles: StyleChain<'_>) -> 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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)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> Filterable for T
impl<T> Filterable for T
source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(_: DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(_: DataRequest<'_>) -> bool>
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