JSL 中下标和上标的帮助JSL 的各位成员大家好!
JMP 似乎已经丢失(或取消)了一些文本修改选项,例如使用 Word 中的复制/粘贴功能将包含普通文本和上标(下标)文本的文本移动到 JSL 中。
以前,我可以轻松地从 Word 文档中复制粘贴像“g/cm3 ”这样的文本到 JSL 编辑器,格式也会随之保留,这样我就可以像在 Word 中一样显示文本。现在,我这样做只会得到“g/cm3”。而且也没有简单的方法可以修改文本使其正确显示。我知道 JMP 支持 Unicode,但这实在太麻烦了,而且并非所有字符都支持。
此外,我也无法让 JSL 显示下标文本。我想显示类似 `sample BKG`这样的文本,但 JSL 不接受这种文本形式。
难以置信,到了 2026 年,JMP 似乎仍然没有这项功能。我在愿望清单和讨论区都看到过其他用户提出同样的需求。如果能够完全控制所有字符(0-9、AZ、az 以及所有希腊字母(大小写)的上标(下标),将极大地提升 JMP 中信息传递的效率。我已经为此提交了一个愿望清单,但我注意到它已经在清单里好几年了。
如果有人找到了可以强制文本框("....")中的文本像我的示例一样以上标(下标)显示的方法,请告诉我。
谢谢!,
DS
自动化和脚本编写数据探索与可视化大规模定制分享和交流结果回复:关于 JSL 中下标和上标的帮助使用 Unicode 字符脚本编写指南 > 数据类型 > 数字和字符串 > Unicode 字符
Names Default To Here(1);
nw = New Window("", Text Box("m/s\!U00B2"));
回复:关于 JSL 中下标和上标的帮助这是正确的方法。它还能避免跨平台(Windows/MacOS)兼容性问题。
回复:关于 JSL 中下标和上标的帮助嗨@jthi和@MathStatChem ,
是的,我熟悉这种方法——只是繁琐又慢。如果 JMP 支持 LaTeX 或扩展 HTML 格式就好了,这样就能更高效地编写不同类型或更复杂的上标和下标文本。即使使用 JSL 的 Unicode 方式也无法完全实现我的目标——但总比什么都不做要好。
例如,
"\!U0394\!U1D00\!U0299\!U1D04"
将产生以下结果:

这很接近,但严格来说并不完全相同:Δ ABC ——“ABC”只是个小写字母,在JSL中并非真正的下标。而且,手动查找每个字母也很麻烦。你可以这样做:h 最初的在 JSL 中,它的 JSL 代码是
"h\!U1D62\!U2099\!U1D62\!U209C\!U2090\!U2097"
由此得出:

这对于小写拉丁字母下标有效,但对于大写字母作为真正的下标则无效。
总之,这个过程很繁琐,无法实现高效简洁的 JSL 脚本编写。如果 JSL 能扩展其标记功能,支持 HTML,那就太好了,因为他们已经实现了粗体、斜体和下划线等功能。
所以,针对我之前提出的关于如何将大写字母作为真正的下标的问题,目前JSL中还没有找到任何变通方法。Unicode也没有任何值可以表示真正的下标大写字母,因此无法使用Unicode值。

如果JMP/JSL也能具备这个功能就好了,我只是说说而已……
谢谢!,
DS
回复:关于 JSL 中下标和上标的帮助目前来看,使用Unicode字符的方法可行。不过,我完全理解其中存在的所有缺陷和不足。
为了方便我自己的 JSL 开发,我在主窗口固定了一个脚本文件,里面记录着 Unicode 字符,就像一个简易的脚本速查表。遇到以前没用过的字符时,我会把它们添加到脚本中。我把包含 Unicode 转义序列的字符串放在一行。我执行这个字符串,然后从 JMP 日志中复制结果字符到脚本的第二行。这样,我的脚本字符串里就包含了 Unicode 字符本身,而不是转义序列。这种方式更易于使用和阅读。
我的手机上也安装了一款Unicode应用程序。它包含易于搜索的字符库,方便查找新字符。
回复:关于 JSL 中下标和上标的帮助嗨@Mark_Bailey ,
非常感谢您提供的技巧,即准备一个 JSL 脚本来评估 Unicode 字符序列,然后将结果复制/粘贴到自己的 JSL 代码中。
这绝对有助于提高代码的可读性,并且使查找超过 15 万个不同的 Unicode 字符变得更加容易。(据快速搜索显示,Unicode 字符的数量可能超过 110 万个。)
我现在就开始!
我对Unicode字符管理机构的决定感到震惊,他们为什么不把所有可能的拉丁字符都收录进去呢?例如,Unicode里就没有下标“b”的字符。为什么?他们收录了其他几个拉丁字符和特殊音标字符,却唯独没有下标“b”。我觉得这太奇怪了。
谢谢!,
DS