s

Abstract

There is a need for a system for typesetting lecture notes and slides, keeping the information all together, so that slides can be produced, and notes with or without the slides can be produced as student handouts. This is that system. It depends on the —seminar— package; this class merely customises it for Hong Kong Technical College and for the subjects Digital Systems and Microprocessors.

Contents

1 How to use this class 3 1.1 Options available . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Some commands useful in writing lecture notes and slides . . . . . . 3

1.2.1 Miscellaneous commands . . . . . . . . . . . . . . . . . . . . 3 1.3 Changes from lect.cls . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 The implementation 4 2.1 Producing the documentation . . . . . . . . . . . . . . . . . . . . . . 4 2.2 Identification part . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.3 Declaration of options . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.3.1 The slides option . . . . . . . . . . . . . . . . . . . . . . . . 5 2.3.2 Notes to be handed out to students: the notes option …. 8 2.3.3 Notes to be handed out to students: the booklet option … 11 2.3.4 The slidesonly option: making framed slides . . . . . . . . 15 2.3.5 The headings on the slides . . . . . . . . . . . . . . . . . . . . 16 2.3.6 The mechEng option: change subject name and number, set

a flag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.3.7 The compSc option: change subject name and number, set a

flag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.3.8 The logic option: change subject name and number . . . . . 18 2.3.9 Pass all other options unchanged to seminar.cls . . . . . . . 18

2.4 Execution of options . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.5 Special class file commands . . . . . . . . . . . . . . . . . . . . . . . 18 2.6 Package loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.7 Excerpt from documentation of slidesec—making the headings in

the slides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.8 Commands to make things work . . . . . . . . . . . . . . . . . . . . 20

2.8.1 The equation numbers in slides and notes . . . . . . . . . . . 21 2.9 Miscellaneous commands . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.9.1 The LectureTitle command . . . . . . . . . . . . . . . . . . . 23 2.9.2 The heading for the front page of notes produced using the

notes option . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

1 How to use this class

The best way to see how to use this is by example. See the file —56lec1.tex— for a complete example.

1.1 Options available

There are a number of options available; all those with the —seminar— package, plus: —logic—, —slides—, —booklet—, —compSc— and —mechEng—.

These two options are part of —seminar—, but have been extended: —notes—, —slidesonly—.

1.2 Some commands useful in writing lecture notes and slides

Here are a list of commands useful when writing lecture notes. For more details, read the descriptions with the code. Remember that this is based on seminar, which has plenty of documentation. Please read that, especially about the —slide— environment. We begin with commands that need to be used in each document.

\LectureTitle You need to use the macro in the preamble, i.e., before the ——. This initialises the lecture number and lecture title. —— takes two arguments; the first is the lecture number, the second is the title of the lecture. This command must be used in each document, otherwise there will be an error when each page or slide number is printed.

\MakeLectureTitle To print the lecture title, use the —— command, usually without any argument. It does take an optional argument if you want to write anything other than the word “Lecture” in the title. See the code for the details.

\lectureHead The —— command produces a heading at the beginning of the —notes— output, and also with the —slides— option. For the —notes— option this includes:

\college • The name of the college, as defined by the command ——

\department • The name of the department—as defined by the (renewable) command ——.

\subjectNumber • The subject number and the name of the subject, as defined by the commands

\subject  —— and ——.

The —slides— option has less in the ——; it has only the subject number and subject name, held as before in —— and ——.

For the —slidesonly— option there is no introductory heading; a slide could be made to contain the subject name if required. Note that the name of the subject and its number do appear on the top of each slide.

1.2.1 Miscellaneous commands

These commands provide convenient abbreviations. \up ‘——’ prints ‘microprocessor’. \Up ‘——’ prints ‘Microprocessor’. \ie ‘——’ prints ‘i.e.,’ \eg ‘——’ prints ‘e.g.,’ \hex ‘——’ provides a subscript 16, in maths or text mode, like this: 3F_{16}.

\overbar The —— command takes one argument, typesets it in a Roman font, then draws a bar over the top of it—useful to represent active low pins on microprocessors and logic devices.

1.3 Changes from lect.cls

The name of this class is now —lect2.cls— since I needed to break compatibility with the original —lect.cls— to initialise the value of —— for the new —slidesonly— option. The problem was that the —slidesonly— option disregards any commands that come after —— but that are outside of a —slide— environment. In fact the original idea was faulty: I created a —— macro which is used in the preamble instead of after ——. I have maintained a high degree of compatibility with —lect.cls— by keeping the previous macro as —— and creating the new macro as ——. The remaining compatibility problem is with the requirement to put the —3— command into the preamble of the lecture note source file. See section 2.3.1 on page 5 for details.

2 The implementation

2.1 Producing the documentation

Here is a short driver program that can be extracted with the L^{A}TEX 2εdocstrip program. It is not necessary to create a separate driver file from this, however; you can just run this file, lect2.dtx through L^{A}TEX 2ε.

1 ⟨∗driver⟩

 2 \ProvidesFile{lect2.drv}
 3 \documentclass[a4paper,twoside]{ltxdoc}
 4 \usepackage{a4,fancyhdr}

I have had problems with getting the correct —18 Sep 95— and —1.0— from this file. I keep getting them from the file a4.sty. I believe the next line is supposed to fix such a problem, but it leaves them undefined.

 5 % \GetFileInfo{lect2.dtx}

This is definitely the wrong place to put —1.0—, —1.0— and —18 Sep 95—, since it is hard to find them here, but at the moment it’s the only place where I can get them to work!

 6 \def\fileversion{2.0g}
 7 \def\filedate{2 October 96}
 8 \def\docdate{2 October 96}

These depend on the package —fancyhdr—. If you don’t have it, you may want to comment out these lines. You may prefer to comment out the line —— further down.

 9 \pagestyle{fancy}
10 \lhead[\textbf{\upshape The file \texttt{lect2.dtx}, a class to write lecture
11  notes with \LaTeXe}]{\textbf{\thepage}}
12 \rhead[\textbf{\thepage}]{\textbf{\upshape The file \texttt{lect2.dtx}, a class to write lecture
13  notes with \LaTeXe}}
14 \cfoot{}
15 \EnableCrossrefs   % Make a full index.
16 %\DisableCrossrefs % Make no index.
17 \CodelineIndex     % Index by line numbers rather than by page.
18 %\PageIndex        % index commands using page numbers.
19 \DoNotIndex{\textbf,\texttt,bfseries,\renewcommand,\providescommand}
20 \DoNotIndex{\filedate,\filename,\fileversion}
21 \DoNotIndex{\DoNotIndex,\arabic}
22 \DoNotIndex{\NeedsTeXFormat}
23 \RecordChanges     % Show change history.
24 %\OnlyDescription  % uncomment this to not format the code.
25 \title{The file \texttt{lect2.dtx}, a class to write lecture
26  notes with \LaTeXe.\thanks{This file has version number \fileversion,
27  dated \filedate.}\\[2pt]
28  It contains the code for \texttt{lect2.cls}}
29 \author{Nick Urbanik}
30 \date{\filedate}
31 \begin{document}
32 \thispagestyle{empty}

33 \maketitle
34 \providecommand{\Lenv}[1]{\textsf{#1}}
35 \providecommand{\pkg}[1]{\texttt{#1}}
36 \providecommand{\file}[1]{\texttt{#1}}
37 \DocInput{lect2.dtx}
38 \PrintIndex
39 \PrintChanges

Now tell the people what they need to do next to get the index and change list:

40 \typeout{Next, to make the index and changes list for this documentation:}
41 \typeout{2. makeindx -s gind.ist lect2}
42 \typeout{3. makeindx -s gglo.ist -o lect2.gls lect2.glo}
43 \typeout{Finally, run this file through LaTeX once more.}
44 \end{document}

45 ⟨/driver⟩

2.2 Identification part

46 ⟨∗class⟩

47 \NeedsTeXFormat{LaTeX2e}
48 \ProvidesClass{lect2}%
49  [1996/01/26 For VTC microprocessor lectures; with framed slides]

2.3 Declaration of options

2.3.1 The slides option

This option simply produces a magnification of the notes, and was written before I decided to use separate notes and slides. This option should not be used for new lecture notes. Use the —slidesonly— option instead, and use —slide— environments to make the slides.

This option magnifies the material that appears in the output of the —notes— option, so the fonts are bigger, the margins are smaller, and everything is scaled up in size. This means that the material will need nearly twice as many sheets to print as when using the —notes— option.

Previously I used a magnification of 1.2^{3} = \frac{216}{125} = 1.728, but used the 10 pt option. Now we use a magnification of 1.2^{2} = \frac{36}{25} = 1.44 with the 12 pt option, which gives a similar result, but does not make the diagrams suffer from the text magnifying more than the rest of the drawing. The resulting text is slightly smaller. The default setup uses the 10pt option with the —2— command. This gives results that are too small. I’d prefer to just use the 12 pt option with the —2— command so that the default does something sensible, but for some reason the 12 pt option gets loaded after the 10 pt option loaded in the lecture file itself. I guess I need to understand the order in which options are loaded into the base class to be able to achieve the sensible goal. Till then. …

To get the same result as with the previous lecture notes when they were printed in the 94/95 year, edit the lecture notes L^{A}TEX 2ε file and add the command —3— to the preamble of the lecture note file.

To get the “preferable” result—if you don’t mind the font being slightly narrower—use the 12 pt option with ——, like this:

 \documentclass[slides,12pt]{lect2}

The magnification caused major overcrowding in the headers and footers, so careful rearrangement has remedied that mostly. Also have reduced the text in the title for the first page.

50 \DeclareOption{slides}{%
51 %\PassOptionsToClass{12pt}{article}
52 \PassOptionsToClass{article}{seminar}
53 \AtEndOfClass%
54 {%

This is what I had before:

      \setmarginsrb{15mm}% leftmargin---was 7mm,%
%                                   now 15mm to allow for holes.
                   {4mm}%  topmargin
                   {10mm}%  rightmargin % Was 7, but that's too mean...
                   {12mm}% bottommargin --- was 8mm
                   {5mm}%  headheight
                   {12pt}% headsep
                   {0pt}%  footheight---not defined in LaTeX 2e.

Strange: set —footskip— to 10.25 mm, get too much space between text and footer. Set it to 10.24 and get way too little! This looks like a bug… no, maybe moves a line to the next page…

                   {10.25mm}% footsep

But now I am switching over to using the geometry package. gemoetry is great, except that the twosideshift option is really a bit strange. If you use it, it forces the twoside option. If you use twoside, then you get this twosideshift value to automatically move your page over mysteriously by 20 points.

55  \geometry{a4paper, twoside=false, portrait, left=15mm, top=4mm,
56  right=10mm, bottom=12mm, headheight=5mm, headsep=12pt,
57  footskip=10.25mm}

Now set the magnification of the notes to 1.2^{2}. Note that this depends on using the —article— option.

58  \articlemag{2}%
59  \addtolength{\headheight}{6.6pt}
60  \renewcommand{\headwidth}{\textwidth}%

For —slides— that are basically magnifications of the handouts we use a rule at the top and bottom of each page, except for the first page. This is the same as for the —notes— option.

61 \renewcommand{\footrulewidth}{0.4pt}

This is the format of the —— and —— commands, for reference. See the documentation for the fancyhdr package.

 \lhead[\fancyplain{plain LH-even}{normal LH-even}]
       {\fancyplain{plain LH-odd }{normal LH-odd}}
 \rhead[\fancyplain{plain RH-even}{normal RH-even}]%
       {\fancyplain{plain RH-odd }{normal RH-odd}}

62  \lhead[%
63  \fancyplain{}%
64  {%
65  \rmfamily\bfseries \thepage%
66  }%
67  ]%
68  {%

69  \fancyplain{}%
70  {%
71  \footnotesize\bfseries \subjectNumber\hspace{0.5em}
72  \subject%
73  }%
74  }%
75  \rhead[%
76  \fancyplain{}%
77  {%
78  \footnotesize\bfseries \subjectNumber\hspace{0.5em}
79  \subject%
80  }%
81  ]%
82  {%
83  \fancyplain{}%
84  {\rmfamily\bfseries \thepage}%
85  }%
86  \lfoot[\fancyplain{}{}]%
87  {%
88  \fancyplain{\tiny\revision}%
89  {%
90  \footnotesize\bfseries\rightmark%
91  \mdseries\tiny\mbox{}\\%
92  \protect\revision%
93  }%

94 }

95  \rfoot[%
96  \fancyplain{}%
97  {%
98  \footnotesize\bfseries\leftmark%
99  \mdseries\tiny\mbox{}\\%
100  \protect\revision%

101 }% 102 ]%

103  {\fancyplain{}{}}
\lectureHead

\lectureHead In the —slides— option, we redefine —— to contain less material. Also, the first page has no page number, headers or footers.

104  \renewcommand{\lectureHead}%

105 {%

106  \thispagestyle{plain}
107  \begin{center}
108  \bfseries\large
109  \subjectNumber\hspace{0.6em}\subject
110  \end{center}

111

112  \vspace{4ex}

113 }%

The Boolean variable —makeSLIDES— is true when using the —slides— option, but not when using the —slidesonly— option! This is confusing to me as well as to you. This —slides— option remains only for a degree of backward compatibility with previous lecture notes.

114 \setboolean{makeSLIDES}{true}

This is new. Here we create an environment so that the user can write stuff like: —— … —— so that the contents of that environment (the ‘… ’) is included only if this option is used.

115 \excludeversion{notes}%
116 \includeversion{slides}%

Now tell the user how to get the slides to come out at the right magnification. To get things exactly as they used to be, use the —3— command. To get things looking a little better (and more easily maintainable) than before, use the —12pt— option.

117 \typeout{^^JMaking SLIDES}
118 \typeout{To get readable slides, either use the 12pt option
119  or insert the command}
120 \typeout{\protect\slidesmag{3} into the preamble
121  of the lecture notes file.^^J}

122 }% 123 }

2.3.2 Notes to be handed out to students: the notes option

Lecture notes to be handed out to students. Here we use a magnification of 0, put more into the headers and footers, and more in the lecture heading.

124 \DeclareOption{notes}{%
125 \PassOptionsToClass{twoside,dvips,article,12pt}{seminar}
126 \AtEndOfClass%

127 {%

Now here I’ve changed —rightmargin— from 30 mm to 15 mm, because the notes will be distributed to the students at 1/\sqrt{2} times the full size, with two pages to one A4 sheet, turned to landscape mode.

Nick, 9-5-97: No it won’t! Use to print to A4, and to make PDF files.

The border in the middle is not used, and I have not used margin notes in my lectures till now (when I do, I may need to increase —rightmargin—). This is what the documentation for the vmargin package has to say:

Two sided printing is supported, meaning that if on odd pages the left margin is, say, 30 mm and the right margin is 20 mm, it will be vice versa on even pages. This gives equal margins on the outer and the inner edge of the paper, as expected e.g. for a book.

128 %      \setmarginsrb{30mm}%  leftmargin
129 %                   {20mm}%  topmargin
130 %                   {15mm}%  rightmargin
131 %                   {20mm}%  bottommargin
132 %                   {5mm}%  headheight
133 %                   {8mm}% headsep
134 %                   {0pt}%  footheight---not defined in LaTeX 2e.

Better to use geometry: it supports dvips better.

135 \geometry{a4paper, left=26mm, top=20mm, right=26mm, bottom=18mm,
136 headheight=5mm, headsep=8mm, footskip=13mm, twosideshift=0pt}

The previous value of 10.25 mm for —footskip— caused the footnotes to overlap the rule above the footers drawn by the fancyhdr package. Increase this to get rid of that overlap. Possibly due to the increase in —— in the —— command just below.

137 %                   {13mm}% footskip
\headwidth
138  \renewcommand{\headwidth}{\textwidth}%

139  \newlength{\markWidth}
140  \setlength{\markWidth}{\textwidth}
141  \addtolength{\markWidth}{-3.5em}

Enough room for 2 lines in head:

142  \addtolength{\headheight}{1.92ex}

Want the slides to float in the notes option, since otherwise there are large amounts of blank space at the foot of some pages.

143 \slideplacement{float}

This is the format of the —— and —— commands, for reference.

  \lhead[\fancyplain{plain LH-even}{normal LH-even}]
        {\fancyplain{plain LH-odd }{normal LH-odd}}
  \rhead[\fancyplain{plain RH-even}{normal RH-even}]%
        {\fancyplain{plain RH-odd }{normal RH-odd}}

144  \lhead[%
145  \fancyplain{}%

146 {%

147  \footnotesize\bfseries \college%

148 }% 149 ]% 150 {%

151  \fancyplain{}%

152 {%

153  \footnotesize\bfseries \subjectNumber\\
154  \subject%

155 }% 156 }%

157  \rhead[%
158  \fancyplain{}%

159 {%

160  \footnotesize\bfseries \subjectNumber\\
161  \subject%

162 }% 163 ]% 164 {%

165  \fancyplain{}%

166 {%

167  \footnotesize\bfseries \college%

168 }% 169 }%

170  \lfoot[%
171  \fancyplain{}%

172 {%

173  \parbox[t]{\markWidth}%

174 {%

175  \raggedright%
176  \renewcommand{\baselinestretch}{1.2}%
177  \footnotesize\bfseries\leftmark%
178  \mdseries\tiny\mbox{}\\%
179  \protect\revision%

180 }% 181 }% 182 ]% 183 {%

184  \fancyplain{\tiny\revision}%

185 {%

186  \rmfamily\bfseries \thepage%

187 }% 188 }

189  \rfoot[%
190  \fancyplain{}%

191 {%

192  \rmfamily\bfseries \thepage%

193 }% 194 ]% 195 {%

196  \fancyplain{}%

197 {%

198  \parbox[t]{\markWidth}%

199 {%

200  \raggedleft%

We get insufficient line spacing in footers otherwise without the next line. For some reason, the bottom of the first line would touch the top of the second in the footer. However, this seems to have caused the page to extend into the footer area, so have increased —footskip— when using the —notes— option.

201  \renewcommand{\baselinestretch}{1.2}
202  \footnotesize\bfseries\rightmark%
203  \mdseries\tiny\mbox{}\\%
204  \protect\revision%

205 }% 206 }% 207 }

The next few sections of code were in a conditional section, with the guard ——, but I moved them here as it is more appropriate to keep the stuff dependent on the notes option in one place.

For lecture notes (handouts) we use a rule at the top and bottom of each page, except for the first page.

208 \renewcommand{\footrulewidth}{0.4pt}

\slidestyle I prefer the slide labels on the bottom of each slide when printing notes with the slides included in the student handouts. Without this, the label appears on the left.

209 \slidestyle{bottom}

\slidelabel Here I’m making the label under each slide look like:

Slide L1 S-2

for the slide number 2 in lecture 1. See the definition of —— below.

\slidelabel
210 \renewcommand{\slidelabel}{Slide \theslide}

This was all an attempt to get the slidewidth set as a parameter of the paper width, in the —article— options. None of them worked, I think because the value of —— had already been changed (scaled down) when this code was executed.

   \setlength{\slideheight}{\textwidth}
   \setlength{\slidewidth}{\textwidth} % Weird!  Makes it half width!
   \setlength{\slidewidth}{\linewidth} % Even narrower!
   \setlength{\slidewidth}{\columnwidth} % Same as \linewidth.
   \setlength{\slidewidth}{\paperwidth} % Makes it a bit narrower.
   \setlength{\slidewidth}{\headwidth}

\slidesmag The magnification here was found through trial and error to make the slides appear with the notes in the handouts to be about as wide as the text. When the argument to —— is increased from 3, the slides appear smaller. This may or may not be desirable, but I like it at magnification three.

211 \slidesmag{3}

The Boolean variable —makeSLIDES— is false for making notes using the —notes— option. Note that it is also false when making slides using the —slidesonly— option! This is for historical reasons (and that I haven’t done anything to change it).

212  \setboolean{makeSLIDES}{false}

This is new. Here we create an environment so that the user can write stuff like: —— … —— so that the contents of that environment (the ‘… ’) is included only if the —slides— option is used, but not if this option is used. Have now created a —notes— environment to do the same sort of thing for the —notes— option.

213  \excludeversion{slides}%
214  \includeversion{notes}%
215  \typeout{^^JMaking NOTES^^J}

216 }% 217 }

2.3.3 Notes to be handed out to students: the booklet option

Lecture notes to be handed out to students. Here we use a magnification of 0, put more into the headers and footers, and more in the lecture heading. The handouts are in 10pt, and are more like a booklet. However, the odd pages are on the LEFT, since they are not bound like a book. This has some unfortunate effects with the varioref package, where it can talk about the opposite page while it is really on the next page. I could probably solve that sometime later.

218 \DeclareOption{booklet}{%
219 \PassOptionsToClass{twoside,10pt,article,a5paper}{seminar}
220 \AtEndOfClass%

221 {%

Now here I’ve changed the page setup to be similar to that for my assembly language primer, except that the left and right margins are exchanged, since here the oddnumbered pages are on the left, while in a book, the odd-numebred pages are on the right.

This is what the documentation for the vmargin package has to say:

Two sided printing is supported, meaning that if on odd pages the left margin is, say, 30 mm and the right margin is 20 mm, it will be vice versa on even pages. This gives equal margins on the outer and the inner edge of the paper, as expected e.g. for a book.

222  % Half A4 size:
223 %      \setpapersize{A5}%
224 %      \setmarginsrb{20mm}% left For a book, the inner.  For oddleft, outer.
225 %                   {9mm}% top
226 %                   {10mm}% right For a book, the outer.  For odd left, inner.
227 %                   {10.5mm}% bottom
228 %                   {12pt}% headheight---increase to stop fancyhead warn
229 %                   {4mm}%  headsep
230 %                   {0pt}%  footheight
231 %                   {8mm}% footskip

The previous value of 10.25 mm for —footskip— caused the footnotes to overlap the rule above the footers drawn by the fancyhdr package. Increase this to get rid of that overlap. Possibly due to the increase in —— in the —— command just below.

Later note: it seems that the 8mm footskip is not a problem with the new footers; still, will check after examining the output.

                   {13mm}% footskip

It seems that the —geometry— package was written more carefully than the —vamargin— package, so see if that fixes things…

\geometry
232  \special{papersize=148.5mm,210mm}% Tell DVIPS this is a5.
233  \geometry{reset, a5paper, portrait, twoside=true, left=20mm,
234  right=10mm, top=9mm, bottom=10.5mm, footskip=8mm,
235  headheight=12pt, headsep=4mm, includemp=false,
236  verbose=true, twosideshift=0pt}
\headwidth
237  \renewcommand{\headwidth}{\textwidth}%
238  \newlength{\markWidth}
239  \setlength{\markWidth}{\textwidth}
240  \addtolength{\markWidth}{-3.5em}

Enough room for 2 lines in head:

241 %%      \addtolength{\headheight}{1.92ex}

242 %

Want the slides to float in the notes option, since otherwise there are large amounts of blank space at the foot of some pages.

243 \slideplacement{float}

This is the format of the —— and —— commands, for reference.

  \lhead[\fancyplain{plain LH-even}{normal LH-even}]
        {\fancyplain{plain LH-odd }{normal LH-odd}}
  \rhead[\fancyplain{plain RH-even}{normal RH-even}]%
        {\fancyplain{plain RH-odd }{normal RH-odd}}

244  \lhead[%
245  \fancyplain{}%

246 {% 247 }% 248 ]% 249 {%

250  \fancyplain{}%

251 {%

252  \footnotesize\bfseries \college%

253 }% 254 }%

255  \rhead[%
256  \fancyplain{}%

257 {%

258  \footnotesize\bfseries \subjectNumber \
259  \subject%

260 }% 261 ]% 262 {%

263  \fancyplain{}%

264 {% 265 }% 266 }%

We want the subsection number on the right hand page: that’s an even number in this arrangement.

267  \lfoot[%
268  \fancyplain{}%

269 {%

270  \parbox[t]{\markWidth}%

271 {%

272  \raggedright%
273  \renewcommand{\baselinestretch}{1.2}%
274  \footnotesize\bfseries\rightmark%
275  \mdseries\tiny\mbox{}\\%
276  \protect\revision%

277 }% 278 }% 279 ]% 280 {%

281  \fancyplain{\tiny\revision}%

282 {%

283  \rmfamily\bfseries \thepage%

284 }% 285 }

We want the section number on the left hand page: that’s an odd-numbered page in this arrangement.

286  \rfoot[%
287  \fancyplain{}%

288 {%

289  \rmfamily\bfseries \thepage%

290 }% 291 ]% 292 {%

293  \fancyplain{}%

294 {%

295  \parbox[t]{\markWidth}%

296 {%

297  \raggedleft%

We get insufficient line spacing in footers otherwise without the next line. For some reason, the bottom of the first line would touch the top of the second in the footer. However, this seems to have caused the page to extend into the footer area, so have increased —footskip— when using the —notes— option.

298  \renewcommand{\baselinestretch}{1.2}
299  \footnotesize\bfseries\leftmark%
300  \mdseries\tiny\mbox{}\\%
301  \protect\revision%

302 }% 303 }% 304 }

The next few sections of code were in a conditional section, with the guard ——, but I moved them here as it is more appropriate to keep the stuff dependent on the notes option in one place.

For lecture notes (handouts) we use a rule at the top and bottom of each page, except for the first page.

305 \renewcommand{\footrulewidth}{0.4pt}

\slidestyle I prefer the slide labels on the bottom of each slide when printing notes with the slides included in the student handouts. Without this, the label appears on the left.

306 \slidestyle{bottom}

\slidelabel Here I’m making the label under each slide look like:

Slide L1 S-2

for the slide number 2 in lecture 1. See the definition of —— below.

\slidelabel
307 \renewcommand{\slidelabel}{Slide \theslide}

This was all an attempt to get the slidewidth set as a parameter of the paper width, in the —article— options. None of them worked, I think because the value of —— had already been changed (scaled down) when this code was executed.

   \setlength{\slideheight}{\textwidth}
   \setlength{\slidewidth}{\textwidth} % Weird!  Makes it half width!
   \setlength{\slidewidth}{\linewidth} % Even narrower!
   \setlength{\slidewidth}{\columnwidth} % Same as \linewidth.
   \setlength{\slidewidth}{\paperwidth} % Makes it a bit narrower.
   \setlength{\slidewidth}{\headwidth}

\slidesmag The magnification here was found through trial and error to make the slides appear with the notes in the handouts to be about as wide as the text. When the argument to —— is increased from 3, the slides appear smaller. This may or may not be desirable, but I like it at magnification three.

308 \slidesmag{3}

The Boolean variable —makeSLIDES— is false for making notes using the —notes— option. Note that it is also false when making slides using the —slidesonly— option! This is for historical reasons (and that I haven’t done anything to change it).

309  \setboolean{makeSLIDES}{false}

This is new. Here we create an environment so that the user can write stuff like: —— … —— so that the contents of that environment (the ‘… ’) is included only if the —slides— option is used, but not if this option is used. Have now created a —notes— environment to do the same sort of thing for the —notes— option.

310  \excludeversion{slides}%
311  \includeversion{notes}%
312  \typeout{^^JMaking BOOKLET-style notes^^J}

313 }% 314 }

2.3.4 The slidesonly option: making framed slides

Making framed slides, as the seminar system originally intended. This option will be used for making new slides; I will probably eventually remove the —slides— option, if I update all my previous lecture notes to use the proper slide format.

315 \DeclareOption{slidesonly}{%
316 \PassOptionsToClass{slidesonly,12pt}{seminar}
317 \AtEndOfClass%