Is there a package that automatically tells LaTeX to use small-caps for the first few words (say, three) in a chapter/section/subsection?


3 Answers 3


Not that I'm aware of. You can use the magaz package to make the whole first line small caps, or you could write a command like this:

\def\scwords #1 #2 #3 {\textsc{#1} \textsc{#2} \textsc{#3} }
\scwords Lorem ipsum delorem fugit however this goes

Then if you need more/fewer words just change the number of parameters in \scwords. (It doesn't seem worth the hassle to write an iterating version.)

Making this happen automatically is a little more difficult.


As Fowler wrote, a paragraph is a unit of thought not a length, and the starting of a new paragraph must make a statement in this respect. Just emphasizing one way or another the first line or the first three words might not look good or read good. I prefer the way the tufte-book class handles it with the newthought command (and you can choose how many and what words to capitalize).

   \addvspace{1.0\baselineskip plus 0.5ex minus 0.2ex}%
   \noindent\textsc{#1} % small caps text out

Adding a touch of vertical space makes it even look more professional. The solution by Will is the simplest, if you wish to just pick up the first few two-three words, automatically.

You can using it as follows:

\newthought{Testing the new thought}
  • I use this for my body of text, but when I try to use newthought command within a footnote, I get an error report ("something's wrong, perhaps a missing \item").
    – bozidarka
    Commented Nov 16, 2014 at 17:47

I've just encountered this problem myself, re-typesetting some 19th century articles that start with a few words in small caps. My solution was to use the lettrine package, and treat the small-capped passage just the same way lettrine does, but without the initial drop cap.

\lettrine[lines=1]{}{I wish} to ask your opinion and procure...

produces the semantic effect I was looking for (and it sounds like you are), though you might think it's overkill if you're not also going to be using drop caps.

updated: I earlier removed what I thought was an extra parameter [lines=1], but it turns out to be crucial in this case: without it, the lettrine package leaves an indent in the following line.

You must log in to answer this question.