///|
let global_macros : @katex_parser.Macros = @katex_parser.Macros::make()

///|
pub(all) enum KatexTarget {
  Unicode
  Mathml
}

///|
fn render_math(latex : String, display : Bool, target~ : KatexTarget) -> String {
  let settings = @katex_parser.Settings::make(
    display_mode=display,
    global_group=true,
    macro_store=global_macros,
  )
  try {
    let nodes = @katex_parser.parse(latex, settings~)
    match target {
      Unicode => @katex_unicode.render(nodes)
      Mathml => @katex_mathml.render(nodes)
    }
  } catch {
    _ => latex
  }
}