diff --git a/crates/typst/src/foundations/scope.rs b/crates/typst/src/foundations/scope.rs index b64c478c4..c5c654853 100644 --- a/crates/typst/src/foundations/scope.rs +++ b/crates/typst/src/foundations/scope.rs @@ -137,6 +137,17 @@ fn unknown_variable_math(var: &str, in_global: bool) -> HintedString { res.hint(eco_format!( "`{var}` is not available directly in math, try adding a hash before it: `#{var}`", )); + } else { + res.hint(eco_format!( + "if you meant to display multiple letters as is, try adding spaces between each letter: `{}`", + var.chars() + .flat_map(|c| [' ', c]) + .skip(1) + .collect::() + )); + res.hint(eco_format!( + "or if you meant to display this as text, try placing it in quotes: `\"{var}\"`" + )); } res diff --git a/tests/suite/math/call.typ b/tests/suite/math/call.typ index 03747f580..bd66c4004 100644 --- a/tests/suite/math/call.typ +++ b/tests/suite/math/call.typ @@ -81,6 +81,12 @@ $ bx(x y) &&quad bx(x (y z)) &quad bx(x y^z) \ $ +--- math-call-unknown-var-hint --- +// Error: 4-6 unknown variable: ab +// Hint: 4-6 if you meant to display multiple letters as is, try adding spaces between each letter: `a b` +// Hint: 4-6 or if you meant to display this as text, try placing it in quotes: `"ab"` +$ 5ab $ + --- issue-3774-math-call-empty-2d-args --- $ mat(;,) $ // Add some whitespace/trivia: