diff options
Diffstat (limited to 'macros/latex209/contrib/dropcaps/dropdoc.tex')
-rw-r--r-- | macros/latex209/contrib/dropcaps/dropdoc.tex | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/macros/latex209/contrib/dropcaps/dropdoc.tex b/macros/latex209/contrib/dropcaps/dropdoc.tex new file mode 100644 index 0000000000..940e812ed7 --- /dev/null +++ b/macros/latex209/contrib/dropcaps/dropdoc.tex @@ -0,0 +1,143 @@ +% DROPDOC.TEX -- 13-09-1993 +% +\documentstyle[dropcaps]{ttn2n1a} +\begin{document} + +\Section{{\huge {\tt dropcaps.sty}}\\ + a style file for dropping caps (\fred)} + +\bigdrop{-10pt}{3}{cmsl10}{I}n a previous issue of \TTN\ +(vol. 1, No. 4, 1992), Peter Flynn dedicates a subsection of +{\sl Typographer's Inn\/} to the problem of dropped capitals. This is +my answer to some of his questions. Basically, I don't start with the +capital, but I let the capital's size depend on the chosen design. +I wrote a dropped caps macro for use with \LaTeX, and took these +design decisions: +\begin{itemize} +\item First, let the writer choose her favourite design, within certain + limitations though, and let the macro do the dirty work: adjusting + the cap to the optimal size. +\item Let the writer decide how many lines she wants to dropindent. Let + her also decide in which font the cap should appear, whether to + start the cap {\em at\/} the left margin, or somewhat to the left + (into the white space) or to the right (into text direction). Let + her decide what she puts into dropped caps: a single character, or + even one or more whole words, or without caps at all. +\item The limitations: Let the cap's baseline be aligned with the baseline + of the lowest of the indenting lines. Let the cap's top line be + aligned with the top line of the first of the indenting lines. + Don't let the writer mess with this! +\end{itemize} + +\Subsection{Usage} + +\bigdrop{-10pt}{3}{cmsl10}{M}y {\tt dropcaps.sty} is a \LaTeX\ style +file, that defines a macro command \verb+\bigdrop+ that enables you to +drop capitals at the beginning of a paragraph. The layout can be +controlled in various ways, with four parameters (not optional). For +instance, the current paragraph started with\\ [2pt] +\verb+\bigdrop{-10pt}{3}{cmsl10}{M}y ...+\\ [2pt] +The required parameters are: +\begin{enumerate} +\item a {\em length}, that denotes the distance from the left margin + (to the left or to the right) at which the dropped capital starts, + in this case 10pt into the left margin: {\tt -10pt}. +\item an integer value, that denotes the number of lines to be indented, + in this case {\tt 3} lines. +\item the font to be used for the dropped capital, in this case {\tt cmsl10}. +\item the character or text to be dropped, in this case a single {\tt M}. +\end{enumerate} + +\Subsection{The messy details} + +\bigdrop{-10pt}{3}{cmsl10}{W}hen the macro \verb+\bigdrop+ is called +(with four parameters), this is what happens. First, a capital "I" is +typeset in the current text font and put in a box (\verb+box1+). The +desired font height (\verb+\wantedheight+) is then computed from +\verb|(n-1)*\baselineskip+\ht1|, where {\tt n} is the number of lines +to indent. Then the procedure differs, depending on the choice for DVIPS +or not.\\ [8pt] +% +{\fredfont DVIPS users}\\ +% +In this case the text to be capitalized, typeset in the chosen font +(at scale \verb+1000+), is put in a box (\verb+box0+), with height +\verb+\actualheight+ $=$ \verb+\ht0+. Now, the scaling factor for this +font can be computed from dividing \verb+\wantedheight+ by +\verb+\actualheight+ and multiplying this by \verb+1000+. Because +divisions are integer, the heights are first put in count registers, +and then, to prevent from rounding errors and overflow, +\verb+\wantedheight*10+ is divided by \verb+\actualheight/100+. The +outcome of this is the scale at which the chosen font is typeset.\\ [8pt] +% +{\fredfont non-DVIPS users}\\ +% +Without DVIPS things are less elegant, for only the standard magsteps +are available for scaling fonts\footnote{The \verb+magstep+'s {\tt 0}, +{\tt half}, {\tt 1}, {\tt 2}, {\tt 3}, {\tt 4}, and {\tt 5}.}. The text +to be capitalized in the chosen font, is first typeset at +\verb|\magstep 0| and put in a box (\verb+box0+), with height \verb+\ht0+. + +If \verb+\wantedheight+ is bigger then \verb+\ht0+, the text is typeset +at \verb|\magstephalf|, and put in \verb+box0+ again. If +\verb+\wantedheight+ is still bigger then \verb+\ht0+, again the +\verb|\magstep| is increased one step, et cetera. This process is +repeated until \verb+\wantedheight+ is smaller then \verb+\ht0+.\\ [8pt] +% +{\fredfont both}\\ +% +The result of the computation can be observed on the screen and in the +{\tt .log} file. Each time a capital is dropped, two lines like\\ [2pt] +\verb|*** Needed height: 30.83331pt, Unscaled height: 6.83331pt|\\ +\verb|*** cmsl10 scaled 4512 ==> height: 30.83195pt (error: 0.00136pt).|\\ [2pt] +appear. This example is from processing this document with {\tt n = 3} +and font {\tt cmsl10}. + +At the end of the computation {\tt box0} contains the text, typeset in +the desired font and scaled such that \verb+\ht0+ equals the height of +the indenting lines. Then, \verb+\hangindent+ and \verb+\hangafter+ are +set according to {\tt box0} and the parameter values: +\verb|\hangindent:=\wd0+#1|, and \verb|\hangafter:=-#2|. +Precautions are taken for the case that \verb+\dp0+ is not equal to +zero\footnote{An extra line is indented, if overlap occurs, the test file +{\tt droptest.tex} shows an example of this.}. Finally, in a \LaTeX\ +picture environment, the text is placed where we want it. + +\Subsection{Requirements} + +\bigdrop{-10pt}{3}{cmsl10}{I}n order to use this style file, a big +version of \LaTeX\ is needed, because almost always fonts have to be +generated, and already from 4 indenting lines, they tend to become very +large. I tested this with em\TeX's \TeX386 (with emx) on a 486DX33 PC, +and with em\TeX's b\TeX186 on a AT286 PC. + +Also needed is a version of {\bf DVIPS} by Tomas Rokicki with {\bf MakeTeXPK} +running, so the generation of fonts will be done automatically. For me +the recently uploaded {\bf DVIPS 5.518} works great on both machines. + +All this is necessary because the implemented procedure in this macro +automatically leads to non-standard fonts. So, for optimal pleasure, +use a big \TeX\ and Rokicki's {\bf DVIPS}. + +\Subsection{Alternatives} + +\bigdrop{-10pt}{3}{cmsl10}{O}nly one style file that does something +similar is listed in \TeX--index v1.06 by David M. Jones, namely +{\tt drop.sty} by David G. Cantor. The latest version is dated +17--02--1988. This style file also defines a macro to drop capitals, +but has no possibilities to accept controlling parameters, except for +the choice of font. You are not able to choose the desired height by +supplying the number of lines to be indented. + +The dropped capital has a fixed size, namely \verb+\magstep5+, and +always two lines are indented. This font height is somewhat smaller +than the height of two indenting lines, so the vertical placement of +the dropped capital's baseline lies not at the same height as the +vertical placement of the baseline of the second indenting line (next +to it). The advantage of this is that everyone has this font. + +\vspace{2cm} +\leftline{Fred J. Lauwers ({\sl \fred\/})} +\leftline{\tt fred@dutspf.tudelft.nl} + +\end{document} |