Skip to contents

element_math_typst() is the math-specialized variant of element_typst(). It treats the theme element's text as Typst math expression and then renders it as the element's visual representation. It will normalize the outer $...$ or $ ... $ delimiters automatically.

Usage

element_math_typst(
  hjust = NULL,
  vjust = NULL,
  scale = NULL,
  size = NULL,
  size.unit = "pt",
  color = NULL,
  colour = NULL,
  alpha = NULL,
  face = NULL,
  fontface = NULL,
  angle = NULL,
  lineheight = NULL,
  math_family = NULL,
  inline = FALSE,
  margin = NULL,
  debug = NULL,
  inherit.blank = FALSE
)

Arguments

hjust, vjust

Horizontal and vertical justification for the rendered grob (0 = bottom, 0.5 = center, 1 = top).

scale

A positive scaling factor applied to the rendered Typst size.

size

Optional font size.

size.unit

The unit of size. Defaults to points ("pt"). Use "mm" for ggplot2-style text sizes.

color, colour

Optional text color. RGB or color name are supported.

alpha

Optional color alpha multiplier in [0, 1].

face, fontface

Optional math face. Only "plain" and "bold" are supported, because math text in Typst is italic by default.

angle

Optional text rotation angle in degrees.

lineheight

Optional line height value. May be negative.

math_family

Optional font family for math content. The default math font is New Computer Modern Math. To render a math expression, you don't need to set this and even don't need to have New Computer Modern Math installed on your system. Typst has embedded this font by default.

inline

Whether to render inline math. Default FALSE renders display-style math.

margin

Optional text margins created with ggplot2::margin().

debug

If TRUE, draw a coloured rectangle behind each label for debugging layout.

inherit.blank

If TRUE, element_blank() parents suppress this element.

Value

A ggplot2 theme element.

Examples

ggplot(mtcars, aes(wt, mpg)) +
  geom_point() +
  labs(
    title = r"("Matrix Title:" mat(0, 1; 1, 0))",
    y = r"($sum_(i=1)^n c_i$)"
  ) +
  theme_minimal() +
  theme(
    plot.title = element_math_typst(size = 18, face = "bold"),
    axis.title.y = element_math_typst(size = 14)
  )