Edit file File name : seminar-doc.tex Content :%% BEGIN sem-user.tex \def\FileDate{93/04/01} \def\FileVersion{1.0} %% %% COPYRIGHT 1993, by Timothy Van Zandt, Timothy.VAN-ZANDT@insead.edu %% %% %% This file may be distributed and/or modified under the conditions of %% the LaTeX Project Public License, either version 1.2 of this license %% or (at your option) any later version. The latest version of this %% license is in: %% %% http://www.latex-project.org/lppl.txt %% %% and version 1.2 or later is part of all distributions of LaTeX version %% 1999/12/01 or later. %% %% %% %% This LaTeX file prints the User's Guide for seminar.sty. %% You must have my tvz-hax.sty, tvz-user.sty, and fancybox.sty, %% which are distributed with seminar.sty. %% %% This is distributed with the index file sem-user.ind. %% To make an new index, run, e.g.: %% makeindex sem-user.idx %% %% STYLE OPTIONS: %% `a4' : For A4 paper. %% `twoside' : For two-sided printing. %% `2up' : For two-up printing. (Uses non-standard font magnifications. %% See 2up.doc for details.) %% \documentstyle[12pt]{tvz-user} \makeindex % Used with twoside option: \def\theheadertitle{seminar.sty: User's Guide} % No headers, 1in top margin \setlength{\topmargin}{0pt} \setlength{\headheight}{0pt} \setlength{\headsep}{0pt} \setlength{\textheight}{8.75in} \setlength{\footskip}{.625in} \papersizeadjust % Change part environment: \renewcommand{\part}[1]{% \clearpage \refstepcounter{part} \addcontentsline{toc}{part}{\protect\numberline{\thepart}#1}% \hrule height 1pt\relax \vskip 1ex \hbox to\columnwidth{\strut\huge\bf\thepart\hfil#1}% \vskip 1ex \hrule height 1pt\relax \vskip 3ex} \def\MainFont{\tt} % For macro definitions. \ShortVerb \ShortMeta \let\filedate\FileDate \begin{document} \thispagestyle{empty} \null \vfill \begin{center} {\huge\bf seminar.sty}\\[9pt] {\LARGE\bf A \bLaTeX\ style for slides and notes}\\[14pt] {\LARGE\bf User's Guide}\par \vskip 1.5em \large \renewcommand{\thefootnote}{\fnsymbol{footnote}} Timothy Van Zandt\\ {\normalsize\tt Timothy.VAN-ZANDT@insead.edu} \vskip 1em \thefiledate\\ Version \FileVersion\par \end{center} \par \setlength{\unitlength}{1cm} \thicklines \centerline{\lower.8in\hbox{% \begin{picture}(0,0) \put(2,-11){\framebox(4,2){}} \put(2,-11){\line(-2,3){1}} \put(2,-9){\line(-2,3){1}} \put(6,-9){\line(-2,3){1}} \put(1,-9.5){\line(0,1){2}} \put(1,-7.5){\line(1,0){4}} \put(5.8,-8.7){\line(0,1){2}} \put(5.0,-6.7){\oval(1.6,1.6)[tr]} \put(5.0,-5.9){\line(-1,0){.7}} \put(3.1,-6.4){\framebox(1.2,1){}} \put(3.1,-6.4){\line(-1,2){.3}} \put(3.1,-5.4){\line(-1,3){.3}} \put(4.3,-5.4){\line(-1,3){.3}} \put(2.8,-5.8){\line(0,1){1.3}} \put(2.8,-4.5){\line(1,0){1.2}} \put(0,6.2){\oval(14,10)} \put(.02,6.18){\oval(14,10)} \thinlines \put(2.8,-5.8){\line(-4,3){9.6}} \put(2.8,-4.5){\line(-3,5){9.35}} \put(4,-4.5){\line(1,6){2.6}} \put(6.8,1.4){\line(-1,-3){2.5}} \end{picture}}} \par \bigskip \rightskip=0pt plus 2em\relax \parshape=20 0cm 2.3cm 0cm 2.9cm 0cm 3.5cm 0cm 4.1cm 0cm 4.7cm 0cm 5.3cm 0cm 5.9cm 0cm 6.5cm 0cm 7.1cm 0cm 7.7cm 0cm 8.3cm 0cm 8.3cm 0cm 8.3cm 0cm 7.3cm 0cm 7.3cm 0cm 7.3cm 0cm 7.3cm 0cm 7.3cm 0cm 7.3cm 0cm 7.3cm seminar.sty is a \LaTeX\ style for typesetting slides or transparencies, and accompanying notes. Here are some of its special features: It is compatible with \AmS-\LaTeX, and you can use PostScript and \AmS{} fonts. Slides can be landscape and portrait. There is support for color and frames. The magnification can be changed easily. Overlays can be produced from a single slide environment. Accompanying notes, such as the text of a presentation, can be put outside the slide environments. The slides, notes or both together can then be typeset in a variety of formats. \vfill \twosideclearpage \pagenumbering{roman} \tableofcontents \twosideclearpage \section*{Getting Started} \addcontentsline{toc}{section}{Getting Started} \markboth{Getting Started}{Getting Started} "seminar.sty" is a \LaTeX{} document style for typesetting slides, and more. You should know how to use \LaTeX, as described in Leslie Lamport's \LaTeX: {\em User's Guide and Reference Manual}. Let's get started: \begin{enumerate} \item If you are installing "seminar.sty", read the the accompanying read-me file, and put the input files where your \TeX\ looks for inputs. \item Typeset the sample file, "semsamp1.tex", to see that everything is working. You can use \LaTeX\ or \AmS-\LaTeX. \item Read Appendix \ref{short-fonts}, on page \pageref{short-fonts}. \item To start making landscape slides, use \begin{LVerbatim} \documentstyle{seminar} \begin{document} \begin{slide} foo \end{slide} \end{document} \end{LVerbatim} and print out your document in landscape mode. \item To start making portrait slides, include the \o{portrait} style option, and use the \e{slide*} environment instead of \e{slide}: \begin{LVerbatim} \documentstyle[portrait]{seminar} \begin{document} \begin{slide*} foo \end{slide*} \end{document} \end{LVerbatim} \item If you have used \SliTeX, see Section \ref{slitex}. \item For A4 paper, use the "a4" style option. \item When you are ready to explore "seminar.sty"'s special features, skim the {\em User's Guide}, including the appendices. \item Play around with the sample file "semsamp2.tex" to try out some of "seminar.sty"'s special features. \item When you run into problems, look for help in Part \ref{Help}. \end{enumerate} \twosideclearpage \pagenumbering{arabic} \part{Just slides} \section{Landscape and portrait slides} "seminar.sty" is a \LaTeX\ (or \AmS-\LaTeX) document style. Thus, begin your document with \begin{LVerbatim} \documentstyle{seminar} \end{LVerbatim} The slide environments are\MainEnvIndex{slide}\MainEnvIndex{slide*}% \begin{LVerbatim} \begin{slide} ... \end{slide} \begin{slide*} ... \end{slide*} \end{LVerbatim} \e{slide} is for landscape slides and \e{slide*} is for portrait slides. By default, the document is typeset in landscape mode, but if you include the \O{portrait} style option, the document is typeset in portrait mode. Typesetting the document in landscape mode is different from printing it in landscape mode; you may have to take care of the latter when printing with your dvi driver (see Appendix \ref{S-landscape}). If you have both landscape and portrait slides in your file, there are two ways to print the slides: \begin{itemize} \item If you dvi driver supports rotation, then you can print all the slides at once. See Appendix \ref{S-landscape} for details. \item You can first print your landscape slides by putting the command \begin{MD} \landscapeonly \end{MD} in the preamble, and then print the portrait slides by inserting instead the command \begin{MD} \portraitonly \end{MD} and including the \o{portrait} style option. \end{itemize} \section{The height and width of slides\label{slidedim}} The dimensions of the slides are set by the lengths \begin{MD} \slidewidth\\ \slideheight \end{MD} The ``width'' refers to the width of a slide when looking at it in landscape orientation, whether it is a landscape or portrait slide (and the same goes for ``height''). The default width is 8.5 inches and the default height is 6.3 inches. The slide environments have an optional argument that lets you change the dimensions of a single slide, as in \begin{LVerbatim} \begin{slide*}[7.5in,6in] \end{LVerbatim} The first dimension is the slide's ``width'', and the second dimension is the slides ``height''. If you remember what we said about what ``width'' and ``height'' mean, you will see that the above example begins a portrait slide that is 7.5 inches high and 6 inches wide. \section{Margins within a slide} When a slide is not full, the material is vertically centered within the slide. The command \begin{MD} \centerslidesfalse \end{MD} cause the material to be flush to the top, instead. The command \begin{MD} \centerslidestrue \end{MD} switches back to vertical centering. The right margin in slides is ragged by default. You can change this with the command \begin{MD} \raggedslides[len] \end{MD} <len> should be the maximum space between the end of the line and the right margin. The argument is optional; \n\raggedslides\ is equivalent to \begin{LVerbatim} \raggedslides[1fil] \end{LVerbatim} which gives a ragged right margin, as in \LaTeX's "flushleft" environment (the default). On the other hand, \begin{LVerbatim} \raggedslides[0pt] \end{LVerbatim} gives a justified margin, and \begin{LVerbatim} \raggedslides[2em] \end{LVerbatim} gives a semi-ragged margin. Note that as a margin becomes less ragged, hyphenation becomes more likely and more material fits on a slide. \section{Page breaking within a slide environment\label{S-pagebreak}} A slide environment can contain more than one ``page'' of slides; \TeX\ will break slides into pages automatically. If the mere idea disturbs you, put the command \begin{LVerbatim} \extraslideheight{10in} \end{LVerbatim} in your document. You can then divide slides into pages yourself by starting new slide environments or using the \begin{MD} \newslide \end{MD} command within a slide environment. And you need read this section no further. If instead you use the command \begin{LVerbatim} \extraslideheight{0pt} \end{LVerbatim} then \TeX\ will break pages the way you would expect. This is a quick and dirty way to break a whole paper or a long proof into slides. However, dividing material into slides is usually too delicate a matter to be left up to \TeX, and ultimately you will make all the page breaks yourself. On the other hand, automatic page breaking can still be helpful at the early stages, letting \TeX\ find preliminary page breaks for you. Setting the "\extraslideheight" to "0pt" doesn't give you much flexibility about where to put the page breaks. Of course, you can always put a page break earlier than the one found by \TeX, but occasionally you will prefer to let a slide overflow by a small amount rather than rewrite the whole slide. Therefore, by default, "seminar.sty" uses\MainIndex{\extraslideheight}% \begin{LVerbatim} \extraslideheight{10pt} \end{LVerbatim} This adds on an extra "10pt" to the target slide height (as determined by "\slideheight" for landscape slides and "\slidewidth" for portrait slides) {\em for the purpose of page-breaking only}. If the resulting slide exceeds the slide height, you will get a message like \begin{LVerbatim} LaTeX Error: Slide 3 overfull by 9pt. \end{LVerbatim} "seminar.sty" then tries to reduce the slide to its maximum height by squeezing out rubber vertical space (e.g., tightening up the interline spacing). If the slide is still too full, you will get another warning like: \begin{LVerbatim} Overfull \vbox by 4.4pt while output was active. \end{LVerbatim} You can go back and look for a way to make the slide shorter, or you can insert a "\newslide" command to change the page-break, or you can just ignore these warnings. The recommended value to give in the argument of "\extraslideheight" is the largest length by which you might be willing to let a slide overflow. After you have decided on the page breaks, you can shut up the warnings about overfull slides and "\vbox"'s with \begin{LVerbatim} \renewcommand{\slidefuzz}{1in} \end{LVerbatim} The value of \n\slidefuzz\ (which should be length, even though \n\slidefuzz\ is an ordinary command sequence) is the threshold above which "seminar.sty" gives a warning about an overfull slide. The default definition is "2pt". \section{Margins on the page\label{S-slidemargins}} After "seminar.sty" makes a slide (or a slide page) as described above, it (optionally) frames the slide. This is described in Section \ref{S-frames}. For making and framing the slide, "seminar.sty" does not need to know anything about the paper you are printing on, or the margins you want. Hence, none of \LaTeX's standard page parameters are relevant within a slide environment. (However, for the sake of consistency, "seminar.sty" sets "\textwidth" to the width of the slide and "\textheight" to the height of the slide within a slide environment.) Now "seminar.sty" has to do something with the finished slide. As you read this User's Guide, you will find that there are various options. However, right now we are making slides for printing on transparencies, and so we have to position the slide on the transparency and add headers and footers. "seminar.sty" does not use \LaTeX's page parameters for this either. Instead, it uses the following parameters: \begin{center} \begin{tabular}{lc} {\em Parameter:} & \em Default:\\ \N\slideleftmargin & .5in\\ \N\sliderightmargin & .5in\\ \N\slidetopmargin & .5in\\ \N\slidebottommargin & .5in \end{tabular} \end{center} There are commands, to be set with "\renewcommand".\footnote{The only true length parameters (meaning that thay should be set with "\setlength") in "seminar.sty" are \n\slidewidth, \n\slideheight, \n\slideframewidth, \n\slideframesep, \n\semin, and \n\semcm.} \begin{figure} \hrule height 1pt\relax \begin{center} \setlength\unitlength{.7cm} \begin{picture}(13,11.5)(-1,-1.5) \thicklines \put(0,0){\framebox(11,8.5){\Huge My slide}} \put(5.5,4.25){\fancyoval(8.5,6){}} \thinlines \put(0,8.65){\line(0,1){.3}} \put(.75,8.65){\line(0,1){.3}} \put(.5,8.8){\vector(1,0){.25}} \put(.5,8.8){\vector(-1,0){.5}} \put(.375,9.1){\makebox(0,0)[b]{\n\slideleftmargin}} \put(10.25,8.65){\line(0,1){.3}} \put(11,8.65){\line(0,1){.3}} \put(10.75,8.8){\vector(1,0){.25}} \put(10.75,8.8){\vector(-1,0){.5}} \put(10.625,9.1){\makebox(0,0)[b]{\n\sliderightmargin}} \put(0,-.15){\line(0,-1){.3}} \put(11,-.15){\line(0,-1){.3}} \put(5.5,-.3){\vector(1,0){5.5}} \put(5.5,-.3){\vector(-1,0){5.5}} \put(5.5,-.6){\makebox(0,0)[t]{\n\paperheight}} \put(-.15,0){\line(-1,0){.3}} \put(-.15,.75){\line(-1,0){.3}} \put(-.3,.5){\vector(0,1){.25}} \put(-.3,.5){\vector(0,-1){.5}} \put(-.6,.375){\makebox(0,0)[r]{\n\slidebottommargin}} \put(-.15,8.5){\line(-1,0){.3}} \put(-.15,7.75){\line(-1,0){.3}} \put(-.3,8){\vector(0,1){.5}} \put(-.3,8){\vector(0,-1){.25}} \put(-.6,8.125){\makebox(0,0)[r]{\n\slidetopmargin}} \put(11.15,0){\line(1,0){.3}} \put(11.15,8.5){\line(1,0){.3}} \put(11.3,4.25){\vector(0,1){4.25}} \put(11.3,4.25){\vector(0,-1){4.25}} \put(11.6,4.25){\makebox(0,0)[l]{\n\paperwidth}} \put(.75,7.75){\makebox(0,0)[bl]{Here is my header}} \put(10.25,7.75){\makebox(0,0)[br]{9/30/99}} \put(.75,.75){\makebox(0,0)[tl]{Here is my footer}} \put(10.25,.75){\makebox(0,0)[tr]{7-9}} \end{picture} \caption{Slide margins.\label{SlideMargins}} \end{center} \hrule height 1pt\relax \end{figure} Look at Figure \ref{SlideMargins}. Note that the headers and footers lie {\em inside} the top and bottom margins, respectively. The slide is then centered horizontally and vertically between the margins. \section{Magnification and lengths} "seminar.sty" changes \TeX's magnification so that the output is larger than when typesetting an article. This means, for example, that if you paste some input from a paper you are writing with \LaTeX\ into a slide, it will look pretty much the same in the slide, except that it is magnified. For example, "\vspace{.5in}" produces a space that gets bigger along with the fonts and everything else. Of course, it won't look identical, since "seminar.sty" uses its own spacing parameters and margins. \TeX's standard magnifications are in magsteps. $n$ magsteps means a magnification of $1.2^n$. "seminar.sty"'s default magnification is 4 magsteps, but you can change this with the command \begin{MD} \slidesmag{n} \end{MD} <n> should be an integer between $-5$ and 9. As noted above, lengths grow with the magnification. For spacing, like the parameter "\parindent" or using "\\[2pt]" to add a little extra space between lines, this is great, because it is easier to think in unmagnified dimensions. Setting "\parindent" to ".5cm" will look the same (relative to everything else) whatever the magnification. However, if you want to set the unit in a "picture" environment to 1cm, {\em as it appears on the slide}, use \begin{LVerbatim} \setslidelength{\unitlength}{1cm} \end{LVerbatim} "\setslidelength" is like \LaTeX's "\setlength", but it scales the size down so that the resulting size after magnification is, in this example, 1cm (in the process, it removes any stretch from rubber lengths).% \footnote{If you know what {\tt true} dimensions are, you may be wondering why they haven't been mentioned. These are not recommended because you will not be able to print the slides two-up or use the {\tt article} format.} There is also a \begin{MD} \addtoslidelength{cmd}{len} \end{MD} command. "seminar.sty" also provides the lengths \begin{MD} \semin\\ \semcm \end{MD} which are equal to an inch and a centimeter, scaled down to ``before magnification'' size. For example, \begin{LVerbatim} \rule{1pt}{4\semcm} \end{LVerbatim} makes a line 4 centimeters long on the transparency,.\footnote{Suppose you want to use another unit, such as millimeters, instead of centimeters. Then try this: \begin{LVerbatim} \newcommand{\semmm}{\semcm} \renewcommand{\semcmlength}{1mm} \setslidelength{\semmm}{1mm} \end{LVerbatim}} "\textwidth", "\textheight", "\columnwidth" and "\linewidth" all have the expected values in slides. (But "\slidewidth" and "\slideheight" do not.) Thus, this would \begin{LVerbatim} \rule{1pt}{.5\textwidth} \end{LVerbatim} make a line that is 1/2 the width of the slide. For help getting an EPS file to be the right size, see page \pageref{EPS}. Finally, there are some parameters that "seminar.sty" scales for you, and hence you can (and should) set them at their magnified values (the actual size on transparencies): \begin{itemize} \item "\slidewidth" and "\slideheight" \item "\slideframewidth" and "\slideframesep" (see Section \ref{S-frames}). \item The slide margin parameters (see Section \ref{S-slidemargins}). \item The \LaTeX\ page parameters, {\em when they are set in the preamble}.\footnote{The \LaTeX\ page parameters are listed on page 163 of Lamport's {\em \LaTeX\ User's Guide and Reference Manual}. They are used for notes (see Section \ref{S-notes}) and the \o{article} option (see Sections \ref{S-twoup} and \ref{S-article}), but not for printing slides onto transparencies. Lamport warns that resetting page parameters in the middle of the document is tricky; here it is more so, because you do have to worry about scaling them. But you can use "\setslidelength" for this.} \end{itemize} Note that the warnings about overfull slides (see Section \ref{S-pagebreak}) report unmagnified dimensions. \section{Font sizes} The "\slidesmag" command lets you change the magnification of your document. You can effectively fine tune the magnification by using the "11pt" and "12pt" style options. For example, instead of increasing the magnification from 4 to 5, you can switch to the "12pt" style option. There are differences---e.g., magnification affects the space you get from "\hspace{1in}"---but the fonts will at least be roughly the same size either way. The "11pt" option gives a half-step, somewhat like "\slidesmag{4.5}", if the latter were permitted. Sometimes you want to use smaller font sizes for a single slide, in order to fit in that little bit of extra material, or to use larger font sizes, so that the few things you have to say on a slide don't look too lonely. You can't changing the magnification in the middle of the document, but you can change the size of the fonts with the command \begin{MD} \ptsize{n} \end{MD} This switches to the font sizes that are in effect when you use the "<n>pt" option. Actually, <n> can be 8, 9, 10, 11, 12, 14 or 17, whether you have "art<n>.sty" or not. \section{Spacing parameters\label{S-spacing}} \begin{figure} \hrule height 1pt \begin{center} \begin{tabular}{llc} {\em Command:} & {\em Initializes:} & {\em Default} \\[2pt] \N\slideparskip & "\parskip" & "1ex minus .2ex"\\ \N\slideparindent & "\parindent" & "0pt"\\ \N\slidefootnotesep & "\footnotesep" & "1.2ex"\\ \N\slideleftmargini & "\leftmargini" & "1.8em" \\ \N\slideleftmarginii & "\leftmarginii" & "1.4em" \\ \N\slideleftmarginiii & "\leftmarginiii" & "1em" \\ \N\slidelabelsep & "\labelsep" & ".5em" \\ \N\slideitemsep & "\itemsep" & ".8ex minus .2ex" \\ \N\slidepartopsep & "\partopsep" & "1ex minus .2ex" \\ \N\slidestretch & "\baselinestretch" & "1.2"\\ \N\slidearraystretch & "\arraystretch" & "1.2" \end{tabular} \caption{Slide spacing parameters.\label{SpacingDefaults}} \end{center} \hrule height 1pt \end{figure} The commands in Figure \ref{SpacingDefaults} are used to initialize some of the spacing parameters at the beginning of each slide environment and when "\ptsize" is used in a slide environment. These are spacing parameters that should depend on the size of fonts and that in \LaTeX's "article" style would be set in "art10.sty", etc. These commands should all be changed with "\renewcommand", even though, except for the "stretch" parameters, their values should be lengths. Note that "ex" and "em" units are used because these are the units that depend of font sizes. Outside a slide environment, redefine the commands on the left if you want to change these spacing parameters. Within a slide environment, reset the parameters directly, or redefine the commands on the left and then use the "\ptsize" command. In other \LaTeX\ styles, the extra distance between lines that is inserted when "\baselinestretch" exceeds 1 is eaten up by tall or deep lines. E.g., if the line contains a table or a large math operator, there is probably no extra space at all. The advantage of this system is that the distance between baselines does not fluctuate with every tilde. The disadvantage is that lines can end up too close. In "seminar.sty", on the other hand, fraction \begin{MD} \slideskip \end{MD} of the extra space cannot be eaten, but up to fraction \begin{MD} \slideshrink \end{MD} of this extra space that cannot be eaten can be removed if there is too much material on the slide. This gives you added flexibility about how much material to include on a slide. Both \n\slideskip\ and \n\slideshrink\ can be set with "\renewcommand" to a number between 0 and 1. The default value of \n\slideskip\ is ".75" and the default value of \n\slideshrink\ is ".25". Set \n\slideskip\ to "0" to revert to \LaTeX's usual behavior, as described above. For example, suppose you are using a 10pt font, \n\slidestretch\ is "1.2", \n\slideskip\ is ".75", and \n\slideshrink\ is ".25". The "\baselineskip" for a 10pt font is normally 12pt, leaving a little space between the lines. Then "\baselineskip" is set to \begin{center} "\slidestretch" $\times$ "12pt" $=$ 1.2$\times$12pt $=$ 14.4pt \end{center} The extra space between lines that is inserted is thus 2.4pt, and \begin{center} "\slideskip" $\times$ 2.4pt $=$ .75$\times$2.4pt $=$ 1.8pt \end{center} of this cannot be eaten by tall or deep lines. However, the space between lines can be reduced by up to \begin{center} "\slideshrink" $\times$ 1.8pt $=$ .25$\times$1.8pt $=$ .45pt \end{center} if the slide would otherwise be too long. \section{Slide frames\label{S-frames}} Slides can be framed. The command \begin{MD} \slideframe[commands]{style} \end{MD} specifies the frame style to use. Valid frame styles are "none" and "plain", unless you use macros that define additional styles. For example, the \o{fancybox} style option defines the frames "shadow", "double", "oval" and "Oval" (corresponding to the "\shadowbox", "\doublebox", "\ovalbox" and "\Ovalbox" commands defined in that style option). The \o{semcolor} option defines the styles "scplain", "scdouble", and "scshadow". All the frame styles use the lengths \begin{MD} \slideframewidth\\ \slideframesep \end{MD} which are the (magnified) width of the line (default 4pt) and the distance between the slide and the frame (default .4in), respectively. \n\slideframe's optional argument is for commands that you want to use to customize the slide frame style. For example: \begin{LVerbatim} \slideframe[\setlength{shadowsize}{12pt}]{shadow}\\ \slideframe[\psset{fillstyle=gradient}]{scplain} \end{LVerbatim} If you want to build your own custom slide frame, use the command \begin{MD} \newslideframe{style}[commands]{frame command} \end{MD} <style> is the name of the frame, "[<commands>]", which is optional, will be inserted before the frame command and before the <commands> given by "\slideframe"'s optional argument. These commands can be used to set some default parameter values. Then the final argument should frame "#1". For example, if "\myframe{foo}" frames "foo", and if "\myframe" uses the length "\baldness" as a parameter, then you might write \begin{LVerbatim} \newslideframe{wildframe}[\setlength{\baldness}{.2cm}]% {\myframe{#1}} \end{LVerbatim} You can still override the default value of "\baldness", as in \begin{LVerbatim} \slideframe[\setlength{\baldness}{.1cm}]{wildframe} \end{LVerbatim} There is a starred version of \n\slideframe\ that adds the frame to previously specified frames.\footnote{If using color or PostScript images, note that each frame gets added to the background.} This can be used for special tricks. For example, if you are using the \o{fancybox} and \o{semcolor} options, then \begin{LVerbatim} \newslideframe{draft}% {\boxput{\rput{30}{\Huge\gray DRAFT}}{#1}} \slideframe{draft} \slideframe*{scdouble} \end{LVerbatim} puts the word ``DRAFT'' in the background of each slide, gray and rotated 30 degrees, and then adds a double frame.\footnote{Use "\boxput*" to put "DRAFT" in the foreground. See "fancybox.doc" for details.} \part{Advanced Features} \section{Counters} The counter for slides is \C{slide}. The default definition of \N\theslide\ is "\arabic{slide}". You can use "\label" and "\ref" to cross-reference slides, and the page number in slide environments is set to \n\theslide.\footnote{However, these page or slide cross-references are not always accurate when you let \TeX\ break pages for you within a slide.} Thus, you can write, for example, \begin{LVerbatim} See equation (\ref{foo}) on Slide \pageref{foo}. \end{LVerbatim} You may want some counters, such as equation counters, to be reset with each new slide environment or \n\newslide\ command. By default, only the "footnote" counter is reset this way, but you can specify your own (comma-separated) list of counters to be reset with the command \begin{MD} \slidereset{list} \end{MD} If you want to reset additional counters, rather than replace the list entirely, use \begin{MD} \addtoslidereset{list} \end{MD} There is another way in which the footnote counter gets special treatment. The command \begin{MD} \theslidefootnote \end{MD} is used for the counter text instead of "\thefootnote". The default definition is \begin{LVerbatim} \alph{footnote} \end{LVerbatim} \section{Selectively including or excluding slides} The commands \begin{MD} \onlyslides{list}\\ \notslides{list} \end{MD} can be used to include or exclude only those slides in the given list. The argument should expand to a comma-separated list of numbers or ranges. The numbers do not need to be in order, the list can contain numbers that do not correspond to any slide, and there can be duplicate numbers. Negative numbers should be enclosed in curly braces. Since the argument is first expanded, you can use the "\ref" command in the argument. For example, \begin{LVerbatim} \onlyslides{{-2},\ref{dp}-10,\ref{chart},0,17-999} \end{LVerbatim} is legal. If "\label{dp}" appears in slide 5 and "\label{chart}" appears in slide 12, this is equivalent to: \begin{LVerbatim} \onlyslides{{-2},5-10,12,0,17-999} \end{LVerbatim} \section{Printing your slides two-up\label{S-twoup}} Printing your slides two-up is useful both for previewing slides and for making hard copies to distribute or for proofreading. One way to print your slides two-up is to include the \O{article} style option. This is described further below. Another way is to include the command \begin{MD} \twoup[n] \end{MD} in the preamble. This inputs "2up.tex", which contains generic macros for two-up printing, and sets the parameters to values that are likely to work. Including the optional argument "[<n>]" increases the two-up magnification by $n$ magsteps. $n$ can be a positive or negative integer. If you are not able to get the right layout, then include the \O{2up} style option, read the documentation of "2up.tex", and set the parameters yourself, rather than using the \n\twoup\ command. The \o{article} style option is also called the article {\em format} (as opposed to the slides format). In the article format without the \o{portrait} option, the slides are centered horizontally and vertically, two to a page (if they fit---landscape slides do fit by default). With the portrait option, the slides are printed side-by-side, two to a page. In the \o{article} format, you can mix landscape and portrait slides with different orientations, but this does not work well with the \o{portrait} option. You can change the article format's magnification with \begin{MD} \articlemag{n} \end{MD} This command works like the "\slidesmag" command (page \pageref{+slidesmag}). The default is \begin{LVerbatim} \articlemag{0} \end{LVerbatim} Increase the article magnification if the slides look too lonely; decrease it if they are not coming out two-up. The size of the slides depends on the {\em difference} between the magnifications in the slides and article format. E.g., since the default slides magnification is 4 magsteps, the slides are scaled down in the article format by 4 magsteps. When you change the slides magnification with \n\slidesmag, you also have to change the article magnification with \n\articlemag\ by the same amount if you want the size of the slides in the article format to remain the same. However, when the article magnification in magsteps is negative , you will be using non-standard font magnifications (which will produce terrible results if you cannot generate the needed fonts---see Appendix \ref{bitmaps} for advice). Whether or not landscape slides (or rotated portrait slides) come out two-up in the article format without the \o{portrait} option depends on (i) the difference between the slides and article magnification, (ii) the values of \n\slidewidth\ and \n\slideheight\, (iii) the size of the slide frame, and (iv) the article format's page parameters. With the default values of (ii)--(iv), the slides will still come out two-up if you change the difference between the slides and article magnification to 3 (e.g., increase the value of \n\articlemag\ by 1). Try this if you want the slides to be larger. If you use the \o{article} option {\em and} the \n\twoup\ command, then your slides should be printed four-up! You will notice labels on the side or bottom of each slide in the \o{article} format. The command \begin{MD} \slidestyle{style} \end{MD} determines where these labels go. There are three predefined slide styles: \begin{description} \item[\tt empty] No captions or labels are used. \item[\tt left] The labels go on the left of each slide (the default when the \o{portrait} option is not used). \item[\tt bottom] The labels go on the bottom (the default with the \o{portrait} option). \end{description} The label you get is the value of \N\slidelabel. The default definition of \n\slidelabel\ is \begin{LVerbatim} \bf Slide \theslide \end{LVerbatim} \section{Notes\label{S-notes}} In addition to slides, you can include a few comments following each slide to remind you of what to say, or even the entire text of your presentation for your own benefit or to be distributed to others. These comments or text, referred to in this documentation as ``notes'', do not go inside any special environment. However, a slide cannot go in the middle of a paragraph of notes. To include notes this way, you have to use one of the following style options, which determine what is printed: \begin{quote} \begin{tabular}{ll} \O{slidesonly} & Only the slides are printed.\\ \O{notes} & Both notes and slides are printed.\\ \O{notesonly} & Only the notes are printed.\\ \end{tabular} \end{quote} These style options are referred to as {\em selections} in this documentation. The pages of notes following slide 5 are numbered 5.1, 5.2, etc. You can use the "portrait" option to print out your notes, even if you don't use this option when printing the slides. With the "notesonly" selection, the slides are not printed, but they are processed. This means that one can still refer in the notes to slides or to equations in slides. The fact that various spacing parameters are initialized at the beginning of each slide (see Section \ref{S-spacing}) means that when you reset these parameters outside a slide environment, only the notes are affected. This lets you use different values for notes and slides. The command \N\slidefonts\ can be used for any special font commands that should apply only to slides. Also, the command \N\everyslide\ is executed at the beginning of every slide, and you can use this for any other customizations you want to include. You can also use the "11pt" or "12pt" style option for your notes, without changing the size of the fonts in the slides, by using the "\ptsize" command to set the font sizes for slides. For example, suppose that the "12pt" document style option is used, but the preamble contains the command \begin{LVerbatim} \ptsize{11} \end{LVerbatim} and the second slide begins with the command \begin{LVerbatim} \ptsize{9} \end{LVerbatim} Then the notes use the "12pt" font size declarations, all the slides but the second one use the "11pt" font size declarations, and the second slide uses the "9pt" font size declarations. Notes are typeset using \LaTeX's standard output routines, and \LaTeX's standard page parameters. Finally, it is even possible to use a different page style for notes and slides. The page style for notes is set by the "\pagestyle" and "\thispagestyle" commands. The command \begin{MD} \slidepagestyle{style} \end{MD} sets a different page style for the slides. If the argument is empty, then the page style for slides reverts to the one for notes.\footnote{There is no "\thisslidepagestyle" command.} With the command \begin{MD} \onlynotestoo \end{MD} the "\onlyslides" and "\notslides" commands apply to the notes as well. \section{How notes are omitted\label{omit}} In the previous section, it was stated that notes are not enclosed in a special environment. "seminar.sty" omits notes using special macros\footnote{Defined in {\tt xcomment.sty}} that comment out everything {\em outside} the slide environments (and a few other environments mentioned below). Global declarations that should be processed even when slides are omitted go in \e{allversions*} environments, described below. "seminar.sty" also let you use a more conventional approach to notes. If you put the command \begin{MD} \noxcomment \end{MD} in the preamble, then the notes go inside \E{note} environments, and you can put all the global declarations outside any environment. "xcomment.sty" is used to make \e{note} a comment environment when note should be omitted, and otherwise the \e{note} environment does nothing. This mode of operation is more robust than omitting everything outside the slide environments, but remembering to insert the \begin{LVerbatim} \begin{note} ... \end{note} \end{LVerbatim} is more tedious. Here are a few technicalities that have to do with "xcomment.sty" and that apply whether or not you use \n\noxcomment. \begin{enumerate} \item The text that follows the beginning of a slide environment (when not using \n\noxcomment) or the end of a \e{note} environment {\em must have balanced curly braces}. \item "\input" and "\include" commands are followed, even when found in omitted notes, but you must use the \LaTeX\ syntax "\input{<file>}" (as opposed to \verb*+\input <file> +), and the inputted file must end with "\endinput" (this is a good practice anyway). \item In omitted text, "%" is still a comment character (hence it is possible to comment out a slide or note environment). \item A temporary file, "\jobname.tmp", is created (this is of no consequence---just in case you wanted to know where it comes from). \end{enumerate} The rest of this section deals with special considerations when omitting everything outside the slide environments. If you might want to make a global change to one of the slide parameters after the document preamble, you cannot include it in a slide environment because the change will be local, and you cannot include it in the notes because the change won't be processed when the notes are omitted. To get around this problem, an environment \E{allversions*} is provided. It is processed even when notes are omitted, and any parameter changes or command definitions made within the environment are global. Don't generate any output within this environment. On a rare occasion you might want to include some text that should be typeset even when the other notes are omitted (e.g., a list of the slides, or a cover page). The \E{allversions} environment is provided for this purpose. If you do any serious hacking, you might want to add to the list of environments that should be included with the "slidesonly" selection. Do this with the command \begin{MD} \addtoslidelist{list} \end{MD} where <list> is a comma separated list of environments, without spaces. \section{The article format\label{S-article}} The \o{article} style option was described in Section \ref{S-twoup} as a way to print your slides two-up. This option is also a good way to print your notes. The \o{article} option gets its name because your document is typeset somewhat like it would be with \LaTeX's "article" style. (It uses \LaTeX's standard page parameters, but some of the default values are different.) It is also called the article {\em format}; the slides format is what you get without the \o{article} option. You probably don't want to use the \o{portrait} style option with the \o{article} format except when you are only printing portrait slides. But you are welcome to experiment. With the \o{notesonly} selection, you can make the notes as big as you want using the \n\articlemag\ command (e.g., for easy reading while giving a presentation). Just as in the \o{slides} format, the page parameters are scaled at the beginning of the document so that they can be set with their true dimensions in the preamble. The commands \begin{MD} \setartlength{cmd}{len}\\ \addtoartlength{cmd}{len} \end{MD} are analogous to "\setslidelength" and "\addtoslidelength", but they scale the lengths so that they end up at the specified size after magnification in the "article" format. You never would use such a command in slide environments or to set slide parameters, but you might use these in the notes if you were planning on typesetting your notes with the "article" format rather than the "slides" format. You can change the placement of slides in the \o{article} format using the \begin{MD} \slideplacement{name} \end{MD} command. Here are the valid placement names: \begin{description} \item[float] The slides are floated. This is the default with the \o{notes} selection and the \o{portrait} option. \item[float*] Like "float", but if the notes are printed in a two-column format the slides extend across both columns (e.g., like "table" versus "table*"). This is the default with the \o{notes} selection without the \o{portrait} option. \item[onepercol] Each slide is centered horizontally and vertically within a single column. This is the default when only slides are printed and the \o{portrait} option is used. \item[twopercol] Each slide is centered horizontally, two or one per column, depending on how many fit. This is the default when only slides are printed and the \o{portrait} option is not used. \item[here] Each slide is centered horizontally, separated from adjoining text or other slides by the rubber length \N\slidesep. The default value of \n\slidesep\ is "\intextskip". This is useful with the \o{notes} selection when you want the slides to precede accompanying comments and when you do not mind large spaces at the bottom of pages. \item[here*] This is like "here*", but with "here*" the length \n\slidesep\ is not lost when it falls at the beginning of a page or after a slide. \end{description} If you want each slide environment to begin a new page (with any of the selections), put the command \begin{MD} \slideclearpagetrue \end{MD} in the preamble. The \o{notesonly} selection has a starred version, \O{notesonly*}, which produces a slide marker for each slide environment, like this one: \begin{center} \leavevmode \vbox{% \hrule height 1pt \kern 8pt \hbox to \linewidth{\hss \LARGE\bf Slide 4 \hss}% \kern 8pt \hrule height 1pt} \end{center} Commands that are irrelevant in the "article" format are simply ignored. The idea is that it should be possible to switch back and forth between the two formats without making any other changes in the document. However, this is not entirely possible. Changing "\parindent" or "\textwidth" in the preamble affects both formats. You can get around this using the \n\ifarticle\ conditional. For example, \begin{LVerbatim} \ifarticle blah blah \else blee blee \fi \end{LVerbatim} The "\else" part is optional. \section{Page styles} The page styles "empty", "plain", "headings" and "myheadings" work like in \LaTeX's article style. There is also a page style "align" which puts "+" signs in the corners, like in \SliTeX.\footnote{See question \ref{Pagestyle} in Section \ref{tips} for suggestions on defining new page styles.} You can change the size of the fonts used in headers and footers in the slides format by setting the commands \begin{MD} \slideheadfont\\ \slidefootfont \end{MD} to the desired size, using "\renewcommand" (but any explicit font declarations in a page style override these commands). The default definition of these commands is "\scriptsize". \section{Other style options\label{options}} The style options described so far, "portrait", "article", "slidesonly", "notes", and "notesonly", were designed specifically for "seminar.sty". There are other such style options described elsewhere in this documentation: "semrot" (page \pageref{o+semrot}), \o{semlayer} (page \pageref{o+semlayer}). \o{semcolor} (page \pageref{o+semcolor}), "semhelv" (page \pageref{o+semhelv}), "semlcmss" (page \pageref{o+semlcmss}), and "a4" (page \pageref{o+a4}). Here are two more style options that are part of the "seminar.sty" package, but that can be used with other document styles: \begin{description} \item[fancybox] "fancybox.sty" is specific to slides, but it contains commands and documentation that are useful for making slides. \item[slidesec] This sets up some sectioning/heading commands for slides, and lets you print a list of slides or a table of contents. See the file "slidesec.sty" for details. \end{description} It is impossible to predict, much less describe, the consequences of using all the other available \LaTeX{} style option with each selection and format. Since this document style is an extension of \LaTeX's "article" style, style options and commands that do not work with \SliTeX{} may well work here. Just about any style option that works with \LaTeX's "article" style will work with the "article" format. When unsure of the effect of an option, just try it and see for yourself what happens. \section{Overlays\label{S-overlays}} For overlays, you must use both the \O{semlayer} and \o{semcolor} style options (see page \pageref{o+semcolor}). Overlays have two purposes. First, you can use overlays to gradually add layers of information on a slide during a presentation. Second, you can use overlays to make color layers; each layer is printed in black-on-white on paper, and then you use some kind of color copying service to put each layer on a transparency in a different color. This is not nearly as nice as having a color printer or using a color printing service, but it's the next best thing. "seminar.sty" lets you make both types of overlays (and the main slide) from a single slide environment. The command\footnote{You can also write \begin{Ex} "\begin{overlay}{<n>}" $\ldots$ "\end{overlay}" \end{Ex}} \begin{MD} \overlay{n} \end{MD} puts whatever is in its scope (\TeX\ group) on overlay $n$, where $n=0,\ldots,9$. Actually, overlay 0 refers to the main slide, but you might use "\overlay{0}" because overlay commands can be nested. As implemented by the "semcolor" style option, these overlay commands can be used just about anywhere, including in math mode, tables, and around an included graphics file (if it is a conforming EPS file, at least). Also, it is all right to use non-consecutive overlay numbers. For color layers, you have to start by defining some colors using the command \begin{MD} \colorlayers{colors} \end{MD} <colors> should be a comma separated list of color names, without spaces, as in \begin{LVerbatim} \colorlayers{red,green,blue} \end{LVerbatim} Then you can use the command "\red" just like the command \n\overlay"{<n>}"; everything in its scope goes on a red color layer. The "\colorlayers" command obeys the usual rules on scope. You can use this command any time, including in a slide environment. The command is cumulative, meaning that previously defined color layers continue to exist. The command was purposely defined so that it does not complain when a color name is already defined; this makes it easier to switch from some other color system to a layer system. However, you should be careful not to inadvertently redefine some command that you need. Fortunately, there are no \TeX{} primitives whose names are the names of colors. When you print out the slides, the main slide is printed, followed by each of the color layers (if any) for the main slide. Then each of the overlays is printed, together with each of its color layers. Only overlays or color layers that are actually used (i.e., that are not empty) are printed. You can turn overlays and color layers on and off with the commands \begin{MD} \overlaystrue\\ \overlaysfalse\\ \layerstrue\\ \layersfalse \end{MD} These commands can be used at any time, and they obey the usual scoping rules. The default is for overlays to be active in the "slides" format and suppressed in the "article" format. The counter \C{overlay} keeps track of the overlays. The default definition of \N\theoverlay\ is: \begin{LVerbatim} \theslide-\alph{overlay} \end{LVerbatim} Overlays can be cross-referenced. The command \N\currlayer\ is set to the name of the current color layer. \N\thelayer\ makes a label for layers; its default definition is: \begin{LVerbatim} \theoverlay-\currlayer \end{LVerbatim} Color layers cannot be cross-referenced. For example, if slide 7 has overlays 1 and 2 and colors "red" and "green", then the main slide is numbered 7, followed by layers 7-red and 7-green, followed by overlay 7-a, followed by layers 7-a-red and 7-a-green, followed by overlay 7-b, followed by layers 7-b-red and 7-b-green. The caption used in the slide styles is \n\overlaylabel\ for overlays and \N\layerlabel\ for layers. The defaults are, respectively, \begin{LVerbatim} \bf Overlay \theoverlay \bf Layer \thelayer \end{LVerbatim} By default the overlays and layers use the same page styles in the "slides" format as their ``owner.'' You can specify special page styles with the commands: \begin{MD} \overlaypagestyle{style}\\ \layerpagestyle{style} \end{MD} Finally, by default the overlays and layers use the same frame style as their ``owner.'' You can specify special frame styles with the commands: \begin{MD} \overlayframe[commands]{style}\\ \layerframe[commands]{style} \end{MD} \part{Help\label{Help}} Road map: \begin{itemize} \item If you just want to figure out how to do something, check Section \ref{tips}, ``Tips and tricks.'' \item If you are trying to decipher an error message, check Section \ref{errors}, ``Errors.'' \item If you are trying to solve some system-dependent problem that has arisen, check Section \ref{trouble}, ``Troubleshooting.'' \item To convert \SliTeX\ files, see Section \ref{slitex}, ``Converting \SliTeX\ files''. \end{itemize} \section{Tips and tricks\label{tips}} \faq{How can I fit more material in the slides?} Or alternatively, make the little material you have fill up the slide. Let us count the ways: \begin{enumerate} \item Change the magnification with \n\slidesmag"{<n>}" (affects all the slides). \item Change the height and/or width of one or all the slides. \item Use "\ptsize{<n>}". \item Change \n\slidestretch. \item Use the \n\raggedslides\ command, which changes the propensity to hyphenate. \end{enumerate} \faq{How do I include an Encapsulated PostScript figure?\label{EPS}} The only thing tricky about including EPS files is getting the size right. For example, suppose the you want to include a postscript file in a slide using the "epsf.sty" macros, and you want it to be 6 inches wide. Then this will do the trick: \begin{LVerbatim} \setslidelength{\epsfxsize}{6in} \epsffile{mypic.eps} \end{LVerbatim} If you include the command \begin{MD} \espfslidesize \end{MD} (e.g., in the preamble), then "epsf.sty" will take care of scaling the size for you, and so you can just set "\epsfxsize" and "\epsfysize" to their magnified sizes (using "\setlength" rather than "\setslidelength"). Or you can not set these parameters at all, and then the eps file appears at its natural size on the slide. Either way, this will have the expected effect: \begin{LVerbatim} \setlength{\epsfysize}{.8\textheight} \epsffile{mypic.eps} \end{LVerbatim} "psfig.tex" does not handle magnification properly. By using magnified dimensions, without "\setslidelength", as in \begin{LVerbatim} \psfig{file=mypic.eps,width=6in} \end{LVerbatim} the picture should appear correctly within a slide, but then it will not scale properly if you try to use the \o{article} option or the \n\twoup\ command. The solution, if using Rokicki's "dvips", is to use "epsf.sty" (written by the man himself). \faq{How can I print just selected overlays, layers or pages of notes in the {\tt slides} format?} The "\onlyslides" and "\notslides" commands affect only slides. If a slide is omitted, so are all its overlays and color layers. To be more selective, you have to use your dvi driver to select the pages to be printed. In the "slides" format, the page numbers recognized by dvi drivers correspond to the numbers of the slides. This means that a slide and all the overlays, layers and notes that correspond to that slide have the same page number. Some drivers allow one to select occurrence $n$ of a page number. E.g., with "dvips", \begin{LVerbatim} dvips -p2.1 -l2.4 myslides \end{LVerbatim} will print the first through fourth page of overlays or notes that follow slide 2. If your dvi driver does not support such selection, and you would prefer that the driver recognize physical page numbers, then put the command \N\truepagenumbers\ in the preamble. \faq{How do I define custom page styles?} \label{Pagestyle} There is nothing special about defining new page styles in "seminar.sty". However, to make it easier to do this in the preamble, the commands \begin{MD} \newpagestyle{style}{header}{footer}\\ \renewpagestyle{style}{header}{footer} \end{MD} are provided.\footnote{% You can also use the macros in "fancyheadings.sty", which is available from various archives. However, you have to set the pagestyle {\em after} "\begin{document}". Otherwise, the dimensions get screwed up. If using the \o{slidesonly} selection, then you also need to enclose the "\pagestyle" command in an \e{allversions*} environment. E.g., \begin{LVerbatim} \begin{allversions*} \pagestyle{fancy} \end{allversions*} \end{LVerbatim}} <style> is the name of the page style, and <header> is the header, and <footer> is the footer. These can only be used for simple page styles that are the same for odd and even pages, and that do not do anything special with section marks. Headers and footers are set in an "\hbox" the width of the page ("\textwidth"). You can use stretchable space such as "\hspace*{\fill}" or "\hfil" to center some information or put it flush against the margins. See the definitions of page styles in "latex.tex" and "article.sty" for examples. Here is an example: Professor Starr wants lots of information in the headers and footers for the slides, and so she defines the page style "mypagestyle":\footnote{{\tt\string\thedate} is set with the {\tt\string\date} command.} \begin{LVerbatim} \newpagestyle{mypagestyle}% {\sl Big U \hfil \thedate \hfil \thepage}% {\hfil File \jobname.tex; printed \today\hfil} \end{LVerbatim} Prof.\ Starr wants to use the standard "headings" page style for notes and the "mypagestyle" page style for slides, and she wants overlays to just have the overlay number. Therefore, she defines another page style for the overlays: \begin{LVerbatim} \newpagestyle{myoverlays}{\hfil \thepage}{} \end{LVerbatim} and she puts \begin{LVerbatim} \pagestyle{headings} \slidepagestyle{mypagestyle} \overlaypagestyle{myoverlays} \end{LVerbatim} in the preamble. \faq{How do I change a parameter only for the {\tt slides} format?} \label{conditionals} The conditionals \begin{MD} \ifarticle\ $\ldots$ "\else" $\ldots$ "\fi"\\ \ifslidesonly\ $\ldots$ "\else" $\ldots$ "\fi"\\ \ifnotes\ $\ldots$ "\else" $\ldots$ "\fi"\\ \ifnotesonly\ $\ldots$ "\else" $\ldots$ "\fi"\\ \ifportrait\ $\ldots$ "\else" $\ldots$ "\fi" \end{MD} allow one to select for what versions material is to be processed. "\ifnotes" is true if and only if the "notes" selection is in effect, and so on. The "\else" clause is optional. See {\em The \TeX book}, Chapter 20, for more information about using conditionals. For example, the first line below sets the slide rotation to "right" in the "article" format only. The second line changes the page style for the "notes" and "notesonly" selections and "article" format: \begin{LVerbatim} \ifarticle\sliderotation{right}\fi \ifarticle\ifslidesonly\else\pagestyle{myheadings}\fi\fi \end{LVerbatim} \faq{Why does extra space get inserted at the top of a slide when I begin the slide with a color or overlay command (when using the \o{semcolor} option)?} Color and overlay commands with the "semcolor" option use "\special"'s. \TeX{} adds the space "\parskip" between the "\special"'s and the first material in the slide. Here is the workaround: If that material is an ordinary paragraph, put the command "\leavevmode" just after the color or overlay command. In other cases, if you are sure this is the problem, put "\vskip-\parskip" just before the color or overlay command. \section{Errors\label{errors}} There are several errors that identify themselves as being from "seminar.sty", but the error messages are so self-explanatory that that there is no need to describe them here. Instead, this section explains a few especially cryptic \TeX{} error messages that can arise when using "seminar.sty". These errors may also arise for reasons that are not particular to the "seminar.sty" macros. See your favorite \TeX{} and \LaTeX{} manuals for more help in debugging your documents. \error"! File ended while scanning use of \next." You are missing an "\end{document}" on the main file or an "\endinput" on a file that is input. \error"! File ended within \read." You may have an unmatched curly brace following "\begin{slide}" on the same line. See Section \ref{omit}. \error"! Paragraph ended before \begin@slide was complete." You have not specified the optional argument for the "slide" or "slide*" environment correctly (see Section \ref{slidedim}), or the first character in a slide environment is a "[" (put a pair "{}" of braces before the "["). \section{Troubleshooting\label{trouble}} \setcounter{faq}{0} \faq{A few slides do not come out two-up with the \o{article} option.} First, read Section \ref{S-twoup} carefully. If the slides still do not come out twoup, it might be that there is extraneous output between the slides. Try putting the commands \begin{LVerbatim} \slideplacement{here*} \setlength{\slidesep}{8pt plus 1fill} \end{LVerbatim} in the preamble ("8pt" should be one-half the minimum distance between slides). If this solves the problem, look for the extraneous output, or just leave those commands in the preamble. \faq{What kind of incompatibilities are there between {\tt seminar.sty} and other macros?} Of course, whenever you load macros that are not part of the standard \LaTeX{} distribution and that were not designed to work with "seminar.sty", problems may arise because of name conflicts. What are listed here are changes made to \LaTeX{} commands that may conflict with other macros that also redefine these command. The problems listed here are very unlikely to occur, however, unless you have a habit of seriously hacking the standard \LaTeX{} macro files. \begin{enumerate} \item This style modifies the definitions of the \LaTeX{} primitive "\document". It generally will not be upset by, nor will it void, modifications to "\document" made before "seminar.sty" is input. However, subsequent modifications of "\document" may cause problems. \item "xcomment.sty", which is input by "seminar.sty" with the "slidesonly" selection, modifies the definition of "\end" within included environments. This is generally compatible with modifications to "\end" made outside environments, but may conflict with modifications to "\end" made inside environments. \end{enumerate} \faq{Why are the landscape slides displayed sideways and the portrait slides displayed upside down on my previewer?} This document style makes frequent use of landscape mode. Some DVI-to-PS converters, such as older versions of Rokicki's "dvips", use their own PostScript macros to print a landscape document, rather than simply instructing PostScript to use landscape mode. If the PostScript output of such a converter is viewed using a PostScript previewer that does not allow you to choose the orientation of the display, the output will be positioned correctly on the page, but the page will always be displayed in portrait mode. When viewing slides without the "portrait" option, the landscape slides will be sideways, and the portrait slides will be upside-down! There is nothing this style can do to coerce the page to be displayed in landscape mode. There are various ways to minimize neck strain, however: \begin{enumerate} \item The direction in which the portrait slides are rotated can be reversed, so that they end up right-side-up. Just put \begin{LVerbatim} \sliderotation{right} \end{LVerbatim} before the beginning of the document (assuming that you are using rotation macros). \item You can also get the portrait slides to be displayed right-side-up by using the "portrait" style option (Section \ref{options}). \item In the "article" format, the document is typeset in portrait mode (unless the "portrait" option is used), and so the landscape slides are right-side-up. You can use this format when composing and proof-reading the slides. \end{enumerate} \faq{Why is my dvi driver soooo slow?} Probably it cannot find the right font bitmaps, and so it is either automatically generating new ones, or it is scaling the ones it can find. Either way, as long as you can somehow generate the missing font bitmaps, this problem is transitory. See Appendix \ref{bitmaps} for details. \faq{Why does \TeX{} complain about missing circle fonts?} Older versions of the NFSS use the names "circle10" and "circlew10" for the \LaTeX circle fonts, instead of the otherwise standard names "lcircle10" and "lcirclew10". You can copy your ".pk" and ".tfm" files to the new names, or get a new version of the NFSS. \section{Converting \SliTeX\ files}\label{slitex} "seminar.sty" can do everything \SliTeX\ can do, and much more\footnote{However, color layers and overlays require PSTricks and a PostScript printer.} Here is a brief and incomplete description of how to do with "seminar.sty" what you can do with \SliTeX, and how to convert \SliTeX\ files. \begin{itemize} \item Use "seminar" as your document style, instead of "slides". \item Run \LaTeX\ or \AmS-\LaTeX, instead of \SliTeX. \item With "seminar.sty", the preamble and slides can all go in the same file. \item The default in "seminar.sty" is to get landscape slides. If you want to convert a \SliTeX\ file containing portrait slides, add the "portrait" style option, and replace your "slide" environments by "slide*" environments. \item With "seminar.sty", notes do not need to go in a separate environment. To convert a \SliTeX\ file containing "note" environments, define a note environment that does nothing: \begin{LVerbatim} \newenvironment{note}{}{} \end{LVerbatim} \item For color layers: \begin{itemize} \item Use the "\colorlayers" command instead of the "\colors" command. \item Delete the argument to the "slide" and "slide*" environments that lists the color layers. \item Include the \o{semlayer} style option. \end{itemize} \item "seminar.sty" does not use separate environments for overlays: \begin{itemize} \item Remove the "overlay" environments. \item Replace "\invisible" commands by "\overlay{1}", "\overlay{2}", etc. \item Include the \o{semlayer} style option. \end{itemize} \item To actually produce the overlays and color layers, you have to have PSTricks and a PostScript printer, and you must include the \o{semcolor} style option. \item Use \n\onlyslides"{<list>}" and \n\onlynotestoo\ instead of "\onlynotes". \end{itemize} \begingroup \def\addcontentsline#1#2#3{}% \def\thepart{Appendices:} \part{Configuration} \endgroup \begingroup \def\thepart{} \addcontentsline{toc}{part}{Appendices:\hspace{1em}Configuration} \endgroup \appendix Before reading this appendix, you should follow the installation instructions in the file "sem-read.me" that is distributed with "seminar.sty". \section{The short story about fonts}\label{short-fonts} "seminar.sty" is a \LaTeX{} style, and you can use whatever fonts that are compatible with \LaTeX\ (or \AmS-\LaTeX). However, you are likely to want to use special fonts with "seminar.sty"; see Appendix \ref{fonts} for help. Furthermore, you are likely to want to use fonts in sizes that are larger than the standard sizes; see Appendix \ref{bitmaps} for help. But if you don't want to read these appendices, you can just use whatever \LaTeX\ fonts you know how to use (e.g., the standard Computer Modern fonts). To be sure you need only standard font magnifications:\footnote{This is not a consideration if you are using only PostScript or other scalable fonts.} \begin{itemize}\label{font-res} \item Don't use the "11pt" or "12pt" style options (or the \n\ptsize{} command). \item Don't change the document magnification (or only use 0--4 magsteps). \item Don't use any font size larger than "\large". \item Don't use the \n\twoup\ command. \end{itemize} \section{Choosing fonts\label{fonts}} So that you can use different fonts for the notes and the slides (if you want), the command "\slidefonts" is invoked at the beginning of every slide environment. Define it to set up any special fonts for the slides. Here are the font configurations that come ready-to-use with "seminar.sty". You might also use these as a starting point for your own configurations. \begin{enumerate} \item You can just use the regular old Computer Modern fonts that you probably grew up on. For this, you don't have to do anything at all. Ain't that easy? But see the next section about font bitmaps. \item The \O{semhelv} style option sets up the PostScript Helvetica text fonts for the slides. The Computer Modern fonts are still used for math and for the notes with the \o{article} format. You need a PostScript printer, a dvi-to-ps driver that supports PostScript fonts (e.g., Rokicki's "dvips"), and the New Font Selection Scheme. You should also check the font file names used in "semhelv.sty", and change them if necessary to match the names on your system. This combination of fonts is highly recommended because sans serif fonts look good for slides, Helvetica is a resident font in just about all PostScript printers, and the fonts are scalable and thus there is no problem of needing new bitmaps. \item The \O{semlcmss} style option sets up the \SliTeX\ sans serif fonts for the slides, and uses the Computer Modern fonts for notes with the \o{article} format. The \SliTeX\ fonts are ugly, but they might be the only usable sans serif font you have on your system and you are really dying for that kind of font. Also, they usually come ready for printing magnified documents, and so you won't need too many new font bitmaps. You must have the New Font Selection Scheme. "semlcmss" uses \begin{LVerbatim} \slidesmag{4} \ptsize{10} \end{LVerbatim} Deviating from this will increase the need for new font bitmaps. \end{enumerate} The New Font Selection Scheme (NFSS) mentioned above is a macro package for \LaTeX{} that greatly simplifies using non-standard fonts. The NFSS was written by Frank Mittelbach and Rainer Sch\"opf, and is available from various archives, including: \begin{center} "ftp.uni-stuttgart.de" \end{center} It is far easier to take the 10 minutes or so that are required (in theory, at least) to install the NFSS, than it is to try to muck around with \LaTeX's font primitives. \section{Font bitmaps\label{bitmaps}} If you are only using PostScript or other scalable fonts, or if you obey the restrictions listed on page \pageref{font-res}, then you can ignores this appendix. To use "seminar.sty", you may need font bitmap sizes that are not currently found on your system. This section describes how to avoid this and what to do about it. First, a few paragraphs about magnification and font bitmaps. \TeX's Metafont fonts are designed for a type size, such as 5pt. Most font families are available at least in the sizes 5pt, 6pt, 7pt, 8pt, 9pt and 10pt. Some are also available in the sizes 12pt and 17pt (and others), but often any size above 10pt is obtained by scaling the 10pt fonts. Table \ref{font-mag} lists the possible magnifications for fonts, depending on which option you are using ("10pt", "11pt" or "12pt"), and depending on the \LaTeX{} type size declaration that is in effect (e.g., "\small"). The magnifications are given in magsteps, which is \TeX's standard unit for font magnifications. $n$ magsteps means a magnification of $1.2^n$. \begin{table} \hrule height 1pt\relax \begin{center} \begin{tabular}{l|c|c|c|} \multicolumn{1}{l}{size} & \multicolumn{1}{c}{default (10pt)} & \multicolumn{1}{c}{11pt option} & \multicolumn{1}{c}{12pt option}\\ \cline{2-4} "\tiny" & 0 & 0 & 0\\ \cline{2-4} "\scriptsize" & 0 & 0 & 0\\ \cline{2-4} "\footnotesize" & 0 & 0 & 0 \\ \cline{2-4} "\small" & 0 & 0 & 1/2 \\ \cline{2-4} "\normalsize" & 0 & 1/2 & 1 \\ \cline{2-4} "\large" & 1 & 1 & 2 \\ \cline{2-4} "\Large" & 2 & 2 & 3 \\ \cline{2-4} "\LARGE" & 3 & 3 & 4\\ \cline{2-4} "\huge" & 4 & 4 & 5\\ \cline{2-4} "\Huge" & 5 & 5 & 5\\ \cline{2-4} \end{tabular} \caption{Font magnification in magsteps ($n$ means a magnification of $1.2^n$) for a font that is available in 5pt, 6pt, 7pt, 8pt, 9pt and 10pt sizes.\label{font-mag}} \end{center} \hrule height 1pt\relax \end{table} Both the "article" and the "slides" formats may also magnify the document. By default, the magnification of the "slides" format is 4 magsteps, and the magnification of the "article" format is 0. To find the total font magnification, add the magnification listed in the table to the magnification of the document. E.g., in the "slides" format with the "12pt" option (or the command "\ptsize{12}" at the beginning of a slide), the "\large" command may invoke fonts that have a magnification of up to 7 magsteps. Most systems have font bitmaps for 0, 1/2, 1, 2, 3, 4 and 5 magsteps. If you obey the restrictions listed on page \pageref{font-res}, then you will only need fonts in these standard magnifications. However, if you want to use other font magnifications, then check with your system administrator to determine which of the following applies to you (or just plunge ahead and see what happens): \begin{enumerate} \item If you have Metafont and "dvips" or some other driver that automatically generates font bitmaps as needed, and if this feature is enabled, then you will simply notice that it takes a long time to print documents at first, because the driver has to wait for the new font bitmaps to be made. Eventually, you will have generated all the extra bitmaps you need, and this delay will go away. \item If you have Metafont, but your dvi driver does not automatically generate needed bitmaps, then you just need to keep track of what font bitmaps you are missing as you use "seminar.sty" and occasionally run Metafont to make them. You will also notice a delay when a font bitmap is missing, because your driver will probably scale the closest bitmap it finds, and this can take time on some systems. \item If you do not even have Metafont, then you have to try to get by without the extra bitmaps. Scaled fonts look lousy, but an occasional scaled font in a heading is not so bad. \end{enumerate} Of course, PostScript and other scalable fonts do not present any problem, and so it is a good idea to use these as much as possible. The Computer Modern fonts are available from Blue Sky Research in PostScript Type I format. If you do not have PostScript versions of the CM fonts, and you instead use other PostScript fonts for text, then you are likely to still need bitmapped fonts for mathematics. However, since mathematics is usually set at "\normalsize" or smaller, this is not a big problem. If you are installing "seminar.sty" on a multi-user system, then hopefully you will make the needed fonts available. \section{Color} You can use whatever color commands you ordinarily use with \LaTeX. You might try the \o{semcolor} style option, which lets you use the PSTricks color commands for printing on a color PostScript printer. The \o{semcolor} option combined with the \o{semlayer} option (see Section \ref{S-overlays}) lets you print color layers. \section{Landscape printing and slide rotation\label{S-landscape}} If your dvi driver supports a "\special" for landscape printing, then you can define \N\printlandscape\ in the preamble of your document to invoke this command. E.g., for "dvips" put the line \begin{LVerbatim} \renewcommand{\printlandscape}{\special{landscape}} \end{LVerbatim} in the preamble. Otherwise, "seminar.sty" will display a message reminding you to print your document in landscape mode, when appropriate. You can print both landscape and portrait slides in one shot if you can rotate the portrait slides when printing in landscape mode or the landscape slides when printing in portrait mode. If you are using a PostScript printer, you probably are using a dvi driver that supports rotation; otherwise, you probably are not. Here are suggestions for setting up rotation: \begin{itemize} \item The \o{semcolor} option provides an interface to the rotation macros in PSTricks (see Appendix \ref{S-semcolor}); it works with many popular dvi-to-ps drivers. \item If you are using Rokicki's "dvips" and want rotation but do not want to load the entire PSTricks package, then use the \O{semrot} option instead of the \o{semcolor} option. \item If the \o{semcolor} and \o{semrot} options do not work for you, but you have your own rotation macros, then you have to define the commands \begin{MD} \leftsliderotation\\ \rightsliderotation \end{MD} so that they rotate something left and right, respectively. For example, \begin{LVerbatim} \renewcommand{\leftsliderotation}[1]{\rotateleft{#1}} \end{LVerbatim} \end{itemize} In any case, you can determine the direction of rotation using \begin{MD} \sliderotation{direction} \end{MD} where valid directions are "none", "left" and "right". The default is "left". By default, the headers and footers aren't rotated, but you can switch between rotating and not rotating the headers with the commands: \begin{MD} \rotateheaderstrue\\ \rotateheadersfalse \end{MD} \section{The semcolor style option\label{S-semcolor}} The \O{semcolor} option sets up an interface between "seminar.sty" and the PSTricks package. PSTricks is a collection of PostScript macros for \TeX. It works with Rokicki's "dvips", and several other dvi-to-ps drivers. You can probably get the PSTricks package from wherever you obtained "seminar.sty", or check the archives listed in the PSTricks read-me file, "read-me.pst", which is distributed with "seminar.sty". What the \o{semcolor} style option gives you, compared to just using the PSTricks package, is: \begin{description} \item[Color] A small patch to make the PSTricks color commands more robust in slides. \item[Rotation] The rotations "left" and "right" are defined. "left" is the default. \item[Framing] The frame styles "scplain" (using "\psframebox"), "scdouble" (using "\psdblframebox") and "scshadow" (using "\psshadowbox"). \item[Overlays] Overlays and layers, when used in conjunction with the \o{semlayer} option. \end{description} \section{A4 and other paper sizes\label{S-papersizes}} Use the \O{a4} option when using A4 paper. Note that this option does not correspond to an independent file. If you want to configure seminar.sty for A4 paper by default (without having to include style options), then you can do one of the following: \begin{enumerate} \item Add the following line to "seminar.con" (see Appendix \ref{S-configfile}): \begin{LVerbatim} \input{sem-a4.sty} \end{LVerbatim} \item Add the following lines to "seminar.con" (these lines are just the contents of "sem-a4.sty"): \begin{LVerbatim} \def\paperwidth{210mm} \def\paperheight{297mm} \input sem-page.sty \slidewidth 222mm \slideheight 152mm \end{LVerbatim} \item Create a file such as "mysem.sty", to be used as a document {\em style} (rather than style {\em option}), with the following lines: \begin{LVerbatim} \def\paperwidth{210mm} \def\paperheight{297mm} \input seminar.sty \slidewidth 222mm \slideheight 152mm \end{LVerbatim} \end{enumerate} For other paper sizes, you can create a style option by modifying "sem-a4.sty". Then any of the options described above is available to you, (with the appropriate parameter values). However, this will give satisfactory results only for paper sizes that are close to A4 or 8.5in by 11in. Note that for any paper size, even 8.5in by 11in, the page parameters that are set this way are just suggested defaults, and most people will want to customize them. Because of the variety of ways in which "seminar.sty" documents can be printed, this is a little more complex than with most document styles. Examine "sem-page.sty" to see what page parameters need to be set, and when. \section{Configuration file\label{S-configfile}} You can put customizations to "seminar.sty" in a file named "seminar.con". This file is optional. It is loaded by "seminar.sty" if it exists, {\em before} loading the style option files. E.g., "seminar.con" might contain the following lines: \begin{LVerbatim} \input semhelv.sty \input semcolor.sty \renewcommand{\printlandscape}{\special{landscape}} \endinput \end{LVerbatim} \clearpage \PrintUserIndex \end{document} %% END sem-user.tex Save