Re: Re: Documentation Center (v6): do-it-yourself Mathematica
- To: mathgroup at smc.vnet.net
- Subject: [mg79830] Re: [mg79820] Re: [mg79791] Documentation Center (v6): do-it-yourself Mathematica
- From: Tim Brophy <timbrophy at mac.com>
- Date: Mon, 6 Aug 2007 03:35:34 -0400 (EDT)
- References: <200708041000.GAA06032@smc.vnet.net> <200708050858.EAA22656@smc.vnet.net>
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 murray 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: Murray Eisenberg <murray@math.umass.edu>
- Documentation Center (v6): do-it-yourself Mathematica Book