summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/ofs/ofs-tx.tex
blob: b9d184569d9f28a1a5eb9cb9826a84dfdd4f5bce (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
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
% OFS: TX fonts, math encoding declaration
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Apr. 2004                                  Petr Olsak

\protectreading ofs-tx.tex % This is part of OFS package

\mathencdef\TXSYCmathchars {%
  \fontmessage{\ofsmessageheader Math symbols are set for TX encoding.}%
  \mathchardef\mappedfromchar       "3\hex\txsycfam 00
  \def\mappedfrom{\leftarrow\mappedfromchar}%
  \def\longmappedfrom{\longleftarrow\mappedfromchar}%
  \mathchardef\Mapstochar           "3\hex\txsycfam 01
  \def\Mapsto{\Mapstochar\Rightarrow}%
  \def\Longmapsto{\Mapstochar\Longrightarrow}%
  \mathchardef\Mappedfromchar       "3\hex\txsycfam 02
  \def\Mappedfrom{\Leftarrow\Mappedfromchar}%
  \def\Longmappedfrom{\Longleftarrow\Mappedfromchar}%
  \mathchardef\mmapstochar          "3\hex\txsycfam 03
  \def\mmapsto{\mmapstochar\rightarrow}%
  \def\longmmapsto{\mmapstochar\longrightarrow}%
  \mathchardef\mmappedfromchar      "3\hex\txsycfam 04
  \def\mmappedfrom{\leftarrow\mmappedfromchar}%
  \def\longmmappedfrom{\longleftarrow\mmappedfromchar}%
  \mathchardef\Mmapstochar          "3\hex\txsycfam 05
  \def\Mmapsto{\Mmapstochar\Rightarrow}%
  \def\Longmmapsto{\Mmapstochar\Longrightarrow}%
  \mathchardef\Mmappedfromchar      "3\hex\txsycfam 06
  \def\Mmappedfrom{\Leftarrow\Mmappedfromchar}%
  \def\Longmmappedfrom{\Longleftarrow\Mmappedfromchar}%
  \mathchardef\medcirc              "2\hex\txsycfam 07
  \mathchardef\medbullet            "2\hex\txsycfam 08
  \mathchardef\varparallel          "3\hex\txsycfam 09
  \mathchardef\varparallelinv       "3\hex\txsycfam 0A
  \mathchardef\nvarparallel         "3\hex\txsycfam 0B
  \mathchardef\nvarparallelinv      "3\hex\txsycfam 0C
  \mathchardef\colonapprox          "3\hex\txsycfam 0D
  \mathchardef\colonsim             "3\hex\txsycfam 0E
  \mathchardef\Colonapprox          "3\hex\txsycfam 0F
  \mathchardef\Colonsim             "3\hex\txsycfam 10
  \mathchardef\doteq                "3\hex\txsycfam 11
  \mathchardef\multimapinv          "3\hex\txsycfam 12
  \mathchardef\multimapboth         "3\hex\txsycfam 13
  \mathchardef\multimapdot          "3\hex\txsycfam 14
  \mathchardef\multimapdotinv       "3\hex\txsycfam 15
  \mathchardef\multimapdotboth      "3\hex\txsycfam 16
  \mathchardef\multimapdotbothA     "3\hex\txsycfam 17
  \mathchardef\multimapdotbothB     "3\hex\txsycfam 18
  \mathchardef\VDash                "3\hex\txsycfam 19
  \mathchardef\VvDash               "3\hex\txsycfam 1A
  \mathchardef\cong                 "3\hex\txsycfam 1B
  \mathchardef\preceqq              "3\hex\txsycfam 1C
  \mathchardef\succeqq              "3\hex\txsycfam 1D
  \mathchardef\nprecsim             "3\hex\txsycfam 1E
  \mathchardef\nsuccsim             "3\hex\txsycfam 1F
  \mathchardef\nlesssim             "3\hex\txsycfam 20
  \mathchardef\ngtrsim              "3\hex\txsycfam 21
  \mathchardef\nlessapprox          "3\hex\txsycfam 22
  \mathchardef\ngtrapprox           "3\hex\txsycfam 23
  \mathchardef\npreccurlyeq         "3\hex\txsycfam 24
  \mathchardef\nsucccurlyeq         "3\hex\txsycfam 25
  \mathchardef\ngtrless             "3\hex\txsycfam 26
  \mathchardef\nlessgtr             "3\hex\txsycfam 27
  \mathchardef\nbumpeq              "3\hex\txsycfam 28
  \mathchardef\nBumpeq              "3\hex\txsycfam 29
  \mathchardef\nbacksim             "3\hex\txsycfam 2A
  \mathchardef\nbacksimeq           "3\hex\txsycfam 2B
  \mathchardef\neq                  "3\hex\txsycfam 2C
  \let\ne=\neq
  \mathchardef\nasymp               "3\hex\txsycfam 2D
  \mathchardef\nequiv               "3\hex\txsycfam 2E
  \mathchardef\nsim                 "3\hex\txsycfam 2F
  \mathchardef\napprox              "3\hex\txsycfam 30
  \mathchardef\nsubset              "3\hex\txsycfam 31
  \mathchardef\nsupset              "3\hex\txsycfam 32
  \mathchardef\nll                  "3\hex\txsycfam 33
  \mathchardef\ngg                  "3\hex\txsycfam 34
  \mathchardef\nthickapprox         "3\hex\txsycfam 35
  \mathchardef\napproxeq            "3\hex\txsycfam 36
  \mathchardef\nprecapprox          "3\hex\txsycfam 37
  \mathchardef\nsuccapprox          "3\hex\txsycfam 38
  \mathchardef\npreceqq             "3\hex\txsycfam 39
  \mathchardef\nsucceqq             "3\hex\txsycfam 3A
  \mathchardef\nsimeq               "3\hex\txsycfam 3B
  \mathchardef\notin                "3\hex\txsycfam 3C
  \mathchardef\notni                "3\hex\txsycfam 3D
   \let\notowns=\notni
  \mathchardef\nSubset              "3\hex\txsycfam 3E
  \mathchardef\nSupset              "3\hex\txsycfam 3F
  \mathchardef\nsqsubseteq          "3\hex\txsycfam 40
  \mathchardef\nsqsupseteq          "3\hex\txsycfam 41
  \mathchardef\coloneqq             "3\hex\txsycfam 42
  \mathchardef\eqqcolon             "3\hex\txsycfam 43
  \mathchardef\coloneq              "3\hex\txsycfam 44
  \mathchardef\eqcolon              "3\hex\txsycfam 45
  \mathchardef\Coloneqq             "3\hex\txsycfam 46
  \mathchardef\Eqqcolon             "3\hex\txsycfam 47
  \mathchardef\Coloneq              "3\hex\txsycfam 48
  \mathchardef\Eqcolon              "3\hex\txsycfam 49
  \mathchardef\strictif             "3\hex\txsycfam 4A
  \mathchardef\strictfi             "3\hex\txsycfam 4B
  \mathchardef\strictiff            "3\hex\txsycfam 4C
  \mathchardef\invamp               "2\hex\txsycfam 4D
  \edef\lbag{\delimiter "4\hex\txsycfam 4E\hex\txexafam 30 }%
  \edef\rbag{\delimiter "5\hex\txsycfam 4F\hex\txexafam 31 }%
  \mathchardef\Lbag                 "4\hex\txsycfam 50
  \mathchardef\Rbag                 "5\hex\txsycfam 51
  \mathchardef\circledless          "3\hex\txsycfam 52
  \mathchardef\circledgtr           "3\hex\txsycfam 53
  \mathchardef\circledwedge         "2\hex\txsycfam 54
  \mathchardef\circledvee           "2\hex\txsycfam 55
  \mathchardef\circledbar           "2\hex\txsycfam 56
  \mathchardef\circledbslash        "2\hex\txsycfam 57
  \mathchardef\lJoin                "3\hex\txsycfam 58
  \mathchardef\rJoin                "3\hex\txsycfam 59
  \mathchardef\Join                 "3\hex\txsycfam 5A
  \let\lrJoin=\Join
  \mathchardef\openJoin             "3\hex\txsycfam 5B
  \mathchardef\lrtimes              "3\hex\txsycfam 5C
  \mathchardef\opentimes            "3\hex\txsycfam 5D
  \mathchardef\Diamond              "0\hex\txsycfam 5E
  \mathchardef\Diamondblack         "0\hex\txsycfam 5F
  \mathchardef\nplus                "2\hex\txsycfam 60
  \mathchardef\nsqsubset            "3\hex\txsycfam 61
  \mathchardef\nsqsupset            "3\hex\txsycfam 62
  \mathchardef\dashleftarrow        "3\hex\txsycfam 63
  \mathchardef\dashrightarrow       "3\hex\txsycfam 64
  \let\dasharrow\dashrightarrow
  \mathchardef\dashleftrightarrow   "3\hex\txsycfam 65
  \mathchardef\leftsquigarrow       "3\hex\txsycfam 66
  \mathchardef\ntwoheadrightarrow   "3\hex\txsycfam 67
  \mathchardef\ntwoheadleftarrow    "3\hex\txsycfam 68
  \mathchardef\boxast               "2\hex\txsycfam 69
  \mathchardef\boxbslash            "2\hex\txsycfam 6A
  \mathchardef\boxbar               "2\hex\txsycfam 6B
  \mathchardef\boxslash             "2\hex\txsycfam 6C
  \mathchardef\Wr                   "2\hex\txsycfam 6D
  \mathchardef\lambdaslash          "0\hex\txsycfam 6E
  \mathchardef\lambdabar            "0\hex\txsycfam 6F
  \mathchardef\varclubsuit          "0\hex\txsycfam 70
  \mathchardef\vardiamondsuit       "0\hex\txsycfam 71
  \mathchardef\varheartsuit         "0\hex\txsycfam 72
  \mathchardef\varspadesuit         "0\hex\txsycfam 73
  \mathchardef\Nearrow              "3\hex\txsycfam 74
  \mathchardef\Searrow              "3\hex\txsycfam 75
  \mathchardef\Nwarrow              "3\hex\txsycfam 76
  \mathchardef\Swarrow              "3\hex\txsycfam 77
  \mathchardef\Top                  "0\hex\txsycfam 78
  \mathchardef\Bot                  "0\hex\txsycfam 79
  \mathchardef\Perp                 "3\hex\txsycfam 79
  \mathchardef\leadstoext           "3\hex\txsycfam 7A
  \mathchardef\leadsto              "3\hex\txsycfam 7B
  \mathchardef\sqcupplus            "2\hex\txsycfam 7C
  \mathchardef\sqcapplus            "2\hex\txsycfam 7D
  \edef\llbracket{\delimiter "4\hex\txsycfam 7E\hex\txexafam 12 }%
  \edef\rrbracket{\delimiter "5\hex\txsycfam 7F\hex\txexafam 13 }%
  \mathchardef\boxright             "3\hex\txsycfam 80
  \mathchardef\boxleft              "3\hex\txsycfam 81
  \mathchardef\boxdotright          "3\hex\txsycfam 82
  \mathchardef\boxdotleft           "3\hex\txsycfam 83
  \mathchardef\Diamondright         "3\hex\txsycfam 84
  \mathchardef\Diamondleft          "3\hex\txsycfam 85
  \mathchardef\Diamonddotright      "3\hex\txsycfam 86
  \mathchardef\Diamonddotleft       "3\hex\txsycfam 87
  \mathchardef\boxRight             "3\hex\txsycfam 88
  \mathchardef\boxLeft              "3\hex\txsycfam 89
  \mathchardef\boxdotRight          "3\hex\txsycfam 8A
  \mathchardef\boxdotLeft           "3\hex\txsycfam 8B
  \mathchardef\DiamondRight         "3\hex\txsycfam 8C
  \mathchardef\DiamondLeft          "3\hex\txsycfam 8D
  \mathchardef\DiamonddotRight      "3\hex\txsycfam 8E
  \mathchardef\DiamonddotLeft       "3\hex\txsycfam 8F
  \mathchardef\Diamonddot           "0\hex\txsycfam 90
  \mathchardef\circleright          "3\hex\txsycfam 91
  \mathchardef\circleleft           "3\hex\txsycfam 92
  \mathchardef\circleddotright      "3\hex\txsycfam 93
  \let\circledotright\circleddotright
  \mathchardef\circleddotleft       "3\hex\txsycfam 94
  \let\circledotleft\circleddotleft
  \mathchardef\multimapbothvert     "3\hex\txsycfam 95
  \mathchardef\multimapdotbothvert  "3\hex\txsycfam 96
  \mathchardef\multimapdotbothBvert "3\hex\txsycfam 97
  \mathchardef\multimapdotbothAvert "3\hex\txsycfam 98
}
\mathencdef\TXMIAmathchars {%
  \mathchardef\alphaup      "0\hex\txmiafam 0B
  \mathchardef\betaup       "0\hex\txmiafam 0C
  \mathchardef\gammaup      "0\hex\txmiafam 0D
  \mathchardef\deltaup      "0\hex\txmiafam 0E
  \mathchardef\epsilonup    "0\hex\txmiafam 0F
  \mathchardef\zetaup       "0\hex\txmiafam 10
  \mathchardef\etaup        "0\hex\txmiafam 11
  \mathchardef\thetaup      "0\hex\txmiafam 12
  \mathchardef\iotaup       "0\hex\txmiafam 13
  \mathchardef\kappaup      "0\hex\txmiafam 14
  \mathchardef\lambdaup     "0\hex\txmiafam 15
  \mathchardef\muup         "0\hex\txmiafam 16
  \mathchardef\nuup         "0\hex\txmiafam 17
  \mathchardef\xiup         "0\hex\txmiafam 18
  \mathchardef\piup         "0\hex\txmiafam 19
  \mathchardef\rhoup        "0\hex\txmiafam 1A
  \mathchardef\sigmaup      "0\hex\txmiafam 1B
  \mathchardef\tauup        "0\hex\txmiafam 1C
  \mathchardef\upsilonup    "0\hex\txmiafam 1D
  \mathchardef\phiup        "0\hex\txmiafam 1E
  \mathchardef\chiup        "0\hex\txmiafam 1F
  \mathchardef\psiup        "0\hex\txmiafam 20
  \mathchardef\omegaup      "0\hex\txmiafam 21
  \mathchardef\varepsilonup "0\hex\txmiafam 22
  \mathchardef\varthetaup   "0\hex\txmiafam 23
  \mathchardef\varpiup      "0\hex\txmiafam 24
  \mathchardef\varrhoup     "0\hex\txmiafam 25
  \mathchardef\varsigmaup   "0\hex\txmiafam 26
  \mathchardef\varphiup     "0\hex\txmiafam 27
  %
  \mathchardef\varg         "0\hex\txmiafam 31
  \mathchardef\vary         "0\hex\txmiafam 32
  \mathchardef\varv         "0\hex\txmiafam 33
  \mathchardef\varw         "0\hex\txmiafam 34
  %
  \mathchardef\varBbbk      "0\hex\txmiafam AB
}
\mathencdef\TXEXAmathchars {%
  \mathchardef\bignplus                "1\hex\txexafam 00
  \mathchardef\bigsqcupplus            "1\hex\txexafam 02
  \mathchardef\bigsqcapplus            "1\hex\txexafam 04
  \mathchardef\bigsqcap                "1\hex\txexafam 06
  \mathchardef\oiintop                 "1\hex\txexafam 08
   \def\oiint{\oiintop\nolimits}
  \mathchardef\ointctrclockwiseop      "1\hex\txexafam 0A
   \def\ointctrclockwise{\ointctrclockwiseop\nolimits}
  \mathchardef\ointclockwiseop         "1\hex\txexafam 0C
   \def\ointclockwise{\ointclockwiseop\nolimits}
  \mathchardef\sqintop                 "1\hex\txexafam 0E
   \def\sqint{\sqintop\nolimits}
  \mathchardef\varprod                 "1\hex\txexafam 10
  %\edef\llbracket{\delimiter "4\hex\txsycfam 7E\hex\txexafam 12 }%
  %\edef\rrbracket{\delimiter "5\hex\txsycfam 7F\hex\txexafam 13 }%
  \mathchardef\brecext                 "0\hex\txexafam 20
  \mathchardef\iintop                  "1\hex\txexafam 21
   \def\iint{\iintop\nolimits}
  \mathchardef\iiintop                 "1\hex\txexafam 23
   \def\iiint{\iiintop\nolimits}
  \mathchardef\iiiintop                "1\hex\txexafam 25
   \def\iiiint{\iiiintop\nolimits}
  \mathchardef\idotsintop              "1\hex\txexafam 27
   \def\idotsint{\idotsintop\nolimits}
  \mathchardef\oiiintop                "1\hex\txexafam 29
   \def\oiiint{\oiiintop\nolimits}
  \mathchardef\varointctrclockwiseop   "1\hex\txexafam 2B
   \def\varointctrclockwise{\varointctrclockwiseop\nolimits}
  \mathchardef\varointclockwiseop      "1\hex\txexafam 2D
   \def\varointclockwise{\varointclockwiseop\nolimits}
  \mathchardef\fintop                  "1\hex\txexafam 3E
   \def\fint{\fintop\nolimits}
  \mathchardef\oiintctrclockwiseop     "1\hex\txexafam 40
   \def\oiintctrclockwise{\oiintctrclockwiseop\nolimits}
  \mathchardef\varoiintclockwiseop     "1\hex\txexafam 42
   \def\varoiintclockwise{\varoiintclockwiseop\nolimits}
  \mathchardef\oiintclockwiseop        "1\hex\txexafam 48
   \def\oiintclockwise{\oiintclockwiseop\nolimits}
  \mathchardef\varoiintctrclockwiseop  "1\hex\txexafam 4A
   \def\varoiintctrclockwise{\varoiintctrclockwiseop\nolimits}
  \mathchardef\oiiintctrclockwiseop    "1\hex\txexafam 44
   \def\oiiintctrclockwise{\oiiintctrclockwiseop\nolimits}
  \mathchardef\varoiiintclockwiseop    "1\hex\txexafam 46
   \def\varoiiintclockwise{\varoiiintclockwiseop\nolimits}
  \mathchardef\oiiintclockwiseop       "1\hex\txexafam 4C
   \def\oiiintclockwise{\oiiintclockwiseop\nolimits}
  \mathchardef\varoiiintctrclockwiseop "1\hex\txexafam 4E
   \def\varoiiintctrclockwise{\varoiiintctrclockwiseop\nolimits}
  \mathchardef\sqiintop                "1\hex\txexafam 50
   \def\sqiint{\sqiintop\nolimits}
  \mathchardef\sqiiintop               "1\hex\txexafam 52
   \def\sqiiint{\sqiiintop\nolimits}
}
\mathencdef\TXmathmacros {%
  \def\lgroup{\delimiter"4\hex\bffam 2833A }% extensible ( with sharper tips
  \def\rgroup{\delimiter"5\hex\bffam 2933B }% extensible ) with sharper tips
  \def\bracevert{\delimiter"\hex\ttfam 7C33E }% the vertical bar that extends braces
  \let\ori@joinrel=\joinrel
  \def\joinrel{\mathrel{\mkern-2.5mu}}% -3mu in plain TeX
  %
  \def\varmathbb ##1{%  \varmathbb {ABC..} use bb symbols from txmia
    \ifx\expandaction\noexpand
       \noexpand\varmathbb{##1}%
    \else
       \csname fragilecommand!\endcsname
       \bgroup
       \count2=`A \count3="0\hex\txmiafam 81
       \loop \mathcode \count2=\count3 \relax
          \csname ifnum\endcsname \count2<`Z 
          \advance\count2 by1 \advance\count3 by1 \repeat 
       ##1%
       \egroup
    \fi
  }%
  \def\mathfrak ##1{{\fam\txmiafam ##1}}%
  %
  \def\ori@not=\not
  \def\not ##1{%  % \not\XXX expands to \notXXX or \nXXX or \mathchar"3236 \XXX
     \ifx ##1=\ne\else
     \ifx ##1<\nless\else
     \ifx ##1>\ngtr\else
     \runtxnot ##1\fi\fi\fi
  }%
  \def\runtxnot {\ifx\expandaction\noexpand \noexpand\not
     \else \csname fragilecommand!\endcsname
        \expandafter \trytxnot
     \fi
  }%
  \def\trytxnot ##1{\savetokenname ##1\tmpa
     \expandafter \ifx \csname n\tmpa\endcsname \relax
        \expandafter \ifx \csname not\tmpa\endcsname \relax
           \mathchar"3236 \expandafter \expandafter \expandafter ##1%
        \else
           \csname not\tmpa\endcsname
        \fi
     \else
        \csname n\tmpa\endcsname
     \fi
  }%
  % re-definitions of math versions of \ddots, \vdots
  \def\vdots{\vbox{\baselineskip4\p@ \lineskiplimit\z@
     \kern6\p@\hbox{$\m@th.$}\hbox{$\m@th.$}\hbox{$\m@th.$}}}%
  \def\ddots{\mathinner{\mkern1mu\raise7\p@
     \vbox{\kern7\p@\hbox{$\m@th.$}}\mkern2mu
     \raise4\p@\hbox{$\m@th.$}\mkern2mu\raise\p@\hbox{$\m@th.$}\mkern1mu}}%
  % re-definition of \root macro
  \let\ori@r@@t=\r@@t
  \def\r@@t##1##2{\setbox\z@\hbox{$\m@th##1\sqrt{##2}$}\dimen@\ht\z@
     \advance\dimen@-\dp\z@
     \mkern6mu\raise.68\dimen@\copy\rootbox \mkern-9mu\box\z@}%
  % re-definitions of \downbracefill, \upbracefill to use \bracext from txexa
  \let\ori@downbracefill=\downbracefill  \let\ori@upbracefill=\upbracefill
  \def\downbracefill{$\m@th
     \braceld\mkern-1mu\cleaders\hbox{$\mkern-.5mu\bracext\mkern-.5mu$}\hfill\mkern-1mu%
     \braceru\bracelu
     \mkern-1mu\cleaders\hbox{$\mkern-.5mu\bracext\mkern-.5mu$}\hfill\mkern-1mu\bracerd$}%
  \def\upbracefill{$\m@th
     \bracelu\mkern-1mu\cleaders\hbox{$\mkern-.5mu\bracext\mkern-.5mu$}\hfill\mkern-1mu%
     \bracerd\braceld
     \mkern-1mu\cleaders\hbox{$\mkern-.5mu\bracext\mkern-.5mu$}\hfill\mkern-1mu\braceru$}%
  \def\mathcharsback{% 
     \let\joinrel       \ori@joinrel
     \let\not           \ori@not
     \let\r@@t          \ori@r@@t
     \let\downbracefill \ori@downbracefill
     \let\upbracefill   \ori@upbracefill}%
}
\endinput