mordekai的个人博客分享 http://blog.sciencenet.cn/u/mordekai

博文

从LyX到LaTeX,论文插图格式:从PDF到EPS

已有 7196 次阅读 2017-6-23 23:18 |个人分类:教学与研究|系统分类:论文交流|关键词:学者| LaTex, eps, pdf, LyX

本文源码下载:MakeTex-RenameEps.zip

1      问题

习惯了LyX的高效的论文撰写方式(所见即所得),习惯了直接把论文中的插图打印成PDF的方式。然而,不管你的习惯如何,在LaTeX界,大家认可的标准格式是:.tex(论文正文)+.eps(论文插图)。

把.lyx文件转成.tex文件容易,但把.tex转成.lyx不易;把插图打印成pdf容易,但把pdf转成eps不易。


这次提交论文,在图片格式的转换上(pdf-->eps)吃尽了苦头:

1.      lyx直接转成的eps基本不能看;

2.      用之前颇受好评的pdffly转换也总是会出现图片失真的状况;

3.      用专业版的Acrobat PDF总是可以了吧?但尝试了半天,生成的DPF中的图片要么是不够漂亮,要么是只有一半显示出来了,另一半却不见了。

2      解决方案

就在要放弃的时候,突然发现:并非是pdf转eps出问题了,而是自己不会使用latex的编译工具。正确的方式,请参考:

1.      http://bbs.ctex.org/forum.php?mod=viewthread&tid=78236(我是从这里得到答案的)

2.       https://www.zhihu.com/question/30640888

3.      https://liam0205.me/2015/06/01/returned-exit-code-not-0/


一点感叹:

这个要感谢贺博士,他把我认为不可能转成漂亮eps格式的图片转成功了,于是后面的问题就迎刃而解了。有时候感觉差距实在源于自信:并不是我们做不到,而是没有自信,当有人告诉你:这个可以,于是,你自己就真的可以了。

2.1    将pdf转成eps的过程

1.  将所有的.pdf图片文件合并为一个pdf文件,命名为“组合.pdf”(注意,这些被合并的pdf图片文件要按照名称(字母顺序)进行排序);

2.  将“组合.pdf”另存为.eps文件(注意:"组合.pdf"文件中的每一个页面会被单独保存为一个.eps文件);

3.使用下面的Matlab脚本对所有的.eps文件重命名:

rename_eps_by_pdf.m(直接拷贝可能有误,请从此处下载:rename_eps_by_pdf.m

clear

eps.path = 'E:\Academic\2016-04-Normalizedfaces\IET\fig';

pdf.path = 'E:\Academic\2016-04-Normalizedfaces\IET\fig';

eps.files =  dir(fullfile(eps.path, '组合*.eps'));

pdf.files =  dir(fullfile(pdf.path, '*.pdf'));

eps.files =  {eps.files(:).name}';

pdf.files =  {pdf.files(:).name}';

% sort pdf  file names

[~, idx] =  sortrows(lower(pdf.files));

pdf.files =  pdf.files(idx);

for i = 1 : length(eps.files)

   [~, newname] = fileparts(pdf.files{i});

   command = sprintf('rename "%s" "%s.eps"', fullfile(eps.path, eps.files{i}), newname);

   status = system(command);

end

2.2    将latex编译为pdf的bat脚本

make.bat(直接拷贝可能有误,请从此处下载:make.bat

@echo off

for /r %%i in (*.tex) do(

echo "%%~di%%~pi%%~ni"

rem set FileName=%i:~0,-4%

latex "%%~di%%~pi%%~ni".tex

bibtex "%%~di%%~pi%%~ni".aux

latex "%%~di%%~pi%%~ni".tex

latex "%%~di%%~pi%%~ni".tex

dvips "%%~di%%~pi%%~ni".dvi

ps2pdf "%%~di%%~pi%%~ni".ps

)

del*.aux /s

del*.bbl /s

del*.blg /s

del*.bak /s

del*.log /s

del*.dvi /s

del*.ps /s

del*.thm /s

del*.toc /s

del*.out /s

del*.lof /s

del*.lot /s

del*.synctex.gz /s

del*.synctex.gz(busy)  /s

pause




https://m.sciencenet.cn/blog-1338462-1062590.html

上一篇:软件测试中为什么需要使用类似于EasyMock这样的Mock工具?
下一篇:美国看牙小记

1 卫圆

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-19 03:11

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部