
Editado: David Carlisle gentilmente forneceu a resposta em um comentário, que é a definição após \makeatletter.
Estou tentando usar enfeites em \NewDocumentCommand para definir uma macro para Kern subscritos em \Gamma (como um caso de teste para um problema mais geral), mas não sei como lidar com números primos. Como eles não aceitam discussão, tentei as duas versões comentadas abaixo, mas em ambos os casos, no último exemplo, o _ não é mais tratado como um enfeite. Existe uma maneira de corrigir isso?
\documentclass{article}
\NewDocumentCommand{\kernedGamma}{e{^_}}{\Gamma\IfValueT{#1}{^{#1}}\IfValueT{#2}{_{\mkern-3mu #2}}}
%\NewDocumentCommand{\kernedGamma}{e{^_'}}{\Gamma\IfValueT{#1}{^{#1}}\IfValueT{#2}{_{\mkern-3mu #2}}\IfValueT{#3}{^{\prime}#3}}
%\NewDocumentCommand{\kernedGamma}{e{^_}t'}{\Gamma\IfValueT{#1}{^{#1}}\IfValueT{#2}{_{\mkern-3mu #2}}\IfBooleanT{#3}{^{\prime}}}
\makeatletter
\RenewDocumentCommand{\kernedGamma}{e{^_}t'e{_}}{\Gamma\IfValueT{#1}{^{#1}}
\IfValueT{#2}{_{\mkern-3mu #2}}\IfBooleanT{#3}{^{\prime}}
\IfValueT{#4}{\IfValueT{#2}{\@latex@error{embellishment used twice}}_{\mkern-3mu #4}}}
\makeatother
\begin{document}
$\Gamma_1$ $\kernedGamma_1$
$\Gamma^2_2$ $\kernedGamma^2_2$
$\Gamma_1'$ $\kernedGamma_1'$
$\Gamma'_1$ $\kernedGamma'_1$
\end{document}
Responder1
Usare{^_}t'e{^_}
\documentclass{article}
\NewDocumentCommand{\kernedGamma}{e{^_}t'e{^_}}{%
\kernedGammaAux{#1}{#2}{#3}{#4}{#5}%
}
\ExplSyntaxOn
\NewDocumentCommand{\kernedGammaAux}{mmmmm}
{
\bourke_kernedGamma:nnnnn { #1 } { #2 } { #3 } { #4 } { #5 }
}
\cs_new_protected:Nn \bourke_kernedGamma:nnnnn
{%#1 = first sup, #2 = first sub, #3 = prime, #4 = second sup, #5 = second sub
\Gamma
\bool_if:nTF { #3 }
{% there's a prime
\sp{ \tl_if_novalue:nF { #1 } { #1 } \prime \tl_if_novalue:nF { #4 } { #4 } }
}
{%
\exp_args:Ne \tl_if_empty:nF { \__bourke_double:nn { #1 } { #4 } }
{
\sp{ \__bourke_double:nn { #1 } { #4 } }
}
}
\sb{ \mkern -3mu ~ \__bourke_double:nn { #2 } { #5 } }
}
\cs_new:Nn \__bourke_double:nn
{
\tl_if_novalue:nF { #1 } { \exp_not:n { #1 } }
\tl_if_novalue:nF { #2 } { \exp_not:n { #2 } }
}
\ExplSyntaxOff
\begin{document}
$\kernedGamma$ $\Gamma$
$\kernedGamma'$ $\Gamma'$ $\Gamma^{\prime}$
$\kernedGamma'^{2}_{i}$ $\Gamma'^{2}_{i}$
$\kernedGamma_{i}^{2}'$ $\Gamma^{2\prime}_{i}$
$\kernedGamma_{i}'^{2}$ $\Gamma'^{2}_{i}$
$\kernedGamma_{i}^{2}$ $\Gamma^{2}_{i}$
\end{document}
(A imagem será adicionada posteriormente, quando o Imgur permitir)