%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % qfig4pic.tex --- Interface for QFIG-generated PiCTeX code and PiCTeX % % to use with Plain TeX. % % % % Donated by: Bruce Dearden % % % % To use QFIG-generated PiCTeX code, read in this file % % followed by pictex.tex at the top of your TeX file: % % % % \input qfig4pic % % \input pictex % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\wlog#1{} % don't write allocations to log. % Smaller fonts for labels in pictures. % (This replaces Qfig's 12 pt font) \font\ninerm=cmr9 \font\eightrm=cmr8 \font\sixrm=cmr6 \font\ninei=cmmi9 \font\eighti=cmmi8 \font\sixi=cmmi6 \font\ninesy=cmsy9 \font\eightsy=cmsy8 \font\sixsy=cmsy6 \font\ninebf=cmbx9 \font\eightbf=cmbx8 \font\sixbf=cmbx6 \font\ninett=cmtt9 \font\eighttt=cmtt8 \font\nineit=cmti9 \font\eightit=cmti8 \font\ninesl=cmsl9 \font\eightsl=cmsl8 % Smaller math formulas have nonstandard \skewchar \skewchar\ninei='177 \skewchar\eighti='177 \skewchar\sixi='177 \skewchar\ninesy='60 \skewchar\eightsy='60 \skewchar\sixsy='60 \hyphenchar\ninett=-1 \hyphenchar\eighttt=-1 \hyphenchar\tentt=-1 % Macros to set the font size environment. \catcode`@=11 % need access to private plain TeX macros. \newskip\ttglue \def\tenpoint{\def\rm{\fam0\tenrm}% Switch to 10-point type. \textfont0=\tenrm \scriptfont0=\sevenrm \scriptscriptfont0=\fiverm \textfont1=\teni \scriptfont1=\seveni \scriptscriptfont1=\fivei \textfont2=\tensy \scriptfont2=\sevensy \scriptscriptfont2=\fivesy \textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex \textfont\itfam=\tenit \def\it{\fam\itfam\tenit}% \textfont\slfam=\tensl \def\sl{\fam\slfam\tensl}% \textfont\ttfam=\tentt \def\tt{\fam\ttfam\tentt}% \textfont\bffam=\tenbf \scriptfont\bffam=\sevenbf \scriptscriptfont\bffam=\fivebf \def\bf{\fam\bffam\tenbf}% \tt \ttglue=.5em plus.25em minus.15em \normalbaselineskip=12pt \setbox\strutbox=\hbox{\vrule height8.5pt depth3.5pt width0pt}% \let\sc=\eightrm \let\big=\tenbig \normalbaselines\rm} \def\ninepoint{\def\rm{\fam0\ninerm}% Switch to 9-point type. \textfont0=\ninerm \scriptfont0=\sixrm \scriptscriptfont0=\fiverm \textfont1=\ninei \scriptfont1=\sixi \scriptscriptfont1=\fivei \textfont2=\ninesy \scriptfont2=\sixsy \scriptscriptfont2=\fivesy \textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex \textfont\itfam=\nineit \def\it{\fam\itfam\nineit}% \textfont\slfam=\ninesl \def\sl{\fam\slfam\ninesl}% \textfont\ttfam=\ninett \def\tt{\fam\ttfam\ninett}% \textfont\bffam=\ninebf \scriptfont\bffam=\sixbf \scriptscriptfont\bffam=\fivebf \def\bf{\fam\bffam\ninebf}% \tt \ttglue=.5em plus.25em minus.15em \normalbaselineskip=11pt \setbox\strutbox=\hbox{\vrule height8pt depth3pt width0pt}% \let\sc=\sevenrm \let\big=\ninebig \normalbaselines\rm} \def\tenbig#1{{\hbox{$\left#1\vbox to8.5pt{}\right.\n@space$}}} \def\ninebig#1{{\hbox{$\textfont0=\tenrm\textfont2=\tensy \left#1\vbox to 7.25pt{}\right.\n@space$}}} \catcode`@=12 % @ is not a letter any more. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Interface macros \def\mbox#1{\leavevmode\hbox{#1}} \def\typeout#1{\message{#1}} \def\symbol#1{\char '#1\relax} \let\xpt=\tenpoint % QFIG's 10-point really is 10-point. \let\xiipt=\ninepoint % Force QFIG's 12-points to the smaller 9-points. \newdimen\unitlength %%%%%%%%%%%%%%%%%%%%%