I have an editorial template to write a book's chapter. The publisher wants the authors to use the description environment to display acronyms. However, due to acronym's package facilities I am trying to use it also. The MWE is below.
\documentclass{article}
\usepackage[nolist,printonlyused]{acronym}
\begin{document
\let\olditem\item
\makeatletter
\ifAC@printonlyused
\renewcommand{\item}[2]{%
\expandafter\ifx\csname acused@#1\endcsname\AC@used
\acrodef{#1}{#2}
\olditem[#1]{#2}
\else
\olditem[]{}\vspace{-\baselineskip}
\fi}
\else
\renewcommand{\item}[2]{%
\acrodef{#1}{#2}
\olditem[#1]{#2}}
\fi
\makeatother
\begin{description}
\item{3GPP}{Third Generation Partnership Project}
\item{D2D}{Device-to-Device}
\item{M2M}{Machine-to-Machine}
\end{description}
\let\item\olditem
%\ac{3GPP}
\ac{D2D}
\ac{M2M}
\end{document}
The problem is when a certain acronym isn't used, because it leaves an empty line. I tried to remove the empty line with \olditem[]{}\vspace{-\baselineskip} but it is ugly. Is there a better way to achieve the same result?

{description}environment? Or may the list of acronyms use it implicitly (maybe hidden in some\printacronymscommand? The latter would make much more sense, IMHO. – cgnieder Mar 4 at 19:35\begin{description} \item[foo] bar \end{description}? – cgnieder Mar 4 at 20:03\begin{description}[BLABLA], where BLABLA is the widest element in the list. Moreover, I think I can use it implicit, however, I would prefer to use it explicitly. – cacamailg Mar 4 at 20:42acronymuses is adescriptionenvironment and its wrapper\begin{acronym}has exactly the same »enhancement«: an optional argument for the widest item so you are trying to reinvent the wheel, kind of... – cgnieder Mar 4 at 20:46