<?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>Curious Reasoning</title>
	<atom:link href="https://curiousreasoning.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://curiousreasoning.wordpress.com</link>
	<description>As in, what the hell was he thinking?</description>
	<lastBuildDate>Sat, 17 Mar 2012 15:20:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='curiousreasoning.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>https://s2.wp.com/i/buttonw-com.png</url>
		<title>Curious Reasoning</title>
		<link>https://curiousreasoning.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="https://curiousreasoning.wordpress.com/osd.xml" title="Curious Reasoning" />
	<atom:link rel='hub' href='https://curiousreasoning.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Thoughts on the Goodwillie Calculus</title>
		<link>https://curiousreasoning.wordpress.com/2010/08/02/thoughts-on-the-goodwillie-calculus/</link>
		<comments>https://curiousreasoning.wordpress.com/2010/08/02/thoughts-on-the-goodwillie-calculus/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 14:24:15 +0000</pubDate>
		<dc:creator>ericfinster</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Goodwillie Calculus]]></category>
		<category><![CDATA[Homotopy Theory]]></category>

		<guid isPermaLink="false">http://curiousreasoning.wordpress.com/?p=154</guid>
		<description><![CDATA[So I haven&#8217;t gotten to do much blogging in the past few months on account of having to finish up my dissertation and move to Lausanne, Switzerland for my first job here at the EPFL.  Now that I&#8217;m settled, I have much more time to devote to writing here and doing mathematics in general, so [...]<img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=curiousreasoning.wordpress.com&#038;blog=5701040&#038;post=154&#038;subd=curiousreasoning&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>So I haven&#8217;t gotten to do much blogging in the past few months on account of having to finish up my dissertation and <a href="http://ericfinster.wordpress.com">move</a> to Lausanne, Switzerland for my first job here at the <a href="http://www.epfl.ch">EPFL</a>.  Now that I&#8217;m settled, I have much more time to devote to writing here and doing mathematics in general, so hopefully posts here will become much more regular.</p>
<p>For my first entry of the post-graduate student era, I figured I&#8217;d respond to, or at least share my thoughts about, the discussion about Goodwillie Calculus going on <a href="http://golem.ph.utexas.edu/category/2010/07/the_doldkan_theorem_two_questi.html#c033913">here</a> and <a href="http://www.math.ntnu.no/~stacey/Vanilla/nForum/comments.php?DiscussionID=789&amp;Focus=13928">here</a>, perhaps expanding a bit on the comments I made in my <a href="http://people.virginia.edu/~elf9e/research.pdf">research statement</a>.</p>
<p>John Baez points out, and I think rightly so, in his comments on n-Forum that the Goodwiliie Calculus is often presented in a way that seems at odds with an interpretation in terms of categorification.  If we are going to categorify linear functions into linear functors, then they should preserve <em>colimits</em>, and certainly the identity functor should be an example.  As it stands, the whole theory of Goodwillie Calculus seems to demand an explanation for why it must make the bizzare modifications to our understanding of ordinary calculus that it does, and I agree with John that there should be a &#8220;disentangled&#8221; version which serves as a kind of reference point for the idea of &#8220;categorified calculus&#8221;, and of which the Goodwillie Calculus can be seen as a particular example.</p>
<p>The situation we find ourselves in, though, seems to be that we have a particular example where something like a categorified version of calculus can be set up, but it&#8217;s already much more complicated than the situation which we ordinarily take as a starting point for ordinary calculus (namely, functions <img src='https://s-ssl.wordpress.com/latex.php?latex=%5Cmathbb%7BR%7D+%5Crightarrow+%5Cmathbb%7BR%7D&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='&#92;mathbb{R} &#92;rightarrow &#92;mathbb{R}' title='&#92;mathbb{R} &#92;rightarrow &#92;mathbb{R}' class='latex' />).  It&#8217;s as if we had discovered Riemann surfaces before we knew anything about the real numbers.  Let me explain.</p>
<p>It has been my conviction for a while now that the Goodwiliie Calculus is a categorification of the following setup:  suppose we have a holomorphic map of Riemann surfaces <img src='https://s-ssl.wordpress.com/latex.php?latex=f+%3A+Y+%5Crightarrow+X&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='f : Y &#92;rightarrow X' title='f : Y &#92;rightarrow X' class='latex' />.  Then people often think of a holomorphic map <img src='https://s-ssl.wordpress.com/latex.php?latex=h+%3A+Y+%5Crightarrow+%5Cmathbb%7BC%7D&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='h : Y &#92;rightarrow &#92;mathbb{C}' title='h : Y &#92;rightarrow &#92;mathbb{C}' class='latex' /> as a &#8220;multi-valued&#8221; holomorphic function <img src='https://s-ssl.wordpress.com/latex.php?latex=g&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='g' title='g' class='latex' /> on <img src='https://s-ssl.wordpress.com/latex.php?latex=X&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='X' title='X' class='latex' />, the multiple values at a point <img src='https://s-ssl.wordpress.com/latex.php?latex=p+%5Cin+X&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='p &#92;in X' title='p &#92;in X' class='latex' /> arising from the various values of <img src='https://s-ssl.wordpress.com/latex.php?latex=h&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='h' title='h' class='latex' /> on the elements of <img src='https://s-ssl.wordpress.com/latex.php?latex=f%5E%7B-1%7D%28p%29&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='f^{-1}(p)' title='f^{-1}(p)' class='latex' />.  One says that the holomorphic function <img src='https://s-ssl.wordpress.com/latex.php?latex=h&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='h' title='h' class='latex' /> &#8220;represents&#8221; the multi-valued function <img src='https://s-ssl.wordpress.com/latex.php?latex=g&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='g' title='g' class='latex' />.</p>
<p>Let&#8217;s take <img src='https://s-ssl.wordpress.com/latex.php?latex=Y+%3D+%5Cmathbb%7BC%7D&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='Y = &#92;mathbb{C}' title='Y = &#92;mathbb{C}' class='latex' /> and <img src='https://s-ssl.wordpress.com/latex.php?latex=X+%3D+%5Cmathbb%7BC%7D%5E%2A&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='X = &#92;mathbb{C}^*' title='X = &#92;mathbb{C}^*' class='latex' />.  Then we have the familiar diagram (which I realize is not a real diagram, since <img src='https://s-ssl.wordpress.com/latex.php?latex=%5Cmathrm%7Blog%7D&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='&#92;mathrm{log}' title='&#92;mathrm{log}' class='latex' /> is not defined on all of <img src='https://s-ssl.wordpress.com/latex.php?latex=%5Cmathbb%7BC%7D%5E%2A&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='&#92;mathbb{C}^*' title='&#92;mathbb{C}^*' class='latex' />, but I can&#8217;t do dotted arrows, and you get the idea . . .)</p>
<p style="text-align:center;"><img src='https://s-ssl.wordpress.com/latex.php?latex=%5Cbegin%7Baligned%7D+%5Cmathbb%7BC%7D+%26+%5Coverset%7B%5Cquad+%5Cmathrm%7Bid%7D+%5Cquad%7D%7B%5Cto%7D+%26+%5Cmathbb%7BC%7D+%5C%5C+%7B%7D%5E%7B%5Cmathrm%7Bexp%7D%7D+%5Cdownarrow+%26+%5Cquad+%5Cnearrow+%7B%7D_%7B%5Cmathrm%7Blog%7D%7D+%26+%5C%5C+%5Cmathbb%7BC%7D%5E%2A+%5Cend%7Baligned%7D+&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='&#92;begin{aligned} &#92;mathbb{C} &amp; &#92;overset{&#92;quad &#92;mathrm{id} &#92;quad}{&#92;to} &amp; &#92;mathbb{C} &#92;&#92; {}^{&#92;mathrm{exp}} &#92;downarrow &amp; &#92;quad &#92;nearrow {}_{&#92;mathrm{log}} &amp; &#92;&#92; &#92;mathbb{C}^* &#92;end{aligned} ' title='&#92;begin{aligned} &#92;mathbb{C} &amp; &#92;overset{&#92;quad &#92;mathrm{id} &#92;quad}{&#92;to} &amp; &#92;mathbb{C} &#92;&#92; {}^{&#92;mathrm{exp}} &#92;downarrow &amp; &#92;quad &#92;nearrow {}_{&#92;mathrm{log}} &amp; &#92;&#92; &#92;mathbb{C}^* &#92;end{aligned} ' class='latex' /></p>
<p style="text-align:left;">So in this setup, the identity function <img src='https://s-ssl.wordpress.com/latex.php?latex=%5Cmathrm%7Bid%7D+%3A+%5Cmathbb%7BC%7D+%5Crightarrow+%5Cmathbb%7BC%7D&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='&#92;mathrm{id} : &#92;mathbb{C} &#92;rightarrow &#92;mathbb{C}' title='&#92;mathrm{id} : &#92;mathbb{C} &#92;rightarrow &#92;mathbb{C}' class='latex' /> <em>represents</em> the logarithm.  My contention is that the Goodwillie Calculus ariese from this situation by replacing <img src='https://s-ssl.wordpress.com/latex.php?latex=%5Cmathbb%7BC%7D&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='&#92;mathbb{C}' title='&#92;mathbb{C}' class='latex' /> with the category of spaces, <img src='https://s-ssl.wordpress.com/latex.php?latex=%5Cmathbb%7BC%7D%5E%2A&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='&#92;mathbb{C}^*' title='&#92;mathbb{C}^*' class='latex' /> with the category of infinite loop spaces, <img src='https://s-ssl.wordpress.com/latex.php?latex=%5Cmathrm%7Bexp%7D&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='&#92;mathrm{exp}' title='&#92;mathrm{exp}' class='latex' /> with the &#8220;free homotopy commutative monoid&#8221; and <img src='https://s-ssl.wordpress.com/latex.php?latex=%5Cmathrm%7Blog%7D&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='&#92;mathrm{log}' title='&#92;mathrm{log}' class='latex' /> with the inclusion, and that this should ultimately be the explanation for claims like</p>
<blockquote>
<p style="text-align:left;">&#8216;The Goodwillie tower of the identity is a logarithm&#8217;.</p>
</blockquote>
<p style="text-align:left;">Probably not too many readers of n-Forum will have much trouble believing that the &#8220;free homotopy commutative monoid&#8221; functor should play the role of the exponential.  A great way to see that this ought to be the case is by looking at Leinster&#8217;s work on Euler characteristics of categories.  If we let small categories represent our homotopy types, then each small category <img src='https://s-ssl.wordpress.com/latex.php?latex=%5Cmathcal%7BC%7D&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='&#92;mathcal{C}' title='&#92;mathcal{C}' class='latex' /> determines a functor <img src='https://s-ssl.wordpress.com/latex.php?latex=%5Cmathbb%7BB%7D+%5Crightarrow+%5Cmathcal%7BC%7Dat&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='&#92;mathbb{B} &#92;rightarrow &#92;mathcal{C}at' title='&#92;mathbb{B} &#92;rightarrow &#92;mathcal{C}at' class='latex' /> by</p>
<p style="text-align:center;"><img src='https://s-ssl.wordpress.com/latex.php?latex=n+%5Cmapsto+%5Cmathcal%7BC%7D%5En&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='n &#92;mapsto &#92;mathcal{C}^n' title='n &#92;mapsto &#92;mathcal{C}^n' class='latex' /></p>
<p style="text-align:left;">and the Grothendieck construction on this functor (i.e. it&#8217;s homotopy colimit), which I will denote <img src='https://s-ssl.wordpress.com/latex.php?latex=P%28%5Cmathcal%7BC%7D%29&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='P(&#92;mathcal{C})' title='P(&#92;mathcal{C})' class='latex' />, is a model for the &#8220;free homotopy commutative monoid&#8221; which in this case is called the &#8220;free permutative category on <img src='https://s-ssl.wordpress.com/latex.php?latex=%5Cmathcal%7BC%7D&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='&#92;mathcal{C}' title='&#92;mathcal{C}' class='latex' />.&#8221;  Moreover <img src='https://s-ssl.wordpress.com/latex.php?latex=%5Cchi%28P%28%5Cmathcal%7BC%7D%29%29+%3D+%5Cmathrm%7Bexp%7D%28%5Cchi%28%5Cmathcal%7BC%7D%29%29&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='&#92;chi(P(&#92;mathcal{C})) = &#92;mathrm{exp}(&#92;chi(&#92;mathcal{C}))' title='&#92;chi(P(&#92;mathcal{C})) = &#92;mathrm{exp}(&#92;chi(&#92;mathcal{C}))' class='latex' /> whenever <img src='https://s-ssl.wordpress.com/latex.php?latex=%5Cchi%28%5Cmathcal%7BC%7D%29&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='&#92;chi(&#92;mathcal{C})' title='&#92;chi(&#92;mathcal{C})' class='latex' /> is defined.  Up to group completion, this is the homotopy theorist&#8217;s <img src='https://s-ssl.wordpress.com/latex.php?latex=%5COmega%5E%5Cinfty+%5CSigma%5E%5Cinfty+N%28%5Cmathcal%7BC%7D%29&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='&#92;Omega^&#92;infty &#92;Sigma^&#92;infty N(&#92;mathcal{C})' title='&#92;Omega^&#92;infty &#92;Sigma^&#92;infty N(&#92;mathcal{C})' class='latex' />, which should be the origin of statements like</p>
<blockquote>
<p style="text-align:left;"><img src='https://s-ssl.wordpress.com/latex.php?latex=%5COmega%5E%5Cinfty+%5CSigma%5E%5Cinfty&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='&#92;Omega^&#92;infty &#92;Sigma^&#92;infty' title='&#92;Omega^&#92;infty &#92;Sigma^&#92;infty' class='latex' /> is &#8220;like&#8221; <img src='https://s-ssl.wordpress.com/latex.php?latex=e%5E%7Bx-1%7D&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='e^{x-1}' title='e^{x-1}' class='latex' /></p>
</blockquote>
<p style="text-align:left;">modulo this whole business of understanding the basepoint.</p>
<p style="text-align:left;">By the statement</p>
<blockquote>
<p style="text-align:left;">&#8230;the category of spectra plays the role of the tangent space to the category of spaces at the one-point space</p>
</blockquote>
<p style="text-align:left;">I believe I mean something like the following (though I&#8217;m not sure.  It was my research statement, after all.) If we were to temporarily agree that the category of infinite loop spaces was &#8220;flat&#8221; in some sense, then we might agree that the tangent space at <img src='https://s-ssl.wordpress.com/latex.php?latex=QS%5E0+%3D+%5COmega%5E%5Cinfty+%5CSigma%5E%5Cinfty+S%5E0&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='QS^0 = &#92;Omega^&#92;infty &#92;Sigma^&#92;infty S^0' title='QS^0 = &#92;Omega^&#92;infty &#92;Sigma^&#92;infty S^0' class='latex' /> was again just the category of infinite loop spaces.  Somehow I&#8217;d like to say that the category of spectra is what we get by &#8220;pulling back&#8221; this tangent space along &#8220;<img src='https://s-ssl.wordpress.com/latex.php?latex=%5Cmathrm%7Bexp%7D&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='&#92;mathrm{exp}' title='&#92;mathrm{exp}' class='latex' />&#8220;  In the ordinary, Riemann surface picture, the fiber over a point <img src='https://s-ssl.wordpress.com/latex.php?latex=p+%5Cin+%5Cmathbb%7BC%7D%5E%2A&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='p &#92;in &#92;mathbb{C}^*' title='p &#92;in &#92;mathbb{C}^*' class='latex' /> is isomorphic to <img src='https://s-ssl.wordpress.com/latex.php?latex=%5Cmathbb%7BZ%7D&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='&#92;mathbb{Z}' title='&#92;mathbb{Z}' class='latex' />, so pulling back the tangent space at <img src='https://s-ssl.wordpress.com/latex.php?latex=p&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='p' title='p' class='latex' /> gives us a &#8220;<img src='https://s-ssl.wordpress.com/latex.php?latex=%5Cmathbb%7BZ%7D&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='&#92;mathbb{Z}' title='&#92;mathbb{Z}' class='latex' />&#8216;s&#8221; worth of copies of the same space.  In the homotopy world, all these copies are connected by suspension in the category of spectra, which shifts us up and down the &#8220;fiber&#8221;.  Well, this one may be a stretch.</p>
<p style="text-align:left;">Finally, let&#8217;s look at the statement</p>
<blockquote>
<p style="text-align:left;">one can interpret this as saying that spaces have some kind of non-trivial curvature</p>
</blockquote>
<p style="text-align:left;">As was already pointed out, curvature may be the wrong word to use here.  When we imagine the exponential map <img src='https://s-ssl.wordpress.com/latex.php?latex=%5Cmathrm%7Bexp%7D+%3A+%5Cmathbb%7BC%7D+%5Crightarrow+%5Cmathbb%7BC%7D%5E%2A&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='&#92;mathrm{exp} : &#92;mathbb{C} &#92;rightarrow &#92;mathbb{C}^*' title='&#92;mathrm{exp} : &#92;mathbb{C} &#92;rightarrow &#92;mathbb{C}^*' class='latex' />, most of us think of the standard picture of a giant thickened spiral covering the plane.  Of course, set theoretically, this is just in our imagination: the exponential map simply sends one point in the complex plane to another.  But another way to build the same Riemann surface is to start with the power series for <img src='https://s-ssl.wordpress.com/latex.php?latex=%5Cmathrm%7Blog%7D&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='&#92;mathrm{log}' title='&#92;mathrm{log}' class='latex' /> and analytically continue it, patching together the various branches, eventually arriving at a space homeomorphic to <img src='https://s-ssl.wordpress.com/latex.php?latex=%5Cmathbb%7BC%7D&amp;bg=ffffff&amp;fg=61636a&amp;s=0' alt='&#92;mathbb{C}' title='&#92;mathbb{C}' class='latex' />, but which lacks all the niceties, such as a canonical addition and multiplication.  My assertion would be that the category of spaces <em>remembers</em> that it arises in this second way, and this is the source of what we have been calling &#8220;curvature.&#8221;  (Someone remind me: isn&#8217;t it true that the spiral is <em>flat</em> from a geometric point of view? Maybe this could explain Goodwiliie&#8217;s remarks . . .)</p>
<p style="text-align:left;">I better wrap this up here, as this post is getting pretty long here.  I guess I can sumarize what I&#8217;m getting at as follows: the Goodwiliie Calculus, as it&#8217;s currently described, should be an <em>example</em> of a more general theory of &#8220;categorified calculus&#8221; which specializes to something like combinatorial species in the discrete case.  In this sense I agree with the thrust of Joyal&#8217;s description of the situation.  It seems to me that such a thing must intrinsically involve homotopy theory, and I have wondered for a long time how to create some kind of &#8220;toy model&#8221; which has many of the features, but not the complexity, of the Goodwiliie Calculus, but I must confess that as of yet, I don&#8217;t know what this should look like.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/curiousreasoning.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/curiousreasoning.wordpress.com/154/" /></a> <img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=curiousreasoning.wordpress.com&#038;blog=5701040&#038;post=154&#038;subd=curiousreasoning&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://curiousreasoning.wordpress.com/2010/08/02/thoughts-on-the-goodwillie-calculus/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="https://0.gravatar.com/avatar/93f6bb488cb8de34455db5c8993204f1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ericfinster</media:title>
		</media:content>
	</item>
		<item>
		<title>Extending wplatex</title>
		<link>https://curiousreasoning.wordpress.com/2010/01/31/extending-wplatex/</link>
		<comments>https://curiousreasoning.wordpress.com/2010/01/31/extending-wplatex/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 00:31:07 +0000</pubDate>
		<dc:creator>ericfinster</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[latex]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://curiousreasoning.wordpress.com/?p=131</guid>
		<description><![CDATA[It’s amazing how good snow is for your productivity. Maybe I should move to Antarctica. Anyways, I added some rudimentary support for displaying source code using the listings package. Let me show you how this was done as an example of how to add support for whatever packages and macros you would like. So first [...]<img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=curiousreasoning.wordpress.com&#038;blog=5701040&#038;post=131&#038;subd=curiousreasoning&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><p>
It’s amazing how good snow is for your productivity. Maybe I should move to Antarctica. </p>
<p>
Anyways, I added some rudimentary support for displaying source code using the <a href="http://www.ctan.org/tex-archive/macros/latex/contrib/listings/">listings</a> package. Let me show you how this was done as an example of how to add support for whatever packages and macros you would like. </p>
<p>
So first of all, <a href="http://plastex.sourceforge.net">plasTeX</a> is pretty smart about understanding the packages that you are using in a Latex document. It will parse your preamble and do the best it can to load and parse the packages you are using as well. This is great if you have, say, some custom macros put aside that you always reference. So if you put a <tt>\usepackage{mymacros}</tt> in your preamble, plasTeX will find the <tt>mymacros.sty</tt> file the same way Latex would, parse the file, and then understand how to expand the macros contained therein. This is the default behavior. </p>
<p>
For more complicated packages, like <a href="http://www.ctan.org/tex-archive/macros/latex/contrib/listings/">listings</a>, for example, there’s a better way. Instead of letting plasTeX load and parse the source, we can choose to tell plasTeX about which commands we care about directly in python. This saves a lot of time and adds a lot of flexibility. (By the way, this has already been done for a bunch of packages that you might want to use, like <tt>amsmath</tt>, <tt>amssymb</tt>, <tt>graphicx</tt> and more.) </p>
<p>
Now, when plasTeX finds a <tt>\usepackage</tt> command in your preamble, before it tries to load the latex source, it will look for a python module on the path which shares the same name as the package specified. This means if I put a file called <tt>listings.py</tt> somewhere in my python path, when plasTeX sees the <tt>\usepackage{listings}</tt> at the top of my file, this module will get loaded instead of the Latex source. For convenience, I have the <tt>wplpost</tt> program add the <tt>wplatex</tt> package directory to the python path, so you can just add any package code to that directory, reinstall, and everything should work automatically. </p>
<p>
Great. So what should go in the python package definition. This is easy: you just define a class for any command that the package let’s you use. In our case, the <tt>listings</tt> package defines a new environment called <tt>lstlisting</tt>. When you put source code in this environment, the package will render it in your Latex output. Thus I have the following class definition in the file <tt>wplatex/listings.py</tt> </p>
<p>
<pre class="brush: python;">
  from plasTeX.Base.LaTeX.Verbatim import verbatim

  # This should be a verbatim environment
  class lstlisting(verbatim):
    pass
</pre></p>
<p>
In most cases, your new class will derive from either the <tt>plasTeX.Base.Command</tt> or <tt>plasTeX.Base.Environment</tt> classes, depending on whether you want to tell plasTeX about a new command or a new environment. In the current case, we want to use a special kind of environment, a <em>verbatim</em> environment, since we don’t want to do any rendering or parsing of the code inside. That’s why I’ve derived this class from <tt>verbatim</tt>. </p>
<p>
In the future, this class could override some of its base class’ methods, particularly <tt>invoke()</tt>, and do some preprocessing like figure out what language to use and add any formatting information. It’s nice to notice, though, that just telling plasTeX about the command by creating a dummy class is enough for it to now recognize it in a Latex source file. </p>
<p>
We’re almost done. The only thing left to do is to tell renderer what we want to see when plasTeX encounters one of these environments. The code for the renderer is contained in the file <tt>wplate/renderer.py</tt>. I added the following method to the <tt>WPRenderer</tt> class: </p>
<p>
<pre class="brush: python;">
    def do_lstlisting(self, node):
        '''Encode Source code blocks
        
        Arguments:
        - `node`:
        '''
        return u'&lt;sourcecode language=Python&gt;%s&lt;/sourcecode&gt;' % unicode(node)  
</pre></p>
<p>
Ridiculously simple, no? All this method does is return a unicode string which we would like to see in the output. The command </p>
<p>
<pre class="brush: python;">
  unicode(node)
</pre></p>
<p>
renders all the children of our <tt>lstlisting</tt> node in plasTeX’s internal tree representation of our document. Since we’ve already told plasTeX that the <tt>lstlisting</tt> environment should be verbatim, this will just return all the text found inside. We then plug that in between WordPress’ tag for source code and return the result. </p>
<p>
And that’s it! After reinstalling the <tt>wplatex</tt> package to udpate the code, the <tt>wplpost</tt> program now understands how to post source code. Not bad for two or three lines of code. In fact, in continuing with the incredibly self-referential tone of the past couple posts, I’ve used this functionality in writing the post you’re reading. Here’s a screenshot. </p>
<p>
<a href="http://curiousreasoning.files.wordpress.com/2010/01/listings.jpg"><img src="http://curiousreasoning.files.wordpress.com/2010/01/listings.jpg?w=450" /></a></p>
<p>
You can take a look at the source code to see how I’ve implemented other commands and environments. There’s still a lot to do, but I hope this post makes it clear how easy it is to add or customize the output that you send to WordPress. If you do get around to adding support for more things, I hope you’ll drop me an e-mail. And now, I’m making myself some spaghetti. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/curiousreasoning.wordpress.com/131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/curiousreasoning.wordpress.com/131/" /></a> <img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=curiousreasoning.wordpress.com&#038;blog=5701040&#038;post=131&#038;subd=curiousreasoning&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://curiousreasoning.wordpress.com/2010/01/31/extending-wplatex/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="https://0.gravatar.com/avatar/93f6bb488cb8de34455db5c8993204f1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ericfinster</media:title>
		</media:content>

		<media:content url="http://curiousreasoning.files.wordpress.com/2010/01/listings.jpg" medium="image" />
	</item>
		<item>
		<title>Overview of wplatex</title>
		<link>https://curiousreasoning.wordpress.com/2010/01/30/overview-of-wplatex-4/</link>
		<comments>https://curiousreasoning.wordpress.com/2010/01/30/overview-of-wplatex-4/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 21:28:08 +0000</pubDate>
		<dc:creator>ericfinster</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[latex]]></category>

		<guid isPermaLink="false">http://curiousreasoning.wordpress.com/?p=121</guid>
		<description><![CDATA[Man, we are getting a lot of snow today. I guess that means I’ll stay inside and describe how to use the wplatex package that I put together. Okay, so like I said in the last post, you should be able to install the package using the standard way for Python packages. Unzip it into [...]<img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=curiousreasoning.wordpress.com&#038;blog=5701040&#038;post=121&#038;subd=curiousreasoning&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><p>
Man, we are getting a lot of snow today. I guess that means I’ll stay inside and describe how to use the <a href="http://people.virginia.edu/~elf9e/wplatex">wplatex</a> package that I put together. </p>
<p>
Okay, so like I said in the last post, you should be able to install the package using the standard way for Python packages. Unzip it into whatever directory you like, then do a </p>
<p><p align="center">
<pre> 
    sudo python setup.py install
   </pre>
</p>
<p>
Next, copy the <tt>wpblogentry.cls</tt> document class definition file into your Latex path. This is usually something like <tt>/usr/share/texmf/...</tt>. Basically do whatever you have to on your system to make latex find the definition. </p>
<p>
At this point, you should be able to make a Latex blog entry by doing something like this: </p>
<p><p align="center">
<pre> 
    \documentclass{wpblogentry}

    \title{A Latex Blog Entry}
    \tags{tag1, tag2}
    \category{latex}

    \begin{document}

      Your blog entry

    \end{document}
   </pre>
</p>
<p>
The package will install a script called <tt>wplpost</tt> on your system, so when you have got your blog entry looking like you want it, you’ll want to run this script to render it and upload it to wordpress. The script will prompt you for a username and password, but you can also specify them on the command line using the <tt>-u</tt> and <tt>-p</tt> options respectively. You also need to specify where to upload the post to. You can do this two different ways, using either the <tt>-b</tt> or <tt>-x</tt> options. If you do <tt>-b blogname</tt>, then the script will guess that it can access your blog’s <tt>xmlrpc.php</tt> file at </p>
<p><p align="center">
<pre> 

http://blogname.wordpress.com/xmlrpc.php

   </pre>
</p>
<p>
If this is not the correct location, you can specify the url directly using the <tt>-x</tt> option. As an example, I would upload this blog entry by doing </p>
<p><p align="center">
<pre> 
    wplpost -u ericfinster -b curiousreasoning wplatex.tex
   </pre>
</p>
<p>
Note that this form will automatically publish the post as well. If you would like to upload the post as a draft only, you can specify <tt>-d</tt> and you should then be able to go in and preview it on WordPress before you actually publish the result. </p>
<p>
I think this much should be functional right now. I’m going to try to get the <a href="http://www.ctan.org/tex-archive/macros/latex/contrib/listings/">listings</a> package working so that I can write source code in my entries. When I’m done, I’ll write a post about how to extend wplatex’s renderer so that you can add customizations if you like. Cheers everyone. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/curiousreasoning.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/curiousreasoning.wordpress.com/121/" /></a> <img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=curiousreasoning.wordpress.com&#038;blog=5701040&#038;post=121&#038;subd=curiousreasoning&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://curiousreasoning.wordpress.com/2010/01/30/overview-of-wplatex-4/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:content url="https://0.gravatar.com/avatar/93f6bb488cb8de34455db5c8993204f1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ericfinster</media:title>
		</media:content>
	</item>
		<item>
		<title>Update: wplatex</title>
		<link>https://curiousreasoning.wordpress.com/2010/01/29/update-wplatex/</link>
		<comments>https://curiousreasoning.wordpress.com/2010/01/29/update-wplatex/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 06:12:29 +0000</pubDate>
		<dc:creator>ericfinster</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[latex]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://curiousreasoning.wordpress.com/?p=100</guid>
		<description><![CDATA[Okay, I built a python package, called wplatex, which contains the code for everything I described below. This is still in a very early state, but if anyone wants to play with it, feel free. You can download the package here. Once you’ve unzipped it, install it using the setup.py script as usual. (i.e. (sudo) [...]<img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=curiousreasoning.wordpress.com&#038;blog=5701040&#038;post=100&#038;subd=curiousreasoning&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><p>
Okay, I built a python package, called wplatex, which contains the code for everything I described below. This is still in a very early state, but if anyone wants to play with it, feel free. You can download the package <a href="http://people.virginia.edu/~elf9e/wplatex">here</a>. Once you’ve unzipped it, install it using the setup.py script as usual. (i.e. (sudo) python setup.py install) </p>
<p>
There’s a custom Latex class definition file called wpblogentry.cls which you should put in your Latex path. Then use this for the documentclass in each of your entries. I’ll maybe say more about what else you can do tomorrow, but I think I’ll quit for tonight. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/curiousreasoning.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/curiousreasoning.wordpress.com/100/" /></a> <img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=curiousreasoning.wordpress.com&#038;blog=5701040&#038;post=100&#038;subd=curiousreasoning&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://curiousreasoning.wordpress.com/2010/01/29/update-wplatex/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="https://0.gravatar.com/avatar/93f6bb488cb8de34455db5c8993204f1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ericfinster</media:title>
		</media:content>
	</item>
		<item>
		<title>More on Blogging in Latex</title>
		<link>https://curiousreasoning.wordpress.com/2010/01/28/more-on-blogging-in-latex/</link>
		<comments>https://curiousreasoning.wordpress.com/2010/01/28/more-on-blogging-in-latex/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 21:22:08 +0000</pubDate>
		<dc:creator>ericfinster</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[latex]]></category>

		<guid isPermaLink="false">http://curiousreasoning.wordpress.com/?p=95</guid>
		<description><![CDATA[Okay, so the irony of making a couple of posts about how great my blogging setup was, and then not writing anything else, is not lost on me. Before you completely write me off, I beg you, hear me out. See, I was thinking about starting a series of posts on just some basic set [...]<img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=curiousreasoning.wordpress.com&#038;blog=5701040&#038;post=95&#038;subd=curiousreasoning&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><p>
Okay, so the irony of making a couple of posts about how great my blogging setup was, and then not writing anything else, is not lost on me. Before you completely write me off, I beg you, hear me out. </p>
<p>
See, I was thinking about starting a series of posts on just some basic set theory. I figure, if this is going to be a place where I can describe some of my work, I better start at the beginning. Besides, even though set theory is pretty simple and cool and easy to explain, you can get into some interesting and deep ideas pretty quickly. I love the theory of ordinal numbers, for example, so I thought I would write about normal forms and the like </p>
<p>
But the problem is, set theory is much easier to explain with pictures, so I needed to be able to draw pictures and post them along with the mathematics. And it occured to me, that in the spirit of automating my Latex posts, I ought to be able to extract any images I include and have them uploaded and linked in automatically. Unfortunately, the script <a href="http://lucatrevisan.wordpress.com/latex-to-wordpress/">latex2wp.py</a> which I described before doesn’t really do anything like this. </p>
<p>
And there were a couple other things I wanted: the script should automatically know the title of my post. (I did hack up a quick kludge to do this, but it wasn’t pretty.) And I should be able to make a new Latex macro to record my tags and categories. </p>
<p>
In other words, I am a perfectionist. Even though I had things pretty well automated already, it was driving me crazy that there were a couple of loose ends, and I was compelled by my twisted brain to look into them. </p>
<p>
My first conclusion was that the <a href="http://lucatrevisan.wordpress.com/latex-to-wordpress/">latex2wp.py</a> script was nice, but that it was going to be difficult to make it really do all the things I wanted. The script was clearly meant to be called from the command line, to perform its basic transformations and quit. There was no support for parsing and understanding what your Latex file said, storing the information, and customizing a post based on the content. And when I thought about it, this is what I was really after. </p>
<p>
Enter <a href="http://plastex.sourceforge.net/">plasTeX</a>. This was what I was really envisioning in my head all along. It parses your Latex document into a something like a custom DOM so that you can perform arbitrary transformations and rendering operations. Moreover, it’s extensible, object-oriented, Unicode aware, and written in Python. Combined with <a href="http://www.blackbirdblog.it/programmazione/progetti/28">wordpresslib</a>, which I mentioned before, this seemed like the best way of getting real integration between the Latex I was writing on my computer, and the posts that I sent out to the web. </p>
<p>
So I’ve been working on this idea for the past couple of days, and finally came up with <a href="http://people.virginia.edu/~elf9e/wplatex">this</a>. It basically does everything I wanted, and in the future could do even more, since it’s extremely easy to add new features. Automatically making use of WordPress’ source code feature comes to mind, along with more flexible rendering of arrays, aligns, and diagrams. You get the idea. </p>
<p>
Unfortunately, there’s a bit more to getting this to work now than just running the script linked to above (you need a couple auxillary files and some paths to be set correctly) but I’ll try to tar up what you need and post some instructions in the next day or so. </p>
<p>
I guess that’s all for now. I’m hungry. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/curiousreasoning.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/curiousreasoning.wordpress.com/95/" /></a> <img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=curiousreasoning.wordpress.com&#038;blog=5701040&#038;post=95&#038;subd=curiousreasoning&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://curiousreasoning.wordpress.com/2010/01/28/more-on-blogging-in-latex/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="https://0.gravatar.com/avatar/93f6bb488cb8de34455db5c8993204f1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ericfinster</media:title>
		</media:content>
	</item>
		<item>
		<title>Blogging Screenshots</title>
		<link>https://curiousreasoning.wordpress.com/2010/01/22/blogging-screenshots/</link>
		<comments>https://curiousreasoning.wordpress.com/2010/01/22/blogging-screenshots/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 02:33:37 +0000</pubDate>
		<dc:creator>ericfinster</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[latex]]></category>

		<guid isPermaLink="false">http://curiousreasoning.wordpress.com/?p=60</guid>
		<description><![CDATA[<img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=curiousreasoning.wordpress.com&#038;blog=5701040&#038;post=60&#038;subd=curiousreasoning&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[
<a href='https://curiousreasoning.wordpress.com/2010/01/22/blogging-screenshots/emacs-blog/' title='emacs-blog'><img data-liked='0' data-reblogged='0' data-attachment-id="61" data-orig-file="http://curiousreasoning.files.wordpress.com/2010/01/emacs-blog2.png" data-orig-size="1280,800" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="emacs-blog" data-image-description="" data-medium-file="http://curiousreasoning.files.wordpress.com/2010/01/emacs-blog2.png?w=300" data-large-file="http://curiousreasoning.files.wordpress.com/2010/01/emacs-blog2.png?w=450" width="150" height="93" src="http://curiousreasoning.files.wordpress.com/2010/01/emacs-blog2.png?w=150&#038;h=93" class="attachment-thumbnail" alt="emacs-blog" /></a>
<a href='https://curiousreasoning.wordpress.com/2010/01/22/blogging-screenshots/emacs-post/' title='emacs-post'><img data-liked='0' data-reblogged='0' data-attachment-id="62" data-orig-file="http://curiousreasoning.files.wordpress.com/2010/01/emacs-post2.png" data-orig-size="512,593" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="emacs-post" data-image-description="" data-medium-file="http://curiousreasoning.files.wordpress.com/2010/01/emacs-post2.png?w=259" data-large-file="http://curiousreasoning.files.wordpress.com/2010/01/emacs-post2.png?w=388" width="129" height="150" src="http://curiousreasoning.files.wordpress.com/2010/01/emacs-post2.png?w=129&#038;h=150" class="attachment-thumbnail" alt="emacs-post" /></a>
<a href='https://curiousreasoning.wordpress.com/2010/01/22/blogging-screenshots/emacs-preview/' title='emacs-preview'><img data-liked='0' data-reblogged='0' data-attachment-id="63" data-orig-file="http://curiousreasoning.files.wordpress.com/2010/01/emacs-preview2.png" data-orig-size="1280,800" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="emacs-preview" data-image-description="" data-medium-file="http://curiousreasoning.files.wordpress.com/2010/01/emacs-preview2.png?w=300" data-large-file="http://curiousreasoning.files.wordpress.com/2010/01/emacs-preview2.png?w=450" width="150" height="93" src="http://curiousreasoning.files.wordpress.com/2010/01/emacs-preview2.png?w=150&#038;h=93" class="attachment-thumbnail" alt="emacs-preview" /></a>

<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/curiousreasoning.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/curiousreasoning.wordpress.com/60/" /></a> <img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=curiousreasoning.wordpress.com&#038;blog=5701040&#038;post=60&#038;subd=curiousreasoning&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://curiousreasoning.wordpress.com/2010/01/22/blogging-screenshots/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="https://0.gravatar.com/avatar/93f6bb488cb8de34455db5c8993204f1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ericfinster</media:title>
		</media:content>

		<media:content url="http://curiousreasoning.files.wordpress.com/2010/01/emacs-blog2.png?w=150" medium="image">
			<media:title type="html">emacs-blog</media:title>
		</media:content>

		<media:content url="http://curiousreasoning.files.wordpress.com/2010/01/emacs-post2.png?w=129" medium="image">
			<media:title type="html">emacs-post</media:title>
		</media:content>

		<media:content url="http://curiousreasoning.files.wordpress.com/2010/01/emacs-preview2.png?w=150" medium="image">
			<media:title type="html">emacs-preview</media:title>
		</media:content>
	</item>
		<item>
		<title>LaTeX Blogging with Emacs</title>
		<link>https://curiousreasoning.wordpress.com/2010/01/21/latex-blogging-with-emacs/</link>
		<comments>https://curiousreasoning.wordpress.com/2010/01/21/latex-blogging-with-emacs/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 18:47:40 +0000</pubDate>
		<dc:creator>ericfinster</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[latex]]></category>

		<guid isPermaLink="false">http://curiousreasoning.wordpress.com/?p=44</guid>
		<description><![CDATA[As a mathematician, I am constantly using Latex to write mathematics. I use it for my own notes and ideas, for writing papers, doing homework, making quizzes and handouts for my class, just about everything. In fact, since I&#8217;ve become reasonably profficient, I find little use for any other word processors. The separation that Latex [...]<img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=curiousreasoning.wordpress.com&#038;blog=5701040&#038;post=44&#038;subd=curiousreasoning&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><p>
As a mathematician, I am constantly using Latex to write mathematics. I use it for my own notes and ideas, for writing papers, doing homework, making quizzes and handouts for my class, just about everything. In fact, since I&#8217;ve become reasonably profficient, I find little use for any other word processors. The separation that Latex provides between the contents of a document and its format is extremely useful, and now that I&#8217;m used to it, I find that most WYSIWYG editors make it <em>more</em> difficult to get a document formatted like you want it, not less. Besides, writing most of my documents in Latex means I get to spend plenty of time with one of my favorite pieces of software, <a href="http://www.gnu.org/software/emacs/">GNU Emacs</a>.</p>
<p>
Seriously. It&#8217;s the best.</p>
<p>
For a long time I&#8217;ve had a really comfortable setup in Emacs where I can just open a new document, insert a standard header for notes, and begin writing. There&#8217;s essentially no setup time, and I get straight to the point where I can start doing math. I don&#8217;t even really need a pen and paper now. I can do most of my thinking at the keyboard, and that way have everything archived and organized. This is much superior the the mountain of notebook paper from years past which threatens to consume my room as we speak.</p>
<p>
But it had long been in the back of my mind that really these notes form something like my mathematical diary, and that if I were to spend just a bit more time explaining the things I was doing, they would form the basis for a blog which covers my work. The only thing left was to sort of streamline the process of cleaning things up and posting them online. So let me describe how I can do that now.</p>
<p>
There&#8217;s a nice little python script called latex2wp.py which you can read about <a href="http://lucatrevisan.wordpress.com/latex-to-wordpress/">here</a>. It takes your Latex document and outputs html which can be cut and pasted into WordPress. But actually, you can do better if you use <a href="http://www.blackbirdblog.it/programmazione/progetti/28">this</a>. It&#8217;s a little python library for accessing WordPress directly. So I just wrote a little bit of code to connect the two: it first runs latex2wp and the automatically uploads the result. I bound that to one of my Emacs commands, and Voila!.</p>
<p>
The upshot is that my blog posts are written in actual Latex on my computer locally, where I can edit, preview, and use all my custom macros. Then when I finish, I just run my script and the result appears on my blog. That&#8217;s how this entry was written. </p>
<p>
If I get around to it, I might post some screenshots and explain some of the other Emacs customizations which make my life easier.</p>
<p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/curiousreasoning.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/curiousreasoning.wordpress.com/44/" /></a> <img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=curiousreasoning.wordpress.com&#038;blog=5701040&#038;post=44&#038;subd=curiousreasoning&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://curiousreasoning.wordpress.com/2010/01/21/latex-blogging-with-emacs/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="https://0.gravatar.com/avatar/93f6bb488cb8de34455db5c8993204f1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ericfinster</media:title>
		</media:content>
	</item>
		<item>
		<title>Introduction</title>
		<link>https://curiousreasoning.wordpress.com/2010/01/21/introduction/</link>
		<comments>https://curiousreasoning.wordpress.com/2010/01/21/introduction/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 05:14:20 +0000</pubDate>
		<dc:creator>ericfinster</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://curiousreasoning.wordpress.com/?p=42</guid>
		<description><![CDATA[Greetings! So my name is Eric. I&#8217;m a graduate student at the University of Virginia, attempting to finish off my PhD in mathematics. Specifically, I specialize in algebraic topology and homotopy theory. One of the ideas of this blog is to describe what these subjects are, why people are interested in them, and how they [...]<img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=curiousreasoning.wordpress.com&#038;blog=5701040&#038;post=42&#038;subd=curiousreasoning&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><p>
Greetings!</p>
<p>
So my name is Eric. I&#8217;m a graduate student at the University of Virginia, attempting to finish off my PhD in mathematics. Specifically, I specialize in algebraic topology and homotopy theory. One of the ideas of this blog is to describe what these subjects are, why people are interested in them, and how they are useful. </p>
<p>
Posts won&#8217;t be limited to just mathematics, however. I hope to make this a place for me to write about whatever is currently on my mind. Right now, putting together a setup which will actually get me blogging consistently is on my mind, so perhaps the first post will describe what I&#8217;ve come up with.</p>
<p>
But for now, I have to prepare some lectures for the first day of my Calculus class, which begins tomorrow. Cheers.</p>
<p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/curiousreasoning.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/curiousreasoning.wordpress.com/42/" /></a> <img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=curiousreasoning.wordpress.com&#038;blog=5701040&#038;post=42&#038;subd=curiousreasoning&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://curiousreasoning.wordpress.com/2010/01/21/introduction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="https://0.gravatar.com/avatar/93f6bb488cb8de34455db5c8993204f1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ericfinster</media:title>
		</media:content>
	</item>
	</channel>
</rss>
