After installing an add-on package (Spin) in $UserBaseDirectory/Applications, there is now a new palette for that package listed on the Palettes menu. But it's in an awkward place in the list, between the Classroom Assistant and Writing Assistant provided by installation of Mathematica itself.

How does one change the order in which palettes appear on the menu?

  • $\begingroup$ murray could you please give a link to the package location on the internet? $\endgroup$
    – magma
    Feb 28, 2012 at 0:04
  • $\begingroup$ Spin is Yuri Kandrashkin's package, from: sites.google.com/site/spinalgebra $\endgroup$
    – murray
    Feb 28, 2012 at 4:27

2 Answers 2


Okay, new approach. My old answer is preserved below for reference.

I was not aware of this before posting, but there is a MenuPosition option in the Options Inspector, and it does take effect. You will need to first check Editable so that you can edit the palette. Here is the active screen:

Mathematica graphics

In the header of a palette .nb file there is this section:

(* Internal cache information:
NotebookDataPosition[       145,          7]
NotebookDataLength[     28489,        713]
NotebookOptionsPosition[     27870,        688]
NotebookOutlinePosition[     28422,        710]
CellTagsIndexPosition[     28379,        707]
WindowTitle->Slide Show

The value of MenuPosition, if present determines the group and ordering of the palette in the menu. That is, lower values appear higher in the list, and palettes with the same value will be placed in the same group.

  • $\begingroup$ So how edit the palette .nb to change the value of MenuPosition(when the source notebook for the palette is not provided): you cannot do so in Mathematics. You must use a text editor, and then the CacheID value will no longer be valid and, I presume, must be deleted (otherwise when you subsequently open the palette you'd get a true -- but annoying -- complaint that the file had been edited outside Mathematica. My point is that there ought to be some $simple$ way to make such a change from within Mathematica itself. And more generally, to edit other options in the notebook's scaffolding. $\endgroup$
    – murray
    Feb 23, 2012 at 1:03
  • $\begingroup$ To answer partly my own question how to edit the palette: obviously you can use Notebooks[] if it's already open; then NotebookGet; edit the resulting expression; and then a NotebookPut. This requires "advanced" knowledge of Mathematica. Should there be a simpler way? $\endgroup$
    – murray
    Feb 23, 2012 at 1:08
  • $\begingroup$ @murray your comment made me take another look at this. I don't know how I missed it before but you can edit this setting from the Options Inspector. Be aware that editing and saving a palette may require changing a couple of other settings. $\endgroup$
    – Mr.Wizard
    Feb 23, 2012 at 1:16
  • $\begingroup$ With the palette in question as the only open .nb, in the Options Inspector with Selected Notebook chosen, a search on "MenuPos" showed no corresponding option item whatsoever. @Mr.Wizard, in which category/subcategory of the Option Inspector did you find the MenuPosition option? $\endgroup$
    – murray
    Feb 23, 2012 at 4:06
  • $\begingroup$ @murray that is strange. You can see in the screen capture above that the selected category is Cell Options > General Properties. Are you sure the palette is selected? With the Options Inspector already open to that category try clicking the palette title bar again. $\endgroup$
    – Mr.Wizard
    Feb 23, 2012 at 11:59

Finally I realized what to do: simply delete the MenuPosition expression in the Internal cache information section of the palette notebook. Now it appears in alphabetically correct place among all the other normal, 3rd-part palettes (none of which include a MenuPosition setting).

I was misled, by the original form of the palette as distributed by the package author. Perhaps 3rd-party palette authors shouldn't hard-code their own menu placement preference when they distribute the palette.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.