diff options
| author | adelon <22380201+adelon@users.noreply.github.com> | 2026-03-07 11:04:37 +0100 |
|---|---|---|
| committer | adelon <22380201+adelon@users.noreply.github.com> | 2026-03-07 11:04:37 +0100 |
| commit | e09cdea6f1ac5a6d271ed10719b427679900623d (patch) | |
| tree | a46b0c45897afd018141826936ef22de8aed6c82 | |
| parent | 3fdbfb1a099ad6caa3aaa53fc16c9e35b8339caa (diff) | |
Fix spacing in finite set expressions
| -rw-r--r-- | library/lexicon.tsv | 2 | ||||
| -rw-r--r-- | source/Render/Html.hs | 21 |
2 files changed, 17 insertions, 6 deletions
diff --git a/library/lexicon.tsv b/library/lexicon.tsv index cf27128..e68633f 100644 --- a/library/lexicon.tsv +++ b/library/lexicon.tsv @@ -1,5 +1,5 @@ operator abs 1 <mo>|</mo><x1/><mo>|</mo> -operator emptyset 0 <mo>∅</mo> +operator emptyset 0 <mi>∅</mi> operator intersect 2 <x1/><mo>∩</mo><x2/> operator pow 1 <mi mathvariant="normal">P</mi><mo>(</mo><x1/><mo>)</mo> operator setminus 2 <x1/><mo>∖</mo><x2/> diff --git a/source/Render/Html.hs b/source/Render/Html.hs index f2bab2c..da0534a 100644 --- a/source/Render/Html.hs +++ b/source/Render/Html.hs @@ -2215,10 +2215,7 @@ renderExprMath hints = \case args = maybeToList maybeExpr in renderHintedMath hints StructOpHint marker args (renderStructFallback symb (renderExprMath hints <$> args)) ExprFiniteSet _loc exprs -> - mrow_ do - moText "{" - renderExprListMath hints (toList exprs) - moText "}" + renderFiniteSetMath hints (toList exprs) ExprSep _loc var bound stmt -> mrow_ do moText "{" @@ -2264,6 +2261,13 @@ renderExprListMath :: HintMap -> [Expr] -> Html () renderExprListMath hints = joinHtml (moText ",") . fmap (renderExprMath hints) +renderFiniteSetMath :: HintMap -> [Expr] -> Html () +renderFiniteSetMath hints exprs = + mrow_ do + moText "{" + renderExprListMath hints exprs + moText "}" + renderHintedMath :: HintMap -> HintCategory -> Marker -> [Expr] -> Html () -> Html () renderHintedMath hints category marker args fallback = case Map.lookup (category, marker) hints of @@ -2273,10 +2277,17 @@ renderHintedMath hints category marker args fallback = | renderHintArity /= length args -> error ("Render hint arity mismatch for " <> show category <> " " <> show marker <> ": expected " <> show renderHintArity <> ", got " <> show (length args)) | otherwise -> - mrow_ (traverse_ renderPiece renderHintTemplate) + renderTemplate renderHintTemplate where renderedArgs = renderExprMath hints <$> args + renderTemplate :: [TemplatePiece] -> Html () + renderTemplate = \case + [piece] -> + renderPiece piece + pieces -> + mrow_ (traverse_ renderPiece pieces) + renderPiece :: TemplatePiece -> Html () renderPiece = \case Literal text -> toHtmlRaw text |
