Временное решение для ошибки шрифта \ [Conjugate] в интерфейсе Mathematica для Linux - PullRequest
3 голосов
/ 08 марта 2011

Только что вышла версия 8.0.1 Mathematica, и она не исправила ошибку, которая меня больше всего раздражала.Это известная ошибка, и WRI обещает исправить ее «в будущем выпуске».Пока они этого не сделают, возможно, мы сможем найти обходной путь.

Символ для \[Conjugate] (который вводится с помощью ярлыка ⋮conj⋮) был разбит между версиями Mathematica 7 и 8.В версии 8 он не отображается, что приводит к большой путанице при чтении моего старого кода.Сравните две версии:

V7

V8


Есть два варианта, о которых я могу подумать:

  1. Найдите символ, который отображает интерфейс, когда он видит \[Conjugate], и скажите, чтобы он отображал что-то видимое.Я не уверен, возможно ли это сделать без работы с WRI и перекомпиляции внешнего интерфейса.
  2. Переопределите ярлык ⋮conj⋮ (как описано в в этом вопросе ), чтобы создать другойПостфиксный оператор, который отображается как верхний индекс * и немедленно интерпретируется как Conjugate[] - то есть он ведет себя так же, как \[Conjugate].Возможно, о свойствах дисплея можно позаботиться, используя InterpretationBox и т. Д.

Проблема с вариантом 2 заключается в том, что он не исправит мои старые ноутбуки.

У кого-нибудь есть какие-то идеи или реализация вышеперечисленного?

1 Ответ

6 голосов
/ 08 марта 2011

Вы хотите UnicodeFontMapping.tr (влияет на внешний вид), а не UnicodeCharacters.tr (влияет на интерпретацию). Сделайте резервную копию UnicodeFontMapping.tr и отредактируйте строку:

0xF3C8 N 6 0xad # \[Conjugate]

что-то вроде (используя любой заменяющий глиф, который вы хотите):

0xF3C8 N 1 0x2a # *

...