<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Frinkytown</title>
	<atom:link href="http://frinkytown.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://frinkytown.wordpress.com</link>
	<description></description>
	<lastBuildDate>Thu, 17 Apr 2008 03:38:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='frinkytown.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Frinkytown</title>
		<link>http://frinkytown.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://frinkytown.wordpress.com/osd.xml" title="Frinkytown" />
	<atom:link rel='hub' href='http://frinkytown.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Just shut up</title>
		<link>http://frinkytown.wordpress.com/2008/04/17/just-shut-up/</link>
		<comments>http://frinkytown.wordpress.com/2008/04/17/just-shut-up/#comments</comments>
		<pubDate>Thu, 17 Apr 2008 03:38:49 +0000</pubDate>
		<dc:creator>frinkytown</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://frinkytown.wordpress.com/?p=5</guid>
		<description><![CDATA[If you&#8217;re one of those people who sings while you&#8217;re walking around in public, please just stop it. You annoy almost everyone. It doesn&#8217;t matter how well you sing.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=frinkytown.wordpress.com&amp;blog=727378&amp;post=5&amp;subd=frinkytown&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re one of those people who sings while you&#8217;re walking around in public, please just stop it.  You annoy almost everyone.  It doesn&#8217;t matter how well you sing.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/frinkytown.wordpress.com/5/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/frinkytown.wordpress.com/5/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/frinkytown.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/frinkytown.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/frinkytown.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/frinkytown.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/frinkytown.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/frinkytown.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/frinkytown.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/frinkytown.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/frinkytown.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/frinkytown.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/frinkytown.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/frinkytown.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/frinkytown.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/frinkytown.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=frinkytown.wordpress.com&amp;blog=727378&amp;post=5&amp;subd=frinkytown&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://frinkytown.wordpress.com/2008/04/17/just-shut-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/753a94ffc41b199664e9df31f04b86a5?s=96&#38;d=identicon" medium="image">
			<media:title type="html">frinkytown</media:title>
		</media:content>
	</item>
		<item>
		<title>Copy-and-paste follow-up</title>
		<link>http://frinkytown.wordpress.com/2007/04/14/copy-and-paste-follow-up/</link>
		<comments>http://frinkytown.wordpress.com/2007/04/14/copy-and-paste-follow-up/#comments</comments>
		<pubDate>Sat, 14 Apr 2007 04:53:51 +0000</pubDate>
		<dc:creator>frinkytown</dc:creator>
				<category><![CDATA[Matlab]]></category>

		<guid isPermaLink="false">http://frinkytown.wordpress.com/2007/04/14/copy-and-paste-follow-up/</guid>
		<description><![CDATA[There have been some comments on my maiden blog post, and some discussion of it on the comp.soft-sys.matlab newsgroup. Many people suggested workarounds for some of my complaints. So I thought I&#8217;d add some follow-up comments. Thanks to everyone who suggested workarounds. But I want to emphasise that I don&#8217;t want a workaround &#8212; I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=frinkytown.wordpress.com&amp;blog=727378&amp;post=4&amp;subd=frinkytown&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There have been some comments on my maiden blog post, and some discussion of it on the comp.soft-sys.matlab newsgroup.  Many people suggested workarounds for some of my complaints.  So I thought I&#8217;d add some follow-up comments.</p>
<p>Thanks to everyone who suggested workarounds.  But I want to emphasise  that I don&#8217;t want a workaround &#8212; I want Matlab to do the right thing  out of the box.  And although I didn&#8217;t get into this in my original  post, I&#8217;ve already spent entirely too much of my life trying different  ways of getting figures out of Matlab and into Word.  And this is just hugely frustrating, especially since the year is currently 2007, and  you&#8217;d think this sort of thing would &#8220;just work&#8221; by now.</p>
<p>But given that things don&#8217;t &#8220;just work&#8221;, here&#8217;s my current favorite  workaround: I use the &#8220;print&#8221; command to save figures as Encapsulated Postscipt (with the renderer set to painters), use Ghostscript to  rasterize them to PNG images at 300 DPI (with antialiasing), and then  import them into Word.  This produces beautiful images, which look nice  onscreen, and also look reasonably good when printed.  The print quality  isn&#8217;t as good as if I had just imported the EPS files directly into Word, and of course it&#8217;s very cumbersome (compared to Ctrl-C, Ctrl-V), but the onscreen quality is much better, and after much deliberation I&#8217;ve decided this is the tradeoff I dislike the least.</p>
<p>So, for my favorite method, here are the pros and cons:</p>
<p>Pros:</p>
<ul>
<li>Optimal on-screen quality</li>
<li>Good print quality</li>
</ul>
<p>Cons:</p>
<ul>
<li>Print quality, though good, is suboptimal</li>
<li>Cumbersome</li>
</ul>
<p>Okay, so that&#8217;s the solution I like.  What about all the other possible  solutions?  What are the pros and cons of them?  I&#8217;ll go list these for  a number of methods below, but first let me state what I want from a  perfect solution:</p>
<ul>
<li>As fast as Ctrl-C, Ctrl-V</li>
<li>Perfect print quality: I want the figure to look the same when I print my Word document as it would if I printed it directly from Matlab.  In practice, this means that the format used to interchange the figure has to be a vector format (and it <em>probably</em> has to be Postscript if it&#8217;s to work really reliably).</li>
<li>Perfect onscreen quality: When I look at the Word document onscreen, I want the quality to be at least as good as when I&#8217;m looking at the figure in Matlab.  (Actually, using the method above the figures often look better in Word than they go in Matlab, because Ghostscript can be made to do better antialiasing that Matlab does!)</li>
<li>What You See Is What You Get (WYSIWYG): The figure should look the same in Word as it does on-screen in Matlab.  Exactly the same.<a href="#footnote">*</a></li>
</ul>
<p>Okay, on with the list!  (I should mention that this is all based on my experiences using Matlab R2006b and earlier under Windows XP and earlier.)</p>
<hr /><em>Method: Just do Ctrl-C, Ctrl-V!</em></p>
<p>Cons:</p>
<ul>
<li>Doesn&#8217;t work (see previous post)</li>
</ul>
<hr /><em>Method: Do Copy Figure (as bitmap), then paste into Word</em></p>
<p>Pros:</p>
<ul>
<li>Pretty fast</li>
</ul>
<p>Cons:</p>
<ul>
<li>Not as fast as it could be</li>
<li>Figure is at screen resolution, which is lousy</li>
</ul>
<hr /><em>Method: Do Copy Figure (as metafile), then paste into Word</em></p>
<p>Pros:</p>
<ul>
<li>Pretty fast</li>
</ul>
<p>Cons:</p>
<ul>
<li>Not as fast as it could be</li>
<li>Metafile &#8220;resolution&#8221; is the screen resolution, which is lousy</li>
<li>Word draws metafiles slowly, and with no antialiasing</li>
</ul>
<p>Comments:</p>
<p>Some will object that Windows metafiles, being a vector format, have    effectively infinite &#8220;resolution&#8221;.  Sadly, this is not the case. While    that&#8217;s basically true of most vector formats (like Encapsulated    Postscript), Windows metafiles specify the coordinates of all vector    objects as distances measured in pixels, and fractional pixels are not    allowed. The file format specifies the size of the image in physical    units (millimeters, as it happens) and in pixels, and then all of the    vectorial descriptions of where to draw things are all in (integer)    pixels.  So you can achieve resolutions that are as high as you would    like (by setting the size of the image in pixels to be something very    big), but it still makes sense to talk about the the &#8220;resolution&#8221; of a    metafile. And when you &#8220;Copy Figure&#8221;, the size in physical units is    the on-screen size (in mm), and the size in pixels is the on-screen    size in pixels.  Hence, screen resolution.Furthermore, Word seems to handle metafile drawings like the proverbial red-headed stepchild.  A metafile with many elements is slow to draw, and there is no anti-aliasing.</p>
<hr /><em>Method: Do &#8220;print -dmeta -r1000&#8243;, then paste into Word</em></p>
<p>Cons:</p>
<ul>
<li>Doesn&#8217;t work</li>
</ul>
<p>Comments:</p>
<p>In theory, the &#8220;-r1000&#8243; is to make sure you get vector objects with precisely-placed endpoints.  Sadly, this method elicits a bug in Matlab (<a href="http://www.mathworks.com/support/bugreports/details.html?rp=346322">Bug Report 346322</a>, unfortunately a login is required to view it).  It seems to sometimes work once, but then elicits an error the second time you try it.  (Late update: The Mathworks seems to have addressed this in R2007a by just having &#8220;print -dmeta&#8221; ignore the &#8220;-r&#8221; switch, and just output it at the screen resolution.  Way to punt, guys, way to punt.)</p>
<hr /><em>Method: Do &#8220;print -dbitmap -r300&#8243;, then paste into Word</em></p>
<p>Cons:</p>
<ul>
<li>Doesn&#8217;t work</li>
</ul>
<p>Comments:</p>
<p>This elicits the same bug in Matlab as the previous method.  (This    also seems to have been not-fixed in R2007a, see above.)</p>
<hr /><em>Method: Do &#8220;print -dtiff -r300 my_tiff_file&#8221;, then insert file into Word</em></p>
<p>Pros:</p>
<ul>
<li>Fair on-screen quality</li>
<li>Fair print quality</li>
<li>Faster than rendering to an image via Ghostscript</li>
</ul>
<p>Cons:</p>
<ul>
<li>Print quality suffers because image is not anti-aliased</li>
</ul>
<hr />So, there you have it.  All the methods for getting figures out of  Matlab and into Word are suboptimal.  The Mathworks should fix this as  soon as possible.</p>
<p><a title="footnote" name="footnote"></a>* There&#8217;s a little bit of an issue here, because of the way Matlab handles the printing of figures.  With the default settings, Matlab figures sometimes look different when printed then they do on-screen, because Matlab has both an on-screen size for the figure and a    completely independent printed size.  And even if you set these to be identical, Matlab still re-optimizes the tick marks and other things when you print.  In my opinion, Matlab should jettison all of this stuff and just support What You See Is What You Get (WYSIWYG) printing of figures.  (Or at least have that be the default.)  It would just simplify everything.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/frinkytown.wordpress.com/4/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/frinkytown.wordpress.com/4/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/frinkytown.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/frinkytown.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/frinkytown.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/frinkytown.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/frinkytown.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/frinkytown.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/frinkytown.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/frinkytown.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/frinkytown.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/frinkytown.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/frinkytown.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/frinkytown.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/frinkytown.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/frinkytown.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=frinkytown.wordpress.com&amp;blog=727378&amp;post=4&amp;subd=frinkytown&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://frinkytown.wordpress.com/2007/04/14/copy-and-paste-follow-up/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/753a94ffc41b199664e9df31f04b86a5?s=96&#38;d=identicon" medium="image">
			<media:title type="html">frinkytown</media:title>
		</media:content>
	</item>
		<item>
		<title>Matlab copy-and-paste: Still broken after all these years</title>
		<link>http://frinkytown.wordpress.com/2007/01/29/matlab-copy-and-paste-still-broken-after-all-these-years/</link>
		<comments>http://frinkytown.wordpress.com/2007/01/29/matlab-copy-and-paste-still-broken-after-all-these-years/#comments</comments>
		<pubDate>Mon, 29 Jan 2007 06:09:56 +0000</pubDate>
		<dc:creator>frinkytown</dc:creator>
				<category><![CDATA[Matlab]]></category>

		<guid isPermaLink="false">http://frinkytown.wordpress.com/2007/01/29/matlab-copy-and-paste-still-broken-after-all-these-years/</guid>
		<description><![CDATA[Copy-and-paste is one of the fundamental innovations brought to us by the transition from text-based user interfaces to graphical user interfaces (GUIs). GUIs have been in mainstream use since the introduction of the Macintosh in 1984, so it comes as something of a surprise to learn that Matlab’s copy-and-paste functionality is still deeply broken, twenty [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=frinkytown.wordpress.com&amp;blog=727378&amp;post=3&amp;subd=frinkytown&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Copy-and-paste is one of the fundamental innovations brought to us by the transition from text-based user interfaces to graphical user interfaces (GUIs).  GUIs have been in mainstream use since the introduction of the Macintosh in 1984, so it comes as something of a surprise to learn that Matlab’s copy-and-paste functionality is still deeply broken, twenty years later.</p>
<p>Suppose I want to take a Matlab figure, copy it to the clipboard, and then paste it into a Word document.  Furthermore, suppose that I want it to look decent if I then print the Word document.  To make this happen, the image that is copied to the clipboard has to have a resolution of at least 300 dots per inch (DPI).  Even the first laser printers printed at 300 DPI, and current laser printers typically print at 600 DPI.  Typical monitor resolutions are much lower — even a good LCD monitor today is typically only 100 DPI.  So copying my figure into Word at the monitor resolution is just not going to cut it.  A 100 DPI image looks terrible when printed.  I need it to be at 300 DPI at least, and I might very well want it to be higher.</p>
<p>So, when I select “Copy figure…” from my figure’s Edit menu, I want a 300 DPI image of what’s on my screen copied to the clipboard, so then when I go and do Edit &gt; Paste in Word, I get a beautiful 300 DPI image in my Word document.  You’d think this wouldn’t be that much to ask, right?  I want to take my Matlab figure, paste it into a Word document, and have it not look like crap when printed.  Surely, more than twenty years since the advent of the graphical user interface, what-you-see-is- what-you-get, and desktop publishing, this is all old hat for any application worth its salt.  Right?  Well, not so much…</p>
<p>In Matlab, there is no way to get “Copy Figure” to produce a bitmap that is at any resolution other than the screen resolution (as of R2006b in Windows XP).  In the preferences, you can configure several aspects of Matlab’s copy-and-paste behavior, but not the resolution of the final bitmap.  You always get it at the screen resolution, which is almost never adequate.  Roughly twenty years after this capability <em>should</em> have been part of Matlab, it’s still not present.</p>
<p>On the whole, I think Matlab is a beautiful piece of software.  I use it every day, and most of the time I enjoy the heck out of it.  It’s very simple and very powerful.  But when I’m done analyzing my data, I almost always want to take a figure from Matlab and export it to some other program.  This is <em>exactly</em> what copy-and-paste is for, but Matlab’s implementation of copy-and-paste is so broken that I always end up saving my figure to a file and then importing that file into the target application, which takes about ten times as long as copy-and-paste would.  If I only did this once a month, it probably wouldn’t make me as insane as it does.  But I do it maybe ten times a day, almost every day.  Twenty years ago, some wise person at Apple (or maybe Xerox PARC) had exactly the same problem, and invented a solution for it: copy-and-paste.  But twenty years later, The Mathworks still hasn’t gotten the memo.</p>
<p>This should be fixed in the next release of Matlab.  It should have been fixed a long, long time ago, so fixing it now is really the least The Mathworks could do.  If Cleve Moler were here, he would say the same thing.</p>
<p>And another thing: Why do I even have to do Edit &gt; Copy figure to do the copy?  Why not just Ctrl-C, like every other application on the planet?  In Matlab figures, for some reason, Ctrl-C is used when you decide to edit a figure, and select some element of the figure you want copied to the clipboard.  I myself have never used this functionality, and I don’t think I’m the only one.  Has The Mathworks looked at how often that’s used compared to “Copy figure”?  I would bet almost anything that “Copy figure” is the more commonly used function.  If I’m right, it seems like it should be bound to Ctrl-C, not that other function.  And in any case, couldn’t Ctrl-C be bound to “Copy figure” if the figure is not being edited?</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/frinkytown.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/frinkytown.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/frinkytown.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/frinkytown.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/frinkytown.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/frinkytown.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/frinkytown.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/frinkytown.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/frinkytown.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/frinkytown.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/frinkytown.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/frinkytown.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/frinkytown.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/frinkytown.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/frinkytown.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/frinkytown.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=frinkytown.wordpress.com&amp;blog=727378&amp;post=3&amp;subd=frinkytown&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://frinkytown.wordpress.com/2007/01/29/matlab-copy-and-paste-still-broken-after-all-these-years/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/753a94ffc41b199664e9df31f04b86a5?s=96&#38;d=identicon" medium="image">
			<media:title type="html">frinkytown</media:title>
		</media:content>
	</item>
	</channel>
</rss>
