diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex209/contrib/dropcaps/dropcaps.sty |
Initial commit
Diffstat (limited to 'macros/latex209/contrib/dropcaps/dropcaps.sty')
-rw-r--r-- | macros/latex209/contrib/dropcaps/dropcaps.sty | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/macros/latex209/contrib/dropcaps/dropcaps.sty b/macros/latex209/contrib/dropcaps/dropcaps.sty new file mode 100644 index 0000000000..b1675580e8 --- /dev/null +++ b/macros/latex209/contrib/dropcaps/dropcaps.sty @@ -0,0 +1,130 @@ +%% +%% Style-option `dropcaps' for use with LaTeX v2.09 +%% +\def\fileversion{0.30} +\def\filedate{13 Sep 1993} +\def\docdate{\filedate} +%% +%% Copyright (C) 1993 by Fred J. Lauwers, fred@dutspf.tudelft.nl . +%% All rights reserved. +%% +%% THANKS +%% Jeremy Gibbons +%% +%% DESCRIPTION: +%% dropcaps.sty contains a macro for dropping caps in LaTeX. +%% +%% INSTALLATION: +%% Put this file where your TeX looks for inputs, +%% under the name dropcaps.sty. +%% +%% DOCUMENTATION: +%% dropcaps.tex +%% +%% COPYING: +%% Copying of part or all of this file is allowed under the following +%% conditions only: +%% (1) You may freely distribute unchanged copies of the file. Please +%% include the documentation when you do so. +%% (2) You may modify a renamed copy of the file, but only for personal +%% use or use within an organization. +%% (3) You may copy fragments from the file, for personal use or for +%% distribution, as long as credit is given where credit is due. +%% +%% You are NOT ALLOWED to take money for the distribution or use of +%% this file or modified versions or fragments thereof, except for +%% a nominal charge for copying etc. +%% +\typeout{\space\space Style option: 'dropcaps' v\fileversion \space\space + <\filedate> \space\space (FJL)}% + +\font\fredfont=cmbxsl10 +\def\fred{F\kern-.25em\j\kern-.1emL} + +\def\yes{y }\def\no{n }\newif\ifdvips +\message{*** Are you using Rokicki's DVIPS [y/n] ? } +\read-1 to \answer +\ifx\answer\yes\dvipstrue +\else\dvipsfalse\fi + +\newcount\bigscale +\ifdvips\typeout{*** Good choice.}% +% +% DVIPS users +% +\newcount\wantedcount\newcount\actualcount% +\newdimen\actualheight% +\def\findsize#1#2{% +\bigscale=1000% +\font\BIG=#1 scaled \bigscale% +\setbox0=\hbox{\BIG #2\/}% +\actualheight=\ht0% +\typeout{*** Needed height: \the\wantedheight, + \space Unscaled height: \the\actualheight}% +\wantedcount=\wantedheight \actualcount=\actualheight% +\advance\actualcount by 50% +\divide\actualcount by 100% +\multiply\wantedcount by 10% +\divide\wantedcount by \actualcount% +\font\BIG=#1 scaled \wantedcount% +\setbox0=\hbox{\BIG #2\/}% +\bigscale=\wantedcount% +} +\else\typeout{*** OK, prepare for bad output...}% +% +% non-DVIPS users +% +\def\nextmagstep#1#2#3{% +\bigscale=#3% +\font\BIG=#1 scaled \bigscale% +\setbox0=\hbox{\BIG #2\/}}% +\def\findsize#1#2{% +\typeout{*** Needed height: \the\wantedheight}% +\nextmagstep{#1}{#2}{\magstep0}% +\ifdim\ht0<\wantedheight% +\nextmagstep{#1}{#2}{\magstephalf}% +\ifdim\ht0<\wantedheight% +\nextmagstep{#1}{#2}{\magstep1}% +\ifdim\ht0<\wantedheight% +\nextmagstep{#1}{#2}{\magstep2}% +\ifdim\ht0<\wantedheight% +\nextmagstep{#1}{#2}{\magstep3}% +\ifdim\ht0<\wantedheight% +\nextmagstep{#1}{#2}{\magstep4}% +\ifdim\ht0<\wantedheight% +\nextmagstep{#1}{#2}{\magstep5}% +\fi\fi\fi\fi\fi\fi% +}\fi + +\newcount\down +\newdimen\saveunitlength +\newdimen\wantedheight +\def\bigdrop#1#2#3#4{% +\saveunitlength=\unitlength% +\unitlength=\baselineskip% +\setbox1=\hbox{\the\font I}% +\wantedheight=#2\baselineskip \advance\wantedheight by -\baselineskip% +\advance\wantedheight by \ht1% +\findsize{#3}{#4}% +\advance\wantedheight by -\ht0% only for typeout... +\typeout{*** #3 scaled \the\bigscale \space ==> height: + \the\ht0 \space (error: \the\wantedheight).}% +\hangindent=\wd0 \advance\hangindent by #1% +\hangafter=-#2% +\ifdim\dp0>0.25\baselineskip% 0pt ? + \typeout{*** extra line(s) indented: non-zero depth: \the\dp0} + \loop\ifdim\dp0>\baselineskip + \advance\baselineskip by \baselineskip + \advance\hangafter by -1 + \repeat + \advance\hangafter by -1 + \baselineskip=\unitlength +\fi% +\noindent% +\down=-#2 \advance\down by 1% +\begin{picture}(0,0)% +\put(0,\down){\makebox(0,0)[br]{\box0}}% +\end{picture}% +\unitlength=\saveunitlength} + +\endinput |