文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
5 cutemarked 数学公式扩展
cutemarked 开源 Markdown
编辑器支持数学公式扩展,它利用了 MathJax
这个 JavaScript
引擎来渲染数学公式。cutemarked 支持代码高亮,支持数学公式,通过在"设置"菜单中可以选择打开或者关闭这两个功能。
MathJax
支持以 LATEX
格式作为输入。在 cutemarked 的源文件中,与数学输入相关的源代码有:
app/template_presentation.html 中的
<script> Reveal.initialize({ math: { mathjax: 'https://cdn.mathjax.org/mathjax/latest/MathJax.js', config: 'TeX-AMS_HTML-full' // See http://docs.mathjax.org/en/latest/config- files.html }, dependencies: [ { src: 'https://cdn.jsdelivr.net/reveal.js/2.6.2/plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } }, { src: 'https://cdn.jsdelivr.net/reveal.js/2.6.2/plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } }, <!--__REVEAL_PLUGINS__--> ] }); </script>
app-static/template/presentationtemplate.cpp 中的
QString PresentationTemplate::buildRevealPlugins(RenderOptions options) const { QString plugins; // add MathJax.js script as reveal plugin if (options.testFlag(Template::MathSupport)) { plugins += "{ src: 'https://cdn.jsdelivr.net/reveal.js/2.6.2/plugin/math/math.js', async: true },\n"; } ...
app-static/template/htmltemplate.cpp 中的
QString HtmlTemplate::buildHtmlHeader(RenderOptions options) const { QString header; ... // add MathJax.js script to HTML header if (options.testFlag(Template::MathSupport)) { // Add MathJax support for inline LaTeX Math if (options.testFlag(Template::MathInlineSupport)) { header += "<script type=\"text/x-mathjax-config\">MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\\\(','\\\\)']]}});</script>"; } header += "<script type=\"text/javascript\" src=\"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML \"></script>\n"; } ...
cutemarked 与 LATEX
的语法存在以下区别:
- cutemarked 中,对于简单的上标,只需要输入
x^2
,而不需要任何界定符;而LATEX
中需要使用$ x^2 $
。 - cutemarked 中,若一行
$$...$$
公式中命令太多可能出现解析失败的情况, 此时需要拆分$$...$$
到多个$$...$$
中;若仍然无法解析则需要在$$...$$
之间添加空行 - cutemarked 由于对某些反斜线
\
进行了转义,因此出现在数学公式中的反斜线需要注意。- 若公式中的
\
后面紧跟非特殊字符,则 cutemarked 并不执行转义。 如 cutemarked 中输入\begin
,则MathJax
引擎接收到的字符是\begin
。 - 若公式中的
\
后面紧跟特殊字符,则 cutemarked 执行转义。 如 cutemarked 中输入\\
,则MathJax
引擎接收到的字符是\
。
- 若公式中的
以下的所有公式均是针对 cutemarked 的语法
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论