texlive[67537] Master/texmf-dist: lettrine (3jul23)
commits+karl at tug.org
commits+karl at tug.org
Mon Jul 3 22:12:33 CEST 2023
Revision: 67537
http://tug.org/svn/texlive?view=revision&revision=67537
Author: karl
Date: 2023-07-03 22:12:32 +0200 (Mon, 03 Jul 2023)
Log Message:
-----------
lettrine (3jul23)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/lettrine/lettrine-demo-de.pdf
trunk/Master/texmf-dist/doc/latex/lettrine/lettrine-demo-fr.pdf
trunk/Master/texmf-dist/doc/latex/lettrine/lettrine-demo-fr.tex
trunk/Master/texmf-dist/doc/latex/lettrine/lettrine-demo-lua.pdf
trunk/Master/texmf-dist/doc/latex/lettrine/lettrine.pdf
trunk/Master/texmf-dist/source/latex/lettrine/lettrine.dtx
trunk/Master/texmf-dist/tex/latex/lettrine/lettrine.cfg
trunk/Master/texmf-dist/tex/latex/lettrine/lettrine.sty
Added Paths:
-----------
trunk/Master/texmf-dist/tex/latex/lettrine/lettrine-2023-04-18.sty
Modified: trunk/Master/texmf-dist/doc/latex/lettrine/lettrine-demo-de.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/lettrine/lettrine-demo-fr.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/lettrine/lettrine-demo-fr.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lettrine/lettrine-demo-fr.tex 2023-07-03 20:12:16 UTC (rev 67536)
+++ trunk/Master/texmf-dist/doc/latex/lettrine/lettrine-demo-fr.tex 2023-07-03 20:12:32 UTC (rev 67537)
@@ -10,6 +10,7 @@
\renewcommand{\ttdefault}{lmtt} % Courier chasse trop !
\fi
\usepackage{microtype}
+\usepackage{multicol,ragged2e}
\usepackage{Rothdn, Typocaps} % cfr-initials (p. 3)
\usepackage{graphicx,color}
@@ -230,6 +231,47 @@
\newpage
\begin{center}
+\large\bfseries Multicolonnes : Ajustement de \texttt{novskip}
+\end{center}
+
+\renewcommand{\LettrineFontHook}{}
+
+Avec \texttt{loversize=0.2} pas de problème :
+
+\vspace{\baselineskip}
+\begin{multicols}{2}\RaggedRight
+ \lettrine[loversize=0.2]{E}{n plein marais de la Souteyranne},
+à quelques kilomètres au nord d'Aigues-Mortes la Tour Carbonnière.
+Construite au XIII\ieme~siècle, elle contrôlait l'unique voie d'accès
+terrestre de la ville fortifiée, celle qui menait à Psalmody,
+l'une des « abbayes de sel» dont il ne reste que des vestiges.
+\end{multicols}
+
+Avec \texttt{loversize=0.6} il y a un gros décallage entre colonnes :
+
+\vspace{\baselineskip}
+\begin{multicols}{2}\RaggedRight
+ \lettrine[loversize=0.6]{E}{n plein marais de la Souteyranne},
+à quelques kilomètres au nord d'Aigues-Mortes la Tour Carbonnière.
+Construite au XIII\ieme~siècle, elle contrôlait l'unique voie d'accès
+terrestre de la ville fortifiée, celle qui menait à Psalmody,
+l'une des « abbayes de sel» dont il ne reste que des vestiges.
+\end{multicols}
+
+Correction : ajouter \texttt{novskip=13pt} ($>$ Top vskip = 12.16344pt lu
+dans le fichier \texttt{.log})
+
+\begin{multicols}{2}\RaggedRight
+ \lettrine[loversize=0.6,novskip=13pt]{E}{n plein marais de la Souteyranne},
+à quelques kilomètres au nord d'Aigues-Mortes la Tour Carbonnière.
+Construite au XIII\ieme~siècle, elle contrôlait l'unique voie d'accès
+terrestre de la ville fortifiée, celle qui menait à Psalmody,
+l'une des « abbayes de sel» dont il ne reste que des vestiges.
+\end{multicols}
+
+
+\newpage
+\begin{center}
\large\bfseries Utilisation d'une image comme lettrine
\end{center}
Modified: trunk/Master/texmf-dist/doc/latex/lettrine/lettrine-demo-lua.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/lettrine/lettrine.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/source/latex/lettrine/lettrine.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/lettrine/lettrine.dtx 2023-07-03 20:12:16 UTC (rev 67536)
+++ trunk/Master/texmf-dist/source/latex/lettrine/lettrine.dtx 2023-07-03 20:12:32 UTC (rev 67537)
@@ -106,7 +106,7 @@
\ProvidesFile{lettrine.dtx}
%</dtx>
%<*sty|dtx>
- [2023-04-18 v2.40 (Daniel Flipo)]
+ [2023-07-02 v2.50 (Daniel Flipo)]
%</sty|dtx>
% \fi
%
@@ -195,7 +195,7 @@
% number of |\baselineskip|. This option is meant for grid
% typesetting.
% \item \lopt{novskip=}\meta{dimen} overrides |\DiscardVskip|
-% (default=0.2pt). In some cases (see options \lopt{lraise},
+% (default=1pt). In some cases (see options \lopt{lraise},
% \lopt{loversize} or accentuated dropped capitals,…) the top of
% the dropped capital will raise above the top of following text
% (usually in small caps), this will trigger a corresponding vertical
@@ -260,8 +260,10 @@
% Another possibility to colour initials globally is described
% below, see |\LettrineFontHook|.
%
-% Three dimensions, |\LettrineWidth|, |\LettrineHeight| and
-% |\LettrineDepth|, store the final size of the initial.
+% Three dimensions, |\LettrineHeight|, |\LettrineDepth| and
+% |\LettrineWidth| hold the final size of the initial
+% (\textit{height} and \textit{depth} being measured from
+% the paragraph’s $n$-th baseline if |lines=|$n$.
%
% Have a look at files \file{lettrine-demo-fr.tex} and
% \file{lettrine-demo-lua.tex} and at the resulting PDFs in the
@@ -293,7 +295,7 @@
% \item |\setlength{\DefaultFindent}{0pt}|,
% \item |\setlength{\DefaultNindent}{0.5em}|,
% \item |\setlength{\DefaultSlope}{0pt}|.
-% \item |\setlength{\DiscardVskip}{0.2pt}|,
+% \item |\setlength{\DiscardVskip}{1pt}|,
% \item |\LettrineImagefalse|,
% \item |\LettrineOnGridfalse|,
% \item |\LettrineRealHeightfalse|.
@@ -384,7 +386,24 @@
% (Palatino, Times, Utopia…), or any OpenType font, they are
% fully scalable too!
%
-% \newpage{}
+% \newpage
+% \textbf{Breaking change in version~2.50:} in order to improve the
+% alignment of side by side parboxes starting with a dropped cap, the
+% internals of the |\lettrine{}| command have changed. Formerly, the
+% initial was completely smashed (\textit{height}=0,
+% \textit{depth}=0) and a |\vskip| was added in case the initial
+% sticked out too much above the paragraph’s first baseline. From
+% version~2.50 on, the initial gets a null \textit{depth} and its
+% proper \textit{height} (measured from the paragraph’s first
+% baseline, please note that it is different from |\LettrineHeight|).
+% This change has the following side effect: in multicolumn
+% typesetting, when a dropped cap starts a column and sticks out
+% significantly above the baseline, it might be necessary to `smash’
+% the dropped cap and eventually to add a |\vspace{}| before
+% the multicolumn environment. See \file{lettrine-demo-fr.pdf} p.~4
+% for an example. Using the rollback mechanism to switch back to
+% version~2.40 is another option: |\usepackage{lettrine}[=v2.4]|.
+%
% \textbf{Known issues:}
% \begin{itemize}
% \item Nothing is done to prevent page-breaking in a paragraph
@@ -425,6 +444,7 @@
%
% \StopEventually{}
%
+% \newpage
% \section{\TeX{}nical details}
%
% \iffalse
@@ -447,7 +467,8 @@
\DeclareRelease{v1.9}{2012-07-20}{lettrine-2015-08-31.sty}
\DeclareRelease{v2.0}{2018-07-21}{lettrine-2018-08-18.sty}
\DeclareRelease{v2.3}{2022-09-25}{lettrine-2022-09-25.sty}
-\DeclareCurrentRelease{}{2023-04-18}
+\DeclareRelease{v2.4}{2023-04-18}{lettrine-2023-04-18.sty}
+\DeclareCurrentRelease{}{2023-07-02}
\RequirePackage{xfp}
% \end{macrocode}
%
@@ -470,6 +491,9 @@
%
% \changes{v2.1}{2018/08/14}{New option `refstring’.}
%
+% \changes{v2.50}{2023/05/30}{\cs{DiscardVskip} default value enlarged
+% from 0.2pt to 1pt.}
+%
% \begin{macrocode}
\newcounter{DefaultLines}
\setcounter{DefaultLines}{2}
@@ -485,7 +509,7 @@
\newdimen\DefaultSlope
\setlength{\DefaultSlope}{\z@}
\newdimen\DiscardVskip
-\setlength{\DiscardVskip}{0.2\p@}
+\setlength{\DiscardVskip}{1\p@}
\newif\ifLettrineImage
\newif\ifLettrineOnGrid
\newif\ifLettrineRealHeight
@@ -499,6 +523,7 @@
% \changes{v1.6}{2015/02/06}{Added newif \cs{ifL at grid}.}
%
% \begin{macrocode}
+\newsavebox{\L at lettrine}
\newsavebox{\L at lbox}
\newsavebox{\L at tbox}
\newcounter{L at lines}
@@ -512,6 +537,7 @@
\newdimen\L at slope
\newdimen\L at height
\newdimen\L at novskip
+\newdimen\L at ruleht
\newdimen\L at target@ht
\newdimen\L at target@dp
\newdimen\L at target@tht
@@ -944,23 +970,6 @@
\setlength{\LettrineHeight}{\ht\L at lbox}%
\setlength{\LettrineDepth}{\dp\L at lbox}%
% \end{macrocode}
-%
-% \changes{v2.0}{2018/07/21}{Add informations about targeted
-% and actual height of the initial to the .log file.}
-%
-% and print some informations about accuracy to the log file,
-% \begin{macrocode}
- \begingroup
- \def\IeC##1{##1}%
- \@tempdima=\L at oversize pt\relax
- \PackageInfo{lettrine.sty}%
- {Targeted height = \the\L at target@tht\MessageBreak
- (for loversize=0, accent excluded),\MessageBreak
- Lettrine height = \the\LettrineHeight\space (#2)%
- \ifdim\@tempdima=\z@\else\space loversize=\L at oversize\fi;%
- \MessageBreak reported}%
- \endgroup
-% \end{macrocode}
% and reset |\L at tbox|’s content (mandatory in case
% \lopt{realheight=false}):
%
@@ -972,9 +981,9 @@
\sbox{\L at tbox}{{\LettrineTextFont{#3}}}%
% \end{macrocode}
%
-% Start a new paragraph, skipping the necessary amount of space
-% if the dropped capital sticks out of the top of paragraph.
-% We use |\L at first| to compute the amount of space to be skipped.
+% Start a new paragraph and compute in |\L at ruleht| the height of
+% the top part of the dropped capital which raises above the
+% paragraph’s first baseline.
%
% \changes{v0.9}{1998/02/23}{Calculations of length
% \cs{L at first} changed. Do not `vskip’ small lengths ($<$0.2pt),
@@ -991,40 +1000,53 @@
% |\LettrineFont|) is |\L at target@tht|.
%
% \begin{macrocode}
- \setlength{\L at first}{\LettrineHeight}%
+ \par
+ \setlength{\L at ruleht}{\LettrineHeight}%
\setlength{\L at lraise}{\L at raise\L at target@tht}%
- \addtolength{\L at first}{\L at lraise}%
- \ifnum\value{L at lines}=1
- \addtolength{\L at first}{-\ht\L at tbox}%
- \else
- \addtolength{\L at first}{-\L at target@tht}%
+ \addtolength{\L at ruleht}{\L at lraise}%
+ \ifnum\value{L at lines}>\@ne
+ \@tempcnta=\value{L at lines}%
+ \advance\@tempcnta \m at ne
+ \addtolength{\L at ruleht}{-\@tempcnta\baselineskip}%
\addtolength{\L at lraise}{-\L at target@dp}%
\fi
- \par
% \end{macrocode}
-% |\L at first| now holds the height of the needed |\vskip|; if too
-% small it will be discarded.
+% When |\L at ruleht| is larger than |\baselineskip - \L at novskip| and
+% the \lopt{grid} option is \lopt{true}, let’s skip an integer number
+% of |\baselineskip| (and smash the dropped cap, see below).
% \begin{macrocode}
- \ifdim\L at first>\L at novskip
-% \end{macrocode}
-% When the \lopt{grid} option is \lopt{true}, let’s round up
-% |\L at first| to the next integer number of |\baselineskip|.
-% \begin{macrocode}
+ \@tempdima=\L at ruleht
+ \advance\@tempdima \L at novskip
+ \@tempdimb=\baselineskip
+ \ifdim\@tempdima>\@tempdimb
\ifL at grid
- \@tempdima=\baselineskip
- \@tempdimb=\@tempdima
- \advance\@tempdimb by \L at novskip
- \@tempcnta=1
- \loop\ifdim\L at first>\@tempdimb
- \advance\@tempcnta by 1
- \advance\L at first by -\@tempdima
+ \@tempcnta=\z@
+ \loop\ifdim\@tempdima>\@tempdimb
+ \advance\@tempcnta \@ne
+ \advance\@tempdima -\@tempdimb
\repeat
- \L at first=\@tempcnta\baselineskip
+ \vskip\@tempcnta\baselineskip
\fi
- \vskip\L at first
\fi
% \end{macrocode}
-% Again, we (mis)use the length |\L at first| to compute the width of
+%
+% \changes{v2.0}{2018/07/21}{Add informations about targeted
+% and actual height of the initial to the .log file.}
+%
+% Print some informations about accuracy to the log file,
+% \begin{macrocode}
+ \begingroup
+ \def\IeC##1{##1}%
+ \@tempdima=\L at oversize pt\relax
+ \PackageInfo{lettrine.sty}%
+ {Targeted height = \the\L at target@tht\MessageBreak
+ (for loversize=0, accent excluded),\MessageBreak
+ Lettrine height = \the\LettrineHeight\space (#2)%
+ \ifdim\@tempdima>\z@\space loversize=\L at oversize\fi;%
+ \MessageBreak reported}%
+ \endgroup
+% \end{macrocode}
+% We (mis)use the length |\L at first| to compute the width of
% the text eventually coming before the dropped capital. It is
% reset later on to hold the first line’s length.
% \begin{macrocode}
@@ -1091,11 +1113,16 @@
% \changes{v2.40}{2023/04/18}{Replace \cs{usebox} by \cs{unhcopy}
% for box \cs{L at tbox} to allow footnote calls and microtype action.}
%
+% \changes{v2.50}{2023/07/02}{Remove the top \cs{vskip}, smash the
+% dropped cap, add a \cs{rule} to mimic its height above the baseline
+% instead.}
+%
% Write the dropped capital into the left margin, and wrap
% the rest of paragraph around it.
% \begin{macrocode}
- \smash{\llap{\mbox{\L at ante}\raisebox{\L at lraise}{\usebox{\L at lbox}}%
- \hskip \the\L at Findent}}%
+ \llap{\mbox{\L at ante}\smash{\raisebox{\L at lraise}{\usebox{\L at lbox}}}%
+ \ifL at grid\else\rule{0pt}{\L at ruleht}\fi
+ \hskip \the\L at Findent}%
\unhcopy\L at tbox\relax
% \end{macrocode}
%
@@ -1155,7 +1182,7 @@
%%\setlength{\DefaultFindent}{0pt}
%%\setlength{\DefaultNindent}{0.5em}
%%\setlength{\DefaultSlope}{0mm}
-%%\setlength{\DiscardVskip}{0.2pt}
+%%\setlength{\DiscardVskip}{1pt}
%%
%% Theses are *flags* (value=true/false):
%%\LettrineImagefalse
Added: trunk/Master/texmf-dist/tex/latex/lettrine/lettrine-2023-04-18.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lettrine/lettrine-2023-04-18.sty (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/lettrine/lettrine-2023-04-18.sty 2023-07-03 20:12:32 UTC (rev 67537)
@@ -0,0 +1,290 @@
+%%
+%% This is file `lettrine.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lettrine.dtx (with options: `sty')
+%%
+%% IMPORTANT NOTICE:
+%% For the copyright see the source file `lua-typo.dtx’.
+%%
+\NeedsTeXFormat{LaTeX2e}[2022-06-01]
+\ProvidesFile{lettrine.sty}
+ [2023-04-18 v2.40 (Daniel Flipo)]
+\DeclareRelease{v1.6}{1999-03-03}{lettrine-2006-03-17.sty}
+\DeclareRelease{v1.9}{2012-07-20}{lettrine-2015-08-31.sty}
+\DeclareRelease{v2.0}{2018-07-21}{lettrine-2018-08-18.sty}
+\DeclareRelease{v2.3}{2022-09-25}{lettrine-2022-09-25.sty}
+\DeclareCurrentRelease{}{2023-04-18}
+\RequirePackage{xfp}
+\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 at lbox}
+\newsavebox{\L at tbox}
+\newcounter{L at lines}
+\newcounter{L at depth}
+\newdimen\L at Pindent
+\newdimen\L at Findent
+\newdimen\L at Nindent
+\newdimen\L at lraise
+\newdimen\L at first
+\newdimen\L at next
+\newdimen\L at slope
+\newdimen\L at height
+\newdimen\L at novskip
+\newdimen\L at target@ht
+\newdimen\L at target@dp
+\newdimen\L at target@tht
+\newdimen\LettrineWidth
+\newdimen\LettrineHeight
+\newdimen\LettrineDepth
+\newcommand*{\L at file}{}
+\newcommand*{\L at hang}{}
+\newcommand*{\L at oversize}{}
+\newcommand*{\L at raise}{}
+\newcommand*{\L at ante}{}
+\newif\ifL at image
+\newif\ifL at grid
+\newif\ifL at realh
+\newcommand*{\LettrineTestString}{EFTZ}
+\InputIfFileExists{lettrine.cfg}
+ {\typeout{Loading lettrine.cfg}}
+ {\typeout{lettrine.cfg not found, using default values}}
+\DeclareKeys[LettrineGlobal]
+ {
+ lines.code = \setcounter{DefaultLines}{#1} ,
+ depth.code = \setcounter{DefaultDepth}{#1} ,
+ lhang.store = \DefaultLhang ,
+ loversize.store = \DefaultLoversize ,
+ lraise.store = \DefaultLraise ,
+ findent.code = \setlength{\DefaultFindent}{#1} ,
+ nindent.code = \setlength{\DefaultNindent}{#1} ,
+ slope.code = \setlength{\DefaultSlope}{#1} ,
+ novskip.code = \setlength{\DiscardVskip}{#1} ,
+ image.if = LettrineImage ,
+ grid.if = LettrineOnGrid ,
+ realheight.if = LettrineRealHeight ,
+ refstring.default:n = \l at initial ,
+ refstring.store = \LettrineTestString ,
+ optionsfile.store = \DefaultOptionsFile
+ }
+\ProcessKeyOptions[LettrineGlobal]
+\DeclareKeys[LettrineLocal]
+ {
+ lines.code = \setcounter{L at lines}{#1} ,
+ depth.code = \setcounter{L at depth}{#1} ,
+ lhang.code = \renewcommand*{\L at hang}{#1} ,
+ loversize.code = \renewcommand*{\L at oversize}{#1} ,
+ lraise.code = \renewcommand*{\L at raise}{#1} ,
+ ante.code = \renewcommand*{\L at ante}{#1} ,
+ findent.code = \setlength{\L at Findent}{#1} ,
+ nindent.code = \setlength{\L at Nindent}{#1} ,
+ slope.code = \setlength{\L at slope}{#1} ,
+ novskip.code = \setlength{\L at novskip}{#1} ,
+ image.if = L at image ,
+ grid.if = L at grid ,
+ realheight.if = L at realh ,
+ refstring.default:n = \l at initial ,
+ refstring.store = \l at refstring
+ }
+\newcommand*{\LettrineTextFont}{\scshape}
+\newcommand*{\LettrineSecondString}{x}
+\newcommand*{\LettrineFontHook}{}
+\def\computeL at height{%
+ \setlength{\L at target@ht}{\ht\L at tbox}%
+ \@tempdima=\baselineskip
+ \setlength{\L at target@dp}{\value{L at lines}\@tempdima}%
+ \ifnum\value{L at lines}>1
+ \addtolength{\L at target@dp}{-\@tempdima}%
+ \else
+ \addtolength{\L at target@ht}{\L at target@dp}%
+ \setlength{\L at target@dp}{0pt}%
+ \fi
+ \setlength{\L at target@tht}{\L at target@ht}%
+ \addtolength{\L at target@tht}{\L at target@dp}%
+ \setlength{\L at height}{\L at target@tht}%
+ \addtolength{\L at height}{\L at oversize\L at target@tht}%
+}
+\def\compute at fontsize{%
+ \ifx\l at refstring\@empty
+ \def\Lettrine at RefString{\LettrineTestString}%
+ \else
+ \def\Lettrine at RefString{\l at refstring}%
+ \fi
+ \sbox{\@tempboxa}{\LettrineFontHook
+ \fontsize{\L at height}{\L at height}\selectfont
+ \Lettrine at RefString}%
+ \@tempcnta=\ht\@tempboxa
+ \ifnum\@tempcnta=0
+ \PackageWarning{lettrine}{Unable to compute \protect\fontsize!%
+ \MessageBreak \protect\LettrineTestString\space empty? reported}
+ \def\L at factor{1}%
+ \else
+ \@tempcntb=\L at height
+ \def\L at factor{\fpeval{\the\@tempcntb/\the\@tempcnta}}%
+ \fi
+}
+\newcommand*{\LettrineFont}{%
+ \LettrineFontHook
+ \fontsize{\L at factor\L at height}{\L at factor\L at height}%
+ \selectfont
+}
+\newcommand*{\LettrineImage}{%
+ \LettrineFontHook\includegraphics[height=\L at height]%
+}
+\def\setupL at lbox{%
+ \computeL at height
+ \ifL at image
+ \sbox{\L at lbox}{\LettrineImage{\l at initial}}%
+ \else
+ \compute at fontsize
+ \sbox{\L at lbox}{\LettrineFont \l at initial}%
+ \fi
+}
+\newcommand*{\LettrineOptionsFor}[2]{%
+ \edef\l at tmpa{#1}%
+ \begingroup
+ \def\color##1##{\l at color{##1}}%
+ \let\l at color\@gobbletwo
+ \def\textcolor##1##{\l at textcolor{##1}}%
+ \def\l at textcolor##1##2##3{##3}%
+ \xdef\l at tmpb{\l at initial}%
+ \endgroup
+ \ifx\l at tmpa\l at tmpb \SetKeys[LettrineLocal]{#2}\fi
+ }
+\def\lettrine{\@ifnextchar[\@lettrine{\@lettrine[]}}
+\def\@lettrine[#1]#2#3{%
+ \def\l at initial{#2}\let\l at refstring\@empty
+ \setcounter{L at lines}{\value{DefaultLines}}%
+ \setcounter{L at depth}{\value{DefaultDepth}}%
+ \renewcommand*{\L at hang}{\DefaultLhang}%
+ \renewcommand*{\L at oversize}{\DefaultLoversize}%
+ \renewcommand*{\L at raise}{\DefaultLraise}%
+ \renewcommand*{\L at ante}{}%
+ \setlength{\L at Findent}{\DefaultFindent}%
+ \setlength{\L at Nindent}{\DefaultNindent}%
+ \setlength{\L at slope}{\DefaultSlope}%
+ \setlength{\L at novskip}{\DiscardVskip}%
+ \ifLettrineImage\L at imagetrue\else\L at imagefalse\fi
+ \ifLettrineOnGrid\L at gridtrue\else\L at gridfalse\fi
+ \ifLettrineRealHeight\L at realhtrue\else\L at realhfalse\fi
+ \SetKeys[LettrineLocal]{#1}%
+ \sbox{\L at tbox}{\LettrineTextFont{\LettrineSecondString}}%
+ \ifL at realh
+ \def\@tempa{#3}%
+ \ifx\@tempa\@empty
+ \PackageWarning{lettrine.sty}%
+ {Empty second argument,\MessageBreak
+ ignoring option `realheight';}%
+ \else
+ \sbox{\L at tbox}{{\LettrineTextFont{#3}}}%
+ \fi
+ \fi
+ \if\DefaultOptionsFile\relax
+ \else
+ \setupL at lbox
+ \setlength{\LettrineWidth}{\wd\L at lbox}%
+ \InputIfFileExists{\DefaultOptionsFile}%
+ {}%
+ {\PackageWarning{lettrine.sty}%
+ {File \DefaultOptionsFile\space not found}%
+ }%
+ \SetKeys[LettrineLocal]{#1}%
+ \fi
+ \setupL at lbox
+ \setlength{\LettrineWidth}{\wd\L at lbox}%
+ \setlength{\LettrineHeight}{\ht\L at lbox}%
+ \setlength{\LettrineDepth}{\dp\L at lbox}%
+ \begingroup
+ \def\IeC##1{##1}%
+ \@tempdima=\L at oversize pt\relax
+ \PackageInfo{lettrine.sty}%
+ {Targeted height = \the\L at target@tht\MessageBreak
+ (for loversize=0, accent excluded),\MessageBreak
+ Lettrine height = \the\LettrineHeight\space (#2)%
+ \ifdim\@tempdima=\z@\else\space loversize=\L at oversize\fi;%
+ \MessageBreak reported}%
+ \endgroup
+ \sbox{\L at tbox}{{\LettrineTextFont{#3}}}%
+ \setlength{\L at first}{\LettrineHeight}%
+ \setlength{\L at lraise}{\L at raise\L at target@tht}%
+ \addtolength{\L at first}{\L at lraise}%
+ \ifnum\value{L at lines}=1
+ \addtolength{\L at first}{-\ht\L at tbox}%
+ \else
+ \addtolength{\L at first}{-\L at target@tht}%
+ \addtolength{\L at lraise}{-\L at target@dp}%
+ \fi
+ \par
+ \ifdim\L at first>\L at novskip
+ \ifL at grid
+ \@tempdima=\baselineskip
+ \@tempdimb=\@tempdima
+ \advance\@tempdimb by \L at novskip
+ \@tempcnta=1
+ \loop\ifdim\L at first>\@tempdimb
+ \advance\@tempcnta by 1
+ \advance\L at first by -\@tempdima
+ \repeat
+ \L at first=\@tempcnta\baselineskip
+ \fi
+ \vskip\L at first
+ \fi
+ \setlength{\L at Pindent}{\wd\L at lbox}%
+ \addtolength{\L at Pindent}{-\L at hang\wd\L at lbox}%
+ \settowidth{\L at first}{\L at ante}%
+ \addtolength{\L at Pindent}{\L at first}%
+ \addtolength{\L at Pindent}{\L at Findent}%
+ \setlength{\L at first}{\linewidth}%
+ \addtolength{\L at first}{-\L at Pindent}%
+ \addtolength{\L at Nindent}{\L at Pindent}%
+ \setlength{\L at next}{\linewidth}%
+ \addtolength{\L at next}{-\L at Nindent}%
+ \addtolength{\L at Pindent}{\@totalleftmargin}%
+ \addtolength{\L at Nindent}{\@totalleftmargin}%
+ \addtocounter{L at lines}{1}%
+ \addtocounter{L at lines}{\value{L at depth}}%
+ \def\L at parshape{\c at L@lines \the\L at Pindent \the\L at first}%
+ \@tempcnta=\tw@
+ \@whilenum \@tempcnta<\c at L@lines\do{%
+ \edef\L at parshape{\L at parshape \the\L at Nindent \the\L at next}%
+ \addtolength{\L at Nindent}{\L at slope}%
+ \addtolength{\L at next}{-\L at slope}%
+ \advance\@tempcnta\@ne}%
+ \edef\L at parshape{\L at parshape \@totalleftmargin \the\linewidth}%
+ \noindent
+ \parshape=\L at parshape\relax
+ \smash{\llap{\mbox{\L at ante}\raisebox{\L at lraise}{\usebox{\L at lbox}}%
+ \hskip \the\L at Findent}}%
+ \unhcopy\L at tbox\relax
+ \ifnum\@listdepth>0 \Lreset at listparshape \fi
+}
+\newtoks\Llist at everypar
+\def\Lreset at listparshape{%
+ \let\Lnew at everypar\everypar
+ \Llist at everypar=\expandafter{\the\everypar}%
+ \Lnew at everypar={\the\Llist at everypar
+ \parshape=\@ne \@totalleftmargin \linewidth \relax
+ \let\everypar\Llist at everypar
+ }%
+}
+%%
+%%
+%% End of file `lettrine.sty'.
Property changes on: trunk/Master/texmf-dist/tex/latex/lettrine/lettrine-2023-04-18.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/lettrine/lettrine.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lettrine/lettrine.cfg 2023-07-03 20:12:16 UTC (rev 67536)
+++ trunk/Master/texmf-dist/tex/latex/lettrine/lettrine.cfg 2023-07-03 20:12:32 UTC (rev 67537)
@@ -19,7 +19,7 @@
%%\setlength{\DefaultFindent}{0pt}
%%\setlength{\DefaultNindent}{0.5em}
%%\setlength{\DefaultSlope}{0mm}
-%%\setlength{\DiscardVskip}{0.2pt}
+%%\setlength{\DiscardVskip}{1pt}
%%
%% Theses are *flags* (value=true/false):
%%\LettrineImagefalse
Modified: trunk/Master/texmf-dist/tex/latex/lettrine/lettrine.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lettrine/lettrine.sty 2023-07-03 20:12:16 UTC (rev 67536)
+++ trunk/Master/texmf-dist/tex/latex/lettrine/lettrine.sty 2023-07-03 20:12:32 UTC (rev 67537)
@@ -11,12 +11,13 @@
%%
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesFile{lettrine.sty}
- [2023-04-18 v2.40 (Daniel Flipo)]
+ [2023-07-02 v2.50 (Daniel Flipo)]
\DeclareRelease{v1.6}{1999-03-03}{lettrine-2006-03-17.sty}
\DeclareRelease{v1.9}{2012-07-20}{lettrine-2015-08-31.sty}
\DeclareRelease{v2.0}{2018-07-21}{lettrine-2018-08-18.sty}
\DeclareRelease{v2.3}{2022-09-25}{lettrine-2022-09-25.sty}
-\DeclareCurrentRelease{}{2023-04-18}
+\DeclareRelease{v2.4}{2023-04-18}{lettrine-2023-04-18.sty}
+\DeclareCurrentRelease{}{2023-07-02}
\RequirePackage{xfp}
\newcounter{DefaultLines}
\setcounter{DefaultLines}{2}
@@ -32,10 +33,11 @@
\newdimen\DefaultSlope
\setlength{\DefaultSlope}{\z@}
\newdimen\DiscardVskip
-\setlength{\DiscardVskip}{0.2\p@}
+\setlength{\DiscardVskip}{1\p@}
\newif\ifLettrineImage
\newif\ifLettrineOnGrid
\newif\ifLettrineRealHeight
+\newsavebox{\L at lettrine}
\newsavebox{\L at lbox}
\newsavebox{\L at tbox}
\newcounter{L at lines}
@@ -49,6 +51,7 @@
\newdimen\L at slope
\newdimen\L at height
\newdimen\L at novskip
+\newdimen\L at ruleht
\newdimen\L at target@ht
\newdimen\L at target@dp
\newdimen\L at target@tht
@@ -212,6 +215,30 @@
\setlength{\LettrineWidth}{\wd\L at lbox}%
\setlength{\LettrineHeight}{\ht\L at lbox}%
\setlength{\LettrineDepth}{\dp\L at lbox}%
+ \sbox{\L at tbox}{{\LettrineTextFont{#3}}}%
+ \par
+ \setlength{\L at ruleht}{\LettrineHeight}%
+ \setlength{\L at lraise}{\L at raise\L at target@tht}%
+ \addtolength{\L at ruleht}{\L at lraise}%
+ \ifnum\value{L at lines}>\@ne
+ \@tempcnta=\value{L at lines}%
+ \advance\@tempcnta \m at ne
+ \addtolength{\L at ruleht}{-\@tempcnta\baselineskip}%
+ \addtolength{\L at lraise}{-\L at target@dp}%
+ \fi
+ \@tempdima=\L at ruleht
+ \advance\@tempdima \L at novskip
+ \@tempdimb=\baselineskip
+ \ifdim\@tempdima>\@tempdimb
+ \ifL at grid
+ \@tempcnta=\z@
+ \loop\ifdim\@tempdima>\@tempdimb
+ \advance\@tempcnta \@ne
+ \advance\@tempdima -\@tempdimb
+ \repeat
+ \vskip\@tempcnta\baselineskip
+ \fi
+ \fi
\begingroup
\def\IeC##1{##1}%
\@tempdima=\L at oversize pt\relax
@@ -219,34 +246,9 @@
{Targeted height = \the\L at target@tht\MessageBreak
(for loversize=0, accent excluded),\MessageBreak
Lettrine height = \the\LettrineHeight\space (#2)%
- \ifdim\@tempdima=\z@\else\space loversize=\L at oversize\fi;%
+ \ifdim\@tempdima>\z@\space loversize=\L at oversize\fi;%
\MessageBreak reported}%
\endgroup
- \sbox{\L at tbox}{{\LettrineTextFont{#3}}}%
- \setlength{\L at first}{\LettrineHeight}%
- \setlength{\L at lraise}{\L at raise\L at target@tht}%
- \addtolength{\L at first}{\L at lraise}%
- \ifnum\value{L at lines}=1
- \addtolength{\L at first}{-\ht\L at tbox}%
- \else
- \addtolength{\L at first}{-\L at target@tht}%
- \addtolength{\L at lraise}{-\L at target@dp}%
- \fi
- \par
- \ifdim\L at first>\L at novskip
- \ifL at grid
- \@tempdima=\baselineskip
- \@tempdimb=\@tempdima
- \advance\@tempdimb by \L at novskip
- \@tempcnta=1
- \loop\ifdim\L at first>\@tempdimb
- \advance\@tempcnta by 1
- \advance\L at first by -\@tempdima
- \repeat
- \L at first=\@tempcnta\baselineskip
- \fi
- \vskip\L at first
- \fi
\setlength{\L at Pindent}{\wd\L at lbox}%
\addtolength{\L at Pindent}{-\L at hang\wd\L at lbox}%
\settowidth{\L at first}{\L at ante}%
@@ -271,8 +273,9 @@
\edef\L at parshape{\L at parshape \@totalleftmargin \the\linewidth}%
\noindent
\parshape=\L at parshape\relax
- \smash{\llap{\mbox{\L at ante}\raisebox{\L at lraise}{\usebox{\L at lbox}}%
- \hskip \the\L at Findent}}%
+ \llap{\mbox{\L at ante}\smash{\raisebox{\L at lraise}{\usebox{\L at lbox}}}%
+ \ifL at grid\else\rule{0pt}{\L at ruleht}\fi
+ \hskip \the\L at Findent}%
\unhcopy\L at tbox\relax
\ifnum\@listdepth>0 \Lreset at listparshape \fi
}
More information about the tex-live-commits
mailing list.