2012-01-18 5 views
3

은 내가 네 개의 텍스트 세포Mathematica 노트북에서 셀 태그를 자동으로 할당하는 방법은 무엇입니까?

foo 
qux 
blancmange 
bar 

단지 foo 전에 커서를 배치하여 작은 노트북을 만들어 여기에서, 티카-8 노트북에

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

을 셀 번호 매기기에 지시 사항을 따르려고 노력 그런 다음 Insert 메뉴 인 Automatic numbering 항목을 사용하여 Create Automatic Numbering Object 대화 상자를 표시했습니다. Counter 드롭 다운에서 항목 Text을 선택하고 This counter object 라디오 버튼을 클릭하고 Huzzah! 노트북에 Text 유형의 첫 번째 셀을 나타내는 것으로 가정하면 foo 바로 앞에 번호 1이 표시됩니다. 지금

1foo 
qux 
blancmange 
bar 

을보고 나는 삽입 내 자신의 dot space 1 후 얻을 수있는 잘 생긴

1. foo 
qux 
blancmange 
bar 

내가 bar와 마찬가지로 수행하고 예상

1. foo 
qux 
blancmange 
4. bar 

bar 때문에 참조 유형 Text의 네 번째 셀입니다. 큰. 이제 셀 quxblancmange에 대한 독립적 인 번호 매기기 시스템을 만들고 싶습니다. 나는 Cell 메뉴, Cell Tags..., Add/Remove Cell tags... 항목을 사용하고 test 태그를 quxblancmange 셀에 붙입니다. 나는 Cell 메뉴, Cell Tags..., Show cell tags 항목을 사용하여 그곳에 있는지 확인합니다. 물론 노트북에 표시됩니다 (여기서는 디스플레이를 모방하려고하지는 않지만 여기에 내 노트북에 대한 링크가 있습니다). 당신이보고 싶다면이 질문의 하단에 Dropbox 공용 폴더). 그런 다음 qux 전에 커서를 놓고 Insert 메뉴, Automatic numbering 항목을 사용하고 이번에는 Use the counter value corresponding to the location of:을 선택하고 The first cell with the tag:을 입력 한 다음 test을 작성하고 OK를 누르면 0이됩니다. 동등한 전에 blancmange. 내 최종 (나쁜) 결과는 내 자신의 dotspace와 돼지에 약간의 립스틱을 가하고 후, 존재하지 않는 태그를 참조하려고하면

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

, 내가 얻을처럼 보이는

1. foo 
XXXqux 
XXXblancmange 
4. bar 

Mathematica는 무언가를 인식했지만, 내가 기대하거나 필요로하는 것이 아닙니다.

나는 또한 내가 Format 항목에서 Item Numbered 항목을하려고 말을해야합니다,하지만 난 그것으로 두 가지 문제가있다 : (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

+1

Mathgroup에 게시 된이 영화 http://initialsingularity.com/EquationNumbering.mov를 참조하십시오. – Nasser

+1

또한 방정식의 번호 매기기에 대해 살펴 보았습니다. 관련이있을 수 있습니다. http://stackoverflow.com/questions/6870435/numbered-equations-formulas – jmlopez

+0

저는 현재 필요한 것은 "셀 태그"가 아니라는 가설을 추구하고 있습니다. 카운터." 위의 동영상은 '자동 번호 매기기'대화 상자가 태그를 카운터에 연결한다는 것을 분명히합니다. 내 작은 노트에서 내 자동 번호 매기기 참조가 존재하지 않는 카운터를 가리키고 있다고 생각합니다. 그것이 내가 조사를 계속할 때 추구 할 선입니다. –

답변

2

난 당신이 잘못된 방향으로
에서 세포 태그를 사용하려고 생각 (난 그냥 당신이 위의 댓글에서 많은 말했다 것으로 나타났습니다)!

카운터는 카운터가 자동 또는 수동으로 재설정/변경 될 수 있지만 특정 스타일의 셀 수를 이미 계산합니다. 셀 태그는 특정 방정식이나 코드 블록 등과 같이 나중에 특정 셀을 참조 할 수 있습니다.

귀하의 셀에 다음과 같은 카운터 "CounterBox["Code", "test"]"이 태그되었습니다. 이 카운터는 "test"태그가 지정된 첫 번째 코드 스타일 셀을 찾고 해당 번호를 인쇄합니다. "test"태그가 지정된 코드 블록이 없으므로 0을 반환합니다.

일반 텍스트 셀과 다른 카운터를 사용하는 텍스트 형식 셀을 사용하려면 새 텍스트 스타일을 만들어야합니다. 서식> 스타일 시트 편집으로 이동하십시오. 그런 다음 default.nb를 클릭하고 텍스트 스타일 셀을 노트의 스타일 시트에 복사하십시오. 그런 다음 다른 이름 (예 : '텍스트 2')과 다른 카운터로 수정할 수 있습니다. 그런 다음 일반 텍스트 셀과 마찬가지로 CounterBox["Text2"]을 사용하여 이러한 셀 번호를 참조 할 수 있습니다.

CounterBoxCellDingbat 또는 CellFrameLabels에 추가하여 자동으로 번호를 매길 수도 있습니다. 예를 들어, 참조 : Extending cell definition to CellFrameLabels definition와 비슷한 일을하려고 당신의 사람들을 위해 CounterIncrements for individual cells

+0

자동 번호 매기기가있는 스타일 시트의 또 다른 예는 [2 학년 수학 코스 용으로 만든 스타일 시트]입니다 (http://ftp.physics.uwa.edu.au/pub/MATH2200/2011/Assignments/). – Simon

+0

고마워요! 이것은 자물쇠 상자를 열고 나에게 많은 것을 제공합니다. –

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]} 
] 

희망이 있습니다!

관련 문제