%^%% RESOURCESimple simplified macro file for Sweet-teX 1985-- %% Composes typing as transcoded in default mode. %% Use with Plain TeX. %% Includes includes FONTDEF stuff. %% Occam formatted for minimization. %% Last update: 7-94 %% Author L. Siebenmann %% Documentation after \endinput. %% This file will become an %_ %% auxiliary macros file %% derived from RESOURCESimple.occ %% named %% needed by the ".tex" typescript: %% Date: ???? %% Contact: ????, email: ???? %^% This version is in Occam format %% and includes FONTDEF.tex%_ %^% This file is formatted by LS, 7-94 %% for use of the DefStrip utility posted on the CTAN archives %% (master posting 1994 on ftp ftp.math.u-psud.fr) %% DO NOT ALTER DEFSTRIP SIGNS %^, %_ , %%^_ %% UNLESS YOU UNDERSTAND THEM! \let\Def\def \let\gDef\gdef \let\Let\let \def\gLet{\global\let} \let\Font\font \let\Mathchardef\mathchardef\let\Newsymbol\newsymbol \let\MATHchardef\mathchardef\let\NEWsymbol\newsymbol \input auditor.tex %% keep auditor.tex available %% comment out above line to suppress audit function. %_ %%% Avoid double input of these macros %% \bgroup \catcode`\!=12 \ifx\auxmacros\relax \immediate\write16{}% \message{ !!! auxmacros already defined !!!} \gdef\auxmacros{\endinput}% \else \global\let\auxmacros\relax \fi \egroup \auxmacros %^%%% avoid double input of Sweet-teX macros \bgroup \catcode`\!=12 \ifx\RESOURCE\relax \immediate\write16{}% \message{ !!! Sweet-teX RESOURCE macros already defined !!!} \gdef\RESOURCE{\endinput}% \else \global\let\RESOURCE\relax \fi \egroup \RESOURCE %_ \catcode`\@=11 \newcount\Ht %¬% pg121; Height register, used in Linefigure & accents %_ \newcount\Wd %^% Width %_ %^%% FONTDEF stuff defines your fonts; %% depends on your TeX printing system; % % FONFDEF/lcd file for Sweet-teX. These are lowest common denominator % settings; please adapt by enriching the font palate with whatever % you happen to have and like! % \ifx\FONTDEF\undefined \let\FONTDEF\relax \else \errmessage{ FONTDEF stuff already loaded\string!} \expandafter\endinput \fi %_ \def\cm{cm} %\def\cm{dm} %% alternatives... %\def\cm{dc} \Font\bigbf=\cm bx12 %_ \Font \smallrm=\cm r7 %_ \Font \smallbf=\cm bx7 %_ \Font\tenbi=\cm bxti10 %TimesBI %cmbi10 %_ \Font \tensmc=\cm csc10 %_ \Font\foliofont=\cm r10 %_ %^\font\tenrm=\cm r10 %% restore \cmr10 for messages %_ \Def \bi{\tenbi} %\def \bi{\bf}%_ \Def\smc{\tensmc } %\def \smc{\bf}%_ \Def \Bbd#1{{\bf #1}}%_ \Def \Calig#1{{\cal #1}}%_ \Def \Cal#1{{\cal #1}}%_ \Def \Frak#1{{\bf #1}}%_ \Def \Smallfonts {}%_ \Def \Titlefont {\bigbf}%_ \Def \Authorfont {\bf}%_ \Def \Headingfont {\bf}%_ \Def \Subheadingfont {\bf}%_ \Def \Theoremfont {\bf}%_ \Def \TheoremTextfont {\bf}%_ \Def \Prooffont {\it}%_ \Def \Remarkfont {\bf}%_ \Def \Diagramfont {\bf}%_ \Def \Captionfont{\it}%_ %^%% Font macros %_ \Def\rm{\everymath={}\fam0\tenrm}%_ %^% allows \rm inside \Theorem %% becomes difficult for amsTeX %_ %^\def\bf{\everymath={}\fam \bffam \tenbf}%_ %^% Various alternatives for italic %\def \It #1 \endIt{{\it #1\/}} %\def \It #1{{\it{\unskip#1}\unskip\/}} %% now no double spaces; fault: space forced before (or use \unskip in typing) %% also \Bi \Bf, \Smc %\def \It #1{{\it{#1}\unskip\/}} %%_ \long \def \It #1{{\it \ifdim\mathsurround=0pt \else\advance\mathsurround by 1.2pt \fi\ignorespaces #1\unskip\/}} %^% Provided mathsurround is being used at all, gives better %% spacing of math in (bold-)italic; also in \Theorem %_ %^%\def \Bi #1 \endIt{{\bi #1\/}}%_ %^%\def \Bi #1{{\bi{#1}\unskip\/}}%_ \Def \Bi #1{{\bi \ifdim\mathsurround=0pt \else\advance\mathsurround by 1.2pt \fi\ignorespaces #1\unskip\/}}%_ \Def \Bf #1{{\bf#1\unskip}}%_ \Def \Smc#1{{\smc#1\unskip}}%_ \Def \Admin #1{\begingroup\mathsurround=0 pt \leavevmode %% p222-3:~ then \hskip -\lastskip for \unskip \ifmmode\hbox{$\rm #1$\relax}\else$\rm #1$\relax\fi \endgroup} %% \relax's anticipate mathsurround mechanisms %_ \Def \Rm #1{\hbox{\kern 1pt \rm #1\kern 1pt}}%_ \Def\Displaystyle {\displaystyle}%_ %^%% Logical formatting %_ \Def\Medskip{\medskip}%_ %^%% \Title block begins%_ \newskip\TitleLineskip \TitleLineskip=4pt \def \DeepCr{\unskip\hfil\egroup\par\hfil\bgroup}% \def \\#1{% \def\test{#1}% \ifx \test\space \def\this{\DeepCr}\else\def\this{\DeepCr #1}% \fi \this}% \Def \Title{\goodbreak \ifdim\pagetotal>.70\pagegoal \def\this{\vfill\eject} \else\def\this{}\fi \this \vbox\bgroup\Titlefont\def\cr{\DeepCr}% \parindent=0 pt\parskip= 0 pt \baselineskip=\fontdimen6\font \lineskip=\TitleLineskip% \lineskiplimit=\baselineskip% \advance\lineskiplimit by -1ex % \hbox to 0pt{}\vskip15pt plus 15pt\bigskip \bgroup \hfil} \def \endTitle {\unskip\hfil\egroup\par \egroup\medskip} %^%% \Title block ends%_ \newskip\AuthorLineskip \AuthorLineskip=5pt plus 5pt \Def\Author{\nobreak\vskip 20Pt plus 10pt minus 5pt\nobreak \vbox\bgroup\let\cr\DeepCR\let\\\DeepCR \parindent=0 pt\parskip= 0 pt \Authorfont\baselineskip=\fontdimen6\font \advance\baselineskip by \AuthorLineskip \bgroup \hfil}%_ \Def \endAuthor {\unskip\hfil\egroup\par \egroup\medskip}%_ \Def \Heading#1{\hbox{}\hfil \goodbreak \bigskip \medskip \centerline{\Headingfont #1}}%_ \Def \Subheading#1{\medskip\bigskip \goodbreak \par \noindent {\Subheadingfont #1.}% \nobreak \vskip 3pt \nobreak}%_ \Def \SubheadingA#1{\medskip \goodbreak \par {\Subheadingfont #1.}\quad}%_ \Def \SubheadingB#1{\medskip \goodbreak \par {\Subheadingfont\quad #1.}\quad}%_ \Def \SubheadingC#1{\medskip \goodbreak \par {\bi\quad #1.}\quad}%_ \Def \Remark#1{\bigskip \goodbreak \par\noindent{\Remarkfont #1.}}%_ \Def \endRemark{\medskip \goodbreak}%_ \Def \Example#1{\Remark {#1}}%_ \Def \endExample{\medskip \goodbreak}%_ \Def \Definition#1{\Remark {#1}}%_ \Def \endDefinition{\medskip \goodbreak}%_ \Def \Theorem #1{\goodbreak\bigskip\par\noindent\Theoremfont #1. \hskip 2pt plus 1pt minus 1pt \begingroup\it \everymath={\ifdim\mathsurround=0pt\def\this{} \else\def\this{\kern1.5pt}\fi\this} }%_ \Def \endTheorem {\endgroup \rm \goodbreak \smallskip}%_ \Def \Proof#1{\goodbreak \medskip \par\noindent \Prooffont #1\hskip .7pt:\hskip 3pt\rm}%_ \Def \endProof{\qed\goodbreak\vskip10pt}%_ %^% A Box for the Quod est demonstrandum: %_ \Def\qedbox{\hbox{\vbox{ \hrule width0.2cm height0.2pt \hbox to 0.2cm{\vrule height 0.2cm width 0.2pt \hfil\vrule height0.2cm width 0.2pt} \hrule width0.2cm height 0.2pt}\kern1pt}}%_ %^% Typing in \qed makes the qedbox right justified: %_ \Def\qed{\ifmmode\qedbox \else\unskip\ \hglue0mm\hfill\qedbox\medskip \goodbreak\fi}%_ \Def\Endphase {}%_ \def \Benchmark { } \Def \References#1{\begingroup \leftskip=25 pt \parskip=4 pt plus 2 pt \goodbreak \hbox to 1 pt{}% \vskip 15 pt plus 10 pt minus 5 pt \centerline{\Headingfont #1}% \frenchspacing \Smallfonts \def \Benchmark{\Refmark}% \def \Refmark##1##2{\par\noindent \llap {##1{##2}\kern 12 pt}\kern 0pt}% \nobreak\vskip 8pt \nobreak} %##1##2 secretly is \Cite ##2 %_ \Def \endReferences {~\unskip\par\endgroup \medskip\goodbreak}%_ \Def \Phantom{}%_ \Def\NoLineFigureBoxes {\gdef \Phantom{\phantom}}%_ \Def\LineFigureBoxes {\gdef \Phantom{}}%_ \catcode`\w=\active \catcode`\h=\active \Def \Linefigure{\begingroup \catcode`\w=\active \catcode`\h=\active \def w{30 }\def h{12}\preLinefigure}% \def\preLinefigure[#1*#2]_{% \Wd=#1\Ht=#2\catcode`\w=11 \catcode`\h=11 \LLinefigure} \catcode`\w=11 \catcode`\h=11 %_ \Def \LLinefigure#1{% \setbox1=\hbox{#1}% \Phantom %% make \phantom for final printing; empty meaning before!!!! {\hskip 0 pt\hbox{\mathsurround=0 pt$% \vcenter{\hbox{% \vrule \vbox to \Ht pt{% \hrule \vfil \hbox to \Wd pt{% \hfil\unhbox1\hss}% \vfil\hrule}% \vrule}}\hskip 0 pt $\relax}}% \endgroup}% stray spaces would make this mushy %_ \Def\OldTexturesLinefigure[#1*#2scaled#3]_#4{% \dimen1=#1 pc\dimen2=#2 pc \divide\dimen1 by 1000 \multiply\dimen1 by #3 \divide\dimen2 by 1000 \multiply\dimen2 by #3 \noindent\hbox{\mathsurround=0 pt$% \vcenter{\hbox{% \vbox to \dimen2{% \vfil \hbox to \dimen1{% \special{picture #4 scaled #3}\hfil}% }% }}% $\relax}}%_ \Def\TexturesLinefigure{\OldTexturesLinefigure}%_ \Let\gLinefigure\TexturesLinefigure %_ \Def \metaDiagram#1#2@{% \def\SetHt##1{\def\test{##1}\def\Test{h} \ifx \test\Test \Ht=40 \else \Ht=##1 \fi}% \SetHt{#1}\goodbreak\midinsert\vskip -8pt \vbox to \Ht pt{\vfil \noindent\hfil\Diagramfont#2 \hfil}% \vskip-8pt\endinsert}%_ \Def \Diagram#1{\metaDiagram#1@}%_ \Def \vDiagram#1{% \Diagram{#1\hfill\hfill\vfil\vskip -\baselineskip}}% %% note restored parens %_ \Def \AutoMetaDiagram#1#2@{\goodbreak\midinsert \offinterlineskip\vbox to 0pt{} %\vskip-1.5\abovedisplayskip %% adjust -1.5? \line{\hfil #1\hfil}% \vskip\bigskipamount \line{\hfil\Diagramfont #2\hfil}% %\vskip-1.5\belowdisplayskip \endinsert}%_ \Def \AutoDiagram#1{\AutoMetaDiagram#1@}%_ \Def \Footnote #1#2{\footnote{\raise.4ex\hbox{\Admin{ #1}}}{\Smallfonts #2}} %% \Smallfonts problematic here %% \scriptstyle? %_ \Def\BoldItemTags{\def\ItemStyle{\bf}}%_ \Def\PlainItemTags{\def\ItemStyle{\rm}}%_ \Def\ItemStyle{\bf}%_ %^\Def \Item #1{\item {$\bf {{#1}} $\relax}}%_ \Def \Item #1{% \smallskip\nointerlineskip{\parskip=4pt\noindent {\def\Bf{}\hbox{$\ItemStyle #1$\relax}}\enskip}}%_ %^\Def \Itemitem #1{\itemitem {$\bf {{#1}} $\relax}}%_ \Def \Itemitem #1{\itemitem{\def\Bf{}\hbox {$\ItemStyle #1$\relax}}}%_ \Def \Cite#1{{\rm\cite{#1}}}%_ \Def \cite#1{\cite@#1,\endcite@}%_ \Def \cite@@#1,{#1}%_ \Def \cite@#1,#2\endcite@{\def\temp{#2}% \ifx\temp\empty\relax \def \temp{{\bf[#1]}}% \else\relax \def\temp{{[\bf #1,\rm\ \cite@@#2]}}% \fi\temp}%_ %^%%% Symbols macros % \def\,{\ifmmode\mskip \thinmuskip\else\hskip1pt\fi }%_ \Def \@{\char '100}%_ \Def \preXbox{\hbox{$ \vcenter{\hbox{% \vrule\vbox to 6.7 pt{% \hrule \vfil \hbox to 12 pt{% \hfil}% \vfil\hrule}% \vrule}}\hskip 4pt $\relax}}%_ \Def \Xbox{\raise -.25pt\hbox{\preXbox}}%_ \Def \Nonsense {{~\unskip \kern-3.5 pt \mathsurround=0 pt \hbox{\Xbox \kern -16.5 pt $>\kern-3pt<$\relax}}}%_ \Def \Blackbox {\leavevmode\hskip .3pt \vbox{% \hrule height 6.9pt\hbox{\hskip 4.5pt}}\hskip .5pt}%_ \Def \Eqno #1$${\eqno \Admin{#1}$$\relax}%_ \Def \Rparen {\right )}%_ \Def \bigMidvert{\kern4pt \big \vert \kern4pt}%_ \Def \Midvert{\kern3pt \vert \kern3pt}%_ \Def\lvert{\left\vert}% defaults %_ \Def\rvert{\right\vert}%_ \Def\lVert{\left\Vert}%_ \Def\rVert{\right\Vert}%_ \def \proseSharp {{\mathsurround=0pt\kern1pt \hbox{$\vcenter{\hbox{$\scriptstyle \# $\relax}\vskip.7pt}$\relax}\kern1pt}} \def \mathSharp {\mathord{\#}} \Def\Sharp{\ifmmode\expandafter\mathSharp\else \expandafter\proseSharp\fi}%_ \Def \bigConnectedsum {\mathop{\#}\limits}%_ %^\Def \Cup{\bigcup}%_ %^\Def \Cap{\bigcap}%_ \Def\littlecup{\mathchoice%{} {\scriptstyle\cup} {\scriptstyle\cup} {\scriptscriptstyle\cup} {\scriptscriptstyle\cup} }%_ \Def\littlecap{\mathchoice%{} {\scriptstyle\cap} {\scriptstyle\cap} {\scriptscriptstyle\cap} {\scriptscriptstyle\cap} }%_ \Def \Otimes{\mathbin{\kern-2pt\raise 1.2pt \hbox{\mathsurround\z@$\scriptstyle \otimes$\relax}\kern-2pt}}%_ \Def \Oplus{\mathbin{\kern-2pt\raise 1.2pt \hbox{\mathsurround=0pt$\scriptstyle \oplus$\relax}\kern-2pt}}%_ \Def \Amalg{\mathbin{\raise .5pt \hbox{$\scriptstyle \amalg$\relax}}}%_ \Def\Circ {\mathchoice% {\hbox{\raise .8pt \hbox{\mathsurround=2pt$\scriptstyle \circ$\relax}}} {\hbox{\raise .8pt \hbox{\mathsurround=2pt$\scriptstyle \circ$\relax}}} {\hbox{\raise .5pt \hbox{\mathsurround=.7pt$\scriptscriptstyle \circ$\relax}}} {\hbox{\raise .5pt \hbox{\mathsurround=.7pt$\scriptscriptstyle \circ$\relax}}} } %\def \Circ {\hbox{\kern-1pt\raise 1pt % \hbox{$\scriptstyle \circ$\relax}\kern-1pt}} %\def \Circ {\circ} %_ \Def \Coprod {\mathop{\raise 1.2pt \hbox{\mathsurround=0pt$\coprod$\relax}}}%_ \Def \Lim {\lim\limits}%_ \Def \Lbrack {{\mathsurround=0pt$[\![$\relax}}%_ \Def \Rbrack {{\mathsurround=0pt$]\!]$\relax}}%_ \Def \Smash#1{\vbox to 0 pt{% \vss\hbox{\mathsurround=0pt${#1}$\relax}\vss}}%_ %% The following tentative macros for accents %% will misbehave in subscript position %% and also with unslanted characters. %% In such cases resort to other pre-existing macros. \Def \Acc{\relax\expandafter}%_ \Def\swthat{\raise -1.1 ex\hbox{% \mathsurround=0pt$\widehat{}$\relax}}%_ \Def\swttilde{\raise -1.2 ex\hbox{% \mathsurround=0pt$\widetilde{}$\relax}}%_ \Def \overdot{{\raise .2 ex \hbox to 0pt {\hss\bf\smash{.}\hss}}}%_ \Def \overcircle{{\raise .1 ex \hbox to 0pt {\mathsurround=0pt$\scriptscriptstyle\hss\circ\hss$\relax}}}%_ \Def \Mathaccent#1#2{{\mathsurround=0 pt %% E.g. #1=\widehat \setbox4=\hbox{$\vphantom{#2}$\relax} \Ht=\ht4 %% pg120, understood unit sp \setbox5=\hbox{${#1}$\relax} \setbox6=\hbox{${#2}$\relax} \setbox7=\hbox to .5\wd6{} \copy7\kern .1\Ht sp\raise\Ht sp\hbox{\copy5}\kern-.1\Ht sp %% some missing sp 1-93 (unnecessary?) \copy7\llap{\box6} }}%_ %^% italic test or other needed; oops, index height slightly raised %% extra braces 9-90 %_ \Def \Overdot #1{\Mathaccent {\overdot} {#1}}%_ \Def \Overcircle #1{\Mathaccent {\overcircle} {#1}}%_ \Def \SwtHat #1{\Mathaccent {\swthat} {#1}}%_ \Def \SwtTilde #1{\Mathaccent {\swttilde} {#1}}%_ \Def\SwtCheck #1{% \ifmmode \check{#1}% \else \v {#1}% \fi}%_ \Def \ChOline#1{\setbox1=\hbox{\mathsurround=0pt${#1}$\relax}% \ifdim \wd1 > 7pt \kern .15\ht1 \kern .9 pt \overline {\kern -.15\ht1 \kern -.9 pt#1\kern-.9 pt}% \kern .9 pt \else \ifdim \wd1 > 4pt \kern .3\ht1 \overline {\kern -.3\ht1 {#1}}% \else \kern .3\ht1 \kern-.9 pt \overline {\kern -.3\ht1 \kern .9 pt{#1}\kern .9 pt }% \kern-.9 pt \fi \fi}%_ \Def \ChUline#1{% {\kern .5pt \underline {\kern -.5pt#1\kern-2.2pt}\kern1.3pt} }%% single underline for char %_ \Def \Uuline#1{\closerunderline{.9pt}{\closerunderline {-.3pt}{#1}}} %% close dble underline \Def \ChUuline#1{ {\kern .5pt \Uuline {\kern -.5pt#1\kern-2.2pt}\kern1.3pt} }%% double underline for char %_ \Def \Cdot{\mathbin{\raise .4 ex \hbox to 0pt {\hss\bf .\hss}}}%_ \Def \llonguparrow{\bigg\uparrow}%_ \Def \llongdownarrow{\bigg\downarrow}%_ %^\Def \Limgadget #1 {\mathrel %{\kern-2p\mathop{\kern3pt #1\kern3pt}\limits}} %% no; redo correctly to replace following? %_ \Def \llongrightarrow {\kern-2pt\mathop {\kern3pt\longrightarrow\kern3pt}\limits}%_ \Def \llongleftarrow{\kern-2pt\mathop {\kern3pt\longleftarrow\kern3pt}\limits}%_ \Def \llongtwoheadrarrow {\kern-2pt \mathop{\kern3pt\longrightarrow \kern-14pt \longrightarrow\kern3pt}\limits}%_ \Def \llongleftrightarrow {\kern-2pt \mathop{\kern3pt\longleftrightarrow\kern3pt}\limits}%_ \Def \llongmapsto {\kern-2pt \mathop{\kern3pt\longmapsto\kern3pt}\limits}%_ \Def\rarrow{\rightarrow}%_ \Def\larrow{\leftarrow}%_ \Def\ProseBullet{{\mathsurround=0pt$\bullet$\relax}}%_ \Def\Bullet{\ifmmode\let\this\bullet \else\let\this\ProseBullet\fi\this}%_ \Def\Trademark{\hbox{\Admin{{}^{\scriptscriptstyle TM}}}}%_ \Def\LaTeX{{\rm L\kern-.34em \raise.47ex\hbox{\mathsurround=0pt $\scriptstyle\rm A$\relax}\kern-.15em \TeX}} %% here 7pt A not \sc a %_ \Def \AmS{{\tensy A}\kern -.1667em\lower .5ex\hbox {\tensy M}\kern -.125em{\tensy S}}%_ \Def \AmSTeX{\AmS-\TeX}%_ \Def \Enskip{{\hskip 4pt plus3pt minus2pt}}%_ \Def\Matrix#1{\matrix{#1}}%_ \Def\Undef{\Nonsense}%_ %^% The following correspond to rare Sweet-teX symbols, %% and will produce a X'ed box on your TeX printout %% until something better is devised %_ \Def\Bigasterisk{\Undef}%_ \Def\Control{\Undef}%_ \Def\llongrightarrowtail{\Undef}%_ \Def\llongswarrow{\Undef}%_ \Def\llongsearrow{\Undef}%_ \Def\llongnwarrow{\Undef}%_ \Def\llongnearrow{\Undef}%_ \Def\llongtwoheadrightarrow{\mathbin {{\longrightarrow} \kern -1850\mu {\rightarrow}}}%_ \Def\complement{\Undef}%_ \Def\Break{\break}%_ \catcode`\@=12 \endinput %%^_ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% RESOURCE.tex documentation The typogaphy afforded by default is in effect an informal "preprint style" that has the minimal virtue of being easy to change, whereas TeX macros are usually very devious. It is best to make changes and enhancements through a personal style file to be loaded after RESOURCE.tex. Sweet-teX typing is readily adapted to the sophisticated typography of monograph styles, for example to osudeG.sty whose master posting is on ftp shape.mps.ohio-state.edu [128.146.7.200]. Such adaptation should not necessitate any alteration of RESOURCE.tex, provided one takes care to load the monograph style after RESOURCE.tex. An model adaptation is provided with the posting of osudeG.sty on ftp ftp.math.u-psud.fr. The order of loading is then plain.tex, RESOURCE.tex, osudeG.sty, mymacros.sty. If alteration of RESOURCE.tex proves truly necessary please rename it! One sound motive for such alteration is to produce a simple submission to a journal that proposes to rework your typescript using its own TeX methods. See a posting about Journal submission on ftp ftp.math.u-psud.fr and an appendix to the Sweet-teX manual (versions >= 0.98). If one attempts to read RESOURCE.tex a second time, it is bypassed. This means that if you incorporate RESOURCE.tex in a format, then whenever RESOURCE.tex is updated, then the format must be recompiled to take account of the update. Sweet-teX macros tend to begin with a capital. Unfortunately a few of Knuth's (involving doubling of arrows etc.) do also.