(* Content-type: application/vnd.wolfram.cdf.text *)
(*** Wolfram CDF File ***)
(* http://www.wolfram.com/cdf *)
(* CreatedBy='Mathematica 10.1' *)
(*************************************************************************)
(* *)
(* The Mathematica License under which this file was created prohibits *)
(* restricting third parties in receipt of this file from republishing *)
(* or redistributing it by any means, including but not limited to *)
(* rights management or terms of use, without the express consent of *)
(* Wolfram Research, Inc. For additional information concerning CDF *)
(* licensing and redistribution see: *)
(* *)
(* www.wolfram.com/cdf/adopting-cdf/licensing-options.html *)
(* *)
(*************************************************************************)
(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[ 1064, 20]
NotebookDataLength[ 86999, 2101]
NotebookOptionsPosition[ 30761, 734]
NotebookOutlinePosition[ 85870, 2055]
CellTagsIndexPosition[ 85780, 2049]
WindowFrame->Normal*)
(* Beginning of Notebook Content *)
Notebook[{
Cell[BoxData[
GraphicsBox[
TagBox[RasterBox[CompressedData["
1:eJx10u9OglAYBnD686Hb6FLqEuwKdKuvbdbWvLkitUCI/hAoBGqJQRBlI1pG
mj29747TD/023HEKnPd5zmZlv7S3KknSwQY+SuWjrWq1XNtZx5ft2uFuZQ2L
FVwqrr/1TPgRptPpZDL5XlYUxRf5JB9Cnufvy7IseyOj0eiVvJA0TZ9JkiRx
HD8JURSFYfhIhsNhEAQP5J70+/0e6Xa7vu97nncnuK7rOE6HtNtt27Yty7ol
N+SaXJFLckE0TWu1WqqqKopyTs5Is9lsNBqnwolwTHgtyzL/Wq/X8We+kR+i
EDwWz9d1HS8yDIPfiw3wZnhjpmnyPm3SETAOhuLpMCnmxdQ9gQPhcAaDAYJC
XJwbAkSMnGdMEDKnjdg5f+4CpXA7qGmxNfQ475QrHo/H3DiqXzwJOBs4IfPT
MvvHL8Y6Gi8=
"], {{0, 1}, {200, 0}}, {0, 255},
ColorFunction->RGBColor],
BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True],
Selectable->False],
BaseStyle->"ImageGraphics",
ImageSizeRaw->{200, 1},
PlotRange->{{0, 200}, {0, 1}}]], "TitleFlourish",
CellMargins->{{Inherited, Inherited}, {Inherited + 24, 0}},
TextAlignment->0.05],
Cell[CellGroupData[{
Cell[TextData[{
"Programming with ",
StyleBox["Mathematica",
FontSlant->"Italic"]
}], "PrefaceSection"],
Cell["\<\
Well-designed tools are not simply things of beauty to be admired. They are, \
above all, a joy to use. They seem to have their own consistent and readily \
apparent internal logic; using them seems natural \[Dash] intuitive even \
\[Dash] in that it is hard to imagine using any other tool, and, typically, a \
minimal amount of effort is required to solve the problem for which those \
tools were designed. You might even begin to think that your problems were \
designed for the tool rather than the other way around.\
\>", "TextFirst"],
Cell[TextData[{
"Programming with ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" is, first and foremost, a joy. Having used various programming languages \
throughout my life (starting with ",
StyleBox["Algol", "SmallCaps"],
" and ",
StyleBox["Fortran", "SmallCaps"],
"), it is now hard for me to imagine using a tool other than ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" to solve most of the computational problems that I encounter. Having at my \
fingertips an extremely well-thought-out language, combined with tools for \
analysis, modeling, simulation, visualization, interface creation, \
connections to other technologies, import and export, seems to give me \
everything I might need. "
}], "Text"],
Cell[TextData[{
"Ultimately though, no tool can solve every problem you might encounter; \
what really makes ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" the indispensable tool for many computational scientists, engineers, and \
even artists and musicians, is its capability for infinite extension through \
programming. As a language, built upon the shoulders of such giants as ",
StyleBox["Lisp, Prolog, ", "SmallCaps"],
StyleBox["Apl", "SmallCaps"],
" and ",
StyleBox["C++", "SmallCaps"],
", ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" has extended some of the best ideas from these languages and created some \
new ones of its own. A powerful pattern matching language together with a \
rule-based paradigm for transforming expressions provides for a natural \
approach to writing programs to solve problems. By \
\[OpenCurlyDoubleQuote]natural\[CloseCurlyDoubleQuote] I mean a quick and \
direct implementation, one that mirrors as closely as possible the statement \
of the problem to be solved. From there, it is just a short path to \
prototyping and eventually a program that can be tested for correctness and \
efficiency."
}], "Text",
CellTags->"i:1"],
Cell[TextData[{
"But there are tools, and there are tools! Some tools are very \
domain-specific, meaning that they are designed for a narrow set of tasks \
defined by a certain discipline or framework and are inappropriate for tasks \
outside of their domain. But ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" has taken a different approach. It provides broadly useful tools by \
abstracting the computational tasks (through symbolic expression \
manipulation) in such a way that it has found wide use in fields as varied as \
genomics and bioinformatics, astronomy, image processing, social networks, \
linguistics, and much more."
}], "Text"],
Cell[TextData[{
"In addition to the breadth of fields that can be addressed with ",
StyleBox["Mathematica",
FontSlant->"Italic"],
", the variety and extent of the computational tasks that now challenge us \
have greatly expanded since the turn of the millennium. This is due to the \
explosion in the sheer amount of information and data that people study. This \
expansion mirrors the rapid growth in computer hardware capabilities of the \
",
StyleBox["1990", "OsF"],
"s and ",
StyleBox["2000", "OsF"],
"s which saw speed and storage grow exponentially. Now the challenge is to \
find software solutions that are up to the task of managing this growth in \
information and data. Given the variety of data objects that people are \
interested in studying, tools that provide generality and avoid \
domain-specific solutions will be the most broadly useful across disciplines \
and across time. ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" has been around now for over two decades and it continues to find \
application in surprising places."
}], "Text"]
}, Open ]],
Cell[CellGroupData[{
Cell["Using this book", "PrefaceSection"],
Cell[TextData[{
"This book is designed for anyone who wants to learn how to write ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" programs to solve problems. It does not presuppose a formal knowledge of \
programming principles as taught in a modern course on a language such as C \
or ",
StyleBox["Java", "SmallCaps"],
", but there is quite a bit of overlap between this material and what you \
would expect in such a formal course. You will learn about the basic building \
blocks of the ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" language: expressions; the syntax of that language; and how to put these \
objects together to make more complicated expressions. But it is more than \
just a primer on the language. The focus is on solving problems and, as such, \
this is an example-driven book. The approach here is practical. Programming \
is about solving problems and besides the obvious necessity of learning the \
rules of the language, many people find it instructive and concrete to see \
concepts put into action. The book is packed with examples both in the text \
proper and in the exercises. Some of these examples are quite simple and \
straightforward and can be understood with a modicum of understanding of ",
StyleBox["Mathematica",
FontSlant->"Italic"],
". Other examples and exercises are more involved and may require a bit more \
study before you feel that you have mastered the underlying concepts and can \
apply them to related problems. Since this book is written for readers with \
various backgrounds in programming languages and using ",
StyleBox["Mathematica",
FontSlant->"Italic"],
", I think it best to not identify \[OpenCurlyDoubleQuote]levels of \
difficulty\[CloseCurlyDoubleQuote] with the examples and exercises. "
}], "TextFirst"],
Cell["\<\
Becoming a proficient programmer requires not only a clear understanding of \
the language but also practice using it. As such, one of the aims of this \
book is to provide the novice with examples of good programming style and \
practice. Many of the examples in the chapters are, by design, concise, in \
order to focus on a concept that is being developed. More involved examples \
drawing together several different conceptual ideas appear in the examples \
and applications sections at the end of many of the chapters. Depending upon \
your needs and level of expertise, you can either start with first \
principles, move on to basic examples, and then to more involved applications \
of these concepts, or you might find yourself looking at interesting examples \
and then, as the need arises, jumping back into the discussion of syntax or \
usage earlier in a chapter. \
\>", "Text"],
Cell[TextData[{
"The exercises (over ",
StyleBox["290", "OsF"],
" of them) are designed to extend and expand upon the topics discussed in \
the chapters in which they occur. You cannot learn how to program by simply \
reading a book; the old maxim, \[OpenCurlyDoubleQuote]you learn by doing\
\[CloseCurlyDoubleQuote] is as true of learning how to speak a foreign \
(natural) language as it is true of learning a computer programming language. \
Try to do as many exercises as you can; create and solve problems that \
interest you; \[OpenCurlyDoubleQuote]life is not a spectator sport\
\[CloseCurlyDoubleQuote] and neither is learning how to program."
}], "Text"],
Cell[TextData[{
"Due to resource limitations, all the solutions could not be included in the \
printed book. Fortunately, we live in an age of easily disseminated \
information, and so you will find an extended set of solutions to most of the \
exercises in both notebook and PDF format at ",
ButtonBox["www.cambridge.org/wellin",
BaseStyle->"Hyperlink",
ButtonData->{
URL["http://www.cambridge.org/wellin"], None},
ButtonNote->"http://www.cambridge.org/wellin"],
". In addition, many of the programs developed in the sections and exercises \
are included as packages at the same website."
}], "Text"]
}, Open ]],
Cell[CellGroupData[{
Cell["Scope of this book", "PrefaceSection"],
Cell[TextData[{
"This book evolved from an earlier project, ",
StyleBox["An Introduction to Programming with Mathematica",
FontSlant->"Italic"],
", the third edition of which was also published by Cambridge University \
Press. As a result of several factors, including a long time between \
editions, much new material due to major upgrades in ",
StyleBox["Mathematica",
FontSlant->"Italic"],
", the original authors traveling different paths \[Dash] it seemed as if a \
new title was in order, one that both reflects and builds upon this history \
while incorporating the latest elements of ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" itself."
}], "TextFirst"],
Cell[TextData[{
"The several versions of ",
StyleBox["Mathematica ",
FontSlant->"Italic"],
"that have been released since the third edition of ",
StyleBox["An Introduction to Programming with Mathematica",
FontSlant->"Italic"],
" was published now include extensive coverage in new application areas, \
including image processing, control systems, wavelets, graphs and networks, \
and finance. The present book draws from many of these areas in the \
never-ending search for good examples that not only help to illustrate \
conceptual problems, but also serve as interesting and enlightening material \
on their own. The examples, exercises, and applications draw from a variety \
of fields, including:"
}], "Text"],
Cell[CellGroupData[{
Cell[TextData[{
StyleBox["textual analysis and natural language processing",
FontSlant->"Italic"],
": corpus linguistics, word stemming, stop words, comparative textual \
analysis, scraping websites for data, sorting strings, bigrams and ",
StyleBox["n",
FontSlant->"Italic"],
"-grams, word games (anagrams, blanagrams, palindromes), filtering text;"
}], "ItemFirst"],
Cell[TextData[{
StyleBox["bioinformatics",
FontSlant->"Italic"],
": analysis of nucleotide sequences, computing GC ratios, displaying blocks \
of genetic information, searching for subsequences, protein-protein \
interaction networks, dot plots;"
}], "Item"],
Cell[TextData[{
StyleBox["computer science",
FontSlant->"Italic"],
": hashing (checksums), encoding/encryption, sorting, adjacency structures, \
triangular numbers, Hamming numbers, Fibonacci numbers, Euler numbers, root \
finders, random number generation algorithms, sieving;"
}], "Item"],
Cell[TextData[{
StyleBox["finance and economics",
FontSlant->"Italic"],
": time-series analysis, trend plots, stock screens;"
}], "Item"],
Cell[TextData[{
StyleBox["data analysis",
FontSlant->"Italic"],
": filtering signals, cleaning data, stem plots, statistical tests, lag \
plots, correlograms, visualizing spread of data;"
}], "Item"],
Cell[TextData[{
StyleBox["geometry",
FontSlant->"Italic"],
": convex hull, diameter of pointsets, point-in-polygon problems, traveling \
salesman-type problems, hypocycloids and epicycloids, Apollonius\
\[CloseCurlyQuote] circle;"
}], "Item"],
Cell[TextData[{
StyleBox["image processing",
FontSlant->"Italic"],
": resizing, filtering, segmentation;"
}], "Item"],
Cell[TextData[{
StyleBox["graphs and networks",
FontSlant->"Italic"],
": random graphs, regular graphs, bond percolation, connected components."
}], "Item"]
}, Open ]],
Cell[TextData[{
"Chapter ",
StyleBox["1", "OsF"],
" is designed as a brief tour of the current version of ",
StyleBox["Mathematica ",
FontSlant->"Italic"],
"as of the publication of this book. The examples give a sense of the scope \
of ",
StyleBox["Mathematica",
FontSlant->"Italic"],
"\[CloseCurlyQuote]s usage in science, engineering, and other analytic \
fields. Included is a basic introduction to the syntax of ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" expressions, working with the ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" interface, and also pointers to the documentation features."
}], "Text"],
Cell[TextData[{
"Several important topics are introduced in Chapter ",
StyleBox["2", "OsF"],
" that are used throughout the book, in particular, structure of \
expressions, evaluation of expressions, various aspects of function \
definitions, predicates, relational and logical operators, and attributes."
}], "Text"],
Cell[TextData[{
"Lists are an essential data type in ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" and an understanding of how to work with them provides a practical \
framework for the generalization of these ideas to arbitrary expressions. \
Chapter ",
StyleBox["3", "OsF"],
" focuses on structure, syntax, and tools for working with lists. These \
topics are all extended in later chapters in the context of various \
programming tasks. Included in this chapter are discussions of functions for \
creating, displaying, testing, measuring lists, various visualization tools, \
arrays (sparse and otherwise), list component assignment, and using ",
Cell[BoxData[
ButtonBox["Span",
BaseStyle->"Link",
ButtonData->"paclet:ref/Span"]], "InlineFormula"],
" to extract ranges of elements."
}], "Text"],
Cell[TextData[{
"Patterns and rules are introduced in Chapter ",
StyleBox["4", "OsF"],
". Even though pattern-based programming may be new to many, patterns are so \
essential to all programming in ",
StyleBox["Mathematica",
FontSlant->"Italic"],
", that it seems most natural to introduce them at this point and then use \
them in later chapters on functional and procedural programming. Topics \
include a discussion of structured patterns, conditional patterns, sequence \
pattern matching, using data types to match an expression, repeated patterns, \
replacement rules, and numerous examples of functions and programs that make \
heavy use of pattern matching."
}], "Text"],
Cell[TextData[{
"The chapter on functional programming (Chapter ",
StyleBox["5", "OsF"],
") introduces the many functions built into ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" associated with this programming paradigm: ",
Cell[BoxData[
ButtonBox["Map",
BaseStyle->"Link",
ButtonData->"paclet:ref/Map"]], "InlineFormula"],
", ",
Cell[BoxData[
ButtonBox["Apply",
BaseStyle->"Link",
ButtonData->"paclet:ref/Apply"]], "InlineFormula"],
", ",
Cell[BoxData[
ButtonBox["Thread",
BaseStyle->"Link",
ButtonData->"paclet:ref/Thread"]], "InlineFormula"],
", ",
Cell[BoxData[
ButtonBox["Outer",
BaseStyle->"Link",
ButtonData->"paclet:ref/Outer"]], "InlineFormula"],
", ",
Cell[BoxData[
ButtonBox["Select",
BaseStyle->"Link",
ButtonData->"paclet:ref/Select"]], "InlineFormula"],
", ",
Cell[BoxData[
ButtonBox["Pick",
BaseStyle->"Link",
ButtonData->"paclet:ref/Pick"]], "InlineFormula"],
", and many others. Scoping constructs are explicitly called out in a \
separate section. A section on pure functions includes numerous examples to \
help understand this important construct in the context of concrete problems. \
Adding options, error trapping and messaging, so important for well-designed \
functions and programs, are discussed in this chapter so that they can be \
used in all that follows. Numerous applied examples are included such as \
protein interaction networks, Hamming distance, defining new graphics \
objects, creating palettes for project files, and much more."
}], "Text"],
Cell[TextData[{
"Procedural programming may be most familiar to those who learned \
programming in a more traditional language such as ",
StyleBox["Fortran", "SmallCaps"],
" or C. The syntax of procedural programming in ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" is quite similar to that in C and Chapter 6 is designed to help you \
transition to using ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" procedurally but also mixing it with other programming styles when and \
where appropriate. Looping constructs and their syntax are discussed in terms \
of basic examples which are then built upon and extended in the remainder of \
the book. Included are piecewise-defined functions, flow control, and several \
classical examples such as sieving for primes and sorting algorithms."
}], "Text"],
Cell[TextData[{
"The chapter on recursion, Chapter ",
StyleBox["7", "OsF"],
", gives a basic introduction to programming recursively-defined functions. \
The main concepts \[Dash] base cases, recursion on the tail, recursion with \
multiple arguments, and so on \[Dash] are introduced through illustrative \
examples. The chapter concludes with a discussion of dynamic programming, a \
technique for greatly speeding up recursive computations by automatically \
creating definitions at runtime."
}], "Text"],
Cell[TextData[{
"Chapter ",
StyleBox["8", "OsF"],
" introduces the various types of number you can work with in ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" \[Dash] exact, machine-precision, arbitrary-precision as well as different \
number types and arrays of numbers. It includes an extended discussion of \
random number generators and functions for sampling and choosing random \
numbers. The examples and applications section includes a program to compute \
the radius of gyration tensor of a random walk as well as material on \
statistical tests, both built-in and user-defined tests for checking the \
randomness of sequences of numbers."
}], "Text"],
Cell[TextData[{
"The chapter on strings, Chapter ",
StyleBox["9", "OsF"],
", is included in recognition of the ubiquity of these objects in broad \
areas of science, engineering, linguistics, and many other fields. Topics \
include an introduction to the structure and syntax of strings, basic \
operations on strings including those that mirror similar operations on \
lists, an extensive discussion on string patterns including regular \
expressions such as are found in languages like ",
StyleBox["Perl", "SmallCaps"],
" and ",
StyleBox["Python", "SmallCaps"],
", and many applications and examples drawn from linguistics, computer \
science, and bioinformatics."
}], "Text"],
Cell[TextData[{
"Chapter ",
StyleBox["10", "OsF"],
" on visualization is designed to give you a good sense of the symbolic \
graphics language so that you can both create your own graphics scenes and \
functions and also make your objects as efficient as possible. Included is a \
discussion of primitives, directives, and options, all of which is mirrored \
in the section on sound. A section on efficient graphics structures is \
included that discusses multi-objects such as multi-points and multi-lines, \
as well as material on ",
Cell[BoxData[
ButtonBox["GraphicsComplex",
BaseStyle->"Link",
ButtonData->"paclet:ref/GraphicsComplex"]], "InlineFormula"],
", a compact way to represent a graphical object with many repeated \
primitive elements. Many extended examples are included for functions to plot \
points in space connected by lines, economic or financial trend plots, \
space-filling molecule plots for proteins and other chemicals, and root \
plotting functions."
}], "Text"],
Cell[TextData[{
"Dynamic objects were introduced in ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" ",
StyleBox["6", "OsF"],
", and there have, sadly, been few resources for learning the ins and outs \
of dynamic programming. Dynamic objects provide tools to create interactive \
elements in your documents from as simple as an animation to as complex as\
\[Ellipsis]well, as complex as you can imagine. In Chapter ",
StyleBox["11", "OsF"],
" we introduce dynamic objects, starting with top-level functions ",
Cell[BoxData[
ButtonBox["Animate",
BaseStyle->"Link",
ButtonData->"paclet:ref/Animate"]], "InlineFormula"],
" and ",
Cell[BoxData[
ButtonBox["Manipulate",
BaseStyle->"Link",
ButtonData->"paclet:ref/Manipulate"]], "InlineFormula"],
", moving on to viewers and various control objects that can be used to \
control changing parameters. The primitive elements that lie underneath all \
these top-level functions are ",
Cell[BoxData[
ButtonBox["Dynamic",
BaseStyle->"Link",
ButtonData->"paclet:ref/Dynamic"]], "InlineFormula"],
" and ",
Cell[BoxData[
ButtonBox["DynamicModule",
BaseStyle->"Link",
ButtonData->"paclet:ref/DynamicModule"]], "InlineFormula"],
", which are the foundations of the entire interactive machinery now built \
into ",
StyleBox["Mathematica",
FontSlant->"Italic"],
". The chapter closes with several applications including building up \
interfaces to work with multi-dimensional data, extending work earlier in the \
book on palettes for file openers, event handlers to interact more with your \
mouse, and a simple geometry demonstration due to Apollonius."
}], "Text"],
Cell[TextData[{
"As a result of the many comments and suggestions from people in the broad \
",
StyleBox["Mathematica",
FontSlant->"Italic"],
" community, I have included a chapter on writing efficient programs, \
Chapter ",
StyleBox["12", "OsF"],
". Although there are many approaches you might take to solve a problem, it \
is often difficult for the novice to tell which is the most appropriate, or \
the most efficient, or which scales best. Several \[OpenCurlyDoubleQuote]good \
practices\[CloseCurlyDoubleQuote] are considered, including choosing the \
right function, choosing the right algorithm, listability, pure functions, \
packed arrays, and so on. Sections on parallel computation and on compiling \
are also included. These issues are discussed through the use of concrete \
examples drawn from earlier parts of the book."
}], "Text"],
Cell[TextData[{
"The chapter on applications, Chapter ",
StyleBox["13", "OsF"],
", builds upon much of the work in the rest of the book but extends it for \
those who wish to turn their code into programs and applications that can be \
shared with colleagues, students, or clients. The focus is on making your ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" programs as much like built-in functions as possible, thereby taking \
advantage of the interface elements that a user of your code would already \
know and expect from working in ",
StyleBox["Mathematica",
FontSlant->"Italic"],
", things like writing modular functions, usage messages, overloading, and \
creating and working with packages."
}], "Text"],
Cell["\<\
In trying to keep this book both introductory and concise, many topics had to \
be left out. Some of these topics include: creation of new data types; the \
internals for ordering of rules; upvalues, downvalues and other internal \
transformation rules; tuning and debugging; connecting to external programs \
and databases; interacting with web servers. All of these topics are both \
interesting and important but there was simply not enough room in the present \
volume to include them.\
\>", "Text"]
}, Open ]],
Cell[CellGroupData[{
Cell["Colophon", "PrefaceSection"],
Cell[TextData[{
"This book was written and developed in ",
StyleBox["Mathematica",
FontSlant->"Italic"],
". Stylesheets were created to the page specifications designed by the \
author while adhering to the constraints of the publisher\[CloseCurlyQuote]s \
production department. Pages were output to PostScript and then distilled to \
PDF with Adobe Distiller using a configuration file supplied by the publisher \
to set such parameters as resolution, font embeddings, as well as color and \
image conversions."
}], "TextFirst",
CellTags->"i:2"],
Cell[TextData[{
"The text for this book, including mathematical formulas, is set in ",
StyleBox["Albertina",
FontSlant->"Italic"],
", a humanist font designed by the Dutch calligrapher Chris Brand (",
StyleBox["1921\[Dash]1999", "OsF"],
"), and digitized by the Dutch Type Library (",
StyleBox["dtl", "SmallCaps"],
"). Captions and labels use the fairly animated sans serif ",
StyleBox["Syntax",
FontSlant->"Italic"],
", designed by the Swiss typographer Hans Eduard Meier (",
StyleBox["1922", "OsF"],
"\[Dash] )."
}], "Text"]
}, Open ]],
Cell[CellGroupData[{
Cell["Acknowledgments", "PrefaceSection"],
Cell["\<\
Although writing a book may appear to others as a solitary project, authors \
know better. I consider myself very fortunate to have had wonderful \
colleagues to work with and have benefited in innumerable ways from their \
expertise. The following people provided concrete help in discussing various \
topics and answering my many questions: Darren Glosemeyer on date plotting \
functions, statistical tests, and statistical plots; Harry Calkins on \
graphics and general language issues; Charles Pooh on graphs and networks; \
Dan Lichtblau on internal algorithms and numerous language issues; Michael \
Kelly for some suggestions on trend lines implementation; Adriano Pascoletti \
for permission to use and modify his code for computing points in nonconvex \
polygons; Tom Sherlock and Faisal Whepley for help on front-end related \
issues; Oyvind Tafjord for various questions and issues with string \
manipulation and regular expressions; Andre Kuzniarek and Larry Adelston for \
layout and production questions.\
\>", "TextFirst",
CellTags->"i:2"],
Cell["\<\
In addition, I am grateful to the reviewers who provided valuable feedback on \
early drafts of this book: Harry Calkins, Darren Glosemeyer, Mariusz \
Jankowski, Dan Lichtblau, and Oyvind Tafjord. Any mistakes that remain are \
mine and mine alone. If you think you have found one, please let me know so \
that I can update an errata page on the publisher\[CloseCurlyQuote]s website \
as well as in any future printings of this book.\
\>", "Text"],
Cell["\<\
The entire editorial and production stages of this project have been \
miraculously smooth, in no small part due to the team at Cambridge University \
Press. In particular, my editor, David Tranah and his team, have been both \
supportive and encouraging throughout the project, providing all that an \
author can ask for. Clare Dennison and Abigail Jones were most helpful on the \
innumerable editorial and production details that accompany a book project \
such as this.\
\>", "Text"],
Cell["\<\
Loved ones are the unnamed partners in writing a book. Although unrecognized \
to the reader, they nonetheless play a critical role for the author. They \
provide nourishment (in its many guises), support, feedback, and that \
all-too-critical element, time. I have been blessed with a supportive family \
throughout this project. In particular, my wife Sheri has lovingly provided \
all these things and more.\
\>", "Text"],
Cell[TextData[{
"Finally, I would like to dedicate this book to the memory of a very special \
friend, Bob Johnson. Bob was the person most responsible for getting me \
involved with ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" when, back in ",
StyleBox["1989", "OsF"],
", as chair of the mathematics department at Sonoma State University, he \
asked me to join him in the basement (computers were always in basements in \
those days!?) at Sonoma State and we took our first look at a strange new \
program called ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" running on a strange new computer housed in a strange black magnesium \
cube. The excitement of realizing that the worlds of mathematics, science, \
and engineering would be dramatically changed by this new program was matched \
by the joy Bob and I experienced in learning how to incorporate this tool \
into our research and teaching. Bob was that unusual person who knew how to \
keep his eyes on the prize and his encouragement of my efforts made a huge \
difference in my life and in the lives of others as well. Thanks Bob."
}], "Text"],
Cell[TextData[{
"Paul R. Wellin\n",
ButtonBox["info@programmingmathematica.com",
BaseStyle->"Hyperlink",
ButtonData->{
URL["mailto:info@programmingmathematica.com"], None},
ButtonNote->"mailto:info@programmingmathematica.com"]
}], "TextFirst",
CellMargins->{{Inherited, Inherited}, {0, Inherited + 12}}]
}, Open ]]
},
ScreenStyleEnvironment->"Printout",
WindowSize->{
Scaled[0.5],
Scaled[0.8]},
WindowMargins->{{13, Automatic}, {Automatic, 0}},
DockedCells->{
Cell[
Row[{
StyleBox[
"Programming with Mathematica: An Introduction", FontSize -> 12,
FontWeight -> Bold, FontSlant -> Italic],
"\[Copyright] 2013 Paul Wellin"}], "DockedCell", Background ->
GrayLevel[0], FontFamily -> "Times", FontColor -> RGBColor[{
Rational[253, 255],
Rational[226, 255],
Rational[41, 85]}], TextAlignment -> Center, LineSpacing -> {1, 8},
CellMargins -> {{Inherited, Inherited}, {-1, 0}}],
Cell[
Row[{
StyleBox[""],
StyleBox["Preface", FontWeight -> Bold, FontSize -> 24],
StyleBox[""]}], "DockedCell", Background -> RGBColor[{
Rational[232, 255],
Rational[146, 255], 0}], FontFamily -> "Times", FontColor ->
GrayLevel[1], TextAlignment -> Center,
CellMargins -> {{Inherited, Inherited}, {0, -1}}]},
PrintingCopies->1,
PrintingStartingPageNumber->11,
PrintingPageRange->{1, Automatic},
PageHeaders->{{
Cell[
TextData[
StyleBox[
CounterBox["Page", CounterFunction :> RomanNumeral], "PageNumberPref"]],
"Header", CellMargins -> {{0, Inherited}, {Inherited, Inherited}}], None,
Cell[
TextData["Preface"], "Header",
CellMargins -> {{Inherited, 0}, {Inherited, Inherited}}]}, {
Cell[
TextData[
StyleBox["Preface", "Header"]], "Header",
CellMargins -> {{0, Inherited}, {Inherited, Inherited}}], None,
Cell[
TextData[
StyleBox[
CounterBox["Page", CounterFunction :> RomanNumeral], "PageNumberPref"]],
"Header", CellMargins -> {{Inherited, 0}, {Inherited, Inherited}}]}},
PageFooters->{{None, None, None}, {None, None, None}},
PageHeaderLines->{False, False},
PageFooterLines->{False, False},
PrintingOptions->{"FacingPages"->True,
"FirstPageFace"->Right,
"FirstPageFooter"->True,
"FirstPageHeader"->False},
TaggingRules->{
"NextIndexingNumber" -> 3,
"IndexEntries" -> {{"i:1", "Lisp programming language"}, {
"i:2", "Adelston, Larry"}, {"i:2", "Calkins, Harry"}, {
"i:2", "Glosemeyer, Darren"}, {"i:2", "Johnson, Bob"}, {
"i:2", "Kelly, Michael"}, {"i:2", "Kuzniarek, Andre"}, {
"i:2", "Pascoletti Adriano"}, {"i:2", "Pooh, Charles"}, {
"i:2", "Sherlock, Tom"}, {"i:2", "Tafjord, Oyvind"}, {
"i:2", "Whepley, Faisal"}, {"i:1", "Languages", "Lisp"}},
"PaginationCache" -> {{2012, 11, 4, 9, 31, 23.508544`8.123800714846666}, {
11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13,
13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15,
15, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 18}, Automatic}},
Magnification->1.5,
FrontEndVersion->"10.1 for Mac OS X x86 (32-bit, 64-bit Kernel) (March 23, \
2015)",
StyleDefinitions->Notebook[{
Cell[
CellGroupData[{
Cell[
TextData[{"Style definitions for \n\n",
StyleBox[
"Programming with Mathematica: An Introduction", FontSlant ->
"Italic"]}], "Subtitle", CellMargins -> {{0, 0}, {10, 0}},
CellGroupingRules -> {"SectionGrouping", 30}, FontFamily -> "Times",
Background -> RGBColor[0.87, 0.94, 1]],
Cell[
StyleData[StyleDefinitions -> "Default.nb"]]}, Closed]],
Cell[
CellGroupData[{
Cell["Style Environment Names", "Section"],
Cell[
StyleData[All, "Working"]],
Cell[
StyleData[All, "Printout"], Magnification -> 1.]}, Closed]],
Cell[
CellGroupData[{
Cell[
"Notebook options", "Section", ShowGroupOpener -> True,
CellChangeTimes -> {3.549118181227313*^9}],
Cell[
"The options defined for the style below will be used at the Notebook \
level.", "Text"],
Cell[
CellGroupData[{
Cell[
StyleData["Notebook"], CellHorizontalScrolling -> False,
CellLabelAutoDelete -> False],
Cell[
StyleData["Notebook", "Printout"],
PageHeaderLines -> {False, False},
PageFooterLines -> {False, False},
PrintingOptions -> {
"FacingPages" -> True, "FirstPageFace" -> Right, "FirstPageFooter" ->
True, "FirstPageHeader" -> False, "InnerOuterMargins" -> {78, 54},
"PageSize" -> {540, 702}, "PaperOrientation" -> "Portrait",
"PaperSize" -> {Automatic, Automatic}, "PrintCellBrackets" ->
False, "PrintMultipleHorizontalPages" -> False,
"PrintRegistrationMarks" -> False, "PrintSelectionHighlighting" ->
False, "PrintingMargins" -> {{54, 54}, {54, 86}}}, Magnification ->
1]}, Closed]]}, Closed]],
Cell[
CellGroupData[{
Cell["Headings", "Section", ShowGroupOpener -> True],
Cell[
StyleData["TitleFlourish"], CellMargins -> {{0, 0}, {24, 0}},
CellGroupingRules -> {"SectionGrouping", 30}, TextAlignment -> Center,
Magnification -> 1],
Cell[
CellGroupData[{
Cell[
StyleData["ChapterTitle"], CellMargins -> {{0, 0}, {12, 12}},
CellGroupingRules -> {"SectionGrouping", 30}, TextAlignment ->
Center, MenuSortingValue -> 1100, MenuCommandKey -> "1", FontFamily ->
"Times", FontSize -> 24],
Cell[
StyleData["ChapterTitle", "Printout"],
CellMargins -> {{0, 0}, {16, 0}}, TextAlignment -> Center,
FontFamily -> "Times", FontSize -> 22, FontWeight -> "Plain"]},
Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["ChapterAbstract"], CellMargins -> {{42, 48}, {44, 0}},
CellGroupingRules -> {"SectionGrouping", 30}, TextAlignment ->
Center, Hyphenation -> False, LineSpacing -> {1, 2},
StyleMenuListing -> None, FontFamily -> "Times", FontSize -> 12,
FontSlant -> "Italic"],
Cell[
StyleData["ChapterAbstract", "Printout"],
CellMargins -> {{48, 48}, {72, 0}}, TextAlignment -> Center,
Hyphenation -> False, LineSpacing -> {1, 1}, FontFamily -> "Times",
FontSize -> 10, FontSlant -> "Italic"]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["Subsection"], CellDingbat -> None,
CellMargins -> {{2, Inherited}, {0, 24}},
CellGroupingRules -> {"SectionGrouping", 40}, MenuSortingValue ->
1250, MenuCommandKey -> "5", CounterStyleMenuListing -> None,
FontFamily -> "Helvetica", FontSize -> 16, FontWeight -> "Plain",
FontSlant -> "Plain", FontColor -> RGBColor[0., 0., 0.]],
Cell[
StyleData["Subsection", "Printout"],
CellMargins -> {{0, 0}, {0, 0}}, PageBreakBelow -> False,
FontFamily -> "Times", FontSize -> 13]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["Subsubsection"], CellDingbat -> None,
CellMargins -> {{2, 10}, {0, 7}},
CellGroupingRules -> {"SectionGrouping", 50}, PageBreakBelow ->
False, DefaultNewInlineCellStyle -> "None", Hyphenation -> True,
LineSpacing -> {1, 3}, CounterIncrements -> "Subsubsection",
StyleMenuListing -> None, FontFamily -> "Helvetica", FontSize -> 16,
FontWeight -> "Plain", FontSlant -> "Plain", FontColor ->
RGBColor[0., 0., 0.]],
Cell[
StyleData["Subsubsection", "Printout"],
CellMargins -> {{0, 0}, {2, 0}}, TextJustification -> 1,
LineSpacing -> {1, 2}, FontFamily -> "Times", FontSize -> 11]},
Closed]]}, Closed]],
Cell[
CellGroupData[{
Cell["Text", "Section", ShowGroupOpener -> True],
Cell[
CellGroupData[{
Cell[
StyleData["Text"], CellMargins -> {{2, 10}, {3, 0}}, Hyphenation ->
True, LineSpacing -> {1, 3}, ParagraphIndent -> 24,
CounterIncrements -> "Text", MenuSortingValue -> 1310,
MenuCommandKey -> "7", FontFamily -> "Times"],
Cell[
StyleData["Text", "Printout"], CellMargins -> {{0, 0}, {3, 0}},
TextJustification -> 1, LineSpacing -> {1, 3}, ParagraphIndent ->
12, FontSize -> 11]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["TextFirst", StyleDefinitions -> StyleData["Text"]],
ParagraphIndent -> 0, MenuSortingValue -> 1300, MenuCommandKey ->
"6"],
Cell[
StyleData["TextFirst", "Printout"], CellMargins -> {{0, 0}, {3, 0}},
TextJustification -> 1, LineSpacing -> {1, 3}, ParagraphIndent ->
0, FontSize -> 11]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["Item"], CellDingbat -> Cell[
TextData[
StyleBox[\[FilledCircle]]], FontSize -> 5, CellBaseline ->
Bottom], CellMargins -> {{40, Inherited}, {Inherited, Inherited}},
LineSpacing -> {1, 3}, FontFamily -> "Times", FontSize -> 14],
Cell[
StyleData["Item", "Printout"], CellDingbat -> Cell[
TextData[
StyleBox[\[FilledCircle]]], FontSize -> 5, CellBaseline ->
Bottom], CellMargins -> {{22, 4}, {6, 0}}, LineSpacing -> {1, 2},
FontSize -> 11]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["ItemFirst", StyleDefinitions -> StyleData["Item"]],
CellMargins -> {{40, Inherited}, {Inherited, 4}},
LineSpacing -> {1, 3}, FontSize -> 14],
Cell[
StyleData["ItemFirst", "Printout"],
CellMargins -> {{22, Inherited}, {6, Inherited}},
LineSpacing -> {1, 2}, FontSize -> 11]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["Subitem"], CellDingbat ->
StyleBox["\[FilledSmallSquare]", Alignment -> Baseline]],
Cell[
StyleData["Subitem", "Printout"], CellMargins -> {{48, 4}, {0, 6}},
LineSpacing -> {1, 2}, FontFamily -> "Times", FontSize -> 11]},
Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["NumberedItem"], CellMargins -> {{24, 4}, {0, 8}},
CellGroupingRules -> {"GroupTogetherNestedGrouping", 15000},
CellFrameLabels -> {{
Cell[
TextData[{
CounterBox["ItemNumber"], "."}], CellBaseline -> Baseline],
None}, {None, None}}, Hyphenation -> True, LineSpacing -> {1, 3},
ParagraphSpacing -> {0, 8}, CounterIncrements -> "ItemNumber",
MenuSortingValue -> 1340, MenuCommandKey -> None, FontSize -> 14],
Cell[
StyleData["NumberedItem", "Printout"],
CellMargins -> {{24, 0}, {6, 0}}, CellFrameLabels -> {{
Cell[
TextData[{
CounterBox["ItemNumber"], "."}], CellBaseline -> Baseline],
None}, {None, None}}, LineSpacing -> {1, 2}, FontSize -> 11]},
Closed]]}, Closed]],
Cell[
CellGroupData[{
Cell["Input/Output", "Section", ShowGroupOpener -> True],
Cell[
CellGroupData[{
Cell[
StyleData["Input"]],
Cell[
StyleData["Input", "Printout"], CellMargins -> {{44, 0}, {5, 5}},
ShowSyntaxStyles -> True]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["InputOnly"]],
Cell[
StyleData["InputOnly", "Printout", StyleDefintions -> None],
CellMargins -> {{44, 0}, {5, 5}}, ShowSyntaxStyles -> True,
LinebreakAdjustments -> {0.85, 2, 10, 1, 1}]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["Output"]],
Cell[
StyleData["Output", "Printout"], CellMargins -> {{44, 0}, {5, 0}}]},
Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["Message"],
CellMargins -> {{66, Inherited}, {Inherited, 0}}],
Cell[
StyleData["Message", "Printout"],
CellMargins -> {{45, Inherited}, {6, 0}}, FontColor ->
GrayLevel[0]]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["Print"],
CellMargins -> {{45, Inherited}, {Inherited, Inherited}}],
Cell[
StyleData["Print", "Printout"],
CellMargins -> {{44, Inherited}, {6, 0}}, FontSize -> 10.5]},
Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["CellLabel"]],
Cell[
StyleData["CellLabel", "Printout"], FontSize -> 7, Magnification ->
1., FontColor -> RGBColor[0.247, 0.24, 0.6]]}, Closed]]}, Closed]],
Cell[
CellGroupData[{
Cell["Unique styles", "Section", ShowGroupOpener -> True],
Cell[
CellGroupData[{
Cell[
StyleData["PrefaceSection"],
CellMargins -> {{4, Inherited}, {5, 24}},
CellGroupingRules -> {"SectionGrouping", 30}, StyleMenuListing ->
None, FontSize -> 18],
Cell[
StyleData["PrefaceSection", "Printout"],
CellMargins -> {{0, 0}, {2, 10}}, FontSize -> 14, FontWeight ->
"Plain"]}, Open]],
Cell[
CellGroupData[{
Cell[
StyleData["Quote"], CellMargins -> {{36, 36}, {9, 18}}, Hyphenation ->
True, LineSpacing -> {1, 2}, ParagraphSpacing -> {0, 8},
CounterIncrements -> "Text", StyleMenuListing -> None, FontSlant ->
"Italic"],
Cell[
StyleData["Quote", "Printout"], CellMargins -> {{12, 24}, {11, 8}},
LineSpacing -> {1, 1}, FontSize -> 10, FontSlant -> "Plain"]},
Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["DisplayTable"], Deletable -> False,
CellMargins -> {{18, Inherited}, {18, 0}}, CellGroupingRules ->
"OutputGrouping", CellHorizontalScrolling -> True,
DefaultFormatType -> DefaultTraditionalFormatType,
HyphenationOptions -> {"HyphenationCharacter" -> "\[Continuation]"},
LanguageCategory -> "Formula", ScriptLevel -> 0,
SingleLetterItalics -> True,
UnderoverscriptBoxOptions -> {LimitsPositioning -> True}],
Cell[
StyleData["DisplayTable", "Printout"],
CellMargins -> {{12, 0}, {21, 5}}, PageBreakAbove -> False,
GroupPageBreakWithin -> False]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["Picture"], CellMargins -> {{42, 10}, {6, 6}},
CellGroupingRules -> "GraphicsGrouping", CellHorizontalScrolling ->
True, ShowCellLabel -> False, ShowStringCharacters -> False,
MenuSortingValue -> 1500, MenuCommandKey -> None, Magnification ->
1.],
Cell[
StyleData["Picture", "Printout"],
CellMargins -> {{12, 0}, {12, 12}}]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["Figure"], Deletable -> False,
CellMargins -> {{20, 10}, {0, 12}}, CellGroupingRules ->
"OutputGrouping", CellHorizontalScrolling -> True,
CellAutoOverwrite -> False, ShowCellLabel -> False,
ShowStringCharacters -> False, MenuSortingValue -> 1500,
MenuCommandKey -> None],
Cell[
StyleData["Figure", "Printout"], CellMargins -> {{12, 10}, {13, 0}},
PageBreakAbove -> False, GroupPageBreakWithin -> False]},
Closed]]}, Open]],
Cell[
CellGroupData[{
Cell["NonPrint styles", "Section", ShowGroupOpener -> True],
Cell[
CellGroupData[{
Cell[
StyleData[
"NonPrintSection", StyleDefinitions -> StyleData["Section"]],
CellFrame -> None,
CellBracketOptions -> {
"Color" -> RGBColor[1, 0, 0], "Thickness" -> 0.55},
CellFrameLabels -> {{None, None}, {None, None}}, FontColor ->
GrayLevel[0.45]],
Cell[
StyleData["NonPrintSection", "Printout"], ShowGroupOpener -> False,
CellElementSpacings -> {
"CellMinHeight" -> 1, "ClosedCellHeight" -> 0}, CellOpen -> False,
FontColor -> GrayLevel[0]]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["NonPrintSolutionLink"], CellMargins -> {{0, 0}, {8, 12}},
CellBracketOptions -> {
"Color" -> RGBColor[1, 0, 0], "Thickness" -> 0.55},
CellGroupingRules -> {"SectionGrouping", 45}, FontFamily -> "Times",
FontSize -> 14, FontWeight -> "Bold", FontSlant -> "Italic"],
Cell[
StyleData["NonPrintSolutionLink", "Printout"],
CellMargins -> {{Inherited, Inherited}, {-1, 0}},
CellElementSpacings -> {
"CellMinHeight" -> 0, "ClosedCellHeight" -> 0,
"ClosedGroupTopMargin" -> 0}, CellOpen -> False]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["NonPrintInput", StyleDefinitions -> StyleData["Input"]],
CellBracketOptions -> {"Color" -> RGBColor[1, 0, 0]}, FontWeight ->
"Plain", FontColor -> RGBColor[1, 0, 0]],
Cell[
StyleData["NonPrintInput", "Printout"],
CellMargins -> {{Inherited, Inherited}, {-1, 0}},
CellElementSpacings -> {
"CellMinHeight" -> 0, "ClosedCellHeight" -> 0,
"ClosedGroupTopMargin" -> 0}, CellOpen -> False, FontColor ->
GrayLevel[0]]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["Editorial"], CellMargins -> {{24, 10}, {6, 6}},
CellBracketOptions -> {
"Color" -> RGBColor[1, 0, 0], "Thickness" -> 0.55},
CellFrameLabels -> {{
Cell[
TextData[{"Edit:"}], FontFamily -> "Helvetica", FontSize -> 10,
FontWeight -> "Bold", CellBaseline -> Baseline], None}, {
None, None}}, FontColor -> RGBColor[1, 0, 0]],
Cell[
StyleData["Editorial", "Printout"],
CellMargins -> {{Inherited, Inherited}, {0, 0}},
CellElementSpacings -> {
"CellMinHeight" -> 0, "ClosedCellHeight" -> 0,
"ClosedGroupTopMargin" -> 0}, CellOpen -> False, FontColor ->
GrayLevel[0]]}, Closed]]}, Closed]],
Cell[
CellGroupData[{
Cell[
"Styles for automatic numbering", "Section", ShowGroupOpener -> True],
Cell[
CellGroupData[{
Cell[
StyleData["NumberedFigure"], CellMargins -> {{18, 4}, {0, 0}},
CellGroupingRules -> "InputGrouping", CellFrameLabels -> {{
Cell[
TextData[{"Figure ",
CounterBox["Chapter"], ".",
CounterBox["NumberedFigure"], "\t"}], CellBaseline ->
Baseline], None}, {None, None}}, CounterIncrements ->
"NumberedFigure", MenuSortingValue -> 1670, FormatTypeAutoConvert ->
False, FontSize -> 14],
Cell[
StyleData["NumberedFigure", "Printout"],
CellMargins -> {{12, Inherited}, {6.5, 6.5}}, PageBreakBelow ->
False, GroupPageBreakWithin -> False, CellFrameLabels -> {{
Cell[
TextData[{"Figure ",
CounterBox["Chapter"], ".",
CounterBox["NumberedFigure"], ".", "\t"}], FontSlant ->
"Plain", CellBaseline -> Baseline], None}, {None, None}},
TabSpacings -> 0.25, FontSize -> 11, FontSlant -> "Italic"]},
Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["NumberedTable"], CellMargins -> {{18, 4}, {12, 14}},
CellGroupingRules -> "InputGrouping", CellFrameLabels -> {{
Cell[
TextData[{"Table ",
CounterBox["Chapter"], ".",
CounterBox["NumberedTable"], ".", "\t"}], CellBaseline ->
Baseline], None}, {None, None}}, TabSpacings -> 1.1,
CounterIncrements -> "NumberedTable", MenuSortingValue -> 1660,
FormatTypeAutoConvert -> False, FontSize -> 14],
Cell[
StyleData["NumberedTable", "Printout"],
CellMargins -> {{12, 0}, {0, 13}}, PageBreakBelow -> False,
GroupPageBreakWithin -> False, CellFrameLabels -> {{
Cell[
TextData[{"Table ",
CounterBox["Chapter"], ".",
CounterBox["NumberedTable"], ".", "\t"}], CellBaseline ->
Baseline, FontSlant -> "Plain"], None}, {None, None}},
TabSpacings -> 0.25, FontFamily -> "Times", FontSize -> 11,
FontSlant -> "Italic"]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["ProgramListing"], CellMargins -> {{42, 4}, {12, 6}},
CellGroupingRules -> "InputGrouping", CellFrameLabels -> {{
Cell[
TextData[{"Program Listing ",
CounterBox["Chapter"], ".",
CounterBox["NumberedProgram"], "\t"}], CellBaseline ->
Baseline], None}, {None, None}}, CounterIncrements ->
"NumberedProgram", MenuSortingValue -> 1680, FormatTypeAutoConvert ->
False, FontSize -> 14],
Cell[
StyleData["ProgramListing", "Printout"],
CellMargins -> {{12, 0}, {0, 13}}, CellFrameLabels -> {{
Cell[
TextData[{"Program Listing ",
CounterBox["Chapter"], ".",
CounterBox["NumberedProgram"], ".", "\t"}], CellBaseline ->
Baseline], None}, {None, None}}, TabSpacings -> 0.25,
FontFamily -> "Times", FontSize -> 11]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["ProgramListingNoLabel"],
CellMargins -> {{42, 4}, {12, 6}}, MenuSortingValue -> 1680,
FormatTypeAutoConvert -> False],
Cell[
StyleData["ProgramListingNoLabel", "Printout"],
CellMargins -> {{12, Inherited}, {12, 0}}, FontSize -> 9]},
Closed]]}, Closed]],
Cell[
CellGroupData[{
Cell["Inline formatting", "Section", ShowGroupOpener -> True],
Cell[
CellGroupData[{
Cell[
StyleData["StandardForm"]],
Cell[
StyleData["StandardForm", "Printout"], FontSize -> 10.5]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["MR"], AutoQuoteCharacters -> {}, StyleMenuListing ->
None],
Cell[
StyleData["MR", "Printout"], FontSize -> 10.5]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["TableMR", StyleDefinitions -> StyleData["MR"]],
AutoQuoteCharacters -> {}, StyleMenuListing -> None],
Cell[
StyleData["TableMR", "Printout"], FontSize -> 10]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["TR"], StyleMenuListing -> None],
Cell[
StyleData["TR", "Printout"]]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["TI"], StyleMenuListing -> None],
Cell[
StyleData["TI", "Printout"]]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["TI11"], StyleMenuListing -> None, FontFamily -> "Times",
FontSlant -> "Italic"],
Cell[
StyleData["TI11", "Printout"], FontSize -> 11]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["TB"], StyleMenuListing -> None],
Cell[
StyleData["TB", "Printout"]]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["SR"], StyleMenuListing -> None],
Cell[
StyleData["SR", "Printout"], FontFamily -> "Syntax LT Std"]},
Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["SB"], StyleMenuListing -> None],
Cell[
StyleData["SB", "Printout"], FontWeight -> "Plain"]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["TermDefinition"], FontSlant -> "Italic"],
Cell[
StyleData["TermDefinition", "Printout"], FontSlant -> "Plain"]},
Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["SmallCaps"], StyleMenuListing -> None, FontFamily ->
"Times"],
Cell[
StyleData["SmallCaps", "Printout"]]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["OsF"], StyleMenuListing -> None],
Cell[
StyleData["OsF", "Printout"], FontColor -> GrayLevel[0]]}, Closed]],
Cell[
StyleData["ChapterNumber"], StyleMenuListing -> None],
Cell[
CellGroupData[{
Cell[
StyleData["MSG"], StyleMenuListing -> None],
Cell[
StyleData["MSG", "Printout"], FontFamily -> "Helvetica", FontSize ->
9]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["Menu"]],
Cell[
StyleData["Menu", "Printout"], FontFamily -> "Helvetica", FontSize ->
10]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["TableHeading"], StyleMenuListing -> None, FontFamily ->
"Helvetica", FontSize -> 11],
Cell[
StyleData["TableHeading", "Printout"], FontFamily -> "Times"]},
Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["SubsubBold"], FontWeight -> "Bold"],
Cell[
StyleData["SubsubBold", "Printout"], FontWeight -> "Plain",
FontSlant -> "Italic"]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["MRInd", StyleDefnitions -> StyleData["MR"]],
AutoQuoteCharacters -> {}, StyleMenuListing -> None, FontFamily ->
"Courier"],
Cell[
StyleData["MRInd", "Printout"], FontSize -> 9]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["TableText", StyleDefinitions -> StyleData["Text"]]],
Cell[
StyleData["TableText", "Printout"], FontSize -> 10.5]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["TableTextTI", StyleDefinitions -> StyleData["Text"]]],
Cell[
StyleData["TableTextTI", "Printout"], FontSize -> 10.5, FontSlant ->
"Italic"]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["ExerciseTI"], FontFamily -> "Times", FontSize -> 12,
FontWeight -> "Plain", FontSlant -> "Italic"],
Cell[
StyleData["ExerciseTI", "Printout"], FontSize -> 9.75]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["ExerciseMR"], FontFamily -> "Courier", FontSize ->
11.25],
Cell[
StyleData["ExerciseMR", "Printout"], FontSize -> 9.3]}, Closed]]},
Closed]],
Cell[
CellGroupData[{
Cell["Formulas and programming", "Section", ShowGroupOpener -> True],
Cell[
CellGroupData[{
Cell[
StyleData["InlineFormula"], CellMargins -> {{10, 4}, {0, 8}},
CellHorizontalScrolling -> True,
HyphenationOptions -> {"HyphenationCharacter" -> "\[Continuation]"},
LanguageCategory -> "Formula", ScriptLevel -> 1,
SingleLetterItalics -> True],
Cell[
StyleData["InlineFormula", "Printout"]]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["DisplayFormula"],
CellMargins -> {{36, Inherited}, {Inherited, Inherited}},
CellHorizontalScrolling -> True, DefaultFormatType ->
DefaultTraditionalFormatType,
HyphenationOptions -> {"HyphenationCharacter" -> "\[Continuation]"},
LanguageCategory -> "Formula", ScriptLevel -> 0,
SingleLetterItalics -> True, FontFamily -> "Times",
UnderoverscriptBoxOptions -> {LimitsPositioning -> True}],
Cell[
StyleData["DisplayFormula", "Printout"],
CellMargins -> {{44, Inherited}, {7, 6}}, FontSize -> 11]},
Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["Program"], CellFrame -> 0,
CellMargins -> {{20, 4}, {5, 5}}, Evaluatable -> False,
CellHorizontalScrolling -> True, Hyphenation -> False,
LanguageCategory -> "Formula", ScriptLevel -> 1, FontFamily ->
"Courier"],
Cell[
StyleData["Program", "Printout"], CellMargins -> {{12, 0}, {6, 6}},
FontSize -> 10.5]}, Closed]]}, Closed]],
Cell[
CellGroupData[{
Cell["Headers and footers", "Section", ShowGroupOpener -> True],
Cell[
CellGroupData[{
Cell[
StyleData["Header"], LineSpacing -> {1, 8}, MenuSortingValue ->
None, FontSlant -> "Plain"],
Cell[
StyleData["Header", "Printout"], CellMargins -> {{0, 0}, {0, 0}},
FontFamily -> "Times", FontSize -> 10, FontSlant -> "Italic"]},
Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["FrontMatterHeader"], CellMargins -> {{0, 0}, {0, 0}},
LineSpacing -> {1, 8}, MenuSortingValue -> None],
Cell[
StyleData["FrontMatterHeader", "Printout"], FontSize -> 10]},
Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["HeaderSection"], StyleMenuListing -> None],
Cell[
StyleData["HeaderSection", "Printout"], Magnification -> 1.]},
Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["PageFooter"], StyleMenuListing -> None, FontFamily ->
"Times", FontSize -> 7.5, FontSlant -> "Italic"],
Cell[
StyleData["PageFooter", "Printout"]]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["PageNumber"], CellMargins -> {{0, 0}, {4, 1}},
StyleMenuListing -> None, FontFamily -> "Times", FontSize -> 9],
Cell[
StyleData["PageNumber", "Printout"],
CellMargins -> {{0, 0}, {0, 0}}, FontSize -> 10, FontWeight ->
"Plain"]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["PageNumberPref"], CellMargins -> {{0, 0}, {4, 1}},
StyleMenuListing -> None, FontFamily -> "Times", FontSize -> 9],
Cell[
StyleData["PageNumberPref", "Printout"],
CellMargins -> {{0, 0}, {0, 0}}, FontSize -> 10, FontSlant ->
"Italic"]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["HeaderOsF"], StyleMenuListing -> None, FontFamily ->
"Times", FontSize -> 9],
Cell[
StyleData["HeaderOsF", "Printout"], FontSize -> 10]}, Closed]]},
Closed]],
Cell[
CellGroupData[{
Cell["References", "Section", ShowGroupOpener -> True],
Cell[
CellGroupData[{
Cell[
StyleData[
"ReferenceSection", StyleDefinitions -> StyleData["Subsection"]],
ShowGroupOpener -> True, CellFrameLabels -> {{
Cell[
TextData[{
StyleBox[
CounterBox["Chapter"]],
StyleBox["."], "\t"}], CellBaseline -> Baseline], None}, {
None, None}}, CellFrameLabelMargins -> 0, TabSpacings -> 1.25,
CounterIncrements -> "Chapter", FontFamily -> "Times", FontSize ->
16, FontWeight -> "Plain", FontSlant -> "Plain"],
Cell[
StyleData["ReferenceSection", "Printout"], ShowGroupOpener -> False,
CellMargins -> {{0, 0}, {3, 12}}, CellFrameLabels -> {{
Cell[
TextData[{
StyleBox[
CounterBox["Chapter"]],
StyleBox["."], "\t"}], CellBaseline -> Baseline], None}, {
None, None}}, TabSpacings -> 1.7, CounterIncrements ->
"Chapter"]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData[
"ReferenceSubsection", StyleDefinitions -> StyleData["Subsection"]],
CellGroupingRules -> {"SectionGrouping", 45}, FontFamily ->
"Times", FontSize -> 16, FontWeight -> "Plain", FontSlant ->
"Plain"],
Cell[
StyleData["ReferenceSubsection", "Printout"],
CellMargins -> {{0, 0}, {2, 6}}, LineSpacing -> {1, 1}, FontSize ->
12, FontSlant -> "Italic"]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["References"], CellMargins -> {{0, 10}, {6, 2}},
DefaultNewInlineCellStyle -> "None", Hyphenation -> True,
LineSpacing -> {1, 3}, StyleMenuListing -> None, FontFamily ->
"Times", FontSize -> 12],
Cell[
StyleData["References", "Printout"],
CellMargins -> {{0, 2}, {6, 2}}, TextJustification -> 0.5,
LineSpacing -> {1, 3}, FontSize -> 10]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData[
"ReferenceSectionNoNum", StyleDefinitions ->
StyleData["Subsection"]],
CellGroupingRules -> {"SectionGrouping", 35}, FontFamily -> "Times",
FontSize -> 16, FontWeight -> "Plain", FontSlant -> "Plain"],
Cell[
StyleData["ReferenceSectionNoNum", "Printout"]]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["ReferenceSpacer"], CellDingbat ->
Cell["Reference spacer", "Menu", FontColor -> GrayLevel[1],
FontSize -> 8, Background -> GrayLevel[0.67]],
CellBracketOptions -> {
"Color" -> RGBColor[1, 0, 0], "Thickness" -> 0.55}],
Cell[
StyleData["ReferenceSpacer", "Printout"], CellDingbat -> None,
CellMargins -> {{Inherited, Inherited}, {0, 0}},
CellElementSpacings -> {"CellMinHeight" -> 0}]}, Closed]]},
Closed]],
Cell[
CellGroupData[{
Cell["Contents", "Section", ShowGroupOpener -> True],
Cell[
CellGroupData[{
Cell[
StyleData[
"ContentsTitle", StyleDefinitions -> StyleData["ChapterTitle"]]],
Cell[
StyleData["ContentsTitle", "Printout"],
CellMargins -> {{0, 0}, {48, 0}}, TextAlignment -> Center,
FontFamily -> "Times", FontSize -> 24, FontWeight -> "Plain"]},
Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["ContentsChapterNoNum"],
CellMargins -> {{22, 4}, {0, 12}},
CellGroupingRules -> {"SectionGrouping", 40}, FontSize -> 16],
Cell[
StyleData["ContentsChapterNoNum", "Printout"],
CellMargins -> {{17, 0}, {0, 6}}, FontFamily -> "Times", FontSize ->
14]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["ChapterNum"],
CellGroupingRules -> {"SectionGrouping", 40}, StyleMenuListing ->
None, CounterStyleMenuListing -> None],
Cell[
StyleData["ChapterNum", "Printout"], FontFamily -> "Times"]},
Closed]],
Cell[
CellGroupData[{
Cell[
StyleData[
"ContentsChapter", StyleDefinitions -> StyleData["ChapterTitle"]],
CellMargins -> {{0, 0}, {0, 0}},
CellGroupingRules -> {"SectionGrouping", 40}, CellFrameLabels -> {{
Cell[
TextData[{
StyleBox[
CounterBox["ContentsChapter"]], "\t"}], CellBaseline ->
Baseline], None}, {None, None}}, CellFrameLabelMargins -> 0,
TextAlignment -> Left, TabSpacings -> 1.5,
CounterIncrements -> {"ContentsChapter"},
CounterAssignments -> {{"ContentsSection", 0}}, StyleMenuListing ->
None, FontSize -> 16, FontWeight -> "Plain"],
Cell[
StyleData["ContentsChapter", "Printout"],
CellMargins -> {{0, 0}, {2, 0}}, PageBreakBelow -> False,
CellFrameLabels -> {{
Cell[
TextData[{
StyleBox[
CounterBox["ContentsChapter"]], "\t"}], FontFamily ->
"DTL Albertina TOT Caps", CellBaseline -> Baseline], None}, {
None, None}}, CellFrameLabelMargins -> 0, TextAlignment -> Left,
TabSpacings -> 1.7, CounterIncrements -> {"ContentsChapter"},
CounterAssignments -> {{"ContentsSection", 0}}, StyleMenuListing ->
None, FontFamily -> "Times", FontSize -> 14]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["ContentsSection"], ShowGroupOpener -> False,
CellMargins -> {{28, Inherited}, {0, 12}},
CellGroupingRules -> {"SectionGrouping", 45}, PageBreakAbove ->
Automatic, PageBreakBelow -> Automatic, CellFrameLabels -> {{
Cell[
TextData[{
StyleBox[
CounterBox["ContentsChapter"]],
StyleBox["."],
StyleBox[
CounterBox["ContentsSection"]], "\t"}], CellBaseline ->
Baseline], None}, {None, None}}, CellFrameLabelMargins -> 0,
TabSpacings -> 2.4, CounterIncrements -> {"ContentsSection"},
StyleMenuListing -> None, FontFamily -> "Times", FontSize -> 14,
FontWeight -> "Plain", FontSlant -> "Plain"],
Cell[
StyleData["ContentsSection", "Printout"],
CellMargins -> {{17, 0}, {1, 0}}, CellFrameLabels -> {{
Cell[
TextData[{
StyleBox[
CounterBox["ContentsChapter"]],
StyleBox["."],
StyleBox[
CounterBox["ContentsSection"]], "\t"}], CellBaseline ->
Baseline], None}, {None, None}}, CellFrameLabelMargins -> 0,
TabSpacings -> 1.25, FontFamily -> "Times", FontSize -> 12]},
Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["ContentsSubsection"],
CellMargins -> {{28, Inherited}, {12, 6}},
CellGroupingRules -> {"SectionGrouping", 50}, PageBreakAbove ->
Automatic, FontSize -> 12, FontSlant -> "Italic"],
Cell[
StyleData["ContentsSubsection", "Printout"],
CellMargins -> {{40, 5}, {6, 0}}, LineSpacing -> {1, 1}, FontFamily ->
"Times", FontSize -> 10]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["ContentsPageNumber"], StyleMenuListing -> None,
FontFamily -> "Times", FontSize -> 13, FontWeight -> "Plain",
FontSlant -> "Plain"],
Cell[
StyleData["ContentsPageNumber", "Printout"], FontFamily -> "Times",
FontSize -> 10]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["ContentsSectionNoNum"],
CellMargins -> {{48, 4}, {0, 12}},
CellGroupingRules -> {"SectionGrouping", 80}, StyleMenuListing ->
None],
Cell[
StyleData["ContentsSectionNoNum", "Printout"],
CellMargins -> {{20, 0}, {0, 6}}, FontFamily -> "Times", FontSize ->
11]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["ContentsSolutionSection"],
CellMargins -> {{28, 4}, {0, 12}},
CellGroupingRules -> {"SectionGrouping", 80}, CellFrameLabels -> {{
Cell[
TextData[{
StyleBox[
CounterBox["ContentsChapter"]], "\t"}], CellBaseline ->
Baseline], None}, {None, None}}, CellFrameLabelMargins -> 0,
TabSpacings -> 2.2, CounterIncrements -> {"ContentsChapter"},
StyleMenuListing -> None, FontSize -> 14],
Cell[
StyleData["ContentsSolutionSection", "Printout"],
CellMargins -> {{17, 0}, {0, 6}}, CellFrameLabels -> {{
Cell[
TextData[{
StyleBox[
CounterBox["ContentsChapter"]], "\t"}], CellBaseline ->
Baseline], None}, {None, None}}, CellFrameLabelMargins -> 0,
TabSpacings -> 2.2, FontFamily -> "Times", FontSize -> 12]},
Closed]]}, Closed]],
Cell[
CellGroupData[{
Cell["Exercises", "Section", ShowGroupOpener -> True],
Cell[
CellGroupData[{
Cell[
StyleData[
"ExerciseSubsection", StyleDefinitions -> StyleData["Subsection"]],
CellFrame -> {{0, 0}, {0, 0.65}},
CellFrameMargins -> {{0, 200}, {0, 2}},
CounterAssignments -> {{"ExerciseItem", 0}}],
Cell[
StyleData["ExerciseSubsection", "Printout"],
CellFrame -> {{0, 0}, {0, 0.65}}, CellMargins -> {{0, 24}, {6, 0}},
CellFrameColor -> GrayLevel[0.25]]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["ExerciseItem"], CellMargins -> {{0, 6}, {6, 5}},
CellGroupingRules -> {"SectionGrouping", 45}, CellFrameLabels -> {{
Cell[
TextData[{
CounterBox["ExerciseItem"], ".", "\t"}], FontWeight -> "Bold",
CellBaseline -> Baseline], None}, {None, None}},
CellFrameLabelMargins -> 0, Hyphenation -> True,
LineSpacing -> {1, 2}, TabSpacings -> 1.4, CounterIncrements ->
"ExerciseItem", CounterAssignments -> {{"ExerciseSubItem", 0}},
MenuSortingValue -> 1700],
Cell[
StyleData["ExerciseItem", "Printout"],
CellMargins -> {{0, 24}, {6, 0}}, CellFrameLabels -> {{
Cell[
TextData[{
CounterBox["ExerciseItem"], ".", "\t"}], FontFamily ->
"DTL Albertina TOT Caps", CellBaseline -> Baseline], None}, {
None, None}}, CellFrameLabelMargins -> 0, LineSpacing -> {1, 1},
TabSpacings -> 2, FontSize -> 9.75]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["ExerciseSubItem"], CellMargins -> {{40, 4}, {0, 8}},
CellGroupingRules -> {"SectionGrouping", 46}, CellFrameLabels -> {{
Cell[
TextData[{
CounterBox["ExerciseSubItem", CounterFunction -> (Part[
CharacterRange["a", "z"], #]& )], "."}], CellBaseline ->
Baseline, FontWeight -> "Bold"], None}, {None, None}},
Hyphenation -> True, LineSpacing -> {1, 2},
ParagraphSpacing -> {0, 0}, CounterIncrements -> "ExerciseSubItem"],
Cell[
StyleData["ExerciseSubItem", "Printout"],
CellMargins -> {{13, 24}, {6, 0}}, CellFrameLabels -> {{
Cell[
TextData[{
CounterBox["ExerciseSubItem", CounterFunction -> (Part[
CharacterRange["a", "z"], #]& )], "."}], FontFamily ->
"DTL Albertina TOT", FontSize -> 8.75, CellBaseline ->
Baseline], None}, {None, None}}, LineSpacing -> {1, 1},
FontSize -> 9.75]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["ExerciseSubItemR"], CellMargins -> {{40, 4}, {0, 8}},
CellGroupingRules -> {"SectionGrouping", 46}, CellFrameLabels -> {{
Cell[
TextData[{"(",
CounterBox[
"ExerciseSubItem", CounterFunction -> RomanNumeral], ".",
")"}], CellBaseline -> Baseline], None}, {None, None}},
Hyphenation -> True, LineSpacing -> {1, 2},
ParagraphSpacing -> {0, 8}, CounterIncrements -> "ExerciseSubItem"],
Cell[
StyleData["ExerciseSubItemR", "Printout"],
CellMargins -> {{14, 24}, {6, 0}}, CellFrameLabels -> {{
Cell[
TextData[{"(",
CounterBox[
"ExerciseSubItem", CounterFunction -> RomanNumeral], ".",
")"}], CellBaseline -> Baseline, FontFamily ->
"DTL Albertina TOT", FontWeight -> "Plain", FontSlant ->
"Italic"], None}, {None, None}}, LineSpacing -> {1, 1},
FontSize -> 9.75]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["ExerciseText"], CellMargins -> {{16, 4}, {5, 5}},
Hyphenation -> True, LineSpacing -> {1, 2},
ParagraphSpacing -> {0, 8}, CounterStyleMenuListing -> None],
Cell[
StyleData["ExerciseText", "Printout"],
CellMargins -> {{14, 24}, {6, 0}}, FontSize -> 9.75]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData[
"ExerciseDisplayFormula", StyleDefinitions ->
StyleData["DisplayFormula"]], FontSize -> 12],
Cell[
StyleData["ExerciseDisplayFormula", "Printout"],
CellMargins -> {{24, Inherited}, {6, 0}}, FontSize -> 9.75]},
Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["ExerciseInput", StyleDefinitions -> StyleData["Input"]],
GeneratedCellStyles -> {
"Output" -> {"ExerciseOutput", "ExerciseMR"}}],
Cell[
StyleData["ExerciseInput", "Printout"],
CellMargins -> {{44, Inherited}, {2, 0}}]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData[
"ExerciseInputOnly", StyleDefinitions -> StyleData["Input"]],
GeneratedCellStyles -> {"Output" -> "ExerciseOutput"}],
Cell[
StyleData["ExerciseInputOnly", "Printout"],
CellMargins -> {{44, 24}, {6, 0}}]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData[
"ExerciseOutput", StyleDefinitions -> StyleData["Output"]]],
Cell[
StyleData["ExerciseOutput", "Printout"],
CellMargins -> {{44, 24}, {6, 0}}]}, Closed]]}, Closed]],
Cell[
CellGroupData[{
Cell["Spacer cells", "Section", ShowGroupOpener -> True],
Cell[
"These are causing running heads to break. Not clear why but should not \
use them for now.", "Text"],
Cell[
CellGroupData[{
Cell[
StyleData["SectionSpacer"], CellDingbat ->
Cell["Section spacer", "Menu", FontColor -> GrayLevel[1], FontSize ->
8, Background -> GrayLevel[0.67]],
CellBracketOptions -> {
"Color" -> RGBColor[1, 0, 0], "Thickness" -> 0.55}],
Cell[
StyleData["SectionSpacer", "Printout"], CellDingbat -> None,
CellMargins -> {{Inherited, Inherited}, {12, 0}}]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["SubsectionSpacer"], CellDingbat ->
Cell["Subsection spacer", "Menu", FontColor -> GrayLevel[1],
FontSize -> 8, Background -> GrayLevel[0.67]],
CellBracketOptions -> {
"Color" -> RGBColor[1, 0, 0], "Thickness" -> 0.55}],
Cell[
StyleData["SubsectionSpacer", "Printout"], CellDingbat -> None,
CellMargins -> {{Inherited, Inherited}, {0, 0}},
CellElementSpacings -> {"CellMinHeight" -> 0}]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["ReferenceSpacer"], CellDingbat ->
Cell["Reference spacer", "Menu", FontColor -> GrayLevel[1],
FontSize -> 8, Background -> GrayLevel[0.67]],
CellBracketOptions -> {
"Color" -> RGBColor[1, 0, 0], "Thickness" -> 0.55}],
Cell[
StyleData["ReferenceSpacer", "Printout"], CellDingbat -> None,
CellMargins -> {{Inherited, Inherited}, {5, 0}},
CellElementSpacings -> {"CellMinHeight" -> 0}]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["TOP"],
CellBracketOptions -> {"Color" -> RGBColor[1, 0, 1]}],
Cell[
StyleData["TOP", "Printout"],
CellMargins -> {{Inherited, Inherited}, {Inherited, 0}},
CellBracketOptions -> {
"Color" -> RGBColor[1, 0, 0], "Thickness" -> 1}]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["PageBreak"], Editable -> False, CellFrame -> 1,
CellMargins -> {{0, 0}, {1, 1}},
CellElementSpacings -> {
"CellMinHeight" -> 1, "ClosedCellHeight" -> 1}, CellOpen -> False,
PageBreakBelow -> True, CellFrameMargins -> 0,
CellSize -> {Inherited, 2}, Background -> GrayLevel[0.5]],
Cell[
StyleData["PageBreak", "Printout"], CellFrame -> 0, ShowCellBracket ->
False, CellMargins -> {{0, 0}, {0, 0}},
CellElementSpacings -> {
"CellMinHeight" -> 0, "ClosedCellHeight" -> 0}, PageBreakBelow ->
True, Background -> None]}, Closed]]}, Closed]],
Cell[
CellGroupData[{
Cell[
TextData[{
StyleBox["Mathematica", FontSlant -> "Italic"],
" system\[Hyphen]specific elements "}], "Section", ShowGroupOpener ->
True],
Cell[
CellGroupData[{
Cell[
"Links", "Subsection", CellDingbat -> None, ShowGroupOpener -> True],
Cell[
CellGroupData[{
Cell[
StyleData["Link"], ContextMenu ->
FEPrivate`FrontEndResource["ContextMenus", "PacletLink"],
StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic,
FontSize -> 14, FontColor -> RGBColor[0.1, 0.1, 0.5],
ButtonBoxOptions -> {
Active -> True, Appearance -> {Automatic, None},
ButtonExpandable -> False,
ButtonFunction :> (FEPrivate`FrontEndExecute[
FrontEndToken["OpenHelpLink", {#,
FEPrivate`If[
CurrentValue["ShiftKey"], Null,
FEPrivate`ButtonNotebook[]]}]]& ), ButtonNote ->
ButtonData, Evaluator -> None, FrameMargins -> 0, ImageMargins ->
0, ImageSize -> Automatic, Method -> "Preemptive"}],
Cell[
StyleData["Link", "Printout"], FontSize -> 10.5, FontColor ->
GrayLevel[0]]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["ExLink"], ContextMenu ->
FEPrivate`FrontEndResource["ContextMenus", "PacletLink"],
StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic,
FontColor -> RGBColor[0.1, 0.1, 0.5],
ButtonBoxOptions -> {
Active -> True, Appearance -> {Automatic, None},
ButtonExpandable -> False,
ButtonFunction :> (FEPrivate`FrontEndExecute[
FrontEndToken["OpenHelpLink", {#,
FEPrivate`If[
CurrentValue["ShiftKey"], Null,
FEPrivate`ButtonNotebook[]]}]]& ), ButtonNote ->
ButtonData, Evaluator -> None, ImageSize -> Full, Method ->
"Preemptive"}],
Cell[
StyleData["ExLink", "Printout"], FontSize -> 9.3, FontColor ->
GrayLevel[0]]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["InformationLink"]],
Cell[
StyleData["InformationLink", "Printout"], FontSize -> 9]},
Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["HyperlinkActive"], StyleMenuListing -> None,
FontVariations -> {"Underline" -> True}, FontColor ->
RGBColor[0.1, 0.1, 0.5]],
Cell[
StyleData["HyperlinkActive", "Printout"], FontColor ->
GrayLevel[0]]}, Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["DocLink"], ContextMenu ->
FEPrivate`FrontEndResource["ContextMenus", "PacletLink"],
StyleMenuListing -> None, ButtonStyleMenuListing -> Automatic,
FontColor -> RGBColor[0.1, 0.1, 0.5],
ButtonBoxOptions -> {
Active -> True, Appearance -> {Automatic, None},
ButtonExpandable -> False,
ButtonFunction :> (FEPrivate`FrontEndExecute[
FrontEndToken["OpenHelpLink", {#,
FEPrivate`If[
CurrentValue["ShiftKey"], Null,
FEPrivate`ButtonNotebook[]]}]]& ), ButtonNote ->
ButtonData, Evaluator -> None, FrameMargins -> 0, ImageMargins ->
0, ImageSize -> Automatic, Method -> "Preemptive"}],
Cell[
StyleData["DocLink", "Printout"], FontColor -> GrayLevel[0]]},
Closed]]}, Closed]],
Cell[
CellGroupData[{
Cell[
"Graphics", "Subsection", CellDingbat -> None, ShowGroupOpener ->
True],
Cell[
CellGroupData[{
Cell[
StyleData["GraphicsLabel"], FontFamily -> "Lucida Grande",
FontSize -> 8, FontWeight -> "Plain", FontSlant -> "Plain"],
Cell[
StyleData["GraphicsLabel", "Printout"], FontSize -> 6.]},
Closed]],
Cell[
CellGroupData[{
Cell[
StyleData["Graphics3DLabel"], FontFamily -> "Lucida Grande",
FontSize -> 7.5, FontWeight -> "Plain", FontSlant -> "Plain"],
Cell[
StyleData["Graphics3DLabel", "Printout"], FontSize -> 6.]},
Closed]]}, Closed]],
Cell[
CellGroupData[{
Cell[
"Miscellaneous", "Subsection", CellDingbat -> None, ShowGroupOpener ->
True],
Cell[
StyleData["CellExpression"], PageWidth -> Infinity,
CellMargins -> {{6, Inherited}, {Inherited, Inherited}},
ShowCellLabel -> False, ContextMenu ->
FEPrivate`FrontEndResource["ContextMenus", "CellExpression"],
ShowSpecialCharacters -> False, AllowInlineCells -> False,
Hyphenation -> False, AutoItalicWords -> {},
AutoQuoteCharacters -> {}, PasteAutoQuoteCharacters -> {},
LanguageCategory -> None, StyleMenuListing -> None, FontFamily ->
"Courier", FontSize -> 12, Magnification -> 1.25, Background ->
GrayLevel[0.9]]}, Closed]]}, Closed]]}, Visible -> False,
FrontEndVersion ->
"10.1 for Mac OS X x86 (32-bit, 64-bit Kernel) (March 23, 2015)",
StyleDefinitions -> "PrivateStylesheetFormatting.nb"]
]
(* End of Notebook Content *)
(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{
"i:1"->{
Cell[3744, 91, 1190, 25, 210, "Text",
CellTags->"i:1"]},
"i:2"->{
Cell[25658, 620, 553, 11, 105, "TextFirst",
CellTags->"i:2"],
Cell[26837, 654, 1065, 16, 231, "TextFirst",
CellTags->"i:2"]}
}
*)
(*CellTagsIndex
CellTagsIndex->{
{"i:1", 85549, 2038},
{"i:2", 85621, 2041}
}
*)
(*NotebookFileOutline
Notebook[{
Cell[1464, 33, 859, 19, 60, "TitleFlourish"],
Cell[CellGroupData[{
Cell[2348, 56, 107, 4, 28, "PrefaceSection"],
Cell[2458, 62, 549, 8, 126, "TextFirst"],
Cell[3010, 72, 731, 17, 126, "Text"],
Cell[3744, 91, 1190, 25, 210, "Text",
CellTags->"i:1"],
Cell[4937, 118, 655, 12, 126, "Text"],
Cell[5595, 132, 1073, 22, 210, "Text"]
}, Open ]],
Cell[CellGroupData[{
Cell[6705, 159, 41, 0, 39, "PrefaceSection"],
Cell[6749, 161, 1799, 32, 336, "TextFirst"],
Cell[8551, 195, 900, 13, 189, "Text"],
Cell[9454, 210, 666, 11, 126, "Text"],
Cell[10123, 223, 614, 12, 105, "Text"]
}, Open ]],
Cell[CellGroupData[{
Cell[10774, 240, 44, 0, 39, "PrefaceSection"],
Cell[10821, 242, 681, 15, 126, "TextFirst"],
Cell[11505, 259, 724, 14, 147, "Text"],
Cell[CellGroupData[{
Cell[12254, 277, 375, 8, 70, "ItemFirst"],
Cell[12632, 287, 262, 6, 64, "Item"],
Cell[12897, 295, 294, 6, 64, "Item"],
Cell[13194, 303, 141, 4, 25, "Item"],
Cell[13338, 309, 203, 5, 45, "Item"],
Cell[13544, 316, 246, 6, 45, "Item"],
Cell[13793, 324, 121, 4, 25, "Item"],
Cell[13917, 330, 160, 4, 45, "Item"]
}, Open ]],
Cell[14092, 337, 640, 18, 105, "Text"],
Cell[14735, 357, 320, 6, 63, "Text"],
Cell[15058, 365, 819, 18, 148, "Text"],
Cell[15880, 385, 685, 13, 147, "Text"],
Cell[16568, 400, 1554, 44, 192, "Text"],
Cell[18125, 446, 817, 16, 147, "Text"],
Cell[18945, 464, 510, 9, 105, "Text"],
Cell[19458, 475, 671, 13, 126, "Text"],
Cell[20132, 490, 685, 14, 126, "Text"],
Cell[20820, 506, 1002, 19, 190, "Text"],
Cell[21825, 527, 1655, 41, 234, "Text"],
Cell[23483, 570, 856, 16, 168, "Text"],
Cell[24342, 588, 726, 15, 147, "Text"],
Cell[25071, 605, 513, 8, 105, "Text"]
}, Open ]],
Cell[CellGroupData[{
Cell[25621, 618, 34, 0, 39, "PrefaceSection"],
Cell[25658, 620, 553, 11, 105, "TextFirst",
CellTags->"i:2"],
Cell[26214, 633, 542, 14, 84, "Text"]
}, Open ]],
Cell[CellGroupData[{
Cell[26793, 652, 41, 0, 39, "PrefaceSection"],
Cell[26837, 654, 1065, 16, 231, "TextFirst",
CellTags->"i:2"],
Cell[27905, 672, 457, 7, 105, "Text"],
Cell[28365, 681, 497, 8, 105, "Text"],
Cell[28865, 691, 434, 7, 105, "Text"],
Cell[29302, 700, 1124, 21, 231, "Text"],
Cell[30429, 723, 316, 8, 55, "TextFirst"]
}, Open ]]
}
]
*)
(* End of internal cache information *)
(* NotebookSignature Sw0wp8SSJMAyXAw89g0l82CD *)