Lacking Natural Simplicity (Posts about pandoc)
https://tkurtbond.github.io/categories/pandoc.atom
2024-01-23T18:49:47Z
T. Kurt Bond
Nikola
Overcoming reST's limited table control by including raw groff TBL
https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/
2023-02-03T08:31:34-05:00
2023-02-03T08:31:34-05:00
T. Kurt Bond
<p><em>Last edited: 2024-01-21 15:55:09 EST</em></p>
<p>So. I have a CHICKEN Scheme program that converts <a class="reference external" href="http://dyskami.ca/besm.html">Big Eyes Small
Mouth 4E</a> characters from a YAML definition into <a class="reference external" href="https://docutils.sourceforge.io/rst.html">reStructuredText</a>
(reST).</p>
<p>Unfortunately, <a class="reference external" href="https://pandoc.org/">pandoc</a>’s (and probably the orginal python <a class="reference external" href="https://docutils.sourceforge.io/">docutils</a>’),
formatting of tables from <span class="app">reST</span> is limited and doesn’t let me do
what I need to do.<a class="footnote-reference brackets" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#markdown" id="footnote-reference-1" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a></p>
<p>Here’s an image of the BESM 4E character, Xeksil <a class="footnote-reference brackets" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#xeksil" id="footnote-reference-2" role="doc-noteref"><span class="fn-bracket">[</span>2<span class="fn-bracket">]</span></a>, I played
Wednesday night:</p>
<img alt="Original charactersheet for Xeksil in :app:`reST` using grid tables" src="https://tkurtbond.github.io/images/xeksil-plain-rst-version.png">
<p>As you can see, it doesn’t fully fill the width of the page, and the
first two columns are too wide for the information they contain.</p>
<p>I’m contemplating changing the program so that the actual tables are
in <a class="reference external" href="https://www.gnu.org/software/groff/">groff</a> <span class="app">tbl</span> format directly, and insert them into the
generated <span class="app">reST</span> file in <code class="docutils literal">.. raw:: ms</code> directives. That locks
me into using <span class="app">pandoc</span>’s <span class="app">groff</span> <span class="app">ms</span> macros output, but I
could just write a new version that outputs ConTeXt (<a class="reference external" href="https://en.wikipedia.org/wiki/ConTeXt">C1</a>, <a class="reference external" href="https://wiki.contextgarden.net/Main_Page">C2</a>) if I
ever need one…</p>
<p>As a test, I converted a character and his mecha into raw <span class="app">groff</span>
<span class="app">ms</span> with <span class="app">tbl</span> output. Here’s an image of that:</p>
<img alt="Test character sheet for Enyon Boase in plain groff -ms with TBL." src="https://tkurtbond.github.io/images/enyon-in-groff-ms-directly.png">
<p>As you can see, the tables fill the width of the text entirely and the
first two columns are narrower and the third column expands to fill
the width of the text. I was also able to put double lines before and
after each entity, and put single lines after the headers and before
the total lines.</p>
<p>I think this looks much better.</p>
<p>Note that the first example is on 5.5” by 8.5” page (which I use for
things I’m going to look at on the screen a lot, because it takes up
less space) and the second example is on 8.5” by 11” paper and in two
columns. It was essentially impossible to have <span class="app">pandoc</span> (and I’m
sure docutils) produce 2 column output and have the <span class="app">reST</span>
versions of the tables adapt to the width of the columns. With the
narrower widths of the first two table columns the third table column
is wide enough that I can use pages with two columns.</p>
<p>CPB (who I talked about this with earlier) commented: The data is in
YAML now right? Why not just generate troff?</p>
<p>Because when I write the actual text of things, I prefer <span class="app">reST</span>.
So, for instance, the description of the character or entity I write
in <span class="app">reST</span>. And I like <span class="app">reST</span> for the main documents into
which I include these generated files because then I can output to
HTML too. (Or to ConTexT; I’ve got some documents where I needed
features that ConTexT has and <span class="app">pandoc</span>’s groff -ms output doesn’t
have.)</p>
<p>I’ve already written the character formatting program (named
<span class="command">besm-rst</span>, originally enough) so that it can output the
table version or a terse version where the different sections are in
normal paragraphs, which is useful because it is much more compact.
Adding a version that outputs <span class="app">reST</span> with tables expressed as an
<span class="app">reST</span> <code class="docutils literal">.. raw:: ms</code> block that contains the table sections as
<span class="app">groff -ms</span> <span class="app">tbl</span> source would just be writing another
version of the output routine, selectable with a command line option.</p>
<p>The original output routine to produce <span class="app">reST</span> grid tables and its
support procedures were 315 lines. The second output routine to
paragraphs and its new support procedures (it uses some of the first
output routine’s support procedures) was 158 lines.</p>
<p>It will be interesting to see how long the troff output will be.</p>
<p>Oh, here is Lieutenant Enyon Boase again, this time in paragraph format:</p>
<img alt="/images/enyon-terse-plain-rst-version.png" src="https://tkurtbond.github.io/images/enyon-terse-plain-rst-version.png">
<p>That’s also a 8.5” by 11” page, and as you can see, it’s much more
compact, but harder for folks to find each individual item. This is
basically the format that was used in the original BESM 1E and 2E
books, and the table based version appeared in BESM 3E and was
continued in 4E.</p>
<p>I think the table format is much easier to read.</p>
<p>Now, when I use the <span class="app">reST</span> table output and generate HTML from it
it looks kinda crude:</p>
<img alt="Character sheet for Enyon Boase using reST grid tables for HTML output." src="https://tkurtbond.github.io/images/enyon-rst-grid-table-html-output.png">
<p>However, I think I may be able to fix that with CSS.</p>
<p>The HTML is relatively clean. (It probably doesn't really need the
width specifications in the colgroup element, but <span class="app">pandoc</span> puts
those in.)</p>
<p>That’s actually six tables. If I wrap them in one div with a
particular class I think I can get them formatted right.</p>
<p>CPB commented: CSS supports printing.</p>
<p>Yes, there is actually at least one commercial document formatting
system that uses CSS for sophisticated print output, much more
elaborate than what the browsers support, I think. And there is at
least one open source solution, <a class="reference external" href="https://weasyprint.org/">weasyprint</a>, that uses CSS to produce
PDF.</p>
<p>But I know <span class="app">tbl</span> better than CSS. 😉</p>
<p>I do have a need for good looking output html for the output of the
program: so I can put it on my blog! It would be better than images
in cases where I’m not actually comparing the PDF output of various
things.</p>
<p>Well, it took me longer than I expected to write the new version of
the output routines for embedded <span class="app">tbl</span> in rst: 4¼ hours. After
the first 2 hours I was fried (it had already been a long day): if I
had stopped then I probably could have finished it the next day in an
hour. Oh well. The new output routine and its new supporting
routines were 208 lines long.</p>
<p>Here's an image of the page produced (probably from the same YAML
file; I have a couple, since one of them was an early test file for
<span class="command">besm-rst</span>) using the new output routine, with <span class="app">reST</span>
output with <span class="app">tbl</span> output in <code class="docutils literal">.. raw:: ms</code>, pulled from the
document with all the pregenerated characters:</p>
<img alt="Enyon Boase reST output with tbl in raw ms block" src="https://tkurtbond.github.io/images/enyon-boase-rst-output-with-raw-ms-tbl.png">
<p>And for reference, here is the YAML version of Enyon Boase:</p>
<div class="code"><pre class="code yaml"><a id="rest_code_c9466e80c056449ba187b75777b8423a-1" name="rest_code_c9466e80c056449ba187b75777b8423a-1" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-1"></a><span class="nn">---</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-2" name="rest_code_c9466e80c056449ba187b75777b8423a-2" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-2"></a><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Lieutenant Enyon Boase</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-3" name="rest_code_c9466e80c056449ba187b75777b8423a-3" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-3"></a><span class="w"> </span><span class="nt">stats</span><span class="p">:</span><span class="w"> </span><span class="c1"># Average: (/ (+ 8 6 6) 3.0) 6.666666666666667</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-4" name="rest_code_c9466e80c056449ba187b75777b8423a-4" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Body</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-5" name="rest_code_c9466e80c056449ba187b75777b8423a-5" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-5"></a><span class="w"> </span><span class="nt">value</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">8</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-6" name="rest_code_c9466e80c056449ba187b75777b8423a-6" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-6"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">16</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-7" name="rest_code_c9466e80c056449ba187b75777b8423a-7" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-7"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Mind</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-8" name="rest_code_c9466e80c056449ba187b75777b8423a-8" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-8"></a><span class="w"> </span><span class="nt">value</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">6</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-9" name="rest_code_c9466e80c056449ba187b75777b8423a-9" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-9"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">12</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-10" name="rest_code_c9466e80c056449ba187b75777b8423a-10" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-10"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Soul</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-11" name="rest_code_c9466e80c056449ba187b75777b8423a-11" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-11"></a><span class="w"> </span><span class="nt">value</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">6</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-12" name="rest_code_c9466e80c056449ba187b75777b8423a-12" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-12"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">12</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-13" name="rest_code_c9466e80c056449ba187b75777b8423a-13" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-13"></a><span class="w"> </span><span class="nt">derived</span><span class="p">:</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-14" name="rest_code_c9466e80c056449ba187b75777b8423a-14" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-14"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">ACV</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-15" name="rest_code_c9466e80c056449ba187b75777b8423a-15" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-15"></a><span class="w"> </span><span class="nt">value</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">9</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-16" name="rest_code_c9466e80c056449ba187b75777b8423a-16" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-16"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">DCV</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-17" name="rest_code_c9466e80c056449ba187b75777b8423a-17" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-17"></a><span class="w"> </span><span class="nt">value</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">7</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-18" name="rest_code_c9466e80c056449ba187b75777b8423a-18" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-18"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">DM</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-19" name="rest_code_c9466e80c056449ba187b75777b8423a-19" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-19"></a><span class="w"> </span><span class="nt">value</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">5</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-20" name="rest_code_c9466e80c056449ba187b75777b8423a-20" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-20"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">HP</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-21" name="rest_code_c9466e80c056449ba187b75777b8423a-21" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-21"></a><span class="w"> </span><span class="nt">value</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">70</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-22" name="rest_code_c9466e80c056449ba187b75777b8423a-22" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-22"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">EP</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-23" name="rest_code_c9466e80c056449ba187b75777b8423a-23" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-23"></a><span class="w"> </span><span class="nt">value</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">60</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-24" name="rest_code_c9466e80c056449ba187b75777b8423a-24" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-24"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">SV</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-25" name="rest_code_c9466e80c056449ba187b75777b8423a-25" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-25"></a><span class="w"> </span><span class="nt">value</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">14</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-26" name="rest_code_c9466e80c056449ba187b75777b8423a-26" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-26"></a><span class="w"> </span><span class="nt">attributes</span><span class="p">:</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-27" name="rest_code_c9466e80c056449ba187b75777b8423a-27" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-27"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Attack Mastery</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-28" name="rest_code_c9466e80c056449ba187b75777b8423a-28" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-28"></a><span class="w"> </span><span class="nt">level</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">3</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-29" name="rest_code_c9466e80c056449ba187b75777b8423a-29" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-29"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">3</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-30" name="rest_code_c9466e80c056449ba187b75777b8423a-30" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-30"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Extra Actions</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-31" name="rest_code_c9466e80c056449ba187b75777b8423a-31" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-31"></a><span class="w"> </span><span class="nt">level</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-32" name="rest_code_c9466e80c056449ba187b75777b8423a-32" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-32"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">4</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-33" name="rest_code_c9466e80c056449ba187b75777b8423a-33" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-33"></a><span class="w"> </span><span class="nt">details</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">+1 Extra Action</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-34" name="rest_code_c9466e80c056449ba187b75777b8423a-34" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-34"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="s">"Item:</span><span class="nv"> </span><span class="s">FV2021</span><span class="nv"> </span><span class="s">Coleopteran"</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-35" name="rest_code_c9466e80c056449ba187b75777b8423a-35" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-35"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">35</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-36" name="rest_code_c9466e80c056449ba187b75777b8423a-36" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-36"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Skills</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-37" name="rest_code_c9466e80c056449ba187b75777b8423a-37" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-37"></a><span class="w"> </span><span class="nt">level</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-38" name="rest_code_c9466e80c056449ba187b75777b8423a-38" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-38"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-39" name="rest_code_c9466e80c056449ba187b75777b8423a-39" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-39"></a><span class="w"> </span><span class="nt">details</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">20 Skill Points</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-40" name="rest_code_c9466e80c056449ba187b75777b8423a-40" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-40"></a><span class="w"> </span><span class="nt">defects</span><span class="p">:</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-41" name="rest_code_c9466e80c056449ba187b75777b8423a-41" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-41"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="s">"Unique</span><span class="nv"> </span><span class="s">Defect:</span><span class="nv"> </span><span class="s">Obsessed</span><span class="nv"> </span><span class="s">by</span><span class="nv"> </span><span class="s">Military</span><span class="nv"> </span><span class="s">History"</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-42" name="rest_code_c9466e80c056449ba187b75777b8423a-42" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-42"></a><span class="w"> </span><span class="nt">rank</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-43" name="rest_code_c9466e80c056449ba187b75777b8423a-43" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-43"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">-1</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-44" name="rest_code_c9466e80c056449ba187b75777b8423a-44" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-44"></a><span class="w"> </span><span class="nt">skills</span><span class="p">:</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-45" name="rest_code_c9466e80c056449ba187b75777b8423a-45" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-45"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Interrogation</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-46" name="rest_code_c9466e80c056449ba187b75777b8423a-46" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-46"></a><span class="w"> </span><span class="nt">level</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-47" name="rest_code_c9466e80c056449ba187b75777b8423a-47" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-47"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-48" name="rest_code_c9466e80c056449ba187b75777b8423a-48" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-48"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Law</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-49" name="rest_code_c9466e80c056449ba187b75777b8423a-49" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-49"></a><span class="w"> </span><span class="nt">level</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-50" name="rest_code_c9466e80c056449ba187b75777b8423a-50" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-50"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-51" name="rest_code_c9466e80c056449ba187b75777b8423a-51" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-51"></a><span class="w"> </span><span class="nt">specialisations</span><span class="p">:</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-52" name="rest_code_c9466e80c056449ba187b75777b8423a-52" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-52"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Military</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-53" name="rest_code_c9466e80c056449ba187b75777b8423a-53" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-53"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Leadership</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-54" name="rest_code_c9466e80c056449ba187b75777b8423a-54" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-54"></a><span class="w"> </span><span class="nt">level</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-55" name="rest_code_c9466e80c056449ba187b75777b8423a-55" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-55"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-56" name="rest_code_c9466e80c056449ba187b75777b8423a-56" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-56"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Military Sciences</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-57" name="rest_code_c9466e80c056449ba187b75777b8423a-57" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-57"></a><span class="w"> </span><span class="nt">level</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-58" name="rest_code_c9466e80c056449ba187b75777b8423a-58" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-58"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">4</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-59" name="rest_code_c9466e80c056449ba187b75777b8423a-59" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-59"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Persuasion</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-60" name="rest_code_c9466e80c056449ba187b75777b8423a-60" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-60"></a><span class="w"> </span><span class="nt">level</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-61" name="rest_code_c9466e80c056449ba187b75777b8423a-61" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-61"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">3</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-62" name="rest_code_c9466e80c056449ba187b75777b8423a-62" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-62"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Political Sciences</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-63" name="rest_code_c9466e80c056449ba187b75777b8423a-63" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-63"></a><span class="w"> </span><span class="nt">level</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-64" name="rest_code_c9466e80c056449ba187b75777b8423a-64" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-64"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-65" name="rest_code_c9466e80c056449ba187b75777b8423a-65" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-65"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Stealth</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-66" name="rest_code_c9466e80c056449ba187b75777b8423a-66" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-66"></a><span class="w"> </span><span class="nt">level</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-67" name="rest_code_c9466e80c056449ba187b75777b8423a-67" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-67"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">4</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-68" name="rest_code_c9466e80c056449ba187b75777b8423a-68" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-68"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Visual Arts</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-69" name="rest_code_c9466e80c056449ba187b75777b8423a-69" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-69"></a><span class="w"> </span><span class="nt">level</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-70" name="rest_code_c9466e80c056449ba187b75777b8423a-70" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-70"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-71" name="rest_code_c9466e80c056449ba187b75777b8423a-71" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-71"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Writing</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-72" name="rest_code_c9466e80c056449ba187b75777b8423a-72" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-72"></a><span class="w"> </span><span class="nt">level</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-73" name="rest_code_c9466e80c056449ba187b75777b8423a-73" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-73"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-74" name="rest_code_c9466e80c056449ba187b75777b8423a-74" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-74"></a><span class="w"> </span><span class="nt">specialisations</span><span class="p">:</span>
<a id="rest_code_c9466e80c056449ba187b75777b8423a-75" name="rest_code_c9466e80c056449ba187b75777b8423a-75" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_c9466e80c056449ba187b75777b8423a-75"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Reports</span>
</pre></div>
<p>And here is the YAML version of his FV2021 Coleopteran:</p>
<div class="code"><pre class="code yaml"><a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-1" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-1" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-1"></a><span class="nn">---</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-2" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-2" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-2"></a><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">FV2021 Coleopteran</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-3" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-3" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-3"></a><span class="w"> </span><span class="nt">page</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">BRCS, p. 94=95</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-4" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-4" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-4"></a><span class="w"> </span><span class="nt">description</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">|</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-5" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-5" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-5"></a><span class="w"> </span><span class="no">A three-metre talk British-built humanoid combat walker used by</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-6" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-6" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-6"></a><span class="w"> </span><span class="no">the Canadians on Mars. They use a new “mind-interface”</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-7" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-7" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-7"></a><span class="w"> </span><span class="no">neuro-helmet that makes the mecha very agile. However, if a</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-8" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-8" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-8"></a><span class="w"> </span><span class="no">different pilot wants to use the mecha, the neuro-helmet must be</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-9" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-9" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-9"></a><span class="w"> </span><span class="no">“retuned” to their brain waves — this takes a full day; until</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-10" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-10" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-10"></a><span class="w"> </span><span class="no">then, halve the Defence Mastery and Combat Technique: Lightning</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-11" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-11" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-11"></a><span class="w"> </span><span class="no">Reflexes Attribute bonuses. The mecha are painted standard</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-12" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-12" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-12"></a><span class="w"> </span><span class="no">colours: UN white, with sky-blue helmets.</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-13" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-13" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-13"></a><span class="w"> </span><span class="nt">derived</span><span class="p">:</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-14" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-14" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-14"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Health Points</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-15" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-15" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-15"></a><span class="w"> </span><span class="nt">value</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">80</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-16" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-16" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-16"></a><span class="w"> </span><span class="nt">attributes</span><span class="p">:</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-17" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-17" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-17"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Features</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-18" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-18" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-18"></a><span class="w"> </span><span class="nt">level</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-19" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-19" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-19"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-20" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-20" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-20"></a><span class="w"> </span><span class="nt">details</span><span class="p">:</span><span class="w"> </span><span class="s">"Radio,</span><span class="nv"> </span><span class="s">Inertial</span><span class="nv"> </span><span class="s">Naviagion"</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-21" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-21" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-21"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Ground Speed</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-22" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-22" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-22"></a><span class="w"> </span><span class="nt">level</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">3</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-23" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-23" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-23"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">3</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-24" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-24" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-24"></a><span class="w"> </span><span class="nt">details</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Up to 50 kph</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-25" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-25" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-25"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Armour</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-26" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-26" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-26"></a><span class="w"> </span><span class="nt">level</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">3</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-27" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-27" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-27"></a><span class="w"> </span><span class="nt">effective</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">4</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-28" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-28" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-28"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">6</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-29" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-29" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-29"></a><span class="w"> </span><span class="nt">limiters</span><span class="p">:</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-30" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-30" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-30"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">"Unique</span><span class="nv"> </span><span class="s">Limiter:</span><span class="nv"> </span><span class="s">Partial:</span><span class="nv"> </span><span class="s">Thin"</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-31" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-31" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-31"></a><span class="w"> </span><span class="nt">details</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">|</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-32" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-32" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-32"></a><span class="w"> </span><span class="no">Hit thin area with called shot for half Armour Rating; 20 AR;</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-33" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-33" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-33"></a><span class="w"> </span><span class="no">20 Health Points</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-34" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-34" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-34"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Combat Technique</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-35" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-35" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-35"></a><span class="w"> </span><span class="nt">level</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-36" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-36" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-36"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-37" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-37" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-37"></a><span class="w"> </span><span class="nt">details</span><span class="p">:</span><span class="w"> </span><span class="s">"Lightning</span><span class="nv"> </span><span class="s">Reflexes:</span><span class="nv"> </span><span class="s">major</span><span class="nv"> </span><span class="s">edge</span><span class="nv"> </span><span class="s">on</span><span class="nv"> </span><span class="s">Initiative</span><span class="nv"> </span><span class="s">rolls"</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-38" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-38" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-38"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Defence Mastery</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-39" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-39" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-39"></a><span class="w"> </span><span class="nt">level</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-40" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-40" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-40"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-41" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-41" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-41"></a><span class="w"> </span><span class="nt">details</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">+2 to Defense Combat Value</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-42" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-42" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-42"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Resilient</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-43" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-43" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-43"></a><span class="w"> </span><span class="nt">level</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">6</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-44" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-44" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-44"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">12</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-45" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-45" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-45"></a><span class="w"> </span><span class="nt">details</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">|</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-46" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-46" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-46"></a><span class="w"> </span><span class="no">Space: low pressure, high pressure, intense cold, intense</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-47" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-47" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-47"></a><span class="w"> </span><span class="no">heat, radiation, lack of air</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-48" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-48" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-48"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Supersense</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-49" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-49" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-49"></a><span class="w"> </span><span class="nt">level</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">4</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-50" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-50" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-50"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">4</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-51" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-51" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-51"></a><span class="w"> </span><span class="nt">details</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Sensors, range 10 km</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-52" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-52" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-52"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Superstrength</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-53" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-53" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-53"></a><span class="w"> </span><span class="nt">level</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-54" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-54" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-54"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">8</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-55" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-55" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-55"></a><span class="w"> </span><span class="nt">details</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">|</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-56" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-56" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-56"></a><span class="w"> </span><span class="no">Lift 500 kg (a horse); +10 Unarmed Combat Damage;</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-57" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-57" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-57"></a><span class="w"> </span><span class="no">+2 Muscle Weapons Damage</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-58" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-58" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-58"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Tough</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-59" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-59" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-59"></a><span class="w"> </span><span class="nt">level</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">6</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-60" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-60" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-60"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">6</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-61" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-61" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-61"></a><span class="w"> </span><span class="nt">details</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">+60 Health Points</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-62" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-62" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-62"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="s">"Weapon:</span><span class="nv"> </span><span class="s">Railgun"</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-63" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-63" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-63"></a><span class="w"> </span><span class="nt">level</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">12</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-64" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-64" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-64"></a><span class="w"> </span><span class="nt">effective</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">9</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-65" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-65" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-65"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">24</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-66" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-66" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-66"></a><span class="w"> </span><span class="nt">details</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">|</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-67" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-67" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-67"></a><span class="w"> </span><span class="no">Damage Modifier ×</span><span class="err"> </span><span class="no">9; Range 10 km; fails and cannot be used</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-68" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-68" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-68"></a><span class="w"> </span><span class="no">again on natural 2 or 3</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-69" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-69" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-69"></a><span class="w"> </span><span class="nt">enhancements</span><span class="p">:</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-70" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-70" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-70"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="p p-Indicator">[</span><span class="nv">Range</span><span class="p p-Indicator">,</span><span class="w"> </span><span class="nv">5</span><span class="p p-Indicator">]</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-71" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-71" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-71"></a><span class="w"> </span><span class="nt">limiters</span><span class="p">:</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-72" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-72" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-72"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="p p-Indicator">[</span><span class="nv">Unreliable</span><span class="p p-Indicator">,</span><span class="w"> </span><span class="nv">2</span><span class="p p-Indicator">]</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-73" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-73" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-73"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="s">"Weapon:</span><span class="nv"> </span><span class="s">Rocket</span><span class="nv"> </span><span class="s">Pod"</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-74" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-74" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-74"></a><span class="w"> </span><span class="nt">level</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">14</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-75" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-75" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-75"></a><span class="w"> </span><span class="nt">effective</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">9</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-76" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-76" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-76"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">14</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-77" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-77" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-77"></a><span class="w"> </span><span class="nt">details</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">|</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-78" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-78" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-78"></a><span class="w"> </span><span class="no">Damage Modifier ×</span><span class="err"> </span><span class="no">9; Autofire: 1 hit if attack exceeds defence</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-79" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-79" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-79"></a><span class="w"> </span><span class="no">by 0–3, 2 hits if it exceeds by 4–6, 3 hits if it exceeds by</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-80" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-80" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-80"></a><span class="w"> </span><span class="no">>7–9, etc.; Area 3m radius; Range 1 km; 3 shots; Can be</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-81" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-81" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-81"></a><span class="w"> </span><span class="no">deflected or destroyed for 1 round; Alternate attack: cost</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-82" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-82" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-82"></a><span class="w"> </span><span class="no">halved</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-83" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-83" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-83"></a><span class="w"> </span><span class="nt">enhancements</span><span class="p">:</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-84" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-84" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-84"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="p p-Indicator">[</span><span class="nv">Autofire</span><span class="p p-Indicator">,</span><span class="w"> </span><span class="nv">3</span><span class="p p-Indicator">]</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-85" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-85" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-85"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Area</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-86" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-86" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-86"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="p p-Indicator">[</span><span class="nv">Range</span><span class="p p-Indicator">,</span><span class="w"> </span><span class="nv">4</span><span class="p p-Indicator">]</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-87" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-87" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-87"></a><span class="w"> </span><span class="nt">limiters</span><span class="p">:</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-88" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-88" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-88"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="p p-Indicator">[</span><span class="nv">Charges</span><span class="p p-Indicator">,</span><span class="w"> </span><span class="nv">2</span><span class="p p-Indicator">]</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-89" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-89" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-89"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Stoppable</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-90" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-90" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-90"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="s">"Weapon:</span><span class="nv"> </span><span class="s">Plasma</span><span class="nv"> </span><span class="s">Fist"</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-91" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-91" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-91"></a><span class="w"> </span><span class="nt">level</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">11</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-92" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-92" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-92"></a><span class="w"> </span><span class="nt">effective</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">12</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-93" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-93" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-93"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">11</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-94" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-94" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-94"></a><span class="w"> </span><span class="nt">details</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">|</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-95" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-95" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-95"></a><span class="w"> </span><span class="no">Damage Modifier ×</span><span class="err"> </span><span class="no">12; Muscle Weapon; 6 shots; Alternate attack:</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-96" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-96" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-96"></a><span class="w"> </span><span class="no">cost halved</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-97" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-97" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-97"></a><span class="w"> </span><span class="nt">limiters</span><span class="p">:</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-98" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-98" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-98"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Charges</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-99" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-99" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-99"></a><span class="w"> </span><span class="nt">defects</span><span class="p">:</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-100" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-100" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-100"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Awkward Size</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-101" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-101" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-101"></a><span class="w"> </span><span class="nt">rank</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-102" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-102" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-102"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">-4</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-103" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-103" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-103"></a><span class="w"> </span><span class="nt">details</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">|</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-104" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-104" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-104"></a><span class="w"> </span><span class="no">Size 2: Medium: +2 to be hit for every size attacker is</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-105" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-105" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-105"></a><span class="w"> </span><span class="no">smaller, −2 to be hit for every size attack is larger, 1.5–8</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-106" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-106" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-106"></a><span class="w"> </span><span class="no">tonnes, big horse to bigger than an elephant</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-107" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-107" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-107"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Conditional Ownership</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-108" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-108" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-108"></a><span class="w"> </span><span class="nt">rank</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-109" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-109" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-109"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">-1</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-110" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-110" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-110"></a><span class="w"> </span><span class="nt">details</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">UN Army ownership</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-111" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-111" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-111"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="s">"Special</span><span class="nv"> </span><span class="s">Requirement:</span><span class="nv"> </span><span class="s">Frequent</span><span class="nv"> </span><span class="s">maintenance"</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-112" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-112" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-112"></a><span class="w"> </span><span class="nt">rank</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
<a id="rest_code_b3ecc9d9b2d34197b611dbae71213495-113" name="rest_code_b3ecc9d9b2d34197b611dbae71213495-113" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#rest_code_b3ecc9d9b2d34197b611dbae71213495-113"></a><span class="w"> </span><span class="nt">points</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">-3</span>
</pre></div>
<p>The git repo with this program and some test data is on <a class="reference external" href="https://github.com/tkurtbond/besm-tools">github</a>.</p>
<p>Enyon Boase is a pregenerated character that I came up for my
<span class="title">BESM 2ER</span> rewrite of the <span class="title">BESM 1E</span> adventure “Red
Planet, Blue Helmets”, from <span class="title">Big Robots, Cool Starships</span>, which
I'm now converting to <span class="title">BESM 4E</span>. The FV2021 Coleopteran is
also from that adventure.</p>
<aside class="footnote-list brackets">
<aside class="footnote brackets" id="markdown" role="doc-footnote">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#footnote-reference-1">1</a><span class="fn-bracket">]</span></span>
<p>It's a little better coming from one of <span class="app">pandoc</span>'s
variants of Markdown, because you can specify alignment of columns
in some forms of tables, but you still have too little control over
the appearance of the table, and to make tables easy to read you
need more control than you have.</p>
</aside>
<aside class="footnote brackets" id="xeksil" role="doc-footnote">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="https://tkurtbond.github.io/posts/2023/02/03/overcoming-rests-limited-table-control-by-including-raw-groff-tbl/#footnote-reference-2">2</a><span class="fn-bracket">]</span></span>
<p>Xeksil has the “Dimension Walk” attribute. In the
backstory in my head he's the son of a woman from the Courts of
Chaos (from Zelazny's <span class="series">Amber Chronicles</span>) and a man that at
least <em>looks</em> human (but may not be; I haven't decided yet), so for
Xeksil this ability is “Shadow Shifting”.</p>
</aside>
</aside>
<!-- Local Variables:
time-stamp-format: "%Y-%02m-%02d %02H:%02M:%02S %Z"
time-stamp-start: "\\*Last edited:[ \t]+\\\\?"
time-stamp-end: "\\*\\\\?\n"
End: -->
How I author e-mails to pandoc-discuss and issues on the pandoc repo
https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/
2020-08-05T14:40:53-04:00
2020-08-05T14:40:53-04:00
T. Kurt Bond
<p>To submit an issue to the <a class="reference external" href="https://pandoc.org">pandoc</a> GitHub <a class="reference external" href="https://github.com/jgm/pandoc">repository</a> or an e-mail to
the <a class="reference external" href="https://groups.google.com/forum/#!forum/pandoc-discuss">pandoc-discuss</a> Google group when it is complicated I write a
reStructuredText (<a class="reference external" href="https://docutils.sourceforge.io/rst.html">reST</a>) file that shows the problem and a <a class="reference external" href="https://docutils.sourceforge.io/rst.html">reST</a> file
that explains the problem that prompted the issue/e-mail and include
the pandoc and os version information and includes the problem <a class="reference external" href="https://docutils.sourceforge.io/rst.html">reST</a>
file and sometimes the resulting output files. I process these files
with <a class="reference external" href="https://pandoc.org">pandoc</a>, of course. If it is going to the mailing list I format
it to HTML with a fancy style and cut and paste it from Chrome into
gmail. If it is going to be an issue report on GitHub I format it
into <span class="file">.gfm</span> (Github Flavored Markdown: <a class="reference external" href="https://github.github.com/gfm/">GFM</a>) file because that’s
what you write GitHub issues in and also format it into HTML to check
that the <span class="file">.gfm</span> is formed properly. Typically when I’m writing the
issue <a class="reference external" href="https://docutils.sourceforge.io/rst.html">reST</a> file I don’t use language names on code blocks for the
syntax highlighting because that doesn’t seem to come out right in
GFM.</p>
<p>For example, here is a <a class="reference external" href="https://groups.google.com/d/msg/pandoc-discuss/U44h5Uo7qgQ/xDBRWwERBAAJ">post</a>, “RST to RST Conversion Loses Interpreted
Text Roles”, to <a class="reference external" href="https://groups.google.com/forum/#!forum/pandoc-discuss">pandoc-discuss</a>.</p>
<p>Here is the problem <a class="reference external" href="https://docutils.sourceforge.io/rst.html">reST</a> source:</p>
<div class="code"><pre class="code ReST"><a id="rest_code_641bed0480434ea193e8918219434eaa-1" name="rest_code_641bed0480434ea193e8918219434eaa-1" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_641bed0480434ea193e8918219434eaa-1"></a>RST to RST Conversion Looses Interpreted Text Roles
<a id="rest_code_641bed0480434ea193e8918219434eaa-2" name="rest_code_641bed0480434ea193e8918219434eaa-2" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_641bed0480434ea193e8918219434eaa-2"></a>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
<a id="rest_code_641bed0480434ea193e8918219434eaa-3" name="rest_code_641bed0480434ea193e8918219434eaa-3" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_641bed0480434ea193e8918219434eaa-3"></a>
<a id="rest_code_641bed0480434ea193e8918219434eaa-4" name="rest_code_641bed0480434ea193e8918219434eaa-4" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_641bed0480434ea193e8918219434eaa-4"></a><span class="p">..</span> <span class="ow">role</span><span class="p">::</span> app
<a id="rest_code_641bed0480434ea193e8918219434eaa-5" name="rest_code_641bed0480434ea193e8918219434eaa-5" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_641bed0480434ea193e8918219434eaa-5"></a>
<a id="rest_code_641bed0480434ea193e8918219434eaa-6" name="rest_code_641bed0480434ea193e8918219434eaa-6" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_641bed0480434ea193e8918219434eaa-6"></a><span class="na">:app:</span><span class="nv">`GNU Emacs`</span> is an app. So is <span class="na">:app:</span><span class="nv">`Eclipse`</span>.
</pre></div>
<p>Here is the e-mail <a class="reference external" href="https://docutils.sourceforge.io/rst.html">reST</a> source:</p>
<div class="code"><pre class="code ReST"><a id="rest_code_998ca64fa8414f989bc12babbe406cf1-1" name="rest_code_998ca64fa8414f989bc12babbe406cf1-1" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-1"></a>RST to RST Conversion Loses Interpreted Text Roles
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-2" name="rest_code_998ca64fa8414f989bc12babbe406cf1-2" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-2"></a>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-3" name="rest_code_998ca64fa8414f989bc12babbe406cf1-3" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-3"></a>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-4" name="rest_code_998ca64fa8414f989bc12babbe406cf1-4" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-4"></a><span class="p">..</span> <span class="ow">role</span><span class="p">::</span> file(literal)
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-5" name="rest_code_998ca64fa8414f989bc12babbe406cf1-5" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-5"></a><span class="p">..</span> <span class="ow">role</span><span class="p">::</span> app
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-6" name="rest_code_998ca64fa8414f989bc12babbe406cf1-6" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-6"></a>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-7" name="rest_code_998ca64fa8414f989bc12babbe406cf1-7" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-7"></a>It turns out that when you use <span class="na">:app:</span><span class="nv">`pandoc`</span> to convert from <span class="s">``rst``</span>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-8" name="rest_code_998ca64fa8414f989bc12babbe406cf1-8" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-8"></a>to <span class="s">``rst``</span> the process loses interpreted text roles.
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-9" name="rest_code_998ca64fa8414f989bc12babbe406cf1-9" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-9"></a>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-10" name="rest_code_998ca64fa8414f989bc12babbe406cf1-10" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-10"></a>My <span class="na">:app:</span><span class="nv">`pandoc`</span> version is:
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-11" name="rest_code_998ca64fa8414f989bc12babbe406cf1-11" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-11"></a>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-12" name="rest_code_998ca64fa8414f989bc12babbe406cf1-12" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-12"></a><span class="p">..</span> <span class="ow">include</span><span class="p">::</span> pandoc.version
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-13" name="rest_code_998ca64fa8414f989bc12babbe406cf1-13" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-13"></a> <span class="nc">:code:</span>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-14" name="rest_code_998ca64fa8414f989bc12babbe406cf1-14" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-14"></a>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-15" name="rest_code_998ca64fa8414f989bc12babbe406cf1-15" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-15"></a>My OS information is:
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-16" name="rest_code_998ca64fa8414f989bc12babbe406cf1-16" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-16"></a>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-17" name="rest_code_998ca64fa8414f989bc12babbe406cf1-17" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-17"></a><span class="p">..</span> <span class="ow">include</span><span class="p">::</span> os.version
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-18" name="rest_code_998ca64fa8414f989bc12babbe406cf1-18" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-18"></a> <span class="nc">:code:</span>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-19" name="rest_code_998ca64fa8414f989bc12babbe406cf1-19" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-19"></a>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-20" name="rest_code_998ca64fa8414f989bc12babbe406cf1-20" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-20"></a>I generated the outputs to check with the following commands:
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-21" name="rest_code_998ca64fa8414f989bc12babbe406cf1-21" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-21"></a>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-22" name="rest_code_998ca64fa8414f989bc12babbe406cf1-22" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-22"></a><span class="p">..</span> <span class="ow">code</span><span class="p">::</span>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-23" name="rest_code_998ca64fa8414f989bc12babbe406cf1-23" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-23"></a>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-24" name="rest_code_998ca64fa8414f989bc12babbe406cf1-24" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-24"></a> pandoc -r rst -w rst -o r2rclitr-out.rst r2rclitr-in.rst
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-25" name="rest_code_998ca64fa8414f989bc12babbe406cf1-25" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-25"></a> pandoc -r rst -w native --output=r2rclitr-in.native r2rclitr-in.rst
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-26" name="rest_code_998ca64fa8414f989bc12babbe406cf1-26" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-26"></a>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-27" name="rest_code_998ca64fa8414f989bc12babbe406cf1-27" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-27"></a>So, for the ReStructuredText input (file <span class="na">:file:</span><span class="nv">`r2rclitr-in.rst`</span>):
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-28" name="rest_code_998ca64fa8414f989bc12babbe406cf1-28" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-28"></a>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-29" name="rest_code_998ca64fa8414f989bc12babbe406cf1-29" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-29"></a><span class="p">..</span> <span class="ow">include</span><span class="p">::</span> r2rclitr-in.rst
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-30" name="rest_code_998ca64fa8414f989bc12babbe406cf1-30" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-30"></a> <span class="nc">:code:</span>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-31" name="rest_code_998ca64fa8414f989bc12babbe406cf1-31" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-31"></a>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-32" name="rest_code_998ca64fa8414f989bc12babbe406cf1-32" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-32"></a>the resulting <span class="s">``rst``</span> output (<span class="na">:file:</span><span class="nv">`r2rclitr-out.rst`</span>) is generated:
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-33" name="rest_code_998ca64fa8414f989bc12babbe406cf1-33" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-33"></a>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-34" name="rest_code_998ca64fa8414f989bc12babbe406cf1-34" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-34"></a><span class="p">..</span> <span class="ow">include</span><span class="p">::</span> r2rclitr-out.rst
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-35" name="rest_code_998ca64fa8414f989bc12babbe406cf1-35" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-35"></a> <span class="nc">:code:</span>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-36" name="rest_code_998ca64fa8414f989bc12babbe406cf1-36" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-36"></a>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-37" name="rest_code_998ca64fa8414f989bc12babbe406cf1-37" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-37"></a>And the <span class="s">``native``</span> output (<span class="na">:file:</span><span class="nv">`r2rclitr-in.native`</span>) generated:
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-38" name="rest_code_998ca64fa8414f989bc12babbe406cf1-38" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-38"></a>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-39" name="rest_code_998ca64fa8414f989bc12babbe406cf1-39" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-39"></a><span class="p">..</span> <span class="ow">include</span><span class="p">::</span> r2rclitr-in.native
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-40" name="rest_code_998ca64fa8414f989bc12babbe406cf1-40" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-40"></a> <span class="nc">:code:</span>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-41" name="rest_code_998ca64fa8414f989bc12babbe406cf1-41" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-41"></a>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-42" name="rest_code_998ca64fa8414f989bc12babbe406cf1-42" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-42"></a>has <span class="s">``Span``</span> elements with classes, so it should be possible to turn
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-43" name="rest_code_998ca64fa8414f989bc12babbe406cf1-43" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-43"></a>those back into interpreted text roles in <span class="s">``rst``</span> output. I suppose
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-44" name="rest_code_998ca64fa8414f989bc12babbe406cf1-44" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-44"></a>you'd have to write out at the beginning of the RST output file a list
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-45" name="rest_code_998ca64fa8414f989bc12babbe406cf1-45" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-45"></a>of
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-46" name="rest_code_998ca64fa8414f989bc12babbe406cf1-46" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-46"></a>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-47" name="rest_code_998ca64fa8414f989bc12babbe406cf1-47" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-47"></a><span class="p">..</span> <span class="ow">code</span><span class="p">::</span>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-48" name="rest_code_998ca64fa8414f989bc12babbe406cf1-48" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-48"></a>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-49" name="rest_code_998ca64fa8414f989bc12babbe406cf1-49" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-49"></a><span class="p"> ..</span> <span class="ow">role</span><span class="p">::</span> rolename
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-50" name="rest_code_998ca64fa8414f989bc12babbe406cf1-50" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-50"></a>
<a id="rest_code_998ca64fa8414f989bc12babbe406cf1-51" name="rest_code_998ca64fa8414f989bc12babbe406cf1-51" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_998ca64fa8414f989bc12babbe406cf1-51"></a>lines for every class <span class="s">``rolename``</span> in a span. Would this be possible?
</pre></div>
<p>Here is the <span class="file">GNUmakefile</span> for it:</p>
<div class="code"><pre class="code makefile"><a id="rest_code_9260a4c9af2a4d92b573078e72134607-1" name="rest_code_9260a4c9af2a4d92b573078e72134607-1" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9260a4c9af2a4d92b573078e72134607-1"></a><span class="nf">all</span><span class="o">:</span><span class="w"> </span><span class="n">r</span>2<span class="n">rclitr</span>-<span class="n">email</span>.<span class="n">html</span>
<a id="rest_code_9260a4c9af2a4d92b573078e72134607-2" name="rest_code_9260a4c9af2a4d92b573078e72134607-2" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9260a4c9af2a4d92b573078e72134607-2"></a>
<a id="rest_code_9260a4c9af2a4d92b573078e72134607-3" name="rest_code_9260a4c9af2a4d92b573078e72134607-3" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9260a4c9af2a4d92b573078e72134607-3"></a><span class="nf">r2rclitr-email.html</span><span class="o">:</span><span class="w"> </span><span class="n">pandoc</span>.<span class="n">version</span> <span class="n">os</span>.<span class="n">version</span> <span class="n">pandoc</span>.<span class="n">style</span> \
<a id="rest_code_9260a4c9af2a4d92b573078e72134607-4" name="rest_code_9260a4c9af2a4d92b573078e72134607-4" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9260a4c9af2a4d92b573078e72134607-4"></a> <span class="n">r</span>2<span class="n">rclitr</span>-<span class="n">in</span>.<span class="n">rst</span> <span class="n">r</span>2<span class="n">rclitr</span>-<span class="n">out</span>.<span class="n">rst</span> <span class="n">r</span>2<span class="n">rclitr</span>-<span class="n">in</span>.<span class="n">native</span>
<a id="rest_code_9260a4c9af2a4d92b573078e72134607-5" name="rest_code_9260a4c9af2a4d92b573078e72134607-5" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9260a4c9af2a4d92b573078e72134607-5"></a>
<a id="rest_code_9260a4c9af2a4d92b573078e72134607-6" name="rest_code_9260a4c9af2a4d92b573078e72134607-6" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9260a4c9af2a4d92b573078e72134607-6"></a><span class="nf">pandoc.version</span><span class="o">:</span><span class="w"> </span><span class="k">$(</span><span class="nv">shell</span> <span class="nv">type</span> <span class="nv">-p</span> <span class="nv">pandoc</span><span class="k">)</span>
<a id="rest_code_9260a4c9af2a4d92b573078e72134607-7" name="rest_code_9260a4c9af2a4d92b573078e72134607-7" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9260a4c9af2a4d92b573078e72134607-7"></a><span class="w"> </span>pandoc<span class="w"> </span>--version<span class="w"> </span><span class="p">|</span><span class="w"> </span>head<span class="w"> </span>-2<span class="w"> </span>><span class="nv">$@</span>
<a id="rest_code_9260a4c9af2a4d92b573078e72134607-8" name="rest_code_9260a4c9af2a4d92b573078e72134607-8" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9260a4c9af2a4d92b573078e72134607-8"></a><span class="nf">os.version</span><span class="o">:</span>
<a id="rest_code_9260a4c9af2a4d92b573078e72134607-9" name="rest_code_9260a4c9af2a4d92b573078e72134607-9" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9260a4c9af2a4d92b573078e72134607-9"></a><span class="w"> </span>osinfo<span class="w"> </span>><span class="nv">$@</span>
<a id="rest_code_9260a4c9af2a4d92b573078e72134607-10" name="rest_code_9260a4c9af2a4d92b573078e72134607-10" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9260a4c9af2a4d92b573078e72134607-10"></a>
<a id="rest_code_9260a4c9af2a4d92b573078e72134607-11" name="rest_code_9260a4c9af2a4d92b573078e72134607-11" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9260a4c9af2a4d92b573078e72134607-11"></a><span class="c"># ReST input</span>
<a id="rest_code_9260a4c9af2a4d92b573078e72134607-12" name="rest_code_9260a4c9af2a4d92b573078e72134607-12" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9260a4c9af2a4d92b573078e72134607-12"></a><span class="nf">%-out.rst</span><span class="o">:</span><span class="w"> </span>%-<span class="n">in</span>.<span class="n">rst</span>
<a id="rest_code_9260a4c9af2a4d92b573078e72134607-13" name="rest_code_9260a4c9af2a4d92b573078e72134607-13" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9260a4c9af2a4d92b573078e72134607-13"></a><span class="w"> </span>pandoc<span class="w"> </span>-r<span class="w"> </span>rst<span class="w"> </span>-w<span class="w"> </span>rst<span class="w"> </span>-o<span class="w"> </span><span class="nv">$@</span><span class="w"> </span>$<
<a id="rest_code_9260a4c9af2a4d92b573078e72134607-14" name="rest_code_9260a4c9af2a4d92b573078e72134607-14" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9260a4c9af2a4d92b573078e72134607-14"></a><span class="nf">%.html </span><span class="o">:</span><span class="w"> </span>%.<span class="n">rst</span>
<a id="rest_code_9260a4c9af2a4d92b573078e72134607-15" name="rest_code_9260a4c9af2a4d92b573078e72134607-15" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9260a4c9af2a4d92b573078e72134607-15"></a><span class="w"> </span>pandoc<span class="w"> </span>-r<span class="w"> </span>rst<span class="w"> </span>-w<span class="w"> </span>html<span class="w"> </span>--include-in-header<span class="o">=</span>pandoc.style<span class="w"> </span>--output<span class="o">=</span><span class="nv">$@</span><span class="w"> </span>$<
<a id="rest_code_9260a4c9af2a4d92b573078e72134607-16" name="rest_code_9260a4c9af2a4d92b573078e72134607-16" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9260a4c9af2a4d92b573078e72134607-16"></a><span class="nf">%.native </span><span class="o">:</span><span class="w"> </span>%.<span class="n">rst</span>
<a id="rest_code_9260a4c9af2a4d92b573078e72134607-17" name="rest_code_9260a4c9af2a4d92b573078e72134607-17" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9260a4c9af2a4d92b573078e72134607-17"></a><span class="w"> </span>pandoc<span class="w"> </span>-r<span class="w"> </span>rst<span class="w"> </span>-w<span class="w"> </span>native<span class="w"> </span>--output<span class="o">=</span><span class="nv">$@</span><span class="w"> </span>$<
<a id="rest_code_9260a4c9af2a4d92b573078e72134607-18" name="rest_code_9260a4c9af2a4d92b573078e72134607-18" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9260a4c9af2a4d92b573078e72134607-18"></a>
<a id="rest_code_9260a4c9af2a4d92b573078e72134607-19" name="rest_code_9260a4c9af2a4d92b573078e72134607-19" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9260a4c9af2a4d92b573078e72134607-19"></a><span class="nf">.PHONY</span><span class="o">:</span><span class="w"> </span><span class="n">clean</span>
<a id="rest_code_9260a4c9af2a4d92b573078e72134607-20" name="rest_code_9260a4c9af2a4d92b573078e72134607-20" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9260a4c9af2a4d92b573078e72134607-20"></a>
<a id="rest_code_9260a4c9af2a4d92b573078e72134607-21" name="rest_code_9260a4c9af2a4d92b573078e72134607-21" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9260a4c9af2a4d92b573078e72134607-21"></a><span class="nf">clean</span><span class="o">:</span>
<a id="rest_code_9260a4c9af2a4d92b573078e72134607-22" name="rest_code_9260a4c9af2a4d92b573078e72134607-22" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9260a4c9af2a4d92b573078e72134607-22"></a><span class="w"> </span>-rm<span class="w"> </span>*.pdf<span class="w"> </span>*.html<span class="w"> </span>*.ms<span class="w"> </span>*.ctx<span class="w"> </span>*.ltx<span class="w"> </span>*.native<span class="w"> </span>os.version<span class="w"> </span>*-out.rst
</pre></div>
<p>When I'm doing an issue the result is a <a class="reference external" href="https://github.github.com/gfm/">GFM</a> file that I can cut and
paste into the editor used for issues on GitHub, which expects <a class="reference external" href="https://github.github.com/gfm/">GFM</a>.
I write it in <a class="reference external" href="https://docutils.sourceforge.io/rst.html">reST</a> because that can include files and processing from
<a class="reference external" href="https://docutils.sourceforge.io/rst.html">reST</a> to <a class="reference external" href="https://github.github.com/gfm/">GFM</a> does the inclusion, so I don't have to do it by hand.</p>
<p>Here's an example <a class="reference external" href="https://github.com/jgm/pandoc/issues/6592">issue</a>, "Reference Not Found Error #6592" on the
pandoc <a class="reference external" href="https://github.com/jgm/pandoc">repository</a>.</p>
<p>The problem <a class="reference external" href="https://docutils.sourceforge.io/rst.html">reST</a> file <span class="file">rnf.rst</span> is</p>
<div class="code"><pre class="code ReST"><a id="rest_code_ad6c5db11c5945b09a449eea7a47dce3-1" name="rest_code_ad6c5db11c5945b09a449eea7a47dce3-1" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_ad6c5db11c5945b09a449eea7a47dce3-1"></a> <span class="gs">**Option:**</span> Arachnaurs' webs are made with a neurotoxin_ that can
<a id="rest_code_ad6c5db11c5945b09a449eea7a47dce3-2" name="rest_code_ad6c5db11c5945b09a449eea7a47dce3-2" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_ad6c5db11c5945b09a449eea7a47dce3-2"></a> quickly paralyze their prey! When wrapped in a web, make a Vigor
<a id="rest_code_ad6c5db11c5945b09a449eea7a47dce3-3" name="rest_code_ad6c5db11c5945b09a449eea7a47dce3-3" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_ad6c5db11c5945b09a449eea7a47dce3-3"></a> roll or quickly lose consciousness.
<a id="rest_code_ad6c5db11c5945b09a449eea7a47dce3-4" name="rest_code_ad6c5db11c5945b09a449eea7a47dce3-4" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_ad6c5db11c5945b09a449eea7a47dce3-4"></a>
<a id="rest_code_ad6c5db11c5945b09a449eea7a47dce3-5" name="rest_code_ad6c5db11c5945b09a449eea7a47dce3-5" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_ad6c5db11c5945b09a449eea7a47dce3-5"></a><span class="p"> ..</span> <span class="nt">_neurotoxin:</span> https://www.sciencenews.org/article/spiders-poisonous-webs-neuro-toxins-genes
</pre></div>
<p>(The contents of the actual file are all indented 3 spaces, but I had
to prefix all the lines in the code block in this source with the
Unicode <a class="reference external" href="https://en.wikipedia.org/wiki/Zero-width_space">ZERO WIDTH SPACE</a> so the indentation would show.)</p>
<p>The issue <a class="reference external" href="https://docutils.sourceforge.io/rst.html">reST</a> file <span class="file">rnf-issue.rst</span> is</p>
<div class="code"><pre class="code ReST"><a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-1" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-1" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-1"></a>Reference Not Found Error
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-2" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-2" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-2"></a>@@@@@@@@@@@@@@@@@@@@@@@@@
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-3" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-3" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-3"></a>
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-4" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-4" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-4"></a>When I process the following reST file (notice it the whole file is
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-5" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-5" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-5"></a>indented 3 spaces)
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-6" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-6" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-6"></a>
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-7" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-7" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-7"></a><span class="p">..</span> <span class="ow">include</span><span class="p">::</span> rnf.rst
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-8" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-8" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-8"></a> <span class="nc">:code:</span>
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-9" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-9" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-9"></a>
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-10" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-10" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-10"></a>into <span class="s">``ms``</span> or PDF via <span class="s">``ms``</span> output with the command
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-11" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-11" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-11"></a>
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-12" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-12" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-12"></a><span class="p">..</span> <span class="ow">code</span><span class="p">::</span>
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-13" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-13" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-13"></a>
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-14" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-14" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-14"></a> pandoc -s -r rst -w ms -o rnf.ms.pdf rnf.rst
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-15" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-15" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-15"></a>
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-16" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-16" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-16"></a>
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-17" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-17" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-17"></a>I get the errors
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-18" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-18" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-18"></a>
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-19" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-19" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-19"></a><span class="p">..</span> <span class="ow">code</span><span class="p">::</span>
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-20" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-20" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-20"></a>
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-21" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-21" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-21"></a> [WARNING] Reference not found for 'neurotoxin' at chunk line 1 column 57
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-22" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-22" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-22"></a> <standard input>:70: macro error: pdfhref has no destination
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-23" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-23" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-23"></a>
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-24" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-24" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-24"></a>and the resulting output PDF file and <span class="s">``.ms``</span> file indeed do not
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-25" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-25" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-25"></a>have the link.
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-26" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-26" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-26"></a>
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-27" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-27" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-27"></a>Here's the <span class="s">``.ms``</span> file that was generated:
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-28" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-28" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-28"></a>
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-29" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-29" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-29"></a><span class="p">..</span> <span class="ow">include</span><span class="p">::</span> rnf.ms
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-30" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-30" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-30"></a> <span class="nc">:code:</span>
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-31" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-31" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-31"></a>
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-32" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-32" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-32"></a>I'm using the following version of Pandoc:
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-33" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-33" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-33"></a>
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-34" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-34" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-34"></a><span class="p">..</span> <span class="ow">include</span><span class="p">::</span> pandoc.version
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-35" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-35" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-35"></a> <span class="nc">:code:</span>
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-36" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-36" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-36"></a>
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-37" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-37" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-37"></a>My OS information is:
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-38" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-38" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-38"></a>
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-39" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-39" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-39"></a><span class="p">..</span> <span class="ow">include</span><span class="p">::</span> os.version
<a id="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-40" name="rest_code_4416f9f284bd4d59a1a280c974e6d3cb-40" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_4416f9f284bd4d59a1a280c974e6d3cb-40"></a> <span class="nc">:code:</span>
</pre></div>
<p>The generated <a class="reference external" href="https://github.github.com/gfm/">GFM</a> is</p>
<div class="code"><pre class="code text"><a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-1" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-1" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-1"></a>Reference Not Found Error
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-2" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-2" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-2"></a>=========================
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-3" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-3" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-3"></a>
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-4" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-4" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-4"></a>When I process the following reST file (notice it the whole file is
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-5" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-5" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-5"></a>indented 3 spaces)
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-6" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-6" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-6"></a>
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-7" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-7" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-7"></a> **Option:** Arachnaurs' webs are made with a neurotoxin_ that can
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-8" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-8" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-8"></a> quickly paralyze their prey! When wrapped in a web, make a Vigor
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-9" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-9" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-9"></a> roll or quickly lose consciousness.
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-10" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-10" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-10"></a>
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-11" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-11" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-11"></a> .. _neurotoxin: https://www.sciencenews.org/article/spiders-poisonous-webs-neuro-toxins-genes
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-12" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-12" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-12"></a>
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-13" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-13" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-13"></a>into `ms` or PDF via `ms` output with the command
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-14" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-14" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-14"></a>
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-15" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-15" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-15"></a> pandoc -s -r rst -w ms -o rnf.ms.pdf rnf.rst
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-16" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-16" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-16"></a>
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-17" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-17" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-17"></a>I get the errors
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-18" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-18" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-18"></a>
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-19" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-19" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-19"></a> [WARNING] Reference not found for 'neurotoxin' at chunk line 1 column 57
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-20" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-20" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-20"></a> <standard input>:70: macro error: pdfhref has no destination
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-21" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-21" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-21"></a>
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-22" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-22" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-22"></a>and the resulting output PDF file and `.ms` file indeed do not have the
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-23" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-23" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-23"></a>link.
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-24" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-24" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-24"></a>
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-25" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-25" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-25"></a>Here's the `.ms` file that was generated:
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-26" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-26" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-26"></a>
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-27" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-27" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-27"></a> .QS
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-28" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-28" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-28"></a> .LP
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-29" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-29" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-29"></a> \f[B]Option:\f[R] Arachnaurs\[aq] webs are made with a \c
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-30" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-30" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-30"></a> .pdfhref W -D "" -A "\c" \
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-31" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-31" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-31"></a> -- "neurotoxin"
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-32" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-32" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-32"></a> \& that can quickly paralyze their prey! When wrapped in a web, make a
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-33" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-33" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-33"></a> Vigor roll or quickly lose consciousness.
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-34" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-34" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-34"></a> .QE
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-35" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-35" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-35"></a>
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-36" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-36" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-36"></a>I'm using the following version of Pandoc:
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-37" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-37" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-37"></a>
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-38" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-38" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-38"></a> pandoc 2.10.1
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-39" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-39" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-39"></a> Compiled with pandoc-types 1.21, texmath 0.12.0.2, skylighting 0.8.5
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-40" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-40" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-40"></a>
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-41" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-41" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-41"></a>My OS information is:
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-42" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-42" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-42"></a>
<a id="rest_code_cd91b32f445141a1ad41a50ea66c6895-43" name="rest_code_cd91b32f445141a1ad41a50ea66c6895-43" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_cd91b32f445141a1ad41a50ea66c6895-43"></a> Mac OS X, Version 10.15.6, Build 19G73
</pre></div>
<p>Here is the <span class="file">GNUmakefile</span> for it:</p>
<div class="code"><pre class="code makefile"><a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-1" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-1" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-1"></a><span class="nf">all</span><span class="o">:</span><span class="w"> </span><span class="n">rnf</span>-<span class="n">issue</span>.<span class="n">gfm</span> <span class="n">rnf</span>-<span class="n">issue</span>.<span class="n">html</span> <span class="n">rnf</span>-<span class="n">issue</span>.<span class="n">gfm</span>.<span class="n">html</span> <span class="n">rnf</span>.<span class="n">ms</span>.<span class="n">pdf</span> <span class="n">rnf</span>.<span class="n">ms</span>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-2" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-2" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-2"></a>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-3" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-3" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-3"></a><span class="nf">rnf-issue.html rnf-issue.gfm rnf-issue.gfm.html</span><span class="o">:</span><span class="w"> </span><span class="n">rnf</span>.<span class="n">rst</span> \
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-4" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-4" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-4"></a> <span class="n">pandoc</span>.<span class="n">version</span> <span class="n">os</span>.<span class="n">version</span>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-5" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-5" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-5"></a>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-6" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-6" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-6"></a><span class="nf">.PRECIOUS</span><span class="o">:</span><span class="w"> </span><span class="n">rnf</span>-<span class="n">issue</span>.<span class="n">gfm</span>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-7" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-7" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-7"></a>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-8" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-8" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-8"></a>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-9" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-9" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-9"></a><span class="nf">pandoc.version</span><span class="o">:</span><span class="w"> </span><span class="k">$(</span><span class="nv">shell</span> <span class="nv">type</span> <span class="nv">-p</span> <span class="nv">pandoc</span><span class="k">)</span>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-10" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-10" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-10"></a><span class="w"> </span>pandoc<span class="w"> </span>--version<span class="w"> </span><span class="p">|</span><span class="w"> </span>head<span class="w"> </span>-2<span class="w"> </span>><span class="nv">$@</span>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-11" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-11" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-11"></a><span class="nf">os.version</span><span class="o">:</span>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-12" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-12" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-12"></a><span class="w"> </span>osinfo<span class="w"> </span>><span class="nv">$@</span>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-13" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-13" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-13"></a>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-14" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-14" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-14"></a><span class="nf">%.ms </span><span class="o">:</span><span class="w"> </span>%.<span class="n">rst</span>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-15" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-15" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-15"></a><span class="w"> </span>pandoc<span class="w"> </span>-r<span class="w"> </span>rst<span class="w"> </span>-w<span class="w"> </span>ms<span class="w"> </span>-o<span class="w"> </span><span class="nv">$@</span><span class="w"> </span>$<
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-16" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-16" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-16"></a>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-17" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-17" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-17"></a><span class="nf">%.ms.pdf </span><span class="o">:</span><span class="w"> </span>%.<span class="n">rst</span>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-18" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-18" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-18"></a><span class="w"> </span>pandoc<span class="w"> </span>-s<span class="w"> </span>-r<span class="w"> </span>rst<span class="w"> </span>-w<span class="w"> </span>ms<span class="w"> </span>-o<span class="w"> </span><span class="nv">$@</span><span class="w"> </span>$<
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-19" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-19" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-19"></a>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-20" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-20" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-20"></a><span class="nf">%.html </span><span class="o">:</span><span class="w"> </span>%.<span class="n">rst</span>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-21" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-21" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-21"></a><span class="w"> </span>pandoc<span class="w"> </span>-s<span class="w"> </span>-r<span class="w"> </span>rst<span class="w"> </span>-w<span class="w"> </span>html<span class="w"> </span>-H<span class="w"> </span>fancy.style<span class="w"> </span>--output<span class="o">=</span><span class="nv">$@</span><span class="w"> </span>$<
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-22" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-22" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-22"></a>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-23" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-23" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-23"></a><span class="nf">%-pandoc.html </span><span class="o">:</span><span class="w"> </span>%.<span class="n">rst</span>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-24" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-24" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-24"></a><span class="w"> </span>pandoc<span class="w"> </span>-r<span class="w"> </span>rst<span class="w"> </span>-w<span class="w"> </span>html<span class="w"> </span>--output<span class="o">=</span><span class="nv">$@</span><span class="w"> </span>$<
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-25" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-25" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-25"></a>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-26" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-26" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-26"></a><span class="nf">%-docutils.html</span><span class="o">:</span><span class="w"> </span>%.<span class="n">rst</span>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-27" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-27" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-27"></a><span class="w"> </span>rst2html.py<span class="w"> </span>$<<span class="w"> </span><span class="p">|</span><span class="w"> </span>sed<span class="w"> </span><span class="s1">'1,/^<div class="document">/d'</span><span class="w"> </span><span class="p">|</span><span class="w"> </span>sed<span class="w"> </span>-e<span class="w"> </span><span class="s1">'1,2d'</span><span class="w"> </span>-e<span class="w"> </span><span class="s1">'\%</div>%,$$d'</span><span class="w"> </span>><span class="nv">$@</span>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-28" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-28" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-28"></a>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-29" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-29" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-29"></a><span class="nf">%.gfm </span><span class="o">:</span><span class="w"> </span>%.<span class="n">rst</span>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-30" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-30" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-30"></a><span class="w"> </span>pandoc<span class="w"> </span>-r<span class="w"> </span>rst<span class="w"> </span>-w<span class="w"> </span>gfm<span class="w"> </span>-o<span class="w"> </span><span class="nv">$@</span><span class="w"> </span>$<
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-31" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-31" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-31"></a>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-32" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-32" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-32"></a><span class="nf">%.gfm.html </span><span class="o">:</span><span class="w"> </span>%.<span class="n">gfm</span>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-33" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-33" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-33"></a><span class="w"> </span>pandoc<span class="w"> </span>-s<span class="w"> </span>-r<span class="w"> </span>gfm<span class="w"> </span>-w<span class="w"> </span>html<span class="w"> </span>-H<span class="w"> </span>fancy.style<span class="w"> </span>-o<span class="w"> </span><span class="nv">$@</span><span class="w"> </span>$<
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-34" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-34" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-34"></a>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-35" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-35" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-35"></a><span class="nf">.PHONY</span><span class="o">:</span><span class="w"> </span><span class="n">clean</span>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-36" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-36" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-36"></a>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-37" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-37" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-37"></a><span class="nf">clean</span><span class="o">:</span>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-38" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-38" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-38"></a><span class="w"> </span>-rm<span class="w"> </span>*.html<span class="w"> </span>*.native<span class="w"> </span>os.version<span class="w"> </span>pandoc.version<span class="w"> </span>docutils.version<span class="w"> </span>*.gfm
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-39" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-39" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-39"></a>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-40" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-40" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-40"></a><span class="nf">.depend</span><span class="o">:</span><span class="w"> </span><span class="n">rnf</span>-<span class="n">issue</span>.<span class="n">rst</span>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-41" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-41" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-41"></a><span class="w"> </span>rst-depends<span class="w"> </span>rnf-issue.rst<span class="w"> </span>><span class="nv">$@</span>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-42" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-42" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-42"></a>
<a id="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-43" name="rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-43" href="https://tkurtbond.github.io/posts/2020/08/05/how-i-author-e-mails-to-pandoc-discuss-and-issues-on-the-pandoc-repo/#rest_code_9c10c4532e0e40c1b0c45ad6fb9a9b2f-43"></a><span class="cp">include .depend</span>
</pre></div>
<p>This may seem complex, but in practice I use templates to start out
all the files and by building it all with <span class="program">make</span> and <a class="reference external" href="https://pandoc.org">pandoc</a>
using the <code class="docutils literal">include</code> directive of <a class="reference external" href="https://docutils.sourceforge.io/rst.html">reST</a> I ensure that the contents of
the message are correctly built from the various included files.</p>
Line number anchors in pandoc's HTML output for codeblocks with highlighting mess up Gmail text/plain multipart alternative
https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/
2020-07-05T18:48:44-04:00
2020-07-05T18:48:44-04:00
T. Kurt Bond
<p>I’ve found that if I write something in <a class="reference external" href="https://docutils.sourceforge.io/rst.html">ReStructuredText</a>, create HTML
from it and embed a stylesheet with the proper css in the
<span class="file">.html</span> file using <a class="reference external" href="https://pandoc.org/">pandoc</a>’s <code class="docutils literal"><span class="pre">--include-in-header</span></code> option that
I can cut and paste from the web page displayed in my browser from
that HTML directly into gmail, and things like code blocks and literal
text will have the nice surrounded by a box, light gray background
formatting that carries over to <a class="reference external" href="https://www.google.com/gmail/">Gmail</a>. That's nice because Gmail's
native formatting is a … minimalist user experience.</p>
<p>However, I've found that if I use the <code class="docutils literal">.. include::</code> directive with
the <code class="docutils literal">:code:</code> option (which basically makes it a code block) and
specify a language for highlighting with an argument to the <code class="docutils literal">:code:</code>
option that the text/html part in the resulting multipart/alternative
e-mail displays fine in Gmail (and probably other <a class="reference external" href="https://en.wikipedia.org/wiki/Email_client">mail user agent</a>s
that display the HTML part; <a class="reference external" href="http://www.mew.org/en/">Mew</a> in Emacs works too), but the
<code class="docutils literal">text/plain</code> part is messed up, with weird HTML-like tags in the
plain text. <a class="footnote-reference brackets" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#plain-code-directive" id="footnote-reference-1" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a></p>
<p>For instance, suppose I have the following RST source for the message
I want to write (<span class="file">missing-ampersand.rst</span>):</p>
<div class="code"><pre class="code restructuredtext"><a id="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-1" name="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-1" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-1"></a><span class="nc">:title:</span> Missing Ampersand in Code Blocks in <span class="s">``-ms``</span> Output
<a id="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-2" name="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-2" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-2"></a>
<a id="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-3" name="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-3" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-3"></a>Here's some ReStructuredText input that has a code block in it:
<a id="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-4" name="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-4" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-4"></a>
<a id="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-5" name="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-5" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-5"></a><span class="p">..</span> <span class="ow">include</span><span class="p">::</span> ma.rst
<a id="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-6" name="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-6" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-6"></a> <span class="nc">:code:</span> restructuredtext
<a id="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-7" name="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-7" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-7"></a>
<a id="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-8" name="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-8" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-8"></a>Here's the <span class="s">``-ms``</span> output from it:
<a id="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-9" name="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-9" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-9"></a>
<a id="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-10" name="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-10" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-10"></a><span class="p">..</span> <span class="ow">include</span><span class="p">::</span> ma-rst.ms
<a id="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-11" name="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-11" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-11"></a> <span class="nc">:code:</span> nroff
<a id="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-12" name="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-12" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-12"></a>
<a id="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-13" name="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-13" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-13"></a>See the first line that starts with <span class="s">``.. container::``</span>? That line
<a id="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-14" name="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-14" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-14"></a>should start with <span class="s">``\&``</span> so it isn't interpreted as an <span class="gs">**roff**</span>
<a id="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-15" name="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-15" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-15"></a>command. As it is, when you build the PDF output from output that
<a id="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-16" name="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-16" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-16"></a>line disappears entirely with no warning to the user. (The default
<a id="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-17" name="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-17" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-17"></a>for <span class="gs">**roff**</span> processors like <span class="gs">**groff**</span> is to ignore unknown commands.)
<a id="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-18" name="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-18" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-18"></a>
<a id="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-19" name="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-19" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-19"></a>See the second line that starts with <span class="s">``.. container::``</span>? That line
<a id="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-20" name="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-20" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-20"></a><span class="gs">**does**</span> start with <span class="s">``\&``</span>. It makes it through fine. The other
<a id="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-21" name="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-21" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-21"></a>lines whose first non-whitespace character is <span class="s">``.``</span> make it through
<a id="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-22" name="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-22" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-22"></a>fine because to make it a <span class="gs">**roff**</span> command the first character on the
<a id="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-23" name="rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-23" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_f1e8ac6a91f0459fab325aa84bd6f9b8-23"></a>line has to be a period.
</pre></div>
<p>where the included <a class="reference external" href="https://docutils.sourceforge.io/rst.html">ReStructuredText</a> file (<span class="file">ma.rst</span>) is</p>
<div class="code"><pre class="code restructuredtext"><a id="rest_code_79ff452d36ce48729ee07b3080647038-1" name="rest_code_79ff452d36ce48729ee07b3080647038-1" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_79ff452d36ce48729ee07b3080647038-1"></a>Missing Ampersand in Code Block -ms output
<a id="rest_code_79ff452d36ce48729ee07b3080647038-2" name="rest_code_79ff452d36ce48729ee07b3080647038-2" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_79ff452d36ce48729ee07b3080647038-2"></a>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
<a id="rest_code_79ff452d36ce48729ee07b3080647038-3" name="rest_code_79ff452d36ce48729ee07b3080647038-3" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_79ff452d36ce48729ee07b3080647038-3"></a>
<a id="rest_code_79ff452d36ce48729ee07b3080647038-4" name="rest_code_79ff452d36ce48729ee07b3080647038-4" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_79ff452d36ce48729ee07b3080647038-4"></a>Here's a code block containing ReStructuredText:
<a id="rest_code_79ff452d36ce48729ee07b3080647038-5" name="rest_code_79ff452d36ce48729ee07b3080647038-5" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_79ff452d36ce48729ee07b3080647038-5"></a>
<a id="rest_code_79ff452d36ce48729ee07b3080647038-6" name="rest_code_79ff452d36ce48729ee07b3080647038-6" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_79ff452d36ce48729ee07b3080647038-6"></a><span class="p">..</span> <span class="ow">code</span><span class="p">::</span>
<a id="rest_code_79ff452d36ce48729ee07b3080647038-7" name="rest_code_79ff452d36ce48729ee07b3080647038-7" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_79ff452d36ce48729ee07b3080647038-7"></a>
<a id="rest_code_79ff452d36ce48729ee07b3080647038-8" name="rest_code_79ff452d36ce48729ee07b3080647038-8" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_79ff452d36ce48729ee07b3080647038-8"></a><span class="p"> ..</span> <span class="ow">container</span><span class="p">::</span> for-format ms
<a id="rest_code_79ff452d36ce48729ee07b3080647038-9" name="rest_code_79ff452d36ce48729ee07b3080647038-9" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_79ff452d36ce48729ee07b3080647038-9"></a>
<a id="rest_code_79ff452d36ce48729ee07b3080647038-10" name="rest_code_79ff452d36ce48729ee07b3080647038-10" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_79ff452d36ce48729ee07b3080647038-10"></a><span class="p"> ..</span> <span class="ow">figure</span><span class="p">::</span> davesmapper-2017-04-10-caves-4-numbered.eps
<a id="rest_code_79ff452d36ce48729ee07b3080647038-11" name="rest_code_79ff452d36ce48729ee07b3080647038-11" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_79ff452d36ce48729ee07b3080647038-11"></a> <span class="nc">:alt:</span> Map of Bandit's Cave
<a id="rest_code_79ff452d36ce48729ee07b3080647038-12" name="rest_code_79ff452d36ce48729ee07b3080647038-12" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_79ff452d36ce48729ee07b3080647038-12"></a>
<a id="rest_code_79ff452d36ce48729ee07b3080647038-13" name="rest_code_79ff452d36ce48729ee07b3080647038-13" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_79ff452d36ce48729ee07b3080647038-13"></a> Map of Bandit's Cave
<a id="rest_code_79ff452d36ce48729ee07b3080647038-14" name="rest_code_79ff452d36ce48729ee07b3080647038-14" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_79ff452d36ce48729ee07b3080647038-14"></a>
<a id="rest_code_79ff452d36ce48729ee07b3080647038-15" name="rest_code_79ff452d36ce48729ee07b3080647038-15" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_79ff452d36ce48729ee07b3080647038-15"></a><span class="p"> ..</span> <span class="ow">container</span><span class="p">::</span> for-format html latex context epub
<a id="rest_code_79ff452d36ce48729ee07b3080647038-16" name="rest_code_79ff452d36ce48729ee07b3080647038-16" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_79ff452d36ce48729ee07b3080647038-16"></a>
<a id="rest_code_79ff452d36ce48729ee07b3080647038-17" name="rest_code_79ff452d36ce48729ee07b3080647038-17" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_79ff452d36ce48729ee07b3080647038-17"></a><span class="p"> ..</span> <span class="ow">figure</span><span class="p">::</span> davesmapper-2017-04-10-caves-4-numbered.png
<a id="rest_code_79ff452d36ce48729ee07b3080647038-18" name="rest_code_79ff452d36ce48729ee07b3080647038-18" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_79ff452d36ce48729ee07b3080647038-18"></a> <span class="nc">:alt:</span> Map of Bandit's Cave
<a id="rest_code_79ff452d36ce48729ee07b3080647038-19" name="rest_code_79ff452d36ce48729ee07b3080647038-19" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_79ff452d36ce48729ee07b3080647038-19"></a>
<a id="rest_code_79ff452d36ce48729ee07b3080647038-20" name="rest_code_79ff452d36ce48729ee07b3080647038-20" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_79ff452d36ce48729ee07b3080647038-20"></a> Map of Bandit's Cave
<a id="rest_code_79ff452d36ce48729ee07b3080647038-21" name="rest_code_79ff452d36ce48729ee07b3080647038-21" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_79ff452d36ce48729ee07b3080647038-21"></a>
<a id="rest_code_79ff452d36ce48729ee07b3080647038-22" name="rest_code_79ff452d36ce48729ee07b3080647038-22" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_79ff452d36ce48729ee07b3080647038-22"></a>How's that look?
</pre></div>
<p>and the included roff source file (<span class="file">ms-rst.ms</span>) is</p>
<div class="code"><pre class="code groff"><a id="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-1" name="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-1" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-1"></a>.<span class="k">SH</span> <span class="m">1</span>
<a id="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-2" name="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-2" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-2"></a>Missing Ampersand in Code Block -ms output
<a id="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-3" name="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-3" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-3"></a>.<span class="k">pdfhref</span> <span class="s">O</span> <span class="m">1</span> <span class="s2">"Missing Ampersand in Code Block -ms output"</span>
<a id="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-4" name="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-4" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-4"></a>.<span class="k">pdfhref</span> <span class="s">M</span> <span class="s2">"missing-ampersand-in-code-block--ms-output"</span>
<a id="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-5" name="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-5" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-5"></a>.<span class="k">LP</span>
<a id="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-6" name="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-6" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-6"></a>Here<span class="se">\[</span>aq]s a code block containing ReStructuredText:
<a id="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-7" name="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-7" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-7"></a>.<span class="k">IP</span>
<a id="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-8" name="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-8" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-8"></a>.<span class="k">nf</span>
<a id="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-9" name="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-9" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-9"></a><span class="se">\f[C]</span>
<a id="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-10" name="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-10" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-10"></a><span class="p">.</span><span class="s">.</span> <span class="s">container::</span> <span class="s">for-format</span> <span class="s">ms</span>
<a id="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-11" name="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-11" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-11"></a>
<a id="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-12" name="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-12" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-12"></a> .. figure:: davesmapper-2017-04-10-caves-4-numbered.eps
<a id="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-13" name="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-13" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-13"></a> :alt: Map of Bandit<span class="se">\[</span>aq]s Cave
<a id="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-14" name="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-14" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-14"></a>
<a id="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-15" name="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-15" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-15"></a> Map of Bandit<span class="se">\[</span>aq]s Cave
<a id="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-16" name="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-16" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-16"></a>
<a id="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-17" name="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-17" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-17"></a><span class="se">\&</span>.. container:: for-format html latex context epub
<a id="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-18" name="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-18" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-18"></a>
<a id="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-19" name="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-19" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-19"></a> .. figure:: davesmapper-2017-04-10-caves-4-numbered.png
<a id="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-20" name="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-20" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-20"></a> :alt: Map of Bandit<span class="se">\[</span>aq]s Cave
<a id="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-21" name="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-21" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-21"></a>
<a id="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-22" name="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-22" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-22"></a> Map of Bandit<span class="se">\[</span>aq]s Cave
<a id="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-23" name="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-23" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-23"></a><span class="se">\f[]</span>
<a id="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-24" name="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-24" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-24"></a>.<span class="k">fi</span>
<a id="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-25" name="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-25" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-25"></a>.<span class="k">LP</span>
<a id="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-26" name="rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-26" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4c6ecfa325e64b45a7adb77ff4077fa9-26"></a>How<span class="se">\[</span>aq]s that look?
</pre></div>
<p>Then the resulting HTML output for the first code block <a class="footnote-reference brackets" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#toolong" id="footnote-reference-2" role="doc-noteref"><span class="fn-bracket">[</span>2<span class="fn-bracket">]</span></a> is:</p>
<div class="code"><pre class="code html"><a id="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-1" name="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-1" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-1"></a><span class="p"><</span><span class="nt">div</span> <span class="na">class</span><span class="o">=</span><span class="s">"sourceCode"</span> <span class="na">id</span><span class="o">=</span><span class="s">"cb1"</span><span class="p">><</span><span class="nt">pre</span> <span class="na">class</span><span class="o">=</span><span class="s">"sourceCode restructuredtext"</span><span class="p">><</span><span class="nt">code</span> <span class="na">class</span><span class="o">=</span><span class="s">"sourceCode rest"</span><span class="p">><</span><span class="nt">span</span> <span class="na">id</span><span class="o">=</span><span class="s">"cb1-1"</span><span class="p">><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"#cb1-1"</span><span class="p">></</span><span class="nt">a</span><span class="p">></span>Missing Ampersand in Code Block -ms output<span class="p"></</span><span class="nt">span</span><span class="p">></span>
<a id="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-2" name="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-2" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-2"></a><span class="p"><</span><span class="nt">span</span> <span class="na">id</span><span class="o">=</span><span class="s">"cb1-2"</span><span class="p">><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"#cb1-2"</span><span class="p">></</span><span class="nt">a</span><span class="p">></span>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<span class="p"></</span><span class="nt">span</span><span class="p">></span>
<a id="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-3" name="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-3" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-3"></a><span class="p"><</span><span class="nt">span</span> <span class="na">id</span><span class="o">=</span><span class="s">"cb1-3"</span><span class="p">><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"#cb1-3"</span><span class="p">></</span><span class="nt">a</span><span class="p">></</span><span class="nt">span</span><span class="p">></span>
<a id="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-4" name="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-4" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-4"></a><span class="p"><</span><span class="nt">span</span> <span class="na">id</span><span class="o">=</span><span class="s">"cb1-4"</span><span class="p">><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"#cb1-4"</span><span class="p">></</span><span class="nt">a</span><span class="p">></span>Here<span class="ni">&#39;</span>s a code block containing ReStructuredText:<span class="p"></</span><span class="nt">span</span><span class="p">></span>
<a id="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-5" name="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-5" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-5"></a><span class="p"><</span><span class="nt">span</span> <span class="na">id</span><span class="o">=</span><span class="s">"cb1-5"</span><span class="p">><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"#cb1-5"</span><span class="p">></</span><span class="nt">a</span><span class="p">></</span><span class="nt">span</span><span class="p">></span>
<a id="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-6" name="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-6" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-6"></a><span class="p"><</span><span class="nt">span</span> <span class="na">id</span><span class="o">=</span><span class="s">"cb1-6"</span><span class="p">><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"#cb1-6"</span><span class="p">></</span><span class="nt">a</span><span class="p">><</span><span class="nt">span</span> <span class="na">class</span><span class="o">=</span><span class="s">"dt"</span><span class="p">></span>.. code::<span class="p"></</span><span class="nt">span</span><span class="p">></</span><span class="nt">span</span><span class="p">></span>
<a id="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-7" name="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-7" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-7"></a><span class="p"><</span><span class="nt">span</span> <span class="na">id</span><span class="o">=</span><span class="s">"cb1-7"</span><span class="p">><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"#cb1-7"</span><span class="p">></</span><span class="nt">a</span><span class="p">></</span><span class="nt">span</span><span class="p">></span>
<a id="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-8" name="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-8" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-8"></a><span class="p"><</span><span class="nt">span</span> <span class="na">id</span><span class="o">=</span><span class="s">"cb1-8"</span><span class="p">><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"#cb1-8"</span><span class="p">></</span><span class="nt">a</span><span class="p">><</span><span class="nt">span</span> <span class="na">class</span><span class="o">=</span><span class="s">"dt"</span><span class="p">></span> .. container:: for-format ms<span class="p"></</span><span class="nt">span</span><span class="p">></</span><span class="nt">span</span><span class="p">></span>
<a id="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-9" name="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-9" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-9"></a><span class="p"><</span><span class="nt">span</span> <span class="na">id</span><span class="o">=</span><span class="s">"cb1-9"</span><span class="p">><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"#cb1-9"</span><span class="p">></</span><span class="nt">a</span><span class="p">></</span><span class="nt">span</span><span class="p">></span>
<a id="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-10" name="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-10" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-10"></a><span class="p"><</span><span class="nt">span</span> <span class="na">id</span><span class="o">=</span><span class="s">"cb1-10"</span><span class="p">><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"#cb1-10"</span><span class="p">></</span><span class="nt">a</span><span class="p">><</span><span class="nt">span</span> <span class="na">class</span><span class="o">=</span><span class="s">"dt"</span><span class="p">></span> .. figure:: davesmapper-2017-04-10-caves-4-numbered.eps<span class="p"></</span><span class="nt">span</span><span class="p">></</span><span class="nt">span</span><span class="p">></span>
<a id="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-11" name="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-11" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-11"></a><span class="p"><</span><span class="nt">span</span> <span class="na">id</span><span class="o">=</span><span class="s">"cb1-11"</span><span class="p">><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"#cb1-11"</span><span class="p">></</span><span class="nt">a</span><span class="p">><</span><span class="nt">span</span> <span class="na">class</span><span class="o">=</span><span class="s">"dt"</span><span class="p">></span> :alt: Map of Bandit<span class="ni">&#39;</span>s Cave<span class="p"></</span><span class="nt">span</span><span class="p">></</span><span class="nt">span</span><span class="p">></span>
<a id="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-12" name="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-12" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-12"></a><span class="p"><</span><span class="nt">span</span> <span class="na">id</span><span class="o">=</span><span class="s">"cb1-12"</span><span class="p">><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"#cb1-12"</span><span class="p">></</span><span class="nt">a</span><span class="p">></</span><span class="nt">span</span><span class="p">></span>
<a id="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-13" name="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-13" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-13"></a><span class="p"><</span><span class="nt">span</span> <span class="na">id</span><span class="o">=</span><span class="s">"cb1-13"</span><span class="p">><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"#cb1-13"</span><span class="p">></</span><span class="nt">a</span><span class="p">><</span><span class="nt">span</span> <span class="na">class</span><span class="o">=</span><span class="s">"dt"</span><span class="p">></span> Map of Bandit<span class="ni">&#39;</span>s Cave<span class="p"></</span><span class="nt">span</span><span class="p">></</span><span class="nt">span</span><span class="p">></span>
<a id="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-14" name="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-14" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-14"></a><span class="p"><</span><span class="nt">span</span> <span class="na">id</span><span class="o">=</span><span class="s">"cb1-14"</span><span class="p">><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"#cb1-14"</span><span class="p">></</span><span class="nt">a</span><span class="p">></</span><span class="nt">span</span><span class="p">></span>
<a id="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-15" name="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-15" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-15"></a><span class="p"><</span><span class="nt">span</span> <span class="na">id</span><span class="o">=</span><span class="s">"cb1-15"</span><span class="p">><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"#cb1-15"</span><span class="p">></</span><span class="nt">a</span><span class="p">><</span><span class="nt">span</span> <span class="na">class</span><span class="o">=</span><span class="s">"dt"</span><span class="p">></span> .. container:: for-format html latex context epub<span class="p"></</span><span class="nt">span</span><span class="p">></</span><span class="nt">span</span><span class="p">></span>
<a id="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-16" name="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-16" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-16"></a><span class="p"><</span><span class="nt">span</span> <span class="na">id</span><span class="o">=</span><span class="s">"cb1-16"</span><span class="p">><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"#cb1-16"</span><span class="p">></</span><span class="nt">a</span><span class="p">></</span><span class="nt">span</span><span class="p">></span>
<a id="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-17" name="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-17" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-17"></a><span class="p"><</span><span class="nt">span</span> <span class="na">id</span><span class="o">=</span><span class="s">"cb1-17"</span><span class="p">><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"#cb1-17"</span><span class="p">></</span><span class="nt">a</span><span class="p">><</span><span class="nt">span</span> <span class="na">class</span><span class="o">=</span><span class="s">"dt"</span><span class="p">></span> .. figure:: davesmapper-2017-04-10-caves-4-numbered.png<span class="p"></</span><span class="nt">span</span><span class="p">></</span><span class="nt">span</span><span class="p">></span>
<a id="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-18" name="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-18" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-18"></a><span class="p"><</span><span class="nt">span</span> <span class="na">id</span><span class="o">=</span><span class="s">"cb1-18"</span><span class="p">><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"#cb1-18"</span><span class="p">></</span><span class="nt">a</span><span class="p">><</span><span class="nt">span</span> <span class="na">class</span><span class="o">=</span><span class="s">"dt"</span><span class="p">></span> :alt: Map of Bandit<span class="ni">&#39;</span>s Cave<span class="p"></</span><span class="nt">span</span><span class="p">></</span><span class="nt">span</span><span class="p">></span>
<a id="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-19" name="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-19" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-19"></a><span class="p"><</span><span class="nt">span</span> <span class="na">id</span><span class="o">=</span><span class="s">"cb1-19"</span><span class="p">><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"#cb1-19"</span><span class="p">></</span><span class="nt">a</span><span class="p">></</span><span class="nt">span</span><span class="p">></span>
<a id="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-20" name="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-20" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-20"></a><span class="p"><</span><span class="nt">span</span> <span class="na">id</span><span class="o">=</span><span class="s">"cb1-20"</span><span class="p">><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"#cb1-20"</span><span class="p">></</span><span class="nt">a</span><span class="p">><</span><span class="nt">span</span> <span class="na">class</span><span class="o">=</span><span class="s">"dt"</span><span class="p">></span> Map of Bandit<span class="ni">&#39;</span>s Cave<span class="p"></</span><span class="nt">span</span><span class="p">></</span><span class="nt">span</span><span class="p">></span>
<a id="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-21" name="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-21" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-21"></a><span class="p"><</span><span class="nt">span</span> <span class="na">id</span><span class="o">=</span><span class="s">"cb1-21"</span><span class="p">><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"#cb1-21"</span><span class="p">></</span><span class="nt">a</span><span class="p">></</span><span class="nt">span</span><span class="p">></span>
<a id="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-22" name="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-22" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-22"></a><span class="p"><</span><span class="nt">span</span> <span class="na">id</span><span class="o">=</span><span class="s">"cb1-22"</span><span class="p">><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"#cb1-22"</span><span class="p">></</span><span class="nt">a</span><span class="p">></span>How<span class="ni">&#39;</span>s that look?<span class="p"></</span><span class="nt">span</span><span class="p">></span>
<a id="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-23" name="rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-23" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_09624ff6a88d4a4b99aa307fdfe58f8b-23"></a><span class="p"><</span><span class="nt">span</span> <span class="na">id</span><span class="o">=</span><span class="s">"cb1-23"</span><span class="p">><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"#cb1-23"</span><span class="p">></</span><span class="nt">a</span><span class="p">></</span><span class="nt">span</span><span class="p">></</span><span class="nt">code</span><span class="p">></</span><span class="nt">pre</span><span class="p">></</span><span class="nt">div</span><span class="p">></span>
</pre></div>
<p>And the HTML output for the second code block is:</p>
<div class="code"><pre class="code html"><a id="rest_code_4f4990ab36d84d208c412b3439657007-1" name="rest_code_4f4990ab36d84d208c412b3439657007-1" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-1"></a><span class="p"><</span><span class="nt">pre</span> <span class="na">class</span><span class="o">=</span><span class="s">"nroff"</span><span class="p">><</span><span class="nt">code</span><span class="p">></span>.SH 1
<a id="rest_code_4f4990ab36d84d208c412b3439657007-2" name="rest_code_4f4990ab36d84d208c412b3439657007-2" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-2"></a>Missing Ampersand in Code Block -ms output
<a id="rest_code_4f4990ab36d84d208c412b3439657007-3" name="rest_code_4f4990ab36d84d208c412b3439657007-3" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-3"></a>.pdfhref O 1 <span class="ni">&quot;</span>Missing Ampersand in Code Block -ms output<span class="ni">&quot;</span>
<a id="rest_code_4f4990ab36d84d208c412b3439657007-4" name="rest_code_4f4990ab36d84d208c412b3439657007-4" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-4"></a>.pdfhref M <span class="ni">&quot;</span>missing-ampersand-in-code-block--ms-output<span class="ni">&quot;</span>
<a id="rest_code_4f4990ab36d84d208c412b3439657007-5" name="rest_code_4f4990ab36d84d208c412b3439657007-5" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-5"></a>.LP
<a id="rest_code_4f4990ab36d84d208c412b3439657007-6" name="rest_code_4f4990ab36d84d208c412b3439657007-6" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-6"></a>Here\[aq]s a code block containing ReStructuredText:
<a id="rest_code_4f4990ab36d84d208c412b3439657007-7" name="rest_code_4f4990ab36d84d208c412b3439657007-7" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-7"></a>.IP
<a id="rest_code_4f4990ab36d84d208c412b3439657007-8" name="rest_code_4f4990ab36d84d208c412b3439657007-8" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-8"></a>.nf
<a id="rest_code_4f4990ab36d84d208c412b3439657007-9" name="rest_code_4f4990ab36d84d208c412b3439657007-9" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-9"></a>\f[C]
<a id="rest_code_4f4990ab36d84d208c412b3439657007-10" name="rest_code_4f4990ab36d84d208c412b3439657007-10" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-10"></a>.. container:: for-format ms
<a id="rest_code_4f4990ab36d84d208c412b3439657007-11" name="rest_code_4f4990ab36d84d208c412b3439657007-11" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-11"></a>
<a id="rest_code_4f4990ab36d84d208c412b3439657007-12" name="rest_code_4f4990ab36d84d208c412b3439657007-12" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-12"></a> .. figure:: davesmapper-2017-04-10-caves-4-numbered.eps
<a id="rest_code_4f4990ab36d84d208c412b3439657007-13" name="rest_code_4f4990ab36d84d208c412b3439657007-13" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-13"></a> :alt: Map of Bandit\[aq]s Cave
<a id="rest_code_4f4990ab36d84d208c412b3439657007-14" name="rest_code_4f4990ab36d84d208c412b3439657007-14" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-14"></a>
<a id="rest_code_4f4990ab36d84d208c412b3439657007-15" name="rest_code_4f4990ab36d84d208c412b3439657007-15" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-15"></a> Map of Bandit\[aq]s Cave
<a id="rest_code_4f4990ab36d84d208c412b3439657007-16" name="rest_code_4f4990ab36d84d208c412b3439657007-16" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-16"></a>
<a id="rest_code_4f4990ab36d84d208c412b3439657007-17" name="rest_code_4f4990ab36d84d208c412b3439657007-17" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-17"></a>\<span class="ni">&amp;</span>.. container:: for-format html latex context epub
<a id="rest_code_4f4990ab36d84d208c412b3439657007-18" name="rest_code_4f4990ab36d84d208c412b3439657007-18" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-18"></a>
<a id="rest_code_4f4990ab36d84d208c412b3439657007-19" name="rest_code_4f4990ab36d84d208c412b3439657007-19" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-19"></a> .. figure:: davesmapper-2017-04-10-caves-4-numbered.png
<a id="rest_code_4f4990ab36d84d208c412b3439657007-20" name="rest_code_4f4990ab36d84d208c412b3439657007-20" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-20"></a> :alt: Map of Bandit\[aq]s Cave
<a id="rest_code_4f4990ab36d84d208c412b3439657007-21" name="rest_code_4f4990ab36d84d208c412b3439657007-21" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-21"></a>
<a id="rest_code_4f4990ab36d84d208c412b3439657007-22" name="rest_code_4f4990ab36d84d208c412b3439657007-22" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-22"></a> Map of Bandit\[aq]s Cave
<a id="rest_code_4f4990ab36d84d208c412b3439657007-23" name="rest_code_4f4990ab36d84d208c412b3439657007-23" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-23"></a>\f[]
<a id="rest_code_4f4990ab36d84d208c412b3439657007-24" name="rest_code_4f4990ab36d84d208c412b3439657007-24" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-24"></a>.fi
<a id="rest_code_4f4990ab36d84d208c412b3439657007-25" name="rest_code_4f4990ab36d84d208c412b3439657007-25" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-25"></a>.LP
<a id="rest_code_4f4990ab36d84d208c412b3439657007-26" name="rest_code_4f4990ab36d84d208c412b3439657007-26" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-26"></a>How\[aq]s that look?
<a id="rest_code_4f4990ab36d84d208c412b3439657007-27" name="rest_code_4f4990ab36d84d208c412b3439657007-27" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-27"></a>
<a id="rest_code_4f4990ab36d84d208c412b3439657007-28" name="rest_code_4f4990ab36d84d208c412b3439657007-28" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_4f4990ab36d84d208c412b3439657007-28"></a><span class="p"></</span><span class="nt">code</span><span class="p">></</span><span class="nt">pre</span><span class="p">></span>
</pre></div>
<p>In the first code block you see a lot of HTML spans that look like this:</p>
<div class="code"><pre class="code html"><a id="rest_code_0e05d815e6fd498a8bcb36f9a254c006-1" name="rest_code_0e05d815e6fd498a8bcb36f9a254c006-1" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_0e05d815e6fd498a8bcb36f9a254c006-1"></a><span class="p"><</span><span class="nt">span</span> <span class="na">id</span><span class="o">=</span><span class="s">"cb1-3"</span><span class="p">><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">"#cb1-3"</span><span class="p">></</span><span class="nt">a</span><span class="p">></span>…<span class="p"></</span><span class="nt">span</span><span class="p">></span>
</pre></div>
<p>They appear to be anchors so you can link to a particular line in the
code block. When I displayed the HTML file in my browser (Google
Chrome), selected the text, and pasted it into the Gmail message
composition window in the message body area (except for the header
text, which I put in the Subject line text entry box instead) and it
looked fine, so I sent it.</p>
<p>But when I got a reply from someone who uses a <a class="reference external" href="https://en.wikipedia.org/wiki/Email_client">mail user agent</a>
that displays the <code class="docutils literal">text/plain</code> alternative that Gmail automatically
creates the supposedly plain text was this:</p>
<div class="code"><pre class="code text"><a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-1" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-1" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-1"></a>--000000000000360d1105a9a4da6e
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-2" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-2" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-2"></a>Content-Type: text/plain; charset="UTF-8"
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-3" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-3" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-3"></a>
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-4" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-4" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-4"></a>Here's some ReStructuredText input that has a code block in it:
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-5" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-5" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-5"></a>
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-6" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-6" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-6"></a> <#cb1-1>Missing Ampersand in Code Block -ms output
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-7" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-7" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-7"></a><#cb1-2>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ <#cb1-3>
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-8" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-8" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-8"></a><#cb1-4>Here's a code block containing ReStructuredText: <#cb1-5>
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-9" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-9" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-9"></a><#cb1-6>.. code:: <#cb1-7> <#cb1-8> .. container:: for-format ms
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-10" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-10" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-10"></a><#cb1-9> <#cb1-10> .. figure::
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-11" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-11" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-11"></a>davesmapper-2017-04-10-caves-4-numbered.eps <#cb1-11> :alt:
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-12" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-12" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-12"></a>Map of Bandit's Cave <#cb1-12> <#cb1-13> Map of Bandit's Cave
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-13" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-13" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-13"></a><#cb1-14> <#cb1-15> .. container:: for-format html latex context
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-14" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-14" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-14"></a>epub <#cb1-16> <#cb1-17> .. figure::
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-15" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-15" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-15"></a>davesmapper-2017-04-10-caves-4-numbered.png <#cb1-18> :alt:
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-16" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-16" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-16"></a>Map of Bandit's Cave <#cb1-19> <#cb1-20> Map of Bandit's Cave
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-17" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-17" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-17"></a><#cb1-21> <#cb1-22>How's that look? <#cb1-23>
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-18" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-18" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-18"></a>
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-19" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-19" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-19"></a>Here's the -ms output from it:
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-20" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-20" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-20"></a>
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-21" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-21" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-21"></a>.SH 1
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-22" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-22" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-22"></a>Missing Ampersand in Code Block -ms output
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-23" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-23" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-23"></a>.pdfhref O 1 "Missing Ampersand in Code Block -ms output"
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-24" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-24" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-24"></a>.pdfhref M "missing-ampersand-in-code-block--ms-output"
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-25" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-25" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-25"></a>.LP
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-26" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-26" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-26"></a>Here\[aq]s a code block containing ReStructuredText:
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-27" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-27" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-27"></a>.IP
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-28" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-28" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-28"></a>.nf
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-29" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-29" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-29"></a>\f[C]
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-30" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-30" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-30"></a>.. container:: for-format ms
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-31" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-31" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-31"></a>
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-32" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-32" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-32"></a> .. figure:: davesmapper-2017-04-10-caves-4-numbered.eps
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-33" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-33" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-33"></a> :alt: Map of Bandit\[aq]s Cave
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-34" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-34" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-34"></a>
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-35" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-35" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-35"></a> Map of Bandit\[aq]s Cave
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-36" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-36" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-36"></a>
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-37" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-37" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-37"></a>\&.. container:: for-format html latex context epub
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-38" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-38" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-38"></a>
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-39" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-39" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-39"></a> .. figure:: davesmapper-2017-04-10-caves-4-numbered.png
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-40" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-40" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-40"></a> :alt: Map of Bandit\[aq]s Cave
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-41" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-41" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-41"></a>
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-42" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-42" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-42"></a> Map of Bandit\[aq]s Cave
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-43" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-43" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-43"></a>\f[]
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-44" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-44" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-44"></a>.fi
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-45" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-45" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-45"></a>.LP
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-46" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-46" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-46"></a>How\[aq]s that look?
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-47" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-47" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-47"></a>
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-48" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-48" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-48"></a>
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-49" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-49" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-49"></a>See the first line that starts with .. container::? That line should start
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-50" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-50" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-50"></a>with \& so it isn't interpreted as an *roff* command. As it is, when you
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-51" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-51" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-51"></a>build the PDF output from output that line disappears entirely with no
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-52" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-52" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-52"></a>warning to the user. (The default for *roff* processors like *groff* is to
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-53" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-53" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-53"></a>ignore unknown commands.)
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-54" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-54" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-54"></a>
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-55" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-55" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-55"></a>See the second line that starts with .. container::? That line *does* start
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-56" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-56" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-56"></a>with \&. It makes it through fine. The other lines whose first
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-57" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-57" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-57"></a>non-whitespace character is . make it through fine because to make it a
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-58" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-58" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-58"></a>*roff* command the first character on the line has to be a period.
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-59" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-59" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-59"></a>
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-60" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-60" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-60"></a>--
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-61" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-61" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-61"></a>T. Kurt Bond, tkurtbond@gmail.com
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-62" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-62" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-62"></a>
<a id="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-63" name="rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-63" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#rest_code_d88f84e01b5c4ab6b50e0aa9e4aa7c19-63"></a>--000000000000360d1105a9a4da6e
</pre></div>
<p>See the weird psuedo-HTML tags like <code class="docutils literal"><span class="pre"><#cb1-3></span></code> in the “plain” text
that seems to have resulted from <code class="docutils literal"><span <span class="pre">id="cb1-3"><a</span>
<span class="pre">href="#cb1-3"></a>…</span></span></code>? The person who replied to my message
used the <code class="docutils literal">text/plain</code>, and that included all those weird
<code class="docutils literal"><span class="pre"><#cbX-Y></span></code> tags in the plain text reply, which, although they didn't
remark on the oddity, is how I came to know about the problem.</p>
<p>So, one thing to notice is that it was the first code block that was
messed up, and not the second. It turns out that I specified a
(correct) language for syntax highlighting in the first code block,
<code class="docutils literal">restructuredtext</code>, and supplied an incorrect language for syntax
highlighting in the second block, <code class="docutils literal">nroff</code> <a class="footnote-reference brackets" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#pygments-groff" id="footnote-reference-3" role="doc-noteref"><span class="fn-bracket">[</span>3<span class="fn-bracket">]</span></a>, which
should have been simply <code class="docutils literal">roff</code>. And it turns out that if I don't
specify a language for the highlighting I don't get the <code class="docutils literal"><span
<span class="pre">id="cb1-3"><a</span> <span class="pre">href="#cb1-3"></a></span></span></code> type output, just a plain
<code> block in a plain <pre> block.</p>
<p>Weird.</p>
<p>(I suppose I could have made this entry shorter and easier to
understand by writing new shorter examples directly using
<code class="docutils literal">.. code::</code> directly, but I'm writing about an e-mail that I
actually sent, not a hypothetical e-mail.)</p>
<aside class="footnote-list brackets">
<aside class="footnote brackets" id="plain-code-directive" role="doc-footnote">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#footnote-reference-1">1</a><span class="fn-bracket">]</span></span>
<p>I've checked and this weirdness happens with plain <code class="docutils literal">.. code::</code>
directives as well.</p>
</aside>
<aside class="footnote brackets" id="toolong" role="doc-footnote">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#footnote-reference-2">2</a><span class="fn-bracket">]</span></span>
<p>I'm not quoting the whole file because the CSS portion of the
HTML makes it much too long to quote here.</p>
</aside>
<aside class="footnote brackets" id="pygments-groff" role="doc-footnote">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="https://tkurtbond.github.io/posts/2020/07/05/line-number-anchors-in-pandocs-html-output-for-codeblocks-with-highlighting-mess-up-gmail-textplain-multipart-alternative/#footnote-reference-3">3</a><span class="fn-bracket">]</span></span>
<p>Annoyingly, <a class="reference external" href="https://pygments.org/languages/">pygments</a>, which I'm using to write this post for my
blog, calls that <code class="docutils literal">groff</code> instead of <code class="docutils literal">roff</code>, so if I want to turn
this into a e-mail via the route described here, I'll have to
change the source file for this.</p>
</aside>
</aside>
Customizing pandoc ms output with a Lua filter
https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/
2020-05-03T01:01:53-04:00
2020-05-03T01:01:53-04:00
T. Kurt Bond
<p>This article started as a <a class="reference external" href="https://groups.google.com/d/msg/pandoc-discuss/UJgyLbxTNxo/MZDVFts-BAAJ">message</a> I sent to the the <a class="reference external" href="https://groups.google.com/forum/#!forum/pandoc-discuss">pandoc-discuss</a>
Google Group. This version has more links and has been slightly
reworded.</p>
<p>I work with <a class="reference external" href="https://docutils.sourceforge.io/rst.html">ReStructuredText</a> documents a lot and often use <a class="reference external" href="https://pandoc.org/">pandoc</a> to
format them, especially to PDF by way of <span class="app">pandoc</span>'s <code class="docutils literal">ms</code>
output format, which uses <span class="app">groff</span> with the <code class="docutils literal"><span class="pre">-ms</span></code> macros to produce the
PDF output. Using <code class="docutils literal">ms</code> output is fast, <span class="app">groff</span> is usually available
on the operating systems I use, and if you <em>do</em> have to install <span class="app">groff</span>
it is easy to do and much, much smaller than any <span class="app">TeX</span> distributions.</p>
<p>However, it would be a nice to be able to customize the <code class="docutils literal">ms</code> output
more for specific input, like if you are using technical writing and
are pining for something like the various inline roles of <a class="reference external" href="https://tdg.docbook.org/tdg/5.1/ch02.html#s.inline">DocBook</a>, or
wanted poems to be typeset more stylishly that the <code class="docutils literal">ms</code> output does.</p>
<p>You should probably be a little familiar with the <a class="reference external" href="https://pandoc.org/MANUAL.html">Pandoc User
Manual</a> and have the documentation for <a class="reference external" href="https://pandoc.org/lua-filters.html">Lua Filter</a>'s available for
reference while reading this article. And having a reading
familiarity with <a class="reference external" href="https://www.gnu.org/software/groff/">groff</a> and its <a class="reference external" href="https://www.gnu.org/software/groff/manual/">manual</a> and specifically the <a class="reference external" href="https://www.gnu.org/software/groff/manual/html_node/ms.html#ms">-ms
macros</a> will be useful too. And maybe <a class="reference external" href="https://www.lua.org/">Lua</a> as well.</p>
<p>Starting with an <a class="reference external" href="https://dave.autonoma.ca/blog/2020/04/28/typesetting-markdown-part-8/">article</a> from Dave Jarvis that had an example <a class="reference external" href="https://pandoc.org/lua-filters.html">Lua
filter</a> for customizing the <span class="app">ConTeXt</span> output and a little help
from the pandoc-discuss mailing list I came up with this example <a class="reference external" href="https://pandoc.org/lua-filters.html">Lua
Filter</a> that formats program names and poems specially.</p>
<p>This filter wraps spans with a class, such as from interpreted text
roles defined in the source ReST (like <code class="docutils literal"><span class="pre">:program:`pandoc`</span></code>) in calls
to user defined <span class="app">groff</span> strings <code class="docutils literal"><span class="pre">\*[start<class>]</span></code> and
<code class="docutils literal"><span class="pre">\*[stop<class>]</span></code>. (I've specified the string definitions for
<code class="docutils literal"><span class="pre">\*[startprogram]</span></code> and <code class="docutils literal"><span class="pre">\*[stopprogram]</span></code> in the source ReST as a
raw block for <code class="docutils literal">ms</code> output but they could be in a customized <code class="docutils literal">ms</code>
pandoc template, too.) These strings can include <span class="app">groff</span> escapes to
change the font and the glyph color and then change back to the
previous font and glyph color. In this example I made PDF output for
the interpreted text role <code class="docutils literal">program</code> come out in a constant width
font and in red.</p>
<p>It also wraps divs with classes with calls to user defined <span class="app">groff</span>
macros <code class="docutils literal">.start<class></code> and <code class="docutils literal">.stop<class></code> (also included in the
source ReST in the raw block for ms output).</p>
<p>For divs with the poem class, it converts any contained LineBlock
elements into a list of Plain elements containing its contents,
avoiding the ms output for the LineBlock starting with <code class="docutils literal">.LP</code>, which
would cancel the <code class="docutils literal">.DS</code> (display start) macro I want to use in the
.startpoem macro definition. The <code class="docutils literal">.LP</code> would also reset the font family
in use to the default, another reason to avoid it. <a class="footnote-reference brackets" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#lp" id="footnote-reference-1" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a></p>
<p>The filter also converts the empty element that occurs in the line block
as a result of a blank line in the line block input into a RawBlock
that creates a blank line in the ms output, to show the division into
stanzas of the poem.</p>
<p>Interestingly, the first Str elements in the each line in the content
of the line block preserved the leading spaces from the input as
Unicode NO-BREAK SPACE characters, preserving indentation of lines in
the line block. Unfortunately, the width of those spaces alone is not
enough create a visually distinct indentation, so this filter changes
those Str elements into a RawInline that outputs a <span class="app">groff</span> horizfontal
movement whose width is based on the number of leading NO-BREAK SPACE
characters, and follow this with a new Str element that has the
leading NO-BREAK SPACE characters removed.</p>
<p>Here is the Lua filter, <span class="file">classify-rst-ms.lua</span>:</p>
<div class="code"><pre class="code lua"><a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-1" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-1" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-1"></a><span class="n">onig</span> <span class="o">=</span> <span class="nb">require</span> <span class="p">(</span><span class="s2">"rex_onig"</span><span class="p">)</span> <span class="c1">-- Need a regex package that understands UTF8.</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-2" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-2" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-2"></a><span class="c1">-- text in LineBreak preserves leading spaces as Unicode NO-BREAK SPACE</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-3" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-3" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-3"></a><span class="n">leading_nobreakspace_rx</span> <span class="o">=</span> <span class="n">onig</span><span class="p">.</span><span class="n">new</span> <span class="p">(</span><span class="s2">"^(</span><span class="se">\u{a0}</span><span class="s2">+)(.*)$"</span><span class="p">,</span> <span class="kc">nil</span><span class="p">,</span> <span class="s2">"UTF8"</span><span class="p">)</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-4" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-4" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-4"></a>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-5" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-5" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-5"></a><span class="kr">function</span> <span class="nf">Div</span><span class="p">(</span> <span class="n">element</span> <span class="p">)</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-6" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-6" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-6"></a> <span class="kd">local</span> <span class="n">annotation</span> <span class="o">=</span> <span class="n">element</span><span class="p">.</span><span class="n">classes</span><span class="p">:</span><span class="n">find_if</span><span class="p">(</span> <span class="n">matches</span> <span class="p">)</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-7" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-7" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-7"></a> <span class="kd">local</span> <span class="n">numPara</span> <span class="o">=</span> <span class="mi">0</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-8" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-8" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-8"></a> <span class="kr">if</span> <span class="n">annotation</span> <span class="kr">then</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-9" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-9" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-9"></a> <span class="n">annotation</span> <span class="o">=</span> <span class="n">annotation</span><span class="p">:</span><span class="n">gsub</span><span class="p">(</span> <span class="s2">"[^%w]*"</span><span class="p">,</span> <span class="s2">""</span> <span class="p">)</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-10" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-10" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-10"></a> <span class="kr">if</span> <span class="n">annotation</span> <span class="o">==</span> <span class="s2">"poem"</span> <span class="kr">then</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-11" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-11" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-11"></a> <span class="n">element</span> <span class="o">=</span> <span class="n">pandoc</span><span class="p">.</span><span class="n">walk_block</span> <span class="p">(</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-12" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-12" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-12"></a> <span class="n">element</span><span class="p">,</span> <span class="p">{</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-13" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-13" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-13"></a> <span class="c1">-- Replace LineBlock element with a list of Plain elements</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-14" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-14" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-14"></a> <span class="c1">-- containing the LineBlock's subelements.</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-15" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-15" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-15"></a> <span class="n">LineBlock</span> <span class="o">=</span> <span class="kr">function</span> <span class="p">(</span><span class="n">el</span><span class="p">)</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-16" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-16" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-16"></a> <span class="kd">local</span> <span class="n">l</span> <span class="o">=</span> <span class="p">{}</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-17" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-17" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-17"></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">subel</span> <span class="kr">in</span> <span class="nb">ipairs</span> <span class="p">(</span><span class="n">el</span><span class="p">.</span><span class="n">content</span><span class="p">)</span> <span class="kr">do</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-18" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-18" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-18"></a> <span class="kr">if</span> <span class="o">#</span><span class="n">subel</span> <span class="o">==</span> <span class="mi">0</span> <span class="kr">then</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-19" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-19" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-19"></a> <span class="c1">-- If subel is an empty table, output a raw empty line</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-20" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-20" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-20"></a> <span class="nb">table.insert</span> <span class="p">(</span><span class="n">l</span><span class="p">,</span> <span class="n">pandoc</span><span class="p">.</span><span class="n">RawBlock</span> <span class="p">(</span><span class="s2">"ms"</span><span class="p">,</span> <span class="s2">"</span><span class="se">\n\n</span><span class="s2">"</span><span class="p">))</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-21" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-21" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-21"></a> <span class="kr">else</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-22" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-22" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-22"></a> <span class="c1">-- Check for leading NO-BREAK SPACE charaters</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-23" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-23" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-23"></a> <span class="kd">local</span> <span class="n">m1</span><span class="p">,</span> <span class="n">m2</span> <span class="o">=</span> <span class="n">onig</span><span class="p">.</span><span class="n">match</span> <span class="p">(</span><span class="n">subel</span><span class="p">[</span><span class="mi">1</span><span class="p">].</span><span class="n">text</span><span class="p">,</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-24" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-24" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-24"></a> <span class="n">leading_nobreakspace_rx</span><span class="p">)</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-25" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-25" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-25"></a> <span class="kr">if</span> <span class="n">m1</span> <span class="kr">then</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-26" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-26" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-26"></a> <span class="c1">-- Replace the NO-BREAK SPACE characters with a raw</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-27" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-27" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-27"></a> <span class="c1">-- groff horizontal movement, because the</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-28" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-28" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-28"></a> <span class="c1">-- NO-BREAK SPACE characters are too narrow.</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-29" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-29" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-29"></a> <span class="nb">table.insert</span> <span class="p">(</span><span class="n">subel</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">pandoc</span><span class="p">.</span><span class="n">RawInline</span> <span class="p">(</span><span class="s2">"ms"</span><span class="p">,</span> <span class="nb">string.format</span> <span class="p">(</span><span class="s2">"</span><span class="se">\\</span><span class="s2">h'%dn'"</span><span class="p">,</span> <span class="nb">utf8.len</span> <span class="p">(</span><span class="n">m1</span><span class="p">))))</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-30" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-30" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-30"></a> <span class="c1">-- Modify what was used to be the first item to just</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-31" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-31" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-31"></a> <span class="c1">-- include the trailing characters of the match.</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-32" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-32" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-32"></a> <span class="n">subel</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">pandoc</span><span class="p">.</span><span class="n">Str</span> <span class="p">(</span><span class="n">m2</span><span class="p">)</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-33" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-33" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-33"></a> <span class="nb">table.insert</span> <span class="p">(</span><span class="n">l</span><span class="p">,</span> <span class="n">pandoc</span><span class="p">.</span><span class="n">Plain</span> <span class="p">(</span><span class="n">subel</span><span class="p">))</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-34" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-34" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-34"></a> <span class="kr">else</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-35" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-35" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-35"></a> <span class="c1">-- Just put the subel in Plain element.</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-36" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-36" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-36"></a> <span class="nb">table.insert</span> <span class="p">(</span><span class="n">l</span><span class="p">,</span> <span class="p">(</span><span class="n">pandoc</span><span class="p">.</span><span class="n">Plain</span> <span class="p">(</span><span class="n">subel</span><span class="p">)))</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-37" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-37" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-37"></a> <span class="kr">end</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-38" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-38" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-38"></a> <span class="kr">end</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-39" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-39" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-39"></a> <span class="kr">end</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-40" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-40" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-40"></a> <span class="kr">return</span> <span class="n">l</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-41" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-41" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-41"></a> <span class="kr">end</span> <span class="p">})</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-42" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-42" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-42"></a> <span class="kr">end</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-43" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-43" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-43"></a> <span class="kr">return</span> <span class="p">{</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-44" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-44" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-44"></a> <span class="n">ms</span><span class="p">(</span> <span class="s2">".start"</span><span class="p">,</span> <span class="n">annotation</span> <span class="p">),</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-45" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-45" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-45"></a> <span class="n">element</span><span class="p">,</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-46" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-46" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-46"></a> <span class="n">ms</span><span class="p">(</span> <span class="s2">".stop"</span><span class="p">,</span> <span class="n">annotation</span> <span class="p">)</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-47" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-47" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-47"></a> <span class="p">}</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-48" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-48" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-48"></a> <span class="kr">end</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-49" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-49" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-49"></a><span class="kr">end</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-50" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-50" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-50"></a>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-51" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-51" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-51"></a><span class="kr">function</span> <span class="nf">Span</span><span class="p">(</span><span class="n">element</span><span class="p">)</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-52" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-52" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-52"></a> <span class="kd">local</span> <span class="n">annotation</span> <span class="o">=</span> <span class="n">element</span><span class="p">.</span><span class="n">classes</span><span class="p">:</span><span class="n">find_if</span><span class="p">(</span><span class="n">matches</span><span class="p">)</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-53" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-53" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-53"></a>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-54" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-54" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-54"></a> <span class="kr">if</span> <span class="n">annotation</span> <span class="kr">then</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-55" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-55" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-55"></a> <span class="n">annotation</span> <span class="o">=</span> <span class="n">annotation</span><span class="p">:</span><span class="n">gsub</span><span class="p">(</span><span class="s2">"[^%w]*"</span><span class="p">,</span> <span class="s2">""</span><span class="p">)</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-56" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-56" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-56"></a>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-57" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-57" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-57"></a> <span class="kr">return</span> <span class="p">{</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-58" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-58" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-58"></a> <span class="n">ms_inline</span><span class="p">(</span><span class="s2">"</span><span class="se">\\</span><span class="s2">*[start"</span><span class="p">,</span> <span class="n">annotation</span><span class="p">,</span> <span class="s2">"]"</span><span class="p">),</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-59" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-59" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-59"></a> <span class="n">element</span><span class="p">,</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-60" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-60" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-60"></a> <span class="n">ms_inline</span><span class="p">(</span><span class="s2">"</span><span class="se">\\</span><span class="s2">*[stop"</span><span class="p">,</span> <span class="n">annotation</span><span class="p">,</span> <span class="s2">"]"</span><span class="p">)</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-61" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-61" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-61"></a> <span class="p">}</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-62" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-62" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-62"></a> <span class="kr">end</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-63" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-63" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-63"></a><span class="kr">end</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-64" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-64" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-64"></a>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-65" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-65" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-65"></a><span class="kr">function</span> <span class="nf">matches</span><span class="p">(</span> <span class="n">s</span> <span class="p">)</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-66" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-66" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-66"></a> <span class="kr">return</span> <span class="n">s</span><span class="p">:</span><span class="n">match</span><span class="p">(</span> <span class="s2">"^%a+"</span> <span class="p">)</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-67" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-67" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-67"></a><span class="kr">end</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-68" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-68" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-68"></a>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-69" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-69" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-69"></a><span class="kr">function</span> <span class="nf">ms</span><span class="p">(</span> <span class="n">macro</span><span class="p">,</span> <span class="n">annotation</span> <span class="p">)</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-70" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-70" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-70"></a> <span class="kr">return</span> <span class="n">pandoc</span><span class="p">.</span><span class="n">RawBlock</span><span class="p">(</span> <span class="s2">"ms"</span><span class="p">,</span> <span class="n">macro</span> <span class="o">..</span> <span class="n">annotation</span> <span class="p">)</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-71" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-71" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-71"></a><span class="kr">end</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-72" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-72" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-72"></a>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-73" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-73" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-73"></a><span class="kr">function</span> <span class="nf">ms_inline</span> <span class="p">(</span><span class="n">macro</span><span class="p">,</span> <span class="n">annotation</span><span class="p">,</span> <span class="n">stop</span><span class="p">)</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-74" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-74" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-74"></a> <span class="kr">return</span> <span class="n">pandoc</span><span class="p">.</span><span class="n">RawInline</span> <span class="p">(</span><span class="s2">"ms"</span><span class="p">,</span> <span class="n">macro</span> <span class="o">..</span> <span class="n">annotation</span> <span class="o">..</span> <span class="n">stop</span><span class="p">)</span>
<a id="rest_code_d7a56000eea347d29a9fd0b471629dbf-75" name="rest_code_d7a56000eea347d29a9fd0b471629dbf-75" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_d7a56000eea347d29a9fd0b471629dbf-75"></a><span class="kr">end</span>
</pre></div>
<p>Here is the ReST source of the document, <span class="file">poem-plus.rst</span>:</p>
<div class="code"><pre class="code ReST"><a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-1" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-1" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-1"></a>Lua Filters For Massaging <span class="s">``ms``</span> Output
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-2" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-2" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-2"></a>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-3" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-3" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-3"></a>
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-4" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-4" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-4"></a><span class="p">..</span> <span class="ow">raw</span><span class="p">::</span> ms
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-5" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-5" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-5"></a>
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-6" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-6" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-6"></a> .ds startprogram \\f[CW]\\m[red]
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-7" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-7" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-7"></a> .ds stopprogram \\m[]\\fP
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-8" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-8" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-8"></a> .de startpoem
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-9" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-9" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-9"></a> .ds OLDFAM \\*[FAM]
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-10" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-10" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-10"></a> .ds FAM BM
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-11" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-11" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-11"></a> .DS I 3
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-12" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-12" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-12"></a><span class="cp"> ..</span>
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-13" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-13" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-13"></a><span class="cp"> .de stoppoem</span>
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-14" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-14" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-14"></a><span class="cp"> .DE</span>
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-15" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-15" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-15"></a><span class="cp"> .ds FAM \\*[OLDFAM]</span>
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-16" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-16" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-16"></a><span class="cp"> ..</span>
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-17" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-17" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-17"></a>
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-18" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-18" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-18"></a><span class="p">..</span> <span class="ow">role</span><span class="p">::</span> program
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-19" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-19" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-19"></a>
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-20" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-20" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-20"></a>This is a sentence. This sentence talks about <span class="na">:program:</span><span class="nv">`pandoc`</span>.
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-21" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-21" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-21"></a>This is
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-22" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-22" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-22"></a>another sentence.
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-23" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-23" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-23"></a>
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-24" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-24" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-24"></a><span class="p">..</span> <span class="ow">class</span><span class="p">::</span> poem
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-25" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-25" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-25"></a>
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-26" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-26" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-26"></a> <span class="o">|</span> Some say the world will end in fire,
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-27" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-27" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-27"></a> <span class="o">|</span> Some say in ice.
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-28" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-28" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-28"></a> <span class="o">|</span> From what I've tasted of desire
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-29" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-29" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-29"></a> <span class="o">|</span> I hold with those who favor fire.
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-30" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-30" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-30"></a> <span class="o">|</span> But if it had to perish twice,
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-31" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-31" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-31"></a> <span class="o">|</span> I think I know enough of hate
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-32" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-32" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-32"></a> <span class="o">|</span> To say that for destruction ice
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-33" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-33" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-33"></a> <span class="o">|</span> Is also great,
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-34" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-34" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-34"></a> <span class="o">|</span> And would suffice.
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-35" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-35" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-35"></a> |
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-36" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-36" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-36"></a> <span class="o">|</span> And another line,
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-37" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-37" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-37"></a> <span class="o">|</span> And an indented line.
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-38" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-38" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-38"></a>
<a id="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-39" name="rest_code_0f4dd3d29ca847dc943816a43dfb9cba-39" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_0f4dd3d29ca847dc943816a43dfb9cba-39"></a>This is a final sentence.
</pre></div>
<p>And here is the ms output:</p>
<div class="code"><pre class="code groff"><a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-1" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-1" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-1"></a>.<span class="k">SH</span> <span class="m">1</span>
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-2" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-2" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-2"></a>Lua Filters For Massaging <span class="se">\f[CB]ms\f[B]</span> Output
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-3" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-3" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-3"></a>.<span class="k">pdfhref</span> <span class="s">O</span> <span class="m">1</span> <span class="s2">"Lua Filters For Massaging ms Output"</span>
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-4" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-4" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-4"></a>.<span class="k">pdfhref</span> <span class="s">M</span> <span class="s2">"lua-filters-for-massaging-ms-output"</span>
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-5" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-5" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-5"></a>.<span class="k">ds</span> <span class="s">startprogram</span> <span class="se">\\</span><span class="s">f[CW]\\m[red]</span>
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-6" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-6" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-6"></a>.<span class="k">ds</span> <span class="s">stopprogram</span> <span class="se">\\</span><span class="s">m[]\\fP</span>
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-7" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-7" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-7"></a>.<span class="k">de</span> <span class="s">startpoem</span>
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-8" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-8" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-8"></a>.<span class="k">ds</span> <span class="s">OLDFAM</span> <span class="se">\\</span><span class="s">*[FAM]</span>
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-9" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-9" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-9"></a>.<span class="k">ds</span> <span class="s">FAM</span> <span class="s">BM</span>
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-10" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-10" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-10"></a>.<span class="k">DS</span> <span class="s">I</span> <span class="m">3</span>
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-11" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-11" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-11"></a><span class="p">.</span><span class="s">.</span>
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-12" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-12" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-12"></a>.<span class="k">de</span> <span class="s">stoppoem</span>
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-13" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-13" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-13"></a>.<span class="k">DE</span>
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-14" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-14" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-14"></a>.<span class="k">ds</span> <span class="s">FAM</span> <span class="se">\\</span><span class="s">*[OLDFAM]</span>
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-15" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-15" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-15"></a><span class="p">.</span><span class="s">.</span>
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-16" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-16" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-16"></a>.<span class="k">LP</span>
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-17" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-17" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-17"></a>This is a sentence.
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-18" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-18" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-18"></a>This sentence talks about <span class="se">\*[startprogram]pandoc\*[stopprogram]</span>.
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-19" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-19" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-19"></a>This is
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-20" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-20" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-20"></a>another sentence.
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-21" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-21" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-21"></a>.<span class="k">startpoem</span>
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-22" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-22" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-22"></a>Some say the world will end in fire,
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-23" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-23" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-23"></a><span class="se">\h</span>'3n'Some say in ice.
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-24" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-24" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-24"></a>From what I<span class="se">\[</span>aq]ve tasted of desire
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-25" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-25" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-25"></a><span class="se">\h</span>'3n'I hold with those who favor fire.
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-26" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-26" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-26"></a>But if it had to perish twice,
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-27" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-27" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-27"></a><span class="se">\h</span>'3n'I think I know enough of hate
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-28" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-28" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-28"></a><span class="se">\h</span>'3n'To say that for destruction ice
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-29" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-29" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-29"></a><span class="se">\h</span>'3n'Is also great,
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-30" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-30" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-30"></a>And would suffice.
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-31" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-31" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-31"></a>
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-32" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-32" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-32"></a>And another line,
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-33" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-33" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-33"></a><span class="se">\h</span>'3n'And an indented line.
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-34" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-34" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-34"></a>.<span class="k">stoppoem</span>
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-35" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-35" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-35"></a>.<span class="k">LP</span>
<a id="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-36" name="rest_code_9aca7e0f0ab1490d80af0b671f0559d1-36" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_9aca7e0f0ab1490d80af0b671f0559d1-36"></a>This is a final sentence.
</pre></div>
<p>The command to produce the ms output is:</p>
<div class="code"><pre class="code bash"><a id="rest_code_316a58b86c874e41b75bc562e8387152-1" name="rest_code_316a58b86c874e41b75bc562e8387152-1" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_316a58b86c874e41b75bc562e8387152-1"></a>pandoc<span class="w"> </span>-f<span class="w"> </span>rst<span class="w"> </span>-t<span class="w"> </span>ms<span class="w"> </span>--lua-filter<span class="w"> </span>classify-rst-ms.lua<span class="w"> </span>--wrap<span class="o">=</span>preserve<span class="w"> </span>poem-plus.rst<span class="w"> </span>--output<span class="o">=</span>poem-plus-rst.ms
</pre></div>
<p>and the command to produce a PDF is:</p>
<div class="code"><pre class="code bash"><a id="rest_code_7e7a49c659494c09ae73ebd75383748c-1" name="rest_code_7e7a49c659494c09ae73ebd75383748c-1" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#rest_code_7e7a49c659494c09ae73ebd75383748c-1"></a>pandoc<span class="w"> </span>-f<span class="w"> </span>rst<span class="w"> </span>-t<span class="w"> </span>ms<span class="w"> </span>--lua-filter<span class="w"> </span>classify-rst-ms.lua<span class="w"> </span>--wrap<span class="o">=</span>preserve<span class="w"> </span>poem-plus.rst<span class="w"> </span>--output<span class="o">=</span>poem-plus-rst.ms.pdf
</pre></div>
<p><a class="reference external" href="https://tkurtbond.github.io/poem-plus-rst.ms.pdf">Here</a> is the output PDF.</p>
<p>Being able to rewrite the tree and insert RawBlocks and RawInlines is
really powerful when it comes to customizing output for particular
output formats.</p>
<p>I hope this example is useful for others like me just learning to use
Lua filters.</p>
<aside class="footnote-list brackets">
<aside class="footnote brackets" id="lp" role="doc-footnote">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="https://tkurtbond.github.io/posts/2020/05/03/customizing-pandoc-ms-output-with-a-lua-filter/#footnote-reference-1">1</a><span class="fn-bracket">]</span></span>
<p>The <code class="docutils literal">.LP</code> macro in the <code class="docutils literal"><span class="pre">-ms</span></code> macros resets a lot of
things back to the default when it is used, so if you want the custom
<span class="app">groff</span> setting from your user defined macros to continue from the
start to the end you can't allow the use of <code class="docutils literal">.LP</code> between the
<code class="docutils literal">.start<class></code> and <code class="docutils literal">.stop<class></code> macros.</p>
</aside>
</aside>
Making digest-sized pages with pandoc and ms output
https://tkurtbond.github.io/posts/2020/03/13/making-digest-sized-pages-with-pandoc-and-ms-output/
2020-03-13T14:01:10-04:00
2020-03-13T14:01:10-04:00
T. Kurt Bond
<aside class="admonition note">
<p class="admonition-title">Note</p>
<p>After I wrote this post, I made a last minute check of the options
to <span class="app">pandoc</span> and found that the <code class="docutils literal"><span class="pre">--pdf-engine-opt=</span></code> option
does exactly what I want. How embarrassing. So I changed this
post, showing both the easy way and the hard way to do it.</p>
</aside>
<p>I use <a class="reference external" href="https://pandoc.org/">pandoc</a> to produce digest-sized pages (5½×8½ inches) in PDF
documents from <a class="reference external" href="https://en.wikipedia.org/wiki/ReStructuredText">ReStructuredText</a>. I have a <span class="app">ms</span> output template,
<span class="file">digest2.ms</span> in <span class="file">~/pandoc/templates</span> that sets the page
width and page height correctly. Unfortunately, there is no way to
set the papersize properly in the template. <a class="footnote-reference brackets" href="https://tkurtbond.github.io/posts/2020/03/13/making-digest-sized-pages-with-pandoc-and-ms-output/#heirloomtroff" id="footnote-reference-1" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a></p>
<p>Luckily, <span class="app">pandoc</span> has the <code class="docutils literal"><span class="pre">--pdf-engine-opt=</span></code> option to pass
options to the PDF engine that <span class="app">pandoc</span> is using, in this case
<span class="app">pdfroff</span>. In the case of <span class="app">ms</span> output the thing to do is
pass the argument <code class="docutils literal"><span class="pre">--pdf-engine-opt=-P-p8.5i,5.5i</span></code> <a class="footnote-reference brackets" href="https://tkurtbond.github.io/posts/2020/03/13/making-digest-sized-pages-with-pandoc-and-ms-output/#recursively" id="footnote-reference-2" role="doc-noteref"><span class="fn-bracket">[</span>2<span class="fn-bracket">]</span></a>,
like below.</p>
<p><a class="reference external" href="https://tkurtbond.github.io/listings/GNUmakefile.pandoc-digest-pdf-engine-opt.html">GNUmakefile.pandoc-digest-pdf-engine-opt</a> <a class="reference external" href="https://tkurtbond.github.io/listings/GNUmakefile.pandoc-digest-pdf-engine-opt">(Source)</a></p>
<div class="code"><pre class="code make"><a id="rest_code_1b861f39b7eb4146bf4f1a5ef76b3610-1" name="rest_code_1b861f39b7eb4146bf4f1a5ef76b3610-1" href="https://tkurtbond.github.io/posts/2020/03/13/making-digest-sized-pages-with-pandoc-and-ms-output/#rest_code_1b861f39b7eb4146bf4f1a5ef76b3610-1"></a><span class="nf">%.digest.ms.pdf </span><span class="o">:</span><span class="w"> </span>%.<span class="n">rst</span>
<a id="rest_code_1b861f39b7eb4146bf4f1a5ef76b3610-2" name="rest_code_1b861f39b7eb4146bf4f1a5ef76b3610-2" href="https://tkurtbond.github.io/posts/2020/03/13/making-digest-sized-pages-with-pandoc-and-ms-output/#rest_code_1b861f39b7eb4146bf4f1a5ef76b3610-2"></a><span class="w"> </span>pandoc<span class="w"> </span>-s<span class="w"> </span>-r<span class="w"> </span>rst<span class="w"> </span>-w<span class="w"> </span>ms<span class="w"> </span>--template<span class="o">=</span>digest2<span class="w"> </span><span class="k">$(</span>VARIABLES<span class="k">)</span><span class="w"> </span><span class="se">\</span>
<a id="rest_code_1b861f39b7eb4146bf4f1a5ef76b3610-3" name="rest_code_1b861f39b7eb4146bf4f1a5ef76b3610-3" href="https://tkurtbond.github.io/posts/2020/03/13/making-digest-sized-pages-with-pandoc-and-ms-output/#rest_code_1b861f39b7eb4146bf4f1a5ef76b3610-3"></a><span class="w"> </span>--output<span class="o">=</span><span class="nv">$@</span><span class="w"> </span>--pdf-engine-opt<span class="o">=</span>-P-p8.5i,5.5i<span class="w"> </span>$<
</pre></div>
<p>Unfortunately when I originally had this need for digest pages I
hadn't realized that the <code class="docutils literal"><span class="pre">--pdf-engine-opt=</span></code> option existed.</p>
<p>So I used <code class="docutils literal">pandoc <span class="pre">--verbose</span></code> and found the <span class="app">pdfroff</span> invocation
<span class="app">pandoc</span> uses, and made my <span class="app">pandoc</span> invocation output
<span class="app">ms</span> instead of PDF, then passed it through a <span class="app">pdfroff</span>
command with the added <code class="docutils literal"><span class="pre">-P-p8.5i,5.5i</span></code> argument. Here's what I put
in my <span class="file">GNUmakefile</span>:</p>
<p><a class="reference external" href="https://tkurtbond.github.io/listings/GNUmakefile.pandoc-digest-save-ms.html">GNUmakefile.pandoc-digest-save-ms</a> <a class="reference external" href="https://tkurtbond.github.io/listings/GNUmakefile.pandoc-digest-save-ms">(Source)</a></p>
<div class="code"><pre class="code make"><a id="rest_code_ef3c96423c2740559ec3b1ded58b3fc4-1" name="rest_code_ef3c96423c2740559ec3b1ded58b3fc4-1" href="https://tkurtbond.github.io/posts/2020/03/13/making-digest-sized-pages-with-pandoc-and-ms-output/#rest_code_ef3c96423c2740559ec3b1ded58b3fc4-1"></a><span class="nf">%.digest.ms.pdf </span><span class="o">:</span><span class="w"> </span>%.<span class="n">rst</span>
<a id="rest_code_ef3c96423c2740559ec3b1ded58b3fc4-2" name="rest_code_ef3c96423c2740559ec3b1ded58b3fc4-2" href="https://tkurtbond.github.io/posts/2020/03/13/making-digest-sized-pages-with-pandoc-and-ms-output/#rest_code_ef3c96423c2740559ec3b1ded58b3fc4-2"></a><span class="w"> </span>pandoc<span class="w"> </span>-s<span class="w"> </span>-r<span class="w"> </span>rst<span class="w"> </span>-w<span class="w"> </span>ms<span class="w"> </span>-s<span class="w"> </span>--template<span class="o">=</span>digest2<span class="w"> </span><span class="k">$(</span>VARIABLES<span class="k">)</span><span class="w"> </span><span class="se">\</span>
<a id="rest_code_ef3c96423c2740559ec3b1ded58b3fc4-3" name="rest_code_ef3c96423c2740559ec3b1ded58b3fc4-3" href="https://tkurtbond.github.io/posts/2020/03/13/making-digest-sized-pages-with-pandoc-and-ms-output/#rest_code_ef3c96423c2740559ec3b1ded58b3fc4-3"></a><span class="w"> </span>--output<span class="o">=</span><span class="nv">$*</span>.ms<span class="w"> </span>$<
<a id="rest_code_ef3c96423c2740559ec3b1ded58b3fc4-4" name="rest_code_ef3c96423c2740559ec3b1ded58b3fc4-4" href="https://tkurtbond.github.io/posts/2020/03/13/making-digest-sized-pages-with-pandoc-and-ms-output/#rest_code_ef3c96423c2740559ec3b1ded58b3fc4-4"></a><span class="w"> </span>pdfroff<span class="w"> </span>-ms<span class="w"> </span>-mpdfmark<span class="w"> </span>-e<span class="w"> </span>-t<span class="w"> </span>-k<span class="w"> </span>-KUTF-8<span class="w"> </span>--no-toc-relocation<span class="w"> </span><span class="se">\</span>
<a id="rest_code_ef3c96423c2740559ec3b1ded58b3fc4-5" name="rest_code_ef3c96423c2740559ec3b1ded58b3fc4-5" href="https://tkurtbond.github.io/posts/2020/03/13/making-digest-sized-pages-with-pandoc-and-ms-output/#rest_code_ef3c96423c2740559ec3b1ded58b3fc4-5"></a><span class="w"> </span>-P-p8.5i,5.5i<span class="w"> </span><span class="nv">$*</span>.ms<span class="w"> </span>><span class="w"> </span><span class="nv">$@</span>
</pre></div>
<p>Or, if you don't care about having the <span class="app">ms</span> output for debugging,
you could do it as a pipeline:</p>
<p><a class="reference external" href="https://tkurtbond.github.io/listings/GNUmakefile.pandoc-digest-pipeline.html">GNUmakefile.pandoc-digest-pipeline</a> <a class="reference external" href="https://tkurtbond.github.io/listings/GNUmakefile.pandoc-digest-pipeline">(Source)</a></p>
<div class="code"><pre class="code make"><a id="rest_code_79e9e21f839c4c93b7a82a151d0f6b07-1" name="rest_code_79e9e21f839c4c93b7a82a151d0f6b07-1" href="https://tkurtbond.github.io/posts/2020/03/13/making-digest-sized-pages-with-pandoc-and-ms-output/#rest_code_79e9e21f839c4c93b7a82a151d0f6b07-1"></a><span class="nf">%.digest.ms.pdf </span><span class="o">:</span><span class="w"> </span>%.<span class="n">rst</span>
<a id="rest_code_79e9e21f839c4c93b7a82a151d0f6b07-2" name="rest_code_79e9e21f839c4c93b7a82a151d0f6b07-2" href="https://tkurtbond.github.io/posts/2020/03/13/making-digest-sized-pages-with-pandoc-and-ms-output/#rest_code_79e9e21f839c4c93b7a82a151d0f6b07-2"></a><span class="w"> </span>pandoc<span class="w"> </span>-s<span class="w"> </span>-r<span class="w"> </span>rst<span class="w"> </span>-w<span class="w"> </span>ms<span class="w"> </span>-s<span class="w"> </span>--template<span class="o">=</span>digest2<span class="w"> </span><span class="k">$(</span>VARIABLES<span class="k">)</span><span class="w"> </span><span class="se">\</span>
<a id="rest_code_79e9e21f839c4c93b7a82a151d0f6b07-3" name="rest_code_79e9e21f839c4c93b7a82a151d0f6b07-3" href="https://tkurtbond.github.io/posts/2020/03/13/making-digest-sized-pages-with-pandoc-and-ms-output/#rest_code_79e9e21f839c4c93b7a82a151d0f6b07-3"></a><span class="w"> </span>--output<span class="o">=</span>-<span class="w"> </span>$<<span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="se">\</span>
<a id="rest_code_79e9e21f839c4c93b7a82a151d0f6b07-4" name="rest_code_79e9e21f839c4c93b7a82a151d0f6b07-4" href="https://tkurtbond.github.io/posts/2020/03/13/making-digest-sized-pages-with-pandoc-and-ms-output/#rest_code_79e9e21f839c4c93b7a82a151d0f6b07-4"></a><span class="w"> </span>pdfroff<span class="w"> </span>-ms<span class="w"> </span>-mpdfmark<span class="w"> </span>-e<span class="w"> </span>-t<span class="w"> </span>-k<span class="w"> </span>-KUTF-8<span class="w"> </span>--no-toc-relocation<span class="w"> </span><span class="se">\</span>
<a id="rest_code_79e9e21f839c4c93b7a82a151d0f6b07-5" name="rest_code_79e9e21f839c4c93b7a82a151d0f6b07-5" href="https://tkurtbond.github.io/posts/2020/03/13/making-digest-sized-pages-with-pandoc-and-ms-output/#rest_code_79e9e21f839c4c93b7a82a151d0f6b07-5"></a><span class="w"> </span>-P-p8.5i,5.5i<span class="w"> </span>-<span class="w"> </span>><span class="nv">$@</span>
</pre></div>
<p>There are still some instances where this technique of having
<span class="app">pandoc</span> output the <span class="app">ms</span> source directly and pass it through
<span class="app">pdfroff</span> yourself. For instance, if you have to do some
massaging of the <span class="app">ms</span> source, like changing <code class="docutils literal"><span class="pre">.RS/.RE</span></code> to
<code class="docutils literal"><span class="pre">.QS/.QE</span></code> to get around the problem with block quotes in <span class="app">ms</span>
output in the current <span class="app">pandoc</span> release, discussed <a class="reference external" href="https://tkurtbond.github.io/posts/2020/03/11/pandoc-discuss-post-can-the-rsre-macros-in-ms-output-be-replaced-with-qsqe/">here</a>.</p>
<aside class="footnote-list brackets">
<aside class="footnote brackets" id="heirloomtroff" role="doc-footnote">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="https://tkurtbond.github.io/posts/2020/03/13/making-digest-sized-pages-with-pandoc-and-ms-output/#footnote-reference-1">1</a><span class="fn-bracket">]</span></span>
<p>Heirloom Troff (originally at <a class="reference external" href="http://heirloom.sourceforge.net/doctools.html">H1</a>, but now <em>I
think</em> more up to date at <a class="reference external" href="http://n-t-roff.github.io/heirloom/doctools.html">H2</a> and <a class="reference external" href="https://github.com/n-t-roff/heirloom-doctools">H3</a>) has the <code class="docutils literal">.mediasize</code> and
<code class="docutils literal">.papersize</code> commands for that.</p>
</aside>
<aside class="footnote brackets" id="recursively" role="doc-footnote">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="https://tkurtbond.github.io/posts/2020/03/13/making-digest-sized-pages-with-pandoc-and-ms-output/#footnote-reference-2">2</a><span class="fn-bracket">]</span></span>
<p>Amusingly, <span class="app">pandoc</span> passes the
<code class="docutils literal"><span class="pre">--pdf-engine-opt=-P-p8.5i,5.5i</span></code> argument to <span class="app">pdfroff</span>,
which passes the <code class="docutils literal"><span class="pre">-P-p8.5i,5.5i</span></code> part to <span class="app">groff</span>, which
passes the <code class="docutils literal"><span class="pre">-p8.5i,5.5i</span></code> part to the (final) post processor — I'm
not sure if <em>that</em> is <span class="app">grops</span> or <span class="app">gropdf</span>.</p>
</aside>
</aside>
pandoc-discuss post: Can the .RS/.RE macros in ms output be replaced with .QS/.QE?
https://tkurtbond.github.io/posts/2020/03/11/pandoc-discuss-post-can-the-rsre-macros-in-ms-output-be-replaced-with-qsqe/
2020-03-11T20:35:47-04:00
2020-03-11T20:35:47-04:00
T. Kurt Bond
<p>On March 9, 2020 I made a <a class="reference external" href="https://groups.google.com/forum/#!topic/pandoc-discuss/zulmB6uujgc">post</a> on the pandoc-discuss mailing list
that explains some changes to pandoc to better handle block quotes in
ms output, and a workaround for it until the version with changes
comes out, but I forgot to mention it here.</p>
<p>In short, use a pipeline like this:</p>
<p><a class="reference external" href="https://tkurtbond.github.io/listings/GNUmakefile.change-RS-RE-to-QS-QE.html">GNUmakefile.change-RS-RE-to-QS-QE</a> <a class="reference external" href="https://tkurtbond.github.io/listings/GNUmakefile.change-RS-RE-to-QS-QE">(Source)</a></p>
<div class="code"><pre class="code make"><a id="rest_code_0bf34e09220c4b06984c83beeabc43bd-1" name="rest_code_0bf34e09220c4b06984c83beeabc43bd-1" href="https://tkurtbond.github.io/posts/2020/03/11/pandoc-discuss-post-can-the-rsre-macros-in-ms-output-be-replaced-with-qsqe/#rest_code_0bf34e09220c4b06984c83beeabc43bd-1"></a><span class="nf">%.qs.ms.pdf </span><span class="o">:</span><span class="w"> </span>%.<span class="n">rst</span>
<a id="rest_code_0bf34e09220c4b06984c83beeabc43bd-2" name="rest_code_0bf34e09220c4b06984c83beeabc43bd-2" href="https://tkurtbond.github.io/posts/2020/03/11/pandoc-discuss-post-can-the-rsre-macros-in-ms-output-be-replaced-with-qsqe/#rest_code_0bf34e09220c4b06984c83beeabc43bd-2"></a><span class="w"> </span>pandoc<span class="w"> </span>--verbose<span class="w"> </span>-r<span class="w"> </span>rst<span class="w"> </span>-w<span class="w"> </span>ms<span class="w"> </span><span class="k">$(</span>PANDOCOPTS<span class="k">)</span><span class="w"> </span><span class="se">\</span>
<a id="rest_code_0bf34e09220c4b06984c83beeabc43bd-3" name="rest_code_0bf34e09220c4b06984c83beeabc43bd-3" href="https://tkurtbond.github.io/posts/2020/03/11/pandoc-discuss-post-can-the-rsre-macros-in-ms-output-be-replaced-with-qsqe/#rest_code_0bf34e09220c4b06984c83beeabc43bd-3"></a><span class="w"> </span>--output<span class="o">=</span>-<span class="w"> </span>$<<span class="w"> </span><span class="p">|</span><span class="w"> </span>gsed<span class="w"> </span>-e<span class="w"> </span><span class="s1">'s/^\.RS$$/.QS/'</span><span class="w"> </span>-e<span class="w"> </span><span class="s1">'s/^\.RE$$/.QE/'</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="se">\</span>
<a id="rest_code_0bf34e09220c4b06984c83beeabc43bd-4" name="rest_code_0bf34e09220c4b06984c83beeabc43bd-4" href="https://tkurtbond.github.io/posts/2020/03/11/pandoc-discuss-post-can-the-rsre-macros-in-ms-output-be-replaced-with-qsqe/#rest_code_0bf34e09220c4b06984c83beeabc43bd-4"></a><span class="w"> </span>pdfroff<span class="w"> </span>-ms<span class="w"> </span>-mpdfmark<span class="w"> </span>-e<span class="w"> </span>-t<span class="w"> </span>-k<span class="w"> </span>-KUTF-8<span class="w"> </span>-i<span class="w"> </span>--no-toc-relocation<span class="w"> </span>><span class="nv">$@</span>
</pre></div>