If Mathematica notebooks won't properly import the externally produced avi
files then, when giving talks, why not have just two applications up: a
Mathematica notebook with everything but the avi files, and a PowerPoint
with all the avi movies. When playing a movie you could minimize the
notebook, and when using the notebook you could minimize the PowerPoint.
(You shouldn't usually need more than one notebook.)
You have also raised two other questions.
1) How can casual technical users of Mathematica make good presentations?
2) How, within Mathematica, can we make notebooks that hide most of the
Mathematica Input and show only the results and mathematics. Classical
technical papers don't have Input/Output statements.
The answer to (1) is that, generally, casual users who have not achieved a
certain level of competence with Mathematica can't make good presentations.
They will need help. That is why it is important that Mathematica be more
dominant so that students interested in a technical career start learning it
young, say in early secondary school, so that when they get to university or
into a professional career they won't be stymied with Mathematica.
If you will indulge me, I would like to discuss further the writing of
graphics and dynamic presentations. There is no one-size-fits-all template
for doing this. Each new mathematical concept or each new kind of data set
may require its own special treatment. One might end up writing templates
but only after exploring the mathematics and/or data. The next topic one
tackles might require an entirely different template.
And in general, making good graphics and dynamic presentations is WORK.
There is no easy shortcut because it is intimately bound with your subject
matter. A good source of information and guidance for the graphical
presentation of data (he doesn't deal as much with the presentation of
mathematical concepts) are the books by Edward R. Tufte: 'The Visual Display
of Quantitative Information', 'Envisioning Information' and 'Visual
Explanations'. If it takes three books to discuss basically static graphics,
separating good practice form bad, then how much more complicated it is to
understand the effective use of dynamic presentations! We are at the
beginning of a new art and have much to explore and learn.
There are some principles, some of them straight from Tufte or inspired by
1) Do you have clear idea of what information or concept you are trying to
convey with a presentation? This may actually evolve as you work with a
presentation. Your first presentations may expose errors or misconceptions.
2) "Maximize the information, minimize the ink."
3) Include ancillary material with the "minimum effective difference". Fewer
tick marks, direct labeling instead of legends, barely visible grids.
4) In general, remove everything that does not directly contribute to the
5) Most topics require both textual discussion and multiple presentations.
Somewhere, but I've had difficulty finding it again, Tufte makes the
statement: "The one who makes the graphics often makes the discoveries."
That is why it is worth the work. My wife and I are presently reading 'Nerve
Endings: The Discovery of the Synapse' by Richard Rapport. It is basically a
biography of Santiago Ramon y Cajal, the great histologist and neural
anatomist. In a book 'Advice for a Young Investigator' Cajal wrote: "As with
the lover who discovers new perfections every day in the woman he adores, he
who studies an object with an endless sense of pleasure finally discerns
interesting details and unusual properties.... It is not without reason that
all great observers are skillful at drawing."
Writing good graphics and presentations is an integral part of the learning
and discovery process and not just some afterthought, like a wrapping put on
In the Presentations package I have tried to tackle the problem of hiding
Mathematica code. I'm certain I don't have the final or most convenient
answer but it is a workable start. I can present mathematical derivations,
proofs, or calculations in a manner that hides all the Input/Output cells
(if that is what is desired). Displays can be generated with buttons that
can merge with regular text in a text cell. The basic buttons have a
structure such that the display can follow the cell or can be launched in
independent windows. Derivations can be organized in a structure of buttons
that can be arranged in Rows and Columns, or Grids, or Trees. Thus an
extended derivation can be presented in a coherent and compact space. The
individual 'page' displays can be formatted with a kind of MaTeX language.
There is an easy provision for a two column display with annotation on one
side and mathematical output on the other side. In can be arranged such that
placing the cursor over the output will display a tooltip showing the Input
statement that produced that output.
I usually put the code that produces these displays in closed subsections
that must either be first evaluated or are initialization cells. So the code
is there, and readers can look at it if they wish, but it is normally not
shown. There is also provision for launching embedded sidebar notebooks for
elaborating on some point without interrupting the main flow of the
clear: those preferring specifically
Mathematica presentations and those preferring generic PowerPoint-type
programs. I am following this discussion with
a practical interest of a one doing such presentations and having to be
However, at present this new discussion is unfortunately kept on the level
of personal tests. These tests (as much as
I can see from the present discussion) are very much based on personal
Mathematica-programming skills. It is not quite
unexpected. Those with greater experience in such a programming see no
problems to write a peace of code to make a
demonstration for the presentation. But in this case this demonstration will
be much better suited for the presentation aim.
In contrast, those with a considerably smaller experience realize this also,
but will have to spend too much time, and
presentation will look much less professional. This dominates the decision
and I find that the both groups are right.
I think that there are also some problematic things that at present in the
both styles of presentations. I am going to
note now those I met. I hope with these in focus the discussion may help the
Wolfram crew in future.
and for this reason I will not comment on this any more. Let me instead
formulate few narrow places I met doing Mathematica
First let me recall (if somebody have left this out) the Mathematica is
intended for everybody, not only for programmers
and not even only for those making presentations concerning Mathematica
itself. There are also other communities: physicists,
biologists etc. A problem with people from those communities is that they
sometimes want in their presentations to include
items created outside of Mathematica. Sometimes it works, say with simple
images, but sometimes it fails. I personally
needed to include avi movies created by simulations made outside of
Mathematica. I failed, and the Wolfram
HelpDesk explained me that not any avi file may be imported into
Mathematica. This is a serious limitation. One can of
coarse, go around. For example, from Mathematica one may call an external
program to run a movie say, by a hyperlink. But
this spends too much time before your application starts. It decreases a
temp of the presentation. If you need to run about
5 such external movies per presentation, which is not too rear... One may
alternatively, have open all windows with external
programs that he intends to run, but then he may have too much windows open
and lost among them. And this is simply inelegant.
I mean that for people who really need such movies run, it is a real problem
with Mathematica, while PowerPoint does all
Second important thing is template. Templates of the PowerPoint are
primitive, standard, often ugly, but they are there. We
have no Mathematica templates for very basic things regularly needed during
presentations. For example, one often needs to
show formulas and to highlight those their parts that are discussed in a
moment. PowerPoint has an instrument to insert
formulas, Mathematica has its own also. PowerPoint has no template to
accentuate their parts, but using the PP templates
this is done in few seconds. In contrast, it took us a long discussion and
many attempts and a good peace of programming at
this forum about a year ago, to develop good functions to accentuate desired
parts of expressions. It is now good though
not much better than I achieved in PowerPoint in the past. Ok, once your
have such functions, you do it easily in future.
However, to make a push to Mathematica-based presentations, (I believe) it
would be desirable to have such and some other
basic templates already at hand to simplify the work for those who are not
that readily programming.
Third, if your presentation is not about Mathematica, but you have a lot of
code in its interactive parts, you typically
do not want to show this code to the auditory. And besides, you have no time
to execute the code right before the given
interactive demonstration is shown. There is of coarse, a way around. You
may keep the whole code in one notebook, and the
presentation in another one. This second will then contain the names of your
functions just to call them. First of all you
need then to execute all functions both from the first and from the second
notebooks. You need to write a special function
that will do this. Ok, once you have such a function... The next problem is
that you often do not need that the auditory
sees your functions (or function names) in the SlideShow notebook. Even
more, you need to exclude any extra visual
information, since it misleads. You need then to make tricks. Say, you may
close the cells around interactive presentation,
rather than around the function. But like this you lose a control. And it is
a considerable peace of work for you right
before the presentation. And in this very moment you have typically other
things to do. You may make the function names to be
simultaneously titles of the demonstrations. This is better, but then there
are problems with formatting. However, may I
dream that future SlideShow templates would have a button that shows/hides
such code-containing cells, and those that
execute all functions of the SlideShow? And those switch on/switch off the
In-Out tags? No, I understand quite well that some
of you may in a second or so write me a nice function that makes the job. I
may do it also. I did actually. Nevertheless, I
firmly believe that having such things built-in will be a benefit.
In general I am much more Mathematica-oriented than PP-oriented talk-giver,
and I hope that this discussion may be helpful.