Using acronyms at start of sentence

I want it to capitalize the first letter of an expanded acronym used at the start of a sentence, like:

Application programming interfaces (APIs) are ...


I tried to define a new command \Acp for that purpose:

\usepackage[smaller,nohyperlinks]{acronym}
\acro{API}{application programming interface}
\newcommand{\Acp}[1]{\MakeUppercase\expandafter\acp{#1}}


However when I use it, it doesn't work as desired:

\Acp{API} are ...


produces

application programming interfaces (APIs) are ...


Unfortunately I can not use the glossaries package which accomplishes exactly that due to interpackate-incompatibilities.

I had a similar desire in the list of acronyms where I also wanted to capitalize all first letters. There I redefined a different command as suggested in Capitalize the first letter in acronym list:

\makeatletter
\patchcmd{\AC@@acro}{] #3}{] \MakeUppercase #3}{}{}
\patchcmd{\AC@@acro}{] #3}{] \MakeUppercase #3}{}{}
\makeatother


That works.

-
What packages are you having a problem with in combination with glossaries? (I think glossaries is probably the best solution to this problem, so I am hoping that one can identify and fix the incompatibilities.) – mforbes Aug 22 '12 at 16:22
A duplicate to this question got more attention, and has an answer that might help, which I extended: tex.stackexchange.com/a/150798/28808 – Chris H Jan 10 '14 at 9:32

If you don't mind switching to a relatively new package you could use acro. It naturally provides the command you want:

\documentclass{article}
\usepackage{acro}
\usepackage{relsize}

\acsetup{short-format=\textsmaller}

\DeclareAcronym{API}{
short = API ,
long  = application programming interface
}

\begin{document}

\Acp{API}

\printacronyms

\end{document}


Disclaimer: I am the author

-