From 5c4fcece888ee328ff7d9a04ca94e053bc279749 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 26 Aug 2018 21:26:43 +0000 Subject: lettrine (26aug18) git-svn-id: svn://tug.org/texlive/trunk@48492 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/lettrine/lettrine-2015-08-31.sty | 247 +++++++++++++++++++++ 1 file changed, 247 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/lettrine/lettrine-2015-08-31.sty (limited to 'Master/texmf-dist/tex/latex/lettrine/lettrine-2015-08-31.sty') diff --git a/Master/texmf-dist/tex/latex/lettrine/lettrine-2015-08-31.sty b/Master/texmf-dist/tex/latex/lettrine/lettrine-2015-08-31.sty new file mode 100644 index 00000000000..fac9d05d80a --- /dev/null +++ b/Master/texmf-dist/tex/latex/lettrine/lettrine-2015-08-31.sty @@ -0,0 +1,247 @@ +%% +%% This is file `lettrine.sty' v1.9. +%% +%% IMPORTANT NOTICE: +%% +%% For the copyright see the source file `lettrine.dtx'. +%% +%% Any modified versions of this file must be renamed +%% with new filenames distinct from lettrine.sty. +%% +%% For distribution of the original source see the terms +%% for copying and modification in the file lettrine.dtx. +%% +%% This generated file may be distributed as long as the +%% original source files, as listed above, are part of the +%% same distribution. (The sources need not necessarily be +%% in the same archive or directory.) +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesFile{lettrine.sty} + [2015/08/31 v1.9 (Daniel Flipo)] +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\RequirePackage{keyval} +\newcounter{DefaultLines} +\setcounter{DefaultLines}{2} +\newcounter{DefaultDepth} +\newcommand*{\DefaultOptionsFile}{\relax} +\newcommand*{\DefaultLoversize}{0} +\newcommand*{\DefaultLraise}{0} +\newcommand*{\DefaultLhang}{0} +\newdimen\DefaultFindent +\setlength{\DefaultFindent}{\z@} +\newdimen\DefaultNindent +\setlength{\DefaultNindent}{0.5em} +\newdimen\DefaultSlope +\setlength{\DefaultSlope}{\z@} +\newdimen\DiscardVskip +\setlength{\DiscardVskip}{0.2\p@} +\newif\ifLettrineImage +\newif\ifLettrineOnGrid +\newif\ifLettrineRealHeight +\newsavebox{\L@lbox} +\newsavebox{\L@tbox} +\newcounter{L@lines} +\newcounter{L@depth} +\newdimen\L@Pindent +\newdimen\L@Findent +\newdimen\L@Nindent +\newdimen\L@lraise +\newdimen\L@first +\newdimen\L@next +\newdimen\L@slope +\newdimen\L@height +\newdimen\L@novskip +\newcommand*{\L@file}{} +\newcommand*{\L@hang}{} +\newcommand*{\L@oversize}{} +\newcommand*{\L@raise}{} +\newcommand*{\L@ante}{} +\newif\ifL@image +\newif\ifL@grid +\newif\ifL@realh +\newcommand*{\LettrineTextFont}{\scshape} +\def\Lettrine@height{% + \@tempdima=\baselineskip + \setlength{\L@height}{\value{L@lines}\@tempdima}% + \ifnum\value{L@lines}>1 + \addtolength{\L@height}{-\@tempdima}% + \fi + \ifvoid\L@tbox + \sbox{\L@tbox}{\LettrineTextFont{\LettrineSecondString}}% + \fi + \addtolength{\L@height}{\ht\L@tbox}% + \addtolength{\L@height}{\L@oversize\L@height}% +} +\newcommand*{\LettrineFontHook}{} +\newcommand*{\LettrineTestString}{ABCDEFGHIJKLMNOQPRSTUVWXYZ} +\newcommand*{\LettrineSecondString}{x} +\newcommand*{\LettrineFont}{% + \Lettrine@height + \sbox{\@tempboxa}{\LettrineFontHook\fontsize{\L@height}{\L@height}% + \selectfont \LettrineTestString}% + \@tempcntb=\ht\@tempboxa + \@tempcnta=\L@height + \multiply\@tempcnta by 100 + \divide\@tempcntb by 100 + \divide\@tempcnta by \@tempcntb + \advance\@tempcnta by -9999 + \ifnum\@tempcnta>0 + \def\@tempa{1.\the\@tempcnta}% + \else + \def\@tempa{1}% + \fi + \LettrineFontHook + \fontsize{\@tempa\L@height}{\@tempa\L@height}% + \selectfont +} +\newcommand*{\LettrineFontEPS}{% + \Lettrine@height\LettrineFontHook + \includegraphics[height=\L@height]% +} +\define@key{L}{lines}{\setcounter{L@lines}{#1}} +\define@key{L}{depth}{\setcounter{L@depth}{#1}} +\define@key{L}{lhang}{\renewcommand*{\L@hang}{#1}} +\define@key{L}{loversize}{\renewcommand*{\L@oversize}{#1}} +\define@key{L}{lraise}{\renewcommand*{\L@raise}{#1}} +\define@key{L}{ante}{\renewcommand*{\L@ante}{#1}} +\define@key{L}{findent}{\setlength{\L@Findent}{#1}} +\define@key{L}{nindent}{\setlength{\L@Nindent}{#1}} +\define@key{L}{slope}{\setlength{\L@slope}{#1}} +\define@key{L}{image}[true]{\csname L@image#1\endcsname} +\define@key{L}{grid}[true]{\csname L@grid#1\endcsname} +\define@key{L}{realheight}[true]{\csname L@realh#1\endcsname} +\define@key{L}{novskip}{\setlength{\L@novskip}{#1}} +\newcommand*{\LettrineOptionsFor}[2]{\@namedef{l@#1-keys}{#2}} +\newdimen\LettrineWidth +\newdimen\LettrineHeight +\newdimen\LettrineDepth +\def\lettrine{\@ifnextchar[\@lettrine{\@lettrine[]}} +\def\@lettrine[#1]#2#3{% + \setcounter{L@lines}{\value{DefaultLines}}% + \setcounter{L@depth}{\value{DefaultDepth}}% + \renewcommand*{\L@hang}{\DefaultLhang}% + \renewcommand*{\L@oversize}{\DefaultLoversize}% + \renewcommand*{\L@raise}{\DefaultLraise}% + \renewcommand*{\L@ante}{}% + \setlength{\L@Findent}{\DefaultFindent}% + \setlength{\L@Nindent}{\DefaultNindent}% + \setlength{\L@slope}{\DefaultSlope}% + \setlength{\L@novskip}{\DiscardVskip}% + \ifLettrineImage\L@imagetrue\else\L@imagefalse\fi + \ifLettrineOnGrid\L@gridtrue\else\L@gridfalse\fi + \ifLettrineRealHeight\L@realhtrue\else\L@realhfalse\fi + \setkeys{L}{#1}% + \sbox{\L@tbox}{\LettrineTextFont{\LettrineSecondString}}% + \ifL@realh + \def\@tempa{#3} + \ifx\@tempa\@empty + \PackageWarning{lettrine.sty}% + {Empty second argument,\MessageBreak + ignoring option `realheight';}% + \else + \sbox{\L@tbox}{\LettrineTextFont{#3}}% + \fi + \fi + \if\DefaultOptionsFile\relax + \else + \begingroup + \InputIfFileExists{\DefaultOptionsFile}% + {}% + {\PackageWarning{lettrine.sty}% + {File \DefaultOptionsFile\space not found}% + }% + \def\color##1##{\l@color{##1}}% + \let\l@color\@gobbletwo + \def\textcolor##1##{\l@textcolor{##1}}% + \def\l@textcolor##1##2##3{##3}% + \expandafter\ifx\csname l@#2-keys\endcsname\relax + \gdef\l@LOKeys{}% + \else + \xdef\l@LOKeys{\csname l@#2-keys\endcsname}% + \fi + \endgroup + \def\KV@prefix{KV@L@}% + \let\@tempc\relax + \expandafter\KV@do\l@LOKeys,\relax, + \sbox{\L@lbox}{\LettrineFont #2}% + \setlength{\LettrineWidth}{\wd\L@lbox}% + \def\KV@prefix{KV@L@}% + \let\@tempc\relax + \expandafter\KV@do\l@LOKeys,\relax, + \setkeys{L}{#1}% + \fi + \ifL@image + \sbox{\L@lbox}{\LettrineFontEPS{#2}}% + \else + \sbox{\L@lbox}{\LettrineFont #2}% + \fi + \sbox{\L@tbox}{\LettrineTextFont{#3}}% + \@tempdima=\baselineskip + \ifnum\value{L@lines}=1 + \setlength{\L@first}{\ht\L@lbox}% + \addtolength{\L@first}{-\ht\L@tbox}% + \setlength{\L@lraise}{\z@}% + \else + \setlength{\L@first}{-\value{L@lines}\@tempdima}% + \addtolength{\L@first}{\@tempdima}% + \sbox{\@tempboxa}{\LettrineTextFont x}% + \addtolength{\L@first}{-\ht\@tempboxa}% + \setlength{\L@lraise}{-\L@raise\L@first}% + \addtolength{\L@first}{\L@lraise}% + \addtolength{\L@first}{\ht\L@lbox}% + \addtolength{\L@lraise}{-\value{L@lines}\@tempdima}% + \addtolength{\L@lraise}{\@tempdima}% + \fi + \par + \ifdim\L@first>\L@novskip + \ifL@grid + \@tempdima=\baselineskip + \@tempdimb=\@tempdima + \advance\@tempdimb by \L@novskip + \@tempcnta=1 + \loop\ifdim\L@first>\@tempdimb + \advance\@tempcnta by 1 + \advance\L@first by -\@tempdima + \repeat + \vskip\@tempcnta\baselineskip + \else + \vskip\L@first + \fi + \fi + \setlength{\L@Pindent}{\wd\L@lbox}% + \addtolength{\L@Pindent}{-\L@hang\wd\L@lbox}% + \settowidth{\L@first}{\L@ante}% + \addtolength{\L@Pindent}{\L@first}% + \addtolength{\L@Pindent}{\L@Findent}% + \setlength{\L@first}{\linewidth}% + \addtolength{\L@first}{-\L@Pindent}% + \addtolength{\L@Nindent}{\L@Pindent}% + \setlength{\L@next}{\linewidth}% + \addtolength{\L@next}{-\L@Nindent}% + \addtolength{\L@Pindent}{\rightmargin}% + \addtolength{\L@Nindent}{\rightmargin}% + \setlength{\LettrineWidth}{\wd\L@lbox}% + \setlength{\LettrineHeight}{\ht\L@lbox}% + \setlength{\LettrineDepth}{\dp\L@lbox}% + \addtocounter{L@lines}{1}% + \addtocounter{L@lines}{\value{L@depth}}% + \def\L@parshape{\c@L@lines \the\L@Pindent \the\L@first}% + \@tempcnta=\tw@ + \@whilenum \@tempcnta<\c@L@lines\do{% + \edef\L@parshape{\L@parshape \the\L@Nindent \the\L@next}% + \addtolength{\L@Nindent}{\L@slope}% + \addtolength{\L@next}{-\L@slope}% + \advance\@tempcnta\@ne}% + \edef\L@parshape{\L@parshape \rightmargin \the\linewidth}% + \noindent + \parshape=\L@parshape\relax + \smash{\llap{\mbox{\L@ante}\raisebox{\L@lraise}{\usebox{\L@lbox}}% + \hskip \the\L@Findent}}% + \usebox{\L@tbox}% +} +\InputIfFileExists{lettrine.cfg} + {\typeout{Loading lettrine.cfg}} + {\typeout{lettrine.cfg not found, using default values}} +\endinput +%% +%% End of file `lettrine.sty'. -- cgit v1.2.3