summaryrefslogtreecommitdiff
path: root/macros/lamstex/inputs/pcompat.tex
blob: 4c30fed5bd146c25fc38331152efad01f02fc093 (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
% PCOMPAT.TEX  VERSION 2.0
% COPYRIGHT (C) 1991 BY THE TEXPLORATORS CORPORATION
% ALL RIGHTS RESERVED

% THIS FILE SHOULD NOT BE CHANGED IN ANY WAY. 

%% This file allows certain modifications that might be desired
%% if a plain TeX file has to be run through LamS-TeX.

%% First of all, once this file is \input, the plain constructions
%% \oldstyle and \cal will no longer be undefined, as they normally
%% are in AmS-TeX. (AmS-TeX's alternatives \oldnos and \Cal can
%% also still be used, though it would be pretty confusing to use 
%% \oldstyle and \oldnos together, or \cal and \Cal together, since 
%% the plain constructions work like font changes, while the 
%% AmS-TeX constructions work like control sequences with an argument.)

%% The \mit command, used for things like \mit\Gamma, is a little 
%% different, since AmS-TeX doesn't regard upper-case Greek letters
%% as ``variables'' that can change fonts.  However, if you type
%%
%%      \variableGreek
%%
%% then \mit can be used in this way.

%% Typing
%%
%%      \plaincases
%%
%% makes \cases have the plain syntax, rather than the AmS-TeX
%% syntax.  Similarly,
%%
%%      \plainmatrix
%%
%% makes \matrix have the plain syntax, rather than the AmS-TeX
%% syntax.  Finally, 
%%
%%      \plainfonts
%%
%% allows \rm, etc, to be used in math formulas, whereas AmS-TeX
%% only allows \rm within \text within a math formula (but remember
%% that $\rm two words$ will not give any spaces between the
%% letters, while AmS-TeX's $\text{\rm two words}$ will).

%% \variableGreek, \plaincases, \plainmatrix, and \plainfonts
%% can each be used within a group, if part of the paper uses
%% plain conventions, while part uses AmS-TeX conventions.

\catcode`\@=11
\def\oldstyle{\fam\@ne\the\textfont\@ne}
\def\cal{\fam\tw@}
{\catcode`\"=12
\gdef\variableGreek{\mathchardef\Gamma="7000
 \mathchardef\Delta="7001
 \mathchardef\Theta="7002
 \mathchardef\Lambda="7003
 \mathchardef\Xi="7004
 \mathchardef\Pi="7005
 \mathchardef\Sigma="7006
 \mathchardef\Upsilon="7007
 \mathchardef\Phi="7008
 \mathchardef\Psi="7009
 \mathchardef\Omega="700A 
 \def\mit{\fam\@ne}}
}
\def\plaincases{%
 \def\cases##1{\left\{\,\vcenter{\normalbaselines\m@th
  \ialign{$####\hfil$&\quad####\hfil\crcr##1\crcr}}\right.}}
\def\plainmatrix{%
 \def\matrix##1{\null\,\vcenter{\normalbaselines\m@th
  \ialign{\hfil$####$\hfil&&\quad\hfil$####$\hfil\crcr
  \mathstrut\crcr\noalign{\kern-\baselineskip}%
  ##1\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}\,}%
 \def\pmatrix##1{\left(\matrix{##1}\right)}}
\def\plainfonts{\def\rm{\fam\z@\tenrm}\def\it{\fam\itfam\tenit}%
 \def\sl{\fam\slfam\tensl}\def\bf{\fam\bffam\tenbf}\def\smc{\tensmc}%
 \def\textonlyfont@##1##2{\def##1{\fam\csname\exstring@##1fam\endcsname##2}}}
\catcode`\@=\active