Re: Re: How should I start with mathematica?

*To*: mathgroup at smc.vnet.net*Subject*: [mg85511] Re: [mg85488] Re: How should I start with mathematica?*From*: Curtis Osterhoudt <cfo at lanl.gov>*Date*: Wed, 13 Feb 2008 04:11:42 -0500 (EST)*Organization*: LANL*References*: <fobjom$mqj$1@smc.vnet.net> <fopapm$b65$1@smc.vnet.net> <200802111212.HAA14606@smc.vnet.net>*Reply-to*: cfo at lanl.gov

If I'm correct in what you're remembering, the original author was Thomas Meunch; I got that message on 2007-08-04. Then David Reiss made some minor changes; that message was received on the next day. Both of those messages are quoted at the bottom of this message. If it helps, great! If not, I apologize to the list for the static. Best wishes, C.O. On Monday 11 February 2008 05:12:28 David Bailey wrote: > > Murray, > > I completely agree - can you remember who it was who wrote a > "Mathematica book generator" and posted it here - if you can, I will add > a link to it on my site, because that is all that we seem to have for > the foreseeable future! > > I think WRI's approach to documentation is a real mistake. Newbies must > find it almost impossible to get into the software. Also, some of the > new features of 6.0 - such as all the new capabilities of Import and > Export are almost buried and unusable because of poor, vague, > Microsoft-style documentation. > > David Bailey > http://www.dbaileyconsultancy.co.uk =============== original (Thomas') message ============== 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[ =C2=A0 =C2=A0"*Overview.nb", $InstallationDirectory <> =C2=A0 =C2=A0 "\\Documentation\\English\\System\\Tutorials\\"]; (*Find "Overview.nb" files in the tutorials-directory*) nameList = {StringTake[#, {StringPosition[#, "\\"][[-1, 1]] + =C2=A0 =C2=A0 =C2=A0 =C2=A0 1, -12}], =C2=A0 =C2=A0 =C2=A0"paclet:tutorial/" <> =C2=A0 =C2=A0 =C2=A0 StringTake[#, {StringPosition[#, "\\"][[-1, 1]] + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A01, -4}], #} & /@ fn; (*create a list of strings needed for future code*) Do[nameList[[i, 1]] = =C2=A0 =C2=A0"New: " <> nameList[[i, 1]], {i, {3, 6, 7, 8, 18, 28, 29, 40, = 41, =C2=A0 =C2=A0 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, =C2=A0 =C2=A0 17, 11, 43}, {10, 13, 35, 48, 22, 45, 9, 27, 38, 42, 44, 23, = 12, =C2=A0 =C2=A0 26, 15, 40, 41}, {30, 25, 2, 21, 5, 7, 37, 19, 33, 34, 28, 29= , 6, =C2=A0 =C2=A0 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", =C2=A0 =C2=A0"Principles of Mathematica", =C2=A0 =C2=A0"Advanced Mathematics in Mathematica"}; (*The three main headings*) d[x_] := Cell[ =C2=A0 =C2=A0BoxData[TagBox[ =C2=A0 =C2=A0 =C2=A0ButtonBox[ =C2=A0 =C2=A0 =C2=A0 PaneSelectorBox[{False -> x[[1]], =C2=A0 =C2=A0 =C2=A0 =C2=A0 True -> StyleBox[x[[1]], "HyperlinkActive"]}, =C2=A0 =C2=A0 =C2=A0 =C2=A0Dynamic[CurrentValue["MouseOver"]], =C2=A0 =C2=A0 =C2=A0 =C2=A0BaselinePosition -> Baseline, FrameMargins -> 0, =C2=A0 =C2=A0 =C2=A0 =C2=A0ImageSize -> Automatic], BaseStyle -> "Link", =C2=A0 =C2=A0 =C2=A0 ButtonData -> x[[2]], ButtonNote -> x[[2]]], =C2=A0 =C2=A0 =C2=A0Annotation[#, x[[2]], "Hyperlink"] &]], "Subsection"]; (*Cell representing a hyperlink to the "...Overview.nb" files*) nb = NotebookPut[]; SetOptions[nb, StyleDefinitions -> "Book\\Textbook.nb"]; NotebookWrite[ =C2=A0 nb, {Cell["The Virtual Mathematica Book (v6)", "Title"], =C2=A0 =C2=A0Cell["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"]]; =C2=A0 Do[NotebookWrite[nb, d[i]]; =C2=A0 =C2=A0With[{nb1 = NotebookOpen[i[[3]]]}, =C2=A0 =C2=A0 NotebookFind[nb1, "TOCChapter", All, CellStyle]; =C2=A0 =C2=A0 NotebookWrite[nb, NotebookRead[nb1]]; NotebookClose[nb1]], {i, =C2=A0 =C2=A0 structure[[k]]}], {k, 3}]; SelectionMove[nb, All, Notebook]; FrontEndExecute[ =C2=A0FrontEndToken["SelectionCloseAllGroups"]]; FrontEndExecute[ =C2=A0FrontEndToken["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 ================= end Thomas' message == ================= ================= David Reiss' response = ================== 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 =2D-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.*) ================ end David Reiss' message = =============== =2D- ========================== ========================== ======== Curtis Osterhoudt cfo at remove_this.lanl.and_this.gov PGP Key ID: 0x4DCA2A10 Please avoid sending me Word or PowerPoint attachments See http://www.gnu.org/philosophy/no-word-attachments.html ========================== ========================== ========

**References**:**Re: How should I start with mathematica?***From:*David Bailey <dave@Remove_Thisdbailey.co.uk>