% $Header: /usr/jjc/dvitops/RCS/ps.sty,v 1.3 89/12/11 20:35:55 jjc Exp $ % adapt LaTeX to use PostScript fonts % you'll need a lot of font memory to use this % math accents haven't been done yet % you can choose here which PostScript fonts will be used \def\roman@#1{Times-Roman at #1} \def\mathitalic@#1{Times-Italic at #1} % should produce a proper mi font \def\italic@#1{Times-Italic at #1} \def\bold@#1{Times-Bold at #1} \def\symbol@#1{Symbol at #1} \def\extension@#1{timesex at #1} \def\greekl@#1{symbolsl at #1} % lower case greek letters \def\smallcaps@#1{timessc at #1} \def\slanted@#1{timessl at #1} \def\typewriter@#1{Courier-Bold at #1} %% preloaded fonts \newdimen\psdimen \def\dopreload#1#2{% \expandafter\font\csname #1psrm\endcsname=\roman@{#2}% \expandafter\font\csname #1psmi\endcsname=\mathitalic@{#2}% \expandafter\font\csname #1pssy\endcsname=\symbol@{#2}% \expandafter\font\csname #1psex\endcsname=\extension@{#2}% \psdimen=#2 \multiply\psdimen by 9\divide\psdimen by 10 %use Symbol-Slanted \expandafter\font\csname #1psgrl\endcsname=\greekl@{\psdimen}% \expandafter\font\csname #1sc\endcsname=\smallcaps@{#2}% \expandafter\font\csname #1bf\endcsname=\bold@{#2}% \expandafter\font\csname #1it\endcsname=\italic@{#2}% \expandafter\font\csname #1sl\endcsname=\slanted@{#2}% \expandafter\font\csname #1tt\endcsname=\typewriter@{#2}% } \dopreload{fiv}{5pt} \dopreload{six}{6pt} \dopreload{sev}{7pt} \dopreload{egt}{8pt} \dopreload{nin}{9pt} \dopreload{ten}{10pt} \dopreload{elv}{11pt} \dopreload{twl}{12pt} \dopreload{frtn}{14pt} \dopreload{svtn}{17pt} \dopreload{twty}{20pt} \dopreload{twfv}{25pt} \newfam\psrmfam \newfam\psmifam \newfam\pssyfam \newfam\psexfam \newfam\psgrlfam \def\addinfo#1#2#3#4{\@addfontinfo#4{% \textfont\psrmfam=\csname #1psrm\endcsname \scriptfont\psrmfam=\csname #2psrm\endcsname \scriptscriptfont\psrmfam=\csname #3psrm\endcsname \textfont\psmifam=\csname #1psmi\endcsname \scriptfont\psmifam=\csname #2psmi\endcsname \scriptscriptfont\psmifam=\csname #3psmi\endcsname \textfont\pssyfam=\csname #1pssy\endcsname \scriptfont\pssyfam=\csname #2pssy\endcsname \scriptscriptfont\pssyfam=\csname #3pssy\endcsname \textfont\psexfam=\csname #1psex\endcsname \scriptfont\psexfam=\csname #2psex\endcsname \scriptscriptfont\psexfam=\csname #3psex\endcsname \textfont\psgrlfam=\csname #1psgrl\endcsname \scriptfont\psgrlfam=\csname #2psgrl\endcsname \scriptscriptfont\psgrlfam=\csname #3psgrl\endcsname \def\prm{\fam\psrmfam\csname#1psrm\endcsname}% \def\pit{\fam\itfam\csname#1it\endcsname}% \def\pbf{\fam\bffam\csname#1bf\endcsname}% \def\psc{\fam\scfam\csname#1sc\endcsname}% \def\psl{\fam\slfam\csname#1sl\endcsname}% \def\ptt{\fam\ttfam\csname#1tt\endcsname}% \@prtct\rm}} \addinfo{fiv}{fiv}{fiv}\@vpt \addinfo{six}{six}{six}\@vipt \addinfo{sev}{six}{fiv}\@viipt \addinfo{egt}{six}{fiv}\@viiipt \addinfo{nin}{six}{fiv}\@ixpt \addinfo{ten}{sev}{fiv}\@xpt \addinfo{elv}{egt}{six}\@xipt \addinfo{twl}{egt}{six}\@xiipt \addinfo{frtn}{ten}{sev}\@xivpt \addinfo{svtn}{twl}{ten}\@xviipt \addinfo{twty}{frtn}{twl}\@xxpt \addinfo{twfv}{twty}{svtn}\@xxvpt %% math mode stuff \def\hexnumber@#1{\ifcase#1 0\or1\or2\or3\or4\or5\or6\or7\or8\or9\or A\or B\or C\or D\or E\or F\fi} \edef\bffam@{\hexnumber@\bffam} \edef\psrmfam@{\hexnumber@\psrmfam} \edef\psmifam@{\hexnumber@\psmifam} \edef\pssyfam@{\hexnumber@\pssyfam} \edef\psexfam@{\hexnumber@\psexfam} \edef\psgrlfam@{\hexnumber@\psgrlfam} % numerals come from psrmfam \mathcode"30="7\psrmfam@ 30 \mathcode"31="7\psrmfam@ 31 \mathcode"32="7\psrmfam@ 32 \mathcode"33="7\psrmfam@ 33 \mathcode"34="7\psrmfam@ 34 \mathcode"35="7\psrmfam@ 35 \mathcode"36="7\psrmfam@ 36 \mathcode"37="7\psrmfam@ 37 \mathcode"38="7\psrmfam@ 38 \mathcode"39="7\psrmfam@ 39 \mathcode"3A="7\psrmfam@ 3A % upper case letters from psmifam \mathcode"41="7\psmifam@ 41 \mathcode"42="7\psmifam@ 42 \mathcode"43="7\psmifam@ 43 \mathcode"44="7\psmifam@ 44 \mathcode"45="7\psmifam@ 45 \mathcode"46="7\psmifam@ 46 \mathcode"47="7\psmifam@ 47 \mathcode"48="7\psmifam@ 48 \mathcode"49="7\psmifam@ 49 \mathcode"4A="7\psmifam@ 4A \mathcode"4B="7\psmifam@ 4B \mathcode"4C="7\psmifam@ 4C \mathcode"4D="7\psmifam@ 4D \mathcode"4E="7\psmifam@ 4E \mathcode"4F="7\psmifam@ 4F \mathcode"51="7\psmifam@ 51 \mathcode"52="7\psmifam@ 52 \mathcode"53="7\psmifam@ 53 \mathcode"54="7\psmifam@ 54 \mathcode"55="7\psmifam@ 55 \mathcode"56="7\psmifam@ 56 \mathcode"57="7\psmifam@ 57 \mathcode"58="7\psmifam@ 58 \mathcode"59="7\psmifam@ 59 \mathcode"5A="7\psmifam@ 5A % lower case letters from psmifam \mathcode"61="7\psmifam@ 61 \mathcode"62="7\psmifam@ 62 \mathcode"63="7\psmifam@ 63 \mathcode"64="7\psmifam@ 64 \mathcode"65="7\psmifam@ 65 \mathcode"66="7\psmifam@ 66 \mathcode"67="7\psmifam@ 67 \mathcode"68="7\psmifam@ 68 \mathcode"69="7\psmifam@ 69 \mathcode"6A="7\psmifam@ 6A \mathcode"6B="7\psmifam@ 6B \mathcode"6C="7\psmifam@ 6C \mathcode"6D="7\psmifam@ 6D \mathcode"6E="7\psmifam@ 6E \mathcode"6F="7\psmifam@ 6F \mathcode"71="7\psmifam@ 71 \mathcode"72="7\psmifam@ 72 \mathcode"73="7\psmifam@ 73 \mathcode"74="7\psmifam@ 74 \mathcode"75="7\psmifam@ 75 \mathcode"76="7\psmifam@ 76 \mathcode"77="7\psmifam@ 77 \mathcode"78="7\psmifam@ 78 \mathcode"79="7\psmifam@ 79 \mathcode"7A="7\psmifam@ 7A % upper case Greek letters from pssyfam \mathchardef\Gamma="7\pssyfam@ 47 \mathchardef\Delta="7\pssyfam@ 44 \mathchardef\Theta="7\pssyfam@ 51 \mathchardef\Lambda="7\pssyfam@ 4C \mathchardef\Xi="7\pssyfam@ 58 \mathchardef\Pi="7\pssyfam@ 50 \mathchardef\Sigma="7\pssyfam@ 53 \mathchardef\Upsilon="7\pssyfam@ A1 \mathchardef\Phi="7\pssyfam@ 46 \mathchardef\Psi="7\pssyfam@ 59 \mathchardef\Omega="7\pssyfam@ 57 % lower case Greek letters from psgrlfam \mathchardef\alpha="0\psgrlfam@ 61 \mathchardef\beta="0\psgrlfam@ 62 \mathchardef\gamma="0\psgrlfam@ 67 \mathchardef\delta="0\psgrlfam@ 64 \mathchardef\epsilon="0\psgrlfam@ 65 \mathchardef\zeta="0\psgrlfam@ 7A \mathchardef\eta="0\psgrlfam@ 68 \mathchardef\theta="0\psgrlfam@ 71 \mathchardef\iota="0\psgrlfam@ 69 \mathchardef\kappa="0\psgrlfam@ 6B \mathchardef\lambda="0\psgrlfam@ 6C \mathchardef\mu="0\psgrlfam@ 6D \mathchardef\nu="0\psgrlfam@ 6E \mathchardef\xi="0\psgrlfam@ 78 \mathchardef\pi="0\psgrlfam@ 70 \mathchardef\rho="0\psgrlfam@ 72 \mathchardef\sigma="0\psgrlfam@ 73 \mathchardef\tau="0\psgrlfam@ 74 \mathchardef\upsilon="0\psgrlfam@ 75 \mathchardef\phi="0\psgrlfam@ 66 \mathchardef\chi="0\psgrlfam@ 63 \mathchardef\psi="0\psgrlfam@ 79 \mathchardef\omega="0\psgrlfam@ 77 \mathchardef\varepsilon="0\psgrlfam@ 65 \mathchardef\vartheta="0\psgrlfam@ 4A \mathchardef\varpi="0\psgrlfam@ 76 \mathchardef\varrho="0\psgrlfam@ 72 \mathchardef\varsigma="0\psgrlfam@ 56 \mathchardef\varphi="0\psgrlfam@ 6A % psexfam \mathchardef\sum="1\psexfam@ 50 \mathchardef\prod="1\psexfam@ 51 \mathchardef\coprod="1\psexfam@ 60 %% text mode stuff \chardef\%=`\% \chardef\&=`\& \chardef\#=`\# \chardef\$=`\$ \chardef\ss="FB \chardef\ae="F1 \chardef\oe="FA \chardef\o="F9 \chardef\AE="E1 \chardef\OE="EA \chardef\O="E9 \chardef\i="F5 \let\j=\undefined \def\aa{\accent'312a} \chardef\l="F8 \chardef\L="E8 %\def\_{\leavevmode \kern.06em \vbox{\hrule width.3em}} \chardef\_=`\_ \def\AA{\accent'312A} \chardef\dag="B2 \chardef\ddag="B3 \chardef\S="A7 \chardef\P="B6 \ifx\protect\undefined\let\protect=\relax\fi \def\pd#1{\oalign{#1\crcr\hidewidth.\hidewidth}} \def\d{\protect\pd} \def\pb#1{\oalign{#1\crcr\hidewidth \vbox to.2ex{\hbox{\char'305}\vss}\hidewidth}} \def\b{\protect\pb} \def\pc#1{\setbox\z@\hbox{#1}\ifdim\ht\z@=1ex\accent'313 #1% \else{\ooalign{\hidewidth\char'313\hidewidth\crcr\unhbox\z@}}\fi} \def\c{\protect\pc} \def\TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX} \def\`#1{{\accent'301 #1}} \def\'#1{{\accent'302 #1}} \def\v#1{{\accent'317 #1}} \let\^^_=\v \def\u#1{{\accent'306 #1}} \let\^^S=\u \def\=#1{{\accent'305 #1}} \def\^#1{{\accent'303 #1}} \let\^^D=\^ \def\.#1{{\accent'307 #1}} \def\H#1{{\accent'315 #1}} \def\~#1{{\accent'304 #1}} \def\"#1{{\accent'310 #1}}