@@ -430,7 +430,7 @@ doMacros n = do
430430 Nothing -> return ()
431431 Just (Macro expansionPoint numargs optarg newtoks) -> do
432432 setInput ts
433− let getarg = spaces >> braced
433+ let getarg = try $ spaces >> bracedOrToken
434434 args <- case optarg of
435435 Nothing -> count numargs getarg
436436 Just o ->
@@ -1824,7 +1824,7 @@ letmacro = do
18241824 Tok _ (CtrlSeq name) _ <- anyControlSeq
18251825 optional $ symbol '='
18261826 spaces
1827− contents <- macroContents
1827+ contents <- bracedOrToken
18281828 return (name, Macro ExpandWhenDefined 0 Nothing contents)
18291829
18301830defmacro :: PandocMonad m => LP m (Text, Macro)
@@ -1834,7 +1834,7 @@ defmacro = try $ do
18341834 numargs <- option 0 $ argSeq 1
18351835 -- we use withVerbatimMode, because macros are to be expanded
18361836 -- at point of use, not point of definition
1837− contents <- withVerbatimMode macroContents
1837+ contents <- withVerbatimMode bracedOrToken
18381838 return (name, Macro ExpandWhenUsed numargs Nothing contents)
18391839
18401840-- Note: we don't yet support fancy things like #1.#2
@@ -1848,8 +1848,8 @@ isArgTok :: Tok -> Bool
18481848isArgTok (Tok _ (Arg _) _) = True
18491849isArgTok _ = False
18501850
1851−macroContents :: PandocMonad m => LP m [Tok]
1852−macroContents = braced <|> ((:[]) <$> (anyControlSeq <|> singleChar))
1851+bracedOrToken :: PandocMonad m => LP m [Tok]
1852+bracedOrToken = braced <|> ((:[]) <$> (anyControlSeq <|> singleChar))
18531853
18541854newcommand :: PandocMonad m => LP m (Text, Macro)
18551855newcommand = do
@@ -1866,7 +1866,7 @@ newcommand = do
18661866 spaces
18671867 optarg <- option Nothing $ Just <$> try bracketedToks
18681868 spaces
1869− contents <- withVerbatimMode macroContents
1869+ contents <- withVerbatimMode bracedOrToken
18701870 when (mtype == "newcommand") $ do
18711871 macros <- sMacros <$> getState
18721872 case M.lookup name macros of
@@ -1888,9 +1888,9 @@ newenvironment = do
18881888 spaces
18891889 optarg <- option Nothing $ Just <$> try bracketedToks
18901890 spaces
1891− startcontents <- withVerbatimMode macroContents
1891+ startcontents <- withVerbatimMode bracedOrToken
18921892 spaces
1893− endcontents <- withVerbatimMode macroContents
1893+ endcontents <- withVerbatimMode bracedOrToken
18941894 when (mtype == "newenvironment") $ do
18951895 macros <- sMacros <$> getState
18961896 case M.lookup name macros of