On Sat, 19 Mar 2011, Cecil Westerhof wrote:
2011/3/19 Aditya Mahajan
On Sat, 19 Mar 2011, Cecil Westerhof wrote:
At the moment I have I my document:
{\switchtobodyfont[1.25em]\bf M}ust
{\switchtobodyfont[1.25em]\bf S}hould
{\switchtobodyfont[1.25em]\bf C}ould
{\switchtobodyfont[1.25em]\bf N}ot now
But I like to have a macro for this, so I could just do: \Acronym{Must Should Could Not~now}
Is more readable and when I want a change (for example another color for the first letter), this is much easier to implement. How should I implement such a macro?
Use recursion!
\definestartstop [FancyFirstLetter] [style={\switchtobodyfont[big]\bf}, color=red]
\def\FancyUppercase#1% {\dostartFancyUppercase#1\dostopFancyUppercase}
\def\dostartFancyUppercase#1#2\dostopFancyUppercase {\FancyFirstLetter{#1}#2}
\def\Acronym#1% {\dostartAcronym#1 \dostopAcronym}
\def\dostartAcronym#1 #2\dostopAcronym {\doifsomething{#1} {\FancyUppercase{#1} %space \dostartAcronym#2 \dostopAcronym}}
Almost. dostartAcronym needs a blanco line to put the words under each-other:
Better to use an explicit \blank (A blank space is equal to \par, and can give funny results when you change indenting)
\def\dostartAcronym#1 #2\dostopAcronym {\doifsomething{#1} {\FancyUppercase{#1} %space . \blank% addied this \dostartAcronym#2 \dostopAcronym}}
Aditya