git.iko.soy/typeable/pandoc
on master help sign in
LaTeX reader: handle \looseness command values better.

Closes #4439.

commitc75faac1b517e8fb8ba5eea4c4bf7ea924f733b0 authorJohn MacFarlane <jgm@berkeley.edu> dateTue 16 Jul 2019, 13:42 (7 years ago) parent0d72237
1 file changed+4−5
src/Text/Pandoc/Readers/LaTeX/Parsing.hs+4−5
src/Text/Pandoc/Readers/LaTeX/Parsing.hs+4−5
@@ -646,18 +646,17 @@ dimenarg :: PandocMonad m => LP m Text
646646dimenarg = try $ do
647647 optional sp
648648 ch <- option False $ True <$ symbol '='
649+ minus <- option "" $ "-" <$ symbol '-'
649650 Tok _ _ s1 <- satisfyTok isWordTok
650651 s2 <- option "" $ try $ do
651652 symbol '.'
652653 Tok _ _ t <- satisfyTok isWordTok
653654 return ("." <> t)
654655 let s = s1 <> s2
655− guard $ T.takeEnd 2 s `elem`
656− ["pt","pc","in","bp","cm","mm","dd","cc","sp"]
657− let num = T.dropEnd 2 s
656+ let (num, rest) = T.span (\c -> isDigit c || c == '.') s
658657 guard $ T.length num > 0
659− guard $ T.all (\c -> isDigit c || c == '.') num
660− return $ T.pack ['=' | ch] <> s
658+ guard $ rest `elem` ["", "pt","pc","in","bp","cm","mm","dd","cc","sp"]
659+ return $ T.pack ['=' | ch] <> minus <> s
661660
662661ignore :: (Monoid a, PandocMonad m) => String -> ParserT s u m a
663662ignore raw = do