The file slides.fdd for use with L^{A}TEX 2ε.^{∗}

Frank Mittelbach  Rainer Schöpf

1997/05/26

1 Introduction

This file contains the external font information for special variants of the the Computer Modern fonts to be used for overhead slides. They allow to produce slides in a similar fashion as it was originally done by SLiTEX.

With L^{A}TEX 2ε it is now no longer necessary to maintain a special format. Instead the standard format may be used and internally only different font definition files come into play.

Note, that that you therefore can easily produce slides in different fonts just by calling an appropriate package (like times) in your \usepackage command. This works, for example, with all fonts that are defined to be scalable (eg PostScript fonts) since they can be scaled to any size.

However, minor styles like pandora won’t work because the standard .fd files shipped with L^{A}TEX 2ε only contain small sizes. You can, of course, produce additional sizes and change the .fd files accordingly, but in this case it might be better to distinguish .fd files for normal text and for slides by prefixing the family name with an l (see below).

All the standard family names for SLiTEX fonts start out with with an l as the first character. This will distinguish them from text font families with similar names.

In addition, we introduce an additional convention for shapes: if x is a shape, then Ix represents the invisible form of the shape. This is used by the color separation macros and the \invisible command of the slides style file.

2 A driver for this document

The next bit of code contains the documentation driver file for TEX, i.e., the file that will produce the documentation you are currently reading. It will be extracted from this file by the docstrip program.

1 ⟨∗driver⟩

 2 \documentclass{ltxdoc}

∗This file has version number v2.2c, dated 1997/05/26.

 3 %\DisableCrossrefs  % Say \DisableCrossrefs if index is ready
 4 \RecordChanges      % Gather update information
 5 %\OnlyDescription   % comment out for implementation details
 6 %\OldMakeindex      % use if your MakeIndex is pre-v2.9
 7 \begin{document}
 8 \DocInput{slides.fdd}
 9 \end{document}

10 ⟨/driver⟩

3 The docstrip modules

The following modules are used to direct docstrip in generating external files:

driver produce a documentation driver file
main generate sfonts.def
fd  produce a font definition file
ec  Use the extended EC font set rather than cm
lccr  Concrete Roman slide sizes
lcmss Computer Modern Sans slide sizes
lcmtt Computer Modern Typewriter slide sizes
lcmm Computer Modern Math italic slide sizes
lcmm Computer Modern Math symbols slide sizes
lcmex Computer Modern Math extension symbols slide sizes
llasy L^{A}TEX symbols slide sizes

A typical docstrip command file would then have entries like:

\generateFile{OMSlcmsy.fd}{t}{\from{slides.fdd}{lcmsy,fd}}

4 The font definition files

4.1 Concrete Roman

11 ⟨∗lccr⟩

12 \DeclareFontFamily{OT1}{lccr}{\hyphenchar\font45 }
13 \DeclareFontShape{OT1}{lccr}{m}{sc}{%
14 <7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>cccsc10%
15  }{}
16 \DeclareFontShape{OT1}{lccr}{m}{sl}{%
17 <7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>ccslc9%
18  }{}
19 \DeclareFontShape{OT1}{lccr}{m}{n}{%
20 <7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>ccr8%
21  }{}
22 \DeclareFontShape{OT1}{lccr}{m}{In}{%
23 <7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>iccr8%
24  }{}

25 ⟨/lccr⟩

4.2 Computer Modern Sans

26 ⟨∗lcmss⟩

27 ⟨!ec⟩ \DeclareFontFamily{OT1}{lcmss}{\hyphenchar\font45 }
28 ⟨ec⟩ \DeclareFontFamily{T1}{lcmss}{}
29 ⟨!ec⟩ \DeclareFontShape{OT1}{lcmss}{m}{n}{%
30 ⟨ec⟩ \DeclareFontShape{T1}{lcmss}{m}{n}{%
31 <7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>%
32 ⟨!ec⟩ lcmss8%
33 ⟨ec⟩ eclq8%
34  }{}
35 ⟨!ec⟩ \DeclareFontShape{OT1}{lcmss}{m}{In}{%
36 ⟨ec⟩ \DeclareFontShape{T1}{lcmss}{m}{In}{%
37 <7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>%
38 ⟨!ec⟩ ilcmss8%
39 ⟨ec⟩ ieclq8%
40  }{}
41 ⟨!ec⟩ \DeclareFontShape{OT1}{lcmss}{m}{sl}{%
42 ⟨ec⟩ \DeclareFontShape{T1}{lcmss}{m}{sl}{%
43  <13.82><16.59><19.907><23.89><28.66><34.4><41.28>%
44 ⟨!ec⟩ lcmssi8%
45 ⟨ec⟩ ecli8%
46  }{}
47 ⟨!ec⟩ \DeclareFontShape{OT1}{lcmss}{m}{Isl}{%
48 ⟨ec⟩ \DeclareFontShape{T1}{lcmss}{m}{Isl}{%
49  <13.82><16.59><19.907><23.89><28.66><34.4><41.28>%
50 ⟨!ec⟩ ilcmssi8%
51 ⟨ec⟩ iecli8%
52  }{}
53 ⟨!ec⟩ \DeclareFontShape{OT1}{lcmss}{m}{it}{%
54 ⟨ec⟩ \DeclareFontShape{T1}{lcmss}{m}{it}{%
55  <->sub*lcmss/m/sl}{}
56 ⟨!ec⟩ \DeclareFontShape{OT1}{lcmss}{m}{Iit}{%
57 ⟨ec⟩ \DeclareFontShape{T1}{lcmss}{m}{Iit}{%
58  <->sub*lcmss/m/Isl}{}
59 ⟨!ec⟩ \DeclareFontShape{OT1}{lcmss}{bx}{n}{%
60 ⟨ec⟩ \DeclareFontShape{T1}{lcmss}{bx}{n}{%
61  <13.82><16.59><19.907><23.89><28.66><34.4><41.28>%
62 ⟨!ec⟩ lcmssb8%
63 ⟨ec⟩ eclb8%
64  }{}
65 ⟨!ec⟩ \DeclareFontShape{OT1}{lcmss}{bx}{In}{%
66 ⟨ec⟩ \DeclareFontShape{T1}{lcmss}{bx}{In}{%
67  <13.82><16.59><19.907><23.89><28.66><34.4><41.28>%
68 ⟨!ec⟩ ilcmssb8%
69 ⟨ec⟩ ieclb8%
70  }{}

EC fonts have a bold slanted font for the slides class.

71 ⟨∗ec⟩

72 \DeclareFontShape{T1}{lcmss}{bx}{sl}{%
73  <13.82><16.59><19.907><23.89><28.66><34.4><41.28>%
74 eclo8%
75  }{}
76 \DeclareFontShape{T1}{lcmss}{bx}{Isl}{%
77  <13.82><16.59><19.907><23.89><28.66><34.4><41.28>%
78 ieclo8%
79  }{}
80 \DeclareFontShape{T1}{lcmss}{bx}{it}{%
81  <->sub*lcmss/bx/sl}{}
82 \DeclareFontShape{T1}{lcmss}{bx}{Iit}{%
83  <->sub*lcmss/bx/Isl}{}

84 ⟨/ec⟩

There are extra substitutions for the shape ui which are needed for \pounds to not come out as a $ sign (mostly).

85 ⟨∗!ec⟩

86 \DeclareFontShape{OT1}{lcmss}{m}{ui}{%
87  <->sub*cmr/m/ui}{}
88 \DeclareFontShape{OT1}{lcmss}{bx}{ui}{%
89  <->sub*cmr/m/ui}{}

90 ⟨/!ec⟩ 91 ⟨/lcmss⟩

4.3 Computer Modern Typewriter

92 ⟨∗lcmtt⟩

93 ⟨!ec⟩ \DeclareFontFamily{OT1}{lcmtt}{\hyphenchar\font\m@ne}
94 ⟨ec⟩ \DeclareFontFamily{T1}{lcmtt}{\hyphenchar\font\m@ne}
95 ⟨!ec⟩ \DeclareFontShape{OT1}{lcmtt}{m}{n}{%
96 ⟨ec⟩ \DeclareFontShape{T1}{lcmtt}{m}{n}{%
97  <13.82><16.59><19.907><23.89><28.66><34.4><41.28>%

98 ⟨!ec⟩ cmtt8%

99 ⟨ec⟩ ecltt8%
100  }{}
101 ⟨!ec⟩ \DeclareFontShape{OT1}{lcmtt}{m}{In}{%
102 ⟨ec⟩ \DeclareFontShape{T1}{lcmtt}{m}{In}{%
103  <13.82><16.59><19.907><23.89><28.66><34.4><41.28>%

104 ⟨!ec⟩ icmtt8%

105 ⟨ec⟩ iecltt8%
106  }{}
107 ⟨!ec⟩ \DeclareFontShape{OT1}{lcmtt}{m}{it}{%
108 ⟨ec⟩ \DeclareFontShape{T1}{lcmtt}{m}{it}{%
109  <13.82><16.59><19.907><23.89><28.66><34.4><41.28>%
110 ⟨!ec⟩ cmitt10%
111 ⟨ec⟩ ecit1000%

112  }{}

There are extra substitutions for the shape ui which are needed for \pounds to not come out as a $ sign (mostly).

113 ⟨∗!ec⟩

114 \DeclareFontShape{OT1}{lcmtt}{m}{ui}{%
115  <->sub*cmtt/m/it}{}
116 \DeclareFontShape{OT1}{lcmtt}{bx}{ui}{%
117  <->sub*cmtt/m/it}{}

118 ⟨/!ec⟩ 119 ⟨/lcmtt⟩

4.4 Computer Modern Math

120 ⟨∗lcmm⟩

121 \DeclareFontFamily{OML}{lcmm}{\skewchar\font'177}
122 \DeclareFontShape{OML}{lcmm}{m}{it}{%
123 <7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>cmmi8%
124  }{}
125 \DeclareFontShape{OML}{lcmm}{m}{Iit}{%
126 <7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>icmmi8%
127  }{}

128 ⟨/lcmm⟩

4.5 Computer Modern Symbol

129 ⟨∗lcmsy⟩

130 \DeclareFontFamily{OMS}{lcmsy}{\skewchar\font'60}
131 \DeclareFontShape{OMS}{lcmsy}{m}{n}{%
132 <7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>cmsy8%
133  }{}
134 \DeclareFontShape{OMS}{lcmsy}{m}{In}{%
135 <7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>icmsy8%
136  }{}

137 ⟨/lcmsy⟩

4.6 Computer Modern large symbols

138 ⟨∗lcmex⟩

139 \DeclareFontFamily{OMX}{lcmex}{}
140 \DeclareFontShape{OMX}{lcmex}{m}{n}{%
141  <->sfixed*[17.28]cmex10%
142  }{}
143 \DeclareFontShape{OMX}{lcmex}{m}{In}{%
144  <->sfixed*[17.28]icmex10%
145  }{}

146 ⟨/lcmex⟩

4.7 L^{A}TEX symbols

147 ⟨∗llasy⟩

148 \DeclareFontFamily{U}{llasy}{}{}
149 \DeclareFontShape{U}{llasy}{m}{n}{%
150  <12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>lasy8%
151 }{}
152 \DeclareFontShape{U}{llasy}{m}{In}{%
153  <13.82><16.59><19.907><23.89><28.66><34.4><41.28>ilasy8%
154 }{}

155 ⟨/llasy⟩

5 Setting defaults

The following statements go into the file sfonts.def which plays a rôle similar to fontdef.ltx. Thus, you may want to produce your own local variant of it if you intend to use different fonts in your slides.

156 ⟨∗main⟩

157 \DeclareErrorFont{OT1}{lcmss}{m}{n}{19.907}
158 \DeclareFontSubstitution{OT1}{lcmss}{m}{n}
159 \input ot1lcmss.fd

160 ⟨/main⟩

The next line goes into all files and in addition prevents docstrip from adding any further code from the main source file (such as a character table.

161 \endinput

Change History

v2.0b

General: Added \fd@prefix for

\input . . . . . . . . . . . . . . . . . . 6 v2.1a

General: Removed \CodelineIndex

from the driver code. . . . . . . . . 1 v2.1b

General: Corrected \documentclass.

. . . . . . . . . . . . . . . . . . . . . . . . 1 v2.1c

General: Added size 8 to allow for

\LaTeX logo. . . . . . . . . . . . . . . 1 v2.1e

General: Corrected extension in

typeout. . . . . . . . . . . . . . . . . . 1 v2.1f

General: Moved driver further up. 1 v2.1g

General: Removed extra pair of curly braces at end of

                                              \DeclareFontFamily  com-

mand. . . . . . . . . . . . . . . . . . . 5 v2.1h

                                           General: Added \ProvidesFile

commands. . . . . . . . . . . . . . . . 1 v2.1i

General: Corrected names of .fd files in argument to

                                              \ProvidesFile commands. . . . 1

v2.1j

General: Globally replaced scale factor 19.91 by 19.907 in

                                              \DeclareFontShape, as this

gives better rounded font sizes at 600dpi (suggested by Denis Roegel). . . . . . . . . . . . . . . . . . 1

v2.1k

General: Added substitutions to make \pounds work right in slides. . . . . . . . . . . . . . . . . . 4, 5 v2.1l

General: Force \hyphenchar of OT1 fonts to 45, in case

\defaulthyphenchar  has

changed. . . . . . . . . . . . . . . . . . 1 Remove some spurious extra empty arguments to

\DeclareFontFamily calls . . . . 1

v2.1m

General: lowercase fd filenames /1044 . . . . . . . . . . . . . . . . . . . 1 v2.2a

General: ec font support added … 1 lowercase fd file . . . . . . . . . . . . 6

v2.2b

General: typo fixed in cccsc10. la-

tex/2395 . . . . . . . . . . . . . . . . . 2 v2.2c

General: Removed spaces in and around arguments to

                                       \DeclareFontShape  and

\EC@family. . . . . . . . . . . . . . . 1

Index

Numbers written in italic refer to the page where the corresponding entry is described, the ones underlined to the code line of the definition, the rest to the code lines where the entry is used.

B

\begin . . . . . . . . . . . . 7

D

\DeclareErrorFont . 157
\DeclareFontFamily .

. . . . . . . . . 12, 27, 28, 93, 94, 121, 130, 139, 148

\DeclareFontShape 13,

16, 19, 22, 29, 30, 35, 36, 41, 42, 47, 48, 53, 54, 56, 57, 59, 60, 65, 66, 72, 76, 80, 82, 86, 88, 95, 96, 101, 102, 107, 108, 114, 116, 122, 125, 131, 134, 140, 143, 149, 152

                   \DeclareFontSubstitution

. . . . . . . . . . . 158

                   \DisableCrossrefs . . 3

\DocInput . . . . . . . . . 8

                   \documentclass . . . . . 2

E \end . . . . . . . . . . . . . . 9 \endinput . . . . . . . . 161

F \font . . . . . . . . . 12,

27, 93, 94, 121, 130

H

                                             \hyphenchar 12, 27, 93, 94

I \input . . . . . . . . . . . 159

M \m@ne . . . . . . . . . . 93, 94

O

                                             \OldMakeindex . . . . . . 6
                                             \OnlyDescription . . . 5

R

                                             \RecordChanges . . . . . 4

S \skewchar …. 121, 130