vue公式自动渲染(vue-katex-auto-render)

vue公式自动渲染(vue-katex-auto-render)

描述

KaTeX 为网络启用快速数学排版。Vue KaTeX Auto-render是一个插件,可以帮助您将 KaTeX 与 KaTeX 的自动渲染扩展一起使用。

安装

npm install katex vue-katex-auto-render

要求

Vue 2.x

使用

您必须导入它并将其注册为自定义指令。(在main.js文件)

import Katex from 'vue-katex-auto-render'
Vue.directive('katex', Katex);

您可以v-katex在模板的任何元素上使用该指令。然后把你希望 KaTeX 处理的内容放在一些delimiters. 这delimiters是用于查找数学的分隔符列表。每个分隔符具有三个属性:

  • left:开始数学表达式的字符串(即左分隔符)。
  • right:结束数学表达式的字符串(即右分隔符)。
  • display: 表达式中的数学是否应该在显示模式下呈现的布尔值。
  • Vue KaTeX 自动渲染的分隔符的默认值为:
[
  {left: "$$", right: "$$", display: true},
  {left: "$", right: "$", display: false},
  {left: "\\(", right: "\\)", display: false},
  {left: "\\[", right: "\\]", display: true} 
]
  • 带有v-katex标记的标签中给定分隔符内的任何内容都将被视为需要由 KaTeX 处理的内容。(组件内部使用)
<template>
  <div v-katex>
    $$% Here is some comment
    f({x}) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}
    \,d\xi$$
  </div>
</template>

上面的代码将具有以下输出。
在这里插入图片描述

注意:使用时如果不能正常显示,可替换成变量使用!

  • 例:
 <div v-katex>
      {{ text }}
 </div>
 data: () => ({
    text: "$$𝐷_{𝑃_1 𝑃_2 }=max⁡(𝑑𝑖𝑠𝑡(𝑃_1,𝑃_2 ),𝑑𝑖𝑠𝑡(𝑃_2,𝑃_1))$$",
  }),

在这里插入图片描述

npm地址
katex:https://www.npmjs.com/package/katex
vue-katex-auto-render:https://www.npmjs.com/package/vue-katex-auto-render

Vue3中,`v-md-editor`是一个富文本编辑器插件,主要用于处理Markdown格式的内容,包括文本、图片等,但它本身并不直接支持数学公式渲染。若要在Vue项目中展示和编辑包含数学公式的MD内容,并且需要漂亮的数学公式显示,可以结合其他库如`vue-markdown-it-math`和`katex`。 `katex`是一个用于浏览器的JavaScript库,专门用于实时渲染LaTeX数学公式。要在`v-md-editor`中集成`katex`,你需要: 1. 安装依赖:首先安装`vue-markdown-it-math`,它能处理Markdown数学公式并转换成HTML,再安装`katex`及其CSS样式。 ```bash npm install vue-markdown-it-math katex katex-auto-render ``` 2. 配置`vue-markdown-it-math`:在Vue组件中,使用`vue-markdown-it-math`解析器,并配置katex支持。 ```javascript import { MarkdownIt } from 'vue-markdown-it-math' import { renderMathInElement } from 'katex-auto-render' export default { setup() { const md = new MarkdownIt('commonmark', { html: true, math: { delimiters: [['$', '$'], ['\\(', '\\)']] } }) // 注册katex渲染函数 renderMathInElement(document.body, { delimiters: [['$', '$'], ['\\(', '\\)'], displayMode: false }) return { markdown: (text) => md.render(text) } }, } ``` 3. 使用`v-text-html`或自定义指令将处理后的包含katex的HTML输出到页面上。 ```html <template> <div v-text-html="markdown(yourMarkdownText)"></div> </template> ``` 或者 ```html <template> <div v-katex="{expression: yourMarkdownText}"></div> </template> ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值