Ошибка использования \ Glsentrytext {} в заголовке раздела - PullRequest
0 голосов
/ 16 июня 2010

При использовании пакета glossaries в документе LaTeX я иногда хочу использовать глоссарий как часть заголовка раздела или главы.Например:

\section{\Glsentrytext{big}}

Это, однако, приводит к ошибке.Попытка использовать \protect\Glsentrytext{} не решает проблему.Обратите внимание, что использование заглавной версии (\glsentrytext) не вызывает проблем.

Кто-нибудь знает, как заставить это работать?

Я иногда использую пакет глоссариев как способ последовательного форматирования определенных строк.Например, \gls{big} превращается в «пучок в газ».Очевидно, я мог бы создать две записи глоссария, с заглавными буквами и без них, чтобы достичь этого, и включить только одну в окончательный глоссарий.Это уродливое решение.

1 Ответ

1 голос
/ 21 января 2011

К сожалению, я не знаю, почему это не работает или как это исправить, но я знаю обходной путь:

Примечание: Для этого требуется текущая версия пакета glossaries. Я протестировал его с версией 2.07, которая работала, и с версией 2.03, которая не работала, потому что в этой версии не было ключей user1-user6.

Обход

Определите запись с помощью следующей команды:

\newglossaryentry{big}{name=big,type=main,text={beam-into-gas},user1={Beam-into-gas}}

А затем используйте это так:

\section{\glsentryuseri{big}}

Если заголовок раздела является единственным вхождением записи, вы должны добавить запись в глоссарий вручную, используя \glsadd{big}.


Комментарий

Этот обходной путь аналогичен предложенной вами идее создания двух записей, за исключением того, что вам не нужно создавать две записи. : -)

Однако я мог бы представить, что тот факт, что \Glsentrytext не работает, является ограничением в LaTeX, что означает, что это невозможно сделать. Но это только догадка.

PS: Возможно, вам следовало разместить вопрос на http://tex.stackexchange.com, чтобы получить ответ быстрее.

...