Mathematica Linux 前端中 \[Conjugate] 字体错误的解决方法

发布于 2024-10-21 01:47:53 字数 914 浏览 4 评论 0原文

Mathematica 8.0.1 版本刚刚发布,它并没有修复最让我烦恼的 bug。这是一个已知的错误,WRI 承诺“在未来的版本中”修复它。 在他们这样做之前,也许我们可以找到解决方法。

\[Conjugate] 的符号(使用快捷键 ⋮conj⋮ 输入)在 Mathematica 版本 7 和 8 之间被破坏。在版本 8 中它不显示,这在阅读我的旧代码时导致很多混乱。比较两个版本:

V7

V8


我能想到两个选项:

  1. 找到前端看到 \[Conjugate] 时显示的符号,并告诉它显示可见的内容。我不确定如果不在 WRI 工作并重新编译前端是否可以做到这一点。
  2. 重新定义快捷方式⋮conj⋮(如这个SO问题中所述)以创建不同的后缀显示为上标* 并立即解释为Conjugate[] 的运算符——即它与\[Conjugate] 具有相同的行为。显示属性可能可以使用 InterpretationBox 等来处理...

选项 2 的问题是它无法修复我的旧笔记本。

有没有人有任何不同的想法或上述的实现?

Version 8.0.1 of Mathematica has just been released and it didn't fix the bug that has been most annoying me. This is a known bug and WRI promise to fix it "in a future release".
Until they do, maybe we can find a workaround.

The symbol for \[Conjugate] (which is entered using the shortcut ⋮conj⋮) was broken in between Mathematica versions 7 and 8. In version 8 it does not display, which leads to a lot of confusion when reading my old code. Compare the two versions:

V7

V8


There are two options that I can think of:

  1. Find the symbol that the frontend displays when it sees \[Conjugate] and tell it to display something visible. I'm not sure if this is possible to do without working at WRI and recompiling the frontend.
  2. Redefine the shortcut ⋮conj⋮ (as described in this SO question) to create a different postfix operator that displays as a superscript * and is immediately interpreted as Conjugate[] -- i.e. it has the same behaviour as \[Conjugate]. The display properties can probably be taken care of using an InterpretationBox etc...

The problem with option 2, is that it won't fix my old notebooks.

Does anyone have any different ideas or an implementation of the above?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

绮烟 2024-10-28 01:47:53

您需要 UnicodeFontMapping.tr (影响外观)而不是 UnicodeCharacters.tr (影响解释)。制作 UnicodeFontMapping.tr 的备份副本,并将行:

0xF3C8 N 6 0xad # \[Conjugate]

编辑为类似内容(使用您想要的任何替换字形):

0xF3C8 N 1 0x2a # *

You want UnicodeFontMapping.tr (affects appearance) rather than UnicodeCharacters.tr (affects interpretation). Make a backup copy of UnicodeFontMapping.tr and edit the line:

0xF3C8 N 6 0xad # \[Conjugate]

to something like (using whatever replacement glyph you want):

0xF3C8 N 1 0x2a # *

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文