Source

beamer / doc / beamerug-emulation.tex

Full commit
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
% $Header$

% Copyright 2003, 2004 by Till Tantau <tantau@users.sourceforge.net>.
%
% This program can be redistributed and/or modified under the terms
% of the GNU Public License, version 2.



\section[How To Import Presentations Based on Other Packages and Classes]
{How To Import Presentations Based on\\ Other Packages and Classes}

The \beamer\ class comes with a number of emulation layers for classes
or packages that do not support \beamer\ directly. For example, the
package |beamerseminar| maps some (not all) commands of the \seminar\ 
class to appropriate \beamer\ commands. This way, individual slides or
whole sets of slides that have been prepared for a presentation using
\seminar\ can be used inside \beamer, provided they are reasonably
simple.

None of the emulation layers is a perfect substitute for the original
(emulations seldom are) and it is not intended that they ever will
be. If you want/need/prefer the features of another class, use that
class for preparing your presentations. The intension of these layers
is just to help speed up creating \beamer\ presentations that use
parts of old presentations. You can simply copy these parts in
verbatim, without having to worry about the subtle differences in
syntax. 

A useful effect of using an emulation layer is that you get access to
all the features of \beamer\ while using the syntax of another
class. For example, you can use the |article| mode to create a
nice article version of a \prosper\ talk.



\subsection{Prosper and HA-Prosper}
\label{section-prosper}

The package |beamerprosper| maps the commands of the \prosper\
package, developed by Fr\'ed\'eric Goualard, to \beamer\
commands. Also, some commands of the \textsc{ha}-\prosper\ package,
developed by Hendri Adriaens, are mapped to \beamer\ commands. 
\emph{These mappings cannot perfectly emulate all of Prosper!} Rather,
these mappings are intended as an aid when porting parts of
presentations created using \prosper\ to \beamer. \emph{No styles are
  implemented that mimick Prosper styles.} Rather, the normal \beamer\
themes must be used (although, one could implement \beamer\ themes
that mimicks existing \prosper\ styles; I have not done that and do
not intend to).

The workflow for creating a \beamer\ presentation that uses \prosper\
code is the following: 
\begin{enumerate}
\item
  Use the document class |beamer|, not |prosper|. Most options
  passed to |prosper| do not apply to |beamer| and should be omitted.
\item
  Add a |\usepackage{beamerprosper}| to start the emulation.
\item
  If you add slides relying on \textsc{ha}-\prosper, you may wish to
  add the option |framesassubsections| to |beamerprosper|, though I do
  not recommend it (use the normal |\subsection| command instead; it
  gives you more fine-grained control).
\item
  If you also copy the title commands, it may be necessary to adjust
  the content of commands like |\title| 
  or |\author|. Note that in \prosper\ the |\email| command is given
  outside the |\author| command, whereas in \beamer\ and also in
  \textsc{ha}-\prosper\ it is given inside.
\item
  When copying slides containing the command |\includegraphics|, you
  will almost surely have to adjust its usage. If you use pdf\LaTeX\
  to typeset the presentation, than you cannot include PostScript
  file. You should convert them to |.pdf| or to |.png| and adjust any
  usage of |\includegraphics| accordingly.
\item
  When starting to change things, you can use all of \beamer's
  commands and even mix them with \prosper\ commands.
\end{enumerate}

An example can be found in the file |beamerexample-prosper.tex|.

There are, unfortunately, quite a few places where you may run into
problems:
\begin{itemize}
\item
  In \beamer, the command |\PDForPS| will do exactly what the name
  suggests: insert the first argument when run by |pdflatex|, insert
  the second argument when run by |latex|. However, in \prosper, the
  code inserted for the \pdf\ case is actually PostScript code, which
  is only later converted to \pdf\ by some external program. You will
  need to adjust this PostScript code such that it works with
  |pdflatex| (which is not always possible).
\item
  If you used fine-grained spacing commands, like adding a little
  horizontal skip   here and a big negative vertical skip there, the
  typesetting of the text may be poor. It may be a good idea to just
  remove these spacing commands.
\item
  If you use |pstricks| commands, you will either have to stick to
  using |latex| and |dvips| or will have to work around them using,
  for example, |pgf|. Porting lots of |pstricks| code is bound to be
  difficult, if you wish to switch over to |pdflatex|, so be warned.
\item
  If the file cannot be compiled because some \prosper\ command is not
  implemented, you will have to delete this command and try to mimick
  its behaviour using some \beamer\ command.
\end{itemize}


\begin{package}{{beamerprosper}}
  Include this package in a |beamer| presentation to get access to
  \prosper\ commands. Use |beamer| as the document class, not
  |prosper|. Most of the options passed to the class |prosper| make no
  sense in |beamer|, so just delete them.

  This package takes the following options:
  \begin{itemize}
  \item
    \declare{|framesassubsections|} causes each frame to create its
    own subsection with the frame title as subsection name. This
    behaviour mimicks \textsc{ha}-\textsc{prosper}'s behaviour. In a
    long talk this will create way too many subsections. 
  \end{itemize}

  \articlenote
  The |framesassubsections| option has no effect in |article| mode.

  \example
\begin{verbatim}
\documentclass[notes]{beamer}

\usepackage[framesassubsections]{beamerprosper}

\title{A Beamer Presentation Using (HA-)Prosper Commands}
\subtitle{Subtitles Are Also Supported}
\author{Till Tantau}
\institution{The Institution is Mapped To Institute}

\begin{document}

\maketitle

\tsectionandpart{Introduction}

\overlays{2}{
\begin{slide}{About this file}
  \begin{itemstep}
  \item
    This is a beamer presentation.
  \item
    You can use the prosper and the HA-prosper syntax.
  \item
    This is done by mapping prosper and HA-prosper commands to beamer
    commands.
  \item
    The emulation is by no means perfect.
  \end{itemstep}
\end{slide}
}

\section{Second Section}
\subsection{A subsection}
\begin{frame}
  \frametitle{A frame created using the \texttt{frame} environment.}

  \begin{itemize}[<+->]
  \item You can still use the original beamer syntax.
  \item The emulation is intended only to make recycling slides
    easier, not to install a whole new syntax for beamer.
  \end{itemize}
\end{frame}

\begin{notes}{Notes for these slides}
My notes for these slides.
\end{notes}
\end{document}
\end{verbatim}
  
  You can run, for example, pdf\LaTeX\ on the file to get a \beamer\
  presentation with overlays. Adding the |notes| option will also show
  the note. Certain commands, like |\LeftFoot|, are ignored. You can
  change the theme using the usual commands. You can also use all
  normal \beamer\ commands and concepts, like overlay-specifications,
  in the file. You can also create an |article| version by using the
  class |article| and including the package |beamerarticle|.
\end{package}

In the following, the effect of \prosper\ commands in \beamer\ are
listed.

\begin{command}{\email\marg{text}}
  Simply typesets its argument in typewriter text. Should hence be
  given \emph{inside} the |\author| command.
\end{command}

\begin{command}{\institution\marg{text}}
  This command is mapped to \beamer's |\institute|
  command if given \emph{outside} the |\author| command, otherwise it
  typesets its argument in a smaller font.
\end{command}

\begin{command}{\Logo\opt{|(|\meta{x}|,|\meta{y}|)|}\marg{logo text}}
  This is mapped to |\logo{|\meta{logo text}|}|. The coordinates are ignored.
\end{command}

\begin{environment}{{slides}\oarg{options}\marg{frame title}}
  Inserts a frame with the |fragile=singleslide| option set. The
  \meta{frame title} will be enclosed in a |\frametitle| command.

  The following \meta{options} may be given:
  \begin{itemize}
  \item
    \declare{|trans=|\meta{prosper transition}} installs the specified
    \meta{prosper transition} as the transition effect when showing
    the slide.
  \item
    \declare{\meta{prosper transition}} has the same effect as
    |trans=|\meta{prosper transition}.
  \item
    \declare{|toc=|\meta{entry}} overrides the subsection table of
    contents entry created by this slide by \meta{entry}. Note that a
    subsection entry is created for a slide only if the
    |framesassubsections| options is specified.
  \item
    \declare{|template|=\meta{text}} is ignored.
  \end{itemize}

  \example The following two texts have the same effect:

\begin{verbatim}
\begin{slide}[trans=Glitter,toc=short]{A Title}
  Hi!
\end{slide}
\end{verbatim}

  and

\begin{verbatim}
\subsection{short} % omitted, if framesassubsections is not specified
\begin{frame}[fragile=singleslide]
  \transglitter
  \frametitle{A Title}
  Hi!
\end{frame}
\end{verbatim}
\end{environment}


\begin{command}{\overlays\marg{number}\marg{slide environment}}
  This will put the \meta{slide environment} into a frame that does
  not have the |fragile| option and which can hence contain
  overlayed text. The \meta{number} is ignored since the number of
  necessary overlays is computed automatically by \beamer.

  \example The following code fragments have the same effect:
  
\begin{verbatim}
\overlays{2}{
\begin{slide}{A Title}
  \begin{itemstep}
  \item Hi!
  \item Ho!
  \end{itemstep}
\end{slide}}
\end{verbatim}

  and

\begin{verbatim}
\subsection{A Title} % omitted, if framesassubsections is not specified
\begin{frame}
  \frametitle{A Title}
  \begin{itemstep}
  \item Hi!
  \item Ho!
  \end{itemstep}
\end{frame}
\end{verbatim}
\end{command}


\begin{command}{\fromSlide\marg{slide number}\marg{text}}
  This is mapped to |\uncover<|\meta{slide number}|->{|\meta{text}|}|.
\end{command}

\begin{command}{\fromSlide|*|\marg{slide number}\marg{text}}
  This is mapped to |\only<|\meta{slide number}|->{|\meta{text}|}|.
\end{command}

\begin{command}{\onlySlide\marg{slide number}\marg{text}}
  This is mapped to |\uncover<|\meta{slide number}|>{|\meta{text}|}|.
\end{command}

\begin{command}{\onlySlide|*|\marg{slide number}\marg{text}}
  This is mapped to |\only<|\meta{slide number}|>{|\meta{text}|}|.
\end{command}

\begin{command}{\untilSlide\marg{slide number}\marg{text}}
  This is mapped to |\uncover<-|\meta{slide number}|>{|\meta{text}|}|.
\end{command}

\begin{command}{\untilsSlide|*|\marg{slide number}\marg{text}}
  This is mapped to |\only<-|\meta{slide number}|>{|\meta{text}|}|.
\end{command}

\begin{command}{\FromSlide\marg{slide number}}
  This is mapped to |\onslide<|\meta{slide number}|->|.
\end{command}

\begin{command}{\OnlySlide\marg{slide number}}
  This is mapped to |\onslide<|\meta{slide number}|>|.
\end{command}

\begin{command}{\UntilSlide\marg{slide number}}
  This is mapped to |\onslide<-|\meta{slide number}|>|.
\end{command}

\begin{command}{\slideCaption\marg{text}}
  This is mapped to |\date{|\meta{text}|}|.
\end{command}

\begin{command}{\fontTitle\marg{text}}
  Simply inserts \meta{text}.
\end{command}

\begin{command}{\fontText\marg{text}}
  Simply inserts \meta{text}.
\end{command}

\begin{command}{\PDFtransition\marg{prosper transition}}
  Maps the \meta{prosper transition} to an appropriate |\transxxxx|
  command.
\end{command}

\begin{environment}{{Itemize}}
  This is mapped to |itemize|.
\end{environment}

\begin{environment}{{itemstep}}
  This is mapped to |itemize| with the option |[<+->]|.
\end{environment}

\begin{environment}{{enumstep}}
  This is mapped to |enumerate| with the option |[<+->]|.
\end{environment}

\begin{command}{\hiddenitem}
  This is mapped to |\addtocounter{beamerpauses}{1}|.
\end{command}

\begin{command}{\prosperpart\oarg{options}\marg{text}}
  This command has the same effect as \prosper's |\part|
  command. \beamer's normal |\part| command retains its normal
  semantics. Thus, you might wish to replace all occurrences of |\part|
  by |\prosperpart|.
\end{command}


\begin{command}{\tsection\opt{|*|}\marg{section name}}
  Creates a section named \meta{section name}. The star, if present,
  is ignored.
\end{command}

\begin{command}{\tsectionandpart\opt{|*|}\marg{part text}}
  Mapped to a |\section| command followed by a |\prosperpart|
  command.

  \articlenote
  In |article| mode, no part page is added.
\end{command}

\begin{command}{\dualslide\oarg{x}\oarg{y}\oarg{z}\marg{options}\marg{left
      column}\marg{right column}}
  This command is mapped to a |columns| environment. The \meta{left
    column} text is shown in the left column, the \meta{right column}
  text is shown in the right column. The options \meta{x}, \meta{y},
  and \meta{z} are ignored. Also, all \emph{options} are ignored,
  except for \declare{|lcolwidth=|} and \declare{|rcolwidth=|}. These
  set the width of the left or right column, respectively.
\end{command}

\begin{command}{\PDForPS\marg{PostScript text}\marg{PDF text}}
  Inserts either the \meta{PostScript text} or the \meta{PDF text},
  depending on whether |latex| or |pdflatex| is used. When porting,
  the \meta{PDF text} will most likely be \emph{incorrect}, since in
  \prosper\ the \meta{PDF text} is actually PostScript text that is
  later transformed to \pdf\ by some external program.

  If the \meta{PDF text} contains an |\includegraphics| command (which
  is its usual use), you should change the name of the graphic file
  that is included to a name ending |.pdf|, |.png|, or
  |.jpg|. Typically, you will have to convert your graphic to this
  format.
\end{command}

\begin{command}{\onlyInPDF\meta{PDF text}}
  The \meta{PDF text} is only included if |pdflatex| is used. The same
  as for the command |\PDForPS| applies here.
\end{command}

\begin{command}{\onlyInPS\meta{PS text}}
  The \meta{PS text} is only included if |latex| is used. 
\end{command}

\begin{environment}{{notes}\marg{title}}
  Mapped to |\note{\textbf{|\meta{title}|}|\meta{environment contents}|}|
  (more or less). 
\end{environment}

The following commands are parsed by \beamer, but have no effect:
\begin{itemize}\itemsep=0pt\parskip=0pt
\item |\myitem|,
\item |\FontTitle|,
\item |\FontText|,
\item |\ColorFoot|,
\item |\DefaultTransition|,
\item |\NoFrenchBabelItemize|,
\item |\TitleSlideNav|,
\item |\NormalSlideNav|,
\item |\HAPsetup|,
\item |\LeftFoot|, and
\item |\RightFoot|.
\end{itemize}




\subsection{Seminar}
\label{section-seminar}

The package |beamerseminar| maps a subset of the commands of the \seminar\
package to \beamer. As for \prosper, the emulation cannot be
perfect. For example, no portrait slides are supported, no
automatic page breaking, the framing of slides is not
emulated. Unfortunately, for all frames (|slide| environments) that
contain overlays, you have to put the environment into a |frame|
environment ``by hand'' and must remove all occurrences of |\newslide|
inside the environment by closing the slide and opening a new one (and
then putting these into |frame| environments).

The workflow for the migration is the following:
\begin{enumerate}
\item
  Use the document class |beamer|, not |seminar|. Most options
  passed to |seminar| do not apply to |beamer| and should be
  omitted.
\item
  If you copy parts of a presentation that is mixed with normal text,
  add the |ignorenonframetext| option and place \emph{every} |slide|
  environment inside a |frame| since \beamer\ will not recognize the 
  |\begin{slide}| as the beginning of a frame.
\item
  Add a |\usepackage{beamerseminar}| to start the emulation. Add the
  option |accumulate| if you wish to create a presentation to be held
  with a video projector.
\item
  Possibly add commands to install themes and templates.
\item
  The should be not commands in the preamble having to do with
  page and slide styles. They do not apply to |beamer|.
\item
  If a |\newslide| command is used in a |slide| (or similarly
  |slide*|) environment that contains an overlay, you must replace it
  by a closing |\end{slide}| and an opening |\begin{slide}|. 
\item
  Next, for each |slide| or |slide*| environment that contains an
  overlay, you must place a |frame| environment around it. You can
  remove the |slide| environment (and hence effectively replace it by
  |frame|), unless you use the |accumulate| option. 
\item
  If you use |\section| or |\subsection| commands inside slides, you
  will have to move them \emph{outside} the frames. It may then be
  necessary to add a |\frametitle| command to the slide.
\item
  If you use pdf\LaTeX\ to typeset the presentation, you cannot
  include PostScript files. You should convert them to |.pdf| or to
  |.png| and adjust any usage of |\includegraphics| accordingly.
\item
  When starting to change things, you can use all of \beamer's
  commands and even mix them with \seminar\ commands.
\end{enumerate}

An example can be found in the file |beamerexample-seminar.tex|.

There are, unfortunately, numerous places where you may run into
problems:
\begin{itemize}
\item
  The whole |note| management of |seminar| is so different from
  |beamer|'s, that you will have to edit notes ``by hand.'' In
  particular, commands like |\ifslidesonly| and |\ifslide| may not do
  exactly what you expect.
\item
  If you use |pstricks| commands, you will either have to stick to
  using |latex| and |dvips| or will have to work around them using,
  for example, |pgf|. Porting lots of |pstricks| code is bound to be
  difficult, if you wish to switch over to |pdflatex|, so be warned.
\item
  If the file cannot be compiled because some \seminar\ command is not
  implemented, you will have to delete this command and try to mimick
  its behaviour using some \beamer\ command.
\end{itemize}

\begin{package}{{beamerseminar}}
  Include this package in a |beamer| presentation to get access to
  \seminar\ commands. Use |beamer| as the document class, not
  |seminar|. Most of the options passed to the class |seminar| make no
  sense in |beamer|, so just delete them.

  This package takes the following options:
  \begin{itemize}
  \item
    \declare{|accumulate|} causes overlays to be accumulated. The
    original behaviour of the \seminar\ package is that in each
    overlay only the really ``new'' part of the overlay is shown. This
    makes sense, if you really print out the overlays on
    transparencies and then really stack overlays on top of each
    other. For a presentation with a video projector, you rather
    want to present an ``accumulated'' version of the overlays. This
    is what this option does: When the new material of the $i$th
    overlay is shown, the material of all previous overlays is also
    shown. 
  \end{itemize}

  \example
  The following example is an extract of |beamerexample-seminar.tex|:
\begin{verbatim}
\documentclass[ignorenonframetext]{beamer}
\usepackage[accumulated]{beamerseminar}
\usepackage{beamerthemeclassic}

\title{A beamer presentation using seminar commands}
\author{Till Tantau}

\let\heading=\frametitle

\begin{document}

\begin{frame}
  \maketitle
\end{frame}

This is some text outside any frame. It will only be shown in the
article version.

\begin{frame}
  \begin{slide}
    \heading{This is a frame title.}

    \begin{enumerate}
      {\overlay1
      \item Overlays are a little tricky in seminar.
        {\overlay2
        \item But it is possible to use them in beamer.
        }
      }
    \end{enumerate}
  \end{slide}
\end{frame}
\end{document}
\end{verbatim}

  You can use all normal \beamer\ commands and concepts, like
  overlay-specifications, in the file. You can also create an
  |article| version by using the class |article| and
  including the package |beamerarticle|. 
\end{package}

In the following, the effect of \seminar\ commands in \beamer\ are
listed.

\begin{command}{\overlay\marg{number}}
  Shows the material till the end of the current \TeX\ group only on
  overlay numbered $\hbox{\meta{number}}+1$ or, if the |accumulate|
  option is given, from that overlay on. Usages of this command may be
  nested (as in \seminar). If an |\overlay| command is given inside
  another, it temporarily ``overrules'' the outer one as demonstrated
  in the following example, where it is assumed that the |accumulate|
  option is given.

  \example
\begin{verbatim}
\begin{frame}
  \begin{slide}
    This is shown from the first slide on.
    {\overlay{2}
      This is shown from the third slide on.
      {\overlay{1}
        This is shown from the second slide on.
      }
      This is shown once more from the third slide on.
    }
  \end{slide}
\end{frame}
\end{verbatim}
\end{command}


\begin{environment}{{slide}\opt{|*|}}
  Mainly installs an |\overlay{0}| around the \meta{environment
    contents}. If the |accumulate| option is given, this has no
  effect, but otherwise it will cause the main text of the slide to be
  shown \emph{only} on the first slide. This is useful if you really
  wish to physically place slides on top of each other.

  The starred version does the same as the nonstarred one.

  If this command is not issued inside a |\frame|, it sets up a frame
  with the |fragile=singleframe| option set. Thus, this frame will
  contain only a single slide.

  \example
\begin{verbatim}
\begin{slide}
  Some text.
\end{slide}

\frame{
\begin{slide}
  Some text. And an {\overlay{1} overlay}.
\end{slide}
}
\end{verbatim}
\end{environment}

\begin{command}{\red}
  Mapped to |\color{red}|.
\end{command}

\begin{command}{\blue}
  Mapped to |\color{blue}|.
\end{command}

\begin{command}{\green}
  Mapped to |\color{green}|.
\end{command}

\begin{command}{\ifslide}
  True in the |presentation| modes, false in the |article| mode.
\end{command}

\begin{command}{\ifslidesonly}
  Same as |\ifslide|.
\end{command}

\begin{command}{\ifarticle}
  False in the |presentation| modes, true in the |article| mode.
\end{command}

\begin{command}{\ifportrait}
  Always false.
\end{command}

The following commands are parsed by \beamer, but have no effect:
\begin{itemize}\itemsep=0pt\parskip=0pt
\item |\ptsize|.
\end{itemize}



\subsection{Foil\TeX}
\label{section-foiltex}

The package |beamerfoils| maps a subset of the commands of the \foils\
package to \beamer. Since this package defines only few non-standard
\TeX\ commands and since \beamer\ implements all the standard
commands, the emulation layer is pretty simple. 

A copyright notice: The Foil\TeX\ package has a restricted
license. For this reason, no example from the \foils\ package is
included in the \beamer\ class. The emulation itself does not use the
code of the \foils\ package (rather, it just maps \foils\ commands to
\beamer\ commands). For this reason, my understanding is that the
\emph{emulation} offered by the \beamer\ class is ``free'' and legally
so. IBM has a copyright on the \foils\ class, not on the effect the
commands of this class have. (At least, that's my understanding of
things.) 

The workflow for the migration is the following:
\begin{enumerate}
\item
  Use the document class |beamer|, not |foils|.
\item
  Add a |\usepackage{beamerfoils}| to start the emulation.
\item
  Possibly add commands to install themes and templates.
\item
  If the command |\foilhead| is used inside a |\frame| command or
  |frame| environment, it behaves like |\frametitle|. If it used
  outside a frame, it will start a new frame (with the
  |allowframebreaks| option, thus no overlays are allowed). This frame
  will persist till the next occurrence of |\foilhead| or of the new
  command |\endfoil|. Note that a |\frame| command will \emph{not} end
  a frame started using |\foilhead|. 
\item
  If you rely on automatic frame creation based on |\foilhead|, you
  will need to insert an |\endfoil| before the end of the document to
  end the last frame.
\item
  If you use pdf\LaTeX\ to typeset the presentation, than you cannot
  include PostScript files. You should convert them to |.pdf| or to
  |.png| and adjust any usage of |\includegraphics| accordingly.
\item
  Sizes of objects are different in \beamer, since the scaling is done
  by the viewer, not by the class. Thus a framebox of size 6 inches
  will be way too big in a \beamer\ presentation. You will have to
  manually adjust explicit dimension occurring in a foil\TeX\ presentation.
\end{enumerate}

\begin{package}{{beamerfoils}}
  Include this package in a |beamer| presentation to get access to
  \foils\ commands. Use |beamer| as the document class, not
  |foils|.

  \example In the following example, frames are automatically
  created. The |\endfoil| at the end is needed to close the last
  frame. 
\begin{verbatim}
\documentclass{beamer}
\usepackage{beamerfoils}
  
\begin{document}

\maketitle

\foilhead{First Frame}

This is on the first frame.
\pagebreak
This is on the second frame, which is a continuation of the first. 

\foilhead{Third Frame}

This is on the third frame.

\endfoil
\end{document}
\end{verbatim}
  
  \example In this example, frames are manually inserted. No
  |\endfoil| is needed.
\begin{verbatim}
\documentclass{beamer}
\usepackage{beamerfoils}
  
\begin{document}

\frame{\maketitle}

\frame{
\foilhead{First Frame}
This is on the first frame.
}

\frame{
\foilhead{Second Frame}
This is on the second frame.
}
\end{document}
\end{verbatim}
\end{package}


In the following, the effect of \foils\ commands in \beamer\ are
listed.

\begin{command}{\MyLogo\marg{logo text}}
  This is mapped to |\logo|, though the logo is internally stored,
  such that it can be switched on and off using |\LogoOn| and |\LogoOff|.
\end{command}

\begin{command}{\LogoOn}
  Makes the logo visible.
\end{command}

\begin{command}{\LogoOff}
  Makes the logo invisible.
\end{command}

\begin{command}{\foilhead\oarg{dimension}\marg{frame title}}
  If used inside a |\frame| command or |frame| environment, this is
  mapped to |\frametitle{|\meta{frame title}|}|. If used outside any
  frames, a new frame is started with the option
  |allowframebreaks|. If a frame was previously started using this
  command, it will be closed before the next frame is started. The
  \meta{dimension} is ignored. 
\end{command}

\begin{command}{\rotatefoilhead\oarg{dimension}\marg{frame title}}
  This command has exactly the same effect as |\foilhead|.
\end{command}

\begin{command}{\endfoil}
  This is a command that is \emph{not} available in \foils. In
  \beamer, it can be used to end a frame that has automatically been
  opened using |\foildhead|. This command must be given before the end
  of the document if the last frame was opened using |\foildhead|.  
\end{command}

\begin{environment}{{boldequation}\opt{|*|}}
  This is mapped to the |equation| or the |equation*| environment,
  with |\boldmath| switched on.
\end{environment}

\begin{command}{\FoilTeX}
  Typesets the foil\TeX\ name as in the \foils\ package.
\end{command}

\begin{command}{\bm\marg{text}}
  Implemented as in the \foils\ package.
\end{command}

\begin{command}{\bmstyle\marg{text}\marg{more text}}
  Implemented as in the \foils\ package.
\end{command}

The following additional theorem-like environments are predefined:
\begin{itemize}
\item |Theorem*|,
\item |Lemma*|,
\item |Corollary*|,
\item |Proposition*|,
\item |Definition*|.
\end{itemize}
For example, the first is defined using |\newtheorem*{Theorem*}{Theorem}|. 

The following commands are parsed by \beamer, but have not effect:
\begin{itemize}
\item |\leftheader|,
\item |\rightheader|,
\item |\leftfooter|,
\item |\rightfooter|,
\item |\Restriction|, and
\item |\marginpar|.
\end{itemize}



\subsection{\TeX Power}
\label{section-texpower}

The package |beamertexpower| maps a subset of the commands of the
\texpower\ package, due to Stephan Lehmke, to \beamer. This subset is
currently rather small, so a lot of adaptions may be necessary. Note
that \texpower\ is not a full class by itself, but a package that
needs another class, like |seminar| or |prosper| to do the actually
typesetting. It may thus be necessary to additionally load an
emulation layer for these also. Indeed, it \emph{might} be possible to
directly use \texpower\ inside \beamer, but I have not tried
that. Perhaps this will be possible in the future.

Currently, the package |beamertexpower| mostly just maps the
|\stepwise| and related commands to appropriate \beamer\ commands. The
|\pause| command need not be mapped since it is directly implemented
by \beamer\ anyway.

The workflow for the migration is the following:
\begin{enumerate}
\item
  Replace the document class by |beamer|. If the document class is
  |seminar| or |prosper|, you can use the above emulation layers, that
  is, you can include the files |beamerseminar| or |beamerprosper| to
  emulate the class.

  All notes on what to do for the emulation of \seminar\ or \prosper\
  also apply here.
\item
  Additionally, add |\usepackage{beamertexpower}| to start the
  emulation.
\end{enumerate}


\begin{package}{{beamertexpower}}
  Include this package in a |beamer| presentation to get access to the
  \texpower\ commands having to do with the |\stepwise| command.
\end{package}

A note on the |\pause| command: Both \beamer\ and \texpower\ implement
this command and they have the same semantics; so there is no need to
map this command to anything different in |beamertexpower|. However, a
difference is that |\pause| can be used almost anywhere in \beamer,
whereas is may only be used in non-nested situations in \texpower. Since
\beamer\ is only more flexible than \texpower\ here, this will not
cause problems when porting.

In the following, the effect of \texpower\ commands in \beamer\ are
listed.

\begin{command}{\stepwise\marg{text}}
  As in \TeX Power, this initiates text in which commands like |\step|
  or |\switch| may be given. Text contained in a |\step| command will
  be enclosed in an |\only| command with the overlay specification
  |<+(1)->|. This means that the text of the first |\step| is inserted
  from the second slide onward, the text of the second |\step| is
  inserted from the third slide onward, and so on.
\end{command}

\begin{command}{\parstepwise\marg{text}}
  Same as |\stepwise|, only |\uncover| is used instead of |\only| when
  mapping the |\step| command.
\end{command}

\begin{command}{\liststepwise\marg{text}}
  Same as |\stepwise|, only an invisible horizontal line is inserted
  before the \meta{text}. This is presumable useful for solving some
  problems related to vertical spacing in \texpower. 
\end{command}

\begin{command}{\step\marg{text}}
  This is either mapped to |\only<+(1)->|\meta{text} or to
  |\uncover<+(1)->|\meta{text}, depending on whether this command is
  used inside a |\stepwise| environment or inside a |\parstepwise|
  environment. 
\end{command}

\begin{command}{\steponce\marg{text}}
  This is either mapped to |\only<+(1)>|\meta{text} or to
  |\uncover<+(1)>|\meta{text}, depending on whether this command is
  used inside a |\stepwise| environment or inside a |\parstepwise|
  environment. 
\end{command}

\begin{command}{\switch\marg{alternate text}\marg{text}}
  This is mapped to |\alt<+(1)->{|\meta{text}|}{|\meta{alternate
      text}|}|. Note that the arguments are swapped.
\end{command}

\begin{command}{\bstep\marg{text}}
  This is always mapped to |\uncover<+(1)->|\meta{text}.
\end{command}

\begin{command}{\dstep}
  This just advances the counter |beamerpauses| by one. It has no
  other effect.
\end{command}

\begin{command}{\vstep}
  Same as |\dstep|.
\end{command}

\begin{command}{\restep\marg{text}}
  Same as |\step|, but the \meta{text} is shown one the same slide as
  the previous |\step| command. This is implemented by first
  decreasing the countern  |beamerpauses| by one before calling
  |\step|. 
\end{command}

\begin{command}{\reswitch\marg{alternate text}\meta{text}}
  Like |\restep|, only for the |\switch| command.
\end{command}

\begin{command}{\rebstep\meta{text}}
  Like |\restep|, only for the |\bstep| command.
\end{command}

\begin{command}{\redstep}
  This command has no effect.
\end{command}

\begin{command}{\revstep}
  This command has no effect.
\end{command}

\begin{command}{\boxedsteps}
  Temporarily (for the current \TeX\ group) changes the effect of
  |\step| to issue an |\uncover|, even if used inside a |\stepwise|
  environment. 
\end{command}

\begin{command}{\nonboxedsteps}
  Temporarily (for the current \TeX\ group) changes the effect of
  |\step| to issue an |\only|, even if used inside a |\parstepwise|
  environment. 
\end{command}

\begin{command}{\code\marg{text}}
  Typesets the argument using a boldface typewriter font.
\end{command}

\begin{command}{\codeswitch}
  Switches to a boldface typewriter font.
\end{command}




%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "beameruserguide"
%%% End: