I added ngerman shorthands to my english babel as described here. But they do not work for glossaries, and probably in other macors as discussed here. I load all the acronyms as a separate file in the preamble.
Example:
\documentclass[a4paper,12pt]{report}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[english]{babel}
\makeatletter
\initiate@active@char{"}
\addto\extrasenglish{\languageshorthands{english}\bbl@activate{"}}
\addto\noextrasenglish{\bbl@deactivate{"}}
\declare@shorthand{english}{"~}{\textormath{\leavevmode\hbox{-}}{-}}
\makeatother
\usepackage[acronym,shortcuts]{glossaries}
\makeglossaries
\newacronym{CP-OFDM}{CP"~OFDM}{Cyclic Prefix OFDM}
\begin{document}
CP"~OFDM \\
\acs{CP-OFDM}
\end{document}
How can I solve the problem for acronyms? One solution is to move them inside the main text, after \begin{document}.
\begin{document}. Just say\AtBeginDocument{\input{file}}instead of\input{file}(wherefile.texcontains the acronym definitions). – egreg Feb 19 '13 at 10:11english, you can use "user shorthands" with\useshorthands{"}and\defineshorthand{"~}{...}, which is much simpler. – Javier Bezos Feb 19 '13 at 15:49