(* Content-type: application/mathematica *)
(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)
(* CreatedBy='Mathematica 7.0' *)
(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[ 145, 7]
NotebookDataLength[ 117775, 2565]
NotebookOptionsPosition[ 57332, 1264]
NotebookOutlinePosition[ 113922, 2448]
CellTagsIndexPosition[ 113842, 2443]
WindowFrame->Normal*)
(* Beginning of Notebook Content *)
Notebook[{
Cell[BoxData[
GraphicsBox[
TagBox[RasterBox[CompressedData["
1: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
PHny/tPnFgo/uTjs6jpt7Z9z65jxS9/qOfny72rg7yrvz/WxZ35+Z/va3Tvf
+eEP8i69fnvz3LkRhwofnOVQ4c2xaX91cuHqlXiE5188Wzn+uA7oUOFUp/ps
uMbOq+u7FeNq/Yr089Nnzoz6ZiZ8NaXwtu2bN26/v5v/OYW/1XCc+jl89guv
znLh4ePjLhAAAAAAgPl68olPzKU0OHt44sS8DtUSfj7x4OENnR9vvW34tGji
B8sTGHzv/zjDan28/v4hd+CDtbW+kVk6yMAbPpWN/ct5XD23x/s3cGOaw14/
efLRqC99d22t9baBY77RH8xdev32O3sffv9//X1f9x4+OL+zPeRQF65eqR/q
Oz/8wZCxS3r/6BFh+EXxCJ2/rnKGQzqgQ4VTHXGEid9OuhXjat3A9PNrd+8c
xFfTuiH1k3/v448qk8rw0iwXPst4GgAAAACAOToW88GNpvmgmNpUur+2Vr/M
g5sPTjVOGj4f3OiaW1WqXOBBzAe31tcnTvFSj3pmuOUlT/W3FO5PPnncLC7z
0YDR7bhPPXWEc+fuPXyQz0Te2fswLdF67+OP8pduv79bWa71/ItnW4cKH0+H
ak1e6odqnh66jVjA2KzSfHDiLT2g+WDfvZ3xq0mu3b3TOpP051T+pXVOSM0H
AQAAAACWw4yzvHLGNPf54EbT7E1/zHAaG/2XeaDzwcef+MTAJXID54Pj7sBu
MSSN5j4fvD5p2WBn9Snq1vr6iGPuPf2llxPViXuclt/IVIsHN8+dSxPA8I9r
d++U+z2G99x6936amLyz92HntC4/VCh8pHzb+Z3tfFB17+GDyogwH9OEdw6/
qGTIfDC8Z8SROw/VmvSNk+aDQ04s3OELV68MuaXpPbOfYfP0VxP+HkbsMjpx
PhiOefv93XwsWI7/wnu2b97IF6uW47w0HzTpAwAAAAA41mac5ZUzpvnOB8eN
xsphUOulA50PPtnf5HPIwYfMB2e5A50jwvnOB7eKo437gnKbo4aDsXxEWC4G
rO/+Gj7Y+r1TLR7MJ3r3Hj6oPwkuvDkNYsKnWq+Gz+aHqi/3O7+znb+5b7o0
+0qupZ8PJvkt7dzz8+Dmg32/sW7ifDAfSW/fvFE5VPj7yd984eqV/FXzQQAA
AACA5fCl9fW+WmOpvf1tIftKQ5mH03yqfqimZ1vRRydOvHbyZJpqhX/cX1tr
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
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AACAo+8lAAAAAAAAYGXsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAC/d3f/8/JUmSJEmSJEmSJK1I//CPP5IkSZIkSZIkSZIk
SZIkSZIkSZIkSUvWP/7ox5IkSZIkSZIkSZIkSZIkSZIkSZIkacn60Y9/IkmS
JEmSJEmSJEmSJEmSJEmSJEmSlqwf/0SSJEmSJEmSJEnS6vRTSZIkSZIkSZIk
SSvST34qSZIkSZIkSZIkaXX6mSRJkiRJkiRJkqQV6ac/kyRJkiRJkiRJkrQ6
/VySJEmSJEmSJEnSivSzn0uSJEmSJEmSJElanX4hSZIkSZIkSZIkaUX6+S8k
SZIkSZIkSZIkrU6/lCRJkiRJkiRJkrQi/UKSJEmSJEmSJEnS6vTLX0mSJEmS
JEmSJElakX4pSZIkSZIkSZIkaXX61a8lSZIkSZIkSZIkrUi/+rUkSZIkSZIk
SZKk1ek3kiRJkiRJkiRJklakX0uSJEmSJEmSJElanX4jSZIkSZIkSZIkaVX6
zW9+K0mSJEmSJEmSJGlV+q0kSZIkSZIkSZKkVem3v/2dJEmSJEmSJEmSpFXp
d5IkSZIkSZIkSZJWpd/97veSJEmSJEmSJEmSVqXfS5IkSZIkSZIkSVqVfv/7
f5IkSZIkSZIkSZK0IgEAAAAAAACr5A+SJEmSJEmSJEmSVqU/SJIkSZIkSZIk
SVqV/vCHf5YkSZIkSZIkSZK0IgEAAAAAAACr5H9LkiRJkiRJkiRJWpEAAAAA
AACAVfJ/JEmSJEmSJEmSJK1IAAAAAAAAwCr5F0mSJEmSJEmSJEkrEgAAAAAA
AAAAAAAAAACwfP4VAAAAAAAAAAAAAAAAAFg6/wYAAAAAAAAAAAAAAAAALJ1/
BwAAAAAAAAAAAAAAAACWzv8FAAAAAAAAAAAAAAAAAJbO/wMAAAAAAABWxv8H
lSzq/A==
"], {{0, 171}, {2400, 0}}, {0, 255},
ColorFunction->RGBColor],
BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True],
Selectable->False],
BaseStyle->"ImageGraphics",
ImageSize->Magnification[1],
ImageSizeRaw->{2400, 171},
PlotRange->{{0, 2400}, {0, 171}}]], "hidefromslideshowgraphic",
CellChangeTimes->{{3.4483017593296423`*^9, 3.448301769562791*^9}, {
3.4487297016867533`*^9, 3.448729710294153*^9}, {3.449486136735977*^9,
3.449486146926845*^9}, {3.449490735677544*^9, 3.4494907482045183`*^9}, {
3.473785056790244*^9, 3.4737850735465307`*^9}, {3.485608891427413*^9,
3.485608902078108*^9}, {3.516534228793694*^9, 3.516534238460294*^9}},
Background->None],
Cell[CellGroupData[{
Cell[TextData[{
StyleBox["Exploiting the power of Windows inside a ",
FontSize->36],
StyleBox["Mathematica",
FontSize->36,
FontSlant->"Italic"],
StyleBox[" application",
FontSize->36]
}], "Title",
ShowGroupOpener->False,
CellChangeTimes->{{3.448190122176695*^9, 3.44819012385317*^9}, {
3.485609127497636*^9, 3.485609133015955*^9}, {3.514308355088097*^9,
3.514308374696691*^9}, 3.5146594348020153`*^9, 3.5146601881617107`*^9,
3.52260485140625*^9}],
Cell["David Bailey", "Subtitle",
CellChangeTimes->{{3.485609136120798*^9, 3.4856091511532907`*^9}, {
3.4856091945334663`*^9, 3.485609199379443*^9}, {3.4951031489375*^9,
3.49510314984375*^9}, {3.495106455296875*^9, 3.495106455453125*^9}, {
3.5143083846926413`*^9, 3.514308395249558*^9}, 3.5226048816875*^9}],
Cell["http://www.dbaileyconsultancy.co.uk", "Subsubtitle",
CellChangeTimes->{
3.483202458953512*^9, {3.495105345328125*^9, 3.495105347890625*^9}, {
3.49510644571875*^9, 3.495106448390625*^9}, {3.5143083980990458`*^9,
3.514308409442589*^9}, 3.522604897359375*^9}],
Cell[TextData[{
"Normal Windows applications open directly from the desktop, and make \
Windows recognise their data files as belonging to them. For example, .DOC \
files belong to a word processor application, and .NB files belong to ",
StyleBox["Mathematica",
FontSlant->"Italic"],
". Files of the appropriate type also have their own icons inside Explorer \
and on the desktop. This feature of Windows is tremendously powerful, both \
because it offers easy access to data, and because data can be usefully \
embedded in other software - such as XMIND or in HTML. Applications that \
behave like other Windows software, are also much more acceptable to users \
unfamiliar with ",
StyleBox["Mathematica",
FontSlant->"Italic"],
".\n\nThis talk will describe how to create an application that responds in \
the same way, without writing part of that application in another language, \
and will be based on my Super Widget Package, which is available free from my \
website. It will be illustrated using Hans-Gerlach \
Woudboer\[CloseCurlyQuote]s \[OpenCurlyDoubleQuote]Rapid Business Modeling\
\[CloseCurlyDoubleQuote] software (http://www.rapidbusinessmodeling.com)."
}], "Text",
CellChangeTimes->{
3.522604945515625*^9, {3.524836226296875*^9, 3.524836230734375*^9}, {
3.525955000890662*^9, 3.5259550051768255`*^9}}]
}, Open ]],
Cell[CellGroupData[{
Cell["", "SlideShowNavigationBar",
CellTags->"SlideShowHeader"],
Cell[CellGroupData[{
Cell["Introduction", "Section",
CellChangeTimes->{
3.483202458955147*^9, {3.514308340990994*^9, 3.514308352103572*^9}, {
3.52344212715625*^9, 3.5234421299375*^9}}],
Cell[TextData[{
"This talk is about ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" running under Windows (32 or 64 bits). We often talk about ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" applications as if they were completely analogous to any other Windows \
application. However, unfortunately they usually enjoy a much lower level of \
integration with the operating system. If you use most Windows Applications \
e.g. LibreOffice, or Firefox, or indeed ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" itself, they are well integrated into Windows. In Particular:"
}], "Text",
CellChangeTimes->{{3.495209008234375*^9, 3.49520915653125*^9},
3.495209919765625*^9, 3.4952106014375*^9, {3.4952106824375*^9,
3.495210832234375*^9}, 3.514307848543872*^9, {3.514308058576482*^9,
3.514308065607885*^9}, {3.51430841745117*^9, 3.514308419642997*^9}, {
3.5149152616687326`*^9, 3.514915280523456*^9}, {3.514915328702818*^9,
3.5149153375415287`*^9}, 3.514915444638068*^9, {3.52344213534375*^9,
3.523442407984375*^9}, {3.523442438734375*^9, 3.52344249003125*^9}, {
3.52344303925*^9, 3.523443045453125*^9}, {3.524498647515625*^9,
3.524498675390625*^9}, {3.5248362476875*^9, 3.52483625609375*^9}, {
3.5259550662846947`*^9, 3.525955073354861*^9}}],
Cell["\<\
\[FilledSmallCircle] Windows applications are usually started from their own \
icon on the desktop.\
\>", "Text",
CellChangeTimes->{{3.524836292265625*^9, 3.524836328796875*^9}}],
Cell["\<\
\[FilledSmallCircle] Windows applications are organised around data files, \
rather than the applications that process them. This means that users of \
Libre Office (for example) typically open a folder containing files with a \
particular suffix (e.g. .DOC or .XLS) and open them with a double click. \
Behind the scenes, \[OpenCurlyDoubleQuote]opening a file\
\[CloseCurlyDoubleQuote] consists of starting the appropriate application if \
necessary, and passing the file to the application for it to open and display \
as appropriate, but this is ordinarily of no more interest to the user, than \
would be a list of block numbers on the disk where his/her data is actually \
stored!\
\>", "Text",
CellChangeTimes->{{3.523443059859375*^9, 3.523443176296875*^9}, {
3.523443223234375*^9, 3.5234435433125*^9}, {3.524498724421875*^9,
3.524498725328125*^9}, 3.524837580109375*^9, {3.525955140210995*^9,
3.52595514297497*^9}}],
Cell[TextData[{
"\[FilledSmallCircle] Windows applications use some standard GUI conventions \
that are difficult to copy exactly in a ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" notebook."
}], "Text",
CellChangeTimes->{{3.523443559515625*^9, 3.523443619015625*^9}}],
Cell["\<\
\[FilledSmallCircle] Normally, an application gives little or no hint as to \
the underlying computer language that was used to create it.\
\>", "Text",
CellChangeTimes->{{3.52344363953125*^9, 3.523443735484375*^9}}],
Cell[TextData[{
"While these matters may seem trivial, they do impede the take up of ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" applications by people who have no interest in maths or computer \
programming. I would also argue that the conventional Windows approach to \
organising data files is so powerful, that many serious applications should \
exploit this mechanism."
}], "Text",
CellChangeTimes->{{3.495209008234375*^9, 3.49520915653125*^9},
3.495209919765625*^9, 3.4952106014375*^9, {3.4952106824375*^9,
3.4952108284375*^9}, {3.495210866984375*^9, 3.495210878859375*^9}, {
3.49521712796875*^9, 3.495217145953125*^9}, {3.5143080707765017`*^9,
3.514308090577525*^9}, {3.514308422020039*^9, 3.51430844325245*^9}, {
3.514915910280599*^9, 3.5149159358691387`*^9}, {3.52344374928125*^9,
3.523443943328125*^9}, {3.523444122234375*^9, 3.52344413565625*^9}, {
3.52449878621875*^9, 3.524498791625*^9}}],
Cell["\<\
A variety of fairly general software environments (such as web browsers) \
exploit this mechanism to enable data to be opened easily from within their \
applications:\
\>", "Text",
CellChangeTimes->{{3.495209008234375*^9, 3.49520915653125*^9},
3.495209919765625*^9, 3.4952106014375*^9, {3.4952106824375*^9,
3.4952108284375*^9}, {3.495210866984375*^9, 3.495210878859375*^9}, {
3.49521712796875*^9, 3.495217145953125*^9}, {3.5143080707765017`*^9,
3.514308090577525*^9}, {3.514308422020039*^9, 3.51430844325245*^9}, {
3.514915910280599*^9, 3.5149159358691387`*^9}, {3.52344374928125*^9,
3.523443943328125*^9}, {3.523444122234375*^9, 3.52344414284375*^9}, {
3.523444594640625*^9, 3.523444648453125*^9}, {3.523444715953125*^9,
3.523444716609375*^9}, {3.523445005171875*^9, 3.523445019984375*^9}}],
Cell["\<\
Starting programs from HTML
This illustrated how data sets can be linked into a narative composed in HTML \
(typically stored
locally rather than on the web).
A data file
\
\>", "Program",
CellChangeTimes->{3.523444707390625*^9}],
Cell[TextData[{
"I have discussed the latter two points at previous conferences, so this \
paper focuses on the issue of making a ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" application appear data oriented."
}], "Text",
CellChangeTimes->{{3.523443989390625*^9, 3.5234441044375*^9}}]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell["", "SlideShowNavigationBar",
CellChangeTimes->{3.524836084203125*^9},
CellTags->"SlideShowHeader"],
Cell[CellGroupData[{
Cell["Data orientation the hard way", "Section",
CellChangeTimes->{
3.483202458955147*^9, {3.51430857274755*^9, 3.514308578875259*^9}, {
3.523444958875*^9, 3.523444970109375*^9}, 3.524836084234375*^9}],
Cell["\<\
When a Windows Application (or maybe its installer) registers that it \
processes a particular data type (i.e. files with a particular suffix, such \
as .DOC), it does so by storing the following information in the registry:\
\>", "Text",
CellChangeTimes->{{3.523445075421875*^9, 3.523445222671875*^9},
3.524836084234375*^9}],
Cell["\<\
\[FilledSmallCircle] A command that should be used to open the relevant \
files (where %1 is used as a placeholder for the actual data file path).\
\>", "Text",
CellChangeTimes->{{3.523445229390625*^9, 3.5234453294375*^9},
3.524836084234375*^9}],
Cell[TextData[{
"\[FilledSmallCircle] An icon associated with data of that particular \
type. For example, ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" supplies an icon for files with the NB suffix: ",
Cell[BoxData[
GraphicsBox[
TagBox[RasterBox[CompressedData["
1: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
ASfLHHQ=
"], {{0, 51}, {53, 0}}, {0, 255},
ColorFunction->RGBColor],
BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True],
Selectable->False],
BaseStyle->"ImageGraphics",
ImageSize->Automatic,
ImageSizeRaw->{53, 51},
PlotRange->{{0, 53}, {0, 51}}]], "Input"]
}], "Text",
CellChangeTimes->{{3.52344533690625*^9, 3.5234453733125*^9}, {
3.523445569140625*^9, 3.523445572671875*^9}, {3.523445829640625*^9,
3.52344589209375*^9}, 3.524836084234375*^9}],
Cell["\<\
\[FilledSmallCircle] A textual description of the data type, to be \
displayed when the user hovers over the corresponding icon.\
\>", "Text",
CellChangeTimes->{{3.523446029625*^9, 3.52344607071875*^9}, {
3.52344697040625*^9, 3.523446991109375*^9}, 3.524836084234375*^9}],
Cell[TextData[{
"This information remains stored even after the application has terminated, \
ready for use when the user tries to open one of his data files. ",
StyleBox["Remember, when a user comes to open a file, the corresponding \
application may not be running.",
FontWeight->"Bold"]
}], "Text",
CellChangeTimes->{{3.523447004171875*^9, 3.52344706534375*^9}, {
3.52449889378125*^9, 3.524498930453125*^9}, 3.524836084234375*^9}],
Cell[TextData[{
"Clearly, one way to achieve this functionality for a ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" application, would be to write a GUI front end for the code, in a language \
such as Java or C, and let it register the file types as belonging to it. \
Such a program would then open a link to MathKernel and use ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" as an invisible calculation engine."
}], "Text",
CellChangeTimes->{{3.523446138125*^9, 3.523446299078125*^9}, {
3.52344707815625*^9, 3.523447081015625*^9}, 3.524836084234375*^9}],
Cell[BoxData[
GraphicsBox[{{
{RGBColor[0.8, 0.8, 0.8], RectangleBox[{-0.5, 9.5}],
DiskBox[{-0.5, 10.35}, 0.15], DiskBox[{-0.5, 9.65}, 0.15],
DiskBox[{0.5, 10.35}, 0.15], DiskBox[{0.5, 9.65}, 0.15],
RectangleBox[{-0.65, 9.65}, {-0.5, 10.35}],
RectangleBox[{0.65, 9.65}, {0.5, 10.35}]},
{GrayLevel[0], InsetBox[
StyleBox["\<\"Windows Application\\n(Java or C)\"\>",
StripOnInput->False,
FontSize->20], {0, 10}]}}, {
{RGBColor[0.8, 0.8, 0.8], RectangleBox[{1.5, 9.5}],
DiskBox[{1.5, 10.35}, 0.15], DiskBox[{1.5, 9.65}, 0.15],
DiskBox[{2.5, 10.35}, 0.15], DiskBox[{2.5, 9.65}, 0.15],
RectangleBox[{1.35, 9.65}, {1.5, 10.35}],
RectangleBox[{2.65, 9.65}, {2.5, 10.35}]},
{GrayLevel[0], InsetBox[
StyleBox["\<\"GUI Interface\\n(Java or C)\"\>",
StripOnInput->False,
FontSize->20], {2, 10}]}}, {
{RGBColor[0.8, 0.8, 0.8], RectangleBox[{0.5, 7.5}],
DiskBox[{0.5, 8.35}, 0.15], DiskBox[{0.5, 7.65}, 0.15],
DiskBox[{1.5, 8.35}, 0.15], DiskBox[{1.5, 7.65}, 0.15],
RectangleBox[{0.35, 7.65}, {0.5, 8.35}],
RectangleBox[{1.65, 7.65}, {1.5, 8.35}]},
{GrayLevel[0], InsetBox[
StyleBox["\<\"Mathematica code\"\>",
StripOnInput->False,
FontSize->20], {1, 8}]}}, LineBox[{{0, 9.5}, {1, 8.5}}], InsetBox[
StyleBox["\<\"MathLink\"\>",
StripOnInput->False,
FontSize->20], NCache[{Rational[1, 2], 9.}, {0.5, 9.}], {-1.2, 0}],
LineBox[{{0.65, 10}, {1.35, 10}}]},
ImageSize->500]], "Input",
CellChangeTimes->{3.52483286403125*^9, 3.524836084234375*^9},
ImageCache->GraphicsData["CompressedBitmap", "\<\
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
P3Py5QXpdRaBpH/v3vt/jw74f/J0g74=\
\>"]],
Cell[TextData[{
"\[FilledSmallCircle] From the above diagram, you can see that much of the \
code ends up being written in a language other than ",
StyleBox["Mathematica",
FontSlant->"Italic"],
"."
}], "Text",
CellChangeTimes->{{3.524832907953125*^9, 3.52483296934375*^9},
3.524836084234375*^9}]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell["", "SlideShowNavigationBar",
CellTags->"SlideShowHeader"],
Cell[CellGroupData[{
Cell[TextData[{
"Accessing the Windows Registry inside ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" code"
}], "Section",
CellChangeTimes->{
3.483202458955147*^9, {3.514308863196991*^9, 3.5143088633311243`*^9}, {
3.524833806078125*^9, 3.524833826953125*^9}, 3.524836084203125*^9}],
Cell[TextData[{
"\[FilledSmallCircle] Although in what follows, the necessary registry \
changes are performed automatically inside the Super Widget Package (SWP), \
the relevant functions exist inside Developer` context, and can be used by \
any ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" program running under Windows, although they are not documented:"
}], "Text",
CellChangeTimes->{{3.514308661619236*^9, 3.514308664754455*^9}, {
3.524833835546875*^9, 3.524833845203125*^9}, {3.524833886296875*^9,
3.524833975953125*^9}, {3.524834238046875*^9, 3.52483423871875*^9},
3.524836084203125*^9, {3.525525891359375*^9, 3.525525905703125*^9}, {
3.525955362029955*^9, 3.5259553842418947`*^9}}],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{"?", "Developer`*Registry*"}]], "Input",
CellChangeTimes->{{3.524834211265625*^9, 3.52483422259375*^9},
3.524836084203125*^9}],
Cell[BoxData[
DynamicModuleBox[{Typeset`open$$ = True},
PaneSelectorBox[{False->
RowBox[{
OpenerBox[Dynamic[Typeset`open$$],
ImageSize->Small],
StyleBox["Developer`", "InfoHeading"]}], True->GridBox[{
{
RowBox[{
OpenerBox[Dynamic[Typeset`open$$],
ImageSize->Small],
StyleBox["Developer`", "InfoHeading"]}]},
{GridBox[{
{
ButtonBox["CreateRegistryKey",
BaseStyle->"InformationLink",
ButtonData:>{
"Info3524837824-7231726", {"CreateRegistryKey", "Developer`"}},
ButtonNote->"Developer`"],
ButtonBox["ReadRegistryKeyValues",
BaseStyle->"InformationLink",
ButtonData:>{
"Info3524837824-7231726", {"ReadRegistryKeyValues", "Developer`"}},
ButtonNote->"Developer`"],
ButtonBox["RemoveRegistryKeyValues",
BaseStyle->"InformationLink",
ButtonData:>{
"Info3524837824-7231726", {
"RemoveRegistryKeyValues", "Developer`"}},
ButtonNote->"Developer`"]},
{
ButtonBox["EnumerateRegistrySubkeys",
BaseStyle->"InformationLink",
ButtonData:>{
"Info3524837824-7231726", {
"EnumerateRegistrySubkeys", "Developer`"}},
ButtonNote->"Developer`"],
ButtonBox["RemoveRegistryKey",
BaseStyle->"InformationLink",
ButtonData:>{
"Info3524837824-7231726", {"RemoveRegistryKey", "Developer`"}},
ButtonNote->"Developer`"],
ButtonBox["WriteRegistryKeyValues",
BaseStyle->"InformationLink",
ButtonData:>{
"Info3524837824-7231726", {"WriteRegistryKeyValues", "Developer`"}},
ButtonNote->"Developer`"]}
},
DefaultBaseStyle->"InfoGrid",
GridBoxItemSize->{"Columns" -> {{
Scaled[0.31666666666666665`]}}}]}
},
GridBoxAlignment->{"Columns" -> {{Left}}, "Rows" -> {{Baseline}}}]},
Dynamic[Typeset`open$$],
ImageSize->Automatic]]], "Print", "InfoCell",
GeneratedCell->False,
CellAutoOverwrite->False,
CellChangeTimes->{3.524834224796875*^9, 3.52483608421875*^9}]
}, Open ]],
Cell["\<\
\[FilledSmallCircle] Here are some sample calls to these functions, which \
are extremely easy to use:\
\>", "Text",
CellChangeTimes->{{3.524834455875*^9, 3.524834495015625*^9},
3.52483608421875*^9}],
Cell["\<\
Create a key if it doesn\[CloseCurlyQuote]t already exist\
\>", "Text",
CellChangeTimes->{{3.524834595796875*^9, 3.5248346093125*^9},
3.52483608421875*^9}],
Cell[BoxData[
RowBox[{"Developer`CreateRegistryKey", "[",
"\"\\"",
"]"}]], "Input",
CellChangeTimes->{3.524834175546875*^9, 3.52483608421875*^9}],
Cell["\<\
Write values into one or more keys, name the key Null to reference the \
default value\
\>", "Text",
CellChangeTimes->{{3.524834668390625*^9, 3.52483473715625*^9},
3.52483608421875*^9}],
Cell[BoxData[
RowBox[{"Developer`WriteRegistryKeyValues", "[",
RowBox[{
"\"\\"", ",",
RowBox[{"{", "\n", " ",
RowBox[{"\"\\"", "->", "command\[Breve]file"}], "}"}]}],
"]"}]], "Input",
CellChangeTimes->{3.52483608421875*^9}],
Cell["\<\
Read back a set of keys. Note that these are returned in a form suitable for \
use in ReplaceAll.\
\>", "Text",
CellChangeTimes->{{3.524834790296875*^9, 3.5248348428125*^9},
3.524836084234375*^9}],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{"Developer`ReadRegistryKeyValues", "[",
"\"\\"",
"]"}]], "Input",
CellChangeTimes->{{3.524834349890625*^9, 3.524834423734375*^9},
3.524836084234375*^9}],
Cell[BoxData[
RowBox[{"{",
RowBox[{
RowBox[{"\<\"MathFile\"\>",
"\[Rule]", "\<\"C:\\\\Program Files\\\\Wolfram \
Research\\\\Mathematica\\\\8.0\\\\Mathematica.exe\"\>"}], ",",
RowBox[{"\<\"DefaultMathSplash\"\>",
"\[Rule]", \
"\<\"c:\\\\MathematicaBase\\\\Applications\\\\SuperWidgetPackage\\\\\
MathLauncherSplash.jpg\"\>"}], ",",
RowBox[{"\<\".flowMathSplash\"\>",
"\[Rule]", "\<\"c:\\\\MathematicaBase\\\\Applications\\\\BusinessModeling\
\\\\Data\\\\SplashRapidBusinessModeling.jpg\"\>"}], ",",
RowBox[{"\<\".rbmMathSplash\"\>",
"\[Rule]", "\<\"c:\\\\MathematicaBase\\\\Applications\\\\BusinessModeling\
\\\\Data\\\\SplashRapidBusinessModeling.jpg\"\>"}], ",",
RowBox[{"\<\".rbmappMathSplash\"\>",
"\[Rule]", "\<\"c:\\\\MathematicaBase\\\\Applications\\\\BusinessModeling\
\\\\Data\\\\SplashRapidBusinessModeling.jpg\"\>"}], ",",
RowBox[{"\<\"DataWindowTitle\"\>",
"\[Rule]", "\<\"RapidBusinessModeling Modeler Ver 3.7\"\>"}]}],
"}"}]], "Output",
GeneratedCell->False,
CellAutoOverwrite->False,
CellChangeTimes->{{3.524834378765625*^9, 3.524834424703125*^9},
3.52483457509375*^9, 3.524836084234375*^9}]
}, Open ]],
Cell["Remove key values", "Text",
CellChangeTimes->{{3.524834856671875*^9, 3.52483486303125*^9},
3.524836084234375*^9}],
Cell[BoxData[
RowBox[{"Developer`RemoveRegistryKeyValues", "[", "\n", " ",
RowBox[{
"\"\\"", ",",
RowBox[{"{", "\"\\"", "}"}]}], "\n", " ",
"]"}]], "Input",
CellChangeTimes->{3.524836084234375*^9}],
Cell["\<\
\[FilledSmallCircle] Obviously, these functions only work in a suitable \
environment (32-bit or 64-bit Windows, or Wine).\
\>", "Text",
CellChangeTimes->{{3.52483493678125*^9, 3.524835029515625*^9},
3.524836084234375*^9}]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell["", "SlideShowNavigationBar",
CellTags->"SlideShowHeader"],
Cell[CellGroupData[{
Cell["Data orientation using the Super Widget Package", "Section",
CellChangeTimes->{
3.483202458955147*^9, {3.514308863196991*^9, 3.5143088633311243`*^9}, {
3.52344722915625*^9, 3.523447242734375*^9}}],
Cell[TextData[{
"\[FilledSmallCircle] ",
"Using the Super Widget Package (SWP), everything can be written in ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" code, and the registration process is performed with one call to Install\
\[Breve]MathLauncher\[Breve]Application for each type of data to be \
registered (e.g. .RBM and .FLOW)."
}], "Text",
CellChangeTimes->{{3.514308661619236*^9, 3.514308664754455*^9}, {
3.523447387046875*^9, 3.523447516265625*^9}, {3.5248333455*^9,
3.52483334590625*^9}, {3.525525870203125*^9, 3.525525872375*^9}}],
Cell[BoxData[
RowBox[{
RowBox[{"Install\[Breve]MathLauncher\[Breve]Application", "[",
RowBox[{
"\"\\"", ",", "\n", " ",
"\"\<.rbm\>\"", ",", "\"\\"", ",", "\n",
" ", "\"\\"", ",", "\n", " ",
"\"\\"", ",", "\n", " ",
RowBox[{
"\"\\"", "->",
"\"\\""}], ",", "\n",
" ",
RowBox[{"\"\\"", "\[Rule]", "False"}]}], "]"}],
";"}]], "Input",
CellChangeTimes->{{3.523447291828125*^9, 3.523447365890625*^9}}],
Cell[BoxData[
GraphicsBox[{{
{RGBColor[0.8, 0.8, 0.8], RectangleBox[{-0.5, 9.5}],
DiskBox[{-0.5, 10.35}, 0.15], DiskBox[{-0.5, 9.65}, 0.15],
DiskBox[{0.5, 10.35}, 0.15], DiskBox[{0.5, 9.65}, 0.15],
RectangleBox[{-0.65, 9.65}, {-0.5, 10.35}],
RectangleBox[{0.65, 9.65}, {0.5, 10.35}]},
{GrayLevel[0], InsetBox[
StyleBox["\<\"MathLauncher.EXE\\n(Part of the SWP)\"\>",
StripOnInput->False,
FontSize->20], {0, 10}]}}, {
{RGBColor[0.8, 0.8, 0.8], RectangleBox[{-0.5, 7.5}],
DiskBox[{-0.5, 8.35}, 0.15], DiskBox[{-0.5, 7.65}, 0.15],
DiskBox[{0.5, 8.35}, 0.15], DiskBox[{0.5, 7.65}, 0.15],
RectangleBox[{-0.65, 7.65}, {-0.5, 8.35}],
RectangleBox[{0.65, 7.65}, {0.5, 8.35}]},
{GrayLevel[0], InsetBox[
StyleBox["\<\"Mathematica code\\n(including GUI)\"\>",
StripOnInput->False,
FontSize->20], {0, 8}]}}, LineBox[{{0, 9.5}, {0, 8.5}}], InsetBox[
StyleBox["\<\"MathLink\"\>",
StripOnInput->False,
FontSize->20], {0, 9.}, {-1.2, 0}]},
ImageSize->250]], "Input"],
Cell[TextData[{
"\[FilledSmallCircle] If the GUI is created using the SWP, or using the \
Front End, all the code for the application is written in ",
StyleBox["Mathematica",
FontSlant->"Italic"],
"."
}], "Text",
CellChangeTimes->{{3.52483359215625*^9, 3.524833675203125*^9}}],
Cell[TextData[{
"\[FilledSmallCircle] Because the names of the splash screen and ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" .m files are stored in the registry indexed by file suffix type, this \
scheme can potentially cater for multiple data types (with different file \
suffices) and multiple Mathematica applications. "
}], "Text",
CellChangeTimes->{{3.524833394609375*^9, 3.5248335800625*^9},
3.524837603390625*^9}]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell["", "SlideShowNavigationBar",
CellTags->"SlideShowHeader"],
Cell[CellGroupData[{
Cell[TextData[{
StyleBox["Mathematica",
FontSlant->"Italic"],
" applications started using this scheme"
}], "Section",
CellChangeTimes->{
3.483202458955147*^9, {3.514308863196991*^9, 3.5143088633311243`*^9}, {
3.524836399546875*^9, 3.5248364205625*^9}}],
Cell[TextData[{
"\[FilledSmallCircle] Nothing in the SWP, \[OpenCurlyQuote]knows\
\[CloseCurlyQuote] what it means to open a data file of a specific type. \
However, the variable MathLauncherSuppliedOpen is set to the ",
StyleBox["full path name",
FontVariations->{"Underline"->True}],
" of the data file that initiated the process."
}], "Text",
CellChangeTimes->{{3.514308661619236*^9, 3.514308664754455*^9}, {
3.52483644915625*^9, 3.5248364746875*^9}, {3.52483654221875*^9,
3.524836586546875*^9}}],
Cell["\<\
\[FilledSmallCircle] If ValueQ[MathLauncherSuppliedOpen] is False, it can be \
assumed that the program was started conventionally\
\>", "Text",
CellChangeTimes->{{3.5248366100625*^9, 3.524836660828125*^9}}],
Cell["\<\
\[FilledSmallCircle] Typically, an application may have more than one kind \
of data, for example, Rapid Business Modelling processes two types of data, \
.RBM and .FLOW files. However, it is often convenient to register one extra \
data type \[Dash] say .RBMAPP \[Dash] that represents the process of starting \
the application without a specific initial data set. \
\>", "Text",
CellChangeTimes->{{3.5248366970625*^9, 3.524836768203125*^9}, {
3.524836848859375*^9, 3.524836942484375*^9}}],
Cell["\<\
\[FilledSmallCircle] Since a program can easily extract the suffix of a file \
name, it can use it to determine the type of processing required:\
\>", "Text",
CellChangeTimes->{{3.524836951859375*^9, 3.5248369828125*^9}, {
3.524837090421875*^9, 3.52483710796875*^9}}],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{"ToUpperCase", "[",
RowBox[{"FileExtension", "[", "\"\\"", "]"}],
"]"}]], "Input"],
Cell[BoxData["\<\"NB\"\>"], "Output",
CellChangeTimes->{3.5248371503125*^9}]
}, Open ]],
Cell["\<\
(Remember that Windows file names are case insensitive, so tests should be \
made after forcing the case.)\
\>", "Text",
CellChangeTimes->{{3.524837118765625*^9, 3.524837178328125*^9}}],
Cell["\<\
\[FilledSmallCircle] The .RBMAPP doesn\[CloseCurlyQuote]t open any file, it \
just starts the application.\
\>", "Text",
CellChangeTimes->{{3.524837190359375*^9, 3.524837249609375*^9}}]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell["", "SlideShowNavigationBar",
CellTags->"SlideShowHeader"],
Cell[CellGroupData[{
Cell["Using multiple data files", "Section",
CellChangeTimes->{
3.483202458955147*^9, {3.514308863196991*^9, 3.5143088633311243`*^9}, {
3.524836399546875*^9, 3.5248364205625*^9}, {3.52483729340625*^9,
3.524837299640625*^9}, {3.524837342671875*^9, 3.52483736075*^9}}],
Cell[TextData[{
"If a user opens several data files, one after another, the files are \
normally passed to one instance of the corresponding application. Thus if you \
open two .NB files, they both end up in one copy of ",
StyleBox["Mathematica",
FontSlant->"Italic"],
"."
}], "Text",
CellChangeTimes->{{3.524837413484375*^9, 3.52483750671875*^9}}],
Cell["\<\
\[FilledSmallCircle] Once again, this functionality can be enormously \
useful to a user. For example, data files may get combined in a variety of \
ways, but this only works if the data is loaded into one copy of the \
application. In addition, each separate copy of an application requires a \
separate kernel - so it is easy to exceed the license limit.\
\>", "Text",
CellChangeTimes->{{3.52552463621875*^9, 3.525524871125*^9}}],
Cell["\<\
\[FilledSmallCircle] Obviously an application that is going to receive \
additional data, must be able to respond in some way. Assuming it creates a \
GUI interface, there is a natural point when the program is idling awaiting \
further user activity, when it can respond to such a request.\
\>", "Text",
CellChangeTimes->{{3.52552459153125*^9, 3.525524622640625*^9}, {
3.5255248995625*^9, 3.525525024*^9}}],
Cell["\<\
\[FilledSmallCircle] A program with a SWP GUI calls the following function:
\
\>", "Text",
CellChangeTimes->{{3.52552517946875*^9, 3.525525218203125*^9}}],
Cell[BoxData[
RowBox[{"Set\[Breve]Command\[Breve]File", "[", "commandFile", "]"}]], "Input",\
CellChangeTimes->{{3.525525237296875*^9, 3.525525247234375*^9}}],
Cell["\<\
Where commandFile is the full path name of a file that will be used whenever \
a user double clicks a data icon on the desktop.\
\>", "Text",
CellChangeTimes->{{3.525525256703125*^9, 3.525525324265625*^9}}],
Cell["\<\
\[FilledSmallCircle] It then supplies a definition for the function \
SuperWidgetPackage`MathLauncher\[Breve]Open[file_] which will be called with \
the full path name of any additional data file that the user chooses to open. \
This call will be made when the GUI is idling, and so will not preempt the \
application code (a common source of instability).\
\>", "Text",
CellChangeTimes->{{3.5255255198125*^9, 3.5255256729375*^9}, {
3.5255260086875*^9, 3.52552601709375*^9}}],
Cell["\<\
\[FilledSmallCircle] Checks are made to ensure the application is already \
started, and that it has executed the above call to prepare it to accept \
additional commands.\
\>", "Text",
CellChangeTimes->{{3.525525337453125*^9, 3.525525392640625*^9}}],
Cell["\<\
\[FilledSmallCircle] Note that the SWP can operate an Multiple Document \
Interface (MDI) analogous to (say) Microsoft Word, in which several files \
coexist on one desktop.\
\>", "Text",
CellChangeTimes->{{3.525525725296875*^9, 3.525525825640625*^9}}]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell["", "SlideShowNavigationBar",
CellTags->"SlideShowHeader"],
Cell[CellGroupData[{
Cell["Starting in the Front End", "Section",
CellChangeTimes->{
3.483202458955147*^9, {3.514308863196991*^9, 3.5143088633311243`*^9}, {
3.524836399546875*^9, 3.5248364205625*^9}, {3.52483729340625*^9,
3.524837299640625*^9}, {3.524837342671875*^9, 3.52483736075*^9}, {
3.525956083457317*^9, 3.525956093732091*^9}}],
Cell[BoxData[""], "Input",
CellChangeTimes->{{3.5259560314525375`*^9, 3.525956036499795*^9}}],
Cell["\<\
\[FilledSmallCircle] The Install\[Breve]MathLauncher\[Breve]Application \
takes an option, \[OpenCurlyDoubleQuote]UseFrontEnd\[CloseCurlyDoubleQuote], \
which when set to True, will lanch a data set into the Front End. From the \
user\[CloseCurlyQuote]s point of view, this works in the same way as \
launching into the kernel, but it required a trick to persuade the FrontEnd \
to start running a .m file without any action on the part of the user.\
\>", "Text",
CellChangeTimes->{{3.5259560999710627`*^9, 3.525956100251466*^9}, {
3.5259561406695843`*^9, 3.5259561477297363`*^9}, {3.52595618253979*^9,
3.5259564247380543`*^9}, 3.525957357019664*^9}],
Cell["\<\
\[FilledSmallCircle] The MathLauncher program sets some information into \
registry keys, and starts a special notebook file (part of the SWP) which \
contains Dynamic code which closes itself down and performs a Get on the \
application .m file. After this step, the process proceeds as above, but it \
can make full use of the Front End.\
\>", "Text",
CellChangeTimes->{{3.525956627719928*^9, 3.5259568079891424`*^9}}],
Cell["\<\
\[FilledSmallCircle] Creating a notebook that contains Dynamic code that \
immediately closes itself can be rather tricky! I solved this by making the \
dynamic code dependent on the variable EditingFrontEndLauncher having no \
value. This allowed me to edit this notebook in the ordinary way. This \
notebook can be found inside the SWP: FrontEndLauncher.nb, and may be \
adaptable to other situations in which a notebook is required to start \
executing immediately.\
\>", "Text",
CellChangeTimes->{{3.5259568169920883`*^9, 3.525956937595507*^9}, {
3.5259569721051297`*^9, 3.5259571954262495`*^9}, {3.5259573227243395`*^9,
3.5259573324182787`*^9}, 3.5259573637994127`*^9}]
}, Open ]]
}, Open ]]
},
AutoGeneratedPackage->None,
ScreenStyleEnvironment->"SlideShow",
WindowSize->{1405, 856},
WindowMargins->{{0, Automatic}, {Automatic, 0}},
PrintingCopies->1,
PrintingPageRange->{1, Automatic},
ShowSelection->True,
FrontEndVersion->"8.0 for Mac OS X x86 (32-bit, 64-bit Kernel) (October 5, \
2011)",
StyleDefinitions->Notebook[{
Cell[
StyleData[StyleDefinitions -> "Default.nb"]],
Cell[
CellGroupData[{
Cell["Style Environment Names", "Section"],
Cell[
StyleData[All, "Condensed"], MenuSortingValue -> None],
Cell[
StyleData[All, "SlideShow"], DockedCells -> {
FEPrivate`FrontEndResource["FEExpressions", "SlideshowToolbar"],
Cell[
BoxData[
GraphicsBox[
TagBox[
RasterBox[CompressedData["
1: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
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgmI4AAAAAAAAAg3EaAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYux/+8J8kSZIk
SZIkSZIkDaR//clPJUmSJEmSJEmSJEmSJEmSJEmSJEnSPusnP/2ZJEmSJEmS
JEmSpIH005/9XJIkSZIkSZIkSZIkSZIkSZIkSZIk7bN+9vNfSJIkSZIkSZIk
SRpIP/+FJEmSJEmSJEmSpOH0S0mSJEmSJEmSJEkD6Re//JUkSZIkSZIkSZKk
gfTLX0mSJEmSJEmSJEkaTr+WJEmSJEmSJEmSNJB+9evfSJIkSZIkSZIkSRpI
v5YkSZIkSZIkSZI0nH7zhSRJkiRJkiRJkqSB9JsvJEmSJEmSJEmSJA2lL774
rSRJkiRJkiRJkqSh9NsvJUmSJEmSJEmSJA2k334pSZIkSZIkSZIkaSh9+eXv
JEmSJEmSJEmSJA2l30mSJEmSJEmSJEkaSr/76itJkiRJkiRJkiRJA+mrr34v
SZIkSZIkSZIkaSj9XpIkSZIkSZIkSdJQ+v3XX0uSJEmSJEmSJEkaSF9//QdJ
kiRJkiRJkiRJAwkAAAAAAAAYkD/+UZIkSZIkSZIkSdJAAgAAAAAAAIbj3wAA
AAAAAIAB+XdJkiRJkiRJkiRJAwkAAAAAAAAYjv8AAAAAAAAABuQ/JUmSJEmS
JEmSJA0kAAAAAAAAYDj+CwAAAAAAAAAAAAAAAADYd/4bAAAAAAAAGIz/AQAA
AAAAAAAAAAAAAAD2nf8FAAAAAAAABuP/ADmq/Zs=
"], {{0, 140}, {2400,
0}}, {0, 255}, ColorFunction -> RGBColor],
BoxForm`ImageTag[
"Byte", ColorSpace -> "RGB", Interleaving -> True], Selectable ->
False], BaseStyle -> "ImageGraphics", ImageSize ->
Magnification[1], ImageSizeRaw -> {2400, 140},
PlotRange -> {{0, 2400}, {0, 140}}]], "", CellMargins -> 0,
CellChangeTimes -> {{3.516548605022827*^9, 3.516548633085456*^9}, {
3.516616961864057*^9, 3.516616982571135*^9}}]}, CellMargins -> 0,
CellBracketOptions -> {
"Color" -> RGBColor[0.739193, 0.750317, 0.747173]}],
Cell[
BoxData[
GraphicsBox[
TagBox[
RasterBox[CompressedData["
1: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
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgmI4AAAAAAAAAg3EaAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYux/+8J8kSZIk
SZIkSZIkDaR//clPJUmSJEmSJEmSJEmSJEmSJEmSJEnSPusnP/2ZJEmSJEmS
JEmSpIH005/9XJIkSZIkSZIkSZIkSZIkSZIkSZIk7bN+9vNfSJIkSZIkSZIk
SRpIP/+FJEmSJEmSJEmSpOH0S0mSJEmSJEmSJEkD6Re//JUkSZIkSZIkSZKk
gfTLX0mSJEmSJEmSJEkaTr+WJEmSJEmSJEmSNJB+9evfSJIkSZIkSZIkSRpI
v5YkSZIkSZIkSZI0nH7zhSRJkiRJkiRJkqSB9JsvJEmSJEmSJEmSJA2lL774
rSRJkiRJkiRJkqSh9NsvJUmSJEmSJEmSJA2k334pSZIkSZIkSZIkaSh9+eXv
JEmSJEmSJEmSJA2l30mSJEmSJEmSJEkaSr/76itJkiRJkiRJkiRJA+mrr34v
SZIkSZIkSZIkaSj9XpIkSZIkSZIkSdJQ+v3XX0uSJEmSJEmSJEkaSF9//QdJ
kiRJkiRJkiRJAwkAAAAAAAAYkD/+UZIkSZIkSZIkSdJAAgAAAAAAAIbj3wAA
AAAAAIAB+XdJkiRJkiRJkiRJAwkAAAAAAAAYjv8AAAAAAAAABuQ/JUmSJEmS
JEmSJA0kAAAAAAAAYDj+CwAAAAAAAAAAAAAAAADYd/4bAAAAAAAAGIz/AQAA
AAAAAAAAAAAAAAD2nf8FAAAAAAAABuP/ADmq/Zs=
"], {{0, 140}, {2400,
0}}, {0, 255}, ColorFunction -> RGBColor],
BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True],
Selectable -> False], BaseStyle -> "ImageGraphics", ImageSize ->
Magnification[1], ImageSizeRaw -> {2400, 140},
PlotRange -> {{0, 2400}, {0, 140}}]], "", CellMargins -> 0,
CellChangeTimes -> {{3.516548605022827*^9, 3.516548633085456*^9}, {
3.516616961864057*^9, 3.516616982571135*^9}}],
Cell[
BoxData[
RowBox[{
RowBox[{"(*",
RowBox[{"Evaluate", " ", "the", " ", "following", " ", "to", " ",
"copy", " ", "the", " ", "style", " ", "of", " ", "the", " ",
"cell", " ", "above", " ", "into", " ", "\[IndentingNewLine]",
"the", " ", "docked", " ", "cell", " ", "style", " ", "of", " ",
RowBox[{"the", " ", "'"}],
RowBox[{"Notebook", "'"}], " ", "definition", " ",
RowBox[{"(",
RowBox[{"2", " ", "cells", " ", "above"}], ")"}], " ",
"\[IndentingNewLine]", "These", " ", "two", " ", "cell", " ",
"can", " ", "be", " ", "removed", " ", "once", " ", "the", " ",
"docked", " ", "cell", " ", "is", " ",
RowBox[{"created", "."}]}], "\[IndentingNewLine]", "*)"}],
"\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"SelectionMove", "[",
RowBox[{
RowBox[{"SelectedNotebook", "[", "]"}], ",", "Previous",
",", "Cell", ",", "2"}], "]"}], ";"}],
"\[IndentingNewLine]",
RowBox[{
RowBox[{"celldata", "=",
RowBox[{"NotebookRead", "[",
RowBox[{"SelectedNotebook", "[", "]"}], "]"}]}], ";"}],
"\[IndentingNewLine]",
RowBox[{
RowBox[{"SelectionMove", "[",
RowBox[{
RowBox[{"SelectedNotebook", "[", "]"}], ",", "Previous",
",", "Cell", ",", "1"}], "]"}], ";"}],
"\[IndentingNewLine]",
RowBox[{
RowBox[{"SetOptions", "[",
RowBox[{
RowBox[{"NotebookSelection", "[",
RowBox[{"SelectedNotebook", "[", "]"}], "]"}], ",",
RowBox[{"DockedCells", "\[Rule]",
RowBox[{"{",
RowBox[{
RowBox[{"FEPrivate`FrontEndResource", "[",
RowBox[{
"\"FEExpressions\"", ",", "\"SlideshowToolbar\""}], "]"}],
",", "celldata"}], "}"}]}]}], "]"}], ";"}]}]}]], "Input",
FontWeight -> "Bold"]}, Closed]],
Cell[
CellGroupData[{
Cell["Notebook Options Settings", "Section"],
Cell[
StyleData["Notebook"],
CellBracketOptions -> {
"Color" -> RGBColor[0.739193, 0.750317, 0.747173]}]}, Open]],
Cell[
CellGroupData[{
Cell["Styles for Title and Section Cells", "Section"],
Cell[
CellGroupData[{
Cell[
StyleData["Title"], ShowCellBracket -> Automatic, ShowGroupOpener ->
False, CellMargins -> {{58, 0}, {30, 0}},
CellBracketOptions -> {"Margins" -> {0, 0}},
CellGroupingRules -> {"TitleGrouping", 0}, PageBreakBelow -> False,
CellFrameMargins -> {{20, 20}, {20, 20}}, DefaultNewInlineCellStyle ->
"None", InputAutoReplacements -> {"TeX" -> StyleBox[
RowBox[{"T",
AdjustmentBox[
"E", BoxMargins -> {{-0.075, -0.085}, {0, 0}},
BoxBaselineShift -> 0.5], "X"}]], "LaTeX" -> StyleBox[
RowBox[{"L",
StyleBox[
AdjustmentBox[
"A", BoxMargins -> {{-0.36, -0.1}, {0, 0}},
BoxBaselineShift -> -0.2], FontSize -> Smaller], "T",
AdjustmentBox[
"E", BoxMargins -> {{-0.075, -0.085}, {0, 0}},
BoxBaselineShift -> 0.5], "X"}]], "mma" -> "Mathematica",
"Mma" -> "Mathematica", "MMA" -> "Mathematica", "gridMathematica" ->
FormBox[
RowBox[{"grid",
AdjustmentBox[
StyleBox["Mathematica", FontSlant -> "Italic"],
BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm],
"webMathematica" -> FormBox[
RowBox[{"web",
AdjustmentBox[
StyleBox["Mathematica", FontSlant -> "Italic"],
BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm],
Inherited},
CellChangeTimes -> {3.479211616867702*^9, 3.483202458952606*^9},
TextAlignment -> Left, LineSpacing -> {1, 0}, LanguageCategory ->
"NaturalLanguage", CounterIncrements -> "Title",
CounterAssignments -> {{"Section", 0}, {"Equation", 0}, {
"Figure", 0}, {"Subtitle", 0}, {"Subsubtitle", 0}}, FontFamily ->
"Helvetica", FontSize -> 48, FontWeight -> "Plain", FontSlant ->
"Plain", FontTracking -> "Plain",
FontVariations -> {
"Masked" -> False, "Outline" -> False, "Shadow" -> False,
"StrikeThrough" -> False, "Underline" -> False}, FontColor ->
RGBColor[
0.8156862745098039, 0.07058823529411765, 0.07058823529411765],
Background -> None],
Cell[
StyleData["Title", "Presentation", StyleDefinitions -> None],
LineSpacing -> {1, 5}, FontSize -> 28],
Cell[
StyleData[
"Title", "SlideShow", StyleDefinitions ->
StyleData["Title", "Presentation"]],
CellMargins -> {{55, 3}, {14, 45}}, FontSize -> 55],
Cell[
StyleData["Title", "Printout", StyleDefinitions -> None],
CellMargins -> {{2, 0}, {0, 10}}, LineSpacing -> {1, 18}, FontSize ->
15]}, Open]],
Cell[
CellGroupData[{
Cell[
StyleData["Subtitle"], ShowCellBracket -> False,
CellMargins -> {{58, 0}, {0, 5}},
CellBracketOptions -> {"Margins" -> {0, 0}},
CellGroupingRules -> {"TitleGrouping", 10}, PageBreakBelow -> False,
DefaultNewInlineCellStyle -> "None",
InputAutoReplacements -> {"TeX" -> StyleBox[
RowBox[{"T",
AdjustmentBox[
"E", BoxMargins -> {{-0.075, -0.085}, {0, 0}},
BoxBaselineShift -> 0.5], "X"}]], "LaTeX" -> StyleBox[
RowBox[{"L",
StyleBox[
AdjustmentBox[
"A", BoxMargins -> {{-0.36, -0.1}, {0, 0}},
BoxBaselineShift -> -0.2], FontSize -> Smaller], "T",
AdjustmentBox[
"E", BoxMargins -> {{-0.075, -0.085}, {0, 0}},
BoxBaselineShift -> 0.5], "X"}]], "mma" -> "Mathematica",
"Mma" -> "Mathematica", "MMA" -> "Mathematica", "gridMathematica" ->
FormBox[
RowBox[{"grid",
AdjustmentBox[
StyleBox["Mathematica", FontSlant -> "Italic"],
BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm],
"webMathematica" -> FormBox[
RowBox[{"web",
AdjustmentBox[
StyleBox["Mathematica", FontSlant -> "Italic"],
BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm],
Inherited}, TextAlignment -> Left, LanguageCategory ->
"NaturalLanguage", CounterIncrements -> "Subtitle",
CounterAssignments -> {{"Section", 0}, {"Equation", 0}, {
"Figure", 0}, {"Subsubtitle", 0}}, FontFamily -> "Helvetica",
FontSize -> 20, FontWeight -> "Plain", FontSlant -> "Plain",
FontColor ->
RGBColor[
0.34901960784313724`, 0.5254901960784314, 0.5176470588235295],
Background -> None],
Cell[
StyleData["Subtitle", "Presentation", StyleDefinitions -> None],
CellMargins -> {{58, 0}, {0, 5}}, FontSize -> 20],
Cell[
StyleData[
"Subtitle", "SlideShow", StyleDefinitions ->
StyleData["Subtitle", "Presentation"]]],
Cell[
StyleData["Subtitle", "Printout", StyleDefinitions -> None],
CellMargins -> {{2, 0}, {0, 5}}, FontSize -> 14, Background ->
GrayLevel[1]]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["Subsubtitle", StyleDefinitions -> StyleData["Subtitle"]],
FontSize -> Inherited + 3],
Cell[
StyleData["Subsubtitle", "Presentation"], FontSize ->
Inherited + 3],
Cell[
StyleData[
"Subsubtitle", "SlideShow", StyleDefinitions ->
StyleData["Subsubtitle", "Presentation"]]],
Cell[
StyleData["Subsubtitle", "Printout"], FontSize -> Inherited + 0]},
Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["Section"], CellFrame -> {{0, 0}, {0.2, 0}},
ShowGroupOpener -> False, CellMargins -> {{58, 50}, {10, 20}},
FontSize -> 36, FontWeight -> "Plain", FontColor ->
RGBColor[
0.8156862745098039, 0.07058823529411765, 0.07058823529411765]],
Cell[
StyleData["Section", "Presentation"],
CellFrame -> {{0, 0}, {0.2, 0}},
CellMargins -> {{58, 50}, {10, 40}}],
Cell[
StyleData[
"Section", "SlideShow", StyleDefinitions ->
StyleData["Section", "Presentation"]],
CellMargins -> {{58, 50}, {10, 10}}],
Cell[
StyleData["Section", "Printout"], ShowGroupOpener -> False,
CellMargins -> {{2, 0}, {7, 22}}, FontSize -> 14]}, Open]],
Cell[
CellGroupData[{
Cell[
StyleData["Subsection"], CellDingbat -> None, ShowGroupOpener ->
True, CellMargins -> {{60, Inherited}, {0, 12}},
CellGroupingRules -> {"SectionGrouping", 40}, PageBreakBelow ->
False, DefaultNewInlineCellStyle -> "None",
InputAutoReplacements -> {"TeX" -> StyleBox[
RowBox[{"T",
AdjustmentBox[
"E", BoxMargins -> {{-0.075, -0.085}, {0, 0}},
BoxBaselineShift -> 0.5], "X"}]], "LaTeX" -> StyleBox[
RowBox[{"L",
StyleBox[
AdjustmentBox[
"A", BoxMargins -> {{-0.36, -0.1}, {0, 0}},
BoxBaselineShift -> -0.2], FontSize -> Smaller], "T",
AdjustmentBox[
"E", BoxMargins -> {{-0.075, -0.085}, {0, 0}},
BoxBaselineShift -> 0.5], "X"}]], "mma" -> "Mathematica",
"Mma" -> "Mathematica", "MMA" -> "Mathematica", "gridMathematica" ->
FormBox[
RowBox[{"grid",
AdjustmentBox[
StyleBox["Mathematica", FontSlant -> "Italic"],
BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm],
"webMathematica" -> FormBox[
RowBox[{"web",
AdjustmentBox[
StyleBox["Mathematica", FontSlant -> "Italic"],
BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm],
Inherited}, LanguageCategory -> "NaturalLanguage",
CounterIncrements -> "Subsection",
CounterAssignments -> {{"Subsubsection", 0}}, FontFamily ->
"Helvetica", FontSize -> 24, FontWeight -> "Plain", FontSlant ->
"Plain", FontColor ->
RGBColor[
0.34901960784313724`, 0.5254901960784314, 0.5176470588235295]],
Cell[
StyleData["Subsection", "Presentation"],
CellMargins -> {{60, 50}, {6, 15}}, LineSpacing -> {1, 0},
FontFamily -> "Helvetica"],
Cell[
StyleData["Subsection", "SlideShow"],
CellMargins -> {{60, 50}, {8, 12}}, LineSpacing -> {1, 0},
FontFamily -> "Helvetica"],
Cell[
StyleData["Subsection", "Printout"], ShowGroupOpener -> False,
CellMargins -> {{2, 0}, {2, 22}}, FontSize -> 12]}, Open]],
Cell[
CellGroupData[{
Cell[
StyleData["Subsubsection"], CellDingbat -> None, ShowGroupOpener ->
True, CellMargins -> {{60, Inherited}, {0, 12}},
CellGroupingRules -> {"SectionGrouping", 50}, PageBreakBelow ->
False, DefaultNewInlineCellStyle -> "None",
InputAutoReplacements -> {"TeX" -> StyleBox[
RowBox[{"T",
AdjustmentBox[
"E", BoxMargins -> {{-0.075, -0.085}, {0, 0}},
BoxBaselineShift -> 0.5], "X"}]], "LaTeX" -> StyleBox[
RowBox[{"L",
StyleBox[
AdjustmentBox[
"A", BoxMargins -> {{-0.36, -0.1}, {0, 0}},
BoxBaselineShift -> -0.2], FontSize -> Smaller], "T",
AdjustmentBox[
"E", BoxMargins -> {{-0.075, -0.085}, {0, 0}},
BoxBaselineShift -> 0.5], "X"}]], "mma" -> "Mathematica",
"Mma" -> "Mathematica", "MMA" -> "Mathematica", "gridMathematica" ->
FormBox[
RowBox[{"grid",
AdjustmentBox[
StyleBox["Mathematica", FontSlant -> "Italic"],
BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm],
"webMathematica" -> FormBox[
RowBox[{"web",
AdjustmentBox[
StyleBox["Mathematica", FontSlant -> "Italic"],
BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm],
Inherited}, LanguageCategory -> "NaturalLanguage",
CounterIncrements -> "Subsubsection", FontFamily -> "Helvetica",
FontSize -> 24, FontWeight -> "Plain", FontSlant -> "Plain",
FontColor ->
RGBColor[
0.34901960784313724`, 0.5254901960784314, 0.5176470588235295]],
Cell[
StyleData["Subsubsection", "Presentation"],
CellMargins -> {{60, 50}, {6, 20}}, LineSpacing -> {1, 0}],
Cell[
StyleData[
"Subsubsection", "SlideShow", StyleDefinitions ->
StyleData["Subsubsection", "Presentation"]]],
Cell[
StyleData["Subsubsection", "Printout"], ShowGroupOpener -> False,
CellMargins -> {{2, 0}, {2, 22}}, FontSize -> 11]}, Closed]]},
Open]],
Cell[
CellGroupData[{
Cell["Styles for Body Text", "Section"],
Cell[
CellGroupData[{
Cell["Standard", "Subsection"],
Cell[
CellGroupData[{
Cell[
StyleData["Text"], CellMargins -> {{60, 10}, {7, 7}},
InputAutoReplacements -> {"TeX" -> StyleBox[
RowBox[{"T",
AdjustmentBox[
"E", BoxMargins -> {{-0.075, -0.085}, {0, 0}},
BoxBaselineShift -> 0.5], "X"}]], "LaTeX" -> StyleBox[
RowBox[{"L",
StyleBox[
AdjustmentBox[
"A", BoxMargins -> {{-0.36, -0.1}, {0, 0}},
BoxBaselineShift -> -0.2], FontSize -> Smaller], "T",
AdjustmentBox[
"E", BoxMargins -> {{-0.075, -0.085}, {0, 0}},
BoxBaselineShift -> 0.5], "X"}]], "mma" -> "Mathematica",
"Mma" -> "Mathematica", "MMA" -> "Mathematica",
"gridMathematica" -> FormBox[
RowBox[{"grid",
AdjustmentBox[
StyleBox["Mathematica", FontSlant -> "Italic"],
BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm],
"webMathematica" -> FormBox[
RowBox[{"web",
AdjustmentBox[
StyleBox["Mathematica", FontSlant -> "Italic"],
BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm],
Inherited}, LineSpacing -> {1, 3}, CounterIncrements -> "Text",
FontFamily -> "Helvetica", FontSize -> 17],
Cell[
StyleData["Text", "Presentation"],
CellMargins -> {{60, 50}, {10, 10}}, FontSize -> 17],
Cell[
StyleData[
"Text", "SlideShow", StyleDefinitions ->
StyleData["Text", "Presentation"]]],
Cell[
StyleData["Text", "Printout"], CellMargins -> {{2, 2}, {6, 6}},
TextJustification -> 0.5, Hyphenation -> True, FontSize -> 10]},
Closed]]}, Open]],
Cell[
CellGroupData[{
Cell["Display", "Subsection"],
Cell[
CellGroupData[{
Cell[
StyleData["Item", StyleDefinitions -> StyleData["Text"]],
CellDingbat ->
Cell["\[FilledSmallCircle]", FontWeight -> "Bold"],
CellMargins -> {{84, 10}, {7, 7}}, ReturnCreatesNewCell -> True,
CellGroupingRules -> {"GroupTogetherNestedGrouping", 15000},
CounterIncrements -> "Item"],
Cell[
StyleData["Item", "Presentation"],
CellMargins -> {{124, 10}, {7, 7}}],
Cell[
StyleData[
"Item", "SlideShow", StyleDefinitions ->
StyleData["Item", "Presentation"]]],
Cell[
StyleData["Item", "Printout"], CellMargins -> {{2, 2}, {0, 6}}]},
Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["Subitem", StyleDefinitions -> StyleData["Item"]],
CellMargins -> {{108, 10}, {7, 7}}, ReturnCreatesNewCell -> True,
CellGroupingRules -> {"GroupTogetherNestedGrouping", 15150},
CounterIncrements -> "Subitem"],
Cell[
StyleData["Subitem", "Presentation"],
CellMargins -> {{146, 10}, {7, 7}}],
Cell[
StyleData[
"Subitem", "SlideShow", StyleDefinitions ->
StyleData["Subitem", "Presentation"]]],
Cell[
StyleData["Subitem", "Printout"],
CellMargins -> {{30, 2}, {0, 6}}]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["ItemNumbered", StyleDefinitions -> StyleData["Text"]],
CellDingbat -> Cell[
TextData[{
CounterBox["ItemNumbered"], "."}]],
CellMargins -> {{84, 10}, {7, 7}}, ReturnCreatesNewCell -> True,
CellGroupingRules -> {"GroupTogetherNestedGrouping", 15000},
CounterIncrements -> "ItemNumbered"],
Cell[
StyleData["ItemNumbered", "Presentation"],
CellMargins -> {{124, 10}, {7, 7}}],
Cell[
StyleData[
"ItemNumbered", "SlideShow", StyleDefinitions ->
StyleData["ItemNumbered", "Presentation"]]],
Cell[
StyleData["ItemNumbered", "Printout"],
CellMargins -> {{2, 2}, {0, 6}}]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData[
"SubitemNumbered", StyleDefinitions ->
StyleData["ItemNumbered"]], CellDingbat -> Cell[
TextData[{
CounterBox["SubitemNumbered", CounterFunction :> (Part[
CharacterRange["a", "z"], #]& )], "."}]],
CellMargins -> {{108, 10}, {7, 7}}, ReturnCreatesNewCell -> True,
CellGroupingRules -> {"GroupTogetherNestedGrouping", 15150},
CounterIncrements -> "SubitemNumbered"],
Cell[
StyleData["SubitemNumbered", "Presentation"],
CellMargins -> {{146, 10}, {7, 7}}],
Cell[
StyleData[
"SubitemNumbered", "SlideShow", StyleDefinitions ->
StyleData["SubitemNumbered", "Presentation"]]],
Cell[
StyleData["SubitemNumbered", "Printout"],
CellMargins -> {{30, 2}, {0, 6}}]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData[
"ItemParagraph", StyleDefinitions -> StyleData["Item"]],
CellDingbat -> None, CellMargins -> {{84, 10}, {7, 7}},
ReturnCreatesNewCell -> True,
CellGroupingRules -> {"GroupTogetherNestedGrouping", 15100},
CounterIncrements -> "ItemParagraph"],
Cell[
StyleData["ItemParagraph", "Presentation"],
CellMargins -> {{124, 10}, {7, 7}}],
Cell[
StyleData[
"ItemParagraph", "SlideShow", StyleDefinitions ->
StyleData["ItemParagraph", "Presentation"]]],
Cell[
StyleData["ItemParagraph", "Printout"],
CellMargins -> {{14, 2}, {0, 6}}]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData[
"SubitemParagraph", StyleDefinitions -> StyleData["Subitem"]],
CellDingbat -> None, ReturnCreatesNewCell -> True,
CellGroupingRules -> {"GroupTogetherNestedGrouping", 15200},
CounterIncrements -> "SubitemParagraph"],
Cell[
StyleData["SubitemParagraph", "Presentation"]],
Cell[
StyleData[
"SubitemParagraph", "SlideShow", StyleDefinitions ->
StyleData["SubitemParagraph", "Presentation"]]],
Cell[
StyleData["SubitemParagraph", "Printout"]]}, Closed]]}, Open]]},
Open]],
Cell[
CellGroupData[{
Cell["Styles for Formulas and Programming", "Section"],
Cell[
CellGroupData[{
Cell[
StyleData["DisplayFormula"]],
Cell[
StyleData["DisplayFormula", "Presentation"],
CellMargins -> {{60, Inherited}, {Inherited 1.5, Inherited 1.5}},
FontSize -> 17],
Cell[
StyleData[
"DisplayFormula", "SlideShow", StyleDefinitions ->
StyleData["DisplayFormula", "Presentation"]]],
Cell[
StyleData["DisplayFormula", "Printout"],
CellMargins -> {{39, Inherited}, {Inherited, Inherited}}, FontSize ->
10]}, Open]],
Cell[
CellGroupData[{
Cell[
StyleData[
"DisplayFormulaNumbered", StyleDefinitions ->
StyleData["DisplayFormula"]], CellFrameLabels -> {{None,
Cell[
TextData[{"(",
CounterBox["DisplayFormulaNumbered"], ")"}]]}, {None, None}},
CounterIncrements -> "DisplayFormulaNumbered"],
Cell[
StyleData["DisplayFormulaNumbered", "Presentation"],
CellMargins -> {{60, Inherited}, {Inherited 1.5, Inherited 1.5}},
FontSize -> 17],
Cell[
StyleData[
"DisplayFormulaNumbered", "SlideShow", StyleDefinitions ->
StyleData["DisplayFormulaNumbered", "Presentation"]]],
Cell[
StyleData["DisplayFormulaNumbered", "Printout"],
CellMargins -> {{39, Inherited}, {Inherited, Inherited}}]}, Open]]},
Open]],
Cell[
CellGroupData[{
Cell["Styles for Inline Formatting", "Section"],
Cell[
CellGroupData[{
Cell[
StyleData["InlineFormula"]],
Cell[
StyleData["InlineFormula", "Presentation"], FontSize -> 17],
Cell[
StyleData[
"InlineFormula", "SlideShow", StyleDefinitions ->
StyleData["InlineFormula", "Presentation"]]],
Cell[
StyleData["InlineFormula", "Printout"]]}, Closed]]}, Open]],
Cell[
CellGroupData[{
Cell["Styles for Input and Output Cells", "Section"],
Cell[
CellGroupData[{
Cell[
StyleData["Input"], ShowCellBracket -> True,
CellMargins -> {{103, 10}, {5, 7}},
CellBracketOptions -> {
"Color" -> RGBColor[0.734936, 0.713848, 0.694041]}, Evaluatable ->
True, CellGroupingRules -> "InputGrouping", CellHorizontalScrolling ->
True, PageBreakWithin -> False, GroupPageBreakWithin -> False,
DefaultFormatType -> DefaultInputFormatType,
"TwoByteSyntaxCharacterAutoReplacement" -> True,
HyphenationOptions -> {"HyphenationCharacter" -> "\[Continuation]"},
AutoItalicWords -> {}, LanguageCategory -> "Mathematica",
FormatType -> InputForm, ShowStringCharacters -> True, NumberMarks ->
True, LinebreakAdjustments -> {0.85, 2, 10, 0, 1},
CounterIncrements -> "Input", FontWeight -> "Bold"],
Cell[
StyleData["Input", "Presentation"],
CellMargins -> {{110, 50}, {8, 10}}, LineSpacing -> {1, 0},
FontSize -> 17],
Cell[
StyleData[
"Input", "SlideShow", StyleDefinitions ->
StyleData["Input", "Presentation"]]],
Cell[
StyleData["Input", "Printout"], CellMargins -> {{39, 0}, {4, 6}},
LinebreakAdjustments -> {0.85, 2, 10, 1, 1}, FontSize -> 9]},
Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["InputOnly"], ShowCellBracket -> True,
CellMargins -> {{103, 10}, {7, 7}},
CellBracketOptions -> {
"Color" -> RGBColor[0.734936, 0.713848, 0.694041]}, Evaluatable ->
True, CellGroupingRules -> "InputGrouping", CellHorizontalScrolling ->
True, DefaultFormatType -> DefaultInputFormatType,
"TwoByteSyntaxCharacterAutoReplacement" -> True,
HyphenationOptions -> {"HyphenationCharacter" -> "\[Continuation]"},
AutoItalicWords -> {}, LanguageCategory -> "Mathematica",
FormatType -> InputForm, ShowStringCharacters -> True, NumberMarks ->
True, LinebreakAdjustments -> {0.85, 2, 10, 0, 1},
CounterIncrements -> "Input", MenuSortingValue -> 1550, FontWeight ->
"Bold"],
Cell[
StyleData["InputOnly", "Presentation"],
CellMargins -> {{110, Inherited}, {8, 10}}, LineSpacing -> {1, 0},
FontSize -> 17],
Cell[
StyleData[
"InputOnly", "SlideShow", StyleDefinitions ->
StyleData["InputOnly", "Presentation"]]],
Cell[
StyleData["InputOnly", "Printout"],
CellMargins -> {{39, 0}, {4, 6}},
LinebreakAdjustments -> {0.85, 2, 10, 1, 1}, FontSize -> 9]},
Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["Output"], ShowCellBracket -> True,
CellMargins -> {{103, 10}, {7, 5}},
CellBracketOptions -> {
"Color" -> RGBColor[0.734936, 0.713848, 0.694041]},
CellEditDuplicate -> True, CellGroupingRules -> "OutputGrouping",
CellHorizontalScrolling -> True, PageBreakWithin -> False,
GroupPageBreakWithin -> False, GeneratedCell -> True,
CellAutoOverwrite -> True, DefaultFormatType ->
DefaultOutputFormatType, "TwoByteSyntaxCharacterAutoReplacement" ->
True, HyphenationOptions -> {
"HyphenationCharacter" -> "\[Continuation]"},
AutoItalicWords -> {}, LanguageCategory -> None, FormatType ->
InputForm, CounterIncrements -> "Output"],
Cell[
StyleData["Output", "Presentation"],
CellMargins -> {{110, 50}, {10, 8}}, LineSpacing -> {1, 0},
FontSize -> 17],
Cell[
StyleData[
"Output", "SlideShow", StyleDefinitions ->
StyleData["Output", "Presentation"]]],
Cell[
StyleData["Output", "Printout"], CellMargins -> {{39, 0}, {6, 4}},
FontSize -> 9]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["Code"], CellMargins -> {{103, 10}, {5, 10}}],
Cell[
StyleData["Code", "Presentation"],
CellMargins -> {{110, 50}, {8, 10}}, LineSpacing -> {1, 0},
FontSize -> 17],
Cell[
StyleData[
"Code", "SlideShow", StyleDefinitions ->
StyleData["Code", "Presentation"]]],
Cell[
StyleData["Code", "Printout"], CellMargins -> {{39, 0}, {4, 6}},
LinebreakAdjustments -> {0.85, 2, 10, 1, 1}, FontSize -> 9]},
Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["Print"],
CellMargins -> {{103, Inherited}, {Inherited, Inherited}}, FontSize ->
14],
Cell[
StyleData["Print", "Presentation"],
CellMargins -> {{70, Inherited}, {Inherited 1.5, Inherited 1.5}},
FontSize -> 17, Magnification -> Inherited 1.5],
Cell[
StyleData[
"Print", "SlideShow", StyleDefinitions ->
StyleData["Print", "Presentation"]]],
Cell[
StyleData["Print", "Printout"],
CellMargins -> {{39, Inherited}, {Inherited, Inherited}}]},
Closed]],
Cell[
CellGroupData[{
Cell[
StyleData[
"WolframAlphaShortInput", StyleDefinitions -> StyleData["Input"]],
CellMargins -> {{98, 10}, {5, 7}}, EvaluationMode ->
"WolframAlphaShort",
CellEventActions -> {"ReturnKeyDown" :> FrontEndTokenExecute[
EvaluationNotebook[], "HandleShiftReturn"]},
CellFrameLabels -> {{
Cell[
BoxData[
DynamicBox[
FEPrivate`FrontEndResource["WABitmaps", "Equal"]]],
CellBaseline -> Baseline], None}, {None, None}}, FormatType ->
TextForm, FontFamily -> "Helvetica"],
Cell[
StyleData["WolframAlphaShortInput", "Presentation"],
CellMargins -> {{107, 50}, {8, 10}}],
Cell[
StyleData[
"WolframAlphaShortInput", "SlideShow", StyleDefinitions ->
StyleData["WolframAlphaShortInput", "Presentation"]]],
Cell[
StyleData["WolframAlphaShortInput", "Printout"],
CellFrameLabelMargins -> 3]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData[
"WolframAlphaLong", StyleDefinitions -> StyleData["Input"]],
CellMargins -> {{100, 10}, {5, 7}},
StyleKeyMapping -> {
"=" -> "Input", "Backspace" -> "WolframAlphaShort"},
EvaluationMode -> "WolframAlphaLong",
CellEventActions -> {"ReturnKeyDown" :> FrontEndTokenExecute[
EvaluationNotebook[], "HandleShiftReturn"]},
CellFrameLabels -> {{
Cell[
BoxData[
DynamicBox[
FEPrivate`FrontEndResource["WABitmaps", "SpikeyEqual"]]]],
None}, {None, None}}, DefaultFormatType -> TextForm, FormatType ->
TextForm, FontFamily -> "Helvetica"],
Cell[
StyleData["WolframAlphaLong", "Presentation"],
CellMargins -> {{107, 50}, {8, 10}}],
Cell[
StyleData[
"WolframAlphaLong", "SlideShow", StyleDefinitions ->
StyleData["WolframAlphaLong", "Presentation"]],
CellMargins -> {{107, 50}, {8, 10}}],
Cell[
StyleData["WolframAlphaLong", "Printout"], CellFrameLabelMargins ->
3]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["Program"], CellMargins -> {{60, 4}, {6, 8}}],
Cell[
StyleData["Program", "Presentation"],
CellMargins -> {{60, 50}, {8, 10}}, LineSpacing -> {1, 0}, FontSize ->
17],
Cell[
StyleData[
"Program", "SlideShow", StyleDefinitions ->
StyleData["Program", "Presentation"]]],
Cell[
StyleData["Program", "Printout"], FontSize -> 9]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["CellLabel"]],
Cell[
StyleData["CellLabel", "Presentation"], FontSize -> 12],
Cell[
StyleData[
"CellLabel", "SlideShow", StyleDefinitions ->
StyleData["CellLabel", "Presentation"]]],
Cell[
StyleData["CellLabel", "Printout"], FontSize -> 8, FontColor ->
GrayLevel[0.]]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["ManipulateLabel"]],
Cell[
StyleData["ManipulateLabel", "Presentation"], FontSize -> 15],
Cell[
StyleData[
"ManipulateLabel", "SlideShow", StyleDefinitions ->
StyleData["ManipulateLabel", "Presentation"]]],
Cell[
StyleData["ManipulateLabel", "Printout"], FontSize -> 8]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["GraphicsLabel"]],
Cell[
StyleData["GraphicsLabel", "Presentation"], FontSize -> 14],
Cell[
StyleData[
"GraphicsLabel", "SlideShow", StyleDefinitions ->
StyleData["GraphicsLabel", "Presentation"]]],
Cell[
StyleData["GraphicsLabel", "Printout"], FontSize -> 8]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["Graphics3DLabel"]],
Cell[
StyleData["Graphics3DLabel", "Presentation"], FontSize -> 14],
Cell[
StyleData[
"Graphics3DLabel", "SlideShow", StyleDefinitions ->
StyleData["Graphics3DLabel", "Presentation"]]],
Cell[
StyleData["Graphics3DLabel", "Printout"], FontSize -> 8]},
Closed]]}, Open]],
Cell[
CellGroupData[{
Cell[
"Styles for SlideShow", "Section",
CellChangeTimes -> {{3.514665148412793*^9, 3.5146651505550737`*^9}}],
Cell[
RawData[
"Cell[StyleData[\"slideshowheader\"],\n ShowCellBracket->False,\n \
CellMargins->{{0, 0}, {0, -2}},\n Evaluatable->False,\n \
CellHorizontalScrolling->False,\n PageBreakBelow->False,\n \
CellFrameMargins->0,\n ImageMargins->{{0, 0}, {0, 0}},\n ImageRegion->{{0, \
1}, {0, 1}},\n Magnification->1,\n Background->GrayLevel[1],\n CellPadding -> \
0,\n CellFramePadding -> 0]"], ShowCellBracket -> False,
CellMargins -> {{0, 0}, {0, -2}}, Evaluatable -> False,
CellHorizontalScrolling -> False, PageBreakBelow -> False,
CellFrameMargins -> 0, ImageMargins -> {{0, 0}, {0, 0}},
ImageRegion -> {{0, 1}, {0, 1}}, Magnification -> 1, Background ->
GrayLevel[1], CellPadding -> 0, CellFramePadding -> 0],
Cell[
RawData[
"Cell[StyleData[\"hidefromslideshowgraphic\"],\n \
ShowCellBracket->False,\n CellMargins->{{0, 0}, {0, 0}},\n \
Evaluatable->False,\n CellHorizontalScrolling->False,\n \
PageBreakBelow->False,\n CellFrameMargins->0,\n ImageMargins->{{0, 0}, {0, \
0}},\n ImageRegion->{{0, 1}, {0, 1}},\n Magnification->1,\n \
Background->GrayLevel[1],\n CellPadding -> 0]"], ShowCellBracket -> False,
CellMargins -> {{0, 0}, {0, 0}}, Evaluatable -> False,
CellHorizontalScrolling -> False, PageBreakBelow -> False,
CellFrameMargins -> 0, ImageMargins -> {{0, 0}, {0, 0}},
ImageRegion -> {{0, 1}, {0, 1}}, Magnification -> 1, Background ->
GrayLevel[1], CellPadding -> 0],
Cell[
StyleData["hidefromslideshowgraphic", "SlideShow"], ShowCellBracket ->
False,
CellElementSpacings -> {
"CellMinHeight" -> 0, "ClosedCellHeight" -> 0, "ClosedGroupTopMargin" ->
0}, CellOpen -> False, CellHorizontalScrolling -> False],
Cell[
RawData[
"Cell[StyleData[\"slideshowheader2\"],\n ShowCellBracket->False,\n \
CellMargins->{{0, 0}, {0, 0}},\n Evaluatable->False,\n \
CellHorizontalScrolling->False,\n PageBreakBelow->False,\n ImageMargins->{{0, \
0}, {0, 0}},\n ImageRegion->{{0, 1}, {0, 1}},\n Magnification->1,\n \
Background->GrayLevel[1]]"], ShowCellBracket -> False,
CellMargins -> {{0, 0}, {0, 0}}, Evaluatable -> False,
CellHorizontalScrolling -> False, PageBreakBelow -> False,
ImageMargins -> {{0, 0}, {0, 0}}, ImageRegion -> {{0, 1}, {0, 1}},
Magnification -> 1, Background -> GrayLevel[1]],
Cell[
StyleData["ConferenceGraphicCell", "SlideShow"], ShowCellBracket ->
False, CellElementSpacings -> {
"CellMinHeight" -> 0, "ClosedCellHeight" -> 0, "ClosedGroupTopMargin" ->
0}, CellOpen -> False, CellHorizontalScrolling -> True],
Cell[
StyleData["slideshowheader", "Printout"], FontSize -> 8, Magnification ->
0.75],
Cell[
StyleData[
"ConferenceGraphicCellSlideShowOnly", StyleDefinitions ->
StyleData["ConferenceCellGraphic"]], ShowCellBracket -> False,
CellMargins -> 0,
CellElementSpacings -> {
"CellMinHeight" -> 0, "ClosedCellHeight" -> 0, "ClosedGroupTopMargin" ->
0}, CellOpen -> False],
Cell[
CellGroupData[{
Cell[
StyleData["SlideShowNavigationBar"], Editable -> True, Selectable ->
False, CellFrame -> 0, ShowGroupOpener -> False,
CellMargins -> {{0, 0}, {3, 3}}, CellOpen -> True, CellFrameMargins ->
0, CellFrameColor -> None, Background -> None],
Cell[
StyleData["SlideShowNavigationBar", "Printout"], PageBreakAbove ->
Automatic]}, Open]]}, Open]]}, Visible -> False, FrontEndVersion ->
"8.0 for Mac OS X x86 (32-bit, 64-bit Kernel) (October 5, 2011)",
StyleDefinitions -> "Default.nb"]
]
(* End of Notebook Content *)
(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{
"SlideShowHeader"->{
Cell[13484, 255, 64, 1, 1, "SlideShowNavigationBar",
CellTags->"SlideShowHeader"],
Cell[19191, 389, 106, 2, 1, "SlideShowNavigationBar",
CellTags->"SlideShowHeader"],
Cell[38753, 759, 64, 1, 1, "SlideShowNavigationBar",
CellTags->"SlideShowHeader"],
Cell[45806, 965, 64, 1, 1, "SlideShowNavigationBar",
CellTags->"SlideShowHeader"],
Cell[49183, 1053, 64, 1, 1, "SlideShowNavigationBar",
CellTags->"SlideShowHeader"],
Cell[51769, 1129, 64, 1, 1, "SlideShowNavigationBar",
CellTags->"SlideShowHeader"],
Cell[54989, 1213, 64, 1, 1, "SlideShowNavigationBar",
CellTags->"SlideShowHeader"]}
}
*)
(*CellTagsIndex
CellTagsIndex->{
{"SlideShowHeader", 113198, 2425}
}
*)
(*NotebookFileOutline
Notebook[{
Cell[545, 20, 10476, 176, 2, "hidefromslideshowgraphic"],
Cell[CellGroupData[{
Cell[11046, 200, 470, 13, 95, "Title"],
Cell[11519, 215, 317, 4, 25, "Subtitle"],
Cell[11839, 221, 272, 4, 20, "Subsubtitle"],
Cell[12114, 227, 1333, 23, 191, "Text"]
}, Open ]],
Cell[CellGroupData[{
Cell[13484, 255, 64, 1, 1, "SlideShowNavigationBar",
CellTags->"SlideShowHeader"],
Cell[CellGroupData[{
Cell[13573, 260, 169, 3, 68, "Section"],
Cell[13745, 265, 1292, 24, 81, "Text"],
Cell[15040, 291, 190, 4, 37, "Text"],
Cell[15233, 297, 944, 15, 103, "Text"],
Cell[16180, 314, 279, 7, 37, "Text"],
Cell[16462, 323, 227, 4, 37, "Text"],
Cell[16692, 329, 939, 16, 51, "Text"],
Cell[17634, 347, 831, 13, 31, "Text"],
Cell[18468, 362, 375, 12, 134, "Program"],
Cell[18846, 376, 296, 7, 56, "Text"]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell[19191, 389, 106, 2, 1, "SlideShowNavigationBar",
CellTags->"SlideShowHeader"],
Cell[CellGroupData[{
Cell[19322, 395, 207, 3, 75, "Section"],
Cell[19532, 400, 340, 6, 55, "Text"],
Cell[19875, 408, 262, 5, 33, "Text"],
Cell[20140, 415, 6639, 117, 85, "Text"],
Cell[26782, 534, 287, 5, 33, "Text"],
Cell[27072, 541, 441, 8, 55, "Text"],
Cell[27516, 551, 576, 12, 79, "Text"],
Cell[28095, 565, 10300, 178, 468, 1545, 33, "CachedBoxData", "BoxData", \
"Input"],
Cell[38398, 745, 306, 8, 34, "Text"]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell[38753, 759, 64, 1, 1, "SlideShowNavigationBar",
CellTags->"SlideShowHeader"],
Cell[CellGroupData[{
Cell[38842, 764, 296, 8, 75, "Section"],
Cell[39141, 774, 716, 13, 78, "Text"],
Cell[CellGroupData[{
Cell[39882, 791, 154, 3, 28, "Input"],
Cell[40039, 796, 2251, 64, 89, "Print"]
}, Open ]],
Cell[42305, 863, 215, 5, 33, "Text"],
Cell[42523, 870, 170, 4, 33, "Text"],
Cell[42696, 876, 207, 4, 28, "Input"],
Cell[42906, 882, 200, 5, 33, "Text"],
Cell[43109, 889, 321, 7, 49, "Input"],
Cell[43433, 898, 211, 5, 33, "Text"],
Cell[CellGroupData[{
Cell[43669, 907, 240, 5, 28, "Input"],
Cell[43912, 914, 1173, 25, 123, "Output"]
}, Open ]],
Cell[45100, 942, 124, 2, 33, "Text"],
Cell[45227, 946, 289, 6, 69, "Input"],
Cell[45519, 954, 238, 5, 33, "Text"]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell[45806, 965, 64, 1, 1, "SlideShowNavigationBar",
CellTags->"SlideShowHeader"],
Cell[CellGroupData[{
Cell[45895, 970, 208, 3, 75, "Section"],
Cell[46106, 975, 558, 11, 56, "Text"],
Cell[46667, 988, 664, 14, 129, "Input"],
Cell[47334, 1004, 1073, 23, 574, "Input"],
Cell[48410, 1029, 283, 7, 34, "Text"],
Cell[48696, 1038, 438, 9, 56, "Text"]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell[49183, 1053, 64, 1, 1, "SlideShowNavigationBar",
CellTags->"SlideShowHeader"],
Cell[CellGroupData[{
Cell[49272, 1058, 263, 7, 75, "Section"],
Cell[49538, 1067, 511, 10, 55, "Text"],
Cell[50052, 1079, 219, 4, 33, "Text"],
Cell[50274, 1085, 504, 8, 77, "Text"],
Cell[50781, 1095, 281, 5, 33, "Text"],
Cell[CellGroupData[{
Cell[51087, 1104, 141, 3, 28, "Input"],
Cell[51231, 1109, 77, 1, 27, "Output"]
}, Open ]],
Cell[51323, 1113, 197, 4, 33, "Text"],
Cell[51523, 1119, 197, 4, 33, "Text"]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell[51769, 1129, 64, 1, 1, "SlideShowNavigationBar",
CellTags->"SlideShowHeader"],
Cell[CellGroupData[{
Cell[51858, 1134, 276, 4, 75, "Section"],
Cell[52137, 1140, 354, 8, 56, "Text"],
Cell[52494, 1150, 444, 7, 77, "Text"],
Cell[52941, 1159, 421, 7, 55, "Text"],
Cell[53365, 1168, 166, 4, 55, "Text"],
Cell[53534, 1174, 161, 3, 28, "Input"],
Cell[53698, 1179, 217, 4, 33, "Text"],
Cell[53918, 1185, 490, 8, 77, "Text"],
Cell[54411, 1195, 262, 5, 55, "Text"],
Cell[54676, 1202, 264, 5, 55, "Text"]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell[54989, 1213, 64, 1, 1, "SlideShowNavigationBar",
CellTags->"SlideShowHeader"],
Cell[CellGroupData[{
Cell[55078, 1218, 326, 5, 75, "Section"],
Cell[55407, 1225, 94, 1, 28, "Input"],
Cell[55504, 1228, 669, 10, 77, "Text"],
Cell[56176, 1240, 432, 7, 77, "Text"],
Cell[56611, 1249, 693, 11, 99, "Text"]
}, Open ]]
}, Open ]]
}
]
*)
(* End of internal cache information *)