MarkdownPad2行内公式如何用`$$`替代`\\(\\)`---MathJax风格化配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lusongno1/article/details/82885827

MarkdownPad2行内公式如何用$$替代\\(\\)—MathJax风格化配置

Motivation

对于写一些简单的报告或者说明文件,Markdown是一个极佳的选择。然而,Markdown编辑器选择也成了一个令人头疼的问题。没有最好,只有最适合。在接触Markdown之初,尝试多种最为普遍和受大众无脑鼓吹的几种编辑器,最后觉得马克飞象最合我心意。

马克飞象于我的主要吸引力在于:所见即所得,所得的风格化做得比较入我的眼,至少我看来是这样;能够自动导出md文件和pdf文件,让我省去了pandoc这道工序,大大提高了我的效率,更为重要的是,这款编辑器内置了MathJax数学公式渲染,而不需要通过浏览器来查看渲染效果,这不仅仅是效率的问题,而是在pdf输出时,能将公式渲染后的效果打印出来;默认配置同CSDN编辑环境,也就是说,在马克飞象上写的东西,几乎不需要任何任何修改,导入到CSDN编辑环境中,都能正常地显示,这对于经常写CSDN博文的我来说,十分便利;马克编辑器小巧玲珑,其界面简洁明了,这给了不喜欢花花绿绿、框框点点的我不少的好感;和在线印象笔记的即时同步功能,于抠门的我来说,虽是鸡肋,却也是一大亮点……

当然,马克飞象也是有极大的缺点的,比如说不能打开本地(非马克工作目录)的md文件,所以,我一般是通过记事本打开md,然后复制黏贴进来的。再一个,因为马克飞象的风格配置几乎是定死的,所以如果有跨页的大段代码,会在生成pdf时,也页面上留下大段空白,极其影响美观……

正是因为md文件不能关联马克飞象,故而我又下载了被B乎道友称为最好用的而我一直不屑一顾MarkdownPad 2,只为了能以最快的速度打开本地的md文件,也并没有想着用它做编辑。主要是我觉得它不符合我的审美,另有乱七八糟的按钮太多。此外,MP 2的公式渲染,要按F6在浏览器中显示,不仅不方便,还不能打印到pdf中。另外,其他的Atom等,不能说不好,只能说,适合你的才是最好的。

MarkdownPad 2风格化配置
  • Markdown2风格设置我采用GitHub离线风格,这样表格能正常显示,并且三个反引号的行间代码标注方式能被识别。
    在这里插入图片描述
  • HTML Head预定义
    在这里插入图片描述

使用如下一行代码,将mathjax在线引入,可以使TeX编码得以解释:

<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>

因为我习惯上都是用 $$ 来表示行间公式,但MathJax的configuration使默认的 \\(\\) 来表示行间代码,所以形如 $x^2$ 就识别不了,识别不了并不是因为 $$ 不是MathJax所定义的。我们可以对MathJax进行风格化的配置,使得这两种行内数学公式写法都可以被接受。比如:

<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
  inlineMath: [['$','$'], ['\\(','\\)']],
  processEscapes: true
  },
displayAlign : "left",
TeX: {
            equationNumbers: {
                autoNumber: "all",
                useLabelIds: true
            }
        },
        "HTML-CSS": {
            linebreaks: {
                automatic: true
            },
            scale: 100,
            styles: {
              ".MathJax_Display": {
                "text-align": "left",
                "width" : "auto",
                "margin": "10px 0px 10px 0px !important",
                "background-color": "#f5f5f5 !important",
                "border-radius": "3px !important",
                border:  "1px solid #ccc !important",
                padding: "5px 5px 5px 5px !important"
              },
              ".MathJax": {
                "background-color": "#f5f5f5 !important",
                padding: "2px 2px 2px 2px !important"
              }
            }
        },
        SVG: {
            linebreaks: {
                automatic: true
            }
        }
});
</script>

<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>

如此配置的数学公式的显示风格就和和默认的不同:数学公式的背景色为浅灰;行间数学公式有个灰色框;行间数学公式设定为居左;行间数学公式带编号。 很随心所欲了已经。

当然,如果你只是想能用上双刀符号来表示行间公式,也可以简单一点设置:

<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX", "output/HTML-CSS"],
    tex2jax: {
      inlineMath: [ ['$','$'], ["\\(","\\)"] ],
      displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
      processEscapes: true
    },
    "HTML-CSS": { fonts: ["TeX"] }
  });
</script>
</script>
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>

这完全按照自己的喜好来,就很随性了。MarkPad 2的强大之处也就在于你可以随心所欲地配置你想要的外观,数学公式解释方式等等。

如果你想配置特有的其他风格,参见:

mathjax配置
MathJax选项
Css外观风格配置

MarkDownPad 2的所见即所得的所得,并不能直接显示渲染后的公式。在线引入mathjax来解释数学公式后,貌似还需要按F6在浏览器中来查看效果。

猜你喜欢

转载自blog.csdn.net/lusongno1/article/details/82885827