MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Table of Contents

  • To: mathgroup at
  • Subject: [mg85377] Re: Table of Contents
  • From: David Reiss <dbreiss at>
  • Date: Thu, 7 Feb 2008 22:29:54 -0500 (EST)
  • References: <foejuo$huu$>

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:


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,

   cells = Function[x,
         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


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....

A WorkLife FrameWork
E x t e n d i n g MATHEMATICA's Reach...

On Feb 7, 4:44=A0am, =8Aer=FDch Jakub <Ser... at> 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 =
> one output cell. The "Section" styled cell contains the name of the exampl=
> Does anybody know, how to create Table of Contents based on these section
> cells? Idealy it would contain interactive hyperlinks directly to the cell=
> Thanks in advance
> Jakub

  • Prev by Date: Re: Re: silly problem
  • Next by Date: Re: Re: Mathematica 6.0.0 no graphics output on Windows XP
  • Previous by thread: Re: Table of Contents
  • Next by thread: Re: Table of Contents