% \iffalse meta-comment
%
% Copyright 2005 by Will Robertson <wspr81@gmail.com>
% 
% Distributable under the LaTeX Project Public License,
% version 1.3c or higher (your choice). The latest version of
% this license is at: http://www.latex-project.org/lppl.txt
%
% This work is "maintained" (as per LPPL maintenance status) 
% by Will Robertson.
% 
% This work consists of the file  leading.dtx
%           and the derived files leading.sty and leading.pdf.
%
%
%<*internalbatchfile>
\begingroup
%</internalbatchfile>
%<*batchfile>
\input docstrip.tex
\keepsilent
\preamble
  _______________________________________
  Copyright (C) 2007-2008  Will Robertson
  License information appended.
\endpreamble
\postamble

Copyright (C) 2007-2008 by Will Robertson <wspr81@gmail.com>

Distributable under the LaTeX Project Public License,
version 1.3c or higher (your choice). The latest version of
this license is at: http://www.latex-project.org/lppl.txt

This work is "maintained" (as per LPPL maintenance status) 
by Will Robertson.

This work consists of the file  \jobname.dtx
          and the derived files \jobname.sty and \jobname.pdf.

\endpostamble
\askforoverwritefalse
\generate{\file{\jobname.sty}{\from{\jobname.dtx}{package}}}
\Msg{*************************************************************}
\Msg{*}
\Msg{* To finish the installation you have to move the following}
\Msg{* file into a directory searched by TeX:}
\Msg{*}
\Msg{*    leading.sty}
\Msg{*}
\Msg{* To produce the documentation run the file leading.dtx}
\Msg{* through LaTeX. Have fun!}
\Msg{*}
\Msg{*************************************************************}
%</batchfile>
%<batchfile>\endbatchfile
%<*internalbatchfile>
\generate{\file{\jobname.ins}{\from{\jobname.dtx}{batchfile}}}
\nopreamble\nopostamble
\generate{\file{dtx-style.sty}{\from{\jobname.dtx}{dtx-style}}}
\generate{\file{README.txt}{\from{\jobname.dtx}{readme}}}
\endgroup
\immediate\write18{mv README.txt README}
\immediate\write18{makeindex -s gind.ist -o \jobname.ind  \jobname.idx}
\immediate\write18{makeindex -s gglo.ist -o \jobname.gls  \jobname.glo}
%</internalbatchfile>
%
%<*driver>
\documentclass{ltxdoc}
\EnableCrossrefs
\CodelineIndex
\RecordChanges
%\OnlyDescription
\usepackage{dtx-style}
\begin{document}
  \nonstopmode
  \DocInput{\jobname.dtx}
\end{document}
%</driver>
%
%<*readme>
___________________
The LEADING package
v0.3

Defines the \leading{<length>} command to set the
leading of the document to the length specified. In
contrast with \linespread{<ratio>}, which is less
useful in most cases.

______________
Will Robertson
2007-2008
%</readme>
%
% \fi
%
% \GetFileInfo{\jobname.sty}
% \CheckSum{0}
% \makeatletter
%
% \title{Giving leading a number}
% \author{Will Robertson}
% \date{\filedate \qquad \fileversion}
%
% \maketitle
%
% \section{Introduction}
%
% \LaTeX\ defines two methods of specifying \emph{leading}\footnote{Pronounced to rhyme with `sledding'; the word arises from the spacers of lead used to separate lines of text in traditional metal press typesetting}, or the distance between successive lines of text:
% \codeline {\cmd\linespread\marg{ratio to original} , and\DescribeMacro{\linespread}}
% \codeline {\cmd\renewcommand\cmd\baselinestretch\marg{ratio to original} .\DescribeMacro{\baselinestretch}}
% (I've got no idea what the difference between the two methods actually is.)
%
% For example, in the \pkg{pracjourn} class, 
% a font size and leading of 12\,pt/15.5\,pt was chosen, which required the preamble declaration
% |\linespread{1.069}|, because the default leading for a 12\,pt document is 14.5\,pt and $14.5\times 1.069\approx15.5$. 
%
% But this is not how most people define the typesetting of their paragraphs.
% Instructions don't come from the designer: ``increase the leading 1.069 times the standard size in a 12\,pt document''. Instead, it's common to see ``give me a leading of 15.5\,pt''. And indeed, that's how
% \LaTeX's \cmd\fontsize\ command works.
%
% This package defines the \cmd\leading\marg{length}\DescribeMacro{\leading}\ command, 
% which sets the leading immediately to the \meta{length} specified. Here's an example:\bigskip
%
% \noindent
% \begin{minipage}[t]{0.49\linewidth}
% |\leading{11pt}|\par\noindent\small\leading{11pt}
%Upon observing him more closely, I perceived that he wore a black silk
%apron over his small-clothes; and this was a thing which I thought very
%odd. Before I had time to make any remark, however, upon so singular a
%circumstance, he interrupted me with a second \emph{``ahem!''}
% \end{minipage}\hfill
% \begin{minipage}[t]{0.49\linewidth}
% |\leading{5mm}|\par\noindent\small\leading{5mm}
%Upon observing him more closely, I perceived that he wore a black silk
%apron over his small-clothes; and this was a thing which I thought very
%odd. Before I had time to make any remark, however, upon so singular a
%circumstance, he interrupted me with a second \emph{``ahem!''}
% \end{minipage}
%
% \section{Notes}
%
% The \cmd\leading\ command will ignore spaces after it. 
%
% As \cmd\leading\ uses \cmd\linespread\ internally, the results
% of |\leading{15.5pt}| in a 12\,pt document and |\linespread{1.069}|
% are identical. This means that the leading at other font sizes (\eg, |\small|, |\large|)
% will also be adjusted by the same ratio.
%
% Since \cmd\leading\ uses a fixed length, if the
% font size of the document changes then its value will need to be
% adjusted. This isn't a problem in general, however, because it is common
% for different ratios of linespread to be used for different absolute
% font sizes anyway.
%
% \StopEventually{}
% \part{The \pkg{\jobname} package}
%\iffalse
%<*package>
%\fi
%
%    \begin{macrocode}
\ProvidesPackage{leading}
  [2008/12/11 v0.3 Define leading length]  
%    \end{macrocode}
%
% \PrintChanges
%
%    \begin{macrocode}
\RequirePackage{calc}
%    \end{macrocode}
%
% \begin{macro}{\leading}
% \darg{Leading (or `baselineskip') length}
% This is the whole package. Not much to it, really.
%    \begin{macrocode}
\newcommand\leading[1]{%
  \begingroup
    \@tempdima=\f@baselineskip\relax
    \@tempdimb=#1\relax
    \setlength\@tempdimc{1pt*\ratio{\@tempdimb}{\@tempdima}}%
    \global\@tempdimc=\@tempdimc
  \endgroup
  \linespread{\strip@pt\@tempdimc}\selectfont\ignorespaces}
%    \end{macrocode}
% \end{macro}
%
%\iffalse
%</package>
%\fi
%
% \PrintIndex
%
% \Finale
%
% \iffalse
%
%<*dtx-style>
%    \begin{macrocode}
\ProvidesPackage{dtx-style}

\DoNotIndex{\begingroup,\endgroup,\global,\relax,\newcommand,\setlength,\ProvidesPackage}

\usepackage[svgnames]{xcolor}
\usepackage{calc,enumitem,fancyvrb,graphicx,\jobname}

\usepackage[osf,sc]{mathpazo}
\linespread{1.1}      % A bit more space between lines
\frenchspacing         % Remove ugly extra space after punctuation
\setlength\parindent{2em}
\definecolor{niceblue}{rgb}{0.2,0.4,0.8}

\setcounter{IndexColumns}{2}
\renewenvironment{theglossary}
  {\small\list{}{}
     \item\relax
     \glossary@prologue\GlossaryParms 
     \let\item\@idxitem \ignorespaces 
     \def\pfill{\hspace*{\fill}}}
  {\endlist}

\def\theCodelineNo{\textcolor{niceblue}{\sffamily\tiny\arabic{CodelineNo}}}

\newcommand*\name[1]{{#1}}
\newcommand*\pkg[1]{\textsf{#1}}
\newcommand*\feat[1]{\texttt{#1}}
\newcommand*\opt[1]{\texttt{#1}}
\newcommand*\note[1]{\unskip\footnote{#1}}

\let\latin\textit
\def\eg{\latin{e.g.}}
\def\Eg{\latin{E.g.}}
\def\ie{\latin{i.e.}}
\def\etc{\@ifnextchar.{\latin{etc}}{\latin{etc.}\@}}

\newcounter{argument}
\g@addto@macro\endmacro{\setcounter{argument}{0}}
\newcommand*\darg[1]{%
  \stepcounter{argument}%
  {\ttfamily\makebox[0pt][r]{\char`\{}\char`\#\theargument\char`\}:~}#1\par\noindent\ignorespaces}
\newcommand*\doarg[1]{%
  \stepcounter{argument}%
  {\ttfamily\makebox[0pt][r]{[}\char`\#\theargument]:~}#1\par\noindent\ignorespaces}

\newcommand\codeline[1]{\par\noindent\hspace{2\parindent}#1\par\noindent\ignorespaces}
%    \end{macrocode}
%</dtx-style>
%\fi
%
% \typeout{*************************************************************}
% \typeout{*}
% \typeout{* To finish the installation you have to move the following}
% \typeout{* file into a directory searched by TeX:}
% \typeout{*}
% \typeout{* \space\space\space leading.sty}
% \typeout{*}
% \typeout{*************************************************************}
%
\endinput
 