[Date Index]
[Thread Index]
[Author Index]
Re: Documentation Center (v6): do-it-yourself Mathematica
*To*: mathgroup at smc.vnet.net
*Subject*: [mg79860] Re: Documentation Center (v6): do-it-yourself Mathematica
*From*: David Reiss <dbreiss at gmail.com>
*Date*: Tue, 7 Aug 2007 01:29:17 -0400 (EDT)
*References*: <200708041000.GAA06032@smc.vnet.net>
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
Prev by Date:
**Two different packages can not Need[] the same utility package?**
Next by Date:
**RE: Using ShowLegend**
Previous by thread:
**Re: Re: Documentation Center (v6): do-it-yourself Mathematica Book**
Next by thread:
**Re: Re: Documentation Center (v6): do-it-yourself Mathematica**
| |