% FNPARA.STY % A LaTeX style to typeset footnotes in run-on paragraphs. % See end of this file (after \endinput) for comments. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % From latex.ltx : \long\def\@mpfootnotetext#1{% \global\setbox\@mpfootins\vbox{% \unvbox\@mpfootins \reset@font\footnotesize \hsize\columnwidth \@parboxrestore \protected@edef\@currentlabel {\csname p@mpfootnote\endcsname\@thefnmark}% \color@begingroup \setbox0=\hbox{% \@makefntext{% \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox \penalty -10 \hskip\footglue }% }% \dp0=0pt \ht0=\fudgefactor\wd0 \box0 \color@endgroup}} \long\def\@footnotetext#1{\insert\footins{% \reset@font\footnotesize \interlinepenalty\interfootnotelinepenalty \splittopskip\footnotesep \splitmaxdepth \dp\strutbox \floatingpenalty \@MM \hsize\columnwidth \@parboxrestore \protected@edef\@currentlabel{% \csname p@footnote\endcsname\@thefnmark }% \color@begingroup \setbox0=\hbox{% \@makefntext{% \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox \penalty -10 \hskip\footglue }% }% \dp0=0pt \ht0=\fudgefactor\wd0 \box0 \color@endgroup}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %CCCC --- from TeXbook \newskip\footglue \footglue=1em plus.3em minus.3em % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Cut down from article.cls : \long\def\@makefntext#1{% % \parindent 1em% % \noindent % \hb@xt@1.8em{\hss\@makefnmark}#1 \hb@xt@.5em{\hss\@makefnmark}\hskip.5em#1 }% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % From latex.ltx: \def\endminipage{% \par \unskip \ifvoid\@mpfootins\else \vskip\skip\@mpfootins \normalcolor \footnoterule % \unvbox\@mpfootins \mpmakefootnoteparagraph \fi \global\@minipagefalse %% added 24 May 89 \color@endgroup \egroup \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}} \def \@makecol {% \ifvoid\footins \setbox\@outputbox \box\@cclv \else \setbox\@outputbox \vbox {% \boxmaxdepth \@maxdepth \unvbox \@cclv \vskip \skip\footins \color@begingroup \normalcolor \footnoterule % \unvbox \footins \makefootnoteparagraph \color@endgroup }% \fi \xdef\@freelist{\@freelist\@midlist}% \global \let \@midlist \@empty \@combinefloats \ifvbox\@kludgeins \@makespecialcolbox \else \setbox\@outputbox \vbox to\@colht {% \@texttop \dimen@ \dp\@outputbox \unvbox \@outputbox \vskip -\dimen@ \@textbottom }% \fi \global \maxdepth \@maxdepth } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % From TeXbook, p.398 ff., AVOIDING the redefinition of \\ in LaTeX!! {\catcode`p=12 \catcode`t=12 \gdef\@ennumber#1pt{#1}} {\footnotesize \newdimen\footnotebaselineskip %CCCC --definitely needed: \global \footnotebaselineskip=\normalbaselineskip} \dimen0=\footnotebaselineskip \multiply\dimen0 by 1024 \divide \dimen0 by \columnwidth \multiply\dimen0 by 64 \xdef\fudgefactor{\expandafter\@ennumber\the\dimen0 } \def\makefootnoteparagraph{\unvbox\footins \makehboxofhboxes \setbox0=\hbox{\unhbox0 \removehboxes} %CCCC ---now we are ready to set the paragraph: \hsize\columnwidth \@parboxrestore \baselineskip=\footnotebaselineskip \noindent %CCCC ---this is where the strut is needed: \rule{\z@}{\footnotesep}% \unhbox0\par} % % \def\mpmakefootnoteparagraph{\unvbox\@mpfootins \makehboxofhboxes \setbox0=\hbox{\unhbox0 \removehboxes} %CCCC ---now we are ready to set the paragraph: \hsize\columnwidth \@parboxrestore \baselineskip=\footnotebaselineskip \noindent %CCCC ---this is where the strut is needed: \rule{\z@}{\footnotesep}% \unhbox0\par} \def\makehboxofhboxes{\setbox0=\hbox{} \loop\setbox2=\lastbox \ifhbox2 \setbox0=\hbox{\box2\unhbox0}\repeat} \def\removehboxes{\setbox0=\lastbox \ifhbox0{\removehboxes}\unhbox0 \fi} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \endinput FNPARA.STY A LaTeX style to typeset footnotes in run-on paragraphs. History: A vain attempt at this LaTeX modification was tried in late September 1988 by Dominik Wujastyk, and sent to TeXhax and UKTeX for comment. Chris Rowley came up with a working version a few days later, but it still needs thorough testing. The Style: This LaTeX style changes the way LaTeX does footnotes. With this style invoked (\documentstyle[fnpara]{article}), footnotes will be typeset in a running paragraph, instead of one above another. It is suitable for texts such as critical editions, which contain many short footnotes. This is based on the TeX macros described by Knuth in the TeXbook, Dirty Tricks, pages 398--400. It is not tested beyond some simple examples. In particular, it has not been tested properly in connection with even the simplest of environments, nor with other floats. (In fact, ordinary LaTeX footnotes sometimes do not work well if they need splitting (e.g. producing blank pages, or appearing in shufled form): but these problems should not affect this style. I --CR-- have sent in a Bug Report about some of these problems.) Be aware of Knuth's note on the limitations of this method of doing the job: the TeX stack is used four times per footnote, and the stack is limited (TeXbook pp. 300--301). So if you have very many footnotes (in the hundreds) and encounter "! TeX capacity exceeded, sorry [... save size ...]" errors, you may need to break your text into smaller sections. Fortunately, this is very easy to do with LaTeX. And the footnote counter can be reset to make the joins seamless. Chris Rowley Office tel: (England) 01 794 0575 Janet: CA_ROWLEY@UK.AC.OPEN.ACS.VAX Dominik Wujastyk Office tel: (England) 01 387 4477 x 3013 Janet: Wujastyk@UK.AC.UCL.EUCLID October 3, 1988 --------------------------- Modified 11/12/95 Updated with new copies of relevant definitions from base files, and added definitions for paragraph footnotes inside minipages Bradley Smith (612) 624-1535 basmith@prometheus.chem.umn.edu