Re: Documentation Center (v6): do-it-yourself Mathematica Book
- To: mathgroup at smc.vnet.net
- Subject: [mg79809] Re: Documentation Center (v6): do-it-yourself Mathematica Book
- From: David Reiss <dbreiss at gmail.com>
- Date: Sun, 5 Aug 2007 04:52:46 -0400 (EDT)
- References: <f91jf0$6da$1@smc.vnet.net>
This is good! I made a few small changes to your code so that it does not only work on Windows. The following version makes it OS independent --David fn = FileNames["*Overview.nb", ToFileName[{$InstallationDirectory, "Documentation", "English", "System", "Tutorials"}]]; (*Find "Overview.nb" files in the tutorials-directory*) nameList = With[{case = StringReplace[#, DirectoryName[#] -> ""]}, {StringReplace[case, "Overview.nb" -> ""], "paclet:tutorial/" <> StringReplace[case, ".nb" -> ""], #}] & /@ fn; (*create a list of strings needed for future code*) Scan[(nameList[[#, 1]] = "New: " <> nameList[[#, 1]]) &, {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 -> ToFileName["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.*) On Aug 4, 6:12 am, thomas <thomas.mue... at gmail.com> 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. <snip>