如何让数学公式渲染 支持 $ 公式 $ ,$$ 公式 $$ 格式, 也支持 \(公式 \), \[公式]\ 这样的标识符

image.png

期望把 \( \[ 包围内容, 也渲染为公式

如何自定义 公式的标识符?

@Vanessa 感谢

  • Vditor

    Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript、Vue、React 和 Angular。

    344 引用 • 1778 回帖 • 1 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    7543 引用 • 34344 回帖 • 197 关注
1 操作
helloyys 在 2024-09-19 17:04:35 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • helloyys
    作者

    😳

  • 不是支持吗?

    image.png

    image.png

    两个 $$ 公式块,ctrl+m 行内公式

    能实现即可,无需一定是 $ xxx $ 或 $$ xxxx $$ 的形式

    另外,\是转义字符, (和[作为引用字符,不太可能作为公式的标识符

    如果按照你说的 \(或\[作为公式标识符,那如果要显示\(或\[字符串又怎么处理?这会带来实现复杂度和用户使用和记忆负担

    1 回复
    1 操作
    wilsons 在 2024-09-19 17:24:24 更新了该回帖
  • 楼主问的是 Vditor

    1 回复
  • 哦哦,没注意看标签 😳

  • 其实可以写个脚本,将\( 等替换一下,也不麻烦

    def convert_latex_to_markdown(input_string):
        # 替换 \( 和 \) 为 $...$
        input_string = input_string.replace(r'\(', '$').replace(r'\)', '$')
      
        # 替换 \[ 和 \] 为 $$...$$
        input_string = input_string.replace(r'\[', '$$').replace(r'\]', '$$')
      
        return input_string
    
    # 从文件中读取输入字符串
    input_file_path = 'input_string.txt'
    output_file_path = 'out_string.txt'
    
    try:
        with open(input_file_path, 'r', encoding='utf-8') as file:
            input_string = file.read()
    except FileNotFoundError:
        print(f"文件 {input_file_path} 未找到,请确保文件存在并位于正确的路径。")
        exit(1)
    
    # 转换公式格式
    converted_string = convert_latex_to_markdown(input_string)
    
    # 将结果写入文件
    with open(output_file_path, 'w', encoding='utf-8') as file:
        file.write(converted_string)
    
    print("转换完成,结果已保存到 out_string.txt 文件中。")
    
  • helloyys
    作者

    补充一下为啥会有这样的需求,因为现在大语言模型比如 chatgpt 之类的返回的内容默认 markdown 的 公式格式都是 \( \) , \[ \] ,这样的标识符,返回的内容如果想通过 vditor 进行编辑显示,就会出现这样的问题,KaTeX, MathJax 渲染默认是支持 ( \) , \[ \] ,这样的标识符,vditor 好像是因为 lute 只支持 $$ 导致的,所以问一下有没有其他的曲线解决方式 @Vanessa

  • 原来是思源的问题,我一直以为是 poe 软件的问题,不过看了下面的回帖,用行级公式可以正常显示,比以前我一个一个公式敲或者直接截图强很多,不过还是要是加强一下流行的 AI 的复制粘贴问题

    image.png

    1 回复
  • +1,用 ai 常常有这个困扰,只能用 prompt 让 ai 输出标准 markdown 格式的公式

  • 严格来说不是思源的问题,因为思源(GFM Markdown)只支持 $$$ 这两种 Markdown 公式语法 Issue #11412 · siyuan-note/siyuan

    你让 AI 输出这种语法就行了。

  • sunnnnnn

    可以让 ai 按照格式生成,但是还有个问题是,复制过来之后没法自动把两个 $ 夹着的变成公式格式

    1 回复
  • 复制过来之后没法自动把两个 $ 夹着的变成公式格式

    详细描述一下?理论上应该可以的

请输入回帖内容 ...

推荐标签 标签

  • SQLServer

    SQL Server 是由 [微软] 开发和推广的关系数据库管理系统(DBMS),它最初是由 微软、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一个 OS/2 版本。

    19 引用 • 31 回帖 • 3 关注
  • 钉钉

    钉钉,专为中国企业打造的免费沟通协同多端平台, 阿里巴巴出品。

    15 引用 • 67 回帖 • 350 关注
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 726 关注
  • SVN

    SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。

    29 引用 • 98 回帖 • 694 关注
  • Git

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    207 引用 • 358 回帖
  • Ruby

    Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。

    7 引用 • 31 回帖 • 200 关注
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 28 关注
  • FFmpeg

    FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

    23 引用 • 32 回帖 • 6 关注
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖
  • 设计模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

    198 引用 • 120 回帖
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖
  • JSON

    JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。

    52 引用 • 190 回帖 • 1 关注
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 49 关注
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    22 引用 • 70 回帖
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    12 引用 • 54 回帖 • 149 关注
  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 529 关注
  • 区块链

    区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。

    91 引用 • 751 回帖
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    51 引用 • 40 回帖
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    176 引用 • 814 回帖 • 1 关注
  • Latke

    Latke 是一款以 JSON 为主的 Java Web 框架。

    70 引用 • 533 回帖 • 760 关注
  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 582 关注
  • danl
    105 关注
  • 招聘

    哪里都缺人,哪里都不缺人。

    190 引用 • 1056 回帖 • 3 关注
  • 机器学习

    机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

    83 引用 • 37 回帖
  • flomo

    flomo 是新一代 「卡片笔记」 ,专注在碎片化时代,促进你的记录,帮你积累更多知识资产。

    5 引用 • 103 回帖 • 2 关注
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 117 关注
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    334 引用 • 323 回帖 • 1 关注