aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2021-05-20 09:18:23 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2021-05-20 10:13:20 -0700
commitbc5058234feab7646f58dc01379b4eadf95bf411 (patch)
tree5d000b9445513a64eb30b5e5fecde4bdc67740b4
parent5dc917da3ed997c6e48e22bde242f0f8e1ae5333 (diff)
downloadpandoc-bc5058234feab7646f58dc01379b4eadf95bf411.tar.gz
LaTeX reader sinuitx: fix + sign on ang.
-rw-r--r--src/Text/Pandoc/Readers/LaTeX/SIunitx.hs9
-rw-r--r--test/command/6658.md3
2 files changed, 9 insertions, 3 deletions
diff --git a/src/Text/Pandoc/Readers/LaTeX/SIunitx.hs b/src/Text/Pandoc/Readers/LaTeX/SIunitx.hs
index 1474329d4..72f81dcde 100644
--- a/src/Text/Pandoc/Readers/LaTeX/SIunitx.hs
+++ b/src/Text/Pandoc/Readers/LaTeX/SIunitx.hs
@@ -118,11 +118,14 @@ doSIang :: PandocMonad m => LP m Inlines
doSIang = do
skipopts
ps <- T.splitOn ";" . untokenize <$> braced
+ let dropPlus t = case T.uncons t of
+ Just ('+',t') -> t'
+ _ -> t
case ps ++ repeat "" of
(d:m:s:_) -> return $
- (if T.null d then mempty else str d <> str "\xb0") <>
- (if T.null m then mempty else str m <> str "\x2032") <>
- (if T.null s then mempty else str s <> str "\x2033")
+ (if T.null d then mempty else str (dropPlus d) <> str "\xb0") <>
+ (if T.null m then mempty else str (dropPlus m) <> str "\x2032") <>
+ (if T.null s then mempty else str (dropPlus s) <> str "\x2033")
_ -> return mempty
-- converts e.g. \SIrange{100}{200}{\ms} to "100 ms--200 ms"
diff --git a/test/command/6658.md b/test/command/6658.md
index bcd174465..0a8512f85 100644
--- a/test/command/6658.md
+++ b/test/command/6658.md
@@ -3,7 +3,10 @@ pandoc -f latex
\SI{10.0 +- 3.3}{\ms}
\num{.3e45}
+
+\ang{+10;+3;}
^D
<p>10.0 ± 3.3 ms</p>
<p>0.3 × 10<sup>45</sup></p>
+<p>10°3′</p>
```