미래 지향적 명령

미래 지향적 명령

내 서문에는 다음이 있습니다.

\newcommand{\myvecb}[1]{\vb{#1}}

내가 사용하는 일부 수학 맥락에서 다음을 가정해 보겠습니다.

\myvecb{F}_y

다른 것에는 다음이 있습니다.

\myvecb{F_T}

내 문제

나는 미래에 모든 것을 다음 \myvecb{F}_y으로 바꾸고 싶을 수도 있다는 것을 깨달았습니다 \myvecb{F_y}(또는 다른 맥락에서는 그 반대일 수도 있음). 모든 작업을 수동으로 수행하는 대신(간단한 정규식 대체는 어떤 이유로 인해 너무 복잡할 수 있으므로) \myvecb정의 내에서 명시된 문제를 조작할 수 있도록 명령 정의를 정의할 수 있습니까?

답변1

이는 a가 _다음을 따르고 있는지 확인하고 이 경우 다음을 가져와 _{..}내부에 아래 첨자로 넣습니다 \vb{..}.

\makeatletter
\newcommand*\myvecb[1]{\@ifnextchar_{\myvecbaux{#1}}{\vb{#1}‌​}}
\def\myvecbaux#1_#2{\vb{#1_{#2}}}
\makeatother

관련 정보