%%% ======================================================================
%%% @LaTeX-style-file{
%%% filename = "setspace.sty",
%%% version = "5.0",
%%% date = "Tue 6 February 1996",
%%% time = "15:40 UT+11",
%%% author = "Geoffrey Tobin",
%%% address = "School of Electronic Engineering
%%% Faculty of Science and Technology
%%% La Trobe University
%%% Bundoora VIC 3124
%%% Australia",
%%% email = "[email protected] (Internet)",
%%% telephone = "(+ 613) 479-3736",
%%% FAX = "(+ 613) 479-3025",
%%% supported = "yes",
%%% archived = "CTAN",
%%% keywords = "LaTeX package, line spacing",
%%% codetable = "ISO/ASCII",
%%% checksum = "43218 336 1402 12423",
%%% docstring = "This is an attempt to make setspace.sty
%%% a LaTeX (2e) package. Comments and bug
%%% reports welcome!
%%%
%%% This is a modification to Erica Harris'
%%% setspace.sty. The main aspects of this
%%% modification deal with the definitions of
%%% \doublespacing, \onehalfspacing, and
%%% \singlespacing (these are near the beginning of
%%% the file). Primarily, these deal with adding
%%% fontsize changes to guarantee that the new
%%% baseline is properly defined and placed into
%%% action. The extra \vskip in the definition of
%%% \singlespacing seems to make for a cleaner
%%% transition from multiple spacing back to single
%%% spacing. These did not appear warrranted for
%%% other size changes.
%%%
%%% Modified by GDG on November 1, 1992, to allow
%%% for use of New Font Selection Scheme.
%%%
%%% Modified by GDG on June 4, 1993, to correct
%%% for spacing tokens in definition of \@setsize
%%% Thanks to Kaja P. Christiansen <[email protected]>
%%% for the fix!!
%%%
%%% Modified by GDG on May 24, 1994, to change toggle
%%% definition from \selectfont to \@newbaseline.
%%%
%%% Modified by GDG on May 25, 1994, to add
%%% definition of \everydisplay -- this part of
%%% the code was apparently written by Geoffrey
%%% Tobin on Thu 23 Jan 1992 and was provided by
%%% [email protected] (Richard Stanton).
%%% This should help with some of the awkward math
%%% placements in changing spacings.
%%%
%%% Modified by GT on 23 Jan 1996, to correct
%%% \everymath bug, first reported by Mario
%%% Wolczko <[email protected]> on 9 June 1992.
%%%
%%% Modified by GT on 23 Jan 1996, to correct
%%% usage of comment characters in macro
%%% definitions.
%%%
%%% Modified by GT on 23 Jan 1996, to update
%%% (adjusted) \@xfloat definition for LaTeX2e.
%%%
%%% Modified by GT on 24 Jan 1996, to update
%%% (adjusted) \@footnotetext definition for
%%% LaTeX2e, and to add an adjusted LaTeX2e
%%% \@mpfootnotext definition.
%%%
%%% Changed by GT on 6 Feb 1996, into a LaTeX2e
%%% package.
%%%
%%% The original headers of the main file cover the
%%% major aspects of this file and its use.
%%%
%%% The checksum field above contains a CRC-16
%%% checksum as the first value, followed by the
%%% equivalent of the standard UNIX wc (word
%%% count) utility output of lines, words, and
%%% characters. This is produced by Robert
%%% Solovay's checksum utility."
%%% }
%%% ======================================================================
%% FILE: setspace.sty in SYS2.TEX.PUB.ISULATEX.STYLES
%% AUTHOR: Erica M. S. Harris
%% DATE: April 1990
%% MOD: March 1991
%% DESCR: LaTeX Document style option "setspace"
%% Usage: \documentstyle[...,setspace,...]{...}
%% Based on the doublespace option created by Stephen Page.
%%
%% This style option provides commands and environments for doing
%% double and one-and-a-half spacing based on pt size.
%%
%% Single spacing is the default.
%%
%% Three commands, \doublespacing, \onehalfspacing, and
%% \singlespacing, are for use in the preamble to set the overall
%% spacing for the document. If a different spacing is required then
%% the \setstretch{baselinestretch} command can be used in the
%% preamble to set the baselinestretch appropriately. The default
%% spacing with this style option is single spacing.
%%
%% Three environments, singlespace, onehalfspace, and doublespace,
%% allow the spacing to be changed within the document. Both the
%% onehalfspace and doublespace environments are intended to increase
%% the spacing, so the onehalfspace environment should not be used in
%% a double spaced document. If an increased spacing different from
%% one-and-a-half or double spacing is required then the spacing
%% environment can be used. The spacing environment takes one
%% argument which is the larger baselinestretch to use,
%% e.g., \begin{spacing}{2.5}.
%%
%% \footins is adjusted the same as \parskip - appears to work. Lose
%% stretch parts but don't consider that to be crucial
%%
%% Removed code for altering spacing before and after displayed
%% equations - just looked too much.
%%
%% MODS:
%% Redefinition of \spacing and \endspacing for consistency with
%% TeX 3.x inserted by George Greenwade. Modification provided by
%% Philip Ross ([email protected]) and John Byrne via INFO-TeX.
%%
%% PLEASE REPORT ANY BUGS
%%
%% Old Documentation follows:
%% 1. A new environment "singlespace" is provided, within which single
%% spacing will apply.
%% JFL - changed so that it works in regular text and so that
%% vertical space before and after is correctly computed
%% 2. Double spacing is turned off within footnotes and floats (figures
%% and tables).
%% 3. Proper double spacing happens below tabular environments and in
%% other places where LaTeX uses a strut.
%% 4. Slightly more space is inserted before footnotes.
%% 5. JFL - fixes spacing before and after displayed math
%%
%%
%% mods: Jean-Francois Lamy
%% [email protected]
%% [email protected]
%%
%% POSSIBLE BUGS:
%% . Increasing struts may possibly cause some other obscure part of
%% formatting to fall over.
%% . \begin{singlespace}\begin{quote} produces the wrong spacing before
%% the quote (extra glue is inserted).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat {LaTeX2e}
\def\setspace@size{%
\ifx \@currsize \normalsize
\@normalsize
\else
\@currsize
\fi
}
\def\doublespacing{%
\ifcase \@ptsize \relax % 10pt
\def \baselinestretch {1.667}%
\or % 11pt
\def \baselinestretch {1.618}%
\or % 12pt
\def \baselinestretch {1.655}%
\fi
\setspace@size
}
\def\onehalfspacing{%
\ifcase \@ptsize \relax % 10pt
\def \baselinestretch {1.25}%
\or % 11pt
\def \baselinestretch {1.213}%
\or % 12pt
\def \baselinestretch {1.241}%
\fi
\setspace@size
}
\def\singlespacing{%
\def \baselinestretch {1}%
\setspace@size
\vskip \baselineskip % Correction for coming into singlespace
}
\def\setstretch#1{%
\renewcommand{\baselinestretch}{#1}}
%---Stretch the baseline BEFORE calculating the strut size. This improves
% spacing below tabular environments etc., probably...
% Comments are welcomed.
\def\@setsize#1#2#3#4{%
% Modified 1993.04.07--GDG per KPC
\@nomath#1%
\let\@currsize#1%
\baselineskip #2%
\baselineskip \baselinestretch\baselineskip
\parskip \baselinestretch\parskip
\setbox\strutbox \hbox{%
\vrule height.7\baselineskip depth.3\baselineskip width\z@}%
\skip\footins \baselinestretch\skip\footins
\normalbaselineskip\baselineskip#3#4}
%---Increase the space between last line of text and footnote rule.
%\skip\footins 20pt plus4pt minus4pt
%---Reset baselinestretch within floats and footnotes.
% GT: This is where the conflict with the combination of the color
% package and the figure environment used to occur.
\let\latex@xfloat=\@xfloat
\def\@xfloat #1[#2]{%
\latex@xfloat #1[#2]%
\def \baselinestretch {1}\@normalsize %% GT: need \@normalsize?
\normalsize
}
\long\def\@footnotetext#1{%
\insert\footins{%
\def\baselinestretch {1}%
\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
\@makefntext{%
\rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
\color@endgroup}}
\long\def\@mpfootnotetext#1{%
\global\setbox\@mpfootins\vbox{%
\unvbox \@mpfootins
\def\baselinestretch {1}%
\reset@font\footnotesize
\hsize\columnwidth
\@parboxrestore
\protected@edef\@currentlabel{%
\csname p@mpfootnote\endcsname\@thefnmark}%
\color@begingroup
\@makefntext{%
\rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
\color@endgroup}}
% A single spaced quote (say) is done by surrounding singlespace with quote.
%
\def\singlespace{%
\vskip \baselineskip
\def\baselinestretch {1}%
\setspace@size
\vskip -\baselineskip
}
\def\endsinglespace{\par}
% spacing, doublespace and onehalfspace all are meant to INCREASE the
% spacing (i.e. calling onehalfspace from within doublespace will not
% produce a graceful transition between spacings)
%
% Next two definitions fixed for consistency with TeX 3.x
\def\spacing#1{%
\par
\begingroup % moved from \endspacing by PGBR 29-1-91
\def\baselinestretch {#1}%
\setspace@size
}
\def\endspacing{%
\par
\vskip \parskip
\vskip \baselineskip
\endgroup
\vskip -\parskip
\vskip -\baselineskip
}
% one and a half spacing is 1.5 x pt size
\def\onehalfspace{%
\ifcase \@ptsize \relax % 10pt
\spacing{1.25}%
\or % 11pt
\spacing{1.213}%
\or % 12pt
\spacing{1.241}%
\fi
}
\let\endonehalfspace=\endspacing
% double spacing is 2 x pt size
\def\doublespace{%
\ifcase \@ptsize \relax % 10pt
\spacing{1.667}%
\or % 11pt
\spacing{1.618}%
\or % 12pt
\spacing{1.655}%
\fi
}
\let\enddoublespace=\endspacing
% GT: EMSH chose to omit display math part that follows.
% She wrote (see above) that the "altered spacing before and after displayed
% equations ... just looked too much".
%
% Fix up spacing before and after displayed math
% (arraystretch seems to do a fine job for inside LaTeX displayed math,
% since array and eqnarray seem to be affected as expected).
% Changing \baselinestretch and doing a font change also works if done here,
% but then you have to change @setsize to remove the call to @nomath)
%
\everydisplay\expandafter{%
\the\everydisplay
\abovedisplayskip \baselinestretch\abovedisplayskip
\belowdisplayskip \abovedisplayskip
\abovedisplayshortskip \baselinestretch\abovedisplayshortskip
\belowdisplayshortskip \baselinestretch\belowdisplayshortskip
}
\endinput
%%% EOF.
|