免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 发帖

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

用 MathJax 3 的目的是为了提高显示速度,各位可以在数学区下方的草稿本里测试,看是不是爽了许多。

据 MathJax 官网介绍,MathJax 3 重写了代码,与 MathJax 2.x 从原理上就不同,所以会与以前有一些差别,如果你发现有什么变化或者问题,请回帖提出。

目前发现的一些区别如下:

$\bullet$ 关于换行,如下代码:
  1. \[ A \\ BB \]
复制代码
在以前是能够换行的,现在遵从真 LaTeX,显示为:\[ A \\ BB \]因此多行公式得用 gather* 之类的环境:
  1. \begin{gather*} A \\ BB \end{gather*}
复制代码
显示:\begin{gather*} A \\ BB \end{gather*}如果你实在不想用环境,就拆成两个公式吧,即
  1. \[ A \]\[ BB \]
复制代码
显示:\[ A \]\[ BB \]当然我建议用前者(反正草稿本里有按钮可点)

$\bullet$ 公式外的两个 \\ 会变成一个,这有一个好处,可以通过输入
  1. \\[ a^2 \\]
复制代码
得到 \\[ a^2 \\] 而不会变成公式。

$\bullet$ 超长公式(超过页面宽度)在以前能够自动换行,现在不行(官网说等以后实现)。

$\bullet$ \cancel、\xcancel 等命令可以直接使用(以前需要 \require{cancel} 才能用)。

$\bullet$ begin 之后加空格这招不灵了:以前我发现像
  1. \begin  {xxx}
  2. ...
  3. \end  {xxx}
复制代码
这样,在 begin 和 end 之后加空格,mathjax 就不处理它,从而用于呈现代码,现在它也会处理了。

$\bullet$ 关于“错误”代码的显示,就拿上面那段代码为例,xxx 是未定义环境,mathjax 会报错。
像这种报错,在以前,会原样显示+外框,可以利用它来呈现代码(特别是一大段的)。
而现在是\begin  {xxx}
...
\end  {xxx}虽然也能呈现,但区别在于它没有了换行,不利于阅读,而且当代码很长,就会超出右边界,看不到了。
所以,以后要呈现代码,请使用论坛编辑器上的“代码”按钮
为此我已经对 TeX 区的部分帖子作了编辑,但肯定还有疏漏。
各位如果发现还有需要编辑的帖子,请告诉我(如果是你自己帖子那就自行编辑好啦)。

(多行代码复制问题已解决)
$\bullet$ 关于右键菜单中的复制代码,现在有个严重的问题:
对多行的代码,复制出来会有多余的空行。比如我用以下代码来输入的公式:
  1. \begin{align*}
  2. 0 = 0 & = 0\\
  3. 0 \iff 0 & \iff 0
  4. \end{align*}
复制代码
\begin{align*}
0 = 0 & = 0\\
0 \iff 0 & \iff 0
\end{align*}对上述公式右键选择 Copy to Clipboard - TeX Commands ,粘贴出来会变成:
  1. \begin{align*}

  2. 0 = 0 & = 0\\

  3. 0 \iff 0 & \iff 0

  4. \end{align*}
复制代码
然鹅!如果在草稿本里测试,却不存在以上问题,只有复制帖子内的公式才会如此!不知道为什么。
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
$\href{https://kuingggg.github.io/}{\text{About Me}}$

另外,我之前反映的MathJax问题在我的论坛上都修复了,帖子就删了

TOP

有了sql文件,可以离线搜索,与discuz无关

TOP

回复 92# kuing


原来是图片,我说怎么都搜不到呢,硬翻到了,2017年的高考题,不等式 $a+b\leqslant 2$.

TOP

回复 90# isee

全文搜b\leqslant无结果,将单斜杠改为双斜杠,能搜到64个。

TOP

回复 90# isee

?论坛搜索跟 mathjax 无关,也跟浏览器无关,只与论坛所用的 discuz 系统有关。
discuz 的搜索系统对某些特殊符号并不是当字符串处理的,比如 a+b,搜索时实际上变成了 a b ,加号变成了空格,而空格也不是当空格处理,具体是怎样我也不清楚,有空再研究一下……
通常不直接搜整串代码,只抽取关键的部分来搜
1

评分人数

TOP

回复 89# kuing

opera dev a+b\leqslant 2 就搜不了,不论加不加美元,估计与浏览器也有关系

TOP

回复 88# isee

在论坛上可以搜。
将帖子另存为 PDF 就搜不了,所以之前存档时切换为 2.7。

TOP

MathJax 3 不支持搜公式

TOP

本帖最后由 hbghlyj 于 2022-3-4 22:34 编辑

回复 84# kuing
那个应该本来就是两个字符吧,参考下面的网站:
U+03A9是Greek Capital Letter Omega
U+2126是Ohm sign(电阻单位)
我强制加斜体\it Ω的效果为$\it Ω$
由此看出,MathJax中没有欧姆符号的斜体

TOP

本帖最后由 hbghlyj 于 2022-3-4 22:29 编辑

回复 84# kuing
不是吧...我试了一下这两个\Pi都是Π啊,也就是十进制的928啊
$ΠΠ$
$\Pi$
Π应该只有一个符号吧...
同样的符号,用指令是直体,而直接打出来是斜体(和中文打出来斜体是一个道理)

TOP

回复 84# hbghlyj

那你前面 29# 说的两个 ΩΩ 一正一斜 $ΩΩ$ 是不是也这个道理

你怎么这么好精力,我水饺咯……

TOP

本帖最后由 hbghlyj 于 2022-3-4 20:53 编辑

回复 82# kuing
又发现: 相似号\sim,不是~,而是∼
$A\sim B$
$A∼B$
差集\setminus,不是\,而是∖
$A\setminus B$
$A∖B$
连乘号\Prod,不是Π,而是∏
$\prod_{i=1}^n$
$∏_{i=1}^n$
可以在mathjax的chtml模式下检视元素,如果最里层的:before伪元素的content是\2223,那么在公式草稿本中输入"&#x 2223;"(去掉中间的空格)就显示出来了

TOP

回复 81# hbghlyj

如果用输入法打全角竖线|是 $A|B$,和你这个∣不一样,是两个不同的字符呢,不放公式里肉眼根本看不出区别……

TOP

本帖最后由 hbghlyj 于 2022-3-4 19:57 编辑

回复 79# kuing
发现\mid的真实字符是∣,而\vert的真实字符是|,但是如果直接打后者|会变成前者∣,这个被MathJax自动替换了!就像减号一样,为了方便都打连字符,自动替换为略长的数学减号.还有星号,为了方便都打*,(数学模式下)自动替换为∗.
A\mid B$A\mid B$
A∣B$A∣B$
A\vert B$A\vert B$
A|B$A|B$

TOP

本帖最后由 hbghlyj 于 2022-3-4 19:37 编辑

回复 79# kuing
不常见的符号会变小:

$A≌B$ 打反的群同构
$A≅B$ 正常的群同构
$A\cong B$ 指令\cong

检视元素以后发现,在svg下,第1个不常用符号是text,第2个常用符号是use
64#的元素一样!64#的小z属于是不常用符号,所以是text,所以可以复制出来,而且在移动端缩放时变得过小,但大写Z表示整数集是常用符号,输出是use,是路径,所以正常缩放,且不可以复制.

TOP

回复 78# hbghlyj

难道是因为 × ÷ 在中文字体里有,就当中文字符输出(或是归类为 CJK 字符),而 ∩∨⊕⊔ 这些不是,所以用 unicodemath 的方式输出?

似乎又不是,· … → 也应该属于前者,但间距也正确,不知道了……

TOP

本帖最后由 hbghlyj 于 2022-3-4 19:41 编辑

回复 77# kuing

类似的是除号:
$A÷B$
$A\div B$

域扩张(间距反而变小了):
$L:K$
$L\colon K$

差集:
$A\text{\\}B$
$A\backslash B$
$A\setminus B$

但是点积,小于/大于号,省略号,交集,并集,析取,合取,蕴含,直和,余积,正规子群⋯这些符号却没有影响:
$A\cdot B$
$A·B$

$A−B$
$A-B$

$A*B$
$A∗B$

$A\cdots B$
$A⋯B$

$A\dots B$
$A…B$

$A<B$
$A≤B$
$A⩽B$

$A∩B$
$A\cap B$

$A∨B$
$A\lor B$

$A⇒B$
$A\Rightarrow B$

$A\mapsto B$
$A↦B$

$A→B$
$A\rightarrow B$

$A⊕B$
$A\oplus B$

$A⊔B$
$A\sqcup B$

$A\triangleleft B$
$A◃B$

$A≈B$
$A\approx B$

$A⊆B$
$A\subseteq B$

$A∼B$
$A\sim B$

$A\simeq B$
$A≃B$

$A≠B$
$A\neq B$

TOP

回复 76# hbghlyj

所以不应该用输入法打出 × 而应该用代码 \times,否则 × 被当作普通字符,不会有间距,得手动加 mathbin

TOP

本帖最后由 hbghlyj 于 2022-3-4 18:04 编辑

一个小技巧\mathbin调整间距:
x×y$x×y$
x\times y$x\times y$
x\mathbin{×}y$x\mathbin{×}y$

TOP

返回列表 回复 发帖