找回密码
 快速注册
搜索
楼主: zhcosin

KaTeX -- 网页数学公式TeX渲染

[复制链接]

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

kuing 发表于 2018-4-7 18:08
回复 19# isee

很早以前有些论坛就用过
  1. ` 代码 `
复制代码
来输入公式了,不过那时通常不是LaTeX代码,而是AsciiMath代码。

830

主题

4862

回帖

3万

积分

积分
36159

显示全部楼层

isee 发表于 2018-4-7 18:15
回复 21# kuing

涨知识了

1

主题

55

回帖

329

积分

积分
329

显示全部楼层

huing 发表于 2018-9-10 14:58
初来咋到,有些东东还不熟悉。
前天回帖时(速度法证彭塞列封闭定理的积分补充)发现公式有两种颜色,就是KaTeX和MathJax分别解析的原因么?

15

主题

958

回帖

1万

积分

积分
12454

显示全部楼层

色k 发表于 2018-9-10 15:05
回复 23# huing

是的

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

kuing 发表于 2020-12-20 17:48
才发现原来 KaTeX 也支持自定义命令,不过暂时只看到不带参数命令的定义方法,带参数的(如 \abs{XX})还不知咋弄。
不过有不带参数的就已经可以定义好多个了,如 \px, \du, \LHS 这些,这样就可以有更多的公式使用 KaTeX 了

\[
\LHS=AB\px CD \riff 90\du
\]\[\LHS=AB\px CD \riff 90\du\]
以上两段代码一样,前者有换行用 MathJax,后者无换行用 KaTeX,以前在没自定义命令之前是不行的。

413

主题

1558

回帖

1万

积分

积分
11498

显示全部楼层

abababa 发表于 2020-12-20 20:24
回复 25# kuing
这个网友曾经给我做了一个,带参数的是用这个定义的吧:
  1. function render() {
  2.         var latex_src = document.getElementById('latex_src');
  3.         var latex_target = document.getElementById('latex_target');
  4.         //var html = katex.renderToString(latex_text.innerHTML);
  5.         latex_target.innerHTML = latex_src.innerHTML;
  6.         renderMathInElement(latex_target, {
  7.                 delimiters: [
  8.                         {left: "$", right: "$", display: true},
  9.                         {left: "\\[", right: "\\]", display: true},
  10.                         {left: "$", right: "$", display: false}
  11.                 ],
  12.                 macros: {
  13.                         "\\abs": "\\left| #1 \\right|",
  14.                         "\\vv": "\\overrightarrow",
  15.                         "\\pd": "\\frac{\\partial #1}{\\partial #2}",
  16.                 }
  17.         });
  18. }
  19. 就是那个macros的,里面就能加一些参数了
复制代码

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

kuing 发表于 2020-12-20 20:29
回复 26# abababa

也在网上搜到了,刚弄好

这样除了多行公式之外基本上都可以 KaTeX 了

413

主题

1558

回帖

1万

积分

积分
11498

显示全部楼层

abababa 发表于 2020-12-20 21:12
回复 27# kuing

多行公式在katex里也可以用吧,就是
  1. \[
  2. \begin{aligned}
  3. f(x)&=x^2+1\\
  4. &=(x+1)^2-2x
  5. \end{aligned}
  6. \]
复制代码
这种

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

kuing 发表于 2020-12-20 21:37
回复 28# abababa

首先这和真 LaTeX 的习惯不同,这种一般用 align* 。
其次前面 6# 说过在本论坛上要用 KaTeX 的话代码必须写在同一行内,否则 KaTeX 不识别,那多行公式全写在一行里不但不符合习惯还不利于代码阅读和修改。
所以多行公式我还是按平常那样输入,留给 MathJax 编译……

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

kuing 发表于 2020-12-22 20:38
话说,现在 KaTeX 已经更新到 0.12.0,而我这里固定加载的是 0.9.0,也不知有没有必要更新?会不会没那么快呢?

830

主题

4862

回帖

3万

积分

积分
36159

显示全部楼层

isee 发表于 2020-12-22 21:39
回复 30# kuing

这个取决于你有没有时间折腾,与版本关系不大

手机版|悠闲数学娱乐论坛(第3版)

GMT+8, 2025-3-4 12:01

Powered by Discuz!

× 快速回复 返回顶部 返回列表