我认为可以重新定义^
(和_
) 以在文本模式下产生\textsuperscript
并在数学模式下正常工作(这是否不是默认行为?),但我不知道如何操作。这是我尝试过的:
\documentclass{article}
\begin{document}
\let\oldhat^
\def^{\ifmmode\expandafter\oldhat
\else\expandafter\textsuperscript\fi}
$x^n$
% indulgence^2
indulgence\textsuperscript{2}
\end{document}
答案1
答案2
我会尽力回答你问题的第二部分有没有充分的理由说明为什么它不是默认行为。TeX 可以在水平模式、垂直模式或数学模式下工作。在水平模式(您称之为文本模式)下,TeX 将排版材料水平并排放置。水平方向的例外是可能的(通过\lower
、\raise
原语),但并不常见。在数学模式下,TeX 以非常特殊的方式放置排版材料,包括创建上标或下标时的特殊行为。因此,在内部,这始终由 TeX 在数学模式下完成。您可以使用转换到数学模式来检查在 LaTeX 中定义的latex.ltx
。\textsuperscript