如何将分数显示为最大值中的带分数?
How to display a fraction as a mixed number in maxima?
我正在开设一门让学生习惯带分数表示法的课程。但是,maxima 所做的所有计算都使用更传统的分数表示法。是否可以将 3/2
表示为 1 1/2
。我只需要这个用于乳胶输出。
(%i4) tex(3/2);
$${{3}\over{2}}$$
(%o4) false
所以我想得到的不是这个:
(%i4) tex(3/2);
$ {{1}\over{2}}$$
(%o4) false
这可能吗?
我不认为有这方面的选项,但制作您自己的功能很容易。
例如:
texixed(a):= tex(printf(false, "~a ~a", a-mod(a,1) , mod(a,1)));
texixed(5/3);
$$\mbox{{}1 2/3{}}$$
texixed(7/2);
$$\mbox{{}3 1/2{}}$$
您可以通过 texput
分配 TeX 属性。有理数表示为 ((RAT) mmm nnn)
,您可以通过 :lisp $x
查看,其中 x
是一个最大值变量,它是一个有理数。因此,您可以通过以下方式设置 TeX 属性:
texput (?rat, texrat);
您的函数 texrat
定义为(例如):
texrat(x) := block ([i, r],
i:floor(x),
r:x-i,
sconcat ("{", i, "} {{", num(r), "}\over{", denom(r), "}}"));
示例:
(%i11) tex(sin(12/7));
$$\sin \left({1} {{5}\over{7}}\right)$$
请注意,即使在另一个运算符中,新函数也会应用于有理数。
当然你可以改变texrat
的输出,让它成为你想要的任何东西。
请注意,rat
之前的 ?
在对 texput
的调用中是必需的。
有些东西没有记录;抱歉。
我正在开设一门让学生习惯带分数表示法的课程。但是,maxima 所做的所有计算都使用更传统的分数表示法。是否可以将 3/2
表示为 1 1/2
。我只需要这个用于乳胶输出。
(%i4) tex(3/2);
$${{3}\over{2}}$$
(%o4) false
所以我想得到的不是这个:
(%i4) tex(3/2);
$ {{1}\over{2}}$$
(%o4) false
这可能吗?
我不认为有这方面的选项,但制作您自己的功能很容易。
例如:
texixed(a):= tex(printf(false, "~a ~a", a-mod(a,1) , mod(a,1)));
texixed(5/3);
$$\mbox{{}1 2/3{}}$$
texixed(7/2);
$$\mbox{{}3 1/2{}}$$
您可以通过 texput
分配 TeX 属性。有理数表示为 ((RAT) mmm nnn)
,您可以通过 :lisp $x
查看,其中 x
是一个最大值变量,它是一个有理数。因此,您可以通过以下方式设置 TeX 属性:
texput (?rat, texrat);
您的函数 texrat
定义为(例如):
texrat(x) := block ([i, r],
i:floor(x),
r:x-i,
sconcat ("{", i, "} {{", num(r), "}\over{", denom(r), "}}"));
示例:
(%i11) tex(sin(12/7));
$$\sin \left({1} {{5}\over{7}}\right)$$
请注意,即使在另一个运算符中,新函数也会应用于有理数。
当然你可以改变texrat
的输出,让它成为你想要的任何东西。
请注意,rat
之前的 ?
在对 texput
的调用中是必需的。
有些东西没有记录;抱歉。