
Ich möchte 2 oder mehr Mathe-Modus-Glossareinträge zu einem vollständigen Ausdruck im Mathe-Modus zusammenfassen. Hintergrund ist eine Trennung von Nomenklatur und Symbolik.
Ich verwende Ausdrücke wie in der zweiten Variante dieser Antwort:https://tex.stackexchange.com/a/137506/101663
Was ich erhalten möchte, ist in Formel 1 meines MWE dargestellt. Was ich erhalte, ist in Formel 2 dargestellt. Was meiner Meinung nach passieren könnte, ist in Formel 3 dargestellt.
Da es nicht erlaubt ist (und es in der Tat nicht funktioniert), GLS-Befehle im optionalen Parameter eines GLS zu verwenden, ist der Ansatz imHandbuchhilft nicht:
$\gls{Falpha}[^2]$
Gibt es eine Möglichkeit, mein Ziel zu erreichen?
MWE:
\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}
Antwort1
Sehen Sie sich das verbesserte Update unten am Ende an.
Ich schlage vor, den Hochstellungsoperator im gls
Ersetzungstext wegzulassen und \gls{foo}^{\gls{foobar}}
stattdessen zu verwenden.
\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}
Aktualisieren-- Laut OP \glstextentry
ist es erweiterbar, \gls
ist es aber nicht. Verwenden Sie \glstextentry
es dann.
Da \gls
nicht erweiterbar ist, \gls{foo}\gls{foobar}
kann es nicht auf etwas wie erweitert werden 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}