5

enter image description here I am using a macro for TeX which I have received from my coauthor but she also did not know how to adjust spacing between footnotes.

Here is my macro.tex

% make the pageheight a bit smaller



\vsize=8.7in
\voffset=.01in
% do this to get 1.5 inch lefthand margin
\hsize=6.5in
\hoffset=0.01in
% set some definitions
\def\singleo{\normalbaselineskip=11pt \normalbaselines}
\def\single{\normalbaselineskip=15pt \normalbaselines}
\def\singlet{\normalbaselineskip=18pt \normalbaselines}
\def\double{\normalbaselineskip=24pt \normalbaselines}
% twelve point
 \font\twlrm  = cmr12    % roman
 \font\twlmi  = cmmi12   % math italic
    \skewchar\twlmi ='177          %  for placement of accents
 \font\twlsy  = cmsy10  scaled \magstep1 % math symbols
    \skewchar\twlsy ='60           %   for placement of math accents
 \font\twlit  = cmti12   % text italic
 \font\twlsl  = cmsl12   % slanted
 \font\twlbf  = cmbx12   % extended bold
 \font\twltt  = cmtt12   % typewriter
    \hyphenchar\twltt = -1         %  suppress hyphenation in \tt font
 \font\twlsf  = cmss10   % sans serif

 \font\bigbf =  cmbx12 scaled \magstep2   % large font for titles

 \font\egtrm  = cmr8
 \font\egtmi  = cmmi8
    \skewchar\egtmi ='177          %  for placement of accents
 \font\egtsy  = cmsy8
    \skewchar\egtsy ='60           %   for placement of math accents
 \font\egtbf  = cmbx8

 \font\sixrm  = cmr6
 \font\sixmi  = cmmi6
    \skewchar\sixmi ='177          %  for placement of accents
 \font\sixsy  = cmsy6
    \skewchar\sixsy ='60           %   for placement of math accents
 \font\sixbf  = cmbx6
\textfont0=\twlrm
  \scriptfont0=\egtrm \scriptscriptfont0=\sixrm
\def\rm{\fam0\twlrm}
\textfont1=\twlmi \scriptfont1=\egtmi \scriptscriptfont1=\sixmi
\def\mit{\fam1 } \def\oldstyle{\fam1 \twlmi}
\textfont2=\twlsy \scriptfont2=\egtsy \scriptscriptfont2=\sixsy
\def\cal{\fam2 }
\textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex

\textfont\itfam=\twlit \def\it{\fam\itfam\twlit}
\textfont\slfam=\twlsl \def\sl{\fam\slfam\twlsl}
\textfont\bffam=\twlbf  \scriptfont\bffam=\egtbf
 \scriptscriptfont\bffam=\sixbf \def\bf{\fam\bffam\twlbf}
\textfont\ttfam=\twltt \def\tt{\fam\ttfam\twltt}


%\normalbaselineskip=24pt    % define a new baseline for 12pt

\normalbaselines \rm   %  set things in motion
%
%  presumably all this stuff is needed to correctly do footnotes
%
\catcode`\@=11
\def\vfootnote#1{\insert\footins\bgroup
  \interlinepenalty\interfootnotelinepenalty
  \splittopskip\ht\strutbox % top baseline for broken footnotes
  \baselineskip=24pt    % necessary for single space
                        % footnotes with double space
                       % text
  \splitmaxdepth\dp\strutbox \floatingpenalty\@MM
  \leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip
  \textindent{#1}\footstrut\futurelet\next\fo@t}% Change \textindent for
                                                % different footnote styles


\def\pagenumbers{\footline={\hss\tenrm[\folio]\hss}}  % turn pagenumbers back on

% roman numeral page numbers

\def\romanpagenumbers{\footline={\hss[\romannumeral\folio]\hss}}

\def\undertext#1{$\underline{\smash{\vphantom{y}\hbox{#1}}}$}  % underlines text

\def\sumin{\sum_{i=1}^N}                              %summation from 1 to n

\def\sumit{\sum_{i=1}^T}                              %summation from 1 to t

\def\inv{^{-1}}                                       %inverse

%for two beginsections in a row, use this.

\outer\def\beginsectionsection#1\par#2\par{\vskip0pt plus.3\vsize\penalty-250
    \vskip0pt plus-.3\vsize\bigskip\vskip\parskip
    \message{#1}\leftline{\bf #1}\nobreak\smallskip
    \message{#2}\leftline{\bf #2}\nobreak\smallskip\noindent}

%Note that it is important to have the blank line between the two entries, and a
%blank line after the final entry (similar to the \beginsection macro).

% Date definition for inserting current month, day, and year into document

\def\date{
    \ifcase\month\or
    January\or
    February\or
    March\or
    April\or
    May\or
    June\or
    July\or
    August\or
    September\or
    October\or
    November\or
    December\fi
    \space\number\day, \number\year
}

% This set of macros enables automatic chapter numbering, subsection
% numbering, equation numbering, and footnote numbering.  These were
% written by J. Racine (May 29, 1989)

% Automatic chapter numbering
% Example: \beginchapter{Blah Blah Blah}
% Note that the title will be preceeded by the chapter number

\newcount\eqnnum
\newcount\secnum
\newcount\chapnum
\newcount\footnum

    \footnum=0  % initializes the footnote numbers and chapter numbers
    \chapnum=0  % for the start of the paper

\def\beginchapter#1\par{
    \global
    \eqnnum=0
    \secnum=0
    \advance\chapnum by 1
    \vskip 0pt plus.3
    \vsize
    \penalty-250
    \vskip 0pt plus-.3
    \vsize
    \bigskip
    \vskip
    \parskip
    \message{\number\chapnum. #1}   % shows chapter title on screen
    \leftline{\bf Chapter \uppercase\expandafter{\romannumeral\chapnum}.\ #1}
    \nobreak
    \smallskip
    \noindent
    }



% Automatic subsection numbering
% Example: \subsection{Blah Blah Blah}
% Note that the title will be preceeded by the subsection number


\outer\def\subsection#1\par{
    \global
    \eqnnum=0
    \advance\secnum by 1
    \vskip 0pt plus.3
    \vsize
    \penalty-250
    \vskip 0pt plus-.3
    \vsize
    \bigskip
    \vskip
    \parskip
    \message{\number\chapnum.\number\secnum #1} % shows chapter title on screen
    \leftline{\bf \number\chapnum.\number\secnum\ #1}
    \nobreak
    \smallskip
    \noindent
    }


% Automatic equation numbering
% Example: $$Blah Blah Blah...\eqnm$$


\def\eqnm{\global
    \advance\eqnnum by 1
    \eqno(\number\chapnum.\number\secnum.\number\eqnnum)
    }


% Automatic footnote numbering


\def\ftnote{
    \global
    \advance\footnum by 1
    \footnote{$^{\number\footnum}$}
    }
\def\ft{
    \global
    \footnote{$^{\dag}$}
    }   
\def\ftt{
    \global
    \footnote{$^{\ddag}$}
    }       

\newcount\bnum
\bnum=0

%  Automatic bibliography numbers
\def\bib{
    \advance
    \bnum by 1
    \item{$[\number\bnum]$}
    }
9
  • this is certainly a plain tex macro; so i'm adding an appropriate tag. but we still need more context (as in a brief compilable example) to be certain of giving a usable answer. the default setting for space between footnotes (in plain.tex) is \skip\footins=\bigskipamount, but obviously that has been reset in the actual environment. Commented Jul 2, 2015 at 18:06
  • Are you looking for something to have the same effect as placing a \vspace{24pt} at the end of each footnote, e.g.\footnote{The text of the footnote.\vspace{24pt}}?
    – Stephen
    Commented Jul 2, 2015 at 18:14
  • Ok. Here is an example of main tex file. \input macros \double This is a main text.\ftnote{This is footnote 1. This is footnote 1. This is footnote 1. This is footnote 1. This is footnote 1. This is footnote 1. This is footnote 1.} I am making an example.\ftnote{This is footnote 2.} \bye Commented Jul 2, 2015 at 18:15
  • Welcome to TeX.SX! - also for Plain TeX :-) !
    – Stephen
    Commented Jul 2, 2015 at 18:15
  • You can save my macro.tex and example.tex in the same folder and compile example.tex using plain-tex. Commented Jul 2, 2015 at 18:23

1 Answer 1

4

It seems that your problem is to preserve “double spacing” in footnotes too, whereas your original macro file took special care to typeset footnote with “single spacing”, independently of the setting in the main text: have I guessed right?

If I guessed right, you probably started with a file macros.tex in which the redefinition of the \vfootnote macro contained three lines similar to the following

\baselineskip=12pt    % necessary for single space
                      % footnotes with double space
                      % text

In order to obtain doubly spaced lines in footnotes, however, it is not enough to change 12pt to 24pt in the first line, because, as The TeXbook explains in the long final paragraph of chapter 15 (on page 125), insertions are contributed to their associated box without any interline glue bewteen them; this means, in our case, that, although interline glue is inserted (of course) between the lines of individual footnotes, the same doesn’t hold true between a footnote and the following one.

I therefore propose the following, alternative, patch to the definition of \vfootnote:

\def\vfootnote#1{\insert\footins\bgroup
  \interlinepenalty\interfootnotelinepenalty
% It seems that you do **not** want single space footnotes with double space 
% text: I assume, on the contrary, that you want your setting of 
% \normalbaselines to remain in force in footnotes too.
%
% For consistency, I reset \splittopskip as well, choosing a value that will 
% fit well with the standard definition of \footstrut.
  \splittopskip \@ne\normalbaselineskip % kill stretch and shrink components
  \advance \splittopskip -\dp\strutbox
% In your original macro file, there was probably written
%   \baselineskip=12pt
% (;-) but, as said above, this is not actually necessary
%   \baselineskip=24pt    % necessary for single space
%                         % footnotes with double space
%                         % text
  \splitmaxdepth\dp\strutbox \floatingpenalty\@MM
  \leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip
  \textindent{#1}\footstrut\futurelet\next\fo@t}% Change \textindent for
                                                % different footnote styles

It has two advantages;

  1. The patch automatically conforms to the setting in the main text, be it \double, \single, or \singlet (it doesn’t work well with \singleo, however).
  2. If a footnote is split between pages, the output will look consistent.

Here is a sample file for testing the macros:

\input macros

% Uncomment one of the following lines to see the effect of the patch:
% \double
% \singlet
% \single

This is a main text.\ftnote{This is footnote 1.  This is footnote 1.  This is
footnote 1.  This is footnote 1.  This is footnote 1.  This is footnote 1.  This
is footnote 1.} Another footnote, that will be forcibly split between pages.\ftnote{If 
it has to be split,\vadjust{\vskip\maxdimen} % this will force splitting
this footnote has to be at least two lines long!  Some more text in the
footnote.  Some more text in the footnote.  Some more text in the footnote.
Some more text in the footnote.  Some more text in the footnote.}

Let us allow a page break before the next footnote.

\vfill\eject

I am making an example.\ftnote{This is footnote 2.}

\bye

And here is the output it produces if you uncomment the \double declaration:

Output of the test

0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .