Re: Table of Contents
- To: mathgroup at smc.vnet.net
- Subject: [mg85397] Re: Table of Contents
- From: Larry <LJ2114 at yahoo.com>
- Date: Sat, 9 Feb 2008 04:13:18 -0500 (EST)
- References: <foejuo$huu$1@smc.vnet.net> <fogif4$3c1$1@smc.vnet.net>
Sir, I tried you code in two cells in one notebook but it produced no output. Then I tried putting TOCForNotebook definition cell in one nb and the command TOCForNotebook[] in another nb, also no output. I'm curious how this is supposed to work. Thanks. David Reiss wrote: > Here is an example of a function that, when executed in the notebook > in question, will generate a set fo cells at the top of the notebook > that are hyperlinks to the section cells: > > > ClearAll[TOCForNotebook]; > > > TOCForNotebook[] := > Module[{nbr, data, cells, nb}, > > nb = EvaluationNotebook[]; > > SetOptions[nb, System`CellID -> True]; > > SelectionMove[nb, All, Notebook, AutoScroll -> False]; > NotebookWrite[nb, NotebookRead[nb]]; > > NotebookFind[nb, "Section", All, CellStyle]; > nbr = NotebookRead[nb]; > data = > nbr /. {Cell[x_, "Section", ___, z : (CellID -> w_), ___] :> {x, > w}}; > > cells = Function[x, > TextCell[ > Button[TextCell[#[[1]], "Hyperlink"], > NotebookFind[x, #[[2]], All, CellID], > Appearance -> "Frameless"], > "Text"]][nb] & /@ data; > > cells = First[ToBoxes[#]] & /@ cells; > > SelectionMove[EvaluationNotebook[], Before, Notebook, > AutoScroll -> True]; > > NotebookWrite[nb, cells]; > > ]; > > > So, first execute this code somewhere in your current Mathematica > session. Then execute > > TOCForNotebook[] > > within the notebook in question. If your Section cells have any > formatting in them then this will not quite work as expected. But it > gives a start to others that would wish to modify this. The code > exposes several coding tricks that folks will perhaps find useful.... > > > -David > A WorkLife FrameWork > E x t e n d i n g MATHEMATICA's Reach... > http://scientificarts.com/worklife/ > > On Feb 7, 4:44=A0am, =8Aer=FDch Jakub <Ser... at panska.cz> wrote: >> I use some notebooks as the collections of many small examples, which I >> allways start with cell styled as "Section" followed by usually one input = > and >> one output cell. The "Section" styled cell contains the name of the exampl= > e. >> Does anybody know, how to create Table of Contents based on these section >> cells? Idealy it would contain interactive hyperlinks directly to the cell= > s. >> Thanks in advance >> >> Jakub > >