Automating Lettrine

I know this topic has been touched on here and other places on the web, but it doesn't seem anyone has come up with a good solution. What I would like is to apply lettrine to a paragraph so it always just uses the same pattern. e.g. Select the first word of the paragraph, Drop cap the first letter and small cap the rest of the word, or if the first word is only one letter small cap the full second word.

\newcommand{\dropcap}[3]{\lettrine{#1}{#2}#3}


so, is there someway that latex can parse the paragraph so that if the first word has more than 1 letter the first letter will be #1 and the rest of the word will be #2 and the rest of the paragraph will be #3... and if the first word is 1 letter it makes the full second word #2 and then the following words in the paragraph #3

• The first word might be hidden in a macro, so there has to be expansion first in this case – user31729 Jan 24 '15 at 15:48
• I think it’s a mistake to automate lettrines. Suppose the paragraph opens with “In the future.” Your desired macro will put “n the” in small caps, thus breaking up a phrase. Typography should help the reader, and breaking up units does the opposite. And lettrines often need optical adjustment. – Thérèse Jan 24 '15 at 18:35
• @Thérèse Actually it would only put "n" as a small cap. I'm electing to just style the first word unless that word is a single letter then I'll go to the second word... of course you may have a point "O for a Muse of fire, that would ascend..." it might e strange to have the O and for in caps... I'll give that some thought. – theobear Jan 24 '15 at 22:34

You surely don't want to apply \lettrine to each and every paragraph. Do you?

\documentclass{article}
\usepackage{lettrine}

\def\drop #1#2 {% note the space before {
\lettrine{#1}{#2} % a trailing space
}

\begin{document}

\drop It was a dark and stormy night; the rain fell in torrents---except at occasional
intervals, when it was checked by a violent gust of wind which swept up the streets (for it
is in London that our scene lies), rattling along the housetops, and fiercely agitating the
scanty flame of the lamps that struggled against the darkness.

\drop I was born in the Year 1632, in the City of York, of a good Family, tho' not of that
Country, my Father being a Foreigner of Bremen, who settled first at Hull; He got a good
Estate by Merchandise, and leaving off his Trade, lived afterward at York, from whence he
had married my Mother, whose Relations were named Robinson, a very good Family in that
Country, and from whom I was called Robinson Kreutznaer; but by the usual Corruption of
Words in England, we are now called, nay we call our selves, and write our Name Crusoe, and
so my Companions always call'd me.

\drop Whether I shall turn out to be the hero of my own life, or whether that station will
be held by anybody else, these pages must show.

\end{document}


• \drop No, he said'' while the first quote was immensely alone… Just curiosity, how are drop caps usually set when quotes are around? Something like \drop {N}o, he said or \drop {\llap{}N}o, ...? Just curiosity :) – Manuel Jan 24 '15 at 16:17
• @Manuel Of course that's a problem. But I just answered what the OP asked for. – egreg Jan 24 '15 at 16:28
• I know you know. I was just asking about typography, I haven't really seen drop caps extensively, and I was wondering what happened to quotes. – Manuel Jan 24 '15 at 16:29
• @egreg, no not every paragraph, but there will be a lot of them and I can combine this with another macro so that it will save styling each paragraph that does need them. Is there an easy way to make your middle paragraph " I WAS born..." with "was" in small cap (see the second half of my question) – theobear Jan 24 '15 at 22:28
• @theobear You want too much; you can say \drop I{ was} born. But probably the approach is wrong to begin with. – egreg Jan 24 '15 at 22:31