# Acronym, swap description and acronym

I'm using the acronym package. Normally, if I enter an acronym like this:

 This is a system with \ac{LTI} propertiesSystem. It can be ...


The pdf shows something like this:

This is a system with linear, time invariant (LTI) properties. It can be ...

But I would like to have something like this:

This is a system with LTI (linear, time invariant) properties. It can be ...

How can I set up the acronym package to put the brackets around the description and not around the acronym?

edit:

I tried now using this self defined command:

\newcommand{\A}[1]{\acs{#1} (\aclu{#1})}


It shows the acronym first and the long version in brackets. But if I use the same acronym later, the full description ist shown again and again. I would prefer, that it is shown just the first time...

• Welcome to TeX - LaTeX! Do you want this only for the one acronym or for all acronyms? Jan 18, 2016 at 13:23
• See the accepted answer to this question: Print acronym + full name in brackets at the first occurence of \ac{XYZ} Jan 18, 2016 at 14:21
• I want to do this for all acronyms. I used the solution from Alenanno's link. It works perfectly for me. What to do now? May I reply on my own post to answer my question and mark it as solved?? Jan 18, 2016 at 14:25
• @eDeviser No, it's a duplicate. :P Nothing really bad, don't worry. Glad it helped! Jan 18, 2016 at 14:35
• This is not an exact duplicate: the other question wants the change only for some acronyms. Here it would be better to change the definitions of \acfa and \acfpa. Jan 18, 2016 at 15:00

In order to generally swap acronym and description one can redefine \@acf and \acfa for singular forms and \@acfp and \acfpa for plural forms. Their definitions are

\newcommand*{\acfa}[1]{%
\texorpdfstring{\protect\@acf{#1}}{\AC@acl{#1} (#1)}}
\newcommand*{\@acf}[1]{%
\ifAC@footnote
\acsfont{\AC@acs{#1}}%
\footnote{\AC@placelabel{#1}\AC@acl{#1}{}}%
\else
\acffont{%
\AC@placelabel{#1}\AC@acl{#1}%
\nolinebreak[3] %
\acfsfont{(\acsfont{\AC@acs{#1}})}%
}%
\fi
\ifAC@starred\else\AC@logged{#1}\fi}


and

\newcommand*{\acfpa}[1]{%
\texorpdfstring{\protect\@acfp{#1}}{\AC@aclp{#1} (\AC@acsp{#1})}}
\newcommand*{\@acfp}[1]{%
\ifAC@footnote
\acsfont{\AC@acsp{#1}}%
\footnote{\AC@placelabel{#1}\AC@aclp{#1}{}}%
\else
\acffont{%
\AC@placelabel{#1}\AC@aclp{#1}%
\nolinebreak[3] %
\acfsfont{(\acsfont{\AC@acsp{#1}})}%
}%
\fi
\ifAC@starred\else\AC@logged{#1}\fi}


The change is rather trivial – exchange short (\AC@acs{#1}) and long (\AC@acl{#1}) forms and surround the long form with parentheses rather than the short form:

\documentclass{article}
\usepackage{acronym}

\newacro{CD}{Compact Disc}

\makeatletter
% singular:
\renewcommand*{\acfa}[1]{%
\texorpdfstring{\protect\@acf{#1}}{#1 (\AC@acl{#1})}%
}
\renewcommand*{\@acf}[1]{%
\ifAC@footnote
\acsfont{\AC@acs{#1}}%
\footnote{\AC@placelabel{#1}\AC@acl{#1}{}}%
\else
\acffont{%
\AC@placelabel{#1}%
\acfsfont{\acsfont{\AC@acs{#1}}}%
\nolinebreak[3] %
(\AC@acl{#1})%
}%
\fi
\ifAC@starred\else\AC@logged{#1}\fi
}

% plural:
\renewcommand*{\acfpa}[1]{%
\texorpdfstring{\protect\@acfp{#1}}{\AC@acsp{#1} (\AC@aclp{#1})}
}
\renewcommand*{\@acfp}[1]{%
\ifAC@footnote
\acsfont{\AC@acsp{#1}}%
\footnote{\AC@placelabel{#1}\AC@aclp{#1}{}}%
\else
\acffont{%
\AC@placelabel{#1}%
\acfsfont{\acsfont{\AC@acsp{#1}}}%
\nolinebreak[3] %
(\AC@aclp{#1})%
}%
\fi
\ifAC@starred\else\AC@logged{#1}\fi
}
\makeatother

\begin{document}

\ac{CSS}

\acp{CD}

\end{document}


Update for acronym package v1.47 (2020/04/17)

\makeatletter
%% singular:
\renewcommand*{\acfa}[2][\AC@linebreakpenalty]{%
\texorpdfstring{\protect\@acf[#1]{#2}}{#2 (\AC@acl{#2})}}
\renewcommand*{\@acf}[2][\AC@linebreakpenalty]{%
\ifAC@footnote
\acsfont{\AC@acs{#2}}%
\footnote{\AC@placelabel{#2}\AC@acl{#2}{}}%
\else
\acffont{%
\AC@placelabel{#2}%
\acfsfont{\acsfont{\AC@acs{#2}}}%
\nolinebreak[#1] %
(\AC@acl{#2})%
}%
\fi
\ifAC@starred\else\AC@logged{#2}\fi}
\makeatother


also as own command \acr for using both (normal \ac and the reverse one):

\makeatletter
\newcommand*{\acr}{\AC@starredfalse\protect\@acr}%
\newcommand{\@acr}[2][\AC@linebreakpenalty]{%
\ifAC@dua
\ifAC@starred\acl*{#2}\else\acl{#2}\fi%
\else
\expandafter\ifx\csname AC@\AC@prefix#2\endcsname\AC@used%
\ifAC@starred\acs*{#2}\else\acs{#2}\fi%
\else
\acs{#2} (\aclu{#2})%
\fi
\fi}
\makeatother