123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547 |
- %%% ======================================================================
- %%% @LaTeX-style-file{
- %%% filename = "setspace.sty",
- %%% version = "6.7",
- %%% date = "Fri 1 December 2000",
- %%% time = "17:49 UT+11",
- %%% author = "Geoffrey Tobin",
- %%% address = "Department of Electronic Engineering
- %%% Faculty of Science and Technology
- %%% La Trobe University
- %%% Bundoora VIC 3086
- %%% Australia",
- %%% email = "[email protected] (Internet)",
- %%% telephone = "(+ 613) 9479-3736",
- %%% FAX = "(+ 613) 9479-3025",
- %%% supported = "yes",
- %%% archived = "CTAN",
- %%% distribution = "freely redistributable",
- %%% keywords = "LaTeX package, line spacing",
- %%% codetable = "ISO/ASCII",
- %%% checksum = "11793 546 2608 21972",
- %%% docstring = "setspace.sty is a LaTeX (2e) package.
- %%% Comments and bug reports welcome!
- %%%
- %%% This includes GDG's modification to Erica Harris'
- %%% setspace.sty. The main aspects of this
- %%% modification deal with the definitions of
- %%% \singlespacing \onehalfspacing, and
- %%% \doublespacing, (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.
- %%% Bug report was courtesy of Kay Nettle.
- %%%
- %%% Modified by GT on 24 Jan 1996, to update
- %%% (adjusted) \@footnotetext definition for
- %%% LaTeX2e, and to add an adjusted LaTeX2e
- %%% \@mpfootnotext definition for minipages.
- %%% Bug report was courtesy Kay Nettle.
- %%%
- %%% Changed by GT on 6 Feb 1996, into a LaTeX2e
- %%% package.
- %%%
- %%% Made more package-like by GT on 14 Feb 1996,
- %%% by adding standard messages.
- %%%
- %%% GT replaced \@normalsize by \normalsize on 28
- %%% Sep 1996. This change was successively
- %%% advised by:
- %%%
- %%% Rowland J.~Bartlett
- %%% <[email protected]>
- %%% on Tue 6 Aug 96,
- %%%
- %%% Ted Stern
- %%% <[email protected]>
- %%% on Wed 7 Aug 96,
- %%%
- %%% Michal Jaegermann
- %%% <[email protected]>
- %%% on Fri 27 Sep 96.
- %%%
- %%% GT: Sat 28 Sep 1996: Added call to
- %%% \setspace@size in \setstretch, as suggested
- %%% by David Hull <[email protected]>
- %%% on Wed 24 July 1996.
- %%%
- %%% GT: Sat 28 Sep 1996: Pared \setspace@size
- %%% mercilessly down to \@currsize, following
- %%% advice given on Fri 27 Sep 1996 by Michal
- %%% Jaegermann <[email protected]>.
- %%% Retained this macro for flexibility.
- %%%
- %%% Code rearranged by GT, Sat 28 Sep 1996, to give
- %%% greater prominence to \setstretch.
- %%%
- %%% Also, GT changed (Sat 28 Sep 1996) many
- %%% occurrences of \def to \newcommand,
- %%% \renewcommand, or \newenvironment,
- %%% as seemed appropriate.
- %%%
- %%% GT, Tue 10 Dec 1996: Following a suggestion
- %%% by Ted Stern, the `single' spacing is now
- %%% settable by the user. This is for slightly
- %%% large fonts such as Lucida Bright.
- %%%
- %%% GT, Wed 11 Dec 1996: For simplicity and
- %%% maintainability, call \onehalfspacing in
- %%% the onehalfspace environment, and
- %%% \doublespacing in the doublespace
- %%% environment.
- %%%
- %%% GT, Wed 11 Dec 1996: Also deleted
- %%% \setspace@size from \setstretch,
- %%% as \@currsize suffices.
- %%%
- %%% Modified by Brett Presnell (BP)
- %%% <[email protected]> on 21 Mar 1998
- %%% to add nodisplayskipstretch option, which
- %%% turns off the stretching of the space
- %%% before and after displays, which is often
- %%% excessive, particularly with doublespaced
- %%% documents. Also added the
- %%% setdisplayskipstretch command, which allows
- %%% the user to choose by how much to stretch
- %%% the space before and after displays
- %%% independently from the setting of
- %%% baselinestretch. This works regardless of
- %%% whether the nodisplayskipstretch option is
- %%% in effect.
- %%%
- %%% GT, Wed 15 Apr 1998: Added the singlespace*
- %%% environment requested by
- %%% Mark Olesen <[email protected]>
- %%% on Sat 24 May 1997 and Wed 18 June 1997.
- %%% This is reported to give improved vertical
- %%% spacing around itemize and quote environments.
- %%%
- %%% GT, Wed 15 Apr 1998: David Hull pointed out on
- %%% Fri 12 Dec 1997 that the \belowdisplayskip line
- %%% in the \everydisplay was mistyped. Now fixed.
- %%%
- %%% GT, Thu 26 Nov 1998: Finally got round to
- %%% fixing the absence of \begingroup from
- %%% onehalfspace and doublespace environments.
- %%% Thanks to: Bernd Schandl, Ron Smith,
- %%% Himanshu Gohel, and Kevin Ruland, for bringing
- %%% it to my long overdue attention.
- %%%
- %%% GT, Tue 27 July 1999: On Saturday 24 July
- %%% 1999, Alexander L. Wolf <[email protected]>
- %%% informed me that the \doublespace and
- %%% \onehalfspace _macros_ are still at fault.
- %%%
- %%% GT, Fri 3 March 2000: Today Stefano
- %%% Lacaprara of Italy brought my attention to
- %%% the need to extend the commands and macros
- %%% to point sizes other than 10, 11 and 12.
- %%% Since there's no general formula for the
- %%% line stretch values in terms of point size,
- %%% and they vary only slightly between 10, 11
- %%% and 12 pt, and furthermore the values were
- %%% presumably optimised specifically for the
- %%% Computer Modern fonts, i've chosen to use
- %%% the 10 pt values as the generic defaults.
- %%%
- %%% GT, Fri 1 December 2000: George Pearson
- %%% requested package options for the three
- %%% common spacings.
- %%%
- %%% 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
- %%%
- %%% Update to LaTeX (2e) : 6 Feb 1996.
- %%% Description: LaTeX Document Package "setspace"
- %%%
- %%% Usage:
- %%% \documentclass[...]{...}
- %%% \usepackage{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, \singlespacing, \onehalfspacing, and
- %% \doublespacing, 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}[1994/12/01]
- \def \filename {setspace.sty}
- \def \filedate {2000/12/01}
- \def \fileversion {6.7}
- \ProvidesPackage {setspace}[\filedate\space\fileversion\space
- Contributed and Supported LaTeX2e package]
- \typeout {Package: `setspace' \fileversion\space <\filedate>}
- % BP: add nodisplayskipstretch option and \setdisplayskipstretch command.
- \newcommand{\displayskipstretch}{\baselinestretch}
- \newcommand{\setdisplayskipstretch}[1]{\renewcommand{\displayskipstretch}{#1}}
- \DeclareOption{nodisplayskipstretch}{\setdisplayskipstretch{1.0}}
- % GT: add George Pearsons' suggested options.
- \DeclareOption{singlespacing}{\AtEndOfPackage{\singlespacing}}
- \DeclareOption{onehalfspacing}{\AtEndOfPackage{\onehalfspacing}}
- \DeclareOption{doublespacing}{\AtEndOfPackage{\doublespacing}}
- \ProcessOptions
- % GT: Sat 28 Sep 1996: Widely using \newcommand, \renewcommand, and
- % \newenvironment, instead of \def.
- % ** Line space commands.
- \newcommand{\setstretch}[1]{%
- \def\baselinestretch{#1}%
- \@currsize
- }
- % GT: Sat 28 Sep 1996: spacing commands and environments modified to
- % use \setstretch instead of \baselinestretch.
- %
- % GT: Sat 28 Sep 1996: No, I don't know understand the line spacing
- % algorithms! If someone (LaTeX team) can enlighten me as to the
- % general rule, please do! It would be very pleasant if setspace.sty
- % were suited for document font sizes other than 10, 11 and 12 pt.
- %
- % GT: Tue 10 Dec 1996: Instead of fixing singlespacing to exact unity,
- % allow user to redefine it (only slightly, please!) from its initial
- % value of unity, in the case when a particular font is slightly larger
- % or slightly smaller than its point size would indicate. This change
- % affects setspace's single spacing commands, and LaTeX's footnote and
- % float environments. The one and a half, double, and arbitrary
- % spacing commands are unaltered.
- \newcommand{\SetSinglespace}[1]{%
- \def\setspace@singlespace{#1}%
- }
- % Here's the default single line spacing value.
- \SetSinglespace{1}
- \newcommand{\singlespacing}{%
- \setstretch {\setspace@singlespace}% normally 1
- \vskip \baselineskip % Correction for coming into singlespace
- }
- \newcommand{\onehalfspacing}{%
- \setstretch{1.25}% default
- \ifcase \@ptsize \relax % 10pt
- \setstretch {1.25}%
- \or % 11pt
- \setstretch {1.213}%
- \or % 12pt
- \setstretch {1.241}%
- \fi
- }
- \newcommand{\doublespacing}{%
- \setstretch {1.667}% default
- \ifcase \@ptsize \relax % 10pt
- \setstretch {1.667}%
- \or % 11pt
- \setstretch {1.618}%
- \or % 12pt
- \setstretch {1.655}%
- \fi
- }
- % ** Modification of the LaTeX command \@setsize.
- %---Stretch the baseline BEFORE calculating the strut size. This improves
- % spacing below tabular environments etc., probably...
- % Comments are welcomed.
- % GT: Sun 29 Sep 1996: Question: Is this code anywhere near correct
- % since this part of LaTeX (in, eg, latex.ltx) has been greatly changed?
- % GT: Sun 29 Sep 1996: The meanings of the arguments to \@setsize
- % appear to be (whatever these may signify) :
- % current size; font baselineskip; ignored (!); and font size.
- % GT: Sun 29 Sep 1996: Note that \@setsize (in latest LaTeX,
- % \@setfontsize, which is called by \@setsize) seems to be the only
- % place in purely modern LaTeX where \@currsize is set, and ltxguide.cls
- % seems to be the only file in the LaTeX base distribution that uses it!
- \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}
- % ** Float and footnote adjustments to compensate for a change in the
- % ** main text's line spacing.
- %---Increase the space between last line of text and footnote rule.
- %\skip\footins 20pt plus4pt minus4pt
- %---Reset baselinestretch within floats and footnotes.
- % GT: Tue 23 Jan 1996: This is where the conflict with the combination
- % of the color package and the figure environment used to occur.
- % Floats.
- % GT: Sat 28 Sep 1996: \@xfloat is the only place where \normalsize
- % is still used in setspace.sty !
- \let\latex@xfloat=\@xfloat
- \def\@xfloat #1[#2]{%
- \latex@xfloat #1[#2]%
- \def\baselinestretch{\setspace@singlespace}%
- \normalsize
- }
- % GT: Wed 24 Jan 1996: This footnote code was copied from LaTeX and
- % modified rather naively. It had to be brought up to date, not only
- % because of LaTeX's new color ability, but also because ther had
- % been major changes to this code in LaTeX at least as far back as
- % March 1992.
- % Normal, bottom of the page, footnotes.
- %
- % GT: Based HEAVILY on original LaTeX (2e) code. A standard hook would
- % be MUCH preferred, so that LaTeX's footnote implementation needn't be
- % copied each time it changes.
- %
- % GT: The \protected@edef requires at least the December 1994 LaTeX.
- % This is precisely the kind of VERSION DEPENDENCY situation that
- % cannot (AFAIK) be avoided, because LaTeX (2e) LACKS appropriate
- % standard hooks and/or context markers.
- \long\def\@footnotetext#1{%
- \insert\footins{%
- % GT: Next line added. Hook desired here!
- \def\baselinestretch {\setspace@singlespace}%
- \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}}
- % Minipage footnotes.
- \long\def\@mpfootnotetext#1{%
- \global\setbox\@mpfootins\vbox{%
- \unvbox \@mpfootins
- % GT: Next line added. Hook desired here!
- \def\baselinestretch {\setspace@singlespace}%
- \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}}
- % ** Line space environments.
- % A single spaced quote (say) is done by surrounding singlespace with quote.
- \newenvironment{singlespace}{%
- \vskip \baselineskip
- \setstretch {\setspace@singlespace}%
- \vskip -\baselineskip
- }{%
- \par
- }
- % GT (c/o Mark Olesen), Wed 15 April 1998.
- \newenvironment{singlespace*}{%
- \setstretch {\setspace@singlespace}%
- \vskip -\baselineskip
- }{%
- \vskip -0.5\baselineskip
- }
- % 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
- % In order to use \newenvironment, while easily using same code for
- % end of each environment, the code that used to be in \endspacing has
- % been moved into a new (but internal) macro, \restore@spacing.
- \newcommand{\restore@spacing}{%
- \par
- \vskip \parskip
- \vskip \baselineskip
- \endgroup
- \vskip -\parskip
- \vskip -\baselineskip
- }
- \newenvironment{spacing}[1]{%
- \par
- \begingroup % moved from \endspacing by PGBR 29-1-91
- \setstretch {#1}%
- }{%
- \restore@spacing
- }
- % one and a half spacing is 1.5 x pt size
- \newenvironment{onehalfspace}{%
- \begingroup
- \onehalfspacing
- }{%
- \restore@spacing
- }
- % double spacing is 2 x pt size
- \newenvironment{doublespace}{%
- \begingroup
- \doublespacing
- }{%
- \restore@spacing
- }
- % 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)
- %
- % GT: The \belowdisplayskip line was mistyped; now fixed, courtesy of
- % David Hull.
- %
- % GT: Brett Parnell has addressed EMSH's concern by replacing
- % \baselinestretch by \displayskipstretch in displays, as follows.
- \everydisplay\expandafter{%
- \the\everydisplay
- \abovedisplayskip \displayskipstretch\abovedisplayskip
- \belowdisplayskip \displayskipstretch\belowdisplayskip
- \abovedisplayshortskip \displayskipstretch\abovedisplayshortskip
- \belowdisplayshortskip \displayskipstretch\belowdisplayshortskip
- }
- \endinput
- %%% EOF.
|