灵感来自这个问题我创建了一个词汇表条目,其中有一个可选参数作为下标。但是,当我尝试在其中添加上标时,我无法使用将上标作为可选参数传递的技巧,因为我已经有一个上标了。有什么解决方法吗?
平均能量损失
\documentclass{article}
\usepackage{glossaries-extra}
\glsnoexpandfields
\newglossaryentry{A}{
category={arg},
user1={1},
name={\(A_{\glsarg}\)},
text={A_{\glsarg}},
description={A}}
\preto\glsentryfmt{%
\glsifcategory{\glslabel}{arg}% if category set to "arg"
{%
\ifdefempty\glsinsert
{\glsfieldfetch{\glslabel}{useri}{\glsarg}}%
{%
\let\glsarg\glsinsert
\let\glsinsert\empty
}%
}%
{}%
}
\begin{document}
Tried:
\[\gls{A}[ij]^T\]
\[\gls{A}[ij^T]\]
Desired outcome:
\[A^T_{ij}\]
\end{document}
答案1
你基本上有这个:
\documentclass{article}
\begin{document}
\newcommand{\glsarg}{ij^T}
\[A_{\glsarg}\]
\end{document}
其中ij^T
作为下标(即A_{ij^T}
),其中^T
是 的上标j
。
下面的代码可以移动括号:
\documentclass{article}
\begin{document}
\newcommand{\glsarg}{{ij}^T}
\[A_\glsarg\]
\end{document}
将其应用于MWE:
\documentclass{article}
\usepackage{glossaries-extra}
\glsnoexpandfields
\newglossaryentry{A}{
category={arg},
user1={1},
name={\(A_{\glsarg}\)},
text={A_\glsarg},
description={A}}
\preto\glsentryfmt{%
\glsifcategory{\glslabel}{arg}% if category set to "arg"
{%
\ifdefempty\glsinsert
{\glsfieldfetch{\glslabel}{useri}{\glsarg}}%
{%
\let\glsarg\glsinsert
\let\glsinsert\empty
}%
}%
{}%
}
\begin{document}
Compare
\[\gls{A}[{ij}^T]\]
With:
\[A^T_{ij}\]
\end{document}
请注意,使用此方法时,如果有多个下标,则必须记住始终在可选参数中应用分组。例如:
\[\gls{A}[{ij}]\]