index.html引入

<script type="text/javascript" async 
 src="http://cdn.bootcss.com/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>

组件mathJax:

components/mathJax/MathJax.js

// MathJax.js
 
let isMathjaxConfig = false// 用于标识是否配置
const initMathjaxConfig = () => {
  if (!window.MathJax) {
    return
  }
  window.MathJax.Hub.Config({
    showProcessingMessages: false, // 关闭js加载过程信息
    messageStyle: 'none', // 不显示信息
    jax: ['input/TeX', 'output/HTML-CSS'],
    tex2jax: {
      inlineMath: [['$', '$'], ['\\(', '\\)']], // 行内公式选择符
      displayMath: [['$$', '$$'], ['\\[', '\\]']], // 段内公式选择符
      skipTags: ['script', 'noscript', 'style', 'textarea', 'pre', 'code', 'a'] // 避开某些标签
    },
    'HTML-CSS': {
      availableFonts: ['STIX', 'TeX'], // 可选字体
      showMathMenu: false // 关闭右击菜单显示
    }
  })
  isMathjaxConfig = true // 配置完成,改为true
}
 
const MathQueue = function (elementId) {
  if (!window.MathJax) {
    return
  }
  window.MathJax.Hub.Queue(['Typeset', window.MathJax.Hub, document.getElementsByClassName(elementId)]) // 根据class
//  window.MathJax.Hub.Queue(['Typeset', window.MathJax.Hub, document.getElementById(elementId)]) // 根据id
}
 
export default {
  isMathjaxConfig,
  initMathjaxConfig,
  MathQueue
}

components/mathJax/index.vue

<template>
  <div class="latexDiv" v-html="latex"/>
</template>
 
<script>
  import MathJax from './MathJax.js'
  export default {
    name: 'TheLatex2Math',
    props: {latex: {type: String}}, 
    created() { 
      this.mathJax()
    },
    watch: { 
      latex() {
        this.mathJax()
      }
    },
    methods: {
      mathJax () {
        this.$nextTick(function () { 
          if (MathJax.isMathjaxConfig) { 
            MathJax.initMathjaxConfig()
          }
          MathJax.MathQueue('latexDiv') 
        })
      }
    }
  }
</script>

页面调用

<template>
  <mathJax :latex="content"></mathJax>
</template>
<script setup>
   import mathJax from '@/components/mathJax/index.vue';
   const content=ref('');//数学公式内容
</script>

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐