Asymptote在刻度上把小数点写成逗号
我想绘制刻度标记,使它们使用LaTeX数学模式的字体,通过使用以 $ 开头并以 $ 结尾的格式字符串来实现,但我得到的是逗号而不是小数点。
例如,如果我的源文件是:
size(8cm,0);
import graph;
xlimits( -3pi, 3pi);
xaxis(BottomTop(), Ticks(Label("$%.2f$",red), Step=2pi, step=pi/5, pTick=.8red));
import graph;

我的区域设置是 it_IT,但在写LaTeX文档时并不会发生这种情况。
解决方案
通过谷歌搜索我找到了 Asymptote FAQ,以及问题 Question 4.6.是否有办法把小数分隔符的默认显示改为用逗号而不是点?。也许你应该使用不同的 locale。
当我把 C 作为 locale 使用时,我得到 dot
size(8cm,0);
import graph;
locale("C");
xlimits( -3pi, 3pi);
xaxis(BottomTop(), Ticks(Label("$%.2f$",red), Step=2pi, step=pi/5, pTick=.8red));
或者,当我在Linux终端运行它时作为
LANG=C asy graph.asy
或
LANG=gb_GB asy graph.asy
即使代码中包含 locale("it_IT");,这也能工作。
它也适用于 LC_NUMERIC=C ...,但不适用于 LC_LOCALE=C ...
但直接在代码中使用 locale("gb_GB"); 时,它并不会输出小数点。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。