% \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. % % %<*internalbatchfile> \begingroup % %<*batchfile> \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 %<*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} % % %<*driver> \documentclass{ltxdoc} \EnableCrossrefs \CodelineIndex \RecordChanges %\OnlyDescription \usepackage{dtx-style} \begin{document} \nonstopmode \DocInput{\jobname.dtx} \end{document} % % %<*readme> ___________________ 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 %<*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 % %\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} % %\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