2

Cell各初期化が任意の名前で独自の .m ファイルに自動保存されるノートブックを作成する方法はありますか?

PS 質問は、Wolfram Research Inc. によって開発されたMathematicaプログラムに関連しています。数学や数学に関するものではありません。

4

1 に答える 1

1

次のアプローチがあなたを満足させるかどうかはわかりません: 私は以前、私の開発ノートブックにある初期化セルのみを含むコンパクトなノートブックを生成する方法を望んでいました。次のコードは、現在のノートブックの初期化セルを単一の新しいノートブックに書き込み、副作用として .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 バージョンで存続しています。

于 2013-02-14T17:07:02.403 に答える