summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/savetrees/README2
-rw-r--r--Master/texmf-dist/doc/latex/savetrees/savetrees.pdfbin257470 -> 246435 bytes
-rw-r--r--Master/texmf-dist/source/latex/savetrees/savetrees.dtx126
-rw-r--r--Master/texmf-dist/source/latex/savetrees/savetrees.ins61
-rw-r--r--Master/texmf-dist/tex/latex/savetrees/savetrees.sty10
5 files changed, 127 insertions, 72 deletions
diff --git a/Master/texmf-dist/doc/latex/savetrees/README b/Master/texmf-dist/doc/latex/savetrees/README
index 1d23cdfa824..bbd4a35391c 100644
--- a/Master/texmf-dist/doc/latex/savetrees/README
+++ b/Master/texmf-dist/doc/latex/savetrees/README
@@ -47,7 +47,7 @@ following:
Copyright and license
=====================
-Copyright (C) 2007 by Scott Pakin <scott+st@pakin.org>
+Copyright (C) 2010 by Scott Pakin <scott+st@pakin.org>
This file may be distributed and/or modified under the conditions of
the LaTeX Project Public License, either version 1.3c of this license
diff --git a/Master/texmf-dist/doc/latex/savetrees/savetrees.pdf b/Master/texmf-dist/doc/latex/savetrees/savetrees.pdf
index 436ba3b6314..be134db8f67 100644
--- a/Master/texmf-dist/doc/latex/savetrees/savetrees.pdf
+++ b/Master/texmf-dist/doc/latex/savetrees/savetrees.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/savetrees/savetrees.dtx b/Master/texmf-dist/source/latex/savetrees/savetrees.dtx
index b74ebebcab3..303529b830f 100644
--- a/Master/texmf-dist/source/latex/savetrees/savetrees.dtx
+++ b/Master/texmf-dist/source/latex/savetrees/savetrees.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2007 by Scott Pakin <scott+st@pakin.org>
+% Copyright (C) 2010 by Scott Pakin <scott+st@pakin.org>
% ------------------------------------------------------
%
% This file may be distributed and/or modified under the
@@ -22,7 +22,7 @@
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{savetrees}
%<*package>
- [2007/12/23 v1.2a Pack as much text as possible onto each page]
+ [2010/06/03 v1.3 Pack as much text as possible onto each page]
%</package>
%
%<*driver>
@@ -30,17 +30,20 @@
\usepackage{array}
\usepackage{dcolumn}
\usepackage{tabularx}
+\usepackage{hyperref}
\EnableCrossrefs
\CodelineIndex
\setcounter{IndexColumns}{2}
\RecordChanges
\begin{document}
\DocInput{savetrees.dtx}
+ \PrintChanges
+ \PrintIndex
\end{document}
%</driver>
% \fi
%
-% \CheckSum{294}
+% \CheckSum{302}
%
% \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
@@ -127,36 +130,39 @@
% Implementation \\
% \hline
%
-% Typeset section titles smaller and with less surrounding whitespace &
-% Use the \pkgname{titlesec} package \\
+% Typeset section titles smaller and with less surrounding whitespace. &
+% Use the \pkgname{titlesec} package. \\
%
-% Reduce page margins &
-% Use the \pkgname{geometry} package \\
+% Reduce page margins. &
+% Use the \pkgname{geometry} package. \\
%
% Reduce indentation and remove inter-item spacing from the various
-% list environments &
-% Redefine list environments \\
+% list environments. &
+% Redefine list environments. \\
%
% Relax float placement (more floats per page, increased ability to
-% share pages with text, etc.) &
-% Reassign \LaTeXe{} variables \\
+% share pages with text, etc.). &
+% Reassign \LaTeXe{} variables. \\
%
-% Decrease paragraph indentation &
-% Reassign \texttt{\string\parindent} \\
+% Decrease paragraph indentation. &
+% Reassign \texttt{\string\parindent}. \\
%
% Typeset document title with smaller fonts and with less surrounding
-% whitespace &
-% Redefine \texttt{\string\maketitle} \\
+% whitespace. &
+% Redefine \texttt{\string\maketitle}. \\
%
-% Reduce interline spacing &
-% Reassign \texttt{\string\baselinestretch} \\
+% 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} \\
+% contain only a single word. &
+% Reassign \texttt{\string\looseness}. \\
%
-% Typeset bibliographies smaller and with no inter-item spacing &
-% Redefine \texttt{thebibliography} \\
+% Allow characters to be typeset slightly narrower than normal. &
+% Use the \pkgname{microtype} package. \\
+%
+% Typeset bibliographies smaller and with no inter-item spacing. &
+% Redefine \texttt{thebibliography}. \\
% \hline
% \end{tabularx}
% \caption{\pkgname{savetrees}'s space-saving techniques}
@@ -238,6 +244,8 @@
%
% \item[\pkgoption{normallooseness}] Don't modify paragraph looseness.
%
+% \item[\pkgoption{normalcharwidths}] Don't modify character widths.
+%
% \item[\pkgoption{normalbib}] Don't modify bibliography formatting.
%
% \item[\pkgoption{normalbibnotes}] Don't omit |NOTE| fields from the
@@ -432,7 +440,7 @@
% We can do better than merely \emph{selecting} a narrow font, though.
% We can \emph{generate} a narrower version of an existing font. The
% idea is to present \TeX{} with font metrics that indicate thinner
-% characters and to tell Dvips to use the PostScript
+% characters and to tell Dvips or pdf\TeX\ to use the PostScript
% ``\texttt{ExtendFont}'' operator to compress all of the glyphs. The
% \pkgname{savetrees} package comes with a Perl\index{Perl|usage} script,
% \progname{makethin}, which automates the task of generating narrow
@@ -460,13 +468,11 @@
% \progname{dvitype}. \progname{kpsewhich} searches the \TeX{}
% installation directory for a given file or file type. While
% \progname{kpsewhich} is a standard part of Kpathsea-based \TeX{}
-% distributions, such as te\kern-.1em\TeX{}, it does not normally function on
-% non-Kpathsea based distributions, such as MiK\TeX{}.\footnote{I have
-% no current plans to port \progname{makethin} to non-Kpathsea based
-% \TeX{} distributions, but volunteers to do the work are certainly welcome.}
-% \progname{dvitype} outputs a DVI file in a textual format that's easy
-% for \progname{makethin} to process. \progname{makethin} extracts font
-% names from lines like the following:
+% distributions, such as \TeX\ Live, it does not normally function on
+% non-Kpathsea based distributions. \progname{dvitype} outputs a DVI
+% file in a textual format that's easy for \progname{makethin} to
+% process. \progname{makethin} extracts font names from lines like the
+% following:
%
% \begin{verbatim}
% Font 44: cmtt10---loaded at size 655360 DVI units
@@ -474,6 +480,21 @@
% Font 33: cmss10---loaded at size 655360 DVI units
% \end{verbatim}
%
+% Even with \progname{makethin}, creating narrow fonts is somewhat
+% awkward as it requires the installation of various font files and font
+% maps. Fortunately, with newer versions of \pkgname{savetrees}, there
+% is far less need to bother with \progname{makethin}.
+% \pkgname{savetrees}~v1.3 and later use the \pkgname{microtype} package
+% to exploit pdf\TeX's font-expansion features to implicitly generate
+% narrower versions of fonts. The advantage is that this approach is
+% fully automatic; there's no need to install additional font files or
+% font maps. The disadvantages are that (1)~it works only with
+% pdf\TeX\ and (2)~it doesn't compress fonts uniformly but rather allows
+% some variation from line to line based on how overfull or underfull
+% the line would otherwise be. In short, \progname{makethin} should be
+% seen as a last resort, when a significant amount of extra space must
+% be elided from the document.
+%
% The \progname{makethin} script contains documentation in POD\index{POD
% (Plain Old Documentation)|usage} (Plain Old Documentation) format.
% This can be extracted using \progname{makethin}'s |--man| or
@@ -875,7 +896,7 @@
% \setlength{\parskip}{\origparskip}
% \setlength{\parindent}{\origparindent}
%
-% \StopEventually{\PrintChanges\PrintIndex}
+% \StopEventually{}
%
% ^^A Define macros for labeling lines of code.
% \makeatletter
@@ -896,6 +917,7 @@
% }
% \makeatother
%
+%
% \section{Implementation of \texttt{savetrees.sty}}
%
% This section lists the complete, commented source code for the
@@ -907,9 +929,6 @@
% narrow, then seeing how \pkgname{savetrees} alters margins may be
% instructive for learning how to select your own page margins.
%
-% \bigskip
-% We start by telling \pkgname{DocStrip} that this is where |savetrees.sty|
-% begins:
% \begin{macrocode}
%<*package>
% \end{macrocode}
@@ -1052,6 +1071,20 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}{\if@st@normal@char@widths}
+% \begin{macro}{\@st@normal@char@widthstrue}
+% \begin{macro}{\@st@normal@char@widthsfalse}
+% These are used to conditionally disable \pkgname{savetrees}'s
+% modifications to font width.
+% \begin{macrocode}
+\newif\if@st@normal@char@widths
+\DeclareOption{normalcharwidths}{\@st@normal@char@widthstrue}
+% \end{macrocode}
+% \pkgoptiondecl{normalcharwidths}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
% \begin{macro}{\if@st@normal@bib}
% \begin{macro}{\@st@normal@bibtrue}
% \begin{macro}{\@st@normal@bibfalse}
@@ -1287,8 +1320,6 @@
% |\@maketitle| to typeset the title |\large| and everything else in the
% body font. In addition, we remove the extra whitespace above the
% title and lessen the whitespace below the title.
-%
-% We proceed only with the author's permission.
% \begin{macrocode}
\if@st@normal@title
\else
@@ -1362,8 +1393,8 @@
\if@st@normal@looseness
\else
\let\markeverypar\everypar
- \newtoks\everypar
- \everypar\markeverypar
+ \newtoks\everypar
+ \everypar\markeverypar
\markeverypar{\the\everypar\looseness=-1\relax}
\fi
% \end{macrocode}
@@ -1375,6 +1406,25 @@
% the \pkgoption{normallooseness} option to \pkgname{savetrees}.
%
%
+% \subsection{Font width}
+% \changes{v1.3}{2010/06/03}{Added support for narrowing font widths}
+%
+% The \pkgname{microtype} package provides \LaTeX\ support for pdf\TeX's
+% font-expansion feature. Font expansion is intended to improve text
+% ``color''---the even balance between ink and absence of ink on a
+% page---by subtly expanding or narrowing character widths instead of by
+% adding or removing whitespace. \pkgname{savetrees} hijacks this
+% feature as a space-saving mechanisms by specifying a maximum expansion
+% of~0\% of a character's natural width but a maximum narrowing of~5\%.
+%
+% \begin{macrocode}
+\if@st@normal@char@widths
+\else
+ \RequirePackage[stretch=0,shrink=50]{microtype}
+\fi
+% \end{macrocode}
+%
+%
% \subsection{Bibliography formatting}
%
% There are two ways we save space when typesetting bibliographies.
@@ -1486,8 +1536,6 @@
% \labelprevcodeline{code:stbn-end}
% \end{macro}
%
-% \bigskip\noindent
-% This is the conclusion of |savetrees.sty|.
% \begin{macrocode}
%</package>
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/savetrees/savetrees.ins b/Master/texmf-dist/source/latex/savetrees/savetrees.ins
index 9b9abce91a4..65203ff148f 100644
--- a/Master/texmf-dist/source/latex/savetrees/savetrees.ins
+++ b/Master/texmf-dist/source/latex/savetrees/savetrees.ins
@@ -1,13 +1,13 @@
%%
-%% Copyright (C) 2007 by Scott Pakin <scott+st@pakin.org>
+%% Copyright (C) 2010 by Scott Pakin <scott+st@pakin.org>
%%
%% This file 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. The latest version of this
%% license is in:
-%%
+%%
%% http://www.latex-project.org/lppl.txt
-%%
+%%
%% and version 1.3c or later is part of all distributions of LaTeX version
%% 2006/05/20 or later.
%%
@@ -25,7 +25,7 @@
This is a generated file.
-Copyright (C) 2007 by Scott Pakin <scott+st@pakin.org>
+Copyright (C) 2010 by Scott Pakin <scott+st@pakin.org>
This file may be distributed and/or modified under the conditions of
the LaTeX Project Public License, either version 1.3c of this license
@@ -78,31 +78,32 @@ End of customized bst file
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\Msg{****************************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the following}
-\Msg{* file into a directory searched by TeX:}
-\Msg{*}
-\Msg{* \space\space savetrees.sty}
-\Msg{*}
-\Msg{* and the following file into a directory searched by BibTeX:}
-\Msg{*}
-\Msg{* \space\space savetrees.bst}
-\Msg{*}
-\Msg{* and the following file into a directory in your executable}
-\Msg{* search path:}
-\Msg{*}
-\Msg{* \space\space makethin.pl}
-\Msg{*}
-\Msg{* If you're on a Unix system, you may want to rename}
-\Msg{* makethin.pl to simply makethin.\space\space You will need to make}
-\Msg{* the script executable with "chmod +x makethin".\space\space Also, a Unix}
-\Msg{* man page can be generated with "makethin --man=makethin.1".}
-\Msg{*}
-\Msg{* To produce the documentation, run the file savetrees.dtx}
-\Msg{* through LaTeX (twice, to get the references correct).}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{****************************************************************}
+\obeyspaces
+\Msg{******************************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the following *}
+\Msg{* file into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* \space\space savetrees.sty *}
+\Msg{* *}
+\Msg{* and the following file into a directory searched by BibTeX: *}
+\Msg{* *}
+\Msg{* \space\space savetrees.bst *}
+\Msg{* *}
+\Msg{* and the following file into a directory in your executable *}
+\Msg{* search path: *}
+\Msg{* *}
+\Msg{* \space\space makethin.pl *}
+\Msg{* *}
+\Msg{* If you're on a Unix system, you may want to rename *}
+\Msg{* makethin.pl to simply makethin.\space\space You will need to make *}
+\Msg{* the script executable with "chmod +x makethin".\space\space Also, a Unix *}
+\Msg{* man page can be generated with "makethin --man=makethin.1". *}
+\Msg{* *}
+\Msg{* To produce the documentation, run the file savetrees.dtx *}
+\Msg{* through LaTeX (twice, to get the references correct). *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{******************************************************************}
\endbatchfile
diff --git a/Master/texmf-dist/tex/latex/savetrees/savetrees.sty b/Master/texmf-dist/tex/latex/savetrees/savetrees.sty
index 91e159522ed..b69c664474d 100644
--- a/Master/texmf-dist/tex/latex/savetrees/savetrees.sty
+++ b/Master/texmf-dist/tex/latex/savetrees/savetrees.sty
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (C) 2007 by Scott Pakin <scott+st@pakin.org>
+%% Copyright (C) 2010 by Scott Pakin <scott+st@pakin.org>
%%
%% This file may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3c of this license
@@ -22,7 +22,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{savetrees}
- [2007/12/23 v1.2a Pack as much text as possible onto each page]
+ [2010/06/03 v1.3 Pack as much text as possible onto each page]
\newif\if@st@normal@sections
\DeclareOption{normalsections}{\@st@normal@sectionstrue}
\newif\if@st@normal@margins
@@ -39,6 +39,8 @@
\DeclareOption{normalleading}{\@st@normal@leadingtrue}
\newif\if@st@normal@looseness
\DeclareOption{normallooseness}{\@st@normal@loosenesstrue}
+\newif\if@st@normal@char@widths
+\DeclareOption{normalcharwidths}{\@st@normal@char@widthstrue}
\newif\if@st@normal@bib
\DeclareOption{normalbib}{\@st@normal@bibtrue}
\newif\if@st@normal@bibnotes
@@ -147,6 +149,10 @@
\everypar\markeverypar
\markeverypar{\the\everypar\looseness=-1\relax}
\fi
+\if@st@normal@char@widths
+\else
+ \RequirePackage[stretch=0,shrink=50]{microtype}
+\fi
\if@st@normal@bib
\else
\renewenvironment{thebibliography}[1]{%