summaryrefslogtreecommitdiff
path: root/obsolete/macros/latex209/contrib/ml/ibmkbd.sty
blob: c78820fba76746aa7b57ad29f7c8ff10e781b1ac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
\typeout{The extended characters used with this style
                  correspond with ASCII.TCP.}
\newif\ifgreek
\newif\ifdots\dotstrue
\def\adddialect#1#2{%
    \global\chardef#1#2
    \wlog{\string#1 = a dialect from \string\language#2}}
\def\ifnextchar#1#2#3{\let\tempe #1\def\tempa{#2}\def\tempb{#3}\futurelet
  \tempc\ifnch}
\def\ifnch{\ifx\tempc\tempe\let\tempd\tempa\else\let\tempd\tempb\fi\tempd}
\ifx\iflanguage\undefined\def\iflanguage#1#2#3{#3}\fi
\def\root#1{\ifmmode\sqrt#1\else\begin{math}\sqrt#1\end{math}\fi}
\def\asciicxxviii{\iflanguage{russian}A{\c{C}}} % 128  
\def\asciicxxix{\iflanguage{russian}B{\"u}} % 129  
\def\asciicxxx{\iflanguage{russian}V\eac} % 130  
\def\asciicxxxi{\iflanguage{russian}G\ahat} % 131  
\def\asciicxxxii{\iflanguage{russian}D{\"a}} % 132  
\def\asciicxxxiii{\iflanguage{russian}E\agr} % 133  
\def\asciicxxxiv{\iflanguage{russian}{\Z }{\aa }} % 134  
\def\asciicxxxv{\iflanguage{russian}Z{\c{c}}} % 135  
\def\asciicxxxvi{\iflanguage{russian}I\ehat} % 136  
\def\asciicxxxvii{\iflanguage{russian}J{\"e}} % 137  
\def\asciicxxxviii{\iflanguage{russian}K\egr} % 138  
\def\asciicxxxix{\iflanguage{russian}L\idots} % 139  
\def\asciicxl{\iflanguage{russian}M\ihat} % 140  
\def\asciicxli{\iflanguage{russian}N\igr} % 141  
\def\asciicxlii{\iflanguage{russian}O{\"A}} % 142  
\def\asciicxliii{\iflanguage{russian}P\AA } % 143  
\def\asciicxliv{\iflanguage{russian}R\'E} % 144  
\def\asciicxlv{\iflanguage{russian}S{\ae }} % 145  
\def\asciicxlvi{\iflanguage{russian}T{\AE }} % 146  
\def\asciicxlvii{\iflanguage{russian}U\ohat} % 147  
\def\asciicxlviii{\iflanguage{russian}F{\"o}} % 148  
\def\asciicxlix{\iflanguage{russian}H\ogr} % 149  
\def\asciicl{\iflanguage{russian}C\uhat} % 150  
\def\asciicli{\iflanguage{russian}{\Cz}\ugr} % 151  
\def\asciiclii{\iflanguage{russian}{\S}{\allowhyphens
  i\kern-0.06pt j\allowhyphens}} % 152  
\def\asciicliii{\iflanguage{russian}{\Scz}{\"O}} % 153  
\def\asciicliv{\iflanguage{russian}{\tz}{\"U}} % 154  
\def\asciiclvi{\iflanguage{russian}{\mz}{\pounds }} % 156  
\def\asciiclviii{\iflanguage{russian}{\Ju}{}} % 158  
\def\asciiclix{\iflanguage{russian}{\Ja}{{\it f\,}}} % 159  
\def\asciiclx{\iflanguage{russian}a\aac} % 160  
\def\asciiclxi{\iflanguage{russian}b\iac} % 161  
\def\asciiclxii{\iflanguage{russian}v\oac} % 162  
\def\asciiclxiii{\iflanguage{russian}g\uac} % 163  
\def\asciiclxiv{\iflanguage{russian}d\ntilde} % 164  
\def\asciiclxv{\iflanguage{russian}e\~N} % 165  
\def\asciiclxvi{\iflanguage{russian}{\z}{}} % 166  
\def\asciiclxviii{\iflanguage{russian}i{?`}} % 168  
\def\asciiclxx
   {\iflanguage{russian}k{\ifmmode\neg\else{\begin{math}\neg\end{math}}\fi{}}}
% 170 
\def\asciiclxxi{\iflanguage{russian}{l}
   \ifmmode{\frac{1}{2}}\else{\begin{math}\frac{1}{2}\end{math}}\fi{}} % 171  
\def\asciiclxxii{\iflanguage{russian}{m}
   \ifmmode{\frac{1}{4}}\else{\begin{math}\frac{1}{4}\end{math}}\fi{}} % 172  
\def\asciiclxxiii{\iflanguage{russian}n{!`}} % 173  
\def\asciiclxxiv{\iflanguage{russian}o\leftquotes } % 174  
\def\asciiclxxv{\iflanguage{russian}p\rightquotes } % 175  
\def\asciiclxxix{\,/\,\allowhyphens} % 179  
\def\asciiclxxxvi{\ifmmode\|\else{\begin{math}\|\end{math}}\fi{}} % 186 
\def\asciicxci{\iflanguage{russian}{\leftquotes }{\rceil }} % 191 
\def\asciicxcii{\iflanguage{russian}{\rightquotes }{\lfloor }} % 192 
\def\asciicxciii{\ifmmode\bot\else{\begin{math}\bot\end{math}}\fi{}} % 193 
\def\asciicxciv{\ifmmode\top\else{\begin{math}\top\end{math}}\fi{}} % 194  
\def\asciicxcvi#1 {\mbox{\dashes#1}{ }} % 196  
\def\asciicxcvii{\dag } % 197  
\def\asciicxcviii{\ifmmode\models\else{\begin{math}\models\end{math}}\fi{}} % 198 
\def\asciiccxvi{\ddag } % 216  
\def\asciiccxvii{\rfloor } % 217 
\def\asciiccxviii{\lceil } % 218 
\def\asciiccxxi{\discretionary{-}{}{\kern.03em}} % 
\def\asciiccxxiv{\ifgreek{a}\else\iflanguage{russian}{r}
   {\ifmmode\alpha\else{\begin{math}\alpha\end{math}}\fi}\fi{}} % 224  
\def\asciiccxxv{\ifgreek{b}\else\iflanguage{russian}s\ss{}\fi{}} % 225  
\def\asciiccxxvi{\ifgreek{G}\else\iflanguage{russian}{t}
   {\ifmmode\Gamma\else{\begin{math}\Gamma\end{math}}\fi}\fi{}}% 226  
\def\asciiccxxvii{\ifgreek{p}\else\iflanguage{russian}{u}
   {\ifmmode\pi\else{\begin{math}\pi\end{math}}\fi}\fi{}} % 227  
\def\asciiccxxviii{\ifgreek{S}\else\iflanguage{russian}{v}
   {\ifmmode\Sigma\else{\begin{math}\Sigma\end{math}}\fi}\fi{}} % 228  
\def\asciiccxxix{\ifgreek{s}\else\iflanguage{russian}{h}
   {\ifmmode\sigma\else{\begin{math}\sigma\end{math}}\fi}\fi{}} % 229  
\def\asciiccxxx{\ifgreek{m}\else\iflanguage{russian}{c}
   {\ifmmode\mu\else{\begin{math}\mu\end{math}}\fi}\fi{}} % 230  
\def\asciiccxxxi{\ifgreek{g}\else\iflanguage{russian}{\cz}
   {\ifmmode\gamma\else{\begin{math}\gamma\end{math}}\fi}\fi{}} % 231  
\def\asciiccxxxii{\ifgreek{F}\else\iflanguage{russian}{\s}
   {\ifmmode\Phi\else{\begin{math}\Phi\end{math}}\fi}\fi{}} % 231  
\def\asciiccxxxiii{\ifgreek{j}\else\iflanguage{russian}{\scz}
   {\ifmmode\theta\else{\begin{math}\theta\end{math}}\fi}\fi{}} % 233  
\def\asciiccxxxiv{\ifgreek{W}\else\iflanguage{russian}{\Tz}
   {\ifmmode\Omega\else{\begin{math}\Omega\end{math}}\fi}\fi{}} % 234  
\def\asciiccxxxv{\ifgreek{d}\else\iflanguage{russian}{y}
   {\ifmmode\delta\else{\begin{math}\delta\end{math}}\fi}\fi{}} % 235  
\def\asciiccxxxvi{\iflanguage{russian}{\Mz}
   {\ifmmode\infty\else{\begin{math}\infty\end{math}}\fi{}}} % 236  
\def\asciiccxxxvii{\iflanguage{russian}z{\o }} % 237  
\def\asciiccxxxviii{\ifgreek{e}\else\iflanguage{russian}{\ju}
   {\ifmmode\varepsilon\else{\begin{math}\varepsilon\end{math}}\fi}\fi{}}
% 238 
\def\asciiccxxxix{\iflanguage{russian}{\ja}
{\ifmmode\bigcap\else{\begin{math}\bigcap\end{math}}\fi{}}} % 239  
\def\asciiccxl{\ifmmode\equiv\else{\begin{math}\equiv\end{math}}\fi{}} % 240  
\def\asciiccxli{\iflanguage{russian}{"e}
   {\ifmmode\pm\else{\begin{math}\pm\end{math}}\fi{}}} % 241  
\def\asciiccxlii{\iflanguage{russian}
   {\ifmmode^{2}\else{\begin{math}^{2}\end{math}}\fi{}}
   {\ifmmode\geq\else{\begin{math}\geq\end{math}}\fi{}}} % 242  
\def\asciiccxliii{\iflanguage{russian}{\footnote}
   {\ifmmode\leq\else{\begin{math}\leq\end{math}}\fi{}}} % 243  
\def\asciiccxlvi{\ifmmode\div\else{\begin{math}\div\end{math}}\fi{}} % 246  
\def\asciiccxlvii{\ifmmode\approx\else{\begin{math}\approx\end{math}}\fi{}} % 247  
\def\asciiccxlviii{\ifmmode{^0}\else{\begin{math}^0\end{math}}\fi{}} % 248  
\def\asciiccxlix{\pel} % 249  
\def\asciiccla{\ifdots\hbox\bgroup\fi%\else\unskip\penalty-301\fi
   \ifnextchar\asciiccl{\ifmmode\mathinner{\ldotp\,}
      \else\begin{math}\mathinner{\ldotp\,}\end{math}\fi\dotsfalse}
                       {\ifmmode\mathinner{\ldotp\,}
      \else\begin{math}\mathinner{\ldotp\,}\end{math}\fi\egroup\dotstrue}}
\def\asciiccl{\protect\asciiccla} %
%\@ifnextchar{\ifmmode\ldotp\,\else
%   \begin{math}\ldotp\,\end{math}\fi\linebreak}
%   {\ifmmode\ldotp\,\else
%   \begin{math}\ldotp\,\end{math}\fi\nolinebreak}
%   % 250 
\def\asciiccli{\root} % 
\def\asciicclii{\footnote} % 
\def\asciiccliii{\ifmmode{^2}\else{\begin{math}^2\end{math}}\fi}
\def\asciiccliv{\item } % 
\gdef\agr{\`{a}}
\gdef\egr{\`{e}}
\gdef\igr{\`{\i}}
\gdef\ogr{\`{o}}
\gdef\ugr{\`{u}}
\gdef\aac{\'{a}}
\gdef\eac{\'{e}}
\gdef\iac{\'{\i}}
\gdef\oac{\'{o}}
\gdef\uac{\'{u}}
\gdef\ahat{\^{a}}
\gdef\ehat{\^{e}}
\gdef\ihat{\^{\i}}
\gdef\ohat{\^{o}}
\gdef\uhat{\^{u}}
\catcode`\"\active
\gdef\idots{"i}
\catcode`\"12
\gdef\ntilde{\~{n}}
\gdef\E{\relax}
\gdef\e{\relax}
\gdef\S{\relax}
\gdef\s{\relax}
\gdef\Z{\relax}
\gdef\z{\relax}
\gdef\Ja{\relax}
\gdef\ja{\relax}
\gdef\Ju{\relax}
\gdef\ju{\relax}
\gdef\Cz{\relax}
\gdef\cz{\relax}
\gdef\Mz{\relax}
\gdef\mz{\relax}
\gdef\Tz{\relax}
\gdef\tz{\relax}
\gdef\Scz{\relax}
\gdef\scz{\relax}
\catcode\lq\'=11
\catcode\lq\`=11
\catcode\lq\~=11
\lccode\lq\'=\lq\'%
\lccode\lq\`=\lq\`%
\lccode\lq\~=\lq\~%
\def\gobble#1{}
\def\keybgreek{\ifx\undefined%
\typeout{Warning: Be sure your TeX version uses ascii.tcp^^J
\@spaces\@spaces
or do not use an extended keyboard!}\fi%
\def\eac{'e}%
\def\ahat{~a}%
\def\agr{`a}%
\def\ehat{~e}%
\def\egr{`e}%
\def\ogr{`o}%
\def\ihat{~i}%
\def\igr{`i}%
\def\ohat{~o}%
\def\uhat{~u}%
\def\ugr{`u}%
\def\aac{'a}%
\def\iac{'i}%
\def\oac{'o}%
\def\uac{'u}%
\def\ntilde{~h}%
\def\asciiccxxxvi{~w}%
}
\catcode\lq\'=12
\catcode\lq\`=12
\catcode\lq\~=13
\lccode\lq\'=\lq\'%
\lccode\lq\`=\lq\`%
\lccode\lq\~=\lq\~%
\newcount\vwl
\newcount\acct
\def\lt{<}
\def\gt{>}
{%
\catcode\lq\<=13%
\catcode\lq\>=13%
\catcode\lq\~=11%
\catcode\lq\"=11%
\catcode\lq\|=11%
\catcode\lq\'=13%
\catcode\lq\`=13%
\lccode\lq\>=\lq\>%
\lccode\lq\<=\lq\<%
\lccode\lq\~=\lq\~%
\lccode\lq\"=\lq\"%
\lccode\lq\|=\lq\|%
\lccode\lq\'=\lq\'%
\lccode\lq\`=\lq\`%
  \gdef'{\ifnextchar `{\expandafter\smoothgrave\gobble}%
   {\ifnextchar ~{\expandafter\smoothcircumflex\gobble}%
   {\ifnextchar '{\expandafter\accent\rq136\gobble}%
   {\ifnextchar\asciiclx{\expandafter\aaclenis\gobble}%
   {\ifnextchar\asciicxxx{\expandafter\eaclenis\gobble}%
   {\ifnextchar\asciiclxi{\expandafter\iaclenis\gobble}%
   {\ifnextchar\asciiclxii{\expandafter\oaclenis\gobble}%
   {\ifnextchar\asciiclxiii{\expandafter\uaclenis\gobble}%
   {\ifnextchar\asciicxxxiii{\expandafter\agrlenis\gobble}%
   {\ifnextchar\asciicxxxviii{\expandafter\egrlenis\gobble}%
   {\ifnextchar\asciicxli{\expandafter\igrlenis\gobble}%
   {\ifnextchar\asciicxlix{\expandafter\ogrlenis\gobble}%
   {\ifnextchar\asciicli{\expandafter\ugrlenis\gobble}%
      {\char\lq\'}}}}}}}}}}}}}}
  \gdef`{\ifnextchar `{\expandafter\roughgrave\gobble}%
   {\ifnextchar ~{\expandafter\roughcircumflex\gobble}%
   {\ifnextchar '{\expandafter\accent\rq126\gobble}%
   {\ifnextchar\asciiclx{\expandafter\aacasper\gobble}%
   {\ifnextchar\asciicxxx{\expandafter\eacasper\gobble}%
   {\ifnextchar\asciiclxi{\expandafter\iaclenis\gobble}%
   {\ifnextchar\asciiclxii{\expandafter\oacasper\gobble}%
   {\ifnextchar\asciiclxiii{\expandafter\uaclenis\gobble}%
   {\ifnextchar\asciicxxxiii{\expandafter\agrasper\gobble}%
   {\ifnextchar\asciicxxxviii{\expandafter\egrasper\gobble}%
   {\ifnextchar\asciicxli{\expandafter\igrlenis\gobble}%
   {\ifnextchar\asciicxlix{\expandafter\ograsper\gobble}%
   {\ifnextchar\asciicli{\expandafter\ugrlenis\gobble}%
      {\char\lq\`}}}}}}}}}}}}}}
  \gdef>{\ifnextchar `{\expandafter\smoothgrave\gobble}%
   {\ifnextchar ~{\expandafter\smoothcircumflex\gobble}%
   {\ifnextchar '{\expandafter\accent\rq136\gobble}%
   {\ifnextchar\asciiclx{\expandafter\aaclenis\gobble}%
   {\ifnextchar\asciicxxx{\expandafter\eaclenis\gobble}%
   {\ifnextchar\asciiclxi{\expandafter\iaclenis\gobble}%
   {\ifnextchar\asciiclxii{\expandafter\oaclenis\gobble}%
   {\ifnextchar\asciiclxiii{\expandafter\uaclenis\gobble}%
   {\ifnextchar\asciicxxxiii{\expandafter\agrlenis\gobble}%
   {\ifnextchar\asciicxxxviii{\expandafter\egrlenis\gobble}%
   {\ifnextchar\asciicxli{\expandafter\igrlenis\gobble}%
   {\ifnextchar\asciicxlix{\expandafter\ogrlenis\gobble}%
   {\ifnextchar\asciicli{\expandafter\ugrlenis\gobble}%
      {\char\lq\>}}}}}}}}}}}}}}
   \gdef\aaclenis{\accent\rq136 a\relax}
   \gdef\eaclenis{\accent\rq136 e\relax}
   \gdef\iaclenis{\accent\rq136 i\relax}
   \gdef\oaclenis{\accent\rq136 o\relax}
   \gdef\uaclenis{\accent\rq136 u\relax}
   \gdef\agrlenis{\accent\rq137 a\relax}
   \gdef\egrlenis{\accent\rq137 e\relax}
   \gdef\igrlenis{\accent\rq137 i\relax}
   \gdef\ogrlenis{\accent\rq137 o\relax}
   \gdef\ugrlenis{\accent\rq137 u\relax}
  \gdef<{\ifnextchar `{\expandafter\roughgrave\gobble}%
   {\ifnextchar ~{\expandafter\roughcircumflex\gobble}%
   {\ifnextchar '{\expandafter\accent\rq126\gobble}%
   {\ifnextchar\asciiclx{\expandafter\aacasper\gobble}%
   {\ifnextchar\asciicxxx{\expandafter\eacasper\gobble}%
   {\ifnextchar\asciiclxi{\expandafter\iaclenis\gobble}%
   {\ifnextchar\asciiclxii{\expandafter\oacasper\gobble}%
   {\ifnextchar\asciiclxiii{\expandafter\uaclenis\gobble}%
   {\ifnextchar\asciicxxxiii{\expandafter\agrasper\gobble}%
   {\ifnextchar\asciicxxxviii{\expandafter\egrasper\gobble}%
   {\ifnextchar\asciicxli{\expandafter\igrlenis\gobble}%
   {\ifnextchar\asciicxlix{\expandafter\ograsper\gobble}%
   {\ifnextchar\asciicli{\expandafter\ugrlenis\gobble}%
      {\char\lq\<}}}}}}}}}}}}}}
   \gdef\aacasper{\accent\rq126 a\relax}
   \gdef\eacasper{\accent\rq126 e\relax}
   \gdef\iacasper{\accent\rq126 i\relax}
   \gdef\oacasper{\accent\rq126 o\relax}
   \gdef\uacasper{\accent\rq126 u\relax}
   \gdef\agrasper{\accent\rq103 a\relax}
   \gdef\egrasper{\accent\rq103 e\relax}
   \gdef\igrasper{\accent\rq103 i\relax}
   \gdef\ograsper{\accent\rq103 o\relax}
   \gdef\ugrasper{\accent\rq103 u\relax}
  \gdef\smoothgrave#1{\acct=\rq137 \vwl=\lq#1 \dobreathinggrave}
  \gdef\roughgrave#1{\acct=\rq103 \vwl=\lq#1 \dobreathinggrave}
  \gdef\dobreathinggrave{\ifnum\vwl\lt\rq133%40	%if uppercase
    \ifnum\vwl\gt\rq100%
    \char\the\acct\char\the\vwl\else\expandafter\testiota\fi\fi}
  \gdef\smoothcircumflex#1{\acct=\rq134 \vwl=\lq#1 \dobreathingcircumflex}
  \gdef\roughcircumflex#1{\acct=\rq100 \vwl=\lq#1 \dobreathingcircumflex}
  \gdef\dobreathingcircumflex{\ifnum\vwl\lt\rq140 %if uppercase
    \char\the\acct\kern -.2em\char\the\vwl\else
    \doaccent\fi}
  \gdef\doaccent{\accent\the\acct \char\the\vwl\relax}
  \gdef\testiota{\ifnextchar |{\addiota\doaccent\gobble}{\doaccent}}
  \gdef\addiota{\ifnum\vwl=\lq a\vwl=\rq370%
    \else\ifnum\vwl=\lq h\vwl=\rq371 \else\vwl=\rq372 \fi\fi}
  \gdef\doaccent{\accent\the\acct \char\the\vwl\relax}
}