MthJax+Vue本地离线

vue项目中展示LaTeX数学表达式,首先引入MathJax插件;

tips:MathJax在npm上是有安装包的;查看地址:https://www.npmjs.com/package/mathjax

第一步:安装MathJax

npm install mathjax  

第二步:安装后查看public/index.html是否引入了js及其相关配置,若无手动添加(我是手动添加的)

 

<script type="text/javascript"
          src="http://api.xkw.com/mathjax/MathJax.js?config=TeX-MML-AM_CHTML"></script>

<script type="text/x-mathjax-config">
    MathJax.Hub.Config({
      jax: ["input/MathML","output/SVG"],
      extensions: ["mml2jax.js","MathEvents.js"],
      tex2jax: {
          inlineMath: [['$','$'], ['\\(','\\)']], // 行内公式选择符$..$
          displayMath: [['$$', '$$'], ['\\[', '\\]']], //段内公式选择符$$..$$
          skipTags: ['script', 'noscript', 'style', 'textarea', 'pre', 'code', 'a'] // 避开某些标签
      },
      'HTML-CSS': {
          availableFonts: ['STIX', 'TeX'], // 可选字体
          showMathMenu: false // 关闭右击菜单显示
      }
    });
</script>

第三步:在utils下新建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('app')])
}

export default {
    isMathjaxConfig,
    initMathjaxConfig,
    MathQueue
}

第四步:在main.js中引用mathjax,全局可用this.MathJax

import MathJax from './utils/MathJax'
Vue.prototype.MathJax = MathJax

 第五步:在.vue页面中展示,完整代码

<template>
    <div id="hello">
        {{text1}}
        {{text2}}
    </div>
</template>
<script>
    export default {
        name: "app",
        data() {
            return {
                text1:'$$\\Gamma(z) = \\int_0^\\infty t^{z-1}e^{-t}dt\\,.$$',//块级居中
                text2:'$\\sum_{i=0}^N\\int_{a}^{b}g(t,i)\\text{d}t$',//行内显示
                text3:'$$求和:\\sum_{i=1}^n{a_i}$$',
                text4:'$$求积分:\\\\int_0^\\infty{fxdx}$$',
                text5:'$$求积:\\prod_{i=0}^n \\frac{1}{i^2}$$',
                text6 : '$$借款本金=\\sum _{nT}^{i=1}\\frac{第i期支付金额}{1+年化综合成本}$$'
        },
        mounted() {
            
        },
        updated() {
            this.formatMath();
        },
        methods: {
            formatMath() {
                setTimeout(()=>{
                    this.$nextTick(()=>{
                        //判断是否初始配置,若无则配置。
                        if(this.MathJax.isMathjaxConfig){
                            this.MathJax.initMathjaxConfig();
                        }
                        //传入组件id,让组件被MathJax渲染
                        this.MathJax.MathQueue("hello");
                    })
                },500);
            }
        }
}
</script>

效果图:

  

 

天地图提供了离线地图服务的下载和部署方式。以下是一个简单的示例,介绍如何下载和使用天地图的离线服务,并在Vue项目中进行部署: 1. 下载离线地图数据:首先,你需要到天地图官网(http://www.tianditu.gov.cn/)下载离线地图数据。根据自己的需求选择合适的地区和数据类型进行下载。下载后,将地图数据保存到项目的某个目录下,例如`public/tianditu`。 2. 配置离线地图服务:在Vue项目的`public/index.html`文件中,添加以下代码来配置离线地图服务: ```html <!DOCTYPE html> <html> <head> <!-- 其他头部内容 --> <script type="text/javascript"> window.TDT_DATA_PATH = '/tianditu/'; // 离线地图数据的路径 </script> </head> <body> <!-- 其他页面内容 --> </body> </html> ``` 确保将`/tianditu/`替换为你保存离线地图数据的目录路径。 3. 安装天地图组件:在Vue项目的根目录中,运行以下命令来安装天地图的Vue组件: ``` npm install @turf/turf vue-tianditu ``` 这将安装天地图的Vue组件以及用于地理空间计算的Turf.js库。 4. 配置天地图组件:在Vue项目的`main.js`文件中,添加以下代码来引入和配置天地图组件: ```javascript import Vue from 'vue' import VueTianditu from 'vue-tianditu' Vue.use(VueTianditu) ``` 5. 使用天地图组件:在Vue项目中的组件中使用天地图组件。例如,在`App.vue`中添加以下代码来显示一个离线地图: ```html <template> <div id="app"> <vue-tianditu :isOffline="true"> <!-- 添加其他地图相关的组件或标记等 --> </vue-tianditu> </div> </template> ``` 注意,我们在`<vue-tianditu>`标签中设置了`:isOffline="true"`,以指示使用离线地图数据。 6. 构建和运行:完成上述配置后,你可以使用Vue CLI提供的命令来构建和运行你的离线服务应用: ``` npm run serve ``` 这将启动一个开发服务器,并在浏览器中显示你的应用。 以上是一个简单的示例,你可以根据具体需求使用更多天地图提供的功能和组件来部署离线服务。希望对你有所帮助!
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值