Я думаю, что ваша проблема заключается в том, как Mathematica рассматривает Notation[]
, цитата :
При определении ваших собственных обозначений крайне важно использовать шаблоны обозначений.Причина этого ограничения заключается в том, что шаблоны, вставленные в записную книжку, содержат необходимые поля тегов, вставленные правильным образом.
Возможно, вообще не будет возможности вызывать файл пакета Notation[]
, ноесть предложение об использовании ParsedBoxWrapper , с которым у меня сейчас не было времени поиграться.
Существует неясное решение вашей проблемы, заключающееся в том, что вы ставите все Notation[]
назначений в одну ячейку записной книжки и сделать ее ячейкой инициализации (щелкните правой кнопкой мыши по краю ячейки -> ячейка инициализации).Это, кстати, также создаст файл .m только с содержимым этой ячейки (но этот файл, увы, не будет работать с Needs[]
или <<
).После этого вы можете свернуть ячейку, сделать ее недоступной для редактирования, не поддающейся оценке и эй presto!Почти как то, что вы хотите.
Я должен отметить, что с точки зрения распространения этот kludge довольно хорош, так как файл .m перегенерируется каждый раз, когда вы загружаете основной файл, поэтому вам не нужно отправлять несколькофайлы.Единственным недостатком является слегка уродливый Блокнот (то есть одна скрытая ячейка) и всплывающее окно с вопросом, хотите ли вы оценить ячейки инициализации Блокнота при первой оценке чего-либо в этом Блокноте.