如何定义将其参数作为上标返回的命令?

如何定义将其参数作为上标返回的命令?

在没有 ifcase 语句的情况下,我如何才能更简洁地编写以下代码?请假设该命令只会使用 1 到 8 之间的整数参数调用。很抱歉问了这么基本的问题——我对宏还不熟悉。

\renewcommand{\@fnsymbol}[1]{\ifcase#1\or ^0 \or ^1\or ^2\or
                 ^3\or ^4\or ^5\or ^6\or ^7 \or ^8 \fi\relax}

答案1

\let\@fnsymbol^

作为问题的答案,这可能是最简洁的,虽然给出了你使用的命令名称,但你需要更多,因为它需要与计数寄存器一起工作,而不仅仅是文字数字\@fnsymbol{33}会起作用,但不是\@fnsymbol\c@footnote,它需要在数学模式下工作,所以你需要

\def\@fnsymbol#1{\ensuremath{^{\number#1}}}

但这\textsuperscript是一个更好的选择,因为它使用文本字体而不是数学字体。

相关内容