Re: Re: Documentation Center (v6): do-it-yourself Mathematica

*To*: mathgroup at smc.vnet.net*Subject*: [mg79887] Re: [mg79860] Re: Documentation Center (v6): do-it-yourself Mathematica*From*: Tim Brophy <timbrophy at mac.com>*Date*: Wed, 8 Aug 2007 04:46:54 -0400 (EDT)*References*: <200708041000.GAA06032@smc.vnet.net> <200708070529.BAA11982@smc.vnet.net>

Hi David, Thanks a lot. This works perfectly. Regards, Tim On 7 Aug 2007, at 06:29, David Reiss wrote: > Hi Tim, > > The original posting was Windows specific because it used explicit > path constructs. See the original thread for an OS-indepenedent > version: > > http://groups.google.com/group/comp.soft-sys.math.mathematica/ > browse_thread/thread/cd70b00cdf27107f/2e54396141432495 > > > --David > > > On Aug 6, 3:38 am, Tim Brophy <timbro... at mac.com> wrote: >> On my Intel Mac using OSX 10.4.10 this code does not work. I have to >> click the OK button when error messages come up or Mathematica >> doesn't go any further. >> >> Tim Brophy >> >> On 5 Aug 2007, at 09:58, Murray Eisenberg wrote: >> >>> Please ignore the reply I sent earlier about this not formatting >>> correctly: I instinctually clicked an OK button on one of the pop-up >>> warning message windows. I re-ran the code without doing that and >>> everything was fine. >> >>> The idea and execution of this code are very clever -- and very >>> useful! >> >>> Now perhaps some enterprising soul will create some code that will: >> >>> (1) number the parts, sections, and subsections; >> >>> (2) append a contents listing for The Mathematica Book's "Part A. >>> Mathematica Reference Guide"; >> >>> (3) print in order, and correctly numbered, all the tutorial >>> content of >>> the sections, subsections, and items in this table of contents -- >>> including all the "home pages" for functions that would >>> correspond to >>> The Book's section A.10, "Listing of Major Built-in Mathematica >>> Objects"; >> >>> (4) create and print an index; and >> >>> (5) export a file to control one of those new 3D printers in >>> order to >>> produce a hardbound cover and spine. >> >>> Presumably it is currently beyond the control capabilities of >>> Mathematica to take the final, missing step: to stitch together the >>> printed pages and attach said binding to them. >> >>> thomas wrote: >>>> Many users on this discussion group have complained about the >>>> absence >>>> of "The Mathematica Book" in the new Documentation Center; mainly >>>> because of a missing linear introductory text of Mathematica which >>>> was >>>> present in the old Help system. >> >>>> I completely agree. However, I noticed that the various tutorial >>>> files >>>> in the Documentation center contain the text of "The Book". What is >>>> really missing is the outline. So I decided to build my own do-it- >>>> yourself version of the book. It turned out to be quite simple, >>>> thanks >>>> to the ingenious naming rules of the tutorial files (all main >>>> chapter >>>> TOC files end with "...Overview.nb".) >> >>>> The following code opens a new notebook, and prints a collection of >>>> hyperlinks to Documentation Center tutorials, laid out in the >>>> order of >>>> the good old Mathematica book. Simply execute the code and save the >>>> notebook for your own use. There are 11 chapters that I could not >>>> find >>>> in "The Mathematica Book" of the v5.2 Help system, I integrated >>>> them >>>> in an order that seemed most appropriate to me. The are marked by >>>> "New: ". >> >>>> Note that this link collection does not contain links to all >>>> tutorials. For example, no links to the "Manipulate" tutorials >>>> exist. >>>> Neither are the packages represented. >> >>>> Also be warned that the code opens help files to extract hyperlinks >>>> for incorporation in "The Book", and closes them again. Lots of >>>> windows appearing and disappearing on the screen. There will >>>> also be >>>> warnings and a "beeps" popping up because of a mismatch in cell >>>> styles, which you can ignore. Everything works fine despite the >>>> mismatch. At the end, just close the "Why the beep" dialog box. >> >>>> Here is the code that you need to execute to build your own book in >>>> v6.0.x: >> >>>> fn = FileNames[ >>>> "*Overview.nb", $InstallationDirectory <> >>>> "\\Documentation\\English\\System\\Tutorials\\"]; >>>> (*Find "Overview.nb" files in the tutorials-directory*) >> >>>> nameList = {StringTake[#, {StringPosition[#, "\\"][[-1, 1]] + >>>> 1, -12}], >>>> "paclet:tutorial/" <> >>>> StringTake[#, {StringPosition[#, "\\"][[-1, 1]] + >>>> 1, -4}], #} & /@ fn; >>>> (*create a list of strings needed for future code*) >> >>>> Do[nameList[[i, 1]] = >>>> "New: " <> nameList[[i, 1]], {i, {3, 6, 7, 8, 18, 28, 29, 40, >>>> 41, >>>> 46, 48}}]; >>>> (* mark the chapter not present in v5.2 with "New: "*) >> >>>> orderOfChapters = {{36, 3, 8, 31, 4, 47, 1, 39, 32, 14, 20, 16, 18, >>>> 17, 11, 43}, {10, 13, 35, 48, 22, 45, 9, 27, 38, 42, 44, 23, >>>> 12, >>>> 26, 15, 40, 41}, {30, 25, 2, 21, 5, 7, 37, 19, 33, 34, 28, >>>> 29, 6, >>>> 46, 24}}; >>>> (*The file list is alphabetical-this is the order in which the \ >>>> chapters should appear*) >> >>>> structure = Table[nameList[[i]], {k, 3}, {i, orderOfChapters >>>> [[k]]}]; >>>> (*needed for the code further down-represents the structure of >>>> the \ >>>> Matehmatica book*) >> >>>> mainChapters = {"A practical introduction to Mathematica", >>>> "Principles of Mathematica", >>>> "Advanced Mathematics in Mathematica"}; >>>> (*The three main headings*) >> >>>> d[x_] := Cell[ >>>> BoxData[TagBox[ >>>> ButtonBox[ >>>> PaneSelectorBox[{False -> x[[1]], >>>> True -> StyleBox[x[[1]], "HyperlinkActive"]}, >>>> Dynamic[CurrentValue["MouseOver"]], >>>> BaselinePosition -> Baseline, FrameMargins -> 0, >>>> ImageSize -> Automatic], BaseStyle -> "Link", >>>> ButtonData -> x[[2]], ButtonNote -> x[[2]]], >>>> Annotation[#, x[[2]], "Hyperlink"] &]], "Subsection"]; >>>> (*Cell representing a hyperlink to the "...Overview.nb" files*) >> >>>> nb = NotebookPut[]; >>>> SetOptions[nb, StyleDefinitions -> "Book\\Textbook.nb"]; >>>> NotebookWrite[ >>>> nb, {Cell["The Virtual Mathematica Book (v6)", "Title"], >>>> Cell["A collection of links to the tutorials present in the \ >>>> Mathematica 6.0 Documentation Center, arranged in the order of \ >>>> chapters in \"The Mathematica Book\".", "Author"]}]; >>>> Do[NotebookWrite[nb, Cell[mainChapters[[k]], "Section"]]; >>>> Do[NotebookWrite[nb, d[i]]; >>>> With[{nb1 = NotebookOpen[i[[3]]]}, >>>> NotebookFind[nb1, "TOCChapter", All, CellStyle]; >>>> NotebookWrite[nb, NotebookRead[nb1]]; NotebookClose[nb1]], {i, >>>> structure[[k]]}], {k, 3}]; >>>> SelectionMove[nb, All, Notebook]; FrontEndExecute[ >>>> FrontEndToken["SelectionCloseAllGroups"]]; FrontEndExecute[ >>>> FrontEndToken["OpenCloseGroup"]]; >>>> (*Creates the Mathematica Book.The With[...] block in the middle \ >>>> opens an "Overview.nb" file,extracts the embedded hyperlinks,and \ >>>> prints those into the Mathematica Book as well.*) >> >>>> I hope that you might find this as helpful as I do! >> >>>> Happy clicking, >>>> Thomas >> >>> -- >>> Murray Eisenberg mur... at math.umass.edu >>> Mathematics & Statistics Dept. >>> Lederle Graduate Research Tower phone 413 549-1020 (H) >>> University of Massachusetts 413 545-2859 (W) >>> 710 North Pleasant Street fax 413 545-1801 >>> Amherst, MA 01003-9305 > > >

**References**:**Documentation Center (v6): do-it-yourself Mathematica Book***From:*thomas <thomas.muench@gmail.com>

**Re: Documentation Center (v6): do-it-yourself Mathematica***From:*David Reiss <dbreiss@gmail.com>