En mi preámbulo tengo:
\newcommand{\myvecb}[1]{\vb{#1}}
Supongamos que en algún contexto matemático uso:
\myvecb{F}_y
mientras que en alguna otra tengo:
\myvecb{F_T}
Mi problema
He notado que en el futuro es posible que desee cambiar todo \myvecb{F}_y
a \myvecb{F_y}
(o, en algún otro contexto, quizás viceversa). En lugar de hacer todo manualmente (porque un simple reemplazo de expresiones regulares puede ser demasiado complicado por algún motivo), ¿es posible definir \myvecb
la definición del comando de manera que pueda manipular el problema indicado dentro de la definición?
Respuesta1
Esto verifica si a _
sigue y en ese caso toma lo siguiente _{..}
y lo coloca como un subíndice dentro \vb{..}
.
\makeatletter
\newcommand*\myvecb[1]{\@ifnextchar_{\myvecbaux{#1}}{\vb{#1}}}
\def\myvecbaux#1_#2{\vb{#1_{#2}}}
\makeatother