我喜欢为经常使用的符号创建快捷方式,并且我想更改自定义命令后下划线的行为。例如,如果我想添加下标,我想更改下标的位置,但命令前的下标只会将其放在末尾。这是我想要实现的行为的一个最小示例。
\documentclass{article}
\newcommand{\fx}{{f(x)}}
\newcommand{\fxi}{{f_i(x)}}
\begin{document}
This is a function: $\fx$. This is the $i$th function: $\fxi$.
I want to do this $\fx_i$ but make it look like this $\fxi$.
\end{document}
答案1
答案2
以下解决方案仅使用 TeX 基元。使用\futurelet
您可以测试下一个字符是否为_
。
\def\fx{\futurelet\next\fxA}
\def\fxA{\ifx\next_\expandafter\fxB\else f(x)\fi}
\def\fxB_#1{f_{#1}(x)}
\def\fxi{f_i(x)}
This is a function: $\fx$. This is the $i$th function: $\fxi$.
I want to do this $\fx_i$ but make it look like this $\fxi$.