Убрать пробел после аббревиатуры

Убрать пробел после аббревиатуры

Я использую glossariesпакет для хранения списка сокращений. В голландском языке, когда вы составляете слово с сокращением, вы должны использовать дефис, чтобы соединить два слова вместе. Например, таблица ARP становится ARP-tabel в голландском языке. Если я определил сокращение 'ARP', как я могу поставить '-tabel' после него без пробела, введенного LaTeX?

Вот что у меня есть на данный момент:

\gls{arp} -tabel

Но производит:

ARP -tabel

Что я хочу:

ARP-tabel

решение1

Это не глупый вопрос. \glsимеет ли синтаксис\gls[параметры]{этикетка}[вставлять]. В общем случае команды, последний аргумент которых необязателен, могут вести себя странно, если за командой следует пробел. Например:

\documentclass{article}

\begin{document}

\newcommand*{\itest}[1][Foo]{#1}
\newcommand*{\otest}[1]{#1\itest}

\otest{X} 1. \otest{Y}[Bar] 2.

\end{document}

Производит:

XFoo1.YBar 2.

В первом случае пробел был отброшен, а во втором — нет. Поскольку это обычно не является желаемым эффектом для \gls, glossariesиспользует amsgenпроверку ' для необязательного аргумента, которая не отбрасывает следующие пробелы. Поэтому \gls{arp} -tabelне игнорирует пробел. Как упоминалось в комментариях, решение заключается в том, чтобы либо удалить пробел \gls{arp}-tabel, либо поместить суффикс в необязательный аргумент \gls{arp}[-tabel]. Единственное, на что вам нужно обратить внимание, — это если вы хотите [сразу после \gls{arp}, в этом случае вам придется сделать что-то вроде \gls{arp}{}[или \gls{arp}{[}.

Связанный контент