diff options
author | John MacFarlane <jgm@berkeley.edu> | 2017-07-26 12:50:36 +0200 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2017-07-26 12:50:36 +0200 |
commit | e0ab09611a8ab42c69da81ed3fd3c3df8c0c70de (patch) | |
tree | 6465265326a1a2e8a0af5881da2d25c3242102dd | |
parent | 2daab579f4eef9ef61da460c731a45a77433a472 (diff) | |
download | pandoc-e0ab09611a8ab42c69da81ed3fd3c3df8c0c70de.tar.gz |
HTML writer: render raw inline environments when --mathjax used.
We previously did this only with raw blocks, on the assumption
that math environments would always be raw blocks. This has changed
since we now parse them as inline environments.
Closes #3816.
-rw-r--r-- | src/Text/Pandoc/Writers/HTML.hs | 11 | ||||
-rw-r--r-- | test/command/3816.md | 29 |
2 files changed, 37 insertions, 3 deletions
diff --git a/src/Text/Pandoc/Writers/HTML.hs b/src/Text/Pandoc/Writers/HTML.hs index d09158c42..61f2c959a 100644 --- a/src/Text/Pandoc/Writers/HTML.hs +++ b/src/Text/Pandoc/Writers/HTML.hs @@ -1007,9 +1007,14 @@ inlineToHtml opts inline = do ishtml <- isRawHtml f if ishtml then return $ preEscapedString str - else do - report $ InlineNotRendered inline - return mempty + else if (f == Format "latex" || f == Format "tex") && + "\\begin" `isPrefixOf` str && + allowsMathEnvironments (writerHTMLMathMethod opts) && + isMathEnvironment str + then inlineToHtml opts $ Math DisplayMath str + else do + report $ InlineNotRendered inline + return mempty (Link attr txt (s,_)) | "mailto:" `isPrefixOf` s -> do linkText <- inlineListToHtml opts txt obfuscateLink opts attr linkText s diff --git a/test/command/3816.md b/test/command/3816.md new file mode 100644 index 000000000..dba37bfec --- /dev/null +++ b/test/command/3816.md @@ -0,0 +1,29 @@ +``` +% pandoc --mathjax -t html5 +This is an equation: +\begin{equation} +y+2 = 3 +\end{equation} + +This is a system of equations: +\begin{align*} +x^2+y^2 & = 2 \\ +\sin(y) & = 0.5 +\end{align*} + +This is Euler's formula: +\begin{eqnarray*} +e^{i\pi} + 1 & = & 0. +\end{eqnarray*} +^D +<p>This is an equation: <span class="math display">\[\begin{equation} +y+2 = 3 +\end{equation}\]</span></p> +<p>This is a system of equations: <span class="math display">\[\begin{align*} +x^2+y^2 & = 2 \\ +\sin(y) & = 0.5 +\end{align*}\]</span></p> +<p>This is Euler’s formula: <span class="math display">\[\begin{eqnarray*} +e^{i\pi} + 1 & = & 0. +\end{eqnarray*}\]</span></p> +``` |