我正在写一份包含大量半整数索引的文档。
在显示模式下,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}