Mathematica 11.3输出PDF/EPS矢量图时字体莫名变粗的问题求助
解决Mathematica 11.3导出PDF/EPS时文本自动变粗体的问题
我之前也碰到过Mathematica 11.3导出矢量格式图形时这个头疼的问题——明明设置了普通文本,刻度标签和其他文本却自动变成粗体!分享几个亲测有效的解决方法:
全局指定文本样式+导出时强化设置
绘图时通过BaseStyle统一设置所有文本的字重为普通,再用TicksStyle单独确保刻度标签的样式,最后导出时再次明确指定FontWeight,防止导出过程中被默认样式覆盖。示例代码:Plot[Sin[x], {x, 0, 2 Pi}, Frame -> True, FrameLabel -> {"X Axis", "Y Axis"}, BaseStyle -> {FontWeight -> "Plain", FontFamily -> "Arial"}, TicksStyle -> {FontWeight -> "Plain"}] Export["sin_plot.pdf", %, FontWeight -> "Plain"]检查并修改默认字体设置
有时候是因为Mathematica默认使用的字体在矢量导出时,普通字重被错误渲染成粗体。你可以先输入Options[$FrontEnd, DefaultFont]查看当前默认字体,换成一个明确支持普通字重的字体(比如Arial、Times New Roman),然后重启Mathematica前端试试。手动添加文本元素
如果上面的方法都没效果,试试用Epilog或Text函数手动添加所有需要的文本,直接在Style里指定FontWeight -> "Plain",这样导出时就不会被自动修改样式了。示例:Plot[Sin[x], {x, 0, 2 Pi}, Epilog -> {Text[Style["Sin(x)", FontWeight -> "Plain", FontSize -> 12], {Pi, 0.5}]}]
另外补充一句:这个问题其实是Mathematica 11.x版本里的一个导出渲染bug,如果你有条件升级到12.0及以上版本,这个问题大概率会直接消失。
内容的提问来源于stack exchange,提问作者Zihan TAN
相关产品推荐
相关产品推荐

