Estou usando o glossaries
pacote para manter uma lista de siglas. Em holandês, ao compor uma palavra com uma sigla, você deve usar um hífen para unir as duas palavras. Por exemplo, uma tabela ARP torna-se tabela ARP em holandês. Se eu defini a sigla 'ARP', como posso colocar o '-tabel' depois dela sem que um espaço seja introduzido pelo LaTeX?
Isso é o que tenho atualmente:
\gls{arp} -tabel
Mas produz:
ARP -tabel
O que eu quero:
ARP-tabel
Responder1
Não é uma pergunta estúpida. \gls
tem a sintaxe\gls[
opções]{
rótulo}[
inserir]
. Em geral, comandos cujo argumento final é opcional podem ter um comportamento estranho quando o comando é seguido por um espaço. Por exemplo:
\documentclass{article}
\begin{document}
\newcommand*{\itest}[1][Foo]{#1}
\newcommand*{\otest}[1]{#1\itest}
\otest{X} 1. \otest{Y}[Bar] 2.
\end{document}
Produz:
No primeiro caso o espaço foi descartado, mas no segundo caso não. Como esse geralmente não é um efeito desejado para \gls
, glossaries
usa amsgen
o teste para um argumento opcional que não descarta os espaços seguintes. Então \gls{arp} -tabel
não ignora o espaço. Conforme mencionado nos comentários, a solução é remover o espaço \gls{arp}-tabel
ou colocar o sufixo no argumento opcional \gls{arp}[-tabel]
. A única coisa que você precisa observar é se deseja [
imediatamente depois \gls{arp}
; nesse caso, você terá que fazer algo como \gls{arp}{}[
ou \gls{arp}{[}
.