diff options
author | John MacFarlane <jgm@berkeley.edu> | 2021-05-20 09:11:26 -0700 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2021-05-20 10:13:20 -0700 |
commit | 5dc917da3ed997c6e48e22bde242f0f8e1ae5333 (patch) | |
tree | 0816d3315b0130f5868511a873d239f59224676e | |
parent | 183ce584779b344ad6a6a3e085ddfdb00faf62aa (diff) | |
download | pandoc-5dc917da3ed997c6e48e22bde242f0f8e1ae5333.tar.gz |
LaTeX reader siunitx: add leading 0 to numbers starting with .
-rw-r--r-- | src/Text/Pandoc/Readers/LaTeX/SIunitx.hs | 7 | ||||
-rw-r--r-- | test/command/6620.md | 3 | ||||
-rw-r--r-- | test/command/6658.md | 9 |
3 files changed, 14 insertions, 5 deletions
diff --git a/src/Text/Pandoc/Readers/LaTeX/SIunitx.hs b/src/Text/Pandoc/Readers/LaTeX/SIunitx.hs index 5e140ef7a..1474329d4 100644 --- a/src/Text/Pandoc/Readers/LaTeX/SIunitx.hs +++ b/src/Text/Pandoc/Readers/LaTeX/SIunitx.hs @@ -83,8 +83,11 @@ parseNumPart = parseExp, parseSpace :: Parser Text () Inlines parseDecimalNum = try $ do pref <- option mempty $ (mempty <$ char '+') <|> ("\x2212" <$ char '-') - basenum <- (pref <>) . T.pack - <$> many1 (satisfy (\c -> isDigit c || c == '.')) + basenum' <- many1 (satisfy (\c -> isDigit c || c == '.')) + let basenum = pref <> T.pack + (case basenum' of + '.':_ -> '0':basenum' + _ -> basenum') uncertainty <- option mempty $ T.pack <$> parseParens if T.null uncertainty then return $ str basenum diff --git a/test/command/6620.md b/test/command/6620.md index b19cd1972..e448ca6b5 100644 --- a/test/command/6620.md +++ b/test/command/6620.md @@ -9,13 +9,10 @@ \SI{12.3(60)}{\m} \SI{10.0 \pm 3.3}{\ms} - -\SI{10.0 +- 3.3}{\ms} ^D <p>23 ± 2 m</p> <p>125 ± 12 m</p> <p>0.135 ± 0.021 m</p> <p>12.3 ± 6 m</p> <p>10.0 ± 3.3 ms</p> -<p>10.0 ± 3.3 ms</p> ``` diff --git a/test/command/6658.md b/test/command/6658.md new file mode 100644 index 000000000..bcd174465 --- /dev/null +++ b/test/command/6658.md @@ -0,0 +1,9 @@ +``` +pandoc -f latex +\SI{10.0 +- 3.3}{\ms} + +\num{.3e45} +^D +<p>10.0 ± 3.3 ms</p> +<p>0.3 × 10<sup>45</sup></p> +``` |