]> git.donarmstrong.com Git - lib.git/blob - texmf/metafont/kelly/greek.sty
added texmf
[lib.git] / texmf / metafont / kelly / greek.sty
1 %
2 % GREEK.STY - 14-SEP-1988
3 % ~~~~~~~~~
4 %
5 % Allow LaTeX to use BHK's Greek fonts
6 %
7 % \gr   -  greek
8 % \grbf -  greek bold-face
9 % \grit -  greek italic
10 % \grtt -  greek typewriter
11
12 %
13 % AUTHORS:      Brian Hamilton Kelly & Niel Kempson,
14 %               School of Electrical Engineering and Science,
15 %               Royal Military College of Science,
16 %               Shrivenham,
17 %               SWINDON 
18 %               SN6 8LA
19 %               ENGLAND
20 %
21 % Telephone:    (+793) 785687 / 785252
22 % JANET:        rm001a@uk.ac.cranfield.cdvc
23 %
24
25 %
26 % The fonts are loaded on demand, but don't demand too many or LaTeX
27 % will exhaust its font memory.
28 %
29
30 % Need special definition of \@getfont that includes call of \gracc
31 % after invocation of the font
32 %
33 \def\gr@getfont#1#2#3#4{\@ifundefined{\string #1\string #3}{\global\expandafter
34     \font \csname \string #1\string #3\endcsname #4\relax 
35      \@addfontinfo#3{\textfont #2\csname \string #1\string #3\endcsname 
36      \scriptfont #2\csname \string #1\string #3\endcsname 
37      \scriptscriptfont #2\csname \string #1\string #3\endcsname 
38      \def#1{\fam #2\csname\string #1\string #3\endcsname\@prtct\gracc}}}{}#3#1}
39
40 % Following section is beginnings of attempt to make this style option
41 % work with SliTeX too.   Further work is awaiting the rewriting of SFONTS.TEX
42 % to use similar naming scheme, load-on-demand, etc as LFONTS.TEX --- I expect
43 % to get around to that someday!!
44 %
45 \@ifundefined{@xivpt}{% This must be running under SliTeX
46     \let\@prtct=\relax
47
48     \def\@addfontinfo#1#2{{\def\@prtct{\noexpand\@prtct\noexpand}\def\def{\noexpand
49         \def\noexpand}\xdef#1{#1#2}}}
50
51     \def\@nohyphens#1#2{\global\expandafter \hyphenchar\csname 
52        \string #1\string #2\endcsname \m@ne}
53
54     \def\@subfont#1#2{\@warning{No \string#1\space typeface in 
55             this size, using \string#2}#2}
56
57     \def\@vpt{}
58     \def\@vipt{}
59     \def\@viipt{}
60     \def\@viiipt{}
61     \def\@ixpt{}
62     \def\@xpt{}
63     \def\@xipt{}
64     \def\@xiipt{}
65     \let\@xivpt=\fourteenpt
66     \let\@xviipt=\seventeenpt
67     \let\@xxpt=\twentypt
68     \let\@xxvpt=\twentyfourpt
69     \let\@xxixpt=\twentyninept
70     \let\@xxxivpt=\thirtyfourpt
71     \let\@xlipt=\fourtyonept}{%
72     \relax
73 }
74
75 % These are the font changing commands used by the ``public''
76 %
77 \def\gr{\protect\pgr}
78 \def\grbf{\protect\pgrbf}
79 \def\grit{\protect\pgrit}
80 \def\grtt{\protect\pgrtt}
81
82 % These macros just save a little space for the repeated font names
83 %
84 \def\gr@@k{cmg10}
85 \def\gr@@kb{cmgb10}
86 \def\gr@@ki{cmgi10}
87 \def\gr@@kt{cmgtt10}
88
89 % This macro has to be invoked every time we switch to a Greek font; it
90 % defines \s to be the variant of \sigma used at the ends of words
91 %
92 \def\gracc{\chardef\s="D }  % NB Space after <hexnumber> is essential
93
94 % Define families of Greek fonts
95 %
96 \newfam\grfam
97 \newfam\grbfam
98 \newfam\grifam
99 \newfam\grtfam
100
101 % Now add commands to each LaTeX size changing command which defines
102 % the Greek font selections to invoke macros which load the font ``on
103 % demand''.
104 %
105 \@addfontinfo\@vpt{\def\pgr{\@prtct\gr@vpt}%
106                    \def\pgrbf{\@prtct\grb@vpt}%
107                    \def\pgrit{\@prtct\gri@vpt}%
108                    \def\pgrtt{\@prtct\grt@vpt}}
109 \@addfontinfo\@vipt{\def\pgr{\@prtct\gr@vipt}%
110                     \def\pgrbf{\@prtct\grb@vipt}%
111                     \def\pgrit{\@prtct\gri@vipt}%
112                     \def\pgrtt{\@prtct\grt@vipt}}
113 \@addfontinfo\@viipt{\def\pgr{\@prtct\gr@viipt}%
114                      \def\pgrbf{\@prtct\grb@viipt}%
115                      \def\pgrit{\@prtct\gri@viipt}%
116                      \def\pgrtt{\@prtct\grt@viipt}}
117 \@addfontinfo\@viiipt{\def\pgr{\@prtct\gr@viiipt}%
118                       \def\pgrbf{\@prtct\grb@viiipt}%
119                       \def\pgrit{\@prtct\gri@viiipt}%
120                       \def\pgrtt{\@prtct\grt@viiipt}}
121 \@addfontinfo\@ixpt{\def\pgr{\@prtct\gr@ixpt}%
122                     \def\pgrbf{\@prtct\grb@ixpt}%
123                     \def\pgrit{\@prtct\gri@ixpt}%
124                     \def\pgrtt{\@prtct\grt@ixpt}}
125 \@addfontinfo\@xpt{\def\pgr{\@prtct\gr@xpt}%
126                    \def\pgrbf{\@prtct\grb@xpt}%
127                    \def\pgrit{\@prtct\gri@xpt}%
128                    \def\pgrtt{\@prtct\grt@xpt}}
129 \@addfontinfo\@xipt{\def\pgr{\@prtct\gr@xipt}%
130                     \def\pgrbf{\@prtct\grb@xipt}%
131                     \def\pgrit{\@prtct\gri@xipt}%
132                     \def\pgrtt{\@prtct\grt@xipt}}
133 \@addfontinfo\@xiipt{\def\pgr{\@prtct\gr@xiipt}%
134                      \def\pgrbf{\@prtct\grb@xiipt}%
135                      \def\pgrit{\@prtct\gri@xiipt}%
136                      \def\pgrtt{\@prtct\grt@xiipt}}
137 \@addfontinfo\@xivpt{\def\pgr{\@prtct\gr@xivpt}%
138                      \def\pgrbf{\@prtct\grb@xivpt}%
139                      \def\pgrit{\@prtct\gri@xivpt}%
140                      \def\pgrtt{\@prtct\grt@xivpt}}
141 \@addfontinfo\@xviipt{\def\pgr{\@prtct\gr@xviipt}%
142                       \def\pgrbf{\@prtct\grb@xviipt}%
143                       \def\pgrit{\@prtct\gri@xviipt}%
144                       \def\pgrtt{\@prtct\grt@xviipt}}
145 \@addfontinfo\@xxpt{\def\pgr{\@prtct\gr@xxpt}%
146                     \def\pgrbf{\@prtct\grb@xxpt}%
147                     \def\pgrit{\@prtct\gri@xxpt}%
148                     \def\pgrtt{\@prtct\grt@xxpt}}
149 \@addfontinfo\@xxvpt{\def\pgr{\@prtct\gr@xxvpt}%
150                      \def\pgrbf{\@prtct\grb@xxvpt}%
151                      \def\pgrit{\@prtct\gri@xxvpt}%
152                      \def\pgrtt{\@prtct\grt@xxvpt}}
153
154 % Finally, we can define WHICH fonts are to be loaded on demand.
155 %
156 \def\gr@vpt{\@subfont\gr\rm}
157 \def\gr@vipt{\gr@getfont\pgr\grfam\@vipt{\gr@@k\@ptscale6}}
158 \def\gr@viipt{\gr@getfont\pgr\grfam\@viipt{\gr@@k\@ptscale7}}
159 \def\gr@viiipt{\gr@getfont\pgr\grfam\@viiipt{\gr@@k\@ptscale8}}
160 \def\gr@ixpt{\gr@getfont\pgr\grfam\@ixpt{\gr@@k\@ptscale9}}
161 \def\gr@xpt{\gr@getfont\pgr\grfam\@xpt{\gr@@k}}
162 \def\gr@xipt{\gr@getfont\pgr\grfam\@xipt{\gr@@k\@halfmag}}
163 \def\gr@xiipt{\gr@getfont\pgr\grfam\@xiipt{\gr@@k\@magscale1}}
164 \def\gr@xivpt{\gr@getfont\pgr\grfam\@xivpt{\gr@@k\@magscale2}}
165 \def\gr@xviipt{\gr@getfont\pgr\grfam\@xviipt{\gr@@k\@magscale3}}
166 \def\gr@xxpt{\gr@getfont\pgr\grfam\@xxpt{\gr@@k\@magscale4}}
167 \def\gr@xxvpt{\gr@getfont\pgr\grfam\@xxvpt{\gr@@k\@magscale5}}
168
169 \def\grb@vpt{\@subfont\grbf\bf}
170 \def\grb@vipt{\gr@getfont\pgrbf\grbfam\@vipt{\@gr@@kb\@ptscale6}}
171 \def\grb@viipt{\gr@getfont\pgrbf\grbfam\@viipt{\gr@@kb\@ptscale7}}
172 \def\grb@viiipt{\gr@getfont\pgrbf\grbfam\@viiipt{\gr@@kb\@ptscale8}}
173 \def\grb@ixpt{\gr@getfont\pgrbf\grbfam\@ixpt{\gr@@kb\@ptscale9}}
174 \def\grb@xpt{\gr@getfont\pgrbf\grbfam\@xpt{\gr@@kb}}
175 \def\grb@xipt{\gr@getfont\pgrbf\grbfam\@xipt{\gr@@kb\@halfmag}}
176 \def\grb@xiipt{\gr@getfont\pgrbf\grbfam\@xiipt{\gr@@kb\@magscale1}}
177 \def\grb@xivpt{\gr@getfont\pgrbf\grbfam\@xivpt{\gr@@kb\@magscale2}}
178 \def\grb@xviipt{\gr@getfont\pgrbf\grbfam\@xviipt{\gr@@kb\@magscale3}}
179 \def\grb@xxpt{\gr@getfont\pgrbf\grbfam\@xxpt{\gr@@kb\@magscale4}}
180 \def\grb@xxvpt{\gr@getfont\pgrbf\grbfam\@xxvpt{\gr@@kb\@magscale5}}
181
182 \def\gri@vpt{\@subfont\grit\it}
183 \def\gri@vipt{\gr@getfont\pgrit\grifam\@vipt{\gr@@ki\@ptscale6}}
184 \def\gri@viipt{\gr@getfont\pgrit\grifam\@viipt{\gr@@ki\@ptscale7}}
185 \def\gri@viiipt{\gr@getfont\pgrit\grifam\@viiipt{\gr@@ki\@ptscale8}}
186 \def\gri@ixpt{\gr@getfont\pgrit\grifam\@ixpt{\gr@@ki\@ptscale9}}
187 \def\gri@xpt{\gr@getfont\pgrit\grifam\@xpt{\gr@@ki}}
188 \def\gri@xipt{\gr@getfont\pgrit\grifam\@xipt{\gr@@ki\@halfmag}}
189 \def\gri@xiipt{\gr@getfont\pgrit\grifam\@xiipt{\gr@@ki\@magscale1}}
190 \def\gri@xivpt{\gr@getfont\pgrit\grifam\@xivpt{\gr@@ki\@magscale2}}
191 \def\gri@xviipt{\gr@getfont\pgrit\grifam\@xviipt{\gr@@ki\@magscale3}}
192 \def\gri@xxpt{\gr@getfont\pgrit\grifam\@xxpt{\gr@@ki\@magscale4}}
193 \def\gri@xxvpt{\gr@getfont\pgrit\grifam\@xxvpt{\gr@@ki\@magscale5}}
194
195 \def\grt@vpt{\@subfont\grtt\tt}
196 \def\grt@vipt{\gr@getfont\pgrtt\grtfam\@vipt{\gr@@kt\@ptscale6}%
197          \@nohyphens\pgrtt\@vipt}
198 \def\grt@viipt{\gr@getfont\pgrtt\grtfam\@viipt{\gr@@kt\@ptscale7}%
199          \@nohyphens\pgrtt\@viipt}
200 \def\grt@viiipt{\gr@getfont\pgrtt\grtfam\@viiipt{\gr@@kt\@ptscale8}%
201          \@nohyphens\pgrtt\@viiipt}
202 \def\grt@ixpt{\gr@getfont\pgrtt\grtfam\@ixpt{\gr@@kt\@ptscale9}%
203          \@nohyphens\pgrtt\@ixpt}
204 \def\grt@xpt{\gr@getfont\pgrtt\grtfam\@xpt{\gr@@kt}%
205          \@nohyphens\pgrtt\@xpt}
206 \def\grt@xipt{\gr@getfont\pgrtt\grtfam\@xipt{\gr@@kt\@halfmag}%
207          \@nohyphens\pgrtt\@xipt}
208 \def\grt@xiipt{\gr@getfont\pgrtt\grtfam\@xiipt{\gr@@kt\@magscale1}%
209          \@nohyphens\pgrtt\@xiipt}
210 \def\grt@xivpt{\gr@getfont\pgrtt\grtfam\@xivpt{\gr@@kt\@magscale2}%
211          \@nohyphens\pgrtt\@xivpt}
212 \def\grt@xviipt{\gr@getfont\pgrtt\grtfam\@xviipt{\gr@@kt\@magscale3}%
213          \@nohyphens\pgrtt\@xviipt}
214 \def\grt@xxpt{\gr@getfont\pgrtt\grtfam\@xxpt{\gr@@kt\@magscale4}%
215          \@nohyphens\pgrtt\@xxpt}
216 \def\grt@xxvpt{\gr@getfont\pgrtt\grtfam\@xxvpt{\gr@@kt\@magscale5}%
217          \@nohyphens\pgrtt\@xxvpt}