﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-sk8boy-文章分类-LaTeX</title><link>http://www.blogjava.net/sk8boy/category/870.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 12:25:51 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 12:25:51 GMT</pubDate><ttl>60</ttl><item><title>convert+批处理文件实现png2eps转换</title><link>http://www.blogjava.net/sk8boy/articles/2458.html</link><dc:creator>思考</dc:creator><author>思考</author><pubDate>Fri, 25 Mar 2005 18:20:00 GMT</pubDate><guid>http://www.blogjava.net/sk8boy/articles/2458.html</guid><wfw:comment>http://www.blogjava.net/sk8boy/comments/2458.html</wfw:comment><comments>http://www.blogjava.net/sk8boy/articles/2458.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/sk8boy/comments/commentRss/2458.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sk8boy/services/trackbacks/2458.html</trackback:ping><description><![CDATA[<P>边学习LaTeX，边把自己的毕业论文从原先的Word文档改成LaTeX的。进度比较慢<IMG height=19 src="http://www.blogjava.net/Emoticons/red_smile.gif" width=19 border=0>，所以现在菜开始向文档中加入图片。因为以前作图用的是Visio 2003，所以考虑怎样将图片格式转换成eps的。<BR><BR>因为Visio 2003不能将图片直接另存为eps格式的，所以开始只选择了另存为png的。但是又如何将png格式的图片转换位eps的呢？这个我想了半天。后来尝试使用Adobe的Acrobat 7.0对其进行转换，首先保存为pdf格式的，后来有另存为eps的。高兴ed，可是插入tex文档的时候发现出了问题。发现一个页面里面只有一张图片。所以翻开LaTeX graphics又看了看，才发可能是eps文件格式的问题。<BR><BR>但是用UltraEdit打开看了看又Acrobat生成的这个文件，虽然多了很多其他的东西，但是BoundingBox的值是对的。不知道为什么会发生这种情况。后来下载安装了ImageMagick，它有一个图片浏览器，可以看eps文件。用这个浏览器打开发现，Acrobat生成的eps文件居然被放在了屏幕的中间（应该是放在左下角的）。因为对eps文件的语法规范不是很熟，所以没有搞懂是怎么回事。<BR><BR>后来在ImageMagick里面找到了convert这个工具，试着用了一下，结果可以生成我想要的eps文件了。但是又面临的一个问题是我又很多png文件需要转换，不想一个一个调用命令。也是尝试使用命令：</P>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">convert  </SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">.png  </SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">.eps</SPAN></DIV></DIV>
<P>但是生成的文件名都乱了，都被改成数字编号了。怎么办呢？所以就想着自习写一个程序来完成，但是转念一想，为什么不用DOS的批处理文件试一试呢，说不定也可以搞定。<BR><BR>可是面临的问题是不知道怎么得到一个文件的文件名（没有.和后缀）。在网上看了几篇关于批处理命令的文章，发现写得都差不多。而且也没有找到我想要的（其实当时看露了，是有的）。正当我在郁闷的时候，同学告诉我Windows XP自带的帮助里面就有DOS下批处理的命令的语法介绍。于是我就如获至宝的开始看来起来。果然被我找到了，而且比网上的要好理解一些。下面就是我写得一个简单的程序：</P>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">echo off<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">for</SPAN><SPAN style="COLOR: #000000">  </SPAN><SPAN style="COLOR: #000000">%%</SPAN><SPAN style="COLOR: #000000">f  </SPAN><SPAN style="COLOR: #0000ff">in</SPAN><SPAN style="COLOR: #000000">  (</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">.png)  </SPAN><SPAN style="COLOR: #0000ff">do</SPAN><SPAN style="COLOR: #000000">  convert  </SPAN><SPAN style="COLOR: #000000">%%</SPAN><SPAN style="COLOR: #000000">f   </SPAN><SPAN style="COLOR: #000000">%%~</SPAN><SPAN style="COLOR: #000000">nf.eps<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>pause</SPAN></DIV></DIV><BR>嘿嘿，搞定了！<BR><BR>不过后来有在网上发现了<FONT face=Arial><A href="http://www.hooklee.com/tex/xConvert.zip">xConvert</A></FONT>这个软件，是用C写的。它对GhostView和ImageMagick进行了封装，通过命令行可以方便的实现上述功能。当然还有其他更强大的功能等着你去发现啊！<BR><BR>今天有安装了TechSmith公司的SnagIt，发现这个软件除了可以抓屏外，也可以方便地将png格式转换成eps格式。<img src ="http://www.blogjava.net/sk8boy/aggbug/2458.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sk8boy/" target="_blank">思考</a> 2005-03-26 02:20 <a href="http://www.blogjava.net/sk8boy/articles/2458.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>