From b7a0b0162c49aea864ceea62a3defd130f36660b Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 12 Sep 2010 22:40:59 +0000 Subject: needspace update (12sep10) git-svn-id: svn://tug.org/texlive/trunk@19684 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/needspace/README | 79 ++++++++++ .../texmf-dist/doc/latex/needspace/needspace.pdf | Bin 274359 -> 137092 bytes .../texmf-dist/doc/latex/needspace/needspace.tex | 89 ----------- .../source/latex/needspace/needspace.ins | 4 + .../source/latex/needspace/needspace.tex | 163 +++++++++++++++++++++ .../texmf-dist/tex/latex/needspace/needspace.sty | 75 +++------- 6 files changed, 263 insertions(+), 147 deletions(-) create mode 100644 Master/texmf-dist/doc/latex/needspace/README delete mode 100644 Master/texmf-dist/doc/latex/needspace/needspace.tex create mode 100644 Master/texmf-dist/source/latex/needspace/needspace.ins create mode 100644 Master/texmf-dist/source/latex/needspace/needspace.tex (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/latex/needspace/README b/Master/texmf-dist/doc/latex/needspace/README new file mode 100644 index 00000000000..46c02494ff0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/needspace/README @@ -0,0 +1,79 @@ + +The NEEDSPACE package +===================== + +Provides the \needspace and \Needspace macros for +requesting a certain amount of space on the current +page for the following material. + + +INSTALLATION +------------ + +Run `pdflatex` on needspace.tex to produce the files + needspace.ins and needspace.sty, +as well as to compile the PDF documentation. + +Execute `tex needspace.ins` to produce the files above +except needspace.ins itself (and the PDF file, obviously). + + +CHANGE HISTORY +-------------- + +* v1.3c (2010/09/12): + Patch to improve behaviour with commands like `\section` that use + `\addvspace`. See [this thread][ctt] on comp.text.tex. + +[ctt]: http://groups.google.com/group/comp.text.tex/browse_frm/thread/8d849a1e0be2120e + +* v1.3b (2009/09/03): + New maintainer (Will Robertson) + +* v1.3a (2003/02/18): + At the suggestion of Donald Arseneau (private emails) changed guts of + \needspace from + + ... \vskip\z@\@plus\dimen@\pagebreak[3]\vskip\z@\@plus-\dimen@\endgroup} + +* v1.3 (2003/02/07): + Added \Needspace (an extended version of postings by Donald Arseneau + to comp.text.tex e.g., in November 1993, August 1995, September 1997, ...) + +* v1.2 (2002/09/11): + At the suggestion of Robin Fairbairns, added use of \dimen@ to capture + the argument so that calc package commands can be used in the argument. + + +COPYRIGHT AND LICENSING +----------------------- + +Authors: Donald Arseneau and Peter Wilson (Herries Press) +Maintainer: Will Robertson (will dot robertson at latex-project dot org) +Copyright 1996-2003 Peter Wilson +Copyright 2010 Will Robertson + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either +version 1.3c of this license or (at your option) any +later version: + +This work has the LPPL maintenance status "maintained". +The Current Maintainer of this work is Will Robertson. + +This work consists of the files needspace.tex and the +derived files needspace.sty and needspace.ins. + + +MAINTENANCE +----------- + +Please report bugs or request features: + + +Developmental and historical versions: + + +Current release version: + + diff --git a/Master/texmf-dist/doc/latex/needspace/needspace.pdf b/Master/texmf-dist/doc/latex/needspace/needspace.pdf index 0305e3819c4..6082e146bda 100644 Binary files a/Master/texmf-dist/doc/latex/needspace/needspace.pdf and b/Master/texmf-dist/doc/latex/needspace/needspace.pdf differ diff --git a/Master/texmf-dist/doc/latex/needspace/needspace.tex b/Master/texmf-dist/doc/latex/needspace/needspace.tex deleted file mode 100644 index 4dce4814d3d..00000000000 --- a/Master/texmf-dist/doc/latex/needspace/needspace.tex +++ /dev/null @@ -1,89 +0,0 @@ -\documentclass[pagesize=auto, fontsize=12pt, DIV=11]{scrartcl} - -\usepackage{fixltx2e} -\usepackage{etex} -\usepackage{xspace} -\usepackage{lmodern} -\usepackage[T1]{fontenc} -\usepackage{textcomp} -\usepackage{microtype} -\usepackage{hyperref} - -\newcommand*{\mail}[1]{\href{mailto:#1}{\texttt{#1}}} -\newcommand*{\pkg}[1]{\textsf{#1}} -\newcommand*{\cs}[1]{\texttt{\textbackslash#1}} -\makeatletter -\newcommand*{\cmd}[1]{\cs{\expandafter\@gobble\string#1}} -\makeatother -\newcommand*{\meta}[1]{\textlangle\textsl{#1}\textrangle} -\newcommand*{\marg}[1]{\texttt{\{}\meta{#1}\texttt{\}}} - -\addtokomafont{title}{\rmfamily} - -\title{The \pkg{needspace} package\thanks{This manual corresponds to \pkg{needspace}~v1.3b, dated~2009/09/03.}} -\author{Author: Peter Wilson, Herries Press\\Maintainer: Will Robertson\thanks{\mail{will.robertson@latex-project.org}}} -\date{2009/09/03} - - -\begin{document} - -\maketitle - -\noindent -Provides commands to reserve space at the bottom of a page. If there -is not enough space on the current page (column) a new page (column) -is started. - -\begin{quote} - \small - Copyright 1996--2003 Peter Wilson\\ - Released under the \LaTeX\ Project Public License -\end{quote} - - -\section{Example uses:} - -\begin{verbatim} -... previous text.\par -\needspace{5\baselineskip} % need next 5 lines on a single page/column -The next five lines ... - -\Needspace*{4\baselineskip} % need 4 lines kept on same page - The major principles are: -\begin{itemize} -\item ... -\end{verbatim} - -The \cmd{\needspace} macro reserves an \emph{approximate} amount of space (depending -on what penalties are in effect) but is efficient and normally adequate. -A short page will be ragged bottom even if \cmd{\flushbottom} is in -effect. - -\cmd{\Needspace} is less efficient but reserves the requested space. It -should only be used between paragraphs. Short pages produced by -\cmd{\Needspace}\marg{length} will be ragged bottom but short pages produced by -\cmd{\Needspace*}\marg{length} will be flush bottom if \cmd{\flushbottom} is in effect. - - -\section{Changes:} - -\begin{description} -\item[Changes v1.3b (2009/09/03)] - New maintainer (Will Robertson) - -\item[Changes v1.3a (2003/02/18)] - At the suggestion of Donald Arseneau (private emails) changed guts of - \cmd{\needspace} from - \ldots\verb+\vskip\z@\@plus\dimen@\pagebreak[3]+\allowbreak - \verb+\vskip\z@\@plus-\dimen@\endgroup}+ - -\item[Changes v1.3 (2003/02/07)] - Added \cmd{\Needspace} (an extended version of postings by Donald Arseneau - to \texttt{comp.text.tex} e.\,g.,\ in November 1993, August 1995, September 1997, \ldots) - -\item[Changes v1.2 (2002/09/11)] - At the suggestion of Robin Fairbairns, added use of \cmd{\dimen@} to capture - the argument so that \pkg{calc} package commands can be used in the argument. -\end{description} - -\end{document} diff --git a/Master/texmf-dist/source/latex/needspace/needspace.ins b/Master/texmf-dist/source/latex/needspace/needspace.ins new file mode 100644 index 00000000000..1d8548d8c23 --- /dev/null +++ b/Master/texmf-dist/source/latex/needspace/needspace.ins @@ -0,0 +1,4 @@ +%&latex +\def\documentationCompile{N} +\input needspace.tex +\csname@@end\endcsname diff --git a/Master/texmf-dist/source/latex/needspace/needspace.tex b/Master/texmf-dist/source/latex/needspace/needspace.tex new file mode 100644 index 00000000000..365cdcca10f --- /dev/null +++ b/Master/texmf-dist/source/latex/needspace/needspace.tex @@ -0,0 +1,163 @@ + +%%%%%%%%%1%%%%%%%%%2%%%%%%%%%3%%%%%%%%%4%%%%%%%%%5%%%%%%%%%6 +% Bundled source file for the NEEDSPACE package +%--------1---------2---------3---------4---------5---------6 +% Please see the accompanying README for author, +% license, documentation and installation information +%%%%%%%%%1%%%%%%%%%2%%%%%%%%%3%%%%%%%%%4%%%%%%%%%5%%%%%%%%%6 + + +%%%%%%%%%%%%%%%%%%%% +%% PACKAGE SOURCE %% +%%%%%%%%%%%%%%%%%%%% + +\RequirePackage{filecontents} +\begin{filecontents}{needspace.sty} + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{needspace}[2010/09/12 v1.3c reserve vertical space] + +\newcommand{\needspace}[1]{% + \begingroup + \setlength{\dimen@}{#1}% + \vskip\z@\@plus\dimen@ + \penalty -100\vskip\z@\@plus -\dimen@ + \vskip\dimen@ + \penalty 9999% + \vskip -\dimen@ + \vskip\z@skip % hide the previous |\vskip| from |\addvspace| + \endgroup +} + +\newcommand{\Needspace}{\@ifstar{\@sneedsp@}{\@needsp@}} + +\newcommand{\@sneedsp@}[1]{\par \penalty-100\begingroup + \setlength{\dimen@}{#1}% + \dimen@ii\pagegoal \advance\dimen@ii-\pagetotal + \ifdim \dimen@>\dimen@ii + \break + \fi\endgroup} + +\newcommand{\@needsp@}[1]{\par \penalty-100\begingroup + \setlength{\dimen@}{#1}% + \dimen@ii\pagegoal \advance\dimen@ii-\pagetotal + \ifdim \dimen@>\dimen@ii + \ifdim \dimen@ii>\z@ + \vfil + \fi + \break + \fi\endgroup} + +\end{filecontents} +%%%%%%%%%1%%%%%%%%%2%%%%%%%%%3%%%%%%%%%4%%%%%%%%%5 + + +% Conditionally compile the documentation & generate the .ins file: +\providecommand\documentationCompile{Y} +\makeatletter +\if\documentationCompile N + \expandafter\@@end +\fi + + +\begin{filecontents*}{needspace.ins} +%&latex +\def\documentationCompile{N} +\input needspace.tex +\csname@@end\endcsname +\end{filecontents*} + + +%%%%%%%%%%%%%%%%%%% +%% DOCUMENTATION %% +%%%%%%%%%%%%%%%%%%% + +\documentclass{article} +\usepackage[it,medium]{titlesec} +\usepackage[T1]{fontenc} +\usepackage{microtype} +\usepackage{lmodern} +\usepackage[sc,osf]{mathpazo} +\linespread{1.1} +\frenchspacing + +\usepackage[svgnames]{xcolor} +\usepackage[colorlinks,linktocpage]{hyperref} +\usepackage{gmdoc} +\usepackage{gmverb} +\dekclubs +\stanzaskip=\bigskipamount +\CodeSpacesGrey +\DeclareRobustCommand\pkg{\textsf} + +\usepackage{needspace} +\GetFileInfo{needspace.sty} + +\begin{document} + +\title{The \pkg{needspace} package} +\author{% + Author: Peter Wilson, Herries Press\\ + Maintainer: Will Robertson\\ + \texttt{will dot robertson at latex-project dot org}% +} +\date{\fileversion \qquad \filedate} + +\maketitle + +\section{Documentation} + +This packages two commands, \cs{needspace} and \cs{Needspace}, for reserving +space to keep a certain amount of material from being split over a page break. +If there is not enough space, a `\newpage' is automatically inserted. + +The \cs{needspace}\meta{length} macro reserves an \emph{approximate} amount of space \meta{length} for +the material following to be kept on the same page. The accuracy of its +calculations depend on what penalties are in effect, but is efficient and +normally adequate. A short page will be ragged bottom even if \cs{flushbottom} +is in effect. + +\cs{Needspace}\marg{length} is less efficient but reserves the requested space \meta{length} exactly. It +should only be used between paragraphs. Short pages that are produced by +\cs{Needspace} will be ragged bottom but short pages produced by +\cs{Needspace*}\marg{length} will be flush bottom if \cs{flushbottom} is in +effect. + +\section{Examples} + +Here, we request that we need next five lines on a single page/column: +\begin{verbatim} +... previous text. + +\needspace{5\baselineskip} +The next five lines ... +\end{verbatim} +In this case, the space is reserved more accurately: +\begin{verbatim} +... previous text. + +\Needspace*{4\baselineskip} + The major principles are: +\begin{itemize} +\item ... +\end{verbatim} + + +\section*{Licence and copyright} + +This work may be modified and/or distributed under the terms and +conditions of the \LaTeX\ Project Public License\footnote{\url{http://www.latex-project.org/lppl.txt}}, version~1.3c or later (your choice). +The current maintainer of this work is Will Robertson. + +\bigskip + \noindent + Copyright Peter Wilson, 1996--2003 \\ + Copyright Will Robertson, 2010 + +\clearpage +\parindent=0pt + +\section{Implementation} +\DocInput{needspace.sty} + +\end{document} diff --git a/Master/texmf-dist/tex/latex/needspace/needspace.sty b/Master/texmf-dist/tex/latex/needspace/needspace.sty index ee286352e8e..a30aa51a16c 100644 --- a/Master/texmf-dist/tex/latex/needspace/needspace.sty +++ b/Master/texmf-dist/tex/latex/needspace/needspace.sty @@ -1,21 +1,22 @@ -% needspace.sty -% -% Provides commands to reserve space at the bottom of a page. If there -% is not enough space on the current page (column) a new page (column) -% is started. -% -% Author: Peter Wilson, Herries Press -% Maintainer: Will Robertson (will dot robertson at latex-project dot org) -% Copyright 1996--2003 Peter Wilson -% Released under the LaTeX Project Public License -% -% +%% LaTeX2e file `needspace.sty' +%% generated by the `filecontents' environment +%% from source `needspace' on 2010/09/12. +%% + \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{needspace}[2009/09/03 v1.3b reserve vertical space] +\ProvidesPackage{needspace}[2010/09/12 v1.3c reserve vertical space] -\newcommand{\needspace}[1]{\begingroup\setlength{\dimen@}{#1}% - \vskip\z@\@plus\dimen@ \penalty -100\vskip\z@\@plus -\dimen@ - \vskip\dimen@ \penalty 9999\vskip -\dimen@\endgroup} +\newcommand{\needspace}[1]{% + \begingroup + \setlength{\dimen@}{#1}% + \vskip\z@\@plus\dimen@ + \penalty -100\vskip\z@\@plus -\dimen@ + \vskip\dimen@ + \penalty 9999% + \vskip -\dimen@ + \vskip\z@skip % hide the previous |\vskip| from |\addvspace| + \endgroup +} \newcommand{\Needspace}{\@ifstar{\@sneedsp@}{\@needsp@}} @@ -36,45 +37,3 @@ \break \fi\endgroup} -\endinput - -% Example uses: -% -% ... previous text.\par -% \needspace{5\baselineskip} % need next 5 lines on a single page/column -% The next five lines ... -% -% \Needspace*{4\baselineskip} % need 4 lines kept on same page -% The major principles are: -% \begin{itemize} -% \item ... -% -% -% The \needspace macro reserves an APPROXIMATE amount of space (depending -% on what penalties are in effect) but is efficient and normally adequate. -% A short page will be ragged bottom even if \flushbottom is in -% effect. -% -% \Needspace is less efficient but reserves the requested space. It -% should only be used between paragraphs. Short pages produced by -% \Needspace{} will be ragged bottom but short pages produced by -% \Needspace*{} will be flush bottom if \flushbottom is in effect. -% -% Changes v1.3b (2009/09/03) -% New maintainer (Will Robertson) -% -% Changes v1.3a (2003/02/18) -% At the suggestion of Donald Arseneau (private emails) changed guts of -% \needspace from -% ... \vskip\z@\@plus\dimen@\pagebreak[3]\vskip\z@\@plus-\dimen@\endgroup} -% -% Changes v1.3 (2003/02/07) -% Added \Needspace (an extended version of postings by Donald Arseneau -% to comp.text.tex e.g., in November 1993, August 1995, September 1997, ...) -% -% Changes v1.2 (2002/09/11) -% At the suggestion of Robin Fairbairns, added use of \dimen@ to capture -% the argument so that calc package commands can be used in the argument. -% -% -% -- cgit v1.2.3