首页 > 其他分享 >Vue如何识别数学公式

Vue如何识别数学公式

时间:2024-07-12 17:26:40浏览次数:16  
标签:数学公式 Vue Hub 渲染 mathjax window HTML MathJax 识别

效果

在这里插入图片描述

在Vue中使用 MathJax 渲染中文数学公式的步骤:

1.引入 MathJax 库

在 index.html文件中,首先需要引入 MathJax 的 JavaScript 文件。

<script type="text/javascript" async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>

2.配置MathJax

创建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.getElementById(elementId)]);      //根据id
    window.MathJax.Hub.Queue(['Typeset', window.MathJax.Hub, document.getElementsByClassName(elementId)]) // 根据class
};

export default {
    isMathjaxConfig,
    initMathjaxConfig,
    MathQueue,
}

main.js引用mathjax.js

// 公式渲染
import mathjax from '@/utils/mathjax'
Vue.prototype.mathJaxVariable = mathjax

3.使用

this.$nextTick(function () { //这里要注意,使用$nextTick等组件数据渲染完之后再调用MathJax渲染方法,要不然会获取不到数据
	if (this.mathJaxVariable.isMathjaxConfig) {//判断是否初始配置,若无则配置。
		this.mathJaxVariable.initMathjaxConfig();
	}
	this.mathJaxVariable.MathQueue("divClass");//传入组件id或class,让组件被MathJax渲染
})

在使用MathJax遇到的问题

如果$…$或$$…$$无效,需要在index.html中添加:

<script type="text/x-mathjax-config">
      if(MathJax){
        MathJax.Hub.Config({
          jax: ["input/TeX","output/HTML-CSS"],  //输出格式配置:latex 解析为 DOM结构
          tex2jax: {
            inlineMath: [['$','$'], ["\\(", "\\)"]],
            displayMath: [ ['$$','$$'], ["\\[","\\]"] ]
          },
          "HTML-CSS": {
            availableFonts: ["STIX", "TeX"], //可选字体
            showMathMenu: false //关闭右击菜单显示
          },
        });
</script>

遇到MathJax渲染的数学公式在翻页后仍然停留或无法动态加载
MathJax动态加载

标签:数学公式,Vue,Hub,渲染,mathjax,window,HTML,MathJax,识别
From: https://blog.csdn.net/weixin_48118686/article/details/140384070

相关文章

  • 浅尝python的图像识别
    目的对python中的图像识别进行简单的测试和使用环境win64系统anaconda需要下载的软件:tesseract需要下载的python包:pytesseract,pillow一张记录英文的图片环境的搭建1、tesseract的下载:下载链接:https://digi.bib.uni-mannheim.de/tesseract/tesseract下载后需要对环境......
  • 推荐几个开源的vue表单设计器
    1、Form.ioForm.io是一个开源的纯JavaScript表单渲染器和API平台,为开发者提供了一种快速、灵活的方式来构建和管理表单驱动的应用程序。Form.io使用ES6和JavaScript实现(没有jQuery、Angular、React或任何其他框架依赖),将JSON模式渲染为webform表单,并将该表单挂接到Form.io服务......
  • 使用VGG16和MLP实现猫狗图像识别
    数据集数据集可以参考我之前那篇文章,取一部分数据每个300条即可:基于卷积神经网络(CNN)的猫狗图像分类系统实现-CSDN博客1.目的使用VGG16的结构提取图像特征,再根据特征建立MLP模型,实现猫狗图像识别。训练/测试数据:data 1.对数据进行分离、计算测试数据准确率 2.使用VGG1......
  • 使用Python配合OpenCV,非常简洁的来识别出银行卡号
        Opencv(OpenSourceComputerVisionLibrary)是一个基于开源发行的跨平台计算机视觉库。OpenCV用C++语言编写,它具有C++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和MacOS。本篇是使用python配合opencv来做图片识别,以识别银行卡上的卡号为例。   安装......
  • 从0到1开始搭建vue2+element ui 后台管理系统
    一、前期准备(如果已搭建的可以往下看)1.安装node(node-v查询版本号)(下载地址:https://nodejs.org/en/download/)2. 安装淘宝镜像命令: npminstall-gcnpm--registry=https://registry.npmmirror.com  3.安装webpack,以全局的方式安装命令:npminstallwebpack-g4......
  • vue3前端项目结构解析(2024-07-12)
    .├──build#打包脚本相关│  ├──config#配置文件│  ├──generate#生成器│  ├──script#脚本│  └──vite#vite配置├──mock#mock文件夹├──public#公共静态资源目录├──src#主目录│  ├──api#接口......
  • vue3项目中浏览器打开本地文档或者下载本地应用的方法(2024-07-11)
    在public文件夹下面加入预览的文件【操作说明文档】。public文件夹包含了应用程序的入口HTML文件,以及其他不需要经过编译的静态文件此文件夹不会压缩并且路径不变,所以是最佳的存放文件的位置。代码:<template><n-icontitle="操作文档"style="cursor:pointer;margin-......
  • 如何将图片中的文字识别出来?3个图片转word的方法
    在数字化时代,我们经常遇到需要从图片中提取文字的情况,方便编辑、复制或分享图片中的文本信息。然而,图片中的文字往往无法直接复制,这使得提取文字成为一项具有挑战性的任务。那么图片转文字怎么弄呢?本文将介绍几种实用的方法,帮助您从图片中提取文字。方法1:使用微信或QQ功能提取微......
  • 适用于react、vue菜单格式化工具函数
    场景在一个动态菜单场景中,你向接口获取树形菜单,但最后拿到的树未能达到你的预期,这个时候就需要手写递归重新处理这颗树适用于react、vue菜单格式化工具函数包含功能1.当前路由是否存在返回按钮判断逻辑:只要存在左侧可点击的菜单都不具备返回按钮,其他则具有返回按钮2.错误......
  • 前端使用 Vue 3,后端使用 Spring Boot 构建 Hello World 程序
    前端使用Vue3,后端使用SpringBoot构建HelloWorld程序前端(Vue3)首先,创建一个Vue3项目。1.安装VueCLInpminstall-g@vue/cli2.创建Vue项目vuecreatefrontend在交互式提示中,选择默认的Vue3预设。3.修改App.vue在frontend/src目录下,修改......