@@ -687,13 +687,20 @@ math3 :: GenParser Char st String
687687math3 = try $ char '$' >> math1 >>~ char '$'
688688
689689math4 :: GenParser Char st String
690−math4 = try $ (begin "equation") >> spaces >> manyTill anyChar (end "equation")
690+math4 = try $ do
691+ name <- begin "equation" <|> begin "equation*" <|> begin "displaymath" <|> begin "displaymath*"
692+ spaces
693+ manyTill anyChar (end name)
691694
692695math5 :: GenParser Char st String
693−math5 = try $ (begin "displaymath") >> spaces >> manyTill anyChar (end "displaymath")
696+math5 = try $ (string "\\[") >> spaces >> manyTill anyChar (try $ string "\\]")
694697
695698math6 :: GenParser Char st String
696−math6 = try $ (string "\\[") >> spaces >> manyTill anyChar (try $ string "\\]")
699+math6 = try $ do
700+ name <- begin "eqnarray" <|> begin "eqnarray*"
701+ spaces
702+ res <- manyTill anyChar (end name)
703+ return $ filter (/= '&') res -- remove eqnarray alignment codes
697704
698705--
699706-- links and images