如何在MATLAB绘图中同时显示中文标题与LaTeX公式?
MATLAB R2023a中同时显示中文与LaTeX公式的解决方案
问题背景
在MATLAB R2023a绘图时,无法在同一文本元素(如标题)中同时正常显示中文与LaTeX公式。使用'Interpreter','latex'参数时中文会失效,修改mxdom2latex.xsl添加ctex包后未解决问题。
用户原代码:
clc; clear; close all; s=5000000; x=1:s; y=cos(x); y=cumsum(y); figure plot(x,y,'.') title('级数$f=\sum\limits_{k=1}^n cosk$','Interpreter','latex')
方案1:拆分文本元素(无需修改系统配置)
通过叠加两个独立的标题对象,分别处理中文和LaTeX公式,调整位置实现视觉上的统一:
clc; clear; close all; s=5000000; x=1:s; y=cos(x); y=cumsum(y); figure plot(x,y,'.') % 显示中文标题(使用默认Unicode解释器) chinese_title = title('级数'); chinese_title.Interpreter = 'none'; % 避免TeX解释器干扰中文显示 chinese_title.FontName = '微软雅黑'; % 指定支持中文的字体 chinese_title.Position(1) = mean(xlim); % 与公式居中对齐 % 显示LaTeX公式标题 latex_title = title('$f=\sum\limits_{k=1}^n cosk$','Interpreter','latex'); latex_title.Position(1) = mean(xlim); latex_title.Position(2) = chinese_title.Position(2) - 0.06; % 调整垂直位置,放在中文下方
方案2:配置LaTeX解释器原生支持中文
若希望用单个文本元素实现混合显示,需确保MATLAB调用的TeX发行版支持中文,并正确修改配置:
- 安装中文TeX发行版:确保系统已安装CTeX套装或包含
ctex包的TeX环境,且已添加到系统PATH环境变量中。 - 修改MATLAB配置文件:
找到mxdom2latex.xsl文件,路径通常为:MATLAB安装目录\toolbox\matlab\graphics\private\mxdom2latex.xsl
在文件中找到\usepackage{amsmath}的行,下方添加\usepackage{ctex},修改后片段如下:<xsl:text>\usepackage{amsmath}</xsl:text> <xsl:text>\usepackage{ctex}</xsl:text> - 重启MATLAB并测试:
clc; clear; close all; s=5000000; x=1:s; y=cos(x); y=cumsum(y); figure plot(x,y,'.') title('级数$f=\sum\limits_{k=1}^n cosk$','Interpreter','latex') set(gca,'FontName','宋体'); % 设置坐标轴字体为中文支持字体
若修改配置后仍未生效,可尝试删除MATLAB缓存文件(路径:
C:\Users\你的用户名\AppData\Roaming\MathWorks\MATLAB\R2023a下的缓存文件夹),再重启MATLAB。
内容的提问来源于stack exchange,提问作者Zequan Bear
相关产品推荐
相关产品推荐

