The L^{A}TEX symbol fonts for use with L^{A}TEX 2ε.^{∗}

Frank Mittelbach

1996/11/20

1 Introduction

This file defines the package latexsym which makes the few additional characters available that come from the lasy fonts (L^{A}TEX’s symbol fonts). These fonts are not automatically included in the NFSS2/L^{A}TEX 2ε since they take up important space and aren’t necessary if one makes use of the packages amsfonts or amssymb.

The commands defined by the latexsym package are:

     \mho ℧ \Join ⋈ \Box □ \Diamond ◇ \leadsto ⇝
     \sqsubset ⊏ \sqsupset ⊐ \lhd ⊲ \unlhd ⊴ \rhd ⊳
     \unrhd ⊵

2 The docstrip modules

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

driver  produce a documentation driver file
package produce a package file
fd  produce a font definition file

3 The Implementation

The individual files generated from this code are identified at the very top of this file by a couple of lines looking like this:

 %<fd>\ProvidesFile{Ulasy.fd}
 %<-driver>             [????/??/?? v2.2?
 %<package>                 Standard LaTeX package (lasy symbols)]
 %<fd>              LaTeX symbol font definitions]

1 ⟨∗package⟩

∗This file has version number v2.2d, dated 1996/11/20.

\symlasy It is possible to detect whether or not the L^{A}TEX symbols are already defined by

checking for the math group number with the name \symlasy.

In that case we exit but write a message to the transcript file.

 2 \ifx\symlasy\undefined \else
 3 \wlog{Package latexsym: nothing to set up^^J}%
 4 \endinput \fi

Otherwise we define the new symbol font.

 5 \DeclareSymbolFont{lasy}{U}{lasy}{m}{n}
 6 \SetSymbolFont{lasy}{bold}{U}{lasy}{b}{n}

Because the lasy symbols are made an error in the format we have to undefine them before we can set them anew with \DeclareMathSymbol.

 7 \let\mho\undefined            \let\sqsupset\undefined
 8 \let\Join\undefined           \let\lhd\undefined
 9 \let\Box\undefined            \let\unlhd\undefined
10 \let\Diamond\undefined        \let\rhd\undefined
11 \let\leadsto\undefined        \let\unrhd\undefined
12 \let\sqsubset\undefined
13 \DeclareMathSymbol\mho     {\mathord}{lasy}{"30}
14 \DeclareMathSymbol\Join    {\mathrel}{lasy}{"31}
15 \DeclareMathSymbol\Box     {\mathord}{lasy}{"32}
16 \DeclareMathSymbol\Diamond {\mathord}{lasy}{"33}
17 \DeclareMathSymbol\leadsto {\mathrel}{lasy}{"3B}
18 \DeclareMathSymbol\sqsubset{\mathrel}{lasy}{"3C}
19 \DeclareMathSymbol\sqsupset{\mathrel}{lasy}{"3D}
20 \DeclareMathSymbol\lhd     {\mathbin}{lasy}{"01}
21 \DeclareMathSymbol\unlhd   {\mathbin}{lasy}{"02}
22 \DeclareMathSymbol\rhd     {\mathbin}{lasy}{"03}
23 \DeclareMathSymbol\unrhd   {\mathbin}{lasy}{"04}

To save some space we can remove the definition of \not@base since it isn’t any longer needed. (We use \@undefined so that gives an error and not a recursive definition if it is still used somewhere.)

24 \let\not@base\@undefined

25 ⟨/package⟩

3.1 L^{A}TEX symbols fonts

The rest of this file defines the the font shape declarations that have to go into the corresponding .fd file.

26 ⟨∗fd⟩

27 \DeclareFontFamily{U}{lasy}{}
28 \DeclareFontShape{U}{lasy}{m}{n}{ <5> <6> <7> <8> <9> gen * lasy
29  <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88>lasy10  }{}

Since there are no bold lasy symbols below 10pt we silently substitute them by the medium ones to avoid terminal warnings if \boldmath is selected.

30 \DeclareFontShape{U}{lasy}{b}{n}{ <-10> ssub * lasy/m/n
31  <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88>lasyb10  }{}

32 ⟨/fd⟩

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

33 \endinput

Change History

v2.2a

General: \hd and friends should be bin ops . . . . . . . . . . . . . . . . . . 2 v2.2b

General: Free space for \not@base 2 v2.2d

General: lowercase ulasy.fd /1044 . 2

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.

Symbols

\@undefined . . . . . . . 24

B

\Box . . . . . . . . . . . . 9, 15

D

\DeclareFontFamily . 27
\DeclareFontShape 28, 30
\DeclareMathSymbol .

. . . . . . . . . 13–23

\DeclareSymbolFont . . 5

\Diamond . . . . . . . 10, 16

E

\else . . . . . . . . . . . . . 2 \endinput . . . . . . . 4, 33

F

\fi . . . . . . . . . . . . . . 4

I \ifx . . . . . . . . . . . . . . 2

J \Join . . . . . . . . . . . 8, 14

L \leadsto . . . . . . . 11, 17 \let . . . . . . . . . 7–12, 24 \lhd . . . . . . . . . . . . 8, 20

M \mathbin . . . . . . . 20–23 \mathord …. 13, 15, 16 \mathrel …. 14, 17–19 \mho . . . . . . . . . . . . 7, 13

N \not@base . . . . . . . . 24

R \rhd . . . . . . . . . . . 10, 22

S

                                                   \SetSymbolFont . . . . . 6

\sqsubset . . . . . . 12, 18 \sqsupset . . . . . . . 7, 19 \symlasy . . . . . . . . . . \underline{2}

U

                                                   \undefined . . . . 2, 7–12

\unlhd . . . . . . . . . . 9, 21 \unrhd . . . . . . . . . 11, 23

W \wlog . . . . . . . . . . . . . 3