MATLAB 中英文混排-Tex解释器

MATLAB 中英文混排最常用、最稳定的方法就是你已经在用的这种------用 TeX 解释器的 \fontname{} 命令按段切换字体。这是国内期刊要求"中文宋体、西文和数字 Times New Roman"时的标准做法。补充一些细节和易踩的坑:

基本规则

\fontname{字体名} 会从它出现的位置开始生效,一直持续到下一个 \fontname{} 或字符串结束,只改变字体,不改变大小、粗细等其他属性。

复制代码
'\fontname{Times New Roman}C\fontname{SimSun}预测值/\fontname{Times New Roman}%'

这行代码含义是:C 用 Times New Roman,预测值/ 用宋体,% 用 Times New Roman ------ 你写的完全正确。

必须满足的前提条件

  1. Interpreter 必须是 'tex'(这也是大多数文本对象的默认值,但保险起见显式设置):

    'Interpreter', 'tex'

  2. 不能用 'latex' 解释器------MATLAB 自带的 LaTeX 解释器不支持任意中文字体切换,中文会显示不出来或报错。

  3. 外层设置的 'FontName' 相当于"默认字体",\fontname{} 会覆盖它所在片段的字体,其余没被 \fontname 包裹的部分用外层 FontName。所以你在 ylabel 里同时写了 '\fontname{SimSun}输入特征' 又设置了 'FontName', chineseFontName,这个外层 FontName 其实是多余的(会被 \fontname{SimSun} 覆盖),但不冲突,不影响效果。

常见坑

  • 粗体/斜体组合\fontname{Times New Roman}\bf 这种写法在 TeX 解释器里是可行的,但有些 MATLAB 版本对 \fontname'FontWeight','bold'(对象属性层面设置)混用时表现不一致,建议统一用 TeX 命令控制(\bf\it)而不是同时用对象属性。

  • 特殊符号(如 ℃、°、±) :这些符号在某些中文字体(如 SimSun)里可能显示不全或字形不美观,建议像你处理 % 一样单独指定西文字体,你这行已经这么做了:

    '\fontname{SimSun}温度预测值/\fontname{Times New Roman}℃'

是对的做法。

  • legend、title、text 等对象同理,都支持这套语法,不需要额外设置。

  • 上下标混用 (如 x_1x^2)时,\fontname{} 切换要放在 _/^ 之前,否则上下标可能跟着变成中文字体导致变形:

    '\fontname{Times New Roman}x_1\fontname{SimSun}值'

如果只是想省事------不严格区分字体

宋体(SimSun)本身也包含西文和数字字形,如果不是投稿格式硬性要求"中英文分字体",可以直接全用一种中文字体,不用 \fontname 切换:

复制代码
ylabel(ax, 'C 预测值/%', 'FontName', 'SimSun', 'FontSize', labelFontSize)

但如果是要投中文核心期刊、对"西文用 Times New Roman"有明确格式要求,那就必须用你现在这种 \fontname{} 混排方式,这是目前 MATLAB 里做中英文混合标注最可靠的手段。

相关推荐
菜鸟~noob2331 小时前
【太空电子战】Meadowlands作战验收:美国太空军可逆干扰能力的里程碑【含matlab代码】
matlab·电子战
菜鸟~noob2331 天前
【Bonjour】华为Peerium架构深度解析:从冯·诺依曼到百万处理器“一台计算机”,附MATLAB性能仿真【含matlab代码,可直接运行】
开发语言·matlab·华为·peerium
民乐团扒谱机1 天前
【手把手通信仿真】FSK与GFSK调制原理对比及MATLAB全实现,附频谱波形分析
matlab·蓝牙·微电子·通信技术·通信原理·gfsk·fsk
ι:2 天前
单相桥式全控整流仿真从零复现教学
windows·学习·matlab·simulink
菜鸟~noob2332 天前
【电子战】第14篇:TOA 定位——圆交汇与到达时间【含matlab代码】
开发语言·matlab
简简单单做算法2 天前
基于灰狼算法和贝叶斯联合优化的BiLSTM(GWO-BO-BiLSTM)一维时间序列预测算法matlab仿真
matlab·一维时间序列预测·gwo-bo-bilstm
Evand J3 天前
【MATLAB例程|图像滤波降噪13】局部噪声方差自适应滤波(LNR)图像降噪与效果展示。附完整例程的下载链接
图像处理·计算机视觉·matlab·滤波·代码·降噪
weixin_307779133 天前
C++代码实现MATLAB中的ode23t函数功能
开发语言·c++·算法·matlab
Evand J3 天前
【MATLAB例程】二维Astar路径规划与AOA-TDOA定位仿真。完整代码,附下载链接。包运行成功,带中文注释
开发语言·matlab·路径规划·代码·定位·融合定位
路径规划6664 天前
(MATLAB代码)退火PSO融合DWA算法的船舶路径规划MATLAB实现(260915)
matlab·路径规划·船舶·dwa·pso粒子群算法