如何在纯文本?
\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}}
。