File:  [Research Unix] / researchv10dc / vol2 / index / texlib / macros.tex
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 17:21:34 2018 UTC (8 years, 3 months ago) by root
Branches: belllabs, MAIN
CVS tags: researchv10, HEAD
researchv10 Dan Cross

\vsize 8.5truein %set to 6.67in for book
\hsize 6truein %set to 4in for book
\hsize 4in
\vsize 40pc %
\hfuzz=5.0pt
\newdimen\pagedepth
\pagedepth=\vsize\advance\pagedepth by -8pt
\hyphenpenalty=200
\clubpenalty=200\widowpenalty=300\brokenpenalty=200
\pretolerance=500 \tolerance=250
\parindent=12pt
\parskip=0pt plus 0.5pt
\input cmfont.tex
\newdimen\titlebaselineskip\titlebaselineskip=24pt
\font\titlefont=cmr10 scaled \magstep4
\font\runningheadfont=cmr7 scaled \magstephalf
\def\grad{\nabla}
\def\bold#1{\hbox{\bf#1}}%
%\def\fat#1{\hbox{\rlap{$#1$}\kern0.25pt\rlap{$#1$}\kern0.25pt$#1$}}%
\def\fat#1{{\bmit#1}}
%\def\hatfat#1{\smash{\hat{\fat#1}}\vphantom{#1}}
\def\hatfat#1{\hat{\fat#1}}
\def\hatbold#1{\smash{\hat{\bold#1}}\vphantom{\bold #1}}
\def\and{\hbox{and}}
\def\for{\hbox{for}}
\def\where{\hbox{where}}
%\def\vert{\,|\,}
\def\given{\,|\,}
\def\ast{{*}}
\def\pr{\mathop{\rm pr}\nolimits}
\def\tr{\mathop{\rm tr}\nolimits}
\def\var{\mathop{\rm var}\nolimits}
\def\cv{\mathop{\rm cv}\nolimits}
\def\cov{\mathop{\rm cov}\nolimits}
\def\se{\mathop{\rm s.e.}\nolimits}
\def\diag{\mathop{\rm diag}}
\def\odds{\mathop{\rm odds}}
\def\logit{\mathop{\rm logit}}
\def\sign{\mathop{\rm sign}}
\def\DET{\mathop{\rm DET}}
\def\subdot{{\hbox{\bf .}}}
\def\point{{\tenbf .}}% plotting point
\def\i.e.{i.e.}
\def\apriori{{a~priori}}
\def\versus{{vs.}}
\def\etal{{\it et~al.}}
\def\Mark#1{\mark{\number\chapno.\number\sectionno\ \ #1}\ignorespaces}
\def\alphabeta{\mkern-1.2\thinmuskip\alpha\!\beta\mkern-0.5\thinmuskip}
\newdimen\dpth
\def\up#1{\setbox0=\hbox{$#1$}\dpth=\dp0\raise\dpth\box0}
\def\upchi{{\up\chi}}
\def\low#1{\lower 2.5pt\hbox{\sevenrm #1}}%
\def\rA{r_{\mkern-0.5\thinmuskip\hbox{\sixrm A}}}%
\def\rD{r_{\mkern-0.5\thinmuskip\hbox{\sixrm D}}}%
\def\rG{r_{\mkern-0.5\thinmuskip\hbox{\sixrm G}}}%
\def\rP{r_{\mkern-0.5\thinmuskip\hbox{\sixrm P}}}%
\def\onerP{\low1\rP}%
\def\onerD{\low1\rD}%
\def\onerG{\low1\rG}%
%\def\scrX{\hbox{\rlap{\italicfourteen x}\kern 0.35pt{\italicfourteen x}}}
%\def\wide#1{\hbox{\rlap{\italictwelve#1}\kern0.2pt\italictwelve#1}}
%\def\scrM{\wide{M}}
\def\vhalf{{\textstyle{1\over2}}}
\def\half{{\hbox{\frac1/2}}}
\def\threehalf{{\hbox{\frac3/2}}}
\def\ignore#1{\relax}
%\def\negsmallskip{\vskip -3pt plus -1pt minus -1pt}
%\def\negmedskip{\vskip -6pt plus -2pt minus -2pt}
\def\negbigskip{\vskip -12pt plus -4pt minus -4pt}
\def\sectionskip{{\widowpenalty=10000\need 3.0pc \vskip 18pt plus 4pt minus 2pt}}
\def\Sectionskip{{\widowpenalty=10000\need 5.7pc \vskip 24pt plus 5pt minus 2pt}}
\newcount\exno
\def\beginexercises{\begingroup\exno=0 \negbigskip}
\def\endexercises{\endgroup}
\def\exercise{\advance\exno by 1
	\setbox0=\hbox{\bf\number\chapno.\number\exno\kern10pt}%
	\vskip 5pt plus 3pt\par\penalty-50 \noindent\box0\ignorespaces}
%	{\parindent=\wd0 \smallskip\par\penalty-50
%	\indent\llap{\box0}\ignorespaces}}
\def\makeheadline{\vbox to 0pt{\vskip-16.5pt
	\line{\noindent\vbox to 8.5pt{}\the\headline}\vss}
	\nointerlineskip}
\def\makefootline{\baselineskip=20pt \noindent\line{\the\footline}}
\def\plainoutput{\shipout\vbox{\makeheadline\pagebody\makefootline\hfil}%
	\advancepageno
	\ifnum\outputpenalty>-20000 \else\dosupereject\fi}
\def\pagebody{\vbox to\vsize{
	\ifvoid\margin\else
	\rlap{\kern\hsize\kern 8pt\vbox to0pt{\box\margin \vss}}\fi
	\boxmaxdepth=\maxdepth \pagecontents}}
% could use \raggedbottom or re-define \pagecontents
\voffset=2\baselineskip
%\headline={\runningheadfont\ifodd\pageno\rightheadline \else\leftheadline\fi}
\headline={\ifnum\pageno=\startingpage \hfil\else
	{\runningheadfont\ifodd\pageno\rightheadline\else\leftheadline\fi}\fi}
\footline={\ifnum\pageno=\startingpage
	{\runningheadfont\ifodd\pageno\rightfootline
	\else\leftfootline\fi}\else\hfil\fi}
\def\rightheadline{\botmark\hfil\folio}
\def\leftheadline{\folio\hfil\chaptername}
\def\chaptername{}
%\nopagenumbers
\def\rightfootline{\ifproofmode\draftmessage\fi\hfil\folio}
\def\leftfootline{\folio\hfil\ifproofmode\draftmessage\fi}
\def\today{\number\day\space \ifcase\month\or
   Jan\or Feb\or Mar\or Apr\or May\or June\or
   July\or Aug\or Sept\or Oct\or Nov\or Dec\fi
   \space\number\year}
\def\s{\kern 1pt}
\newcount\startingpage\startingpage=1
\newcount\chapno\chapno=1
\newcount\sectionno\sectionno=0
\newcount\subsectionno\subsectionno=0
\newdimen\titleheight
\def\Chapter#1 #2#3{
  	\message{#1 #2:#3} % show the chapter title on the terminal
	\iftoc\immediate\write\conts{\string\first {#1} {#2 #3} {\the\pageno}}\else\fi
	\chapno=#1 \sectionno=0 \subsectionno=0 \eqnum=0 \figno=0
\sectionheading{{C\s H\s A\s P\s T\s E\s R\s\  \ #1}} {#2} {#3}
	\def\rightheadline{\botmark\hfil\folio}}
\def\chapter#1 #2{\Chapter{#1} {#2}{}}
\def\frac#1/#2{\leavevmode
	\raise.05ex\hbox{\the\scriptfont0 #1}\kern-.1em
	{\the\scriptfont0 /}\kern-.10em\lower.05ex\hbox{\the\scriptfont0 #2}}
\def\need#1 {\vskip 0pt plus #1 \penalty -200 \vskip 0pt plus -#1}
\def\allowpagebreak{\vadjust{\vskip 0pt plus 12pt \penalty0 \vskip 0pt plus -12pt}}%
%
% indexing gadgets taken from page 415 and following pages
\newinsert\margin
\dimen\margin=\maxdimen
\count\margin=0 \skip\margin=0pt
%
% taken from page 423
\newwrite\inx
\immediate\openout\inx=index % file for index reminders
\def\marginstyle{\sevenrm % marginal notes are in 7-point type
  \vrule height6pt depth2pt width 0pt } % a strut for \insert\margin
%
\newif\ifsilent
\def\specialhat{\ifmmode\def\next{^}\else\let\next=\beginxref\fi\next}
\def\beginxref{\futurelet\next\beginxrefswitch}
\def\beginxrefswitch{\ifx\next\specialhat\let\next=\silentxref
  \else\silentfalse\let\next=\xref\fi \next}
\catcode`\^=\active \let ^=\specialhat
\def\silentxref^{\silenttrue\xref}
%
%taken from page 424
\chardef\bslash=`\\ % \bslash makes a backslash (in tt fonts)
\def\xref{\futurelet\next\xrefswitch} % branch on the next character
\def\xrefswitch{\begingroup\ifx\next|\aftergroup\vxref
  \else\ifx\next\<\aftergroup\anglexref
    \else\aftergroup\normalxref \fi\fi \endgroup}
\def\vxref|{\catcode`\\=\active \futurelet\next\vxrefswitch}
\def\vxrefswitch#1|{\catcode`\\=0
  \ifx\next\empty\def\xreftype{2}%
    \def\next{{\tt\bslash\text}}% code 2, |\arg|
  \else\def\xreftype{1}\def\next{{\text}}\fi % code 1, |arg|
  \edef\text{#1}\makexref}
{\catcode`\|=0 \catcode`\\=\active |gdef\{}}
\def\anglexref\<#1>{\def\xreftype{3}\def\text{#1}%
  \def\next{\<\text>}\makexref} % code 3, \<arg>
\def\normalxref#1{\def\xreftype{0}\def\text{#1}\let\next=\text\makexref}
%
\newif\ifproofmode
\proofmodetrue % this should be false when making camera-ready copy
\def\makexref{\ifproofmode\insert\margin{\hbox{\marginstyle\text}}%
   \xdef\writeit{\write\inx{\text\space!\xreftype\space
     \noexpand\number\pageno.}}\writeit
   \else\ifhmode\kern0pt \fi\fi
  \ifsilent\ignorespaces\else\next\fi}
%
\def\Section#1{\advance\sectionno by 1 \subsectionno=0
	\line{\bf ^|\number\chapno.\number\sectionno\ \ \  #1| \hfil}%
        \Mark{\uppercase{#1}}%
	\message{Section \number\chapno.\number\sectionno: #1.}
	\iftoc\immediate\write\conts{\string\second{\the\chapno.\number\sectionno }{#1}{\the\pageno}} \else\fi
	\vskip 10pt plus 3pt minus 2pt
	\noindent\nobreak\ignorespaces
}
\def\section#1{\penalty-100 \advance\subsectionno by 1
^^|\number\chapno.\number\sectionno.\number\subsectionno\ \  #1|%
  \leftline{\rm\number\chapno.\number\sectionno.\number\subsectionno\ \  \it#1}%
	\message{Section \number\chapno.\number\sectionno.\number\subsectionno: #1.}
	\iftoc\immediate\write\conts{\string\third{\number\chapno.\number\sectionno.\number\subsectionno}{#1}{\the\pageno}}\else\fi
	\vskip 5pt plus 2pt minus 1pt
  \noindent\nobreak\ignorespaces
}
\newdimen\digitwidth
\newdimen\signwidth
\newif\ifpicturemode\picturemodetrue
%\input cmfont.tex
\def\makestrut#1 #2 {\hbox{\vrule height#1pt depth#2pt width0pt}}
\def\medstrut{\makestrut 10.5 4.5 }
\def\bigstrut{\makestrut 12.5 5.5 }
\def\Bigstrut{\makestrut 17.0 7.0 }
\def\tmstyle{\proofmodefalse\hsize=6.0in\vsize=8.5in
	\pagedepth=\vsize\advance\pagedepth by -8pt
	\def\leftheadline{\botmark\hfil\folio}
	\def\rightfootline{\hfil\folio}
	\def\leftfootline{\hfil\folio}}
\def\doubleeqalignno#1{%
  \openup 1\jot \tabskip=0pt plus 40em
  \halign to \displaywidth{%
  \tabskip=0pt plus 40em
  \hfil$\displaystyle{##}$\tabskip=0pt &$\displaystyle{{}##}$\hfil
  \tabskip=0em plus 40em minus 40em&
  \hfil$\displaystyle{##}$\tabskip=0pt &$\displaystyle{{}##}$\hfil
  \tabskip=0pt plus 40em&\llap{$##$}\tabskip=0pt\crcr#1\crcr}}
\def\tsum{\mathop{\textstyle\sum}}
\def\sweep{{\cal S}}
\newdimen\wdth
\def\Dashfill{\cleaders\hbox to 4pt{\hss$-$\hss}\hfill}
\def\dashfill{\cleaders\hbox to 1em{\hss---\hss}\hfill}
\def\dashfill{\setbox0=\hbox{---}\wdth=\wd0\cleaders\hbox to\wdth{---}\hfill}
% \Dashfill is a heavier line than \dashfill
\newif\ifrightinsertmode\rightinsertmodetrue
\newif\ifquerymode\querymodetrue
\newdimen\marginsize\marginsize=2.5in
\def\query#1{%
\leavevmode\ifproofmode
    \ifquerymode \qquery{#1}\fi%
  \else
    \vadjust{}\strut{}% 
\fi\ignorespaces}
\def\qquery#1{%
\vadjust{%
\setbox0=\vbox to 0pt{
          \vss
          \hsize=\marginsize
          \textfont0=\sevenrm
          \textfont1=\seveni
          \textfont2=\sevensy
          \sevenrm
          \fam0 
          \baselineskip=8pt
          \parindent=0pt
          \boxmaxdepth=0pt
          \raggedright
          \noindent
          #1\vrule height0pt depth\dp\strutbox width0pt
        }%  end of the \vbox containing the query
\ifrightinsertmode
    \hbox to \hsize{\hfil\rlap{\hskip 10pt \box0%
    }%  end of the \rlap to get out into the margin
    }%  end of the \hbox to get to the right end of the line
\else
    \hbox to \hsize{\llap{\box0\hskip 10pt%
    }%  end of the \llap to get out into the margin
    \hfil}%  end of the \hbox to get to the left end of the line
\fi
  }% end of the \vadjust
\strut{}%
}% end of the \qquery macro
% These macros are for unnumbered in situ displayed tables as opposed
% to floating displays, which usually have numbers for reference.
% The format is \displaystart 3pc ... \displayend
% If there are fewer than 3 lines left on the current page a new page is
% begun with abovedisplayskip glue set to zero.
% The display glue for these tables has less shrinkage than ordinary
% $$ ... $$ displays.
\def\displaystart#1 {\need#1 \vskip 8pt plus 3pt minus 7pt
	 $$\abovedisplayskip=-8pt
	   \belowdisplayskip=12pt plus3pt minus6pt 
	   \predisplaypenalty0 \postdisplaypenalty0 }
\def\displayend{$$}
%	\setbox0=\hbox{\rm 0} \digitwidth=\wd0
%	\catcode`@=\active \def@{\kern\digitwidth}
%	\setbox1=\hbox{$-$} \signwidth=\wd1
%	\catcode`?=\active \def?{\kern\signwidth}
\def\sectionheading#1#2#3{%
	\startingpage=\pageno
	\setbox2=\hbox to\hsize{\hss\titlefont #2\hss}
	\setbox3=\hbox to\hsize{\hss\titlefont #3\hss}
	\titleheight=\ht3 ^^|\number\chapno\ #2 #3|%
	\ifdim\titleheight>0pt
	     \gdef\chaptername{\uppercase{#2 #3}}
	\else\gdef\chaptername{\uppercase{#2}}   \fi
	\vbox{\vskip 0pt \hrule \vskip 24pt\centerline{\rm\strut #1}
	\vskip 10pt
	  {\baselineskip=\titlebaselineskip
	  \box2 \ifdim\titleheight>0pt \box3\fi}
	\vskip 20pt \noindent\hrule height 1pt}
	\vskip 22pt plus 8pt minus 2pt}
\hyphenation{par-am-eter par-am-eters tedi-ous}
\input monmac
\input psfig

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.