diff --git a/crates/typst-library/src/html/dom.rs b/crates/typst-library/src/html/dom.rs
index 961a4ea74..8e7b5a855 100644
--- a/crates/typst-library/src/html/dom.rs
+++ b/crates/typst-library/src/html/dom.rs
@@ -477,6 +477,7 @@ pub mod tag {
tags! {
math
+ menclose
mfrac
mi
mmultiscripts
diff --git a/crates/typst-library/src/math/equation.rs b/crates/typst-library/src/math/equation.rs
index ed03454a7..0e802a200 100644
--- a/crates/typst-library/src/math/equation.rs
+++ b/crates/typst-library/src/math/equation.rs
@@ -165,7 +165,7 @@ impl Synthesize for Packed {
}
use crate::foundations::SequenceElem;
-use crate::math::{AccentElem, AttachElem, FracElem, LrElem, PrimesElem};
+use crate::math::{AccentElem, AttachElem, CancelElem, FracElem, LrElem, PrimesElem};
use ecow::eco_format;
fn bla(elem: &Content, engine: &mut Engine, styles: StyleChain) -> SourceResult {
dbg!(elem);
@@ -187,6 +187,18 @@ fn bla(elem: &Content, engine: &mut Engine, styles: StyleChain) -> SourceResult<
show_frac(elem, engine, styles)
} else if let Some(elem) = elem.to_packed::() {
show_attach(elem, engine, styles)
+ } else if let Some(elem) = elem.to_packed::() {
+ let notation = if elem.cross(styles) {
+ "updiagonalstrike downdiagonalstrike"
+ } else if elem.inverted(styles) {
+ "downdiagonalstrike"
+ } else {
+ "updiagonalstrike"
+ };
+ let tag = HtmlElem::new(tag::math::menclose)
+ .with_attr(HtmlAttr::constant("notation"), notation);
+ let body = elem.body.clone();
+ Ok(tag.with_body(Some(body)).pack().spanned(elem.span()))
} else if let Some(elem) = elem.to_packed::() {
let accent = TextElem::packed(eco_format!(" {}", elem.accent.0));
let accent = HtmlElem::new(tag::math::mo).with_body(Some(accent)).pack();