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

今起用新的 MathJax 3 支持数学公式

[复制链接]

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

 楼主| kuing 发表于 2022-5-31 19:40
hbghlyj 发表于 2022-5-31 19:18
修改source/function/function_discuzcode.php

它应该是有这样的一行:


这段代码的意思是不是:如果 html 模式,就直接输出 message,否则就作回车和空格替换?

所以直接改成 return $message; 就行了?

另外,nl2br 这个函数在哪里定义的呢?擦,还以为是 discuz 自定义的,原来是 php 的函数,真没想到呢……

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

 楼主| kuing 发表于 2022-5-31 22:30
hbghlyj 发表于 2022-5-24 04:42
建议取消Discuz的“自动将\n替换为”以及“自动将连续的 替换为    ...”的做法,而是改为:加上 ...

事情没那么简单。
随意打开一个有贴图的帖子,查看源码,会发现在插入图片部分里面存在相当多的空行,如果设置 white-space:pre-wrap 就会连那些空行都显示出来,结果就是图片上下会有很大的空白……

点评

是否需要把这个主题分割一下呢...  发表于 2022-6-7 00:38

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

hbghlyj 发表于 2022-7-16 01:27
isee 发表于 2022-2-9 16:10
有点 XeLeTeX 的味道了,好好好


自动加空格测试
测试abc测试123测试$123$测试
没有自动加空格啊

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

 楼主| kuing 发表于 2022-7-16 01:59
hbghlyj 发表于 2022-7-16 01:27
自动加空格测试
测试abc测试123测试$123$测试
没有自动加空格啊

新版论坛取消了这。

有时空格加在了不应该加的地方,也不太好。

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

hbghlyj 发表于 2022-7-16 02:35
建议修改forum.js
  1. function keyPageScroll(e, prev, next, url, page) {
  2.         if(loadUserdata('is_blindman')) {
  3.                 return true;
  4.         }
  5.         e = e ? e : window.event;
  6.         var tagname = BROWSER.ie ? e.srcElement.tagName : e.target.tagName;
  7.         if(tagname == 'INPUT' || tagname == 'TEXTAREA') return;
  8.         actualCode = e.keyCode ? e.keyCode : e.charCode;
  9.         if(next && actualCode == 39) {
  10.                 window.location = url + '&page=' + (page + 1);
  11.         }
  12.         if(prev && actualCode == 37) {
  13.                 window.location = url + '&page=' + (page - 1);
  14.         }
  15. }
复制代码

按←和→翻页
不仅与“向左选择一段文本”的Shift+←相冲突
而且与“浏览器后退的快捷键Alt+←”相冲突
可以加上一个判断:当前没有按住Shift键或者Alt键
KeyboardEvent.altKey

点评

kuing昨天修复了此问题👌  发表于 2022-7-19 02:40

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

hbghlyj 发表于 2022-7-16 02:46
kuing 发表于 2022-2-4 15:30
回复 40# hbghlyj

说明 mathjax 里 \def 的定义不是完全与真 latex 一样呗。


好像真latex里指令名也不允许包含数字(只能包含字母)
tex.stackexchange.com/questions/9718/defining-commands-abbreviations-that-contain-numbers
但是可以这样:
\$\def\b#1{{\boldsymbol#1}}\$
\$\b0=x\$
效果:
$\def\b#1{{\boldsymbol#1}}$
$\b0=x$

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

 楼主| kuing 发表于 2022-7-16 02:53
hbghlyj 发表于 2022-7-16 02:46
好像真latex里指令名也不允许包含数字(只能包含字母)
tex.stackexchange.com/questions/9718/def ...


真 latex 里,只是 \newcommand 不允许,\def 是可以的。

以下代码报错:
  1. \documentclass{article}
  2. \newcommand{\test0}{ttt}
  3. \begin{document}
  4. \test0
  5. \end{document}
复制代码

以下代码正常:
  1. \documentclass{article}
  2. \def\test0{ttt}
  3. \begin{document}
  4. \test0
  5. \end{document}
复制代码
输出 ttt

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

hbghlyj 发表于 2022-7-16 03:05
kuing 发表于 2022-7-15 19:53
真 latex 里,只是 \newcommand 不允许,\def 是可以的。

以下代码报错:

👌已提交MathJax issue

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

 楼主| kuing 发表于 2022-7-16 14:16
hbghlyj 发表于 2022-7-16 03:05
👌已提交MathJax issue

这感觉没必要提交 issue 吧……
mathjax 与真 latex 有区别的细节多了去了,这种不常用的东西没必要纠结……

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

hbghlyj 发表于 2022-7-16 15:14
kuing 发表于 2022-7-16 07:16
这感觉没必要提交 issue 吧……
mathjax 与真 latex 有区别的细节多了去了,这种不常用的东西没必要纠结 ...


mathjax用于批量转换latex会出现像这样的问题啊,如果有其他的问题也报告一下吧

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

hbghlyj 发表于 2022-7-19 05:38
kuing 发表于 2022-7-15 19:53
真 latex 里,只是 \newcommand 不允许,\def 是可以的。

以下代码报错:


dpvc回复说
Note that TeX control sequences can't contain numbers, so what you are actually doing is defining \b with a template that requires it to be followed by 0.

好像说,指令名不允许包含数字,上面的\def是定义了\b的一个模板,该模板要求其后跟 0.

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

 楼主| kuing 发表于 2022-7-19 14:26
hbghlyj 发表于 2022-7-19 05:38
dpvc回复说

好像说,指令名不允许包含数字,上面的\def是定义了\b的一个模板,该模板要求其后跟 0. ...


嗯,准确的说法的确是这样。

就像 \def\xxx[#1]{...} 这种定义方式,也是模板,命令就是 \xxx,不包括中括号,只是后面一定要匹配中括号。

但是 mathjax 的 \def 的确是不一样。

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

hbghlyj 发表于 2022-10-24 03:16
hbghlyj 发表于 2022-3-4 21:49
回复 84# kuing
那个应该本来就是两个字符吧,参考下面的网站:
U+03A9是Greek Capital Letter Omega
U+2126是Ohm sign(电阻单位)


對某些檔案而言,區分一個字元是資訊單位而非任何特定的視覺顯示是很重要的。如aleph(א)這個希伯來字母常用於數學中,表示某種無窮,但它同時又用於原本的希伯來檔案中。在統一碼中,儘管這兩種用法有一樣外形,但它們是不同的字元,而且由不同的碼位來區分。相對地,如「水」這個中文表意文字,在日文檔案會和中文檔案中有些微不一樣的外觀,這會反映在不同地區的字體。但它們仍代表相同的資訊,即視為一樣的字元,並且在統一碼中使用一樣的碼位。

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

 楼主| kuing 发表于 2023-1-7 21:35
n次根号有点问题:
  1. $(\sqrt[3]{n})$
  2. $(\sqrt[3+3]{n})$
  3. $(\sqrt[3+3+3]{n})$
复制代码

效果:
$(\sqrt[3]{n})$
$(\sqrt[3+3]{n})$
$(\sqrt[3+3+3]{n})$

然而在 mathjax 官网的 demo 里测试却没问题,似乎只是在论坛上有问题原因未明。

=====
经更详细测试,在 mathjax 官网的 demo 里如果切换到 SVG 输出也会如此,用 CHTML 是没问题的,所以不是论坛的问题。
另外,切换版本测试,3.2.0 版正常,3.2.1 和 3.2.2 才有此问题。

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

hbghlyj 发表于 2023-1-10 00:11
kuing 发表于 2023-1-7 14:35
n次根号有点问题: 效果:
This is a duplicate of #2923, which is resolved in the upcoming version 4.0.
dpvc commented 1 hour ago

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

 楼主| kuing 发表于 2023-1-10 00:18
hbghlyj 发表于 2023-1-10 00:11
This is a duplicate of #2923, which is resolved in the upcoming version 4.0.
dpvc commented 1 hour ...

O,那就是得等 V4.0 出来?

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

hbghlyj 发表于 2023-1-10 01:14
kuing 发表于 2023-1-9 17:18
O,那就是得等 V4.0 出来?

一般dpvc会在issue下面写一个临时解决方案, 但是这个issue他没有写

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

hbghlyj 发表于 2023-1-23 00:09
kuing 发表于 2022-1-31 17:58
ΩΩ
这两个本身就是不同的字符,前者 %u2126 后者 %u03a9。


刚才用Google Doc把一个数学文档 OCR 并导出 HTML 读到了这样一段:
  1. Show that α ∶ Q[X] → Q[X]; p(X) ↦ Xp(X) is an element of E, and that there is β ∈ E such that βα = 1E, but no γ ∈ E such that αγ = 1E.
复制代码
这里的∶即不是普通的冒号:
查了一下这个Unicode码点是专门表示比率的, 属于Mathematical Operators.

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

hbghlyj 发表于 2023-1-23 00:17
hbghlyj 发表于 2023-1-22 17:09
刚才用Google Doc把一个数学文档 OCR 并导出 HTML 读到了这样一段:这里的∶即不是普通的冒号
查了一 ...

texlive.net测试了一下,在LaTeX中直接输入冒号和\colon生成的pdf复制出来的文本都是普通的冒号.
然而在这个PDF Page 8 可以复制出文本Proposition 1.23. Suppose that φ ∶ F → R is a ring homomorphism and R is non-trivial.这个就是专门表示ratio的码点, 不是普通的冒号.

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

hbghlyj 发表于 2023-1-23 02:46
hbghlyj 发表于 2023-1-22 17:09
刚才用Google Doc把一个数学文档 OCR 并导出 HTML 读到了这样一段:这里的∶即不是普通的冒号
查了一 ...
OCR是“光学字符识别”, 用在这里有点不准确: Google Doc把原文档内嵌的罕见符号∶照样输出了, 说明它是使用原文档内嵌的文本, 而不是看上去像什么就识别成什么(光学识别).

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

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

Powered by Discuz!

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