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