Forgot password?
 Create new account
View 1271|Reply 12

关于 [code] 里的 $

[Copy link]

701

Threads

110K

Posts

910K

Credits

Credits
94177
QQ

Show all posts

kuing Posted at 2021-3-18 15:10:53 |Read mode
这里的 [ code ] 指的是像下面这样的代码展示:
  1. $\sqrt{x}$
  2. `\frac ab`
Copy the Code
以往由于论坛加载了 mathjax 和 katex ,它们会解析 [ code ] 里的公式,导致有时无法正确展示代码,不得不改变写法。

经阅读 mathjax 和 katex 的文档,原来它们都是可以设置忽略某些 tag 和 class 的,设置完问题就得到了解决。
PS1、有默认忽略的 tag,如 pre、textarea 等,但论坛的 [ code ] 所生成的块并不是它们之一。
PS2、早就该去解决,竟然拖到了今天……

然而在测试时,又意外发现论坛本身也有 bug,它会把 [ code ] 里面连续两个 \$ 变成一个 \$ 擦擦!
大家可以亲手试试(这里无法演示),回复本帖,点击代码按钮输入 \$\$ 提交回复,看看是不是会变成
  1. $
Copy the Code
PS3、这与 mathjax、katex 无关,我试过清空它们,结果一样。
PS4、你猜连续三个 \$ 会如何?回复完,编辑,再发布,又会如何?

以前没发现,估计是因为我基本不用双美元,而是用 \ [ 和 \ ],就没这种问题了。

801

Threads

4889

Posts

310K

Credits

Credits
36169

Show all posts

isee Posted at 2021-3-18 15:18:56
回复 1# kuing


    那一个 $ 也必须提了,\(  配对的是 \)

701

Threads

110K

Posts

910K

Credits

Credits
94177
QQ

Show all posts

 Author| kuing Posted at 2021-3-18 15:31:03
回复 2# isee

单个 \$ 在哪里都没问题的啊,只是 [ code ] 里的 \$\$ 会变成 \$ ,展示代码时注意这一点就是了,平常都可以照常使用

701

Threads

110K

Posts

910K

Credits

Credits
94177
QQ

Show all posts

 Author| kuing Posted at 2021-3-18 15:55:16
另外,由于旧版 katex 似乎还没有忽略 class 的设置,所以这次我把加载 katex 的版本由 0.9.0 升到 0.13.0 。

新旧版会有些差别,目前发现的有:
(1)旧版 katex 要在公式中使用中文必须用 \text ,新版不需要了,比如:
  1. `\dfrac中文`
Copy the Code
直接显示 `\dfrac中文`
也就是说,要求没以前那么高了……

418

Threads

1628

Posts

110K

Credits

Credits
11891

Show all posts

abababa Posted at 2021-3-18 18:19:56
回复 1# kuing
两个$:
  1. $
Copy the Code
三个$:
  1. $$
Copy the Code
这一进编辑,原来的两个$就剩一个了,还得重新加上。看来禁用代码什么的也对这个不管用。

801

Threads

4889

Posts

310K

Credits

Credits
36169

Show all posts

isee Posted at 2021-3-18 22:49:39
回复 4# kuing


    和主流 latex 不符,如texlive ,并不是好事儿

701

Threads

110K

Posts

910K

Credits

Credits
94177
QQ

Show all posts

 Author| kuing Posted at 2021-3-18 22:51:39
回复 6# isee

向**势力低头

701

Threads

110K

Posts

910K

Credits

Credits
94177
QQ

Show all posts

 Author| kuing Posted at 2021-3-22 01:00:41
糟糕,发现新问题:
KaTeX:
  1. \[ \sqrt        x       +       \frac       ab \]
Copy the Code
\[ \sqrt        x       +       \frac       ab \]
MathJax:
  1. \[
  2. \sqrt        x       +       \frac       ab
  3. \]
Copy the Code
\[
\sqrt        x       +       \frac       ab
\]
如果是旧版 katex,第一个是不会用 katex 处理的,因为连续多个空格在论坛上内部大概会变成   之类的东西,旧版不接受它,所以不管,然后 mathjax 处理,mathjax 能忽略   ,所以结果正常,而新版 katex 接受了这个   并且真的把它视为空格处理,结果就像上面那样变成根号空格分子分母空格……

那如何让 katex 也忽略   呢?如果解决不了这个问题,就只能回到旧版了,因为肯定会有些旧帖子存在这种问题……

701

Threads

110K

Posts

910K

Credits

Credits
94177
QQ

Show all posts

 Author| kuing Posted at 2021-3-22 15:56:59
回复 8# kuing

搜到了这个 github.com/KaTeX/KaTeX/discussions/2606
问题已解决,楼上第一个公式的显示已      恢复正常。
  1. `a~~~b\ \ \ c`
Copy the Code
`a~~~b\ \ \ c` 且不影响用 ~ 和 \  作为空格的使用

801

Threads

4889

Posts

310K

Credits

Credits
36169

Show all posts

isee Posted at 2021-3-22 17:17:08
回复 8# kuing


  测试仅一个空格\[\sqrt x + \frac ab\]
==========================
正常,那对我无所谓了~

801

Threads

4889

Posts

310K

Credits

Credits
36169

Show all posts

isee Posted at 2021-3-22 17:18:33
回复 9# kuing

原来是修改正常了,辛苦辛苦~

701

Threads

110K

Posts

910K

Credits

Credits
94177
QQ

Show all posts

 Author| kuing Posted at 2021-3-22 17:22:08
回复 11# isee

昨晚 8# 的效果大概就像这样子: ` \sqrt ~~~~~~~x~~~~~~+~~~~~~\frac~~~~~~ab `

  1. ¥¥$$
Copy the Code

801

Threads

4889

Posts

310K

Credits

Credits
36169

Show all posts

isee Posted at 2021-3-22 17:43:34
回复 12# kuing


看到了~那时~

手机版Mobile version|Leisure Math Forum

2025-4-20 22:33 GMT+8

Powered by Discuz!

× Quick Reply To Top Return to the list