diff --git a/README.md b/README.md index b4ed0bcc6478cf169d61dad36d76553386cd84f2..101bdd4a8cadb94cfbbfc7a3ffc3cea132d367e4 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,2 @@ -# edinburgh-math-latex -LaTeX styles for School of Math, University of Edinburgh +# Edinburgh LaTeX +LaTeX styles files for School of Math, University of Edinburgh. diff --git a/edmaths.sty b/edmaths.sty new file mode 100644 index 0000000000000000000000000000000000000000..5405966c7d61d5781085706a914d8a0d7993ca7e --- /dev/null +++ b/edmaths.sty @@ -0,0 +1,216 @@ +%% Package `edmaths' (26.8.2008) +%% +%% A LaTeX 2e style file for typesetting a +%% PhD thesis / First-Year Report / Master thesis / Fourth-year project +%% in the School of Mathematics, University of Edinburgh +%% +%% By Thomas Koeppe, 2006-7 +%% +%% +%% Usage: +%% ------ +%% Use \documentclass{report} +%% and \usepackage[{phd|firstyear|y4project|...},...]{edmaths}. +%% +%% Do define \title, \author, \date before loading this package! +%% +%% See documentation at http://www.maths.ed.ac.uk/pg/edmaths.html +%% +%% +%% Example usage: +%% -------------- +%% +%% \documentclass[12pt,oneside]{report} +%% \title{Report Title} +%% \date{Report Date} +%% \author{Author Name} +%% \usepackage[phd,fancyhdr,hyperref,colour]{edmaths} +%% \flushbottom +%% +%% \begin{document} +%% \pagenumbering{roman} +%% \maketitle +%% +%% \begin{abstract} ... Abstract text ... \end{abstract} +%% \declaration +%% \dedication{...dedication text...} +%% +%% \tableofcontents +%% \addcontentsline{toc}{chapter}{Contents} +%% \newpage +%% \pagenumbering{arabic} +%% +%% [Main document body here, e.g. \chaper{...} \section{...} ... ] +%% +%% \bibliographystyle{...} % Or use the `amsrefs' package (http://www.ams.org/tex/amsrefs.html)! +%% \bibliography{bibliography file} +%% \addcontentsline{toc}{chapter}{Bibliography} +%% \end{document} +%% +%% --------------- + + + + + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{edmaths}[2007/02/05 Edinburgh maths thesis/report style v0.95] + +\RequirePackage{calc,ifthen,setspace,amsmath,amsthm,amscd,amssymb} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Set up the page size and margins % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\setlength{\paperheight}{297mm} % A4 Paper +\setlength{\paperwidth}{210mm} % +\setlength{\oddsidemargin}{14.6mm} % Left/Inside: 4.0cm (rel. -1in) +\setlength{\evensidemargin}{-.4mm} % Right/Outside: 2.5cm (rel. -1in) +\setlength{\topmargin}{-17.4mm} % \ +\setlength{\headheight}{6mm} % | Top: 2.0cm (rel. -1in), out of which 6mm for the header +\setlength{\headsep}{6mm} % / +\setlength{\textwidth}{145mm} % Margins: 2.5cm + 4cm +% Textheight delayed until we know the line spacing. + +% The following is removed in favour of the `report' class options "oneside/twoside". +%\@twosidefalse \@mparswitchfalse % Single-sided by default + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Provide some fancy option % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newboolean{with-fourier} % Use the `fourier' package for Adobe Utopia font +\newboolean{with-hyperref} % Use the `hyperref' package for clickable links and bookmarks, all black +\newboolean{with-colour} % Add sane colours to the hyperref links +\newboolean{with-fancyhdr} % Use the `fancyhdr' package to provide header and footer + +\ifthenelse{\isundefined{\degreetext}}{\newcommand{\degreetext}{Specify a degree option!}}{} +\ifthenelse{\isundefined{\stretchfactor}}{\newcommand{\stretchfactor}{1}}{} +\DeclareOption{fourier}{\setboolean{with-fourier}{true}} +\DeclareOption{hyperref}{\setboolean{with-hyperref}{true}} +\DeclareOption{colour}{\setboolean{with-colour}{true}} +\DeclareOption{fancyhdr}{\setboolean{with-fancyhdr}{true}} + +\DeclareOption{phd}{\renewcommand{\degreetext}{Doctor of Philosophy}} +\DeclareOption{firstyear}{\renewcommand{\degreetext}{First-Year Report\\Graduate School of Mathematics}} +\DeclareOption{secondyear}{\renewcommand{\degreetext}{Second-Year Report\\Graduate School of Mathematics}} +\DeclareOption{thirdyear}{\renewcommand{\degreetext}{Third-Year Report\\Graduate School of Mathematics}} +\DeclareOption{y4project}{\renewcommand{\degreetext}{Year 4 Project\\School of Mathematics}} +\DeclareOption{masterph}{\renewcommand{\degreetext}{Master of Philosophy}} +\DeclareOption{mastersc}{\renewcommand{\degreetext}{Master of Science by Research}} + +\DeclareOption{single}{\renewcommand{\stretchfactor}{1}} +\DeclareOption{onehalf}{\renewcommand{\stretchfactor}{1.5}} +\DeclareOption{double}{\renewcommand{\stretchfactor}{2}} + +%\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse} % Single-sided by default +%\DeclareOption{twosides}{\@twosidetrue \@mparswitchtrue} + +\ProcessOptions + +\ifthenelse{\boolean{with-fourier}} + { \RequirePackage{cmap} + \RequirePackage{fourier} + \RequirePackage[T1]{fontenc} + \RequirePackage{microtype} + } {} + +\ifthenelse{\boolean{with-hyperref}} + { + \RequirePackage[dvipsnames]{xcolor} + \RequirePackage[pdftitle={\@title}, pdfauthor={\@author}, pdfcreator={PDFLaTeX with edmaths}, pdfpagelayout=OneColumn, colorlinks=true, linkcolor=black, urlcolor=black, citecolor=black]{hyperref} + \ifthenelse{\boolean{with-colour}} + { + \hypersetup{linkcolor=Sepia, urlcolor=NavyBlue, citecolor=Sepia} + } {} + } {} + +\ifthenelse{\boolean{with-fancyhdr}} + { + \RequirePackage{fancyhdr} + \pagestyle{fancy} + \fancyhf{} + \fancyhead[RO,LE]{\thepage} + \fancyfoot[RO,LE]{\thepage} + \fancyhead[LO]{\it\@title} + \fancyhead[RE]{\@author} + \fancyfoot[RE,LO]{} + } {} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Set up the text body height % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% For the text height, we calculate the largest number of lines that gives us no more than 4cm bottom margin. +% This depends on the line spacing, which we need first. + +\setstretch{\stretchfactor} + +% Debug only: In the next line, \XXXfactor contains the number of lines on a text-only page. +%\newlength{\XXXunit}\setlength{\XXXunit}{1pt}\newlength{\XXXfactor}\setlength{\XXXfactor}{1pt + ((672pt - \topskip) / \baselineskip) * \XXXunit} +\newlength{\scratchlength}\setlength{\scratchlength}{\topskip + ((672pt - \topskip) / \baselineskip) * \baselineskip + \baselineskip} +\setlength{\textheight}{\scratchlength} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Make the title page etc % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\renewcommand{\maketitle}{% + \begin{titlepage} + \singlespacing + \addtolength{\oddsidemargin}{-0.75cm} + \begin{center} + \null\vskip 4.1cm + \begin{minipage}[t][7.6cm]{10.5cm} + \begin{center} + {\LARGE\textbf{\@title}\par}\vfill + {\Large\textit{\@author}\par} + \end{center} + \end{minipage} + \vfill + {\Large\degreetext \par University of Edinburgh \par\@date \par} + \end{center} + \end{titlepage} + \if@twoside + \thispagestyle{empty} + \cleardoublepage + \else + \addtocounter{page}{1} + \fi +} + +\newcommand{\declaration}{% + \chapter*{Declaration} + \begin{singlespace} + I declare that this thesis was composed by myself + and that the work contained therein is my own, + except where explicitly stated otherwise in the text. + \end{singlespace} + + {\raggedleft\vspace{2cm}(\textit{\@author}) + + } +} + +\renewenvironment{abstract}{\chapter*{\abstractname}}{\addcontentsline{toc}{chapter}{\abstractname}} + +\newcommand{\dedication}[1]{% + \clearpage + \thispagestyle{plain} + \vspace*{7cm} + \begin{center} + \Large\it #1 + \end{center} +} + +%% A special declaration for Year 4 reports +\newcommand{\yfourdeclaration}[1]{% + \vfill + \noindent + This project report is submitted in partial fulfilment of the requirements for the degree of + \textit{#1}. +} diff --git a/setspace.sty b/setspace.sty new file mode 100644 index 0000000000000000000000000000000000000000..9bdbacca256c23577f3413546a19d5ef58a7a025 --- /dev/null +++ b/setspace.sty @@ -0,0 +1,546 @@ +%%% ====================================================================== +%%% @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 = "G.Tobin@latrobe.edu.au (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 <kaja@daimi.aau.dk> +%%% 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 +%%% stanton@haas.berkeley.edu (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 <mario@cs.man.ac.uk> 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 +%%% <R.J.Bartlett@bolton.ac.uk> +%%% on Tue 6 Aug 96, +%%% +%%% Ted Stern +%%% <stern@amath.washington.edu> +%%% on Wed 7 Aug 96, +%%% +%%% Michal Jaegermann +%%% <michal@ellpspace.math.ualberta.ca> +%%% on Fri 27 Sep 96. +%%% +%%% GT: Sat 28 Sep 1996: Added call to +%%% \setspace@size in \setstretch, as suggested +%%% by David Hull <hull@cs.uiuc.edu> +%%% 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 <michal@ellpspace.math.ualberta.ca>. +%%% 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) +%%% <presnell@maths.anu.edu.au> 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 <olesen@weber.me.queensu.ca> +%%% 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 <alw@cs.colrado.edu> +%%% 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 (ROSS@UK.AC.ABDN.BIOMED) 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 +%% lamy@ai.toronto.edu +%% lamy@utai.uucp +%% +%% 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.