summaryrefslogtreecommitdiff
path: root/source/Syntax/Token.hs
diff options
context:
space:
mode:
authoradelon <22380201+adelon@users.noreply.github.com>2024-05-21 19:23:59 +0200
committeradelon <22380201+adelon@users.noreply.github.com>2024-05-21 19:23:59 +0200
commitd87aa179ade758a02a9b1609dadc07bf842df635 (patch)
treedcdf232039309ac3eb66fad112be06928d26f503 /source/Syntax/Token.hs
parent1ea35d4861f29faa5d7eab25c7773c0d9b638b38 (diff)
Allow line breaks via `\textbox`, handle `\left`/`\right`
Diffstat (limited to 'source/Syntax/Token.hs')
-rw-r--r--source/Syntax/Token.hs6
1 files changed, 3 insertions, 3 deletions
diff --git a/source/Syntax/Token.hs b/source/Syntax/Token.hs
index eb0950f..65c02ca 100644
--- a/source/Syntax/Token.hs
+++ b/source/Syntax/Token.hs
@@ -228,7 +228,7 @@ mathToken =
beginText :: Lexer (Located Token)
beginText = lexeme do
- Char.string "\\text{"
+ Char.string "\\text{" <|> Char.string "\\textbox{"
setTextMode
pure (BeginEnv "text")
@@ -249,14 +249,14 @@ textToken = word <|> symbol <|> begin <|> end <|> textEnd <|> mathBegin <|> alig
setMathMode
pure (EndEnv "text")
- opening' = lexeme (brace <|> group <|> paren <|> bracket)
+ opening' = lexeme (group <|> optional (Char.string "\\left") *> (brace <|> paren <|> bracket))
where
brace = VisibleBraceL <$ lexeme (Char.string "\\{")
group = InvisibleBraceL <$ lexeme (Char.char '{') <* modify' incrNesting
paren = ParenL <$ lexeme (Char.char '(')
bracket = BracketL <$ lexeme (Char.char '[')
- closing' = lexeme (brace <|> group <|> paren <|> bracket)
+ closing' = lexeme (group <|> optional (Char.string "\\right") *> (brace <|> paren <|> bracket))
where
brace = VisibleBraceR <$ lexeme (Char.string "\\}")
group = InvisibleBraceR <$ lexeme (Char.char '}') <* modify' decrNesting