<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>metapost &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/metapost/</link>
	<description>Feed of posts on WordPress.com tagged "metapost"</description>
	<pubDate>Sat, 28 Nov 2009 07:14:54 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Update Revisited]]></title>
<link>http://ifthiswereeasy.wordpress.com/2009/11/25/update-revisited/</link>
<pubDate>Wed, 25 Nov 2009 17:04:50 +0000</pubDate>
<dc:creator>Easy</dc:creator>
<guid>http://ifthiswereeasy.wordpress.com/2009/11/25/update-revisited/</guid>
<description><![CDATA[The one thing I forgot to mention about my trip home: I had to buy a belt until my mother took in th]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>The one thing I forgot to mention about my trip home:</p>
<p>I had to buy a belt until my mother took in the waist bands on my pants. </p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[An Update]]></title>
<link>http://ifthiswereeasy.wordpress.com/2009/11/24/an-update/</link>
<pubDate>Wed, 25 Nov 2009 02:27:16 +0000</pubDate>
<dc:creator>Easy</dc:creator>
<guid>http://ifthiswereeasy.wordpress.com/2009/11/24/an-update/</guid>
<description><![CDATA[Contrary to the usual wisdom that someone who isn&#8217;t keeping their diet blog also isn&#8217;t k]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Contrary to the usual wisdom that someone who isn&#8217;t keeping their diet blog also isn&#8217;t keeping their diet, I actually am keeping my diet for the most part (just ignore those days last week when I was drinking). It&#8217;s just that &#8216;Ayep, I kept my diet again today&#8217; doesn&#8217;t exactly make for exciting blog posts, you know? </p>
<p>So, some comments from my vacation, some of which have already been mentioned in status updates, but which I&#8217;m recording for posterity anyway. </p>
<p>I missed a few days of exercising while I was away because a) my mother only goes to the pool during the week and b) I had the cold from hell for the first week. That said, I came home 7 pounds lighter than when I went out west 10 days prior, so I&#8217;ll take it. I wonder how much of that weightloss was from my body trying to keep itself warm while I was watching curling, but I don&#8217;t really care. I&#8217;ll take the pounds however they want to come off. </p>
<p>I also managed to come home almost completely free of jetlag. As it turns out, my mother basically lives on my schedule except that it&#8217;s 3 hours earlier her time. While I&#8217;m in my 9:30 aquafit class, she&#8217;s in her 6:30 aquafit class. The only thing is that going to bed at 10pm vs. midnight means an hour less sleep and a lot more exhaustion.</p>
<p>Easily the best moment while I was away was when my mother told me she didn&#8217;t think I would be able to swim laps in the 50 meter pool. Admittedly, I had my own doubts on that subject, but hell if I was going to let her be right about something like that. So I swam 10 laps / 20 lengths, just to make a point. Then, in a truly classy move, I rubbed it in all that day and part of the next. </p>
<p>I did try swimming laps with fins while I was there, as well, but man, that was hard. I don&#8217;t normally use my legs a lot when I swim and bringing them into play was more tiring. Plus, I had to slow my arm stroke down to match my leg stroke, which meant breathing less. I was moving faster, so 8 laps only took about 1/2 an hour, vs an hour for 10. But by the time I had finished those 8 laps, I was exhausted and had to stop. That, and I butchered my left ankle with the fins, something that took about 5 days to fully recover. </p>
<p>One interesting aspect of getting back was all the comments I got at the gym about having been away. It&#8217;s nice to have established enough regularity that my absence was noticed. Plus, on my first morning back at training, someone told me I was &#8216;really working&#8217; on the treadmill. Given that I was only warming up at the time, I can only assume she doesn&#8217;t know what really working a treadmill looks like, but I&#8217;m trying to take that as a non-delusional compliment. </p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Metapost: Happy Thanksgiving, all!]]></title>
<link>http://webcomicoverlook.com/2009/11/24/metapost-happy-thanksgiving-all/</link>
<pubDate>Tue, 24 Nov 2009 16:23:41 +0000</pubDate>
<dc:creator>El Santo</dc:creator>
<guid>http://webcomicoverlook.com/2009/11/24/metapost-happy-thanksgiving-all/</guid>
<description><![CDATA[It&#8217;s time for the Holidays again. It&#8217;s already been fantastically hectic the last two we]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>It&#8217;s time for the Holidays again.  It&#8217;s already been fantastically hectic the last two weeks: putting up the Christmas lights, transforming the house with red and green decor, going to a model train expo to buy a fantastic Lionel set for under the tree, getting a tree, etc.  And we still have to put up the tree decorations before we entertain guests on Thursday.  (Plus, on a less strenuous note, I&#8217;m doing a writing project with other folks online on the side.  Not NaNoWriMo&#8230; but comparable.)  As a result, the Webcomic Overlook will be running on a very spotty schedule from now until the end of the year.</p>
<p>Still, I don&#8217;t plan on being entirely dormant.  I hope to get reviews out for the following webcomics, at least:  </p>
<ul>
<p>	<em><strong>
<li><a href="http://www.zudacomics.com/azure"><em>Azure</em></a></li>
<li><a href="http://www.th3rdworld.com/web-comic/The-SuperFogeys">The SuperFogeys</a></li>
<li><a href="http://deadwinter.cc/">Dead Winter</a></li>
<p></strong></em>
</ul>
<p>Thanks to everyone who sent in recommended reading!  I hope you understand that I probably won&#8217;t get around to them before the year is over.</p>
<p>Happy Thanksgiving to you American readers!  Go forth and eat some turkey, hang out with the family, and watch the Detroit Lions lose for the 9th time this year.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Il fiocco di Von Koch in METAPOST]]></title>
<link>http://robitex.wordpress.com/2009/11/23/il-fiocco-di-von-koch-in-metapost/</link>
<pubDate>Mon, 23 Nov 2009 20:27:45 +0000</pubDate>
<dc:creator>robitex</dc:creator>
<guid>http://robitex.wordpress.com/2009/11/23/il-fiocco-di-von-koch-in-metapost/</guid>
<description><![CDATA[La curva di Von Koch Il bellissimo fiocco di neve di Niels Fabian Helge von Koch, matematico svedese]]></description>
<content:encoded><![CDATA[La curva di Von Koch Il bellissimo fiocco di neve di Niels Fabian Helge von Koch, matematico svedese]]></content:encoded>
</item>
<item>
<title><![CDATA[Hypertattoo]]></title>
<link>http://greglandgraf.wordpress.com/2009/11/22/hypertattoo/</link>
<pubDate>Mon, 23 Nov 2009 01:56:40 +0000</pubDate>
<dc:creator>greglandgraf</dc:creator>
<guid>http://greglandgraf.wordpress.com/2009/11/22/hypertattoo/</guid>
<description><![CDATA[You’re from another planet,” Carla declared, awed. “Sort of,” Nathan acknowledged. “I guess. In a wa]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>You’re from another planet,” Carla declared, awed.</p>
<p>“Sort of,” Nathan acknowledged. “I guess. In a way. But not exactly.”</p>
<p>Carla harrumphed. “Do you live on a planet?” she barked.</p>
<p>“Yes.</p>
<p>“Is it this one?”</p>
<p>Nathan shook his head, no.</p>
<p>“Then you come from another planet.” Carla topped this statement off with a self-satisfied smile and nod.</p>
<p>“But that’s not precisely true,” Nathan protested. “It’s not so much that I come from another planet as it is that I come from another dimension.”</p>
<p>“You come from time?” Marty piped in, half-facetious and half-disbelieving. Nathan and Carla greeted the statement with their own mixture of confusion and anger, so he felt the need to explain. “The fourth dimension, you know? Time. Isn’t that what scientists say?”</p>
<p>“Scientists are wrong,” Nathan said, letting the words thud their way into the conversation.</p>
<p>“It’s a coexisting reality,” Carla offered. “They must be made of neutrinos or tachyons or something like that, right?”</p>
<p>Carla was, at least, closer. “It’s more that your three dimensions are a very small subset of ours,” Nathan explained. “We’re aware of you, even though you’re not aware of us.”</p>
<p>“You’re like a security guard at the mall,” Marty said. “You can see everyone, because you’ve got video monitors trained on everything, but we don’t know that you exist unless we see the big upside-down silver dome thing that looks like it’s supposed to be decorative and realize that there’s probably a camera inside it. Right?”</p>
<p>“Those upside-down silver domes have cameras inside them?” Nathan asked, shocked. “They are not very good, then. I steal from stores all the time. I guess it’s a fair metaphor, though. It’s easy—well, not that difficult, at least—to come here from Tivoli, because we know where we need to go. Getting back isn’t so easy, because my home lies in a direction that doesn’t so much exist. I mean, it sort of exists, because it must somehow, and I can almost even see it, sort of over there.” Nathan pointed to a space behind, above, and to the left of him, but to get there he twisted and coiled his arms enough to suggest it had at least two more joints than it actually did.</p>
<p>“So it’s a one-way trip,” Marty suggested.</p>
<p>“That’s not precisely true,” Nathan replied, with much the same inflection as before. “It’s more just that I can’t return. There is equipment that will sort of act as a tether to my dimension, or a guiderope, or something. I don’t know anything about how it actually works, just what it does. And that they were pretty clear that my ship wouldn’t have one.”</p>
<p>Marty figured this meant that Nathan was stuck on Earth and might as well just make the best of it, and was about to say so, but Carla was a bit quicker. “Another dimension. What’s it like?”</p>
<p>“It’s like…” Nathan’s brows furrowed and he scratched his cheek in consideration of how to boil the enormity of the question down to a concept that words could possibly convey. “It’s like if you had a tattoo that was of yourself on yourself, but the tattoo was a hundred and twenty-five percent scale.”</p>
<p>Carla gestured with her fingers in an attempt to work out the spatial relations of this declaration. She eventually managed to, in her mind at least. “Hypertattoo,” she intoned, as reverently as a bishop might discuss the Shroud of Turin.</p>
<p>“All very well,” interrupted Marty, significantly less reverently. “But if you can’t get back, then exactly what is it that you want us to do?”</p>
<p>*****</p>
<p>This is something I&#8217;ve worked up for <em>Exile Issues</em>, although I&#8217;m not sure that I&#8217;m going to be using it in anything resembling this form.</p>
<p>The basic story of the book is that Nathan, a man from another dimension, is exiled to ours, and attempts to get back to his. His dimension has four, uh, spatial dimensions, and while it&#8217;s relatively simple to get from his to ours, getting back is much harder. This is a first attempt to explain how that works.</p>
<p>Apart from the tattoo line and the security guard line, though, I suspect this won&#8217;t make the final cut. I&#8217;ve got an idea of how I want to do it; the information will come from the narrator and discuss all of the known dimensions and their attitudes toward those below them.</p>
<p>*****</p>
<p>Also, in metaposty-news: I&#8217;ve added a list of links and added a section to announce what I&#8217;m reading. The first is because I like them, and the second is mostly to hold myself accountable to constantly be reading. It&#8217;s fundamental, right? Both are in the right-hand sidebar.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[36]]></title>
<link>http://othemts.wordpress.com/2009/11/18/36/</link>
<pubDate>Wed, 18 Nov 2009 13:34:24 +0000</pubDate>
<dc:creator>Liam</dc:creator>
<guid>http://othemts.wordpress.com/2009/11/18/36/</guid>
<description><![CDATA[36 years ago today I entered into the world.  I celebrated last night by staying up late working on ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>36 years ago today I entered into the world.  I celebrated last night by staying up late working on an assignment for a course that was due last week.  Now that really made me feel like I was 18 again!  Of course, I&#8217;m really again 18 and shouldn&#8217;t be doing things like that as a responsible adult who lacks the resiliency to recover from all-nighters.  Especially with a two-year old who likes to shout &#8220;Wake up Daddy!&#8221;</p>
<p>Anyhow, 35 was a good year.  36 is looking exciting already.  Happy birthday to me!</p>
<p>&#160;</p>
<p>Previously:</p>
<ul>
<li><a href="http://othemts.wordpress.com/2007/11/18/im-the-birthday-im-the-birthday-boy-or-girl/" target="_blank">34</a></li>
<li><a href="http://othemts.wordpress.com/2008/11/18/35/" target="_blank">35</a></li>
</ul>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Inaugural]]></title>
<link>http://oseiasferreira.wordpress.com/2009/11/16/inaugural/</link>
<pubDate>Mon, 16 Nov 2009 20:02:30 +0000</pubDate>
<dc:creator>oseiasferreira</dc:creator>
<guid>http://oseiasferreira.wordpress.com/2009/11/16/inaugural/</guid>
<description><![CDATA[Fico questionando se ao iniciar este blog vou conseguir discutir questões pertinentes, ou apenas enc]]></description>
<content:encoded><![CDATA[Fico questionando se ao iniciar este blog vou conseguir discutir questões pertinentes, ou apenas enc]]></content:encoded>
</item>
<item>
<title><![CDATA[Il triangolo di Sierpiński con METAPOST]]></title>
<link>http://robitex.wordpress.com/2009/11/07/il-triangolo-di-sierpinski-con-metapost/</link>
<pubDate>Sat, 07 Nov 2009 16:35:11 +0000</pubDate>
<dc:creator>robitex</dc:creator>
<guid>http://robitex.wordpress.com/2009/11/07/il-triangolo-di-sierpinski-con-metapost/</guid>
<description><![CDATA[La ricorsione è sempre la via migliore? A not recursive algorithm for the Sierpinski fractal triangl]]></description>
<content:encoded><![CDATA[La ricorsione è sempre la via migliore? A not recursive algorithm for the Sierpinski fractal triangl]]></content:encoded>
</item>
<item>
<title><![CDATA[Introduzione a METAPOST]]></title>
<link>http://robitex.wordpress.com/2009/11/05/introduzione-a-metapost/</link>
<pubDate>Thu, 05 Nov 2009 17:48:25 +0000</pubDate>
<dc:creator>robitex</dc:creator>
<guid>http://robitex.wordpress.com/2009/11/05/introduzione-a-metapost/</guid>
<description><![CDATA[METAPOST Il linguaggio METAPOST possiede alcune caratteristiche peculiari come la possibilità di ris]]></description>
<content:encoded><![CDATA[METAPOST Il linguaggio METAPOST possiede alcune caratteristiche peculiari come la possibilità di ris]]></content:encoded>
</item>
<item>
<title><![CDATA[The Rube has better things to do.]]></title>
<link>http://gilthorp.wordpress.com/2009/11/05/the-rube-has-better-things-to-do/</link>
<pubDate>Thu, 05 Nov 2009 14:49:48 +0000</pubDate>
<dc:creator>jasbeattie</dc:creator>
<guid>http://gilthorp.wordpress.com/2009/11/05/the-rube-has-better-things-to-do/</guid>
<description><![CDATA[Somewhere in Detroit: Neal: Sorry. Had to go write today&#8217;s Gil Thorp. Chief: Not that you actu]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://gilthorp.wordpress.com/files/2009/11/110509.gif"><img class="alignnone size-full wp-image-2655" title="110509" src="http://gilthorp.wordpress.com/files/2009/11/110509.gif" alt="110509" width="700" height="217" /></a></p>
<p><em>Somewhere in Detroit:</em></p>
<p><strong>Neal: </strong>Sorry. Had to go write today&#8217;s <em>Gil Thorp</em>.<br />
<strong>Chief: </strong>Not that you actually need to do anything.You could just recap the same awful story. Then I&#8217;ll draw prisoners in tight pants for some disturbing reason. I mean really, who cares about this comic?<br />
<strong>Neal: </strong>A comic? The Rube has better things to do.<em><br />
(An awkward high five is exchanged.)</em></p>
<p><em>It&#8217;s also lunchtime at a certain minimum security blog, where one particular blogger is into the third year of his life sentence:</em></p>
<p><strong>Jason:</strong> I sure hope everyone notices my Izod shirt and extra tight pants! Otherwhise I&#8217;ll have a beef with them. Or wait&#8230;will they beef me? In any case, I&#8217;ll beef sure to beef the beef beefingly beefore beef-o-clock. BEEEEEEF!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Monthly Metapost: "What's this, then?"]]></title>
<link>http://greglandgraf.wordpress.com/2009/11/01/monthly-metapost-whats-this-then/</link>
<pubDate>Sun, 01 Nov 2009 14:18:08 +0000</pubDate>
<dc:creator>greglandgraf</dc:creator>
<guid>http://greglandgraf.wordpress.com/2009/11/01/monthly-metapost-whats-this-then/</guid>
<description><![CDATA[My goal is to write novels for a living. Specifically, comedic novels with an occasional science fic]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>My goal is to write novels for a living. Specifically, comedic novels with an occasional science fiction bent. This blog exists primarily for me to share my writing in a fairly shameless act of self-promotion. But hopefully you’ll enjoy the writing, so it will really be a symbiotic thing. Fair enough?</p>
<p>I also perform improv comedy, write and perform in theater and on video, and write music*, so the blog will also contain samples and promotion in those fields, as well as occasional thoughts on the various crafts.</p>
<p>Like what you see? Wonderful! Like what you see and want to help me out? You can: subscribe to the blog (the RSS feed is at the end of the right-hand sidebar) or my Twitter feed (twitter.com/greglandgraf), which right now is pretty much filling the same function. You can also comment, and link to the site, and tell friends who might enjoy my work.</p>
<p>Hate what you see and want to tell me what an idiot I am? Don’t bother. I have a job where I have the joyous opportunity for that any time I want and then some. You don’t want to be redundant, do you?</p>
<p>* “Write music” is perhaps a strong term. I’m an award-winning lyricist (it’s not quite as impressive as it sounds) but pretty much inept at the creating-the-music part. I do plan a heavy push to work on that early in 2010, so perhaps this asterisk will go away in future metaposts.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Testando]]></title>
<link>http://assimdevera.wordpress.com/2009/11/01/testando/</link>
<pubDate>Sun, 01 Nov 2009 01:35:06 +0000</pubDate>
<dc:creator>Helana</dc:creator>
<guid>http://assimdevera.wordpress.com/2009/11/01/testando/</guid>
<description><![CDATA[Disseram que esse tal de WordPress era bem melhor que o blogger.]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Disseram que esse tal de WordPress era bem melhor que o blogger.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[One of these days...]]></title>
<link>http://gilthorp.wordpress.com/2009/10/30/one-of-these-days/</link>
<pubDate>Fri, 30 Oct 2009 13:54:34 +0000</pubDate>
<dc:creator>jasbeattie</dc:creator>
<guid>http://gilthorp.wordpress.com/2009/10/30/one-of-these-days/</guid>
<description><![CDATA[One of these days I&#8217;ll have time to do another blog update, but today just isn&#8217;t it. Sor]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>One of these days I&#8217;ll have time to do another blog update, but today just isn&#8217;t it. Sorry&#8230;! Feel free to comment on <a href="http://www.chron.com/apps/comics/showComic.mpl?date=2009/10/27&#38;name=Gil_Thorp&#38;week=1" target="_blank">what&#8217;s been happening in Milford lately</a>. It does make me feel better that Gil Thorp <a href="http://twitter.com/CoachGilThorp" target="_blank">hasn&#8217;t twittered in nearly two months</a> so I&#8217;m not the only delinquent in this One-Curley-horse tank town&#8230;</p>
<p>Thanks for still reading and commenting, folks! Smell ya soon,</p>
<p>-Deadbeat Blogger</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Customizing LaTeX.tmbundle]]></title>
<link>http://makukha.wordpress.com/2009/10/30/customizing-latex-tmbundle/</link>
<pubDate>Fri, 30 Oct 2009 08:50:15 +0000</pubDate>
<dc:creator>makukha</dc:creator>
<guid>http://makukha.wordpress.com/2009/10/30/customizing-latex-tmbundle/</guid>
<description><![CDATA[TextMate is a great Mac OS X plain text editor with many features and supported coding languages. La]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://macromates.com">TextMate</a> is a great Mac OS X plain text editor with many features and supported coding languages. <a href="www.latex-project.org">LaTeX</a> support (syntax highlighting, commands, code snippets, etc.) in TextMate is provided by the LaTeX Bundle, that is contained in any TextMate installation by default.</p>
<p>LaTeX bundle defines a default shortcut Command+R to show a typesetting status dialog window with some buttons for additional actions – compiling bibliography, building index, previewing, etc. I wanted to have an additional action button to run MetaPost on the file with .mp extension:</p>
<p><img src="http://makukha.wordpress.com/files/2009/10/latextmbundle.png" alt="latextmbundle" title="latextmbundle" width="596" height="63" class="aligncenter size-full wp-image-132" /></p>
<p>To get the desired functionality, LaTeX bundle should be checked out from TextMate SVN and patched. Save the patch <code>Latex.tmbundle.diff</code> (file contents is listed below) to your Desktop and run the following commands in the Terminal:</p>
<pre class="brush: bash;">
$ cd ~/Desktop
$ svn co http://svn.textmate.org/trunk/Bundles/Latex.tmbundle
$ patch -p1 -d Latex.tmbundle &#60; Latex.tmbundle.diff
</pre>
<p>To install updated LaTeX bundle into TextMate, simply double-click patched <code>Latex.tmbundle</code>, press &#8220;Update&#8221; in the dialog window. &#8220;Bundle Editor&#8221; TextMate window will be displayed, you may just close it.</p>
<p>That&#8217;s all. Your modified <code>Latex.tmbundle</code> was moved to <code>~/Library/Application&#160;Support/TextMate/Pristine&#160;Copy/Bundles</code> and installed.</p>
<h3>Latex.tmbundle.diff</h3>
<p><!--more--></p>
<p>The patch below was tested with TextMate 1.5.8, <code>Latex.tmbundle</code> SVN revision 11795 and LaTeX and MetaPost from <a href="http://www.tug.org/mactex">MacTeX-2008</a>.</p>
<pre class="brush: plain;">
diff -Naur Latex.tmbundle/Support/bin/texMate.py Latex.modified.tmbundle/Support/bin/texMate.py
--- Latex.tmbundle/Support/bin/texMate.py	2009-10-30 18:25:23.000000000 +0200
+++ Latex.modified.tmbundle/Support/bin/texMate.py	2009-10-30 18:26:29.000000000 +0200
@@ -140,6 +140,29 @@
         stat = runObj.wait()
     return stat,fatal,error,warning

+def run_metapost(mpostfile=None,texfile=None,verbose=False):
+    &#34;&#34;&#34;Determine targets and run the metapost command&#34;&#34;&#34;
+    # find all the mp files.
+    fatal,err,warn = 0,0,0
+    mpfiles = []
+    if texfile:
+        basename = texfile[:texfile.rfind('.')]
+    if mpostfile == None:
+        mpfiles = [f[:f.rfind('.mp')] for f in os.listdir('.') if re.search('\.mp$',f) &#62; 0]
+    else:
+        mpfiles = [mpostfile]
+    for f in mpfiles:
+        print '&#60;h4&#62;Processing: %s &#60;/h4&#62;' % f
+        runObj = Popen('mpost -interaction=nonstopmode -tex=latex '+shell_quote(f),
+                       shell=True,stdout=PIPE,stdin=PIPE,stderr=STDOUT,close_fds=True)
+        p = MetaPostParser(runObj.stdout,verbose)
+        f,e,w = p.parseStream()
+        fatal&#124;=f
+        err+=e
+        warn+=w
+        stat = runObj.wait()
+    return stat,fatal,err,warn
+
 def findViewerPath(viewer,pdfFile,fileName):
     &#34;&#34;&#34;Use the find_app command to ensure that the viewer is installed in the system
        For apps that support pdfsync search in pdf set up the command to go to the part of
@@ -572,6 +595,9 @@
     elif texCommand == 'index':
         texStatus, isFatal, numErrs, numWarns = run_makeindex(fileName)

+    elif texCommand == 'metapost':
+        texStatus, isFatal, numErrs, numWarns = run_metapost(texfile=fileName)
+
     elif texCommand == 'clean':
         texCommand = 'latexmk.pl -CA '
         runObj = Popen(texCommand,shell=True,stdout=PIPE,stdin=PIPE,stderr=STDOUT,close_fds=True)
@@ -661,6 +687,7 @@
         print '&#60;input type=&#34;button&#34; value=&#34;Re-Run %s&#34; onclick=&#34;runLatex(); return false&#34; /&#62;' % engine
         print '&#60;input type=&#34;button&#34; value=&#34;Run BibTeX&#34; onclick=&#34;runBibtex(); return false&#34; /&#62;'
         print '&#60;input type=&#34;button&#34; value=&#34;Run Makeindex&#34; onclick=&#34;runMakeIndex(); return false&#34; /&#62;'
+        print '&#60;input type=&#34;button&#34; value=&#34;Run MetaPost&#34; onclick=&#34;runMetaPost(); return false&#34; /&#62;'
         print '&#60;input type=&#34;button&#34; value=&#34;Clean up&#34; onclick=&#34;runClean(); return false&#34; /&#62;'
         if viewer == 'TextMate':
             pdfFile = fileNoSuffix+'.pdf'
diff -Naur Latex.tmbundle/Support/bin/texlib.js Latex.modified.tmbundle/Support/bin/texlib.js
--- Latex.tmbundle/Support/bin/texlib.js	2009-10-30 18:25:23.000000000 +0200
+++ Latex.modified.tmbundle/Support/bin/texlib.js	2009-10-30 18:26:29.000000000 +0200
@@ -49,6 +49,10 @@
     runCommand('index')
 };

+function runMetaPost(){
+    runCommand('metapost')
+};
+
 function runView(){
     runCommand('view')
 };
diff -Naur Latex.tmbundle/Support/bin/texparser.py Latex.modified.tmbundle/Support/bin/texparser.py
--- Latex.tmbundle/Support/bin/texparser.py	2009-10-30 18:25:23.000000000 +0200
+++ Latex.modified.tmbundle/Support/bin/texparser.py	2009-10-30 18:26:29.000000000 +0200
@@ -122,6 +122,20 @@
         self.done = True
         print '&#60;/div&#62;'

+class MetaPostParser(TexParser):
+    &#34;&#34;&#34;Parse and format Error Messages from metapost&#34;&#34;&#34;
+    def __init__(self, btex, verbose):
+        super(MetaPostParser, self).__init__(btex,verbose)
+        self.patterns += [
+            (re.compile('^This is MetaPost'), self.info),
+            (re.compile('^! '), self.error),
+            (re.compile('^Transcript written'), self.finishRun)
+        ]
+
+    def finishRun(self,m,line):
+        self.done = True
+        print '&#60;/div&#62;'
+
 class LaTexParser(TexParser):
     &#34;&#34;&#34;Parse Output From Latex&#34;&#34;&#34;
     def __init__(self, input_stream, verbose, fileName):
</pre>
<p>The code above should be saved as <code>Latex.tmbundle.diff</code> file.</p>
<h3>Patch details</h3>
<p>Here are some details on the code, added by <code>Latex.tmbundle.diff</code>.</p>
<p>The diff file above customizes 3 files in <code>Latex.tmbundle</code> package: <code>texparser.py</code>, <code>texMate.py</code>, and <code>texlib.js</code>, located in <code>Latex.tmbundle/Support/bin</code>.</p>
<p>According to <code>Latex.tmbundle</code> coding style, the main functionality and dialog window modifications should be placed to <code>texMate.py</code>; MetaPost output messages parser should be added to <code>texparser.py</code>; and JavaScript function, wiring <code>texMate.py</code> functionality to dialog window button, should be added to <code>texlib.js</code> file.</p>
<h4>Messages parser: texparser.py</h4>
<p>The following code provides a very simple MetaPost error messages parser:</p>
<pre class="brush: python;">
class MetaPostParser(TexParser):
    &#34;&#34;&#34;Parse and format Error Messages from metapost&#34;&#34;&#34;
    def __init__(self, btex, verbose):
        super(MetaPostParser, self).__init__(btex,verbose)
        self.patterns += [
            (re.compile('^This is MetaPost'), self.info),
            (re.compile('^! '), self.error),
            (re.compile('^Transcript written'), self.finishRun)
        ]

    def finishRun(self,m,line):
        self.done = True
        print '&#60;/div&#62;'
</pre>
<h4>Functionality and template: texMate.py</h4>
<p>A new function should be defined to determine target MetaPost .mp files (files) and run <code>mpost</code> command on them:</p>
<pre class="brush: python;">
def run_metapost(mpostfile=None,texfile=None,verbose=False):
    &#34;&#34;&#34;Determine targets and run the metapost command&#34;&#34;&#34;
    # find all the mp files.
    fatal,err,warn = 0,0,0
    mpfiles = []
    if texfile:
        basename = texfile[:texfile.rfind('.')]
    if mpostfile == None:
        mpfiles = [f[:f.rfind('.mp')] for f in os.listdir('.') if re.search('\.mp$',f) &#62; 0]
    else:
        mpfiles = [mpostfile]
    for f in mpfiles:
        print '&#60;h4&#62;Processing: %s &#60;/h4&#62;' % f
        runObj = Popen('mpost -interaction=nonstopmode -tex=latex '+shell_quote(f),
                       shell=True,stdout=PIPE,stdin=PIPE,stderr=STDOUT,close_fds=True)
        p = MetaPostParser(runObj.stdout,verbose)
        f,e,w = p.parseStream()
        fatal&#124;=f
        err+=e
        warn+=w
        stat = runObj.wait()
    return stat,fatal,err,warn
</pre>
<p>The following piece of code provides additional command-line argument <code>metapost</code>:</p>
<pre class="brush: python;">
    elif texCommand == 'metapost':
        texStatus, isFatal, numErrs, numWarns = run_metapost(texfile=fileName)
</pre>
<p>And finally, the typesetting dialog window template customization:</p>
<pre class="brush: python;">
        print '&#60;input type=&#34;button&#34; value=&#34;Run MetaPost&#34; onclick=&#34;runMetaPost(); return false&#34; /&#62;'
</pre>
<h4>JavaScript layer: texlib.js</h4>
<p>Just add a function that is invoked when the &#8220;Run MetaPost&#8221; button is pressed:</p>
<pre class="brush: jscript;">
function runMetaPost(){
    runCommand('metapost')
};
</pre>
<h4>P.S.</h4>
<p>WordPress <code>sourcecode</code> shortcodes are cool!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Metapost: the secret life of luchadors]]></title>
<link>http://webcomicoverlook.com/2009/10/27/metapost-the-secret-life-of-luchadors/</link>
<pubDate>Wed, 28 Oct 2009 01:23:25 +0000</pubDate>
<dc:creator>El Santo</dc:creator>
<guid>http://webcomicoverlook.com/2009/10/27/metapost-the-secret-life-of-luchadors/</guid>
<description><![CDATA[Fellow webcomic blogger Lauren Davis (of Storming the Tower and io9) ran across this site and sent m]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Fellow webcomic blogger Lauren Davis (of <a href="http://www.stormingthetower.com/">Storming the Tower</a> and <a href="http://io9.com/">io9</a>) ran across <a href="http://waxinandmilkin.com/post/179641207/calavera-poster-illustration-by-alexis-ziritt">this site</a> and sent me a link via Twitter.  Apparently, the double-fisted characters heroes on the page reminded her of yours truly.  The image was too awesome not to share.  I have to give a big hand to Alexis Ziritt and Mark Malazarte for accurately portraying the secret of the luchador: when we&#8217;re not ridding the world of monsters and mad scientists, we&#8217;re romancing the sexy women.  Such is the life.</p>
<p><a href="http://webcomicoverlook.wordpress.com/files/2009/10/tumblr_kpgahxqgbr1qzb9vl.jpg"><img src="http://webcomicoverlook.wordpress.com/files/2009/10/tumblr_kpgahxqgbr1qzb9vl.jpg" alt="Calavera" title="Calavera" width="550" height="803" class="aligncenter size-full wp-image-3954" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Metapost Graphs]]></title>
<link>http://ryanmlayer.wordpress.com/2009/10/24/metapost-graphs/</link>
<pubDate>Sat, 24 Oct 2009 18:39:31 +0000</pubDate>
<dc:creator>ryanlayer</dc:creator>
<guid>http://ryanmlayer.wordpress.com/2009/10/24/metapost-graphs/</guid>
<description><![CDATA[Data file: data.d 1 4 2 2 3 1 4 2 5 4 Metapost file: beginfig(1); draw begingraph(3in,2in); gdraw ]]></description>
<content:encoded><![CDATA[Data file: data.d 1 4 2 2 3 1 4 2 5 4 Metapost file: beginfig(1); draw begingraph(3in,2in); gdraw ]]></content:encoded>
</item>
<item>
<title><![CDATA[Practical Latex and Metapost Tips]]></title>
<link>http://ryanmlayer.wordpress.com/2009/10/24/practical-latex-and-metapost-tips/</link>
<pubDate>Sat, 24 Oct 2009 18:33:58 +0000</pubDate>
<dc:creator>ryanlayer</dc:creator>
<guid>http://ryanmlayer.wordpress.com/2009/10/24/practical-latex-and-metapost-tips/</guid>
<description><![CDATA[Found what looks like a great collection of practical Latex and Metapost tips. http://online.redwood]]></description>
<content:encoded><![CDATA[Found what looks like a great collection of practical Latex and Metapost tips. http://online.redwood]]></content:encoded>
</item>
<item>
<title><![CDATA[Latex in Metapost]]></title>
<link>http://ryanmlayer.wordpress.com/2009/10/23/latex-in-metapost/</link>
<pubDate>Fri, 23 Oct 2009 18:41:27 +0000</pubDate>
<dc:creator>ryanlayer</dc:creator>
<guid>http://ryanmlayer.wordpress.com/2009/10/23/latex-in-metapost/</guid>
<description><![CDATA[You can even embed TeX inside your pictures for labels and the like.  First lets start with a plain ]]></description>
<content:encoded><![CDATA[You can even embed TeX inside your pictures for labels and the like.  First lets start with a plain ]]></content:encoded>
</item>
<item>
<title><![CDATA[Metapost: Wesley Crusher styles webcomics on TV]]></title>
<link>http://webcomicoverlook.com/2009/10/20/metapost-wesley-crusher-styles-webcomics-on-tv/</link>
<pubDate>Tue, 20 Oct 2009 17:46:35 +0000</pubDate>
<dc:creator>El Santo</dc:creator>
<guid>http://webcomicoverlook.com/2009/10/20/metapost-wesley-crusher-styles-webcomics-on-tv/</guid>
<description><![CDATA[Sheldon and Wil in a battle of wits and magic Wil Wheaton (a.k.a. TV&#8217;s Wesley) was styling a P]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><div id="attachment_3885" class="wp-caption aligncenter" style="width: 560px"><img src="http://webcomicoverlook.wordpress.com/files/2009/10/98529_d0787b_jpg_595x325_crop_upscale_q85.jpg" alt="Sheldon and Wil in a battle of wits and magic" title="Sheldon v. Wil Wheaton" width="550" height="300" class="size-full wp-image-3885" /><p class="wp-caption-text">Sheldon and Wil in a battle of wits and magic</p></div>
<p>Wil Wheaton (a.k.a. TV&#8217;s Wesley) was styling a <em>Penny Arcade</em> shirt on last night&#8217;s episode of <em>The Big Bang Theory</em>.  Specifically, the Fruit F***er shirt.  I have no idea who this character is, but judging by the name, it adequately belongs on a man who is occupying 6th place on Sheldon&#8217;s &#8220;Most Hated&#8221; list (just above &#8220;Joe Schumacher&#8221;).  Wil Wheaton would eventually best Sheldon at his own pseudo-<em>Magic: The Gathering</em> game, denying our resident physicist his vengeance and causing him to howl a curse unto the heavens: &#8220;Wheeeaattoonnn!  WHEAAATTTTONNNNN!!!!&#8221;</p>
<div id="attachment_3886" class="wp-caption aligncenter" style="width: 560px"><img src="http://webcomicoverlook.wordpress.com/files/2009/10/20051125h.jpg" alt="I prefer calling him Fruit Lover." title="Fruit Lover" width="550" height="286" class="size-full wp-image-3886" /><p class="wp-caption-text">I prefer calling him Fruit Lover.</p></div>
<p>And that shirt <a href="http://www.pennyarcademerch.com/pat080021.html">can be yours today</a>!</p>
<p>Frankly, I&#8217;m not sure I&#8217;m man enough to say I&#8217;m wearing a shirt that I saw on <em>The Big Bang Theory</em>, but I admit that I&#8217;m very fond of the <a href="http://www.thinkgeek.com/tshirts-apparel/unisex/generic/3813/?cpg=cj">Capsaicin Molecule shirt</a>.  Many more shirts featured on the show can be found at <a href="http://www.sheldonshirts.com/index.html">Sheldonshirts.com</a>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[note to self]]></title>
<link>http://serenacalejon.wordpress.com/2009/10/19/note-to-self/</link>
<pubDate>Mon, 19 Oct 2009 15:10:23 +0000</pubDate>
<dc:creator>s.</dc:creator>
<guid>http://serenacalejon.wordpress.com/2009/10/19/note-to-self/</guid>
<description><![CDATA[Então talvez seja uma espécie de sorte passar tão pouco tempo online, com tantos amigos presentes de]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://www.flickr.com/photos/scalejon/3786983903/"><img class="alignnone" src="http://farm3.static.flickr.com/2603/3786983903_9f377a6a71.jpg" alt="" width="500" height="333" /></a></p>
<p>Então talvez seja uma espécie de sorte passar tão pouco tempo online, com tantos amigos presentes de-carne-osso-e-abraços, com os dias em menor número que as atividades, com a obsessão por checar a caixa de correio, com decisões que a gente não sabe direito por que toma, ou melhor, sabe, mas só depois, e não sabe como fazer para chegar lá no decidido. Talvez seja uma espécie de sorte só precisar decidir, e deixar ver o calendário tomar uma nova forma.</p>
<p>Assim como é uma espécie de sorte ter um casaco adequado para encarar o frio (do outono!!).</p>
<p>Assim como foi uma espécie de sorte acordar bem antes do despertador e, mesmo merecendo mais horas de sono e descanso inconsciente, passar a manhã lendo feeds, escrevendo e-mails e tomando chá verde.</p>
<p>Note to self: não esquecer a vida analógica, mas lembrar da digital.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Tabula rasa]]></title>
<link>http://landscapinge.wordpress.com/2009/10/15/3/</link>
<pubDate>Thu, 15 Oct 2009 20:29:23 +0000</pubDate>
<dc:creator>landscapinge</dc:creator>
<guid>http://landscapinge.wordpress.com/2009/10/15/3/</guid>
<description><![CDATA[Tabula rasa.  Fortunately the discipline of landscape painting has prepared me for this.  No fear of]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><em>Tabula rasa</em>.  Fortunately the discipline of landscape painting has prepared me for this.  No fear of the blank canvas so I&#8217;ll delve on.</p>
<p>I was inspired to start this blog through the coalescence of these things:</p>
<ul>
<li>an insightful grad school assignment with Gary Hilderbrand where we studied through photo and sketch a specific tree specimen or grouping.</li>
<li>Michael Van Valkenburgh&#8217;s fascinating, casual writing about trees and plants he has an affinity for, as published in the firm&#8217;s daily newsletter.</li>
<li>my sister-in-law&#8217;s query about a tree to commemorate the birth of her son.  In thinking about how to respond I got to dreaming about how I could start to describe to the layperson &#8211; in words, drawings and photos &#8211; the differences in character between different species of trees; and taking that a step further, to describe landscape spaces.</li>
<li>the blog Thinking About My Art, which showed me that I don&#8217;t need to have everything figured out before I presented it to the world &#8211; a thoughtful process is itself sufficient &#8220;product.&#8221;</li>
<li>my friend Douglas Witmer&#8217;s blog posts of one of his beautiful sketchbooks.</li>
<li>an untapped need to express my vision, thoughts and ideas concerning landscape design.</li>
</ul>
<p>My intention is to create a virtual sketchbook of my interests and experience in landscape design, landscape architecture and art.  I anticipate the results will be more intuitive than intellectual, more visceral than scientific, but likely equal doses sensual and practical.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Eu não sei estudar]]></title>
<link>http://casualstudying.wordpress.com/2009/10/07/eu-nao-sei-estudar/</link>
<pubDate>Wed, 07 Oct 2009 19:30:19 +0000</pubDate>
<dc:creator>Rob von Something Outrageous</dc:creator>
<guid>http://casualstudying.wordpress.com/2009/10/07/eu-nao-sei-estudar/</guid>
<description><![CDATA[Outro dia eu percebi que a maioria das coisas que eu sei eu sei não porque eu enterrei minha cabeça ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="text-align:center;"><img class="size-full wp-image-6 aligncenter" title="studyman" src="http://casualstudying.wordpress.com/files/2009/10/scholar1.jpg" alt="" width="149" height="200" /></p>
<p>Outro dia eu percebi que a maioria das coisas que eu sei eu sei não porque eu enterrei minha cabeça num livro e estudei a contragosto, mas porque absorvi meio que sem perceber, na curtição.</p>
<p>Este blog rejeita a distinção Estudo Sério vs. Lazer e tenta ver até onde pode ir uma atitude casual ao estudo. Eu gosto de ler a maioria das coisas e quero ver se usando o blog pra ruminar e arquivar o que eu leio eu consigo dar mais substância ao que eu já faço naturalmente, e me encorajar a fazer isso mais.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Aquafit]]></title>
<link>http://ifthiswereeasy.wordpress.com/2009/10/04/aquafit/</link>
<pubDate>Mon, 05 Oct 2009 03:00:03 +0000</pubDate>
<dc:creator>Easy</dc:creator>
<guid>http://ifthiswereeasy.wordpress.com/2009/10/04/aquafit/</guid>
<description><![CDATA[I have some bits and pieces I&#8217;ve been meaning to post but haven&#8217;t had time for, but I wa]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I have some bits and pieces I&#8217;ve been meaning to post but haven&#8217;t had time for, but I wanted to make a general update on the aquafit situation. </p>
<p>Thursday aquafit instructor is apparently being moved to Wednesday and someone else will be teaching on Thursday instead. It&#8217;s not clear whether someone else is teaching at 9:30 or 9:45 yet, but hopefully whenever the class starts, they will be punctual. </p>
<p>Thus concludes the saga with a sort of non-victory for anyone. </p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
