Cell
各初期化が任意の名前で独自の .m ファイルに自動保存されるノートブックを作成する方法はありますか?
PS 質問は、Wolfram Research Inc. によって開発されたMathematicaプログラムに関連しています。数学や数学に関するものではありません。
Cell
各初期化が任意の名前で独自の .m ファイルに自動保存されるノートブックを作成する方法はありますか?
PS 質問は、Wolfram Research Inc. によって開発されたMathematicaプログラムに関連しています。数学や数学に関するものではありません。
次のアプローチがあなたを満足させるかどうかはわかりません: 私は以前、私の開発ノートブックにある初期化セルのみを含むコンパクトなノートブックを生成する方法を望んでいました。次のコードは、現在のノートブックの初期化セルを単一の新しいノートブックに書き込み、副作用として .m ファイルを自動保存しますが、初期化セルごとに個別のノートブックと .m ファイルを生成するように簡単に適応させることができます。
In[162]:= nbToExtract = SelectedNotebook[]
In[163]:=
extractInitializationCells[nb_] :=
Block[{nbNew = CreateDocument[], count = 0},
(SelectionMove[nb, Next, Cell];
While[NotebookRead[nb] =!= {}, (If[InitializationCell /.
Options[NotebookSelection[nb], InitializationCell],
(count++;
NotebookWrite[nbNew, NotebookRead[nb]]), {}]; SelectionMove[nb, Next, Cell])];
Print[ToString[count] <> " initialization cell(s) found"];
CurrentValue[nbNew, AutoGeneratedPackage] = Automatic;
NotebookSave[nbNew, fn];
NotebookClose[nbNew];
Clear[nbNew](* just in case *))]
extractInitializationCells[nbToExtract]
extractInitializationCells
これは、関数が呼び出されたセルの下の初期化セルのみを抽出します。そして、自動生成パッケージ メカニズムの使用に関する以前の警告に同意します。また、CurrentValue
後方非互換性から無期限に保護されているわけではありませんが、これまでのところいくつかの主要な Mathematica バージョンで存続しています。