% \iffalse meta-comment
%
% Copyright 2005 by Will Robertson
%
% 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.
%
%
%
\begingroup
%
%
\input docstrip.tex
\keepsilent
\preamble
_______________________________________
Copyright (C) 2007-2008 Will Robertson
License information appended.
\endpreamble
\postamble
Copyright (C) 2007-2008 by Will Robertson
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{*************************************************************}
%
%\endbatchfile
%
\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}
%
%
%
\documentclass{ltxdoc}
\EnableCrossrefs
\CodelineIndex
\RecordChanges
%\OnlyDescription
\usepackage{dtx-style}
\begin{document}
\nonstopmode
\DocInput{\jobname.dtx}
\end{document}
%
%
%
___________________
The LEADING package
v0.3
Defines the \leading{} command to set the
leading of the document to the length specified. In
contrast with \linespread{}, which is less
useful in most cases.
______________
Will Robertson
2007-2008
%
%
% \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
%
%\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
%
%\fi
%
% \PrintIndex
%
% \Finale
%
% \iffalse
%
%
% \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}
%
%\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