diff --git a/src/resources/filters/quarto-post/typst-css-property-processing.lua b/src/resources/filters/quarto-post/typst-css-property-processing.lua index 324e30ef299..17a8b413421 100644 --- a/src/resources/filters/quarto-post/typst-css-property-processing.lua +++ b/src/resources/filters/quarto-post/typst-css-property-processing.lua @@ -284,14 +284,17 @@ function render_typst_css_property_processing() Table = function(tab) _warnings = new_table() local tabstyle = tab.attributes['style'] + local has_typst_text = false if tabstyle ~= nil then for clause in tabstyle:gmatch('([^;]+)') do local k, v = to_kv(clause) if k == 'font-family' then tab.attributes['typst:text:font'] = translate_string_list(v) + has_typst_text = true end if k == 'font-size' then tab.attributes['typst:text:size'] = _quarto.format.typst.css.translate_length(v, _warnings) + has_typst_text = true end end end @@ -311,7 +314,13 @@ function render_typst_css_property_processing() end aggregate_warnings() _warnings = nil - return tab + if not has_typst_text then return tab end + -- Create Div wrapper and return false to prevent processing its contents + return pandoc.Div({ + pandoc.RawBlock("typst", "#["), + tab, + pandoc.RawBlock("typst", "]") + }), false end, Div = function(div) _warnings = new_table() diff --git a/src/resources/filters/quarto-post/typst.lua b/src/resources/filters/quarto-post/typst.lua index 347fbf85477..4a2e7f8d6f5 100644 --- a/src/resources/filters/quarto-post/typst.lua +++ b/src/resources/filters/quarto-post/typst.lua @@ -145,4 +145,4 @@ function render_typst_fixups() }) end, } -end \ No newline at end of file +end diff --git a/tests/docs/smoke-all/2024/10/23/spilled-font-size.qmd b/tests/docs/smoke-all/2024/10/23/spilled-font-size.qmd new file mode 100644 index 00000000000..1b2908142e3 --- /dev/null +++ b/tests/docs/smoke-all/2024/10/23/spilled-font-size.qmd @@ -0,0 +1,23 @@ +--- +format: typst +_quarto: + tests: + typst: + ensurePdfRegexMatches: + - + - 'Paragraph text before is 11pt' + - 'Paragraph text after is 11pt' + - + - 'Paragraph text after is 6pt' + +--- + +Paragraph text before is `#context text.size`{=typst}. + +```{=html} + + +
AB
+``` + +Paragraph text after is `#context text.size`{=typst}. \ No newline at end of file