I'm trying to use lettrine and everything was going well until a short paragraph appeared. The text started overlapping with the first char.
Minimum working example:
\documentclass{book}
\usepackage{lettrine}
\begin{document}
\lettrine[lines=3]{T}{his} are a few words.
Now some more words overlapping the ``T''. This paragraph must be long enough so the problem appears.
Now some more words overlapping the ``T''. This paragraph must be long enough so the problem appears.
Now some more words overlapping the ``T''. This paragraph must be long enough so the problem appears.
\end{document}
So I found this solution, but it doesn't work.
Minimum (not) working example with above solution:
\documentclass{book}
\newcount\zzc
\makeatletter
\def\zz{%
\ifnum\prevgraf<\c@L@lines
\zzc\z@
\loop
\ifnum\zzc<\prevgraf
\advance\zzc\@ne
\afterassignment\zzda\count@\L@parshape\relax
\repeat
\parshape\L@parshape
\fi}
\def\zzda{\afterassignment\zzdb\dimen@}
\def\zzdb{\afterassignment\zzdef\dimen@}
\def\zzdef#1\relax{\edef\L@parshape{\the\numexpr\count@-1\relax\space #1}}
\makeatother
\usepackage{lettrine}
\begin{document}
\lettrine[lines=2]{T}{his} are a few words.
\zz
Now some more words overlapping the ``T''. This paragraph must be long enough so the problem appears.
\zz
Now some more words overlapping the ``T''. This paragraph must be long enough so the problem appears.
\zz
Now some more words overlapping the ``T''. This paragraph must be long enough so the problem appears.
\end{document}
! Missing number, treated as zero.\relax\zz
Does anyone can help me with this problem?

