<?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/"
	>

<channel>
	<title>Excursus &#187; Markup</title>
	<atom:link href="http://markelikalderon.com/category/markup/feed/" rel="self" type="application/rss+xml" />
	<link>http://markelikalderon.com</link>
	<description>Philosophy and Text</description>
	<lastBuildDate>Tue, 27 Dec 2011 23:01:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Colored Word Differences in Git</title>
		<link>http://markelikalderon.com/2010/09/04/colored-word-differences-in-git/</link>
		<comments>http://markelikalderon.com/2010/09/04/colored-word-differences-in-git/#comments</comments>
		<pubDate>Sat, 04 Sep 2010 13:22:58 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[diff]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=672</guid>
		<description><![CDATA[Being able to view diffs is an essential part of the workflow in keeping your LaTeX documents under version control. (You are using a version control system, right?) One limitation of diff software is that they tend to display line differences. Since paragraphs in LaTeX tend to be long lines, multiple differences within a paragraph [...]]]></description>
			<content:encoded><![CDATA[<p>Being able to view diffs is an essential part of the workflow in keeping your LaTeX documents under version control. (You are using a version control system, right?) One limitation of diff software is that they tend to display <em>line differences</em>. Since paragraphs in LaTeX tend to be long lines, multiple differences within a paragraph are not marked. If you are using <a href="http://git-scm.com/" title="Git - Fast Version Control System">Git</a> for version control, here is a quick tip. <code>git diff</code> comes with the option <code>--color-words</code>. This option highlights <em>word differences</em>. <code>git diff</code> defaults to the <code>less</code> pager. While <code>git diff --color-words</code> highlights word differences, <code>less</code> does not, by default, wrap long lines. However, you can invoke the <code>-S</code> option within <code>less</code> to wrap long lines. So, for a quick LaTeX-friendly diff within <code>git</code> try:</p>

<pre class="textmate-source"><span class="source source_shell">$ git diff --color-words</span></pre>

<p>followed by <code>-S</code> in the subsequent <code>less</code> pager.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2010/09/04/colored-word-differences-in-git/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On a Need to Know Basis</title>
		<link>http://markelikalderon.com/2009/01/25/on-a-need-to-know-basis/</link>
		<comments>http://markelikalderon.com/2009/01/25/on-a-need-to-know-basis/#comments</comments>
		<pubDate>Sun, 25 Jan 2009 22:00:22 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Markup]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=630</guid>
		<description><![CDATA[Advanced features of LaTeX are best learned on a need to know basis. The LaTeX Companion can be daunting in its length. If you thought you needed to master all of that material before writing a LaTeX document you would never do so. So start simple, and learn how to do more advanced things as [...]]]></description>
			<content:encoded><![CDATA[<a href="http://markelikalderon.com/wp-content/uploads/2008/12/logo.gif"><img src="http://markelikalderon.com/wp-content/uploads/2008/12/logo.gif" alt="John Cook Wilson" title="John Cook Wilson" width="177" height="209" class="size-full wp-image-598" /></a>

<p>Advanced features of LaTeX are best learned on a need to know basis. <a href="http://www.amazon.com/LaTeX-Companion-Techniques-Computer-Typesetting/dp/0201362996/ref=pd_bbs_sr_1?ie=UTF8&amp;s=books&amp;qid=1232913794&amp;sr=8-1">The LaTeX Companion</a> can be daunting in its length. If you thought you needed to master <em>all</em> of that material before writing a LaTeX document you would never do so. So start simple, and learn how to do more advanced things as and when you need to.</p>

<p>Learn on a need to know basis, and when you do learn, hack. Don&#8217;t feel like you need to know whether the code will work before running it. The worst thing that will happen is that LaTeX will throw an error. LaTeX errors are instructive. Learn to love them.</p>

<p>These reflections arose today when I needed to do something which should have been simple. It <em>was</em> simple&#8212;once I learned how to do it. I was preparing a handout for my seminar. On the handout is a summary of the material that I presented on Cook Wilson and the nature of representation and notes on the ensuing discussion. It would be useful if these were visually distinguished.</p>

<p>My first thought was to use the color package. It has a command <code>\colorbox</code> that specifies the <em>background</em> color of a box. However, the results were suboptimal&#8212;small strips of white separate the colored lines. Disappointed, I thought, well, perhaps I can just color the relevant text with <code>\textcolor</code>. The discussion however could run for several paragraphs and it turns out that <code>\textcolor</code> chokes when it wraps multiple paragraphs. It was obvious to me, then, that there was no straightforward, out of the box, solution.</p>

<p>I decided to define a new environment, <code>discussion</code>:</p>

<pre class="textmate-source"><span class="text text_tex text_tex_latex"><span class="meta meta_function meta_function_environment meta_function_environment_general meta_function_environment_general_latex"><span class="support support_function support_function_be support_function_be_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>begin</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">discussion</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">}</span>
    <text>
<span class="support support_function support_function_be support_function_be_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>end</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">discussion</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">}</span></span></span></pre>

<p>It requires the <code>color</code> package, and you need to define a color that will be used for the background. I used <code>\definecolor{myblue}{rgb}{0.8,0.8,1}</code>. (Readers of the wonderful Tikz Pgf manual will recognize this as the background color of the code blocks.) The strategy was simple&#8212;wrap a <code>minipage</code> in a box. The <code>minipage</code> environment defines, well, a small page:</p>

<pre class="textmate-source"><span class="text text_tex text_tex_latex"><span class="meta meta_function meta_function_environment meta_function_environment_general meta_function_environment_general_latex"><span class="support support_function support_function_be support_function_be_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>begin</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">minipage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">}</span><span class="punctuation punctuation_definition punctuation_definition_brackets punctuation_definition_brackets_tex">[</span>position<span class="punctuation punctuation_definition punctuation_definition_brackets punctuation_definition_brackets_tex">]</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>width<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
  <text>
<span class="support support_function support_function_be support_function_be_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>end</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">minipage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">}</span></span></span></pre>

<p>The <code>minipage</code> is wrapped in a box. Boxes are usually created by commands, but there is a box environment <code>lrbox</code>:</p>

<pre class="textmate-source"><span class="text text_tex text_tex_latex"><span class="meta meta_function meta_function_environment meta_function_environment_general meta_function_environment_general_latex"><span class="support support_function support_function_be support_function_be_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>begin</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">lrbox</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">}</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><cmd><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
    <text>
<span class="support support_function support_function_be support_function_be_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>end</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">lrbox</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">}</span></span></span></pre>

<p>The text within this environment is saved in the box <code>&lt;cmd&gt;</code>. Here is the <code>discussion</code> environment with all the bells and whistles.</p>

<pre class="textmate-source"><span class="text text_tex text_tex_latex"><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>makeatletter<span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>newenvironment</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>discussion<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span><span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span>
</span>   <span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>noindent</span><span class="meta meta_function meta_function_environment meta_function_environment_general meta_function_environment_general_latex"><span class="support support_function support_function_be support_function_be_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>begin</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">lrbox</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">}</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>@tempboxa</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="meta meta_function meta_function_environment meta_function_environment_general meta_function_environment_general_latex"><span class="support support_function support_function_be support_function_be_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>begin</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">minipage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">}</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>columnwidth</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>setlength</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>parindent</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>1em<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>}<span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>end</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>minipage<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>end</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>lrbox<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span>
</span>   <span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>colorbox</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>myblue<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>usebox</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>@tempboxa</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>makeatother</span></span></span></span></span></pre>

<p>Here&#8217;s the gist:</p>

<script src="http://gist.github.com/52535.js"></script>

<p>(Sorry for the duplication, but embedded gists are not showing up in some news readers.)</p>

<p>Two comments. The initial <code>\noindent</code> is required otherwise the entire box will be indented&#8212;which would be awkward since the width of the <code>minipage</code> is set to the width of the column. Another issue is that there is no paragraph indentation within the <code>minipage</code> environment. In effect, within that environment, LaTeX sets <code>\parindent</code> to 0. This, however, can be overridden with the <code>\setlength</code> command:</p>

<pre class="textmate-source"><span class="text text_tex text_tex_latex"><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>setlength</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>parindent</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>1em<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span></span></pre>

<p>Here is the result:
<a href="http://markelikalderon.com/wp-content/uploads/2009/01/discussion.jpg"><img src="http://markelikalderon.com/wp-content/uploads/2009/01/discussion.jpg" alt="Discussion Environment" title="discussion" width="597" height="790" class="size-full wp-image-634" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2009/01/25/on-a-need-to-know-basis/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Donald Knuth no Ringo Starr</title>
		<link>http://markelikalderon.com/2008/10/31/donald-knuth-no-ringo-starr/</link>
		<comments>http://markelikalderon.com/2008/10/31/donald-knuth-no-ringo-starr/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 21:02:45 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[TeX]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/10/31/donald-knuth-no-ringo-starr/</guid>
		<description><![CDATA[Donald Knuth is renowned for offering a bounty for bugs found in TeX. Many of these checks remain forever uncashed, the recipients rightly regarding the signed check an honor greater than the money it represents. Sadly, this practice has come to an end. No Donald Kuth has not died, nor is he, like Ringo Starr, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www-cs-staff.stanford.edu/~uno/" title="Don Knuth's Home Page">Donald Knuth</a> is renowned for offering a bounty for bugs found in <a href="http://en.wikipedia.org/wiki/TeX" title="TeX - Wikipedia, the free encyclopedia">TeX</a>. Many of these checks remain forever uncashed, the recipients rightly regarding the signed check an honor greater than the money it represents. Sadly, this practice has come to an end. No Donald Kuth has not died, nor is he, like Ringo Starr, refusing to respond further to inquiries. Rather, the relative ease of financial fraud and the fact that he has been the victim of such fraud has forced him to give way to prudence and <a href="http://www-cs-faculty.stanford.edu/~knuth/news08.html">end the tradition</a>. The bounty still exists, but signed checks will no longer be forthcoming.</p>

<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/pUsBqDfnIzk&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/pUsBqDfnIzk&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/10/31/donald-knuth-no-ringo-starr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SyncTeX: Why it Matters</title>
		<link>http://markelikalderon.com/2008/09/11/synctex-why-it-matters/</link>
		<comments>http://markelikalderon.com/2008/09/11/synctex-why-it-matters/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 01:07:48 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[XeTeX]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/09/11/synctex-why-it-matters/</guid>
		<description><![CDATA[One of the features of MacTeX 2008 that I was looking forward to was its inclusion of SyncTeX, Jerome Laurens replacement for pdfsync. There are two ways to call SyncTeX, from the command line and in source. From the command line simply use the argument -synctex=1, and from source include \synctex=1 in the preamble. The [...]]]></description>
			<content:encoded><![CDATA[<p>One of the features of MacTeX 2008 that I was looking forward to was its inclusion of <a href="http://itexmac.sourceforge.net/SyncTeX.html">SyncTeX</a>, Jerome Laurens replacement for pdfsync.</p>

<p>There are two ways to call SyncTeX, from the command line and in source. From the command line simply use the argument <code>-synctex=1</code>, and from source include <code>\synctex=1</code> in the preamble. The former may be preferable if you want to distribute your LaTeX source&#8212;that way it will run without errors even by those whose TeX distributions do not include SyncTeX support.</p>

<p>Here is how synchronization worked with pdfsync. A word in your source is associated with a file name and a line number where it occurs. The file name and line number together constituted the input record. That same word as it occurs in the pdf generated from the source is associated with a page number and a location on that page. Together these constituted the output record. Synchronization was achieved by linking the input record with the output record. Moreover this was done by assigning each of these records with a unique tag. This was necessary since while the TeX engine will place a word in the source on some page in the generated pdf and on some location on that page, by the time it has done this, it has &#8220;forgotten&#8221; the file name and line number. Unique tags were thus required to preserve this information for synchronization. These tags were stored in special data nodes in every pargraph, math display, etc.</p>

<p>There were three problems, however, with this synchronization solution:</p>

<ol>
<li>The data nodes used by pdfsync could interfere with TeX&#8217;s line breaking mechanism and thus affect the layout of the page.</li>
<li>pdfsync was incompatible with certain LaTeX packages. While some could be rewritten to accommodate pdfsync, others could not.</li>
<li>The mapping from the input record to the output record was not one-one, but one-many. So developers of pdf viewers supporting pdfsync had to choose the right mapping from the input record to the output record, and this was not always easy to do.</li>
</ol>

<p>Instead of using special data notes, SyncTeX exploits kern nodes and glue nodes that are determined early on in TeX&#8217;s processing of the source to track the location of a word in the pdf output.</p>

<p>Another advantage of SyncTeX over pdfsync is that SyncTeX also supports dvi and xdv outputs (not that useful for me, but your situation may differ).</p>

<p>The TeXLive distribution, which MacTeX is built upon, is the first implementation of SyncTeX, and both PdfTeX and XeTeX in TeXLive now have SyncTeX support embedded deep within these TeX engines.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/09/11/synctex-why-it-matters/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>MacTeX 2008</title>
		<link>http://markelikalderon.com/2008/09/01/mactex-2008/</link>
		<comments>http://markelikalderon.com/2008/09/01/mactex-2008/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 12:10:46 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[TeX]]></category>
		<category><![CDATA[XeTeX]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=526</guid>
		<description><![CDATA[MacTeX 2008 has just been released. Here are some of the new features: Packages in TeX Live 2008 can be updated over the internet. This is a major advance in the distribution. See documentation about the TeX Live Manager for details, and read the tlmgr man page. Additional documentation for the Mac is forthcoming; see [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tug.org/mactex/2008/">MacTeX 2008</a> has just been released. Here are some of the new features:</p>

<ul>
<li>Packages in TeX Live 2008 can be updated over the internet. This is a major advance in the distribution. See documentation about the TeX Live Manager for details, and read the tlmgr man page. Additional documentation for the Mac is forthcoming; see the final paragraph of the previous section.</li>
<li>Donald Knuth updates the TeX once every five or six years, fixing bugs that have accumulated over that time. This is an update year; TeX now has version number 3.1415926.</li>
<li>pdfTeX has been updated to version 3.1415926-1.40.9.</li>
<li>XeTeX has been updated to version 3.1415926-2.2-0.999.6; by default the program now uses the xdvipdfmx driver.</li>
<li>luaTeX is in TeX Live 2008; this is a beta release of a program intended to eventually replace pdftex. To use the program, call it using one of the following commands: luatex, pdfluatex, lualatex, pdflualatex.</li>
<li>Jerome Laurens&#8217; new SyncTeX is included. This software causes pdfTeX, pdfeTeX, and XeTeX to output a &#8220;synctex&#8221; file during typesetting containing information to synchronize the source input and pdf output of a TeX run. In modern TeX distributions, pdfeTeX is used for almost all typesetting, since LaTeX and other engines are symbolically linked to that program, so SyncTeX is available for most typesetting jobs.</li>
</ul>

<p>I have been waiting for this, not least because I want to dump pdfsync in favor of SyncTeX. However, the link to the zip file gives the following error <code>“unknown error” (NSURLErrorDomain:-1)</code>. :( Hopefully this will be fixed soon.</p>

<p><strong>Update</strong>: The MacTeX link is now live. I am downloading it now. \o/</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/09/01/mactex-2008/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>LaTeX and the Logic of Sectioning</title>
		<link>http://markelikalderon.com/2008/08/05/latex-and-the-logic-of-sectioning/</link>
		<comments>http://markelikalderon.com/2008/08/05/latex-and-the-logic-of-sectioning/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 16:23:15 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Markup]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/08/05/latex-and-the-logic-of-sectioning/</guid>
		<description><![CDATA[In LaTeX, sections and subsections lack closing tags. So a section with a subsection followed by another section would be represented like so: \section{A Section} \subsection{A Subsection} \section{Another Section} A lack of closing tags, however, is far from being structurally innocent. Suppose, instead, we had sections and subsections represented like LaTeX environments: \begin{section}{A Section} \begin{subsection}{A [...]]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://www.latex-project.org/" title="LaTeX project: LaTeX &ndash; A document preparation system">LaTeX</a>, sections and subsections lack closing tags. So a section with a subsection followed by another section would be represented like so:</p>

<pre class="textmate-source"><span class="text text_tex text_tex_latex"><span class="meta meta_function meta_function_section meta_function_section_latex"><span class="support support_function support_function_section support_function_section_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>section</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="entity entity_name entity_name_section entity_name_section_latex">A Section</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span> 

<span class="meta meta_function meta_function_section meta_function_section_latex"><span class="support support_function support_function_section support_function_section_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>subsection</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="entity entity_name entity_name_section entity_name_section_latex">A Subsection</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span>

<span class="meta meta_function meta_function_section meta_function_section_latex"><span class="support support_function support_function_section support_function_section_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>section</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="entity entity_name entity_name_section entity_name_section_latex">Another Section</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span></span></pre>

<p>A lack of closing tags, however, is far from being structurally innocent. Suppose, instead, we had sections and subsections represented like LaTeX environments:</p>

<pre class="textmate-source"><span class="text text_tex text_tex_latex"><span class="meta meta_function meta_function_environment meta_function_environment_general meta_function_environment_general_latex"><span class="support support_function support_function_be support_function_be_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>begin</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">section</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">}</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>A Section<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
<span class="meta meta_function meta_function_environment meta_function_environment_general meta_function_environment_general_latex">    <span class="support support_function support_function_be support_function_be_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>begin</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">subsection</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">}</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>A Subsection<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
        
    <span class="support support_function support_function_be support_function_be_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>end</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">subsection</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">}</span>
</span><span class="support support_function support_function_be support_function_be_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>end</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">section</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">}</span></span></span></pre>

<p>With closing tags, we could have text at the beginning of the parent section <em>and</em> at the close of the section that was not part of any subsection. Why would you want to do that? I am currently writing a paper and I decided to break a long section into two subsections&#8212;both for ease of reading and to reflect the emerging structure of the text. It made sense to have some introductory remarks and some closing remarks that were part of the section but not part of either subsections. With closing tags, this would have been simple and transparent:</p>

<pre class="textmate-source"><span class="text text_tex text_tex_latex"><span class="meta meta_function meta_function_environment meta_function_environment_general meta_function_environment_general_latex"><span class="support support_function support_function_be support_function_be_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>begin</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">section</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">}</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>A Section<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
    
    Some introductory remarks.
    
<span class="meta meta_function meta_function_environment meta_function_environment_general meta_function_environment_general_latex">    <span class="support support_function support_function_be support_function_be_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>begin</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">subsection</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">}</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>A Subsection<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
        
        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
        
    <span class="support support_function support_function_be support_function_be_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>end</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">subsection</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">}</span>
</span>    
<span class="meta meta_function meta_function_environment meta_function_environment_general meta_function_environment_general_latex">    <span class="support support_function support_function_be support_function_be_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>begin</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">subsection</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">}</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>Another Subsection<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
        
        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
        
    <span class="support support_function support_function_be support_function_be_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>end</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">subsection</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">}</span>
</span>    
    Some closing remarks.
    
<span class="support support_function support_function_be support_function_be_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>end</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">section</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">}</span></span></span></pre>

<p>However, without closing tags, there is no way to represent this logical structure. The introductory remarks at the beginning of the parent section were no problem. It was the closing remarks following the final subsection that posed the problem:</p>

<pre class="textmate-source"><span class="text text_tex text_tex_latex"><span class="meta meta_function meta_function_section meta_function_section_latex"><span class="support support_function support_function_section support_function_section_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>section</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="entity entity_name entity_name_section entity_name_section_latex">A Section</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span> 

Some introductory remarks

<span class="meta meta_function meta_function_section meta_function_section_latex"><span class="support support_function support_function_section support_function_section_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>subsection</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="entity entity_name entity_name_section entity_name_section_latex">A Subsection</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span>

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

<span class="meta meta_function meta_function_section meta_function_section_latex"><span class="support support_function support_function_section support_function_section_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>subsection</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="entity entity_name entity_name_section entity_name_section_latex">Another Subsection</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span>

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Some closing remarks.</span></pre>

<p>Notice, the closing remarks are part of the second subsection. To deal with this I had to resort ot a visual hack:</p>

<pre class="textmate-source"><span class="text text_tex text_tex_latex"><span class="meta meta_function meta_function_section meta_function_section_latex"><span class="support support_function support_function_section support_function_section_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>section</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="entity entity_name entity_name_section entity_name_section_latex">A Section</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span> 

Some introductory remarks

<span class="meta meta_function meta_function_section meta_function_section_latex"><span class="support support_function support_function_section support_function_section_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>subsection</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="entity entity_name entity_name_section entity_name_section_latex">A Subsection</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span>

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

<span class="meta meta_function meta_function_section meta_function_section_latex"><span class="support support_function support_function_section support_function_section_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>subsection</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="entity entity_name entity_name_section entity_name_section_latex">Another Subsection</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span>

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.<span class="constant constant_character constant_character_newline constant_character_newline_tex">\\</span>

<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>noindent</span> Some closing remarks.</span></pre>

<p><code>\\</code> in effect introduces a blank line, and <code>\noindent</code> forces the paragraph to begin without indentation. In this way, I signalled that the closing remarks were part of the section and not the final subsection. It is a <em>visual hack</em> since I signalled the status of the closing remarks by the visual layout of the text. As far as LaTeX is concerned, however, the closing remarks are still part of the final subsection. Disheartening for someone enamoured of structural markup.</p>

<p>LaTeX3 is vaporware, and I have no evidence that this issue will even be addressed. I am unfamiliar with <a href="http://wiki.contextgarden.net/Main_Page">ConTeXt</a>&#8212;an alternative macro language for TeX that is meant to be based on more uptodate ideas about structural markup. I would be curious to see if this issue arises in ConTeXt as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/08/05/latex-and-the-logic-of-sectioning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Keeping your LaTeX Preamble in a Git Submodule</title>
		<link>http://markelikalderon.com/2008/07/31/keeping-your-latex-preamble-in-a-git-submodule/</link>
		<comments>http://markelikalderon.com/2008/07/31/keeping-your-latex-preamble-in-a-git-submodule/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 02:58:07 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Markup]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=481</guid>
		<description><![CDATA[One of the much vaunted conceptual advantages of structural markup is the separation of form and content. In LaTeX, the preamble determines the the form of the document, how it is to be typeset, while the main body determines the content of the document and should contain only structural markup, markup that specifies the logical [...]]]></description>
			<content:encoded><![CDATA[<p>One of the much vaunted conceptual advantages of structural markup is the separation of form and content. In <a href="http://www.latex-project.org/" title="LaTeX project: LaTeX &ndash; A document preparation system">LaTeX</a>, the preamble determines the the form of the document, how it is to be typeset, while the main body determines the content of the document and should contain only structural markup, markup that specifies the logical structure of the content.</p>

<p>As I explained in an earlier <a href="http://markelikalderon.com/blog/2008/07/22/the-gist-of-latex/">post</a>, it is useful to independently maintain any LaTeX preambles you may have in version control. Independently, that is, of your present LaTeX project. The rationale is simple. If you discover some heretofore overlooked need requiring a change to the preamble, it would be useful if this change were made available to any other LaTeX document that uses that preamble.</p>

<p>Here is how to do this with <a href="http://git.or.cz/" title="Git - Fast Version Control System">Git</a> and Git submodules. (Something similar could be achieved with <a href="http://subversion.tigris.org/" title="subversion.tigris.org">Subversion</a> and Subversion externals.)</p>

<p>First, let&#8217;s create a Git repository for our LaTeX project:</p>

<pre class="textmate-source"><span class="source source_shell"><span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span> $ mkdir myproject
<span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span> $ cd <span class="keyword keyword_operator keyword_operator_pipe keyword_operator_pipe_shell">!</span>$
<span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span>/myproject $ touch mytex.tex
<span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span>/myproject $ git init
Initialized empty Git repository <span class="keyword keyword_control keyword_control_shell">in</span> /Users/markelikalderon/myproject/.git/
<span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span>/myproject $ git add .
<span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span>/myproject $ git commit -m <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>Initial commit<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span></span></pre>

<p><code>mytex.tex</code> is just an empty file so far. Here is the template LaTeX file that I am currently using:</p>

<pre class="textmate-source"><span class="text text_tex text_tex_latex"><span class="comment comment_line comment_line_percentage comment_line_percentage_directive comment_line_percentage_directive_texshop comment_line_percentage_directive_texshop_tex">%!TEX TS-program = xelatex </span>
<span class="comment comment_line comment_line_percentage comment_line_percentage_directive comment_line_percentage_directive_texshop comment_line_percentage_directive_texshop_tex">%!TEX TS-options = -output-driver="xdvipdfmx -q -E"</span>
<span class="comment comment_line comment_line_percentage comment_line_percentage_directive comment_line_percentage_directive_texshop comment_line_percentage_directive_texshop_tex">%!TEX encoding = UTF-8 Unicode</span>
<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span>
</span><span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span>  my_title
</span><span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span>
</span><span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span>  Created by my_name on date.
</span><span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span>  Copyright (c) year. All rights reserved.
</span><span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span>
</span>
<span class="meta meta_preamble meta_preamble_latex"><span class="keyword keyword_control keyword_control_preamble keyword_control_preamble_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>documentclass</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">[</span><span class="variable variable_parameter variable_parameter_latex">12pt</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">]</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="support support_class support_class_latex">article</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span> 

<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> Definitions
</span><span class="storage storage_type storage_type_function storage_type_function_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>newcommand</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>mykeywords</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{}</span></span> 
<span class="storage storage_type storage_type_function storage_type_function_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>newcommand</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>myauthor</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{}</span></span> 
<span class="storage storage_type storage_type_function storage_type_function_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>newcommand</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>mytitle</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{}</span></span>
<span class="storage storage_type storage_type_function storage_type_function_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>newcommand</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>mybib</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{}</span></span>

<span class="meta meta_include meta_include_latex"><span class="keyword keyword_control keyword_control_include keyword_control_include_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>input</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="support support_class support_class_latex">preamble/preamble</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span>

<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span>%% BEGIN DOCUMENT
</span><span class="meta meta_function meta_function_begin-document meta_function_begin-document_latex"><span class="support support_function support_function_be support_function_be_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>begin</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">document</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span>

<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> Title Page
</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>maketitle</span>
<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> \begin{abstract} % optional
</span><span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> \end{abstract} 
</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>vskip</span><span class="meta meta_space-after-command meta_space-after-command_latex"> </span>2em <span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>hrule</span><span class="meta meta_space-after-command meta_space-after-command_latex"> </span>height 0.4pt <span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>vskip</span><span class="meta meta_space-after-command meta_space-after-command_latex"> </span>2em
<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> \epigraph{text of epigraph}{\textsc{author of epigraph}} % optional; make sure to uncomment \usepackage{epigraph}
</span>
<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> Layout Settings
</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>setlength</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>parindent</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>1em<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>

<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> Main Content
</span>


<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> Bibligography
</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>bibliographystyle</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>plainnat<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span> 
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>bibliography</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>mybib</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span> 

<span class="meta meta_function meta_function_end-document meta_function_end-document_latex"><span class="support support_function support_function_be support_function_be_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>end</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">document</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span></span></pre>

<p>A couple of observations about this. First, I am assuming that the included preamble is called <code>preamble.tex</code> and is in a subdirectory called <code>preamble</code>. This is required since we will be keeping our preamble in a Git submodule, and submodules are always subdirectories of the superproject. Second, I have defined some commands, <code>\mytitle</code>, <code>\myauthor</code>, etc. Basically these are all the elements of the preamble that could change from one LaTeX project to another. (So, in the preamble, we have <code>\title{\mytitle}</code>.) This was done to generalize the preamble so it can remain constant from project to project. Also, with a template, it is useful to pull, in this way, all the bits you would need to fill in to the top of the document so that you don&#8217;t need to hunt through the code. Once you have added content to <code>mytex.tex</code>, you will, of course, need to  commit these changes.</p>

<p>Next we want to push to a remote repository. I will assume that your remote repository is hosted by GitHub (they provide free accounts for publically availbale repositories). So create a repository, &#8220;myproject&#8221;, on GitHub and then:</p>

<pre class="textmate-source"><span class="source source_shell"><span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span>/myproject $ git remote add origin git@github.com:myname/myproject.com
<span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span>/myproject $ git push origin master</span></pre>

<p>(where &#8220;myname&#8221; is your GitHub username).</p>

<p>Now for something mysterious, but it&#8217;s required for Git submodules to work. We are going to delete our local Git repository and clone the remote repository:</p>

<pre class="textmate-source"><span class="source source_shell"><span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span>/myproject $ cd ..
<span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span> $ rm -rf myproject/
<span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span> $ git clone git@github.com:myname/myproject.com</span></pre>

<p>Now we are going to create a Git submodule. Your preamble, call it <code>preamble.tex</code>, needs to be in a git repository. For the sake of illustration, we will use <a href="http://gist.github.com/835">the preamble I am hosting on GitHub</a>:</p>

<pre class="textmate-source"><span class="text text_tex text_tex_latex"><span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> Packages
</span><span class="meta meta_preamble meta_preamble_latex"><span class="keyword keyword_control keyword_control_preamble keyword_control_preamble_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>usepackage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="support support_class support_class_latex">geometry</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span> <span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>geometry</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>a4paper<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span> 
<span class="meta meta_preamble meta_preamble_latex"><span class="keyword keyword_control keyword_control_preamble keyword_control_preamble_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>usepackage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="support support_class support_class_latex">url</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span>
<span class="meta meta_preamble meta_preamble_latex"><span class="keyword keyword_control keyword_control_preamble keyword_control_preamble_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>usepackage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="support support_class support_class_latex">pdfsync</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span> 
<span class="meta meta_preamble meta_preamble_latex"><span class="keyword keyword_control keyword_control_preamble keyword_control_preamble_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>usepackage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="support support_class support_class_latex">txfonts</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span>
<span class="meta meta_preamble meta_preamble_latex"><span class="keyword keyword_control keyword_control_preamble keyword_control_preamble_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>usepackage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="support support_class support_class_latex">color</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span>
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>definecolor</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>gray<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>rgb<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>0.459,0.438,0.471<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> \usepackage{setspace}
</span><span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> \doublespace % Uncomment for doublespacing if necessary
</span><span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> \usepackage{epigraph} % optional
</span> 
<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> XeTeX
</span><span class="meta meta_preamble meta_preamble_latex"><span class="keyword keyword_control keyword_control_preamble keyword_control_preamble_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>usepackage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">[</span><span class="variable variable_parameter variable_parameter_latex">cm-default</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">]</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="support support_class support_class_latex">fontspec</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span>
<span class="meta meta_preamble meta_preamble_latex"><span class="keyword keyword_control keyword_control_preamble keyword_control_preamble_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>usepackage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="support support_class support_class_latex">xltxtra,xunicode</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span>
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>defaultfontfeatures</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>Scale=MatchLowercase,Mapping=tex-text<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>setmainfont</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>Hoefler Text<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>setsansfont</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>Gill Sans<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>setmonofont</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>Inconsolata<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
 
<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> Section Formatting
</span><span class="meta meta_preamble meta_preamble_latex"><span class="keyword keyword_control keyword_control_preamble keyword_control_preamble_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>usepackage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">[</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">]</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="support support_class support_class_latex">titlesec</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span>
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>titleformat</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>section</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="punctuation punctuation_definition punctuation_definition_brackets punctuation_definition_brackets_tex">[</span>hang<span class="punctuation punctuation_definition punctuation_definition_brackets punctuation_definition_brackets_tex">]</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>fontsize</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>14<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>14<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>scshape</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>S</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>thesection</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>.5em<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{}{}</span></span>
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>titleformat</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>subsection</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="punctuation punctuation_definition punctuation_definition_brackets punctuation_definition_brackets_tex">[</span>hang<span class="punctuation punctuation_definition punctuation_definition_brackets punctuation_definition_brackets_tex">]</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>fontsize</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>12<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>12<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>scshape</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>S</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>thesubsection</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>.5em<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{}{}</span></span>
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>titleformat</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>subsubsection</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="punctuation punctuation_definition punctuation_definition_brackets punctuation_definition_brackets_tex">[</span>hang<span class="punctuation punctuation_definition punctuation_definition_brackets punctuation_definition_brackets_tex">]</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>fontsize</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>12<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>12<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>scshape</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>S</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>thesubsubsection</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>.5em<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{}{}</span></span>
 
<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> Headers and Footers
</span><span class="meta meta_preamble meta_preamble_latex"><span class="keyword keyword_control keyword_control_preamble keyword_control_preamble_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>usepackage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="support support_class support_class_latex">fancyhdr</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span>
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>pagestyle</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>fancy<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>pagenumbering</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>arabic<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>lhead</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>thepage</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>chead</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{}</span></span>
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>rhead</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>itshape</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>nouppercase</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>leftmark</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
 
<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> Bibliography
</span><span class="meta meta_preamble meta_preamble_latex"><span class="keyword keyword_control keyword_control_preamble keyword_control_preamble_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>usepackage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">[</span><span class="variable variable_parameter variable_parameter_latex">round</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">]</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="support support_class support_class_latex">natbib</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span> 
 
<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> Title Information
</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>title</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>mytitle</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span> <span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> For thanks comment this line and uncomment the line below
</span><span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span>\title{\mytitle\thanks{}}% 
</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>author</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>myauthor</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span> 
<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> \date{} % Leave blank for no date, comment out for most recent date
</span> 
<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> PDF Stuff
</span><span class="meta meta_preamble meta_preamble_latex"><span class="keyword keyword_control keyword_control_preamble keyword_control_preamble_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>usepackage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">[</span><span class="variable variable_parameter variable_parameter_latex">plainpages=false, pdfpagelabels, bookmarksnumbered, backref, pdftitle={\mytitle}, pagebackref, pdfauthor={\myauthor}, pdfkeywords={\mykeywords}, xetex, dvipdfmx, colorlinks=true, citecolor=gray, linkcolor=gray, urlcolor=gray</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">]</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="support support_class support_class_latex">hyperref</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span> 
</span></pre>

<p>Here is what we need to do to create the submodule:</p>

<pre class="textmate-source"><span class="source source_shell"><span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span> $ cd myproject/
<span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span>/myproject $ git submodule add git://gist.github.com/835.git preamble
<span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span>/myproject $ git submodule init
<span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span>/myproject $ git submodule update</span></pre>

<p>Now, if we want to make a change to our preamble and make it available to all our LaTeX projects that use that particular preamble, you need only commit these changes to the Git repository where your preamble lives.</p>

<p>For more information about git submodules, see this <a href="http://git.or.cz/gitwiki/GitSubmoduleTutorial">tutorial</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/07/31/keeping-your-latex-preamble-in-a-git-submodule/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dumbing down LaTeX</title>
		<link>http://markelikalderon.com/2008/07/24/dumbing-down-latex/</link>
		<comments>http://markelikalderon.com/2008/07/24/dumbing-down-latex/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 18:12:30 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Word]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=464</guid>
		<description><![CDATA[Reed College offers advice on how to make LaTeX look like Word. My reaction.]]></description>
			<content:encoded><![CDATA[<p>Reed College offers advice on <a href="http://web.reed.edu/cis/help/latex/Generalpaper.html">how to make LaTeX look like Word</a>.</p>

<p><a href="http://dvnooooo.ytmnd.com/">My reaction</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/07/24/dumbing-down-latex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Gist of LaTeX</title>
		<link>http://markelikalderon.com/2008/07/22/the-gist-of-latex/</link>
		<comments>http://markelikalderon.com/2008/07/22/the-gist-of-latex/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 13:46:20 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Markup]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/07/22/the-gist-of-latex/</guid>
		<description><![CDATA[GitHub has just launched Gist, a Git driven pastebin service. It is very handy to have a lightweight public (or private) repository. From the GitHub blog (see also here), Bryan Liles demos Gist: BryanL demos Gist: A Super Hot Pastebin from Bryan Liles on Vimeo. In the spirit of sharing, I have posted my LaTeX [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://github.com/" title="Secure Git hosting and collaborative development &mdash; GitHub">GitHub</a> has just launched <a href="http://www.gistworld.com/" title="">Gist</a>, a Git driven <a href="http://en.wikipedia.org/wiki/Pastebin">pastebin</a> service. It is very handy to have a lightweight public (or private) repository. From the GitHub <a href="http://github.com/blog/119-intro-to-gist-video">blog</a> (see also <a href="http://github.com/blog/118-here-s-the-gist-of-it">here</a>), Bryan Liles demos Gist:</p>

<p><object width="400" height="300">   <param name="allowfullscreen" value="true" />   <param name="allowscriptaccess" value="always" />   <param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=1381658&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" />   <embed src="http://www.vimeo.com/moogaloop.swf?clip_id=1381658&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object><br /><a href="http://www.vimeo.com/1381658?pg=embed&#038;sec=1381658">BryanL demos Gist: A Super Hot Pastebin</a> from <a href="http://www.vimeo.com/user472736?pg=embed&#038;sec=1381658">Bryan Liles</a> on <a href="http://vimeo.com?pg=embed&#038;sec=1381658">Vimeo</a>.</p>

<p>In the spirit of <a href="http://markelikalderon.com/blog/2008/06/17/gitting-bibtex/">sharing</a>, I have posted my <a href="http://gist.github.com/835">LaTeX preamble and associated files</a>. Feel free to download or clone these files, or better yet, post your own!</p>

<p>It is useful to independently maintain any LaTeX preambles you may use. Suppose, for example, you discover some need and make a corresponding change to your preamble. You might want that change available to some of your other LaTeX documents. Next time I will explain how to do this with include statements and git submodules.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/07/22/the-gist-of-latex/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Markdown Plugin for Eclipse</title>
		<link>http://markelikalderon.com/2008/07/17/mardown-plugin-for-eclipse/</link>
		<comments>http://markelikalderon.com/2008/07/17/mardown-plugin-for-eclipse/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 14:51:38 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Markdown]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/07/17/mardown-plugin-for-eclipse/</guid>
		<description><![CDATA[Daniel Winterstein has just released a new version of his Markdown plugin for Eclipse. From the Markdown mailing list: There&#8217;s syntax highlighting, a preview window, and it can export to html. The best feature is the document outline, which is a joy for editing large documents. Plus you can use TODO tags and these get [...]]]></description>
			<content:encoded><![CDATA[<p>Daniel Winterstein has just released a new version of his <a href="http://winterwell.com/software/markdown-editor.php">Markdown plugin</a> for <a href="http://www.eclipse.org/" title="Eclipse.org home">Eclipse</a>. From the <a href="http://daringfireball.net/projects/markdown/" title="Daring Fireball: Markdown">Markdown</a> mailing list:</p>

<blockquote>
  <p>There&#8217;s syntax highlighting, a preview window, and it can export to html. The best feature is the document outline, which is a joy for editing large documents. Plus you can use TODO tags and these get picked up as tasks, and an emacs-style text formatting tool.</p>
</blockquote>

<p>If IDEs are your thing and you are using Eclipse, you might want to check it out.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/07/17/mardown-plugin-for-eclipse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lowering the Entry Barrier to the TeX World</title>
		<link>http://markelikalderon.com/2008/07/14/lowering-the-entry-barrier-to-the-tex-world/</link>
		<comments>http://markelikalderon.com/2008/07/14/lowering-the-entry-barrier-to-the-tex-world/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 22:43:42 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[XeTeX]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/07/14/lowering-the-entry-barrier-to-the-tex-world/</guid>
		<description><![CDATA[When I first made the switch from Word to LaTeX, I felt the need for a dedicated LaTeX editor to provide help and guidance. Fortunately for OS X users, there is Dick Koch&#8217;s TeXShop. I was lucky. It did just what I expected and it comfortably eased me into the world of TeX. I no [...]]]></description>
			<content:encoded><![CDATA[<p>When I first made the switch from Word to LaTeX, I felt the need for a dedicated LaTeX editor to provide help and guidance. Fortunately for OS X users, there is <a href="http://www.uoregon.edu/~koch/" title="Richard Koch Home Page">Dick Koch</a>&#8217;s <a href="http://www.uoregon.edu/~koch/texshop/" title="TeXShop">TeXShop</a>. I was lucky. It did just what I expected and it comfortably eased me into the world of TeX. I no longer use TeXShop because:</p>

<ol>
<li>I use a text editor for a number of other tasks (including but not limited to keeping my calendar with <a href="http://www.roaringpenguin.com/products/remind" title="Remind | Roaring Penguin">Remind</a>, keeping notes in <a href="http://daringfireball.net/projects/markdown/" title="Daring Fireball: Markdown">Markdown</a>, constructing to do lists&#8230;) and felt it would be counterproductive to proliferate editors when all of these tasks are text based.</li>
<li>Relatedly, as I was worked increasingly with text files, I found the need for advanced text editing features not found in TeXShop.</li>
</ol>

<p>Still, I would unhesitantly recommend TeXShop to any one new to TeX on OS X, and many much more proficient TeXnicians than I use TeXShop on a daily basis.</p>

<p>There are dedicated LaTeX editors on other platforms, but none are configured the way TeXShop is. (The LaTeX editors available for Windows that I have seen makes me weep.) <a href="http://www.tug.org/interviews/interview-files/jonathan-kew.html" title="Jonathan Kew - Interview - TeX Users Group">Jonathan Kew</a>, the developer of <a href="http://scripts.sil.org/xetex" title="The XeTeX typesetting system">XeTeX</a>, hopes to correct this situation with <a href="http://tug.org/texworks/">TeXWorks</a>:</p>

<blockquote>
  <p>The TeXworks project is an effort to build a simple TeX front-end program (working environment) that will be available for all today’s major desktop operating systems—in particular, MS Windows (XP and Vista), typical GNU/Linux distros and other X11-based systems, and Mac OS X. It is deliberately modeled on Dick Koch’s award-winning TeXShop for Mac OS X, which is credited with a resurgence of TeX usage on the Mac platform.</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/07/14/lowering-the-entry-barrier-to-the-tex-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aquamacs 1.4</title>
		<link>http://markelikalderon.com/2008/06/20/aquamacs-14/</link>
		<comments>http://markelikalderon.com/2008/06/20/aquamacs-14/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 22:54:49 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Text]]></category>
		<category><![CDATA[Text Editor]]></category>
		<category><![CDATA[emacs]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/06/20/aquamacs-14/</guid>
		<description><![CDATA[Version 1.4 of Aquamacs, the Aqua-native build of Emacs, has just been released, and has a number of interesting features making it an even better OS X citizen: New multi-tabbed interface similar to Safari. This makes switching between open files faster and more intuitive. Full screen editing now available. This allows you to focus just [...]]]></description>
			<content:encoded><![CDATA[<p>Version 1.4 of <a href="http://aquamacs.org/" title="Aquamacs: Emacs for Mac OS X">Aquamacs</a>, the Aqua-native build of <a href="http://www.gnu.org/software/emacs/" title="GNU Emacs - GNU Project - Free Software Foundation
(FSF)">Emacs</a>, has just been released, and has a number of interesting features making it an even better OS X citizen:</p>

<ul>
<li>New multi-tabbed interface similar to Safari. This makes switching between open files faster and more intuitive.</li>
<li>Full screen editing now available. This allows you to focus just on editing your files without distraction from other applications.</li>
<li>Aquamacs no longer creates backup files by default: less clutter in your files.</li>
<li>Now uses standard &#8220;unified&#8221; toolbar, with improved icons, for greater ease-of-use.</li>
<li>Improved LaTeX support.</li>
<li>Numerous improvements in text search.</li>
<li>Can check for program updates from the application menu.</li>
</ul>

<p>The <a href="http://www.latex-project.org/" title="LaTeX project: LaTeX &ndash; A document preparation system">LaTeX</a> improvements include the inclusion of AUCTeX 11.85, better error reporting and improved syntax highlighting, and improved icons. Aquamacs 1.4 can be downloaded <a href="http://aquamacs.org/download.shtml">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/06/20/aquamacs-14/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gitting BibTeX</title>
		<link>http://markelikalderon.com/2008/06/17/gitting-bibtex/</link>
		<comments>http://markelikalderon.com/2008/06/17/gitting-bibtex/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 21:15:32 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[BibTeX]]></category>
		<category><![CDATA[Bibliography]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[diff]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/06/17/gitting-bibtex/</guid>
		<description><![CDATA[Academics tend to be pretty good at sharing resources. For example, most publish their research online. This is really helpful since it can take a year or two after submission to finally see its way into print. One useful thing that academics share, though less often than their research, is their bibliographies. LaTeX is predominant [...]]]></description>
			<content:encoded><![CDATA[<p>Academics tend to be pretty good at sharing resources. For example, most publish their research online. This is really helpful since it can take a year or two after submission to finally see its way into print.</p>

<p>One useful thing that academics share, though less often than their research, is their bibliographies. <a href="http://www.latex-project.org/" title="LaTeX project: LaTeX &ndash; A document preparation system">LaTeX</a> is predominant in academia, though not universally so. So many of these online bibliographies are <a href="http://www.bibtex.org/" title="BibTeX">BibTeX</a> files. See <a href="http://individual.utoronto.ca/benj/">Benj Hellie</a>&#8217;s <a href="http://individual.utoronto.ca/benj/mind.bib">BibTeX file</a> as an example.</p>

<p>Sometimes, these have been converted to HTML. Sometimes, as in Benj&#8217;s case, the author simply posts the text file (BibTeX is a flat file database kept in plain text). This has some limitations. One problem is that the author has to periodically export to HTML, and even if he is posting the text file, it still needs to be uploaded to the server. Unlikely that this is done after each change to the bibliography.</p>

<p>From the users side, there are problems too. Suppose I have downloaded Benj&#8217;s BibTeX file. Some time passes, and I want to take advantage of Benj&#8217;s hard work. Some of the entries I already have, some are new. Some of the new entries may overlap with entries that I have made independently. Manually merging this material can be a pain, even with <a href="http://markelikalderon.com/blog/2007/02/15/diff-programs-diffed/">diff</a> tools.</p>

<p>All of this would be a lot easier if academics used distributed version control to share their bibliographies. Suppose the distributed version control system in question is <a href="http://git.or.cz/" title="Git - Fast Version Control System">Git</a>. When an author makes a change to his bibliography, then all he need do is to commit the change and push to the remote repository:</p>

<pre class="textmate-source"><span class="source source_shell">$ git commit mybibtexfile.bib
$ git push</span></pre>

<p>From the users side, to download the bibliography all he need do is clone the git repository:</p>

<pre class="textmate-source"><span class="source source_shell">$ git clone git@github.com:PhilGeek/bib.git</span></pre>

<p>After that, fetching and merging new changes is easy as:</p>

<pre class="textmate-source"><span class="source source_shell">$ git pull</span></pre>

<p>Well, I am putting my money where my mouth is and publishing my BibTeX file in an open Git repository hosted at <a href="http://github.com/" title="Secure Git hosting and collaborative development &mdash; GitHub">GitHub</a>&#8212;<a href="http://github.com/PhilGeek/bib/tree/master">http://github.com/PhilGeek/bib/tree/master</a>. To clone this repository:</p>

<pre class="textmate-source"><span class="source source_shell">$ git clone git@github.com:PhilGeek/bib.git</span></pre>

<p>Even if you are not a Git user and are shy about adopting new technology, the file can be viewed and downloaded <a href="http://github.com/PhilGeek/bib/tree/master/Philosophy.bib">here</a>.</p>

<p>There is not as much in it as there should be. Before becoming a plain text Geek, I kept my bibliography in <a href="http://www.endnote.com/" title="EndNote - Bibliographies Made Easy">EndNote</a>. Unfortunately, my EndNote file, a proprietary binary format, became corrupted before I could convert it to BibTeX. Yet another cautionary tale speaking in favor of the <a href="http://markelikalderon.com/blog/2006/10/25/plain-text/">Power of Plain Text</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/06/17/gitting-bibtex/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>The Family Jewels</title>
		<link>http://markelikalderon.com/2008/04/28/the-family-jewels/</link>
		<comments>http://markelikalderon.com/2008/04/28/the-family-jewels/#comments</comments>
		<pubDate>Mon, 28 Apr 2008 10:59:49 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[TeX]]></category>
		<category><![CDATA[Text]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/04/28/the-family-jewels/</guid>
		<description><![CDATA[Donald Knuth, creator of TeX, describes his workflow for writing in an interview: My general working style is to write everything first with pencil and paper, sitting beside a big wastebasket. Then I use Emacs to enter the text into my machine, using the conventions of TeX. I use tex, dvips, and gv to see [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://markelikalderon.com/wp-content/uploads/2008/04/donald-knuth.jpg" alt="Donald Knuth" /></p>

<p>Donald Knuth, creator of <a href="http://en.wikipedia.org/wiki/TeX" title="TeX - Wikipedia, the free encyclopedia">TeX</a>, describes his workflow for writing in an <a href="http://www.informit.com/articles/article.aspx?p=1193856">interview</a>:</p>

<blockquote>
  <p>My general working style is to write everything first with pencil and paper, sitting beside a big wastebasket. Then I use Emacs to enter the text into my machine, using the conventions of TeX. I use tex, dvips, and gv to see the results, which appear on my screen almost instantaneously these days. I check my math with Mathematica.</p>
  
  <p>I program every algorithm that’s discussed (so that I can thoroughly understand it) using CWEB, which works splendidly with the GDB debugger. I make the illustrations with MetaPost (or, in rare cases, on a Mac with Adobe Photoshop or Illustrator). I have some homemade tools, like my own spell-checker for TeX and CWEB within Emacs. I designed my own bitmap font for use with Emacs, because I hate the way the ASCII apostrophe and the left open quote have morphed into independent symbols that no longer match each other visually. I have special Emacs modes to help me classify all the tens of thousands of papers and notes in my files, and special Emacs keyboard shortcuts that make bookwriting a little bit like playing an organ. I prefer rxvt to xterm for terminal input. Since last December, I’ve been using a file backup system called backupfs, which meets my need beautifully to archive the daily state of every file.</p>
  
  <p>&#8230;</p>
  
  <p>I currently use Ubuntu Linux, on a standalone laptop—it has no Internet connection. I occasionally carry flash memory drives between this machine and the Macs that I use for network surfing and graphics; but I trust my family jewels only to Linux. Incidentally, with Linux I much prefer the keyboard focus that I can get with classic FVWM to the GNOME and KDE environments that other people seem to like better. To each his own.</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/04/28/the-family-jewels/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Archival Formats, The Third Way</title>
		<link>http://markelikalderon.com/2008/03/29/archival-formats-the-third-way/</link>
		<comments>http://markelikalderon.com/2008/03/29/archival-formats-the-third-way/#comments</comments>
		<pubDate>Sat, 29 Mar 2008 21:32:22 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Markup]]></category>
		<category><![CDATA[ODF]]></category>
		<category><![CDATA[OOXML]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/03/29/archival-formats-the-third-way/</guid>
		<description><![CDATA[I have been meaning to blog about this for awhile. File this under &#8220;Better Late Than Never&#8221;. What&#8217;s the best archival format for your important documents? In a previous post I suggested parchment might be&#8212;but that&#8217;s impractical. All joking aside, the issue is a serious for anyone who is going to spend the better part [...]]]></description>
			<content:encoded><![CDATA[<p>I have been meaning to blog about this for awhile. File this under &#8220;Better Late Than Never&#8221;.</p>

<p>What&#8217;s the best archival format for your important documents? In a previous <a href="http://markelikalderon.com/blog/2007/04/28/parchment-and-archival-formats/">post</a> I suggested parchment might be&#8212;but that&#8217;s impractical. All joking aside, the issue is a serious for anyone who is going to spend the better part of their life writing and needs reliable access to this material.</p>

<p>James King of <a href="http://www.adobe.com/" title="Adobe">Adobe</a> has a blog, <a href="http://blogs.adobe.com/insidepdf/" title="Inside PDF">Inside PDF</a>, that&#8217;s well worth checking out. Besides covering ISO 32000&#8212;the <a href="http://www.iso.org/" title="ISO - International Organization for Standardization">ISO</a> standard based on PDF 1.7, James has made an interesting <a href="http://blogs.adobe.com/insidepdf/2007/10/archiving_documents.html">case for PDF/A as an archival format</a>.</p>

<p>Part of the case is a case <em>against</em> <a href="http://en.wikipedia.org/wiki/XML" title="XML - Wikipedia, the free encyclopedia">XML</a> based alternatives such as <a href="http://en.wikipedia.org/wiki/OpenDocument" title="OpenDocument - Wikipedia, the free encyclopedia">ODF</a> and <a href="http://en.wikipedia.org/wiki/Office_Open_XML" title="Office Open XML - Wikipedia, the free encyclopedia">OOXML</a>. One problem is false advertising: While they do contain XML subfiles, they are, in fact <a href="http://en.wikipedia.org/wiki/ZIP_(file_format" title="ZIP (file format) - Wikipedia, the free encyclopedia">ZIP archives</a> that contain, besides binary files. Not only false advertising, but false promises as well:</p>

<blockquote>
  <p>There is what I think is a rather technically shallow belief that XML files are easier to work with and will survive the passing of time, even great periods of time, better than other formats. The text held within XML files can usually be viewed with any generic text editor and I guess that gives people a warm feeling that it will therefore also be easier to retrieve with a program. Fair enough. But what is glossed over way too much is that that text is enveloped within XML for [something]. (<a href="http://blogs.adobe.com/insidepdf/2007/09/xml_for.html">See my earlier blog entry.</a>) The envelopes (schemas) offered by ODF and OOXML are different. Different enough that a simple program cannot extract just the raw text from either. And is that all I really want from a document in the future, the raw text. Because when you get to the layout and the images and the color space definitions and the fonts, these things do not lend themselves well to XML and are often stored within the ZIP archives as binary data. So tell me again where the advantage to XML is for this purpose?</p>
</blockquote>

<p>To these two criticisms, let me add a third. The structure encoded in the XML subfiles of ODF and OOXML is not the logical structure of the document but the functions of the word processor. But that&#8217;s <em>not</em> what needs preserving.</p>

<p>Rob Weir at an <a href="http://www.robweir.com/blog/">Antic Disposition</a>, not surprisingly, had an alternative view. Rob observes that not all goals that one might have in archiving is well served by PDF. Reflection on these raise a number of questions, none of which are are answered by PDF:</p>

<ol>
<li>What was the nature of collaboration that lead to this document? How many people worked on it? Who contributed what?</li>
<li>How did the document evolve from revision to revision?</li>
<li>In the case of a spreadsheet, what was the underlying model and assumptions? In other words, what are the formulas behind the cells?</li>
<li>In the case of a presentation, how did the document interact with embedded media such as audio, animation, video?</li>
<li>How was technology used to create this document? In what way did the technology help or impede the author&#8217;s expression? (Note that researchers in the future may be as interested in the technology behind the document as the contents of the document itself.)</li>
</ol>

<p>Nevertheless, Rob is not blind to the attractions of PDF only sensitive to the way it offers a partial solution to the problem of archiving. In the end he entertains a hybrid approach:</p>

<blockquote>
  <p>An intriguing idea is whether we can have it both ways. Suppose you are in an ODF editor and you have a &#8220;Save for archiving&#8230;&#8221; option that would save your ODF document as normal, but also generate a PDF version of it and store it in the zip archive along with ODF&#8217;s XML streams. Then digitally sign the archive along with a time stamp to make it tamper-proof. You would need to define some additional access conventions, but you could end up with a single document that could be loaded in an ODF editor (in read-only mode) to allow examination of the details of spreadsheet formulas, etc., as well as loaded in a PDF reader to show exactly how it was formated.</p>
</blockquote>

<p>There is a third way.</p>

<p>It may not be the Final Solution (especially given its current incarnation). But it has the advantages of both approaches and the deficits of neither: Structural markup of plain text files kept under version control. Plain text is the <em>lingua franca</em> of computers and will remain that way in the foreseeable future. Any given file will remain editable, but any given commit will be preserved. Moreover, the version control system will preserve a wealth of metadata about the development of the document, the contribution of collaborators, etc. There are choices in implementation concerning both the markup&#8212;be it <a href="http://www.latex-project.org/" title="LaTeX project: LaTeX &ndash; A document preparation system">LaTeX</a>, <a href="http://www.pragma-ade.nl/">ConTeXt</a>, or XML variants such as <a href="http://www.docbook.org/" title="DocBook.org">DocBook</a>&#8212;and the version control system&#8212;be it <a href="http://subversion.tigris.org/" title="subversion.tigris.org">Subversion</a>, <a href="http://git.or.cz/" title="Git - Fast Version Control System">Git</a>, <a href="http://www.selenic.com/mercurial/" title="Mercurial - Mercurial">Mercurial</a>. None are perfect. But for now, my bet is on the third way.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/03/29/archival-formats-the-third-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Running VC</title>
		<link>http://markelikalderon.com/2008/03/23/running-vc/</link>
		<comments>http://markelikalderon.com/2008/03/23/running-vc/#comments</comments>
		<pubDate>Sun, 23 Mar 2008 00:13:31 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[XeTeX]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/03/23/running-vc/</guid>
		<description><![CDATA[After posting about the version control bundle, I gave it a test spin. The version control bundle requires GNU awk. If gawk is not installed on your *nix system, this script will do it for you: #!/bin/sh # # installgawk.sh # # A bash script to install the latest version of GNU awk. Be sure [...]]]></description>
			<content:encoded><![CDATA[<p>After <a href="http://markelikalderon.com/blog/2008/03/12/the-version-control-bundle/">posting</a> about <a href="http://www.ctan.org/tex-archive/support/vc/">the version control bundle</a>, I gave it a test spin.</p>

<p>The version control bundle requires <a href="http://www.gnu.org/software/gawk/" title="Gawk - GNU Project - Free Software Foundation (FSF)">GNU awk</a>. If gawk is not installed on your *nix system, this script will do it for you:</p>

<pre><code>#!/bin/sh
#
# installgawk.sh
#
# A bash script to install the latest version of GNU awk. Be sure to set the variables to the desired values. 
#
# http://www.gnu.org/software/gawk/
#
# Mark Eli Kalderon 2008-03-22

# Gawk. Change to the desired version if necessary
VER="3.1.6"
GAWK="gawk-${VER}"

# Build directories. Change to the desired directories if necessary.
GBLDDIR=/var/tmp/${GAWK}-build

# Create gawk build directory, but save source files if they exist.
test -d ${GBLDDIR} || mkdir ${GBLDDIR}
test -d ${GBLDDIR}/${GAWK} &amp;&amp; /bin/rm -rf ${GBLDDIR}/${GAWK}
cd $GBLDDIR

# Download and unpack gawk source.
curl http://ftp.gnu.org/gnu/gawk/${GAWK}.tar.gz -O
tar -xvzf ${GAWK}.tar.gz
cd ${GAWK}

# Configure and build gawk.
./configure
make
make check

# Install gawk (in /usr/local/bin/). Will prompt for password.
sudo make install
</code></pre>

<p>As of version 0.3, the vc bundle supports <a href="http://bazaar-vcs.org/">bazaar</a>, <a href="http://git.or.cz/" title="Git - Fast Version Control System">git</a>, and <a href="http://subversion.tigris.org/" title="subversion.tigris.org">subversion</a> and runs on Windows and unices. Within the vc directory there are subdirectories for each of these cases:</p>

<ul>
<li>bzr-unix/</li>
<li>bzr-windows/</li>
<li>git-unix/</li>
<li>git-windows/</li>
<li>svn-unix/</li>
<li>svn-windows/</li>
</ul>

<p>Each of these subdirectories contains a pair of scripts. As I am on OS X and wanted to see how well this would work with git, I used the scripts in git-unix/:</p>

<ul>
<li>vc</li>
<li>vc-git.awk</li>
</ul>

<p>Copy these to the root directory of your repository. vc is a shell script that extracts version control information and writes it to a new file, vc.tex. vc does this by calling vc-git.awk to process the output of git status and git log. To use these scripts, put the following in the preamble of your LaTeX document:</p>

<pre><code>\immediate\write18{sh ./vc}
\input{vc}
</code></pre>

<p>\write18 allows you to call shell scripts when running LaTeX. Most TeX installations has \write18 disabled by default for security reasons. That&#8217;s a good thing. Rather than enabling this globally, you can enable this on an as needed basis, by running pdflatex or xelatex with the -shell-escape argument.</p>

<p>vc.tex defines the following macros which can now be used in your LaTeX document:</p>

<ul>
<li><strong>\VCRevision</strong> current (maximum) working copy revision number </li>
<li><strong>\VCRevisionMod</strong> as \VCRevision, but with an additional note if the working copy contains modiﬁed ﬁles </li>
<li><strong>\VCAuthor</strong> author of the last check-in operation </li>
<li><strong>\VCDateRAW</strong> date of last check-in in native format of the VCS software </li>
<li><strong>\VCDateISO</strong> date of last check-in in ISO format YYYY-MM-DD </li>
<li><strong>\VCDateTEX</strong> date of last check-in in TeX format YYYY/MM/DD </li>
<li><strong>\VCTime</strong> time of last check-in </li>
<li><strong>\VCModifiedText</strong> contains the note shown in macro \VCRevisionMod if there were modiﬁed ﬁles. This macro can be redeﬁned by the user. </li>
<li><strong>\VCModified</strong> 0 if there are no modiﬁed ﬁles in the working copy 
directory; 1 or 2 if there are modiﬁed ﬁles. In general you 
don’t need this macro.</li>
</ul>

<p>These macros can be called wherever appropriate. I wanted my version control information discretely tucked away in a footer:</p>

<pre><code>\usepackage{fancyhdr}
\lfoot{\tiny{Revision: \VCRevision ; Author: \VCAuthor ; Date: \VCDateISO}}
\cfoot{}
\rfoot{}
</code></pre>

<p>The result:</p>

<p><img src="http://markelikalderon.com/wp-content/uploads/2008/03/vc-output.png" alt="vc output" /></p>

<p>If you want the version control information in draft mode only, Stephan Hennig, vc bundle&#8217;s maintainer, suggests using the <a href="http://www.ctan.org/tex-archive/help/Catalogue/entries/ifdraft.html" title="The TeX Catalogue OnLine, Entry for ifdraft, Ctan Edition">ifdraft</a> package.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/03/23/running-vc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SubEthaEdit 3.1</title>
		<link>http://markelikalderon.com/2008/03/15/subethaedit-31/</link>
		<comments>http://markelikalderon.com/2008/03/15/subethaedit-31/#comments</comments>
		<pubDate>Sat, 15 Mar 2008 13:21:12 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[SubEthaEdit]]></category>
		<category><![CDATA[Text]]></category>
		<category><![CDATA[Text Editor]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/03/15/subethaedit-31/</guid>
		<description><![CDATA[Continuing our ongoing text editor roundup for OS X, I am pleased to report that SubEthaEdit 3.1 has just been released. The world&#8217;s best collaboration text engine just got better. SubEthaEdit now supports: Automatic port mapping making communication over the internet easier&#8212;no manual configuration required Inviting your iChat buddies Friendcasting&#8212;the ability to connect to a [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://markelikalderon.com/wp-content/uploads/2008/03/subethaedit.png" alt="SubEthaEdit" /></p>

<p>Continuing our ongoing text editor roundup for OS X, I am pleased to report that <a href="http://www.codingmonkeys.de/subethaedit/" title="SubEthaEdit">SubEthaEdit</a> 3.1 has just been released. The world&#8217;s best collaboration text engine just got better. SubEthaEdit now supports:</p>

<ul>
<li>Automatic port mapping making communication over the internet easier&#8212;no manual configuration required</li>
<li>Inviting your iChat buddies</li>
<li>Friendcasting&#8212;the ability to connect to a friend&#8217;s friend.</li>
</ul>

<p>To get a better sense of this see, the <a href="http://www.codingmonkeys.de/" title="TheCodingMonkeys">Coding Monkeys</a> <a href="http://www.codingmonkeys.de/subethaedit/Friendcasting-english-iPhone.m4v">screencast</a>. It is a pretty major feature upgrade for a point one release. SubEthaEdit 3.1 also includes an improved LaTeX mode.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/03/15/subethaedit-31/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Version Control Bundle</title>
		<link>http://markelikalderon.com/2008/03/12/the-version-control-bundle/</link>
		<comments>http://markelikalderon.com/2008/03/12/the-version-control-bundle/#comments</comments>
		<pubDate>Wed, 12 Mar 2008 17:56:47 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/03/12/the-version-control-bundle/</guid>
		<description><![CDATA[CTAN has an interesting new package, the vc (version control) bundle. The vc bundle addresses some problems with earlier version control packages such as svn-multi (discussed here). First, earlier version control packages track version control information only for the LaTeX source. So, if you have a graphic, say, produced by an independent application, and you [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ctan.org/" title="the Comprehensive TeX Archive Network">CTAN</a> has an interesting new package, <a href="http://www.ctan.org/tex-archive/help/Catalogue/entries/vc.html">the vc (version control) bundle</a>. The vc bundle addresses some problems with earlier version control packages such as <a href="http://www.ctan.org/tex-archive/macros/latex/contrib/svn-multi/" title="CTAN: directory: /tex-archive/macros/latex/contrib/svn-multi">svn-multi</a> (discussed <a href="http://markelikalderon.com/blog/2007/04/14/latex-and-subversion/">here</a>). First, earlier version control packages track version control information only for the LaTeX source. So, if you have a graphic, say, produced by an independent application, and you update it, this won&#8217;t be reflected in the version control information embedded in your LaTeX document. Second, many such packages rely on keyword substitution&#8212;an approach inapplicable to distributed version control systems like <a href="http://git.or.cz/" title="Git - Fast Version Control System">Git</a> that lack keywords. The vc bundle addresses both these concerns and currently supports <a href="http://subversion.tigris.org/" title="subversion.tigris.org">Subversion</a> and Git. Its maintainer, Stephan Hennig, claims that other version control systems will be supported in the future. Will post back about this when I have road tested it.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/03/12/the-version-control-bundle/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Plain Text Notes and Message URLs in Leopard</title>
		<link>http://markelikalderon.com/2008/02/01/plain-text-notes-and-message-urls-in-leopard/</link>
		<comments>http://markelikalderon.com/2008/02/01/plain-text-notes-and-message-urls-in-leopard/#comments</comments>
		<pubDate>Fri, 01 Feb 2008 18:48:14 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Markdown]]></category>
		<category><![CDATA[Markup]]></category>
		<category><![CDATA[Text]]></category>
		<category><![CDATA[Text Editor]]></category>
		<category><![CDATA[TextMate]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/02/01/plain-text-notes-and-message-urls-in-leopard/</guid>
		<description><![CDATA[Leopard has a small feature that I have often longed for. All my notes are text files in markdown format. URI schemes extend the usefulness of the medium. With the file URI scheme I can link to other files, and with the mailto URI scheme I can send emails. But one thing that I have [...]]]></description>
			<content:encoded><![CDATA[<p>Leopard has a small feature that I have often longed for. All my notes are text files in <a href="http://daringfireball.net/projects/markdown/" title="Daring Fireball: Markdown">markdown</a> format. <a href="http://en.wikipedia.org/wiki/URI_scheme" title="URI scheme - Wikipedia, the free encyclopedia">URI schemes</a> extend the usefulness of the medium. With the file URI scheme I can link to other files, and with the mailto URI scheme I can send emails. But one thing that I have wanted to do is link to a specific email (in case that it has information that I may need to refer to). Leopard has introduced a new message URI scheme that allows you to do just that. (Though why they did not implement the mid URI scheme for this purpose remains a mystery.) Marc Liyanage has a <a href="http://www.entropy.ch/blog/Mac+OS+X/2007/12/04/Copy-Message-URLs-AppleScript-for-Apple-Mail.html">post</a> about it, and John Gruber has a <a href="http://daringfireball.net/2007/12/message_urls_leopard_mail">post</a> with more details. A URL for a particular email has two parts:</p>

<ol>
<li>the message URI</li>
<li>the message id wrapped in angle brackets</li>
</ol>

<p>Message URLs can take any of the following syntactic forms:</p>

<pre><code>message:%3cmessage_id%3e 
message://%3cmessage_id%3e 
message:&lt;message_id&gt; 
message://&lt;message_id&gt;
</code></pre>

<p>Both Liyanage and Gruber provide <a href="http://www.apple.com/applescript/" title="AppleScript: The Language of Automation">applescripts</a> for retrieving the message id of a given email saving the message URL to the pasteboard. Gruber&#8217;s applescript is as follows:</p>

<pre><code>tell application "Mail"
    set _sel to get selection
    set _links to {}
    repeat with _msg in _sel
        set _messageURL to "message://%3c" &amp; _msg's message id &amp; "%3e"
        set end of _links to _messageURL
    end repeat
    set AppleScript's text item delimiters to return
    set the clipboard to (_links as string)
end tell
</code></pre>

<p>When saved in</p>

<pre><code>~/Library/Scripts/Applications/Mail/
</code></pre>

<p>it will appear in the script menu when Mail.app is in focus. Just select the target mail and run the script and the mail URL will be in your pasteboard ready to paste into your textfile. And if you are a keyboard fanatic who eschews the mouse wherever possible, you can use <a href="http://docs.blacktree.com/quicksilver/what_is_quicksilver">Quicksilver</a> to run the applescript. If your text file is in markdown format, simply enclose the message URL in angle brackets.</p>

<p>Having the ability to link to pertinent emails really increases the usefulness of plain text notes. More so if your text editor will launch the URL for you. In <a href="http://macromates.com/" title="TextMate — The Missing Editor for Mac OS X">TextMate</a>, simply move the cursor over the URL and hit &#x2305;. Another small step in harnessing the <a href="http://markelikalderon.com/blog/2006/10/25/plain-text/">power of plain text</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/02/01/plain-text-notes-and-message-urls-in-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LaTeX and Word Count Revisited</title>
		<link>http://markelikalderon.com/2007/12/30/latex-and-word-count-revisited/</link>
		<comments>http://markelikalderon.com/2007/12/30/latex-and-word-count-revisited/#comments</comments>
		<pubDate>Sun, 30 Dec 2007 03:41:46 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Markup]]></category>
		<category><![CDATA[Word Count]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2007/12/30/latex-and-word-count-revisited/</guid>
		<description><![CDATA[In an earlier post I described a TextMate command for determining the word count for a LaTeX document. Simpling using wc -w gives an inflated estimate since it will include LaTeX commands. One alternative is to use detex: detex mydocument.tex &#124; wc -w This will strip the LaTeX commands first before counting words but this [...]]]></description>
			<content:encoded><![CDATA[<p>In an earlier <a href="http://markelikalderon.com/blog/2006/11/04/latex-word-count-and-textmate/">post</a> I described a <a href="http://macromates.com/" title="TextMate — The Missing Editor for Mac OS X">TextMate</a> command for determining the word count for a LaTeX document. Simpling using</p>

<pre><code>wc -w
</code></pre>

<p>gives an inflated estimate since it will include LaTeX commands. One alternative is to use <a href="http://www.ctan.org/tex-archive/support/detex/">detex</a>:</p>

<pre><code>detex mydocument.tex | wc -w
</code></pre>

<p>This will strip the LaTeX commands first before counting words but this assumes that you are not running commands that insert text. Consider a document with the following command:</p>

<pre><code>\newcommand{\yo}{To Whom It May Concern}
\yo
</code></pre>

<p>The detex method would not count these four words. For these reasons, I proposed an alternative method&#8212;typesetting the LaTeX document and the converting the resulting PDF to text with <a href="http://www.linuxcommand.org/man_pages/ps2ascii1.html" title="ps2ascii">ps2ascii</a> and then using wc:</p>

<p>ps2ascii mydocument.pdf | wc -w</p>

<p>There are two problems with this approach. First ps2ascii is sloooow. Second, it gives an inflated estimate since ps2ascii:</p>

<ul>
<li>substitutes spaces for ligatures it cannot handle </li>
<li>preserves hypenation with the result that hyphenated words count as two words not one</li>
<li>includes page numbers and headers and footers</li>
</ul>

<p>A different conversion utility, <a href="http://www.foolabs.com/xpdf/download.html" title="Xpdf: Download">pdftotext</a>, fares better:</p>

<pre><code>pdftotext -enc UTF-8 -nopgbrk mydocument.pdf | wc -w
</code></pre>

<p>It is much faster. And does not preserve hyphenation. Ligatures, page numbers, and headers and footers still present a problem, but a much better estimate.</p>

<p>A better approach would be to use TeX to generate the word count. There is a shell script available on <a href="http://www.ctan.org/" title="the Comprehensive TeX Archive Network">CTAN</a> that does just this&#8212;<a href="http://www.ctan.org/tex-archive/macros/latex/contrib/wordcount/">wordcount</a>. Unfortunately, it is no longer actively maintained (someone reported to me that its author had died), and it failed on several of my LaTeX documents.</p>

<p>Googling has revealed a couple of perl scripts for determining the word count of LaTeX documents: <a href="http://folk.uio.no/einarro/Comp/texwordcount.html">TeXcount.pl</a> and <a href="http://www.comp.nus.edu.sg/~kanmy/software/texWordCount.pl">texWordCount.pl</a>. These provide reasonable though different word count estimates.</p>

<p>Testing these methods on a longish document yielded the following results:</p>

<table>
<thead>
<tr>
  <th align="left">Program</th>
  <th align="left">Result</th>
</tr>
</thead>
<tbody>
<tr>
  <td align="left">detex</td>
  <td align="left">15061</td>
</tr>
<tr>
  <td align="left">ps2ascii</td>
  <td align="left">15763</td>
</tr>
<tr>
  <td align="left">pdftotext</td>
  <td align="left">15427</td>
</tr>
<tr>
  <td align="left">TeXcount</td>
  <td align="left">15299</td>
</tr>
<tr>
  <td align="left">texWordCount</td>
  <td align="left">15148</td>
</tr>
</tbody>
</table>

<p>As far as I can determine, texWordCount gave the best estimate. Here is a command that uses it (be sure to correct the path):</p>

<pre><code>perl -T /path/to/texWordCount.pl "$TM_FILEPATH"
</code></pre>

<p>In TextMate&#8217;s Bundle Editor the setting should be:</p>

<ul>
<li>Save: Nothing</li>
<li>Input: None</li>
<li>Output: Show as Tool Tip</li>
<li>Activation: Key Equivalent &#x2303; &#x21E7; N</li>
<li>Scope Selector: text.tex.latex</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2007/12/30/latex-and-word-count-revisited/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

