在博客園利用 MathJax 建支持 LaTeX 的博客


終於找到了比較完美的在博客中支持 LaTeX 的方案。wordpress.com 雖然也支持 LaTeX,但是有 3 個缺點:

  1. wordpress.com 整個網站都被牆了,在上面建博客國內讀者訪問較為困難;
  2. wordpress.com 是利用 wordpress 的wp latex 插件支持 latex 的,必須使用 \$latex \$ 這樣的格式,而不能直接使用 \$ \$ 來輸入公式,這使得無法直接利用在其他地方已寫好的 tex 源碼;
  3. 生成的公式是圖片格式的,不支持矢量縮放和拷貝。

今天發現了一個在線生成 LaTeX 的利器:MathaJax,它支持多種數學公式語言,其中也包括 LaTeX,並且生成的公式支持矢量縮放和拷貝(復雜的公式拷貝后會變形)。但要在博客上獲得 MathJax 的支持,必須要求博客空間提供自定義模板的功能,而大部分比較 popular 的國內免費博客空間,如新浪、網易、百度等都不提供該功能。最后找到了博客園支持自定義模板(另外據說點點也支持)。不過在對 MathJax 進行設置時又費了一番功夫。下面是我的設置代碼。當你在博客園開通博客后,在博客管理的“設置”頁面的“頁首Html代碼”處拷入下面的代碼即可:

<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
  inlineMath: [['$','$'], ['\\(','\\)']],
  processEscapes: true
  },
TeX: {
            equationNumbers: {
                autoNumber: ["AMS"],
                useLabelIds: true
            }
        },
        "HTML-CSS": {
            linebreaks: {
                automatic: true
            },
            scale: 85
        },
        SVG: {
            linebreaks: {
                automatic: true
            }
        }
});
</script>
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>

其中的 scale: 85 是指公式大小的縮放比例,你可以根據需要進行調整。這樣設置后你不但可以直接像在 LaTeX 中那樣寫行內公式和行間公式,而且還可以使用 LaTeX 的公式自動編號和引用的功能。

這里是一個測試頁面,可以看到生成的公式還是非常漂亮的。這里是我翻譯和稍作改寫的阿羅不可能性定理的證明。在 Ubuntu 下的 Chrome 瀏覽器、Firefox 瀏覽器和 Windows 下的 Firefox 瀏覽器下測試均顯示正常,但在 IE 瀏覽器中公式下標會有顯示不完整的情況,不知是不是我的個別現象,大家也幫忙測試一下。

利用 MathJax 生成數學公式仍然有兩個缺點:

  1. 生成公式的速度較慢;
  2. 在 RSS 閱讀器中只能顯示公式的源碼,必須點擊文章的原始鏈接才能看到公式。

本文中的代碼參考了http://zhiqiang.org/blog/it/mathjax-make-mathematics-beautiful.html,特此致謝!關於更多對 MathJax 的定制,請參考 MathJax 的幫助文檔。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM