[Tex/LaTex] Capitalize first letter of each word when printing list of acronyms

acronymscapitalizationglossaries

I use the glossaries package and when I print the acronyms using \printglossary[type=\acronymtype,title={List of Abbreviations}], part of the output I get is as shown below.

enter image description here

I have specified acronyms in a separate file as follows:

\newacronym{brdf}{BRDF}{bidirectional reflectance distribution function}
\newacronym{cnn}{CNN}{convolutional neural network}
\newacronym{awgn}{AWGN}{additive white Gaussian noise}

Is there a way to capitalize first letter of all words in the list of acronyms ONLY, when printing? (And have them in lower-case in the text)

Edit:

example

\documentclass[a4paper,oneside,12pt]{report}
% Abbreviations
\usepackage[acronym,style=super,nogroupskip,nonumberlist,toc]{glossaries}

\loadglsentries{def_abr} % file with acronyms
\makeglossaries

\begin{document} 
% abstract, toc, list of figures here
\renewcommand{\glsnamefont}[1]{\textbf{#1}}
\printglossary[type=\acronymtype,title={List of Abbreviations}]


\chapter*{Example Usage}
 \gls{brdf}, \gls{awgn}, \gls{psnr}, \gls{cnn}
% chapters
\end{document}

def_abr.tex file:

\newacronym{brdf}{BRDF}{bidirectional reflectance distribution function}
\newacronym{cnn}{CNN}{convolutional neural network}
\newacronym{psnr}{PSNR}{peak-signal-to-noise ratio}
\newacronym{snr}{SNR}{signal to noise ratio}
\newacronym{awgn}{AWGN}{additive white Gaussian noise}

Best Answer

Here's an alternative approach that uses glossaries-extra (an extension to the glossaries package):

\documentclass[a4paper,oneside,12pt]{report}
% Abbreviations
\usepackage[acronym,style=super,nogroupskip,nonumberlist]{glossaries-extra}

\makeglossaries
\setabbreviationstyle[acronym]{long-short}
\loadglsentries{def_abr} % file with acronyms

\glssetcategoryattribute{acronym}{glossdesc}{title}

\begin{document} 
% abstract, toc, list of figures here
\renewcommand{\glsnamefont}[1]{\textbf{#1}}
\printglossary[type=\acronymtype,title={List of Abbreviations}]


\chapter*{Example Usage}
 \gls{brdf}, \gls{awgn}, \gls{psnr}, \gls{cnn}
% chapters
\end{document}

(I've omitted the toc option as it's the default for glossaries-extra).

This produces on page 1:

List of Abbreviations AWGN Additive White Gaussian Noise BRDF Bidirectional Reflectance Distribution Function CNN Convolutional Neural Network PSNR Peak-Signal-To-Noise Ratio

and page 2:

Example Usage bidirectional reflectance distribution function (BRDF), additive white Gaussian noise (AWGN), peak-signal-to-noise ratio (PSNR), convolutional neural network (CNN)

The glossaries package automatically loads mfirstuc (which was originally developed as part of the glossaries package). The title attribute uses \capitalisewords to convert the case. You can control whether or not to capitalise the hyphenated parts of words using \MFUhyphentrue and \MFUhyphenfalse. The default is the false setting, which is why the above has "Peak-signal-to-noise".

The following switches it on:

\documentclass[a4paper,oneside,12pt]{report}
% Abbreviations
\usepackage[acronym,style=super,nogroupskip,nonumberlist]{glossaries-extra}

\makeglossaries
\setabbreviationstyle[acronym]{long-short}
\loadglsentries{def_abr} % file with acronyms

\glssetcategoryattribute{acronym}{glossdesc}{title}
\MFUhyphentrue

\begin{document} 
% abstract, toc, list of figures here
\renewcommand{\glsnamefont}[1]{\textbf{#1}}
\printglossary[type=\acronymtype,title={List of Abbreviations}]


\chapter*{Example Usage}
 \gls{brdf}, \gls{awgn}, \gls{psnr}, \gls{cnn}
% chapters
\end{document}

This produces:

image of list of abbreviations

To prevent words like "to" from being changed use the mfirstuc-english package or set up exceptions with \MFUnocap (for example, \MFUnocap{to}).