% *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***%	Copyright (C) 1991 - 1994 Y&Y, Inc. All Rights Reserved% *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***% *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***%% 	lcdplain.tex		Version 2.2		1995 March 1%%	This TeX macro header file is used for replacing CM fonts with the%	LucidaBright + LucidaNewMath fonts from Y&Y in Adobe Type 1 format.%%	\input lcdplain.tex  at the top of your TeX source file.%	This countermands declarations in plain.tex which set up the CM fonts.%%	This is for use with plain TeX --- for LaTeX 2.09 use `lcdlatex.tex'%	instead.  For LaTeX 2e, instead run `lucida.ins' on `lucida.dtx' from%	PSNFSS on CTAN (ftp.shsu.edu, ftp.tex.ac.uk, ftp.dante.de).%% NOTE: Loading many new fonts on top of a predefined format may cause%	some implementations of TeX to run out of space for fonts.%	You may wish to create a new `TeX format' in that case using `ini TeX'%	(or use a `big' TeX, or better yet a `dynamic' TeX).%% *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** %\chardef\lqcode=\catcode96		% remember catcode of quoteleft\catcode96=12				% make quoteleft act as `other'\chardef\rqcode=\catcode39		% remember catcode of quoteright\catcode39=12				% make quoteright act as `other'% We make @ signs act like letters, temporarily, to avoid conflict% between user names and internal control sequences of plain format.\chardef\atcode=\catcode`\@	% save catcode of at sign\catcode`\@=11			% make at a letter% *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** %% LucidaBright has larger x-height and cap-height than CM, so it is% desirable to use a somewhat smaller font size (95%), as is done here.% Also, since smaller sizes are derived by scaling, it is better to% increase the relative size of super/sub-scripts a bit, as shown here.% set up the basic set of fonts needed - for additional ones see later% plain CM uses:  5,   6,   7,   8,   9,   10,  11,   12,   14,   18% plain LB uses:  5.2, 6.1, 6.9, 7.8, 8.6,  9.5, 10.4, 11.2, 12.9, 16.4\font\tenrm=lbr at 9.5pt \font\sevenrm=lbr at 6.9pt  \font\fiverm=lbr at 5.2pt\font\teni=lbmo at 9.5pt \font\seveni=lbmo at 6.9pt  \font\fivei=lbmo at 5.2pt\font\tensy=lbms at 9.5pt \font\sevensy=lbms at 6.9pt \font\fivesy=lbms at 5.2pt\font\tenex=lbme at 9.5pt \font\sevenex=lbme at 6.9pt  \font\fiveex=lbme at 5.2pt\font\tenbf=lbd at 9.5pt  \font\sevenbf=lbd at 6.9pt  \font\fivebf=lbd at 5.2pt\font\tensl=lbsl at 9.5pt \font\sevensl=lbsl at 6.9pt \font\fivesl=lbsl at 5.2pt\font\tentt=lstr at 9.5pt \font\seventt=lstr at 6.9pt \font\fivett=lstr at 5.2pt\font\tenit=lbi at 9.5pt  \font\sevenit=lbi at 6.9pt  \font\fiveit=lbi at 5.2pt\font\tenar=lbma at 9.5pt  \font\sevenar=lbma at 6.9pt \font\fivear=lbma at 5.2pt\skewchar\teni=127 \skewchar\seveni=127  \skewchar\fivei=127\skewchar\tensy=48 \skewchar\sevensy=48  \skewchar\fivesy=48% *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** %\textfont0=\tenrm  \scriptfont0=\sevenrm \scriptscriptfont0=\fiverm\textfont1=\teni   \scriptfont1=\seveni  \scriptscriptfont1=\fivei\textfont2=\tensy  \scriptfont2=\sevensy \scriptscriptfont2=\fivesy% \textfont3=\tenex  \scriptfont3=\tenex   \scriptscriptfont3=\tenex\textfont3=\tenex  \scriptfont3=\sevenex \scriptscriptfont3=\fiveex\textfont\itfam=\tenit\textfont\slfam=\tensl\textfont\bffam=\tenbf	\scriptfont\bffam=\sevenbf  \scriptscriptfont\bffam=\fivebf\textfont\ttfam=\tentt\def\hexnumber#1{\ifcase #10\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}% Create a new family for the LucidaNewMath-Arrows font now:\newfam\arfam \def\ar{\fam\arfam\tenar}		% \ar is family 8 in plain TeX\textfont\arfam=\tenar	\scriptfont\arfam=\sevenar  \scriptscriptfont\arfam=\fivear\edef\thearfam{\hexnumber\arfam}% LucidaNewmath-Arrows is family 8 - can now refer to it using \thearfam% *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** %% Set up some additional sizes.  If you need to conserve TeX memory % (or gain some speed), then comment out the rarely used sizes marked with %*% math italic\font\eighteeni=lbmo at 16.4pt	%*\font\fourteeni=lbmo at 12.9pt	%*\font\twelvei=lbmo at 11.2pt		%*\font\eleveni=lbmo at 10.4pt		%*%\font\teni=lbmo at 9.5pt\font\ninei=lbmo at 8.6pt		%*\font\eighti=lbmo at 7.8pt		%*%\font\seveni=lbmo at 6.9pt\font\sixi=lbmo at 6.1pt		%*%\font\fivei=lbmo at 5.2pt% math symbols\font\eighteensy=lbms at 16.4pt	%*\font\fourteensy=lbms at 12.9pt	%*\font\twelvesy=lbms at 11.2pt		%*\font\elevensy=lbms at 10.4pt		%*%\font\tensy=lbms at 9.5pt\font\ninesy=lbms at 8.6pt		%*\font\eightsy=lbms at 7.8pt		%*%\font\sevensy=lbms at 6.9pt\font\sixsy=lbms at 6.1pt		%*%\font\fivesy=lbms at 5.2pt% math extension\font\eighteenex=lbme at 16.4pt	%*\font\fourteenex=lbme at 12.9pt	%*\font\twelveex=lbme at 11.2pt		%*\font\elevenex=lbme at 10.4pt		%*%\font\tenex=lbme at 9.5pt% roman text\font\eighteenrm=lbr at 16.4pt	%*\font\fourteenrm=lbr at 12.9pt	%*\font\twelverm=lbr at 11.2pt\font\elevenrm=lbr at 10.4pt		%*%\font\tenrm=lbr at 9.5pt\font\ninerm=lbr at 8.6pt\font\eightrm=lbr at 7.8pt%\font\sevenrm=lbr at 6.9pt\font\sixrm=lbr at 6.1pt		%*%\font\fiverm=lbr at 5.2pt% text italic\font\eighteenit=lbi at 16.4pt	%*\font\fourteenit=lbi at 12.9pt	%*\font\twelveit=lbi at 11.2pt		%*\font\elevenit=lbi at 10.4pt		%*%\font\tenit=lbi at 9.5pt\font\nineit=lbi at 8.6pt\font\eightit=lbi at 7.8pt		%*% boldface extended\font\eighteenbf=lbd at 16.4pt	%*\font\fourteenbf=lbd at 12.9pt	%*\font\twelvebf=lbd at 11.2pt\font\elevenbf=lbd at 10.4pt		%*%\font\tenbf=lbd at 9.5pt\font\ninebf=lbd at 8.6pt\font\eightbf=lbd at 7.8pt		%*%\font\sevenbf=lbd at 6.9pt\font\sixbf=lbd at 6.1pt		%*%\font\fivebf=lbd at 5.2pt% text bold italic\font\eighteenbi=lbdi at 16.4pt	%*\font\fourteenbi=lbdi at 12.9pt	%*\font\twelvebi=lbdi at 11.2pt\font\elevenbi=lbdi at 10.4pt		%*\font\tenbi=lbdi at 9.5pt		%*\font\ninebi=lbdi at 8.6pt		%*\font\eightbi=lbdi at 7.8pt		%*% typewriter\font\eighteentt=lstr at 16.4pt	%*\font\fourteentt=lstr at 12.9pt	%*\font\twelvett=lstr at 11.2pt		%*\font\eleventt=lstr at 10.4pt		%*%\font\tentt=lstr at 9.5pt\font\ninett=lstr at 8.6pt		%*\font\eighttt=lstr at 7.8pt		%*% slanted roman\font\eighteensl=lbsl at 16.4pt	%*\font\fourteensl=lbsl at 12.9pt	%*\font\twelvesl=lbsl at 11.2pt\font\elevensl=lbsl at 10.4pt		%*%\font\tensl=lbsl at 9.5pt\font\ninesl=lbsl at 8.6pt		%*\font\eightsl=lbsl at 7.8pt		%*% If we do define math fonts here we would need to also set \skewchar:\skewchar\eighteeni=127 \skewchar\fourteeni=127 \skewchar\twelvei=127\skewchar\eleveni=127 \skewchar\teni=127 \skewchar\ninei=127\skewchar\eighti=127 \skewchar\seveni=127 \skewchar\sixi=127\skewchar\fivei=127\skewchar\eighteensy=48 \skewchar\fourteensy=48 \skewchar\twelvesy=48\skewchar\elevensy=48 \skewchar\tensy=48 \skewchar\ninesy=48\skewchar\eightsy=48 \skewchar\sevensy=48 \skewchar\sixsy=48\skewchar\fivesy=48% *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** %% Adjusted for LucidaNewMath-Extension at 9.5pt and math axis at 3.13pt% Note: delimiter increments are 5.5pt (as opposed to 6pt in CM)\def\big#1{{\hbox{$\left#1\vbox to8.20\p@{}\right.\n@space$}}}\def\Big#1{{\hbox{$\left#1\vbox to10.80\p@{}\right.\n@space$}}}\def\bigg#1{{\hbox{$\left#1\vbox to13.42\p@{}\right.\n@space$}}}\def\Bigg#1{{\hbox{$\left#1\vbox to16.03\p@{}\right.\n@space$}}}\def\biggg#1{{\hbox{$\left#1\vbox to17.72\p@{}\right.\n@space$}}}\def\Biggg#1{{\hbox{$\left#1\vbox to21.25\p@{}\right.\n@space$}}}\def\n@space{\nulldelimiterspace\z@ \m@th}% define some extra large sizes - always done using extensible parts\def\bigggl{\mathopen\biggg}\def\bigggr{\mathclose\biggg}\def\Bigggl{\mathopen\Biggg}\def\Bigggr{\mathclose\Biggg}% *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** %%  Following is needed if the roman text font is NOT just LucidaBright%  Draw the small sizes of `[' and `]' from LBMO instead of LBR\mathcode`\[="4186 \delcode`\[="186302\mathcode`\]="5187 \delcode`\]="187303%  Draw the small sizes of `(' and `)' from LBMO instead of LBR\mathcode`\(="4184 \delcode`\(="184300\mathcode`\)="5185 \delcode`\)="185301%  The small sizes of `{' and `}' are already drawn from LBMS instead of LBR%  Draw small `/' from LBMO instead of LBR\mathcode`\/="013D \delcode`\/="13D30E%  Draw  `=' and `+' from LBMS instead of LBR\mathcode`\=="3283 \mathcode`\+="2282% May want to comment out this last one if text font IS known to be LBR% *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** %% Make open face brackets accessible, i.e. [[ and ]]\def\ldbrack{\delimiter"4182382 }\def\rdbrack{\delimiter"5183383 }% Provide access to surface integral signs (linked from text to display size)\mathchardef\surfintop="1390 \def\surfint{\surfintop\nolimits}% Make medium size integrals available (NOT linked to display size)\mathchardef\midintop="1392 \def\midint{\midintop\nolimits}\mathchardef\midointop="1393 \def\midoint{\midointop\nolimits}\mathchardef\midsurfintop="1394 \def\midsurfint{\midsurfintop\nolimits}% Extensible integral (use with \bigg, \Bigg, \biggg, \Biggg etc)\def\largeint{\delimiter"135A395 }% Various types of small integrals% \mathchardef\dblint="0188% \mathchardef\trplint="0189% \mathchardef\contint="018A% \mathchardef\surfint="018B% \mathchardef\volint="018C% \mathchardef\clwint="018D% \mathchardef\cclwcint="018E% \mathchardef\clwcint="018F% *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** %% To close up gaps in special math characters constructed from pieces\def\joinrel{\mathrel{\mkern-4mu}} % \def\joinrel{\mathrel{\mkern-3mu}}% The \mkern-2.5mu undoes the bogus `italic correction' after joiners in LBMA\def\relbar{\mathrel{\smash{\mathchar"3\thearfam 2D}}\mathrel{\mkern-2.5mu}}\def\Relbar{\mathrel{\mathchar"3\thearfam 3D}\mathrel{\mkern-2.5mu}}% The \mkern4mu undoes the overhang at the ends of the joiners (and more) \def\longleftarrow{\leftarrow\relbar\mathrel{\mkern4mu}}\def\longrightarrow{\mathrel{\mkern4mu}\relbar\rightarrow}\def\Longleftarrow{\Leftarrow\Relbar\mathrel{\mkern4mu}}\def\Longrightarrow{\mathrel{\mkern4mu}\Relbar\Rightarrow}% *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** %% Some characters that need construction in CM exist complete in LBMO or LBMS\mathchardef\bowtie="31F6\mathchardef\models="32EE\mathchardef\doteq="32C9\mathchardef\cong="329B\mathchardef\angle="028B% Other characters may be found in LucidaNewMath-Arrows (more negated later)% \mathchardef\hbar="0\thearfam 1B\mathchardef\hbar="019D\mathchardef\neq="3\thearfam 94\mathchardef\rightleftharpoons="3\thearfam 7A\mathchardef\leftrightharpoons="3\thearfam 79\mathchardef\hookleftarrow="3\thearfam 3C\mathchardef\hookrightarrow="3\thearfam 3E\mathchardef\mapsto="3\thearfam 2C% \def\longmapsto{\mapstochar\longrightarrow}% *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** %% SPECIAL LaTeX character definitions (originally from LaTeX symbol font)\mathchardef\mho"0192\mathchardef\Join"31F6\mathchardef\sqsubset"32E4\mathchardef\sqsupset"32E5\mathchardef\rhd"312E\mathchardef\lhd"312F\mathchardef\unlhd"32F4\mathchardef\unrhd"32F5\mathchardef\Box"0\thearfam 02\mathchardef\Diamond"0\thearfam 08\mathchardef\leadsto"3\thearfam 8E\mathchardef\leadsfrom"3\thearfam 8D% *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** %% Here are some additional adjustments:% following changed because `(' is not large enough for strut in LBMO\def\mathstrut{\vphantom{f}}% In n-th root, don't want the `n' to come too close to the radical\def\r@@t#1#2{\setbox\z@\hbox{$\m@th#1\sqrt{#2}$}  \dimen@\ht\z@ \advance\dimen@-\dp\z@  \mkern5mu\raise.6\dimen@\copy\rootbox \mkern-7.5mu \box\z@}% The following are the standard plain TeX defaults for CM% \delimiterfactor=901% \delimitershortfall=5pt% \nulldelimiterspace=1.2pt% \scriptspace=0.5pt% \thinmuskip=3mu% \medmuskip=4mu plus 2mu minus 4mu% \thickmuskip=5mu plus 5mu% *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** %% Here are some extra definitions of mathematical symbols and operators% {\buildrel \rm def \over =}\mathchardef\defineequal"32D6% Here are some negated operators from LucidaNewMath-Arrows:\mathchardef\notleq="3\thearfam 9C\mathchardef\notgeq="3\thearfam 9D\mathchardef\notequiv="3\thearfam 95\mathchardef\notprec="3\thearfam E5\mathchardef\notsucc="3\thearfam E6\mathchardef\notapprox="3\thearfam 98\mathchardef\notpreceq="3\thearfam E7\mathchardef\notsucceq="3\thearfam E8\mathchardef\notasymp="3\thearfam F3\mathchardef\notsubset="3\thearfam C6\mathchardef\notsupset="3\thearfam C7\mathchardef\notsim="3\thearfam 96\mathchardef\notsubseteq="3\thearfam C8\mathchardef\notsupseteq="3\thearfam C9\mathchardef\notsimeq="3\thearfam 97\mathchardef\notsqsubseteq="3\thearfam D4\mathchardef\notsqsupseteq="3\thearfam D5\mathchardef\notcong="3\thearfam 99\mathchardef\notin="3\thearfam 1D\mathchardef\notni="3\thearfam 1F\mathchardef\notvdash="3\thearfam F8\mathchardef\notmodels="3\thearfam F9\mathchardef\notparallel="3\thearfam F7\mathchardef\noteq="3\thearfam 94\mathchardef\notless="3\thearfam 9A\mathchardef\notgreater="3\thearfam 9B\mathchardef\notmid="3\thearfam F6% *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** %% Draw small radical from LBME also (do this ONLY if LBME exist in three sizes)\def\sqrt{\radical"39F370 }	% \def\sqrt{\radical"270370 }% *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** %% Now for some AMS TeX items% Start with black-board bold (open face) characters\def\nonmatherr@#1{\errmessage{\string#1\space allowed only in math mode}}\def\Bbb{\relax\ifmmode\expandafter\Bbb@\else \expandafter\nonmatherr@\expandafter\Bbb\fi}\def\Bbb@#1{{\Bbb@@{#1}}}\def\Bbb@@#1{\fam\arfam\relax#1}% \mathchardef\Bbbk="0\thearfam 6B% *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** %% plain.tex draws upper case upright Greek from roman text font ---% --- need to draw instead from LucidaNewMath-Extension\mathchardef\Gamma="03D0\mathchardef\Delta="03D1\mathchardef\Theta="03D2\mathchardef\Lambda="03D3\mathchardef\Xi="03D4\mathchardef\Pi="03D5\mathchardef\Sigma="03D6\mathchardef\Upsilon="03D7\mathchardef\Phi="03D8\mathchardef\Psi="03D9\mathchardef\Omega="03DA% Draw upper case italic Greek from LucidaNewMath-Italic ---% --- use the following instead of \mit for italic Greek\mathchardef\varGamma="0100\mathchardef\varDelta="0101\mathchardef\varTheta="0102\mathchardef\varLambda="0103\mathchardef\varXi="0104\mathchardef\varPi="0105\mathchardef\varSigma="0106\mathchardef\varUpsilon="0107\mathchardef\varPhi="0108\mathchardef\varPsi="0109\mathchardef\varOmega="010A% *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** %% THE \LaTeX AND \SLiTeX LOGOS ARE DEFINED HERE (for plain TeX)\font\scrm=lbr at 7.5pt		% for LucidaBright\def\TeX{T\kern-.18em\lower.4ex\hbox{E}\kern-.1emX}\def\LaTeX{L\kern-.25em\raise.3ex\hbox{\scrm A}\kern-.15em%    T\kern-.18em\lower.4ex\hbox{E}\kern-.1emX} \def\SLiTeX{S\kern-.06em{\scrm L\kern-.015emI}\kern-.01em%    T\kern-.18em\lower.4ex\hbox{E}\kern-.1emX}% *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** %% Ideally, \matrix should be changed because fonts (i.e. LBMO) not at 10pt,% but \matrix is defined differently in AMS TeX than in plain TeX & LaTeX.\ifx\amstexloaded@\relax\def\matrix{\null\,\vcenter\bgroup\Let@\vspace@  \normalbaselines\openup\spreadmlines@\ialign  \bgroup\hfil$\m@th##$\hfil&&\quad\hfil$\m@th##$\hfil\crcr  \Mathstrut@\crcr\noalign{\kern-0.9\baselineskip}}\def\endmatrix{\crcr\Mathstrut@\crcr\noalign{\kern-0.9\baselineskip}\egroup \egroup\,}\else\def\matrix#1{\null\,\vcenter{\normalbaselines\m@th    \ialign{\hfil$##$\hfil&&\quad\hfil$##$\hfil\crcr      \mathstrut\crcr\noalign{\kern-0.9\baselineskip}      #1\crcr\mathstrut\crcr\noalign{\kern-0.9\baselineskip}}}\,}\fi\catcode`\@=\atcode		% restore original catcode of at sign\catcode`\'=\rqcode		% restore original catcode of quoteright\catcode`\`=\lqcode		% restore original catcode of quoteleft\rm\endinput% *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** %% AMS TeX with amsppt.sty:% For use with amsppt.sy, need the following fonts (make sure uncommented):% \eightbf, \eightit, \eightsl, \eighttt, \sevenit, \sixrm, \sixbf, % \eighti, \sixi, \eightsy, \sixsy% *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** %% Note that plain TeX has the accent character positions hardwired to:% 16 for `dotlessi', 17 for `dotlessj',% 18 for `grave', 19 for `acute', 20 for `caron',% 21 for `breve', 22 for `macron',% 23 for `ring', 24 for `cedilla',% 25 for `germandbls', 26 for `ae', 27 for `oe',% 28 for `oslash', 29 for `AE', 30 for 'OE', 31 for `Oslash',% 94 for `circumflex', 95 for `dotaccent', 125 for `hungarumlaut',% 126 for `tilde', 127 for `dieresis',% (see page 356 of the TeX book, and plain.tex for additional information)% These should be adjusted - if these characters are to be used -% AND if the text fonts are encoded to something other than TeX text% \input texnansi.tex if you are using `TeX n ANSI' encoding% \input ansiacce.tex if you are using Windows ANSI encoding% \input stanacce.tex if you are using Adobe StandardEncoding% ************************************************************************%	Y&Y, Inc. 45 Walden Street, Concord, MA 01742 USA  (508) 371-3286% ************************************************************************