删除 Matlab 文本字符串中绘图中的空格,其中“DefaultTextInterpreter”为“Latex”

删除 Matlab 文本字符串中绘图中的空格,其中“DefaultTextInterpreter”为“Latex”

使用 MWE:

set(0,'DefaultTextInterpreter','Latex');
x = linspace(0,10,1e2);
fx = sin(x);

Xpos = 0.1;
Ypos = 0.83;
plot(x,fx);
hTag = text(Xpos,Ypos,'(a)'); set(hTag,'FontSize',23);

字符“a”和括号之间有(太多)空格。如何删除它?

答案1

一个简单的解决方法:不要对此标签使用“latex”解释器,因为它实际上不包含任何 LaTeX 命令。当然,字体不会与其他标签匹配。

更复杂的解决方法:使用碎片它允许您将 LaTeX 代码包含在 eps 文件中,然后在将其包含在 LaTeX 中时将其替换为渲染版本。如果您最终不想在 LaTeX 中使用该图,还有一种方法可以将 psfrag 处理的图再次导出为 eps。

\hspace我想你也可以尝试用负面的方法来做实验。

一些背景知识:Matlab 确实包含 TeX+LaTeX 安装,它实际上位于“解释器”、“latex”设置(但不是“tex”设置!)的底层。tex.m图形工具箱中有一个函数,它接收 LaTeX 代码并将生成的 dvi 作为二进制数据返回。不幸的是,Matlab 中包含的 dvi 渲染器相当糟糕,而且完全没有文档记录,因此没有机会修复它。请参阅这里这里以了解我个人在这方面的挣扎。:-)据我所知,如果您想要在 Matlab 图中获得正确的 LaTeX 格式的文本,那么 psfrag 是您的最佳选择。

相关内容