“slideshow is a small macro package which simplifies the process of creating slide-show style presentations using plain metapost and ghostscript. The package assists in producing slides with dimensions 6.4 inches wide by 4.8 inches high, which the user is then expected to convert into a pdf file using ghostscript as a PS distiller. ”
Example 1.13. slideshow Example
input pathalong;
input slideshow;
author("Patrick TJ McPhee");
title("Introducing slide-show macros");
keywords("presentations metapost");
copyright("Copyright 2001 Patrick TJ McPhee. You may redistribute and
modify for any purpose, but must acknowledge significant quotation.");
continue;
nextfig;
defaultscale := 2;
draw textunder((0,.5in){up}..{right}(2in,1in), "Introducing")
shifted (1in,3in) withcolor textcolour;
endfig;
nextfig;
blabel.rt("Slide Show Macros", (2in,2in));
endfig;
defaultscale := 1;
nextfig;
draw pathalong((0,.5in){up}..{right}(2in,1in), "by Patrick TJ McPhee")
shifted (1in,3in) withcolor textcolour;
hyperdest("Start");
endfig;
discontinue;
header("Rationale");
bpoint("Primarily an intellectual exercise");
bpoint("But may be useful for graphics-intensive presentations
which don't use much text");
bpoint("Slideshow provides support for this irritating style
of bullet presentation");
bpoint("And writes out some pdfmarks, which you would otherwise
have to look up yourself");
...
picture lt, mp, dvi, gs, postp, vres, pres, fpres;
lt := procbox("laTeX") shifted (.05 lawidth, .2laheight);
mp := procbox("metapost") shifted (.05 lawidth, .1laheight);
dvi := procbox("DVI processor") shifted (.2 lawidth, .15laheight);
vres := resultbox("viewable result") shifted (.4 lawidth, .15 laheight);
gs := procbox("distiller") shifted (.65 lawidth, .15laheight);
pres := resultbox("presentation") shifted (.8 lawidth, .15laheight);
postp := procbox("post-processor") shifted (.7 lawidth, .3laheight);
fpres := resultbox("final presentation") shifted (.45 lawidth, .3laheight);
nextfig;
bullet.in("text prepared with laTeX");
draw lt withcolor white;
endfig;
nextfig;
bullet.in("graphics prepared with metapost (okay, 2 components)");
draw mp withcolor red;
endfig;
nextfig;
bullet.in("which are combined with dvi processing software");
pickup thin nib;
drawarrow (.5[lrcorner mp,urcorner mp]){right}..{right}
(.5[llcorner dvi,ulcorner dvi]) withcolor .25[red,white];
drawarrow (.5[lrcorner lt,urcorner lt]){right}..{right}
(.5[llcorner dvi,ulcorner dvi]) withcolor .25[white,red];
draw dvi withcolor .5[white,red];
endfig;
nextfig;
bullet.in("the resulting postscript is viewable, but must
be distilled into the presentation");
pickup thin nib;
drawarrow (.5[lrcorner dvi,urcorner dvi])..(.5[llcorner vres,ulcorner vres])
withcolor .1[.5[red,white],green];
draw vres withcolor .5[.5[white,red],green];
endfig;
...
nextfig;
pickup thin nib;
drawarrow (.5[llcorner postp,ulcorner postp])..(.5[lrcorner fpres,urcorner fpres])
withcolor .95[green,white];
draw fpres withcolor white;
endfig;
discontinue;
...
discontinue;
header("Limitations");
bpoint("Metapost doesn't handle text very well");
bpoint("It's difficult to include non-metapost graphics (e.g., bit-maps)");
bpoint("There's no provision for producing print-only versions of the information");
bpoint("There's no concept of presentation styles");
bpoint("It generally requires some configuration of ghostscript and metapost, especially if you use math");
bpoint("The other methods for producing presentations using TeX-family tools aren't as complicated as I suggested");
bpoint.in("I personally use my own plain-TeX style with just TeX, metapost, and dvipdfm");
...
nextfig;
hyperlabel(breaktowidth("Thanks for sticking to the end. Click on this text to start over.", .5lawidth)(ignore), (.5lawidth, .5laheight), "Start");
endfig;
end
See Figure 1.16,
“slideshow example”.