vue配置mathjax3

1.index.html⾥引⼊mathjax
HTML
去网上找 tex-mml-chtml.js   找不到私信我发你
2.新建globalVariable.js⽂件,写⼊操作mathjax的配置和渲染函数
let isMathjaxConfig = false // ⽤于标识是否配置
const initMathjaxConfig = () => {
    if (!window.MathJax) {
        return
    }
    window.MathJax = {
        tex: {
            inlineMath: [
                ['$', '$'],
                ['\\(', '\\)']
            ], // ⾏内公式选择符
            displayMath: [
                ['$$', '$$'],
                ['\\[', '\\]']
            ] // 段内公式选择符
        },
        options: {
            skipHtmlTags: ['script', 'noscript','style', 'textarea', 'pre', 'code',
            'a'], // 避开某些标签
            ignoreHtmlClass: 'tex2jax_ignore',
            processHtmlClass: 'tex2jax_process'
        }
    }
    isMathjaxConfig = true // 配置完成,改为true
}
const TypeSet = async function (elementId) {
    if (!window.MathJax) {
        return
    }
    window.MathJax.startup.promise = window.MathJax.startup.promise
    .then(() => {
        return window.MathJax.typesetPromise()
    })
    .catch((err) => console.log('Typeset failed: ' + err.message))
    return window.MathJax.startup.promise
}
export default {
    isMathjaxConfig,
    initMathjaxConfig,
    TypeSet
}

其中typeset函数⾥Mathjax.typesetPromise()是异步调⽤。如果是⽤同步调⽤排版函数
MathJax.typeset(),可能会出现某些扩展(⽐如/boldsymbol)⽆法加载的问题。
参考:
3.在main.js⾥⾯引⼊globalVariable.js
import globalVariable from './util/globalVariable.js' 
Vue.prototype.globalVariable = globalVariable 
4.在需要渲染数学公式的vue⻚⾯的mounted后期和updated周期,调⽤渲染⽅法
mounted() {
    window.addEventListener('scroll', this.handleScroll)
    if (this.globalVariable.isMathjaxConfig) {
      // 判断是否初始配置,若⽆则配置。
      this.globalVariable.initMathjaxConfig()
    }
    this.globalVariable.TypeSet()
  },
  updated() {
    if (this.globalVariable.isMathjaxConfig) {
      // 判断是否初始配置,若⽆则配置。
      this.globalVariable.initMathjaxConfig()
    }
    this.globalVariable.TypeSet()
  },

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端程序猿i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值