4

Mathematica-8ノートブックの自動採番セルの指示に従おうとしました。

http://reference.wolfram.com/mathematica/tutorial/AutomaticNumbering.html

4つのテキストセルを備えた小さなノートブックを作成しました

foo
qux
blancmange
bar

の直前にカーソルを置き、メニューの項目をfoo使用してダイアログボックスを表示しました。ドロップダウンでアイテムを選択し、ラジオボタンをクリックして、Huzzahを選択しました。おそらくノートブックのタイプの最初のセルを参照して、直前に番号1を取得しました。私は今見ますInsertAutomatic numberingCreate Automatic Numbering ObjectCounterTextThis counter objectfooText

1foo
qux
blancmange
bar

dot space見栄えを良くするために、1の後に自分のものを挿入します

1. foo
qux
blancmange
bar

私も同じようにしbarて、期待されるものを見ます

1. foo
qux
blancmange
4. bar

barタイプの4番目のセルだからですText。素晴らしい。quxここで、セルとの独立した記数法を作成したいと思いますblancmangeCellmenu 、、Cell Tags...itemを使用し、セルとAdd/Remove Cell tags... にタグを付けます。私はmenu、、itemを使用して、それらがそこにあることを確認します。確かに、それらはノートブックに表示されます(ここでは、表示を模倣しようとはしませんが、Dropboxパブリックに私のノートブックへのリンクがありますご覧になりたい場合は、この質問の下部にあるフォルダ)。次に、カーソルを前に置き、メニュー、アイテムを使用します。今回は、ユーザーが作成したタグを選択し、次に、 [OK]をクリックすると、ゼロになります。前に同上testquxblancmangeCellCell Tags...Show cell tagsquxInsertAutomatic numberingUse the counter value corresponding to the location of:The first cell with the tag:testblancmangedot私の最終的な(悪い)結果は、私自身と豚に小さな口紅を置いた後space、次のようになります

1. foo
0. qux
0. blancmange
4. bar

存在しないタグを参照しようとすると、

1. foo
XXXqux
XXXblancmange
4. bar

Mathematicaは何かを認識しましたが、私が期待したり必要としたものは認識しませんでした。

Item Numberedまた、アイテム内のアイテムを試したことも言う必要がありFormatますが、2つの問題があります。(1)1から番号付けを再開する方法がわからないため、Item Numberedセルのすべてのブロックが同じ番号付けのシーケンスに属します。アイテム。ここで1、2、3、次に4、5、6、後で、7、8、9、さらに後でなどを取得します。実際には、個別に番号が付けられたアイテムのブロックが必要です:1、2、3、ここ、1、2 、3以降、1、2、3以降など。(2)さまざまな種類のセルに番号を付ける必要があるため、独自のタグを作成して、それらの追跡を制御する必要があります。

アドバイスをいただければ幸いです。

これが私のささいな小さなノートへのリンクです。

CellTagsAutonumbering.nb

4

2 に答える 2

2

セルタグを間違った方法で使用しようとしていると思います
(上記のコメントで同じように言っていることに気づきました)。

カウンターは、特定のスタイルのセルがすでに発生した数のみをカウントします(ただし、カウンターは自動または手動でリセット/変更できます)。セルタグは、特定の方程式やコードブロックなど、後で特定のセルを参照できるようにするためのものです。

現時点では、あなたのセルは次のカウンターを「テスト」しますCounterBox["Code", "test"]。このカウンターは、「test」でタグ付けされた最初のコードスタイルセルを探し、その番号を出力します。「test」とタグ付けされたコードブロックがないため、ゼロを返します。

通常のテキストセルとは異なるカウンターを使用するテキストのようなセルが必要な場合は、新しいテキストスタイルを作成する必要があります。「フォーマット」>「スタイルシートの編集」に移動します。次に、default.nbをクリックし、テキストスタイルセルをノートブックのスタイルシートにコピーします。次に、別の名前(たとえば、「Text2」)と別のカウンターを持つように変更できます。CounterBox["Text2"]次に、通常のテキストセルの場合と同じように、を使用してこれらのセル番号を参照できます。

CounterBoxまたはにを追加して、自動的に番号を付けることもできCellDingbatますCellFrameLabels。たとえば、次を参照してください。個々のセルのCellFrameLabels定義およびCounterIncrementsへのセル定義の拡張

于 2012-01-20T03:13:08.640 に答える
1

同様のことをしようとしている人のために:私は次のことをすることをお勧めします:

ノートブックのすべてのセルタグを抽出します

tags= Union[Cases[NotebookGet[nb], (CellTags -> t_) :> t, Infinity]]

タグを見つけてセルをループします。

Do[
NotebookLocate[tags[[i]]];
(*Some stuff you wanted to do to each cell with a certain tag*)
,{i,1,Length[tags]}
]

お役に立てば幸いです。

于 2012-04-26T00:46:36.573 に答える