使用KaTeX代替MathJax渲染公式

其實(shí)早在好幾年前 KaTeX 剛出來的時(shí)候, 我就有關(guān)注這個(gè) MathJax 的代替者. 不過當(dāng)時(shí)好多公式符號都無法加載, 那時(shí)甚至矩陣都顯示有問題. KaTeX 雖然加載公式速度很快, 但是怕我文章里有公式不能正常顯示, 所以還是沒有選擇使用它. 不過就像很多開源軟件一樣, 時(shí)間能讓它們變得越來越好. 誠如前段時(shí)間回歸 Typecho 重新寫博客一樣, Markdown 和 MathJax 之間的小 Bug 得到完美解決; 如今 KaTeX 也能獨(dú)當(dāng)一面, 可以徹底代替 MathJax 了.

為了方便, 所以還是使用了官方自帶的 CDN 的簡單配置.

<link rel="stylesheet" >
<script src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js"></script>

其中前兩個(gè)是 KaTeX 的基本配置,第三個(gè)是自動(dòng)加載的插件. 不過之后遇到的 KaTeX 的唯一問題是默認(rèn)所有公式無論是行間公式還是行內(nèi)公式都要寫在左右各兩個(gè)美元符號內(nèi). 這和其他 LateX, MathJax 的習(xí)慣不一致. 所以我還是去看了一下設(shè)置, 其實(shí)在配置delimiters 中修改. 于是添加如下配置:

<script>
    renderMathInElement(document.body,
   {
              delimiters: [
                  {left: "$$", right: "$$", display: true},
                  {left: "$", right: "$", display: false}
              ]
          }
  );
</script>

最后終于開心地發(fā)現(xiàn)博客里的數(shù)學(xué)公式加載變快了, 同時(shí) KaTeX 和 InstantClick 也沒有像 MathJax 一樣有時(shí)候出現(xiàn)加載到一半(mathjax快速預(yù)覽)的沖突. 贊!

whzecomjm
2018年7月12日


Update

應(yīng)評論要求明確一下使用方法: 在博客的首頁 index 文件 (或者 header) 中的 <head> 中加載如下腳本即可.

<link rel="stylesheet" >
<script src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js"></script>
<script>
    renderMathInElement(document.body,
   {
              delimiters: [
                  {left: "$$", right: "$$", display: true},
                  {left: "$", right: "$", display: false}
              ]
          }
  );
</script>

2019-06-18

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,954評論 25 709
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,544評論 19 139
  • 在Hexo中渲染MathJax數(shù)學(xué)公式 在用markdown寫技術(shù)文檔時(shí),免不了會(huì)碰到數(shù)學(xué)公式。常用的Markdo...
    ShallowLearner閱讀 29,804評論 22 31
  • 作者:zjruan日期:2016-12-23關(guān)鍵詞:前端、公式、LaTex、MathJax 項(xiàng)目開發(fā)中,我們有時(shí)候...
    畵毣閱讀 8,164評論 0 3
  • 每個(gè)人應(yīng)該總會(huì)有自己力所不能及的事情, 明明是別人不講道理但卻因?yàn)閺氖碌穆殬I(yè)或者官職你不能痛快的去反駁他 ,很無奈...
    叢林的老妖怪呦閱讀 172評論 0 1

友情鏈接更多精彩內(nèi)容