Kombinieren mehrerer Glossareinträge im Mathematikmodus

Kombinieren mehrerer Glossareinträge im Mathematikmodus

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.

Ergebnis von MWE

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 glsErsetzungstext 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 \glstextentryist es erweiterbar, \glsist es aber nicht. Verwenden Sie \glstextentryes dann.

Da \glsnicht 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}

Bildbeschreibung hier eingeben

verwandte Informationen