我想为
\textsubscriptARGS
可以ARGS
是任意数字。
我想输入类似的内容123\a33332
并获得与以下相同的输出123\textsubscript{33332}
我尝试过\def
但\newcommand
没有成功,谢谢!
我尝试了 \def\aa #1#2#3{\textsubscript{#1#2#3}} 并且它可以工作但只有当有 3 个参数时才有效,你知道如何将参数设置为可选或将空格前的所有字符作为一个参数包含进去吗?
答案1
这上面写满了各种错误:
\documentclass{article}
\usepackage{xspace}
\def\aa#1 {\textsubscript{#1}\xspace}
\begin{document}
Here is some 123\aa4 text together with
some 123\aa45 text together with
some 123\aa456 text together with
some 123\aa4567 text together with
some 123\aa45678 text together with
some 123\aa456789 text together with
some 123\textsubscript{4567890}.
\end{document}
为什么?
\aa
已被定义(如瑞典字母å)。\aa
在句子末尾使用 for 的用法没有一致性,因为\def
的参数文本需要空格作为其参数的结束分隔符。对 进行条件化是可以的,但是如果 、 或、 或,或.
会发生什么情况...,
!
?
看缺点
xspace
。
答案2
如果你只想要整数,那么可能操作如下:
\documentclass{article}
\usepackage{xspace}
\newcommand{\wrongwaytodosubscripts}{%
\afterassignment\wwtdss\count255=
}
\def\wwtdss{\textsubscript{\the\count255}\xspace}
\begin{document}
123\wrongwaytodosubscripts123 followed by whatever.
123\wrongwaytodosubscripts123.
\end{document}
从我选择的宏名称就可以看出我是否建议这样做。
不要這樣做!它很容易出错并且具有多种局限性。