% dvidoc style file. Fixes things up so your file uses only fixed width % non-math characters, at least if you don't use math mode % % The first section defines all the font change commands to use the % doc pseudo-font. It is taken from John Pavel's dvidoc.sty, March 1987 % \makeatletter % version from John Pavel's dvidoc.sty, March 1987 \def\rm{\protect\pdoc} \def\it{\protect\pdoc} \def\bf{\protect\pdoc} \def\sl{\protect\pdoc} \def\sf{\protect\pdoc} \def\sc{\protect\pdoc} \def\tt{\protect\pdoc} \newfam\docfam \def\pdoc{\@getfont\pdoc\docfam\@xpt{doc}} % This gets all normal text, headings, etc. % Unfortunately it doesn't catch places where more explicit stuff % is done. The following is brute force but effective. Note that % we leave the symbol fonts alone, since otherwise we'll get TeX % errors complaining that it couldn't find symbol fonts % Possibly we should do this for all of the font types. This caught % everything in sample.tex. \font\fivmi = doc \font\fivrm = doc \font\fivsy = cmsy10 \font\sixmi = doc \font\sixrm = doc \font\sixsy = cmsy10 \font\sevmi = doc \font\sevrm = doc \font\sevsy = cmsy10 \font\egtmi = doc \font\egtrm = doc \font\egtsy = cmsy10 \font\ninmi = doc \font\ninrm = doc \font\ninsy = cmsy10 \font\tenmi = doc \font\tenrm = doc \font\elvmi = doc \font\elvrm = doc \font\elvsy = cmsy10 \font\twlmi = doc \font\twlsy = cmsy10 \font\frtnmi = doc \font\frtnrm = doc \font\frtnsy = cmsy10 \font\svtnmi = doc \font\svtnrm = doc \font\svtnsy = cmsy10 \font\twtymi = doc \font\twtyrm = doc \font\twtysy = cmsy10 \rm % % These dimensional definitions are also taken from Langdon, though with % some changes, e.g. not ragged right/bottom and parind 3 instead of 5. % horizontal dimensions had best be multiples of \em \hsize 78 em % 78 characters per line so fit any screen % \rightskip=0pt plus 4em % ragged right % \spaceskip=1em % forces ONE space between words % \frenchspacing suppresses extra blanks after punctuation -don't % \parindent=3em \def\enspace{\kern 1em} \def\enskip{\hskip 1em\relax} % % vertical skips may best be multiples of \baselineskip \baselineskip=12pt % 6 lines per inch % \vsize % default give 58 lines -OK \voffset=\baselineskip % so don't lose \headline % \parskip=0pt \smallskipamount=0pt \medskipamount= \baselineskip \bigskipamount=2\baselineskip % \raggedbottom % % By default itemize is done with bullets, which we don't have. use hyphen % now fix up various latexish stuff % % \def\labelitemi{ -} % \def\labelitemii{ -} % \def\labelitemiii{ -} % \def\labelitemiv{ -} % % Fix up table of contents. Default latex uses fractional spacing between % the section number and title. This comes out as no space in the doc file % so we add a space to numberline, and expand tempdima by one em to allow % for it. Also, go out of math mode for the dot in the leader. Dots in % math mode turn out to be colons! % \def\@dottedtocline#1#2#3#4#5{\ifnum #1>\c@tocdepth \else \vskip \z@ plus .2pt {\hangindent #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip \parindent #2\relax\@afterindenttrue \interlinepenalty\@M \leavevmode \@tempdima #3\relax \addtolength\@tempdima{1em} #4\nobreak\leaders\hbox to 2em{\hss.\hss}\hfill \nobreak \hbox to\@pnumwidth{\hfil\rm #5}\par}\fi} \def\numberline#1{\advance\hangindent\@tempdima \hbox to\@tempdima{#1\hfil}\ } % % Can't really do superscripts, so do footnotes with [] % \def\@makefnmark{\hbox{(\@thefnmark)}} \long\def\@makefntext#1{\parindent 1em\noindent \hbox to 3em{\hss\@thefnmark.}\ #1} \skip\footins 24pt plus 4pt minus 2pt \def\footnoterule{\kern-12\p@ \hbox to .4\columnwidth{\leaders\hbox{-}\hfill}} % % \arrayrulewidth 1em \doublerulesep 1em % % Some fairly obvious hacks. No odd/even pages in doc files. Can't do the % fancy TeX symbols. % \oddsidemargin 0pt \evensidemargin 0pt \def\TeX{TeX} \def\LaTeX{LaTeX} \def\SliTeX{SliTeX} \def\BibTeX{BibTeX} % % special versions of stuff from xxx10.sty, since only one font size % \def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt \abovedisplayskip 12pt \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ \belowdisplayshortskip \z@ \let\@listi\@listI} % Setting of \@listi added 9 Jun 87 \let\small\@normalsize \let\footnotesize\@normalsize \normalsize \footnotesep 12pt \labelsep 10pt \def\@listI{\leftmargin\leftmargini \parsep 12pt% \topsep 12pt% \itemsep 0pt} \let\@listi\@listI \let\@listii\@listI \let\@listiii\@listI \let\@listiv\@listI \let\@listv\@listI \let\@listvi\@listI \@listI % % We had sort of random numbers of blank lines around section numbers. % Turns out they used various fractional spacing. Rather than depend % upon the definition of startsection, just wrap something around it % that normalizes the arguments to 12pt. Negative args have special % meanings. \let\@oldstartsec\@startsection \def\@startsection#1#2#3#4#5#6{ \@tempskipa #4\relax \@tempskipb #5\relax \ifdim \@tempskipa <\z@ \@tempskipa -12pt \else \@tempskipa 12pt \fi \ifdim \@tempskipb >\z@ \@tempskipb 12pt \fi \@oldstartsec{#1}{#2}{#3}{\@tempskipa}{\@tempskipb}{#6} } % % Remaining unsolved problem: hrule and vrule are no-ops. This is % visible mostly in the tabular stuff, where none of the lines show up, % though it's still basically usable. % \makeatother