The slidenotes package

Hans van der Meer hansm@fwi.uva.nl

version number 3.12 revised 1995/10/23

Contents

1 Usage 2

2 Identification 3

3 Declaration of Class Options 3 3.1 Show Options in the Log . . . . . . . . . . . . . . . . . . . . . . . . 3 3.2 Slides and/or Notes . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.3 Portrait or Landscape Orientation . . . . . . . . . . . . . . . . . . 4 3.4 Vertical Centering of Slide Material . . . . . . . . . . . . . . . . . . 4 3.5 Notes in Smaller Type . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.6 Variation in Slideframe . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.7 Pass Options and Load Parent Class . . . . . . . . . . . . . . . . . 5

4 Slide Environment 6 4.1 Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.2 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.3 Redefine Chapter Code . . . . . . . . . . . . . . . . . . . . . . . . 7 4.4 Slide Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4.4.1 Typeset Slide Contents . . . . . . . . . . . . . . . . . . . . 8 4.4.2 Enclose Slide Contents in Frame . . . . . . . . . . . . . . . 8

4.5 Titles on Slides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.6 Cues in the Margin . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

5 Style Features 9 5.1 Pagestyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 5.2 Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

6 Language Adjustments 10 6.1 English . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 6.2 Dutch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

7 Macros That May Be Missing 11

9 Configuration File 12

8 Directory Localization 11 10 Process the Orientation Options 12

10.1 Page Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 10.2 Slide Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

11 Note Production 12 11.1 Note Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 11.2 Shutoff Titles if Necessary . . . . . . . . . . . . . . . . . . . . . . . 14

12 Page Dimensions 14 12.1 Fullsize Slides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 12.2 Collection of Slides . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 12.3 Slides and Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1 Usage

An input file may consist of a series of slides accompanied by notes. Below the format of a slide in a nutshell:

\begin{slide}[SLIDE TITLE (optional)]
 ...
 \slidesubtitle{SUBTITLE}
 ...
 <more slide text>
 ...
\end{slide}
% Do not put extra text in between notes/slide,
% because it interferes destructively with the layout.
\begin{note}[NOTE TITLE (optional)]
 ...
 \cue{MARGIN TEXT}
 ...
 <more note text>
 ...
\end{note}

Use \chapter for the main structure, each note will be converted to a \section. There is a special \pagestyle defined. Several parameters and font macro’s are defined for various style features; they can be redefined, either in the document or in the slidenotes.cfg file. These parameters exist for the dimensions of the slide, the font in the various text parts, several standard texts.

Options exist for:

• choosing between slides, slides + notes, a collection of slides;

• landscape or portrait format;

• notes in a type one notch smaller than in the slides;

• variation in frame around slide.

See the implementation sections for further details.

2 Identification

This document classes can only be used with L^{A}TEX 2ε, so we make sure that an appropriate message is displayed when another TEX format is used.

1 ⟨∗package⟩

 2 \NeedsTeXFormat{LaTeX2e}[1995/06/01]

Announce the Class name and its version:

 3 \ProvidesClass{slidenotes}[1995/10/23 vs 3.12  Slides and notes]

3 Declaration of Class Options

In this part we define the options for this class that are additional to those of its parent class.

3.1 Show Options in the Log

Show options to the user.

 4 \ClassWarningNoLine{slidenotes}{%
 5  Options (first one is default):
 6  \MessageBreak
 7  notes,slides,minis:\space type of production;
 8  \MessageBreak
 9  landscape,portrait:\space slide orientation;
10  \MessageBreak
11  center,nocenter:\space vertical centering slide text;
12  \MessageBreak
13  oval,rect,rules,noframe:\space type of slideframe;
14  \MessageBreak
15  smallnotes:\space notes one notch smaller}

3.2 Slides and/or Notes

The flag \ifnotes governs the production of notes in the typesetting of slides and notes. The flag \ifminis signals the production of a slide collection in small format.

\ifnotes \ifminis
16 \newif\ifnotes
17 \newif\ifminis

The notes option leads to production of annotated slides. If option slides is given, slides are produced in a format ready for printing or copying on transparencies. Option minis typesets a collection of slides in small format. Notes are suppressed in the latter two cases.

18 \DeclareOption{notes}{\notestrue\minisfalse}
19 \DeclareOption{slides}{\notesfalse\minisfalse}
20 \DeclareOption{minis}{\ministrue\notesfalse}

3.3 Portrait or Landscape Orientation

Typesetting of slides can come in portrait or landscape format. However mixing of these within one document is not implemented. We are on the guard for the existing landscape option and pass it on to the parent class.

\iflandscape
21 \newif\iflandscape
22 \DeclareOption{landscape}{\landscapetrue}
23 \DeclareOption{portrait}{\landscapefalse}

3.4 Vertical Centering of Slide Material

Everything below the title at the head of the slide can be centered vertically as well as kept tightly below the head. Filling is done with \vfil, thereby allowing it to be overridden simply by the inclusion of a \vfill.

\belowheadfil
24 \newcommand{\belowheadfil}{}
25 \DeclareOption{center}{\renewcommand{\belowheadfil}{\vfil}}
26 \DeclareOption{nocenter}{\renewcommand{\belowheadfil}{}}

3.5 Notes in Smaller Type

The smallnotes option switches the font set in the notes one notch smaller than the standard sizes chosen in the style. However the sizes in the slides are always the same as to those specified by the style.

\ifsmallnotes
27 \newif\ifsmallnotes
28 \DeclareOption{smallnotes}{\smallnotestrue}

3.6 Variation in Slideframe

The frame of a slide can be rectangular, oval or empty. In the latter case however, this wish is obeyed for slide production only; otherwise the result is unclear.

\framevariant
29 \newcommand{\framevariant}{}
30 \DeclareOption{noframe}{\renewcommand{\framevariant}{n}}
31 \DeclareOption{rules}{\renewcommand{\framevariant}{r}}
32 \DeclareOption{rect}{\renewcommand{\framevariant}{f}}
33 \DeclareOption{oval}{\renewcommand{\framevariant}{o}}

The \obox macro is in file obox.sty; if necessary read in when document processing starts.

34 \AtBeginDocument{\@ifundefined{obox}%
35 {\IfFileExists{obox.sty}{\RequirePackage{obox}}%
36  {\if\framevariant o
37  \PackageWarningNoLine{slidenotes}{oval option disabled}%
38  \renewcommand{\framevariant}{f}\fi}}%
39 {}}

Oval slideframe is drawn using LaTeX’s picture command. Therefore the range of linethicknesses is restricted to those provided by the circle fonts. The following macro is defined to one of the standard linethickness commands.

\ovalslideframesize
40 \newcommand{\ovalslideframesize}{\thicklines}

3.7 Pass Options and Load Parent Class

Since the slidenotes class is implemented as a modification of an existing document class, we must load the parent class. However in order to ease changes in parent classthe name of this class is parametrized in macro \parentclass. An obvious candidate is report or friends.

Customize with a definition of \parentclass before calling \documentclass.

\parentclass
41 \providecommand\parentclass{report}

Set the class defaults to transparencies without notes and portrait format.

42 \ExecuteOptions{notes,landscape,oval,center}

The options of the \documentclass call which are not specific for the slidenotes class must be passed to the parent class. We take the opportunity to select some defaults, e.g. the point size and the production of a titlepage in case the parent class is article.

43 \DeclareOption*{\PassOptionsToClass{\CurrentOption}{\parentclass}}
44 \PassOptionsToClass{titlepage,a4paper}{\parentclass}
45 \ProcessOptions

Reset the noframe option except in the case where slides are produced. This is done because slides without frames in the other cases do not present a pleasant filling of the paper.

46 \typeout{}
47 \if\framevariant n
48 \ifnotes\renewcommand{\framevariant}{f}\fi
49 \ifminis\renewcommand{\framevariant}{f}\fi
50 \if\framevariant n \else
51 \PackageWarningNoLine{slidenotes}{slide frames temporarily on}
52 \fi
53 \fi

Show other options chosen.

54 \typeout{slidenotes: slides in
55 \iflandscape LANDSCAPE\else PORTRAIT\fi\space format}
56 \ifminis
57 \typeout{slidenotes: SLIDE COLLECTION}
58 \else\ifnotes
59 \typeout{slidenotes: SLIDES + NOTES}
60 \else
61 \typeout{slidenotes: SLIDE PRODUCTION}
62 \fi\fi
63 \typeout{}

After this we load the parent class. Note that the landscape option is not passed if notes is also specified.

64 \iflandscape\ifnotes\else
65 \PassOptionsToClass{landscape}{\parentclass}%
66 \fi\fi
67 \LoadClass{\parentclass}

When notes are suppressed, we also suppress the production of auxiliary files.

68 \ifnotes\else\nofiles\fi

4 Slide Environment

4.1 Dimensions

We give default values for height and width in portrait format, \slideheight and \slidewidth respectively. In the initialization section the landscape format is set by an exchange of height and width. All values are for the small (i.e. slide and notes) production set. For the production of the slides themselves, these values are magnified by the factor \slidemagnification.

\slidemagnification
\slidewidth
\slideheight

69 \newcommand{\slidemagnification}{\magstep4}
70 \newlength{\slidewidth}\setlength{\slidewidth}{85mm}
71 \newlength{\slideheight}\setlength{\slideheight}{120mm}

Furthermore we define special parameters for the separation between frame and contents of the slide, \slideboxsep and for the thickness of the frame, \slideboxrule. Length \slidenotesep is the distance between the slide and the note, \slidetitlesep the skip below a call of a (sub)title macro.

\slideboxrule
\slideboxsep
\slidenotesep
\slidetitlesep

72 \newlength{\slideboxrule}\setlength{\slideboxrule}{.2mm}
73 \newlength{\slideboxsep}\setlength{\slideboxsep}{3mm}
74 \newlength{\slidenotesep}\setlength{\slidenotesep}{8mm}
75 \newlength{\slidetitlesep}\setlength{\slidetitlesep}{\medskipamount}

4.2 Registers

The slides are counted and the counter is reset whenever a new chapter is begun.

\slidecounter
76 \newcounter{slidecounter}[chapter]

Slides are typeset in a box for later placement and height adjustement.

\slidebox
77 \newsavebox{\slidebox}

Slides are marked by a text and a number. The text by default stems from the \chapter macro and is put into a token register named \slidemarker.

\slidemarker
78 \newtoks\slidemarker

Each slide has an optional title, to be printed at the top of the slide. In the next tokenregister this title is kept, because it is also used in the production of the table of contents entry.

\slidetitletext
79 \newtoks\slidetitletext

At the start of each slide a token register is executed, where the user can place settings that should be local to each slide. The same for the start of each note.

\everyslide \everynote
80 \newtoks\everyslide
81 \newtoks\everynote

4.3 Redefine Chapter Code

In order to process the slide marking two macro’s in the production of chapter heads are redefined. Also a new chapter starts a new page and the pagestyle for this page is set to empty.

\@makechapterhead
\@makeschapterhead
82 \let\old@makechapterhead=\@makechapterhead
83 \let\old@makeschapterhead=\@makeschapterhead
84 \renewcommand{\@makechapterhead}[1]{%
85 \global\slidemarker={#1}\old@makechapterhead{#1}%
86 \thispagestyle{empty}\newpage}
87 \renewcommand{\@makeschapterhead}[1]{%
88 \global\slidemarker={#1}\old@makeschapterhead{#1}%
89 \thispagestyle{empty}\newpage}

4.4 Slide Environment

Slides are collected in the slide environment. Each slide starts a new page, except when a collection is made. The font is set to the special chosen \slidefont. The fontsize is initialized to the normal size. From the optional argument the title on top of the slide is taken.

slide
90 \newenvironment{slide}[1][]{%
91 \global\slidetitletext{#1}%
92 \ifminis\noindent\else\newpage\fi
93 \stepcounter{slidecounter}%
94 \slidefont
95 \normalsize

4.4.1 Typeset Slide Contents

The contents of the slide is typeset in a minipage, which is captured in a box. Execution starts the box with the code in token register \everyslide. When the optional argument is not empty, this furnishes the slide title at its top. The width of the minipage, in which the contents of the slide are typeset, is the \slidewidth adjusted for the thickness of the surrounding frame and the separation between frame and contents.

 96 \@tempdima\slidewidth
 97 \advance\@tempdima-\tw@\slideboxrule
 98 \advance\@tempdima-\tw@\slideboxsep
 99 \@tempdimb\slideheight
100 \advance\@tempdimb-\tw@\slideboxrule
101 \advance\@tempdimb-\tw@\slideboxsep
102 \begin{lrbox}{\slidebox}%
103  \the\everyslide
104  \begin{minipage}[][\@tempdimb][t]{\@tempdima}%
105  \slidetitle{\the\slidetitletext}\belowheadfil
106 }{\vfil\end{minipage}\end{lrbox}%

4.4.2 Enclose Slide Contents in Frame

The slide contents are enclosed in a framed box and then together with the marker placed into a \parbox. The slide is horizontally centered on the paper; except when a collection is made. The height of the box is adjusted to slideheight minus frame.

107 \ifminis\noindent\else\begin{center}\fi
108 \parbox{\slidewidth}{%
109  \fboxsep\slideboxsep
110  \fboxrule\slideboxrule
111  \if\framevariant f
112  \fbox{\usebox\slidebox}\fi
113  \if\framevariant o
114  \@tempdimb\dp\slidebox
115  \advance\@tempdimb-\fboxsep
116  \advance\@tempdimb-\fboxrule
117  \obox[][\ovalslideframesize]{%
118  \raisebox{\@tempdimb}{\usebox\slidebox}}\fi
119  \if\framevariant n
120  \advance\fboxsep\fboxrule \fboxrule\z@
121  \fbox{\usebox\slidebox}\fi
122  \if\framevariant r
123  \rule{\slidewidth}{\fboxrule}\\[\fboxsep]
124  \usebox{\slidebox}\\[\fboxsep]
125  \rule{\slidewidth}{\fboxrule}\fi
126  \\*[\smallskipamount]
127  \hbox to\slidewidth{%
128  \small\strut\the\slidemarker
129  \hfil\Slidenumber~\theslidecounter}%

130 }%

131 \ifminis
132  \ifodd\value{slidecounter}\hfill\else\par\vfill\fi
133 \else\end{center}\fi

When we are typesetting notes, finish the paragraph. Then close the environment.

134 \ifnotes\par\fi}

4.5 Titles on Slides

Put centered title or subtitle on the slide. The first (and optional) argument controls the font setting. These titles are followed by a \medskip; whitespace before the title is the responsibility of the slidewriter. These titles are suppressed if their argument somehow turns out to be empty.

\@slidetitle
\slidetitle
\slidesubtitle

135 \newcommand{\@slidetitle}[2]{%
136  \@ifemptyarg{#2}{}{\begin{center}#1#2\end{center}\vspace{\slidetitlesep}}}
137 \newcommand*{\slidetitle}{\@slidetitle{\slidetitlefont}}
138 \newcommand*{\slidesubtitle}{\@slidetitle{\slidesubtitlefont}}

4.6 Cues in the Margin

The length variable \marginwidth holds the margin space that will be reserved for short remarks.

\marginwidth
139 \newlength{\marginwidth}
140 \setlength{\marginwidth}{3cm}

Giving short remarks in the margin of the notes text. To be used for finding specific text parts with a glance.

\cue
141 \newcommand*{\cue}[2][\cuefont]{%
142 \marginpar{\hspace*{-\marginwidth}%
143 \parbox{\marginparwidth}{\raggedright\sloppy#1#2}}}

\cue cannot allow marginpar switching from left to right margin when typesetting twosided material; therefore force all marginpars into the same margin.

144 \@mparswitchfalse

5 Style Features

5.1 Pagestyle

As default style headings is chosen. However the appearance is altered a bit. Note that we add somewhat to \headheight. In draft mode the date is added to the heading.

\thehead
\ps@headings
145 \newcommand{\thehead}{%
146  \@title\ifdim\overfullrule>\z@---\@date\fi}
147 \renewcommand{\ps@headings}{%
148 \let\@oddfoot\@empty

149 \let\@evenfoot\@empty
150 \renewcommand{\@oddhead}{%
151  \vbox{%
152  \hbox to\textwidth{\headerfont\thehead\hfil\upshape\thepage}%
153  \vskip1.5\p@
154  \hrule\@height.5\p@\@width\textwidth
155  }}%
156 \let\@evenhead\@oddhead}
157 \addtolength{\headheight}{2pt}

Notes get the headings style and, of course, slides the empty style.

158 \ifnotes\pagestyle{headings}\else\pagestyle{empty}\fi

5.2 Fonts

Choose fonts for the various elements of slides and notes. Their names speak for themselves.

\headerfont
\slidefont
\notesfont
\footnotefont
\slidetitlefont
\slidesubtitlefont
\cuefont

159 \newcommand{\headerfont}{\rmfamily}
160 \newcommand{\slidefont}{\sffamily}
161 \newcommand{\notesfont}{\rmfamily}
162 \newcommand{\footnotefont}{\sffamily\mdseries\upshape}
163 \newcommand{\slidetitlefont}{\Large\bfseries}
164 \newcommand{\slidesubtitlefont}{\normalsize\bfseries}
165 \newcommand{\cuefont}{\sffamily\bfseries}

6 Language Adjustments

A small problem arose with the Babel system. If a language is not defined with \addlanguage an \errmessage interfers with the smooth processing. We avoid this problem with the following macro.

\onlanguage
166 \newcommand\onlanguage[4]{% {current}{existing}{not existing}
167 \expandafter\ifx\csname l@#1\endcsname\relax
168 #4\else
169  \ifnum\csname l@#1\endcsname=\language #2%
170  \else#3\fi
171 \fi}

Next we define a series of language specific verbs, such as \Collection and \Slidenumber; the latter being the designation preceding the slide number.

\Collection
\Slidenumber
172 \newcommand{\Collection}{LECTURE NOTES}%
173 \newcommand{\Slidenumber}{\#}%
174 \newcommand{\Slide}{Slide}%

6.1 English

Put here all english equivalents.

\englishSlideNames
175 \newcommand{\englishSlideNames}{%
176 \renewcommand{\Collection}{LECTURE NOTES}%
177 \renewcommand{\Slidenumber}{\#}%
178 \renewcommand{\Slide}{Slide}%

179 }

If appropriate set one of these languages at the start of the document.

180 \AtBeginDocument{\onlanguage{english}{\englishSlideNames}{}{}}
181 \AtBeginDocument{\onlanguage{american}{\englishSlideNames}{}{}}

6.2 Dutch

Put here all dutch equivalents.

\dutchSlideNames
182 \newcommand{\dutchSlideNames}{%
183 \renewcommand{\Collection}{COLLEGE AANTEKENINGEN}%
184 \renewcommand{\Slidenumber}{Nr.}%
185 \renewcommand{\Slide}{Slide}%

186 }

187 \AtBeginDocument{\onlanguage{dutch}{\dutchSlideNames}{}{}}

Put here other language specific macros at will.

7 Macros That May Be Missing

Testing for the presence or absence of a parameter.

\@ifemptyarg
188 \providecommand*{\@ifemptyarg}[1]{% {absence}{presence}
189 \ifx\@empty#1\@empty
190 \expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}

8 Directory Localization

Specify folders (directories) for the main source, a common folder for related material and a folder for e.g. EPSF figures etc.

\Mainfolder
\Commonfolder
\Figuresfolder

191 \newcommand{\Mainfolder}[1]{\def\mainfolder{#1}}
192 \newcommand{\Commonfolder}[1]{\def\commonfolder{#1}}
193 \newcommand{\Figuresfolder}[1]{\def\figuresfolder{#1}}

Initialize them on empty values.

194 \Mainfolder{\@currdir}
195 \Commonfolder{\@currdir}
196 \Figuresfolder{\@currdir}

9 Configuration File

Last, but not least, see if there is a configuration file slidenotes.cfg and read it for the final adjustments. In this file one can change things like the font selection, size of various length variables, etc. Final settings take place afterwards.

197 \InputIfFileExists{slidenotes.cfg}{}{}

10 Process the Orientation Options

Now that all variable data have there final value, either from the style or from the slidenotes.cfg file, we can process al parameter dependent settings.

10.1 Page Orientation

In case of landscape format the height and width of the page need to be exchanged when slides and notes are produced. Then we use a portrait format with a landscaped slide on it.

198 \iflandscape\ifnotes
199 \setlength{\@tempdima}{\paperheight}
200 \setlength{\paperheight}{\paperwidth}
201 \setlength{\paperwidth}{\@tempdima}
202 \fi\fi

10.2 Slide Orientation

In case of landscape format the height and width of slides need to be exchanged.

203 \iflandscape
204 \setlength{\@tempdima}{\slideheight}
205 \setlength{\slideheight}{\slidewidth}
206 \setlength{\slidewidth}{\@tempdima}
207 \fi

11 Note Production

We use the comment mechanism of Victor Eijkhout for the inclusion or exclusion of notes.

\includenote
\excludenote
208 \ifx\undefined\ThrowAwayComment
209 \newcommand\ThrowAwayComment[1]{\begingroup
210  \def\CurrentComment{#1}%
211  \@sanitize \@makeother\{ \@makeother\}
212  \@makeother\^^L% and whatever other special cases
213  \endlinechar`\^^M\@makeother\^^M\xComment}

214 {%

215  \catcode`\^^M=12 \endlinechar=-1 %
216  \gdef\xComment#1^^M{\def\test{#1}%
217  \expandafter\ifx\csname PlainEnd\CurrentComment Test\endcsname\test
218  \let\next\endgroup
219  \else

220  \expandafter\ifx\csname LaLaEnd\CurrentComment Test\endcsname\test
221  \edef\next{\endgroup\noexpand\end{\CurrentComment}}%
222  \else \let\next\xComment\fi \fi \next}%

223 } 224 %

225 \def\includecomment
226 #1{\@namedef{#1}{}\@namedef{end#1}{}}%
227 \def\excludecomment
228 #1{\@namedef{#1}{\ThrowAwayComment{#1}}%
229  {\escapechar=\m@ne\relax
230  \expandafter\xdef\csname PlainEnd#1Test\endcsname
231  {\string\\end#1}%
232  \expandafter\xdef\csname LaLaEnd#1Test\endcsname
233  {\string\\end\string\{#1\string\}}%

234 }}

235 \fi

11.1 Note Environment

In case of productions of slides the notes are simply left out; we effectuate this with the comment mechanism. Otherwise the note environment is defined. Start the environment for notes with font selection. The fontsize is initialized on the normal size. If the smallnotes option has been chosen, all fontsizes are set one notch down. Execution starts the note with the code in token register \everynote.

note
236 \ifnotes
237 \newenvironment{note}[1][]{%
238 \notesfont
239 \ifsmallnotes
240  \let\Huge\huge
241  \let\huge\LARGE
242  \let\LARGE\Large
243  \let\Large\large
244  \let\large\normalsize
245  \let\normalsize\small
246  \let\small\footnootsize
247  \let\footnotesize\scriptsize
248  \let\scriptsize\tiny
249 \fi
250 \normalsize
251 \the\everynote

The optional argument to the notes part replaces the title given on the slide.

252 \@ifemptyarg{#1}{}{\slidetitletext{#1}}%

A line is written to the toc file.

253 \addcontentsline{toc}{section}%
254  {\Slide\,\theslidecounter:\space\the\slidetitletext}%

Seperate slide and note with some white space.

255 \addvspace{\slidenotesep}%

We use the list environment for offsetting the margin inside the notes, a variation on the quote environment. However, the leftmargin is reduced to zero, because we do not want extra indentation for the text of the notes.

256 \list{}{\leftmargin=\z@ \rightmargin=\marginwidth}\item[]

Finish the note environment, close page with a filler.

257 }{\endlist\vfill\newpage}
258 \else
259 \excludecomment{note}
260 \fi

11.2 Shutoff Titles if Necessary

Kill the title and the chapter pages for slide production, but not when a collection is prepared. Also allow for the fact that \chapter effects a change to pagestyle

 plain.
\maketitle
\@makechapterhead
\@makeschapterhead

261 \ifnotes\else\ifminis\else
262 \renewcommand{\maketitle}{}
263 \renewcommand{\@makechapterhead}[1]{\global\slidemarker={#1}%
264  \thispagestyle{empty}}
265 \renewcommand{\@makeschapterhead}[1]{\global\slidemarker={#1}%
266  \thispagestyle{empty}}
267 \fi\fi

12 Page Dimensions

12.1 Fullsize Slides

First we typeset with an enlarged magnification.

268 \ifnotes\else\ifminis\else
269 \mag\slidemagnification\relax

Horizontal dimensions:

270 \setlength{\hoffset}{-25.4mm}
271  \divide\hoffset by\slidemagnification
272  \multiply\hoffset by\@m
273 \setlength{\textwidth}{\paperwidth}
274  \divide\textwidth by\slidemagnification
275  \multiply\textwidth by\@m
276 \setlength{\oddsidemargin}{0pt}
277 \setlength{\evensidemargin}{\oddsidemargin}

Vertical dimensions:

278 \setlength{\voffset}{-25.4mm}
279  \divide\voffset by\slidemagnification
280  \multiply\voffset by\@m
281 \setlength{\headheight}{0pt}
282 \setlength{\headsep}{0pt}
283 \setlength{\textheight}{\slideheight}

284  \addtolength{\textheight}{10mm}
285  \divide\textheight by\@m
286  \multiply\textheight by\slidemagnification
287 \fi\fi

12.2 Collection of Slides

288 \ifnotes\else\ifminis
289 \dimen@=2\slidewidth
290 \advance\dimen@ 5mm
291 \ifdim\dimen@>\textwidth \setlength{\textwidth}{\dimen@}\fi
292 \setlength{\headheight}{0pt}
293 \setlength{\headsep}{0pt}
294 \setlength{\footskip}{0pt}
295 \dimen@=2\slideheight
296  \setbox0=\vbox{\hbox{\slidefont\small\strut}\smallskip\null}
297  \advance\dimen@ by 2\ht0
298 \ifdim\dimen@>\textheight
299  \setlength{\textheight}{\dimen@}
300  \dimen@\paperheight
301  \advance\dimen@-\textheight
302  \addtolength{\topmargin}{-.5\dimen@}
303 \fi
304 \setlength{\oddsidemargin}{0pt}
305 \setlength{\evensidemargin}{\oddsidemargin}
306 \fi\fi

12.3 Slides and Notes

Change margin settings and enlarge \marginparwidth by the extra margin.

307 \ifnotes
308 \setlength{\marginparsep}{5mm}
309 \addtolength{\marginparwidth}{\marginwidth}
310 \fi

311 %

312 % Initialize the font.

313 %

314 %    \begin{macrocode}
315 \notesfont

316 ⟨/package⟩

Index

The italic numbers denote the pages where the corresponding entry is described, numbers underlined point to the definition, all others indicate the places where it is used.

Symbols

\@currdir …. 194–196 \@date . . . . . . . . . . . 146

 \@evenfoot . . . . . . . 149

                           \@evenhead . . . . . . . 156

                           \@ifemptyarg . . . . . .

…. 136, \underline{188}, 252

                                                    \@makechapterhead .

. . . . . . . . \underline{82}, \underline{261}

                                                    \@makeschapterhead .

. . . . . . . . \underline{82}, \underline{261}

\@mparswitchfalse . 144

\@oddfoot . . . . . . . . 148 \@oddhead …. 150, 156

\@slidetitle . . . . . . \underline{135}

A

\addcontentsline . . 253
\AtBeginDocument . .

. 34, 180, 181, 187

B

\belowheadfil . . \underline{24}, 105

\bfseries …. 163–165

C

\ClassWarningNoLine . 4
\Collection \underline{172}, 176, 183
\Commonfolder . \underline{191}, 195
\commonfolder . . . . . 192

\cue . . . . . . . . . . . . . \underline{141} \cuefont . . . . . 141, \underline{159}

\CurrentComment . . .

. 210, 217, 220, 221

\CurrentOption . . . . 43

D

\DeclareOption . 18–

20, 22, 23, 25, 26, 28, 30–33, 43

\dutchSlideNames . . \underline{182}

E

\endlinechar . . 213, 215
\englishSlideNames .

…. \underline{175}, 180, 181 environments:

note . . . . . . . . . . \underline{13} slide . . . . . . . . . . \underline{7}

\escapechar . . . . . . . 229
\evensidemargin 277, 305
\everynote . . . . \underline{80}, 251
\everyslide . . . . \underline{80}, 103
\excludecomment 227, 259
\excludenote . . . . . . \underline{208}
\ExecuteOptions . . . 42

F

\fboxrule . . . . 110,

116, 120, 123, 125 \fboxsep . . . . . 109,

115, 120, 123, 124

\Figuresfolder   \underline{191}, 196
\figuresfolder . . . . 193
\footnootsize . . . . . 246
\footnotefont . . . . . \underline{159}

\footnotesize . . . . . 247

\footskip . . . . . . . . 294

\framevariant . . \underline{29},

36, 38, 47–50, 111, 113, 119, 122

H

\headerfont . . . 152, \underline{159}
\headheight 157, 281, 292

\headsep . . . . . 282, 293 \hoffset . . . . . 270–272 \Huge . . . . . . . . . . . . 240 \huge . . . . . . . . 240, 241

I

\IfFileExists . . . . . 35
\iflandscape . . . . . .

\underline{21}, 55, 64, 198, 203 \ifminis . . . . . . \underline{16},

49, 56, 92, 107, 131, 261, 268, 288

\ifnotes …. \underline{16}, 48, 58, 64, 68, 134, 158, 198, 236, 261, 268, 288, 307

\ifsmallnotes . . \underline{27}, 239
\includecomment . . . 225
\includenote . . . . . . \underline{208}
\InputIfFileExists . 197

L

\landscapefalse . . . 23
\landscapetrue . . . . 22

\language . . . . . . . . 169 \LARGE . . . . . . . 241, 242 \Large …. 163, 242, 243 \large . . . . . . . 243, 244

\leftmargin . . . . . . . 256
\LoadClass . . . . . . . 67

M

\mag . . . . . . . . . . . . . 269 \magstep . . . . . . . . . 69

\Mainfolder . . . \underline{191}, 194
\mainfolder . . . . . . . 191
\maketitle . . . . . . . \underline{261}
\marginpar . . . . . . . 142
\marginparsep . . . . . 308
\marginparwidth 143, 309
\marginwidth . . . . . .

. \underline{139}, 142, 256, 309 \mdseries . . . . . . . . 162

\MessageBreak . . . . .

… 6, 8, 10, 12, 14

\minisfalse . . . . . 18, 19

                          \ministrue . . . . . . . 20

N

                          \NeedsTeXFormat . . . . 2

\nofiles . . . . . . . . . 68

                          \normalsize . . . . 95,

164, 244, 245, 250 note (environment) . . \underline{236}

                          \notesfalse . . . . . 19, 20

\notesfont \underline{159}, 238, 315

                          \notestrue . . . . . . . 18

O \obox . . . . . . . . . . . . 117

                          \oddsidemargin . . . .

. 276, 277, 304, 305

                          \old@makechapterhead

. . . . . . . . . 82, 85

                          \old@makeschapterhead

. . . . . . . . . 83, 88

                          \onlanguage . . . . . . .

. \underline{166}, 180, 181, 187

                          \ovalslideframesize

. . . . . . . . \underline{40}, 117

                          \overfullrule . . . . . 146

P

                          \PackageWarningNoLine

. . . . . . . . . 37, 51

                          \pagestyle . . . . . . . 158
                          \paperheight . . . . . .

…. 199, 200, 300

                          \paperwidth 200, 201, 273
                          \parentclass . . . . . .

. \underline{41}, 43, 44, 65, 67

                          \PassOptionsToClass

. . . . . . . 43, 44, 65

                          \ProcessOptions . . . 45
                          \providecommand 41, 188
                          \ProvidesClass . . . . . 3
                          \ps@headings . . . . . . \underline{145}

R \raisebox . . . . . . . . 118

                          \RequirePackage . . . 35
                          \rightmargin . . . . . . 256

\rmfamily …. 159, 161 \rule . . . . . . . . 123, 125

S

                          \scriptsize . . . 247, 248

\sffamily . 160, 162, 165 \Slide 174, 178, 185, 254 slide (environment) . \underline{90} \slidebox \underline{77}, 102, 112,

114, 118, 121, 124

\slideboxrule . . . . .

. . \underline{72}, 97, 100, 110

\slideboxsep . . . . . .

. . \underline{72}, 98, 101, 109

\slidecounter . . . . . \underline{76}
\slidefont 94, \underline{159}, 296
\slideheight . \underline{69}, 99,

204, 205, 283, 295

\slidemagnification

. . . . . \underline{69}, 269, 271, 274, 279, 286

\slidemarker . . . \underline{78},

85, 88, 128, 263, 265

\slidenotesep . . \underline{72}, 255
\Slidenumber . . . . . .

. 129, \underline{172}, 177, 184

\slidesubtitle . . . . \underline{135}

\slidesubtitlefont .

. . . . . . . . 138, \underline{159}

\slidetitle . . . 105, \underline{135}
\slidetitlefont 137, \underline{159}
\slidetitlesep . \underline{72}, 136
\slidetitletext . . .

\underline{79}, 91, 105, 252, 254

\slidewidth . . \underline{69}, 96,

108, 123, 125, 127, 205, 206, 289

\small 128, 245, 246, 296

\smallnotestrue . . . 28

T

\textheight . . . 283–

286, 298, 299, 301

\textwidth . . . 152,

154, 273–275, 291 \thehead . . . . . . . . . \underline{145} \thepage . . . . . . . . . 152

                          \theslidecounter . .

. . . . . . . . 129, 254

                          \thicklines . . . . . . . 40
                          \thispagestyle . . . .

. . 86, 89, 264, 266

                          \ThrowAwayComment .

…. 208, 209, 228 \tiny . . . . . . . . . . . . 248

                          \topmargin . . . . . . . 302

U \upshape . . . . . 152, 162 \usebox 112, 118, 121, 124

V \voffset . . . . . 278–280

X \xComment . 213, 216, 222