当前位置: 首页 > news >正文

【marked与katex结合】渲染公式

使用

如何在marked中展示LaTeX格式的公式:
$…$ 或者$$包裹的公式

环境准备

  • 安装marked.js:npm install marked
  • 安装katex来解析公式:npm install katex markded

实现代码示例

  • 创建一个Vue组件用于展示Markdown内容
  • 在组件中使用marked.js解析Markdown并渲染LaTeX公式
<template><div v-html="format(msg)"></div>
</template><script>
import marked from 'marked';
import 'katex/dist/katex.min.css';
import katex from 'katex';export default {data() {return {val: 'Here is some LaTeX: $E = mc^2$'};},methods: {format(val) {const html = this.renderMath(val); // 使用 KaTeX 渲染数学公式return marked(html, { gfm: true, breaks: true, smartLists: true });},renderMath(html) {// 先匹配 $$...$$ 的块级公式const blockMathRegex = /\$\$([\s\S]*?)\$\$/g;// 再匹配 $...$ 的行内公式(排除已经被 $$ 匹配的部分)const inlineMathRegex = /\$(?!\$)([\s\S]*?)\$(?!\$)/g;// 先处理块级公式html = html.replace(blockMathRegex, (match, math) => {try {return katex.renderToString(math.trim(), {throwOnError: false});} catch (e) {return match;}});// 再处理行内公式html = html.replace(inlineMathRegex, (match, math) => {try {return katex.renderToString(math.trim(), {throwOnError: false});} catch (e) {return match;}});return html;}}
};
</script>

最终呈现

在这里插入图片描述
在这里插入图片描述

相关文章:

  • Vue3 Element Plus el-table-column Sortable 排序失效
  • 2025最新obs31.0.x版本编译办法,windows系统
  • 数据湖和数据仓库的区别
  • ES的倒排索引和正排索引的区别及适用场景?为什么倒排索引适合全文搜索?
  • vue3 threejs 物体发光描边
  • 电力设备制造企业数字化转型路径研究:从生产优化到生态重构
  • WordPress_Madara 本地文件包含漏洞复现(CVE-2025-4524)
  • k8s-ServiceAccount 配置
  • GPT 等decoder系列常见的下游任务
  • Vite + Vue 工程中,为什么需要关注 `postcss.config.ts`?
  • CSS、SCSS 和 SASS 的语法差异
  • CSS【详解】弹性布局 flex
  • 【基础】Windows开发设置入门9:WSL 2 上的 Docker 容器
  • CSS 链接样式全解析:从基础状态到高级交互效果
  • 【css】 flex布局基本知识
  • 多通道经颅直流电刺激器产品及解决方案特色解析
  • SuperVINS:应对挑战性成像条件的实时视觉-惯性SLAM框架【全流程配置与测试!!!】【2025最新版!!!!】
  • DS18B20 温度传感器实验探索与实践分享​
  • Backwards对自动路由的影响
  • 提示词工程(Prompt Engineering)是智能Agent交互中不可或缺的一环
  • 做智能网站系统/高平网站优化公司
  • 网站设计策划案/谷歌查询关键词的工具叫什么
  • 装修网站vr全景图怎么做/seo云优化是什么意思
  • 响应式网站开发图标/企业软文范例
  • 运营网站/广州seo黑帽培训
  • 惠州城市建设建筑网站/长春seo优化