如何以纯文本形式生成显示样式分数

如何以纯文本形式生成显示样式分数

如何在纯文本

\over例如,我知道普通 tex 用来表示分数{1}\over{2}

但是如何显示分数样式呢?我尝试使用\displaystyle,但结果什么也没渲染,只是一些无法识别的东西。

注意。我的目的是处理 Manim 的数学公式。

答案1

在我看来,分数符号是 Knuth 在设计 TeX 时做出的最不恰当的选择。

命令\over需要根本没有参数,你的{1}\over{2}语法就没有任何优势:尝试

$$3+{1}\over{2}$$

并亲自看看结果可能不是你想象的那样。语法\over

{<numerator> \over <denominator>}

并且括号内是强制的除非分数是数学公式中的唯一对象。因此

the fraction $1\over 2$ represents a half

可以,但是

the expression $1+1\over2$ represents three halves

公式或文本都是错误的。

我们如何申请\displaystyle?当然不是

{\displaystyle 1\over 2}

因为这只适用\displaystyle于分子。

下一次尝试将是

\displaystyle{1\over 2}

但当然这会将这种风格应用于接下来的所有内容。

为了将样式仅应用于分数,请执行以下操作

{\displaystyle{1\over2}}

你能定义一个简写如 吗\dover?不可以。不可能定义像\over\atop\above相关\...withdelims变体这样的命令。

帮自己一个忙并发出

\def\frac#1#2{{\begingroup#1\endgroup\over#2}}
\def\dfrac#1#2{{\displaystyle\frac{#1}{#2}}}

这样你就可以输入

\frac{1}{2}

并轻松将其修改为

\dfrac{1}{2}

如果有需要的话。

为什么\begingroup...\endgroup?因为在分子中完成的作业可能会(并且会)泄漏到分母中。

答案2

你使用的例子\over不好,正确的例子是{1\over2+3}或者,如果分数在数学模式下是单个对象,那么你可以省略括号并写入$1\over2+3$。在显示模式下,\over创建显示分数。在文本模式下,你可以写$\displaystyle{1\over2+3}$。如果你只写$\displaystyle 1\over 2+3$,那么只有提名人是显示样式,因为分数的每个部分都设置了自己的数学样式。你可以阅读在 OpTeX 中排版数学,尤其是第 1.4 节。

答案3

我建议您{\displaystyle {1 \over 2}}在内联数学模式下使用。相反,如果您需要在显示数学模式下创建文本样式的分数,我建议您使用{\textstyle {1 \over 2}}

在此处输入图片描述

%% inline-style math mode is the default:
\centerline{%
  $1 \quad {1 \over 2} \quad {\displaystyle {1 \over 2}} \quad 2$}

%% display-style math mode is the default:
$$ 1 \quad {1 \over 2} \quad {\textstyle {1 \over 2}}    \quad 2$$

\bye

请注意,\textstyle\displaystyle都是交换命令不接受显式参数。这意味着它们的范围是到当前 TeX 组的末尾。因此,应该写成{\textstyle {1 \over 2}}而不是\textstyle{{1 \over 2}}

相关内容