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 里做中英文混合标注最可靠的手段。

相关推荐
吃好睡好便好17 小时前
MATLAB仿真框图2
开发语言·matlab·仿真·simulink
AAIshangyanxiu2 天前
涡度通量碳观测数据 MATLAB 全流程解析与敏感性定量分析、观测数据质控、插补及 footprint 建模技术
开发语言·matlab·涡度通量·生态碳汇·生态碳汇模拟
吃好睡好便好2 天前
MATLAB仿真框图
开发语言·matlab·仿真·simulink
netccdn3 天前
Hough变换检测直线(Matlab)
开发语言·计算机视觉·matlab
DFT计算杂谈4 天前
ADV. SCI. 反铁磁体MnTe2中的Plaid-like自旋劈裂与手性磁振子
matlab
机器学习之心5 天前
可拓理论+云模型:一套量化高校科研创新能力的MATLAB实现方案
matlab·云模型·可拓理论
bu_shuo5 天前
MATLAB中的meshgrid和ndgrid
开发语言·matlab
青春不败 177-3266-05205 天前
MATLAB在生态环境数据处理与分析
matlab·生态学·遥感·生态系统服务·数据处理·环境科学
WangYan20225 天前
MATLAB/Meta分析/R语言/贝叶斯方法/piecewiseSEM结构方程模型在生态环境数据处理与分析中的应用
matlab·meta分析·生态环境·结构方程模型·贝叶斯方法
熊猫_豆豆6 天前
MATLAB山地地形仿真与最高点到最低点最短路径
开发语言·matlab·dijkstra·最短路径