LATEX是一种很厉害的排版系统,可以支持非常漂亮的公式显示,并且由于它语法相对比较简单,非常适合嵌入到markdown中使用。
然而typecho默认并不支持LATEX,好在我们可以通过插件来“曲线救国”。

先看一下最终效果。公式:

$$
{\begin{array}{*{20}{l}}
{a\mathop{{x}}\nolimits^{{2}}+bx+c=0}\\
{\text{则方程的两根为:}}\\
{\mathop{{x}}\nolimits_{{1}}=\frac{{-b+\sqrt{{\mathop{{b}}\nolimits^{{2}}-4ac}}}}{{2a}}}\\
{\mathop{{x}}\nolimits_{{2}}=\frac{{-b-\sqrt{{\mathop{{b}}\nolimits^{{2}}-4ac}}}}{{2a}}}
\end{array}}
$$

最终显示效果:

$$ {\begin{array}{*{20}{l}} {a\mathop{{x}}\nolimits^{{2}}+bx+c=0}\\ {\text{则方程的两根为:}}\\ {\mathop{{x}}\nolimits_{{1}}=\frac{{-b+\sqrt{{\mathop{{b}}\nolimits^{{2}}-4ac}}}}{{2a}}}\\ {\mathop{{x}}\nolimits_{{2}}=\frac{{-b-\sqrt{{\mathop{{b}}\nolimits^{{2}}-4ac}}}}{{2a}}} \end{array}} $$

插件源码如下:

<?php
/**
 * MathJax 公式插件
 *
 * @package MathJax
 * @author TechQI
 * @version 0.0.1
 * @link https://www.techqi.top/
 */
class MathJax_Plugin implements Typecho_Plugin_Interface {
    /**
     * 激活插件方法,如果激活失败,直接抛出异常
     */
    public static function activate() {
        Typecho_Plugin::factory('Widget_Archive')->header = array('MathJax_Plugin', 'header');
    }

    /**
     * 禁用插件方法,如果禁用失败,直接抛出异常
     */
    public static function deactivate() {}

    /**
     * 获取插件配置面板
     */
    public static function config(Typecho_Widget_Helper_Form $form) {}

    /**
     * 个人用户配置面板
     */
    public static function personalConfig(Typecho_Widget_Helper_Form $form) {}

    /**
     * 插件实现
     */
    public static function header() {
        echo '<script id="MathJax-script" async src="//cdn.bootcss.com/mathjax/3.0.5/es5/tex-mml-chtml.js"></script>';
    }
}

标签: php

添加新评论