9

When using the acronym package I would like to capitalize the first letter in the acronym description (e.g., Direct current). But when used in text I would like to have the word in lower letters.

\documentclass{article}
\usepackage{acronym}

\begin{document}
\begin{acronym}
\acro{DC}{direct current}
\end{acronym}

Batteries run on \ac{DC}.
\end{document}

Output:

DC direct current

Batteries run on direct current (DC).

  • Welcome! Is the package glossaries an option for you? – Marco Daniel May 31 '12 at 9:09
  • Hmm, I like \ac{DC} :) – clemens Sep 10 '12 at 16:32
6

You can patch the \AC@@acro macro that's responsible for printing the list of acronyms:

\documentclass{article}
\usepackage{acronym}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\AC@@acro}{] #3}{] \MakeUppercase #3}{}{}
\patchcmd{\AC@@acro}{] #3}{] \MakeUppercase #3}{}{}
\makeatother

%%% Alternative way (commented out because you may not have the package)
% \usepackage{regexpatch}
% \makeatletter
% \xpatchcmd*{\AC@@acro}{] #3}{] \MakeUppercase #3}{}{}
% \makeatother

\begin{document}
\begin{acronym}
\acro{DC}{direct current}
\end{acronym}

Batteries run on \ac{DC}.
\end{document}
  • How to capitalize the first letter of each word when printing the list of acronyms using glossaries package? But need to have lower case when used in text. – Sndn Mar 24 at 9:21
  • @Sndn That's a whole new question. – egreg Mar 24 at 9:52
4

A suggestion can be to define a new Command:

\documentclass{article}
\usepackage{acronym}

\begin{document}
\newcommand*\FirstLetter[2]{#1}
\begin{acronym}
\acro{DC}{\protect\FirstLetter{D}{d}irect current}
\end{acronym}
\renewcommand*\FirstLetter[2]{#2}

Batteries run on \ac{DC}.
\end{document}

Result:

DC Direct current

Batteries run on direct current (DC).

Do work without \protect inside \acronym you can make the definition with expl3:

\ExplSyntaxOn
\cs_new_protected:Npn \FirstLetter #1#2 { #1 }
\ExplSyntaxOff

\ExplSyntaxOn
\cs_set_protected:Npn \FirstLetter #1#2 { #2 }
\ExplSyntaxOff

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.