Pek*_*kka 9 matlab pdf-generation cmyk ghostscript
我正在尝试使用cmyk颜色从matlab图创建一个pdf文件,但是面对变音符号和其他一些特殊字符的问题.除了Latex,还有其他方法可以解决这个问题吗?以下示例演示了此问题.
plot(rand(199,1))
title_string = ['Some text:äö' char(228) ':2005' char(150) '2008:end text'];
title(title_string);
print(gcf,'-dpdf','cmykfile.pdf','-r600','-cmyk');
print(gcf,'-dpdf','rgbfile.pdf','-r600');
Run Code Online (Sandbox Code Playgroud)
正如你从pdf文件中看到的那样,RGB版本处理变音符号,但不是en-dash,CMYK会跳过它们.
PDF是使用Ghostscript在Matlab中生成的,但我还没有找到如何为GS配置字符编码.
我正在使用Windows和Matlab R2014.
我不完全确定这就是您正在寻找的解决方案。\n无论如何,如果您创建第一个eps然后将其转换为pdf输出文件,则标题中的特殊字符不会有任何问题,前提是您不这样做t使用 构建标题字符串char。
plot(rand(199,1))\ntitle_string = 'Some text:\xc3\xa4\xc3\xb6\xc3\xa4:2005\xe2\x80\x942008\xc3\xa6:end text';\ntitle(title_string);\nprint(gcf,'-depsc','cmykfile.eps','-r600','-cmyk'); \n!ps2pdf cmykfile.eps cmykfile.pdf\nRun Code Online (Sandbox Code Playgroud)\n\n如果您的系统路径中有该实用程序,则上面的代码可以工作ps2pdf。如果您安装了 MiKTeX,则您的计算机上已经有ps2pdfMiKTeX,但您可能需要更新系统路径。基本上ps2pdf应该是 的快捷方式gs,因此如果您只gs安装了 MiKTeX 而没有安装 MiKTeX,您应该能够达到相同的结果。
编辑
\n\n在我的机器(Windows 7,MATLAB R2014b)上,此代码也运行良好,无需使用ps2pdf:
plot(rand(199,1))\ntitle_string = 'Some text:\xc3\xa4\xc3\xb6\xc3\xa4:2005\xe2\x80\x942008\xc3\xa6:end text';\ntitle(title_string);\nprint(gcf,'-dpdf','cmykfile.pdf','-r600','-cmyk');\nRun Code Online (Sandbox Code Playgroud)\n\n当您使用 构建标题字符串时,似乎会发生此问题char。