aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Hermaszewski <git@monoid.al>2018-04-20 19:09:51 +0800
committerJohn MacFarlane <jgm@berkeley.edu>2018-08-17 20:50:45 -0700
commit822a071bb2ef8bfca0af74e3cc501a3346e47ae9 (patch)
tree840204eec76420ba2e767924bf1643721541ee9f
parent1b668657632c58964e8d7df42ea88e5ea6abfb1e (diff)
downloadpandoc-822a071bb2ef8bfca0af74e3cc501a3346e47ae9.tar.gz
Haddock Writer: Use proper format for latex math in haddock (#4571).
Inline math in `\(..\)`, display math in `\[..\]`, tex is now used. Previously we'd "fake it with unicode" and fall back to tex when that didn't work. But as of https://github.com/haskell/haddock/commit/3f50b955324bd4b42f88a421f0203bc46a3ccf64 haddock supports latex math.
-rw-r--r--src/Text/Pandoc/Writers/Haddock.hs10
-rw-r--r--test/writer.haddock14
2 files changed, 11 insertions, 13 deletions
diff --git a/src/Text/Pandoc/Writers/Haddock.hs b/src/Text/Pandoc/Writers/Haddock.hs
index 75b8c78dc..6cb720489 100644
--- a/src/Text/Pandoc/Writers/Haddock.hs
+++ b/src/Text/Pandoc/Writers/Haddock.hs
@@ -45,7 +45,6 @@ import Text.Pandoc.Options
import Text.Pandoc.Pretty
import Text.Pandoc.Shared
import Text.Pandoc.Templates (renderTemplate')
-import Text.Pandoc.Writers.Math (texMathToInlines)
import Text.Pandoc.Writers.Shared
type Notes = [[Block]]
@@ -250,11 +249,10 @@ inlineToHaddock _ (Code _ str) =
return $ "@" <> text (escapeString str) <> "@"
inlineToHaddock _ (Str str) =
return $ text $ escapeString str
-inlineToHaddock opts (Math mt str) = do
- let adjust x = case mt of
- DisplayMath -> cr <> x <> cr
- InlineMath -> x
- adjust <$> (lift (texMathToInlines mt str) >>= inlineListToHaddock opts)
+inlineToHaddock _ (Math mt str) =
+ return $ case mt of
+ DisplayMath -> cr <> "\\[" <> text str <> "\\]" <> cr
+ InlineMath -> "\\(" <> text str <> "\\)"
inlineToHaddock _ il@(RawInline f str)
| f == "haddock" = return $ text str
| otherwise = do
diff --git a/test/writer.haddock b/test/writer.haddock
index 7f783abd1..13f22021d 100644
--- a/test/writer.haddock
+++ b/test/writer.haddock
@@ -455,14 +455,14 @@ ______________________________________________________________________________
#latex#
-
-- 2 + 2 = 4
-- /x/ ∈ /y/
-- /α/ ∧ /ω/
-- 223
-- /p/-Tree
+- \(2+2=4\)
+- \(x \in y\)
+- \(\alpha \wedge \omega\)
+- \(223\)
+- \(p\)-Tree
- Here’s some display math:
- $$\\frac{d}{dx}f(x)=\\lim_{h\\to 0}\\frac{f(x+h)-f(x)}{h}$$
-- Here’s one that has a line break in it: /α/ + /ω/ × /x/2.
+ \[\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}\]
+- Here’s one that has a line break in it: \(\alpha + \omega \times x^2\).
These shouldn’t be math: