diff --git a/src/md4c-html.c b/src/md4c-html.c index 5229de54..16ba514a 100644 --- a/src/md4c-html.c +++ b/src/md4c-html.c @@ -460,8 +460,18 @@ enter_span_callback(MD_SPANTYPE type, void* detail, void* userdata) case MD_SPAN_IMG: render_open_img_span(r, (MD_SPAN_IMG_DETAIL*) detail); break; case MD_SPAN_CODE: RENDER_VERBATIM(r, ""); break; case MD_SPAN_DEL: RENDER_VERBATIM(r, ""); break; - case MD_SPAN_LATEXMATH: RENDER_VERBATIM(r, ""); break; - case MD_SPAN_LATEXMATH_DISPLAY: RENDER_VERBATIM(r, ""); break; + case MD_SPAN_LATEXMATH: + if (r->flags & MD_HTML_FLAG_MATHJAX) { + if (r->flags & MD_HTML_FLAG_MATHJAX_USE_DOLLAR) RENDER_VERBATIM(r, "$"); + else RENDER_VERBATIM(r, "\\("); + } else RENDER_VERBATIM(r, ""); + break; + case MD_SPAN_LATEXMATH_DISPLAY: + if (r->flags & MD_HTML_FLAG_MATHJAX) { + if (r->flags & MD_HTML_FLAG_MATHJAX_USE_DOLLAR) RENDER_VERBATIM(r, "$$"); + else RENDER_VERBATIM(r, "\\["); + } else RENDER_VERBATIM(r, ""); + break; case MD_SPAN_WIKILINK: render_open_wikilink_span(r, (MD_SPAN_WIKILINK_DETAIL*) detail); break; } @@ -486,8 +496,18 @@ leave_span_callback(MD_SPANTYPE type, void* detail, void* userdata) case MD_SPAN_IMG: render_close_img_span(r, (MD_SPAN_IMG_DETAIL*) detail); break; case MD_SPAN_CODE: RENDER_VERBATIM(r, ""); break; case MD_SPAN_DEL: RENDER_VERBATIM(r, ""); break; - case MD_SPAN_LATEXMATH: /*fall through*/ - case MD_SPAN_LATEXMATH_DISPLAY: RENDER_VERBATIM(r, ""); break; + case MD_SPAN_LATEXMATH: + if (r->flags & MD_HTML_FLAG_MATHJAX) { + if (r->flags & MD_HTML_FLAG_MATHJAX_USE_DOLLAR) RENDER_VERBATIM(r, "$"); + else RENDER_VERBATIM(r, "\\)"); + } else RENDER_VERBATIM(r, ""); + break; + case MD_SPAN_LATEXMATH_DISPLAY: + if (r->flags & MD_HTML_FLAG_MATHJAX) { + if (r->flags & MD_HTML_FLAG_MATHJAX_USE_DOLLAR) RENDER_VERBATIM(r, "$$"); + else RENDER_VERBATIM(r, "\\]"); + } else RENDER_VERBATIM(r, ""); + break; case MD_SPAN_WIKILINK: RENDER_VERBATIM(r, ""); break; } diff --git a/src/md4c-html.h b/src/md4c-html.h index 324211da..b7818f85 100644 --- a/src/md4c-html.h +++ b/src/md4c-html.h @@ -38,6 +38,8 @@ #define MD_HTML_FLAG_VERBATIM_ENTITIES 0x0002 #define MD_HTML_FLAG_SKIP_UTF8_BOM 0x0004 #define MD_HTML_FLAG_XHTML 0x0008 +#define MD_HTML_FLAG_MATHJAX 0x1000 +#define MD_HTML_FLAG_MATHJAX_USE_DOLLAR 0x2000 /* Render Markdown into HTML.