I'm working on a package that needs to be installed into an arbitrary, "non standard" path (i.e., not $BaseDirectory
or $UserBaseDirectory
).
I have added the package's path to $Path
in order to allow Mathematica to load the package via Get
or Needs
, and this works well.
My problem is that the package also needs to include custom stylesheets and custom palettes, and these are not available in the front-end menus (Format-->Stylesheet and Palettes, respectively) when the package is loaded from a non-standard location.
If I put the package files in $BaseDirectory
the custom stylesheet and palette are accessible from the front-end menus, since the package follows the standard structure:
package\FrontEnd\StyleSheets\mystyle.nb
package\FrontEnd\Palettes\mypalette.nb
but this doesn't seem to work if it is loaded from an arbitrary path.
This Wolfram tutorial says that:
Stylesheet are discovered by the front end in the following locations.
FrontEnd`FileName[{$UserBaseDirectory,"SystemFiles","FrontEnd","StyleSheets"}]
FrontEnd`FileName[{$InstallationDirectory,"SystemFiles","FrontEnd","StyleSheets"}]
Stylesheets contained in directories are grouped under submenus in the Stylesheet menu. Add-on applications following the same layout also add stylesheets to the menu.
How can I install a package in a directory that's not $UserBaseDirectory
or $BaseDirectory
, and still make the stylesheets and palettes available in the Mathematica menus?