Glossaries package: small caps in body and normal caps in the acronym list
Change the meaning of \acronymfont
when you want to typeset the list (but I don't think it's a good idea).
\documentclass[a4paper]{report}
\usepackage[style=long, toc, smallcaps]{glossaries}
\makeglossaries
\newacronym{acr}{acr}{Acronym}
\begin{document}
This is an \gls{acr}. An \gls{acr} should be in small caps.
The first column in the following list of acronyms should be in normal caps.
\begingroup
\let\clearpage\relax % this line is just not to have a page break
\renewcommand{\acronymfont}[1]{\MakeUppercase{#1}}
\printglossary[title={List of Acronyms}]
\endgroup
\end{document}
Page 123 of the glossaries' user manual reads:
\glossaryentryfield{<label>}{<formatted name>}{<desc>}{<symbol>}{<number list>}
This macro indicates what to do for a given glossary entry. Note that
<formatted name>
will always be in the form\glsnamefont{<name>}
. This allows the user to set a given font for the entry name, regardless of the glossary style used.
With this in mind, one solution to your problem is to change the definition of \glsnamefont
:
\documentclass[a4paper]{report}
\usepackage[style=long,smallcaps]{glossaries}
\newacronym{acr}{acr}{Acronym}
\renewcommand{\glsnamefont}[1]{\MakeUppercase{#1}}
\immediate\write18{makeglossaries \jobname} % run (pdf)latex twice with --shell-escape
\makeglossaries
\begin{document}
\gls{acr}; \gls{acr}.
\printglossary[title={List of Acronyms}]
\end{document}