Capitalize the first letter in acronym list
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}
Update
With the most recent (2020) release of acronym
things have changed (and may also change in the future). The right patch, current as of December 2020 is
\documentclass{article}
\usepackage{acronym}
\usepackage{etoolbox}
\makeatletter
\expandafter\patchcmd\csname AC@\AC@prefix{}@acro\endcsname{{#3}}{{\MakeUppercase #3}}{}{}
\expandafter\patchcmd\csname AC@\AC@prefix{}@acro\endcsname{{#3}}{{\MakeUppercase #3}}{}{}
\makeatother
\begin{document}
\begin{acronym}
\acro{DC}{direct current}
\end{acronym}
Batteries run on \ac{DC}.
\end{document}
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