diff options
Diffstat (limited to 'crates')
| -rw-r--r-- | crates/typst-realize/src/lib.rs | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/crates/typst-realize/src/lib.rs b/crates/typst-realize/src/lib.rs index 7d2460a8..526f4631 100644 --- a/crates/typst-realize/src/lib.rs +++ b/crates/typst-realize/src/lib.rs @@ -18,7 +18,7 @@ use typst_library::foundations::{ SequenceElem, Show, ShowSet, Style, StyleChain, StyledElem, Styles, SymbolElem, Synthesize, Transformation, }; -use typst_library::html::{tag, HtmlElem}; +use typst_library::html::{tag, FrameElem, HtmlElem}; use typst_library::introspection::{Locatable, SplitLocator, Tag, TagElem}; use typst_library::layout::{ AlignElem, BoxElem, HElem, InlineElem, PageElem, PagebreakElem, VElem, @@ -237,9 +237,9 @@ fn visit<'a>( return Ok(()); } - // Transformations for math content based on the realization kind. Needs + // Transformations for content based on the realization kind. Needs // to happen before show rules. - if visit_math_rules(s, content, styles)? { + if visit_kind_rules(s, content, styles)? { return Ok(()); } @@ -280,9 +280,8 @@ fn visit<'a>( Ok(()) } -// Handles special cases for math in normal content and nested equations in -// math. -fn visit_math_rules<'a>( +// Handles transformations based on the realization kind. +fn visit_kind_rules<'a>( s: &mut State<'a, '_, '_, '_>, content: &'a Content, styles: StyleChain<'a>, @@ -335,6 +334,13 @@ fn visit_math_rules<'a>( } } + if !s.kind.is_html() { + if let Some(elem) = content.to_packed::<FrameElem>() { + visit(s, &elem.body, styles)?; + return Ok(true); + } + } + Ok(false) } |
