# beamer / doc / beamerug-emulation.tex

  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 . % % 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: