LaTeX 嵌入MATLAB 绘图的字体
来源:互联网 发布:qq的端口号是多少 编辑:程序博客网 时间:2024/05/22 08:22
两次遇到使用Ctex生成PDF没有嵌入MATLAB字体的问题,解决方案分别如下:
第一次:
编辑Ctex的配置文件:CTEX\MiKTeX\dvipdfm\config\dvipdfmx.cfg
将下面这段替换
%% GhostScript (MiKTeX):
D “mgs -q -dNOPAUSE -dBATCH -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.3 -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -dUseFlateCompression=true -sOutputFile=%o %i -c quit”
替换成:
D “mgs.exe -sPAPERSIZE=a4 -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dPDFSETTINGS=/printer -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true -dCompatibilityLevel=1.4 -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -dUseFlateCompression=true -sOutputFile=\”%o\” \”%i\” -c quit”
原来MiKTeX使用了一个叫mgs的命令完成这一步的,它的参数几乎和gs一样,添加相应的参数变成下面的这句话,就可以将达到嵌入所有字体的效果了。
这样就解决了问题,字体能够嵌入,perfect。
第二次:
重新安装了Ctex之后就搞怪,一定要在\usepackage{graphicx}后面添加\usepackage{epstopdf}才可以插入eps图片。而且这次使用上面的方法嵌入字体竟然不灵了。吊鬼!网上有人说将PDF使用Adobe pdf虚拟打印机打印一下就好。打印之后字体确实嵌入了,但是发现页面边距竟然变了,很不爽。折腾了好久,终于找到了下面的解决方案:
第一步: 将eps转化为嵌入字体的pdf
gswin32c.exe -dNOPAUSE -dBATCH -dEPSCrop -q -sDEVICE=pdfwrite -dCompatibilityLevel#1.3 -dPDFSETTINGS=/prepress -dSubsetFonts=true -dEmbedAllFonts=true -sOutputFile=temp.pdf your_file.eps
第二步: 将pdf转化回eps
pdftops.exe -eps temp.pdf temp.eps
这里pdftops.exe是xpdf中的一个工具
或者
gswin32c.exe -q -dNOPAUSE -dBATCH -dNOCACHE -sDEVICE=epswrite -sOutputFile=temp.eps temp.pdf
这个方案也解决的问题,但是感觉不那么完美。原来图片上面的文字不可以选中啦,虽然图片依然是矢量图片。奇怪!
令:
有人在[http://bbs.ctex.org/forum.php?mod=viewthread&tid=40555]中整理了自己的解决方案:
问题解决了,总结一下。
用的版本是中文TeX套装,WinEdt Version 5.3,使用的格式模板是IEEEtran。 (winxp+sp2)
首先加入了arial,helvet,times三个宏包
1、对其他字体的嵌入用以下方案
将texmf/dvipdfm/base/config下,dvipdfmx.cfg 中的:f psfonts.map 改为:f dvipdfm_dl14.map
我测试时不起作用
将dvipdfmx.cfg拷贝一个到localtexmf\dvipdfm\config\目录下,做同样修改。搞定其他字体。
此时除了Helvetica字体无法嵌入以外,其他字体均可嵌入。
2、对Helvetica字体的嵌入
使用的方法:
gswin32c -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sPAPERSIZE=letter
-dPDFSETTINGS=/printer -dCompatibilityLevel=1.3 -dMaxSubsetPct=100
-dSubsetFonts=true -dEmbedAllFonts=true -sOutputFile=output.pdf input.ps
发现生成的pdf为一空白页!
查找原因,发现我用winedt生成的ps文件在Gsview中无法打开。看了提示貌似是因为找不到字体而打不开,
不知道是不是这个原因造成的。问题还是没有搞定。
因为我的字体嵌入问题是由于matlab生成的eps图造成的,按照楼上的方法:
第一步: 将eps转化为嵌入字体的pdf
gswin32c.exe -dNOPAUSE -dBATCH -dEPSCrop -q -sDEVICE=pdfwrite -dCompatibilityLevel#1.3 -dPDFSETTINGS=/prepress -dSubsetFonts=true -dEmbedAllFonts=true -sOutputFile=temp.pdf your_file.eps
第二步: 将pdf转化回eps
pdftops.exe -eps temp.pdf temp.eps 这里pdftops.exe是xpdf中的一个工具
在第二步又出现问题,用pdftops.exe竟然毫无反应,不知道是不是我下载的软件有问题。
我直接将生成的temp.pdf另存为temp.eps。 然后在对文档进行编译 Latex -> dvi-ps -> ps-pdf,生成pdf后问题搞定!!
虽然问题解决了,但是中间出现了很多问题没弄明白,希望可以知道的人讨论一下。
特此收藏!
- LaTeX 嵌入MATLAB 绘图的字体
- latex 嵌入所有字体
- Latex字体未嵌入解决方案
- Latex文件转成pdf后的字体嵌入问题
- Latex编译pdf后的字体嵌入问题
- 关于matlab绘图中字体及图片大小等的设置
- TeX系列: MATLAB和LaTeX结合绘图
- PDF文件【由Latex、CTex或MS Word等生成】嵌入所有字体的快速解决方法
- visio 转化成的pdf 在latex 中, 嵌入字体不显示
- Tex/LaTex的字体
- Latex生成PDF文件中字体无法嵌入
- matlab 绘图,设置label字体,插入公式
- Matlab,Visio等生成的图片的字体嵌入问题解决方法
- Matlab画的eps图片中的Helvetica字体不能嵌入问题的解决办法
- Matlab fig文件另存为的eps图片 Helvetica Times-Roman字体不能嵌入
- LaTeX的每种字体属性
- matlab绘图的线型
- Matlab的绘图效果
- ios 关于如何获取iphone或iPad的ip地址
- 如何删掉Zbrush中模型的部分面
- github简要使用
- 一张图读懂Java多线程
- Unity保存录音文件到本地(1)
- LaTeX 嵌入MATLAB 绘图的字体
- 对极几何约束、基本矩阵求解、求极线
- Android Archtecturing...Clean Method
- Chrome无法使用Unity Web Player的解决方案
- MySQL对标准SQL的扩展
- QT中QSignalMapper类信号转发器的使用和说明
- zstu 2552 马棚问题
- 基于s3c2440平台rt3070芯片工作在station模式
- 走进OpenCV,领略视觉之美.2