
Я хотел бы объединить 2 или более записей глоссария математического режима, чтобы сформировать полное выражение в математическом режиме. Фон — это разделение номенклатуры и символов.
Я использую выражения, как во втором варианте этого ответа:https://tex.stackexchange.com/a/137506/101663
То, что я хотел бы получить, показано в формуле 1 моего MWE. То, что я получаю, показано в формуле 2. То, что, как я предполагаю, может произойти, показано в формуле 3.
Так как не допускается (и это фактически не работает) использование gls-команд в необязательном параметре gls, подход, приведенный вруководствоне помогает:
$\gls{Falpha}[^2]$
Есть ли способ достичь моей цели?
МВЭ:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[acronym]{glossaries}
\newglossary[fog]{formula}{foi}{foo}{Formula}
\makeglossaries
\newglossaryentry{mathpart1}{
name=test, text=x_{ref},
description=irrelevant, type=formula
}
\newglossaryentry{mathpart2}{
name=test2, text=^{abc},
description=irrelevant2, type=formula
}
\begin{document}
Desired output:
\[
x_{ref}^{abc} = 0
\]
Achieved output with gls:
\[
\gls{mathpart1}\gls{mathpart2} = 0
\]
Similar behaviour:
\[
{x_{ref}}^{abc} = 0
\]
\end{document}
решение1
Улучшенное обновление смотрите ниже в конце.
Я предлагаю опустить оператор верхнего индекса в gls
тексте замены и использовать \gls{foo}^{\gls{foobar}}
instead.
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[acronym]{glossaries}
\newglossary[fog]{formula}{foi}{foo}{Formula}
\makeglossaries
\newglossaryentry{mathpart1}{
name=test,
text={\ensuremath{x_{ref}}},
description=irrelevant, type=formula
}
\newglossaryentry{mathpart2}{
name=test2,
text={abc},
description=irrelevant2, type=formula
}
\begin{document}
Desired output:
\[
x_{ref}^{abc} = 0
\]
Achieved output with gls:
\[
\gls{mathpart1}^{\gls{mathpart2}} = 0
\]
Similar behaviour:
\[
{x_{ref}}^{abc} = 0
\]
\end{document}
Обновлять-- Согласно OP, \glstextentry
расширяемый, но \gls
это не так. Используйте \glstextentry
тогда.
Поскольку \gls
не расширяется, \gls{foo}\gls{foobar}
его нельзя расширить до чего-то вроде foo^{foobar}
.
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[acronym]{glossaries}
\newglossary[fog]{formula}{foi}{foo}{Formula}
\makeglossaries
\newglossaryentry{mathpart1}{
name=test,
text={\ensuremath{x_{ref}}},
description=irrelevant, type=formula
}
\newglossaryentry{mathpart2}{
name=test2,
text={^{abc}},
description=irrelevant2, type=formula
}
\begin{document}
Desired output:
\[
x_{ref}^{abc} = 0
\]
Achieved output with gls:
\[
\gls{mathpart1}\glsentrytext{mathpart2} = 0
\]
Similar behaviour:
\[
{x_{ref}}^{abc} = 0
\]
\end{document}