更改内联数学中下标 \frac 的行为

更改内联数学中下标 \frac 的行为

我正在写一份包含大量半整数索引的文档。

在显示模式下,x_{i + \frac {1} {2}}看起来不错。

然而,在内联模式下,x_{i + \frac {1} {2}}行间距有几处混乱。x_{i + 1/2}不过看起来还不错。

我想要一个允许在两者之间切换的命令:
-x_{i + \frac {1} {2}}处于显示模式时,
-x_{i + 1/2}处于内联模式时。

我试着玩弄这个问题,但在我的例子中无法正常工作。有什么想法吗?

答案1

这是一个解决方案,尽管在 LaTeX2e 中没有真正的机器,\everymath所以您使用原始的,它可能会干扰其他包(我真的不知道任何例子,但有可能存在)。

\documentclass{scrartcl}
\usepackage{mathtools,amssymb}

\newif\ifinlinemath
\newcommand*\versatilefrac[3][]{\ifinlinemath{#2#1/#3}\else\frac{#2}{#3}\fi}
\everymath{\inlinemathtrue\everymath{}}

\begin{document}

$x_{i + \versatilefrac{1}{2}}$
\[
  x_{i + \versatilefrac{1}{2}}
\]

\end{document}

相关内容