3

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?

Community
  • 1
  • 1
Simon
  • 14,631
  • 4
  • 41
  • 101
  • 1
    Actually, after playing around a bit, option 1 seems feasible. Just need to change the `SystemFiles/FrontEnd/TextResources/UnicodeCharacters.tr` file and choose the character that you want. I'm not sure if the `UnicodeFontMapping.tr` file makes any difference. So far, there's been no side effects. The idea for looking at these files came from [this SO question](http://stackoverflow.com/q/4209405/421225). – Simon Mar 08 '11 at 05:27

1 Answers1

6

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 # *

ragfield
  • 2,486
  • 13
  • 15
  • Thanks ragfield - seems to work perfectly. Would you mind explaining what all of the columns in your fix actually mean? (And why couldn't WRI tech support suggest something like this?) – Simon Mar 09 '11 at 09:26
  • 2
    Some of the file format is specified in the comments of the file itself. The first entry is the unicode character. The second entry defines what kind of spanning is used (N->none, H->horizontal, V->vertical, D->over/underscript). The third entry specifies which font to use (numbers defined in file). The fourth entry specifies which glyph(s) in that font. So the change you made replaced the default rendering of \[Conjugate] (using some Mathematica5 font glyph that didn't work for some reason) with '*' from the base font (e.g. Courier). – ragfield Mar 10 '11 at 17:19