diff options
Diffstat (limited to 'Master/texmf-dist/tex/plain/amsfonts')
-rw-r--r-- | Master/texmf-dist/tex/plain/amsfonts/amssym.def | 117 | ||||
-rw-r--r-- | Master/texmf-dist/tex/plain/amsfonts/amssym.tex | 286 | ||||
-rw-r--r-- | Master/texmf-dist/tex/plain/amsfonts/cyracc.def | 285 |
3 files changed, 688 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/plain/amsfonts/amssym.def b/Master/texmf-dist/tex/plain/amsfonts/amssym.def new file mode 100644 index 00000000000..4a92045d6a2 --- /dev/null +++ b/Master/texmf-dist/tex/plain/amsfonts/amssym.def @@ -0,0 +1,117 @@ +%%% ==================================================================== +%%% @TeX-file{ +%%% filename = "amssym.def", +%%% version = "2.2", +%%% date = "22-Dec-1994", +%%% time = "10:14:01 EST", +%%% checksum = "28096 117 438 4924", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright (C) 1994 American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Electronic Products and Services, +%%% P. O. Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% email = "tech-support@math.ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "amsfonts, msam, msbm, math symbols", +%%% supported = "yes", +%%% abstract = "This is part of the AMSFonts distribution, +%%% It is the plain TeX source file for the +%%% AMSFonts user's guide.", +%%% docstring = "The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== +\expandafter\ifx\csname amssym.def\endcsname\relax \else\endinput\fi +% +% Store the catcode of the @ in the csname so that it can be restored later. +\expandafter\edef\csname amssym.def\endcsname{% + \catcode`\noexpand\@=\the\catcode`\@\space} +% Set the catcode to 11 for use in private control sequence names. +\catcode`\@=11 +% +% Include all definitions related to the fonts msam, msbm and eufm, so that +% when this file is used by itself, the results with respect to those fonts +% are equivalent to what they would have been using AMS-TeX. +% Most symbols in fonts msam and msbm are defined using \newsymbol; +% however, a few symbols that replace composites defined in plain must be +% defined with \mathchardef. + +\def\undefine#1{\let#1\undefined} +\def\newsymbol#1#2#3#4#5{\let\next@\relax + \ifnum#2=\@ne\let\next@\msafam@\else + \ifnum#2=\tw@\let\next@\msbfam@\fi\fi + \mathchardef#1="#3\next@#4#5} +\def\mathhexbox@#1#2#3{\relax + \ifmmode\mathpalette{}{\m@th\mathchar"#1#2#3}% + \else\leavevmode\hbox{$\m@th\mathchar"#1#2#3$}\fi} +\def\hexnumber@#1{\ifcase#1 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or + 9\or A\or B\or C\or D\or E\or F\fi} + +\font\tenmsa=msam10 +\font\sevenmsa=msam7 +\font\fivemsa=msam5 +\newfam\msafam +\textfont\msafam=\tenmsa +\scriptfont\msafam=\sevenmsa +\scriptscriptfont\msafam=\fivemsa +\edef\msafam@{\hexnumber@\msafam} +\mathchardef\dabar@"0\msafam@39 +\def\dashrightarrow{\mathrel{\dabar@\dabar@\mathchar"0\msafam@4B}} +\def\dashleftarrow{\mathrel{\mathchar"0\msafam@4C\dabar@\dabar@}} +\let\dasharrow\dashrightarrow +\def\ulcorner{\delimiter"4\msafam@70\msafam@70 } +\def\urcorner{\delimiter"5\msafam@71\msafam@71 } +\def\llcorner{\delimiter"4\msafam@78\msafam@78 } +\def\lrcorner{\delimiter"5\msafam@79\msafam@79 } +% Note that there should not be a final space after the digits for a +% \mathhexbox@. +\def\yen{{\mathhexbox@\msafam@55}} +\def\checkmark{{\mathhexbox@\msafam@58}} +\def\circledR{{\mathhexbox@\msafam@72}} +\def\maltese{{\mathhexbox@\msafam@7A}} + +\font\tenmsb=msbm10 +\font\sevenmsb=msbm7 +\font\fivemsb=msbm5 +\newfam\msbfam +\textfont\msbfam=\tenmsb +\scriptfont\msbfam=\sevenmsb +\scriptscriptfont\msbfam=\fivemsb +\edef\msbfam@{\hexnumber@\msbfam} +\def\Bbb#1{{\fam\msbfam\relax#1}} +\def\widehat#1{\setbox\z@\hbox{$\m@th#1$}% + \ifdim\wd\z@>\tw@ em\mathaccent"0\msbfam@5B{#1}% + \else\mathaccent"0362{#1}\fi} +\def\widetilde#1{\setbox\z@\hbox{$\m@th#1$}% + \ifdim\wd\z@>\tw@ em\mathaccent"0\msbfam@5D{#1}% + \else\mathaccent"0365{#1}\fi} +\font\teneufm=eufm10 +\font\seveneufm=eufm7 +\font\fiveeufm=eufm5 +\newfam\eufmfam +\textfont\eufmfam=\teneufm +\scriptfont\eufmfam=\seveneufm +\scriptscriptfont\eufmfam=\fiveeufm +\def\frak#1{{\fam\eufmfam\relax#1}} +\let\goth\frak + +% Restore the catcode value for @ that was previously saved. +\csname amssym.def\endcsname + +\endinput diff --git a/Master/texmf-dist/tex/plain/amsfonts/amssym.tex b/Master/texmf-dist/tex/plain/amsfonts/amssym.tex new file mode 100644 index 00000000000..fdab6ef72a8 --- /dev/null +++ b/Master/texmf-dist/tex/plain/amsfonts/amssym.tex @@ -0,0 +1,286 @@ +%%% ==================================================================== +%%% @TeX-file{ +%%% filename = "amssym.tex", +%%% version = "2.2b", +%%% date = "26 February 1997", +%%% time = "13:14:29 EST", +%%% checksum = "61515 286 903 9155", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright (C) 1997 American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Electronic Products and Services, +%%% P. O. Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% email = "tech-support@ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "amsfonts, msam, msbm, math symbols", +%%% supported = "yes", +%%% abstract = "This is part of the AMSFonts distribution. +%%% It contains the plain TeX source file for loading +%%% the AMS extra symbols and Euler fraktur fonts.", +%%% docstring = "The checksum field above contains a CRC-16 checksum +%%% as the first value, followed by the equivalent of +%%% the standard UNIX wc (word count) utility output +%%% of lines, words, and characters. This is produced +%%% by Robert Solovay's checksum utility.", +%%% } +%%% ==================================================================== +%% Save the current value of the @-sign catcode so that it can +%% be restored afterwards. This allows us to call amssym.tex +%% either within an AMS-TeX document style file or by itself, in +%% addition to providing a means of testing whether the file has +%% been previously loaded. We want to avoid inputting this file +%% twice because when AMSTeX is being used \newsymbol will give an +%% error message if used to define a control sequence name that is +%% already defined. +%% +%% If the csname is not equal to \relax, we assume this file has +%% already been loaded and \endinput immediately. +\expandafter\ifx\csname pre amssym.tex at\endcsname\relax \else\endinput\fi +%% Otherwise we store the catcode of the @ in the csname. +\expandafter\chardef\csname pre amssym.tex at\endcsname=\the\catcode`\@ +%% Set the catcode to 11 for use in private control sequence names. +\catcode`\@=11 +%% Load amssym.def if necessary: If \newsymbol is undefined, do nothing +%% and the following \input statement will be executed; otherwise +%% change \input to a temporary no-op. +\ifx\undefined\newsymbol \else \begingroup\def\input#1 {\endgroup}\fi +\input amssym.def \relax +%% Most symbols in fonts msam and msbm are defined using \newsymbol. A few +%% that are delimiters or otherwise require special treatment have already +%% been defined as soon as the fonts were loaded. Finally, a few symbols +%% that replace composites defined in plain must be undefined first. +\newsymbol\boxdot 1200 +\newsymbol\boxplus 1201 +\newsymbol\boxtimes 1202 +\newsymbol\square 1003 +\newsymbol\blacksquare 1004 +\newsymbol\centerdot 1205 +\newsymbol\lozenge 1006 +\newsymbol\blacklozenge 1007 +\newsymbol\circlearrowright 1308 +\newsymbol\circlearrowleft 1309 +\undefine\rightleftharpoons +\newsymbol\rightleftharpoons 130A +\newsymbol\leftrightharpoons 130B +\newsymbol\boxminus 120C +\newsymbol\Vdash 130D +\newsymbol\Vvdash 130E +\newsymbol\vDash 130F +\newsymbol\twoheadrightarrow 1310 +\newsymbol\twoheadleftarrow 1311 +\newsymbol\leftleftarrows 1312 +\newsymbol\rightrightarrows 1313 +\newsymbol\upuparrows 1314 +\newsymbol\downdownarrows 1315 +\newsymbol\upharpoonright 1316 + \let\restriction\upharpoonright +\newsymbol\downharpoonright 1317 +\newsymbol\upharpoonleft 1318 +\newsymbol\downharpoonleft 1319 +\newsymbol\rightarrowtail 131A +\newsymbol\leftarrowtail 131B +\newsymbol\leftrightarrows 131C +\newsymbol\rightleftarrows 131D +\newsymbol\Lsh 131E +\newsymbol\Rsh 131F +\newsymbol\rightsquigarrow 1320 +\newsymbol\leftrightsquigarrow 1321 +\newsymbol\looparrowleft 1322 +\newsymbol\looparrowright 1323 +\newsymbol\circeq 1324 +\newsymbol\succsim 1325 +\newsymbol\gtrsim 1326 +\newsymbol\gtrapprox 1327 +\newsymbol\multimap 1328 +\newsymbol\therefore 1329 +\newsymbol\because 132A +\newsymbol\doteqdot 132B + \let\Doteq\doteqdot +\newsymbol\triangleq 132C +\newsymbol\precsim 132D +\newsymbol\lesssim 132E +\newsymbol\lessapprox 132F +\newsymbol\eqslantless 1330 +\newsymbol\eqslantgtr 1331 +\newsymbol\curlyeqprec 1332 +\newsymbol\curlyeqsucc 1333 +\newsymbol\preccurlyeq 1334 +\newsymbol\leqq 1335 +\newsymbol\leqslant 1336 +\newsymbol\lessgtr 1337 +\newsymbol\backprime 1038 +\newsymbol\risingdotseq 133A +\newsymbol\fallingdotseq 133B +\newsymbol\succcurlyeq 133C +\newsymbol\geqq 133D +\newsymbol\geqslant 133E +\newsymbol\gtrless 133F +\newsymbol\sqsubset 1340 +\newsymbol\sqsupset 1341 +\newsymbol\vartriangleright 1342 +\newsymbol\vartriangleleft 1343 +\newsymbol\trianglerighteq 1344 +\newsymbol\trianglelefteq 1345 +\newsymbol\bigstar 1046 +\newsymbol\between 1347 +\newsymbol\blacktriangledown 1048 +\newsymbol\blacktriangleright 1349 +\newsymbol\blacktriangleleft 134A +\newsymbol\vartriangle 134D +\newsymbol\blacktriangle 104E +\newsymbol\triangledown 104F +\newsymbol\eqcirc 1350 +\newsymbol\lesseqgtr 1351 +\newsymbol\gtreqless 1352 +\newsymbol\lesseqqgtr 1353 +\newsymbol\gtreqqless 1354 +\newsymbol\Rrightarrow 1356 +\newsymbol\Lleftarrow 1357 +\newsymbol\veebar 1259 +\newsymbol\barwedge 125A +\newsymbol\doublebarwedge 125B +\undefine\angle +\newsymbol\angle 105C +\newsymbol\measuredangle 105D +\newsymbol\sphericalangle 105E +\newsymbol\varpropto 135F +\newsymbol\smallsmile 1360 +\newsymbol\smallfrown 1361 +\newsymbol\Subset 1362 +\newsymbol\Supset 1363 +\newsymbol\Cup 1264 + \let\doublecup\Cup +\newsymbol\Cap 1265 + \let\doublecap\Cap +\newsymbol\curlywedge 1266 +\newsymbol\curlyvee 1267 +\newsymbol\leftthreetimes 1268 +\newsymbol\rightthreetimes 1269 +\newsymbol\subseteqq 136A +\newsymbol\supseteqq 136B +\newsymbol\bumpeq 136C +\newsymbol\Bumpeq 136D +\newsymbol\lll 136E + \let\llless\lll +\newsymbol\ggg 136F + \let\gggtr\ggg +\newsymbol\circledS 1073 +\newsymbol\pitchfork 1374 +\newsymbol\dotplus 1275 +\newsymbol\backsim 1376 +\newsymbol\backsimeq 1377 +\newsymbol\complement 107B +\newsymbol\intercal 127C +\newsymbol\circledcirc 127D +\newsymbol\circledast 127E +\newsymbol\circleddash 127F +\newsymbol\lvertneqq 2300 +\newsymbol\gvertneqq 2301 +\newsymbol\nleq 2302 +\newsymbol\ngeq 2303 +\newsymbol\nless 2304 +\newsymbol\ngtr 2305 +\newsymbol\nprec 2306 +\newsymbol\nsucc 2307 +\newsymbol\lneqq 2308 +\newsymbol\gneqq 2309 +\newsymbol\nleqslant 230A +\newsymbol\ngeqslant 230B +\newsymbol\lneq 230C +\newsymbol\gneq 230D +\newsymbol\npreceq 230E +\newsymbol\nsucceq 230F +\newsymbol\precnsim 2310 +\newsymbol\succnsim 2311 +\newsymbol\lnsim 2312 +\newsymbol\gnsim 2313 +\newsymbol\nleqq 2314 +\newsymbol\ngeqq 2315 +\newsymbol\precneqq 2316 +\newsymbol\succneqq 2317 +\newsymbol\precnapprox 2318 +\newsymbol\succnapprox 2319 +\newsymbol\lnapprox 231A +\newsymbol\gnapprox 231B +\newsymbol\nsim 231C +\newsymbol\ncong 231D +\newsymbol\diagup 201E +\newsymbol\diagdown 201F +\newsymbol\varsubsetneq 2320 +\newsymbol\varsupsetneq 2321 +\newsymbol\nsubseteqq 2322 +\newsymbol\nsupseteqq 2323 +\newsymbol\subsetneqq 2324 +\newsymbol\supsetneqq 2325 +\newsymbol\varsubsetneqq 2326 +\newsymbol\varsupsetneqq 2327 +\newsymbol\subsetneq 2328 +\newsymbol\supsetneq 2329 +\newsymbol\nsubseteq 232A +\newsymbol\nsupseteq 232B +\newsymbol\nparallel 232C +\newsymbol\nmid 232D +\newsymbol\nshortmid 232E +\newsymbol\nshortparallel 232F +\newsymbol\nvdash 2330 +\newsymbol\nVdash 2331 +\newsymbol\nvDash 2332 +\newsymbol\nVDash 2333 +\newsymbol\ntrianglerighteq 2334 +\newsymbol\ntrianglelefteq 2335 +\newsymbol\ntriangleleft 2336 +\newsymbol\ntriangleright 2337 +\newsymbol\nleftarrow 2338 +\newsymbol\nrightarrow 2339 +\newsymbol\nLeftarrow 233A +\newsymbol\nRightarrow 233B +\newsymbol\nLeftrightarrow 233C +\newsymbol\nleftrightarrow 233D +\newsymbol\divideontimes 223E +\newsymbol\varnothing 203F +\newsymbol\nexists 2040 +\newsymbol\Finv 2060 +\newsymbol\Game 2061 +\newsymbol\mho 2066 +\newsymbol\eth 2067 +\newsymbol\eqsim 2368 +\newsymbol\beth 2069 +\newsymbol\gimel 206A +\newsymbol\daleth 206B +\newsymbol\lessdot 236C +\newsymbol\gtrdot 236D +\newsymbol\ltimes 226E +\newsymbol\rtimes 226F +\newsymbol\shortmid 2370 +\newsymbol\shortparallel 2371 +\newsymbol\smallsetminus 2272 +\newsymbol\thicksim 2373 +\newsymbol\thickapprox 2374 +\newsymbol\approxeq 2375 +\newsymbol\succapprox 2376 +\newsymbol\precapprox 2377 +\newsymbol\curvearrowleft 2378 +\newsymbol\curvearrowright 2379 +\newsymbol\digamma 207A +\newsymbol\varkappa 207B +\newsymbol\Bbbk 207C +\newsymbol\hslash 207D +\undefine\hbar +\newsymbol\hbar 207E +\newsymbol\backepsilon 237F +% Restore the catcode value for @ that was previously saved. +\catcode`\@=\csname pre amssym.tex at\endcsname + +\endinput diff --git a/Master/texmf-dist/tex/plain/amsfonts/cyracc.def b/Master/texmf-dist/tex/plain/amsfonts/cyracc.def new file mode 100644 index 00000000000..2b183b98be6 --- /dev/null +++ b/Master/texmf-dist/tex/plain/amsfonts/cyracc.def @@ -0,0 +1,285 @@ +%%% ==================================================================== +%%% @TeX-file{ +%%% filename = "cyracc.def", +%%% version = "2.2b", +%%% date = "26 February 1997", +%%% time = "15:26:08 EST", +%%% checksum = "¤50915 285 1398 10151", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright (C) 1996 American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Electronic Products and Services, +%%% P. O. Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% email = "tech-support@ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "amsfonts, tex, cyrillic", +%%% supported = "yes", +%%% abstract = "This file contains definitions of accents and +%%% special characters required for use of cyrillic +%%% fonts arranged according to the AMS scheme.", +%%% docstring = "The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== +%% +%% The \font specification(s) should be made elsewhere, and should include +%% \newfam\cyrfam +%% \font\...cyr=wncyr... (e.g. \font\tencyr=wncyr10 ) +%% An appropriate definition for cyrillic, usable in math and text, is +%% \def\cyr{\fam\cyrfam\...cyr\cyracc} +%% More extensive instructions for using cyrillic fonts are included in +%% the AMSFonts 2.2 User's Guide. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\chardef\tempcat=\the\catcode`\@ +\catcode`\@=11 + +% The first set of definitions is what will be in effect outside of cyrillic, +% i.e., in transliterated text. + +% Definition of \cydot is not ideal; real dot should be in an accent font. +\def\cydot{{\mathsurround=0pt$\cdot$}} + +% \ubar is the definition of \b from PLAIN; it may not work in math mode. +\def\ubar#1{\oalign{#1\crcr\hidewidth + \vbox to.2ex{\hbox{\char22}\vss}\hidewidth}} + +% Soft and hard signs are represented in transliteration by prime and +% double prime respectively. +\def\cprime{\/{\mathsurround=0pt$'$}} +\def\Cprime{{\mathsurround=0pt$'$}} +\def\cdprime{\/{\mathsurround=0pt$''$}} +\def\Cdprime{{\mathsurround=0pt$\ubar{\hbox{$''$}}$}} + +\def\dbar{dj} % make real barred d when accent font available +\def\Dbar{Dj} % "" + +% It would be nice to make these control sequences unnecessary; that will +% probably require d to become active. +\def\dz{dz} +\def\Dz{Dz} +\def\dzh{dzh\cydot } +\def\Dzh{Dzh\cydot } + + +% Stress marks are sometimes used in cyrillic text, mainly for pedagogic +% reasons. These definitions support stress marks within {\cyr ...}; +% in transliteration, they are suppressed. Stress is indicated in +% input by \! preceding a letter on which a stress mark is to appear; +% an acute accent will appear in the output. Since \! is also a plain +% command, for negative thin space in math mode, test for math mode and +% include the plain definition as appropriate. + +\def\@gobble#1{} +\def\@testgrave{\`} +\def\@stressit{\futurelet\chartest\@stresschar } + +\def\@stresschar#1{% + \ifx #1y\def\result{\futurelet\chartest\@yligature}% + \else \ifx #1Y\def\result{\futurelet\chartest\@Yligature}% + \else \ifx\chartest\@testgrave \def\result{\accent"26 }% + \else \def\result{\accent"26 #1}% + \fi \fi \fi + \result } + +\def\@yligature{% + \ifx a\chartest \def\result{\accent"26 \char"1F \@gobble}% + \else \ifx u\chartest \def\result{\accent"26 \char"18 \@gobble}% + \else \def\result{\accent"26 y}% + \fi \fi + \result } + +\def\@Yligature{% + \ifx a\chartest \def\result{\accent"26 \char"17 \@gobble}% + \else \ifx A\chartest \def\result{\accent"26 \char"17 \@gobble}% + \else \ifx u\chartest \def\result{\accent"26 \char"10 \@gobble}% + \else \ifx U\chartest \def\result{\accent"26 \char"10 \@gobble}% + \else \def\result{\accent"26 Y}% + \fi \fi \fi \fi + \result } + +\def\!{\ifmmode \mskip-\thinmuskip \fi} + + +% These are the definitions that will produce cyrillic letters within +% {\cyr ...} for letters represented in input by control sequences and +% accented latin letters. + +\def\cyracc{% + \def\cydot{{\kern0pt}}% + \def\cprime{\char"7E }\def\Cprime{\char"5E }% + \def\cdprime{\char"7F }\def\Cdprime{\char"5F }% + \def\dbar{dj}\def\Dbar{Dj}% + \def\dz{\char"1E }\def\Dz{\char"16 }% + \def\dzh{\char"0A }\def\Dzh{\char"02 }% + \def\'##1{\if c##1\char"0F % + \else \if C##1\char"07 % + \else \accent"26 ##1\fi \fi }% + \def\`##1{\if e##1\char"0B % + \else \if E##1\char"03 % + \else \errmessage{accent \string\` not defined in cyrillic}% + ##1\fi \fi }% + \def\=##1{\if e##1\char"0D % + \else \if E##1\char"05 % + \else \if \i##1\char"0C % + \else \if I##1\char"04 % + \else \errmessage{accent \string\= not defined in cyrillic}% + ##1\fi \fi \fi \fi }% + \def\u##1{\if \i##1\accent"24 i% + \else \accent"24 ##1\fi }% + \def\"##1{\if \i##1\accent"20 \char"3D % + \else \if I##1\accent"20 \char"04 % + \else \accent"20 ##1\fi \fi }% + \def\!{\ifmmode \def\result{\mskip-\thinmuskip}% + \else \def\result{\@stressit}\fi \result}} + + +% If cyrillic strings are to be included in \mark's, the accents need +% to be kept in unexpanded form until the \mark's are interpreted. +% See note on \mark below for details. + +\def\keep@cyracc{\let\cyr=\relax \let\i=\relax + \let\ubar=\relax \let\cydot=\relax + \let\cprime=\relax \let\Cprime=\relax + \let\cdprime=\relax \let\Cdprime=\relax + \let\dbar=\relax \let\Dbar=\relax + \let\dz=\relax \let\Dz=\relax + \let\dzh=\relax \let\Dzh=\relax + \let\'=\relax \let\`=\relax \let\==\relax + \let\u=\relax \let\"=\relax \let\!=\relax } + + +\catcode`\@=\tempcat +\endinput + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% ***** CYRACC.DEF ***** +% +% Access to the cyrillic is through the MR 1980 transliteration scheme, +% using TeX/Metafont ligature capability. (An alternate set of ligatures +% exists, for accessing letters beyond the 26 located in the font positions +% of the 26 roman letters. An authoritative list of the ligature rules is +% given below, under the heading Ligatures.) Successful use of this file +% requires appropriate cyrillic and accent fonts, arranged according to +% the AMS/MR scheme. +% +% There are some weaknesses in this ligaturing and accent system. +% The following are known to be less than satisfactory: +% +% the intermediate `ligatures' for shch access numerals; +% primes (transliteration of hard/soft signs) use math mode; +% underbar on `cap' double prime is too low (hard sign); +% thorn d's don't yet exist; +% \cydot uses math mode; +% this scheme is not compatible with automatic Russian hyphenation. +% +% +% Notes on the macros: +% +% The single space following each hex character code is necessary +% to prevent the next input character from being gobbled. +% +% +% Note on \mark : +% +% Control sequences such as these cyrillic accents should remain +% unexpanded when generating \mark's; otherwise, the definition of +% the expanded strings in effect when the \mark is used may be +% inappropriate. By \let\...=\relax , the \... takes on the important +% characteristic of a primitive that it will not be expanded further. +% The following code has been shown to generate correct \mark entries +% that can be used successfully in running heads: +% +% \newtoks\marktoks +% \def\domark{\keep@cyracc \mark{\the\marktoks}} +% +% In running heads, the marks should be accessed using \the to expand +% the tokens strings properly. +% +% +% Ligatures +% +% This is a list of all the letter ligatures in the AMS cyrillic fonts, +% and in other cyrillic fonts (such as those developed at the University +% of Washington that use the AMS arrangement). +% +% LOWER CASE LIGATURES +% +% A. All-letter ligatures +% +% ch = `q +% dj = '016 +% kh = `h +% lj = '011 +% nj = '010 +% sh = `x; xc = `7 (shc); 7h = `w (shch) +% ts = `c +% ya = '037 +% yu = '030 +% zh = '031 +% +% B. Ligatures with keyed numerals +% +% c1 = '017 +% d1 = '016 (dj); d2 = '012 (dzh); d3 = '036 (dz) +% e0 = '033; e1 = '013; e2 = '015 +% i0 = '032; i1 = '014 +% j1 = '037 (ya); j2 = '030 (yu) +% l1 = '011 (lj) +% n1 = '010 (nj) +% p1 = '176; p2 = '177 +% z1 = '031 (zh) +% +% UPPER CASE LIGATURES +% A. All-letter ligatures +% +% CH, Ch = `Q +% KH, Kh = `H +% LJ, Lj = '001 +% NJ, Nj = '000 +% SH, Sh = `X; XH, Xh = `6 (SHC, SHc, Shc); +% 6H, 6h = `W (SHCH, SHCh, SHch, Shch) +% TS, Ts = `C +% YA, Ya = '027 +% YU, Yu = '020 +% ZH, Zh = '021 +% +% B. Ligatures with keyed numerals +% +% C1 = '007 +% D1 = '006 (DJ); D2 = '002 (DZH); D3 = '026 (DZ) +% E0 = '023; E1 = '003; E2 = '005 +% I0 = '022; I1 = '004 +% J1 = '027 (YA); J2 = '020 (YU) +% L1 = '001 (LJ) +% N0 = '175 (Number sign); N1 = '000 (NJ) +% P1 = '136; P2 = '137 +% Z1 = '021 (ZH) +% +% DEACTIVATED LIGATURES +% +% The dzh and DZH ligatures were originally built in the following manner, +% but the results were not compatible with desired keyboarding schemes. +% +% dz = '036; '036(roman s)h = '012 (dzh) +% DZ = '026; '026(roman S)H = '002 (DZH) +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |