From e99754332735dd885d2fd4714f2e8c37576ab1ca Mon Sep 17 00:00:00 2001 From: Reinhard Kotucha Date: Sat, 25 Nov 2006 17:23:32 +0000 Subject: update savetrees. git-svn-id: svn://tug.org/texlive/trunk@2527 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/savetrees/README | 13 ++- .../texmf-dist/doc/latex/savetrees/savetrees.pdf | Bin 236543 -> 255665 bytes .../source/latex/savetrees/savetrees.dtx | 109 +++++++++++++++++---- .../source/latex/savetrees/savetrees.ins | 16 +-- .../texmf-dist/tex/latex/savetrees/savetrees.sty | 31 ++++-- Master/texmf-dist/tpm/savetrees.tpm | 8 +- 6 files changed, 130 insertions(+), 47 deletions(-) diff --git a/Master/texmf-dist/doc/latex/savetrees/README b/Master/texmf-dist/doc/latex/savetrees/README index 61ca09478cd..86ea30a95f1 100644 --- a/Master/texmf-dist/doc/latex/savetrees/README +++ b/Master/texmf-dist/doc/latex/savetrees/README @@ -6,6 +6,7 @@ Description =========== + The goal of the savetrees package is to pack as much text as possible onto each page of a LaTeX document. Admittedly, this makes the document far less attractive. Nevertheless, savetrees is a simple way @@ -16,6 +17,7 @@ conference or journal submission. Installation ============ + Building the savetrees package is fairly straightforward: latex savetrees.ins <= Extract savetrees.sty, savetrees.bst, @@ -36,7 +38,7 @@ directory searched by BibTeX (e.g., .../texmf/bibtex/bst/misc/). If you have both Perl and a Kpathsea-based TeX distribution -- i.e., you have a "kpsewhich" command -- then you should additionally install the makethin script somewhere in your path (e.g., /usr/local/bin). On -a Unix system, you can produce a man page using a command like the +a Unix system you can produce a man page using a command like the following: makethin --man=/usr/local/man/man1/makethin.1 @@ -44,14 +46,15 @@ following: Copyright and license ===================== -Copyright (C) 2004 by Scott Pakin + +Copyright (C) 2006 by Scott Pakin This file may be distributed and/or modified under the conditions of -the LaTeX Project Public License, either version 1.2 of this license +the LaTeX Project Public License, either version 1.3c 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.2 or later is part of all distributions of LaTeX version -1999/12/01 or later. +and version 1.3c or later is part of all distributions of LaTeX +version 2006/05/20 or later. diff --git a/Master/texmf-dist/doc/latex/savetrees/savetrees.pdf b/Master/texmf-dist/doc/latex/savetrees/savetrees.pdf index c1cfa6c0f0d..80e7d6e5f72 100644 Binary files a/Master/texmf-dist/doc/latex/savetrees/savetrees.pdf and b/Master/texmf-dist/doc/latex/savetrees/savetrees.pdf differ diff --git a/Master/texmf-dist/source/latex/savetrees/savetrees.dtx b/Master/texmf-dist/source/latex/savetrees/savetrees.dtx index bad28cdc161..59a2fe0934e 100644 --- a/Master/texmf-dist/source/latex/savetrees/savetrees.dtx +++ b/Master/texmf-dist/source/latex/savetrees/savetrees.dtx @@ -1,30 +1,32 @@ % \iffalse meta-comment % -% Copyright (C) 2004 by Scott Pakin +% Copyright (C) 2006 by Scott Pakin % ------------------------------------------------------ % % This file may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either version 1.2 +% conditions of the LaTeX Project Public License, either version 1.3c % 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.2 or later is part of all distributions of LaTeX -% version 1999/12/01 or later. +% and version 1.3c or later is part of all distributions of LaTeX +% version 2006/05/20 or later. % % \fi % % \iffalse +%<*driver> +\ProvidesFile{savetrees.dtx} +% %\NeedsTeXFormat{LaTeX2e}[1999/12/01] %\ProvidesPackage{savetrees} -% [2004/07/17 v1.1 Pack as much text as possible onto each page] +%<*package> + [2006/11/20 v1.2 Pack as much text as possible onto each page] +% % %<*driver> \documentclass{ltxdoc} -\usepackage[normalbibnotes,normalbib,normalfloats,normalindent, - normalleading,normallists,normalmargins,normalsections, - normaltitle]{savetrees} \usepackage{array} \usepackage{dcolumn} \usepackage{tabularx} @@ -38,7 +40,7 @@ % % \fi % -% \CheckSum{278} +% \CheckSum{293} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -59,7 +61,7 @@ % % \changes{v1.0}{2002/07/06}{Initial version} % -% \GetFileInfo{savetrees.sty} +% \GetFileInfo{savetrees.dtx} % % \DoNotIndex{\.,\@arabic,\@author,\@biblabel,\@clubpenalty,\@date,\@empty} % \DoNotIndex{\@enumctr,\@enumdepth,\@gobble,\@itemdepth,\@itemitem} @@ -146,9 +148,13 @@ % whitespace & % Redefine \texttt{\string\maketitle} \\ % -% Reduced interline spacing & +% Reduce interline spacing & % Reassign \texttt{\string\baselinestretch} \\ % +% Discourage \TeX\ from allowing the last line of a paragraph to +% contain only a single word & +% Reassign \texttt{\string\looseness} \\ +% % Typeset bibliographies smaller and with no inter-item spacing & % Redefine \texttt{thebibliography} \\ % \hline @@ -230,6 +236,8 @@ % % \item[\pkgoption{normalleading}] Don't modify interline spacing. % +% \item[\pkgoption{normallooseness}] Don't modify paragraph looseness. +% % \item[\pkgoption{normalbib}] Don't modify bibliography formatting. % % \item[\pkgoption{normalbibnotes}] Don't omit |NOTE| fields from the @@ -434,14 +442,18 @@ % to pack more text onto a page with minimal effort, \progname{makethin} % can be quite efficacious. % +% \DeleteShortVerb{\|} % \begin{center} -% \textbf{Warning} \\ -% \fbox{\begin{minipage}{0.66\textwidth} +% \begin{tabular}{|p{0.66\linewidth}|} +% \multicolumn{1}{c}{\textbf{Warning}} \\ +% \hline % To avoid confusion with the original font-metric files, do not % distribute the \texttt{.tfm} or \texttt{.vf} files generated by -% \progname{makethin} unless you rename them first. -% \end{minipage}} +% \progname{makethin} unless you rename them first. \\ +% \hline +% \end{tabular} % \end{center} +% \MakeShortVerb{\|} % % In addition to requiring Perl\index{Perl|usage}, \progname{makethin} % depends upon two helper programs: \progname{kpsewhich} and @@ -1025,6 +1037,21 @@ % \end{macro} % \end{macro} % +% \begin{macro}{\if@st@normal@looseness} +% \begin{macro}{\@st@normal@loosenesstrue} +% \begin{macro}{\@st@normal@loosenessfalse} +% These are used to conditionally disable \pkgname{savetrees}'s +% modifications to \TeX's paragraph looseness (i.e.,~the number of lines +% by which \TeX\ is instructed to shrink each paragraph). +% \begin{macrocode} +\newif\if@st@normal@looseness +\DeclareOption{normallooseness}{\@st@normal@loosenesstrue} +% \end{macrocode} +% \pkgoptiondecl{normallooseness} +% \end{macro} +% \end{macro} +% \end{macro} +% % \begin{macro}{\if@st@normal@bib} % \begin{macro}{\@st@normal@bibtrue} % \begin{macro}{\@st@normal@bibfalse} @@ -1098,13 +1125,17 @@ % Use the \pkgname{geometry} package to narrow our page margins, unless % the author wants to keep \LaTeX's original ones. Note that we accept % \pkgname{geometry}'s default of zero space allocated to marginal notes. +% \changes{v1.2}{2006/11/20}{Made the top margin consistent with the other +% margins and allocated space for the footer} % \begin{macrocode} \if@st@normal@margins \else \RequirePackage[lmargin=\@st@marginsize, rmargin=\@st@marginsize, - tmargin=0pt, - bmargin=\@st@marginsize]{geometry} + tmargin=\@st@marginsize, + bmargin=\@st@marginsize, + includefoot, + footskip=2ex]{geometry} \fi % \end{macrocode} % @@ -1306,6 +1337,41 @@ % \end{macro} % % +% \subsection{Paragraph looseness} +% \changes{v1.2}{2006/11/20}{Added support for reducing paragraph looseness} +% +% Some paragraphs end with a lone word on the last line. If we can +% discourage such typesetting we can gain an extra line. The underlying +% mechanism we use is \TeX's |\looseness| primitive, which encourages +% \TeX\ to expand the current paragraph by a given number of lines. +% However, |\looseness| can be set to a negative number, which +% encourages \TeX\ to shrink the current paragraph by a given number of +% lines. For this technique to work, the paragraph must be relatively +% long to \TeX\ has enough shrinkable whitespace to work with. +% +% Unfortunately, |\looseness| applies only to the current paragraph. We +% therefore use |\everypar| to inject |\looseness=-1| into every +% paragraph. However, the approach is not quite so simple as the +% |\looseness=-1| is not injected into list environments. We therefore +% use some tricky code due to Donald Arseneau to make the effect of +% |\looseness=-1| as global as possible: +% \begin{macrocode} +\if@st@normal@looseness +\else + \let\markeverypar\everypar + \newtoks\everypar + \everypar\markeverypar + \markeverypar{\the\everypar\looseness=-1} +\fi +% \end{macrocode} +% +% Even when |\everypar| is used in the ordinary fashion it is likely to +% conflict with various \LaTeX\ packages. Because the preceding code is +% a particularly tricky redefinition of |\everypar| it's likely that +% many documents will need to disable paragraph looseness by specifying +% the \pkgoption{normallooseness} option to \pkgname{savetrees}. +% +% % \subsection{Bibliography formatting} % % There are two ways we save space when typesetting bibliographies. @@ -1334,14 +1400,17 @@ % \changes{v1.1}{2004/07/17}{Modified to test for % \texttt{\string\string\string\chapter}, not % \texttt{\string\string\string\bibname}.} +% \changes{v1.2}{2006/11/19}{Modified to use the more robust +% \texttt{\string\string\string\@ifundefined} macro to test for the existence +% of \texttt{\string\string\string\chapter}} % \begin{macrocode} - \ifx\chapter\@undefined + \@ifundefined{chapter}{% \section*{\refname \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}}% - \else + }{% \chapter*{\bibname \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}}% - \fi + }% % \end{macrocode} % Back to the original code\dots % \begin{macrocode} diff --git a/Master/texmf-dist/source/latex/savetrees/savetrees.ins b/Master/texmf-dist/source/latex/savetrees/savetrees.ins index f262f0fc887..212eb77e4c7 100644 --- a/Master/texmf-dist/source/latex/savetrees/savetrees.ins +++ b/Master/texmf-dist/source/latex/savetrees/savetrees.ins @@ -1,15 +1,15 @@ %% -%% Copyright (C) 2004 by Scott Pakin +%% Copyright (C) 2006 by Scott Pakin %% %% This file may be distributed and/or modified under the conditions of -%% the LaTeX Project Public License, either version 1.2 of this license +%% the LaTeX Project Public License, either version 1.3c 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.2 or later is part of all distributions of LaTeX version -%% 1999/12/01 or later. +%% and version 1.3c or later is part of all distributions of LaTeX version +%% 2006/05/20 or later. %% \input docstrip.tex @@ -25,17 +25,17 @@ This is a generated file. -Copyright (C) 2004 by Scott Pakin +Copyright (C) 2006 by Scott Pakin This file may be distributed and/or modified under the conditions of -the LaTeX Project Public License, either version 1.2 of this license +the LaTeX Project Public License, either version 1.3c 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.2 or later is part of all distributions of LaTeX version -1999/12/01 or later. +and version 1.3c or later is part of all distributions of LaTeX version +2006/05/20 or later. \endpreamble diff --git a/Master/texmf-dist/tex/latex/savetrees/savetrees.sty b/Master/texmf-dist/tex/latex/savetrees/savetrees.sty index a0917298b5d..e3032158e60 100644 --- a/Master/texmf-dist/tex/latex/savetrees/savetrees.sty +++ b/Master/texmf-dist/tex/latex/savetrees/savetrees.sty @@ -8,21 +8,21 @@ %% %% This is a generated file. %% -%% Copyright (C) 2004 by Scott Pakin +%% Copyright (C) 2006 by Scott Pakin %% %% This file may be distributed and/or modified under the conditions of -%% the LaTeX Project Public License, either version 1.2 of this license +%% the LaTeX Project Public License, either version 1.3c 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.2 or later is part of all distributions of LaTeX version -%% 1999/12/01 or later. +%% and version 1.3c or later is part of all distributions of LaTeX version +%% 2006/05/20 or later. %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesPackage{savetrees} - [2004/07/17 v1.1 Pack as much text as possible onto each page] + [2006/11/20 v1.2 Pack as much text as possible onto each page] \newif\if@st@normal@sections \DeclareOption{normalsections}{\@st@normal@sectionstrue} \newif\if@st@normal@margins @@ -37,6 +37,8 @@ \DeclareOption{normaltitle}{\@st@normal@titletrue} \newif\if@st@normal@leading \DeclareOption{normalleading}{\@st@normal@leadingtrue} +\newif\if@st@normal@looseness +\DeclareOption{normallooseness}{\@st@normal@loosenesstrue} \newif\if@st@normal@bib \DeclareOption{normalbib}{\@st@normal@bibtrue} \newif\if@st@normal@bibnotes @@ -52,8 +54,10 @@ \else \RequirePackage[lmargin=\@st@marginsize, rmargin=\@st@marginsize, - tmargin=0pt, - bmargin=\@st@marginsize]{geometry} + tmargin=\@st@marginsize, + bmargin=\@st@marginsize, + includefoot, + footskip=2ex]{geometry} \fi \if@st@normal@lists \else @@ -136,16 +140,23 @@ \else \renewcommand{\baselinestretch}{0.9} \fi +\if@st@normal@looseness +\else + \let\markeverypar\everypar + \newtoks\everypar + \everypar\markeverypar + \markeverypar{\the\everypar\looseness=-1} +\fi \if@st@normal@bib \else \renewenvironment{thebibliography}[1]{% - \ifx\chapter\@undefined + \@ifundefined{chapter}{% \section*{\refname \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}}% - \else + }{% \chapter*{\bibname \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}}% - \fi + }% \list{\@biblabel{\@arabic\c@enumiv}}% {\settowidth\labelwidth{\@biblabel{#1}}% \leftmargin\labelwidth diff --git a/Master/texmf-dist/tpm/savetrees.tpm b/Master/texmf-dist/tpm/savetrees.tpm index 211aa809a0d..d39064f1d94 100644 --- a/Master/texmf-dist/tpm/savetrees.tpm +++ b/Master/texmf-dist/tpm/savetrees.tpm @@ -3,7 +3,7 @@ savetrees Package - 2006/01/11 23:57:17 + 2006/11/25 17:18:27 1.0 rahtz @@ -23,17 +23,17 @@ submission. 399305 - + texmf-dist/bibtex/bst/savetrees/savetrees.bst texmf-dist/tex/latex/savetrees/savetrees.sty texmf-dist/tpm/savetrees.tpm - + texmf-dist/doc/latex/savetrees/README texmf-dist/doc/latex/savetrees/makethin.pl texmf-dist/doc/latex/savetrees/savetrees.pdf - + texmf-dist/source/latex/savetrees/savetrees.dtx texmf-dist/source/latex/savetrees/savetrees.ins -- cgit v1.2.3