seminar.sty:

A L^{A}TEX style for slides and notes

User’s Guide

Timothy Van Zandt^{∗}

8 May 1992 Version 0.92

seminar.sty is a L^{A}TEX document style for typesetting slides or transparencies, and accompanying notes. It has many advantages over SLiTEX. Here are some of the style’s special features:

• You can use any fonts that work with L^{A}TEX, including PostScript fonts and AMSFonts.

• Slides can be landscape and portrait within the same file.

• Color is supported through PostScript.

• It is a L^{A}TEX style, rather than another format.

• It is compatible with AMS-L^{A}TEX.

• The slides can have a frame and a colored background.

• The magnification can be changed with a single command.

• 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.

Some of these features require a PostScript output device.

Contents

Getting Started ii 1 Just slides 1 2 Page parameters 3 3 Magnification 4 4 Font sizes 4 5 Setting lengths 5 6 Selectively including or excluding slides 7 7 Notes 7 8 How notes are omitted 9 9 The article style option 11 10 Slide styles 13 11 Other style options 13 A Overlays 15 B The semcolor and semrot style options 19 C Fonts 21 C.1 Choosing fonts . . . . . . . . . . . . . . . . . . . . . . 21 C.2 Font bitmaps . . . . . . . . . . . . . . . . . . . . . . . 22 D Files 26 E Help 28 E.1 Tips and Tricks . . . . . . . . . . . . . . . . . . . . . . 28 E.2 Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 E.3 Troubleshooting . . . . . . . . . . . . . . . . . . . . . 33 Index 36

∗Author’s address: Department of Economics, Princeton University, Princeton, NJ 08544-1021, USA. Internet: tvz@Princeton.EDU

Getting Started

Some of these instructions refer to the installation of the seminar.sty package, but even if the package has already been installed for you, you should read this page. You may find the instructions easier to follow if you skim this User’s Guide first. When you run into problems, look for help in Appendix A.

The files that are part of the seminar.sty package are listed in Appendix D. Be sure that the inputs are in a directory where your TEX looks for input files.

Before using seminar.sty, you should decide what fonts you want to use. Read Appendix B for instruction. Don’t proceed without doing this, because on some systems you can otherwise end up generating font bitmaps that you will not use again.

If you have a PostScript dvi driver, then you probably will want to use the semcolor option, or at least the semrot option. See Appendix C for details. Note especially that you must install PSTricks before using the semcolor option.

If your dvi driver supports a \special for landscape printing, then you can define \landscape in the preamble of your document to invoke this command. E.g., for dvips put the line

\renewcommand{\landscape}{\special{landscape}}

in the preamble. Otherwise, seminar.sty will display a message reminding you to print your document in landscape mode, when appropriate.

You can put customizations to seminar.sty in a file named seminar.con. E.g., seminar.con might contain the following lines:

\input semhelv.sty
\input semcolor.sty
\renewcommand{\landscape}{\special{landscape}}
\endinput

Just slides 1

1 Just slides

seminar.sty is a L^{A}TEX document style for typesetting slides, and more. In Section 7, you will learn how to include accompanying notes in your document, and in Section 9 you will learn how to print out the document as if it were an article, for distribution or for proofreading. But for now, we’ll assume that all you want to do is typeset some slides for printing onto transparencies.

The environment slide takes its contents and makes a landscape slide. The environment slide* makes a portrait slide. The fact that starred version makes portrait slides should be a sign that landscape is the “default” or “standard” orientation, and portrait is “special”. This is a convention; it does not restrict what you can do.

By default, your document is printed in landscape mode, unless you include portrait as a style option. If you have both landscape and portrait slides in your document, you can first print out the landscape slides by putting the command

    \landscapeonly

in the preamble, and then you can print out the portrait slides by putting the command

    \portraitonly

in the preamble and using the portrait style option.

If you are lucky, though, your dvi driver supports rotation and you are using some macros, such as the semrot or semcolor style option (Appendix C), that set up rotation for seminar.sty. In that case, the portrait slides are rotated left, unless you are using the portrait option, in which case the landscape slides are the ones that are rotated. Either way, you can print out all your slides in one shot.

The headers and footers usually aren’t rotated, but you can get them to rotate by using the command

    \rotateheaderstrue

2 seminar.sty: User’s Guide

(\rotateheadersfalse switches back to not rotating them). When you do this, the slides should look pretty much the same whether or not you use the portrait style option … except on you previewer.^{2}

You can change the direction in which the slides are rotated using the command

\sliderotation{direction}

Valid arguments depend on your macros for implementing rotation, but probably include left, right, down and none.

Slides can be framed. The command

\slideframe{style}

specifies the frame style to use. Valid frame styles are none and plain, unless you use macros that define additional styles (e.g., the semcolor option). plain is the default style. The plain style makes a black frame whose thickness is the length

\slideframewidth (default=4pt)

and whose distance from the slide is the length

\slideframesep (default=.4in)

The rotation and framing of slides are things that happen at the end of the slide environment. You can reset any

of the parameters (e.g., \sliderotation, \rotateheaderstrue,

\slideframesep) within a slide, and the change will affect that slide only.

The counter for slides is slides. The default definition of

\theslide is \arabic{slide}. You can use \label and \ref to

cross-reference slides, and the page number in slide environments

is set to \theslide.
The page styles empty, plain, headings and myheadings

work like in L^{A}TEX’s article style. There is also a page style align Page parameters 3

which puts + signs in the corners, like in SLiTEX.^{3} You can change the size of the fonts used in heading and footers by setting the

commands \slideheadfont and \slidefootfont to the desired

size (but any explicit font declarations in a page style override these commands). The default definition of \slideheadfont and

\slidefootfont is \scriptsize. This can be changed using
\renewcommand.

2 Page parameters

The default values of the page parameters are listed in Section 15 of the Documented Code. You rarely need to change these for slides, because these parameters determine the position of the headers and footers, not the dimensions of the slides.

The dimensions of the slides are set by the lengths

    \slidewidth and \slideheight

The “width” refers to the width 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.

Since the dimensions of a slide are fixed at the beginning of the slide environment, changing the values of \slidewidth and \slideheight within a slide environment won’t have any effect. However, the slide environments have an optional argument that lets you change the dimensions of a single slide, as in

    \begin{slide*}[7.5in,6in]

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.

2The rotation of headers may not work properly if your margins are not symmetric.

3See question 5 in Section E.1 for suggestions on defining new page styles.

If you put in more material than fits in a slide, the slide still won’t continue on to the next page. Instead, you will just get a warning on your display about an overfull \vbox.

3 Magnification

seminar.sty resets TEX’s magnification parameter in order to get everything to be so big, compared to the output you get when typesetting an article. This means, for example, that if you paste some input from a paper you are writing with L^{A}TEX 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.

The default magnification is 1.2^{4} (i.e, \magstep4), but you can change this with the command,

\slidesmag{mag}

mag should be an integer between −5 and 9. This produces a magnification of 1.2^{mag}.

4 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, kind of 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 Setting lengths 5

use larger font sizes, so that the few things you have to say on a slide don’t look too lonely. You can’t do this by changing the magnification midstream, but you can do it by putting the command

    \ptsize{n}

at the beginning a slide environment. n should be 8, 9, 10, 11 or 12, and the effect is similar to using the npt option (never mind that this is legal style option only for n = 11 or 12), but localized to the slide where the command is used

5 Setting lengths

Magnification does mean that you have to take special care when using dimensions. Suppose the magnification is 1.2^{5} = 2.488. When you set \parskip to 5pt, the \parskip will end up being 2.488 × 5 points on the transparency, and when you write \rule{1pt}{4cm}, you actually get a horizontal line that is 2.488 × 4 centimeters long.

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.

For page parameters like \topmargin and \textwidth, this is a pain, because you know you want, say, a −1cm top margin, but if the top margin is going to be magnified, you first have to divide the value by the magnification. Fear not, though, because seminar.sty automatically scales all the page parameters (listed on page 163 of Lamport’s L^{A}TEX User’s Guide and Reference Manual) at the beginning of the document. Thus, when you set a page parameter in the preamble of the document, set it at the value you want to get when the document is printed.^{4}

4Lamport warns that resetting page parameters in the middle of the docu-

There are a few other parameters that are also automatically scaled for you: \slidewidth, \slideheight,

\slideframewidth, and \slideframesep.

For the remaining cases, where you know how big you want something to be on the transparency but you don’t want to do the division yourself, the commands

\setslidelength{cmd}{len}
\addtoslidelength{cmd}{len}

are provided. These are analogous to L^{A}TEX’s \setlength and \addtolength commands, but they scale their second argument so that the length you give is the length you end up with after magnification.^{5}

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:

\setslidelength{\epsfxsize}{6in}
\epsffile{mypic.eps}
You might also use \setslidelength to set \unitlength for the

picture environment.

You can also set the length \ul using \setslidelength, and then use it like a unit of measure. For example,

\setslidelength{\ul}{1in}
\parbox{3\ul}{Blah, blah, blah}
\rule{2\ul}{1pt}

will make a \parbox that is 3 inches wide on the transparency, and then a vertical line that is 2 inches high.

Those of you who are in the know may wonder why there is no mention of true dimensions (those who aren’t needn’t worry). For an explanation, see Section 9.

Selectively including or excluding slides 7

6 Selectively including or excluding slides

The commands

    \onlyslides{list}
    \notslides{list}

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,

    \onlyslides{{-2},\ref{dp}-10,\ref{chart},0,17-999}

is legal. If \label{dp} appears in slide 5 and \label{chart} appears in slide 12, this is equivalent to:

    \onlyslides{{-2},5-10,12,0,17-999}

7 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 you own benefit or to be distributed to others. These comments or text do not go inside any special environment.

When including notes this way, you have to include one of the following style options, which determine what is printed:

slidesonly Only the slides are printed.

notes Both notes and slides are printed.

notesonly Only the notes are printed.

These style options are referred to as selections in this documentation.

ment is tricky; here it is more so, because you do have to worry about scaling it yourself. But you can use \setslidelength for this.

5You can’t use these to set rubber lengths (e.g., 3pt plus 1pt minus 1pt), but rubber lengths are used for spacing, and as noted, spacing is easier to set in unmagnified dimensions.

A new page of notes starts following each slide. The pages of notes following slide 5 are numbers 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.

seminar.sty lets you also set most of the spacing parameters to different values for the slides and the notes. Since the notes are not enclosed within an environment, they use the values that are in effect globally. The slide environments then reset the parameters in order to customize these environments. See Section 10 of the Documented Code for the default values to which they are set.

The command \everyslide is invoked at the beginning of each slide environment. By defining this command appropriately, you can change the default values of the spacing parameters.

For example, if you put

    \setlength{\parindent}{1em}

in the preamble of the document, the value of \parindent changes only for the notes. If you put this command at the beginning of a slide environment, the value changes for that slide only. If you put

    \renewcommand{\everyslide}{\setlength{\parindent}{1em}}

in the preamble of the document, then the value of \parindent changes for all the slides (but not the notes).

You can also use the 11pt or 12pt option, without changing the size of the fonts in the slides. The command

    \slidefontsizes{n}

is like putting \ptsize{n} at the beginning of every slide environment. For example, suppose that the 12pt document style option is used, but the preamble contains the command

    \slidefontsizes{11}

and the second slide begins with the command How notes are omitted 9

                                                                            \ptsize{9}

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.

Finally, it is even possible to use a different page style for notes and slides. The page style for notes is set as usual by the

                                                                  \pagestyle and \thispagestyle commands. The command
                                                                            \slidepagestyle{style}

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. There is no \thisslidepagestyle command because when the \slidepagestyle command is used within a slide environment, only the page style for that slide is changed.

8 How notes are omitted

Recall that notes are not enclosed in an environment. seminar.sty omits notes using special macros^{6} that comment out everything outside the slide environments (and a few other environments mentioned below).

First, a few technicalities that have to do with the way the macros work:

1. The text that follows the beginning of a slide environment must have balanced curly braces.

2. Any file that you \input must end with \endinput (this is a good practice anyway).^{7}

3. A temporary file, \jobname.tmp, is created (this is of no consequence—just in case you wanted to know where it comes from).

6Defined in xcomment.sty 7Inputting of files not yet implemented.

With the notesonly selection, the slides are not printed, but they are processed. This means that one can refer in the notes to slides or to equations in slides, writing, for example,

    . . . equation (\ref{bellman}) on slide \ref{dp} . . .

even when the slides are not printed.^{8}

However, when the notes are not printed, they not processed at all. This means that you cannot put a reference in a slide to something that is in the notes, but who would want to do this anyway? The real problem is that you might want to make a global change to one of the slide parameters, but if you include it in a slide environment, the change will be local, and if you include it in the notes, the change won’t be processed when the notes are omitted.

To get around this problem, an environment 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 allversions environment is provided for this purpose. It also is processed even when the notes are omitted.

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

    \addtoslideslist{list}

where list is a comma separated list of environments, without spaces.

The article style option 11

9 The article style option

With the article style option, your document is typeset somewhat like it would be with L^{A}TEX’s article style, except that a few spacing and page parameters are changed. The article option is also referred to in this documentation as the article format. Without the article option, you get the slides format. You can change the magnification with the command

                                                                            \articlemag{mag}

which works like the \slidesmag command (page 4).

The article style option is useful for printing drafts of your document, for printing your slides and/or notes for distribution to the audience, and for fitting more slides on your screen when previewing. The actual effect of the article option depends on the selection, on whether slides are rotated, and on whether you are using the portrait option.

Without the portrait option, here is what you get for each selection:

slidesonly The slides are centered horizontally and vertically, as many as will fit on a page. If slides are rotated and you use the default page parameters and magnifications in seminar.sty, then you get two slides per page.

notesonly The notes are typeset as if they formed a continuous article.

notes This is like with the notesonly selection, but the slides are floated, as if they were figures.

With the portrait option, the document is typeset in landscape mode in a two-column format. Slides, when included, are centered horizontally and vertically, one per column. Landscape slides that are not rotated will not fit right. If you cannot rotate the slides and are combining landscape and portrait slides in the same file, then don’t use the portrait and article options together. Even if you can rotate slides, you may prefer to simply switch off rotation when using the article option rather than also using the portrait option.

8However, the page references are generally not accurate when using the article style option.

As mentioned, the slides are floated in the article format with the notes selection. Floats do not work well if there is only a little text in between (e.g., the floats may accumulate until capacity is exceeded). If you only have a few notes, use the slidesonly option instead of the notes option, but include the command \fewnotes in the preamble. The end result is like the notes selection, but with slide always printed on their own pages.

As with the 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. As long as you have not used TEX’s true dimensions, the slides and everything in them are scaled proportionately.

There are

    \setartlength{cmd}{len}
    \addtoartlength{cmd}{len}

commands that are analogous to the \setslidelength and \setartlength commands, 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.

Commands that are irrelevant in the article format, such as \slidepagestyle, 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. If you change the \parindent or the \textwidth in the preamble, this will affect both formats. You can get around this using some conditionals, described on page Slide styles 13

31.

10 Slide styles

The slide style determines what captions or labels are added to the slides. The command

                                                                            \slidestyle{style}

sets the slide style; it works like the \slidepagestyle command. There are three predefined slide styles:

empty No captions or labels are used.

plain “Slide \theslide” is placed on the left side of each slide. You can change the caption be redefining \slidelabel.

plainbottom This slide style is like \plain, but the caption is placed on the bottom of each slide.

Slide styles are really meant to be used with the article format, since the page styles in the slides format serve the same role. The default slide style is thus empty in the slides format, and plain in the other formats.

Defining new slide styles is slightly trickier than new page styles. See Section 12 of the Documented Code for guidance.

11 Other style 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 in this documentation: 2up (page 29), semrol (page 19), semcolor (page 19), semhelv (page 22), and semlcmss (page 22).

There is also a sem-a4 option.

There is a slidesec option distributed with seminar.sty that sets up some sectionion/heading commands for slides, and lets you print a list of slides or a table of contents. See the file slidesec for details.

It is impossible to predict, much less describe, the consequences of using all the other available L^{A}TEX style option with each selection and format. Some things should be obvious, such as that you shouldn’t use the twocolumn option with the slides format.

Since this document style is an extension of L^{A}TEX’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 L^{A}TEX’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.

Overlays 15

Appendices

A Overlays

Like slide rotation, overlays must be implemented by additional macros. However, there is an interface for overlays that is built into seminar.sty. For example, the semcolor style option, defined in the next appendix, implements overlays using this interface. It is conceivable that other implementations of overlays will be written that also use this interface. This section describes the interface only. You should check the documentation of your implementing macros for additional details.

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^{9}

    {\overlay{n} . . . }

puts whatever is in its scope on overlay n, where n = 0, …, 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. Also, it is all right to use non-consecutive overlay numbers.

For color overlays, you have to start by defining some colors using the command

9You can also write \begin{overlay}{n} . . . \end{overlay}.

    \colorlayers{colors}

colors should be a comma separated list of color names, without spaces, as in

    \colorlayers{red,green,blue}

Then you can use the command \red just like the command \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 anytime, including in a slide environment. The command is cumulative, meaning that previously defined color layers continue to be defined. 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

    \overlaystrue, \overlaysfalse,
    \layerstrue and \layersfalse.

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 overlay keeps track of the overlays.

\theoverlay is defined to be \theslide-\alph{overlay}.

Overlays can be cross-referenced. \thelayer makes a label for layers. \thelayer is defined to be \theoverlay-layer. Color layers cannot be cross-referenced.

Overlays 17

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 7a-red and 7-a-green, followed by overlay 7-b, followed by layers 7-b-red and 7-b-green.

By default, the slide style used for a slide’s overlays is the same as the one used for the main slide, and the slide style used for a slide’s or overlay’s color layers is the same one used for the slide or overlay. However, you can set special styles for the overlays or layers with the commands:

                                                                            \overlaystyle{style}
                                                                            \layerstyle{style}

These work like \slidestyle. An empty argument switches back to using the slide style of the “owner.” The plain and plainbottom slide styles adapt themselves to overlays and layers: the caption used for overlays is “Overlay \theoverlay”, and the caption used for color layers is “Layer \thelayer”.

Similarly, 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:

                                                                            \overlaypagestyle{style}
                                                                            \layerpagestyle{style}

Finally, by default the overlays and layers use the same frame style as their “owner.” You can specify special frame styles with the commands:

                                                                            \overlayframe{style}
                                                                            \layerframe{style}

You can also include special changes to the parameters that affect the framing macros by including them as an optional first argument, enclosed in square brackets. For example, the file semcolor.sty contains the line

                                                                            \overlayframe[\renewcommand{\slidefillcolor}{none}]%
                                                                              {semcolor}

This indicates that the frame style semcolor should be used for overlays, but the background should not be filled even if it is filled on the main slide.

The semcolor and semrot style options 19

B The semcolor and semrot style options

The semcolor option sets up an interface between seminar.sty and pstricks.tex. pstricks.tex is a collection of PostScript macros for TEX. It works with dvips, and maybe other dvi-to-ps drivers. You can probably get the PSTricks package from wherever you obtained seminar.sty. See the documentation of PSTricks, distributed as pst-user.ps, for additional information on the features described below and for a description of other useful macros.

The semcolor style option implements the following features:

Color There are commands for defining new colors. The col-

    ors black, darkgray, gray, lightgray, white, red, green,

blue, cyan, magenta, and yellow are predefined, and there are macros for defining new colors. Once a color foo is defined, then the command \foo can be used like \rm or \large to change the color of whatever is in its scope, and you can

    set the \slideframecolor to foo.

Overlays These use the interface described in Appendix A.

Rotation The rotations left, right, down and none are defined. left is the default.

Framing The frame style semcolor is defined. In addition to

    the parameters \slideframewidth and \slideframesep, it

uses the parameters:

\slideframearc A number which when multiplied by the minimum of the width and height of the frame gives the radius of the arc used to form the corners (default = .15).

\slideframecolor The frame color (default = black).

\slidefillcolor The background color (default = none).

PSTricks is a rather large package. If you only want the rotation, then you can instead use the semrot option, which implements the rotations left, right and down for users of Rokicki’s

dvips.

Fonts 21

C Fonts

C.1 Choosing fonts

This is a L^{A}TEX style, and you can use whatever fonts that are compatible with L^{A}TEX, which basically means any fonts that can be used with TEX. For example, AMSFonts, with or without AMS-L^{A}TEX, can be used with seminar.sty.

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.

\slidefonts is automatically invoked at the beginning of the document (rather than at the beginning of each slide) in the slides format, under the assumption that fonts that are good for slides are probably good for printing notes at a very large magnification. However, you can suppress this by putting the command \slidefontsfalse in the preamble.

\slidefonts is initially defined not to do anything at all. It is up to you to decide what special fonts you want to use. Here is a list of possibilities (guaranteed to be exhaustive):

1. 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.

2. PostScript Helvetica text fonts for the slides, and CM for the notes. For this, you need a PostScript printer and a dvi-to-ps driver that supports PostScript fonts (e.g., Rokicki’s dvips). This is a highly recommended configuration, 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. If you have the New Font Selection Scheme, then here is all you have to do: Check the font file names used in semhelv.sty, and change them if necessary to match the names on your system. Then include semhelv as a document style option.

3. SLiTEX sans serif fonts. These 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. If you have the New Font Selection Scheme, then all you have to do is check that you actually have the SLiTEX fonts on your system (lcmss) and use the style option semlcmss. semlcmss sets the slides magnification to 1.2^{4} and \slidefontsizes to 10pt; deviating from this will increase the need for new font bitmaps.

4. Something else. If you go this route but you aren’t a TEXpert (or even if you are), then a good place to start is by canni-

balizing semhelv.sty or semlcmss.sty.

The New Font Selection Scheme (NFSS) mentioned above is a macro package for L^{A}TEX that greatly simplifies using nonstandard fonts. The NFSS was written by Frank Mittelbach and Rainer Schöpf, and is available from various archives, including:

rusmv1.rus.uni-stuttgart.de,

in the directory

soft/tex/latex-style-supported/New-Font-Selection

It is by 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 L^{A}TEX’s font primitives.

C.2 Font bitmaps

To use seminar.sty, you may need font bitmap sizes that are not currently found on your system. This section described how Fonts 23

size  default (10pt) 11pt option 12pt option

  \tiny  0  0  0
  \scriptsize  0  0  0
  \footnotesize  0  0  0
  \small  0  0  1/2
  \normalsize  0  1/2  1
  \large  1  1  2
  \Large  2  2  3
  \LARGE  3  3  4
  \huge  4  4  5
  \Huge  5  5  5

Table 1: Font magnification (n means a magnification of 1.2^{n}) for a font that is available in 5pt, 6pt, 7pt, 8pt, 9pt and 10pt sizes.

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 1 lists the possible magnifications for fonts, depending on which option you are using (10pt, 11pt or 12pt), and depending on the L^{A}TEX type size declaration that is in effect (e.g., \small). The magnifications are given as powers of 1.2, which are the standard magnifications used by TEX. E.g., a magnification listed as 2 in the table means a magnification by a factor of 1.2^{2}, which is the same as the magnification \magstep2.

Both the article and the slides formats may use a positive magnification. By default, the magnification of the slides format is \magstep4 (1.2^{4}), and the magnification of the article format is \magstep0 (1). 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 1.2^{7}.

Most systems have bitmaps for the fonts for magnifications of 1.2 raised to the 0, 1/2, 1, 2, 3, 4 and 5. Thus, when using this style you are likely to need font bitmaps that are not already on your system.

What does this mean to you? That depends on your system. The space taken up by the extra bitmaps is not really that much (see the discussion below on how the reduce the need for extra bitmaps). The question is whether you have to capability to generate the bitmaps at all. Check with your system administrator to determine which of the following applies to you (or just plunge ahead and see what happens):

1. 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.

2. 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.

3. 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.

Fonts 25

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 must rely entirely on Metafont fonts and you have no way to generate extra bitmaps, then you should avoid the 11pt and 12pt options, avoid type size commands larger than \normalsize (you can go larger than this with text that just uses Computer Modern medium roman), and keep the magnification

                                                                  at or below \slidesmag{5}.

If you are installing seminar.sty on a multi-user system, then hopefully you will make the needed fonts available.

D Files

Inputs:

seminar.sty  The main style file.
xcomment.sty  The macros for omitting notes.

portrait.sty  The portrait style option.
semhelv.sty  The semhelv style option.
semlcmss.sty  The semlcmss style option.
semcolor.sty  The semcolor style option.
semrot.sty  The semrot style option.
sem-a4.sty  The sem-a4 style option.
slidesec.sty  The slidesec style option.

2up.tex  Macros for printing documents two-up.

2up.sty

The same as 2up.tex, but with .sty extension.

npsfont.sty

Macros for defining new PostScript fonts with the NFSS.

Documentation:

sem-user.dvi  User’s guide for seminar.sty.
sem-code.dvi  Documented code for seminar.sty.
xcomment.dvi  Documentation for xcomment.sty.
semsampl.tex  A sample document for seminar.sty.
sem-read.me  A readme file the seminar.sty package.

Sources:

seminar.doc  Documentation and code for seminar.sty.

sem-code.tex  For typesetting seminar.doc.
sem-user.tex  User’s guide for seminar.sty.

xcomment.doc

Documentation and code for

xcomment.sty.

xcomment.tex  For typesetting xcomment.doc.

tvz-hax.sty  Hacks for printing the documentation.

Help 27

E Help

If you just want to figure out how to do something, check E.1, “Tips and Tricks.” If you are trying to decipher an error message, check E.2, “Errors.” If you are trying to solve some systemdependent problem that has arisen, check E.3, “Troubleshooting.”

E.1 Tips and Tricks

1 How can I fit more material in the slides?

You can increase the height and/or width of one or all the slides. You can decrease the magnification, which affects all the slides equally, or you can use \ptsize{n} to get more into a single slide.

Think about where the slides are going to be shown before cramming too much information onto each one.

2 How can I a make a long slide, letting TEX do the page-breaking?

The short answer is that you can’t and shouldn’t anyway. Long slides like this wouldn’t work in the article format, and dividing material between slides is too delicate a matter be left to TEX’s page-cutting routines.

However, if you are only typesetting slides (no notes) in the slides format and you don’t mind foregoing frames and rotation for the long slides, you can include the long slide between slide environments. Start by stepping the slide counter, as in \stepcounter{slide}. Then the pages of the long slide will be number 8-1, 8-2, etc. You need to change the page parameters if you want to change the dimensions of the slides. If you only want long slides, and so prefer that the pages be numbered 1, 2, etc., start the document with the command

\pagenumbering{arabic}.

3 How can I print my slides two-up or four-up?

Depending on whether you are using rotation macros, the article format with the slidesonly selection will print your slides two-up (as long as the article margins and the slide dimensions are such that two slides fit on a page; this is true when using the default values).

seminar.sty is also distributed with 2up.tex, which contains generic TEX macros for printing documents two-up. To use 2up.tex with seminar.sty, just put the command

    \twoupn

in the preamble. This inputs 2up.tex and sets a few parameters that make things work right, including the magnification. The argument [n] is optional; it changes the default magnification by 1.2^{n}. Try this first without the optional argument. If you find that the pages are too crowded, then try \twoup[-1] or \twoup[-2]. If you find that there is extra room and you want each source page to be larger on the output, try \twoup[1] or

\twoup[2].

With 2up.tex, the slides format and the slidesonly selection, the slides are printed two-up, but the headings look different from the article format/slidesonly selection combination. With 2up.tex, the article format, and the slidesonly selection, the slides are printed four-up!

4 How can I print just selected overlays, layers or pages of notes in the 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 Help 29

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,

                                                                            dvips -p2.1 -l2.4 myslides

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 \truepagenumbers in the preamble.

5 How do I define custom page styles?

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

                                                                            \newpagestyle{style}{header}{footer}
                                                                            \renewpagestyle{style}{header}{footer}

are provided.^{10} 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:

10You can also use the macros in fancyheadings.sty, which is available from various archives.

\newpagestyle{mypagestyle}%
{\sl Big U \hfil \thedate \hfil \thepage}%^{11}
{\hfil File \jobname.tex; printed \today\hfil}

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:

\newpagestyle{myoverlays}{\hfil \thepage}{}

and she puts

\pagestyle{headings}
\slidepagestyle{mypagestyle}
\overlaypagestyle{myoverlays}

in the preamble.

6 How do I change a parameter only for the slides format?

The conditionals

\ifslides . . . \else . . . \fi
\ifarticle . . . \else . . . \fi
\ifslidesonly . . . \else . . . \fi
\ifnotes . . . \else . . . \fi
\ifnotesonly . . . \else . . . \fi

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 The TEXbook, 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:

\ifarticle\sliderotation{right}\fi
\ifarticle\ifslides\else
\pagestyle{myheadings}\fi\fi

Help 31

7 How do I include an Encapsulated PostScript figure?

With any TEX or L^{A}TEX document, EPS figures are included using one of several macro packages available for this purpose. These include the psfig and the epsf macros. The only special consideration for including EPS figures in a seminar.sty document is how to set the dimensions. With the epsf macros, set unmagnified dimensions, and the figures should be scaled appropriately for both the slides and article formats. E.g.,

    \setslidelength{\epsfxsize}{7in}
    \epsffile{myfig.eps}

includes the file myfig.eps, scaled so that it is 7 inches wide in the slides format, and proportionately smaller in the article format.

At least some versions of the psfig macros do not magnify the dimensions correctly, and are therefore difficult to use with

seminar.sty.

8 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

   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. If that material is an ordinary paragraph, put the command \leavevmode just before 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.

E.2 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 L^{A}TEX manuals for more help in debugging your documents.

! 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.

! File ended within \read.

You may have an unmatched curly brace following

\begin{slide} or \begin{slide*} on the same line. See Sec-

tion 8.

! Paragraph ended before \beginslide was complete.
! Paragraph ended before \beginslide* was complete.

You have not specified the optional argument for the slide or slide* environment correctly (see Section 2), or the first character in a slide environment is a [ (put a pair {} of braces before the [).

E.3 Troubleshooting

1 What kind of incompatibilities are there between seminar.sty and other macros?

Of course, whenever you load macros that are not part of the standard L^{A}TEX 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 L^{A}TEX commands that may conflict with other macros that also redefine these command. The problems listed here are very unlikely to occur, however, Help 33

unless you have a habit of seriously hacking the standard L^{A}TEX macro files.

1. This style modifies the definitions of the L^{A}TEX 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 void the changes made in seminar.sty. See lines 90–99 of the code.

2. 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.

2 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 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:

1. The direction in which the portrait slides are rotated can be reversed, so that they end up right-side-up. Just put

\sliderotation{right}

before the beginning of the document (assuming that you are using rotation macros).

2. You can also get the portrait slides to be displayed rightside-up by using the portrait style option (Section 11).

3. 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.

3 Why is my dvi driver soooo slow?

Probably it cannot find the right font bitmaps, and so it is either automatically generating new one, 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 C.2 for details.

4 Why does TEX complain about missing circle fonts?

Older versions of the NFSS use the names circle10 and wcircle10 for the L^{A}TEXcircle fonts, instead of the otherwise standard names lcircle10 and lwcircle10. You can copy your .pk and .tfm files to the new names, or get a new version of the NFSS.

INDEX 35

Index

A

\addtoartlength . . . . . . . . 12
\addtoslidelength . . . . . . . 6
\addtoslideslist . . . . . . . 10

allversions (environment) 10 allversions* (environment) 10 article (option) . . . . . . . . 11 \articlemag . . . . . . . . . . . 11

C

\colorlayers . . . . . . . . . . 16

E

environments:

   allversions* . . . . . . . . 10
   allversions . . . . . . . . . 10

slide* . . . . . . . . . . . . . . 1 slide . . . . . . . . . . . . . . . 1

\everyslide . . . . . . . . . . . . 8

I

\ifarticle . . . . . . . . . . . . 31 \ifnotes . . . . . . . . . . . . . . 31

\ifnotesonly . . . . . . . . . . 31

\ifslides . . . . . . . . . . . . . 31

\ifslidesonly . . . . . . . . . . 31

L

\landscapeonly . . . . . . . . . . 1

\layerframe . . . . . . . . . . . 17

\layerpagestyle . . . . . . . . 17
\layersfalse . . . . . . . . . . 16

\layerstrue . . . . . . . . . . . 16 \layerstyle . . . . . . . . . . . 17

N

\newpagestyle . . . . . . . . . . 30

notes (option) . . . . . . . . . . . 7 notesonly (option) . . . . . . . . 7 \notslides . . . . . . . . . . . . . 7

O \onlyslides . . . . . . . . . . . . 7 options:

article . . . . . . . . . . . . 11 notesonly . . . . . . . . . . . . 7 notes . . . . . . . . . . . . . . . 7 semcolor . . . . . . . . . . . 19 semhelv . . . . . . . . . . . . 22 semlcmss . . . . . . . . . . . 22 slidesonly . . . . . . . . . . . 7 \overlay . . . . . . . . . . . . . . 15

                              \overlayframe . . . . . . . . . . 17
                              \overlaypagestyle . . . . . . 17
                              \overlaysfalse . . . . . . . . . 16
                              \overlaystrue . . . . . . . . . . 16
                              \overlaystyle . . . . . . . . . . 17

P

                              \portraitonly . . . . . . . . . . . 1

\ptsize . . . . . . . . . . . . . . . . 5

R

                              \renewpagestyle . . . . . . . . 30
                              \rotateheadersfalse . . . . . 2
                              \rotateheaderstrue . . . . . . 1

S semcolor (option) . . . . . . . 19 semhelv (option) . . . . . . . . 22 semlcmss (option) . . . . . . . 22

                              \setartlength . . . . . . . . . . 12
                              \setslidelength . . . . . . . . . 6

slide (environment) . . . . . . . 1 slide* (environment) . . . . . . 1

\slidefillcolor . . . . . . . . 19
\slidefontsizes . . . . . . . . . 8
\slidefootfont . . . . . . . . . . 3

\slideframe . . . . . . . . . . . . 2

\slideframearc . . . . . . . . . 19
\slideframecolor . . . . . . . 19
\slideframesep . . . . . . . . . . 2
\slideframewidth . . . . . . . . 2
\slideheadfont . . . . . . . . . . 3
\slideheight . . . . . . . . . . . 3

\slidelabel . . . . . . . . . . . 13

                              \slidepagestyle . . . . . . . . . 9
                              \sliderotation . . . . . . . . . . 2

\slidesmag . . . . . . . . . . . . . 4 slidesonly (option) . . . . . . . 7 \slidestyle . . . . . . . . . . . 13 \slidewidth . . . . . . . . . . . . 3

T

                              \truepagenumbers . . . . . . . 30

\twoup . . . . . . . . . . . . . . . . 29