summaryrefslogtreecommitdiff
path: root/bak/oldluxpages/jrnlold/2005/05/new-adventures-hifi-text.html
blob: c54d3aca13f6cf8773bbe11acb95172db0a96b2c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
<!DOCTYPE html>
<html 
class="detail single" dir="ltr" lang="en-US">
    
<head>
    <title>New Adventures In Hifi Text - by Scott Gilbertson</title>
    <meta charset="utf-8">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" 
          content="This project is no longer maintained or necessary thanks to projects like Pandoc which can take Markdown use it to create LaTeX and a dozen other types of files. It's just here as an historical artifact of my own amusement.">
    <meta name="author" content="Scott Gilbertson">
    <link rel="alternate" 
          type="application/rss+xml" 
          title="Luxagraf RSS feed"
          href="https://luxagraf.net/rss/">
    <link rel="stylesheet" 
                              href="/media/screenv9.css" 
          media="screen">
    <link rel="stylesheet" href="/media/print.css" media="print" title="print" />
    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
    <link rel="manifest" href="/manifest.json" /> 
    <link rel="dns-prefetch" href="https://stats.luxagraf.net">
    
    <link rel="canonical" href="https://luxagraf.net/jrnl/2005/05/new-adventures-hifi-text" />
    <meta name="ICBM" content="42.32272216993563, -72.62770885922362" />
    <meta name="geo.position" content="42.32272216993563; -72.62770885922362" />
    <meta name="geo.placename" content="Northampton, "> 
    <meta name="geo.region" content="-">
    <meta property="og:type" content="article" />
    <meta property="og:title" content="New Adventures in HiFi Text" />
    <meta property="og:url" content="https://luxagraf.net/jrnl/2005/05/new-adventures-hifi-text" />
    <meta property="og:description" content="This project is no longer maintained or necessary thanks to projects like Pandoc which can take Markdown use it to create LaTeX and a dozen other types of files. It&#x27;s just here as an historical artifact of my own amusement." />
    <meta property="article:published_time" content="2005-05-12T21:21:44" />
    <meta property="article:author" content="Scott Gilbertson" />
    <meta property="og:site_name" content="Luxagraf" />
    <meta property="og:image" content="/media/images/post-images/2015/latex.jpg" />
    <meta property="og:locale" content="en_US" />
    <meta name="twitter:card" content="summary_large_image"/>
    <meta name="twitter:description" content="This project is no longer maintained or necessary thanks to projects like Pandoc which can take Markdown use it to create LaTeX and a dozen other types of files. It&#x27;s just here as an historical artifact of my own amusement."/>
    <meta name="twitter:title" content="New Adventures in HiFi Text"/>
    <meta name="twitter:site" content="@luxagraf"/>
    <meta name="twitter:domain" content="luxagraf"/>
    <meta name="twitter:image:src" content="/media/images/post-images/2015/latex.jpg"/>
    <meta name="twitter:creator" content="@luxagraf"/>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://luxagraf.net/jrnl/2005/05/new-adventures-hifi-text"
  },
  "headline": "New Adventures in HiFi Text",
  "datePublished": "2005-05-12T21:21:44+04:00",
  "dateModified": "2005-05-12T21:21:44+04:00",
  "author": {
    "@type": "Person",
    "name": "Scott Gilbertson"
  },
   "publisher": {
    "@type": "Organization",
    "name": "Luxagraf",
    "logo": {
      "@type": "ImageObject",
      "url": "https://luxagraf.net/media/img/logo-white.jpg"
    }
  },
  "description": "This project is no longer maintained or necessary thanks to projects like Pandoc which can take Markdown use it to create LaTeX and a dozen other types of files. It&#x27;s just here as an historical artifact of my own amusement."
}
</script>

</head>
<body >
    <div class="wrapper" id="wrapper">
    <div class="header-wrapper">
        <header class="site-banner">
            <div id="logo">
                <a href="/" title="Home">Luxagraf</a>
                <span class="sitesubtitle">Walk Slowly</span>
            </div>
            <nav>
                <ul>
                    <li><a href="/jrnl/" title="Stories of life on the road.">Jrnl</a> &amp; <a href="/field-notes/" title="Short stories, snapshots of daily life on the road.">Field Notes</a></li>
                    <li><a href="/guide/" title="Advice, Tools, Tips and Tricks for Full Time Van or RV Life.">Guides</a></li>
                    <li><a href="/newsletter/" title="The 'friends of a long year' newsletter">newsletter</a></li>
                    <li><a href="/about" title="About Scott">About</a></li>
                </ul>
            </nav>
        </header>
    </div>
    <ol class="bl" id="breadcrumbs" itemscope itemtype="http://schema.org/BreadcrumbList">
        <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a itemprop="item" href="/"><span itemprop="name">Home</span></a> &rarr;
            <meta itemprop="position" content="1" />
        </li>
        <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
            
            <a href="/jrnl/" itemprop="item"><span itemprop="name">jrnl</span></a>
            <meta itemprop="position" content="2" />
            <meta itemprop="position" content="2" />
        </li>
    </ol>

    		
    <main>
    <article class="h-entry hentry entry-content content" itemscope itemType="http://schema.org/BlogPosting">
            <header id="header" class="post-header ">
                <h1 class="p-name entry-title post-title" itemprop="headline">New Adventures in HiFi Text</h1>
                
                <div class="post-linewrapper">
                <div class="p-location h-adr adr post-location" itemprop="contentLocation" itemscope itemtype="http://schema.org/Place">
                    <h3 class="h-adr" itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"><span class="p-locality locality" itemprop="addressLocality">Northampton</span>, <a class="p-region region" href="/jrnl/united-states/" title="travel writing from the United States">Massachusetts</a>, <span class="p-country-name" itemprop="addressCountry">U.S.</span></h3>
                     &ndash;&nbsp;<a href="" onclick="showMap(42.32272216993563, -72.62770885922362, { type:'point', lat:'42.32272216993563', lon:'-72.62770885922362'}); return false;" title="see a map">Map</a>
                </div>
                <time class="dt-published published dt-updated post-date" datetime="2005-05-12T21:21:44" itemprop="datePublished">May <span>12, 2005</span></time>
                <span class="hide" itemprop="author" itemscope itemtype="http://schema.org/Person">by <a class="p-author h-card" href="/about"><span itemprop="name">Scott Gilbertson</span></a></span>
                </div>
            </header>
        <div id="article" class="e-content entry-content post--body post--body--single" itemprop="articleBody">
            <h3>2014 Addendum</h3>
<p><strong>This post is very old, most of the links are dead and none of it is necessary anymore thanks to projects like <a href="http://johnmacfarlane.net/pandoc/">Pandoc</a> which can take Markdown use it to create LaTeX and a dozen other types of files.</strong></p>
<p><strong>When I wrote this in 2006 there was no Pandoc. I guess I was a pioneer in some sense.</strong></p>
<p><strong>But yeah, there are much easier ways to do this now. I leave it up because Daring Fireball linked to it and to this day I get traffic looking for it.</strong></p>
<p><strong>What I stand by 100% is the philosophy and usefulness of plain text. It&#8217;s all I use to store data &#8212; usually in flat files,  as described here, sometimes in databases. Whichever the case, plain text lasts, end of story. I also stand by my pronunciation of LaTeX. I know La Tech is correct, but I&#8217;ll be damned if I&#8217;m going to say it that way.</strong></p>
<h3>In praise of plain text</h3>
<p>I sometimes bitch about Microsoft Word in this piece, but let me be clear that I do not hate Windows or Microsoft, nor am I a rabid fan of Apple. In fact prior to the advent of OS X, I was ready to ditch the platform altogether. I could list as many crappy things about Mac OS 7.x-9.x as I can about Windows. Maybe even more. But OS X changed that for me, it&#8217;s everything I was looking for in an OS and very little I wasn&#8217;t. But I also don&#8217;t think Microsoft is inherently evil and Windows is their plan to exploit the vulnerable masses. I mean really, do you think <a href="http://www.snopes.com/photos/people/gates.asp" title="Bill Gates gets sexy for the teens--yes, that is a mac in the background">this guy</a> or anything he might do could be <em>evil</em>? Of course not. I happen to much prefer OS X, but that&#8217;s just personal preference and computing needs. I use Windows all the time at work and I don&#8217;t hate it, it just lacks a certain <em>je ne sais quoi</em>. [2014 update: These days I use Debian Linux because it just works better than any other OS I have use.]</p>
<p>That said, I have never really liked Microsoft Word on any platform. It does all sorts of things I would prefer that it didn&#8217;t, such as capitalize URLs while I&#8217;m typing or automatically convert email addresses to live links. Probably you can turn these sorts of things on and off in the preferences, but that&#8217;s not the point. I dislike the way Word approaches me, <a href="http://www1.appstate.edu/~clarkne/hatemicro.html" title="Microsoft Word Suicide Note help">assuming that I want every bell and whistle possible</a>, including a shifty looking paperclip with Great Gatsbyesque eyes watching my every move. </p>
<p>Word has too many features and yet fails to implement any of them with much success. Since I don&#8217;t work in an office environment, I really don&#8217;t have any need for Word (did I mention it&#8217;s expensive and crashes with alarming frequency?). I write for a couple of magazines here and there, post things on this site, and slave away at the mediocre American novel, none of which requires me to use MS Word or the .doc format. In short, I don&#8217;t <em>need</em> Word.</p>
<p>Yet for years I used it anyway. I still have the copy I purchased in college and even upgraded when it became available for OS X. But I used it mainly out of ignorance to the alternatives, rather than usefulness of the software. I can now say I have tried pretty much every office/word processing program that&#8217;s available for OS X and I only like one of them &#8212; <a href="http://www.redlers.com/" title="Mellel, great software and a bargin at $39">Mellel</a>. But aside from that one, I&#8217;ve concluded I just don&#8217;t like word processors (including <a href="http://www.apple.com/iwork/pages/" title="Apple's Pages, part of the new iWork suite">Apple&#8217;s new Pages program</a>). </p>
<p>These days I do my writing in a text editor, usually BBEdit. Since I&#8217;ve always used BBEdit to write code, it was open and ready to go. Over time I noticed that when I wanted to jot down some random idea I turned to BBEdit rather than opening up Word. It started as a convenience thing and just sort of snowballed from there. Now I&#8217;m really attached to writing in plain text.</p>
<p>In terms of archival storage, plain text is an excellent way to write. If BareBones, the makers of BBEdit, went bankrupt tomorrow I wouldn&#8217;t miss a beat because just about any program out there can read my files. As a file storage format, plain text is almost totally platform independent (I&#8217;m sure someone has got a text editor running on their PS2 by now.), which makes plain text fairly future proof (and if it&#8217;s not then we have bigger issues to deal with). Plain text is also easy to marked up for web display, a couple of <code>&lt;p&gt;</code> tags, maybe a link here and there and we&#8217;re on our way.</p>
<h3>In praise of formatted text</h3>
<p>But there are some drawbacks to writing in plain text &#8212; it sucks for physical documents. No one wants to read printed plain text. Because plain text must be single spaced printing renders some pretty small text with no room to make corrections &#8212; less than ideal for editing purposes. Sure, I could adjust the font size and whatnot from within BBEdit&#8217;s preferences, but I can&#8217;t get the double spacing, which is indispensable for editing, but a waste of space when I&#8217;m actually writing. </p>
<p>Of course this may  be peculiar to me. It may be hard for some people to write without having the double-spaced screen display. Most people probably look at what they&#8217;re writing while they write it. I do not. I look at my hands. Not to find the keys, but rather with a sort of abstract fascination. My hands seem to know where to go without me having to think about it, it&#8217;s kind of amazing and I like to watch it happen. I could well be thinking about something entirely different from what I&#8217;m typing and staring down at my hands produces a strange realization &#8212; wow look at those fingers go, I wonder how they know what their doing? I&#8217;m thinking about the miraculous way they seem to know what their doing, rather than what they&#8217;re actually doing. It&#8217;s highly likely that this is my own freakishness, but it eliminates the need for nicely spaced screen output (and introduces the need for intense editing).</p>
<p>But wait, let&#8217;s go back to that earlier part where I said its easy to mark up plain text for the web &#8212; what if it were possible to mark up plain text for print? Now that would be something.</p>
<h3>The Best of Both Worlds (Maybe)</h3>
<p>In fact there is a markup language for print documents. Unfortunately its pretty clunky. It goes by the name TeX, the terseness of which should make you think &#8212; ah, Unix. But TeX is actually really wonderful. It gives you the ability to write in plain text and use an, albeit esoteric and awkward, syntax to mark it up. TeX can then convert your document into something very classy and beautiful.</p>
<p>Now prior to the advent of Adobe&#8217;s ubiquitous PDF format I have no idea what sort of things TeX produced, nor do I care, because PDF exists and TeX can leverage it to render printable, distributable, cross-platform, open standard and, most importantly, really good looking documents.</p>
<p>But first let&#8217;s deal with the basics. TeX is convoluted, ugly, impossibly verbose and generally useless to anyone without a computer science degree. Recognizing this, some reasonable folks can along and said, hey, what if we wrote some simple macros to access this impossibly verbose difficult to comprehend language? That would be marvelous. And so some people did and called the result LaTeX because they were nerd/geeks and loved puns and the shift key. Actually I am told that LaTeX is pronounced Lah Tech, and that TeX should not be thought of as tex, but rather the greek letters tau, epsilon and chi. This is all good and well if you want to convince people you&#8217;re using a markup language rather than checking out fetish websites, but the word is spelled latex and will be pronounced laytex as long as I&#8217;m the one saying it. (Note to Bono: Your name is actually pronounced bo know. Sorry, that&#8217;s just how it is in my world.)</p>
<p>So, while TeX may do the actual work of formating your plain text document, what you actually use to mark up your documents is called LaTeX. I&#8217;m not entirely certain, but I assume that the packages that comprise LaTeX are simple interfaces that take basic input shortcuts and then tell TeX what they mean. Sort of like what Markdown does in converting text to HTML. Hmmm. More on that later.</p>
<h3>Installation and RTFM suggestions</h3>
<p>So I went through the whole unixy rigamarole of installing packages in usr/bin/ and other weird directories that I try to ignore and got a lovely little Mac OS X-native front end called <a href="http://www.uoregon.edu/~koch/texshop/texshop.html" title="TeXShop for Mac OS X">TeXShop</a>. Here is a link to the <a href="http://www.mecheng.adelaide.edu.au/~will/texstart/" title="TeX on Mac OS X: The most simple beginner's guide">Detailed instructions for the LaTeX/TeX set up I installed</a>. The process was awkward, but not painful. The instruction comprise only four steps, not as bad as say, um, well, okay, it&#8217;s not drag-n-drop, but its pretty easy.</p>
<p>I also went a step further because LaTeX in most of it&#8217;s incarnations is pretty picky about what fonts it will work with. If this seems idiotic to you, you are not alone. I thought hey, I have all these great fonts, I should be able to use any of them in a LaTeX document, but no, it&#8217;s not that easy. Without delving too deep into the mysterious world of fonts, it seems that, in order to render text as well as it does, TeX needs special fonts &#8212; particularly fonts that have specific ligatures included in them. Luckily a very nice gentlemen by the name of Jonathan Kew has already solved this problem for those of us using Mac OS X. So I <a href="http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&amp;item_id=xetex&amp;_sc=1" title="The XeTeX typesetting system">downloaded and installed XeTeX</a>, which is actually a totally different macro processor that runs semi-separately from a standard LaTeX installation (at least I think it is, feel free to correct me if I&#8217;m wrong. This link offers <a href="http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&amp;item_id=xetex_texshop" title="Using XeTeX with TexShop">more information on XeTeX</a>.</p>
<p>So then <a href="http://www.math.hkbu.edu.hk/TeX/" title="online LaTeX manual">I read the fucking manual</a> and <a href="http://www.math.hkbu.edu.hk/TeX/lshort.pdf" title="Not so Short introduction to LaTeX">the other fucking manual</a> (which should be on your list of best practices when dealing with new software or programming languages). After an hour or so of tinkering with pre-made templates developed by others, and consulting the aforementioned manuals, I was actually able to generate some decent looking documents.</p>
<p>But the syntax for LaTeX is awkward and verbose (remember &#8212; written to avoid having to know an awkward and verbose syntax known as TeX). Would you rather write this:</p>
<div class="highlight"><pre><span></span>\section{Heading}
\font\a=&quot;Bell MT&quot; at 12pt   
\a some text some text some text some text, for the love of god I will not use latin sample text because damnit I am not roman and do not like fiddling. \href{some link text}{http://www.linkaddress.com} to demonstrate what a link looks like in XeTeX. \verb#here is a line of code# to show what inline code looks like in XeTeX some more text because I still won&#39;t stoop, yes I said stoop, to Latin.
</pre></div>


<p>Or this:</p>
<div class="highlight"><pre><span></span>###Heading
some text some text some text some text, for the love of god I will not use latin sample text because damnit I am not roman and do not like fiddling. [some link text][1] to demonstrate what a link looks like in Markdown. `here is a line of code` to show what inline code looks like in Markdown. And some more text because I still won&#39;t stoop, yes I said stoop, to Latin.
</pre></div>


<p>In simple terms of readability, <a href="http://daringfireball.net/projects/markdown/" title="Markdown">John Gruber&#8217;s Markdown</a> (the second sample code) is a stroke of true brilliance. I can honestly say that nothing has changed my writing style as much since my parents bought one of these newfangled computer thingys back in the late 80&#8217;s. So, with no more inane hyperbole, lets just say I like Markdown.</p>
<p>LaTeX on the other hand shows it&#8217;s age like the denture baring ladies of a burlesque revival show. It ain&#8217;t sexy. And believe me, my sample is the tip of the iceberg in terms of mark up.</p>
<h3>using Perl and Applescript to generate XeTeX</h3>
<p>Here&#8217;s where I get vague, beg personal preferences, hint a vast undivulged knowledge of AppleScript (not true, I just use the &#8220;start recording&#8221; feature in BBEdit) and simply say that, with a limited knowledge of Perl, I was able to rewrite Markdown, combine that with some applescripts to call various Grep patterns (LaTeX must escape certain characters, most notably, <code>$</code> and <code>&amp;</code>) and create a BBEdit Textfactory which combines the first two elements to generate LaTeX markup from a Markdown syntax plain text document. And no I haven&#8217;t been reading Proust, I just like long, parenthetically-aside sentences.</p>
<p>Yes all of the convolution of the preceding sentence allows me to, in one step, convert this document to a latex document and output it as a PDF file. Don&#8217;t believe me? <a href="http://www.luxagraf.com/pdf/hifitext.pdf" title="this article as an XeTeX generated pdf">Download this article as a PDF produced using LaTeX</a>. In fact it&#8217;s so easy I&#8217;m going to batch process all my entries and make them into nice looking PDFs which will be available at the bottom of the page.</p>
<h3>Technical Details</h3>
<p>I first proposed this idea of using Markdown to generate LaTeX on the BBEdit mailing list and was informed that it would be counter-productive to the whole purpose and philosophy of LaTeX. While I sort of understand this guidance, I disagree. </p>
<p>I already have a ton of documents written with Markdown syntax. Markdown is the most minimal syntax I&#8217;ve found for generating html. Why not adapt my existing workflow to generate some basic LaTeX? See I don&#8217;t want to write LaTeX documents; I want to write text documents with Markdown syntax in them and generate html and PDF from the same initial document. Then I want to revert the initial document back to it&#8217;s original form and stash it away on my hard drive.</p>
<p>I simply wanted a one step method of processing a Markdown syntax text file into XeTeX to compliment the one step method I already have for turning the same document into HTML.</p>
<p>Here&#8217;s how I do it. I modified Markdown to generate what LaTeX markup I need, i.e. specific definitions for list elements, headings, quotes, code blocks etc. This was actually pretty easy, and keep in mind that I have never gotten beyond a &#8220;hello world&#8221; script in Perl. Kudos to John Gruber for copious comments and very logical, easy to read code.</p>
<p>That&#8217;s all good and well, but then there are some other things I needed to do to get a usable TeX version of my document. For instance certain characters need to be escaped, like the entities mentioned above. Now if I were more knowledgeable about Perl I would have just added these to the Markdown file, but rather than wrestle with Perl I elected to use grep via BBEdit. So I crafted an applescript that first parsed out things like <code>&amp;mdash;</code> and replaced them with the unicode equivalent which is necessary to get an em-dash in XeTeX (in a normal LaTeX environment you would use <code>---</code> to generate an emdash). Other things like quote marks, curly brackets and ampersands are similarly replaced with their XeTeX equivalents (for some it&#8217;s unicode, others like <code>{</code> or <code>}</code> must be escaped like so: <code>\{</code>). </p>
<p>Next I created a BBEdit Textfactory to call these scripts in the right order (for instance I need to replace quote marks after running my modified Markdown script since Markdown will use quotes to identify things like url title tags (which my version simply discards). Then I created an applescript that calls the textfactory and then applies a BBEdit glossary item to the resulting (selected) text, which adds all the preamble TeX definitions I use and then passes that whole code block off to XeTeX via TeXShop and outputs the result in Preview.</p>
<p>Convoluted? Yes. But now that it&#8217;s done and assigned a shortcut key it takes less than two seconds to generate a pdf of really good looking (double spaced) text. The best part is if I want to change things around, the only file I have to adjust is the BBEdit glossary item that creates the preamble.</p>
<p>The only downside is that to undo the various manipulations wrought on the original text file I have to hit the undo command five times. At some point I&#8217;ll sit down and figure out how to do everything using Perl and then it will be a one step undo just like regular Markdown. In the mean time I just wrote a quick applescript that calls undo five times :)</p>
<h3>Am I insane?</h3>
<p>I don&#8217;t know. I&#8217;m willing to admit to esoteric and when pressed will concede stupid, but damnit I like it. And from initial install to completed workflow we&#8217;re only talking about six hours, most of which was spent pouring over LaTeX manuals. Okay yes, I&#8217;m insane. I went to all this effort just to avoid an animated paperclip. But seriously, that thing is creepy.</p>
<p>Note of course that my LaTeX needs are limited and fairly simple. I wanted one version of my process to output a pretty simple double spaced document for editing. Then I whipped up another version for actual reading by others (single spaced, nice margins and header etc). I&#8217;m a humanities type, I&#8217;m not doing complex math equations, inline images, or typesetting an entire book with table of contents and bibliography. Of course even if I were, the only real change I would need to make is to the LaTeX preamble template. Everything else would remain the same, which is pretty future proof. And if BBEdit disappears and Apple goes belly up, well, I still have plain text files to edit on my PS457.</p>
        </div>
        
        </article>
        
        
        <div class="nav-wrapper">
        <nav id="page-navigation" class="page-border-top">
            <ul>
                <li id="prev"><span class="bl">Previous:</span> 
                    <a href="/jrnl/2005/02/farewell-mr-hunter-s-thompson" rel="prev" title=" Farewell Mr. Hunter S Thompson">Farewell Mr. Hunter S Thompson</a>
                </li>
                <li id="next"><span class="bl">Next:</span> 
                    <a href="/jrnl/2005/10/new-luddites" rel="next" title=" The New Luddites">The New Luddites</a>
                </li>
            </ul>
        </nav>
        </div>
        

        
    


<div class="comment--form--wrapper ">

<div class="comment--form--header">
    <p class="hed">Thoughts?</p>
    <p class="subhed">Please leave a reply:</p>
</div>
<form action="/comments/post/" method="post" class="comment--form">
  
<input type="hidden" name="rder" value="" />
  
    
      <input type="hidden" name="content_type" value="jrnl.entry" id="id_content_type">
    
  
    
      <input type="hidden" name="object_pk" value="144" id="id_object_pk">
    
  
    
      <input type="hidden" name="timestamp" value="1596833490" id="id_timestamp">
    
  
    
      <input type="hidden" name="security_hash" value="3d85d45863fdf4c726993bf86bd1367ec1f4419c" id="id_security_hash">
    
  
    
  <fieldset  >
        <label for="id_name">Name:</label>
        <input type="text" name="name" maxlength="50" required id="id_name">
  </fieldset>
    
  
    
  <fieldset  >
        <label for="id_email">Email address:</label>
        <input type="email" name="email" required id="id_email">
  </fieldset>
    
  
    
  <fieldset  >
        <label for="id_url">URL:</label>
        <input type="url" name="url" id="id_url">
  </fieldset>
    
  
    
  <fieldset  >
        <label for="id_comment">Comment:</label>
        <div class="textarea-rounded"><textarea name="comment" cols="40" rows="10" maxlength="3000" required id="id_comment">
</textarea></div>
  </fieldset>
    
  
    
  <fieldset   style="display:none;">
        <label for="id_honeypot">If you enter anything in this field your comment will be treated as spam:</label>
        <input type="text" name="honeypot" id="id_honeypot">
  </fieldset>
    
  
  <div class="submit">
    <input type="submit" name="post" class="submit-post btn" value="Post" />
    <input type="submit" name="preview" class="submit-preview btn" value="Preview" />
  </div>
</form>
<p style="font-size: 95%;"><strong>All comments are moderated</strong>, so you won&#8217;t see it right away. And please remember Kurt Vonnegut's rule: &#8220;god damn it, you&#8217;ve got to be kind.&#8221; You can use Markdown or HTML to format your comments. The allowed tags are <code>&lt;b&gt;, &lt;i&gt;, &lt;em&gt;, &lt;strong&gt;, &lt;a&gt;</code>. To create a new paragraph hit return twice. </p>


</div>

</main>

    
    
    <footer class="bl">
        <ul class="footer-nav">
            <li><a href="/blogroll" title="Sites that inspire us">Blogroll</a></li>
            <li><a href="/contact/" title="contact luxagraf">Contact</a></li>
            <li>Follow Along:
                <ul>
                    <li><a href="/jrnl/feed.xml" title="RSS feed">RSS</a></li>
                    <li><a href="/newsletter/" title="Luxagraf Email Updates">Email</a></li>
                    <li><a href="https://www.instagram.com/luxagraf" rel="me" title="luxagraf on Instagram">Instagram</a></li>
                </ul>
        </ul>
         <div class="support">Support luxagraf: 
             <div class="donate-btn">
                <form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
                <input type="hidden" name="cmd" value="_s-xclick">
                <input type="hidden" name="hosted_button_id" value="HYJFZQSBGJ8QQ">
                <input type="submit" name="submit" title="Donate to luxagraf via PayPal">
                </form>
            </div>
            <div class="donate-btn">
                <a class="liberapay-btn" href="https://liberapay.com/luxagraf/donate"><span>Donate</span></a>
            </div>
        </div>
        <p id="license">
            &copy; 2003-2020 
            <span class="h-card"><a class="p-name u-url" href="https://luxagraf.net/">Scott Gilbertson</a><data class="p-nickname" value="luxagraf"></data><data class="p-locality" value="Athens"></data><data class="p-region" value="Georgia"></data><data class="p-country-name" value="United States"></data></span>.
        </p>
    </footer>
    </div>
    
<script>
document.addEventListener("DOMContentLoaded", function(event) { 
    var leaflet = document.createElement('script');
    leaflet.src = "/media/js/leaflet-master/leaflet-mod.js";
    document.body.appendChild(leaflet);
    var lightbox = document.createElement('script');
    lightbox.src = "/media/js/lightbox.js";
    document.body.appendChild(lightbox);
    leaflet.onload = function(){
        var detail = document.createElement('script');
        detail.src = "/media/js/detail.min.js";
        document.body.appendChild(detail);
        
        detail.onload = function(){
            createMap();
            var open = false;
        }
        
    }

    lightbox.onload = function() {
        var opts= {
            //nextOnClick: false,
            captions: true,
            onload: function(){
                var im = document.getElementById("jslghtbx-contentwrapper");
                var link = im.appendChild(document.createElement('a'))
                link.href = im.firstChild.src;
                link.innerHTML= "open ";
                link.target = "_blank";
                link.setAttribute('class', 'p-link');
                im.appendChild(link);
            }
        }; 
        var lightbox = new Lightbox();
        lightbox.load(opts);
    }
    





});
</script>

<script>
<!--
// Register our service-worker
//if (navigator.serviceWorker) {
//    window.addEventListener('load', function() {
//        if (navigator.serviceWorker.controller) {
//            navigator.serviceWorker.controller.postMessage({'command': 'trimCaches'});
//        } else {
//            navigator.serviceWorker.register('/serviceworker.js', {
//                scope: '/'
//            });
//        }
//    });
//}
//-->

<!-- Piwik -->
var _paq = _paq || [];
_paq.push(["disableCookies"]);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
    var u="https://stats.luxagraf.net/";
    _paq.push(['setTrackerUrl', u+'piwik.php']);
    _paq.push(['setSiteId', 1]);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
    })();
<!-- End Piwik Code -->
</script>
<noscript><p><img src="//stats.luxagraf.net/piwik.php?idsite=1" style="border:0;" alt="" /></p></noscript>
</body>
</html>