![如何定义将其参数作为上标返回的命令?](https://linux22.com/image/261745/%E5%A6%82%E4%BD%95%E5%AE%9A%E4%B9%89%E5%B0%86%E5%85%B6%E5%8F%82%E6%95%B0%E4%BD%9C%E4%B8%BA%E4%B8%8A%E6%A0%87%E8%BF%94%E5%9B%9E%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%9F.png)
在没有 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
是一个更好的选择,因为它使用文本字体而不是数学字体。