From 595e954c9bd5bc58ed856495b00bb7aba38660b6 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Mon, 17 Dec 2018 11:47:28 -0800 Subject: LaTeX reader: Support `\DeclareMathOperator`. Closes #5149. --- src/Text/Pandoc/Readers/LaTeX.hs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/Text/Pandoc/Readers/LaTeX.hs b/src/Text/Pandoc/Readers/LaTeX.hs index 42a0bc04c..147527d2b 100644 --- a/src/Text/Pandoc/Readers/LaTeX.hs +++ b/src/Text/Pandoc/Readers/LaTeX.hs @@ -1557,6 +1557,7 @@ newcommand = do Tok _ (CtrlSeq mtype) _ <- controlSeq "newcommand" <|> controlSeq "renewcommand" <|> controlSeq "providecommand" <|> + controlSeq "DeclareMathOperator" <|> controlSeq "DeclareRobustCommand" withVerbatimMode $ do Tok _ (CtrlSeq name) txt <- do @@ -1569,7 +1570,16 @@ newcommand = do spaces optarg <- option Nothing $ Just <$> try bracketedToks spaces - contents <- bracedOrToken + contents' <- bracedOrToken + let contents = + case mtype of + "DeclareMathOperator" -> + Tok pos (CtrlSeq "mathop") "\\mathop" + : Tok pos (CtrlSeq "mathrm") "\\mathrm" + : Tok pos Symbol "{" + : (contents' ++ + [ Tok pos Symbol "}" ]) + _ -> contents' when (mtype == "newcommand") $ do macros <- sMacros <$> getState case M.lookup name macros of -- cgit v1.2.3