% The code in this package comes from version 1.4b of the package % "lettrine" by Daniel Flipo, with modifications to adapt it to % the special environment of Technica domains and to reduce % the amount of TeX resources used. % % The current version of "lettrine" is available on CTAN at % tex-archive/macros/latex/contrib/lettrine % % The package is NOT a replacement for "lettrine" and cannot be used % indipendently of the Technica suite. % % Copyright Gianfranco Boggio-Togna 2006 % % This program may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version~1.2 % of this license or (at your option) any later version. % The latest version of this license is in % http://www.latex-project.org/lppl.txt % and version 1.2 or later is part of all distributions of LaTeX % version 1999/12/01 or later. % % This program consists of the file txndrop.sty % \NeedsTeXFormat{LaTeX2e}[1994/11/04] \ProvidesPackage{txndrop} [2006/10/15 Technica] \def \DropCapDefaultLines {2} \def \DropCapDefaultLoversize {0} \def \DropCapDefaultLraise {0} \def \DropCapDefaultLhang {0} \def \DropCapDefaultFindent {\z@} \def \DropCapDefaultNindent {0.5em} \def \DropCapDefaultSlope {\z@} \chardef \TXNd@letter = 1\relax \chardef \TXNd@text = 3\relax \def \TXNd@hang {} \def \TXNd@oversize {} \def \TXNd@raise {} \def \TXNd@ante {} \def \DropCapTextFont {\scshape} \def \TXNd@DropCap@height {% \@tempdima = \baselineskip \dimen@ = \TXN@counter \@tempdima \ifnum \TXN@counter > \@ne \advance \dimen@ by -\@tempdima \fi \global \setbox \TXNd@text = \hbox {\DropCapTextFont x}% \advance \dimen@ by \ht\TXNd@text \advance \dimen@ by \TXNd@oversize\dimen@ \edef \TXNd@height {\the\dimen@\relax}% } \def \DropCapFontHook {} \def \DropCapFont {% \TXNd@DropCap@height \global \setbox \TXNd@text = \hbox {% \DropCapFontHook\fontsize{\TXNd@height}{\TXNd@height}\selectfont X}% \@tempcntb =\ht\TXNd@text \dimen@ = \TXNd@height \relax \@tempcnta = \dimen@ \multiply \@tempcnta by 100\relax \divide \@tempcntb by 100\relax \divide \@tempcnta by \@tempcntb \advance \@tempcnta by -9999\relax \ifnum \@tempcnta > \z@ \def \TXN@temp {1.\the\@tempcnta}% \else \def \TXN@temp {1}% \fi \DropCapFontHook \dimen@ = \TXNd@height \relax \fontsize{\TXN@temp\dimen@}{\TXN@temp\dimen@}% \selectfont } \newcommand {\DropCapFontEPS} {% \TXNd@DropCap@height \dimen@ = \TXNd@height \relax \includegraphics[height=\dimen@]% } \define@key{TXNd}{lines}{\TXN@counter = #1\relax} \define@key{TXNd}{lhang}{\edef \TXNd@hang {#1}} \define@key{TXNd}{loversize}{\edef \TXNd@oversize {#1}} \define@key{TXNd}{lraise}{\edef \TXNd@raise {#1}} \define@key{TXNd}{ante}{\edef \TXNd@ante {#1}} \define@key{TXNd}{findent}{\edef \TXNd@Findent {#1}} \define@key{TXNd}{nindent}{\edef \TXNd@Nindent {#1}} \define@key{TXNd}{slope}{\edef \TXNd@slope {#1}} \newcommand {\TXNd@DropCap} [3][] {% \begingroup \TXN@counter = \DropCapDefaultLines \relax \edef \TXNd@hang {\DropCapDefaultLhang}% \edef \TXNd@oversize {\DropCapDefaultLoversize}% \edef \TXNd@raise {\DropCapDefaultLraise}% \edef \TXNd@ante {}% \edef \TXNd@Findent {\DropCapDefaultFindent}% \edef \TXNd@Nindent {\DropCapDefaultNindent}% \edef \TXNd@slope {\DropCapDefaultSlope}% \setkeys {TXNd} {#1}% \global \setbox\TXNd@letter = \hbox {\DropCapFont #2}% \global \setbox\TXNd@text = \hbox {\DropCapTextFont #3}% \@tempdima = \baselineskip \ifnum \TXN@counter = \@ne \dimen@ = \ht\TXNd@letter \advance \dimen@ by -\ht\TXNd@text \def \TXNd@lraise {\z@}% \else \dimen@ = -\TXN@counter\@tempdima \advance \dimen@ by \@tempdima \setbox \@tempboxa = \hbox {\DropCapTextFont x}% \advance \dimen@ by -\ht\@tempboxa \edef \TXNd@lraise {-\TXNd@raise\dimen@}% \advance \dimen@ by \TXNd@lraise \relax \advance \dimen@ by \ht\TXNd@letter \TXN@dim@a = \TXNd@lraise \relax \advance \TXN@dim@a by -\TXN@counter\@tempdima \advance \TXN@dim@a by \@tempdima \edef \TXNd@lraise {\the\TXN@dim@a}% \fi \ifdim \dimen@ > 0.2\p@ \ifTXN@withinVersus \else \vskip \dimen@ \TXN@safe \fi \fi \dimen@ = \wd\TXNd@letter \advance \dimen@ by -\TXNd@hang\wd\TXNd@letter \setbox\@tempboxa = \hbox {\TXNd@ante}% \advance \dimen@ by \wd\@tempboxa \advance \dimen@ by \TXNd@Findent \relax \TXN@dim@b = \TXN@measure \advance \TXN@dim@b by -\dimen@ \dimen@@ = \TXNd@Nindent \relax \advance \dimen@@ by \dimen@ \TXN@dim@a = \TXN@measure \advance \TXN@dim@a by -\dimen@@ \advance \TXN@counter by \@ne \edef \TXNd@Pindent {\the\dimen@}% \ifTXN@withinProsa \xdef \TXNd@parshape {% \the\TXN@counter\space \the\dimen@\space \the\TXN@dim@b}% \@tempcnta = \tw@ \@whilenum \@tempcnta < \TXN@counter \do {% \xdef \TXNd@parshape {% \space\TXNd@parshape\space \the\dimen@@\space \the\TXN@dim@a}% \advance \dimen@@ by \TXNd@slope \relax \advance \TXN@dim@a by -\TXNd@slope \relax \advance \@tempcnta by \@ne }% \xdef \TXNd@parshape {\TXNd@parshape \z@ \the\TXN@measure}% \fi \ifTXN@withinVersus \gdef \TXN@DropCap@indent {}% \@tempcnta = \tw@ \@tempcntb = \@ne \@whilenum \@tempcnta < \TXN@counter \do {% {\let \\=\relax \xdef \TXN@DropCap@indent {\TXN@DropCap@indent\\{\the\dimen@@}}% }% \advance \dimen@@ by \TXNd@slope \relax \xdef \TXN@DropCap@lines {-\the\@tempcntb}% \advance \@tempcnta by \@ne \advance \@tempcntb by \@ne }% \fi \global \setbox \TXNd@letter = \hbox to \TXNd@Pindent {% \hss \TXNd@ante \raise \TXNd@lraise \box\TXNd@letter \hskip \TXNd@Findent\relax}% \global \ht \TXNd@letter = \z@ \global \dp \TXNd@letter = \z@ \global \ht \TXNd@text = \z@ \global \dp \TXNd@text = \z@ \endgroup \noindent \leavevmode \ifTXN@withinProsa \parshape = \TXNd@parshape \kern -\wd\TXNd@letter \fi \box\TXNd@letter \box \TXNd@text }