From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/setspace/README | 13 + macros/latex/contrib/setspace/setspace-test.tex | 24 + macros/latex/contrib/setspace/setspace.sty | 574 ++++++++++++++++++++++++ 3 files changed, 611 insertions(+) create mode 100644 macros/latex/contrib/setspace/README create mode 100644 macros/latex/contrib/setspace/setspace-test.tex create mode 100644 macros/latex/contrib/setspace/setspace.sty (limited to 'macros/latex/contrib/setspace') diff --git a/macros/latex/contrib/setspace/README b/macros/latex/contrib/setspace/README new file mode 100644 index 0000000000..08b3525869 --- /dev/null +++ b/macros/latex/contrib/setspace/README @@ -0,0 +1,13 @@ +setspace -- control line spacing in latex documents + +This release is a transitional one, with code unchanged from Geoffrey +Tobin's LaTeX 2.09 original, except for patches that avoid a problem +with \@setsize, when the package is used with other 2.09 packages +under LaTeX 2e. + +The package now acts "natively" as a 2e package under LaTeX 2e, and +(insofar as is possibe) as a 2.09 package under LaTeX 2.09. + +Please report any problems to Robin Fairbairns +(A revised version of setspace-test.tex, that shows the problem +reported, will be much appreciated.) diff --git a/macros/latex/contrib/setspace/setspace-test.tex b/macros/latex/contrib/setspace/setspace-test.tex new file mode 100644 index 0000000000..55ccbf216f --- /dev/null +++ b/macros/latex/contrib/setspace/setspace-test.tex @@ -0,0 +1,24 @@ +\documentclass{article} +\usepackage{setspace} +\usepackage{lipsum} +\onehalfspacing +\begin{document} +\title{merry setspace christmas test} +\author{who cares?} +\date{2011-12-19} +\maketitle + +\section{dummy} +\lipsum[1] +\subsection{first offspring} +\lipsum[2] +\begin{tabular}{llr} + a & silly & story about latex \\ + silly & a & story +\end{tabular} +\end{document} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/macros/latex/contrib/setspace/setspace.sty b/macros/latex/contrib/setspace/setspace.sty new file mode 100644 index 0000000000..aa97a31ef4 --- /dev/null +++ b/macros/latex/contrib/setspace/setspace.sty @@ -0,0 +1,574 @@ +% \iffalse meta-comment +% +% Copyright (C) 2011 by Robin Fairbairns (rf10@cam.ac.uk) +% Copyright (C) 2000 by Geoffrey Tobin +% +% --------------------------------------------------------------------------- +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is Robin Fairbairns +% +% This work consists of the files setspace.sty and setspace-test.tex +% +% \fi +% +%%% ====================================================================== +%%% @LaTeX-style-file{ +%%% filename = "setspace.sty", +%%% version = "6.7a", +%%% 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", +%%% 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 +%%% 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 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 +%%% +%%% on Tue 6 Aug 96, +%%% +%%% Ted Stern +%%% +%%% on Wed 7 Aug 96, +%%% +%%% Michal Jaegermann +%%% +%%% on Fri 27 Sep 96. +%%% +%%% GT: Sat 28 Sep 1996: Added call to +%%% \setspace@size in \setstretch, as suggested +%%% by David Hull +%%% 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 . +%%% 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) +%%% 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 +%%% 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 +%%% 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). +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\@ifundefined{NeedsTeXFormat}{% 2.09 version +\def \filename {setspace.sty} +\def \filedate {2000/12/01} +\def \fileversion {6.7a} +\typeout {Package: `setspace' \fileversion\space <\filedate>} +}{% 2e version +\NeedsTeXFormat {LaTeX2e}[1994/12/01] +\ProvidesPackage {setspace}[2011/12/19 v6.7a set line spacing] +} + +% 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! + +% RF: 2011-12-19: only redefine \@setsize if under 2e; there have been +% reports of ltx209 packages failing when run with setspace under +% ltx2e, with this definition +\@ifundefined{NeedsTeXFormat}{% +\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. -- cgit v1.2.3