% \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 Will Robertson License information appended. \endpreamble \postamble Copyright (C) 2007 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}}} \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}}} \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> \endgroup \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.2 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 % % % \fi % % \GetFileInfo{\jobname.sty} % \CheckSum{0} % \makeatletter % % \title{Giving leading a number} % \author{Will Robertson} % \date{\filedate \qquad \fileversion} % % \maketitle % % \noindent % \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 font size} , and} % \codeline {\cmd\renewcommand\cmd\baselinestretch\marg{ratio to original value} .} % (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}|, as $12\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: ``make the leading 1.069 times the font size''. % That's just silly. 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} 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}|\leading{11pt}|\\\small %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{13pt}|\leading{5mm}|\\\small %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} % % \bigskip\noindent % Because \cmd\leading\ uses \cmd\linespread\ internally, the results % of |\leading{15.5pt}| in a 12\,pt document and |\linespread{1.069}| % are identical. But because \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{} % \clearpage % \part{The \pkg{\jobname} package} %\iffalse %<*package> %\fi % This is the package. % \begin{macrocode} \ProvidesPackage{leading} [2007/05/06 v0.2 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 \normalfont \@tempdima=\f@size pt\relax \@tempdimb=#1\relax \setlength\@tempdimc{1pt*\ratio{\@tempdimb}{\@tempdima}}% \global\@tempdimc\@tempdimc \endgroup \linespread{\strip@pt\@tempdimc}\normalfont} % \end{macrocode} % \end{macro} % %\iffalse % %\fi % % \clearpage % % \PrintIndex % % \Finale % % \iffalse % %<*dtx-style> % \begin{macrocode} \ProvidesPackage{dtx-style} \errorcontextlines=999 \def\@dotsep{1000} \setcounter{tocdepth}{2} \setlength\columnseprule{0.4pt} \renewcommand\tableofcontents{\relax \begin{multicols}{2}[\section*{\contentsname}]\relax \@starttoc{toc}\relax \end{multicols}} \setcounter{IndexColumns}{2} \renewenvironment{theglossary} {\small\list{}{} \item\relax \glossary@prologue\GlossaryParms \let\item\@idxitem \ignorespaces \def\pfill{\hspace*{\fill}}} {\endlist} \usepackage[svgnames]{xcolor} \usepackage{calc,enumitem,fancyvrb,graphicx,\jobname} \usepackage[osf,sc]{mathpazo} \linespread{1.069} % A bit more space between lines \frenchspacing % Remove ugly extra space after punctuation \definecolor{niceblue}{rgb}{0.2,0.4,0.8} \newenvironment{example}[1] {\VerbatimEnvironment \def\Options{#1}% \begin{VerbatimOut}[gobble=4]{\examplefilename}} {\end{VerbatimOut}\relax \typesetexample} \def\theCodelineNo{\textcolor{niceblue}{\sffamily\tiny\arabic{CodelineNo}}} \let\examplesize\normalsize \let\auxwidth\relax \newlength\examplewidth\newlength\verbatimwidth \newlength\exoutdent \newlength\exverbgap \setlength\exverbgap{1em} \setlength\exoutdent{-0.15\textwidth} \newsavebox\verbatimbox \edef\examplefilename{\jobname.example} \newcommand\typesetexample{\relax \smallskip \noindent \begin{minipage}{\linewidth} \color{niceblue} \hrulefill\par \edef\@tempa{[gobble=0,fontsize=\noexpand\scriptsize,\Options]}% \begin{lrbox}{\verbatimbox}\relax \expandafter\BVerbatimInput\@tempa{\examplefilename}% \end{lrbox} \begin{list}{}{\setlength\itemindent{0pt} \setlength\leftmargin\exoutdent \setlength\rightmargin{0pt}}\item \ifx\auxwidth\relax \setlength\verbatimwidth{\wd\verbatimbox}% \else \setlength\verbatimwidth{\auxwidth}% \fi \begin{minipage}[c]{\textwidth-\exoutdent-\verbatimwidth-\exverbgap} \catcode`\%=14\centering\input\examplefilename\relax \end{minipage}\hfill \begin{minipage}[c]{\verbatimwidth} \usebox\verbatimbox \end{minipage} \end{list} \par\noindent\hrulefill \end{minipage} \smallskip} \newcommand*\setverbwidth[1]{\def\auxwidth{#1}} \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.}\@}} \def\STIX{\textsc{stix}} \def\MacOSX{Mac~OS~X} \def\ascii{\textsc{ascii}} \def\OMEGA{Omega} \makeatletter \newcounter{argument} \g@addto@macro\endmacro{\setcounter{argument}{0}} \newcommand*\darg[1]{% \stepcounter{argument}% {\ttfamily\char`\#\theargument~:~}#1\par\noindent\ignorespaces} \newcommand*\doarg[1]{% \stepcounter{argument}% {\ttfamily\makebox[0pt][r]{[}\char`\#\theargument]:~}#1\par\noindent\ignorespaces} \makeatother \newcommand\codeline[1]{\par\noindent\hspace{2\parindent}#1\par\noindent\ignorespaces} \newcommand\unichar[2]{\textsc{\MakeLowercase{u+#1: #2}}} \setlength\parindent{2em} % \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