Mathematicaはカスタム表記を定義するNotationパッケージを提供しており、カスタム表記のノートブックをパッケージとして保存し、それを使っNeeds["..."]
て新しい表記をインポートしようとするまではうまくいくようです。Mathematicaメーリングリストに記載されているように、これはへの呼び出しを評価するときに奇妙な構文エラーを引き起こしますNotation[]
。推奨される解決策は、表記ノートブックを手動で開いてカーネルに評価することですが、これは、配布する予定のファイルにとっては苦痛です。誰かが問題のより良い回避策を持っているなら、私は本当に助けていただければ幸いです!
1 に答える
あなたの問題はMathematicaの扱い方にあると思いますNotation[]
、引用:
独自の表記法を定義するときは、表記法テンプレートを使用することが非常に重要です。この制限の理由は、ノートブックに貼り付けられたテンプレートに、正しい方法で埋め込まれた重要なタグボックスが含まれているためです。
パッケージファイルを呼び出すことはまったく不可能かもしれませんが、今は遊ぶ時間がなかったParsedBoxWrapperNotation[]
を使用するという提案があります。
あなたの問題には厄介な解決策があります。それは、すべてのNotation[]
割り当てをノートブックの1つのセルに入れ、それを初期化セルにします(セルの端を右クリック->初期化セル)。これにより、偶然にも、そのセルの内容だけを含む.mファイルが作成されます(ただし、このファイルは、残念ながら、Needs[]
またはでは機能しません<<
)。その後、セルを折りたたんで、編集不可、評価不能にすることができます。あなたが望むものとほとんど同じです。
配布の観点からは、メインファイルをロードするたびに.mファイルが再生成され、複数のファイルを出荷する必要がないため、このクラッジはかなり優れていることに注意してください。唯一の欠点は、少し醜いノートブック(つまり、1つの隠しセル)と、ノートブックの初期化セルを最初に評価するたびに、そのノートブックの初期化セルを評価するかどうかを尋ねるポップアップです。