2010-02-25 101 views
6

Mathematica提供Notation包來定義自定義符號,它似乎很好用,直到我將包含自定義符號的筆記本作爲包保存並嘗試使用Needs["..."]導入新符號。如Mathematica mailing list所述,在評估對Notation[]的任何調用時,這會導致奇怪的語法錯誤。建議的解決方案是手動打開記事本筆記本並將其評估到內核中,但這對於計劃分發的文件來說是一種痛苦。如果有人對這個問題有更好的解決方法,我非常感謝幫助!解決Mathematica Notation bug的方法?

+0

你可以用一個例子.m文件和您所看到的錯誤細說了,好嗎? – 2010-02-26 04:09:04

+1

當然。該軟件包位於我的個人站點(http://www.cgranade.com/academics/mathematica-packages)。試圖包括經由'這個包需要[]'的原因: 語法:: sntx:在或之前 無效語法 「符號[NotationTemplateTag [SubscriptBox [\Σ|, TemplateBox [{N_},NotationPatternTag]]] <<71> > TemplateBox [{N_},NotationPatternTag]]}]]]; <<25>> ^ – 2010-02-26 20:52:53

回答

3

我覺得你的問題就出在數學對待Notation[]的方式,quote

當定義自己的符號是 使用 符號模板非常重要。這個限制的原因是 粘貼到筆記本中的 包含 必要的標籤框,其中嵌入了 正確的方式。

它可能無法在所有有一個包文件調用Notation[],但使用ParsedBoxWrapper我沒有時間與現在玩弄的建議。

有一個缺憾解決您的問題,這是你把所有的Notation[]分配到筆記本電腦的一個細胞,使其初始化細胞(右鍵單擊該小區邊緣 - > Initalization細胞)。這將順便創建一個.m文件,僅包含該單元格的內容(但該文件將不會與Needs[]<<一起使用)。之後,你可以摺疊這個單元格,使其不可編輯,不可估量,並且嘿!幾乎就像你想要的。

我要指出,從一個分發點,因爲.m文件被再生每次加載主文件,這樣你就不需要運送多個文件時這個雜牌是相當不錯的。唯一的缺點是稍微難看的筆記本電腦(即一個隱藏的單元格),並彈出詢問您是否要評估筆記本的初始化細胞,只要你先評估該筆記本電腦的東西。

+0

這是一個很好的解決辦法,保存,我必須確保我記得保持隱藏單元格最新的感謝您! – 2010-02-26 20:37:49