diff options
author | Karl Berry <karl@freefriends.org> | 2019-04-30 22:33:13 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-04-30 22:33:13 +0000 |
commit | b6d364c734eb81b15eae8ff489cf3291cb6ecc9b (patch) | |
tree | b40de735c59f5c01af64f9c5f14ab16fa7965105 /Master/texmf-dist | |
parent | f654f58447a9158157316c77873b4c2b85ae1456 (diff) |
markdown (30apr19)
git-svn-id: svn://tug.org/texlive/trunk@50906 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/context/third/markdown/examples/context.tex | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/context/third/markdown/examples/example.md | 10 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/markdown/markdown.css | 1 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/markdown/markdown.html | 3968 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/markdown/markdown.pdf | bin | 412653 -> 429871 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/markdown/examples/example.md | 10 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/markdown/examples/latex.tex | 5 | ||||
-rw-r--r-- | Master/texmf-dist/scripts/markdown/markdown-cli.lua | 5 | ||||
-rw-r--r-- | Master/texmf-dist/source/generic/markdown/markdown.dtx | 3181 | ||||
-rw-r--r-- | Master/texmf-dist/tex/context/third/markdown/t-markdown.tex | 65 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/markdown/markdown.tex | 19 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/markdown/markdown.sty | 90 | ||||
-rw-r--r-- | Master/texmf-dist/tex/luatex/markdown/markdown.lua | 2444 |
13 files changed, 7470 insertions, 2330 deletions
diff --git a/Master/texmf-dist/doc/context/third/markdown/examples/context.tex b/Master/texmf-dist/doc/context/third/markdown/examples/context.tex index 99c4eb9e5f2..7ed432344ac 100644 --- a/Master/texmf-dist/doc/context/third/markdown/examples/context.tex +++ b/Master/texmf-dist/doc/context/third/markdown/examples/context.tex @@ -10,6 +10,8 @@ \def\markdownOptionInlineFootnotes{true} \def\markdownOptionFencedCode{true} \def\markdownOptionContentBlocks{true} +\def\markdownOptionPipeTables{true} +\def\markdownOptionTableCaptions{true} \definetyping [latex] \setuptyping [latex] [option=TEX] \starttext diff --git a/Master/texmf-dist/doc/context/third/markdown/examples/example.md b/Master/texmf-dist/doc/context/third/markdown/examples/example.md index 73f5ab9c26a..8aeb423a204 100644 --- a/Master/texmf-dist/doc/context/third/markdown/examples/example.md +++ b/Master/texmf-dist/doc/context/third/markdown/examples/example.md @@ -28,6 +28,16 @@ This is a fenced code block: \end{document} ``` +This is a table: + +| Right | Left | Default | Center | +|------:|:-----|---------|:------:| +| 12 | 12 | 12 | 12 | +| 123 | 123 | 123 | 123 | +| 1 | 1 | 1 | 1 | + + : Demonstration of pipe table syntax. + This is a bullet list: * The first item of a bullet list diff --git a/Master/texmf-dist/doc/generic/markdown/markdown.css b/Master/texmf-dist/doc/generic/markdown/markdown.css index 5abe7013b44..f679065407c 100644 --- a/Master/texmf-dist/doc/generic/markdown/markdown.css +++ b/Master/texmf-dist/doc/generic/markdown/markdown.css @@ -345,6 +345,7 @@ table td { } abbr { + text-transform: lowercase; font-variant: small-caps; } diff --git a/Master/texmf-dist/doc/generic/markdown/markdown.html b/Master/texmf-dist/doc/generic/markdown/markdown.html index 203c1be5121..e6ed568bff0 100644 --- a/Master/texmf-dist/doc/generic/markdown/markdown.html +++ b/Master/texmf-dist/doc/generic/markdown/markdown.html @@ -86,7 +86,7 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni <header> <h1 class="title">Markdown Package User Manual</h1> <p class="author">Vít Novotný</p> -<p class="date">v2.7.0 (2019/04/04)</p> +<p class="date">v2.8.1 (2019/04/30)</p> </header> <nav id="TOC"> <ul> @@ -2045,7 +2045,6 @@ Thomas,Edison,1847</code></pre> </dl> </dd> </dl> -<p>When the option is enabled, HTML entities are currently incorrectly parsed. See <a href="https://github.com/Witiko/markdown/issues/38" title="Tabs are stripped even with the `preserveTabs=true` Lua option enabled">the corresponding issue</a> in the package repository.</p> <h5 id="lua-module-example-6" class="unnumbered">Lua Module Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> <div class="sourceCode" id="cb180"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb180-1" data-line-number="1"><span class="fu">\input</span> markdown</a> @@ -2381,12 +2380,129 @@ Thomas,Edison,1847</code></pre> <blockquote> <p>Here is an inline note.<a href="#fn6" class="footnote-ref" id="fnref6"><sup>6</sup></a></p> </blockquote> -<h4 id="option-preservetabs"><span class="header-section-number">2.2.1.19</span> Option <code>preserveTabs</code></h4> +<h4 id="pipe-tables"><span class="header-section-number">2.2.1.19</span> Option <code>pipeTables</code></h4> +<dl> +<dt><code>pipeTables</code> (default value: <code>false</code>)</dt> +<dd><dl> +<dt>true</dt> +<dd><p>Enable the <abbr>PHP</abbr> Markdown table syntax extension:</p> +<div class="sourceCode" id="cb207"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb207-1" data-line-number="1">| Right | Left | Default | Center |</a> +<a class="sourceLine" id="cb207-2" data-line-number="2">|------:|:-----|---------|:------:|</a> +<a class="sourceLine" id="cb207-3" data-line-number="3">| 12 | 12 | 12 | 12 |</a> +<a class="sourceLine" id="cb207-4" data-line-number="4">| 123 | 123 | 123 | 123 |</a> +<a class="sourceLine" id="cb207-5" data-line-number="5">| 1 | 1 | 1 | 1 |</a></code></pre></div> +</dd> +</dl> +</dd> +<dd><dl> +<dt>false</dt> +<dd><p>Disable the <abbr>PHP</abbr> Markdown table syntax extension.</p> +</dd> +</dl> +</dd> +</dl> +<h5 id="latex-example-17" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> +<div class="sourceCode" id="cb208"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb208-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb208-2" data-line-number="2"><span class="bu">\usepackage</span>[pipeTables]{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb208-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb208-4" data-line-number="4"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb208-5" data-line-number="5">| Right | Left | Default | Center |</a> +<a class="sourceLine" id="cb208-6" data-line-number="6">|------:|:-----|---------|:------:|</a> +<a class="sourceLine" id="cb208-7" data-line-number="7">| 12 | 12 | 12 | 12 |</a> +<a class="sourceLine" id="cb208-8" data-line-number="8">| 123 | 123 | 123 | 123 |</a> +<a class="sourceLine" id="cb208-9" data-line-number="9">| 1 | 1 | 1 | 1 |</a> +<a class="sourceLine" id="cb208-10" data-line-number="10"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb208-11" data-line-number="11"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb209"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb209-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> +<blockquote> +<table> +<thead> +<tr class="header"> +<th style="text-align: right;">Right</th> +<th style="text-align: left;">Left</th> +<th>Default</th> +<th style="text-align: center;">Center</th> +</tr> +</thead> +<tbody> +<tr class="odd"> +<td style="text-align: right;">12</td> +<td style="text-align: left;">12</td> +<td>12</td> +<td style="text-align: center;">12</td> +</tr> +<tr class="even"> +<td style="text-align: right;">123</td> +<td style="text-align: left;">123</td> +<td>123</td> +<td style="text-align: center;">123</td> +</tr> +<tr class="odd"> +<td style="text-align: right;">1</td> +<td style="text-align: left;">1</td> +<td>1</td> +<td style="text-align: center;">1</td> +</tr> +</tbody> +</table> +</blockquote> +<h5 id="context-example-15" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> +<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> +<div class="sourceCode" id="cb210"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb210-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> +<a class="sourceLine" id="cb210-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionPipeTables{true}</a> +<a class="sourceLine" id="cb210-3" data-line-number="3"><span class="fu">\starttext</span></a> +<a class="sourceLine" id="cb210-4" data-line-number="4"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb210-5" data-line-number="5">| Right | Left | Default | Center |</a> +<a class="sourceLine" id="cb210-6" data-line-number="6">|------:|:-----|---------|:------:|</a> +<a class="sourceLine" id="cb210-7" data-line-number="7">| 12 | 12 | 12 | 12 |</a> +<a class="sourceLine" id="cb210-8" data-line-number="8">| 123 | 123 | 123 | 123 |</a> +<a class="sourceLine" id="cb210-9" data-line-number="9">| 1 | 1 | 1 | 1 |</a> +<a class="sourceLine" id="cb210-10" data-line-number="10"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb210-11" data-line-number="11"><span class="fu">\stoptext</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb211"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb211-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> +<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> +<blockquote> +<table> +<thead> +<tr class="header"> +<th style="text-align: right;">Right</th> +<th style="text-align: left;">Left</th> +<th>Default</th> +<th style="text-align: center;">Center</th> +</tr> +</thead> +<tbody> +<tr class="odd"> +<td style="text-align: right;">12</td> +<td style="text-align: left;">12</td> +<td>12</td> +<td style="text-align: center;">12</td> +</tr> +<tr class="even"> +<td style="text-align: right;">123</td> +<td style="text-align: left;">123</td> +<td>123</td> +<td style="text-align: center;">123</td> +</tr> +<tr class="odd"> +<td style="text-align: right;">1</td> +<td style="text-align: left;">1</td> +<td>1</td> +<td style="text-align: center;">1</td> +</tr> +</tbody> +</table> +</blockquote> +<h4 id="option-preservetabs"><span class="header-section-number">2.2.1.20</span> Option <code>preserveTabs</code></h4> <dl> <dt><code>preserveTabs</code> (default value: <code>false</code>)</dt> <dd><dl> <dt>true</dt> -<dd><p>Preserve all tabs in the input.</p> +<dd><p>Preserve tabs in code block and fenced code blocks.</p> </dd> </dl> </dd> @@ -2397,56 +2513,137 @@ Thomas,Edison,1847</code></pre> </dl> </dd> </dl> -<p>This option is currently non-functional. See <a href="https://github.com/Witiko/markdown/issues/38" title="Tabs are stripped even with the `preserveTabs=true` Lua option enabled">the corresponding issue</a> in the package repository.</p> -<h4 id="slice"><span class="header-section-number">2.2.1.20</span> Option <code>slice</code></h4> +<h4 id="option-shiftheadings"><span class="header-section-number">2.2.1.21</span> Option <code>shiftHeadings</code></h4> +<dl> +<dt><code>shiftHeadings</code> (default value: <code>0</code>)</dt> +<dd><p>All headings will be shifted by ⟨<em>shift amount</em>⟩, which can be both positive and negative. Headings will not be shifted beyond level 6 or below level 1. Instead, those headings will be shifted to level 6, when ⟨<em>shift amount</em>⟩ is positive, and to level 1, when ⟨<em>shift amount</em>⟩ is negative.</p> +</dd> +</dl> +<h5 id="plain-tex-example-8" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> +<p>Using a text editor, create a text document named <code>example.md</code> with the following content:</p> +<div class="sourceCode" id="cb212"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb212-1" data-line-number="1"><span class="fu">## A section</span></a></code></pre></div> +<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> +<div class="sourceCode" id="cb213"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb213-1" data-line-number="1"><span class="fu">\input</span> markdown</a> +<a class="sourceLine" id="cb213-2" data-line-number="2"></a> +<a class="sourceLine" id="cb213-3" data-line-number="3"><span class="fu">\font\normal</span>=cmr10<span class="fu">\normal</span></a> +<a class="sourceLine" id="cb213-4" data-line-number="4"><span class="fu">\font\big</span>=cmr10 at 12pt</a> +<a class="sourceLine" id="cb213-5" data-line-number="5"><span class="fu">\def</span>\markdownRendererHeadingTwo#1{{\big #1\par}}</a> +<a class="sourceLine" id="cb213-6" data-line-number="6"><span class="fu">\font\bigger</span>=cmr10 scaled 1440</a> +<a class="sourceLine" id="cb213-7" data-line-number="7"><span class="fu">\def</span>\markdownRendererHeadingOne#1{{\bigger #1\par}}</a> +<a class="sourceLine" id="cb213-8" data-line-number="8"></a> +<a class="sourceLine" id="cb213-9" data-line-number="9"><span class="fu">\def</span>\markdownOptionShiftHeadings{-1}</a> +<a class="sourceLine" id="cb213-10" data-line-number="10"><span class="fu">\markdownInput</span>{example.md}</a> +<a class="sourceLine" id="cb213-11" data-line-number="11"></a> +<a class="sourceLine" id="cb213-12" data-line-number="12"><span class="fu">\def</span>\markdownOptionShiftHeadings{0}</a> +<a class="sourceLine" id="cb213-13" data-line-number="13"><span class="fu">\markdownInput</span>{example.md}</a> +<a class="sourceLine" id="cb213-14" data-line-number="14"></a> +<a class="sourceLine" id="cb213-15" data-line-number="15"><span class="fu">\def</span>\markdownOptionShiftHeadings{+1}</a> +<a class="sourceLine" id="cb213-16" data-line-number="16"><span class="fu">\markdownInput</span>{example.md}</a> +<a class="sourceLine" id="cb213-17" data-line-number="17"></a> +<a class="sourceLine" id="cb213-18" data-line-number="18"><span class="fu">\bye</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb214"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb214-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> +<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> +<blockquote> +<h1 id="a-section">A section</h1> +<h2 id="a-section-1">A section</h2> +<h3 id="a-section-2">A section</h3> +</blockquote> +<h5 id="latex-example-18" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> +<div class="sourceCode" id="cb215"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb215-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb215-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb215-3" data-line-number="3"><span class="bu">\usepackage</span>{<span class="ex">filecontents</span>}</a> +<a class="sourceLine" id="cb215-4" data-line-number="4"><span class="kw">\begin</span>{<span class="ex">filecontents*</span>}{example.md}</a> +<a class="sourceLine" id="cb215-5" data-line-number="5">## A section</a> +<a class="sourceLine" id="cb215-6" data-line-number="6"><span class="kw">\end</span>{<span class="ex">filecontents*</span>}</a> +<a class="sourceLine" id="cb215-7" data-line-number="7"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb215-8" data-line-number="8"><span class="fu">\markdownInput</span>[shiftHeadings=-1]{example.md}</a> +<a class="sourceLine" id="cb215-9" data-line-number="9"><span class="fu">\markdownInput</span>{example.md}</a> +<a class="sourceLine" id="cb215-10" data-line-number="10"><span class="fu">\markdownInput</span>[shiftHeadings=+1]{example.md}</a> +<a class="sourceLine" id="cb215-11" data-line-number="11"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb216"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb216-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> +<blockquote> +<h1 id="a-section-3">A section</h1> +<h2 id="a-section-4">A section</h2> +<h3 id="a-section-5">A section</h3> +</blockquote> +<h5 id="context-example-16" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> +<p>Using a text editor, create a text document named <code>example.md</code> with the following content:</p> +<div class="sourceCode" id="cb217"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb217-1" data-line-number="1"><span class="fu">## A section</span></a></code></pre></div> +<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> +<div class="sourceCode" id="cb218"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb218-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> +<a class="sourceLine" id="cb218-2" data-line-number="2"><span class="fu">\starttext</span></a> +<a class="sourceLine" id="cb218-3" data-line-number="3"></a> +<a class="sourceLine" id="cb218-4" data-line-number="4"><span class="fu">\def</span>\markdownOptionShiftHeadings{-1}</a> +<a class="sourceLine" id="cb218-5" data-line-number="5"><span class="fu">\markdownInput</span>{example.md}</a> +<a class="sourceLine" id="cb218-6" data-line-number="6"></a> +<a class="sourceLine" id="cb218-7" data-line-number="7"><span class="fu">\def</span>\markdownOptionShiftHeadings{0}</a> +<a class="sourceLine" id="cb218-8" data-line-number="8"><span class="fu">\markdownInput</span>{example.md}</a> +<a class="sourceLine" id="cb218-9" data-line-number="9"></a> +<a class="sourceLine" id="cb218-10" data-line-number="10"><span class="fu">\def</span>\markdownOptionShiftHeadings{+1}</a> +<a class="sourceLine" id="cb218-11" data-line-number="11"><span class="fu">\markdownInput</span>{example.md}</a> +<a class="sourceLine" id="cb218-12" data-line-number="12"></a> +<a class="sourceLine" id="cb218-13" data-line-number="13"><span class="fu">\stoptext</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb219"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb219-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> +<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> +<blockquote> +<h1 id="a-section-6">A section</h1> +<h2 id="a-section-7">A section</h2> +<h3 id="a-section-8">A section</h3> +</blockquote> +<h4 id="slice"><span class="header-section-number">2.2.1.22</span> Option <code>slice</code></h4> <dl> <dt><code>slice</code> (default value: <code>^ $</code>)</dt> <dd><p>Two space-separated selectors that specify the slice of a document that will be processed, whereas the remainder of the document will be ignored. The following selectors are recognized:</p> <ul> <li>The circumflex (<code>^</code>) selects the beginning of a document.</li> <li>The dollar sign (<code>$</code>) selects the end of a document.</li> -<li><code>^</code>⟨<em>identifier</em>⟩ selects the beginning of a section with the <a href="#header-attributes">HTML attribute</a> <code>#</code>⟨<em>identifier</em>⟩.</li> -<li><code>$</code>⟨<em>identifier</em>⟩ selects the end of a section with the HTML attribute <code>#</code>⟨<em>identifier</em>⟩.</li> +<li><code>^</code>⟨<em>identifier</em>⟩ selects the beginning of a section with the <a href="#header-attributes"><abbr>HTML</abbr> attribute</a> <code>#</code>⟨<em>identifier</em>⟩.</li> +<li><code>$</code>⟨<em>identifier</em>⟩ selects the end of a section with the <abbr>HTML</abbr> attribute <code>#</code>⟨<em>identifier</em>⟩.</li> <li>⟨<em>identifier</em>⟩ corresponds to <code>^</code>⟨<em>identifier</em>⟩ for the first selector and to <code>$</code>⟨<em>identifier</em>⟩ for the second selector.</li> </ul> -<p>Specifying only a single selector, ⟨<em>identifier</em>⟩, is equivalent to specifying the two selectors ⟨<em>identifier</em>⟩ ⟨<em>identifier</em>⟩, which is equivalent to <code>^</code>⟨<em>identifier</em>⟩ <code>$</code>⟨<em>identifier</em>⟩.</p> +<p>Specifying only a single selector, ⟨<em>identifier</em>⟩, is equivalent to specifying the two selectors ⟨<em>identifier</em>⟩ ⟨<em>identifier</em>⟩, which is equivalent to <code>^</code>⟨<em>identifier</em>⟩ <code>$</code>⟨<em>identifier</em>⟩, i.e. the entire section with the <abbr>HTML</abbr> attribute <code>#</code>⟨<em>identifier</em>⟩ will be selected.</p> </dd> </dl> -<h5 id="plain-tex-example-8" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> +<h5 id="plain-tex-example-9" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>hamlet.md</code> with the following content:</p> -<div class="sourceCode" id="cb207"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb207-1" data-line-number="1"><span class="fu"># The Tragedy of Hamlet</span></a> -<a class="sourceLine" id="cb207-2" data-line-number="2">Shakespeare's longest play.</a> -<a class="sourceLine" id="cb207-3" data-line-number="3"></a> -<a class="sourceLine" id="cb207-4" data-line-number="4"><span class="fu">## Act III {#act-3}</span></a> -<a class="sourceLine" id="cb207-5" data-line-number="5">Hamlet kills Polonius.</a> -<a class="sourceLine" id="cb207-6" data-line-number="6"></a> -<a class="sourceLine" id="cb207-7" data-line-number="7"><span class="fu">## Act V {#act-5}</span></a> -<a class="sourceLine" id="cb207-8" data-line-number="8">Hamlet dies.</a> -<a class="sourceLine" id="cb207-9" data-line-number="9"></a> -<a class="sourceLine" id="cb207-10" data-line-number="10"><span class="fu">## Act I {#act-1}</span></a> -<a class="sourceLine" id="cb207-11" data-line-number="11">Hamlet talks to ghost.</a></code></pre></div> -<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb208"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb208-1" data-line-number="1"><span class="fu">\input</span> markdown</a> -<a class="sourceLine" id="cb208-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionHeaderAttributes{true}</a> -<a class="sourceLine" id="cb208-3" data-line-number="3"></a> -<a class="sourceLine" id="cb208-4" data-line-number="4"><span class="fu">\font\normal</span>=cmr10<span class="fu">\normal</span></a> -<a class="sourceLine" id="cb208-5" data-line-number="5"><span class="fu">\font\big</span>=cmr10 at 12pt</a> -<a class="sourceLine" id="cb208-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererHeadingTwo#1{{\big #1\par}}</a> -<a class="sourceLine" id="cb208-7" data-line-number="7"><span class="fu">\font\bigger</span>=cmr10 scaled 1440</a> -<a class="sourceLine" id="cb208-8" data-line-number="8"><span class="fu">\def</span>\markdownRendererHeadingOne#1{{\bigger #1\par}}</a> -<a class="sourceLine" id="cb208-9" data-line-number="9"></a> -<a class="sourceLine" id="cb208-10" data-line-number="10"><span class="fu">\def</span>\markdownOptionSlice{^ ^act-3}</a> -<a class="sourceLine" id="cb208-11" data-line-number="11"><span class="fu">\markdownInput</span>{hamlet.md}</a> -<a class="sourceLine" id="cb208-12" data-line-number="12"></a> -<a class="sourceLine" id="cb208-13" data-line-number="13"><span class="fu">\def</span>\markdownOptionSlice{act-1}</a> -<a class="sourceLine" id="cb208-14" data-line-number="14"><span class="fu">\markdownInput</span>{hamlet.md}</a> -<a class="sourceLine" id="cb208-15" data-line-number="15"></a> -<a class="sourceLine" id="cb208-16" data-line-number="16"><span class="fu">\def</span>\markdownOptionSlice{act-3 act-5}</a> -<a class="sourceLine" id="cb208-17" data-line-number="17"><span class="fu">\markdownInput</span>{hamlet.md}</a> -<a class="sourceLine" id="cb208-18" data-line-number="18"></a> -<a class="sourceLine" id="cb208-19" data-line-number="19"><span class="fu">\bye</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb209"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb209-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb220"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb220-1" data-line-number="1"><span class="fu"># The Tragedy of Hamlet</span></a> +<a class="sourceLine" id="cb220-2" data-line-number="2">Shakespeare's longest play.</a> +<a class="sourceLine" id="cb220-3" data-line-number="3"></a> +<a class="sourceLine" id="cb220-4" data-line-number="4"><span class="fu">## Act III {#act-3}</span></a> +<a class="sourceLine" id="cb220-5" data-line-number="5">Hamlet kills Polonius.</a> +<a class="sourceLine" id="cb220-6" data-line-number="6"></a> +<a class="sourceLine" id="cb220-7" data-line-number="7"><span class="fu">## Act V {#act-5}</span></a> +<a class="sourceLine" id="cb220-8" data-line-number="8">Hamlet dies.</a> +<a class="sourceLine" id="cb220-9" data-line-number="9"></a> +<a class="sourceLine" id="cb220-10" data-line-number="10"><span class="fu">## Act I {#act-1}</span></a> +<a class="sourceLine" id="cb220-11" data-line-number="11">Hamlet talks to ghost.</a></code></pre></div> +<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> +<div class="sourceCode" id="cb221"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb221-1" data-line-number="1"><span class="fu">\input</span> markdown</a> +<a class="sourceLine" id="cb221-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionHeaderAttributes{true}</a> +<a class="sourceLine" id="cb221-3" data-line-number="3"></a> +<a class="sourceLine" id="cb221-4" data-line-number="4"><span class="fu">\font\normal</span>=cmr10<span class="fu">\normal</span></a> +<a class="sourceLine" id="cb221-5" data-line-number="5"><span class="fu">\font\big</span>=cmr10 at 12pt</a> +<a class="sourceLine" id="cb221-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererHeadingTwo#1{{\big #1\par}}</a> +<a class="sourceLine" id="cb221-7" data-line-number="7"><span class="fu">\font\bigger</span>=cmr10 scaled 1440</a> +<a class="sourceLine" id="cb221-8" data-line-number="8"><span class="fu">\def</span>\markdownRendererHeadingOne#1{{\bigger #1\par}}</a> +<a class="sourceLine" id="cb221-9" data-line-number="9"></a> +<a class="sourceLine" id="cb221-10" data-line-number="10"><span class="fu">\def</span>\markdownOptionSlice{^ ^act-3}</a> +<a class="sourceLine" id="cb221-11" data-line-number="11"><span class="fu">\markdownInput</span>{hamlet.md}</a> +<a class="sourceLine" id="cb221-12" data-line-number="12"></a> +<a class="sourceLine" id="cb221-13" data-line-number="13"><span class="fu">\def</span>\markdownOptionSlice{act-1}</a> +<a class="sourceLine" id="cb221-14" data-line-number="14"><span class="fu">\markdownInput</span>{hamlet.md}</a> +<a class="sourceLine" id="cb221-15" data-line-number="15"></a> +<a class="sourceLine" id="cb221-16" data-line-number="16"><span class="fu">\def</span>\markdownOptionSlice{act-3 act-5}</a> +<a class="sourceLine" id="cb221-17" data-line-number="17"><span class="fu">\markdownInput</span>{hamlet.md}</a> +<a class="sourceLine" id="cb221-18" data-line-number="18"></a> +<a class="sourceLine" id="cb221-19" data-line-number="19"><span class="fu">\bye</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb222"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb222-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <h1 id="the-tragedy-of-hamlet">The Tragedy of Hamlet</h1> @@ -2458,31 +2655,31 @@ Thomas,Edison,1847</code></pre> <h2 id="act-v">Act V</h2> <p>Hamlet dies.</p> </blockquote> -<h5 id="latex-example-17" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<h5 id="latex-example-19" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb210"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb210-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> -<a class="sourceLine" id="cb210-2" data-line-number="2"><span class="bu">\usepackage</span>[headerAttributes]{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb210-3" data-line-number="3"><span class="bu">\usepackage</span>{<span class="ex">filecontents</span>}</a> -<a class="sourceLine" id="cb210-4" data-line-number="4"><span class="kw">\begin</span>{<span class="ex">filecontents*</span>}{hamlet.md}</a> -<a class="sourceLine" id="cb210-5" data-line-number="5"># The Tragedy of Hamlet</a> -<a class="sourceLine" id="cb210-6" data-line-number="6">Shakespeare's longest play.</a> -<a class="sourceLine" id="cb210-7" data-line-number="7"></a> -<a class="sourceLine" id="cb210-8" data-line-number="8">## Act III {#act-3}</a> -<a class="sourceLine" id="cb210-9" data-line-number="9">Hamlet kills Polonius.</a> -<a class="sourceLine" id="cb210-10" data-line-number="10"></a> -<a class="sourceLine" id="cb210-11" data-line-number="11">## Act V {#act-5}</a> -<a class="sourceLine" id="cb210-12" data-line-number="12">Hamlet dies.</a> -<a class="sourceLine" id="cb210-13" data-line-number="13"></a> -<a class="sourceLine" id="cb210-14" data-line-number="14">## Act I {#act-1}</a> -<a class="sourceLine" id="cb210-15" data-line-number="15">Hamlet talks to ghost.</a> -<a class="sourceLine" id="cb210-16" data-line-number="16"><span class="kw">\end</span>{<span class="ex">filecontents*</span>}</a> -<a class="sourceLine" id="cb210-17" data-line-number="17"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb210-18" data-line-number="18"><span class="fu">\markdownInput</span>[slice=^ ^act-3]{hamlet.md}</a> -<a class="sourceLine" id="cb210-19" data-line-number="19"><span class="fu">\markdownInput</span>[slice=act-1]{hamlet.md}</a> -<a class="sourceLine" id="cb210-20" data-line-number="20"><span class="fu">\markdownInput</span>[slice=act-3 act-5]{hamlet.md}</a> -<a class="sourceLine" id="cb210-21" data-line-number="21"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb211"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb211-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb223"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb223-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb223-2" data-line-number="2"><span class="bu">\usepackage</span>[headerAttributes]{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb223-3" data-line-number="3"><span class="bu">\usepackage</span>{<span class="ex">filecontents</span>}</a> +<a class="sourceLine" id="cb223-4" data-line-number="4"><span class="kw">\begin</span>{<span class="ex">filecontents*</span>}{hamlet.md}</a> +<a class="sourceLine" id="cb223-5" data-line-number="5"># The Tragedy of Hamlet</a> +<a class="sourceLine" id="cb223-6" data-line-number="6">Shakespeare's longest play.</a> +<a class="sourceLine" id="cb223-7" data-line-number="7"></a> +<a class="sourceLine" id="cb223-8" data-line-number="8">## Act III {#act-3}</a> +<a class="sourceLine" id="cb223-9" data-line-number="9">Hamlet kills Polonius.</a> +<a class="sourceLine" id="cb223-10" data-line-number="10"></a> +<a class="sourceLine" id="cb223-11" data-line-number="11">## Act V {#act-5}</a> +<a class="sourceLine" id="cb223-12" data-line-number="12">Hamlet dies.</a> +<a class="sourceLine" id="cb223-13" data-line-number="13"></a> +<a class="sourceLine" id="cb223-14" data-line-number="14">## Act I {#act-1}</a> +<a class="sourceLine" id="cb223-15" data-line-number="15">Hamlet talks to ghost.</a> +<a class="sourceLine" id="cb223-16" data-line-number="16"><span class="kw">\end</span>{<span class="ex">filecontents*</span>}</a> +<a class="sourceLine" id="cb223-17" data-line-number="17"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb223-18" data-line-number="18"><span class="fu">\markdownInput</span>[slice=^ ^act-3]{hamlet.md}</a> +<a class="sourceLine" id="cb223-19" data-line-number="19"><span class="fu">\markdownInput</span>[slice=act-1]{hamlet.md}</a> +<a class="sourceLine" id="cb223-20" data-line-number="20"><span class="fu">\markdownInput</span>[slice=act-3 act-5]{hamlet.md}</a> +<a class="sourceLine" id="cb223-21" data-line-number="21"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb224"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb224-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <h1 id="the-tragedy-of-hamlet-1">The Tragedy of Hamlet</h1> @@ -2494,36 +2691,36 @@ Thomas,Edison,1847</code></pre> <h2 id="act-v-1">Act V</h2> <p>Hamlet dies.</p> </blockquote> -<h5 id="context-example-15" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> +<h5 id="context-example-17" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>hamlet.md</code> with the following content:</p> -<div class="sourceCode" id="cb212"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb212-1" data-line-number="1"><span class="fu"># The Tragedy of Hamlet</span></a> -<a class="sourceLine" id="cb212-2" data-line-number="2">Shakespeare's longest play.</a> -<a class="sourceLine" id="cb212-3" data-line-number="3"></a> -<a class="sourceLine" id="cb212-4" data-line-number="4"><span class="fu">## Act III {#act-3}</span></a> -<a class="sourceLine" id="cb212-5" data-line-number="5">Hamlet kills Polonius.</a> -<a class="sourceLine" id="cb212-6" data-line-number="6"></a> -<a class="sourceLine" id="cb212-7" data-line-number="7"><span class="fu">## Act V {#act-5}</span></a> -<a class="sourceLine" id="cb212-8" data-line-number="8">Hamlet dies.</a> -<a class="sourceLine" id="cb212-9" data-line-number="9"></a> -<a class="sourceLine" id="cb212-10" data-line-number="10"><span class="fu">## Act I {#act-1}</span></a> -<a class="sourceLine" id="cb212-11" data-line-number="11">Hamlet talks to ghost.</a></code></pre></div> -<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb213"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb213-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> -<a class="sourceLine" id="cb213-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionHeaderAttributes{true}</a> -<a class="sourceLine" id="cb213-3" data-line-number="3"><span class="fu">\starttext</span></a> -<a class="sourceLine" id="cb213-4" data-line-number="4"></a> -<a class="sourceLine" id="cb213-5" data-line-number="5"><span class="fu">\def</span>\markdownOptionSlice{^ ^act-3}</a> -<a class="sourceLine" id="cb213-6" data-line-number="6"><span class="fu">\markdownInput</span>{hamlet.md}</a> -<a class="sourceLine" id="cb213-7" data-line-number="7"></a> -<a class="sourceLine" id="cb213-8" data-line-number="8"><span class="fu">\def</span>\markdownOptionSlice{act-1}</a> -<a class="sourceLine" id="cb213-9" data-line-number="9"><span class="fu">\markdownInput</span>{hamlet.md}</a> -<a class="sourceLine" id="cb213-10" data-line-number="10"></a> -<a class="sourceLine" id="cb213-11" data-line-number="11"><span class="fu">\def</span>\markdownOptionSlice{act-3 act-5}</a> -<a class="sourceLine" id="cb213-12" data-line-number="12"><span class="fu">\markdownInput</span>{hamlet.md}</a> -<a class="sourceLine" id="cb213-13" data-line-number="13"></a> -<a class="sourceLine" id="cb213-14" data-line-number="14"><span class="fu">\stoptext</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb214"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb214-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb225"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb225-1" data-line-number="1"><span class="fu"># The Tragedy of Hamlet</span></a> +<a class="sourceLine" id="cb225-2" data-line-number="2">Shakespeare's longest play.</a> +<a class="sourceLine" id="cb225-3" data-line-number="3"></a> +<a class="sourceLine" id="cb225-4" data-line-number="4"><span class="fu">## Act III {#act-3}</span></a> +<a class="sourceLine" id="cb225-5" data-line-number="5">Hamlet kills Polonius.</a> +<a class="sourceLine" id="cb225-6" data-line-number="6"></a> +<a class="sourceLine" id="cb225-7" data-line-number="7"><span class="fu">## Act V {#act-5}</span></a> +<a class="sourceLine" id="cb225-8" data-line-number="8">Hamlet dies.</a> +<a class="sourceLine" id="cb225-9" data-line-number="9"></a> +<a class="sourceLine" id="cb225-10" data-line-number="10"><span class="fu">## Act I {#act-1}</span></a> +<a class="sourceLine" id="cb225-11" data-line-number="11">Hamlet talks to ghost.</a></code></pre></div> +<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> +<div class="sourceCode" id="cb226"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb226-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> +<a class="sourceLine" id="cb226-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionHeaderAttributes{true}</a> +<a class="sourceLine" id="cb226-3" data-line-number="3"><span class="fu">\starttext</span></a> +<a class="sourceLine" id="cb226-4" data-line-number="4"></a> +<a class="sourceLine" id="cb226-5" data-line-number="5"><span class="fu">\def</span>\markdownOptionSlice{^ ^act-3}</a> +<a class="sourceLine" id="cb226-6" data-line-number="6"><span class="fu">\markdownInput</span>{hamlet.md}</a> +<a class="sourceLine" id="cb226-7" data-line-number="7"></a> +<a class="sourceLine" id="cb226-8" data-line-number="8"><span class="fu">\def</span>\markdownOptionSlice{act-1}</a> +<a class="sourceLine" id="cb226-9" data-line-number="9"><span class="fu">\markdownInput</span>{hamlet.md}</a> +<a class="sourceLine" id="cb226-10" data-line-number="10"></a> +<a class="sourceLine" id="cb226-11" data-line-number="11"><span class="fu">\def</span>\markdownOptionSlice{act-3 act-5}</a> +<a class="sourceLine" id="cb226-12" data-line-number="12"><span class="fu">\markdownInput</span>{hamlet.md}</a> +<a class="sourceLine" id="cb226-13" data-line-number="13"></a> +<a class="sourceLine" id="cb226-14" data-line-number="14"><span class="fu">\stoptext</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb227"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb227-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <h1 id="the-tragedy-of-hamlet-2">The Tragedy of Hamlet</h1> @@ -2535,7 +2732,7 @@ Thomas,Edison,1847</code></pre> <h2 id="act-v-2">Act V</h2> <p>Hamlet dies.</p> </blockquote> -<h4 id="option-smartellipses"><span class="header-section-number">2.2.1.21</span> Option <code>smartEllipses</code></h4> +<h4 id="option-smartellipses"><span class="header-section-number">2.2.1.23</span> Option <code>smartEllipses</code></h4> <dl> <dt><code>smartEllipses</code> (default value: <code>false</code>)</dt> <dd><dl> @@ -2553,23 +2750,23 @@ Thomas,Edison,1847</code></pre> </dl> <h5 id="lua-module-example-8" class="unnumbered">Lua Module Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb215"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb215-1" data-line-number="1"><span class="fu">\input</span> markdown</a> -<a class="sourceLine" id="cb215-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererEllipsis{. . .}</a> -<a class="sourceLine" id="cb215-3" data-line-number="3"><span class="fu">\input</span> lmfonts</a> -<a class="sourceLine" id="cb215-4" data-line-number="4"><span class="fu">\directlua</span>{</a> -<a class="sourceLine" id="cb215-5" data-line-number="5"> local markdown = require("markdown")</a> -<a class="sourceLine" id="cb215-6" data-line-number="6"> local convert = markdown.new()</a> -<a class="sourceLine" id="cb215-7" data-line-number="7"> local input = "These are just three regular dots ..."</a> -<a class="sourceLine" id="cb215-8" data-line-number="8"> tex.sprint(convert(input)) }</a> -<a class="sourceLine" id="cb215-9" data-line-number="9"><span class="fu">\par</span></a> -<a class="sourceLine" id="cb215-10" data-line-number="10"><span class="fu">\directlua</span>{</a> -<a class="sourceLine" id="cb215-11" data-line-number="11"> local markdown = require("markdown")</a> -<a class="sourceLine" id="cb215-12" data-line-number="12"> local convert = markdown.new({smartEllipses = true})</a> -<a class="sourceLine" id="cb215-13" data-line-number="13"> local input = "... and this is a victorian ellipsis."</a> -<a class="sourceLine" id="cb215-14" data-line-number="14"> tex.sprint(convert(input)) }</a> -<a class="sourceLine" id="cb215-15" data-line-number="15"><span class="fu">\bye</span></a></code></pre></div> +<div class="sourceCode" id="cb228"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb228-1" data-line-number="1"><span class="fu">\input</span> markdown</a> +<a class="sourceLine" id="cb228-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererEllipsis{. . .}</a> +<a class="sourceLine" id="cb228-3" data-line-number="3"><span class="fu">\input</span> lmfonts</a> +<a class="sourceLine" id="cb228-4" data-line-number="4"><span class="fu">\directlua</span>{</a> +<a class="sourceLine" id="cb228-5" data-line-number="5"> local markdown = require("markdown")</a> +<a class="sourceLine" id="cb228-6" data-line-number="6"> local convert = markdown.new()</a> +<a class="sourceLine" id="cb228-7" data-line-number="7"> local input = "These are just three regular dots ..."</a> +<a class="sourceLine" id="cb228-8" data-line-number="8"> tex.sprint(convert(input)) }</a> +<a class="sourceLine" id="cb228-9" data-line-number="9"><span class="fu">\par</span></a> +<a class="sourceLine" id="cb228-10" data-line-number="10"><span class="fu">\directlua</span>{</a> +<a class="sourceLine" id="cb228-11" data-line-number="11"> local markdown = require("markdown")</a> +<a class="sourceLine" id="cb228-12" data-line-number="12"> local convert = markdown.new({smartEllipses = true})</a> +<a class="sourceLine" id="cb228-13" data-line-number="13"> local input = "... and this is a victorian ellipsis."</a> +<a class="sourceLine" id="cb228-14" data-line-number="14"> tex.sprint(convert(input)) }</a> +<a class="sourceLine" id="cb228-15" data-line-number="15"><span class="fu">\bye</span></a></code></pre></div> <p>Then, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb216"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb216-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb229"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb229-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>These are just three regular dots …</p> @@ -2577,96 +2774,96 @@ Thomas,Edison,1847</code></pre> </blockquote> <h5 id="lua-cli-example-8" class="unnumbered">Lua CLI Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb217"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb217-1" data-line-number="1"><span class="fu">\input</span> markdown</a> -<a class="sourceLine" id="cb217-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererEllipsis{. . .}</a> -<a class="sourceLine" id="cb217-3" data-line-number="3"><span class="fu">\input</span> lmfonts</a> -<a class="sourceLine" id="cb217-4" data-line-number="4"><span class="fu">\input</span> optionfalse</a> -<a class="sourceLine" id="cb217-5" data-line-number="5"><span class="fu">\par</span></a> -<a class="sourceLine" id="cb217-6" data-line-number="6"><span class="fu">\input</span> optiontrue</a> -<a class="sourceLine" id="cb217-7" data-line-number="7"><span class="fu">\bye</span></a></code></pre></div> +<div class="sourceCode" id="cb230"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb230-1" data-line-number="1"><span class="fu">\input</span> markdown</a> +<a class="sourceLine" id="cb230-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererEllipsis{. . .}</a> +<a class="sourceLine" id="cb230-3" data-line-number="3"><span class="fu">\input</span> lmfonts</a> +<a class="sourceLine" id="cb230-4" data-line-number="4"><span class="fu">\input</span> optionfalse</a> +<a class="sourceLine" id="cb230-5" data-line-number="5"><span class="fu">\par</span></a> +<a class="sourceLine" id="cb230-6" data-line-number="6"><span class="fu">\input</span> optiontrue</a> +<a class="sourceLine" id="cb230-7" data-line-number="7"><span class="fu">\bye</span></a></code></pre></div> <p>Using a text editor, create a text document named <code>content.md</code> with the following content:</p> -<div class="sourceCode" id="cb218"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb218-1" data-line-number="1">Are these just three regular dots, a victorian ellipsis, or ... ?</a></code></pre></div> +<div class="sourceCode" id="cb231"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb231-1" data-line-number="1">Are these just three regular dots, a victorian ellipsis, or ... ?</a></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb219"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb219-1" data-line-number="1"><span class="ex">texlua</span> ⟨CLI pathname⟩ -- content.md optionfalse.tex</a> -<a class="sourceLine" id="cb219-2" data-line-number="2"><span class="ex">texlua</span> ⟨CLI pathname⟩ smartEllipses=true -- content.md optiontrue.tex</a> -<a class="sourceLine" id="cb219-3" data-line-number="3"><span class="ex">luatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb232"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb232-1" data-line-number="1"><span class="ex">texlua</span> ⟨CLI pathname⟩ -- content.md optionfalse.tex</a> +<a class="sourceLine" id="cb232-2" data-line-number="2"><span class="ex">texlua</span> ⟨CLI pathname⟩ smartEllipses=true -- content.md optiontrue.tex</a> +<a class="sourceLine" id="cb232-3" data-line-number="3"><span class="ex">luatex</span> document.tex</a></code></pre></div> <p>where ⟨<em>CLI pathname</em>⟩ corresponds to the location of the Lua CLI script file, such as <code>~/texmf/scripts/markdown/markdown-cli.lua</code> on UN*X systems or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on Windows systems. Use the command <code>kpsewhich markdown-cli.lua</code> to locate the Lua CLI script file using <a href="https://tug.org/kpathsea/" title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>Are these just three regular dots, a victorian ellipsis, or … ?</p> <p>Are these just three regular dots, a victorian ellipsis, or . . . ?</p> </blockquote> -<h5 id="plain-tex-example-9" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> +<h5 id="plain-tex-example-10" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb220"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb220-1" data-line-number="1"><span class="fu">\input</span> markdown</a> -<a class="sourceLine" id="cb220-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererEllipsis{. . .}</a> -<a class="sourceLine" id="cb220-3" data-line-number="3"></a> -<a class="sourceLine" id="cb220-4" data-line-number="4"><span class="fu">\markdownBegin</span></a> -<a class="sourceLine" id="cb220-5" data-line-number="5">These are just three regular dots ...</a> -<a class="sourceLine" id="cb220-6" data-line-number="6"><span class="fu">\markdownEnd</span></a> -<a class="sourceLine" id="cb220-7" data-line-number="7"></a> -<a class="sourceLine" id="cb220-8" data-line-number="8"><span class="fu">\def</span>\markdownOptionSmartEllipses{true}</a> -<a class="sourceLine" id="cb220-9" data-line-number="9"><span class="fu">\markdownBegin</span></a> -<a class="sourceLine" id="cb220-10" data-line-number="10">... and this is a victorian ellipsis.</a> -<a class="sourceLine" id="cb220-11" data-line-number="11"><span class="fu">\markdownEnd</span></a> -<a class="sourceLine" id="cb220-12" data-line-number="12"></a> -<a class="sourceLine" id="cb220-13" data-line-number="13"><span class="fu">\bye</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb221"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb221-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb233"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb233-1" data-line-number="1"><span class="fu">\input</span> markdown</a> +<a class="sourceLine" id="cb233-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererEllipsis{. . .}</a> +<a class="sourceLine" id="cb233-3" data-line-number="3"></a> +<a class="sourceLine" id="cb233-4" data-line-number="4"><span class="fu">\markdownBegin</span></a> +<a class="sourceLine" id="cb233-5" data-line-number="5">These are just three regular dots ...</a> +<a class="sourceLine" id="cb233-6" data-line-number="6"><span class="fu">\markdownEnd</span></a> +<a class="sourceLine" id="cb233-7" data-line-number="7"></a> +<a class="sourceLine" id="cb233-8" data-line-number="8"><span class="fu">\def</span>\markdownOptionSmartEllipses{true}</a> +<a class="sourceLine" id="cb233-9" data-line-number="9"><span class="fu">\markdownBegin</span></a> +<a class="sourceLine" id="cb233-10" data-line-number="10">... and this is a victorian ellipsis.</a> +<a class="sourceLine" id="cb233-11" data-line-number="11"><span class="fu">\markdownEnd</span></a> +<a class="sourceLine" id="cb233-12" data-line-number="12"></a> +<a class="sourceLine" id="cb233-13" data-line-number="13"><span class="fu">\bye</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb234"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb234-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>These are just three regular dots …</p> <p>. . . and this is a victorian ellipsis.</p> </blockquote> -<h5 id="latex-example-18" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<h5 id="latex-example-20" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb222"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb222-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> -<a class="sourceLine" id="cb222-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb222-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a> -<a class="sourceLine" id="cb222-4" data-line-number="4"> renderers = {</a> -<a class="sourceLine" id="cb222-5" data-line-number="5"> ellipsis = {. . .} }}</a> -<a class="sourceLine" id="cb222-6" data-line-number="6"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb222-7" data-line-number="7"></a> -<a class="sourceLine" id="cb222-8" data-line-number="8"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb222-9" data-line-number="9">These are just three regular dots ...</a> -<a class="sourceLine" id="cb222-10" data-line-number="10"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb222-11" data-line-number="11"></a> -<a class="sourceLine" id="cb222-12" data-line-number="12"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{smartEllipses}</a> -<a class="sourceLine" id="cb222-13" data-line-number="13">... and this is a victorian ellipsis.</a> -<a class="sourceLine" id="cb222-14" data-line-number="14"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a> -<a class="sourceLine" id="cb222-15" data-line-number="15"></a> -<a class="sourceLine" id="cb222-16" data-line-number="16"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb223"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb223-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb235"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb235-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb235-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb235-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a> +<a class="sourceLine" id="cb235-4" data-line-number="4"> renderers = {</a> +<a class="sourceLine" id="cb235-5" data-line-number="5"> ellipsis = {. . .} }}</a> +<a class="sourceLine" id="cb235-6" data-line-number="6"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb235-7" data-line-number="7"></a> +<a class="sourceLine" id="cb235-8" data-line-number="8"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb235-9" data-line-number="9">These are just three regular dots ...</a> +<a class="sourceLine" id="cb235-10" data-line-number="10"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb235-11" data-line-number="11"></a> +<a class="sourceLine" id="cb235-12" data-line-number="12"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{smartEllipses}</a> +<a class="sourceLine" id="cb235-13" data-line-number="13">... and this is a victorian ellipsis.</a> +<a class="sourceLine" id="cb235-14" data-line-number="14"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a> +<a class="sourceLine" id="cb235-15" data-line-number="15"></a> +<a class="sourceLine" id="cb235-16" data-line-number="16"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb236"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb236-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>These are just three regular dots …</p> <p>. . . and this is a victorian ellipsis.</p> </blockquote> -<h5 id="context-example-16" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> +<h5 id="context-example-18" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb224"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb224-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> -<a class="sourceLine" id="cb224-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererEllipsis{. . .}</a> -<a class="sourceLine" id="cb224-3" data-line-number="3"><span class="fu">\starttext</span></a> -<a class="sourceLine" id="cb224-4" data-line-number="4"></a> -<a class="sourceLine" id="cb224-5" data-line-number="5"><span class="fu">\startmarkdown</span></a> -<a class="sourceLine" id="cb224-6" data-line-number="6">These are just three regular dots ...</a> -<a class="sourceLine" id="cb224-7" data-line-number="7"><span class="fu">\stopmarkdown</span></a> -<a class="sourceLine" id="cb224-8" data-line-number="8"></a> -<a class="sourceLine" id="cb224-9" data-line-number="9"><span class="fu">\def</span>\markdownOptionSmartEllipses{true}</a> -<a class="sourceLine" id="cb224-10" data-line-number="10"><span class="fu">\startmarkdown</span></a> -<a class="sourceLine" id="cb224-11" data-line-number="11">... and this is a victorian ellipsis.</a> -<a class="sourceLine" id="cb224-12" data-line-number="12"><span class="fu">\stopmarkdown</span></a> -<a class="sourceLine" id="cb224-13" data-line-number="13"></a> -<a class="sourceLine" id="cb224-14" data-line-number="14"><span class="fu">\stoptext</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb225"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb225-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb237"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb237-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> +<a class="sourceLine" id="cb237-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererEllipsis{. . .}</a> +<a class="sourceLine" id="cb237-3" data-line-number="3"><span class="fu">\starttext</span></a> +<a class="sourceLine" id="cb237-4" data-line-number="4"></a> +<a class="sourceLine" id="cb237-5" data-line-number="5"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb237-6" data-line-number="6">These are just three regular dots ...</a> +<a class="sourceLine" id="cb237-7" data-line-number="7"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb237-8" data-line-number="8"></a> +<a class="sourceLine" id="cb237-9" data-line-number="9"><span class="fu">\def</span>\markdownOptionSmartEllipses{true}</a> +<a class="sourceLine" id="cb237-10" data-line-number="10"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb237-11" data-line-number="11">... and this is a victorian ellipsis.</a> +<a class="sourceLine" id="cb237-12" data-line-number="12"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb237-13" data-line-number="13"></a> +<a class="sourceLine" id="cb237-14" data-line-number="14"><span class="fu">\stoptext</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb238"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb238-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>These are just three regular dots …</p> <p>. . . and this is a victorian ellipsis.</p> </blockquote> -<h4 id="option-startnumber"><span class="header-section-number">2.2.1.22</span> Option <code>startNumber</code></h4> +<h4 id="option-startnumber"><span class="header-section-number">2.2.1.24</span> Option <code>startNumber</code></h4> <dl> <dt><code>startNumber</code> (default value: <code>true</code>)</dt> <dd><dl> @@ -2682,32 +2879,32 @@ Thomas,Edison,1847</code></pre> </dl> </dd> </dl> -<h5 id="latex-example-19" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<h5 id="latex-example-21" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb226"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb226-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> -<a class="sourceLine" id="cb226-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb226-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb226-4" data-line-number="4"></a> -<a class="sourceLine" id="cb226-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb226-6" data-line-number="6">The following list respects the numbers specified in the markup:</a> -<a class="sourceLine" id="cb226-7" data-line-number="7"></a> -<a class="sourceLine" id="cb226-8" data-line-number="8">3. third item</a> -<a class="sourceLine" id="cb226-9" data-line-number="9">4. fourth item</a> -<a class="sourceLine" id="cb226-10" data-line-number="10">5. fifth item</a> -<a class="sourceLine" id="cb226-11" data-line-number="11"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb226-12" data-line-number="12"></a> -<a class="sourceLine" id="cb226-13" data-line-number="13"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{startNumber=false}</a> -<a class="sourceLine" id="cb226-14" data-line-number="14">The following list does not respect the numbers specified in the</a> -<a class="sourceLine" id="cb226-15" data-line-number="15">markup:</a> -<a class="sourceLine" id="cb226-16" data-line-number="16"></a> -<a class="sourceLine" id="cb226-17" data-line-number="17">3. third item</a> -<a class="sourceLine" id="cb226-18" data-line-number="18">4. fourth item</a> -<a class="sourceLine" id="cb226-19" data-line-number="19">5. fifth item</a> -<a class="sourceLine" id="cb226-20" data-line-number="20"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a> -<a class="sourceLine" id="cb226-21" data-line-number="21"></a> -<a class="sourceLine" id="cb226-22" data-line-number="22"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb227"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb227-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb239"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb239-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb239-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb239-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb239-4" data-line-number="4"></a> +<a class="sourceLine" id="cb239-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb239-6" data-line-number="6">The following list respects the numbers specified in the markup:</a> +<a class="sourceLine" id="cb239-7" data-line-number="7"></a> +<a class="sourceLine" id="cb239-8" data-line-number="8">3. third item</a> +<a class="sourceLine" id="cb239-9" data-line-number="9">4. fourth item</a> +<a class="sourceLine" id="cb239-10" data-line-number="10">5. fifth item</a> +<a class="sourceLine" id="cb239-11" data-line-number="11"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb239-12" data-line-number="12"></a> +<a class="sourceLine" id="cb239-13" data-line-number="13"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{startNumber=false}</a> +<a class="sourceLine" id="cb239-14" data-line-number="14">The following list does not respect the numbers specified in the</a> +<a class="sourceLine" id="cb239-15" data-line-number="15">markup:</a> +<a class="sourceLine" id="cb239-16" data-line-number="16"></a> +<a class="sourceLine" id="cb239-17" data-line-number="17">3. third item</a> +<a class="sourceLine" id="cb239-18" data-line-number="18">4. fourth item</a> +<a class="sourceLine" id="cb239-19" data-line-number="19">5. fifth item</a> +<a class="sourceLine" id="cb239-20" data-line-number="20"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a> +<a class="sourceLine" id="cb239-21" data-line-number="21"></a> +<a class="sourceLine" id="cb239-22" data-line-number="22"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb240"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb240-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>The following list respects the numbers specified in the markup:</p> @@ -2723,30 +2920,30 @@ Thomas,Edison,1847</code></pre> <li>fifth item</li> </ol> </blockquote> -<h5 id="context-example-17" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> +<h5 id="context-example-19" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb228"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb228-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> -<a class="sourceLine" id="cb228-2" data-line-number="2"><span class="fu">\starttext</span></a> -<a class="sourceLine" id="cb228-3" data-line-number="3"></a> -<a class="sourceLine" id="cb228-4" data-line-number="4"><span class="fu">\startmarkdown</span></a> -<a class="sourceLine" id="cb228-5" data-line-number="5">The following list respects the numbers specified in the markup:</a> -<a class="sourceLine" id="cb228-6" data-line-number="6"></a> -<a class="sourceLine" id="cb228-7" data-line-number="7">3. third item</a> -<a class="sourceLine" id="cb228-8" data-line-number="8">4. fourth item</a> -<a class="sourceLine" id="cb228-9" data-line-number="9">5. fifth item</a> -<a class="sourceLine" id="cb228-10" data-line-number="10"><span class="fu">\stopmarkdown</span></a> -<a class="sourceLine" id="cb228-11" data-line-number="11"></a> -<a class="sourceLine" id="cb228-12" data-line-number="12"><span class="fu">\def</span>\markdownOptionStartNumber{false}</a> -<a class="sourceLine" id="cb228-13" data-line-number="13"><span class="fu">\startmarkdown</span></a> -<a class="sourceLine" id="cb228-14" data-line-number="14">The following list respects the numbers specified in the markup:</a> -<a class="sourceLine" id="cb228-15" data-line-number="15"></a> -<a class="sourceLine" id="cb228-16" data-line-number="16">3. third item</a> -<a class="sourceLine" id="cb228-17" data-line-number="17">4. fourth item</a> -<a class="sourceLine" id="cb228-18" data-line-number="18">5. fifth item</a> -<a class="sourceLine" id="cb228-19" data-line-number="19"><span class="fu">\stopmarkdown</span></a> -<a class="sourceLine" id="cb228-20" data-line-number="20"><span class="fu">\stoptext</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb229"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb229-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb241"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb241-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> +<a class="sourceLine" id="cb241-2" data-line-number="2"><span class="fu">\starttext</span></a> +<a class="sourceLine" id="cb241-3" data-line-number="3"></a> +<a class="sourceLine" id="cb241-4" data-line-number="4"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb241-5" data-line-number="5">The following list respects the numbers specified in the markup:</a> +<a class="sourceLine" id="cb241-6" data-line-number="6"></a> +<a class="sourceLine" id="cb241-7" data-line-number="7">3. third item</a> +<a class="sourceLine" id="cb241-8" data-line-number="8">4. fourth item</a> +<a class="sourceLine" id="cb241-9" data-line-number="9">5. fifth item</a> +<a class="sourceLine" id="cb241-10" data-line-number="10"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb241-11" data-line-number="11"></a> +<a class="sourceLine" id="cb241-12" data-line-number="12"><span class="fu">\def</span>\markdownOptionStartNumber{false}</a> +<a class="sourceLine" id="cb241-13" data-line-number="13"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb241-14" data-line-number="14">The following list respects the numbers specified in the markup:</a> +<a class="sourceLine" id="cb241-15" data-line-number="15"></a> +<a class="sourceLine" id="cb241-16" data-line-number="16">3. third item</a> +<a class="sourceLine" id="cb241-17" data-line-number="17">4. fourth item</a> +<a class="sourceLine" id="cb241-18" data-line-number="18">5. fifth item</a> +<a class="sourceLine" id="cb241-19" data-line-number="19"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb241-20" data-line-number="20"><span class="fu">\stoptext</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb242"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb242-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>The following list respects the numbers specified in the markup:</p> @@ -2762,7 +2959,133 @@ Thomas,Edison,1847</code></pre> <li>fifth item</li> </ol> </blockquote> -<h4 id="option-tightlists"><span class="header-section-number">2.2.1.23</span> Option <code>tightLists</code></h4> +<h4 id="option-tablecaptions"><span class="header-section-number">2.2.1.25</span> Option <code>tableCaptions</code></h4> +<dl> +<dt><code>tableCaptions</code> (default value: <code>false</code>)</dt> +<dd><dl> +<dt>true</dt> +<dd><p>Enable the Pandoc <code>table_captions</code> syntax extension for <a href="#pipe-tables">pipe tables</a>.</p> +<div class="sourceCode" id="cb243"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb243-1" data-line-number="1">| Right | Left | Default | Center |</a> +<a class="sourceLine" id="cb243-2" data-line-number="2">|------:|:-----|---------|:------:|</a> +<a class="sourceLine" id="cb243-3" data-line-number="3">| 12 | 12 | 12 | 12 |</a> +<a class="sourceLine" id="cb243-4" data-line-number="4">| 123 | 123 | 123 | 123 |</a> +<a class="sourceLine" id="cb243-5" data-line-number="5">| 1 | 1 | 1 | 1 |</a> +<a class="sourceLine" id="cb243-6" data-line-number="6"></a> +<a class="sourceLine" id="cb243-7" data-line-number="7"> : Demonstration of pipe table syntax.</a></code></pre></div> +</dd> +</dl> +</dd> +<dd><dl> +<dt>false</dt> +<dd><p>Enable the Pandoc <code>table_captions</code> syntax extension.</p> +</dd> +</dl> +</dd> +</dl> +<h5 id="latex-example-22" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> +<div class="sourceCode" id="cb244"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb244-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb244-2" data-line-number="2"><span class="bu">\usepackage</span>[pipeTables, tableCaptions]{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb244-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb244-4" data-line-number="4"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb244-5" data-line-number="5">| Right | Left | Default | Center |</a> +<a class="sourceLine" id="cb244-6" data-line-number="6">|------:|:-----|---------|:------:|</a> +<a class="sourceLine" id="cb244-7" data-line-number="7">| 12 | 12 | 12 | 12 |</a> +<a class="sourceLine" id="cb244-8" data-line-number="8">| 123 | 123 | 123 | 123 |</a> +<a class="sourceLine" id="cb244-9" data-line-number="9">| 1 | 1 | 1 | 1 |</a> +<a class="sourceLine" id="cb244-10" data-line-number="10"></a> +<a class="sourceLine" id="cb244-11" data-line-number="11"> : Demonstration of pipe table syntax.</a> +<a class="sourceLine" id="cb244-12" data-line-number="12"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb244-13" data-line-number="13"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb245"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb245-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> +<blockquote> +<table> +<caption>Demonstration of pipe table syntax.</caption> +<thead> +<tr class="header"> +<th style="text-align: right;">Right</th> +<th style="text-align: left;">Left</th> +<th>Default</th> +<th style="text-align: center;">Center</th> +</tr> +</thead> +<tbody> +<tr class="odd"> +<td style="text-align: right;">12</td> +<td style="text-align: left;">12</td> +<td>12</td> +<td style="text-align: center;">12</td> +</tr> +<tr class="even"> +<td style="text-align: right;">123</td> +<td style="text-align: left;">123</td> +<td>123</td> +<td style="text-align: center;">123</td> +</tr> +<tr class="odd"> +<td style="text-align: right;">1</td> +<td style="text-align: left;">1</td> +<td>1</td> +<td style="text-align: center;">1</td> +</tr> +</tbody> +</table> +</blockquote> +<h5 id="context-example-20" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> +<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> +<div class="sourceCode" id="cb246"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb246-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> +<a class="sourceLine" id="cb246-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionPipeTables{true}</a> +<a class="sourceLine" id="cb246-3" data-line-number="3"><span class="fu">\def</span>\markdownOptionTableCaptions{true}</a> +<a class="sourceLine" id="cb246-4" data-line-number="4"><span class="fu">\starttext</span></a> +<a class="sourceLine" id="cb246-5" data-line-number="5"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb246-6" data-line-number="6">| Right | Left | Default | Center |</a> +<a class="sourceLine" id="cb246-7" data-line-number="7">|------:|:-----|---------|:------:|</a> +<a class="sourceLine" id="cb246-8" data-line-number="8">| 12 | 12 | 12 | 12 |</a> +<a class="sourceLine" id="cb246-9" data-line-number="9">| 123 | 123 | 123 | 123 |</a> +<a class="sourceLine" id="cb246-10" data-line-number="10">| 1 | 1 | 1 | 1 |</a> +<a class="sourceLine" id="cb246-11" data-line-number="11"></a> +<a class="sourceLine" id="cb246-12" data-line-number="12"> : Demonstration of pipe table syntax.</a> +<a class="sourceLine" id="cb246-13" data-line-number="13"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb246-14" data-line-number="14"><span class="fu">\stoptext</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb247"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb247-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> +<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> +<blockquote> +<table> +<caption>Demonstration of pipe table syntax.</caption> +<thead> +<tr class="header"> +<th style="text-align: right;">Right</th> +<th style="text-align: left;">Left</th> +<th>Default</th> +<th style="text-align: center;">Center</th> +</tr> +</thead> +<tbody> +<tr class="odd"> +<td style="text-align: right;">12</td> +<td style="text-align: left;">12</td> +<td>12</td> +<td style="text-align: center;">12</td> +</tr> +<tr class="even"> +<td style="text-align: right;">123</td> +<td style="text-align: left;">123</td> +<td>123</td> +<td style="text-align: center;">123</td> +</tr> +<tr class="odd"> +<td style="text-align: right;">1</td> +<td style="text-align: left;">1</td> +<td>1</td> +<td style="text-align: center;">1</td> +</tr> +</tbody> +</table> +</blockquote> +<h4 id="option-tightlists"><span class="header-section-number">2.2.1.26</span> Option <code>tightLists</code></h4> <dl> <dt><code>tightLists</code> (default value: <code>true</code>)</dt> <dd><dl> @@ -2778,39 +3101,39 @@ Thomas,Edison,1847</code></pre> </dl> </dd> </dl> -<h5 id="latex-example-20" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<h5 id="latex-example-23" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb230"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb230-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> -<a class="sourceLine" id="cb230-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb230-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb230-4" data-line-number="4"></a> -<a class="sourceLine" id="cb230-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb230-6" data-line-number="6">The following list is tight:</a> -<a class="sourceLine" id="cb230-7" data-line-number="7"></a> -<a class="sourceLine" id="cb230-8" data-line-number="8"> - first item</a> -<a class="sourceLine" id="cb230-9" data-line-number="9"> - second item</a> -<a class="sourceLine" id="cb230-10" data-line-number="10"> - third item</a> -<a class="sourceLine" id="cb230-11" data-line-number="11"></a> -<a class="sourceLine" id="cb230-12" data-line-number="12">The following list is loose:</a> -<a class="sourceLine" id="cb230-13" data-line-number="13"></a> -<a class="sourceLine" id="cb230-14" data-line-number="14"> - first item</a> -<a class="sourceLine" id="cb230-15" data-line-number="15"> - second item that spans</a> -<a class="sourceLine" id="cb230-16" data-line-number="16"></a> -<a class="sourceLine" id="cb230-17" data-line-number="17"> multiple paragraphs</a> -<a class="sourceLine" id="cb230-18" data-line-number="18"> - third item</a> -<a class="sourceLine" id="cb230-19" data-line-number="19"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb230-20" data-line-number="20"></a> -<a class="sourceLine" id="cb230-21" data-line-number="21"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{tightLists=false}</a> -<a class="sourceLine" id="cb230-22" data-line-number="22">The following list is now also loose:</a> -<a class="sourceLine" id="cb230-23" data-line-number="23"></a> -<a class="sourceLine" id="cb230-24" data-line-number="24"> - first item</a> -<a class="sourceLine" id="cb230-25" data-line-number="25"> - second item</a> -<a class="sourceLine" id="cb230-26" data-line-number="26"> - third item</a> -<a class="sourceLine" id="cb230-27" data-line-number="27"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a> -<a class="sourceLine" id="cb230-28" data-line-number="28"></a> -<a class="sourceLine" id="cb230-29" data-line-number="29"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb231"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb231-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb248"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb248-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb248-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb248-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb248-4" data-line-number="4"></a> +<a class="sourceLine" id="cb248-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb248-6" data-line-number="6">The following list is tight:</a> +<a class="sourceLine" id="cb248-7" data-line-number="7"></a> +<a class="sourceLine" id="cb248-8" data-line-number="8"> - first item</a> +<a class="sourceLine" id="cb248-9" data-line-number="9"> - second item</a> +<a class="sourceLine" id="cb248-10" data-line-number="10"> - third item</a> +<a class="sourceLine" id="cb248-11" data-line-number="11"></a> +<a class="sourceLine" id="cb248-12" data-line-number="12">The following list is loose:</a> +<a class="sourceLine" id="cb248-13" data-line-number="13"></a> +<a class="sourceLine" id="cb248-14" data-line-number="14"> - first item</a> +<a class="sourceLine" id="cb248-15" data-line-number="15"> - second item that spans</a> +<a class="sourceLine" id="cb248-16" data-line-number="16"></a> +<a class="sourceLine" id="cb248-17" data-line-number="17"> multiple paragraphs</a> +<a class="sourceLine" id="cb248-18" data-line-number="18"> - third item</a> +<a class="sourceLine" id="cb248-19" data-line-number="19"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb248-20" data-line-number="20"></a> +<a class="sourceLine" id="cb248-21" data-line-number="21"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{tightLists=false}</a> +<a class="sourceLine" id="cb248-22" data-line-number="22">The following list is now also loose:</a> +<a class="sourceLine" id="cb248-23" data-line-number="23"></a> +<a class="sourceLine" id="cb248-24" data-line-number="24"> - first item</a> +<a class="sourceLine" id="cb248-25" data-line-number="25"> - second item</a> +<a class="sourceLine" id="cb248-26" data-line-number="26"> - third item</a> +<a class="sourceLine" id="cb248-27" data-line-number="27"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a> +<a class="sourceLine" id="cb248-28" data-line-number="28"></a> +<a class="sourceLine" id="cb248-29" data-line-number="29"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb249"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb249-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>The following list is tight:</p> @@ -2833,16 +3156,16 @@ multiple paragraphs</li> <li><p>third item</p></li> </ul> </blockquote> -<h4 id="option-underscores"><span class="header-section-number">2.2.1.24</span> Option <code>underscores</code></h4> +<h4 id="option-underscores"><span class="header-section-number">2.2.1.27</span> Option <code>underscores</code></h4> <dl> <dt><code>underscores</code> (default value: <code>true</code>)</dt> <dd><dl> <dt>true</dt> <dd><p>Both underscores and asterisks can be used to denote emphasis and strong emphasis:</p> -<div class="sourceCode" id="cb232"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb232-1" data-line-number="1">*single asterisks*</a> -<a class="sourceLine" id="cb232-2" data-line-number="2">_single underscores_</a> -<a class="sourceLine" id="cb232-3" data-line-number="3">**double asterisks**</a> -<a class="sourceLine" id="cb232-4" data-line-number="4">__double underscores__</a></code></pre></div> +<div class="sourceCode" id="cb250"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb250-1" data-line-number="1">*single asterisks*</a> +<a class="sourceLine" id="cb250-2" data-line-number="2">_single underscores_</a> +<a class="sourceLine" id="cb250-3" data-line-number="3">**double asterisks**</a> +<a class="sourceLine" id="cb250-4" data-line-number="4">__double underscores__</a></code></pre></div> </dd> </dl> </dd> @@ -2853,68 +3176,68 @@ multiple paragraphs</li> </dl> </dd> </dl> -<h5 id="plain-tex-example-10" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> +<h5 id="plain-tex-example-11" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb233"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb233-1" data-line-number="1"><span class="fu">\input</span> markdown</a> -<a class="sourceLine" id="cb233-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionHybrid{true}</a> -<a class="sourceLine" id="cb233-3" data-line-number="3"></a> -<a class="sourceLine" id="cb233-4" data-line-number="4"><span class="fu">\markdownBegin</span></a> -<a class="sourceLine" id="cb233-5" data-line-number="5">This is _emphasized text_ and this is a math subscript: <span class="ss">$m</span><span class="sc">\_</span><span class="ss">n$</span>.</a> -<a class="sourceLine" id="cb233-6" data-line-number="6"><span class="fu">\markdownEnd</span></a> -<a class="sourceLine" id="cb233-7" data-line-number="7"></a> -<a class="sourceLine" id="cb233-8" data-line-number="8"><span class="fu">\def</span>\markdownOptionUnderscores{false}</a> -<a class="sourceLine" id="cb233-9" data-line-number="9"><span class="fu">\markdownBegin</span></a> -<a class="sourceLine" id="cb233-10" data-line-number="10">This is *emphasized text* and this is a math subscript: <span class="ss">$m_n$</span>.</a> -<a class="sourceLine" id="cb233-11" data-line-number="11"><span class="fu">\markdownEnd</span></a> -<a class="sourceLine" id="cb233-12" data-line-number="12"></a> -<a class="sourceLine" id="cb233-13" data-line-number="13"><span class="fu">\bye</span></a></code></pre></div> +<div class="sourceCode" id="cb251"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb251-1" data-line-number="1"><span class="fu">\input</span> markdown</a> +<a class="sourceLine" id="cb251-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionHybrid{true}</a> +<a class="sourceLine" id="cb251-3" data-line-number="3"></a> +<a class="sourceLine" id="cb251-4" data-line-number="4"><span class="fu">\markdownBegin</span></a> +<a class="sourceLine" id="cb251-5" data-line-number="5">This is _emphasized text_ and this is a math subscript: <span class="ss">$m</span><span class="sc">\_</span><span class="ss">n$</span>.</a> +<a class="sourceLine" id="cb251-6" data-line-number="6"><span class="fu">\markdownEnd</span></a> +<a class="sourceLine" id="cb251-7" data-line-number="7"></a> +<a class="sourceLine" id="cb251-8" data-line-number="8"><span class="fu">\def</span>\markdownOptionUnderscores{false}</a> +<a class="sourceLine" id="cb251-9" data-line-number="9"><span class="fu">\markdownBegin</span></a> +<a class="sourceLine" id="cb251-10" data-line-number="10">This is *emphasized text* and this is a math subscript: <span class="ss">$m_n$</span>.</a> +<a class="sourceLine" id="cb251-11" data-line-number="11"><span class="fu">\markdownEnd</span></a> +<a class="sourceLine" id="cb251-12" data-line-number="12"></a> +<a class="sourceLine" id="cb251-13" data-line-number="13"><span class="fu">\bye</span></a></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb234"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb234-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb252"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb252-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is <em>emphasized text</em> and this is a math subscript: <em>mₙ</em>.</p> <p>This is <em>emphasized text</em> and this is a math subscript: <em>mₙ</em>.</p> </blockquote> -<h5 id="latex-example-21" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<h5 id="latex-example-24" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb235"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb235-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> -<a class="sourceLine" id="cb235-2" data-line-number="2"><span class="bu">\usepackage</span>[hybrid]{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb235-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb235-4" data-line-number="4"></a> -<a class="sourceLine" id="cb235-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb235-6" data-line-number="6">This is _emphasized text_ and this is a math subscript: <span class="ss">$m</span><span class="sc">\_</span><span class="ss">n$</span>.</a> -<a class="sourceLine" id="cb235-7" data-line-number="7"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb235-8" data-line-number="8"></a> -<a class="sourceLine" id="cb235-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{underscores=false}</a> -<a class="sourceLine" id="cb235-10" data-line-number="10">This is *emphasized text* and this is a math subscript: <span class="ss">$m_n$</span>.</a> -<a class="sourceLine" id="cb235-11" data-line-number="11"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a> -<a class="sourceLine" id="cb235-12" data-line-number="12"></a> -<a class="sourceLine" id="cb235-13" data-line-number="13"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<div class="sourceCode" id="cb253"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb253-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb253-2" data-line-number="2"><span class="bu">\usepackage</span>[hybrid]{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb253-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb253-4" data-line-number="4"></a> +<a class="sourceLine" id="cb253-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb253-6" data-line-number="6">This is _emphasized text_ and this is a math subscript: <span class="ss">$m</span><span class="sc">\_</span><span class="ss">n$</span>.</a> +<a class="sourceLine" id="cb253-7" data-line-number="7"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb253-8" data-line-number="8"></a> +<a class="sourceLine" id="cb253-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{underscores=false}</a> +<a class="sourceLine" id="cb253-10" data-line-number="10">This is *emphasized text* and this is a math subscript: <span class="ss">$m_n$</span>.</a> +<a class="sourceLine" id="cb253-11" data-line-number="11"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a> +<a class="sourceLine" id="cb253-12" data-line-number="12"></a> +<a class="sourceLine" id="cb253-13" data-line-number="13"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb236"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb236-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb254"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb254-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is <em>emphasized text</em> and this is a math subscript: <em>mₙ</em>.</p> <p>This is <em>emphasized text</em> and this is a math subscript: <em>mₙ</em>.</p> </blockquote> -<h5 id="context-example-18" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> +<h5 id="context-example-21" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb237"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb237-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> -<a class="sourceLine" id="cb237-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionHybrid{true}</a> -<a class="sourceLine" id="cb237-3" data-line-number="3"><span class="fu">\starttext</span></a> -<a class="sourceLine" id="cb237-4" data-line-number="4"></a> -<a class="sourceLine" id="cb237-5" data-line-number="5"><span class="fu">\startmarkdown</span></a> -<a class="sourceLine" id="cb237-6" data-line-number="6">This is _emphasized text_ and this is a math subscript: <span class="ss">$m</span><span class="sc">\_</span><span class="ss">n$</span>.</a> -<a class="sourceLine" id="cb237-7" data-line-number="7"><span class="fu">\stopmarkdown</span></a> -<a class="sourceLine" id="cb237-8" data-line-number="8"></a> -<a class="sourceLine" id="cb237-9" data-line-number="9"><span class="fu">\def</span>\markdownOptionUnderscores{false}</a> -<a class="sourceLine" id="cb237-10" data-line-number="10"><span class="fu">\startmarkdown</span></a> -<a class="sourceLine" id="cb237-11" data-line-number="11">This is *emphasized text* and this is a math subscript: <span class="ss">$m_n$</span>.</a> -<a class="sourceLine" id="cb237-12" data-line-number="12"><span class="fu">\stopmarkdown</span></a> -<a class="sourceLine" id="cb237-13" data-line-number="13"></a> -<a class="sourceLine" id="cb237-14" data-line-number="14"><span class="fu">\stoptext</span></a></code></pre></div> +<div class="sourceCode" id="cb255"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb255-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> +<a class="sourceLine" id="cb255-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionHybrid{true}</a> +<a class="sourceLine" id="cb255-3" data-line-number="3"><span class="fu">\starttext</span></a> +<a class="sourceLine" id="cb255-4" data-line-number="4"></a> +<a class="sourceLine" id="cb255-5" data-line-number="5"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb255-6" data-line-number="6">This is _emphasized text_ and this is a math subscript: <span class="ss">$m</span><span class="sc">\_</span><span class="ss">n$</span>.</a> +<a class="sourceLine" id="cb255-7" data-line-number="7"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb255-8" data-line-number="8"></a> +<a class="sourceLine" id="cb255-9" data-line-number="9"><span class="fu">\def</span>\markdownOptionUnderscores{false}</a> +<a class="sourceLine" id="cb255-10" data-line-number="10"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb255-11" data-line-number="11">This is *emphasized text* and this is a math subscript: <span class="ss">$m_n$</span>.</a> +<a class="sourceLine" id="cb255-12" data-line-number="12"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb255-13" data-line-number="13"></a> +<a class="sourceLine" id="cb255-14" data-line-number="14"><span class="fu">\stoptext</span></a></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb238"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb238-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb256"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb256-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is <em>emphasized text</em> and this is a math subscript: <em>mₙ</em>.</p> @@ -2933,44 +3256,44 @@ multiple paragraphs</li> <li><code>\markdownOptionCacheDir</code>.</li> </ul> <p>Using a text editor, create a folder named <code>output-directory</code> and a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb239"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb239-1" data-line-number="1"><span class="fu">\input</span> lmfonts</a> -<a class="sourceLine" id="cb239-2" data-line-number="2"><span class="fu">\input</span> markdown</a> -<a class="sourceLine" id="cb239-3" data-line-number="3"><span class="fu">\def</span>\markdownOptionHelperScriptFileName{helper-script.lua}</a> -<a class="sourceLine" id="cb239-4" data-line-number="4"><span class="fu">\def</span>\markdownOptionInputTempFileName{temporary-input.md}</a> -<a class="sourceLine" id="cb239-5" data-line-number="5"><span class="fu">\def</span>\markdownOptionOutputTempFileName{temporary-output.tex}</a> -<a class="sourceLine" id="cb239-6" data-line-number="6"><span class="fu">\def</span>\markdownOptionErrorTempFileName{error-output.txt}</a> -<a class="sourceLine" id="cb239-7" data-line-number="7"><span class="fu">\def</span>\markdownOptionOutputDir{output-directory}</a> -<a class="sourceLine" id="cb239-8" data-line-number="8"><span class="fu">\def</span>\markdownOptionCacheDir{output-directory/cache-directory}</a> -<a class="sourceLine" id="cb239-9" data-line-number="9"><span class="fu">\markdownBegin</span></a> -<a class="sourceLine" id="cb239-10" data-line-number="10">Hello *world*!</a> -<a class="sourceLine" id="cb239-11" data-line-number="11"><span class="fu">\markdownEnd</span></a> -<a class="sourceLine" id="cb239-12" data-line-number="12"><span class="fu">\bye</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb240"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb240-1" data-line-number="1"><span class="ex">luatex</span> --output-directory output-directory document.tex</a></code></pre></div> +<div class="sourceCode" id="cb257"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb257-1" data-line-number="1"><span class="fu">\input</span> lmfonts</a> +<a class="sourceLine" id="cb257-2" data-line-number="2"><span class="fu">\input</span> markdown</a> +<a class="sourceLine" id="cb257-3" data-line-number="3"><span class="fu">\def</span>\markdownOptionHelperScriptFileName{helper-script.lua}</a> +<a class="sourceLine" id="cb257-4" data-line-number="4"><span class="fu">\def</span>\markdownOptionInputTempFileName{temporary-input.md}</a> +<a class="sourceLine" id="cb257-5" data-line-number="5"><span class="fu">\def</span>\markdownOptionOutputTempFileName{temporary-output.tex}</a> +<a class="sourceLine" id="cb257-6" data-line-number="6"><span class="fu">\def</span>\markdownOptionErrorTempFileName{error-output.txt}</a> +<a class="sourceLine" id="cb257-7" data-line-number="7"><span class="fu">\def</span>\markdownOptionOutputDir{output-directory}</a> +<a class="sourceLine" id="cb257-8" data-line-number="8"><span class="fu">\def</span>\markdownOptionCacheDir{output-directory/cache-directory}</a> +<a class="sourceLine" id="cb257-9" data-line-number="9"><span class="fu">\markdownBegin</span></a> +<a class="sourceLine" id="cb257-10" data-line-number="10">Hello *world*!</a> +<a class="sourceLine" id="cb257-11" data-line-number="11"><span class="fu">\markdownEnd</span></a> +<a class="sourceLine" id="cb257-12" data-line-number="12"><span class="fu">\bye</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb258"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb258-1" data-line-number="1"><span class="ex">luatex</span> --output-directory output-directory document.tex</a></code></pre></div> <p>A text document named <code>temporary-input.md</code> should be produced in the folder named <code>output-directory</code> and contain the following text:</p> <blockquote> <p>Hello *world*!</p> </blockquote> <p>A folder named <code>output-directory/cache-directory</code> should also be produced and contain fragments of the converted markdown document. LuaTeX does not need other temporary files to perform the conversion from markdown to <span class="tex">T<sub>e</sub>X</span>. To produce the remaining temporary files, invoke pdfTeX from the terminal:</p> -<div class="sourceCode" id="cb241"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb241-1" data-line-number="1"><span class="ex">pdftex</span> --output-directory output-directory --shell-escape document.tex</a></code></pre></div> +<div class="sourceCode" id="cb259"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb259-1" data-line-number="1"><span class="ex">pdftex</span> --output-directory output-directory --shell-escape document.tex</a></code></pre></div> <p>Text documents named <code>helper-script.lua</code>, and <code>temporary-output.md</code> should be produced in the folder named <code>output-directory</code>. The document named <code>helper-script.lua</code> will contain Lua code that was executed to convert markdown to plain <span class="tex">T<sub>e</sub>X</span>. The document named <code>temporary-output.tex</code> will contain the input markdown document converted to <span class="tex">T<sub>e</sub>X</span>.</p> <p>No document named <code>error-output.txt</code> should be produced in the folder named <code>output-directory</code>. This document would only be produced if an error had occured while executing the Lua code. If this happens, please <a href="https://github.com/witiko/markdown/issues">file a bug</a>.</p> <h4 id="package-documentation"><span class="header-section-number">2.2.2.2</span> Package Documentation</h4> <p>The <code>\markdownOptionStripPercentSigns</code> macro controls whether a percent sign (<code>%</code>) at the beginning of a line will be discarded when reading Markdown input from a <span class="tex">T<sub>e</sub>X</span> document. This enables the use of markdown when writing <span class="tex">T<sub>e</sub>X</span> package documentation using the <a href="https://ctan.org/pkg/doc" title="doc – Format LaTeX documentation">Doc <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> package</a> by Frank Mittelbach.</p> <p>Using a text editor, create a text document named <code>document.dtx</code> with the following content:</p> -<div class="sourceCode" id="cb242"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb242-1" data-line-number="1"><span class="co">% \iffalse</span></a> -<a class="sourceLine" id="cb242-2" data-line-number="2"><span class="bu">\documentclass</span>{<span class="ex">ltxdoc</span>}</a> -<a class="sourceLine" id="cb242-3" data-line-number="3"><span class="bu">\usepackage</span>[stripPercentSigns]{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb242-4" data-line-number="4"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb242-5" data-line-number="5"><span class="fu">\DocInput</span>{document.dtx}</a> -<a class="sourceLine" id="cb242-6" data-line-number="6"><span class="kw">\end</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb242-7" data-line-number="7"><span class="co">% \fi</span></a> -<a class="sourceLine" id="cb242-8" data-line-number="8"><span class="co">%</span></a> -<a class="sourceLine" id="cb242-9" data-line-number="9"><span class="co">% \begin{markdown}</span></a> -<a class="sourceLine" id="cb242-10" data-line-number="10"><span class="co">% Hello *world*!</span></a> -<a class="sourceLine" id="cb242-11" data-line-number="11"><span class="co">% \end{markdown}</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb243"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb243-1" data-line-number="1"><span class="ex">lualatex</span> document.dtx</a></code></pre></div> +<div class="sourceCode" id="cb260"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb260-1" data-line-number="1"><span class="co">% \iffalse</span></a> +<a class="sourceLine" id="cb260-2" data-line-number="2"><span class="bu">\documentclass</span>{<span class="ex">ltxdoc</span>}</a> +<a class="sourceLine" id="cb260-3" data-line-number="3"><span class="bu">\usepackage</span>[stripPercentSigns]{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb260-4" data-line-number="4"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb260-5" data-line-number="5"><span class="fu">\DocInput</span>{document.dtx}</a> +<a class="sourceLine" id="cb260-6" data-line-number="6"><span class="kw">\end</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb260-7" data-line-number="7"><span class="co">% \fi</span></a> +<a class="sourceLine" id="cb260-8" data-line-number="8"><span class="co">%</span></a> +<a class="sourceLine" id="cb260-9" data-line-number="9"><span class="co">% \begin{markdown}</span></a> +<a class="sourceLine" id="cb260-10" data-line-number="10"><span class="co">% Hello *world*!</span></a> +<a class="sourceLine" id="cb260-11" data-line-number="11"><span class="co">% \end{markdown}</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb261"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb261-1" data-line-number="1"><span class="ex">lualatex</span> document.dtx</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!”</p> <h2 id="markdown-tokens"><span class="header-section-number">2.3</span> Markdown Tokens</h2> <p>A key feature of the Markdown package is the support for manipulating markdown tokens, such as headings, emphasized text, links, and lists, in <span class="tex">T<sub>e</sub>X</span>. Instead of reducing <span class="tex">T<sub>e</sub>X</span> to a PDF document producer, the Markdown package allows the user to specify how every markdown token should be processed and rendered.</p> @@ -2978,73 +3301,73 @@ multiple paragraphs</li> <p>Token renderers are user-defined <span class="tex">T<sub>e</sub>X</span> macros, which render markdown tokens. In this section, I will describe the individual token renderers.</p> <h4 id="interblock-separator-renderer"><span class="header-section-number">2.3.1.1</span> Interblock Separator Renderer</h4> <p>The <code>\markdownRendererInterblockSeparator</code> macro represents a separator between two markdown block elements. The macro receives no arguments.</p> -<h5 id="plain-tex-example-11" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> +<h5 id="plain-tex-example-12" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb244"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb244-1" data-line-number="1"><span class="fu">\input</span> markdown</a> -<a class="sourceLine" id="cb244-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a> -<a class="sourceLine" id="cb244-3" data-line-number="3"> \par</a> -<a class="sourceLine" id="cb244-4" data-line-number="4"> {\it(The end of a block)}<span class="co">%</span></a> -<a class="sourceLine" id="cb244-5" data-line-number="5"> \par</a> -<a class="sourceLine" id="cb244-6" data-line-number="6">}</a> -<a class="sourceLine" id="cb244-7" data-line-number="7"><span class="fu">\markdownBegin</span></a> -<a class="sourceLine" id="cb244-8" data-line-number="8">Hello *world*!</a> -<a class="sourceLine" id="cb244-9" data-line-number="9"></a> -<a class="sourceLine" id="cb244-10" data-line-number="10">_Foo_ bar!</a> -<a class="sourceLine" id="cb244-11" data-line-number="11"><span class="fu">\markdownEnd</span></a> -<a class="sourceLine" id="cb244-12" data-line-number="12"><span class="fu">\bye</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb245"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb245-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb262"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb262-1" data-line-number="1"><span class="fu">\input</span> markdown</a> +<a class="sourceLine" id="cb262-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a> +<a class="sourceLine" id="cb262-3" data-line-number="3"> \par</a> +<a class="sourceLine" id="cb262-4" data-line-number="4"> {\it(The end of a block)}<span class="co">%</span></a> +<a class="sourceLine" id="cb262-5" data-line-number="5"> \par</a> +<a class="sourceLine" id="cb262-6" data-line-number="6">}</a> +<a class="sourceLine" id="cb262-7" data-line-number="7"><span class="fu">\markdownBegin</span></a> +<a class="sourceLine" id="cb262-8" data-line-number="8">Hello *world*!</a> +<a class="sourceLine" id="cb262-9" data-line-number="9"></a> +<a class="sourceLine" id="cb262-10" data-line-number="10">_Foo_ bar!</a> +<a class="sourceLine" id="cb262-11" data-line-number="11"><span class="fu">\markdownEnd</span></a> +<a class="sourceLine" id="cb262-12" data-line-number="12"><span class="fu">\bye</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb263"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb263-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>Hello <em>world</em>!</p> <p><em>(The end of a block)</em></p> <p><em>Foo</em> bar!</p> </blockquote> -<h5 id="latex-example-22" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<h5 id="latex-example-25" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb246"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb246-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> -<a class="sourceLine" id="cb246-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb246-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a> -<a class="sourceLine" id="cb246-4" data-line-number="4"> renderers = {</a> -<a class="sourceLine" id="cb246-5" data-line-number="5"> interblockSeparator = {<span class="co">%</span></a> -<a class="sourceLine" id="cb246-6" data-line-number="6"> <span class="fu">\par</span></a> -<a class="sourceLine" id="cb246-7" data-line-number="7"> <span class="fu">\emph</span>{(The end of a block)}<span class="co">%</span></a> -<a class="sourceLine" id="cb246-8" data-line-number="8"> <span class="fu">\par</span></a> -<a class="sourceLine" id="cb246-9" data-line-number="9"> },</a> -<a class="sourceLine" id="cb246-10" data-line-number="10"> },</a> -<a class="sourceLine" id="cb246-11" data-line-number="11">}</a> -<a class="sourceLine" id="cb246-12" data-line-number="12"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb246-13" data-line-number="13"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb246-14" data-line-number="14">Hello *world*!</a> -<a class="sourceLine" id="cb246-15" data-line-number="15"></a> -<a class="sourceLine" id="cb246-16" data-line-number="16">_Foo_ bar!</a> -<a class="sourceLine" id="cb246-17" data-line-number="17"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb246-18" data-line-number="18"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb247"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb247-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb264"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb264-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb264-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb264-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a> +<a class="sourceLine" id="cb264-4" data-line-number="4"> renderers = {</a> +<a class="sourceLine" id="cb264-5" data-line-number="5"> interblockSeparator = {<span class="co">%</span></a> +<a class="sourceLine" id="cb264-6" data-line-number="6"> <span class="fu">\par</span></a> +<a class="sourceLine" id="cb264-7" data-line-number="7"> <span class="fu">\emph</span>{(The end of a block)}<span class="co">%</span></a> +<a class="sourceLine" id="cb264-8" data-line-number="8"> <span class="fu">\par</span></a> +<a class="sourceLine" id="cb264-9" data-line-number="9"> },</a> +<a class="sourceLine" id="cb264-10" data-line-number="10"> },</a> +<a class="sourceLine" id="cb264-11" data-line-number="11">}</a> +<a class="sourceLine" id="cb264-12" data-line-number="12"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb264-13" data-line-number="13"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb264-14" data-line-number="14">Hello *world*!</a> +<a class="sourceLine" id="cb264-15" data-line-number="15"></a> +<a class="sourceLine" id="cb264-16" data-line-number="16">_Foo_ bar!</a> +<a class="sourceLine" id="cb264-17" data-line-number="17"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb264-18" data-line-number="18"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb265"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb265-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>Hello <em>world</em>!</p> <p><em>(The end of a block)</em></p> <p><em>Foo</em> bar!</p> </blockquote> -<h5 id="context-example-19" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> +<h5 id="context-example-22" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb248"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb248-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> -<a class="sourceLine" id="cb248-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a> -<a class="sourceLine" id="cb248-3" data-line-number="3"> \par</a> -<a class="sourceLine" id="cb248-4" data-line-number="4"> \emph{(The end of a block)}<span class="co">%</span></a> -<a class="sourceLine" id="cb248-5" data-line-number="5"> \par</a> -<a class="sourceLine" id="cb248-6" data-line-number="6">}</a> -<a class="sourceLine" id="cb248-7" data-line-number="7"><span class="fu">\starttext</span></a> -<a class="sourceLine" id="cb248-8" data-line-number="8"><span class="fu">\startmarkdown</span></a> -<a class="sourceLine" id="cb248-9" data-line-number="9">Hello *world*!</a> -<a class="sourceLine" id="cb248-10" data-line-number="10"></a> -<a class="sourceLine" id="cb248-11" data-line-number="11">_Foo_ bar!</a> -<a class="sourceLine" id="cb248-12" data-line-number="12"><span class="fu">\stopmarkdown</span></a> -<a class="sourceLine" id="cb248-13" data-line-number="13"><span class="fu">\stoptext</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb249"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb249-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb266"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb266-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> +<a class="sourceLine" id="cb266-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a> +<a class="sourceLine" id="cb266-3" data-line-number="3"> \par</a> +<a class="sourceLine" id="cb266-4" data-line-number="4"> \emph{(The end of a block)}<span class="co">%</span></a> +<a class="sourceLine" id="cb266-5" data-line-number="5"> \par</a> +<a class="sourceLine" id="cb266-6" data-line-number="6">}</a> +<a class="sourceLine" id="cb266-7" data-line-number="7"><span class="fu">\starttext</span></a> +<a class="sourceLine" id="cb266-8" data-line-number="8"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb266-9" data-line-number="9">Hello *world*!</a> +<a class="sourceLine" id="cb266-10" data-line-number="10"></a> +<a class="sourceLine" id="cb266-11" data-line-number="11">_Foo_ bar!</a> +<a class="sourceLine" id="cb266-12" data-line-number="12"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb266-13" data-line-number="13"><span class="fu">\stoptext</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb267"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb267-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>Hello <em>world</em>!</p> @@ -3053,67 +3376,67 @@ multiple paragraphs</li> </blockquote> <h4 id="line-break-renderer"><span class="header-section-number">2.3.1.2</span> Line Break Renderer</h4> <p>The <code>\markdownRendererLineBreak</code> macro represents a forced line break. The macro receives no arguments.</p> -<h5 id="plain-tex-example-12" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> +<h5 id="plain-tex-example-13" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb250"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb250-1" data-line-number="1"><span class="fu">\input</span> markdown</a> -<a class="sourceLine" id="cb250-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererLineBreak{<span class="co">%</span></a> -<a class="sourceLine" id="cb250-3" data-line-number="3"> \par</a> -<a class="sourceLine" id="cb250-4" data-line-number="4"> {\it(A forced linebreak)}<span class="co">%</span></a> -<a class="sourceLine" id="cb250-5" data-line-number="5"> \par</a> -<a class="sourceLine" id="cb250-6" data-line-number="6">}</a> -<a class="sourceLine" id="cb250-7" data-line-number="7"><span class="fu">\markdownInput</span>{example.md}</a> -<a class="sourceLine" id="cb250-8" data-line-number="8"><span class="fu">\bye</span></a></code></pre></div> +<div class="sourceCode" id="cb268"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb268-1" data-line-number="1"><span class="fu">\input</span> markdown</a> +<a class="sourceLine" id="cb268-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererLineBreak{<span class="co">%</span></a> +<a class="sourceLine" id="cb268-3" data-line-number="3"> \par</a> +<a class="sourceLine" id="cb268-4" data-line-number="4"> {\it(A forced linebreak)}<span class="co">%</span></a> +<a class="sourceLine" id="cb268-5" data-line-number="5"> \par</a> +<a class="sourceLine" id="cb268-6" data-line-number="6">}</a> +<a class="sourceLine" id="cb268-7" data-line-number="7"><span class="fu">\markdownInput</span>{example.md}</a> +<a class="sourceLine" id="cb268-8" data-line-number="8"><span class="fu">\bye</span></a></code></pre></div> <p>Using a text editor, create a text document named <code>example.md</code> with the following content. Note the two spaces at the end of the first line, which specify a hard linebreak. Due to the limitations of the <span class="tex">T<sub>e</sub>X</span> input processor, hard linebreaks would be ignored if we typed them directly into the <code>document.tex</code> document.</p> <pre><code>Hello world! <br/>_Foo_ bar!</code></pre> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb251"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb251-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb269"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb269-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>Hello <em>world</em>!</p> <p><em>(A forced linebreak)</em></p> <p><em>Foo</em> bar!</p> </blockquote> -<h5 id="latex-example-23" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<h5 id="latex-example-26" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb252"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb252-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> -<a class="sourceLine" id="cb252-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb252-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a> -<a class="sourceLine" id="cb252-4" data-line-number="4"> renderers = {</a> -<a class="sourceLine" id="cb252-5" data-line-number="5"> lineBreak = {<span class="co">%</span></a> -<a class="sourceLine" id="cb252-6" data-line-number="6"> <span class="fu">\par</span></a> -<a class="sourceLine" id="cb252-7" data-line-number="7"> <span class="fu">\emph</span>{(A forced linebreak)}<span class="co">%</span></a> -<a class="sourceLine" id="cb252-8" data-line-number="8"> <span class="fu">\par</span></a> -<a class="sourceLine" id="cb252-9" data-line-number="9"> },</a> -<a class="sourceLine" id="cb252-10" data-line-number="10"> },</a> -<a class="sourceLine" id="cb252-11" data-line-number="11">}</a> -<a class="sourceLine" id="cb252-12" data-line-number="12"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb252-13" data-line-number="13"><span class="fu">\markdownInput</span>{example.md}</a> -<a class="sourceLine" id="cb252-14" data-line-number="14"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<div class="sourceCode" id="cb270"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb270-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb270-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb270-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a> +<a class="sourceLine" id="cb270-4" data-line-number="4"> renderers = {</a> +<a class="sourceLine" id="cb270-5" data-line-number="5"> lineBreak = {<span class="co">%</span></a> +<a class="sourceLine" id="cb270-6" data-line-number="6"> <span class="fu">\par</span></a> +<a class="sourceLine" id="cb270-7" data-line-number="7"> <span class="fu">\emph</span>{(A forced linebreak)}<span class="co">%</span></a> +<a class="sourceLine" id="cb270-8" data-line-number="8"> <span class="fu">\par</span></a> +<a class="sourceLine" id="cb270-9" data-line-number="9"> },</a> +<a class="sourceLine" id="cb270-10" data-line-number="10"> },</a> +<a class="sourceLine" id="cb270-11" data-line-number="11">}</a> +<a class="sourceLine" id="cb270-12" data-line-number="12"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb270-13" data-line-number="13"><span class="fu">\markdownInput</span>{example.md}</a> +<a class="sourceLine" id="cb270-14" data-line-number="14"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> <p>Using a text editor, create a text document named <code>example.md</code> with the following content. Note the two spaces at the end of the first line, which specify a hard linebreak. Due to the limitations of the <span class="tex">T<sub>e</sub>X</span> input processor, hard linebreaks would be ignored if we typed them directly into the <code>document.tex</code> document.</p> <pre><code>Hello world! <br/>_Foo_ bar!</code></pre> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb253"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb253-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb271"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb271-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>Hello <em>world</em>!</p> <p><em>(A forced linebreak)</em></p> <p><em>Foo</em> bar!</p> </blockquote> -<h5 id="context-example-20" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> +<h5 id="context-example-23" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb254"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb254-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> -<a class="sourceLine" id="cb254-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererLineBreak{<span class="co">%</span></a> -<a class="sourceLine" id="cb254-3" data-line-number="3"> \par</a> -<a class="sourceLine" id="cb254-4" data-line-number="4"> \emph{(A forced linebreak)}<span class="co">%</span></a> -<a class="sourceLine" id="cb254-5" data-line-number="5"> \par</a> -<a class="sourceLine" id="cb254-6" data-line-number="6">}</a> -<a class="sourceLine" id="cb254-7" data-line-number="7"><span class="fu">\starttext</span></a> -<a class="sourceLine" id="cb254-8" data-line-number="8"><span class="fu">\markdownInput</span>{example.md}</a> -<a class="sourceLine" id="cb254-9" data-line-number="9"><span class="fu">\stoptext</span></a></code></pre></div> +<div class="sourceCode" id="cb272"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb272-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> +<a class="sourceLine" id="cb272-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererLineBreak{<span class="co">%</span></a> +<a class="sourceLine" id="cb272-3" data-line-number="3"> \par</a> +<a class="sourceLine" id="cb272-4" data-line-number="4"> \emph{(A forced linebreak)}<span class="co">%</span></a> +<a class="sourceLine" id="cb272-5" data-line-number="5"> \par</a> +<a class="sourceLine" id="cb272-6" data-line-number="6">}</a> +<a class="sourceLine" id="cb272-7" data-line-number="7"><span class="fu">\starttext</span></a> +<a class="sourceLine" id="cb272-8" data-line-number="8"><span class="fu">\markdownInput</span>{example.md}</a> +<a class="sourceLine" id="cb272-9" data-line-number="9"><span class="fu">\stoptext</span></a></code></pre></div> <p>Using a text editor, create a text document named <code>example.md</code> with the following content. Note the two spaces at the end of the first line, which specify a hard linebreak. Due to the limitations of the <span class="tex">T<sub>e</sub>X</span> input processor, hard linebreaks would be ignored if we typed them directly into the <code>document.tex</code> document.</p> <pre><code>Hello world! <br/>_Foo_ bar!</code></pre> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb255"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb255-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb273"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb273-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>Hello <em>world</em>!</p> @@ -3122,53 +3445,53 @@ multiple paragraphs</li> </blockquote> <h4 id="ellipsis-renderer"><span class="header-section-number">2.3.1.3</span> Ellipsis Renderer</h4> <p>The <code>\markdownRendererEllipsis</code> macro replaces any occurance of ASCII ellipses in the input text. This macro will only be produced, when the <strong><code>smartEllipses</code></strong> option is <code>true</code>. The macro receives no arguments.</p> -<h5 id="plain-tex-example-13" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> +<h5 id="plain-tex-example-14" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb256"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb256-1" data-line-number="1"><span class="fu">\input</span> markdown</a> -<a class="sourceLine" id="cb256-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionSmartEllipses{true}</a> -<a class="sourceLine" id="cb256-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererEllipsis{{\it SHAZAM}!}</a> -<a class="sourceLine" id="cb256-4" data-line-number="4"><span class="fu">\markdownBegin</span></a> -<a class="sourceLine" id="cb256-5" data-line-number="5">The secret word is ...</a> -<a class="sourceLine" id="cb256-6" data-line-number="6"><span class="fu">\markdownEnd</span></a> -<a class="sourceLine" id="cb256-7" data-line-number="7"><span class="fu">\bye</span></a></code></pre></div> +<div class="sourceCode" id="cb274"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb274-1" data-line-number="1"><span class="fu">\input</span> markdown</a> +<a class="sourceLine" id="cb274-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionSmartEllipses{true}</a> +<a class="sourceLine" id="cb274-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererEllipsis{{\it SHAZAM}!}</a> +<a class="sourceLine" id="cb274-4" data-line-number="4"><span class="fu">\markdownBegin</span></a> +<a class="sourceLine" id="cb274-5" data-line-number="5">The secret word is ...</a> +<a class="sourceLine" id="cb274-6" data-line-number="6"><span class="fu">\markdownEnd</span></a> +<a class="sourceLine" id="cb274-7" data-line-number="7"><span class="fu">\bye</span></a></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb257"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb257-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb275"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb275-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>The secret word is <em>SHAZAM</em>!</p> </blockquote> -<h5 id="latex-example-24" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<h5 id="latex-example-27" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb258"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb258-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> -<a class="sourceLine" id="cb258-2" data-line-number="2"><span class="bu">\usepackage</span>[smartEllipses]{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb258-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a> -<a class="sourceLine" id="cb258-4" data-line-number="4"> renderers = {</a> -<a class="sourceLine" id="cb258-5" data-line-number="5"> ellipsis = <span class="fu">\emph</span>{SHAZAM}!,</a> -<a class="sourceLine" id="cb258-6" data-line-number="6"> },</a> -<a class="sourceLine" id="cb258-7" data-line-number="7">}</a> -<a class="sourceLine" id="cb258-8" data-line-number="8"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb258-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb258-10" data-line-number="10">The secret word is ...</a> -<a class="sourceLine" id="cb258-11" data-line-number="11"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb258-12" data-line-number="12"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb259"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb259-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb276"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb276-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb276-2" data-line-number="2"><span class="bu">\usepackage</span>[smartEllipses]{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb276-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a> +<a class="sourceLine" id="cb276-4" data-line-number="4"> renderers = {</a> +<a class="sourceLine" id="cb276-5" data-line-number="5"> ellipsis = <span class="fu">\emph</span>{SHAZAM}!,</a> +<a class="sourceLine" id="cb276-6" data-line-number="6"> },</a> +<a class="sourceLine" id="cb276-7" data-line-number="7">}</a> +<a class="sourceLine" id="cb276-8" data-line-number="8"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb276-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb276-10" data-line-number="10">The secret word is ...</a> +<a class="sourceLine" id="cb276-11" data-line-number="11"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb276-12" data-line-number="12"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb277"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb277-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>The secret word is <em>SHAZAM</em>!</p> </blockquote> -<h5 id="context-example-21" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> +<h5 id="context-example-24" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb260"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb260-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> -<a class="sourceLine" id="cb260-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionSmartEllipses{true}</a> -<a class="sourceLine" id="cb260-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererEllipsis{\emph{SHAZAM}!}</a> -<a class="sourceLine" id="cb260-4" data-line-number="4"><span class="fu">\starttext</span></a> -<a class="sourceLine" id="cb260-5" data-line-number="5"><span class="fu">\startmarkdown</span></a> -<a class="sourceLine" id="cb260-6" data-line-number="6">The secret word is ...</a> -<a class="sourceLine" id="cb260-7" data-line-number="7"><span class="fu">\stopmarkdown</span></a> -<a class="sourceLine" id="cb260-8" data-line-number="8"><span class="fu">\stoptext</span></a></code></pre></div> +<div class="sourceCode" id="cb278"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb278-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> +<a class="sourceLine" id="cb278-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionSmartEllipses{true}</a> +<a class="sourceLine" id="cb278-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererEllipsis{\emph{SHAZAM}!}</a> +<a class="sourceLine" id="cb278-4" data-line-number="4"><span class="fu">\starttext</span></a> +<a class="sourceLine" id="cb278-5" data-line-number="5"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb278-6" data-line-number="6">The secret word is ...</a> +<a class="sourceLine" id="cb278-7" data-line-number="7"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb278-8" data-line-number="8"><span class="fu">\stoptext</span></a></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb261"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb261-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb279"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb279-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>Hello <em>world</em>!</p> @@ -3177,40 +3500,40 @@ multiple paragraphs</li> </blockquote> <h4 id="non-breaking-space-renderer"><span class="header-section-number">2.3.1.4</span> Non-Breaking Space Renderer</h4> <p>The <code>\markdownRendererNbsp</code> macro represents a non-breaking space.</p> -<h5 id="latex-example-25" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<h5 id="latex-example-28" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.bib</code> with the following content:</p> -<div class="sourceCode" id="cb262"><pre class="sourceCode bib"><code class="sourceCode bibtex"><a class="sourceLine" id="cb262-1" data-line-number="1"><span class="va">@book</span>{<span class="ot">knuth:tex</span>,</a> -<a class="sourceLine" id="cb262-2" data-line-number="2"> <span class="dt">author</span> = "<span class="st">Knuth, Donald Ervin</span>",</a> -<a class="sourceLine" id="cb262-3" data-line-number="3"> <span class="dt">title</span> = "<span class="st">The </span><span class="ch">\TeX</span><span class="st"> book, volume A of Computers and typesetting</span>",</a> -<a class="sourceLine" id="cb262-4" data-line-number="4"> <span class="dt">publisher</span> = "<span class="st">Addison-Wesley</span>",</a> -<a class="sourceLine" id="cb262-5" data-line-number="5"> <span class="dt">year</span> = "<span class="st">1984</span>"</a> -<a class="sourceLine" id="cb262-6" data-line-number="6">}</a></code></pre></div> -<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb263"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb263-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> -<a class="sourceLine" id="cb263-2" data-line-number="2"><span class="bu">\usepackage</span>[</a> -<a class="sourceLine" id="cb263-3" data-line-number="3"> citations,</a> -<a class="sourceLine" id="cb263-4" data-line-number="4"> citationNbsps,</a> -<a class="sourceLine" id="cb263-5" data-line-number="5">]{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb263-6" data-line-number="6"><span class="fu">\markdownSetup</span>{</a> -<a class="sourceLine" id="cb263-7" data-line-number="7"> renderers = {</a> -<a class="sourceLine" id="cb263-8" data-line-number="8"> nbsp = {<span class="ss">$</span><span class="sc">\cdot</span><span class="ss">$</span>},</a> -<a class="sourceLine" id="cb263-9" data-line-number="9"> },</a> -<a class="sourceLine" id="cb263-10" data-line-number="10">}</a> -<a class="sourceLine" id="cb263-11" data-line-number="11"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb263-12" data-line-number="12"></a> -<a class="sourceLine" id="cb263-13" data-line-number="13"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb263-14" data-line-number="14">The TeXbook [@knuth:tex, p. 123 and 130] is good.</a> -<a class="sourceLine" id="cb263-15" data-line-number="15"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb263-16" data-line-number="16"></a> -<a class="sourceLine" id="cb263-17" data-line-number="17"><span class="bu">\bibliographystyle</span>{<span class="ex">plain</span>}</a> -<a class="sourceLine" id="cb263-18" data-line-number="18"><span class="bu">\bibliography</span>{<span class="ex">document.bib</span>}</a> -<a class="sourceLine" id="cb263-19" data-line-number="19"></a> -<a class="sourceLine" id="cb263-20" data-line-number="20"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<div class="sourceCode" id="cb280"><pre class="sourceCode bib"><code class="sourceCode bibtex"><a class="sourceLine" id="cb280-1" data-line-number="1"><span class="va">@book</span>{<span class="ot">knuth:tex</span>,</a> +<a class="sourceLine" id="cb280-2" data-line-number="2"> <span class="dt">author</span> = "<span class="st">Knuth, Donald Ervin</span>",</a> +<a class="sourceLine" id="cb280-3" data-line-number="3"> <span class="dt">title</span> = "<span class="st">The </span><span class="ch">\TeX</span><span class="st"> book, volume A of Computers and typesetting</span>",</a> +<a class="sourceLine" id="cb280-4" data-line-number="4"> <span class="dt">publisher</span> = "<span class="st">Addison-Wesley</span>",</a> +<a class="sourceLine" id="cb280-5" data-line-number="5"> <span class="dt">year</span> = "<span class="st">1984</span>"</a> +<a class="sourceLine" id="cb280-6" data-line-number="6">}</a></code></pre></div> +<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> +<div class="sourceCode" id="cb281"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb281-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb281-2" data-line-number="2"><span class="bu">\usepackage</span>[</a> +<a class="sourceLine" id="cb281-3" data-line-number="3"> citations,</a> +<a class="sourceLine" id="cb281-4" data-line-number="4"> citationNbsps,</a> +<a class="sourceLine" id="cb281-5" data-line-number="5">]{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb281-6" data-line-number="6"><span class="fu">\markdownSetup</span>{</a> +<a class="sourceLine" id="cb281-7" data-line-number="7"> renderers = {</a> +<a class="sourceLine" id="cb281-8" data-line-number="8"> nbsp = {<span class="ss">$</span><span class="sc">\cdot</span><span class="ss">$</span>},</a> +<a class="sourceLine" id="cb281-9" data-line-number="9"> },</a> +<a class="sourceLine" id="cb281-10" data-line-number="10">}</a> +<a class="sourceLine" id="cb281-11" data-line-number="11"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb281-12" data-line-number="12"></a> +<a class="sourceLine" id="cb281-13" data-line-number="13"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb281-14" data-line-number="14">The TeXbook [@knuth:tex, p. 123 and 130] is good.</a> +<a class="sourceLine" id="cb281-15" data-line-number="15"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb281-16" data-line-number="16"></a> +<a class="sourceLine" id="cb281-17" data-line-number="17"><span class="bu">\bibliographystyle</span>{<span class="ex">plain</span>}</a> +<a class="sourceLine" id="cb281-18" data-line-number="18"><span class="bu">\bibliography</span>{<span class="ex">document.bib</span>}</a> +<a class="sourceLine" id="cb281-19" data-line-number="19"></a> +<a class="sourceLine" id="cb281-20" data-line-number="20"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> <p>Next, invoke LuaTeX and BibTeX from the terminal:</p> -<div class="sourceCode" id="cb264"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb264-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a> -<a class="sourceLine" id="cb264-2" data-line-number="2"><span class="ex">bibtex</span> document.aux</a> -<a class="sourceLine" id="cb264-3" data-line-number="3"><span class="ex">lualatex</span> document.tex</a> -<a class="sourceLine" id="cb264-4" data-line-number="4"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb282"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb282-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a> +<a class="sourceLine" id="cb282-2" data-line-number="2"><span class="ex">bibtex</span> document.aux</a> +<a class="sourceLine" id="cb282-3" data-line-number="3"><span class="ex">lualatex</span> document.tex</a> +<a class="sourceLine" id="cb282-4" data-line-number="4"><span class="ex">lualatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>The TeXbook [1, p.·123·and·130] is good.</p> @@ -3232,134 +3555,134 @@ multiple paragraphs</li> <li><code>\markdownRendererTilde</code> replaces the tilde (<code>~</code>).</li> <li><code>\markdownRendererUnderscore</code> replaces the underscore (<code>_</code>).</li> </ul> -<h5 id="plain-tex-example-14" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> +<h5 id="plain-tex-example-15" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content. We will make the tilde behave as if it were written in <span class="tex">T<sub>e</sub>X</span>, where it represents a non-breaking space.</p> -<div class="sourceCode" id="cb265"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb265-1" data-line-number="1"><span class="fu">\input</span> markdown</a> -<a class="sourceLine" id="cb265-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererTilde{~}</a> -<a class="sourceLine" id="cb265-3" data-line-number="3"><span class="fu">\markdownBegin</span></a> -<a class="sourceLine" id="cb265-4" data-line-number="4">Bartel~Leendert van~der~Waerden</a> -<a class="sourceLine" id="cb265-5" data-line-number="5"><span class="fu">\markdownEnd</span></a> -<a class="sourceLine" id="cb265-6" data-line-number="6"><span class="fu">\bye</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb266"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb266-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb283"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb283-1" data-line-number="1"><span class="fu">\input</span> markdown</a> +<a class="sourceLine" id="cb283-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererTilde{~}</a> +<a class="sourceLine" id="cb283-3" data-line-number="3"><span class="fu">\markdownBegin</span></a> +<a class="sourceLine" id="cb283-4" data-line-number="4">Bartel~Leendert van~der~Waerden</a> +<a class="sourceLine" id="cb283-5" data-line-number="5"><span class="fu">\markdownEnd</span></a> +<a class="sourceLine" id="cb283-6" data-line-number="6"><span class="fu">\bye</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb284"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb284-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text, where the middot (<code>·</code>) denotes a non-breakable space:</p> <blockquote> <p>Bartel·Leendert van·der·Waerden</p> </blockquote> -<h5 id="latex-example-26" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<h5 id="latex-example-29" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content. We will make the tilde behave as if it were written in <span class="tex">T<sub>e</sub>X</span>, where it represents a non-breaking space.</p> -<div class="sourceCode" id="cb267"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb267-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> -<a class="sourceLine" id="cb267-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb267-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a> -<a class="sourceLine" id="cb267-4" data-line-number="4"> renderers = {</a> -<a class="sourceLine" id="cb267-5" data-line-number="5"> tilde = ~,</a> -<a class="sourceLine" id="cb267-6" data-line-number="6"> },</a> -<a class="sourceLine" id="cb267-7" data-line-number="7">}</a> -<a class="sourceLine" id="cb267-8" data-line-number="8"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb267-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb267-10" data-line-number="10">Bartel~Leendert van~der~Waerden</a> -<a class="sourceLine" id="cb267-11" data-line-number="11"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb267-12" data-line-number="12"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb268"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb268-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb285"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb285-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb285-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb285-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a> +<a class="sourceLine" id="cb285-4" data-line-number="4"> renderers = {</a> +<a class="sourceLine" id="cb285-5" data-line-number="5"> tilde = ~,</a> +<a class="sourceLine" id="cb285-6" data-line-number="6"> },</a> +<a class="sourceLine" id="cb285-7" data-line-number="7">}</a> +<a class="sourceLine" id="cb285-8" data-line-number="8"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb285-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb285-10" data-line-number="10">Bartel~Leendert van~der~Waerden</a> +<a class="sourceLine" id="cb285-11" data-line-number="11"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb285-12" data-line-number="12"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb286"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb286-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text, where the middot (<code>·</code>) denotes a non-breakable space:</p> <blockquote> <p>Bartel·Leendert van·der·Waerden</p> </blockquote> -<h5 id="context-example-22" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> +<h5 id="context-example-25" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content. We will make the tilde behave as if it were written in <span class="tex">T<sub>e</sub>X</span>, where it represents a non-breaking space.</p> -<div class="sourceCode" id="cb269"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb269-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> -<a class="sourceLine" id="cb269-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererTilde{~}</a> -<a class="sourceLine" id="cb269-3" data-line-number="3"><span class="fu">\starttext</span></a> -<a class="sourceLine" id="cb269-4" data-line-number="4"><span class="fu">\startmarkdown</span></a> -<a class="sourceLine" id="cb269-5" data-line-number="5">Bartel~Leendert van~der~Waerden</a> -<a class="sourceLine" id="cb269-6" data-line-number="6"><span class="fu">\stopmarkdown</span></a> -<a class="sourceLine" id="cb269-7" data-line-number="7"><span class="fu">\stoptext</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb270"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb270-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb287"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb287-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> +<a class="sourceLine" id="cb287-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererTilde{~}</a> +<a class="sourceLine" id="cb287-3" data-line-number="3"><span class="fu">\starttext</span></a> +<a class="sourceLine" id="cb287-4" data-line-number="4"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb287-5" data-line-number="5">Bartel~Leendert van~der~Waerden</a> +<a class="sourceLine" id="cb287-6" data-line-number="6"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb287-7" data-line-number="7"><span class="fu">\stoptext</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb288"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb288-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text, where the middot (<code>·</code>) denotes a non-breakable space:</p> <blockquote> <p>Bartel·Leendert van·der·Waerden</p> </blockquote> <h4 id="code-span-renderer"><span class="header-section-number">2.3.1.6</span> Code Span Renderer</h4> <p>The <code>\markdownRendererCodeSpan</code> macro represents inlined code span in the input text. It receives a single argument that corresponds to the inlined code span.</p> -<h5 id="plain-tex-example-15" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> +<h5 id="plain-tex-example-16" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb271"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb271-1" data-line-number="1"><span class="fu">\input</span> markdown</a> -<a class="sourceLine" id="cb271-2" data-line-number="2"><span class="fu">\input</span> lmfonts</a> -<a class="sourceLine" id="cb271-3" data-line-number="3"></a> -<a class="sourceLine" id="cb271-4" data-line-number="4"><span class="fu">\def</span>\markdownRendererCodeSpan#1{#1}</a> -<a class="sourceLine" id="cb271-5" data-line-number="5"></a> -<a class="sourceLine" id="cb271-6" data-line-number="6"><span class="fu">\markdownBegin</span></a> -<a class="sourceLine" id="cb271-7" data-line-number="7">`<span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>`</a> -<a class="sourceLine" id="cb271-8" data-line-number="8"></a> -<a class="sourceLine" id="cb271-9" data-line-number="9"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></a> -<a class="sourceLine" id="cb271-10" data-line-number="10"><span class="fu">\markdownEnd</span></a> -<a class="sourceLine" id="cb271-11" data-line-number="11"></a> -<a class="sourceLine" id="cb271-12" data-line-number="12"><span class="fu">\def</span>\markdownOptionHybrid{true}</a> -<a class="sourceLine" id="cb271-13" data-line-number="13"><span class="fu">\markdownBegin</span></a> -<a class="sourceLine" id="cb271-14" data-line-number="14"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></a> -<a class="sourceLine" id="cb271-15" data-line-number="15"><span class="fu">\markdownEnd</span></a> -<a class="sourceLine" id="cb271-16" data-line-number="16"></a> -<a class="sourceLine" id="cb271-17" data-line-number="17"><span class="fu">\bye</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb272"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb272-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb289"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb289-1" data-line-number="1"><span class="fu">\input</span> markdown</a> +<a class="sourceLine" id="cb289-2" data-line-number="2"><span class="fu">\input</span> lmfonts</a> +<a class="sourceLine" id="cb289-3" data-line-number="3"></a> +<a class="sourceLine" id="cb289-4" data-line-number="4"><span class="fu">\def</span>\markdownRendererCodeSpan#1{#1}</a> +<a class="sourceLine" id="cb289-5" data-line-number="5"></a> +<a class="sourceLine" id="cb289-6" data-line-number="6"><span class="fu">\markdownBegin</span></a> +<a class="sourceLine" id="cb289-7" data-line-number="7">`<span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>`</a> +<a class="sourceLine" id="cb289-8" data-line-number="8"></a> +<a class="sourceLine" id="cb289-9" data-line-number="9"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></a> +<a class="sourceLine" id="cb289-10" data-line-number="10"><span class="fu">\markdownEnd</span></a> +<a class="sourceLine" id="cb289-11" data-line-number="11"></a> +<a class="sourceLine" id="cb289-12" data-line-number="12"><span class="fu">\def</span>\markdownOptionHybrid{true}</a> +<a class="sourceLine" id="cb289-13" data-line-number="13"><span class="fu">\markdownBegin</span></a> +<a class="sourceLine" id="cb289-14" data-line-number="14"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></a> +<a class="sourceLine" id="cb289-15" data-line-number="15"><span class="fu">\markdownEnd</span></a> +<a class="sourceLine" id="cb289-16" data-line-number="16"></a> +<a class="sourceLine" id="cb289-17" data-line-number="17"><span class="fu">\bye</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb290"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb290-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>$\sqrt{-1}$ *equals* $i$.</p> <p>$\sqrt{-1}$ <em>equals</em> $i$.</p> <p>√-̅1̅ <em>equals</em> <span class="math inline"><em>i</em></span>.</p> </blockquote> -<h5 id="latex-example-27" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<h5 id="latex-example-30" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb273"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb273-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> -<a class="sourceLine" id="cb273-2" data-line-number="2"><span class="bu">\usepackage</span>[smartEllipses]{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb273-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a> -<a class="sourceLine" id="cb273-4" data-line-number="4"> renderers = {</a> -<a class="sourceLine" id="cb273-5" data-line-number="5"> codeSpan = {#1},</a> -<a class="sourceLine" id="cb273-6" data-line-number="6"> },</a> -<a class="sourceLine" id="cb273-7" data-line-number="7">}</a> -<a class="sourceLine" id="cb273-8" data-line-number="8"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb273-9" data-line-number="9"></a> -<a class="sourceLine" id="cb273-10" data-line-number="10"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb273-11" data-line-number="11">`<span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>`</a> -<a class="sourceLine" id="cb273-12" data-line-number="12"></a> -<a class="sourceLine" id="cb273-13" data-line-number="13"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></a> -<a class="sourceLine" id="cb273-14" data-line-number="14"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb273-15" data-line-number="15"></a> -<a class="sourceLine" id="cb273-16" data-line-number="16"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{hybrid}</a> -<a class="sourceLine" id="cb273-17" data-line-number="17"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></a> -<a class="sourceLine" id="cb273-18" data-line-number="18"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a> -<a class="sourceLine" id="cb273-19" data-line-number="19"></a> -<a class="sourceLine" id="cb273-20" data-line-number="20"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb274"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb274-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb291"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb291-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb291-2" data-line-number="2"><span class="bu">\usepackage</span>[smartEllipses]{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb291-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a> +<a class="sourceLine" id="cb291-4" data-line-number="4"> renderers = {</a> +<a class="sourceLine" id="cb291-5" data-line-number="5"> codeSpan = {#1},</a> +<a class="sourceLine" id="cb291-6" data-line-number="6"> },</a> +<a class="sourceLine" id="cb291-7" data-line-number="7">}</a> +<a class="sourceLine" id="cb291-8" data-line-number="8"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb291-9" data-line-number="9"></a> +<a class="sourceLine" id="cb291-10" data-line-number="10"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb291-11" data-line-number="11">`<span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>`</a> +<a class="sourceLine" id="cb291-12" data-line-number="12"></a> +<a class="sourceLine" id="cb291-13" data-line-number="13"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></a> +<a class="sourceLine" id="cb291-14" data-line-number="14"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb291-15" data-line-number="15"></a> +<a class="sourceLine" id="cb291-16" data-line-number="16"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{hybrid}</a> +<a class="sourceLine" id="cb291-17" data-line-number="17"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></a> +<a class="sourceLine" id="cb291-18" data-line-number="18"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a> +<a class="sourceLine" id="cb291-19" data-line-number="19"></a> +<a class="sourceLine" id="cb291-20" data-line-number="20"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb292"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb292-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>$\sqrt{-1}$ *equals* $i$.</p> <p>$\sqrt{-1}$ <em>equals</em> $i$.</p> <p>√-̅1̅ <em>equals</em> <span class="math inline"><em>i</em></span>.</p> </blockquote> -<h5 id="context-example-23" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> +<h5 id="context-example-26" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb275"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb275-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> -<a class="sourceLine" id="cb275-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererCodeSpan#1{#1}</a> -<a class="sourceLine" id="cb275-3" data-line-number="3"><span class="fu">\starttext</span></a> -<a class="sourceLine" id="cb275-4" data-line-number="4"></a> -<a class="sourceLine" id="cb275-5" data-line-number="5"><span class="fu">\startmarkdown</span></a> -<a class="sourceLine" id="cb275-6" data-line-number="6">`<span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>`</a> -<a class="sourceLine" id="cb275-7" data-line-number="7"></a> -<a class="sourceLine" id="cb275-8" data-line-number="8"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></a> -<a class="sourceLine" id="cb275-9" data-line-number="9"><span class="fu">\stopmarkdown</span></a> -<a class="sourceLine" id="cb275-10" data-line-number="10"></a> -<a class="sourceLine" id="cb275-11" data-line-number="11"><span class="fu">\def</span>\markdownOptionHybrid{true}</a> -<a class="sourceLine" id="cb275-12" data-line-number="12"><span class="fu">\startmarkdown</span></a> -<a class="sourceLine" id="cb275-13" data-line-number="13"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></a> -<a class="sourceLine" id="cb275-14" data-line-number="14"><span class="fu">\stopmarkdown</span></a> -<a class="sourceLine" id="cb275-15" data-line-number="15"></a> -<a class="sourceLine" id="cb275-16" data-line-number="16"><span class="fu">\bye</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb276"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb276-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb293"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb293-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> +<a class="sourceLine" id="cb293-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererCodeSpan#1{#1}</a> +<a class="sourceLine" id="cb293-3" data-line-number="3"><span class="fu">\starttext</span></a> +<a class="sourceLine" id="cb293-4" data-line-number="4"></a> +<a class="sourceLine" id="cb293-5" data-line-number="5"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb293-6" data-line-number="6">`<span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>`</a> +<a class="sourceLine" id="cb293-7" data-line-number="7"></a> +<a class="sourceLine" id="cb293-8" data-line-number="8"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></a> +<a class="sourceLine" id="cb293-9" data-line-number="9"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb293-10" data-line-number="10"></a> +<a class="sourceLine" id="cb293-11" data-line-number="11"><span class="fu">\def</span>\markdownOptionHybrid{true}</a> +<a class="sourceLine" id="cb293-12" data-line-number="12"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb293-13" data-line-number="13"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></a> +<a class="sourceLine" id="cb293-14" data-line-number="14"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb293-15" data-line-number="15"></a> +<a class="sourceLine" id="cb293-16" data-line-number="16"><span class="fu">\bye</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb294"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb294-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>$\sqrt{-1}$ *equals* $i$.</p> @@ -3368,108 +3691,108 @@ multiple paragraphs</li> </blockquote> <h4 id="link-renderer"><span class="header-section-number">2.3.1.7</span> Link Renderer</h4> <p>The <code>\markdownRendererLink</code> macro represents a hyperlink. It receives four arguments: the label, the fully escaped <abbr>uri</abbr> that can be directly typeset, the raw <abbr>uri</abbr> that can be used outside typesetting, and the title of the link.</p> -<h5 id="plain-tex-example-16" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> +<h5 id="plain-tex-example-17" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb277"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb277-1" data-line-number="1"><span class="fu">\input</span> markdown</a> -<a class="sourceLine" id="cb277-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererLink#1#2#3#4{<span class="co">%</span></a> -<a class="sourceLine" id="cb277-3" data-line-number="3"> #1 {\tt#2} titled {\it#4}<span class="co">%</span></a> -<a class="sourceLine" id="cb277-4" data-line-number="4">}</a> -<a class="sourceLine" id="cb277-5" data-line-number="5"><span class="fu">\markdownBegin</span></a> -<a class="sourceLine" id="cb277-6" data-line-number="6">Please visit [the link][ctan].</a> -<a class="sourceLine" id="cb277-7" data-line-number="7"></a> -<a class="sourceLine" id="cb277-8" data-line-number="8"> [ctan]: https://ctan.org/</a> -<a class="sourceLine" id="cb277-9" data-line-number="9"> (the Comprehensive TeX Archive Network)</a> -<a class="sourceLine" id="cb277-10" data-line-number="10"><span class="fu">\markdownEnd</span></a> -<a class="sourceLine" id="cb277-11" data-line-number="11"><span class="fu">\bye</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb278"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb278-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb295"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb295-1" data-line-number="1"><span class="fu">\input</span> markdown</a> +<a class="sourceLine" id="cb295-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererLink#1#2#3#4{<span class="co">%</span></a> +<a class="sourceLine" id="cb295-3" data-line-number="3"> #1 {\tt#2} titled {\it#4}<span class="co">%</span></a> +<a class="sourceLine" id="cb295-4" data-line-number="4">}</a> +<a class="sourceLine" id="cb295-5" data-line-number="5"><span class="fu">\markdownBegin</span></a> +<a class="sourceLine" id="cb295-6" data-line-number="6">Please visit [the link][ctan].</a> +<a class="sourceLine" id="cb295-7" data-line-number="7"></a> +<a class="sourceLine" id="cb295-8" data-line-number="8"> [ctan]: https://ctan.org/</a> +<a class="sourceLine" id="cb295-9" data-line-number="9"> (the Comprehensive TeX Archive Network)</a> +<a class="sourceLine" id="cb295-10" data-line-number="10"><span class="fu">\markdownEnd</span></a> +<a class="sourceLine" id="cb295-11" data-line-number="11"><span class="fu">\bye</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb296"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb296-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>Please visit the link <a href="https://ctan.org/" class="uri">https://ctan.org/</a> titled <em>the Comprehensive TeX Archive Network</em>.</p> </blockquote> -<h5 id="latex-example-28" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<h5 id="latex-example-31" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb279"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb279-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> -<a class="sourceLine" id="cb279-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb279-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a> -<a class="sourceLine" id="cb279-4" data-line-number="4"> renderers = {</a> -<a class="sourceLine" id="cb279-5" data-line-number="5"> link = {<span class="co">%</span></a> -<a class="sourceLine" id="cb279-6" data-line-number="6"> #1 <span class="fu">\texttt</span>{#2} titled <span class="fu">\emph</span>{#4}<span class="co">%</span></a> -<a class="sourceLine" id="cb279-7" data-line-number="7"> },</a> -<a class="sourceLine" id="cb279-8" data-line-number="8"> },</a> -<a class="sourceLine" id="cb279-9" data-line-number="9">}</a> -<a class="sourceLine" id="cb279-10" data-line-number="10"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb279-11" data-line-number="11"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb279-12" data-line-number="12">Please visit [the link][ctan].</a> -<a class="sourceLine" id="cb279-13" data-line-number="13"></a> -<a class="sourceLine" id="cb279-14" data-line-number="14"> [ctan]: https://ctan.org/</a> -<a class="sourceLine" id="cb279-15" data-line-number="15"> (the Comprehensive TeX Archive Network)</a> -<a class="sourceLine" id="cb279-16" data-line-number="16"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb279-17" data-line-number="17"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb280"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb280-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb297"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb297-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb297-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb297-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a> +<a class="sourceLine" id="cb297-4" data-line-number="4"> renderers = {</a> +<a class="sourceLine" id="cb297-5" data-line-number="5"> link = {<span class="co">%</span></a> +<a class="sourceLine" id="cb297-6" data-line-number="6"> #1 <span class="fu">\texttt</span>{#2} titled <span class="fu">\emph</span>{#4}<span class="co">%</span></a> +<a class="sourceLine" id="cb297-7" data-line-number="7"> },</a> +<a class="sourceLine" id="cb297-8" data-line-number="8"> },</a> +<a class="sourceLine" id="cb297-9" data-line-number="9">}</a> +<a class="sourceLine" id="cb297-10" data-line-number="10"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb297-11" data-line-number="11"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb297-12" data-line-number="12">Please visit [the link][ctan].</a> +<a class="sourceLine" id="cb297-13" data-line-number="13"></a> +<a class="sourceLine" id="cb297-14" data-line-number="14"> [ctan]: https://ctan.org/</a> +<a class="sourceLine" id="cb297-15" data-line-number="15"> (the Comprehensive TeX Archive Network)</a> +<a class="sourceLine" id="cb297-16" data-line-number="16"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb297-17" data-line-number="17"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb298"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb298-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>Please visit the link <a href="https://ctan.org/" class="uri">https://ctan.org/</a> titled <em>the Comprehensive TeX Archive Network</em>.</p> </blockquote> -<h5 id="context-example-24" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> +<h5 id="context-example-27" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb281"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb281-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> -<a class="sourceLine" id="cb281-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererLink#1#2#3#4{<span class="co">%</span></a> -<a class="sourceLine" id="cb281-3" data-line-number="3"> #1 {\tt#2} titled \emph{#4}<span class="co">%</span></a> -<a class="sourceLine" id="cb281-4" data-line-number="4">}</a> -<a class="sourceLine" id="cb281-5" data-line-number="5"><span class="fu">\starttext</span></a> -<a class="sourceLine" id="cb281-6" data-line-number="6"><span class="fu">\startmarkdown</span></a> -<a class="sourceLine" id="cb281-7" data-line-number="7">Please visit [the link][ctan].</a> -<a class="sourceLine" id="cb281-8" data-line-number="8"></a> -<a class="sourceLine" id="cb281-9" data-line-number="9"> [ctan]: https://ctan.org/</a> -<a class="sourceLine" id="cb281-10" data-line-number="10"> (the Comprehensive TeX Archive Network)</a> -<a class="sourceLine" id="cb281-11" data-line-number="11"><span class="fu">\stopmarkdown</span></a> -<a class="sourceLine" id="cb281-12" data-line-number="12"><span class="fu">\stoptext</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb282"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb282-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb299"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb299-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> +<a class="sourceLine" id="cb299-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererLink#1#2#3#4{<span class="co">%</span></a> +<a class="sourceLine" id="cb299-3" data-line-number="3"> #1 {\tt#2} titled \emph{#4}<span class="co">%</span></a> +<a class="sourceLine" id="cb299-4" data-line-number="4">}</a> +<a class="sourceLine" id="cb299-5" data-line-number="5"><span class="fu">\starttext</span></a> +<a class="sourceLine" id="cb299-6" data-line-number="6"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb299-7" data-line-number="7">Please visit [the link][ctan].</a> +<a class="sourceLine" id="cb299-8" data-line-number="8"></a> +<a class="sourceLine" id="cb299-9" data-line-number="9"> [ctan]: https://ctan.org/</a> +<a class="sourceLine" id="cb299-10" data-line-number="10"> (the Comprehensive TeX Archive Network)</a> +<a class="sourceLine" id="cb299-11" data-line-number="11"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb299-12" data-line-number="12"><span class="fu">\stoptext</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb300"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb300-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>Please visit the link <a href="https://ctan.org/" class="uri">https://ctan.org/</a> titled <em>the Comprehensive TeX Archive Network</em>.</p> </blockquote> <h4 id="image-renderer"><span class="header-section-number">2.3.1.8</span> Image Renderer</h4> <p>The <code>\markdownRendererImage</code> macro represents an image. It receives four arguments: the label, the fully escaped <abbr>uri</abbr> that can be directly typeset, the raw <abbr>uri</abbr> that can be used outside typesetting, and the title of the link.</p> -<h5 id="latex-example-29" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<h5 id="latex-example-32" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb283"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb283-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> -<a class="sourceLine" id="cb283-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb283-3" data-line-number="3"><span class="fu">\begingroup</span></a> -<a class="sourceLine" id="cb283-4" data-line-number="4"><span class="fu">\catcode</span>`<span class="fu">\@</span>=11</a> -<a class="sourceLine" id="cb283-5" data-line-number="5"><span class="fu">\catcode</span>`<span class="fu">\%</span>=12</a> -<a class="sourceLine" id="cb283-6" data-line-number="6"><span class="fu">\catcode</span>`<span class="fu">\^</span>^A=14</a> -<a class="sourceLine" id="cb283-7" data-line-number="7"><span class="fu">\global\def</span>\markdownRendererImage#1#2#3#4{^^A</a> -<a class="sourceLine" id="cb283-8" data-line-number="8"> \immediate\write18{^^A</a> -<a class="sourceLine" id="cb283-9" data-line-number="9"> if printf '<span class="co">%s' "#3" | grep -q ^http; then</span></a> -<a class="sourceLine" id="cb283-10" data-line-number="10"> OUTPUT="$(printf '<span class="co">%s' "#3" | md5sum | cut -d' ' -f1).^^A</span></a> -<a class="sourceLine" id="cb283-11" data-line-number="11"> $(printf '<span class="co">%s' "#3" | sed 's/.*[.]//')";</span></a> -<a class="sourceLine" id="cb283-12" data-line-number="12"> if ! [ -e "$OUTPUT" ]; then</a> -<a class="sourceLine" id="cb283-13" data-line-number="13"> wget -O "$OUTPUT" '#3' || rm "$OUTPUT";</a> -<a class="sourceLine" id="cb283-14" data-line-number="14"> convert "$OUTPUT" png:"$OUTPUT";</a> -<a class="sourceLine" id="cb283-15" data-line-number="15"> fi;</a> -<a class="sourceLine" id="cb283-16" data-line-number="16"> printf '<span class="co">%s%%' "$OUTPUT" > \jobname.fetched;</span></a> -<a class="sourceLine" id="cb283-17" data-line-number="17"> else</a> -<a class="sourceLine" id="cb283-18" data-line-number="18"> printf '<span class="co">%s%%' "#3" > \jobname.fetched;</span></a> -<a class="sourceLine" id="cb283-19" data-line-number="19"> fi^^A</a> -<a class="sourceLine" id="cb283-20" data-line-number="20"> }^^A</a> -<a class="sourceLine" id="cb283-21" data-line-number="21"> {^^A</a> -<a class="sourceLine" id="cb283-22" data-line-number="22"> \everyeof={\noexpand}^^A</a> -<a class="sourceLine" id="cb283-23" data-line-number="23"> \edef\filename{\@@input"\jobname.fetched" }^^A</a> -<a class="sourceLine" id="cb283-24" data-line-number="24"> \includegraphics[width=\textwidth]{\filename}^^A</a> -<a class="sourceLine" id="cb283-25" data-line-number="25"> }^^A</a> -<a class="sourceLine" id="cb283-26" data-line-number="26">}</a> -<a class="sourceLine" id="cb283-27" data-line-number="27"><span class="fu">\endgroup</span></a> -<a class="sourceLine" id="cb283-28" data-line-number="28"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb283-29" data-line-number="29"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb283-30" data-line-number="30">![TUGboat](https://tug.org/tugboat/noword.jpg)</a> -<a class="sourceLine" id="cb283-31" data-line-number="31"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb283-32" data-line-number="32"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb284"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb284-1" data-line-number="1"><span class="ex">lualatex</span> --shell-escape document.tex</a></code></pre></div> +<div class="sourceCode" id="cb301"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb301-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb301-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb301-3" data-line-number="3"><span class="fu">\begingroup</span></a> +<a class="sourceLine" id="cb301-4" data-line-number="4"><span class="fu">\catcode</span>`<span class="fu">\@</span>=11</a> +<a class="sourceLine" id="cb301-5" data-line-number="5"><span class="fu">\catcode</span>`<span class="fu">\%</span>=12</a> +<a class="sourceLine" id="cb301-6" data-line-number="6"><span class="fu">\catcode</span>`<span class="fu">\^</span>^A=14</a> +<a class="sourceLine" id="cb301-7" data-line-number="7"><span class="fu">\global\def</span>\markdownRendererImage#1#2#3#4{^^A</a> +<a class="sourceLine" id="cb301-8" data-line-number="8"> \immediate\write18{^^A</a> +<a class="sourceLine" id="cb301-9" data-line-number="9"> if printf '<span class="co">%s' "#3" | grep -q ^http; then</span></a> +<a class="sourceLine" id="cb301-10" data-line-number="10"> OUTPUT="$(printf '<span class="co">%s' "#3" | md5sum | cut -d' ' -f1).^^A</span></a> +<a class="sourceLine" id="cb301-11" data-line-number="11"> $(printf '<span class="co">%s' "#3" | sed 's/.*[.]//')";</span></a> +<a class="sourceLine" id="cb301-12" data-line-number="12"> if ! [ -e "$OUTPUT" ]; then</a> +<a class="sourceLine" id="cb301-13" data-line-number="13"> wget -O "$OUTPUT" '#3' || rm "$OUTPUT";</a> +<a class="sourceLine" id="cb301-14" data-line-number="14"> convert "$OUTPUT" png:"$OUTPUT";</a> +<a class="sourceLine" id="cb301-15" data-line-number="15"> fi;</a> +<a class="sourceLine" id="cb301-16" data-line-number="16"> printf '<span class="co">%s%%' "$OUTPUT" > \jobname.fetched;</span></a> +<a class="sourceLine" id="cb301-17" data-line-number="17"> else</a> +<a class="sourceLine" id="cb301-18" data-line-number="18"> printf '<span class="co">%s%%' "#3" > \jobname.fetched;</span></a> +<a class="sourceLine" id="cb301-19" data-line-number="19"> fi^^A</a> +<a class="sourceLine" id="cb301-20" data-line-number="20"> }^^A</a> +<a class="sourceLine" id="cb301-21" data-line-number="21"> {^^A</a> +<a class="sourceLine" id="cb301-22" data-line-number="22"> \everyeof={\noexpand}^^A</a> +<a class="sourceLine" id="cb301-23" data-line-number="23"> \edef\filename{\@@input"\jobname.fetched" }^^A</a> +<a class="sourceLine" id="cb301-24" data-line-number="24"> \includegraphics[width=\textwidth]{\filename}^^A</a> +<a class="sourceLine" id="cb301-25" data-line-number="25"> }^^A</a> +<a class="sourceLine" id="cb301-26" data-line-number="26">}</a> +<a class="sourceLine" id="cb301-27" data-line-number="27"><span class="fu">\endgroup</span></a> +<a class="sourceLine" id="cb301-28" data-line-number="28"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb301-29" data-line-number="29"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb301-30" data-line-number="30">![TUGboat](https://tug.org/tugboat/noword.jpg)</a> +<a class="sourceLine" id="cb301-31" data-line-number="31"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb301-32" data-line-number="32"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb302"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb302-1" data-line-number="1"><span class="ex">lualatex</span> --shell-escape document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following content. This assumes that you use a Unix-like operating system with Bourne or Bourne again shell as the default shell of the current user. It also assumes that the <code>md5sum</code>, <code>wget</code>, and <code>convert</code> binaries are installed and that the <span class="tex">T<sub>e</sub>X</span> engine has shell access.</p> <blockquote> <p><img src="https://tug.org/tugboat/noword.jpg" title="The Communications of the TeX Users Group" /></p> @@ -3479,100 +3802,100 @@ multiple paragraphs</li> <p>The <code>\markdownRendererContentBlockOnlineImage</code> macro represents an iA Writer online image content block. The macro receives the same arguments as <code>\markdownRendererContentBlock</code>.</p> <p>The <code>\markdownRendererContentBlockCode</code> macro represents an iA Writer content block that was recognized as a file in a known programming language by its filename extension <span class="math inline"><em>s</em></span>. If any <code>markdown-languages.json</code> file found by contains a record <span class="math inline">(<em>k</em>, <em>v</em>)</span>, then a non-online-image content block with the filename extension <span class="math inline"><em>s</em>, <em>s</em></span><code>:lower()</code><span class="math inline"> = <em>k</em></span> is considered to be in a known programming language <span class="math inline"><em>v</em></span>. The macro receives five arguments: the local file name extension <span class="math inline"><em>s</em></span> cast to the lower case, the language <span class="math inline"><em>v</em></span>, the fully escaped <abbr>uri</abbr> that can be directly typeset, the raw <abbr>uri</abbr> that can be used outside typesetting, and the title of the content block.</p> <p>Note that you will need to place place a <code>markdown-languages.json</code> file inside your working directory or inside your local <span class="tex">T<sub>e</sub>X</span> directory structure. In this file, you will define a mapping between filename extensions and the language names recognized by your favorite syntax highlighter; there may exist other creative uses beside syntax highlighting. <a href="https://github.com/iainc/Markdown-Content-Blocks" title="File transclusion syntax for Markdown">The <code>Languages.json</code> file provided by Anton Sotkov</a> is a good starting point.</p> -<h5 id="plain-tex-example-17" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> +<h5 id="plain-tex-example-18" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb285"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb285-1" data-line-number="1"><span class="fu">\input</span> markdown</a> -<a class="sourceLine" id="cb285-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionContentBlocks{true}</a> -<a class="sourceLine" id="cb285-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererContentBlock#1#2#3#4{<span class="co">%</span></a> -<a class="sourceLine" id="cb285-4" data-line-number="4"> This is {\tt #2}, #4.</a> -<a class="sourceLine" id="cb285-5" data-line-number="5">}</a> -<a class="sourceLine" id="cb285-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererContentBlockOnlineImage#1#2#3#4{<span class="co">%</span></a> -<a class="sourceLine" id="cb285-7" data-line-number="7"> This is the image {\tt #2}, #4.</a> -<a class="sourceLine" id="cb285-8" data-line-number="8">}</a> -<a class="sourceLine" id="cb285-9" data-line-number="9"><span class="fu">\def</span>\markdownRendererContentBlockCode#1#2#3#4#5{<span class="co">%</span></a> -<a class="sourceLine" id="cb285-10" data-line-number="10"> This is the #2 (\uppercase{#1}) document {\tt #3}, #5.</a> -<a class="sourceLine" id="cb285-11" data-line-number="11">}</a> -<a class="sourceLine" id="cb285-12" data-line-number="12"><span class="fu">\markdownBegin</span></a> -<a class="sourceLine" id="cb285-13" data-line-number="13">/document.tex (the document that we are currently typesetting)</a> -<a class="sourceLine" id="cb285-14" data-line-number="14">/markdown-languages.json (the mapping between filename extensions</a> -<a class="sourceLine" id="cb285-15" data-line-number="15"> and programming language names)</a> -<a class="sourceLine" id="cb285-16" data-line-number="16">https://tug.org/tugboat/noword.jpg (the logotype of TUGboat)</a> -<a class="sourceLine" id="cb285-17" data-line-number="17"><span class="fu">\markdownEnd</span></a> -<a class="sourceLine" id="cb285-18" data-line-number="18"><span class="fu">\bye</span></a></code></pre></div> +<div class="sourceCode" id="cb303"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb303-1" data-line-number="1"><span class="fu">\input</span> markdown</a> +<a class="sourceLine" id="cb303-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionContentBlocks{true}</a> +<a class="sourceLine" id="cb303-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererContentBlock#1#2#3#4{<span class="co">%</span></a> +<a class="sourceLine" id="cb303-4" data-line-number="4"> This is {\tt #2}, #4.</a> +<a class="sourceLine" id="cb303-5" data-line-number="5">}</a> +<a class="sourceLine" id="cb303-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererContentBlockOnlineImage#1#2#3#4{<span class="co">%</span></a> +<a class="sourceLine" id="cb303-7" data-line-number="7"> This is the image {\tt #2}, #4.</a> +<a class="sourceLine" id="cb303-8" data-line-number="8">}</a> +<a class="sourceLine" id="cb303-9" data-line-number="9"><span class="fu">\def</span>\markdownRendererContentBlockCode#1#2#3#4#5{<span class="co">%</span></a> +<a class="sourceLine" id="cb303-10" data-line-number="10"> This is the #2 (\uppercase{#1}) document {\tt #3}, #5.</a> +<a class="sourceLine" id="cb303-11" data-line-number="11">}</a> +<a class="sourceLine" id="cb303-12" data-line-number="12"><span class="fu">\markdownBegin</span></a> +<a class="sourceLine" id="cb303-13" data-line-number="13">/document.tex (the document that we are currently typesetting)</a> +<a class="sourceLine" id="cb303-14" data-line-number="14">/markdown-languages.json (the mapping between filename extensions</a> +<a class="sourceLine" id="cb303-15" data-line-number="15"> and programming language names)</a> +<a class="sourceLine" id="cb303-16" data-line-number="16">https://tug.org/tugboat/noword.jpg (the logotype of TUGboat)</a> +<a class="sourceLine" id="cb303-17" data-line-number="17"><span class="fu">\markdownEnd</span></a> +<a class="sourceLine" id="cb303-18" data-line-number="18"><span class="fu">\bye</span></a></code></pre></div> <p>Create also a text document named <code>markdown-languages.json</code> with the following content:</p> -<div class="sourceCode" id="cb286"><pre class="sourceCode js"><code class="sourceCode javascript"><a class="sourceLine" id="cb286-1" data-line-number="1"><span class="op">{</span></a> -<a class="sourceLine" id="cb286-2" data-line-number="2"> <span class="st">"json"</span><span class="op">:</span> <span class="st">"JavaScript Object Notation"</span><span class="op">,</span></a> -<a class="sourceLine" id="cb286-3" data-line-number="3"><span class="op">}</span></a></code></pre></div> +<div class="sourceCode" id="cb304"><pre class="sourceCode js"><code class="sourceCode javascript"><a class="sourceLine" id="cb304-1" data-line-number="1"><span class="op">{</span></a> +<a class="sourceLine" id="cb304-2" data-line-number="2"> <span class="st">"json"</span><span class="op">:</span> <span class="st">"JavaScript Object Notation"</span><span class="op">,</span></a> +<a class="sourceLine" id="cb304-3" data-line-number="3"><span class="op">}</span></a></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb287"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb287-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb305"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb305-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is <code>document.tex</code>, the document that we are currently typesetting.</p> <p>This is the JavaScript Object Notation (JSON) document <code>markdown-languages.json</code>, the mapping between filename extensions and programming language names.</p> <p>This is the image <code>https://tug.org/tugboat/noword.jpg</code>, the logotype of TUGboat.</p> </blockquote> -<h5 id="latex-example-30" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<h5 id="latex-example-33" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb288"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb288-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> -<a class="sourceLine" id="cb288-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">filecontents</span>}</a> -<a class="sourceLine" id="cb288-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">filecontents*</span>}{markdown-languages.json}</a> -<a class="sourceLine" id="cb288-4" data-line-number="4">{</a> -<a class="sourceLine" id="cb288-5" data-line-number="5"> "json": "JavaScript Object Notation",</a> -<a class="sourceLine" id="cb288-6" data-line-number="6">}</a> -<a class="sourceLine" id="cb288-7" data-line-number="7"><span class="kw">\end</span>{<span class="ex">filecontents*</span>}</a> -<a class="sourceLine" id="cb288-8" data-line-number="8"><span class="bu">\usepackage</span>[contentBlocks]{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb288-9" data-line-number="9"><span class="fu">\markdownSetup</span>{</a> -<a class="sourceLine" id="cb288-10" data-line-number="10"> renderers = {</a> -<a class="sourceLine" id="cb288-11" data-line-number="11"> contentBlock = {This is <span class="fu">\texttt</span>{#2}, #4.},</a> -<a class="sourceLine" id="cb288-12" data-line-number="12"> contentBlockOnlineImage = {This is the image <span class="fu">\texttt</span>{#2}, #4.},</a> -<a class="sourceLine" id="cb288-13" data-line-number="13"> contentBlockCode = {<span class="co">%</span></a> -<a class="sourceLine" id="cb288-14" data-line-number="14"> This is the #2 (<span class="fu">\MakeUppercase</span>{#1}) document <span class="fu">\texttt</span>{#3}, #5.</a> -<a class="sourceLine" id="cb288-15" data-line-number="15"> },</a> -<a class="sourceLine" id="cb288-16" data-line-number="16"> },</a> -<a class="sourceLine" id="cb288-17" data-line-number="17">}</a> -<a class="sourceLine" id="cb288-18" data-line-number="18"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb288-19" data-line-number="19"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb288-20" data-line-number="20">/document.tex (the document that we are currently typesetting)</a> -<a class="sourceLine" id="cb288-21" data-line-number="21">/markdown-languages.json (the mapping between filename extensions</a> -<a class="sourceLine" id="cb288-22" data-line-number="22"> and programming language names)</a> -<a class="sourceLine" id="cb288-23" data-line-number="23">https://tug.org/tugboat/noword.jpg (the logotype of TUGboat)</a> -<a class="sourceLine" id="cb288-24" data-line-number="24"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb288-25" data-line-number="25"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb289"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb289-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb306"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb306-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb306-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">filecontents</span>}</a> +<a class="sourceLine" id="cb306-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">filecontents*</span>}{markdown-languages.json}</a> +<a class="sourceLine" id="cb306-4" data-line-number="4">{</a> +<a class="sourceLine" id="cb306-5" data-line-number="5"> "json": "JavaScript Object Notation",</a> +<a class="sourceLine" id="cb306-6" data-line-number="6">}</a> +<a class="sourceLine" id="cb306-7" data-line-number="7"><span class="kw">\end</span>{<span class="ex">filecontents*</span>}</a> +<a class="sourceLine" id="cb306-8" data-line-number="8"><span class="bu">\usepackage</span>[contentBlocks]{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb306-9" data-line-number="9"><span class="fu">\markdownSetup</span>{</a> +<a class="sourceLine" id="cb306-10" data-line-number="10"> renderers = {</a> +<a class="sourceLine" id="cb306-11" data-line-number="11"> contentBlock = {This is <span class="fu">\texttt</span>{#2}, #4.},</a> +<a class="sourceLine" id="cb306-12" data-line-number="12"> contentBlockOnlineImage = {This is the image <span class="fu">\texttt</span>{#2}, #4.},</a> +<a class="sourceLine" id="cb306-13" data-line-number="13"> contentBlockCode = {<span class="co">%</span></a> +<a class="sourceLine" id="cb306-14" data-line-number="14"> This is the #2 (<span class="fu">\MakeUppercase</span>{#1}) document <span class="fu">\texttt</span>{#3}, #5.</a> +<a class="sourceLine" id="cb306-15" data-line-number="15"> },</a> +<a class="sourceLine" id="cb306-16" data-line-number="16"> },</a> +<a class="sourceLine" id="cb306-17" data-line-number="17">}</a> +<a class="sourceLine" id="cb306-18" data-line-number="18"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb306-19" data-line-number="19"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb306-20" data-line-number="20">/document.tex (the document that we are currently typesetting)</a> +<a class="sourceLine" id="cb306-21" data-line-number="21">/markdown-languages.json (the mapping between filename extensions</a> +<a class="sourceLine" id="cb306-22" data-line-number="22"> and programming language names)</a> +<a class="sourceLine" id="cb306-23" data-line-number="23">https://tug.org/tugboat/noword.jpg (the logotype of TUGboat)</a> +<a class="sourceLine" id="cb306-24" data-line-number="24"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb306-25" data-line-number="25"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb307"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb307-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is <code>document.tex</code>, the document that we are currently typesetting.</p> <p>This is the JavaScript Object Notation (JSON) document <code>markdown-languages.json</code>, the mapping between filename extensions and programming language names.</p> <p>This is the image <code>https://tug.org/tugboat/noword.jpg</code>, the logotype of TUGboat.</p> </blockquote> -<h5 id="context-example-25" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> +<h5 id="context-example-28" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb290"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb290-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> -<a class="sourceLine" id="cb290-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionContentBlocks{true}</a> -<a class="sourceLine" id="cb290-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererContentBlock#1#2#3#4{<span class="co">%</span></a> -<a class="sourceLine" id="cb290-4" data-line-number="4"> This is {\tt #2}, #4.</a> -<a class="sourceLine" id="cb290-5" data-line-number="5">}</a> -<a class="sourceLine" id="cb290-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererContentBlockOnlineImage#1#2#3#4{<span class="co">%</span></a> -<a class="sourceLine" id="cb290-7" data-line-number="7"> This is the image {\tt #2}, #4.</a> -<a class="sourceLine" id="cb290-8" data-line-number="8">}</a> -<a class="sourceLine" id="cb290-9" data-line-number="9"><span class="fu">\def</span>\markdownRendererContentBlockCode#1#2#3#4#5{<span class="co">%</span></a> -<a class="sourceLine" id="cb290-10" data-line-number="10"> This is the #2 (\uppercase{#1}) document {\tt #3}, #5.</a> -<a class="sourceLine" id="cb290-11" data-line-number="11">}</a> -<a class="sourceLine" id="cb290-12" data-line-number="12"><span class="fu">\starttext</span></a> -<a class="sourceLine" id="cb290-13" data-line-number="13"><span class="fu">\startmarkdown</span></a> -<a class="sourceLine" id="cb290-14" data-line-number="14">/document.tex (the document that we are currently typesetting)</a> -<a class="sourceLine" id="cb290-15" data-line-number="15">/markdown-languages.json (the mapping between filename extensions</a> -<a class="sourceLine" id="cb290-16" data-line-number="16"> and programming language names)</a> -<a class="sourceLine" id="cb290-17" data-line-number="17">https://tug.org/tugboat/noword.jpg (the logotype of TUGboat)</a> -<a class="sourceLine" id="cb290-18" data-line-number="18"><span class="fu">\stopmarkdown</span></a> -<a class="sourceLine" id="cb290-19" data-line-number="19"><span class="fu">\stoptext</span></a></code></pre></div> +<div class="sourceCode" id="cb308"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb308-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> +<a class="sourceLine" id="cb308-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionContentBlocks{true}</a> +<a class="sourceLine" id="cb308-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererContentBlock#1#2#3#4{<span class="co">%</span></a> +<a class="sourceLine" id="cb308-4" data-line-number="4"> This is {\tt #2}, #4.</a> +<a class="sourceLine" id="cb308-5" data-line-number="5">}</a> +<a class="sourceLine" id="cb308-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererContentBlockOnlineImage#1#2#3#4{<span class="co">%</span></a> +<a class="sourceLine" id="cb308-7" data-line-number="7"> This is the image {\tt #2}, #4.</a> +<a class="sourceLine" id="cb308-8" data-line-number="8">}</a> +<a class="sourceLine" id="cb308-9" data-line-number="9"><span class="fu">\def</span>\markdownRendererContentBlockCode#1#2#3#4#5{<span class="co">%</span></a> +<a class="sourceLine" id="cb308-10" data-line-number="10"> This is the #2 (\uppercase{#1}) document {\tt #3}, #5.</a> +<a class="sourceLine" id="cb308-11" data-line-number="11">}</a> +<a class="sourceLine" id="cb308-12" data-line-number="12"><span class="fu">\starttext</span></a> +<a class="sourceLine" id="cb308-13" data-line-number="13"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb308-14" data-line-number="14">/document.tex (the document that we are currently typesetting)</a> +<a class="sourceLine" id="cb308-15" data-line-number="15">/markdown-languages.json (the mapping between filename extensions</a> +<a class="sourceLine" id="cb308-16" data-line-number="16"> and programming language names)</a> +<a class="sourceLine" id="cb308-17" data-line-number="17">https://tug.org/tugboat/noword.jpg (the logotype of TUGboat)</a> +<a class="sourceLine" id="cb308-18" data-line-number="18"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb308-19" data-line-number="19"><span class="fu">\stoptext</span></a></code></pre></div> <p>Create also a text document named <code>markdown-languages.json</code> with the following content:</p> -<div class="sourceCode" id="cb291"><pre class="sourceCode js"><code class="sourceCode javascript"><a class="sourceLine" id="cb291-1" data-line-number="1"><span class="op">{</span></a> -<a class="sourceLine" id="cb291-2" data-line-number="2"> <span class="st">"json"</span><span class="op">:</span> <span class="st">"JavaScript Object Notation"</span><span class="op">,</span></a> -<a class="sourceLine" id="cb291-3" data-line-number="3"><span class="op">}</span></a></code></pre></div> +<div class="sourceCode" id="cb309"><pre class="sourceCode js"><code class="sourceCode javascript"><a class="sourceLine" id="cb309-1" data-line-number="1"><span class="op">{</span></a> +<a class="sourceLine" id="cb309-2" data-line-number="2"> <span class="st">"json"</span><span class="op">:</span> <span class="st">"JavaScript Object Notation"</span><span class="op">,</span></a> +<a class="sourceLine" id="cb309-3" data-line-number="3"><span class="op">}</span></a></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb292"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb292-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb310"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb310-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is <code>document.tex</code>, the document that we are currently typesetting.</p> @@ -3586,52 +3909,52 @@ multiple paragraphs</li> <p>The <code>\markdownRendererUlItemEnd</code> macro represents the end of an item in a bulleted list. The macro receives no arguments.</p> <p>The <code>\markdownRendererUlEnd</code> macro represents the end of a bulleted list that contains an item with several paragraphs of text (the list is not tight). The macro receives no arguments.</p> <p>The <code>\markdownRendererUlEndTight</code> macro represents the end of a bulleted list that contains no item with several paragraphs of text (the list is tight). This macro will only be produced, when the <strong><code>tightLists</code></strong> option is <code>false</code>. The macro receives no arguments.</p> -<h5 id="plain-tex-example-18" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> +<h5 id="plain-tex-example-19" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb293"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb293-1" data-line-number="1"><span class="fu">\input</span> markdown</a> -<a class="sourceLine" id="cb293-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionTightLists{true}</a> -<a class="sourceLine" id="cb293-3" data-line-number="3"></a> -<a class="sourceLine" id="cb293-4" data-line-number="4"><span class="fu">\def</span>\markdownRendererInterblockSeparator{}</a> -<a class="sourceLine" id="cb293-5" data-line-number="5"><span class="fu">\def</span>\markdownRendererUlBeginTight{ (}</a> -<a class="sourceLine" id="cb293-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererUlItem{<span class="co">%</span></a> -<a class="sourceLine" id="cb293-7" data-line-number="7"> \def\markdownRendererUlItem{<span class="co">%</span></a> -<a class="sourceLine" id="cb293-8" data-line-number="8"> ,</a> -<a class="sourceLine" id="cb293-9" data-line-number="9"> \def\markdownRendererUlItem{, and }<span class="co">%</span></a> -<a class="sourceLine" id="cb293-10" data-line-number="10"> }<span class="co">%</span></a> -<a class="sourceLine" id="cb293-11" data-line-number="11">}</a> -<a class="sourceLine" id="cb293-12" data-line-number="12"><span class="fu">\def</span>\markdownRendererUlItemEnd{}</a> -<a class="sourceLine" id="cb293-13" data-line-number="13"><span class="fu">\def</span>\markdownRendererUlEndTight{).}</a> -<a class="sourceLine" id="cb293-14" data-line-number="14"></a> -<a class="sourceLine" id="cb293-15" data-line-number="15"><span class="fu">\markdownBegin</span></a> -<a class="sourceLine" id="cb293-16" data-line-number="16">This is a tight list</a> -<a class="sourceLine" id="cb293-17" data-line-number="17"></a> -<a class="sourceLine" id="cb293-18" data-line-number="18">- the first item</a> -<a class="sourceLine" id="cb293-19" data-line-number="19">- the second item</a> -<a class="sourceLine" id="cb293-20" data-line-number="20">- the third item</a> -<a class="sourceLine" id="cb293-21" data-line-number="21"><span class="fu">\markdownEnd</span></a> -<a class="sourceLine" id="cb293-22" data-line-number="22"></a> -<a class="sourceLine" id="cb293-23" data-line-number="23"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a> -<a class="sourceLine" id="cb293-24" data-line-number="24"> :\par</a> -<a class="sourceLine" id="cb293-25" data-line-number="25"> \def\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a> -<a class="sourceLine" id="cb293-26" data-line-number="26">}</a> -<a class="sourceLine" id="cb293-27" data-line-number="27"><span class="fu">\def</span>\markdownRendererUlBegin{}</a> -<a class="sourceLine" id="cb293-28" data-line-number="28"><span class="fu">\def</span>\markdownRendererUlItem{--\kern 0.5em}</a> -<a class="sourceLine" id="cb293-29" data-line-number="29"><span class="fu">\def</span>\markdownRendererUlItemEnd{.\par}</a> -<a class="sourceLine" id="cb293-30" data-line-number="30"><span class="fu">\def</span>\markdownRendererUlEnd{}</a> -<a class="sourceLine" id="cb293-31" data-line-number="31"></a> -<a class="sourceLine" id="cb293-32" data-line-number="32"><span class="fu">\markdownBegin</span></a> -<a class="sourceLine" id="cb293-33" data-line-number="33">This is a loose list</a> -<a class="sourceLine" id="cb293-34" data-line-number="34"></a> -<a class="sourceLine" id="cb293-35" data-line-number="35">- This is the first item</a> -<a class="sourceLine" id="cb293-36" data-line-number="36"></a> -<a class="sourceLine" id="cb293-37" data-line-number="37">- This is the second item</a> -<a class="sourceLine" id="cb293-38" data-line-number="38"></a> -<a class="sourceLine" id="cb293-39" data-line-number="39">- This is the third item</a> -<a class="sourceLine" id="cb293-40" data-line-number="40"><span class="fu">\markdownEnd</span></a> -<a class="sourceLine" id="cb293-41" data-line-number="41"></a> -<a class="sourceLine" id="cb293-42" data-line-number="42"><span class="fu">\bye</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb294"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb294-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb311"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb311-1" data-line-number="1"><span class="fu">\input</span> markdown</a> +<a class="sourceLine" id="cb311-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionTightLists{true}</a> +<a class="sourceLine" id="cb311-3" data-line-number="3"></a> +<a class="sourceLine" id="cb311-4" data-line-number="4"><span class="fu">\def</span>\markdownRendererInterblockSeparator{}</a> +<a class="sourceLine" id="cb311-5" data-line-number="5"><span class="fu">\def</span>\markdownRendererUlBeginTight{ (}</a> +<a class="sourceLine" id="cb311-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererUlItem{<span class="co">%</span></a> +<a class="sourceLine" id="cb311-7" data-line-number="7"> \def\markdownRendererUlItem{<span class="co">%</span></a> +<a class="sourceLine" id="cb311-8" data-line-number="8"> ,</a> +<a class="sourceLine" id="cb311-9" data-line-number="9"> \def\markdownRendererUlItem{, and }<span class="co">%</span></a> +<a class="sourceLine" id="cb311-10" data-line-number="10"> }<span class="co">%</span></a> +<a class="sourceLine" id="cb311-11" data-line-number="11">}</a> +<a class="sourceLine" id="cb311-12" data-line-number="12"><span class="fu">\def</span>\markdownRendererUlItemEnd{}</a> +<a class="sourceLine" id="cb311-13" data-line-number="13"><span class="fu">\def</span>\markdownRendererUlEndTight{).}</a> +<a class="sourceLine" id="cb311-14" data-line-number="14"></a> +<a class="sourceLine" id="cb311-15" data-line-number="15"><span class="fu">\markdownBegin</span></a> +<a class="sourceLine" id="cb311-16" data-line-number="16">This is a tight list</a> +<a class="sourceLine" id="cb311-17" data-line-number="17"></a> +<a class="sourceLine" id="cb311-18" data-line-number="18">- the first item</a> +<a class="sourceLine" id="cb311-19" data-line-number="19">- the second item</a> +<a class="sourceLine" id="cb311-20" data-line-number="20">- the third item</a> +<a class="sourceLine" id="cb311-21" data-line-number="21"><span class="fu">\markdownEnd</span></a> +<a class="sourceLine" id="cb311-22" data-line-number="22"></a> +<a class="sourceLine" id="cb311-23" data-line-number="23"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a> +<a class="sourceLine" id="cb311-24" data-line-number="24"> :\par</a> +<a class="sourceLine" id="cb311-25" data-line-number="25"> \def\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a> +<a class="sourceLine" id="cb311-26" data-line-number="26">}</a> +<a class="sourceLine" id="cb311-27" data-line-number="27"><span class="fu">\def</span>\markdownRendererUlBegin{}</a> +<a class="sourceLine" id="cb311-28" data-line-number="28"><span class="fu">\def</span>\markdownRendererUlItem{--\kern 0.5em}</a> +<a class="sourceLine" id="cb311-29" data-line-number="29"><span class="fu">\def</span>\markdownRendererUlItemEnd{.\par}</a> +<a class="sourceLine" id="cb311-30" data-line-number="30"><span class="fu">\def</span>\markdownRendererUlEnd{}</a> +<a class="sourceLine" id="cb311-31" data-line-number="31"></a> +<a class="sourceLine" id="cb311-32" data-line-number="32"><span class="fu">\markdownBegin</span></a> +<a class="sourceLine" id="cb311-33" data-line-number="33">This is a loose list</a> +<a class="sourceLine" id="cb311-34" data-line-number="34"></a> +<a class="sourceLine" id="cb311-35" data-line-number="35">- This is the first item</a> +<a class="sourceLine" id="cb311-36" data-line-number="36"></a> +<a class="sourceLine" id="cb311-37" data-line-number="37">- This is the second item</a> +<a class="sourceLine" id="cb311-38" data-line-number="38"></a> +<a class="sourceLine" id="cb311-39" data-line-number="39">- This is the third item</a> +<a class="sourceLine" id="cb311-40" data-line-number="40"><span class="fu">\markdownEnd</span></a> +<a class="sourceLine" id="cb311-41" data-line-number="41"></a> +<a class="sourceLine" id="cb311-42" data-line-number="42"><span class="fu">\bye</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb312"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb312-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is a tight list (the first item, the second item, and the third item).</p> @@ -3642,57 +3965,57 @@ multiple paragraphs</li> <li><p>This is the third item.</p></li> </ul> </blockquote> -<h5 id="latex-example-31" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<h5 id="latex-example-34" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb295"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb295-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> -<a class="sourceLine" id="cb295-2" data-line-number="2"><span class="bu">\usepackage</span>[tightLists]{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb295-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb295-4" data-line-number="4"></a> -<a class="sourceLine" id="cb295-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</a> -<a class="sourceLine" id="cb295-6" data-line-number="6"> renderers = {</a> -<a class="sourceLine" id="cb295-7" data-line-number="7"> interblockSeparator = {},</a> -<a class="sourceLine" id="cb295-8" data-line-number="8"> ulBeginTight = { (},</a> -<a class="sourceLine" id="cb295-9" data-line-number="9"> ulItem = {<span class="co">%</span></a> -<a class="sourceLine" id="cb295-10" data-line-number="10"> <span class="fu">\def</span>\markdownRendererUlItem{<span class="co">%</span></a> -<a class="sourceLine" id="cb295-11" data-line-number="11"> ,</a> -<a class="sourceLine" id="cb295-12" data-line-number="12"> \def\markdownRendererUlItem{, and }<span class="co">%</span></a> -<a class="sourceLine" id="cb295-13" data-line-number="13"> }<span class="co">%</span></a> -<a class="sourceLine" id="cb295-14" data-line-number="14"> },</a> -<a class="sourceLine" id="cb295-15" data-line-number="15"> ulItemEnd = {},</a> -<a class="sourceLine" id="cb295-16" data-line-number="16"> ulEndTight = {).},</a> -<a class="sourceLine" id="cb295-17" data-line-number="17"> },</a> -<a class="sourceLine" id="cb295-18" data-line-number="18">}</a> -<a class="sourceLine" id="cb295-19" data-line-number="19">This is a tight list</a> -<a class="sourceLine" id="cb295-20" data-line-number="20"></a> -<a class="sourceLine" id="cb295-21" data-line-number="21">- the first item</a> -<a class="sourceLine" id="cb295-22" data-line-number="22">- the second item</a> -<a class="sourceLine" id="cb295-23" data-line-number="23">- the third item</a> -<a class="sourceLine" id="cb295-24" data-line-number="24"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a> -<a class="sourceLine" id="cb295-25" data-line-number="25"></a> -<a class="sourceLine" id="cb295-26" data-line-number="26"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</a> -<a class="sourceLine" id="cb295-27" data-line-number="27"> renderers = {</a> -<a class="sourceLine" id="cb295-28" data-line-number="28"> interblockSeparator = {<span class="co">%</span></a> -<a class="sourceLine" id="cb295-29" data-line-number="29"> :<span class="fu">\par</span></a> -<a class="sourceLine" id="cb295-30" data-line-number="30"> <span class="fu">\def</span>\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a> -<a class="sourceLine" id="cb295-31" data-line-number="31"> },</a> -<a class="sourceLine" id="cb295-32" data-line-number="32"> ulBeginTight = {<span class="kw">\begin</span>{<span class="ex">itemize</span>}},</a> -<a class="sourceLine" id="cb295-33" data-line-number="33"> ulItem = {<span class="fu">\item</span>},</a> -<a class="sourceLine" id="cb295-34" data-line-number="34"> ulItemEnd = {.},</a> -<a class="sourceLine" id="cb295-35" data-line-number="35"> ulEnd = {<span class="kw">\end</span>{<span class="ex">itemize</span>}},</a> -<a class="sourceLine" id="cb295-36" data-line-number="36"> },</a> -<a class="sourceLine" id="cb295-37" data-line-number="37">}</a> -<a class="sourceLine" id="cb295-38" data-line-number="38">This is a loose list</a> -<a class="sourceLine" id="cb295-39" data-line-number="39"></a> -<a class="sourceLine" id="cb295-40" data-line-number="40">- This is the first item</a> -<a class="sourceLine" id="cb295-41" data-line-number="41"></a> -<a class="sourceLine" id="cb295-42" data-line-number="42">- This is the second item</a> -<a class="sourceLine" id="cb295-43" data-line-number="43"></a> -<a class="sourceLine" id="cb295-44" data-line-number="44">- This is the third item</a> -<a class="sourceLine" id="cb295-45" data-line-number="45"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a> -<a class="sourceLine" id="cb295-46" data-line-number="46"></a> -<a class="sourceLine" id="cb295-47" data-line-number="47"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb296"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb296-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb313"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb313-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb313-2" data-line-number="2"><span class="bu">\usepackage</span>[tightLists]{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb313-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb313-4" data-line-number="4"></a> +<a class="sourceLine" id="cb313-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</a> +<a class="sourceLine" id="cb313-6" data-line-number="6"> renderers = {</a> +<a class="sourceLine" id="cb313-7" data-line-number="7"> interblockSeparator = {},</a> +<a class="sourceLine" id="cb313-8" data-line-number="8"> ulBeginTight = { (},</a> +<a class="sourceLine" id="cb313-9" data-line-number="9"> ulItem = {<span class="co">%</span></a> +<a class="sourceLine" id="cb313-10" data-line-number="10"> <span class="fu">\def</span>\markdownRendererUlItem{<span class="co">%</span></a> +<a class="sourceLine" id="cb313-11" data-line-number="11"> ,</a> +<a class="sourceLine" id="cb313-12" data-line-number="12"> \def\markdownRendererUlItem{, and }<span class="co">%</span></a> +<a class="sourceLine" id="cb313-13" data-line-number="13"> }<span class="co">%</span></a> +<a class="sourceLine" id="cb313-14" data-line-number="14"> },</a> +<a class="sourceLine" id="cb313-15" data-line-number="15"> ulItemEnd = {},</a> +<a class="sourceLine" id="cb313-16" data-line-number="16"> ulEndTight = {).},</a> +<a class="sourceLine" id="cb313-17" data-line-number="17"> },</a> +<a class="sourceLine" id="cb313-18" data-line-number="18">}</a> +<a class="sourceLine" id="cb313-19" data-line-number="19">This is a tight list</a> +<a class="sourceLine" id="cb313-20" data-line-number="20"></a> +<a class="sourceLine" id="cb313-21" data-line-number="21">- the first item</a> +<a class="sourceLine" id="cb313-22" data-line-number="22">- the second item</a> +<a class="sourceLine" id="cb313-23" data-line-number="23">- the third item</a> +<a class="sourceLine" id="cb313-24" data-line-number="24"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a> +<a class="sourceLine" id="cb313-25" data-line-number="25"></a> +<a class="sourceLine" id="cb313-26" data-line-number="26"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</a> +<a class="sourceLine" id="cb313-27" data-line-number="27"> renderers = {</a> +<a class="sourceLine" id="cb313-28" data-line-number="28"> interblockSeparator = {<span class="co">%</span></a> +<a class="sourceLine" id="cb313-29" data-line-number="29"> :<span class="fu">\par</span></a> +<a class="sourceLine" id="cb313-30" data-line-number="30"> <span class="fu">\def</span>\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a> +<a class="sourceLine" id="cb313-31" data-line-number="31"> },</a> +<a class="sourceLine" id="cb313-32" data-line-number="32"> ulBeginTight = {<span class="kw">\begin</span>{<span class="ex">itemize</span>}},</a> +<a class="sourceLine" id="cb313-33" data-line-number="33"> ulItem = {<span class="fu">\item</span>},</a> +<a class="sourceLine" id="cb313-34" data-line-number="34"> ulItemEnd = {.},</a> +<a class="sourceLine" id="cb313-35" data-line-number="35"> ulEnd = {<span class="kw">\end</span>{<span class="ex">itemize</span>}},</a> +<a class="sourceLine" id="cb313-36" data-line-number="36"> },</a> +<a class="sourceLine" id="cb313-37" data-line-number="37">}</a> +<a class="sourceLine" id="cb313-38" data-line-number="38">This is a loose list</a> +<a class="sourceLine" id="cb313-39" data-line-number="39"></a> +<a class="sourceLine" id="cb313-40" data-line-number="40">- This is the first item</a> +<a class="sourceLine" id="cb313-41" data-line-number="41"></a> +<a class="sourceLine" id="cb313-42" data-line-number="42">- This is the second item</a> +<a class="sourceLine" id="cb313-43" data-line-number="43"></a> +<a class="sourceLine" id="cb313-44" data-line-number="44">- This is the third item</a> +<a class="sourceLine" id="cb313-45" data-line-number="45"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a> +<a class="sourceLine" id="cb313-46" data-line-number="46"></a> +<a class="sourceLine" id="cb313-47" data-line-number="47"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb314"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb314-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is a tight list (the first item, the second item, and the third item).</p> @@ -3703,53 +4026,53 @@ multiple paragraphs</li> <li><p>This is the third item.</p></li> </ul> </blockquote> -<h5 id="context-example-26" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> +<h5 id="context-example-29" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb297"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb297-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> -<a class="sourceLine" id="cb297-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionTightLists{true}</a> -<a class="sourceLine" id="cb297-3" data-line-number="3"><span class="fu">\starttext</span></a> -<a class="sourceLine" id="cb297-4" data-line-number="4"></a> -<a class="sourceLine" id="cb297-5" data-line-number="5"><span class="fu">\def</span>\markdownRendererInterblockSeparator{}</a> -<a class="sourceLine" id="cb297-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererUlBeginTight{ (}</a> -<a class="sourceLine" id="cb297-7" data-line-number="7"><span class="fu">\def</span>\markdownRendererUlItem{<span class="co">%</span></a> -<a class="sourceLine" id="cb297-8" data-line-number="8"> \def\markdownRendererUlItem{<span class="co">%</span></a> -<a class="sourceLine" id="cb297-9" data-line-number="9"> ,</a> -<a class="sourceLine" id="cb297-10" data-line-number="10"> \def\markdownRendererUlItem{, and }<span class="co">%</span></a> -<a class="sourceLine" id="cb297-11" data-line-number="11"> }<span class="co">%</span></a> -<a class="sourceLine" id="cb297-12" data-line-number="12">}</a> -<a class="sourceLine" id="cb297-13" data-line-number="13"><span class="fu">\def</span>\markdownRendererUlItemEnd{}</a> -<a class="sourceLine" id="cb297-14" data-line-number="14"><span class="fu">\def</span>\markdownRendererUlEndTight{).}</a> -<a class="sourceLine" id="cb297-15" data-line-number="15"></a> -<a class="sourceLine" id="cb297-16" data-line-number="16"><span class="fu">\startmarkdown</span></a> -<a class="sourceLine" id="cb297-17" data-line-number="17">This is a tight list</a> -<a class="sourceLine" id="cb297-18" data-line-number="18"></a> -<a class="sourceLine" id="cb297-19" data-line-number="19">- the first item</a> -<a class="sourceLine" id="cb297-20" data-line-number="20">- the second item</a> -<a class="sourceLine" id="cb297-21" data-line-number="21">- the third item</a> -<a class="sourceLine" id="cb297-22" data-line-number="22"><span class="fu">\stopmarkdown</span></a> -<a class="sourceLine" id="cb297-23" data-line-number="23"></a> -<a class="sourceLine" id="cb297-24" data-line-number="24"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a> -<a class="sourceLine" id="cb297-25" data-line-number="25"> :\par</a> -<a class="sourceLine" id="cb297-26" data-line-number="26"> \def\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a> -<a class="sourceLine" id="cb297-27" data-line-number="27">}</a> -<a class="sourceLine" id="cb297-28" data-line-number="28"><span class="fu">\def</span>\markdownRendererUlBegin{\startitemize}</a> -<a class="sourceLine" id="cb297-29" data-line-number="29"><span class="fu">\def</span>\markdownRendererUlItem{\item}</a> -<a class="sourceLine" id="cb297-30" data-line-number="30"><span class="fu">\def</span>\markdownRendererUlItemEnd{.}</a> -<a class="sourceLine" id="cb297-31" data-line-number="31"><span class="fu">\def</span>\markdownRendererUlEnd{\stopitemize}</a> -<a class="sourceLine" id="cb297-32" data-line-number="32"></a> -<a class="sourceLine" id="cb297-33" data-line-number="33"><span class="fu">\startmarkdown</span></a> -<a class="sourceLine" id="cb297-34" data-line-number="34">This is a loose list</a> -<a class="sourceLine" id="cb297-35" data-line-number="35"></a> -<a class="sourceLine" id="cb297-36" data-line-number="36">- This is the first item</a> -<a class="sourceLine" id="cb297-37" data-line-number="37"></a> -<a class="sourceLine" id="cb297-38" data-line-number="38">- This is the second item</a> -<a class="sourceLine" id="cb297-39" data-line-number="39"></a> -<a class="sourceLine" id="cb297-40" data-line-number="40">- This is the third item</a> -<a class="sourceLine" id="cb297-41" data-line-number="41"><span class="fu">\stopmarkdown</span></a> -<a class="sourceLine" id="cb297-42" data-line-number="42"></a> -<a class="sourceLine" id="cb297-43" data-line-number="43"><span class="fu">\stoptext</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb298"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb298-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb315"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb315-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> +<a class="sourceLine" id="cb315-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionTightLists{true}</a> +<a class="sourceLine" id="cb315-3" data-line-number="3"><span class="fu">\starttext</span></a> +<a class="sourceLine" id="cb315-4" data-line-number="4"></a> +<a class="sourceLine" id="cb315-5" data-line-number="5"><span class="fu">\def</span>\markdownRendererInterblockSeparator{}</a> +<a class="sourceLine" id="cb315-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererUlBeginTight{ (}</a> +<a class="sourceLine" id="cb315-7" data-line-number="7"><span class="fu">\def</span>\markdownRendererUlItem{<span class="co">%</span></a> +<a class="sourceLine" id="cb315-8" data-line-number="8"> \def\markdownRendererUlItem{<span class="co">%</span></a> +<a class="sourceLine" id="cb315-9" data-line-number="9"> ,</a> +<a class="sourceLine" id="cb315-10" data-line-number="10"> \def\markdownRendererUlItem{, and }<span class="co">%</span></a> +<a class="sourceLine" id="cb315-11" data-line-number="11"> }<span class="co">%</span></a> +<a class="sourceLine" id="cb315-12" data-line-number="12">}</a> +<a class="sourceLine" id="cb315-13" data-line-number="13"><span class="fu">\def</span>\markdownRendererUlItemEnd{}</a> +<a class="sourceLine" id="cb315-14" data-line-number="14"><span class="fu">\def</span>\markdownRendererUlEndTight{).}</a> +<a class="sourceLine" id="cb315-15" data-line-number="15"></a> +<a class="sourceLine" id="cb315-16" data-line-number="16"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb315-17" data-line-number="17">This is a tight list</a> +<a class="sourceLine" id="cb315-18" data-line-number="18"></a> +<a class="sourceLine" id="cb315-19" data-line-number="19">- the first item</a> +<a class="sourceLine" id="cb315-20" data-line-number="20">- the second item</a> +<a class="sourceLine" id="cb315-21" data-line-number="21">- the third item</a> +<a class="sourceLine" id="cb315-22" data-line-number="22"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb315-23" data-line-number="23"></a> +<a class="sourceLine" id="cb315-24" data-line-number="24"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a> +<a class="sourceLine" id="cb315-25" data-line-number="25"> :\par</a> +<a class="sourceLine" id="cb315-26" data-line-number="26"> \def\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a> +<a class="sourceLine" id="cb315-27" data-line-number="27">}</a> +<a class="sourceLine" id="cb315-28" data-line-number="28"><span class="fu">\def</span>\markdownRendererUlBegin{\startitemize}</a> +<a class="sourceLine" id="cb315-29" data-line-number="29"><span class="fu">\def</span>\markdownRendererUlItem{\item}</a> +<a class="sourceLine" id="cb315-30" data-line-number="30"><span class="fu">\def</span>\markdownRendererUlItemEnd{.}</a> +<a class="sourceLine" id="cb315-31" data-line-number="31"><span class="fu">\def</span>\markdownRendererUlEnd{\stopitemize}</a> +<a class="sourceLine" id="cb315-32" data-line-number="32"></a> +<a class="sourceLine" id="cb315-33" data-line-number="33"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb315-34" data-line-number="34">This is a loose list</a> +<a class="sourceLine" id="cb315-35" data-line-number="35"></a> +<a class="sourceLine" id="cb315-36" data-line-number="36">- This is the first item</a> +<a class="sourceLine" id="cb315-37" data-line-number="37"></a> +<a class="sourceLine" id="cb315-38" data-line-number="38">- This is the second item</a> +<a class="sourceLine" id="cb315-39" data-line-number="39"></a> +<a class="sourceLine" id="cb315-40" data-line-number="40">- This is the third item</a> +<a class="sourceLine" id="cb315-41" data-line-number="41"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb315-42" data-line-number="42"></a> +<a class="sourceLine" id="cb315-43" data-line-number="43"><span class="fu">\stoptext</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb316"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb316-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is a tight list (the first item, the second item, and the third item).</p> @@ -3768,70 +4091,70 @@ multiple paragraphs</li> <p>The <code>\markdownRendererOlItemWithNumber</code> macro represents an item in an ordered list. This macro will only be produced, when the <strong><code>startNumber</code></strong> option is <code>true</code>. The macro receives no arguments.</p> <p>The <code>\markdownRendererOlEnd</code> macro represents the end of an ordered list that contains an item with several paragraphs of text (the list is not tight). The macro receives no arguments.</p> <p>The <code>\markdownRendererOlEndTight</code> macro represents the end of an ordered list that contains no item with several paragraphs of text (the list is tight). This macro will only be produced, when the <strong><code>tightLists</code></strong> option is <code>false</code>. The macro receives no arguments.</p> -<h5 id="plain-tex-example-19" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> +<h5 id="plain-tex-example-20" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb299"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb299-1" data-line-number="1"><span class="fu">\input</span> markdown</a> -<a class="sourceLine" id="cb299-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionTightLists{true}</a> -<a class="sourceLine" id="cb299-3" data-line-number="3"><span class="fu">\def</span>\markdownOptionStartNumber{true}</a> -<a class="sourceLine" id="cb299-4" data-line-number="4"></a> -<a class="sourceLine" id="cb299-5" data-line-number="5"><span class="fu">\def</span>\markdownRendererInterblockSeparator{}</a> -<a class="sourceLine" id="cb299-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererOlBeginTight{ (}</a> -<a class="sourceLine" id="cb299-7" data-line-number="7"><span class="fu">\def</span>\markdownRendererOlItemWithNumber#1{<span class="co">%</span></a> -<a class="sourceLine" id="cb299-8" data-line-number="8"> \ifnum #1=1\relax</a> -<a class="sourceLine" id="cb299-9" data-line-number="9"> the first</a> -<a class="sourceLine" id="cb299-10" data-line-number="10"> \else</a> -<a class="sourceLine" id="cb299-11" data-line-number="11"> \ifnum #1=2\relax</a> -<a class="sourceLine" id="cb299-12" data-line-number="12"> , the second</a> -<a class="sourceLine" id="cb299-13" data-line-number="13"> \else</a> -<a class="sourceLine" id="cb299-14" data-line-number="14"> , and the third</a> -<a class="sourceLine" id="cb299-15" data-line-number="15"> \fi</a> -<a class="sourceLine" id="cb299-16" data-line-number="16"> \fi</a> -<a class="sourceLine" id="cb299-17" data-line-number="17">}</a> -<a class="sourceLine" id="cb299-18" data-line-number="18"><span class="fu">\def</span>\markdownRendererOlItemEnd{}</a> -<a class="sourceLine" id="cb299-19" data-line-number="19"><span class="fu">\def</span>\markdownRendererOlEndTight{).}</a> -<a class="sourceLine" id="cb299-20" data-line-number="20"></a> -<a class="sourceLine" id="cb299-21" data-line-number="21"><span class="fu">\markdownBegin</span></a> -<a class="sourceLine" id="cb299-22" data-line-number="22">This is a tight list</a> -<a class="sourceLine" id="cb299-23" data-line-number="23"></a> -<a class="sourceLine" id="cb299-24" data-line-number="24">1. item</a> -<a class="sourceLine" id="cb299-25" data-line-number="25">2. item</a> -<a class="sourceLine" id="cb299-26" data-line-number="26">3. item</a> -<a class="sourceLine" id="cb299-27" data-line-number="27"><span class="fu">\markdownEnd</span></a> -<a class="sourceLine" id="cb299-28" data-line-number="28"></a> -<a class="sourceLine" id="cb299-29" data-line-number="29"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a> -<a class="sourceLine" id="cb299-30" data-line-number="30"> :\par</a> -<a class="sourceLine" id="cb299-31" data-line-number="31"> \def\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a> -<a class="sourceLine" id="cb299-32" data-line-number="32">}</a> -<a class="sourceLine" id="cb299-33" data-line-number="33"><span class="fu">\def</span>\markdownRendererOlBegin{}</a> -<a class="sourceLine" id="cb299-34" data-line-number="34"><span class="fu">\def</span>\markdownRendererOlItemWithNumber#1{<span class="co">%</span></a> -<a class="sourceLine" id="cb299-35" data-line-number="35"> #1.\kern 0.5em<span class="co">%</span></a> -<a class="sourceLine" id="cb299-36" data-line-number="36"> This is the</a> -<a class="sourceLine" id="cb299-37" data-line-number="37"> \ifnum #1=1\relax</a> -<a class="sourceLine" id="cb299-38" data-line-number="38"> first</a> -<a class="sourceLine" id="cb299-39" data-line-number="39"> \else</a> -<a class="sourceLine" id="cb299-40" data-line-number="40"> \ifnum #1=2\relax</a> -<a class="sourceLine" id="cb299-41" data-line-number="41"> second</a> -<a class="sourceLine" id="cb299-42" data-line-number="42"> \else</a> -<a class="sourceLine" id="cb299-43" data-line-number="43"> third</a> -<a class="sourceLine" id="cb299-44" data-line-number="44"> \fi</a> -<a class="sourceLine" id="cb299-45" data-line-number="45"> \fi</a> -<a class="sourceLine" id="cb299-46" data-line-number="46">}</a> -<a class="sourceLine" id="cb299-47" data-line-number="47"><span class="fu">\def</span>\markdownRendererOlItemEnd{.\par}</a> -<a class="sourceLine" id="cb299-48" data-line-number="48"><span class="fu">\def</span>\markdownRendererOlEnd{}</a> -<a class="sourceLine" id="cb299-49" data-line-number="49"></a> -<a class="sourceLine" id="cb299-50" data-line-number="50"><span class="fu">\markdownBegin</span></a> -<a class="sourceLine" id="cb299-51" data-line-number="51">This is a loose list</a> -<a class="sourceLine" id="cb299-52" data-line-number="52"></a> -<a class="sourceLine" id="cb299-53" data-line-number="53">1. item</a> -<a class="sourceLine" id="cb299-54" data-line-number="54"></a> -<a class="sourceLine" id="cb299-55" data-line-number="55">2. item</a> -<a class="sourceLine" id="cb299-56" data-line-number="56"></a> -<a class="sourceLine" id="cb299-57" data-line-number="57">3. item</a> -<a class="sourceLine" id="cb299-58" data-line-number="58"><span class="fu">\markdownEnd</span></a> -<a class="sourceLine" id="cb299-59" data-line-number="59"></a> -<a class="sourceLine" id="cb299-60" data-line-number="60"><span class="fu">\bye</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb300"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb300-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb317"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb317-1" data-line-number="1"><span class="fu">\input</span> markdown</a> +<a class="sourceLine" id="cb317-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionTightLists{true}</a> +<a class="sourceLine" id="cb317-3" data-line-number="3"><span class="fu">\def</span>\markdownOptionStartNumber{true}</a> +<a class="sourceLine" id="cb317-4" data-line-number="4"></a> +<a class="sourceLine" id="cb317-5" data-line-number="5"><span class="fu">\def</span>\markdownRendererInterblockSeparator{}</a> +<a class="sourceLine" id="cb317-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererOlBeginTight{ (}</a> +<a class="sourceLine" id="cb317-7" data-line-number="7"><span class="fu">\def</span>\markdownRendererOlItemWithNumber#1{<span class="co">%</span></a> +<a class="sourceLine" id="cb317-8" data-line-number="8"> \ifnum #1=1\relax</a> +<a class="sourceLine" id="cb317-9" data-line-number="9"> the first</a> +<a class="sourceLine" id="cb317-10" data-line-number="10"> \else</a> +<a class="sourceLine" id="cb317-11" data-line-number="11"> \ifnum #1=2\relax</a> +<a class="sourceLine" id="cb317-12" data-line-number="12"> , the second</a> +<a class="sourceLine" id="cb317-13" data-line-number="13"> \else</a> +<a class="sourceLine" id="cb317-14" data-line-number="14"> , and the third</a> +<a class="sourceLine" id="cb317-15" data-line-number="15"> \fi</a> +<a class="sourceLine" id="cb317-16" data-line-number="16"> \fi</a> +<a class="sourceLine" id="cb317-17" data-line-number="17">}</a> +<a class="sourceLine" id="cb317-18" data-line-number="18"><span class="fu">\def</span>\markdownRendererOlItemEnd{}</a> +<a class="sourceLine" id="cb317-19" data-line-number="19"><span class="fu">\def</span>\markdownRendererOlEndTight{).}</a> +<a class="sourceLine" id="cb317-20" data-line-number="20"></a> +<a class="sourceLine" id="cb317-21" data-line-number="21"><span class="fu">\markdownBegin</span></a> +<a class="sourceLine" id="cb317-22" data-line-number="22">This is a tight list</a> +<a class="sourceLine" id="cb317-23" data-line-number="23"></a> +<a class="sourceLine" id="cb317-24" data-line-number="24">1. item</a> +<a class="sourceLine" id="cb317-25" data-line-number="25">2. item</a> +<a class="sourceLine" id="cb317-26" data-line-number="26">3. item</a> +<a class="sourceLine" id="cb317-27" data-line-number="27"><span class="fu">\markdownEnd</span></a> +<a class="sourceLine" id="cb317-28" data-line-number="28"></a> +<a class="sourceLine" id="cb317-29" data-line-number="29"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a> +<a class="sourceLine" id="cb317-30" data-line-number="30"> :\par</a> +<a class="sourceLine" id="cb317-31" data-line-number="31"> \def\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a> +<a class="sourceLine" id="cb317-32" data-line-number="32">}</a> +<a class="sourceLine" id="cb317-33" data-line-number="33"><span class="fu">\def</span>\markdownRendererOlBegin{}</a> +<a class="sourceLine" id="cb317-34" data-line-number="34"><span class="fu">\def</span>\markdownRendererOlItemWithNumber#1{<span class="co">%</span></a> +<a class="sourceLine" id="cb317-35" data-line-number="35"> #1.\kern 0.5em<span class="co">%</span></a> +<a class="sourceLine" id="cb317-36" data-line-number="36"> This is the</a> +<a class="sourceLine" id="cb317-37" data-line-number="37"> \ifnum #1=1\relax</a> +<a class="sourceLine" id="cb317-38" data-line-number="38"> first</a> +<a class="sourceLine" id="cb317-39" data-line-number="39"> \else</a> +<a class="sourceLine" id="cb317-40" data-line-number="40"> \ifnum #1=2\relax</a> +<a class="sourceLine" id="cb317-41" data-line-number="41"> second</a> +<a class="sourceLine" id="cb317-42" data-line-number="42"> \else</a> +<a class="sourceLine" id="cb317-43" data-line-number="43"> third</a> +<a class="sourceLine" id="cb317-44" data-line-number="44"> \fi</a> +<a class="sourceLine" id="cb317-45" data-line-number="45"> \fi</a> +<a class="sourceLine" id="cb317-46" data-line-number="46">}</a> +<a class="sourceLine" id="cb317-47" data-line-number="47"><span class="fu">\def</span>\markdownRendererOlItemEnd{.\par}</a> +<a class="sourceLine" id="cb317-48" data-line-number="48"><span class="fu">\def</span>\markdownRendererOlEnd{}</a> +<a class="sourceLine" id="cb317-49" data-line-number="49"></a> +<a class="sourceLine" id="cb317-50" data-line-number="50"><span class="fu">\markdownBegin</span></a> +<a class="sourceLine" id="cb317-51" data-line-number="51">This is a loose list</a> +<a class="sourceLine" id="cb317-52" data-line-number="52"></a> +<a class="sourceLine" id="cb317-53" data-line-number="53">1. item</a> +<a class="sourceLine" id="cb317-54" data-line-number="54"></a> +<a class="sourceLine" id="cb317-55" data-line-number="55">2. item</a> +<a class="sourceLine" id="cb317-56" data-line-number="56"></a> +<a class="sourceLine" id="cb317-57" data-line-number="57">3. item</a> +<a class="sourceLine" id="cb317-58" data-line-number="58"><span class="fu">\markdownEnd</span></a> +<a class="sourceLine" id="cb317-59" data-line-number="59"></a> +<a class="sourceLine" id="cb317-60" data-line-number="60"><span class="fu">\bye</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb318"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb318-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is a tight list (the first item, the second item, and the third item).</p> @@ -3842,73 +4165,73 @@ multiple paragraphs</li> <li><p>This is the third item.</p></li> </ol> </blockquote> -<h5 id="latex-example-32" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<h5 id="latex-example-35" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb301"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb301-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> -<a class="sourceLine" id="cb301-2" data-line-number="2"><span class="bu">\usepackage</span>[tightLists, startNumber]{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb301-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb301-4" data-line-number="4"></a> -<a class="sourceLine" id="cb301-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</a> -<a class="sourceLine" id="cb301-6" data-line-number="6"> renderers = {</a> -<a class="sourceLine" id="cb301-7" data-line-number="7"> interblockSeparator = {},</a> -<a class="sourceLine" id="cb301-8" data-line-number="8"> olBeginTight = { (},</a> -<a class="sourceLine" id="cb301-9" data-line-number="9"> olItemWithNumber = {<span class="co">%</span></a> -<a class="sourceLine" id="cb301-10" data-line-number="10"> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></a> -<a class="sourceLine" id="cb301-11" data-line-number="11"> the first</a> -<a class="sourceLine" id="cb301-12" data-line-number="12"> <span class="fu">\else</span></a> -<a class="sourceLine" id="cb301-13" data-line-number="13"> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></a> -<a class="sourceLine" id="cb301-14" data-line-number="14"> , the second</a> -<a class="sourceLine" id="cb301-15" data-line-number="15"> <span class="fu">\else</span></a> -<a class="sourceLine" id="cb301-16" data-line-number="16"> , and the third</a> -<a class="sourceLine" id="cb301-17" data-line-number="17"> <span class="fu">\fi</span></a> -<a class="sourceLine" id="cb301-18" data-line-number="18"> <span class="fu">\fi</span></a> -<a class="sourceLine" id="cb301-19" data-line-number="19"> },</a> -<a class="sourceLine" id="cb301-20" data-line-number="20"> olItemEnd = {},</a> -<a class="sourceLine" id="cb301-21" data-line-number="21"> olEndTight = {).},</a> -<a class="sourceLine" id="cb301-22" data-line-number="22"> },</a> -<a class="sourceLine" id="cb301-23" data-line-number="23">}</a> -<a class="sourceLine" id="cb301-24" data-line-number="24">This is a tight list</a> -<a class="sourceLine" id="cb301-25" data-line-number="25"></a> -<a class="sourceLine" id="cb301-26" data-line-number="26">1. item</a> -<a class="sourceLine" id="cb301-27" data-line-number="27">2. item</a> -<a class="sourceLine" id="cb301-28" data-line-number="28">3. item</a> -<a class="sourceLine" id="cb301-29" data-line-number="29"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a> -<a class="sourceLine" id="cb301-30" data-line-number="30"></a> -<a class="sourceLine" id="cb301-31" data-line-number="31"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</a> -<a class="sourceLine" id="cb301-32" data-line-number="32"> renderers = {</a> -<a class="sourceLine" id="cb301-33" data-line-number="33"> interblockSeparator = {<span class="co">%</span></a> -<a class="sourceLine" id="cb301-34" data-line-number="34"> :<span class="fu">\par</span></a> -<a class="sourceLine" id="cb301-35" data-line-number="35"> <span class="fu">\def</span>\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a> -<a class="sourceLine" id="cb301-36" data-line-number="36"> },</a> -<a class="sourceLine" id="cb301-37" data-line-number="37"> olBeginTight = {<span class="kw">\begin</span>{<span class="ex">enumerate</span>}},</a> -<a class="sourceLine" id="cb301-38" data-line-number="38"> olItemWithNumber = {<span class="co">%</span></a> -<a class="sourceLine" id="cb301-39" data-line-number="39"> <span class="fu">\item</span> This is the</a> -<a class="sourceLine" id="cb301-40" data-line-number="40"> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></a> -<a class="sourceLine" id="cb301-41" data-line-number="41"> first</a> -<a class="sourceLine" id="cb301-42" data-line-number="42"> <span class="fu">\else</span></a> -<a class="sourceLine" id="cb301-43" data-line-number="43"> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></a> -<a class="sourceLine" id="cb301-44" data-line-number="44"> second</a> -<a class="sourceLine" id="cb301-45" data-line-number="45"> <span class="fu">\else</span></a> -<a class="sourceLine" id="cb301-46" data-line-number="46"> third</a> -<a class="sourceLine" id="cb301-47" data-line-number="47"> <span class="fu">\fi</span></a> -<a class="sourceLine" id="cb301-48" data-line-number="48"> <span class="fu">\fi</span></a> -<a class="sourceLine" id="cb301-49" data-line-number="49"> },</a> -<a class="sourceLine" id="cb301-50" data-line-number="50"> olItemEnd = {.},</a> -<a class="sourceLine" id="cb301-51" data-line-number="51"> olEnd = {<span class="kw">\end</span>{<span class="ex">enumerate</span>}},</a> -<a class="sourceLine" id="cb301-52" data-line-number="52"> },</a> -<a class="sourceLine" id="cb301-53" data-line-number="53">}</a> -<a class="sourceLine" id="cb301-54" data-line-number="54">This is a loose list</a> -<a class="sourceLine" id="cb301-55" data-line-number="55"></a> -<a class="sourceLine" id="cb301-56" data-line-number="56">1. item</a> -<a class="sourceLine" id="cb301-57" data-line-number="57"></a> -<a class="sourceLine" id="cb301-58" data-line-number="58">2. item</a> -<a class="sourceLine" id="cb301-59" data-line-number="59"></a> -<a class="sourceLine" id="cb301-60" data-line-number="60">3. item</a> -<a class="sourceLine" id="cb301-61" data-line-number="61"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a> -<a class="sourceLine" id="cb301-62" data-line-number="62"></a> -<a class="sourceLine" id="cb301-63" data-line-number="63"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb302"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb302-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb319"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb319-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb319-2" data-line-number="2"><span class="bu">\usepackage</span>[tightLists, startNumber]{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb319-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb319-4" data-line-number="4"></a> +<a class="sourceLine" id="cb319-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</a> +<a class="sourceLine" id="cb319-6" data-line-number="6"> renderers = {</a> +<a class="sourceLine" id="cb319-7" data-line-number="7"> interblockSeparator = {},</a> +<a class="sourceLine" id="cb319-8" data-line-number="8"> olBeginTight = { (},</a> +<a class="sourceLine" id="cb319-9" data-line-number="9"> olItemWithNumber = {<span class="co">%</span></a> +<a class="sourceLine" id="cb319-10" data-line-number="10"> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></a> +<a class="sourceLine" id="cb319-11" data-line-number="11"> the first</a> +<a class="sourceLine" id="cb319-12" data-line-number="12"> <span class="fu">\else</span></a> +<a class="sourceLine" id="cb319-13" data-line-number="13"> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></a> +<a class="sourceLine" id="cb319-14" data-line-number="14"> , the second</a> +<a class="sourceLine" id="cb319-15" data-line-number="15"> <span class="fu">\else</span></a> +<a class="sourceLine" id="cb319-16" data-line-number="16"> , and the third</a> +<a class="sourceLine" id="cb319-17" data-line-number="17"> <span class="fu">\fi</span></a> +<a class="sourceLine" id="cb319-18" data-line-number="18"> <span class="fu">\fi</span></a> +<a class="sourceLine" id="cb319-19" data-line-number="19"> },</a> +<a class="sourceLine" id="cb319-20" data-line-number="20"> olItemEnd = {},</a> +<a class="sourceLine" id="cb319-21" data-line-number="21"> olEndTight = {).},</a> +<a class="sourceLine" id="cb319-22" data-line-number="22"> },</a> +<a class="sourceLine" id="cb319-23" data-line-number="23">}</a> +<a class="sourceLine" id="cb319-24" data-line-number="24">This is a tight list</a> +<a class="sourceLine" id="cb319-25" data-line-number="25"></a> +<a class="sourceLine" id="cb319-26" data-line-number="26">1. item</a> +<a class="sourceLine" id="cb319-27" data-line-number="27">2. item</a> +<a class="sourceLine" id="cb319-28" data-line-number="28">3. item</a> +<a class="sourceLine" id="cb319-29" data-line-number="29"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a> +<a class="sourceLine" id="cb319-30" data-line-number="30"></a> +<a class="sourceLine" id="cb319-31" data-line-number="31"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</a> +<a class="sourceLine" id="cb319-32" data-line-number="32"> renderers = {</a> +<a class="sourceLine" id="cb319-33" data-line-number="33"> interblockSeparator = {<span class="co">%</span></a> +<a class="sourceLine" id="cb319-34" data-line-number="34"> :<span class="fu">\par</span></a> +<a class="sourceLine" id="cb319-35" data-line-number="35"> <span class="fu">\def</span>\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a> +<a class="sourceLine" id="cb319-36" data-line-number="36"> },</a> +<a class="sourceLine" id="cb319-37" data-line-number="37"> olBeginTight = {<span class="kw">\begin</span>{<span class="ex">enumerate</span>}},</a> +<a class="sourceLine" id="cb319-38" data-line-number="38"> olItemWithNumber = {<span class="co">%</span></a> +<a class="sourceLine" id="cb319-39" data-line-number="39"> <span class="fu">\item</span> This is the</a> +<a class="sourceLine" id="cb319-40" data-line-number="40"> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></a> +<a class="sourceLine" id="cb319-41" data-line-number="41"> first</a> +<a class="sourceLine" id="cb319-42" data-line-number="42"> <span class="fu">\else</span></a> +<a class="sourceLine" id="cb319-43" data-line-number="43"> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></a> +<a class="sourceLine" id="cb319-44" data-line-number="44"> second</a> +<a class="sourceLine" id="cb319-45" data-line-number="45"> <span class="fu">\else</span></a> +<a class="sourceLine" id="cb319-46" data-line-number="46"> third</a> +<a class="sourceLine" id="cb319-47" data-line-number="47"> <span class="fu">\fi</span></a> +<a class="sourceLine" id="cb319-48" data-line-number="48"> <span class="fu">\fi</span></a> +<a class="sourceLine" id="cb319-49" data-line-number="49"> },</a> +<a class="sourceLine" id="cb319-50" data-line-number="50"> olItemEnd = {.},</a> +<a class="sourceLine" id="cb319-51" data-line-number="51"> olEnd = {<span class="kw">\end</span>{<span class="ex">enumerate</span>}},</a> +<a class="sourceLine" id="cb319-52" data-line-number="52"> },</a> +<a class="sourceLine" id="cb319-53" data-line-number="53">}</a> +<a class="sourceLine" id="cb319-54" data-line-number="54">This is a loose list</a> +<a class="sourceLine" id="cb319-55" data-line-number="55"></a> +<a class="sourceLine" id="cb319-56" data-line-number="56">1. item</a> +<a class="sourceLine" id="cb319-57" data-line-number="57"></a> +<a class="sourceLine" id="cb319-58" data-line-number="58">2. item</a> +<a class="sourceLine" id="cb319-59" data-line-number="59"></a> +<a class="sourceLine" id="cb319-60" data-line-number="60">3. item</a> +<a class="sourceLine" id="cb319-61" data-line-number="61"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a> +<a class="sourceLine" id="cb319-62" data-line-number="62"></a> +<a class="sourceLine" id="cb319-63" data-line-number="63"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb320"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb320-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is a tight list (the first item, the second item, and the third item).</p> @@ -3919,71 +4242,71 @@ multiple paragraphs</li> <li><p>This is the third item.</p></li> </ol> </blockquote> -<h5 id="context-example-27" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> +<h5 id="context-example-30" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb303"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb303-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> -<a class="sourceLine" id="cb303-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionTightLists{true}</a> -<a class="sourceLine" id="cb303-3" data-line-number="3"><span class="fu">\def</span>\markdownOptionStartNumber{true}</a> -<a class="sourceLine" id="cb303-4" data-line-number="4"><span class="fu">\starttext</span></a> -<a class="sourceLine" id="cb303-5" data-line-number="5"></a> -<a class="sourceLine" id="cb303-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererInterblockSeparator{}</a> -<a class="sourceLine" id="cb303-7" data-line-number="7"><span class="fu">\def</span>\markdownRendererOlBeginTight{ (}</a> -<a class="sourceLine" id="cb303-8" data-line-number="8"><span class="fu">\def</span>\markdownRendererOlItemWithNumber#1{<span class="co">%</span></a> -<a class="sourceLine" id="cb303-9" data-line-number="9"> \ifnum #1=1\relax</a> -<a class="sourceLine" id="cb303-10" data-line-number="10"> the first</a> -<a class="sourceLine" id="cb303-11" data-line-number="11"> \else</a> -<a class="sourceLine" id="cb303-12" data-line-number="12"> \ifnum #1=2\relax</a> -<a class="sourceLine" id="cb303-13" data-line-number="13"> , the second</a> -<a class="sourceLine" id="cb303-14" data-line-number="14"> \else</a> -<a class="sourceLine" id="cb303-15" data-line-number="15"> , and the third</a> -<a class="sourceLine" id="cb303-16" data-line-number="16"> \fi</a> -<a class="sourceLine" id="cb303-17" data-line-number="17"> \fi</a> -<a class="sourceLine" id="cb303-18" data-line-number="18">}</a> -<a class="sourceLine" id="cb303-19" data-line-number="19"><span class="fu">\def</span>\markdownRendererOlItemEnd{}</a> -<a class="sourceLine" id="cb303-20" data-line-number="20"><span class="fu">\def</span>\markdownRendererOlEndTight{).}</a> -<a class="sourceLine" id="cb303-21" data-line-number="21"></a> -<a class="sourceLine" id="cb303-22" data-line-number="22"><span class="fu">\startmarkdown</span></a> -<a class="sourceLine" id="cb303-23" data-line-number="23">This is a tight list</a> -<a class="sourceLine" id="cb303-24" data-line-number="24"></a> -<a class="sourceLine" id="cb303-25" data-line-number="25">1. item</a> -<a class="sourceLine" id="cb303-26" data-line-number="26">2. item</a> -<a class="sourceLine" id="cb303-27" data-line-number="27">3. item</a> -<a class="sourceLine" id="cb303-28" data-line-number="28"><span class="fu">\stopmarkdown</span></a> -<a class="sourceLine" id="cb303-29" data-line-number="29"></a> -<a class="sourceLine" id="cb303-30" data-line-number="30"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a> -<a class="sourceLine" id="cb303-31" data-line-number="31"> :\par</a> -<a class="sourceLine" id="cb303-32" data-line-number="32"> \def\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a> -<a class="sourceLine" id="cb303-33" data-line-number="33">}</a> -<a class="sourceLine" id="cb303-34" data-line-number="34"><span class="fu">\def</span>\markdownRendererOlBegin{\startitemize}</a> -<a class="sourceLine" id="cb303-35" data-line-number="35"><span class="fu">\def</span>\markdownRendererOlItemWithNumber#1{<span class="co">%</span></a> -<a class="sourceLine" id="cb303-36" data-line-number="36"> \sym{#1.}</a> -<a class="sourceLine" id="cb303-37" data-line-number="37"> This is the</a> -<a class="sourceLine" id="cb303-38" data-line-number="38"> \ifnum #1=1\relax</a> -<a class="sourceLine" id="cb303-39" data-line-number="39"> first</a> -<a class="sourceLine" id="cb303-40" data-line-number="40"> \else</a> -<a class="sourceLine" id="cb303-41" data-line-number="41"> \ifnum #1=2\relax</a> -<a class="sourceLine" id="cb303-42" data-line-number="42"> second</a> -<a class="sourceLine" id="cb303-43" data-line-number="43"> \else</a> -<a class="sourceLine" id="cb303-44" data-line-number="44"> third</a> -<a class="sourceLine" id="cb303-45" data-line-number="45"> \fi</a> -<a class="sourceLine" id="cb303-46" data-line-number="46"> \fi</a> -<a class="sourceLine" id="cb303-47" data-line-number="47">}</a> -<a class="sourceLine" id="cb303-48" data-line-number="48"><span class="fu">\def</span>\markdownRendererOlItemEnd{.\par}</a> -<a class="sourceLine" id="cb303-49" data-line-number="49"><span class="fu">\def</span>\markdownRendererOlEnd{\stopitemize}</a> -<a class="sourceLine" id="cb303-50" data-line-number="50"></a> -<a class="sourceLine" id="cb303-51" data-line-number="51"><span class="fu">\startmarkdown</span></a> -<a class="sourceLine" id="cb303-52" data-line-number="52">This is a loose list</a> -<a class="sourceLine" id="cb303-53" data-line-number="53"></a> -<a class="sourceLine" id="cb303-54" data-line-number="54">1. item</a> -<a class="sourceLine" id="cb303-55" data-line-number="55"></a> -<a class="sourceLine" id="cb303-56" data-line-number="56">2. item</a> -<a class="sourceLine" id="cb303-57" data-line-number="57"></a> -<a class="sourceLine" id="cb303-58" data-line-number="58">3. item</a> -<a class="sourceLine" id="cb303-59" data-line-number="59"><span class="fu">\stopmarkdown</span></a> -<a class="sourceLine" id="cb303-60" data-line-number="60"></a> -<a class="sourceLine" id="cb303-61" data-line-number="61"><span class="fu">\stoptext</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb304"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb304-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb321"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb321-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> +<a class="sourceLine" id="cb321-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionTightLists{true}</a> +<a class="sourceLine" id="cb321-3" data-line-number="3"><span class="fu">\def</span>\markdownOptionStartNumber{true}</a> +<a class="sourceLine" id="cb321-4" data-line-number="4"><span class="fu">\starttext</span></a> +<a class="sourceLine" id="cb321-5" data-line-number="5"></a> +<a class="sourceLine" id="cb321-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererInterblockSeparator{}</a> +<a class="sourceLine" id="cb321-7" data-line-number="7"><span class="fu">\def</span>\markdownRendererOlBeginTight{ (}</a> +<a class="sourceLine" id="cb321-8" data-line-number="8"><span class="fu">\def</span>\markdownRendererOlItemWithNumber#1{<span class="co">%</span></a> +<a class="sourceLine" id="cb321-9" data-line-number="9"> \ifnum #1=1\relax</a> +<a class="sourceLine" id="cb321-10" data-line-number="10"> the first</a> +<a class="sourceLine" id="cb321-11" data-line-number="11"> \else</a> +<a class="sourceLine" id="cb321-12" data-line-number="12"> \ifnum #1=2\relax</a> +<a class="sourceLine" id="cb321-13" data-line-number="13"> , the second</a> +<a class="sourceLine" id="cb321-14" data-line-number="14"> \else</a> +<a class="sourceLine" id="cb321-15" data-line-number="15"> , and the third</a> +<a class="sourceLine" id="cb321-16" data-line-number="16"> \fi</a> +<a class="sourceLine" id="cb321-17" data-line-number="17"> \fi</a> +<a class="sourceLine" id="cb321-18" data-line-number="18">}</a> +<a class="sourceLine" id="cb321-19" data-line-number="19"><span class="fu">\def</span>\markdownRendererOlItemEnd{}</a> +<a class="sourceLine" id="cb321-20" data-line-number="20"><span class="fu">\def</span>\markdownRendererOlEndTight{).}</a> +<a class="sourceLine" id="cb321-21" data-line-number="21"></a> +<a class="sourceLine" id="cb321-22" data-line-number="22"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb321-23" data-line-number="23">This is a tight list</a> +<a class="sourceLine" id="cb321-24" data-line-number="24"></a> +<a class="sourceLine" id="cb321-25" data-line-number="25">1. item</a> +<a class="sourceLine" id="cb321-26" data-line-number="26">2. item</a> +<a class="sourceLine" id="cb321-27" data-line-number="27">3. item</a> +<a class="sourceLine" id="cb321-28" data-line-number="28"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb321-29" data-line-number="29"></a> +<a class="sourceLine" id="cb321-30" data-line-number="30"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a> +<a class="sourceLine" id="cb321-31" data-line-number="31"> :\par</a> +<a class="sourceLine" id="cb321-32" data-line-number="32"> \def\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a> +<a class="sourceLine" id="cb321-33" data-line-number="33">}</a> +<a class="sourceLine" id="cb321-34" data-line-number="34"><span class="fu">\def</span>\markdownRendererOlBegin{\startitemize}</a> +<a class="sourceLine" id="cb321-35" data-line-number="35"><span class="fu">\def</span>\markdownRendererOlItemWithNumber#1{<span class="co">%</span></a> +<a class="sourceLine" id="cb321-36" data-line-number="36"> \sym{#1.}</a> +<a class="sourceLine" id="cb321-37" data-line-number="37"> This is the</a> +<a class="sourceLine" id="cb321-38" data-line-number="38"> \ifnum #1=1\relax</a> +<a class="sourceLine" id="cb321-39" data-line-number="39"> first</a> +<a class="sourceLine" id="cb321-40" data-line-number="40"> \else</a> +<a class="sourceLine" id="cb321-41" data-line-number="41"> \ifnum #1=2\relax</a> +<a class="sourceLine" id="cb321-42" data-line-number="42"> second</a> +<a class="sourceLine" id="cb321-43" data-line-number="43"> \else</a> +<a class="sourceLine" id="cb321-44" data-line-number="44"> third</a> +<a class="sourceLine" id="cb321-45" data-line-number="45"> \fi</a> +<a class="sourceLine" id="cb321-46" data-line-number="46"> \fi</a> +<a class="sourceLine" id="cb321-47" data-line-number="47">}</a> +<a class="sourceLine" id="cb321-48" data-line-number="48"><span class="fu">\def</span>\markdownRendererOlItemEnd{.\par}</a> +<a class="sourceLine" id="cb321-49" data-line-number="49"><span class="fu">\def</span>\markdownRendererOlEnd{\stopitemize}</a> +<a class="sourceLine" id="cb321-50" data-line-number="50"></a> +<a class="sourceLine" id="cb321-51" data-line-number="51"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb321-52" data-line-number="52">This is a loose list</a> +<a class="sourceLine" id="cb321-53" data-line-number="53"></a> +<a class="sourceLine" id="cb321-54" data-line-number="54">1. item</a> +<a class="sourceLine" id="cb321-55" data-line-number="55"></a> +<a class="sourceLine" id="cb321-56" data-line-number="56">2. item</a> +<a class="sourceLine" id="cb321-57" data-line-number="57"></a> +<a class="sourceLine" id="cb321-58" data-line-number="58">3. item</a> +<a class="sourceLine" id="cb321-59" data-line-number="59"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb321-60" data-line-number="60"></a> +<a class="sourceLine" id="cb321-61" data-line-number="61"><span class="fu">\stoptext</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb322"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb322-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is a tight list (the first item, the second item, and the third item).</p> @@ -4004,88 +4327,88 @@ multiple paragraphs</li> <p>The <code>\markdownRendererDlDefinitionEnd</code> macro represents the end of a definition in a definition list. There can be several definitions for a single term.</p> <p>The <code>\markdownRendererDlEnd</code> macro represents the end of a definition list that contains an item with several paragraphs of text (the list is not tight). The macro receives no arguments.</p> <p>The <code>\markdownRendererDlEndTight</code> macro represents the end of a definition list that contains no item with several paragraphs of text (the list is tight). This macro will only be produced, when the <strong><code>tightLists</code></strong> option is <code>false</code>. The macro receives no arguments.</p> -<h5 id="plain-tex-example-20" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> +<h5 id="plain-tex-example-21" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb305"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb305-1" data-line-number="1"><span class="fu">\input</span> markdown</a> -<a class="sourceLine" id="cb305-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionDefinitionLists{true}</a> -<a class="sourceLine" id="cb305-3" data-line-number="3"><span class="fu">\def</span>\markdownOptionTightLists{true}</a> -<a class="sourceLine" id="cb305-4" data-line-number="4"></a> -<a class="sourceLine" id="cb305-5" data-line-number="5"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a> -<a class="sourceLine" id="cb305-6" data-line-number="6"> :<span class="co">%</span></a> -<a class="sourceLine" id="cb305-7" data-line-number="7"> \def\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a> -<a class="sourceLine" id="cb305-8" data-line-number="8">}</a> -<a class="sourceLine" id="cb305-9" data-line-number="9"><span class="fu">\def</span>\markdownRendererDlBeginTight{<span class="co">%</span></a> -<a class="sourceLine" id="cb305-10" data-line-number="10"> \begingroup</a> -<a class="sourceLine" id="cb305-11" data-line-number="11"> \parindent=0pt</a> -<a class="sourceLine" id="cb305-12" data-line-number="12">}</a> -<a class="sourceLine" id="cb305-13" data-line-number="13"><span class="fu">\def</span>\markdownRendererDlItem#1{<span class="co">%</span></a> -<a class="sourceLine" id="cb305-14" data-line-number="14"> \par{\bf#1}<span class="co">%</span></a> -<a class="sourceLine" id="cb305-15" data-line-number="15"> \def\markdownRendererDlDefinitionEnd{<span class="co">%</span></a> -<a class="sourceLine" id="cb305-16" data-line-number="16"> ,</a> -<a class="sourceLine" id="cb305-17" data-line-number="17"> \def\markdownRendererDlDefinitionEnd{<span class="co">%</span></a> -<a class="sourceLine" id="cb305-18" data-line-number="18"> , and</a> -<a class="sourceLine" id="cb305-19" data-line-number="19"> \def\markdownRendererDlDefinitionEnd{.}<span class="co">%</span></a> -<a class="sourceLine" id="cb305-20" data-line-number="20"> }<span class="co">%</span></a> -<a class="sourceLine" id="cb305-21" data-line-number="21"> }<span class="co">%</span></a> -<a class="sourceLine" id="cb305-22" data-line-number="22">}</a> -<a class="sourceLine" id="cb305-23" data-line-number="23"><span class="fu">\def</span>\markdownRendererDlItemEnd{}</a> -<a class="sourceLine" id="cb305-24" data-line-number="24"><span class="fu">\def</span>\markdownRendererDlDefinitionBegin{\par--\kern 0.5em}</a> -<a class="sourceLine" id="cb305-25" data-line-number="25"><span class="fu">\def</span>\markdownRendererDlEndTight{\endgroup}</a> -<a class="sourceLine" id="cb305-26" data-line-number="26"></a> -<a class="sourceLine" id="cb305-27" data-line-number="27"><span class="fu">\markdownBegin</span></a> -<a class="sourceLine" id="cb305-28" data-line-number="28">This is a tight definition list</a> -<a class="sourceLine" id="cb305-29" data-line-number="29"></a> -<a class="sourceLine" id="cb305-30" data-line-number="30">Coffee</a> -<a class="sourceLine" id="cb305-31" data-line-number="31">: black hot drink</a> -<a class="sourceLine" id="cb305-32" data-line-number="32">: prepared from roasted coffee beans</a> -<a class="sourceLine" id="cb305-33" data-line-number="33">: one of the most traded agricultural commodities in the world</a> -<a class="sourceLine" id="cb305-34" data-line-number="34"></a> -<a class="sourceLine" id="cb305-35" data-line-number="35">Milk</a> -<a class="sourceLine" id="cb305-36" data-line-number="36">: white cold drink</a> -<a class="sourceLine" id="cb305-37" data-line-number="37">: nutrient-rich</a> -<a class="sourceLine" id="cb305-38" data-line-number="38">: produced on an industrial scale</a> -<a class="sourceLine" id="cb305-39" data-line-number="39"><span class="fu">\markdownEnd</span></a> -<a class="sourceLine" id="cb305-40" data-line-number="40"></a> -<a class="sourceLine" id="cb305-41" data-line-number="41"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a> -<a class="sourceLine" id="cb305-42" data-line-number="42"> \def\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a> -<a class="sourceLine" id="cb305-43" data-line-number="43">}</a> -<a class="sourceLine" id="cb305-44" data-line-number="44"><span class="fu">\def</span>\markdownRendererDlBegin{}</a> -<a class="sourceLine" id="cb305-45" data-line-number="45"><span class="fu">\def</span>\markdownRendererDlItem#1{<span class="co">%</span></a> -<a class="sourceLine" id="cb305-46" data-line-number="46"> . #1 is a</a> -<a class="sourceLine" id="cb305-47" data-line-number="47"> \def\markdownRendererDlDefinitionBegin{<span class="co">%</span></a> -<a class="sourceLine" id="cb305-48" data-line-number="48"> \def\markdownRendererDlDefinitionBegin{<span class="co">%</span></a> -<a class="sourceLine" id="cb305-49" data-line-number="49"> ,</a> -<a class="sourceLine" id="cb305-50" data-line-number="50"> \def\markdownRendererDlDefinitionBegin{, and }<span class="co">%</span></a> -<a class="sourceLine" id="cb305-51" data-line-number="51"> }<span class="co">%</span></a> -<a class="sourceLine" id="cb305-52" data-line-number="52"> }<span class="co">%</span></a> -<a class="sourceLine" id="cb305-53" data-line-number="53">}</a> -<a class="sourceLine" id="cb305-54" data-line-number="54"><span class="fu">\def</span>\markdownRendererDlItemEnd{}</a> -<a class="sourceLine" id="cb305-55" data-line-number="55"><span class="fu">\def</span>\markdownRendererDlDefinitionEnd{}</a> -<a class="sourceLine" id="cb305-56" data-line-number="56"><span class="fu">\def</span>\markdownRendererDlEnd{.}</a> -<a class="sourceLine" id="cb305-57" data-line-number="57"></a> -<a class="sourceLine" id="cb305-58" data-line-number="58"><span class="fu">\markdownBegin</span></a> -<a class="sourceLine" id="cb305-59" data-line-number="59">This is a loose definition list</a> -<a class="sourceLine" id="cb305-60" data-line-number="60"></a> -<a class="sourceLine" id="cb305-61" data-line-number="61">Coffee</a> -<a class="sourceLine" id="cb305-62" data-line-number="62"></a> -<a class="sourceLine" id="cb305-63" data-line-number="63">: black hot drink</a> -<a class="sourceLine" id="cb305-64" data-line-number="64"></a> -<a class="sourceLine" id="cb305-65" data-line-number="65">: prepared from roasted coffee beans</a> -<a class="sourceLine" id="cb305-66" data-line-number="66"></a> -<a class="sourceLine" id="cb305-67" data-line-number="67">: one of the most traded agricultural commodities in the world</a> -<a class="sourceLine" id="cb305-68" data-line-number="68"></a> -<a class="sourceLine" id="cb305-69" data-line-number="69">Milk</a> -<a class="sourceLine" id="cb305-70" data-line-number="70"></a> -<a class="sourceLine" id="cb305-71" data-line-number="71">: white cold drink</a> -<a class="sourceLine" id="cb305-72" data-line-number="72"></a> -<a class="sourceLine" id="cb305-73" data-line-number="73">: nutrient-rich</a> -<a class="sourceLine" id="cb305-74" data-line-number="74"></a> -<a class="sourceLine" id="cb305-75" data-line-number="75">: produced on an industrial scale</a> -<a class="sourceLine" id="cb305-76" data-line-number="76"><span class="fu">\markdownEnd</span></a> -<a class="sourceLine" id="cb305-77" data-line-number="77"></a> -<a class="sourceLine" id="cb305-78" data-line-number="78"><span class="fu">\bye</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb306"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb306-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb323"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb323-1" data-line-number="1"><span class="fu">\input</span> markdown</a> +<a class="sourceLine" id="cb323-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionDefinitionLists{true}</a> +<a class="sourceLine" id="cb323-3" data-line-number="3"><span class="fu">\def</span>\markdownOptionTightLists{true}</a> +<a class="sourceLine" id="cb323-4" data-line-number="4"></a> +<a class="sourceLine" id="cb323-5" data-line-number="5"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a> +<a class="sourceLine" id="cb323-6" data-line-number="6"> :<span class="co">%</span></a> +<a class="sourceLine" id="cb323-7" data-line-number="7"> \def\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a> +<a class="sourceLine" id="cb323-8" data-line-number="8">}</a> +<a class="sourceLine" id="cb323-9" data-line-number="9"><span class="fu">\def</span>\markdownRendererDlBeginTight{<span class="co">%</span></a> +<a class="sourceLine" id="cb323-10" data-line-number="10"> \begingroup</a> +<a class="sourceLine" id="cb323-11" data-line-number="11"> \parindent=0pt</a> +<a class="sourceLine" id="cb323-12" data-line-number="12">}</a> +<a class="sourceLine" id="cb323-13" data-line-number="13"><span class="fu">\def</span>\markdownRendererDlItem#1{<span class="co">%</span></a> +<a class="sourceLine" id="cb323-14" data-line-number="14"> \par{\bf#1}<span class="co">%</span></a> +<a class="sourceLine" id="cb323-15" data-line-number="15"> \def\markdownRendererDlDefinitionEnd{<span class="co">%</span></a> +<a class="sourceLine" id="cb323-16" data-line-number="16"> ,</a> +<a class="sourceLine" id="cb323-17" data-line-number="17"> \def\markdownRendererDlDefinitionEnd{<span class="co">%</span></a> +<a class="sourceLine" id="cb323-18" data-line-number="18"> , and</a> +<a class="sourceLine" id="cb323-19" data-line-number="19"> \def\markdownRendererDlDefinitionEnd{.}<span class="co">%</span></a> +<a class="sourceLine" id="cb323-20" data-line-number="20"> }<span class="co">%</span></a> +<a class="sourceLine" id="cb323-21" data-line-number="21"> }<span class="co">%</span></a> +<a class="sourceLine" id="cb323-22" data-line-number="22">}</a> +<a class="sourceLine" id="cb323-23" data-line-number="23"><span class="fu">\def</span>\markdownRendererDlItemEnd{}</a> +<a class="sourceLine" id="cb323-24" data-line-number="24"><span class="fu">\def</span>\markdownRendererDlDefinitionBegin{\par--\kern 0.5em}</a> +<a class="sourceLine" id="cb323-25" data-line-number="25"><span class="fu">\def</span>\markdownRendererDlEndTight{\endgroup}</a> +<a class="sourceLine" id="cb323-26" data-line-number="26"></a> +<a class="sourceLine" id="cb323-27" data-line-number="27"><span class="fu">\markdownBegin</span></a> +<a class="sourceLine" id="cb323-28" data-line-number="28">This is a tight definition list</a> +<a class="sourceLine" id="cb323-29" data-line-number="29"></a> +<a class="sourceLine" id="cb323-30" data-line-number="30">Coffee</a> +<a class="sourceLine" id="cb323-31" data-line-number="31">: black hot drink</a> +<a class="sourceLine" id="cb323-32" data-line-number="32">: prepared from roasted coffee beans</a> +<a class="sourceLine" id="cb323-33" data-line-number="33">: one of the most traded agricultural commodities in the world</a> +<a class="sourceLine" id="cb323-34" data-line-number="34"></a> +<a class="sourceLine" id="cb323-35" data-line-number="35">Milk</a> +<a class="sourceLine" id="cb323-36" data-line-number="36">: white cold drink</a> +<a class="sourceLine" id="cb323-37" data-line-number="37">: nutrient-rich</a> +<a class="sourceLine" id="cb323-38" data-line-number="38">: produced on an industrial scale</a> +<a class="sourceLine" id="cb323-39" data-line-number="39"><span class="fu">\markdownEnd</span></a> +<a class="sourceLine" id="cb323-40" data-line-number="40"></a> +<a class="sourceLine" id="cb323-41" data-line-number="41"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a> +<a class="sourceLine" id="cb323-42" data-line-number="42"> \def\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a> +<a class="sourceLine" id="cb323-43" data-line-number="43">}</a> +<a class="sourceLine" id="cb323-44" data-line-number="44"><span class="fu">\def</span>\markdownRendererDlBegin{}</a> +<a class="sourceLine" id="cb323-45" data-line-number="45"><span class="fu">\def</span>\markdownRendererDlItem#1{<span class="co">%</span></a> +<a class="sourceLine" id="cb323-46" data-line-number="46"> . #1 is a</a> +<a class="sourceLine" id="cb323-47" data-line-number="47"> \def\markdownRendererDlDefinitionBegin{<span class="co">%</span></a> +<a class="sourceLine" id="cb323-48" data-line-number="48"> \def\markdownRendererDlDefinitionBegin{<span class="co">%</span></a> +<a class="sourceLine" id="cb323-49" data-line-number="49"> ,</a> +<a class="sourceLine" id="cb323-50" data-line-number="50"> \def\markdownRendererDlDefinitionBegin{, and }<span class="co">%</span></a> +<a class="sourceLine" id="cb323-51" data-line-number="51"> }<span class="co">%</span></a> +<a class="sourceLine" id="cb323-52" data-line-number="52"> }<span class="co">%</span></a> +<a class="sourceLine" id="cb323-53" data-line-number="53">}</a> +<a class="sourceLine" id="cb323-54" data-line-number="54"><span class="fu">\def</span>\markdownRendererDlItemEnd{}</a> +<a class="sourceLine" id="cb323-55" data-line-number="55"><span class="fu">\def</span>\markdownRendererDlDefinitionEnd{}</a> +<a class="sourceLine" id="cb323-56" data-line-number="56"><span class="fu">\def</span>\markdownRendererDlEnd{.}</a> +<a class="sourceLine" id="cb323-57" data-line-number="57"></a> +<a class="sourceLine" id="cb323-58" data-line-number="58"><span class="fu">\markdownBegin</span></a> +<a class="sourceLine" id="cb323-59" data-line-number="59">This is a loose definition list</a> +<a class="sourceLine" id="cb323-60" data-line-number="60"></a> +<a class="sourceLine" id="cb323-61" data-line-number="61">Coffee</a> +<a class="sourceLine" id="cb323-62" data-line-number="62"></a> +<a class="sourceLine" id="cb323-63" data-line-number="63">: black hot drink</a> +<a class="sourceLine" id="cb323-64" data-line-number="64"></a> +<a class="sourceLine" id="cb323-65" data-line-number="65">: prepared from roasted coffee beans</a> +<a class="sourceLine" id="cb323-66" data-line-number="66"></a> +<a class="sourceLine" id="cb323-67" data-line-number="67">: one of the most traded agricultural commodities in the world</a> +<a class="sourceLine" id="cb323-68" data-line-number="68"></a> +<a class="sourceLine" id="cb323-69" data-line-number="69">Milk</a> +<a class="sourceLine" id="cb323-70" data-line-number="70"></a> +<a class="sourceLine" id="cb323-71" data-line-number="71">: white cold drink</a> +<a class="sourceLine" id="cb323-72" data-line-number="72"></a> +<a class="sourceLine" id="cb323-73" data-line-number="73">: nutrient-rich</a> +<a class="sourceLine" id="cb323-74" data-line-number="74"></a> +<a class="sourceLine" id="cb323-75" data-line-number="75">: produced on an industrial scale</a> +<a class="sourceLine" id="cb323-76" data-line-number="76"><span class="fu">\markdownEnd</span></a> +<a class="sourceLine" id="cb323-77" data-line-number="77"></a> +<a class="sourceLine" id="cb323-78" data-line-number="78"><span class="fu">\bye</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb324"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb324-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is a tight definition list:</p> @@ -4103,90 +4426,90 @@ multiple paragraphs</li> </ul> <p>This is a loose definition list. Coffee is a black hot drink, prepared from roasted coffee beans, and one of the most traded agricultural commodities in the world. Milk is a white cold drink, nutrient-rich, and produced on an industrial scale.</p> </blockquote> -<h5 id="latex-example-33" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<h5 id="latex-example-36" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb307"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb307-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> -<a class="sourceLine" id="cb307-2" data-line-number="2"><span class="bu">\usepackage</span>[definitionLists, tightLists]{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb307-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb307-4" data-line-number="4"></a> -<a class="sourceLine" id="cb307-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</a> -<a class="sourceLine" id="cb307-6" data-line-number="6"> renderers = {</a> -<a class="sourceLine" id="cb307-7" data-line-number="7"> interblockSeparator = {<span class="co">%</span></a> -<a class="sourceLine" id="cb307-8" data-line-number="8"> :<span class="co">%</span></a> -<a class="sourceLine" id="cb307-9" data-line-number="9"> <span class="fu">\def</span>\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a> -<a class="sourceLine" id="cb307-10" data-line-number="10"> },</a> -<a class="sourceLine" id="cb307-11" data-line-number="11"> dlBeginTight = {<span class="kw">\begin</span>{<span class="ex">description</span>}},</a> -<a class="sourceLine" id="cb307-12" data-line-number="12"> dlItem = {<span class="co">%</span></a> -<a class="sourceLine" id="cb307-13" data-line-number="13"> <span class="fu">\item</span>[#1]</a> -<a class="sourceLine" id="cb307-14" data-line-number="14"> <span class="kw">\begin</span>{<span class="ex">itemize</span>}</a> -<a class="sourceLine" id="cb307-15" data-line-number="15"> <span class="fu">\def</span>\markdownRendererDlDefinitionEnd{<span class="co">%</span></a> -<a class="sourceLine" id="cb307-16" data-line-number="16"> ,</a> -<a class="sourceLine" id="cb307-17" data-line-number="17"> \def\markdownRendererDlDefinitionEnd{<span class="co">%</span></a> -<a class="sourceLine" id="cb307-18" data-line-number="18"> , and</a> -<a class="sourceLine" id="cb307-19" data-line-number="19"> \def\markdownRendererDlDefinitionEnd{.}<span class="co">%</span></a> -<a class="sourceLine" id="cb307-20" data-line-number="20"> }<span class="co">%</span></a> -<a class="sourceLine" id="cb307-21" data-line-number="21"> }<span class="co">%</span></a> -<a class="sourceLine" id="cb307-22" data-line-number="22"> },</a> -<a class="sourceLine" id="cb307-23" data-line-number="23"> dlItemEnd = {<span class="kw">\end</span>{<span class="ex">itemize</span>}},</a> -<a class="sourceLine" id="cb307-24" data-line-number="24"> dlDefinitionBegin = <span class="fu">\item</span>,</a> -<a class="sourceLine" id="cb307-25" data-line-number="25"> dlEndTight = {<span class="kw">\end</span>{<span class="ex">description</span>}},</a> -<a class="sourceLine" id="cb307-26" data-line-number="26"> },</a> -<a class="sourceLine" id="cb307-27" data-line-number="27">}</a> -<a class="sourceLine" id="cb307-28" data-line-number="28">This is a tight definition list</a> -<a class="sourceLine" id="cb307-29" data-line-number="29"></a> -<a class="sourceLine" id="cb307-30" data-line-number="30">Coffee</a> -<a class="sourceLine" id="cb307-31" data-line-number="31">: black hot drink</a> -<a class="sourceLine" id="cb307-32" data-line-number="32">: prepared from roasted coffee beans</a> -<a class="sourceLine" id="cb307-33" data-line-number="33">: one of the most traded agricultural commodities in the world</a> -<a class="sourceLine" id="cb307-34" data-line-number="34"></a> -<a class="sourceLine" id="cb307-35" data-line-number="35">Milk</a> -<a class="sourceLine" id="cb307-36" data-line-number="36">: white cold drink</a> -<a class="sourceLine" id="cb307-37" data-line-number="37">: nutrient-rich</a> -<a class="sourceLine" id="cb307-38" data-line-number="38">: produced on an industrial scale</a> -<a class="sourceLine" id="cb307-39" data-line-number="39"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a> -<a class="sourceLine" id="cb307-40" data-line-number="40"></a> -<a class="sourceLine" id="cb307-41" data-line-number="41"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</a> -<a class="sourceLine" id="cb307-42" data-line-number="42"> renderers = {</a> -<a class="sourceLine" id="cb307-43" data-line-number="43"> interblockSeparator = {<span class="co">%</span></a> -<a class="sourceLine" id="cb307-44" data-line-number="44"> <span class="fu">\def</span>\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a> -<a class="sourceLine" id="cb307-45" data-line-number="45"> },</a> -<a class="sourceLine" id="cb307-46" data-line-number="46"> dlBegin = {},</a> -<a class="sourceLine" id="cb307-47" data-line-number="47"> dlItem = {<span class="co">%</span></a> -<a class="sourceLine" id="cb307-48" data-line-number="48"> . #1 is a</a> -<a class="sourceLine" id="cb307-49" data-line-number="49"> <span class="fu">\def</span>\markdownRendererDlDefinitionBegin{<span class="co">%</span></a> -<a class="sourceLine" id="cb307-50" data-line-number="50"> \def\markdownRendererDlDefinitionBegin{<span class="co">%</span></a> -<a class="sourceLine" id="cb307-51" data-line-number="51"> ,</a> -<a class="sourceLine" id="cb307-52" data-line-number="52"> \def\markdownRendererDlDefinitionBegin{, and }<span class="co">%</span></a> -<a class="sourceLine" id="cb307-53" data-line-number="53"> }<span class="co">%</span></a> -<a class="sourceLine" id="cb307-54" data-line-number="54"> }<span class="co">%</span></a> -<a class="sourceLine" id="cb307-55" data-line-number="55"> },</a> -<a class="sourceLine" id="cb307-56" data-line-number="56"> dlItemEnd = {},</a> -<a class="sourceLine" id="cb307-57" data-line-number="57"> dlDefinitionEnd = {},</a> -<a class="sourceLine" id="cb307-58" data-line-number="58"> dlEnd = {.},</a> -<a class="sourceLine" id="cb307-59" data-line-number="59"> },</a> -<a class="sourceLine" id="cb307-60" data-line-number="60">}</a> -<a class="sourceLine" id="cb307-61" data-line-number="61">This is a loose definition list</a> -<a class="sourceLine" id="cb307-62" data-line-number="62"></a> -<a class="sourceLine" id="cb307-63" data-line-number="63">Coffee</a> -<a class="sourceLine" id="cb307-64" data-line-number="64"></a> -<a class="sourceLine" id="cb307-65" data-line-number="65">: black hot drink</a> -<a class="sourceLine" id="cb307-66" data-line-number="66"></a> -<a class="sourceLine" id="cb307-67" data-line-number="67">: prepared from roasted coffee beans</a> -<a class="sourceLine" id="cb307-68" data-line-number="68"></a> -<a class="sourceLine" id="cb307-69" data-line-number="69">: one of the most traded agricultural commodities in the world</a> -<a class="sourceLine" id="cb307-70" data-line-number="70"></a> -<a class="sourceLine" id="cb307-71" data-line-number="71">Milk</a> -<a class="sourceLine" id="cb307-72" data-line-number="72"></a> -<a class="sourceLine" id="cb307-73" data-line-number="73">: white cold drink</a> -<a class="sourceLine" id="cb307-74" data-line-number="74"></a> -<a class="sourceLine" id="cb307-75" data-line-number="75">: nutrient-rich</a> -<a class="sourceLine" id="cb307-76" data-line-number="76"></a> -<a class="sourceLine" id="cb307-77" data-line-number="77">: produced on an industrial scale</a> -<a class="sourceLine" id="cb307-78" data-line-number="78"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a> -<a class="sourceLine" id="cb307-79" data-line-number="79"></a> -<a class="sourceLine" id="cb307-80" data-line-number="80"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb308"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb308-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb325"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb325-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb325-2" data-line-number="2"><span class="bu">\usepackage</span>[definitionLists, tightLists]{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb325-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb325-4" data-line-number="4"></a> +<a class="sourceLine" id="cb325-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</a> +<a class="sourceLine" id="cb325-6" data-line-number="6"> renderers = {</a> +<a class="sourceLine" id="cb325-7" data-line-number="7"> interblockSeparator = {<span class="co">%</span></a> +<a class="sourceLine" id="cb325-8" data-line-number="8"> :<span class="co">%</span></a> +<a class="sourceLine" id="cb325-9" data-line-number="9"> <span class="fu">\def</span>\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a> +<a class="sourceLine" id="cb325-10" data-line-number="10"> },</a> +<a class="sourceLine" id="cb325-11" data-line-number="11"> dlBeginTight = {<span class="kw">\begin</span>{<span class="ex">description</span>}},</a> +<a class="sourceLine" id="cb325-12" data-line-number="12"> dlItem = {<span class="co">%</span></a> +<a class="sourceLine" id="cb325-13" data-line-number="13"> <span class="fu">\item</span>[#1]</a> +<a class="sourceLine" id="cb325-14" data-line-number="14"> <span class="kw">\begin</span>{<span class="ex">itemize</span>}</a> +<a class="sourceLine" id="cb325-15" data-line-number="15"> <span class="fu">\def</span>\markdownRendererDlDefinitionEnd{<span class="co">%</span></a> +<a class="sourceLine" id="cb325-16" data-line-number="16"> ,</a> +<a class="sourceLine" id="cb325-17" data-line-number="17"> \def\markdownRendererDlDefinitionEnd{<span class="co">%</span></a> +<a class="sourceLine" id="cb325-18" data-line-number="18"> , and</a> +<a class="sourceLine" id="cb325-19" data-line-number="19"> \def\markdownRendererDlDefinitionEnd{.}<span class="co">%</span></a> +<a class="sourceLine" id="cb325-20" data-line-number="20"> }<span class="co">%</span></a> +<a class="sourceLine" id="cb325-21" data-line-number="21"> }<span class="co">%</span></a> +<a class="sourceLine" id="cb325-22" data-line-number="22"> },</a> +<a class="sourceLine" id="cb325-23" data-line-number="23"> dlItemEnd = {<span class="kw">\end</span>{<span class="ex">itemize</span>}},</a> +<a class="sourceLine" id="cb325-24" data-line-number="24"> dlDefinitionBegin = <span class="fu">\item</span>,</a> +<a class="sourceLine" id="cb325-25" data-line-number="25"> dlEndTight = {<span class="kw">\end</span>{<span class="ex">description</span>}},</a> +<a class="sourceLine" id="cb325-26" data-line-number="26"> },</a> +<a class="sourceLine" id="cb325-27" data-line-number="27">}</a> +<a class="sourceLine" id="cb325-28" data-line-number="28">This is a tight definition list</a> +<a class="sourceLine" id="cb325-29" data-line-number="29"></a> +<a class="sourceLine" id="cb325-30" data-line-number="30">Coffee</a> +<a class="sourceLine" id="cb325-31" data-line-number="31">: black hot drink</a> +<a class="sourceLine" id="cb325-32" data-line-number="32">: prepared from roasted coffee beans</a> +<a class="sourceLine" id="cb325-33" data-line-number="33">: one of the most traded agricultural commodities in the world</a> +<a class="sourceLine" id="cb325-34" data-line-number="34"></a> +<a class="sourceLine" id="cb325-35" data-line-number="35">Milk</a> +<a class="sourceLine" id="cb325-36" data-line-number="36">: white cold drink</a> +<a class="sourceLine" id="cb325-37" data-line-number="37">: nutrient-rich</a> +<a class="sourceLine" id="cb325-38" data-line-number="38">: produced on an industrial scale</a> +<a class="sourceLine" id="cb325-39" data-line-number="39"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a> +<a class="sourceLine" id="cb325-40" data-line-number="40"></a> +<a class="sourceLine" id="cb325-41" data-line-number="41"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</a> +<a class="sourceLine" id="cb325-42" data-line-number="42"> renderers = {</a> +<a class="sourceLine" id="cb325-43" data-line-number="43"> interblockSeparator = {<span class="co">%</span></a> +<a class="sourceLine" id="cb325-44" data-line-number="44"> <span class="fu">\def</span>\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a> +<a class="sourceLine" id="cb325-45" data-line-number="45"> },</a> +<a class="sourceLine" id="cb325-46" data-line-number="46"> dlBegin = {},</a> +<a class="sourceLine" id="cb325-47" data-line-number="47"> dlItem = {<span class="co">%</span></a> +<a class="sourceLine" id="cb325-48" data-line-number="48"> . #1 is a</a> +<a class="sourceLine" id="cb325-49" data-line-number="49"> <span class="fu">\def</span>\markdownRendererDlDefinitionBegin{<span class="co">%</span></a> +<a class="sourceLine" id="cb325-50" data-line-number="50"> \def\markdownRendererDlDefinitionBegin{<span class="co">%</span></a> +<a class="sourceLine" id="cb325-51" data-line-number="51"> ,</a> +<a class="sourceLine" id="cb325-52" data-line-number="52"> \def\markdownRendererDlDefinitionBegin{, and }<span class="co">%</span></a> +<a class="sourceLine" id="cb325-53" data-line-number="53"> }<span class="co">%</span></a> +<a class="sourceLine" id="cb325-54" data-line-number="54"> }<span class="co">%</span></a> +<a class="sourceLine" id="cb325-55" data-line-number="55"> },</a> +<a class="sourceLine" id="cb325-56" data-line-number="56"> dlItemEnd = {},</a> +<a class="sourceLine" id="cb325-57" data-line-number="57"> dlDefinitionEnd = {},</a> +<a class="sourceLine" id="cb325-58" data-line-number="58"> dlEnd = {.},</a> +<a class="sourceLine" id="cb325-59" data-line-number="59"> },</a> +<a class="sourceLine" id="cb325-60" data-line-number="60">}</a> +<a class="sourceLine" id="cb325-61" data-line-number="61">This is a loose definition list</a> +<a class="sourceLine" id="cb325-62" data-line-number="62"></a> +<a class="sourceLine" id="cb325-63" data-line-number="63">Coffee</a> +<a class="sourceLine" id="cb325-64" data-line-number="64"></a> +<a class="sourceLine" id="cb325-65" data-line-number="65">: black hot drink</a> +<a class="sourceLine" id="cb325-66" data-line-number="66"></a> +<a class="sourceLine" id="cb325-67" data-line-number="67">: prepared from roasted coffee beans</a> +<a class="sourceLine" id="cb325-68" data-line-number="68"></a> +<a class="sourceLine" id="cb325-69" data-line-number="69">: one of the most traded agricultural commodities in the world</a> +<a class="sourceLine" id="cb325-70" data-line-number="70"></a> +<a class="sourceLine" id="cb325-71" data-line-number="71">Milk</a> +<a class="sourceLine" id="cb325-72" data-line-number="72"></a> +<a class="sourceLine" id="cb325-73" data-line-number="73">: white cold drink</a> +<a class="sourceLine" id="cb325-74" data-line-number="74"></a> +<a class="sourceLine" id="cb325-75" data-line-number="75">: nutrient-rich</a> +<a class="sourceLine" id="cb325-76" data-line-number="76"></a> +<a class="sourceLine" id="cb325-77" data-line-number="77">: produced on an industrial scale</a> +<a class="sourceLine" id="cb325-78" data-line-number="78"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a> +<a class="sourceLine" id="cb325-79" data-line-number="79"></a> +<a class="sourceLine" id="cb325-80" data-line-number="80"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb326"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb326-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is a tight definition list:</p> @@ -4204,87 +4527,87 @@ multiple paragraphs</li> </ul> <p>This is a loose definition list. Coffee is a black hot drink, prepared from roasted coffee beans, and one of the most traded agricultural commodities in the world. Milk is a white cold drink, nutrient-rich, and produced on an industrial scale.</p> </blockquote> -<h5 id="context-example-28" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> +<h5 id="context-example-31" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb309"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb309-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> -<a class="sourceLine" id="cb309-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionDefinitionLists{true}</a> -<a class="sourceLine" id="cb309-3" data-line-number="3"><span class="fu">\def</span>\markdownOptionTightLists{true}</a> -<a class="sourceLine" id="cb309-4" data-line-number="4"><span class="fu">\starttext</span></a> -<a class="sourceLine" id="cb309-5" data-line-number="5"></a> -<a class="sourceLine" id="cb309-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a> -<a class="sourceLine" id="cb309-7" data-line-number="7"> :<span class="co">%</span></a> -<a class="sourceLine" id="cb309-8" data-line-number="8"> \def\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a> -<a class="sourceLine" id="cb309-9" data-line-number="9">}</a> -<a class="sourceLine" id="cb309-10" data-line-number="10"><span class="fu">\def</span>\markdownRendererDlBeginTight{}</a> -<a class="sourceLine" id="cb309-11" data-line-number="11"><span class="fu">\def</span>\markdownRendererDlItem#1{<span class="co">%</span></a> -<a class="sourceLine" id="cb309-12" data-line-number="12"> \par{\bf#1}<span class="co">%</span></a> -<a class="sourceLine" id="cb309-13" data-line-number="13"> \startitemize</a> -<a class="sourceLine" id="cb309-14" data-line-number="14"> \def\markdownRendererDlDefinitionEnd{<span class="co">%</span></a> -<a class="sourceLine" id="cb309-15" data-line-number="15"> ,</a> -<a class="sourceLine" id="cb309-16" data-line-number="16"> \def\markdownRendererDlDefinitionEnd{<span class="co">%</span></a> -<a class="sourceLine" id="cb309-17" data-line-number="17"> , and</a> -<a class="sourceLine" id="cb309-18" data-line-number="18"> \def\markdownRendererDlDefinitionEnd{.}<span class="co">%</span></a> -<a class="sourceLine" id="cb309-19" data-line-number="19"> }<span class="co">%</span></a> -<a class="sourceLine" id="cb309-20" data-line-number="20"> }<span class="co">%</span></a> -<a class="sourceLine" id="cb309-21" data-line-number="21">}</a> -<a class="sourceLine" id="cb309-22" data-line-number="22"><span class="fu">\def</span>\markdownRendererDlItemEnd{\stopitemize}</a> -<a class="sourceLine" id="cb309-23" data-line-number="23"><span class="fu">\def</span>\markdownRendererDlDefinitionBegin{\item}</a> -<a class="sourceLine" id="cb309-24" data-line-number="24"><span class="fu">\def</span>\markdownRendererDlEndTight{}</a> -<a class="sourceLine" id="cb309-25" data-line-number="25"></a> -<a class="sourceLine" id="cb309-26" data-line-number="26"><span class="fu">\startmarkdown</span></a> -<a class="sourceLine" id="cb309-27" data-line-number="27">This is a tight definition list</a> -<a class="sourceLine" id="cb309-28" data-line-number="28"></a> -<a class="sourceLine" id="cb309-29" data-line-number="29">Coffee</a> -<a class="sourceLine" id="cb309-30" data-line-number="30">: black hot drink</a> -<a class="sourceLine" id="cb309-31" data-line-number="31">: prepared from roasted coffee beans</a> -<a class="sourceLine" id="cb309-32" data-line-number="32">: one of the most traded agricultural commodities in the world</a> -<a class="sourceLine" id="cb309-33" data-line-number="33"></a> -<a class="sourceLine" id="cb309-34" data-line-number="34">Milk</a> -<a class="sourceLine" id="cb309-35" data-line-number="35">: white cold drink</a> -<a class="sourceLine" id="cb309-36" data-line-number="36">: nutrient-rich</a> -<a class="sourceLine" id="cb309-37" data-line-number="37">: produced on an industrial scale</a> -<a class="sourceLine" id="cb309-38" data-line-number="38"><span class="fu">\stopmarkdown</span></a> -<a class="sourceLine" id="cb309-39" data-line-number="39"></a> -<a class="sourceLine" id="cb309-40" data-line-number="40"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a> -<a class="sourceLine" id="cb309-41" data-line-number="41"> \def\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a> -<a class="sourceLine" id="cb309-42" data-line-number="42">}</a> -<a class="sourceLine" id="cb309-43" data-line-number="43"><span class="fu">\def</span>\markdownRendererDlBegin{}</a> -<a class="sourceLine" id="cb309-44" data-line-number="44"><span class="fu">\def</span>\markdownRendererDlItem#1{<span class="co">%</span></a> -<a class="sourceLine" id="cb309-45" data-line-number="45"> . #1 is a</a> -<a class="sourceLine" id="cb309-46" data-line-number="46"> \def\markdownRendererDlDefinitionBegin{<span class="co">%</span></a> -<a class="sourceLine" id="cb309-47" data-line-number="47"> \def\markdownRendererDlDefinitionBegin{<span class="co">%</span></a> -<a class="sourceLine" id="cb309-48" data-line-number="48"> ,</a> -<a class="sourceLine" id="cb309-49" data-line-number="49"> \def\markdownRendererDlDefinitionBegin{, and }<span class="co">%</span></a> -<a class="sourceLine" id="cb309-50" data-line-number="50"> }<span class="co">%</span></a> -<a class="sourceLine" id="cb309-51" data-line-number="51"> }<span class="co">%</span></a> -<a class="sourceLine" id="cb309-52" data-line-number="52">}</a> -<a class="sourceLine" id="cb309-53" data-line-number="53"><span class="fu">\def</span>\markdownRendererDlItemEnd{}</a> -<a class="sourceLine" id="cb309-54" data-line-number="54"><span class="fu">\def</span>\markdownRendererDlDefinitionEnd{}</a> -<a class="sourceLine" id="cb309-55" data-line-number="55"><span class="fu">\def</span>\markdownRendererDlEnd{.}</a> -<a class="sourceLine" id="cb309-56" data-line-number="56"></a> -<a class="sourceLine" id="cb309-57" data-line-number="57"><span class="fu">\startmarkdown</span></a> -<a class="sourceLine" id="cb309-58" data-line-number="58">This is a loose definition list</a> -<a class="sourceLine" id="cb309-59" data-line-number="59"></a> -<a class="sourceLine" id="cb309-60" data-line-number="60">Coffee</a> -<a class="sourceLine" id="cb309-61" data-line-number="61"></a> -<a class="sourceLine" id="cb309-62" data-line-number="62">: black hot drink</a> -<a class="sourceLine" id="cb309-63" data-line-number="63"></a> -<a class="sourceLine" id="cb309-64" data-line-number="64">: prepared from roasted coffee beans</a> -<a class="sourceLine" id="cb309-65" data-line-number="65"></a> -<a class="sourceLine" id="cb309-66" data-line-number="66">: one of the most traded agricultural commodities in the world</a> -<a class="sourceLine" id="cb309-67" data-line-number="67"></a> -<a class="sourceLine" id="cb309-68" data-line-number="68">Milk</a> -<a class="sourceLine" id="cb309-69" data-line-number="69"></a> -<a class="sourceLine" id="cb309-70" data-line-number="70">: white cold drink</a> -<a class="sourceLine" id="cb309-71" data-line-number="71"></a> -<a class="sourceLine" id="cb309-72" data-line-number="72">: nutrient-rich</a> -<a class="sourceLine" id="cb309-73" data-line-number="73"></a> -<a class="sourceLine" id="cb309-74" data-line-number="74">: produced on an industrial scale</a> -<a class="sourceLine" id="cb309-75" data-line-number="75"><span class="fu">\stopmarkdown</span></a> -<a class="sourceLine" id="cb309-76" data-line-number="76"></a> -<a class="sourceLine" id="cb309-77" data-line-number="77"><span class="fu">\stoptext</span></a></code></pre></div> +<div class="sourceCode" id="cb327"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb327-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> +<a class="sourceLine" id="cb327-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionDefinitionLists{true}</a> +<a class="sourceLine" id="cb327-3" data-line-number="3"><span class="fu">\def</span>\markdownOptionTightLists{true}</a> +<a class="sourceLine" id="cb327-4" data-line-number="4"><span class="fu">\starttext</span></a> +<a class="sourceLine" id="cb327-5" data-line-number="5"></a> +<a class="sourceLine" id="cb327-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a> +<a class="sourceLine" id="cb327-7" data-line-number="7"> :<span class="co">%</span></a> +<a class="sourceLine" id="cb327-8" data-line-number="8"> \def\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a> +<a class="sourceLine" id="cb327-9" data-line-number="9">}</a> +<a class="sourceLine" id="cb327-10" data-line-number="10"><span class="fu">\def</span>\markdownRendererDlBeginTight{}</a> +<a class="sourceLine" id="cb327-11" data-line-number="11"><span class="fu">\def</span>\markdownRendererDlItem#1{<span class="co">%</span></a> +<a class="sourceLine" id="cb327-12" data-line-number="12"> \par{\bf#1}<span class="co">%</span></a> +<a class="sourceLine" id="cb327-13" data-line-number="13"> \startitemize</a> +<a class="sourceLine" id="cb327-14" data-line-number="14"> \def\markdownRendererDlDefinitionEnd{<span class="co">%</span></a> +<a class="sourceLine" id="cb327-15" data-line-number="15"> ,</a> +<a class="sourceLine" id="cb327-16" data-line-number="16"> \def\markdownRendererDlDefinitionEnd{<span class="co">%</span></a> +<a class="sourceLine" id="cb327-17" data-line-number="17"> , and</a> +<a class="sourceLine" id="cb327-18" data-line-number="18"> \def\markdownRendererDlDefinitionEnd{.}<span class="co">%</span></a> +<a class="sourceLine" id="cb327-19" data-line-number="19"> }<span class="co">%</span></a> +<a class="sourceLine" id="cb327-20" data-line-number="20"> }<span class="co">%</span></a> +<a class="sourceLine" id="cb327-21" data-line-number="21">}</a> +<a class="sourceLine" id="cb327-22" data-line-number="22"><span class="fu">\def</span>\markdownRendererDlItemEnd{\stopitemize}</a> +<a class="sourceLine" id="cb327-23" data-line-number="23"><span class="fu">\def</span>\markdownRendererDlDefinitionBegin{\item}</a> +<a class="sourceLine" id="cb327-24" data-line-number="24"><span class="fu">\def</span>\markdownRendererDlEndTight{}</a> +<a class="sourceLine" id="cb327-25" data-line-number="25"></a> +<a class="sourceLine" id="cb327-26" data-line-number="26"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb327-27" data-line-number="27">This is a tight definition list</a> +<a class="sourceLine" id="cb327-28" data-line-number="28"></a> +<a class="sourceLine" id="cb327-29" data-line-number="29">Coffee</a> +<a class="sourceLine" id="cb327-30" data-line-number="30">: black hot drink</a> +<a class="sourceLine" id="cb327-31" data-line-number="31">: prepared from roasted coffee beans</a> +<a class="sourceLine" id="cb327-32" data-line-number="32">: one of the most traded agricultural commodities in the world</a> +<a class="sourceLine" id="cb327-33" data-line-number="33"></a> +<a class="sourceLine" id="cb327-34" data-line-number="34">Milk</a> +<a class="sourceLine" id="cb327-35" data-line-number="35">: white cold drink</a> +<a class="sourceLine" id="cb327-36" data-line-number="36">: nutrient-rich</a> +<a class="sourceLine" id="cb327-37" data-line-number="37">: produced on an industrial scale</a> +<a class="sourceLine" id="cb327-38" data-line-number="38"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb327-39" data-line-number="39"></a> +<a class="sourceLine" id="cb327-40" data-line-number="40"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a> +<a class="sourceLine" id="cb327-41" data-line-number="41"> \def\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a> +<a class="sourceLine" id="cb327-42" data-line-number="42">}</a> +<a class="sourceLine" id="cb327-43" data-line-number="43"><span class="fu">\def</span>\markdownRendererDlBegin{}</a> +<a class="sourceLine" id="cb327-44" data-line-number="44"><span class="fu">\def</span>\markdownRendererDlItem#1{<span class="co">%</span></a> +<a class="sourceLine" id="cb327-45" data-line-number="45"> . #1 is a</a> +<a class="sourceLine" id="cb327-46" data-line-number="46"> \def\markdownRendererDlDefinitionBegin{<span class="co">%</span></a> +<a class="sourceLine" id="cb327-47" data-line-number="47"> \def\markdownRendererDlDefinitionBegin{<span class="co">%</span></a> +<a class="sourceLine" id="cb327-48" data-line-number="48"> ,</a> +<a class="sourceLine" id="cb327-49" data-line-number="49"> \def\markdownRendererDlDefinitionBegin{, and }<span class="co">%</span></a> +<a class="sourceLine" id="cb327-50" data-line-number="50"> }<span class="co">%</span></a> +<a class="sourceLine" id="cb327-51" data-line-number="51"> }<span class="co">%</span></a> +<a class="sourceLine" id="cb327-52" data-line-number="52">}</a> +<a class="sourceLine" id="cb327-53" data-line-number="53"><span class="fu">\def</span>\markdownRendererDlItemEnd{}</a> +<a class="sourceLine" id="cb327-54" data-line-number="54"><span class="fu">\def</span>\markdownRendererDlDefinitionEnd{}</a> +<a class="sourceLine" id="cb327-55" data-line-number="55"><span class="fu">\def</span>\markdownRendererDlEnd{.}</a> +<a class="sourceLine" id="cb327-56" data-line-number="56"></a> +<a class="sourceLine" id="cb327-57" data-line-number="57"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb327-58" data-line-number="58">This is a loose definition list</a> +<a class="sourceLine" id="cb327-59" data-line-number="59"></a> +<a class="sourceLine" id="cb327-60" data-line-number="60">Coffee</a> +<a class="sourceLine" id="cb327-61" data-line-number="61"></a> +<a class="sourceLine" id="cb327-62" data-line-number="62">: black hot drink</a> +<a class="sourceLine" id="cb327-63" data-line-number="63"></a> +<a class="sourceLine" id="cb327-64" data-line-number="64">: prepared from roasted coffee beans</a> +<a class="sourceLine" id="cb327-65" data-line-number="65"></a> +<a class="sourceLine" id="cb327-66" data-line-number="66">: one of the most traded agricultural commodities in the world</a> +<a class="sourceLine" id="cb327-67" data-line-number="67"></a> +<a class="sourceLine" id="cb327-68" data-line-number="68">Milk</a> +<a class="sourceLine" id="cb327-69" data-line-number="69"></a> +<a class="sourceLine" id="cb327-70" data-line-number="70">: white cold drink</a> +<a class="sourceLine" id="cb327-71" data-line-number="71"></a> +<a class="sourceLine" id="cb327-72" data-line-number="72">: nutrient-rich</a> +<a class="sourceLine" id="cb327-73" data-line-number="73"></a> +<a class="sourceLine" id="cb327-74" data-line-number="74">: produced on an industrial scale</a> +<a class="sourceLine" id="cb327-75" data-line-number="75"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb327-76" data-line-number="76"></a> +<a class="sourceLine" id="cb327-77" data-line-number="77"><span class="fu">\stoptext</span></a></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb310"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb310-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb328"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb328-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is a tight definition list:</p> @@ -4304,62 +4627,62 @@ multiple paragraphs</li> </blockquote> <h4 id="emphasis-renderers"><span class="header-section-number">2.3.1.13</span> Emphasis Renderers</h4> <p>The <code>\markdownRendererEmphasis</code> macro represents an emphasized span of text. The macro receives a single argument that corresponds to the emphasized span of text.</p> -<h5 id="plain-tex-example-21" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> +<h5 id="plain-tex-example-22" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb311"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb311-1" data-line-number="1"><span class="fu">\input</span> markdown</a> -<a class="sourceLine" id="cb311-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererEmphasis#1{{\it#1}}</a> -<a class="sourceLine" id="cb311-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererStrongEmphasis#1{{\bf#1}}</a> -<a class="sourceLine" id="cb311-4" data-line-number="4"><span class="fu">\markdownBegin</span></a> -<a class="sourceLine" id="cb311-5" data-line-number="5">This is *emphasis*.</a> -<a class="sourceLine" id="cb311-6" data-line-number="6"></a> -<a class="sourceLine" id="cb311-7" data-line-number="7">This is **strong emphasis**.</a> -<a class="sourceLine" id="cb311-8" data-line-number="8"><span class="fu">\markdownEnd</span></a> -<a class="sourceLine" id="cb311-9" data-line-number="9"><span class="fu">\bye</span></a></code></pre></div> +<div class="sourceCode" id="cb329"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb329-1" data-line-number="1"><span class="fu">\input</span> markdown</a> +<a class="sourceLine" id="cb329-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererEmphasis#1{{\it#1}}</a> +<a class="sourceLine" id="cb329-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererStrongEmphasis#1{{\bf#1}}</a> +<a class="sourceLine" id="cb329-4" data-line-number="4"><span class="fu">\markdownBegin</span></a> +<a class="sourceLine" id="cb329-5" data-line-number="5">This is *emphasis*.</a> +<a class="sourceLine" id="cb329-6" data-line-number="6"></a> +<a class="sourceLine" id="cb329-7" data-line-number="7">This is **strong emphasis**.</a> +<a class="sourceLine" id="cb329-8" data-line-number="8"><span class="fu">\markdownEnd</span></a> +<a class="sourceLine" id="cb329-9" data-line-number="9"><span class="fu">\bye</span></a></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb312"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb312-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb330"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb330-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is <em>emphasis</em>.</p> <p>This is <strong>strong emphasis</strong>.</p> </blockquote> -<h5 id="latex-example-34" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<h5 id="latex-example-37" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb313"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb313-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> -<a class="sourceLine" id="cb313-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb313-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a> -<a class="sourceLine" id="cb313-4" data-line-number="4"> renderers = {</a> -<a class="sourceLine" id="cb313-5" data-line-number="5"> emphasis = {<span class="fu">\emph</span>{#1}},</a> -<a class="sourceLine" id="cb313-6" data-line-number="6"> strongEmphasis = {<span class="fu">\textbf</span>{#1}},</a> -<a class="sourceLine" id="cb313-7" data-line-number="7"> },</a> -<a class="sourceLine" id="cb313-8" data-line-number="8">}</a> -<a class="sourceLine" id="cb313-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb313-10" data-line-number="10"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb313-11" data-line-number="11">This is *emphasis*.</a> -<a class="sourceLine" id="cb313-12" data-line-number="12"></a> -<a class="sourceLine" id="cb313-13" data-line-number="13">This is **strong emphasis**.</a> -<a class="sourceLine" id="cb313-14" data-line-number="14"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb313-15" data-line-number="15"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<div class="sourceCode" id="cb331"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb331-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb331-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb331-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a> +<a class="sourceLine" id="cb331-4" data-line-number="4"> renderers = {</a> +<a class="sourceLine" id="cb331-5" data-line-number="5"> emphasis = {<span class="fu">\emph</span>{#1}},</a> +<a class="sourceLine" id="cb331-6" data-line-number="6"> strongEmphasis = {<span class="fu">\textbf</span>{#1}},</a> +<a class="sourceLine" id="cb331-7" data-line-number="7"> },</a> +<a class="sourceLine" id="cb331-8" data-line-number="8">}</a> +<a class="sourceLine" id="cb331-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb331-10" data-line-number="10"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb331-11" data-line-number="11">This is *emphasis*.</a> +<a class="sourceLine" id="cb331-12" data-line-number="12"></a> +<a class="sourceLine" id="cb331-13" data-line-number="13">This is **strong emphasis**.</a> +<a class="sourceLine" id="cb331-14" data-line-number="14"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb331-15" data-line-number="15"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb314"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb314-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb332"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb332-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is <em>emphasis</em>.</p> <p>This is <strong>strong emphasis</strong>.</p> </blockquote> -<h5 id="context-example-29" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> +<h5 id="context-example-32" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb315"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb315-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> -<a class="sourceLine" id="cb315-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererEmphasis#1{\emph{#1}}</a> -<a class="sourceLine" id="cb315-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererStrongEmphasis#1{\bold{#1}}</a> -<a class="sourceLine" id="cb315-4" data-line-number="4"><span class="fu">\starttext</span></a> -<a class="sourceLine" id="cb315-5" data-line-number="5"><span class="fu">\startmarkdown</span></a> -<a class="sourceLine" id="cb315-6" data-line-number="6">This is *emphasis*.</a> -<a class="sourceLine" id="cb315-7" data-line-number="7"></a> -<a class="sourceLine" id="cb315-8" data-line-number="8">This is **strong emphasis**.</a> -<a class="sourceLine" id="cb315-9" data-line-number="9"><span class="fu">\stopmarkdown</span></a> -<a class="sourceLine" id="cb315-10" data-line-number="10"><span class="fu">\stoptext</span></a></code></pre></div> +<div class="sourceCode" id="cb333"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb333-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> +<a class="sourceLine" id="cb333-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererEmphasis#1{\emph{#1}}</a> +<a class="sourceLine" id="cb333-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererStrongEmphasis#1{\bold{#1}}</a> +<a class="sourceLine" id="cb333-4" data-line-number="4"><span class="fu">\starttext</span></a> +<a class="sourceLine" id="cb333-5" data-line-number="5"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb333-6" data-line-number="6">This is *emphasis*.</a> +<a class="sourceLine" id="cb333-7" data-line-number="7"></a> +<a class="sourceLine" id="cb333-8" data-line-number="8">This is **strong emphasis**.</a> +<a class="sourceLine" id="cb333-9" data-line-number="9"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb333-10" data-line-number="10"><span class="fu">\stoptext</span></a></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb316"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb316-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb334"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb334-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is <em>emphasis</em>.</p> @@ -4368,31 +4691,31 @@ multiple paragraphs</li> <p>The <code>\markdownRendererStrongEmphasis</code> macro represents a strongly emphasized span of text. The macro receives a single argument that corresponds to the emphasized span of text.</p> <h4 id="block-quote-renderers"><span class="header-section-number">2.3.1.14</span> Block Quote Renderers</h4> <p>The <code>\markdownRendererBlockQuoteBegin</code> macro represents the beginning of a block quote. The macro receives no arguments.</p> -<h5 id="plain-tex-example-22" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> +<h5 id="plain-tex-example-23" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb317"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb317-1" data-line-number="1"><span class="fu">\input</span> markdown</a> -<a class="sourceLine" id="cb317-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererBlockQuoteBegin{<span class="co">%</span></a> -<a class="sourceLine" id="cb317-3" data-line-number="3"> \begingroup</a> -<a class="sourceLine" id="cb317-4" data-line-number="4"> \vskip\parindent</a> -<a class="sourceLine" id="cb317-5" data-line-number="5"> \leftskip=2\parindent</a> -<a class="sourceLine" id="cb317-6" data-line-number="6"> \parindent=0pt</a> -<a class="sourceLine" id="cb317-7" data-line-number="7">}</a> -<a class="sourceLine" id="cb317-8" data-line-number="8"><span class="fu">\def</span>\markdownRendererBlockQuoteEnd{<span class="co">%</span></a> -<a class="sourceLine" id="cb317-9" data-line-number="9"> \par</a> -<a class="sourceLine" id="cb317-10" data-line-number="10"> \vskip\parindent</a> -<a class="sourceLine" id="cb317-11" data-line-number="11"> \endgroup</a> -<a class="sourceLine" id="cb317-12" data-line-number="12">}</a> -<a class="sourceLine" id="cb317-13" data-line-number="13"><span class="fu">\markdownBegin</span></a> -<a class="sourceLine" id="cb317-14" data-line-number="14">A quote from William Shakespeare's King Lear:</a> -<a class="sourceLine" id="cb317-15" data-line-number="15"></a> -<a class="sourceLine" id="cb317-16" data-line-number="16">> This is the excellent foppery of the world that when we are</a> -<a class="sourceLine" id="cb317-17" data-line-number="17">> sick in fortune---often the surfeit of our own behavior---we</a> -<a class="sourceLine" id="cb317-18" data-line-number="18">> make guilty of our disasters the sun, the moon, and the</a> -<a class="sourceLine" id="cb317-19" data-line-number="19">> stars [...]</a> -<a class="sourceLine" id="cb317-20" data-line-number="20"><span class="fu">\markdownEnd</span></a> -<a class="sourceLine" id="cb317-21" data-line-number="21"><span class="fu">\bye</span></a></code></pre></div> +<div class="sourceCode" id="cb335"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb335-1" data-line-number="1"><span class="fu">\input</span> markdown</a> +<a class="sourceLine" id="cb335-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererBlockQuoteBegin{<span class="co">%</span></a> +<a class="sourceLine" id="cb335-3" data-line-number="3"> \begingroup</a> +<a class="sourceLine" id="cb335-4" data-line-number="4"> \vskip\parindent</a> +<a class="sourceLine" id="cb335-5" data-line-number="5"> \leftskip=2\parindent</a> +<a class="sourceLine" id="cb335-6" data-line-number="6"> \parindent=0pt</a> +<a class="sourceLine" id="cb335-7" data-line-number="7">}</a> +<a class="sourceLine" id="cb335-8" data-line-number="8"><span class="fu">\def</span>\markdownRendererBlockQuoteEnd{<span class="co">%</span></a> +<a class="sourceLine" id="cb335-9" data-line-number="9"> \par</a> +<a class="sourceLine" id="cb335-10" data-line-number="10"> \vskip\parindent</a> +<a class="sourceLine" id="cb335-11" data-line-number="11"> \endgroup</a> +<a class="sourceLine" id="cb335-12" data-line-number="12">}</a> +<a class="sourceLine" id="cb335-13" data-line-number="13"><span class="fu">\markdownBegin</span></a> +<a class="sourceLine" id="cb335-14" data-line-number="14">A quote from William Shakespeare's King Lear:</a> +<a class="sourceLine" id="cb335-15" data-line-number="15"></a> +<a class="sourceLine" id="cb335-16" data-line-number="16">> This is the excellent foppery of the world that when we are</a> +<a class="sourceLine" id="cb335-17" data-line-number="17">> sick in fortune---often the surfeit of our own behavior---we</a> +<a class="sourceLine" id="cb335-18" data-line-number="18">> make guilty of our disasters the sun, the moon, and the</a> +<a class="sourceLine" id="cb335-19" data-line-number="19">> stars [...]</a> +<a class="sourceLine" id="cb335-20" data-line-number="20"><span class="fu">\markdownEnd</span></a> +<a class="sourceLine" id="cb335-21" data-line-number="21"><span class="fu">\bye</span></a></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb318"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb318-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb336"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb336-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>A quote from William Shakespeare’s King Lear:</p> @@ -4400,28 +4723,28 @@ multiple paragraphs</li> <p>This is the excellent foppery of the world that when we are sick in fortune—often the surfeit of our own behavior—we make guilty of our disasters the sun, the moon, and the stars […]</p> </blockquote> </blockquote> -<h5 id="latex-example-35" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<h5 id="latex-example-38" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb319"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb319-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> -<a class="sourceLine" id="cb319-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb319-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a> -<a class="sourceLine" id="cb319-4" data-line-number="4"> renderers = {</a> -<a class="sourceLine" id="cb319-5" data-line-number="5"> blockQuoteBegin = {<span class="kw">\begin</span>{<span class="ex">quote</span>}},</a> -<a class="sourceLine" id="cb319-6" data-line-number="6"> blockQuoteEnd = {<span class="kw">\end</span>{<span class="ex">quote</span>}},</a> -<a class="sourceLine" id="cb319-7" data-line-number="7"> },</a> -<a class="sourceLine" id="cb319-8" data-line-number="8">}</a> -<a class="sourceLine" id="cb319-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb319-10" data-line-number="10"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb319-11" data-line-number="11">A quote from William Shakespeare's King Lear:</a> -<a class="sourceLine" id="cb319-12" data-line-number="12"></a> -<a class="sourceLine" id="cb319-13" data-line-number="13">> This is the excellent foppery of the world that when we are</a> -<a class="sourceLine" id="cb319-14" data-line-number="14">> sick in fortune---often the surfeit of our own behavior---we</a> -<a class="sourceLine" id="cb319-15" data-line-number="15">> make guilty of our disasters the sun, the moon, and the</a> -<a class="sourceLine" id="cb319-16" data-line-number="16">> stars [...]</a> -<a class="sourceLine" id="cb319-17" data-line-number="17"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb319-18" data-line-number="18"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<div class="sourceCode" id="cb337"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb337-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb337-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb337-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a> +<a class="sourceLine" id="cb337-4" data-line-number="4"> renderers = {</a> +<a class="sourceLine" id="cb337-5" data-line-number="5"> blockQuoteBegin = {<span class="kw">\begin</span>{<span class="ex">quote</span>}},</a> +<a class="sourceLine" id="cb337-6" data-line-number="6"> blockQuoteEnd = {<span class="kw">\end</span>{<span class="ex">quote</span>}},</a> +<a class="sourceLine" id="cb337-7" data-line-number="7"> },</a> +<a class="sourceLine" id="cb337-8" data-line-number="8">}</a> +<a class="sourceLine" id="cb337-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb337-10" data-line-number="10"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb337-11" data-line-number="11">A quote from William Shakespeare's King Lear:</a> +<a class="sourceLine" id="cb337-12" data-line-number="12"></a> +<a class="sourceLine" id="cb337-13" data-line-number="13">> This is the excellent foppery of the world that when we are</a> +<a class="sourceLine" id="cb337-14" data-line-number="14">> sick in fortune---often the surfeit of our own behavior---we</a> +<a class="sourceLine" id="cb337-15" data-line-number="15">> make guilty of our disasters the sun, the moon, and the</a> +<a class="sourceLine" id="cb337-16" data-line-number="16">> stars [...]</a> +<a class="sourceLine" id="cb337-17" data-line-number="17"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb337-18" data-line-number="18"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb320"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb320-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb338"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb338-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>A quote from William Shakespeare’s King Lear:</p> @@ -4429,23 +4752,23 @@ multiple paragraphs</li> <p>This is the excellent foppery of the world that when we are sick in fortune—often the surfeit of our own behavior—we make guilty of our disasters the sun, the moon, and the stars […]</p> </blockquote> </blockquote> -<h5 id="context-example-30" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> +<h5 id="context-example-33" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb321"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb321-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> -<a class="sourceLine" id="cb321-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererBlockQuoteBegin{\startquotation}</a> -<a class="sourceLine" id="cb321-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererBlockQuoteEnd{\stopquotation}</a> -<a class="sourceLine" id="cb321-4" data-line-number="4"><span class="fu">\starttext</span></a> -<a class="sourceLine" id="cb321-5" data-line-number="5"><span class="fu">\startmarkdown</span></a> -<a class="sourceLine" id="cb321-6" data-line-number="6">A quote from William Shakespeare's King Lear:</a> -<a class="sourceLine" id="cb321-7" data-line-number="7"></a> -<a class="sourceLine" id="cb321-8" data-line-number="8">> This is the excellent foppery of the world that when we are</a> -<a class="sourceLine" id="cb321-9" data-line-number="9">> sick in fortune---often the surfeit of our own behavior---we</a> -<a class="sourceLine" id="cb321-10" data-line-number="10">> make guilty of our disasters the sun, the moon, and the</a> -<a class="sourceLine" id="cb321-11" data-line-number="11">> stars [...]</a> -<a class="sourceLine" id="cb321-12" data-line-number="12"><span class="fu">\stopmarkdown</span></a> -<a class="sourceLine" id="cb321-13" data-line-number="13"><span class="fu">\stoptext</span></a></code></pre></div> +<div class="sourceCode" id="cb339"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb339-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> +<a class="sourceLine" id="cb339-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererBlockQuoteBegin{\startquotation}</a> +<a class="sourceLine" id="cb339-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererBlockQuoteEnd{\stopquotation}</a> +<a class="sourceLine" id="cb339-4" data-line-number="4"><span class="fu">\starttext</span></a> +<a class="sourceLine" id="cb339-5" data-line-number="5"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb339-6" data-line-number="6">A quote from William Shakespeare's King Lear:</a> +<a class="sourceLine" id="cb339-7" data-line-number="7"></a> +<a class="sourceLine" id="cb339-8" data-line-number="8">> This is the excellent foppery of the world that when we are</a> +<a class="sourceLine" id="cb339-9" data-line-number="9">> sick in fortune---often the surfeit of our own behavior---we</a> +<a class="sourceLine" id="cb339-10" data-line-number="10">> make guilty of our disasters the sun, the moon, and the</a> +<a class="sourceLine" id="cb339-11" data-line-number="11">> stars [...]</a> +<a class="sourceLine" id="cb339-12" data-line-number="12"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb339-13" data-line-number="13"><span class="fu">\stoptext</span></a></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb322"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb322-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb340"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb340-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>A quote from William Shakespeare’s King Lear:</p> @@ -4457,73 +4780,73 @@ multiple paragraphs</li> <h4 id="code-block-renderers"><span class="header-section-number">2.3.1.15</span> Code Block Renderers</h4> <p>The <code>\markdownRendererInputVerbatim</code> macro represents a code block. The macro receives a single argument that corresponds to the filename of a file contaning the code block contents.</p> <p>The <code>\markdownRendererInputFencedCode</code> macro represents a fenced code block. This macro will only be produced, when the <strong><code>fencedCode</code></strong> option is <code>true</code>. The macro receives two arguments that correspond to the filename of a file contaning the code block contents and to the code fence infostring.</p> -<h5 id="latex-example-36" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<h5 id="latex-example-39" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb323"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb323-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> -<a class="sourceLine" id="cb323-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">verbatim</span>}</a> -<a class="sourceLine" id="cb323-3" data-line-number="3"><span class="bu">\usepackage</span>[hyphens]{<span class="ex">url</span>}</a> -<a class="sourceLine" id="cb323-4" data-line-number="4"><span class="bu">\usepackage</span>[fencedCode]{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb323-5" data-line-number="5"><span class="fu">\markdownSetup</span>{</a> -<a class="sourceLine" id="cb323-6" data-line-number="6"> renderers = {</a> -<a class="sourceLine" id="cb323-7" data-line-number="7"> interblockSeparator = {</a> -<a class="sourceLine" id="cb323-8" data-line-number="8"> <span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a> -<a class="sourceLine" id="cb323-9" data-line-number="9"> \par</a> -<a class="sourceLine" id="cb323-10" data-line-number="10"> \def\markdownRendererInterblockSeparator{<span class="co">%</span></a> -<a class="sourceLine" id="cb323-11" data-line-number="11"> \def\markdownRendererInterblockSeparator{<span class="co">%</span></a> -<a class="sourceLine" id="cb323-12" data-line-number="12"> \par</a> -<a class="sourceLine" id="cb323-13" data-line-number="13"> }<span class="co">%</span></a> -<a class="sourceLine" id="cb323-14" data-line-number="14"> }<span class="co">%</span></a> -<a class="sourceLine" id="cb323-15" data-line-number="15"> }<span class="co">%</span></a> -<a class="sourceLine" id="cb323-16" data-line-number="16"> },</a> -<a class="sourceLine" id="cb323-17" data-line-number="17"> inputVerbatim = {</a> -<a class="sourceLine" id="cb323-18" data-line-number="18"> is contained in file <span class="fu">\url</span>{#1}:<span class="co">%</span></a> -<a class="sourceLine" id="cb323-19" data-line-number="19"> <span class="fu">\verbatiminput</span>{#1}<span class="co">%</span></a> -<a class="sourceLine" id="cb323-20" data-line-number="20"> },</a> -<a class="sourceLine" id="cb323-21" data-line-number="21"> inputFencedCode = {</a> -<a class="sourceLine" id="cb323-22" data-line-number="22"> in #2 <span class="fu">\markdownRendererInputVerbatim</span>{#1}<span class="co">%</span></a> -<a class="sourceLine" id="cb323-23" data-line-number="23"> },</a> -<a class="sourceLine" id="cb323-24" data-line-number="24"> },</a> -<a class="sourceLine" id="cb323-25" data-line-number="25">}</a> -<a class="sourceLine" id="cb323-26" data-line-number="26"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb323-27" data-line-number="27"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb323-28" data-line-number="28">The following code</a> -<a class="sourceLine" id="cb323-29" data-line-number="29"></a> -<a class="sourceLine" id="cb323-30" data-line-number="30"> def foo(bar):</a> -<a class="sourceLine" id="cb323-31" data-line-number="31"> if len(bar) <= 1:</a> -<a class="sourceLine" id="cb323-32" data-line-number="32"> return bar[0]</a> -<a class="sourceLine" id="cb323-33" data-line-number="33"> elif len(bar) == 2:</a> -<a class="sourceLine" id="cb323-34" data-line-number="34"> return sorted(bar)</a> -<a class="sourceLine" id="cb323-35" data-line-number="35"> else:</a> -<a class="sourceLine" id="cb323-36" data-line-number="36"> baz = len(bar) // 2</a> -<a class="sourceLine" id="cb323-37" data-line-number="37"> return foo(bar[baz:], bar[:baz])</a> -<a class="sourceLine" id="cb323-38" data-line-number="38"></a> -<a class="sourceLine" id="cb323-39" data-line-number="39">The following code</a> -<a class="sourceLine" id="cb323-40" data-line-number="40"></a> -<a class="sourceLine" id="cb323-41" data-line-number="41">~~~ Python</a> -<a class="sourceLine" id="cb323-42" data-line-number="42">>>> foo([4, 2, 1, 3])</a> -<a class="sourceLine" id="cb323-43" data-line-number="43">[1, 2, 3, 4]</a> -<a class="sourceLine" id="cb323-44" data-line-number="44">~~~~~~~~~~</a> -<a class="sourceLine" id="cb323-45" data-line-number="45"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb323-46" data-line-number="46"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb324"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb324-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb341"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb341-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb341-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">verbatim</span>}</a> +<a class="sourceLine" id="cb341-3" data-line-number="3"><span class="bu">\usepackage</span>[hyphens]{<span class="ex">url</span>}</a> +<a class="sourceLine" id="cb341-4" data-line-number="4"><span class="bu">\usepackage</span>[fencedCode]{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb341-5" data-line-number="5"><span class="fu">\markdownSetup</span>{</a> +<a class="sourceLine" id="cb341-6" data-line-number="6"> renderers = {</a> +<a class="sourceLine" id="cb341-7" data-line-number="7"> interblockSeparator = {</a> +<a class="sourceLine" id="cb341-8" data-line-number="8"> <span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a> +<a class="sourceLine" id="cb341-9" data-line-number="9"> \par</a> +<a class="sourceLine" id="cb341-10" data-line-number="10"> \def\markdownRendererInterblockSeparator{<span class="co">%</span></a> +<a class="sourceLine" id="cb341-11" data-line-number="11"> \def\markdownRendererInterblockSeparator{<span class="co">%</span></a> +<a class="sourceLine" id="cb341-12" data-line-number="12"> \par</a> +<a class="sourceLine" id="cb341-13" data-line-number="13"> }<span class="co">%</span></a> +<a class="sourceLine" id="cb341-14" data-line-number="14"> }<span class="co">%</span></a> +<a class="sourceLine" id="cb341-15" data-line-number="15"> }<span class="co">%</span></a> +<a class="sourceLine" id="cb341-16" data-line-number="16"> },</a> +<a class="sourceLine" id="cb341-17" data-line-number="17"> inputVerbatim = {</a> +<a class="sourceLine" id="cb341-18" data-line-number="18"> is contained in file <span class="fu">\url</span>{#1}:<span class="co">%</span></a> +<a class="sourceLine" id="cb341-19" data-line-number="19"> <span class="fu">\verbatiminput</span>{#1}<span class="co">%</span></a> +<a class="sourceLine" id="cb341-20" data-line-number="20"> },</a> +<a class="sourceLine" id="cb341-21" data-line-number="21"> inputFencedCode = {</a> +<a class="sourceLine" id="cb341-22" data-line-number="22"> in #2 <span class="fu">\markdownRendererInputVerbatim</span>{#1}<span class="co">%</span></a> +<a class="sourceLine" id="cb341-23" data-line-number="23"> },</a> +<a class="sourceLine" id="cb341-24" data-line-number="24"> },</a> +<a class="sourceLine" id="cb341-25" data-line-number="25">}</a> +<a class="sourceLine" id="cb341-26" data-line-number="26"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb341-27" data-line-number="27"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb341-28" data-line-number="28">The following code</a> +<a class="sourceLine" id="cb341-29" data-line-number="29"></a> +<a class="sourceLine" id="cb341-30" data-line-number="30"> def foo(bar):</a> +<a class="sourceLine" id="cb341-31" data-line-number="31"> if len(bar) <= 1:</a> +<a class="sourceLine" id="cb341-32" data-line-number="32"> return bar[0]</a> +<a class="sourceLine" id="cb341-33" data-line-number="33"> elif len(bar) == 2:</a> +<a class="sourceLine" id="cb341-34" data-line-number="34"> return sorted(bar)</a> +<a class="sourceLine" id="cb341-35" data-line-number="35"> else:</a> +<a class="sourceLine" id="cb341-36" data-line-number="36"> baz = len(bar) // 2</a> +<a class="sourceLine" id="cb341-37" data-line-number="37"> return foo(bar[baz:], bar[:baz])</a> +<a class="sourceLine" id="cb341-38" data-line-number="38"></a> +<a class="sourceLine" id="cb341-39" data-line-number="39">The following code</a> +<a class="sourceLine" id="cb341-40" data-line-number="40"></a> +<a class="sourceLine" id="cb341-41" data-line-number="41">~~~ Python</a> +<a class="sourceLine" id="cb341-42" data-line-number="42">>>> foo([4, 2, 1, 3])</a> +<a class="sourceLine" id="cb341-43" data-line-number="43">[1, 2, 3, 4]</a> +<a class="sourceLine" id="cb341-44" data-line-number="44">~~~~~~~~~~</a> +<a class="sourceLine" id="cb341-45" data-line-number="45"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb341-46" data-line-number="46"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb342"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb342-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text except for the filename, which may differ:</p> <blockquote> <p>The following code is contained in file <code>./_markdown_document/882453149edcf288976647f6fe147ada.verbatim</code>:</p> -<div class="sourceCode" id="cb325"><pre class="sourceCode py"><code class="sourceCode python"><a class="sourceLine" id="cb325-1" data-line-number="1"><span class="kw">def</span> foo(bar):</a> -<a class="sourceLine" id="cb325-2" data-line-number="2"> <span class="cf">if</span> <span class="bu">len</span>(bar) <span class="op"><=</span> <span class="dv">1</span>:</a> -<a class="sourceLine" id="cb325-3" data-line-number="3"> <span class="cf">return</span> bar[:<span class="dv">1</span>]</a> -<a class="sourceLine" id="cb325-4" data-line-number="4"> <span class="cf">elif</span> <span class="bu">len</span>(bar) <span class="op">==</span> <span class="dv">2</span>:</a> -<a class="sourceLine" id="cb325-5" data-line-number="5"> <span class="cf">return</span> <span class="bu">sorted</span>(bar)</a> -<a class="sourceLine" id="cb325-6" data-line-number="6"> <span class="cf">else</span>:</a> -<a class="sourceLine" id="cb325-7" data-line-number="7"> baz <span class="op">=</span> bar[<span class="bu">len</span>(bar) <span class="op">//</span> <span class="dv">2</span>]</a> -<a class="sourceLine" id="cb325-8" data-line-number="8"> <span class="cf">return</span> (</a> -<a class="sourceLine" id="cb325-9" data-line-number="9"> foo([qux <span class="cf">for</span> qux <span class="kw">in</span> bar <span class="cf">if</span> qux <span class="op"><</span> baz]) <span class="op">+</span> [baz] <span class="op">+</span></a> -<a class="sourceLine" id="cb325-10" data-line-number="10"> foo([qux <span class="cf">for</span> qux <span class="kw">in</span> bar <span class="cf">if</span> qux <span class="op">></span> baz])</a> -<a class="sourceLine" id="cb325-11" data-line-number="11"> )</a></code></pre></div> +<div class="sourceCode" id="cb343"><pre class="sourceCode py"><code class="sourceCode python"><a class="sourceLine" id="cb343-1" data-line-number="1"><span class="kw">def</span> foo(bar):</a> +<a class="sourceLine" id="cb343-2" data-line-number="2"> <span class="cf">if</span> <span class="bu">len</span>(bar) <span class="op"><=</span> <span class="dv">1</span>:</a> +<a class="sourceLine" id="cb343-3" data-line-number="3"> <span class="cf">return</span> bar[:<span class="dv">1</span>]</a> +<a class="sourceLine" id="cb343-4" data-line-number="4"> <span class="cf">elif</span> <span class="bu">len</span>(bar) <span class="op">==</span> <span class="dv">2</span>:</a> +<a class="sourceLine" id="cb343-5" data-line-number="5"> <span class="cf">return</span> <span class="bu">sorted</span>(bar)</a> +<a class="sourceLine" id="cb343-6" data-line-number="6"> <span class="cf">else</span>:</a> +<a class="sourceLine" id="cb343-7" data-line-number="7"> baz <span class="op">=</span> bar[<span class="bu">len</span>(bar) <span class="op">//</span> <span class="dv">2</span>]</a> +<a class="sourceLine" id="cb343-8" data-line-number="8"> <span class="cf">return</span> (</a> +<a class="sourceLine" id="cb343-9" data-line-number="9"> foo([qux <span class="cf">for</span> qux <span class="kw">in</span> bar <span class="cf">if</span> qux <span class="op"><</span> baz]) <span class="op">+</span> [baz] <span class="op">+</span></a> +<a class="sourceLine" id="cb343-10" data-line-number="10"> foo([qux <span class="cf">for</span> qux <span class="kw">in</span> bar <span class="cf">if</span> qux <span class="op">></span> baz])</a> +<a class="sourceLine" id="cb343-11" data-line-number="11"> )</a></code></pre></div> <p>The following code in Python contained in file <code>./_markdown_document/cf2a96e2120cef5b1fae5fea36fcc27b.verbatim</code>:</p> -<div class="sourceCode" id="cb326"><pre class="sourceCode py"><code class="sourceCode python"><a class="sourceLine" id="cb326-1" data-line-number="1"><span class="op">>>></span> foo([<span class="dv">4</span>, <span class="dv">2</span>, <span class="dv">1</span>, <span class="dv">3</span>])</a> -<a class="sourceLine" id="cb326-2" data-line-number="2">[<span class="dv">1</span>, <span class="dv">2</span>, <span class="dv">3</span>, <span class="dv">4</span>]</a></code></pre></div> +<div class="sourceCode" id="cb344"><pre class="sourceCode py"><code class="sourceCode python"><a class="sourceLine" id="cb344-1" data-line-number="1"><span class="op">>>></span> foo([<span class="dv">4</span>, <span class="dv">2</span>, <span class="dv">1</span>, <span class="dv">3</span>])</a> +<a class="sourceLine" id="cb344-2" data-line-number="2">[<span class="dv">1</span>, <span class="dv">2</span>, <span class="dv">3</span>, <span class="dv">4</span>]</a></code></pre></div> </blockquote> <h4 id="heading-renderers"><span class="header-section-number">2.3.1.16</span> Heading Renderers</h4> <p>The <code>\markdownRendererHeadingOne</code> macro represents a first level heading. The macro receives a single argument that corresponds to the heading text.</p> @@ -4532,148 +4855,148 @@ multiple paragraphs</li> <p>The <code>\markdownRendererHeadingFour</code> macro represents a fourth level heading. The macro receives a single argument that corresponds to the heading text.</p> <p>The <code>\markdownRendererHeadingFive</code> macro represents a fifth level heading. The macro receives a single argument that corresponds to the heading text.</p> <p>The <code>\markdownRendererHeadingSix</code> macro represents a sixth level heading. The macro receives a single argument that corresponds to the heading text.</p> -<h5 id="plain-tex-example-23" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> +<h5 id="plain-tex-example-24" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb327"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb327-1" data-line-number="1"><span class="fu">\input</span> markdown</a> -<a class="sourceLine" id="cb327-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererInterblockSeparator{}</a> -<a class="sourceLine" id="cb327-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererHeadingOne{1}</a> -<a class="sourceLine" id="cb327-4" data-line-number="4"><span class="fu">\def</span>\markdownRendererHeadingTwo{2}</a> -<a class="sourceLine" id="cb327-5" data-line-number="5"><span class="fu">\def</span>\markdownRendererHeadingThree{3}</a> -<a class="sourceLine" id="cb327-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererHeadingFour{4}</a> -<a class="sourceLine" id="cb327-7" data-line-number="7"><span class="fu">\def</span>\markdownRendererHeadingFive{5}</a> -<a class="sourceLine" id="cb327-8" data-line-number="8"><span class="fu">\def</span>\markdownRendererHeadingSix{6}</a> -<a class="sourceLine" id="cb327-9" data-line-number="9"><span class="fu">\markdownBegin</span></a> -<a class="sourceLine" id="cb327-10" data-line-number="10">######</a> -<a class="sourceLine" id="cb327-11" data-line-number="11">#####</a> -<a class="sourceLine" id="cb327-12" data-line-number="12">#####</a> -<a class="sourceLine" id="cb327-13" data-line-number="13">###</a> -<a class="sourceLine" id="cb327-14" data-line-number="14">######</a> -<a class="sourceLine" id="cb327-15" data-line-number="15"><span class="fu">\markdownEnd</span></a> -<a class="sourceLine" id="cb327-16" data-line-number="16"><span class="fu">\bye</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb328"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb328-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb345"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb345-1" data-line-number="1"><span class="fu">\input</span> markdown</a> +<a class="sourceLine" id="cb345-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererInterblockSeparator{}</a> +<a class="sourceLine" id="cb345-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererHeadingOne{1}</a> +<a class="sourceLine" id="cb345-4" data-line-number="4"><span class="fu">\def</span>\markdownRendererHeadingTwo{2}</a> +<a class="sourceLine" id="cb345-5" data-line-number="5"><span class="fu">\def</span>\markdownRendererHeadingThree{3}</a> +<a class="sourceLine" id="cb345-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererHeadingFour{4}</a> +<a class="sourceLine" id="cb345-7" data-line-number="7"><span class="fu">\def</span>\markdownRendererHeadingFive{5}</a> +<a class="sourceLine" id="cb345-8" data-line-number="8"><span class="fu">\def</span>\markdownRendererHeadingSix{6}</a> +<a class="sourceLine" id="cb345-9" data-line-number="9"><span class="fu">\markdownBegin</span></a> +<a class="sourceLine" id="cb345-10" data-line-number="10">######</a> +<a class="sourceLine" id="cb345-11" data-line-number="11">#####</a> +<a class="sourceLine" id="cb345-12" data-line-number="12">#####</a> +<a class="sourceLine" id="cb345-13" data-line-number="13">###</a> +<a class="sourceLine" id="cb345-14" data-line-number="14">######</a> +<a class="sourceLine" id="cb345-15" data-line-number="15"><span class="fu">\markdownEnd</span></a> +<a class="sourceLine" id="cb345-16" data-line-number="16"><span class="fu">\bye</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb346"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb346-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>65536</p> </blockquote> -<h5 id="latex-example-37" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<h5 id="latex-example-40" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb329"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb329-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> -<a class="sourceLine" id="cb329-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb329-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a> -<a class="sourceLine" id="cb329-4" data-line-number="4"> renderers = {</a> -<a class="sourceLine" id="cb329-5" data-line-number="5"> interblockSeparator = {},</a> -<a class="sourceLine" id="cb329-6" data-line-number="6"> headingOne = 1,</a> -<a class="sourceLine" id="cb329-7" data-line-number="7"> headingTwo = 2,</a> -<a class="sourceLine" id="cb329-8" data-line-number="8"> headingThree = 3,</a> -<a class="sourceLine" id="cb329-9" data-line-number="9"> headingFour = 4,</a> -<a class="sourceLine" id="cb329-10" data-line-number="10"> headingFive = 5,</a> -<a class="sourceLine" id="cb329-11" data-line-number="11"> headingSix = 6,</a> -<a class="sourceLine" id="cb329-12" data-line-number="12"> },</a> -<a class="sourceLine" id="cb329-13" data-line-number="13">}</a> -<a class="sourceLine" id="cb329-14" data-line-number="14"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb329-15" data-line-number="15"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb329-16" data-line-number="16">######</a> -<a class="sourceLine" id="cb329-17" data-line-number="17">#####</a> -<a class="sourceLine" id="cb329-18" data-line-number="18">#####</a> -<a class="sourceLine" id="cb329-19" data-line-number="19">###</a> -<a class="sourceLine" id="cb329-20" data-line-number="20">######</a> -<a class="sourceLine" id="cb329-21" data-line-number="21"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb329-22" data-line-number="22"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb330"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb330-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb347"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb347-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb347-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb347-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a> +<a class="sourceLine" id="cb347-4" data-line-number="4"> renderers = {</a> +<a class="sourceLine" id="cb347-5" data-line-number="5"> interblockSeparator = {},</a> +<a class="sourceLine" id="cb347-6" data-line-number="6"> headingOne = 1,</a> +<a class="sourceLine" id="cb347-7" data-line-number="7"> headingTwo = 2,</a> +<a class="sourceLine" id="cb347-8" data-line-number="8"> headingThree = 3,</a> +<a class="sourceLine" id="cb347-9" data-line-number="9"> headingFour = 4,</a> +<a class="sourceLine" id="cb347-10" data-line-number="10"> headingFive = 5,</a> +<a class="sourceLine" id="cb347-11" data-line-number="11"> headingSix = 6,</a> +<a class="sourceLine" id="cb347-12" data-line-number="12"> },</a> +<a class="sourceLine" id="cb347-13" data-line-number="13">}</a> +<a class="sourceLine" id="cb347-14" data-line-number="14"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb347-15" data-line-number="15"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb347-16" data-line-number="16">######</a> +<a class="sourceLine" id="cb347-17" data-line-number="17">#####</a> +<a class="sourceLine" id="cb347-18" data-line-number="18">#####</a> +<a class="sourceLine" id="cb347-19" data-line-number="19">###</a> +<a class="sourceLine" id="cb347-20" data-line-number="20">######</a> +<a class="sourceLine" id="cb347-21" data-line-number="21"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb347-22" data-line-number="22"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb348"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb348-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>65536</p> </blockquote> -<h5 id="context-example-31" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> +<h5 id="context-example-34" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb331"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb331-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> -<a class="sourceLine" id="cb331-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererInterblockSeparator{}</a> -<a class="sourceLine" id="cb331-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererHeadingOne{1}</a> -<a class="sourceLine" id="cb331-4" data-line-number="4"><span class="fu">\def</span>\markdownRendererHeadingTwo{2}</a> -<a class="sourceLine" id="cb331-5" data-line-number="5"><span class="fu">\def</span>\markdownRendererHeadingThree{3}</a> -<a class="sourceLine" id="cb331-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererHeadingFour{4}</a> -<a class="sourceLine" id="cb331-7" data-line-number="7"><span class="fu">\def</span>\markdownRendererHeadingFive{5}</a> -<a class="sourceLine" id="cb331-8" data-line-number="8"><span class="fu">\def</span>\markdownRendererHeadingSix{6}</a> -<a class="sourceLine" id="cb331-9" data-line-number="9"><span class="fu">\starttext</span></a> -<a class="sourceLine" id="cb331-10" data-line-number="10"><span class="fu">\startmarkdown</span></a> -<a class="sourceLine" id="cb331-11" data-line-number="11">######</a> -<a class="sourceLine" id="cb331-12" data-line-number="12">#####</a> -<a class="sourceLine" id="cb331-13" data-line-number="13">#####</a> -<a class="sourceLine" id="cb331-14" data-line-number="14">###</a> -<a class="sourceLine" id="cb331-15" data-line-number="15">######</a> -<a class="sourceLine" id="cb331-16" data-line-number="16"><span class="fu">\stopmarkdown</span></a> -<a class="sourceLine" id="cb331-17" data-line-number="17"><span class="fu">\stoptext</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb332"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb332-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb349"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb349-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> +<a class="sourceLine" id="cb349-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererInterblockSeparator{}</a> +<a class="sourceLine" id="cb349-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererHeadingOne{1}</a> +<a class="sourceLine" id="cb349-4" data-line-number="4"><span class="fu">\def</span>\markdownRendererHeadingTwo{2}</a> +<a class="sourceLine" id="cb349-5" data-line-number="5"><span class="fu">\def</span>\markdownRendererHeadingThree{3}</a> +<a class="sourceLine" id="cb349-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererHeadingFour{4}</a> +<a class="sourceLine" id="cb349-7" data-line-number="7"><span class="fu">\def</span>\markdownRendererHeadingFive{5}</a> +<a class="sourceLine" id="cb349-8" data-line-number="8"><span class="fu">\def</span>\markdownRendererHeadingSix{6}</a> +<a class="sourceLine" id="cb349-9" data-line-number="9"><span class="fu">\starttext</span></a> +<a class="sourceLine" id="cb349-10" data-line-number="10"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb349-11" data-line-number="11">######</a> +<a class="sourceLine" id="cb349-12" data-line-number="12">#####</a> +<a class="sourceLine" id="cb349-13" data-line-number="13">#####</a> +<a class="sourceLine" id="cb349-14" data-line-number="14">###</a> +<a class="sourceLine" id="cb349-15" data-line-number="15">######</a> +<a class="sourceLine" id="cb349-16" data-line-number="16"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb349-17" data-line-number="17"><span class="fu">\stoptext</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb350"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb350-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>65536</p> </blockquote> <h4 id="horizontal-rule-renderer"><span class="header-section-number">2.3.1.17</span> Horizontal Rule Renderer</h4> <p>The <code>\markdownRendererHorizontalRule</code> macro represents a horizontal rule. The macro receives no arguments.</p> -<h5 id="plain-tex-example-24" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> +<h5 id="plain-tex-example-25" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb333"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb333-1" data-line-number="1"><span class="fu">\input</span> markdown</a> -<a class="sourceLine" id="cb333-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererHorizontalRule{\vfil\break}</a> -<a class="sourceLine" id="cb333-3" data-line-number="3"><span class="fu">\markdownBegin</span></a> -<a class="sourceLine" id="cb333-4" data-line-number="4">This is the first page.</a> -<a class="sourceLine" id="cb333-5" data-line-number="5"></a> -<a class="sourceLine" id="cb333-6" data-line-number="6">***</a> -<a class="sourceLine" id="cb333-7" data-line-number="7"></a> -<a class="sourceLine" id="cb333-8" data-line-number="8">This is the second page.</a> -<a class="sourceLine" id="cb333-9" data-line-number="9"><span class="fu">\markdownEnd</span></a> -<a class="sourceLine" id="cb333-10" data-line-number="10"><span class="fu">\bye</span></a></code></pre></div> +<div class="sourceCode" id="cb351"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb351-1" data-line-number="1"><span class="fu">\input</span> markdown</a> +<a class="sourceLine" id="cb351-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererHorizontalRule{\vfil\break}</a> +<a class="sourceLine" id="cb351-3" data-line-number="3"><span class="fu">\markdownBegin</span></a> +<a class="sourceLine" id="cb351-4" data-line-number="4">This is the first page.</a> +<a class="sourceLine" id="cb351-5" data-line-number="5"></a> +<a class="sourceLine" id="cb351-6" data-line-number="6">***</a> +<a class="sourceLine" id="cb351-7" data-line-number="7"></a> +<a class="sourceLine" id="cb351-8" data-line-number="8">This is the second page.</a> +<a class="sourceLine" id="cb351-9" data-line-number="9"><span class="fu">\markdownEnd</span></a> +<a class="sourceLine" id="cb351-10" data-line-number="10"><span class="fu">\bye</span></a></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb334"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb334-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb352"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb352-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is the first page.</p> <hr /> <p>This is the second page.</p> </blockquote> -<h5 id="latex-example-38" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<h5 id="latex-example-41" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb335"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb335-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> -<a class="sourceLine" id="cb335-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb335-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a> -<a class="sourceLine" id="cb335-4" data-line-number="4"> renderers = {</a> -<a class="sourceLine" id="cb335-5" data-line-number="5"> horizontalRule = <span class="fu">\newpage</span>,</a> -<a class="sourceLine" id="cb335-6" data-line-number="6"> },</a> -<a class="sourceLine" id="cb335-7" data-line-number="7">}</a> -<a class="sourceLine" id="cb335-8" data-line-number="8"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb335-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb335-10" data-line-number="10">This is the first page.</a> -<a class="sourceLine" id="cb335-11" data-line-number="11"></a> -<a class="sourceLine" id="cb335-12" data-line-number="12">***</a> -<a class="sourceLine" id="cb335-13" data-line-number="13"></a> -<a class="sourceLine" id="cb335-14" data-line-number="14">This is the second page.</a> -<a class="sourceLine" id="cb335-15" data-line-number="15"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb335-16" data-line-number="16"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb336"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb336-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb353"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb353-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb353-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb353-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a> +<a class="sourceLine" id="cb353-4" data-line-number="4"> renderers = {</a> +<a class="sourceLine" id="cb353-5" data-line-number="5"> horizontalRule = <span class="fu">\newpage</span>,</a> +<a class="sourceLine" id="cb353-6" data-line-number="6"> },</a> +<a class="sourceLine" id="cb353-7" data-line-number="7">}</a> +<a class="sourceLine" id="cb353-8" data-line-number="8"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb353-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb353-10" data-line-number="10">This is the first page.</a> +<a class="sourceLine" id="cb353-11" data-line-number="11"></a> +<a class="sourceLine" id="cb353-12" data-line-number="12">***</a> +<a class="sourceLine" id="cb353-13" data-line-number="13"></a> +<a class="sourceLine" id="cb353-14" data-line-number="14">This is the second page.</a> +<a class="sourceLine" id="cb353-15" data-line-number="15"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb353-16" data-line-number="16"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb354"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb354-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is the first page.</p> <hr /> <p>This is the second page.</p> </blockquote> -<h5 id="context-example-32" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> +<h5 id="context-example-35" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb337"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb337-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> -<a class="sourceLine" id="cb337-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererHorizontalRule{\page[yes]}</a> -<a class="sourceLine" id="cb337-3" data-line-number="3"><span class="fu">\starttext</span></a> -<a class="sourceLine" id="cb337-4" data-line-number="4"><span class="fu">\startmarkdown</span></a> -<a class="sourceLine" id="cb337-5" data-line-number="5">This is the first page.</a> -<a class="sourceLine" id="cb337-6" data-line-number="6"></a> -<a class="sourceLine" id="cb337-7" data-line-number="7">***</a> -<a class="sourceLine" id="cb337-8" data-line-number="8"></a> -<a class="sourceLine" id="cb337-9" data-line-number="9">This is the second page.</a> -<a class="sourceLine" id="cb337-10" data-line-number="10"><span class="fu">\stopmarkdown</span></a> -<a class="sourceLine" id="cb337-11" data-line-number="11"><span class="fu">\stoptext</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb338"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb338-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb355"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb355-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> +<a class="sourceLine" id="cb355-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererHorizontalRule{\page[yes]}</a> +<a class="sourceLine" id="cb355-3" data-line-number="3"><span class="fu">\starttext</span></a> +<a class="sourceLine" id="cb355-4" data-line-number="4"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb355-5" data-line-number="5">This is the first page.</a> +<a class="sourceLine" id="cb355-6" data-line-number="6"></a> +<a class="sourceLine" id="cb355-7" data-line-number="7">***</a> +<a class="sourceLine" id="cb355-8" data-line-number="8"></a> +<a class="sourceLine" id="cb355-9" data-line-number="9">This is the second page.</a> +<a class="sourceLine" id="cb355-10" data-line-number="10"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb355-11" data-line-number="11"><span class="fu">\stoptext</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb356"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb356-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is the first page.</p> @@ -4682,244 +5005,319 @@ multiple paragraphs</li> </blockquote> <h4 id="footnote-renderer"><span class="header-section-number">2.3.1.18</span> Footnote Renderer</h4> <p>The <code>\markdownRendererFootnote</code> macro represents a footnote. This macro will only be produced, when the <strong><code>footnotes</code></strong> option is <code>true</code>. The macro receives a single argument that corresponds to the footnote text.</p> -<h5 id="plain-tex-example-25" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> +<h5 id="plain-tex-example-26" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb339"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb339-1" data-line-number="1"><span class="fu">\input</span> markdown</a> -<a class="sourceLine" id="cb339-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionFootnotes{true}</a> -<a class="sourceLine" id="cb339-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererFootnote#1{ (and \lowercase{#1})}</a> -<a class="sourceLine" id="cb339-4" data-line-number="4"><span class="fu">\markdownBegin</span></a> -<a class="sourceLine" id="cb339-5" data-line-number="5">This is some text[^1] and this is some other text[^2].</a> -<a class="sourceLine" id="cb339-6" data-line-number="6"></a> -<a class="sourceLine" id="cb339-7" data-line-number="7"> [^1]: this is a footnote</a> -<a class="sourceLine" id="cb339-8" data-line-number="8"></a> -<a class="sourceLine" id="cb339-9" data-line-number="9"> [^2]: this is some other footnote</a> -<a class="sourceLine" id="cb339-10" data-line-number="10"><span class="fu">\markdownEnd</span></a> -<a class="sourceLine" id="cb339-11" data-line-number="11"><span class="fu">\bye</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb340"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb340-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb357"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb357-1" data-line-number="1"><span class="fu">\input</span> markdown</a> +<a class="sourceLine" id="cb357-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionFootnotes{true}</a> +<a class="sourceLine" id="cb357-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererFootnote#1{ (and \lowercase{#1})}</a> +<a class="sourceLine" id="cb357-4" data-line-number="4"><span class="fu">\markdownBegin</span></a> +<a class="sourceLine" id="cb357-5" data-line-number="5">This is some text[^1] and this is some other text[^2].</a> +<a class="sourceLine" id="cb357-6" data-line-number="6"></a> +<a class="sourceLine" id="cb357-7" data-line-number="7"> [^1]: this is a footnote</a> +<a class="sourceLine" id="cb357-8" data-line-number="8"></a> +<a class="sourceLine" id="cb357-9" data-line-number="9"> [^2]: this is some other footnote</a> +<a class="sourceLine" id="cb357-10" data-line-number="10"><span class="fu">\markdownEnd</span></a> +<a class="sourceLine" id="cb357-11" data-line-number="11"><span class="fu">\bye</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb358"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb358-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is some text (and this is a footnote) and this is some other text (and this is some other footnote).</p> </blockquote> -<h5 id="latex-example-39" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<h5 id="latex-example-42" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb341"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb341-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> -<a class="sourceLine" id="cb341-2" data-line-number="2"><span class="bu">\usepackage</span>[footnotes]{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb341-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a> -<a class="sourceLine" id="cb341-4" data-line-number="4"> renderers = {</a> -<a class="sourceLine" id="cb341-5" data-line-number="5"> footnote = { (and <span class="fu">\MakeLowercase</span>{#1})},</a> -<a class="sourceLine" id="cb341-6" data-line-number="6"> },</a> -<a class="sourceLine" id="cb341-7" data-line-number="7">}</a> -<a class="sourceLine" id="cb341-8" data-line-number="8"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb341-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb341-10" data-line-number="10">This is some text[^1] and this is some other text[^2].</a> -<a class="sourceLine" id="cb341-11" data-line-number="11"></a> -<a class="sourceLine" id="cb341-12" data-line-number="12"> [^1]: this is a footnote</a> -<a class="sourceLine" id="cb341-13" data-line-number="13"></a> -<a class="sourceLine" id="cb341-14" data-line-number="14"> [^2]: this is some other footnote</a> -<a class="sourceLine" id="cb341-15" data-line-number="15"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb341-16" data-line-number="16"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<div class="sourceCode" id="cb359"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb359-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb359-2" data-line-number="2"><span class="bu">\usepackage</span>[footnotes]{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb359-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a> +<a class="sourceLine" id="cb359-4" data-line-number="4"> renderers = {</a> +<a class="sourceLine" id="cb359-5" data-line-number="5"> footnote = { (and <span class="fu">\MakeLowercase</span>{#1})},</a> +<a class="sourceLine" id="cb359-6" data-line-number="6"> },</a> +<a class="sourceLine" id="cb359-7" data-line-number="7">}</a> +<a class="sourceLine" id="cb359-8" data-line-number="8"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb359-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb359-10" data-line-number="10">This is some text[^1] and this is some other text[^2].</a> +<a class="sourceLine" id="cb359-11" data-line-number="11"></a> +<a class="sourceLine" id="cb359-12" data-line-number="12"> [^1]: this is a footnote</a> +<a class="sourceLine" id="cb359-13" data-line-number="13"></a> +<a class="sourceLine" id="cb359-14" data-line-number="14"> [^2]: this is some other footnote</a> +<a class="sourceLine" id="cb359-15" data-line-number="15"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb359-16" data-line-number="16"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb342"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb342-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb360"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb360-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is some text (and this is a footnote) and this is some other text (and this is some other footnote).</p> </blockquote> -<h5 id="context-example-33" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> +<h5 id="context-example-36" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb343"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb343-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> -<a class="sourceLine" id="cb343-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionFootnotes{true}</a> -<a class="sourceLine" id="cb343-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererFootnote#1{ (and \lowercase{#1})}</a> -<a class="sourceLine" id="cb343-4" data-line-number="4"><span class="fu">\starttext</span></a> -<a class="sourceLine" id="cb343-5" data-line-number="5"><span class="fu">\startmarkdown</span></a> -<a class="sourceLine" id="cb343-6" data-line-number="6">This is some text[^1] and this is some other text[^2].</a> -<a class="sourceLine" id="cb343-7" data-line-number="7"></a> -<a class="sourceLine" id="cb343-8" data-line-number="8"> [^1]: this is a footnote</a> -<a class="sourceLine" id="cb343-9" data-line-number="9"></a> -<a class="sourceLine" id="cb343-10" data-line-number="10"> [^2]: this is some other footnote</a> -<a class="sourceLine" id="cb343-11" data-line-number="11"><span class="fu">\stopmarkdown</span></a> -<a class="sourceLine" id="cb343-12" data-line-number="12"><span class="fu">\stoptext</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb344"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb344-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb361"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb361-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> +<a class="sourceLine" id="cb361-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionFootnotes{true}</a> +<a class="sourceLine" id="cb361-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererFootnote#1{ (and \lowercase{#1})}</a> +<a class="sourceLine" id="cb361-4" data-line-number="4"><span class="fu">\starttext</span></a> +<a class="sourceLine" id="cb361-5" data-line-number="5"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb361-6" data-line-number="6">This is some text[^1] and this is some other text[^2].</a> +<a class="sourceLine" id="cb361-7" data-line-number="7"></a> +<a class="sourceLine" id="cb361-8" data-line-number="8"> [^1]: this is a footnote</a> +<a class="sourceLine" id="cb361-9" data-line-number="9"></a> +<a class="sourceLine" id="cb361-10" data-line-number="10"> [^2]: this is some other footnote</a> +<a class="sourceLine" id="cb361-11" data-line-number="11"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb361-12" data-line-number="12"><span class="fu">\stoptext</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb362"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb362-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is some text (and this is a footnote) and this is some other text (and this is some other footnote).</p> </blockquote> <h4 id="parenthesized-citations-renderer"><span class="header-section-number">2.3.1.19</span> Parenthesized Citations Renderer</h4> <p>The <code>\markdownRendererCite</code> macro represents a string of one or more parenthetical citations. This macro will only be produced, when the <strong><code>citations</code></strong> option is <code>true</code>. The macro receives the parameter <code>{</code>⟨<em>number of citations</em>⟩<code>}</code> followed by <code>{</code>⟨<em>prenote</em>⟩<code>}{</code>⟨<em>postnote</em>⟩<code>}{</code>⟨<em>name</em>⟩<code>}</code> repeated ⟨<em>number of citations</em>⟩ times. The ⟨<em>suppress author</em>⟩ parameter is either the token <code>-</code>, when the author’s name is to be suppressed, or <code>+</code> otherwise.</p> -<h5 id="latex-example-40" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<h5 id="latex-example-43" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb345"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb345-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> -<a class="sourceLine" id="cb345-2" data-line-number="2"><span class="bu">\usepackage</span>[citations]{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb345-3" data-line-number="3"><span class="fu">\newcount\citationsCounter</span></a> -<a class="sourceLine" id="cb345-4" data-line-number="4"><span class="fu">\newcount\citationsTotal</span></a> -<a class="sourceLine" id="cb345-5" data-line-number="5"><span class="fu">\makeatletter</span></a> -<a class="sourceLine" id="cb345-6" data-line-number="6"><span class="fu">\def</span>\citations#1#2#3#4{<span class="co">%</span></a> -<a class="sourceLine" id="cb345-7" data-line-number="7"> a parenthesized citation \emph{#4}</a> -<a class="sourceLine" id="cb345-8" data-line-number="8"> \advance\citationsCounter by 1\relax</a> -<a class="sourceLine" id="cb345-9" data-line-number="9"> \ifx\relax#2\relax</a> -<a class="sourceLine" id="cb345-10" data-line-number="10"> \ifx\relax#3\relax\else</a> -<a class="sourceLine" id="cb345-11" data-line-number="11"> with a postfix \emph{#3}<span class="co">%</span></a> -<a class="sourceLine" id="cb345-12" data-line-number="12"> \fi</a> -<a class="sourceLine" id="cb345-13" data-line-number="13"> \else</a> -<a class="sourceLine" id="cb345-14" data-line-number="14"> with a prefix \emph{#2}<span class="co">%</span></a> -<a class="sourceLine" id="cb345-15" data-line-number="15"> \ifx\relax#3\relax\else</a> -<a class="sourceLine" id="cb345-16" data-line-number="16"> \ and a postfix \emph{#3}<span class="co">%</span></a> -<a class="sourceLine" id="cb345-17" data-line-number="17"> \fi</a> -<a class="sourceLine" id="cb345-18" data-line-number="18"> \fi</a> -<a class="sourceLine" id="cb345-19" data-line-number="19"> \ifnum\citationsCounter>\citationsTotal\relax</a> -<a class="sourceLine" id="cb345-20" data-line-number="20"> .<span class="co">%</span></a> -<a class="sourceLine" id="cb345-21" data-line-number="21"> \expandafter\@gobble</a> -<a class="sourceLine" id="cb345-22" data-line-number="22"> \else</a> -<a class="sourceLine" id="cb345-23" data-line-number="23"> , and</a> -<a class="sourceLine" id="cb345-24" data-line-number="24"> \fi\citations}</a> -<a class="sourceLine" id="cb345-25" data-line-number="25"><span class="fu">\makeatother</span></a> -<a class="sourceLine" id="cb345-26" data-line-number="26"><span class="fu">\markdownSetup</span>{</a> -<a class="sourceLine" id="cb345-27" data-line-number="27"> renderers = {</a> -<a class="sourceLine" id="cb345-28" data-line-number="28"> cite = {<span class="co">%</span></a> -<a class="sourceLine" id="cb345-29" data-line-number="29"> <span class="fu">\citationsCounter</span>=1<span class="co">%</span></a> -<a class="sourceLine" id="cb345-30" data-line-number="30"> <span class="fu">\citationsTotal</span>=#1<span class="co">%</span></a> -<a class="sourceLine" id="cb345-31" data-line-number="31"> This is</a> -<a class="sourceLine" id="cb345-32" data-line-number="32"> <span class="fu">\expandafter\citations</span></a> -<a class="sourceLine" id="cb345-33" data-line-number="33"> },</a> -<a class="sourceLine" id="cb345-34" data-line-number="34"> },</a> -<a class="sourceLine" id="cb345-35" data-line-number="35">}</a> -<a class="sourceLine" id="cb345-36" data-line-number="36"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb345-37" data-line-number="37"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb345-38" data-line-number="38">[see @abrahams90, pp. 12; @eijkhout91, pp. 34]</a> -<a class="sourceLine" id="cb345-39" data-line-number="39"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb345-40" data-line-number="40"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb346"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb346-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb363"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb363-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb363-2" data-line-number="2"><span class="bu">\usepackage</span>[citations]{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb363-3" data-line-number="3"><span class="fu">\newcount\citationsCounter</span></a> +<a class="sourceLine" id="cb363-4" data-line-number="4"><span class="fu">\newcount\citationsTotal</span></a> +<a class="sourceLine" id="cb363-5" data-line-number="5"><span class="fu">\makeatletter</span></a> +<a class="sourceLine" id="cb363-6" data-line-number="6"><span class="fu">\def</span>\citations#1#2#3#4{<span class="co">%</span></a> +<a class="sourceLine" id="cb363-7" data-line-number="7"> a parenthesized citation \emph{#4}</a> +<a class="sourceLine" id="cb363-8" data-line-number="8"> \advance\citationsCounter by 1\relax</a> +<a class="sourceLine" id="cb363-9" data-line-number="9"> \ifx\relax#2\relax</a> +<a class="sourceLine" id="cb363-10" data-line-number="10"> \ifx\relax#3\relax\else</a> +<a class="sourceLine" id="cb363-11" data-line-number="11"> with a postfix \emph{#3}<span class="co">%</span></a> +<a class="sourceLine" id="cb363-12" data-line-number="12"> \fi</a> +<a class="sourceLine" id="cb363-13" data-line-number="13"> \else</a> +<a class="sourceLine" id="cb363-14" data-line-number="14"> with a prefix \emph{#2}<span class="co">%</span></a> +<a class="sourceLine" id="cb363-15" data-line-number="15"> \ifx\relax#3\relax\else</a> +<a class="sourceLine" id="cb363-16" data-line-number="16"> \ and a postfix \emph{#3}<span class="co">%</span></a> +<a class="sourceLine" id="cb363-17" data-line-number="17"> \fi</a> +<a class="sourceLine" id="cb363-18" data-line-number="18"> \fi</a> +<a class="sourceLine" id="cb363-19" data-line-number="19"> \ifnum\citationsCounter>\citationsTotal\relax</a> +<a class="sourceLine" id="cb363-20" data-line-number="20"> .<span class="co">%</span></a> +<a class="sourceLine" id="cb363-21" data-line-number="21"> \expandafter\@gobble</a> +<a class="sourceLine" id="cb363-22" data-line-number="22"> \else</a> +<a class="sourceLine" id="cb363-23" data-line-number="23"> , and</a> +<a class="sourceLine" id="cb363-24" data-line-number="24"> \fi\citations}</a> +<a class="sourceLine" id="cb363-25" data-line-number="25"><span class="fu">\makeatother</span></a> +<a class="sourceLine" id="cb363-26" data-line-number="26"><span class="fu">\markdownSetup</span>{</a> +<a class="sourceLine" id="cb363-27" data-line-number="27"> renderers = {</a> +<a class="sourceLine" id="cb363-28" data-line-number="28"> cite = {<span class="co">%</span></a> +<a class="sourceLine" id="cb363-29" data-line-number="29"> <span class="fu">\citationsCounter</span>=1<span class="co">%</span></a> +<a class="sourceLine" id="cb363-30" data-line-number="30"> <span class="fu">\citationsTotal</span>=#1<span class="co">%</span></a> +<a class="sourceLine" id="cb363-31" data-line-number="31"> This is</a> +<a class="sourceLine" id="cb363-32" data-line-number="32"> <span class="fu">\expandafter\citations</span></a> +<a class="sourceLine" id="cb363-33" data-line-number="33"> },</a> +<a class="sourceLine" id="cb363-34" data-line-number="34"> },</a> +<a class="sourceLine" id="cb363-35" data-line-number="35">}</a> +<a class="sourceLine" id="cb363-36" data-line-number="36"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb363-37" data-line-number="37"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb363-38" data-line-number="38">[see @abrahams90, pp. 12; @eijkhout91, pp. 34]</a> +<a class="sourceLine" id="cb363-39" data-line-number="39"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb363-40" data-line-number="40"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb364"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb364-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is a parenthesized citation <em>abrahams90</em> with a prefix see and a postfix <em>pp. > 12</em>, and a citation <em>eijkhout91</em> with a postfix <em>pp. 34</em>.</p> </blockquote> <h4 id="text-citations-renderer"><span class="header-section-number">2.3.1.20</span> Text Citations Renderer</h4> <p>The <code>\markdownRendererTextCite</code> macro represents a string of one or more text citations. This macro will only be produced, when the <strong><code>citations</code></strong> option is <code>true</code>. The macro receives parameters in the same format as the <code>\markdownRendererCite</code> macro.</p> -<h5 id="latex-example-41" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<h5 id="latex-example-44" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb347"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb347-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> -<a class="sourceLine" id="cb347-2" data-line-number="2"><span class="bu">\usepackage</span>[citations]{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb347-3" data-line-number="3"><span class="fu">\newcount\citationsCounter</span></a> -<a class="sourceLine" id="cb347-4" data-line-number="4"><span class="fu">\newcount\citationsTotal</span></a> -<a class="sourceLine" id="cb347-5" data-line-number="5"><span class="fu">\makeatletter</span></a> -<a class="sourceLine" id="cb347-6" data-line-number="6"><span class="fu">\def</span>\citations#1#2#3#4{<span class="co">%</span></a> -<a class="sourceLine" id="cb347-7" data-line-number="7"> a text citation \emph{#4}</a> -<a class="sourceLine" id="cb347-8" data-line-number="8"> \advance\citationsCounter by 1\relax</a> -<a class="sourceLine" id="cb347-9" data-line-number="9"> \ifx\relax#2\relax</a> -<a class="sourceLine" id="cb347-10" data-line-number="10"> \ifx\relax#3\relax\else</a> -<a class="sourceLine" id="cb347-11" data-line-number="11"> with a postfix \emph{#3}<span class="co">%</span></a> -<a class="sourceLine" id="cb347-12" data-line-number="12"> \fi</a> -<a class="sourceLine" id="cb347-13" data-line-number="13"> \else</a> -<a class="sourceLine" id="cb347-14" data-line-number="14"> with a prefix \emph{#2}<span class="co">%</span></a> -<a class="sourceLine" id="cb347-15" data-line-number="15"> \ifx\relax#3\relax\else</a> -<a class="sourceLine" id="cb347-16" data-line-number="16"> \ and a postfix \emph{#3}<span class="co">%</span></a> -<a class="sourceLine" id="cb347-17" data-line-number="17"> \fi</a> -<a class="sourceLine" id="cb347-18" data-line-number="18"> \fi</a> -<a class="sourceLine" id="cb347-19" data-line-number="19"> \ifnum\citationsCounter>\citationsTotal\relax</a> -<a class="sourceLine" id="cb347-20" data-line-number="20"> .<span class="co">%</span></a> -<a class="sourceLine" id="cb347-21" data-line-number="21"> \expandafter\@gobble</a> -<a class="sourceLine" id="cb347-22" data-line-number="22"> \else</a> -<a class="sourceLine" id="cb347-23" data-line-number="23"> , and</a> -<a class="sourceLine" id="cb347-24" data-line-number="24"> \fi\citations}</a> -<a class="sourceLine" id="cb347-25" data-line-number="25"><span class="fu">\makeatother</span></a> -<a class="sourceLine" id="cb347-26" data-line-number="26"><span class="fu">\markdownSetup</span>{</a> -<a class="sourceLine" id="cb347-27" data-line-number="27"> renderers = {</a> -<a class="sourceLine" id="cb347-28" data-line-number="28"> textCite = {<span class="co">%</span></a> -<a class="sourceLine" id="cb347-29" data-line-number="29"> <span class="fu">\citationsCounter</span>=1<span class="co">%</span></a> -<a class="sourceLine" id="cb347-30" data-line-number="30"> <span class="fu">\citationsTotal</span>=#1<span class="co">%</span></a> -<a class="sourceLine" id="cb347-31" data-line-number="31"> This is</a> -<a class="sourceLine" id="cb347-32" data-line-number="32"> <span class="fu">\expandafter\citations</span></a> -<a class="sourceLine" id="cb347-33" data-line-number="33"> },</a> -<a class="sourceLine" id="cb347-34" data-line-number="34"> },</a> -<a class="sourceLine" id="cb347-35" data-line-number="35">}</a> -<a class="sourceLine" id="cb347-36" data-line-number="36"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb347-37" data-line-number="37"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb347-38" data-line-number="38">@abrahams90 [pp. 12; also @eijkhout91]</a> -<a class="sourceLine" id="cb347-39" data-line-number="39"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb347-40" data-line-number="40"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<div class="sourceCode" id="cb365"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb365-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb365-2" data-line-number="2"><span class="bu">\usepackage</span>[citations]{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb365-3" data-line-number="3"><span class="fu">\newcount\citationsCounter</span></a> +<a class="sourceLine" id="cb365-4" data-line-number="4"><span class="fu">\newcount\citationsTotal</span></a> +<a class="sourceLine" id="cb365-5" data-line-number="5"><span class="fu">\makeatletter</span></a> +<a class="sourceLine" id="cb365-6" data-line-number="6"><span class="fu">\def</span>\citations#1#2#3#4{<span class="co">%</span></a> +<a class="sourceLine" id="cb365-7" data-line-number="7"> a text citation \emph{#4}</a> +<a class="sourceLine" id="cb365-8" data-line-number="8"> \advance\citationsCounter by 1\relax</a> +<a class="sourceLine" id="cb365-9" data-line-number="9"> \ifx\relax#2\relax</a> +<a class="sourceLine" id="cb365-10" data-line-number="10"> \ifx\relax#3\relax\else</a> +<a class="sourceLine" id="cb365-11" data-line-number="11"> with a postfix \emph{#3}<span class="co">%</span></a> +<a class="sourceLine" id="cb365-12" data-line-number="12"> \fi</a> +<a class="sourceLine" id="cb365-13" data-line-number="13"> \else</a> +<a class="sourceLine" id="cb365-14" data-line-number="14"> with a prefix \emph{#2}<span class="co">%</span></a> +<a class="sourceLine" id="cb365-15" data-line-number="15"> \ifx\relax#3\relax\else</a> +<a class="sourceLine" id="cb365-16" data-line-number="16"> \ and a postfix \emph{#3}<span class="co">%</span></a> +<a class="sourceLine" id="cb365-17" data-line-number="17"> \fi</a> +<a class="sourceLine" id="cb365-18" data-line-number="18"> \fi</a> +<a class="sourceLine" id="cb365-19" data-line-number="19"> \ifnum\citationsCounter>\citationsTotal\relax</a> +<a class="sourceLine" id="cb365-20" data-line-number="20"> .<span class="co">%</span></a> +<a class="sourceLine" id="cb365-21" data-line-number="21"> \expandafter\@gobble</a> +<a class="sourceLine" id="cb365-22" data-line-number="22"> \else</a> +<a class="sourceLine" id="cb365-23" data-line-number="23"> , and</a> +<a class="sourceLine" id="cb365-24" data-line-number="24"> \fi\citations}</a> +<a class="sourceLine" id="cb365-25" data-line-number="25"><span class="fu">\makeatother</span></a> +<a class="sourceLine" id="cb365-26" data-line-number="26"><span class="fu">\markdownSetup</span>{</a> +<a class="sourceLine" id="cb365-27" data-line-number="27"> renderers = {</a> +<a class="sourceLine" id="cb365-28" data-line-number="28"> textCite = {<span class="co">%</span></a> +<a class="sourceLine" id="cb365-29" data-line-number="29"> <span class="fu">\citationsCounter</span>=1<span class="co">%</span></a> +<a class="sourceLine" id="cb365-30" data-line-number="30"> <span class="fu">\citationsTotal</span>=#1<span class="co">%</span></a> +<a class="sourceLine" id="cb365-31" data-line-number="31"> This is</a> +<a class="sourceLine" id="cb365-32" data-line-number="32"> <span class="fu">\expandafter\citations</span></a> +<a class="sourceLine" id="cb365-33" data-line-number="33"> },</a> +<a class="sourceLine" id="cb365-34" data-line-number="34"> },</a> +<a class="sourceLine" id="cb365-35" data-line-number="35">}</a> +<a class="sourceLine" id="cb365-36" data-line-number="36"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb365-37" data-line-number="37"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb365-38" data-line-number="38">@abrahams90 [pp. 12; also @eijkhout91]</a> +<a class="sourceLine" id="cb365-39" data-line-number="39"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb365-40" data-line-number="40"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb348"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb348-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb366"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb366-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is a text citation <em>abrahams90</em> with a postfix <em>pp. 12</em>, and a citation <em>eijkhout91</em> with a prefix <em>also</em>.</p> </blockquote> +<h4 id="table-renderer"><span class="header-section-number">2.3.1.21</span> Table Renderer</h4> +<p>The <code>\markdownRendererTable</code> macro represents a table. This macro will only be produced, when the <strong><code>pipeTables</code></strong> option is <code>true</code>. The macro receives the parameters <code>{</code>⟨<em>caption</em>⟩<code>}{</code>⟨<em>number of rows</em>⟩<code>}{</code>⟨<em>number of columns</em>⟩<code>}</code> followed by <code>{</code>⟨<em>alignments</em>⟩<code>}</code> and then by <code>{</code>⟨<em>row</em>⟩<code>}</code> repeated ⟨<em>number of rows</em>⟩ times, where ⟨<em>row</em>⟩ is <code>{</code>⟨<em>column</em>⟩<code>}</code> repeated ⟨<em>number of columns</em>⟩ times, ⟨<em>alignments</em>⟩ is ⟨<em>alignment</em>⟩ repeated ⟨<em>number of columns</em>⟩ times, and ⟨<em>alignment</em>⟩ is one of the following:</p> +<ul> +<li><code>d</code> – The corresponding column has an unspecified (default) alignment.</li> +<li><code>l</code> – The corresponding column is left-aligned.</li> +<li><code>c</code> – The corresponding column is centered.</li> +<li><code>r</code> – The corresponding column is right-aligned.</li> +</ul> +<h5 id="latex-example-45" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> +<div class="sourceCode" id="cb367"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb367-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb367-2" data-line-number="2"><span class="bu">\usepackage</span>[pipeTables, tableCaptions]{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb367-3" data-line-number="3"><span class="fu">\newcount\rowCounter</span></a> +<a class="sourceLine" id="cb367-4" data-line-number="4"><span class="fu">\newcount\columnCounter</span></a> +<a class="sourceLine" id="cb367-5" data-line-number="5"><span class="fu">\makeatletter</span></a> +<a class="sourceLine" id="cb367-6" data-line-number="6"><span class="fu">\def</span>\processRow#1{<span class="co">%</span></a> +<a class="sourceLine" id="cb367-7" data-line-number="7"> \columnCounter=1<span class="co">%</span></a> +<a class="sourceLine" id="cb367-8" data-line-number="8"> \ifnum\rowCounter=0\relax</a> +<a class="sourceLine" id="cb367-9" data-line-number="9"> As for the alignment,</a> +<a class="sourceLine" id="cb367-10" data-line-number="10"> \else</a> +<a class="sourceLine" id="cb367-11" data-line-number="11"> In row \the\rowCounter,</a> +<a class="sourceLine" id="cb367-12" data-line-number="12"> \fi</a> +<a class="sourceLine" id="cb367-13" data-line-number="13"> \processColumn#1</a> +<a class="sourceLine" id="cb367-14" data-line-number="14"> \advance\rowCounter by 1\relax</a> +<a class="sourceLine" id="cb367-15" data-line-number="15"> \ifnum\rowCounter>\rowTotal\relax</a> +<a class="sourceLine" id="cb367-16" data-line-number="16"> \expandafter\@gobble</a> +<a class="sourceLine" id="cb367-17" data-line-number="17"> \fi\processRow}<span class="co">%</span></a> +<a class="sourceLine" id="cb367-18" data-line-number="18"><span class="fu">\def</span>\processColumn#1{<span class="co">%</span></a> +<a class="sourceLine" id="cb367-19" data-line-number="19"> column number \the\columnCounter{}</a> +<a class="sourceLine" id="cb367-20" data-line-number="20"> \ifnum\rowCounter=0\relax</a> +<a class="sourceLine" id="cb367-21" data-line-number="21"> \if#1d{}has default alignment\fi</a> +<a class="sourceLine" id="cb367-22" data-line-number="22"> \if#1l{}is left-aligned\fi</a> +<a class="sourceLine" id="cb367-23" data-line-number="23"> \if#1c{}is centered\fi</a> +<a class="sourceLine" id="cb367-24" data-line-number="24"> \if#1r{}is right-aligned\fi</a> +<a class="sourceLine" id="cb367-25" data-line-number="25"> \else</a> +<a class="sourceLine" id="cb367-26" data-line-number="26"> says \emph{#1}<span class="co">%</span></a> +<a class="sourceLine" id="cb367-27" data-line-number="27"> \fi</a> +<a class="sourceLine" id="cb367-28" data-line-number="28"> \advance\columnCounter by 1\relax</a> +<a class="sourceLine" id="cb367-29" data-line-number="29"> \ifnum\columnCounter<\columnTotal\relax, \fi</a> +<a class="sourceLine" id="cb367-30" data-line-number="30"> \ifnum\columnCounter=\columnTotal\relax, and \fi</a> +<a class="sourceLine" id="cb367-31" data-line-number="31"> \ifnum\columnCounter>\columnTotal\relax</a> +<a class="sourceLine" id="cb367-32" data-line-number="32"> .\expandafter\@gobble</a> +<a class="sourceLine" id="cb367-33" data-line-number="33"> \fi\processColumn}<span class="co">%</span></a> +<a class="sourceLine" id="cb367-34" data-line-number="34"><span class="fu">\makeatother</span></a> +<a class="sourceLine" id="cb367-35" data-line-number="35"><span class="fu">\markdownSetup</span>{</a> +<a class="sourceLine" id="cb367-36" data-line-number="36"> renderers = {</a> +<a class="sourceLine" id="cb367-37" data-line-number="37"> table = {<span class="co">%</span></a> +<a class="sourceLine" id="cb367-38" data-line-number="38"> This is a table with caption <span class="fu">\emph</span>{#1} that is #3 colums wide</a> +<a class="sourceLine" id="cb367-39" data-line-number="39"> and #2 rows long.</a> +<a class="sourceLine" id="cb367-40" data-line-number="40"> <span class="fu">\rowCounter</span>=0<span class="co">%</span></a> +<a class="sourceLine" id="cb367-41" data-line-number="41"> <span class="fu">\def</span>\rowTotal{#2}<span class="co">%</span></a> +<a class="sourceLine" id="cb367-42" data-line-number="42"> <span class="fu">\def</span>\columnTotal{#3}<span class="co">%</span></a> +<a class="sourceLine" id="cb367-43" data-line-number="43"> <span class="fu">\processRow</span></a> +<a class="sourceLine" id="cb367-44" data-line-number="44"> },</a> +<a class="sourceLine" id="cb367-45" data-line-number="45"> },</a> +<a class="sourceLine" id="cb367-46" data-line-number="46">}</a> +<a class="sourceLine" id="cb367-47" data-line-number="47"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb367-48" data-line-number="48"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb367-49" data-line-number="49">| Right | Left | Default | Center |</a> +<a class="sourceLine" id="cb367-50" data-line-number="50">|------:|:-----|---------|:------:|</a> +<a class="sourceLine" id="cb367-51" data-line-number="51">| 12 | 12 | 12 | 12 |</a> +<a class="sourceLine" id="cb367-52" data-line-number="52">| 123 | 123 | 123 | 123 |</a> +<a class="sourceLine" id="cb367-53" data-line-number="53">| 1 | 1 | 1 | 1 |</a> +<a class="sourceLine" id="cb367-54" data-line-number="54"></a> +<a class="sourceLine" id="cb367-55" data-line-number="55"> : Demonstration of pipe table syntax</a> +<a class="sourceLine" id="cb367-56" data-line-number="56"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb367-57" data-line-number="57"><span class="kw">\end</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb367-58" data-line-number="58"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb367-59" data-line-number="59"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb368"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb368-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> +<blockquote> +<p>This is a table with caption <em>Demonstration of pipe table syntax</em> that is 4 colums wide and 4 rows long. As for the alignment, column number 1 is right-aligned, column number 2 is left-aligned, column number 3 has default alignment, and column number 4 is centered. In row 1, column number 1 says <em>Right</em>, column number 2 says <em>Left</em>, column number 3 says <em>Default</em>, and column number 4 says <em>Center</em>. In row 2, column number 1 says <em>12</em>, column number 2 says <em>12</em>, column number 3 says <em>12</em>, and column number 4 says <em>12</em>. In row 3, column number 1 says <em>123</em>, column number 2 says <em>123</em>, column number 3 says <em>123</em>, and column number 4 says <em>123</em>. In row 4, column number 1 says <em>1</em>, column number 2 says <em>1</em>, column number 3 says <em>1</em>, and column number 4 says <em>1</em>.</p> +</blockquote> <h3 id="token-renderer-prototypes"><span class="header-section-number">2.3.2</span> Token Renderer Prototypes</h3> <p>By default, token renderers point to package-defined <span class="tex">T<sub>e</sub>X</span> macros, further referred to as <em>prototypes</em>, which provide useful default definitions.</p> -<h5 id="plain-tex-example-26" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> +<h5 id="plain-tex-example-27" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb349"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb349-1" data-line-number="1"><span class="fu">\input</span> markdown</a> -<a class="sourceLine" id="cb349-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererTildePrototype{<span class="co">%</span></a> -<a class="sourceLine" id="cb349-3" data-line-number="3"> Packages can specify token renderer prototypes.<span class="co">%</span></a> -<a class="sourceLine" id="cb349-4" data-line-number="4">}</a> -<a class="sourceLine" id="cb349-5" data-line-number="5"><span class="fu">\markdownBegin</span></a> -<a class="sourceLine" id="cb349-6" data-line-number="6">~</a> -<a class="sourceLine" id="cb349-7" data-line-number="7"><span class="fu">\markdownEnd</span></a> -<a class="sourceLine" id="cb349-8" data-line-number="8"></a> -<a class="sourceLine" id="cb349-9" data-line-number="9"><span class="fu">\def</span>\markdownRendererTilde{<span class="co">%</span></a> -<a class="sourceLine" id="cb349-10" data-line-number="10"> User-defined token renderers take precedence.<span class="co">%</span></a> -<a class="sourceLine" id="cb349-11" data-line-number="11">}</a> -<a class="sourceLine" id="cb349-12" data-line-number="12"><span class="fu">\markdownBegin</span></a> -<a class="sourceLine" id="cb349-13" data-line-number="13">~</a> -<a class="sourceLine" id="cb349-14" data-line-number="14"><span class="fu">\markdownEnd</span></a> -<a class="sourceLine" id="cb349-15" data-line-number="15"><span class="fu">\bye</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb350"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb350-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb369"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb369-1" data-line-number="1"><span class="fu">\input</span> markdown</a> +<a class="sourceLine" id="cb369-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererTildePrototype{<span class="co">%</span></a> +<a class="sourceLine" id="cb369-3" data-line-number="3"> Packages can specify token renderer prototypes.<span class="co">%</span></a> +<a class="sourceLine" id="cb369-4" data-line-number="4">}</a> +<a class="sourceLine" id="cb369-5" data-line-number="5"><span class="fu">\markdownBegin</span></a> +<a class="sourceLine" id="cb369-6" data-line-number="6">~</a> +<a class="sourceLine" id="cb369-7" data-line-number="7"><span class="fu">\markdownEnd</span></a> +<a class="sourceLine" id="cb369-8" data-line-number="8"></a> +<a class="sourceLine" id="cb369-9" data-line-number="9"><span class="fu">\def</span>\markdownRendererTilde{<span class="co">%</span></a> +<a class="sourceLine" id="cb369-10" data-line-number="10"> User-defined token renderers take precedence.<span class="co">%</span></a> +<a class="sourceLine" id="cb369-11" data-line-number="11">}</a> +<a class="sourceLine" id="cb369-12" data-line-number="12"><span class="fu">\markdownBegin</span></a> +<a class="sourceLine" id="cb369-13" data-line-number="13">~</a> +<a class="sourceLine" id="cb369-14" data-line-number="14"><span class="fu">\markdownEnd</span></a> +<a class="sourceLine" id="cb369-15" data-line-number="15"><span class="fu">\bye</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb370"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb370-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>Packages can specify token renderer prototypes.</p> <p>User-defined token renderers take precedence.</p> </blockquote> -<h5 id="latex-example-42" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<h5 id="latex-example-46" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb351"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb351-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> -<a class="sourceLine" id="cb351-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb351-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a> -<a class="sourceLine" id="cb351-4" data-line-number="4"> rendererPrototypes = {</a> -<a class="sourceLine" id="cb351-5" data-line-number="5"> tilde = {Packages can specify token renderer prototypes.},</a> -<a class="sourceLine" id="cb351-6" data-line-number="6"> },</a> -<a class="sourceLine" id="cb351-7" data-line-number="7">}</a> -<a class="sourceLine" id="cb351-8" data-line-number="8"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> -<a class="sourceLine" id="cb351-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb351-10" data-line-number="10">~</a> -<a class="sourceLine" id="cb351-11" data-line-number="11"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> -<a class="sourceLine" id="cb351-12" data-line-number="12"></a> -<a class="sourceLine" id="cb351-13" data-line-number="13"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</a> -<a class="sourceLine" id="cb351-14" data-line-number="14"> renderers = {</a> -<a class="sourceLine" id="cb351-15" data-line-number="15"> tilde = {User-defined token renderers take precedence.},</a> -<a class="sourceLine" id="cb351-16" data-line-number="16"> },</a> -<a class="sourceLine" id="cb351-17" data-line-number="17">}</a> -<a class="sourceLine" id="cb351-18" data-line-number="18">~</a> -<a class="sourceLine" id="cb351-19" data-line-number="19"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a> -<a class="sourceLine" id="cb351-20" data-line-number="20"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb352"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb352-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb371"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb371-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a> +<a class="sourceLine" id="cb371-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb371-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a> +<a class="sourceLine" id="cb371-4" data-line-number="4"> rendererPrototypes = {</a> +<a class="sourceLine" id="cb371-5" data-line-number="5"> tilde = {Packages can specify token renderer prototypes.},</a> +<a class="sourceLine" id="cb371-6" data-line-number="6"> },</a> +<a class="sourceLine" id="cb371-7" data-line-number="7">}</a> +<a class="sourceLine" id="cb371-8" data-line-number="8"><span class="kw">\begin</span>{<span class="ex">document</span>}</a> +<a class="sourceLine" id="cb371-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb371-10" data-line-number="10">~</a> +<a class="sourceLine" id="cb371-11" data-line-number="11"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a> +<a class="sourceLine" id="cb371-12" data-line-number="12"></a> +<a class="sourceLine" id="cb371-13" data-line-number="13"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</a> +<a class="sourceLine" id="cb371-14" data-line-number="14"> renderers = {</a> +<a class="sourceLine" id="cb371-15" data-line-number="15"> tilde = {User-defined token renderers take precedence.},</a> +<a class="sourceLine" id="cb371-16" data-line-number="16"> },</a> +<a class="sourceLine" id="cb371-17" data-line-number="17">}</a> +<a class="sourceLine" id="cb371-18" data-line-number="18">~</a> +<a class="sourceLine" id="cb371-19" data-line-number="19"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a> +<a class="sourceLine" id="cb371-20" data-line-number="20"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb372"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb372-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>Packages can specify token renderer prototypes.</p> <p>User-defined token renderers take precedence.</p> </blockquote> -<h5 id="context-example-34" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> +<h5 id="context-example-37" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb353"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb353-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> -<a class="sourceLine" id="cb353-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererTildePrototype{<span class="co">%</span></a> -<a class="sourceLine" id="cb353-3" data-line-number="3"> Packages can specify token renderer prototypes.<span class="co">%</span></a> -<a class="sourceLine" id="cb353-4" data-line-number="4">}</a> -<a class="sourceLine" id="cb353-5" data-line-number="5"><span class="fu">\starttext</span></a> -<a class="sourceLine" id="cb353-6" data-line-number="6"><span class="fu">\startmarkdown</span></a> -<a class="sourceLine" id="cb353-7" data-line-number="7">~</a> -<a class="sourceLine" id="cb353-8" data-line-number="8"><span class="fu">\stopmarkdown</span></a> -<a class="sourceLine" id="cb353-9" data-line-number="9"></a> -<a class="sourceLine" id="cb353-10" data-line-number="10"><span class="fu">\def</span>\markdownRendererTilde{<span class="co">%</span></a> -<a class="sourceLine" id="cb353-11" data-line-number="11"> User-defined token renderers take precedence.<span class="co">%</span></a> -<a class="sourceLine" id="cb353-12" data-line-number="12">}</a> -<a class="sourceLine" id="cb353-13" data-line-number="13"><span class="fu">\startmarkdown</span></a> -<a class="sourceLine" id="cb353-14" data-line-number="14">~</a> -<a class="sourceLine" id="cb353-15" data-line-number="15"><span class="fu">\stopmarkdown</span></a> -<a class="sourceLine" id="cb353-16" data-line-number="16"><span class="fu">\stoptext</span></a></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb354"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb354-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> +<div class="sourceCode" id="cb373"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb373-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a> +<a class="sourceLine" id="cb373-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererTildePrototype{<span class="co">%</span></a> +<a class="sourceLine" id="cb373-3" data-line-number="3"> Packages can specify token renderer prototypes.<span class="co">%</span></a> +<a class="sourceLine" id="cb373-4" data-line-number="4">}</a> +<a class="sourceLine" id="cb373-5" data-line-number="5"><span class="fu">\starttext</span></a> +<a class="sourceLine" id="cb373-6" data-line-number="6"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb373-7" data-line-number="7">~</a> +<a class="sourceLine" id="cb373-8" data-line-number="8"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb373-9" data-line-number="9"></a> +<a class="sourceLine" id="cb373-10" data-line-number="10"><span class="fu">\def</span>\markdownRendererTilde{<span class="co">%</span></a> +<a class="sourceLine" id="cb373-11" data-line-number="11"> User-defined token renderers take precedence.<span class="co">%</span></a> +<a class="sourceLine" id="cb373-12" data-line-number="12">}</a> +<a class="sourceLine" id="cb373-13" data-line-number="13"><span class="fu">\startmarkdown</span></a> +<a class="sourceLine" id="cb373-14" data-line-number="14">~</a> +<a class="sourceLine" id="cb373-15" data-line-number="15"><span class="fu">\stopmarkdown</span></a> +<a class="sourceLine" id="cb373-16" data-line-number="16"><span class="fu">\stoptext</span></a></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb374"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb374-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>Packages can specify token renderer prototypes.</p> diff --git a/Master/texmf-dist/doc/generic/markdown/markdown.pdf b/Master/texmf-dist/doc/generic/markdown/markdown.pdf Binary files differindex b445d4cc577..d166468833e 100644 --- a/Master/texmf-dist/doc/generic/markdown/markdown.pdf +++ b/Master/texmf-dist/doc/generic/markdown/markdown.pdf diff --git a/Master/texmf-dist/doc/latex/markdown/examples/example.md b/Master/texmf-dist/doc/latex/markdown/examples/example.md index 73f5ab9c26a..8aeb423a204 100644 --- a/Master/texmf-dist/doc/latex/markdown/examples/example.md +++ b/Master/texmf-dist/doc/latex/markdown/examples/example.md @@ -28,6 +28,16 @@ This is a fenced code block: \end{document} ``` +This is a table: + +| Right | Left | Default | Center | +|------:|:-----|---------|:------:| +| 12 | 12 | 12 | 12 | +| 123 | 123 | 123 | 123 | +| 1 | 1 | 1 | 1 | + + : Demonstration of pipe table syntax. + This is a bullet list: * The first item of a bullet list diff --git a/Master/texmf-dist/doc/latex/markdown/examples/latex.tex b/Master/texmf-dist/doc/latex/markdown/examples/latex.tex index cb7f4edce9e..07ebe631f99 100644 --- a/Master/texmf-dist/doc/latex/markdown/examples/latex.tex +++ b/Master/texmf-dist/doc/latex/markdown/examples/latex.tex @@ -14,6 +14,7 @@ \usepackage[T1]{fontenc} \usepackage{lmodern} \fi\fi +\usepackage{booktabs} \usepackage[ hashEnumerators, definitionLists, @@ -21,7 +22,9 @@ inlineFootnotes, smartEllipses, fencedCode, - contentBlocks + contentBlocks, + pipeTables, + tableCaptions, ]{markdown} \begin{document} % Typeset the document `example.md` by letting the Markdown package handle diff --git a/Master/texmf-dist/scripts/markdown/markdown-cli.lua b/Master/texmf-dist/scripts/markdown/markdown-cli.lua index 0bc1754a39e..96a06753132 100644 --- a/Master/texmf-dist/scripts/markdown/markdown-cli.lua +++ b/Master/texmf-dist/scripts/markdown/markdown-cli.lua @@ -58,7 +58,7 @@ -- those in the standard .ins files. -- local metadata = { - version = "2.7.0", + version = "2.8.1", comment = "A module for the conversion from markdown to plain TeX", author = "John MacFarlane, Hans Hagen, Vít Novotný", copyright = {"2009-2016 John MacFarlane, Hans Hagen", @@ -85,10 +85,13 @@ defaultOptions.headerAttributes = false defaultOptions.html = false defaultOptions.hybrid = false defaultOptions.inlineFootnotes = false +defaultOptions.pipeTables = false defaultOptions.preserveTabs = false +defaultOptions.shiftHeadings = 0 defaultOptions.slice = "^ $" defaultOptions.smartEllipses = false defaultOptions.startNumber = true +defaultOptions.tableCaptions = false defaultOptions.tightLists = true defaultOptions.underscores = true diff --git a/Master/texmf-dist/source/generic/markdown/markdown.dtx b/Master/texmf-dist/source/generic/markdown/markdown.dtx index 3897b1f0b6f..71c06b81544 100644 --- a/Master/texmf-dist/source/generic/markdown/markdown.dtx +++ b/Master/texmf-dist/source/generic/markdown/markdown.dtx @@ -1,10 +1,10 @@ % \iffalse %<*driver> \documentclass{ltxdockit} -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} \usepackage[american]{babel} \usepackage{amsmath,btxdockit,doc,fancyvrb,hologo,microtype,minted,xcolor} +\usepackage{fontspec} +\defaultfontfeatures[\rmfamily,\sffamily,\ttfamily]{} % Set up the style. \emergencystretch=1em @@ -46,7 +46,7 @@ \newcommand\Opt[1]{% An option / value item reference \hyperref[opt:#1]{\t`#1`}} \newcommand\acro[1]{% An acronym - \textsc{#1}} + \textsc{\MakeLowercase{#1}}} % Set up markdown. \usepackage[ @@ -74,7 +74,8 @@ } % Set up the catcodes. -\catcode`\_=12 % We won't be typesetting math and Lua contains lots of `_`. +\catcode`\_=12 % We won't be typesetting much math and Lua contains lots of `_`. +\catcode`\^^B=8 % When we occasionally need subscripts , we will use `^^B` (STX). % Set up the title page. \titlepage{% @@ -509,6 +510,7 @@ table td { } abbr { + text-transform: lowercase; font-variant: small-caps; } @@ -567,7 +569,7 @@ documentation][techdoc]. % \fi % \begin{macrocode} local metadata = { - version = "2.7.0", + version = "2.8.1", comment = "A module for the conversion from markdown to plain TeX", author = "John MacFarlane, Hans Hagen, Vít Novotný", copyright = {"2009-2016 John MacFarlane, Hans Hagen", @@ -3772,13 +3774,6 @@ defaultOptions.headerAttributes = false % \end{markdown} % \iffalse -When the option is enabled, HTML entities are currently incorrectly parsed. -See [the corresponding issue][issue-38] in the package repository. - - [issue-36]: https://github.com/Witiko/markdown/issues/36 - (HTML entities with the `html` Lua option enabled produce a Lua - parser error) - ##### Lua Module Example {.unnumbered} Using a text editor, create a text document named `document.tex` with the @@ -4294,6 +4289,105 @@ defaultOptions.inlineFootnotes = false %</lua,lua-cli> %<*manual-options> +#### Option `pipeTables` {#pipe-tables} + +`pipeTables` (default value: `false`) + +% \fi +% \begin{markdown} +% +% \Optitem[false]{pipeTables}{\opt{true}, \opt{false}} +% +: true + + : Enable the \acro{PHP} Markdown table syntax extension: + + ``` md + | Right | Left | Default | Center | + |------:|:-----|---------|:------:| + | 12 | 12 | 12 | 12 | + | 123 | 123 | 123 | 123 | + | 1 | 1 | 1 | 1 | + `````` + +: false + + : Disable the \acro{PHP} Markdown table syntax extension. + +% \end{markdown} +% \iffalse + +##### \LaTeX{} Example {.unnumbered} + +Using a text editor, create a text document named `document.tex` with the +following content: +``` tex +\documentclass{article} +\usepackage[pipeTables]{markdown} +\begin{document} +\begin{markdown} +| Right | Left | Default | Center | +|------:|:-----|---------|:------:| +| 12 | 12 | 12 | 12 | +| 123 | 123 | 123 | 123 | +| 1 | 1 | 1 | 1 | +\end{markdown} +\end{document} +``````` +Next, invoke LuaTeX from the terminal: +``` sh +lualatex document.tex +`````` +A PDF document named `document.pdf` should be produced and contain the +following text: + +> | Right | Left | Default | Center | +> |------:|:-----|---------|:------:| +> | 12 | 12 | 12 | 12 | +> | 123 | 123 | 123 | 123 | +> | 1 | 1 | 1 | 1 | + +##### \Hologo{ConTeXt} Example {.unnumbered} + +Using a text editor, create a text document named `document.tex` with the +following content: +``` tex +\usemodule[t][markdown] +\def\markdownOptionPipeTables{true} +\starttext +\startmarkdown +| Right | Left | Default | Center | +|------:|:-----|---------|:------:| +| 12 | 12 | 12 | 12 | +| 123 | 123 | 123 | 123 | +| 1 | 1 | 1 | 1 | +\stopmarkdown +\stoptext +```````` +Next, invoke LuaTeX from the terminal: +``` sh +context document.tex +````` +A PDF document named `document.pdf` should be produced and contain the +following text: + +> | Right | Left | Default | Center | +> |------:|:-----|---------|:------:| +> | 12 | 12 | 12 | 12 | +> | 123 | 123 | 123 | 123 | +> | 1 | 1 | 1 | 1 | + +%</manual-options> +%<*lua,lua-cli> +% \fi +% \begin{macrocode} +defaultOptions.pipeTables = false +% \end{macrocode} +% \par +% \iffalse +%</lua,lua-cli> +%<*manual-options> + #### Option `preserveTabs` `preserveTabs` (default value: `false`) @@ -4305,7 +4399,7 @@ defaultOptions.inlineFootnotes = false % : true - : Preserve all tabs in the input. + : Preserve tabs in code block and fenced code blocks. : false @@ -4313,19 +4407,147 @@ defaultOptions.inlineFootnotes = false % \end{markdown} % \iffalse +%</manual-options> +%<*lua,lua-cli> +% \fi +% \begin{macrocode} +defaultOptions.preserveTabs = false +% \end{macrocode} +% \par +% \iffalse +%</lua,lua-cli> +%<*manual-options> + +#### Option `shiftHeadings` + +`shiftHeadings` (default value: `0`) + +% \fi +% \begin{markdown} +% +% \Valitem[0]{shiftHeadings}{shift amount} +% +: All headings will be shifted by \meta{shift amount}, which can be both + positive and negative. Headings will not be shifted beyond level 6 or + below level 1. Instead, those headings will be shifted to level 6, when + \meta{shift amount} is positive, and to level 1, when \meta{shift amount} + is negative. + +% \end{markdown} +% \iffalse + +##### Plain \TeX{} Example {.unnumbered} + +Using a text editor, create a text document named `example.md` with the +following content: + +``` md +## A section +``` + +Using a text editor, create a text document named `document.tex` with the +following content: +``` tex +\input markdown -This option is currently non-functional. See [the corresponding -issue][issue-38] in the package repository. +\font\normal=cmr10\normal +\font\big=cmr10 at 12pt +\def\markdownRendererHeadingTwo#1{{\big #1\par}} +\font\bigger=cmr10 scaled 1440 +\def\markdownRendererHeadingOne#1{{\bigger #1\par}} + +\def\markdownOptionShiftHeadings{-1} +\markdownInput{example.md} + +\def\markdownOptionShiftHeadings{0} +\markdownInput{example.md} + +\def\markdownOptionShiftHeadings{+1} +\markdownInput{example.md} + +\bye +``````` +Next, invoke LuaTeX from the terminal: +``` sh +luatex document.tex +`````` +A PDF document named `document.pdf` should be produced and contain the +following text: - [issue-38]: https://github.com/Witiko/markdown/issues/38 - (Tabs are stripped even with the `preserveTabs=true` - Lua option enabled) +> # A section +> ## A section +> ### A section + +##### \LaTeX{} Example {.unnumbered} + +Using a text editor, create a text document named `document.tex` with the +following content: +``` tex +\documentclass{article} +\usepackage{markdown} +\usepackage{filecontents} +\begin{filecontents*}{example.md} +## A section +\end{filecontents*} +\begin{document} +\markdownInput[shiftHeadings=-1]{example.md} +\markdownInput{example.md} +\markdownInput[shiftHeadings=+1]{example.md} +\end{document} +``````` +Next, invoke LuaTeX from the terminal: +``` sh +lualatex document.tex +`````` +A PDF document named `document.pdf` should be produced and contain the +following text: + +> # A section +> ## A section +> ### A section + +##### \Hologo{ConTeXt} Example {.unnumbered} + +Using a text editor, create a text document named `example.md` with the +following content: + +``` md +## A section +``` + +Using a text editor, create a text document named `document.tex` with the +following content: +``` tex +\usemodule[t][markdown] +\starttext + +\def\markdownOptionShiftHeadings{-1} +\markdownInput{example.md} + +\def\markdownOptionShiftHeadings{0} +\markdownInput{example.md} + +\def\markdownOptionShiftHeadings{+1} +\markdownInput{example.md} + +\stoptext +```````` +Next, invoke LuaTeX from the terminal: +``` sh +context document.tex +````` +A PDF document named `document.pdf` should be produced and contain the +following text: + +> # A section +> ## A section +> ### A section %</manual-options> %<*lua,lua-cli> % \fi % \begin{macrocode} -defaultOptions.preserveTabs = false +defaultOptions.shiftHeadings = 0 % \end{macrocode} % \par % \iffalse @@ -4348,19 +4570,21 @@ defaultOptions.preserveTabs = false - The circumflex (`^`) selects the beginning of a document. - The dollar sign (`$`) selects the end of a document. - `^`\meta{identifier} selects the beginning of a section with the -% HTML attribute `#`\meta{identifier} (see the +% \acro{HTML} attribute `#`\meta{identifier} (see the % \Opt{headerAttributes} option). - \iffalse - [HTML attribute](#header-attributes) `#`\meta{identifier}. +% \iffalse + [\acro{HTML} attribute](#header-attributes) `#`\meta{identifier}. % \fi - - `$`\meta{identifier} selects the end of a section with the HTML + - `$`\meta{identifier} selects the end of a section with the \acro{HTML} attribute `#`\meta{identifier}. - \meta{identifier} corresponds to `^`\meta{identifier} for the first selector and to `$`\meta{identifier} for the second selector. Specifying only a single selector, \meta{identifier}, is equivalent to specifying the two selectors \meta{identifier} \meta{identifier}, - which is equivalent to `^`\meta{identifier} `$`\meta{identifier}. + which is equivalent to `^`\meta{identifier} `$`\meta{identifier}, i.e. + the entire section with the \acro{HTML} attribute `#`\meta{identifier} will be + selected. % \end{markdown} % \iffalse @@ -4861,6 +5085,121 @@ defaultOptions.startNumber = true %</lua,lua-cli> %<*manual-options> +#### Option `tableCaptions` + +`tableCaptions` (default value: `false`) + +% \fi +% \begin{markdown} +% +% \Optitem[false]{tableCaptions}{\opt{true}, \opt{false}} +% +: true + + : Enable the Pandoc `table_captions` syntax extension for +% pipe tables (see the \Opt{pipeTables} option). +% \iffalse + [pipe tables](#pipe-tables). +% \fi + + ``` md + | Right | Left | Default | Center | + |------:|:-----|---------|:------:| + | 12 | 12 | 12 | 12 | + | 123 | 123 | 123 | 123 | + | 1 | 1 | 1 | 1 | + + : Demonstration of pipe table syntax. + `````` + +: false + + : Enable the Pandoc `table_captions` syntax extension. + +% \end{markdown} +% \iffalse + +##### \LaTeX{} Example {.unnumbered} + +Using a text editor, create a text document named `document.tex` with the +following content: +``` tex +\documentclass{article} +\usepackage[pipeTables, tableCaptions]{markdown} +\begin{document} +\begin{markdown} +| Right | Left | Default | Center | +|------:|:-----|---------|:------:| +| 12 | 12 | 12 | 12 | +| 123 | 123 | 123 | 123 | +| 1 | 1 | 1 | 1 | + + : Demonstration of pipe table syntax. +\end{markdown} +\end{document} +``````` +Next, invoke LuaTeX from the terminal: +``` sh +lualatex document.tex +`````` +A PDF document named `document.pdf` should be produced and contain the +following text: + +> | Right | Left | Default | Center | +> |------:|:-----|---------|:------:| +> | 12 | 12 | 12 | 12 | +> | 123 | 123 | 123 | 123 | +> | 1 | 1 | 1 | 1 | +> +> : Demonstration of pipe table syntax. + +##### \Hologo{ConTeXt} Example {.unnumbered} + +Using a text editor, create a text document named `document.tex` with the +following content: +``` tex +\usemodule[t][markdown] +\def\markdownOptionPipeTables{true} +\def\markdownOptionTableCaptions{true} +\starttext +\startmarkdown +| Right | Left | Default | Center | +|------:|:-----|---------|:------:| +| 12 | 12 | 12 | 12 | +| 123 | 123 | 123 | 123 | +| 1 | 1 | 1 | 1 | + + : Demonstration of pipe table syntax. +\stopmarkdown +\stoptext +```````` +Next, invoke LuaTeX from the terminal: +``` sh +context document.tex +````` +A PDF document named `document.pdf` should be produced and contain the +following text: + +> | Right | Left | Default | Center | +> |------:|:-----|---------|:------:| +> | 12 | 12 | 12 | 12 | +> | 123 | 123 | 123 | 123 | +> | 1 | 1 | 1 | 1 | +> +> : Demonstration of pipe table syntax. + +%</manual-options> +%<*lua,lua-cli> +% \fi +% \begin{macrocode} +defaultOptions.tableCaptions = false +% \end{macrocode} +% \par +% \iffalse +%</lua,lua-cli> +%<*manual-options> + + #### Option `tightLists` `tightLists` (default value: `true`) @@ -5320,8 +5659,8 @@ pdftex --shell-escape document.tex % % \end{markdown} % \begin{macrocode} -\def\markdownLastModified{2019/04/04}% -\def\markdownVersion{2.7.0}% +\def\markdownLastModified{2019/04/30}% +\def\markdownVersion{2.8.1}% % \end{macrocode} % \par % \begin{markdown} @@ -5629,10 +5968,13 @@ bug](https://github.com/witiko/markdown/issues). \let\markdownOptionHtml\undefined \let\markdownOptionHybrid\undefined \let\markdownOptionInlineFootnotes\undefined +\let\markdownOptionPipeTables\undefined \let\markdownOptionPreserveTabs\undefined +\let\markdownOptionShiftHeadings\undefined \let\markdownOptionSlice\undefined \let\markdownOptionSmartEllipses\undefined \let\markdownOptionStartNumber\undefined +\let\markdownOptionTableCaptions\undefined \let\markdownOptionTightLists\undefined % \end{macrocode} % \par @@ -9265,6 +9607,126 @@ following text: % % \begin{markdown} +#### Table Renderer +The \mdef{markdownRendererTable} macro represents a table. This macro will only +be produced, when the \Opt{pipeTables} option is `true`. The macro receives the +parameters `{`\meta{caption}`}{`\meta{number of rows}`}{`\meta{number of columns}`}` +followed by `{`\meta{alignments}`}` and then by `{`\meta{row}`}` repeated +\meta{number of rows} times, where \meta{row} is `{`\meta{column}`}` repeated +\meta{number of columns} times, \meta{alignments} is \meta{alignment} repeated +\meta{number of columns} times, and \meta{alignment} is one of the following: + +- `d` -- The corresponding column has an unspecified (default) alignment. +- `l` -- The corresponding column is left-aligned. +- `c` -- The corresponding column is centered. +- `r` -- The corresponding column is right-aligned. + +% \end{markdown} +% +% \iffalse + +##### \LaTeX{} Example {.unnumbered} + +Using a text editor, create a text document named `document.tex` with the +following content: +``` tex +\documentclass{article} +\usepackage[pipeTables, tableCaptions]{markdown} +\newcount\rowCounter +\newcount\columnCounter +\makeatletter +\def\processRow#1{% + \columnCounter=1% + \ifnum\rowCounter=0\relax + As for the alignment, + \else + In row \the\rowCounter, + \fi + \processColumn#1 + \advance\rowCounter by 1\relax + \ifnum\rowCounter>\rowTotal\relax + \expandafter\@gobble + \fi\processRow}% +\def\processColumn#1{% + column number \the\columnCounter{} + \ifnum\rowCounter=0\relax + \if#1d{}has default alignment\fi + \if#1l{}is left-aligned\fi + \if#1c{}is centered\fi + \if#1r{}is right-aligned\fi + \else + says \emph{#1}% + \fi + \advance\columnCounter by 1\relax + \ifnum\columnCounter<\columnTotal\relax, \fi + \ifnum\columnCounter=\columnTotal\relax, and \fi + \ifnum\columnCounter>\columnTotal\relax + .\expandafter\@gobble + \fi\processColumn}% +\makeatother +\markdownSetup{ + renderers = { + table = {% + This is a table with caption \emph{#1} that is #3 colums wide + and #2 rows long. + \rowCounter=0% + \def\rowTotal{#2}% + \def\columnTotal{#3}% + \processRow + }, + }, +} +\begin{document} +\begin{markdown} +| Right | Left | Default | Center | +|------:|:-----|---------|:------:| +| 12 | 12 | 12 | 12 | +| 123 | 123 | 123 | 123 | +| 1 | 1 | 1 | 1 | + + : Demonstration of pipe table syntax +\end{markdown} +\end{document} +\end{markdown} +\end{document} +``````` +Next, invoke LuaTeX from the terminal: +``` sh +lualatex document.tex +`````` +A PDF document named `document.pdf` should be produced and contain the +following text: + +> This is a table with caption *Demonstration of pipe table syntax* that is 4 +> colums wide and 4 rows long. As for the alignment, column number 1 is +> right-aligned, column number 2 is left-aligned, column number 3 has default +> alignment, and column number 4 is centered. In row 1, column number 1 says +> *Right*, column number 2 says *Left*, column number 3 says *Default*, and +> column number 4 says *Center*. In row 2, column number 1 says *12*, column +> number 2 says *12*, column number 3 says *12*, and column number 4 says *12*. +> In row 3, column number 1 says *123*, column number 2 says *123*, column +> number 3 says *123*, and column number 4 says *123*. In row 4, column number +> 1 says *1*, column number 2 says *1*, column number 3 says *1*, and column +> number 4 says *1*. + + +%</manual-tokens> +%<*tex> +% \fi +% +% \begin{macrocode} +\def\markdownRendererTable{% + \markdownRendererTablePrototype}% +% \end{macrocode} +% \par +% +% \iffalse +%</tex> +%<*manual-tokens> +% \fi +% +% \begin{markdown} + ### Token Renderer Prototypes % \label{sec:texrendererprototypes} @@ -9454,6 +9916,7 @@ following text: \def\markdownRendererFootnotePrototype#1{}% \def\markdownRendererCitePrototype#1{}% \def\markdownRendererTextCitePrototype#1{}% +\def\markdownRendererTablePrototype#1#2#3{}% % \end{macrocode} % \par % \begin{markdown} @@ -9793,14 +10256,20 @@ pdflatex --shell-escape document.tex \def\markdownOptionHybrid{#1}}% \define@key{markdownOptions}{inlineFootnotes}[true]{% \def\markdownOptionInlineFootnotes{#1}}% +\define@key{markdownOptions}{pipeTables}[true]{% + \def\markdownOptionPipeTables{#1}}% \define@key{markdownOptions}{preserveTabs}[true]{% \def\markdownOptionPreserveTabs{#1}}% \define@key{markdownOptions}{smartEllipses}[true]{% \def\markdownOptionSmartEllipses{#1}}% -\define@key{markdownOptions}{slice}[true]{% +\define@key{markdownOptions}{shiftHeadings}{% + \def\markdownOptionShiftHeadings{#1}}% +\define@key{markdownOptions}{slice}{% \def\markdownOptionSlice{#1}}% \define@key{markdownOptions}{startNumber}[true]{% \def\markdownOptionStartNumber{#1}}% +\define@key{markdownOptions}{tableCaptions}[true]{% + \def\markdownOptionTableCaptions{#1}}% \define@key{markdownOptions}{tightLists}[true]{% \def\markdownOptionTightLists{#1}}% \define@key{markdownOptions}{underscores}[true]{% @@ -9948,6 +10417,8 @@ pdflatex --shell-escape document.tex \renewcommand\markdownRendererCite[1]{#1}}% \define@key{markdownRenderers}{textCite}{% \renewcommand\markdownRendererTextCite[1]{#1}}% +\define@key{markdownRenderers}{table}{% + \renewcommand\markdownRendererTable[3]{#1}}% % \end{macrocode} % \par % \begin{markdown} @@ -10089,6 +10560,8 @@ pdflatex --shell-escape document.tex \renewcommand\markdownRendererCitePrototype[1]{#1}}% \define@key{markdownRendererPrototypes}{textCite}{% \renewcommand\markdownRendererTextCitePrototype[1]{#1}}% +\define@key{markdownRendererPrototypes}{table}{% + \renewcommand\markdownRendererTablePrototype[3]{#1}}% % \end{macrocode} % \par % \begin{markdown} @@ -10500,7 +10973,7 @@ function util.escaper(char_escapes, string_escapes) % \end{macrocode} % \begin{markdown} % If `string_escapes` is provided, turn `escapable` into the -% $$\sum_{(`k`,`v`)\in`string_escapes`}`P(k) / v` + `escapable`$$ +% $$\sum^^B{(`k`, `v`)\in`string_escapes`}`P(k) / v` + `escapable`$$ % capture that replaces any occurance of the string `k` with the string % `v` for each $(`k`, `v`)\in`string_escapes`$. Note that the pattern % summation is not commutative and its operands are inspected in the @@ -10551,8 +11024,8 @@ end % \par % \begin{markdown} % -%### \textsc{html} Entities -% This section documents the \textsc{html} entities recognized by the +%### HTML Entities +% This section documents the \acro{HTML} entities recognized by the % markdown reader. These functions are encapsulated in the `entities` % object. The functions were originally located in the % `lunamark/entities.lua` file in the Lunamark Lua module. @@ -10562,262 +11035,2044 @@ end local entities = {} local character_entities = { - ["quot"] = 0x0022, - ["amp"] = 0x0026, - ["apos"] = 0x0027, - ["lt"] = 0x003C, - ["gt"] = 0x003E, + ["Tab"] = 9, + ["NewLine"] = 10, + ["excl"] = 33, + ["quot"] = 34, + ["QUOT"] = 34, + ["num"] = 35, + ["dollar"] = 36, + ["percnt"] = 37, + ["amp"] = 38, + ["AMP"] = 38, + ["apos"] = 39, + ["lpar"] = 40, + ["rpar"] = 41, + ["ast"] = 42, + ["midast"] = 42, + ["plus"] = 43, + ["comma"] = 44, + ["period"] = 46, + ["sol"] = 47, + ["colon"] = 58, + ["semi"] = 59, + ["lt"] = 60, + ["LT"] = 60, + ["equals"] = 61, + ["gt"] = 62, + ["GT"] = 62, + ["quest"] = 63, + ["commat"] = 64, + ["lsqb"] = 91, + ["lbrack"] = 91, + ["bsol"] = 92, + ["rsqb"] = 93, + ["rbrack"] = 93, + ["Hat"] = 94, + ["lowbar"] = 95, + ["grave"] = 96, + ["DiacriticalGrave"] = 96, + ["lcub"] = 123, + ["lbrace"] = 123, + ["verbar"] = 124, + ["vert"] = 124, + ["VerticalLine"] = 124, + ["rcub"] = 125, + ["rbrace"] = 125, ["nbsp"] = 160, - ["iexcl"] = 0x00A1, - ["cent"] = 0x00A2, - ["pound"] = 0x00A3, - ["curren"] = 0x00A4, - ["yen"] = 0x00A5, - ["brvbar"] = 0x00A6, - ["sect"] = 0x00A7, - ["uml"] = 0x00A8, - ["copy"] = 0x00A9, - ["ordf"] = 0x00AA, - ["laquo"] = 0x00AB, - ["not"] = 0x00AC, + ["NonBreakingSpace"] = 160, + ["iexcl"] = 161, + ["cent"] = 162, + ["pound"] = 163, + ["curren"] = 164, + ["yen"] = 165, + ["brvbar"] = 166, + ["sect"] = 167, + ["Dot"] = 168, + ["die"] = 168, + ["DoubleDot"] = 168, + ["uml"] = 168, + ["copy"] = 169, + ["COPY"] = 169, + ["ordf"] = 170, + ["laquo"] = 171, + ["not"] = 172, ["shy"] = 173, - ["reg"] = 0x00AE, - ["macr"] = 0x00AF, - ["deg"] = 0x00B0, - ["plusmn"] = 0x00B1, - ["sup2"] = 0x00B2, - ["sup3"] = 0x00B3, - ["acute"] = 0x00B4, - ["micro"] = 0x00B5, - ["para"] = 0x00B6, - ["middot"] = 0x00B7, - ["cedil"] = 0x00B8, - ["sup1"] = 0x00B9, - ["ordm"] = 0x00BA, - ["raquo"] = 0x00BB, - ["frac14"] = 0x00BC, - ["frac12"] = 0x00BD, - ["frac34"] = 0x00BE, - ["iquest"] = 0x00BF, - ["Agrave"] = 0x00C0, - ["Aacute"] = 0x00C1, - ["Acirc"] = 0x00C2, - ["Atilde"] = 0x00C3, - ["Auml"] = 0x00C4, - ["Aring"] = 0x00C5, - ["AElig"] = 0x00C6, - ["Ccedil"] = 0x00C7, - ["Egrave"] = 0x00C8, - ["Eacute"] = 0x00C9, - ["Ecirc"] = 0x00CA, - ["Euml"] = 0x00CB, - ["Igrave"] = 0x00CC, - ["Iacute"] = 0x00CD, - ["Icirc"] = 0x00CE, - ["Iuml"] = 0x00CF, - ["ETH"] = 0x00D0, - ["Ntilde"] = 0x00D1, - ["Ograve"] = 0x00D2, - ["Oacute"] = 0x00D3, - ["Ocirc"] = 0x00D4, - ["Otilde"] = 0x00D5, - ["Ouml"] = 0x00D6, - ["times"] = 0x00D7, - ["Oslash"] = 0x00D8, - ["Ugrave"] = 0x00D9, - ["Uacute"] = 0x00DA, - ["Ucirc"] = 0x00DB, - ["Uuml"] = 0x00DC, - ["Yacute"] = 0x00DD, - ["THORN"] = 0x00DE, - ["szlig"] = 0x00DF, - ["agrave"] = 0x00E0, - ["aacute"] = 0x00E1, - ["acirc"] = 0x00E2, - ["atilde"] = 0x00E3, - ["auml"] = 0x00E4, - ["aring"] = 0x00E5, - ["aelig"] = 0x00E6, - ["ccedil"] = 0x00E7, - ["egrave"] = 0x00E8, - ["eacute"] = 0x00E9, - ["ecirc"] = 0x00EA, - ["euml"] = 0x00EB, - ["igrave"] = 0x00EC, - ["iacute"] = 0x00ED, - ["icirc"] = 0x00EE, - ["iuml"] = 0x00EF, - ["eth"] = 0x00F0, - ["ntilde"] = 0x00F1, - ["ograve"] = 0x00F2, - ["oacute"] = 0x00F3, - ["ocirc"] = 0x00F4, - ["otilde"] = 0x00F5, - ["ouml"] = 0x00F6, - ["divide"] = 0x00F7, - ["oslash"] = 0x00F8, - ["ugrave"] = 0x00F9, - ["uacute"] = 0x00FA, - ["ucirc"] = 0x00FB, - ["uuml"] = 0x00FC, - ["yacute"] = 0x00FD, - ["thorn"] = 0x00FE, - ["yuml"] = 0x00FF, - ["OElig"] = 0x0152, - ["oelig"] = 0x0153, - ["Scaron"] = 0x0160, - ["scaron"] = 0x0161, - ["Yuml"] = 0x0178, - ["fnof"] = 0x0192, - ["circ"] = 0x02C6, - ["tilde"] = 0x02DC, - ["Alpha"] = 0x0391, - ["Beta"] = 0x0392, - ["Gamma"] = 0x0393, - ["Delta"] = 0x0394, - ["Epsilon"] = 0x0395, - ["Zeta"] = 0x0396, - ["Eta"] = 0x0397, - ["Theta"] = 0x0398, - ["Iota"] = 0x0399, - ["Kappa"] = 0x039A, - ["Lambda"] = 0x039B, - ["Mu"] = 0x039C, - ["Nu"] = 0x039D, - ["Xi"] = 0x039E, - ["Omicron"] = 0x039F, - ["Pi"] = 0x03A0, - ["Rho"] = 0x03A1, - ["Sigma"] = 0x03A3, - ["Tau"] = 0x03A4, - ["Upsilon"] = 0x03A5, - ["Phi"] = 0x03A6, - ["Chi"] = 0x03A7, - ["Psi"] = 0x03A8, - ["Omega"] = 0x03A9, - ["alpha"] = 0x03B1, - ["beta"] = 0x03B2, - ["gamma"] = 0x03B3, - ["delta"] = 0x03B4, - ["epsilon"] = 0x03B5, - ["zeta"] = 0x03B6, - ["eta"] = 0x03B7, - ["theta"] = 0x03B8, - ["iota"] = 0x03B9, - ["kappa"] = 0x03BA, - ["lambda"] = 0x03BB, - ["mu"] = 0x03BC, - ["nu"] = 0x03BD, - ["xi"] = 0x03BE, - ["omicron"] = 0x03BF, - ["pi"] = 0x03C0, - ["rho"] = 0x03C1, - ["sigmaf"] = 0x03C2, - ["sigma"] = 0x03C3, - ["tau"] = 0x03C4, - ["upsilon"] = 0x03C5, - ["phi"] = 0x03C6, - ["chi"] = 0x03C7, - ["psi"] = 0x03C8, - ["omega"] = 0x03C9, - ["thetasym"] = 0x03D1, - ["upsih"] = 0x03D2, - ["piv"] = 0x03D6, - ["ensp"] = 0x2002, - ["emsp"] = 0x2003, - ["thinsp"] = 0x2009, - ["ndash"] = 0x2013, - ["mdash"] = 0x2014, - ["lsquo"] = 0x2018, - ["rsquo"] = 0x2019, - ["sbquo"] = 0x201A, - ["ldquo"] = 0x201C, - ["rdquo"] = 0x201D, - ["bdquo"] = 0x201E, - ["dagger"] = 0x2020, - ["Dagger"] = 0x2021, - ["bull"] = 0x2022, - ["hellip"] = 0x2026, - ["permil"] = 0x2030, - ["prime"] = 0x2032, - ["Prime"] = 0x2033, - ["lsaquo"] = 0x2039, - ["rsaquo"] = 0x203A, - ["oline"] = 0x203E, - ["frasl"] = 0x2044, - ["euro"] = 0x20AC, - ["image"] = 0x2111, - ["weierp"] = 0x2118, - ["real"] = 0x211C, - ["trade"] = 0x2122, - ["alefsym"] = 0x2135, - ["larr"] = 0x2190, - ["uarr"] = 0x2191, - ["rarr"] = 0x2192, - ["darr"] = 0x2193, - ["harr"] = 0x2194, - ["crarr"] = 0x21B5, - ["lArr"] = 0x21D0, - ["uArr"] = 0x21D1, - ["rArr"] = 0x21D2, - ["dArr"] = 0x21D3, - ["hArr"] = 0x21D4, - ["forall"] = 0x2200, - ["part"] = 0x2202, - ["exist"] = 0x2203, - ["empty"] = 0x2205, - ["nabla"] = 0x2207, - ["isin"] = 0x2208, - ["notin"] = 0x2209, - ["ni"] = 0x220B, - ["prod"] = 0x220F, - ["sum"] = 0x2211, - ["minus"] = 0x2212, - ["lowast"] = 0x2217, - ["radic"] = 0x221A, - ["prop"] = 0x221D, - ["infin"] = 0x221E, - ["ang"] = 0x2220, - ["and"] = 0x2227, - ["or"] = 0x2228, - ["cap"] = 0x2229, - ["cup"] = 0x222A, - ["int"] = 0x222B, - ["there4"] = 0x2234, - ["sim"] = 0x223C, - ["cong"] = 0x2245, - ["asymp"] = 0x2248, - ["ne"] = 0x2260, - ["equiv"] = 0x2261, - ["le"] = 0x2264, - ["ge"] = 0x2265, - ["sub"] = 0x2282, - ["sup"] = 0x2283, - ["nsub"] = 0x2284, - ["sube"] = 0x2286, - ["supe"] = 0x2287, - ["oplus"] = 0x2295, - ["otimes"] = 0x2297, - ["perp"] = 0x22A5, - ["sdot"] = 0x22C5, - ["lceil"] = 0x2308, - ["rceil"] = 0x2309, - ["lfloor"] = 0x230A, - ["rfloor"] = 0x230B, - ["lang"] = 0x27E8, - ["rang"] = 0x27E9, - ["loz"] = 0x25CA, - ["spades"] = 0x2660, - ["clubs"] = 0x2663, - ["hearts"] = 0x2665, - ["diams"] = 0x2666, + ["reg"] = 174, + ["circledR"] = 174, + ["REG"] = 174, + ["macr"] = 175, + ["OverBar"] = 175, + ["strns"] = 175, + ["deg"] = 176, + ["plusmn"] = 177, + ["pm"] = 177, + ["PlusMinus"] = 177, + ["sup2"] = 178, + ["sup3"] = 179, + ["acute"] = 180, + ["DiacriticalAcute"] = 180, + ["micro"] = 181, + ["para"] = 182, + ["middot"] = 183, + ["centerdot"] = 183, + ["CenterDot"] = 183, + ["cedil"] = 184, + ["Cedilla"] = 184, + ["sup1"] = 185, + ["ordm"] = 186, + ["raquo"] = 187, + ["frac14"] = 188, + ["frac12"] = 189, + ["half"] = 189, + ["frac34"] = 190, + ["iquest"] = 191, + ["Agrave"] = 192, + ["Aacute"] = 193, + ["Acirc"] = 194, + ["Atilde"] = 195, + ["Auml"] = 196, + ["Aring"] = 197, + ["AElig"] = 198, + ["Ccedil"] = 199, + ["Egrave"] = 200, + ["Eacute"] = 201, + ["Ecirc"] = 202, + ["Euml"] = 203, + ["Igrave"] = 204, + ["Iacute"] = 205, + ["Icirc"] = 206, + ["Iuml"] = 207, + ["ETH"] = 208, + ["Ntilde"] = 209, + ["Ograve"] = 210, + ["Oacute"] = 211, + ["Ocirc"] = 212, + ["Otilde"] = 213, + ["Ouml"] = 214, + ["times"] = 215, + ["Oslash"] = 216, + ["Ugrave"] = 217, + ["Uacute"] = 218, + ["Ucirc"] = 219, + ["Uuml"] = 220, + ["Yacute"] = 221, + ["THORN"] = 222, + ["szlig"] = 223, + ["agrave"] = 224, + ["aacute"] = 225, + ["acirc"] = 226, + ["atilde"] = 227, + ["auml"] = 228, + ["aring"] = 229, + ["aelig"] = 230, + ["ccedil"] = 231, + ["egrave"] = 232, + ["eacute"] = 233, + ["ecirc"] = 234, + ["euml"] = 235, + ["igrave"] = 236, + ["iacute"] = 237, + ["icirc"] = 238, + ["iuml"] = 239, + ["eth"] = 240, + ["ntilde"] = 241, + ["ograve"] = 242, + ["oacute"] = 243, + ["ocirc"] = 244, + ["otilde"] = 245, + ["ouml"] = 246, + ["divide"] = 247, + ["div"] = 247, + ["oslash"] = 248, + ["ugrave"] = 249, + ["uacute"] = 250, + ["ucirc"] = 251, + ["uuml"] = 252, + ["yacute"] = 253, + ["thorn"] = 254, + ["yuml"] = 255, + ["Amacr"] = 256, + ["amacr"] = 257, + ["Abreve"] = 258, + ["abreve"] = 259, + ["Aogon"] = 260, + ["aogon"] = 261, + ["Cacute"] = 262, + ["cacute"] = 263, + ["Ccirc"] = 264, + ["ccirc"] = 265, + ["Cdot"] = 266, + ["cdot"] = 267, + ["Ccaron"] = 268, + ["ccaron"] = 269, + ["Dcaron"] = 270, + ["dcaron"] = 271, + ["Dstrok"] = 272, + ["dstrok"] = 273, + ["Emacr"] = 274, + ["emacr"] = 275, + ["Edot"] = 278, + ["edot"] = 279, + ["Eogon"] = 280, + ["eogon"] = 281, + ["Ecaron"] = 282, + ["ecaron"] = 283, + ["Gcirc"] = 284, + ["gcirc"] = 285, + ["Gbreve"] = 286, + ["gbreve"] = 287, + ["Gdot"] = 288, + ["gdot"] = 289, + ["Gcedil"] = 290, + ["Hcirc"] = 292, + ["hcirc"] = 293, + ["Hstrok"] = 294, + ["hstrok"] = 295, + ["Itilde"] = 296, + ["itilde"] = 297, + ["Imacr"] = 298, + ["imacr"] = 299, + ["Iogon"] = 302, + ["iogon"] = 303, + ["Idot"] = 304, + ["imath"] = 305, + ["inodot"] = 305, + ["IJlig"] = 306, + ["ijlig"] = 307, + ["Jcirc"] = 308, + ["jcirc"] = 309, + ["Kcedil"] = 310, + ["kcedil"] = 311, + ["kgreen"] = 312, + ["Lacute"] = 313, + ["lacute"] = 314, + ["Lcedil"] = 315, + ["lcedil"] = 316, + ["Lcaron"] = 317, + ["lcaron"] = 318, + ["Lmidot"] = 319, + ["lmidot"] = 320, + ["Lstrok"] = 321, + ["lstrok"] = 322, + ["Nacute"] = 323, + ["nacute"] = 324, + ["Ncedil"] = 325, + ["ncedil"] = 326, + ["Ncaron"] = 327, + ["ncaron"] = 328, + ["napos"] = 329, + ["ENG"] = 330, + ["eng"] = 331, + ["Omacr"] = 332, + ["omacr"] = 333, + ["Odblac"] = 336, + ["odblac"] = 337, + ["OElig"] = 338, + ["oelig"] = 339, + ["Racute"] = 340, + ["racute"] = 341, + ["Rcedil"] = 342, + ["rcedil"] = 343, + ["Rcaron"] = 344, + ["rcaron"] = 345, + ["Sacute"] = 346, + ["sacute"] = 347, + ["Scirc"] = 348, + ["scirc"] = 349, + ["Scedil"] = 350, + ["scedil"] = 351, + ["Scaron"] = 352, + ["scaron"] = 353, + ["Tcedil"] = 354, + ["tcedil"] = 355, + ["Tcaron"] = 356, + ["tcaron"] = 357, + ["Tstrok"] = 358, + ["tstrok"] = 359, + ["Utilde"] = 360, + ["utilde"] = 361, + ["Umacr"] = 362, + ["umacr"] = 363, + ["Ubreve"] = 364, + ["ubreve"] = 365, + ["Uring"] = 366, + ["uring"] = 367, + ["Udblac"] = 368, + ["udblac"] = 369, + ["Uogon"] = 370, + ["uogon"] = 371, + ["Wcirc"] = 372, + ["wcirc"] = 373, + ["Ycirc"] = 374, + ["ycirc"] = 375, + ["Yuml"] = 376, + ["Zacute"] = 377, + ["zacute"] = 378, + ["Zdot"] = 379, + ["zdot"] = 380, + ["Zcaron"] = 381, + ["zcaron"] = 382, + ["fnof"] = 402, + ["imped"] = 437, + ["gacute"] = 501, + ["jmath"] = 567, + ["circ"] = 710, + ["caron"] = 711, + ["Hacek"] = 711, + ["breve"] = 728, + ["Breve"] = 728, + ["dot"] = 729, + ["DiacriticalDot"] = 729, + ["ring"] = 730, + ["ogon"] = 731, + ["tilde"] = 732, + ["DiacriticalTilde"] = 732, + ["dblac"] = 733, + ["DiacriticalDoubleAcute"] = 733, + ["DownBreve"] = 785, + ["UnderBar"] = 818, + ["Alpha"] = 913, + ["Beta"] = 914, + ["Gamma"] = 915, + ["Delta"] = 916, + ["Epsilon"] = 917, + ["Zeta"] = 918, + ["Eta"] = 919, + ["Theta"] = 920, + ["Iota"] = 921, + ["Kappa"] = 922, + ["Lambda"] = 923, + ["Mu"] = 924, + ["Nu"] = 925, + ["Xi"] = 926, + ["Omicron"] = 927, + ["Pi"] = 928, + ["Rho"] = 929, + ["Sigma"] = 931, + ["Tau"] = 932, + ["Upsilon"] = 933, + ["Phi"] = 934, + ["Chi"] = 935, + ["Psi"] = 936, + ["Omega"] = 937, + ["alpha"] = 945, + ["beta"] = 946, + ["gamma"] = 947, + ["delta"] = 948, + ["epsiv"] = 949, + ["varepsilon"] = 949, + ["epsilon"] = 949, + ["zeta"] = 950, + ["eta"] = 951, + ["theta"] = 952, + ["iota"] = 953, + ["kappa"] = 954, + ["lambda"] = 955, + ["mu"] = 956, + ["nu"] = 957, + ["xi"] = 958, + ["omicron"] = 959, + ["pi"] = 960, + ["rho"] = 961, + ["sigmav"] = 962, + ["varsigma"] = 962, + ["sigmaf"] = 962, + ["sigma"] = 963, + ["tau"] = 964, + ["upsi"] = 965, + ["upsilon"] = 965, + ["phi"] = 966, + ["phiv"] = 966, + ["varphi"] = 966, + ["chi"] = 967, + ["psi"] = 968, + ["omega"] = 969, + ["thetav"] = 977, + ["vartheta"] = 977, + ["thetasym"] = 977, + ["Upsi"] = 978, + ["upsih"] = 978, + ["straightphi"] = 981, + ["piv"] = 982, + ["varpi"] = 982, + ["Gammad"] = 988, + ["gammad"] = 989, + ["digamma"] = 989, + ["kappav"] = 1008, + ["varkappa"] = 1008, + ["rhov"] = 1009, + ["varrho"] = 1009, + ["epsi"] = 1013, + ["straightepsilon"] = 1013, + ["bepsi"] = 1014, + ["backepsilon"] = 1014, + ["IOcy"] = 1025, + ["DJcy"] = 1026, + ["GJcy"] = 1027, + ["Jukcy"] = 1028, + ["DScy"] = 1029, + ["Iukcy"] = 1030, + ["YIcy"] = 1031, + ["Jsercy"] = 1032, + ["LJcy"] = 1033, + ["NJcy"] = 1034, + ["TSHcy"] = 1035, + ["KJcy"] = 1036, + ["Ubrcy"] = 1038, + ["DZcy"] = 1039, + ["Acy"] = 1040, + ["Bcy"] = 1041, + ["Vcy"] = 1042, + ["Gcy"] = 1043, + ["Dcy"] = 1044, + ["IEcy"] = 1045, + ["ZHcy"] = 1046, + ["Zcy"] = 1047, + ["Icy"] = 1048, + ["Jcy"] = 1049, + ["Kcy"] = 1050, + ["Lcy"] = 1051, + ["Mcy"] = 1052, + ["Ncy"] = 1053, + ["Ocy"] = 1054, + ["Pcy"] = 1055, + ["Rcy"] = 1056, + ["Scy"] = 1057, + ["Tcy"] = 1058, + ["Ucy"] = 1059, + ["Fcy"] = 1060, + ["KHcy"] = 1061, + ["TScy"] = 1062, + ["CHcy"] = 1063, + ["SHcy"] = 1064, + ["SHCHcy"] = 1065, + ["HARDcy"] = 1066, + ["Ycy"] = 1067, + ["SOFTcy"] = 1068, + ["Ecy"] = 1069, + ["YUcy"] = 1070, + ["YAcy"] = 1071, + ["acy"] = 1072, + ["bcy"] = 1073, + ["vcy"] = 1074, + ["gcy"] = 1075, + ["dcy"] = 1076, + ["iecy"] = 1077, + ["zhcy"] = 1078, + ["zcy"] = 1079, + ["icy"] = 1080, + ["jcy"] = 1081, + ["kcy"] = 1082, + ["lcy"] = 1083, + ["mcy"] = 1084, + ["ncy"] = 1085, + ["ocy"] = 1086, + ["pcy"] = 1087, + ["rcy"] = 1088, + ["scy"] = 1089, + ["tcy"] = 1090, + ["ucy"] = 1091, + ["fcy"] = 1092, + ["khcy"] = 1093, + ["tscy"] = 1094, + ["chcy"] = 1095, + ["shcy"] = 1096, + ["shchcy"] = 1097, + ["hardcy"] = 1098, + ["ycy"] = 1099, + ["softcy"] = 1100, + ["ecy"] = 1101, + ["yucy"] = 1102, + ["yacy"] = 1103, + ["iocy"] = 1105, + ["djcy"] = 1106, + ["gjcy"] = 1107, + ["jukcy"] = 1108, + ["dscy"] = 1109, + ["iukcy"] = 1110, + ["yicy"] = 1111, + ["jsercy"] = 1112, + ["ljcy"] = 1113, + ["njcy"] = 1114, + ["tshcy"] = 1115, + ["kjcy"] = 1116, + ["ubrcy"] = 1118, + ["dzcy"] = 1119, + ["ensp"] = 8194, + ["emsp"] = 8195, + ["emsp13"] = 8196, + ["emsp14"] = 8197, + ["numsp"] = 8199, + ["puncsp"] = 8200, + ["thinsp"] = 8201, + ["ThinSpace"] = 8201, + ["hairsp"] = 8202, + ["VeryThinSpace"] = 8202, + ["ZeroWidthSpace"] = 8203, + ["NegativeVeryThinSpace"] = 8203, + ["NegativeThinSpace"] = 8203, + ["NegativeMediumSpace"] = 8203, + ["NegativeThickSpace"] = 8203, + ["zwnj"] = 8204, + ["zwj"] = 8205, + ["lrm"] = 8206, + ["rlm"] = 8207, + ["hyphen"] = 8208, + ["dash"] = 8208, + ["ndash"] = 8211, + ["mdash"] = 8212, + ["horbar"] = 8213, + ["Verbar"] = 8214, + ["Vert"] = 8214, + ["lsquo"] = 8216, + ["OpenCurlyQuote"] = 8216, + ["rsquo"] = 8217, + ["rsquor"] = 8217, + ["CloseCurlyQuote"] = 8217, + ["lsquor"] = 8218, + ["sbquo"] = 8218, + ["ldquo"] = 8220, + ["OpenCurlyDoubleQuote"] = 8220, + ["rdquo"] = 8221, + ["rdquor"] = 8221, + ["CloseCurlyDoubleQuote"] = 8221, + ["ldquor"] = 8222, + ["bdquo"] = 8222, + ["dagger"] = 8224, + ["Dagger"] = 8225, + ["ddagger"] = 8225, + ["bull"] = 8226, + ["bullet"] = 8226, + ["nldr"] = 8229, + ["hellip"] = 8230, + ["mldr"] = 8230, + ["permil"] = 8240, + ["pertenk"] = 8241, + ["prime"] = 8242, + ["Prime"] = 8243, + ["tprime"] = 8244, + ["bprime"] = 8245, + ["backprime"] = 8245, + ["lsaquo"] = 8249, + ["rsaquo"] = 8250, + ["oline"] = 8254, + ["caret"] = 8257, + ["hybull"] = 8259, + ["frasl"] = 8260, + ["bsemi"] = 8271, + ["qprime"] = 8279, + ["MediumSpace"] = 8287, + ["NoBreak"] = 8288, + ["ApplyFunction"] = 8289, + ["af"] = 8289, + ["InvisibleTimes"] = 8290, + ["it"] = 8290, + ["InvisibleComma"] = 8291, + ["ic"] = 8291, + ["euro"] = 8364, + ["tdot"] = 8411, + ["TripleDot"] = 8411, + ["DotDot"] = 8412, + ["Copf"] = 8450, + ["complexes"] = 8450, + ["incare"] = 8453, + ["gscr"] = 8458, + ["hamilt"] = 8459, + ["HilbertSpace"] = 8459, + ["Hscr"] = 8459, + ["Hfr"] = 8460, + ["Poincareplane"] = 8460, + ["quaternions"] = 8461, + ["Hopf"] = 8461, + ["planckh"] = 8462, + ["planck"] = 8463, + ["hbar"] = 8463, + ["plankv"] = 8463, + ["hslash"] = 8463, + ["Iscr"] = 8464, + ["imagline"] = 8464, + ["image"] = 8465, + ["Im"] = 8465, + ["imagpart"] = 8465, + ["Ifr"] = 8465, + ["Lscr"] = 8466, + ["lagran"] = 8466, + ["Laplacetrf"] = 8466, + ["ell"] = 8467, + ["Nopf"] = 8469, + ["naturals"] = 8469, + ["numero"] = 8470, + ["copysr"] = 8471, + ["weierp"] = 8472, + ["wp"] = 8472, + ["Popf"] = 8473, + ["primes"] = 8473, + ["rationals"] = 8474, + ["Qopf"] = 8474, + ["Rscr"] = 8475, + ["realine"] = 8475, + ["real"] = 8476, + ["Re"] = 8476, + ["realpart"] = 8476, + ["Rfr"] = 8476, + ["reals"] = 8477, + ["Ropf"] = 8477, + ["rx"] = 8478, + ["trade"] = 8482, + ["TRADE"] = 8482, + ["integers"] = 8484, + ["Zopf"] = 8484, + ["ohm"] = 8486, + ["mho"] = 8487, + ["Zfr"] = 8488, + ["zeetrf"] = 8488, + ["iiota"] = 8489, + ["angst"] = 8491, + ["bernou"] = 8492, + ["Bernoullis"] = 8492, + ["Bscr"] = 8492, + ["Cfr"] = 8493, + ["Cayleys"] = 8493, + ["escr"] = 8495, + ["Escr"] = 8496, + ["expectation"] = 8496, + ["Fscr"] = 8497, + ["Fouriertrf"] = 8497, + ["phmmat"] = 8499, + ["Mellintrf"] = 8499, + ["Mscr"] = 8499, + ["order"] = 8500, + ["orderof"] = 8500, + ["oscr"] = 8500, + ["alefsym"] = 8501, + ["aleph"] = 8501, + ["beth"] = 8502, + ["gimel"] = 8503, + ["daleth"] = 8504, + ["CapitalDifferentialD"] = 8517, + ["DD"] = 8517, + ["DifferentialD"] = 8518, + ["dd"] = 8518, + ["ExponentialE"] = 8519, + ["exponentiale"] = 8519, + ["ee"] = 8519, + ["ImaginaryI"] = 8520, + ["ii"] = 8520, + ["frac13"] = 8531, + ["frac23"] = 8532, + ["frac15"] = 8533, + ["frac25"] = 8534, + ["frac35"] = 8535, + ["frac45"] = 8536, + ["frac16"] = 8537, + ["frac56"] = 8538, + ["frac18"] = 8539, + ["frac38"] = 8540, + ["frac58"] = 8541, + ["frac78"] = 8542, + ["larr"] = 8592, + ["leftarrow"] = 8592, + ["LeftArrow"] = 8592, + ["slarr"] = 8592, + ["ShortLeftArrow"] = 8592, + ["uarr"] = 8593, + ["uparrow"] = 8593, + ["UpArrow"] = 8593, + ["ShortUpArrow"] = 8593, + ["rarr"] = 8594, + ["rightarrow"] = 8594, + ["RightArrow"] = 8594, + ["srarr"] = 8594, + ["ShortRightArrow"] = 8594, + ["darr"] = 8595, + ["downarrow"] = 8595, + ["DownArrow"] = 8595, + ["ShortDownArrow"] = 8595, + ["harr"] = 8596, + ["leftrightarrow"] = 8596, + ["LeftRightArrow"] = 8596, + ["varr"] = 8597, + ["updownarrow"] = 8597, + ["UpDownArrow"] = 8597, + ["nwarr"] = 8598, + ["UpperLeftArrow"] = 8598, + ["nwarrow"] = 8598, + ["nearr"] = 8599, + ["UpperRightArrow"] = 8599, + ["nearrow"] = 8599, + ["searr"] = 8600, + ["searrow"] = 8600, + ["LowerRightArrow"] = 8600, + ["swarr"] = 8601, + ["swarrow"] = 8601, + ["LowerLeftArrow"] = 8601, + ["nlarr"] = 8602, + ["nleftarrow"] = 8602, + ["nrarr"] = 8603, + ["nrightarrow"] = 8603, + ["rarrw"] = 8605, + ["rightsquigarrow"] = 8605, + ["Larr"] = 8606, + ["twoheadleftarrow"] = 8606, + ["Uarr"] = 8607, + ["Rarr"] = 8608, + ["twoheadrightarrow"] = 8608, + ["Darr"] = 8609, + ["larrtl"] = 8610, + ["leftarrowtail"] = 8610, + ["rarrtl"] = 8611, + ["rightarrowtail"] = 8611, + ["LeftTeeArrow"] = 8612, + ["mapstoleft"] = 8612, + ["UpTeeArrow"] = 8613, + ["mapstoup"] = 8613, + ["map"] = 8614, + ["RightTeeArrow"] = 8614, + ["mapsto"] = 8614, + ["DownTeeArrow"] = 8615, + ["mapstodown"] = 8615, + ["larrhk"] = 8617, + ["hookleftarrow"] = 8617, + ["rarrhk"] = 8618, + ["hookrightarrow"] = 8618, + ["larrlp"] = 8619, + ["looparrowleft"] = 8619, + ["rarrlp"] = 8620, + ["looparrowright"] = 8620, + ["harrw"] = 8621, + ["leftrightsquigarrow"] = 8621, + ["nharr"] = 8622, + ["nleftrightarrow"] = 8622, + ["lsh"] = 8624, + ["Lsh"] = 8624, + ["rsh"] = 8625, + ["Rsh"] = 8625, + ["ldsh"] = 8626, + ["rdsh"] = 8627, + ["crarr"] = 8629, + ["cularr"] = 8630, + ["curvearrowleft"] = 8630, + ["curarr"] = 8631, + ["curvearrowright"] = 8631, + ["olarr"] = 8634, + ["circlearrowleft"] = 8634, + ["orarr"] = 8635, + ["circlearrowright"] = 8635, + ["lharu"] = 8636, + ["LeftVector"] = 8636, + ["leftharpoonup"] = 8636, + ["lhard"] = 8637, + ["leftharpoondown"] = 8637, + ["DownLeftVector"] = 8637, + ["uharr"] = 8638, + ["upharpoonright"] = 8638, + ["RightUpVector"] = 8638, + ["uharl"] = 8639, + ["upharpoonleft"] = 8639, + ["LeftUpVector"] = 8639, + ["rharu"] = 8640, + ["RightVector"] = 8640, + ["rightharpoonup"] = 8640, + ["rhard"] = 8641, + ["rightharpoondown"] = 8641, + ["DownRightVector"] = 8641, + ["dharr"] = 8642, + ["RightDownVector"] = 8642, + ["downharpoonright"] = 8642, + ["dharl"] = 8643, + ["LeftDownVector"] = 8643, + ["downharpoonleft"] = 8643, + ["rlarr"] = 8644, + ["rightleftarrows"] = 8644, + ["RightArrowLeftArrow"] = 8644, + ["udarr"] = 8645, + ["UpArrowDownArrow"] = 8645, + ["lrarr"] = 8646, + ["leftrightarrows"] = 8646, + ["LeftArrowRightArrow"] = 8646, + ["llarr"] = 8647, + ["leftleftarrows"] = 8647, + ["uuarr"] = 8648, + ["upuparrows"] = 8648, + ["rrarr"] = 8649, + ["rightrightarrows"] = 8649, + ["ddarr"] = 8650, + ["downdownarrows"] = 8650, + ["lrhar"] = 8651, + ["ReverseEquilibrium"] = 8651, + ["leftrightharpoons"] = 8651, + ["rlhar"] = 8652, + ["rightleftharpoons"] = 8652, + ["Equilibrium"] = 8652, + ["nlArr"] = 8653, + ["nLeftarrow"] = 8653, + ["nhArr"] = 8654, + ["nLeftrightarrow"] = 8654, + ["nrArr"] = 8655, + ["nRightarrow"] = 8655, + ["lArr"] = 8656, + ["Leftarrow"] = 8656, + ["DoubleLeftArrow"] = 8656, + ["uArr"] = 8657, + ["Uparrow"] = 8657, + ["DoubleUpArrow"] = 8657, + ["rArr"] = 8658, + ["Rightarrow"] = 8658, + ["Implies"] = 8658, + ["DoubleRightArrow"] = 8658, + ["dArr"] = 8659, + ["Downarrow"] = 8659, + ["DoubleDownArrow"] = 8659, + ["hArr"] = 8660, + ["Leftrightarrow"] = 8660, + ["DoubleLeftRightArrow"] = 8660, + ["iff"] = 8660, + ["vArr"] = 8661, + ["Updownarrow"] = 8661, + ["DoubleUpDownArrow"] = 8661, + ["nwArr"] = 8662, + ["neArr"] = 8663, + ["seArr"] = 8664, + ["swArr"] = 8665, + ["lAarr"] = 8666, + ["Lleftarrow"] = 8666, + ["rAarr"] = 8667, + ["Rrightarrow"] = 8667, + ["zigrarr"] = 8669, + ["larrb"] = 8676, + ["LeftArrowBar"] = 8676, + ["rarrb"] = 8677, + ["RightArrowBar"] = 8677, + ["duarr"] = 8693, + ["DownArrowUpArrow"] = 8693, + ["loarr"] = 8701, + ["roarr"] = 8702, + ["hoarr"] = 8703, + ["forall"] = 8704, + ["ForAll"] = 8704, + ["comp"] = 8705, + ["complement"] = 8705, + ["part"] = 8706, + ["PartialD"] = 8706, + ["exist"] = 8707, + ["Exists"] = 8707, + ["nexist"] = 8708, + ["NotExists"] = 8708, + ["nexists"] = 8708, + ["empty"] = 8709, + ["emptyset"] = 8709, + ["emptyv"] = 8709, + ["varnothing"] = 8709, + ["nabla"] = 8711, + ["Del"] = 8711, + ["isin"] = 8712, + ["isinv"] = 8712, + ["Element"] = 8712, + ["in"] = 8712, + ["notin"] = 8713, + ["NotElement"] = 8713, + ["notinva"] = 8713, + ["niv"] = 8715, + ["ReverseElement"] = 8715, + ["ni"] = 8715, + ["SuchThat"] = 8715, + ["notni"] = 8716, + ["notniva"] = 8716, + ["NotReverseElement"] = 8716, + ["prod"] = 8719, + ["Product"] = 8719, + ["coprod"] = 8720, + ["Coproduct"] = 8720, + ["sum"] = 8721, + ["Sum"] = 8721, + ["minus"] = 8722, + ["mnplus"] = 8723, + ["mp"] = 8723, + ["MinusPlus"] = 8723, + ["plusdo"] = 8724, + ["dotplus"] = 8724, + ["setmn"] = 8726, + ["setminus"] = 8726, + ["Backslash"] = 8726, + ["ssetmn"] = 8726, + ["smallsetminus"] = 8726, + ["lowast"] = 8727, + ["compfn"] = 8728, + ["SmallCircle"] = 8728, + ["radic"] = 8730, + ["Sqrt"] = 8730, + ["prop"] = 8733, + ["propto"] = 8733, + ["Proportional"] = 8733, + ["vprop"] = 8733, + ["varpropto"] = 8733, + ["infin"] = 8734, + ["angrt"] = 8735, + ["ang"] = 8736, + ["angle"] = 8736, + ["angmsd"] = 8737, + ["measuredangle"] = 8737, + ["angsph"] = 8738, + ["mid"] = 8739, + ["VerticalBar"] = 8739, + ["smid"] = 8739, + ["shortmid"] = 8739, + ["nmid"] = 8740, + ["NotVerticalBar"] = 8740, + ["nsmid"] = 8740, + ["nshortmid"] = 8740, + ["par"] = 8741, + ["parallel"] = 8741, + ["DoubleVerticalBar"] = 8741, + ["spar"] = 8741, + ["shortparallel"] = 8741, + ["npar"] = 8742, + ["nparallel"] = 8742, + ["NotDoubleVerticalBar"] = 8742, + ["nspar"] = 8742, + ["nshortparallel"] = 8742, + ["and"] = 8743, + ["wedge"] = 8743, + ["or"] = 8744, + ["vee"] = 8744, + ["cap"] = 8745, + ["cup"] = 8746, + ["int"] = 8747, + ["Integral"] = 8747, + ["Int"] = 8748, + ["tint"] = 8749, + ["iiint"] = 8749, + ["conint"] = 8750, + ["oint"] = 8750, + ["ContourIntegral"] = 8750, + ["Conint"] = 8751, + ["DoubleContourIntegral"] = 8751, + ["Cconint"] = 8752, + ["cwint"] = 8753, + ["cwconint"] = 8754, + ["ClockwiseContourIntegral"] = 8754, + ["awconint"] = 8755, + ["CounterClockwiseContourIntegral"] = 8755, + ["there4"] = 8756, + ["therefore"] = 8756, + ["Therefore"] = 8756, + ["becaus"] = 8757, + ["because"] = 8757, + ["Because"] = 8757, + ["ratio"] = 8758, + ["Colon"] = 8759, + ["Proportion"] = 8759, + ["minusd"] = 8760, + ["dotminus"] = 8760, + ["mDDot"] = 8762, + ["homtht"] = 8763, + ["sim"] = 8764, + ["Tilde"] = 8764, + ["thksim"] = 8764, + ["thicksim"] = 8764, + ["bsim"] = 8765, + ["backsim"] = 8765, + ["ac"] = 8766, + ["mstpos"] = 8766, + ["acd"] = 8767, + ["wreath"] = 8768, + ["VerticalTilde"] = 8768, + ["wr"] = 8768, + ["nsim"] = 8769, + ["NotTilde"] = 8769, + ["esim"] = 8770, + ["EqualTilde"] = 8770, + ["eqsim"] = 8770, + ["sime"] = 8771, + ["TildeEqual"] = 8771, + ["simeq"] = 8771, + ["nsime"] = 8772, + ["nsimeq"] = 8772, + ["NotTildeEqual"] = 8772, + ["cong"] = 8773, + ["TildeFullEqual"] = 8773, + ["simne"] = 8774, + ["ncong"] = 8775, + ["NotTildeFullEqual"] = 8775, + ["asymp"] = 8776, + ["ap"] = 8776, + ["TildeTilde"] = 8776, + ["approx"] = 8776, + ["thkap"] = 8776, + ["thickapprox"] = 8776, + ["nap"] = 8777, + ["NotTildeTilde"] = 8777, + ["napprox"] = 8777, + ["ape"] = 8778, + ["approxeq"] = 8778, + ["apid"] = 8779, + ["bcong"] = 8780, + ["backcong"] = 8780, + ["asympeq"] = 8781, + ["CupCap"] = 8781, + ["bump"] = 8782, + ["HumpDownHump"] = 8782, + ["Bumpeq"] = 8782, + ["bumpe"] = 8783, + ["HumpEqual"] = 8783, + ["bumpeq"] = 8783, + ["esdot"] = 8784, + ["DotEqual"] = 8784, + ["doteq"] = 8784, + ["eDot"] = 8785, + ["doteqdot"] = 8785, + ["efDot"] = 8786, + ["fallingdotseq"] = 8786, + ["erDot"] = 8787, + ["risingdotseq"] = 8787, + ["colone"] = 8788, + ["coloneq"] = 8788, + ["Assign"] = 8788, + ["ecolon"] = 8789, + ["eqcolon"] = 8789, + ["ecir"] = 8790, + ["eqcirc"] = 8790, + ["cire"] = 8791, + ["circeq"] = 8791, + ["wedgeq"] = 8793, + ["veeeq"] = 8794, + ["trie"] = 8796, + ["triangleq"] = 8796, + ["equest"] = 8799, + ["questeq"] = 8799, + ["ne"] = 8800, + ["NotEqual"] = 8800, + ["equiv"] = 8801, + ["Congruent"] = 8801, + ["nequiv"] = 8802, + ["NotCongruent"] = 8802, + ["le"] = 8804, + ["leq"] = 8804, + ["ge"] = 8805, + ["GreaterEqual"] = 8805, + ["geq"] = 8805, + ["lE"] = 8806, + ["LessFullEqual"] = 8806, + ["leqq"] = 8806, + ["gE"] = 8807, + ["GreaterFullEqual"] = 8807, + ["geqq"] = 8807, + ["lnE"] = 8808, + ["lneqq"] = 8808, + ["gnE"] = 8809, + ["gneqq"] = 8809, + ["Lt"] = 8810, + ["NestedLessLess"] = 8810, + ["ll"] = 8810, + ["Gt"] = 8811, + ["NestedGreaterGreater"] = 8811, + ["gg"] = 8811, + ["twixt"] = 8812, + ["between"] = 8812, + ["NotCupCap"] = 8813, + ["nlt"] = 8814, + ["NotLess"] = 8814, + ["nless"] = 8814, + ["ngt"] = 8815, + ["NotGreater"] = 8815, + ["ngtr"] = 8815, + ["nle"] = 8816, + ["NotLessEqual"] = 8816, + ["nleq"] = 8816, + ["nge"] = 8817, + ["NotGreaterEqual"] = 8817, + ["ngeq"] = 8817, + ["lsim"] = 8818, + ["LessTilde"] = 8818, + ["lesssim"] = 8818, + ["gsim"] = 8819, + ["gtrsim"] = 8819, + ["GreaterTilde"] = 8819, + ["nlsim"] = 8820, + ["NotLessTilde"] = 8820, + ["ngsim"] = 8821, + ["NotGreaterTilde"] = 8821, + ["lg"] = 8822, + ["lessgtr"] = 8822, + ["LessGreater"] = 8822, + ["gl"] = 8823, + ["gtrless"] = 8823, + ["GreaterLess"] = 8823, + ["ntlg"] = 8824, + ["NotLessGreater"] = 8824, + ["ntgl"] = 8825, + ["NotGreaterLess"] = 8825, + ["pr"] = 8826, + ["Precedes"] = 8826, + ["prec"] = 8826, + ["sc"] = 8827, + ["Succeeds"] = 8827, + ["succ"] = 8827, + ["prcue"] = 8828, + ["PrecedesSlantEqual"] = 8828, + ["preccurlyeq"] = 8828, + ["sccue"] = 8829, + ["SucceedsSlantEqual"] = 8829, + ["succcurlyeq"] = 8829, + ["prsim"] = 8830, + ["precsim"] = 8830, + ["PrecedesTilde"] = 8830, + ["scsim"] = 8831, + ["succsim"] = 8831, + ["SucceedsTilde"] = 8831, + ["npr"] = 8832, + ["nprec"] = 8832, + ["NotPrecedes"] = 8832, + ["nsc"] = 8833, + ["nsucc"] = 8833, + ["NotSucceeds"] = 8833, + ["sub"] = 8834, + ["subset"] = 8834, + ["sup"] = 8835, + ["supset"] = 8835, + ["Superset"] = 8835, + ["nsub"] = 8836, + ["nsup"] = 8837, + ["sube"] = 8838, + ["SubsetEqual"] = 8838, + ["subseteq"] = 8838, + ["supe"] = 8839, + ["supseteq"] = 8839, + ["SupersetEqual"] = 8839, + ["nsube"] = 8840, + ["nsubseteq"] = 8840, + ["NotSubsetEqual"] = 8840, + ["nsupe"] = 8841, + ["nsupseteq"] = 8841, + ["NotSupersetEqual"] = 8841, + ["subne"] = 8842, + ["subsetneq"] = 8842, + ["supne"] = 8843, + ["supsetneq"] = 8843, + ["cupdot"] = 8845, + ["uplus"] = 8846, + ["UnionPlus"] = 8846, + ["sqsub"] = 8847, + ["SquareSubset"] = 8847, + ["sqsubset"] = 8847, + ["sqsup"] = 8848, + ["SquareSuperset"] = 8848, + ["sqsupset"] = 8848, + ["sqsube"] = 8849, + ["SquareSubsetEqual"] = 8849, + ["sqsubseteq"] = 8849, + ["sqsupe"] = 8850, + ["SquareSupersetEqual"] = 8850, + ["sqsupseteq"] = 8850, + ["sqcap"] = 8851, + ["SquareIntersection"] = 8851, + ["sqcup"] = 8852, + ["SquareUnion"] = 8852, + ["oplus"] = 8853, + ["CirclePlus"] = 8853, + ["ominus"] = 8854, + ["CircleMinus"] = 8854, + ["otimes"] = 8855, + ["CircleTimes"] = 8855, + ["osol"] = 8856, + ["odot"] = 8857, + ["CircleDot"] = 8857, + ["ocir"] = 8858, + ["circledcirc"] = 8858, + ["oast"] = 8859, + ["circledast"] = 8859, + ["odash"] = 8861, + ["circleddash"] = 8861, + ["plusb"] = 8862, + ["boxplus"] = 8862, + ["minusb"] = 8863, + ["boxminus"] = 8863, + ["timesb"] = 8864, + ["boxtimes"] = 8864, + ["sdotb"] = 8865, + ["dotsquare"] = 8865, + ["vdash"] = 8866, + ["RightTee"] = 8866, + ["dashv"] = 8867, + ["LeftTee"] = 8867, + ["top"] = 8868, + ["DownTee"] = 8868, + ["bottom"] = 8869, + ["bot"] = 8869, + ["perp"] = 8869, + ["UpTee"] = 8869, + ["models"] = 8871, + ["vDash"] = 8872, + ["DoubleRightTee"] = 8872, + ["Vdash"] = 8873, + ["Vvdash"] = 8874, + ["VDash"] = 8875, + ["nvdash"] = 8876, + ["nvDash"] = 8877, + ["nVdash"] = 8878, + ["nVDash"] = 8879, + ["prurel"] = 8880, + ["vltri"] = 8882, + ["vartriangleleft"] = 8882, + ["LeftTriangle"] = 8882, + ["vrtri"] = 8883, + ["vartriangleright"] = 8883, + ["RightTriangle"] = 8883, + ["ltrie"] = 8884, + ["trianglelefteq"] = 8884, + ["LeftTriangleEqual"] = 8884, + ["rtrie"] = 8885, + ["trianglerighteq"] = 8885, + ["RightTriangleEqual"] = 8885, + ["origof"] = 8886, + ["imof"] = 8887, + ["mumap"] = 8888, + ["multimap"] = 8888, + ["hercon"] = 8889, + ["intcal"] = 8890, + ["intercal"] = 8890, + ["veebar"] = 8891, + ["barvee"] = 8893, + ["angrtvb"] = 8894, + ["lrtri"] = 8895, + ["xwedge"] = 8896, + ["Wedge"] = 8896, + ["bigwedge"] = 8896, + ["xvee"] = 8897, + ["Vee"] = 8897, + ["bigvee"] = 8897, + ["xcap"] = 8898, + ["Intersection"] = 8898, + ["bigcap"] = 8898, + ["xcup"] = 8899, + ["Union"] = 8899, + ["bigcup"] = 8899, + ["diam"] = 8900, + ["diamond"] = 8900, + ["Diamond"] = 8900, + ["sdot"] = 8901, + ["sstarf"] = 8902, + ["Star"] = 8902, + ["divonx"] = 8903, + ["divideontimes"] = 8903, + ["bowtie"] = 8904, + ["ltimes"] = 8905, + ["rtimes"] = 8906, + ["lthree"] = 8907, + ["leftthreetimes"] = 8907, + ["rthree"] = 8908, + ["rightthreetimes"] = 8908, + ["bsime"] = 8909, + ["backsimeq"] = 8909, + ["cuvee"] = 8910, + ["curlyvee"] = 8910, + ["cuwed"] = 8911, + ["curlywedge"] = 8911, + ["Sub"] = 8912, + ["Subset"] = 8912, + ["Sup"] = 8913, + ["Supset"] = 8913, + ["Cap"] = 8914, + ["Cup"] = 8915, + ["fork"] = 8916, + ["pitchfork"] = 8916, + ["epar"] = 8917, + ["ltdot"] = 8918, + ["lessdot"] = 8918, + ["gtdot"] = 8919, + ["gtrdot"] = 8919, + ["Ll"] = 8920, + ["Gg"] = 8921, + ["ggg"] = 8921, + ["leg"] = 8922, + ["LessEqualGreater"] = 8922, + ["lesseqgtr"] = 8922, + ["gel"] = 8923, + ["gtreqless"] = 8923, + ["GreaterEqualLess"] = 8923, + ["cuepr"] = 8926, + ["curlyeqprec"] = 8926, + ["cuesc"] = 8927, + ["curlyeqsucc"] = 8927, + ["nprcue"] = 8928, + ["NotPrecedesSlantEqual"] = 8928, + ["nsccue"] = 8929, + ["NotSucceedsSlantEqual"] = 8929, + ["nsqsube"] = 8930, + ["NotSquareSubsetEqual"] = 8930, + ["nsqsupe"] = 8931, + ["NotSquareSupersetEqual"] = 8931, + ["lnsim"] = 8934, + ["gnsim"] = 8935, + ["prnsim"] = 8936, + ["precnsim"] = 8936, + ["scnsim"] = 8937, + ["succnsim"] = 8937, + ["nltri"] = 8938, + ["ntriangleleft"] = 8938, + ["NotLeftTriangle"] = 8938, + ["nrtri"] = 8939, + ["ntriangleright"] = 8939, + ["NotRightTriangle"] = 8939, + ["nltrie"] = 8940, + ["ntrianglelefteq"] = 8940, + ["NotLeftTriangleEqual"] = 8940, + ["nrtrie"] = 8941, + ["ntrianglerighteq"] = 8941, + ["NotRightTriangleEqual"] = 8941, + ["vellip"] = 8942, + ["ctdot"] = 8943, + ["utdot"] = 8944, + ["dtdot"] = 8945, + ["disin"] = 8946, + ["isinsv"] = 8947, + ["isins"] = 8948, + ["isindot"] = 8949, + ["notinvc"] = 8950, + ["notinvb"] = 8951, + ["isinE"] = 8953, + ["nisd"] = 8954, + ["xnis"] = 8955, + ["nis"] = 8956, + ["notnivc"] = 8957, + ["notnivb"] = 8958, + ["barwed"] = 8965, + ["barwedge"] = 8965, + ["Barwed"] = 8966, + ["doublebarwedge"] = 8966, + ["lceil"] = 8968, + ["LeftCeiling"] = 8968, + ["rceil"] = 8969, + ["RightCeiling"] = 8969, + ["lfloor"] = 8970, + ["LeftFloor"] = 8970, + ["rfloor"] = 8971, + ["RightFloor"] = 8971, + ["drcrop"] = 8972, + ["dlcrop"] = 8973, + ["urcrop"] = 8974, + ["ulcrop"] = 8975, + ["bnot"] = 8976, + ["profline"] = 8978, + ["profsurf"] = 8979, + ["telrec"] = 8981, + ["target"] = 8982, + ["ulcorn"] = 8988, + ["ulcorner"] = 8988, + ["urcorn"] = 8989, + ["urcorner"] = 8989, + ["dlcorn"] = 8990, + ["llcorner"] = 8990, + ["drcorn"] = 8991, + ["lrcorner"] = 8991, + ["frown"] = 8994, + ["sfrown"] = 8994, + ["smile"] = 8995, + ["ssmile"] = 8995, + ["cylcty"] = 9005, + ["profalar"] = 9006, + ["topbot"] = 9014, + ["ovbar"] = 9021, + ["solbar"] = 9023, + ["angzarr"] = 9084, + ["lmoust"] = 9136, + ["lmoustache"] = 9136, + ["rmoust"] = 9137, + ["rmoustache"] = 9137, + ["tbrk"] = 9140, + ["OverBracket"] = 9140, + ["bbrk"] = 9141, + ["UnderBracket"] = 9141, + ["bbrktbrk"] = 9142, + ["OverParenthesis"] = 9180, + ["UnderParenthesis"] = 9181, + ["OverBrace"] = 9182, + ["UnderBrace"] = 9183, + ["trpezium"] = 9186, + ["elinters"] = 9191, + ["blank"] = 9251, + ["oS"] = 9416, + ["circledS"] = 9416, + ["boxh"] = 9472, + ["HorizontalLine"] = 9472, + ["boxv"] = 9474, + ["boxdr"] = 9484, + ["boxdl"] = 9488, + ["boxur"] = 9492, + ["boxul"] = 9496, + ["boxvr"] = 9500, + ["boxvl"] = 9508, + ["boxhd"] = 9516, + ["boxhu"] = 9524, + ["boxvh"] = 9532, + ["boxH"] = 9552, + ["boxV"] = 9553, + ["boxdR"] = 9554, + ["boxDr"] = 9555, + ["boxDR"] = 9556, + ["boxdL"] = 9557, + ["boxDl"] = 9558, + ["boxDL"] = 9559, + ["boxuR"] = 9560, + ["boxUr"] = 9561, + ["boxUR"] = 9562, + ["boxuL"] = 9563, + ["boxUl"] = 9564, + ["boxUL"] = 9565, + ["boxvR"] = 9566, + ["boxVr"] = 9567, + ["boxVR"] = 9568, + ["boxvL"] = 9569, + ["boxVl"] = 9570, + ["boxVL"] = 9571, + ["boxHd"] = 9572, + ["boxhD"] = 9573, + ["boxHD"] = 9574, + ["boxHu"] = 9575, + ["boxhU"] = 9576, + ["boxHU"] = 9577, + ["boxvH"] = 9578, + ["boxVh"] = 9579, + ["boxVH"] = 9580, + ["uhblk"] = 9600, + ["lhblk"] = 9604, + ["block"] = 9608, + ["blk14"] = 9617, + ["blk12"] = 9618, + ["blk34"] = 9619, + ["squ"] = 9633, + ["square"] = 9633, + ["Square"] = 9633, + ["squf"] = 9642, + ["squarf"] = 9642, + ["blacksquare"] = 9642, + ["FilledVerySmallSquare"] = 9642, + ["EmptyVerySmallSquare"] = 9643, + ["rect"] = 9645, + ["marker"] = 9646, + ["fltns"] = 9649, + ["xutri"] = 9651, + ["bigtriangleup"] = 9651, + ["utrif"] = 9652, + ["blacktriangle"] = 9652, + ["utri"] = 9653, + ["triangle"] = 9653, + ["rtrif"] = 9656, + ["blacktriangleright"] = 9656, + ["rtri"] = 9657, + ["triangleright"] = 9657, + ["xdtri"] = 9661, + ["bigtriangledown"] = 9661, + ["dtrif"] = 9662, + ["blacktriangledown"] = 9662, + ["dtri"] = 9663, + ["triangledown"] = 9663, + ["ltrif"] = 9666, + ["blacktriangleleft"] = 9666, + ["ltri"] = 9667, + ["triangleleft"] = 9667, + ["loz"] = 9674, + ["lozenge"] = 9674, + ["cir"] = 9675, + ["tridot"] = 9708, + ["xcirc"] = 9711, + ["bigcirc"] = 9711, + ["ultri"] = 9720, + ["urtri"] = 9721, + ["lltri"] = 9722, + ["EmptySmallSquare"] = 9723, + ["FilledSmallSquare"] = 9724, + ["starf"] = 9733, + ["bigstar"] = 9733, + ["star"] = 9734, + ["phone"] = 9742, + ["female"] = 9792, + ["male"] = 9794, + ["spades"] = 9824, + ["spadesuit"] = 9824, + ["clubs"] = 9827, + ["clubsuit"] = 9827, + ["hearts"] = 9829, + ["heartsuit"] = 9829, + ["diams"] = 9830, + ["diamondsuit"] = 9830, + ["sung"] = 9834, + ["flat"] = 9837, + ["natur"] = 9838, + ["natural"] = 9838, + ["sharp"] = 9839, + ["check"] = 10003, + ["checkmark"] = 10003, + ["cross"] = 10007, + ["malt"] = 10016, + ["maltese"] = 10016, + ["sext"] = 10038, + ["VerticalSeparator"] = 10072, + ["lbbrk"] = 10098, + ["rbbrk"] = 10099, + ["lobrk"] = 10214, + ["LeftDoubleBracket"] = 10214, + ["robrk"] = 10215, + ["RightDoubleBracket"] = 10215, + ["lang"] = 10216, + ["LeftAngleBracket"] = 10216, + ["langle"] = 10216, + ["rang"] = 10217, + ["RightAngleBracket"] = 10217, + ["rangle"] = 10217, + ["Lang"] = 10218, + ["Rang"] = 10219, + ["loang"] = 10220, + ["roang"] = 10221, + ["xlarr"] = 10229, + ["longleftarrow"] = 10229, + ["LongLeftArrow"] = 10229, + ["xrarr"] = 10230, + ["longrightarrow"] = 10230, + ["LongRightArrow"] = 10230, + ["xharr"] = 10231, + ["longleftrightarrow"] = 10231, + ["LongLeftRightArrow"] = 10231, + ["xlArr"] = 10232, + ["Longleftarrow"] = 10232, + ["DoubleLongLeftArrow"] = 10232, + ["xrArr"] = 10233, + ["Longrightarrow"] = 10233, + ["DoubleLongRightArrow"] = 10233, + ["xhArr"] = 10234, + ["Longleftrightarrow"] = 10234, + ["DoubleLongLeftRightArrow"] = 10234, + ["xmap"] = 10236, + ["longmapsto"] = 10236, + ["dzigrarr"] = 10239, + ["nvlArr"] = 10498, + ["nvrArr"] = 10499, + ["nvHarr"] = 10500, + ["Map"] = 10501, + ["lbarr"] = 10508, + ["rbarr"] = 10509, + ["bkarow"] = 10509, + ["lBarr"] = 10510, + ["rBarr"] = 10511, + ["dbkarow"] = 10511, + ["RBarr"] = 10512, + ["drbkarow"] = 10512, + ["DDotrahd"] = 10513, + ["UpArrowBar"] = 10514, + ["DownArrowBar"] = 10515, + ["Rarrtl"] = 10518, + ["latail"] = 10521, + ["ratail"] = 10522, + ["lAtail"] = 10523, + ["rAtail"] = 10524, + ["larrfs"] = 10525, + ["rarrfs"] = 10526, + ["larrbfs"] = 10527, + ["rarrbfs"] = 10528, + ["nwarhk"] = 10531, + ["nearhk"] = 10532, + ["searhk"] = 10533, + ["hksearow"] = 10533, + ["swarhk"] = 10534, + ["hkswarow"] = 10534, + ["nwnear"] = 10535, + ["nesear"] = 10536, + ["toea"] = 10536, + ["seswar"] = 10537, + ["tosa"] = 10537, + ["swnwar"] = 10538, + ["rarrc"] = 10547, + ["cudarrr"] = 10549, + ["ldca"] = 10550, + ["rdca"] = 10551, + ["cudarrl"] = 10552, + ["larrpl"] = 10553, + ["curarrm"] = 10556, + ["cularrp"] = 10557, + ["rarrpl"] = 10565, + ["harrcir"] = 10568, + ["Uarrocir"] = 10569, + ["lurdshar"] = 10570, + ["ldrushar"] = 10571, + ["LeftRightVector"] = 10574, + ["RightUpDownVector"] = 10575, + ["DownLeftRightVector"] = 10576, + ["LeftUpDownVector"] = 10577, + ["LeftVectorBar"] = 10578, + ["RightVectorBar"] = 10579, + ["RightUpVectorBar"] = 10580, + ["RightDownVectorBar"] = 10581, + ["DownLeftVectorBar"] = 10582, + ["DownRightVectorBar"] = 10583, + ["LeftUpVectorBar"] = 10584, + ["LeftDownVectorBar"] = 10585, + ["LeftTeeVector"] = 10586, + ["RightTeeVector"] = 10587, + ["RightUpTeeVector"] = 10588, + ["RightDownTeeVector"] = 10589, + ["DownLeftTeeVector"] = 10590, + ["DownRightTeeVector"] = 10591, + ["LeftUpTeeVector"] = 10592, + ["LeftDownTeeVector"] = 10593, + ["lHar"] = 10594, + ["uHar"] = 10595, + ["rHar"] = 10596, + ["dHar"] = 10597, + ["luruhar"] = 10598, + ["ldrdhar"] = 10599, + ["ruluhar"] = 10600, + ["rdldhar"] = 10601, + ["lharul"] = 10602, + ["llhard"] = 10603, + ["rharul"] = 10604, + ["lrhard"] = 10605, + ["udhar"] = 10606, + ["UpEquilibrium"] = 10606, + ["duhar"] = 10607, + ["ReverseUpEquilibrium"] = 10607, + ["RoundImplies"] = 10608, + ["erarr"] = 10609, + ["simrarr"] = 10610, + ["larrsim"] = 10611, + ["rarrsim"] = 10612, + ["rarrap"] = 10613, + ["ltlarr"] = 10614, + ["gtrarr"] = 10616, + ["subrarr"] = 10617, + ["suplarr"] = 10619, + ["lfisht"] = 10620, + ["rfisht"] = 10621, + ["ufisht"] = 10622, + ["dfisht"] = 10623, + ["lopar"] = 10629, + ["ropar"] = 10630, + ["lbrke"] = 10635, + ["rbrke"] = 10636, + ["lbrkslu"] = 10637, + ["rbrksld"] = 10638, + ["lbrksld"] = 10639, + ["rbrkslu"] = 10640, + ["langd"] = 10641, + ["rangd"] = 10642, + ["lparlt"] = 10643, + ["rpargt"] = 10644, + ["gtlPar"] = 10645, + ["ltrPar"] = 10646, + ["vzigzag"] = 10650, + ["vangrt"] = 10652, + ["angrtvbd"] = 10653, + ["ange"] = 10660, + ["range"] = 10661, + ["dwangle"] = 10662, + ["uwangle"] = 10663, + ["angmsdaa"] = 10664, + ["angmsdab"] = 10665, + ["angmsdac"] = 10666, + ["angmsdad"] = 10667, + ["angmsdae"] = 10668, + ["angmsdaf"] = 10669, + ["angmsdag"] = 10670, + ["angmsdah"] = 10671, + ["bemptyv"] = 10672, + ["demptyv"] = 10673, + ["cemptyv"] = 10674, + ["raemptyv"] = 10675, + ["laemptyv"] = 10676, + ["ohbar"] = 10677, + ["omid"] = 10678, + ["opar"] = 10679, + ["operp"] = 10681, + ["olcross"] = 10683, + ["odsold"] = 10684, + ["olcir"] = 10686, + ["ofcir"] = 10687, + ["olt"] = 10688, + ["ogt"] = 10689, + ["cirscir"] = 10690, + ["cirE"] = 10691, + ["solb"] = 10692, + ["bsolb"] = 10693, + ["boxbox"] = 10697, + ["trisb"] = 10701, + ["rtriltri"] = 10702, + ["LeftTriangleBar"] = 10703, + ["RightTriangleBar"] = 10704, + ["race"] = 10714, + ["iinfin"] = 10716, + ["infintie"] = 10717, + ["nvinfin"] = 10718, + ["eparsl"] = 10723, + ["smeparsl"] = 10724, + ["eqvparsl"] = 10725, + ["lozf"] = 10731, + ["blacklozenge"] = 10731, + ["RuleDelayed"] = 10740, + ["dsol"] = 10742, + ["xodot"] = 10752, + ["bigodot"] = 10752, + ["xoplus"] = 10753, + ["bigoplus"] = 10753, + ["xotime"] = 10754, + ["bigotimes"] = 10754, + ["xuplus"] = 10756, + ["biguplus"] = 10756, + ["xsqcup"] = 10758, + ["bigsqcup"] = 10758, + ["qint"] = 10764, + ["iiiint"] = 10764, + ["fpartint"] = 10765, + ["cirfnint"] = 10768, + ["awint"] = 10769, + ["rppolint"] = 10770, + ["scpolint"] = 10771, + ["npolint"] = 10772, + ["pointint"] = 10773, + ["quatint"] = 10774, + ["intlarhk"] = 10775, + ["pluscir"] = 10786, + ["plusacir"] = 10787, + ["simplus"] = 10788, + ["plusdu"] = 10789, + ["plussim"] = 10790, + ["plustwo"] = 10791, + ["mcomma"] = 10793, + ["minusdu"] = 10794, + ["loplus"] = 10797, + ["roplus"] = 10798, + ["Cross"] = 10799, + ["timesd"] = 10800, + ["timesbar"] = 10801, + ["smashp"] = 10803, + ["lotimes"] = 10804, + ["rotimes"] = 10805, + ["otimesas"] = 10806, + ["Otimes"] = 10807, + ["odiv"] = 10808, + ["triplus"] = 10809, + ["triminus"] = 10810, + ["tritime"] = 10811, + ["iprod"] = 10812, + ["intprod"] = 10812, + ["amalg"] = 10815, + ["capdot"] = 10816, + ["ncup"] = 10818, + ["ncap"] = 10819, + ["capand"] = 10820, + ["cupor"] = 10821, + ["cupcap"] = 10822, + ["capcup"] = 10823, + ["cupbrcap"] = 10824, + ["capbrcup"] = 10825, + ["cupcup"] = 10826, + ["capcap"] = 10827, + ["ccups"] = 10828, + ["ccaps"] = 10829, + ["ccupssm"] = 10832, + ["And"] = 10835, + ["Or"] = 10836, + ["andand"] = 10837, + ["oror"] = 10838, + ["orslope"] = 10839, + ["andslope"] = 10840, + ["andv"] = 10842, + ["orv"] = 10843, + ["andd"] = 10844, + ["ord"] = 10845, + ["wedbar"] = 10847, + ["sdote"] = 10854, + ["simdot"] = 10858, + ["congdot"] = 10861, + ["easter"] = 10862, + ["apacir"] = 10863, + ["apE"] = 10864, + ["eplus"] = 10865, + ["pluse"] = 10866, + ["Esim"] = 10867, + ["Colone"] = 10868, + ["Equal"] = 10869, + ["eDDot"] = 10871, + ["ddotseq"] = 10871, + ["equivDD"] = 10872, + ["ltcir"] = 10873, + ["gtcir"] = 10874, + ["ltquest"] = 10875, + ["gtquest"] = 10876, + ["les"] = 10877, + ["LessSlantEqual"] = 10877, + ["leqslant"] = 10877, + ["ges"] = 10878, + ["GreaterSlantEqual"] = 10878, + ["geqslant"] = 10878, + ["lesdot"] = 10879, + ["gesdot"] = 10880, + ["lesdoto"] = 10881, + ["gesdoto"] = 10882, + ["lesdotor"] = 10883, + ["gesdotol"] = 10884, + ["lap"] = 10885, + ["lessapprox"] = 10885, + ["gap"] = 10886, + ["gtrapprox"] = 10886, + ["lne"] = 10887, + ["lneq"] = 10887, + ["gne"] = 10888, + ["gneq"] = 10888, + ["lnap"] = 10889, + ["lnapprox"] = 10889, + ["gnap"] = 10890, + ["gnapprox"] = 10890, + ["lEg"] = 10891, + ["lesseqqgtr"] = 10891, + ["gEl"] = 10892, + ["gtreqqless"] = 10892, + ["lsime"] = 10893, + ["gsime"] = 10894, + ["lsimg"] = 10895, + ["gsiml"] = 10896, + ["lgE"] = 10897, + ["glE"] = 10898, + ["lesges"] = 10899, + ["gesles"] = 10900, + ["els"] = 10901, + ["eqslantless"] = 10901, + ["egs"] = 10902, + ["eqslantgtr"] = 10902, + ["elsdot"] = 10903, + ["egsdot"] = 10904, + ["el"] = 10905, + ["eg"] = 10906, + ["siml"] = 10909, + ["simg"] = 10910, + ["simlE"] = 10911, + ["simgE"] = 10912, + ["LessLess"] = 10913, + ["GreaterGreater"] = 10914, + ["glj"] = 10916, + ["gla"] = 10917, + ["ltcc"] = 10918, + ["gtcc"] = 10919, + ["lescc"] = 10920, + ["gescc"] = 10921, + ["smt"] = 10922, + ["lat"] = 10923, + ["smte"] = 10924, + ["late"] = 10925, + ["bumpE"] = 10926, + ["pre"] = 10927, + ["preceq"] = 10927, + ["PrecedesEqual"] = 10927, + ["sce"] = 10928, + ["succeq"] = 10928, + ["SucceedsEqual"] = 10928, + ["prE"] = 10931, + ["scE"] = 10932, + ["prnE"] = 10933, + ["precneqq"] = 10933, + ["scnE"] = 10934, + ["succneqq"] = 10934, + ["prap"] = 10935, + ["precapprox"] = 10935, + ["scap"] = 10936, + ["succapprox"] = 10936, + ["prnap"] = 10937, + ["precnapprox"] = 10937, + ["scnap"] = 10938, + ["succnapprox"] = 10938, + ["Pr"] = 10939, + ["Sc"] = 10940, + ["subdot"] = 10941, + ["supdot"] = 10942, + ["subplus"] = 10943, + ["supplus"] = 10944, + ["submult"] = 10945, + ["supmult"] = 10946, + ["subedot"] = 10947, + ["supedot"] = 10948, + ["subE"] = 10949, + ["subseteqq"] = 10949, + ["supE"] = 10950, + ["supseteqq"] = 10950, + ["subsim"] = 10951, + ["supsim"] = 10952, + ["subnE"] = 10955, + ["subsetneqq"] = 10955, + ["supnE"] = 10956, + ["supsetneqq"] = 10956, + ["csub"] = 10959, + ["csup"] = 10960, + ["csube"] = 10961, + ["csupe"] = 10962, + ["subsup"] = 10963, + ["supsub"] = 10964, + ["subsub"] = 10965, + ["supsup"] = 10966, + ["suphsub"] = 10967, + ["supdsub"] = 10968, + ["forkv"] = 10969, + ["topfork"] = 10970, + ["mlcp"] = 10971, + ["Dashv"] = 10980, + ["DoubleLeftTee"] = 10980, + ["Vdashl"] = 10982, + ["Barv"] = 10983, + ["vBar"] = 10984, + ["vBarv"] = 10985, + ["Vbar"] = 10987, + ["Not"] = 10988, + ["bNot"] = 10989, + ["rnmid"] = 10990, + ["cirmid"] = 10991, + ["midcir"] = 10992, + ["topcir"] = 10993, + ["nhpar"] = 10994, + ["parsim"] = 10995, + ["parsl"] = 11005, + ["fflig"] = 64256, + ["filig"] = 64257, + ["fllig"] = 64258, + ["ffilig"] = 64259, + ["ffllig"] = 64260, + ["Ascr"] = 119964, + ["Cscr"] = 119966, + ["Dscr"] = 119967, + ["Gscr"] = 119970, + ["Jscr"] = 119973, + ["Kscr"] = 119974, + ["Nscr"] = 119977, + ["Oscr"] = 119978, + ["Pscr"] = 119979, + ["Qscr"] = 119980, + ["Sscr"] = 119982, + ["Tscr"] = 119983, + ["Uscr"] = 119984, + ["Vscr"] = 119985, + ["Wscr"] = 119986, + ["Xscr"] = 119987, + ["Yscr"] = 119988, + ["Zscr"] = 119989, + ["ascr"] = 119990, + ["bscr"] = 119991, + ["cscr"] = 119992, + ["dscr"] = 119993, + ["fscr"] = 119995, + ["hscr"] = 119997, + ["iscr"] = 119998, + ["jscr"] = 119999, + ["kscr"] = 120000, + ["lscr"] = 120001, + ["mscr"] = 120002, + ["nscr"] = 120003, + ["pscr"] = 120005, + ["qscr"] = 120006, + ["rscr"] = 120007, + ["sscr"] = 120008, + ["tscr"] = 120009, + ["uscr"] = 120010, + ["vscr"] = 120011, + ["wscr"] = 120012, + ["xscr"] = 120013, + ["yscr"] = 120014, + ["zscr"] = 120015, + ["Afr"] = 120068, + ["Bfr"] = 120069, + ["Dfr"] = 120071, + ["Efr"] = 120072, + ["Ffr"] = 120073, + ["Gfr"] = 120074, + ["Jfr"] = 120077, + ["Kfr"] = 120078, + ["Lfr"] = 120079, + ["Mfr"] = 120080, + ["Nfr"] = 120081, + ["Ofr"] = 120082, + ["Pfr"] = 120083, + ["Qfr"] = 120084, + ["Sfr"] = 120086, + ["Tfr"] = 120087, + ["Ufr"] = 120088, + ["Vfr"] = 120089, + ["Wfr"] = 120090, + ["Xfr"] = 120091, + ["Yfr"] = 120092, + ["afr"] = 120094, + ["bfr"] = 120095, + ["cfr"] = 120096, + ["dfr"] = 120097, + ["efr"] = 120098, + ["ffr"] = 120099, + ["gfr"] = 120100, + ["hfr"] = 120101, + ["ifr"] = 120102, + ["jfr"] = 120103, + ["kfr"] = 120104, + ["lfr"] = 120105, + ["mfr"] = 120106, + ["nfr"] = 120107, + ["ofr"] = 120108, + ["pfr"] = 120109, + ["qfr"] = 120110, + ["rfr"] = 120111, + ["sfr"] = 120112, + ["tfr"] = 120113, + ["ufr"] = 120114, + ["vfr"] = 120115, + ["wfr"] = 120116, + ["xfr"] = 120117, + ["yfr"] = 120118, + ["zfr"] = 120119, + ["Aopf"] = 120120, + ["Bopf"] = 120121, + ["Dopf"] = 120123, + ["Eopf"] = 120124, + ["Fopf"] = 120125, + ["Gopf"] = 120126, + ["Iopf"] = 120128, + ["Jopf"] = 120129, + ["Kopf"] = 120130, + ["Lopf"] = 120131, + ["Mopf"] = 120132, + ["Oopf"] = 120134, + ["Sopf"] = 120138, + ["Topf"] = 120139, + ["Uopf"] = 120140, + ["Vopf"] = 120141, + ["Wopf"] = 120142, + ["Xopf"] = 120143, + ["Yopf"] = 120144, + ["aopf"] = 120146, + ["bopf"] = 120147, + ["copf"] = 120148, + ["dopf"] = 120149, + ["eopf"] = 120150, + ["fopf"] = 120151, + ["gopf"] = 120152, + ["hopf"] = 120153, + ["iopf"] = 120154, + ["jopf"] = 120155, + ["kopf"] = 120156, + ["lopf"] = 120157, + ["mopf"] = 120158, + ["nopf"] = 120159, + ["oopf"] = 120160, + ["popf"] = 120161, + ["qopf"] = 120162, + ["ropf"] = 120163, + ["sopf"] = 120164, + ["topf"] = 120165, + ["uopf"] = 120166, + ["vopf"] = 120167, + ["wopf"] = 120168, + ["xopf"] = 120169, + ["yopf"] = 120170, + ["zopf"] = 120171, } % \end{macrocode} % \par % \begin{markdown} % % Given a string `s` of decimal digits, the \luamdef{entities.dec_entity} -% returns the corresponding \textsc{utf}8-encoded Unicode codepoint. +% returns the corresponding \acro{utf}8-encoded Unicode codepoint. % % \end{markdown} % \begin{macrocode} @@ -10830,7 +13085,7 @@ end % % Given a string `s` of hexadecimal digits, the % \luamdef{entities.hex_entity} returns the corresponding -% \textsc{utf}8-encoded Unicode codepoint. +% \acro{utf}8-encoded Unicode codepoint. % % \end{markdown} % \begin{macrocode} @@ -10843,12 +13098,15 @@ end % % Given a character entity name `s` (like `ouml`), the % \luamdef{entities.char_entity} returns the corresponding -% \textsc{utf}8-encoded Unicode codepoint. +% \acro{utf}8-encoded Unicode codepoint. % % \end{markdown} % \begin{macrocode} function entities.char_entity(s) local n = character_entities[s] + if n == nil then + return "&" .. s .. ";" + end return unicode.utf8.char(n) end % \end{macrocode} @@ -11162,6 +13420,37 @@ function M.writer.new(options) % \par % \begin{markdown} % +% Define \luamdef{writer->table} as a function that will transform an input +% table to the output format, where `rows` is a sequence of columns and a +% column is a sequence of cell texts. +% +% \end{markdown} +% \begin{macrocode} + function self.table(rows, caption) + local buffer = {"\\markdownRendererTable{", + caption or "", "}{", #rows - 1, "}{", #rows[1], "}"} + local temp = rows[2] -- put alignments on the first row + rows[2] = rows[1] + rows[1] = temp + for i, row in ipairs(rows) do + table.insert(buffer, "{") + for _, column in ipairs(row) do + if i > 1 then -- do not use braces for alignments + table.insert(buffer, "{") + end + table.insert(buffer, column) + if i > 1 then + table.insert(buffer, "}%\n") + end + end + table.insert(buffer, "}%\n") + end + return buffer + end +% \end{macrocode} +% \par +% \begin{markdown} +% % Define \luamdef{writer->image} as a function that will transform an input % image to the output format, where `lab` corresponds to the label, `src` % to the \acro{url}, and `tit` to the title of the image. @@ -11319,8 +13608,8 @@ function M.writer.new(options) % \begin{markdown} % % Define \luamdef{writer->inline_html} and \luamdef{writer->display_html} -% as functions that will transform an inline or block \textsc{html} element -% respectively to the output format, where `html` is the \textsc{html} +% as functions that will transform an inline or block \acro{html} element +% respectively to the output format, where `html` is the \acro{html} % input. % % \end{markdown} @@ -11496,7 +13785,8 @@ function M.writer.new(options) if not self.is_writing then return "" end local cmd - if level == 1 then + level = level + options.shiftHeadings + if level <= 1 then cmd = "\\markdownRendererHeadingOne" elseif level == 2 then cmd = "\\markdownRendererHeadingTwo" @@ -11506,7 +13796,7 @@ function M.writer.new(options) cmd = "\\markdownRendererHeadingFour" elseif level == 5 then cmd = "\\markdownRendererHeadingFive" - elseif level == 6 then + elseif level >= 6 then cmd = "\\markdownRendererHeadingSix" else cmd = "" @@ -11604,6 +13894,7 @@ parsers.equal = P("=") parsers.colon = P(":") parsers.semicolon = P(";") parsers.exclamation = P("!") +parsers.pipe = P("|") parsers.tilde = P("~") parsers.tab = P("\t") parsers.newline = P("\n") @@ -11658,7 +13949,6 @@ parsers.sp = parsers.spacing^0 parsers.spnl = parsers.optionalspace * (parsers.newline * parsers.optionalspace)^-1 parsers.line = parsers.linechar^0 * parsers.newline - + parsers.linechar^1 * parsers.eof parsers.nonemptyline = parsers.line - parsers.blankline parsers.chunk = parsers.line * (parsers.optionallyindentedline @@ -12003,7 +14293,92 @@ parsers.RawNoteRef = #(parsers.lbracket * parsers.circumflex) % \par % \begin{markdown} % -%#### Parsers Used for \textsc{html} +%#### Parsers Used for Tables +% +% \end{markdown} +% \begin{macrocode} +local function make_pipe_table_rectangular(rows) + local num_columns = #rows[2] + local rectangular_rows = {} + for i = 1, #rows do + local row = rows[i] + local rectangular_row = {} + for j = 1, num_columns do + rectangular_row[j] = row[j] or "" + end + table.insert(rectangular_rows, rectangular_row) + end + return rectangular_rows +end + +local function pipe_table_row(allow_empty_first_column + , nonempty_column + , column_separator + , column) + local row_beginning + if allow_empty_first_column then + row_beginning = -- empty first column + #(parsers.spacechar^4 + * column_separator) + * parsers.optionalspace + * column + * parsers.optionalspace + -- non-empty first column + + parsers.nonindentspace + * nonempty_column^-1 + * parsers.optionalspace + else + row_beginning = parsers.nonindentspace + * nonempty_column^-1 + * parsers.optionalspace + end + + return Ct(row_beginning + * (-- single column with no leading pipes + #(column_separator + * parsers.optionalspace + * parsers.newline) + * column_separator + * parsers.optionalspace + -- single column with leading pipes or + -- more than a single column + + (column_separator + * parsers.optionalspace + * column + * parsers.optionalspace)^1 + * (column_separator + * parsers.optionalspace)^-1)) +end + +parsers.table_hline_separator = parsers.pipe + parsers.plus +parsers.table_hline_column = (parsers.dash + - #(parsers.dash + * (parsers.spacechar + + parsers.table_hline_separator + + parsers.newline)))^1 + * (parsers.colon * Cc("r") + + parsers.dash * Cc("d")) + + parsers.colon + * (parsers.dash + - #(parsers.dash + * (parsers.spacechar + + parsers.table_hline_separator + + parsers.newline)))^1 + * (parsers.colon * Cc("c") + + parsers.dash * Cc("l")) +parsers.table_hline = pipe_table_row(false + , parsers.table_hline_column + , parsers.table_hline_separator + , parsers.table_hline_column) +parsers.table_caption_beginning = parsers.skipblanklines + * parsers.nonindentspace + * (P("Table")^-1 * parsers.colon) + * parsers.optionalspace +% \end{macrocode} +% \par +% \begin{markdown} +% +%#### Parsers Used for HTML % % \end{markdown} % \begin{macrocode} @@ -12116,7 +14491,7 @@ parsers.inlinehtml = parsers.emptyelt_any % \par % \begin{markdown} % -%#### Parsers Used for \textsc{html} Entities +%#### Parsers Used for HTML Entities % % \end{markdown} % \begin{macrocode} @@ -12146,7 +14521,8 @@ parsers.define_reference_parser = parsers.leader * parsers.tag * parsers.colon % % \end{markdown} % \begin{macrocode} -parsers.Inline = V("Inline") +parsers.Inline = V("Inline") +parsers.IndentedInline = V("IndentedInline") -- parse many p between starter and ender parsers.between = function(p, starter, ender) @@ -12502,6 +14878,36 @@ function M.reader.new(writer, options) % \par % \begin{markdown} % +%#### Parsers Used for Tables (local) +% +% \end{markdown} +% \begin{macrocode} +larsers.table_row = pipe_table_row(true + , (C((parsers.linechar - parsers.pipe)^1) + / parse_inlines) + , parsers.pipe + , (C((parsers.linechar - parsers.pipe)^0) + / parse_inlines)) + +if options.tableCaptions then + larsers.table_caption = #parsers.table_caption_beginning + * parsers.table_caption_beginning + * Ct(parsers.IndentedInline^1) + * parsers.newline +else + larsers.table_caption = parsers.fail +end + +larsers.PipeTable = Ct(larsers.table_row * parsers.newline + * parsers.table_hline + * (parsers.newline * larsers.table_row)^0) + / make_pipe_table_rectangular + * larsers.table_caption^-1 + / writer.table +% \end{macrocode} +% \par +% \begin{markdown} +% %#### Helpers for Links and References (local) % % \end{markdown} @@ -12613,6 +15019,9 @@ function M.reader.new(writer, options) + larsers.fencestart ) * parsers.spacechar^0 / writer.space + larsers.OptionalIndent + = parsers.spacechar^1 / writer.space + larsers.Space = parsers.spacechar^2 * larsers.Endline / writer.linebreak + parsers.spacechar^1 * larsers.Endline^-1 * parsers.eof / "" + parsers.spacechar^1 * larsers.Endline^-1 @@ -12976,6 +15385,7 @@ function M.reader.new(writer, options) Block = V("ContentBlock") + V("Blockquote") + + V("PipeTable") + V("Verbatim") + V("FencedCode") + V("HorizontalRule") @@ -12998,6 +15408,7 @@ function M.reader.new(writer, options) DefinitionList = larsers.DefinitionList, DisplayHtml = larsers.DisplayHtml, Paragraph = larsers.Paragraph, + PipeTable = larsers.PipeTable, Plain = larsers.Plain, Inline = V("Str") @@ -13020,8 +15431,29 @@ function M.reader.new(writer, options) + V("Smart") + V("Symbol"), + IndentedInline = V("Str") + + V("OptionalIndent") + + V("Endline") + + V("UlOrStarLine") + + V("Strong") + + V("Emph") + + V("InlineNote") + + V("NoteRef") + + V("Citations") + + V("Link") + + V("Image") + + V("Code") + + V("AutoLinkUrl") + + V("AutoLinkEmail") + + V("InlineHtml") + + V("HtmlEntity") + + V("EscapedChar") + + V("Smart") + + V("Symbol"), + Str = larsers.Str, Space = larsers.Space, + OptionalIndent = larsers.OptionalIndent, Endline = larsers.Endline, UlOrStarLine = larsers.UlOrStarLine, Strong = larsers.Strong, @@ -13079,6 +15511,10 @@ function M.reader.new(writer, options) syntax.Smart = parsers.fail end + if not options.pipeTables then + syntax.PipeTable = parsers.fail + end + local blocks_toplevel_t = util.table_copy(syntax) blocks_toplevel_t.Paragraph = larsers.ToplevelParagraph larsers.blocks_toplevel = Ct(blocks_toplevel_t) @@ -13388,9 +15824,15 @@ end \ifx\markdownOptionInlineFootnotes\undefined\else inlineFootnotes = \markdownOptionInlineFootnotes, \fi +\ifx\markdownOptionPipeTables\undefined\else + pipeTables = \markdownOptionPipeTables, +\fi \ifx\markdownOptionPreserveTabs\undefined\else preserveTabs = \markdownOptionPreserveTabs, \fi +\ifx\markdownOptionShiftHeadings\undefined\else + shiftHeadings = "\markdownOptionShiftHeadings", +\fi \ifx\markdownOptionSlice\undefined\else slice = "\markdownOptionSlice", \fi @@ -13400,6 +15842,9 @@ end \ifx\markdownOptionStartNumber\undefined\else startNumber = \markdownOptionStartNumber, \fi +\ifx\markdownOptionTableCaptions\undefined\else + tableCaptions = \markdownOptionTableCaptions, +\fi \ifx\markdownOptionTightLists\undefined\else tightLists = \markdownOptionTightLists, \fi @@ -14389,6 +16834,93 @@ local convert = md.new(\markdownLuaOptions) % \par % \begin{markdown} % +% There is a basic implementation of tables. If the \pkg{booktabs} package is +% loaded, then it is used to produce horizontal lines. +% +% \end{markdown} +% \begin{macrocode} +\newcount\markdownLaTeXRowCounter +\newcount\markdownLaTeXRowTotal +\newcount\markdownLaTeXColumnCounter +\newcount\markdownLaTeXColumnTotal +\newtoks\markdownLaTeXTable +\newtoks\markdownLaTeXTableAlignment +\newtoks\markdownLaTeXTableEnd +\@ifpackageloaded{booktabs}{ + \let\markdownLaTeXTopRule\toprule + \let\markdownLaTeXMidRule\midrule + \let\markdownLaTeXBottomRule\bottomrule +}{ + \let\markdownLaTeXTopRule\hline + \let\markdownLaTeXMidRule\hline + \let\markdownLaTeXBottomRule\hline +} +\markdownSetup{rendererPrototypes={ + table = {% + \markdownLaTeXTable={}% + \markdownLaTeXTableAlignment={}% + \markdownLaTeXTableEnd={% + \markdownLaTeXBottomRule + \end{tabular}}% + \ifx\empty#1\empty\else + \addto@hook\markdownLaTeXTable{% + \begin{table} + \centering}% + \addto@hook\markdownLaTeXTableEnd{% + \caption{#1} + \end{table}}% + \fi + \addto@hook\markdownLaTeXTable{\begin{tabular}}% + \markdownLaTeXRowCounter=0% + \markdownLaTeXRowTotal=#2% + \markdownLaTeXColumnTotal=#3% + \markdownLaTeXRenderTableRow + } +}} +\def\markdownLaTeXRenderTableRow#1{% + \markdownLaTeXColumnCounter=0% + \ifnum\markdownLaTeXRowCounter=0\relax + \markdownLaTeXReadAlignments#1% + \markdownLaTeXTable=\expandafter\expandafter\expandafter{% + \expandafter\the\expandafter\markdownLaTeXTable\expandafter{% + \the\markdownLaTeXTableAlignment}}% + \addto@hook\markdownLaTeXTable{\markdownLaTeXTopRule}% + \else + \markdownLaTeXRenderTableCell#1% + \fi + \ifnum\markdownLaTeXRowCounter=1\relax + \addto@hook\markdownLaTeXTable\markdownLaTeXMidRule + \fi + \advance\markdownLaTeXRowCounter by 1\relax + \ifnum\markdownLaTeXRowCounter>\markdownLaTeXRowTotal\relax + \markdownInfo{\the\markdownLaTeXTable} + \markdownInfo{\the\markdownLaTeXTableEnd} + \the\markdownLaTeXTable + \the\markdownLaTeXTableEnd + \expandafter\@gobble + \fi\markdownLaTeXRenderTableRow} +\def\markdownLaTeXReadAlignments#1{% + \advance\markdownLaTeXColumnCounter by 1\relax + \if#1d% + \addto@hook\markdownLaTeXTableAlignment{l}% + \else + \addto@hook\markdownLaTeXTableAlignment{#1}% + \fi + \ifnum\markdownLaTeXColumnCounter<\markdownLaTeXColumnTotal\relax\else + \expandafter\@gobble + \fi\markdownLaTeXReadAlignments} +\def\markdownLaTeXRenderTableCell#1{% + \advance\markdownLaTeXColumnCounter by 1\relax + \ifnum\markdownLaTeXColumnCounter<\markdownLaTeXColumnTotal\relax + \addto@hook\markdownLaTeXTable{#1&}% + \else + \addto@hook\markdownLaTeXTable{#1\\}% + \expandafter\@gobble + \fi\markdownLaTeXRenderTableCell} +% \end{macrocode} +% \par +% \begin{markdown} +% %### Miscellanea % When buffering user input, we should disable the bytes with the high bit set, % since these are made active by the \pkg{inputenc} package. We will do this by @@ -14616,6 +17148,79 @@ local convert = md.new(\markdownLuaOptions) \def\markdownRendererFootnotePrototype#1{\footnote{#1}}% \stopmodule\protect % \end{macrocode} +% \par +% \begin{markdown} +% +% There is a basic implementation of tables. +% +% \end{markdown} +% \begin{macrocode} +\newcount\markdownConTeXtRowCounter +\newcount\markdownConTeXtRowTotal +\newcount\markdownConTeXtColumnCounter +\newcount\markdownConTeXtColumnTotal +\newtoks\markdownConTeXtTable +\newtoks\markdownConTeXtTableFloat +\def\markdownRendererTablePrototype#1#2#3{% + \markdownConTeXtTable={}% + \ifx\empty#1\empty + \markdownConTeXtTableFloat={% + \the\markdownConTeXtTable}% + \else + \markdownConTeXtTableFloat={% + \placetable{#1}{\the\markdownConTeXtTable}}% + \fi + \begingroup + \setupTABLE[r][each][topframe=off, bottomframe=off, leftframe=off, rightframe=off] + \setupTABLE[c][each][topframe=off, bottomframe=off, leftframe=off, rightframe=off] + \setupTABLE[r][1][topframe=on, bottomframe=on] + \setupTABLE[r][#1][bottomframe=on] + \markdownConTeXtRowCounter=0% + \markdownConTeXtRowTotal=#2% + \markdownConTeXtColumnTotal=#3% + \markdownConTeXtRenderTableRow} +\def\markdownConTeXtRenderTableRow#1{% + \markdownConTeXtColumnCounter=0% + \ifnum\markdownConTeXtRowCounter=0\relax + \markdownConTeXtReadAlignments#1% + \markdownConTeXtTable={\bTABLE}% + \else + \markdownConTeXtTable=\expandafter{% + \the\markdownConTeXtTable\bTR}% + \markdownConTeXtRenderTableCell#1% + \markdownConTeXtTable=\expandafter{% + \the\markdownConTeXtTable\eTR}% + \fi + \advance\markdownConTeXtRowCounter by 1\relax + \ifnum\markdownConTeXtRowCounter>\markdownConTeXtRowTotal\relax + \markdownConTeXtTable=\expandafter{% + \the\markdownConTeXtTable\eTABLE}% + \the\markdownConTeXtTableFloat + \endgroup + \expandafter\gobbleoneargument + \fi\markdownConTeXtRenderTableRow} +\def\markdownConTeXtReadAlignments#1{% + \advance\markdownConTeXtColumnCounter by 1\relax + \if#1d% + \setupTABLE[c][\the\markdownConTeXtColumnCounter][align=right] + \fi\if#1l% + \setupTABLE[c][\the\markdownConTeXtColumnCounter][align=right] + \fi\if#1c% + \setupTABLE[c][\the\markdownConTeXtColumnCounter][align=middle] + \fi\if#1r% + \setupTABLE[c][\the\markdownConTeXtColumnCounter][align=left] + \fi + \ifnum\markdownConTeXtColumnCounter<\markdownConTeXtColumnTotal\relax\else + \expandafter\gobbleoneargument + \fi\markdownConTeXtReadAlignments} +\def\markdownConTeXtRenderTableCell#1{% + \advance\markdownConTeXtColumnCounter by 1\relax + \markdownConTeXtTable=\expandafter{% + \the\markdownConTeXtTable\bTD#1\eTD}% + \ifnum\markdownConTeXtColumnCounter<\markdownConTeXtColumnTotal\relax\else + \expandafter\gobbleoneargument + \fi\markdownConTeXtRenderTableCell} +% \end{macrocode} % \iffalse %</context> % \fi diff --git a/Master/texmf-dist/tex/context/third/markdown/t-markdown.tex b/Master/texmf-dist/tex/context/third/markdown/t-markdown.tex index f114a6d267a..bba5f689d01 100644 --- a/Master/texmf-dist/tex/context/third/markdown/t-markdown.tex +++ b/Master/texmf-dist/tex/context/third/markdown/t-markdown.tex @@ -156,6 +156,71 @@ \blackrule[height=1pt, width=\hsize]}% \def\markdownRendererFootnotePrototype#1{\footnote{#1}}% \stopmodule\protect +\newcount\markdownConTeXtRowCounter +\newcount\markdownConTeXtRowTotal +\newcount\markdownConTeXtColumnCounter +\newcount\markdownConTeXtColumnTotal +\newtoks\markdownConTeXtTable +\newtoks\markdownConTeXtTableFloat +\def\markdownRendererTablePrototype#1#2#3{% + \markdownConTeXtTable={}% + \ifx\empty#1\empty + \markdownConTeXtTableFloat={% + \the\markdownConTeXtTable}% + \else + \markdownConTeXtTableFloat={% + \placetable{#1}{\the\markdownConTeXtTable}}% + \fi + \begingroup + \setupTABLE[r][each][topframe=off, bottomframe=off, leftframe=off, rightframe=off] + \setupTABLE[c][each][topframe=off, bottomframe=off, leftframe=off, rightframe=off] + \setupTABLE[r][1][topframe=on, bottomframe=on] + \setupTABLE[r][#1][bottomframe=on] + \markdownConTeXtRowCounter=0% + \markdownConTeXtRowTotal=#2% + \markdownConTeXtColumnTotal=#3% + \markdownConTeXtRenderTableRow} +\def\markdownConTeXtRenderTableRow#1{% + \markdownConTeXtColumnCounter=0% + \ifnum\markdownConTeXtRowCounter=0\relax + \markdownConTeXtReadAlignments#1% + \markdownConTeXtTable={\bTABLE}% + \else + \markdownConTeXtTable=\expandafter{% + \the\markdownConTeXtTable\bTR}% + \markdownConTeXtRenderTableCell#1% + \markdownConTeXtTable=\expandafter{% + \the\markdownConTeXtTable\eTR}% + \fi + \advance\markdownConTeXtRowCounter by 1\relax + \ifnum\markdownConTeXtRowCounter>\markdownConTeXtRowTotal\relax + \markdownConTeXtTable=\expandafter{% + \the\markdownConTeXtTable\eTABLE}% + \the\markdownConTeXtTableFloat + \endgroup + \expandafter\gobbleoneargument + \fi\markdownConTeXtRenderTableRow} +\def\markdownConTeXtReadAlignments#1{% + \advance\markdownConTeXtColumnCounter by 1\relax + \if#1d% + \setupTABLE[c][\the\markdownConTeXtColumnCounter][align=right] + \fi\if#1l% + \setupTABLE[c][\the\markdownConTeXtColumnCounter][align=right] + \fi\if#1c% + \setupTABLE[c][\the\markdownConTeXtColumnCounter][align=middle] + \fi\if#1r% + \setupTABLE[c][\the\markdownConTeXtColumnCounter][align=left] + \fi + \ifnum\markdownConTeXtColumnCounter<\markdownConTeXtColumnTotal\relax\else + \expandafter\gobbleoneargument + \fi\markdownConTeXtReadAlignments} +\def\markdownConTeXtRenderTableCell#1{% + \advance\markdownConTeXtColumnCounter by 1\relax + \markdownConTeXtTable=\expandafter{% + \the\markdownConTeXtTable\bTD#1\eTD}% + \ifnum\markdownConTeXtColumnCounter<\markdownConTeXtColumnTotal\relax\else + \expandafter\gobbleoneargument + \fi\markdownConTeXtRenderTableCell} \endinput %% %% End of file `t-markdown.tex'. diff --git a/Master/texmf-dist/tex/generic/markdown/markdown.tex b/Master/texmf-dist/tex/generic/markdown/markdown.tex index 6091f6ea530..cf53a16eefe 100644 --- a/Master/texmf-dist/tex/generic/markdown/markdown.tex +++ b/Master/texmf-dist/tex/generic/markdown/markdown.tex @@ -45,8 +45,8 @@ %% %% The names of the source files used are shown above. %% -\def\markdownLastModified{2019/04/04}% -\def\markdownVersion{2.7.0}% +\def\markdownLastModified{2019/04/30}% +\def\markdownVersion{2.8.1}% \let\markdownBegin\relax \let\markdownEnd\relax \let\markdownInput\relax @@ -72,10 +72,13 @@ \let\markdownOptionHtml\undefined \let\markdownOptionHybrid\undefined \let\markdownOptionInlineFootnotes\undefined +\let\markdownOptionPipeTables\undefined \let\markdownOptionPreserveTabs\undefined +\let\markdownOptionShiftHeadings\undefined \let\markdownOptionSlice\undefined \let\markdownOptionSmartEllipses\undefined \let\markdownOptionStartNumber\undefined +\let\markdownOptionTableCaptions\undefined \let\markdownOptionTightLists\undefined \def\markdownOptionStripPercentSigns{false}% \def\markdownIfOption#1{% @@ -205,6 +208,8 @@ \markdownRendererCitePrototype}% \def\markdownRendererTextCite{% \markdownRendererTextCitePrototype}% +\def\markdownRendererTable{% + \markdownRendererTablePrototype}% \def\markdownRendererInterblockSeparatorPrototype{}% \def\markdownRendererLineBreakPrototype{}% \def\markdownRendererEllipsisPrototype{}% @@ -263,6 +268,7 @@ \def\markdownRendererFootnotePrototype#1{}% \def\markdownRendererCitePrototype#1{}% \def\markdownRendererTextCitePrototype#1{}% +\def\markdownRendererTablePrototype#1#2#3{}% \def\markdownInfo#1{}% \def\markdownWarning#1{}% \def\markdownError#1#2{}% @@ -407,9 +413,15 @@ \ifx\markdownOptionInlineFootnotes\undefined\else inlineFootnotes = \markdownOptionInlineFootnotes, \fi +\ifx\markdownOptionPipeTables\undefined\else + pipeTables = \markdownOptionPipeTables, +\fi \ifx\markdownOptionPreserveTabs\undefined\else preserveTabs = \markdownOptionPreserveTabs, \fi +\ifx\markdownOptionShiftHeadings\undefined\else + shiftHeadings = "\markdownOptionShiftHeadings", +\fi \ifx\markdownOptionSlice\undefined\else slice = "\markdownOptionSlice", \fi @@ -419,6 +431,9 @@ \ifx\markdownOptionStartNumber\undefined\else startNumber = \markdownOptionStartNumber, \fi +\ifx\markdownOptionTableCaptions\undefined\else + tableCaptions = \markdownOptionTableCaptions, +\fi \ifx\markdownOptionTightLists\undefined\else tightLists = \markdownOptionTightLists, \fi diff --git a/Master/texmf-dist/tex/latex/markdown/markdown.sty b/Master/texmf-dist/tex/latex/markdown/markdown.sty index f21cb15b81d..301434928a5 100644 --- a/Master/texmf-dist/tex/latex/markdown/markdown.sty +++ b/Master/texmf-dist/tex/latex/markdown/markdown.sty @@ -103,14 +103,20 @@ \def\markdownOptionHybrid{#1}}% \define@key{markdownOptions}{inlineFootnotes}[true]{% \def\markdownOptionInlineFootnotes{#1}}% +\define@key{markdownOptions}{pipeTables}[true]{% + \def\markdownOptionPipeTables{#1}}% \define@key{markdownOptions}{preserveTabs}[true]{% \def\markdownOptionPreserveTabs{#1}}% \define@key{markdownOptions}{smartEllipses}[true]{% \def\markdownOptionSmartEllipses{#1}}% -\define@key{markdownOptions}{slice}[true]{% +\define@key{markdownOptions}{shiftHeadings}{% + \def\markdownOptionShiftHeadings{#1}}% +\define@key{markdownOptions}{slice}{% \def\markdownOptionSlice{#1}}% \define@key{markdownOptions}{startNumber}[true]{% \def\markdownOptionStartNumber{#1}}% +\define@key{markdownOptions}{tableCaptions}[true]{% + \def\markdownOptionTableCaptions{#1}}% \define@key{markdownOptions}{tightLists}[true]{% \def\markdownOptionTightLists{#1}}% \define@key{markdownOptions}{underscores}[true]{% @@ -233,6 +239,8 @@ \renewcommand\markdownRendererCite[1]{#1}}% \define@key{markdownRenderers}{textCite}{% \renewcommand\markdownRendererTextCite[1]{#1}}% +\define@key{markdownRenderers}{table}{% + \renewcommand\markdownRendererTable[3]{#1}}% \define@key{markdownRendererPrototypes}{interblockSeparator}{% \renewcommand\markdownRendererInterblockSeparatorPrototype{#1}}% \define@key{markdownRendererPrototypes}{lineBreak}{% @@ -349,6 +357,8 @@ \renewcommand\markdownRendererCitePrototype[1]{#1}}% \define@key{markdownRendererPrototypes}{textCite}{% \renewcommand\markdownRendererTextCitePrototype[1]{#1}}% +\define@key{markdownRendererPrototypes}{table}{% + \renewcommand\markdownRendererTablePrototype[3]{#1}}% \input markdown \def\markdownVersionSpace{ }% \ProvidesPackage{markdown}[\markdownLastModified\markdownVersionSpace v% @@ -721,6 +731,84 @@ \ifx\empty##4\empty\else##4: \fi\texttt<\url{##3}\texttt>}% \endgroup}% \next} +\newcount\markdownLaTeXRowCounter +\newcount\markdownLaTeXRowTotal +\newcount\markdownLaTeXColumnCounter +\newcount\markdownLaTeXColumnTotal +\newtoks\markdownLaTeXTable +\newtoks\markdownLaTeXTableAlignment +\newtoks\markdownLaTeXTableEnd +\@ifpackageloaded{booktabs}{ + \let\markdownLaTeXTopRule\toprule + \let\markdownLaTeXMidRule\midrule + \let\markdownLaTeXBottomRule\bottomrule +}{ + \let\markdownLaTeXTopRule\hline + \let\markdownLaTeXMidRule\hline + \let\markdownLaTeXBottomRule\hline +} +\markdownSetup{rendererPrototypes={ + table = {% + \markdownLaTeXTable={}% + \markdownLaTeXTableAlignment={}% + \markdownLaTeXTableEnd={% + \markdownLaTeXBottomRule + \end{tabular}}% + \ifx\empty#1\empty\else + \addto@hook\markdownLaTeXTable{% + \begin{table} + \centering}% + \addto@hook\markdownLaTeXTableEnd{% + \caption{#1} + \end{table}}% + \fi + \addto@hook\markdownLaTeXTable{\begin{tabular}}% + \markdownLaTeXRowCounter=0% + \markdownLaTeXRowTotal=#2% + \markdownLaTeXColumnTotal=#3% + \markdownLaTeXRenderTableRow + } +}} +\def\markdownLaTeXRenderTableRow#1{% + \markdownLaTeXColumnCounter=0% + \ifnum\markdownLaTeXRowCounter=0\relax + \markdownLaTeXReadAlignments#1% + \markdownLaTeXTable=\expandafter\expandafter\expandafter{% + \expandafter\the\expandafter\markdownLaTeXTable\expandafter{% + \the\markdownLaTeXTableAlignment}}% + \addto@hook\markdownLaTeXTable{\markdownLaTeXTopRule}% + \else + \markdownLaTeXRenderTableCell#1% + \fi + \ifnum\markdownLaTeXRowCounter=1\relax + \addto@hook\markdownLaTeXTable\markdownLaTeXMidRule + \fi + \advance\markdownLaTeXRowCounter by 1\relax + \ifnum\markdownLaTeXRowCounter>\markdownLaTeXRowTotal\relax + \markdownInfo{\the\markdownLaTeXTable} + \markdownInfo{\the\markdownLaTeXTableEnd} + \the\markdownLaTeXTable + \the\markdownLaTeXTableEnd + \expandafter\@gobble + \fi\markdownLaTeXRenderTableRow} +\def\markdownLaTeXReadAlignments#1{% + \advance\markdownLaTeXColumnCounter by 1\relax + \if#1d% + \addto@hook\markdownLaTeXTableAlignment{l}% + \else + \addto@hook\markdownLaTeXTableAlignment{#1}% + \fi + \ifnum\markdownLaTeXColumnCounter<\markdownLaTeXColumnTotal\relax\else + \expandafter\@gobble + \fi\markdownLaTeXReadAlignments} +\def\markdownLaTeXRenderTableCell#1{% + \advance\markdownLaTeXColumnCounter by 1\relax + \ifnum\markdownLaTeXColumnCounter<\markdownLaTeXColumnTotal\relax + \addto@hook\markdownLaTeXTable{#1&}% + \else + \addto@hook\markdownLaTeXTable{#1\\}% + \expandafter\@gobble + \fi\markdownLaTeXRenderTableCell} \newcommand\markdownMakeOther{% \count0=128\relax \loop diff --git a/Master/texmf-dist/tex/luatex/markdown/markdown.lua b/Master/texmf-dist/tex/luatex/markdown/markdown.lua index 9614434b81f..3760928f9b8 100644 --- a/Master/texmf-dist/tex/luatex/markdown/markdown.lua +++ b/Master/texmf-dist/tex/luatex/markdown/markdown.lua @@ -58,7 +58,7 @@ -- those in the standard .ins files. -- local metadata = { - version = "2.7.0", + version = "2.8.1", comment = "A module for the conversion from markdown to plain TeX", author = "John MacFarlane, Hans Hagen, Vít Novotný", copyright = {"2009-2016 John MacFarlane, Hans Hagen", @@ -91,10 +91,13 @@ defaultOptions.headerAttributes = false defaultOptions.html = false defaultOptions.hybrid = false defaultOptions.inlineFootnotes = false +defaultOptions.pipeTables = false defaultOptions.preserveTabs = false +defaultOptions.shiftHeadings = 0 defaultOptions.slice = "^ $" defaultOptions.smartEllipses = false defaultOptions.startNumber = true +defaultOptions.tableCaptions = false defaultOptions.tightLists = true defaultOptions.underscores = true local upper, gsub, format, length = @@ -234,255 +237,2037 @@ end local entities = {} local character_entities = { - ["quot"] = 0x0022, - ["amp"] = 0x0026, - ["apos"] = 0x0027, - ["lt"] = 0x003C, - ["gt"] = 0x003E, + ["Tab"] = 9, + ["NewLine"] = 10, + ["excl"] = 33, + ["quot"] = 34, + ["QUOT"] = 34, + ["num"] = 35, + ["dollar"] = 36, + ["percnt"] = 37, + ["amp"] = 38, + ["AMP"] = 38, + ["apos"] = 39, + ["lpar"] = 40, + ["rpar"] = 41, + ["ast"] = 42, + ["midast"] = 42, + ["plus"] = 43, + ["comma"] = 44, + ["period"] = 46, + ["sol"] = 47, + ["colon"] = 58, + ["semi"] = 59, + ["lt"] = 60, + ["LT"] = 60, + ["equals"] = 61, + ["gt"] = 62, + ["GT"] = 62, + ["quest"] = 63, + ["commat"] = 64, + ["lsqb"] = 91, + ["lbrack"] = 91, + ["bsol"] = 92, + ["rsqb"] = 93, + ["rbrack"] = 93, + ["Hat"] = 94, + ["lowbar"] = 95, + ["grave"] = 96, + ["DiacriticalGrave"] = 96, + ["lcub"] = 123, + ["lbrace"] = 123, + ["verbar"] = 124, + ["vert"] = 124, + ["VerticalLine"] = 124, + ["rcub"] = 125, + ["rbrace"] = 125, ["nbsp"] = 160, - ["iexcl"] = 0x00A1, - ["cent"] = 0x00A2, - ["pound"] = 0x00A3, - ["curren"] = 0x00A4, - ["yen"] = 0x00A5, - ["brvbar"] = 0x00A6, - ["sect"] = 0x00A7, - ["uml"] = 0x00A8, - ["copy"] = 0x00A9, - ["ordf"] = 0x00AA, - ["laquo"] = 0x00AB, - ["not"] = 0x00AC, + ["NonBreakingSpace"] = 160, + ["iexcl"] = 161, + ["cent"] = 162, + ["pound"] = 163, + ["curren"] = 164, + ["yen"] = 165, + ["brvbar"] = 166, + ["sect"] = 167, + ["Dot"] = 168, + ["die"] = 168, + ["DoubleDot"] = 168, + ["uml"] = 168, + ["copy"] = 169, + ["COPY"] = 169, + ["ordf"] = 170, + ["laquo"] = 171, + ["not"] = 172, ["shy"] = 173, - ["reg"] = 0x00AE, - ["macr"] = 0x00AF, - ["deg"] = 0x00B0, - ["plusmn"] = 0x00B1, - ["sup2"] = 0x00B2, - ["sup3"] = 0x00B3, - ["acute"] = 0x00B4, - ["micro"] = 0x00B5, - ["para"] = 0x00B6, - ["middot"] = 0x00B7, - ["cedil"] = 0x00B8, - ["sup1"] = 0x00B9, - ["ordm"] = 0x00BA, - ["raquo"] = 0x00BB, - ["frac14"] = 0x00BC, - ["frac12"] = 0x00BD, - ["frac34"] = 0x00BE, - ["iquest"] = 0x00BF, - ["Agrave"] = 0x00C0, - ["Aacute"] = 0x00C1, - ["Acirc"] = 0x00C2, - ["Atilde"] = 0x00C3, - ["Auml"] = 0x00C4, - ["Aring"] = 0x00C5, - ["AElig"] = 0x00C6, - ["Ccedil"] = 0x00C7, - ["Egrave"] = 0x00C8, - ["Eacute"] = 0x00C9, - ["Ecirc"] = 0x00CA, - ["Euml"] = 0x00CB, - ["Igrave"] = 0x00CC, - ["Iacute"] = 0x00CD, - ["Icirc"] = 0x00CE, - ["Iuml"] = 0x00CF, - ["ETH"] = 0x00D0, - ["Ntilde"] = 0x00D1, - ["Ograve"] = 0x00D2, - ["Oacute"] = 0x00D3, - ["Ocirc"] = 0x00D4, - ["Otilde"] = 0x00D5, - ["Ouml"] = 0x00D6, - ["times"] = 0x00D7, - ["Oslash"] = 0x00D8, - ["Ugrave"] = 0x00D9, - ["Uacute"] = 0x00DA, - ["Ucirc"] = 0x00DB, - ["Uuml"] = 0x00DC, - ["Yacute"] = 0x00DD, - ["THORN"] = 0x00DE, - ["szlig"] = 0x00DF, - ["agrave"] = 0x00E0, - ["aacute"] = 0x00E1, - ["acirc"] = 0x00E2, - ["atilde"] = 0x00E3, - ["auml"] = 0x00E4, - ["aring"] = 0x00E5, - ["aelig"] = 0x00E6, - ["ccedil"] = 0x00E7, - ["egrave"] = 0x00E8, - ["eacute"] = 0x00E9, - ["ecirc"] = 0x00EA, - ["euml"] = 0x00EB, - ["igrave"] = 0x00EC, - ["iacute"] = 0x00ED, - ["icirc"] = 0x00EE, - ["iuml"] = 0x00EF, - ["eth"] = 0x00F0, - ["ntilde"] = 0x00F1, - ["ograve"] = 0x00F2, - ["oacute"] = 0x00F3, - ["ocirc"] = 0x00F4, - ["otilde"] = 0x00F5, - ["ouml"] = 0x00F6, - ["divide"] = 0x00F7, - ["oslash"] = 0x00F8, - ["ugrave"] = 0x00F9, - ["uacute"] = 0x00FA, - ["ucirc"] = 0x00FB, - ["uuml"] = 0x00FC, - ["yacute"] = 0x00FD, - ["thorn"] = 0x00FE, - ["yuml"] = 0x00FF, - ["OElig"] = 0x0152, - ["oelig"] = 0x0153, - ["Scaron"] = 0x0160, - ["scaron"] = 0x0161, - ["Yuml"] = 0x0178, - ["fnof"] = 0x0192, - ["circ"] = 0x02C6, - ["tilde"] = 0x02DC, - ["Alpha"] = 0x0391, - ["Beta"] = 0x0392, - ["Gamma"] = 0x0393, - ["Delta"] = 0x0394, - ["Epsilon"] = 0x0395, - ["Zeta"] = 0x0396, - ["Eta"] = 0x0397, - ["Theta"] = 0x0398, - ["Iota"] = 0x0399, - ["Kappa"] = 0x039A, - ["Lambda"] = 0x039B, - ["Mu"] = 0x039C, - ["Nu"] = 0x039D, - ["Xi"] = 0x039E, - ["Omicron"] = 0x039F, - ["Pi"] = 0x03A0, - ["Rho"] = 0x03A1, - ["Sigma"] = 0x03A3, - ["Tau"] = 0x03A4, - ["Upsilon"] = 0x03A5, - ["Phi"] = 0x03A6, - ["Chi"] = 0x03A7, - ["Psi"] = 0x03A8, - ["Omega"] = 0x03A9, - ["alpha"] = 0x03B1, - ["beta"] = 0x03B2, - ["gamma"] = 0x03B3, - ["delta"] = 0x03B4, - ["epsilon"] = 0x03B5, - ["zeta"] = 0x03B6, - ["eta"] = 0x03B7, - ["theta"] = 0x03B8, - ["iota"] = 0x03B9, - ["kappa"] = 0x03BA, - ["lambda"] = 0x03BB, - ["mu"] = 0x03BC, - ["nu"] = 0x03BD, - ["xi"] = 0x03BE, - ["omicron"] = 0x03BF, - ["pi"] = 0x03C0, - ["rho"] = 0x03C1, - ["sigmaf"] = 0x03C2, - ["sigma"] = 0x03C3, - ["tau"] = 0x03C4, - ["upsilon"] = 0x03C5, - ["phi"] = 0x03C6, - ["chi"] = 0x03C7, - ["psi"] = 0x03C8, - ["omega"] = 0x03C9, - ["thetasym"] = 0x03D1, - ["upsih"] = 0x03D2, - ["piv"] = 0x03D6, - ["ensp"] = 0x2002, - ["emsp"] = 0x2003, - ["thinsp"] = 0x2009, - ["ndash"] = 0x2013, - ["mdash"] = 0x2014, - ["lsquo"] = 0x2018, - ["rsquo"] = 0x2019, - ["sbquo"] = 0x201A, - ["ldquo"] = 0x201C, - ["rdquo"] = 0x201D, - ["bdquo"] = 0x201E, - ["dagger"] = 0x2020, - ["Dagger"] = 0x2021, - ["bull"] = 0x2022, - ["hellip"] = 0x2026, - ["permil"] = 0x2030, - ["prime"] = 0x2032, - ["Prime"] = 0x2033, - ["lsaquo"] = 0x2039, - ["rsaquo"] = 0x203A, - ["oline"] = 0x203E, - ["frasl"] = 0x2044, - ["euro"] = 0x20AC, - ["image"] = 0x2111, - ["weierp"] = 0x2118, - ["real"] = 0x211C, - ["trade"] = 0x2122, - ["alefsym"] = 0x2135, - ["larr"] = 0x2190, - ["uarr"] = 0x2191, - ["rarr"] = 0x2192, - ["darr"] = 0x2193, - ["harr"] = 0x2194, - ["crarr"] = 0x21B5, - ["lArr"] = 0x21D0, - ["uArr"] = 0x21D1, - ["rArr"] = 0x21D2, - ["dArr"] = 0x21D3, - ["hArr"] = 0x21D4, - ["forall"] = 0x2200, - ["part"] = 0x2202, - ["exist"] = 0x2203, - ["empty"] = 0x2205, - ["nabla"] = 0x2207, - ["isin"] = 0x2208, - ["notin"] = 0x2209, - ["ni"] = 0x220B, - ["prod"] = 0x220F, - ["sum"] = 0x2211, - ["minus"] = 0x2212, - ["lowast"] = 0x2217, - ["radic"] = 0x221A, - ["prop"] = 0x221D, - ["infin"] = 0x221E, - ["ang"] = 0x2220, - ["and"] = 0x2227, - ["or"] = 0x2228, - ["cap"] = 0x2229, - ["cup"] = 0x222A, - ["int"] = 0x222B, - ["there4"] = 0x2234, - ["sim"] = 0x223C, - ["cong"] = 0x2245, - ["asymp"] = 0x2248, - ["ne"] = 0x2260, - ["equiv"] = 0x2261, - ["le"] = 0x2264, - ["ge"] = 0x2265, - ["sub"] = 0x2282, - ["sup"] = 0x2283, - ["nsub"] = 0x2284, - ["sube"] = 0x2286, - ["supe"] = 0x2287, - ["oplus"] = 0x2295, - ["otimes"] = 0x2297, - ["perp"] = 0x22A5, - ["sdot"] = 0x22C5, - ["lceil"] = 0x2308, - ["rceil"] = 0x2309, - ["lfloor"] = 0x230A, - ["rfloor"] = 0x230B, - ["lang"] = 0x27E8, - ["rang"] = 0x27E9, - ["loz"] = 0x25CA, - ["spades"] = 0x2660, - ["clubs"] = 0x2663, - ["hearts"] = 0x2665, - ["diams"] = 0x2666, + ["reg"] = 174, + ["circledR"] = 174, + ["REG"] = 174, + ["macr"] = 175, + ["OverBar"] = 175, + ["strns"] = 175, + ["deg"] = 176, + ["plusmn"] = 177, + ["pm"] = 177, + ["PlusMinus"] = 177, + ["sup2"] = 178, + ["sup3"] = 179, + ["acute"] = 180, + ["DiacriticalAcute"] = 180, + ["micro"] = 181, + ["para"] = 182, + ["middot"] = 183, + ["centerdot"] = 183, + ["CenterDot"] = 183, + ["cedil"] = 184, + ["Cedilla"] = 184, + ["sup1"] = 185, + ["ordm"] = 186, + ["raquo"] = 187, + ["frac14"] = 188, + ["frac12"] = 189, + ["half"] = 189, + ["frac34"] = 190, + ["iquest"] = 191, + ["Agrave"] = 192, + ["Aacute"] = 193, + ["Acirc"] = 194, + ["Atilde"] = 195, + ["Auml"] = 196, + ["Aring"] = 197, + ["AElig"] = 198, + ["Ccedil"] = 199, + ["Egrave"] = 200, + ["Eacute"] = 201, + ["Ecirc"] = 202, + ["Euml"] = 203, + ["Igrave"] = 204, + ["Iacute"] = 205, + ["Icirc"] = 206, + ["Iuml"] = 207, + ["ETH"] = 208, + ["Ntilde"] = 209, + ["Ograve"] = 210, + ["Oacute"] = 211, + ["Ocirc"] = 212, + ["Otilde"] = 213, + ["Ouml"] = 214, + ["times"] = 215, + ["Oslash"] = 216, + ["Ugrave"] = 217, + ["Uacute"] = 218, + ["Ucirc"] = 219, + ["Uuml"] = 220, + ["Yacute"] = 221, + ["THORN"] = 222, + ["szlig"] = 223, + ["agrave"] = 224, + ["aacute"] = 225, + ["acirc"] = 226, + ["atilde"] = 227, + ["auml"] = 228, + ["aring"] = 229, + ["aelig"] = 230, + ["ccedil"] = 231, + ["egrave"] = 232, + ["eacute"] = 233, + ["ecirc"] = 234, + ["euml"] = 235, + ["igrave"] = 236, + ["iacute"] = 237, + ["icirc"] = 238, + ["iuml"] = 239, + ["eth"] = 240, + ["ntilde"] = 241, + ["ograve"] = 242, + ["oacute"] = 243, + ["ocirc"] = 244, + ["otilde"] = 245, + ["ouml"] = 246, + ["divide"] = 247, + ["div"] = 247, + ["oslash"] = 248, + ["ugrave"] = 249, + ["uacute"] = 250, + ["ucirc"] = 251, + ["uuml"] = 252, + ["yacute"] = 253, + ["thorn"] = 254, + ["yuml"] = 255, + ["Amacr"] = 256, + ["amacr"] = 257, + ["Abreve"] = 258, + ["abreve"] = 259, + ["Aogon"] = 260, + ["aogon"] = 261, + ["Cacute"] = 262, + ["cacute"] = 263, + ["Ccirc"] = 264, + ["ccirc"] = 265, + ["Cdot"] = 266, + ["cdot"] = 267, + ["Ccaron"] = 268, + ["ccaron"] = 269, + ["Dcaron"] = 270, + ["dcaron"] = 271, + ["Dstrok"] = 272, + ["dstrok"] = 273, + ["Emacr"] = 274, + ["emacr"] = 275, + ["Edot"] = 278, + ["edot"] = 279, + ["Eogon"] = 280, + ["eogon"] = 281, + ["Ecaron"] = 282, + ["ecaron"] = 283, + ["Gcirc"] = 284, + ["gcirc"] = 285, + ["Gbreve"] = 286, + ["gbreve"] = 287, + ["Gdot"] = 288, + ["gdot"] = 289, + ["Gcedil"] = 290, + ["Hcirc"] = 292, + ["hcirc"] = 293, + ["Hstrok"] = 294, + ["hstrok"] = 295, + ["Itilde"] = 296, + ["itilde"] = 297, + ["Imacr"] = 298, + ["imacr"] = 299, + ["Iogon"] = 302, + ["iogon"] = 303, + ["Idot"] = 304, + ["imath"] = 305, + ["inodot"] = 305, + ["IJlig"] = 306, + ["ijlig"] = 307, + ["Jcirc"] = 308, + ["jcirc"] = 309, + ["Kcedil"] = 310, + ["kcedil"] = 311, + ["kgreen"] = 312, + ["Lacute"] = 313, + ["lacute"] = 314, + ["Lcedil"] = 315, + ["lcedil"] = 316, + ["Lcaron"] = 317, + ["lcaron"] = 318, + ["Lmidot"] = 319, + ["lmidot"] = 320, + ["Lstrok"] = 321, + ["lstrok"] = 322, + ["Nacute"] = 323, + ["nacute"] = 324, + ["Ncedil"] = 325, + ["ncedil"] = 326, + ["Ncaron"] = 327, + ["ncaron"] = 328, + ["napos"] = 329, + ["ENG"] = 330, + ["eng"] = 331, + ["Omacr"] = 332, + ["omacr"] = 333, + ["Odblac"] = 336, + ["odblac"] = 337, + ["OElig"] = 338, + ["oelig"] = 339, + ["Racute"] = 340, + ["racute"] = 341, + ["Rcedil"] = 342, + ["rcedil"] = 343, + ["Rcaron"] = 344, + ["rcaron"] = 345, + ["Sacute"] = 346, + ["sacute"] = 347, + ["Scirc"] = 348, + ["scirc"] = 349, + ["Scedil"] = 350, + ["scedil"] = 351, + ["Scaron"] = 352, + ["scaron"] = 353, + ["Tcedil"] = 354, + ["tcedil"] = 355, + ["Tcaron"] = 356, + ["tcaron"] = 357, + ["Tstrok"] = 358, + ["tstrok"] = 359, + ["Utilde"] = 360, + ["utilde"] = 361, + ["Umacr"] = 362, + ["umacr"] = 363, + ["Ubreve"] = 364, + ["ubreve"] = 365, + ["Uring"] = 366, + ["uring"] = 367, + ["Udblac"] = 368, + ["udblac"] = 369, + ["Uogon"] = 370, + ["uogon"] = 371, + ["Wcirc"] = 372, + ["wcirc"] = 373, + ["Ycirc"] = 374, + ["ycirc"] = 375, + ["Yuml"] = 376, + ["Zacute"] = 377, + ["zacute"] = 378, + ["Zdot"] = 379, + ["zdot"] = 380, + ["Zcaron"] = 381, + ["zcaron"] = 382, + ["fnof"] = 402, + ["imped"] = 437, + ["gacute"] = 501, + ["jmath"] = 567, + ["circ"] = 710, + ["caron"] = 711, + ["Hacek"] = 711, + ["breve"] = 728, + ["Breve"] = 728, + ["dot"] = 729, + ["DiacriticalDot"] = 729, + ["ring"] = 730, + ["ogon"] = 731, + ["tilde"] = 732, + ["DiacriticalTilde"] = 732, + ["dblac"] = 733, + ["DiacriticalDoubleAcute"] = 733, + ["DownBreve"] = 785, + ["UnderBar"] = 818, + ["Alpha"] = 913, + ["Beta"] = 914, + ["Gamma"] = 915, + ["Delta"] = 916, + ["Epsilon"] = 917, + ["Zeta"] = 918, + ["Eta"] = 919, + ["Theta"] = 920, + ["Iota"] = 921, + ["Kappa"] = 922, + ["Lambda"] = 923, + ["Mu"] = 924, + ["Nu"] = 925, + ["Xi"] = 926, + ["Omicron"] = 927, + ["Pi"] = 928, + ["Rho"] = 929, + ["Sigma"] = 931, + ["Tau"] = 932, + ["Upsilon"] = 933, + ["Phi"] = 934, + ["Chi"] = 935, + ["Psi"] = 936, + ["Omega"] = 937, + ["alpha"] = 945, + ["beta"] = 946, + ["gamma"] = 947, + ["delta"] = 948, + ["epsiv"] = 949, + ["varepsilon"] = 949, + ["epsilon"] = 949, + ["zeta"] = 950, + ["eta"] = 951, + ["theta"] = 952, + ["iota"] = 953, + ["kappa"] = 954, + ["lambda"] = 955, + ["mu"] = 956, + ["nu"] = 957, + ["xi"] = 958, + ["omicron"] = 959, + ["pi"] = 960, + ["rho"] = 961, + ["sigmav"] = 962, + ["varsigma"] = 962, + ["sigmaf"] = 962, + ["sigma"] = 963, + ["tau"] = 964, + ["upsi"] = 965, + ["upsilon"] = 965, + ["phi"] = 966, + ["phiv"] = 966, + ["varphi"] = 966, + ["chi"] = 967, + ["psi"] = 968, + ["omega"] = 969, + ["thetav"] = 977, + ["vartheta"] = 977, + ["thetasym"] = 977, + ["Upsi"] = 978, + ["upsih"] = 978, + ["straightphi"] = 981, + ["piv"] = 982, + ["varpi"] = 982, + ["Gammad"] = 988, + ["gammad"] = 989, + ["digamma"] = 989, + ["kappav"] = 1008, + ["varkappa"] = 1008, + ["rhov"] = 1009, + ["varrho"] = 1009, + ["epsi"] = 1013, + ["straightepsilon"] = 1013, + ["bepsi"] = 1014, + ["backepsilon"] = 1014, + ["IOcy"] = 1025, + ["DJcy"] = 1026, + ["GJcy"] = 1027, + ["Jukcy"] = 1028, + ["DScy"] = 1029, + ["Iukcy"] = 1030, + ["YIcy"] = 1031, + ["Jsercy"] = 1032, + ["LJcy"] = 1033, + ["NJcy"] = 1034, + ["TSHcy"] = 1035, + ["KJcy"] = 1036, + ["Ubrcy"] = 1038, + ["DZcy"] = 1039, + ["Acy"] = 1040, + ["Bcy"] = 1041, + ["Vcy"] = 1042, + ["Gcy"] = 1043, + ["Dcy"] = 1044, + ["IEcy"] = 1045, + ["ZHcy"] = 1046, + ["Zcy"] = 1047, + ["Icy"] = 1048, + ["Jcy"] = 1049, + ["Kcy"] = 1050, + ["Lcy"] = 1051, + ["Mcy"] = 1052, + ["Ncy"] = 1053, + ["Ocy"] = 1054, + ["Pcy"] = 1055, + ["Rcy"] = 1056, + ["Scy"] = 1057, + ["Tcy"] = 1058, + ["Ucy"] = 1059, + ["Fcy"] = 1060, + ["KHcy"] = 1061, + ["TScy"] = 1062, + ["CHcy"] = 1063, + ["SHcy"] = 1064, + ["SHCHcy"] = 1065, + ["HARDcy"] = 1066, + ["Ycy"] = 1067, + ["SOFTcy"] = 1068, + ["Ecy"] = 1069, + ["YUcy"] = 1070, + ["YAcy"] = 1071, + ["acy"] = 1072, + ["bcy"] = 1073, + ["vcy"] = 1074, + ["gcy"] = 1075, + ["dcy"] = 1076, + ["iecy"] = 1077, + ["zhcy"] = 1078, + ["zcy"] = 1079, + ["icy"] = 1080, + ["jcy"] = 1081, + ["kcy"] = 1082, + ["lcy"] = 1083, + ["mcy"] = 1084, + ["ncy"] = 1085, + ["ocy"] = 1086, + ["pcy"] = 1087, + ["rcy"] = 1088, + ["scy"] = 1089, + ["tcy"] = 1090, + ["ucy"] = 1091, + ["fcy"] = 1092, + ["khcy"] = 1093, + ["tscy"] = 1094, + ["chcy"] = 1095, + ["shcy"] = 1096, + ["shchcy"] = 1097, + ["hardcy"] = 1098, + ["ycy"] = 1099, + ["softcy"] = 1100, + ["ecy"] = 1101, + ["yucy"] = 1102, + ["yacy"] = 1103, + ["iocy"] = 1105, + ["djcy"] = 1106, + ["gjcy"] = 1107, + ["jukcy"] = 1108, + ["dscy"] = 1109, + ["iukcy"] = 1110, + ["yicy"] = 1111, + ["jsercy"] = 1112, + ["ljcy"] = 1113, + ["njcy"] = 1114, + ["tshcy"] = 1115, + ["kjcy"] = 1116, + ["ubrcy"] = 1118, + ["dzcy"] = 1119, + ["ensp"] = 8194, + ["emsp"] = 8195, + ["emsp13"] = 8196, + ["emsp14"] = 8197, + ["numsp"] = 8199, + ["puncsp"] = 8200, + ["thinsp"] = 8201, + ["ThinSpace"] = 8201, + ["hairsp"] = 8202, + ["VeryThinSpace"] = 8202, + ["ZeroWidthSpace"] = 8203, + ["NegativeVeryThinSpace"] = 8203, + ["NegativeThinSpace"] = 8203, + ["NegativeMediumSpace"] = 8203, + ["NegativeThickSpace"] = 8203, + ["zwnj"] = 8204, + ["zwj"] = 8205, + ["lrm"] = 8206, + ["rlm"] = 8207, + ["hyphen"] = 8208, + ["dash"] = 8208, + ["ndash"] = 8211, + ["mdash"] = 8212, + ["horbar"] = 8213, + ["Verbar"] = 8214, + ["Vert"] = 8214, + ["lsquo"] = 8216, + ["OpenCurlyQuote"] = 8216, + ["rsquo"] = 8217, + ["rsquor"] = 8217, + ["CloseCurlyQuote"] = 8217, + ["lsquor"] = 8218, + ["sbquo"] = 8218, + ["ldquo"] = 8220, + ["OpenCurlyDoubleQuote"] = 8220, + ["rdquo"] = 8221, + ["rdquor"] = 8221, + ["CloseCurlyDoubleQuote"] = 8221, + ["ldquor"] = 8222, + ["bdquo"] = 8222, + ["dagger"] = 8224, + ["Dagger"] = 8225, + ["ddagger"] = 8225, + ["bull"] = 8226, + ["bullet"] = 8226, + ["nldr"] = 8229, + ["hellip"] = 8230, + ["mldr"] = 8230, + ["permil"] = 8240, + ["pertenk"] = 8241, + ["prime"] = 8242, + ["Prime"] = 8243, + ["tprime"] = 8244, + ["bprime"] = 8245, + ["backprime"] = 8245, + ["lsaquo"] = 8249, + ["rsaquo"] = 8250, + ["oline"] = 8254, + ["caret"] = 8257, + ["hybull"] = 8259, + ["frasl"] = 8260, + ["bsemi"] = 8271, + ["qprime"] = 8279, + ["MediumSpace"] = 8287, + ["NoBreak"] = 8288, + ["ApplyFunction"] = 8289, + ["af"] = 8289, + ["InvisibleTimes"] = 8290, + ["it"] = 8290, + ["InvisibleComma"] = 8291, + ["ic"] = 8291, + ["euro"] = 8364, + ["tdot"] = 8411, + ["TripleDot"] = 8411, + ["DotDot"] = 8412, + ["Copf"] = 8450, + ["complexes"] = 8450, + ["incare"] = 8453, + ["gscr"] = 8458, + ["hamilt"] = 8459, + ["HilbertSpace"] = 8459, + ["Hscr"] = 8459, + ["Hfr"] = 8460, + ["Poincareplane"] = 8460, + ["quaternions"] = 8461, + ["Hopf"] = 8461, + ["planckh"] = 8462, + ["planck"] = 8463, + ["hbar"] = 8463, + ["plankv"] = 8463, + ["hslash"] = 8463, + ["Iscr"] = 8464, + ["imagline"] = 8464, + ["image"] = 8465, + ["Im"] = 8465, + ["imagpart"] = 8465, + ["Ifr"] = 8465, + ["Lscr"] = 8466, + ["lagran"] = 8466, + ["Laplacetrf"] = 8466, + ["ell"] = 8467, + ["Nopf"] = 8469, + ["naturals"] = 8469, + ["numero"] = 8470, + ["copysr"] = 8471, + ["weierp"] = 8472, + ["wp"] = 8472, + ["Popf"] = 8473, + ["primes"] = 8473, + ["rationals"] = 8474, + ["Qopf"] = 8474, + ["Rscr"] = 8475, + ["realine"] = 8475, + ["real"] = 8476, + ["Re"] = 8476, + ["realpart"] = 8476, + ["Rfr"] = 8476, + ["reals"] = 8477, + ["Ropf"] = 8477, + ["rx"] = 8478, + ["trade"] = 8482, + ["TRADE"] = 8482, + ["integers"] = 8484, + ["Zopf"] = 8484, + ["ohm"] = 8486, + ["mho"] = 8487, + ["Zfr"] = 8488, + ["zeetrf"] = 8488, + ["iiota"] = 8489, + ["angst"] = 8491, + ["bernou"] = 8492, + ["Bernoullis"] = 8492, + ["Bscr"] = 8492, + ["Cfr"] = 8493, + ["Cayleys"] = 8493, + ["escr"] = 8495, + ["Escr"] = 8496, + ["expectation"] = 8496, + ["Fscr"] = 8497, + ["Fouriertrf"] = 8497, + ["phmmat"] = 8499, + ["Mellintrf"] = 8499, + ["Mscr"] = 8499, + ["order"] = 8500, + ["orderof"] = 8500, + ["oscr"] = 8500, + ["alefsym"] = 8501, + ["aleph"] = 8501, + ["beth"] = 8502, + ["gimel"] = 8503, + ["daleth"] = 8504, + ["CapitalDifferentialD"] = 8517, + ["DD"] = 8517, + ["DifferentialD"] = 8518, + ["dd"] = 8518, + ["ExponentialE"] = 8519, + ["exponentiale"] = 8519, + ["ee"] = 8519, + ["ImaginaryI"] = 8520, + ["ii"] = 8520, + ["frac13"] = 8531, + ["frac23"] = 8532, + ["frac15"] = 8533, + ["frac25"] = 8534, + ["frac35"] = 8535, + ["frac45"] = 8536, + ["frac16"] = 8537, + ["frac56"] = 8538, + ["frac18"] = 8539, + ["frac38"] = 8540, + ["frac58"] = 8541, + ["frac78"] = 8542, + ["larr"] = 8592, + ["leftarrow"] = 8592, + ["LeftArrow"] = 8592, + ["slarr"] = 8592, + ["ShortLeftArrow"] = 8592, + ["uarr"] = 8593, + ["uparrow"] = 8593, + ["UpArrow"] = 8593, + ["ShortUpArrow"] = 8593, + ["rarr"] = 8594, + ["rightarrow"] = 8594, + ["RightArrow"] = 8594, + ["srarr"] = 8594, + ["ShortRightArrow"] = 8594, + ["darr"] = 8595, + ["downarrow"] = 8595, + ["DownArrow"] = 8595, + ["ShortDownArrow"] = 8595, + ["harr"] = 8596, + ["leftrightarrow"] = 8596, + ["LeftRightArrow"] = 8596, + ["varr"] = 8597, + ["updownarrow"] = 8597, + ["UpDownArrow"] = 8597, + ["nwarr"] = 8598, + ["UpperLeftArrow"] = 8598, + ["nwarrow"] = 8598, + ["nearr"] = 8599, + ["UpperRightArrow"] = 8599, + ["nearrow"] = 8599, + ["searr"] = 8600, + ["searrow"] = 8600, + ["LowerRightArrow"] = 8600, + ["swarr"] = 8601, + ["swarrow"] = 8601, + ["LowerLeftArrow"] = 8601, + ["nlarr"] = 8602, + ["nleftarrow"] = 8602, + ["nrarr"] = 8603, + ["nrightarrow"] = 8603, + ["rarrw"] = 8605, + ["rightsquigarrow"] = 8605, + ["Larr"] = 8606, + ["twoheadleftarrow"] = 8606, + ["Uarr"] = 8607, + ["Rarr"] = 8608, + ["twoheadrightarrow"] = 8608, + ["Darr"] = 8609, + ["larrtl"] = 8610, + ["leftarrowtail"] = 8610, + ["rarrtl"] = 8611, + ["rightarrowtail"] = 8611, + ["LeftTeeArrow"] = 8612, + ["mapstoleft"] = 8612, + ["UpTeeArrow"] = 8613, + ["mapstoup"] = 8613, + ["map"] = 8614, + ["RightTeeArrow"] = 8614, + ["mapsto"] = 8614, + ["DownTeeArrow"] = 8615, + ["mapstodown"] = 8615, + ["larrhk"] = 8617, + ["hookleftarrow"] = 8617, + ["rarrhk"] = 8618, + ["hookrightarrow"] = 8618, + ["larrlp"] = 8619, + ["looparrowleft"] = 8619, + ["rarrlp"] = 8620, + ["looparrowright"] = 8620, + ["harrw"] = 8621, + ["leftrightsquigarrow"] = 8621, + ["nharr"] = 8622, + ["nleftrightarrow"] = 8622, + ["lsh"] = 8624, + ["Lsh"] = 8624, + ["rsh"] = 8625, + ["Rsh"] = 8625, + ["ldsh"] = 8626, + ["rdsh"] = 8627, + ["crarr"] = 8629, + ["cularr"] = 8630, + ["curvearrowleft"] = 8630, + ["curarr"] = 8631, + ["curvearrowright"] = 8631, + ["olarr"] = 8634, + ["circlearrowleft"] = 8634, + ["orarr"] = 8635, + ["circlearrowright"] = 8635, + ["lharu"] = 8636, + ["LeftVector"] = 8636, + ["leftharpoonup"] = 8636, + ["lhard"] = 8637, + ["leftharpoondown"] = 8637, + ["DownLeftVector"] = 8637, + ["uharr"] = 8638, + ["upharpoonright"] = 8638, + ["RightUpVector"] = 8638, + ["uharl"] = 8639, + ["upharpoonleft"] = 8639, + ["LeftUpVector"] = 8639, + ["rharu"] = 8640, + ["RightVector"] = 8640, + ["rightharpoonup"] = 8640, + ["rhard"] = 8641, + ["rightharpoondown"] = 8641, + ["DownRightVector"] = 8641, + ["dharr"] = 8642, + ["RightDownVector"] = 8642, + ["downharpoonright"] = 8642, + ["dharl"] = 8643, + ["LeftDownVector"] = 8643, + ["downharpoonleft"] = 8643, + ["rlarr"] = 8644, + ["rightleftarrows"] = 8644, + ["RightArrowLeftArrow"] = 8644, + ["udarr"] = 8645, + ["UpArrowDownArrow"] = 8645, + ["lrarr"] = 8646, + ["leftrightarrows"] = 8646, + ["LeftArrowRightArrow"] = 8646, + ["llarr"] = 8647, + ["leftleftarrows"] = 8647, + ["uuarr"] = 8648, + ["upuparrows"] = 8648, + ["rrarr"] = 8649, + ["rightrightarrows"] = 8649, + ["ddarr"] = 8650, + ["downdownarrows"] = 8650, + ["lrhar"] = 8651, + ["ReverseEquilibrium"] = 8651, + ["leftrightharpoons"] = 8651, + ["rlhar"] = 8652, + ["rightleftharpoons"] = 8652, + ["Equilibrium"] = 8652, + ["nlArr"] = 8653, + ["nLeftarrow"] = 8653, + ["nhArr"] = 8654, + ["nLeftrightarrow"] = 8654, + ["nrArr"] = 8655, + ["nRightarrow"] = 8655, + ["lArr"] = 8656, + ["Leftarrow"] = 8656, + ["DoubleLeftArrow"] = 8656, + ["uArr"] = 8657, + ["Uparrow"] = 8657, + ["DoubleUpArrow"] = 8657, + ["rArr"] = 8658, + ["Rightarrow"] = 8658, + ["Implies"] = 8658, + ["DoubleRightArrow"] = 8658, + ["dArr"] = 8659, + ["Downarrow"] = 8659, + ["DoubleDownArrow"] = 8659, + ["hArr"] = 8660, + ["Leftrightarrow"] = 8660, + ["DoubleLeftRightArrow"] = 8660, + ["iff"] = 8660, + ["vArr"] = 8661, + ["Updownarrow"] = 8661, + ["DoubleUpDownArrow"] = 8661, + ["nwArr"] = 8662, + ["neArr"] = 8663, + ["seArr"] = 8664, + ["swArr"] = 8665, + ["lAarr"] = 8666, + ["Lleftarrow"] = 8666, + ["rAarr"] = 8667, + ["Rrightarrow"] = 8667, + ["zigrarr"] = 8669, + ["larrb"] = 8676, + ["LeftArrowBar"] = 8676, + ["rarrb"] = 8677, + ["RightArrowBar"] = 8677, + ["duarr"] = 8693, + ["DownArrowUpArrow"] = 8693, + ["loarr"] = 8701, + ["roarr"] = 8702, + ["hoarr"] = 8703, + ["forall"] = 8704, + ["ForAll"] = 8704, + ["comp"] = 8705, + ["complement"] = 8705, + ["part"] = 8706, + ["PartialD"] = 8706, + ["exist"] = 8707, + ["Exists"] = 8707, + ["nexist"] = 8708, + ["NotExists"] = 8708, + ["nexists"] = 8708, + ["empty"] = 8709, + ["emptyset"] = 8709, + ["emptyv"] = 8709, + ["varnothing"] = 8709, + ["nabla"] = 8711, + ["Del"] = 8711, + ["isin"] = 8712, + ["isinv"] = 8712, + ["Element"] = 8712, + ["in"] = 8712, + ["notin"] = 8713, + ["NotElement"] = 8713, + ["notinva"] = 8713, + ["niv"] = 8715, + ["ReverseElement"] = 8715, + ["ni"] = 8715, + ["SuchThat"] = 8715, + ["notni"] = 8716, + ["notniva"] = 8716, + ["NotReverseElement"] = 8716, + ["prod"] = 8719, + ["Product"] = 8719, + ["coprod"] = 8720, + ["Coproduct"] = 8720, + ["sum"] = 8721, + ["Sum"] = 8721, + ["minus"] = 8722, + ["mnplus"] = 8723, + ["mp"] = 8723, + ["MinusPlus"] = 8723, + ["plusdo"] = 8724, + ["dotplus"] = 8724, + ["setmn"] = 8726, + ["setminus"] = 8726, + ["Backslash"] = 8726, + ["ssetmn"] = 8726, + ["smallsetminus"] = 8726, + ["lowast"] = 8727, + ["compfn"] = 8728, + ["SmallCircle"] = 8728, + ["radic"] = 8730, + ["Sqrt"] = 8730, + ["prop"] = 8733, + ["propto"] = 8733, + ["Proportional"] = 8733, + ["vprop"] = 8733, + ["varpropto"] = 8733, + ["infin"] = 8734, + ["angrt"] = 8735, + ["ang"] = 8736, + ["angle"] = 8736, + ["angmsd"] = 8737, + ["measuredangle"] = 8737, + ["angsph"] = 8738, + ["mid"] = 8739, + ["VerticalBar"] = 8739, + ["smid"] = 8739, + ["shortmid"] = 8739, + ["nmid"] = 8740, + ["NotVerticalBar"] = 8740, + ["nsmid"] = 8740, + ["nshortmid"] = 8740, + ["par"] = 8741, + ["parallel"] = 8741, + ["DoubleVerticalBar"] = 8741, + ["spar"] = 8741, + ["shortparallel"] = 8741, + ["npar"] = 8742, + ["nparallel"] = 8742, + ["NotDoubleVerticalBar"] = 8742, + ["nspar"] = 8742, + ["nshortparallel"] = 8742, + ["and"] = 8743, + ["wedge"] = 8743, + ["or"] = 8744, + ["vee"] = 8744, + ["cap"] = 8745, + ["cup"] = 8746, + ["int"] = 8747, + ["Integral"] = 8747, + ["Int"] = 8748, + ["tint"] = 8749, + ["iiint"] = 8749, + ["conint"] = 8750, + ["oint"] = 8750, + ["ContourIntegral"] = 8750, + ["Conint"] = 8751, + ["DoubleContourIntegral"] = 8751, + ["Cconint"] = 8752, + ["cwint"] = 8753, + ["cwconint"] = 8754, + ["ClockwiseContourIntegral"] = 8754, + ["awconint"] = 8755, + ["CounterClockwiseContourIntegral"] = 8755, + ["there4"] = 8756, + ["therefore"] = 8756, + ["Therefore"] = 8756, + ["becaus"] = 8757, + ["because"] = 8757, + ["Because"] = 8757, + ["ratio"] = 8758, + ["Colon"] = 8759, + ["Proportion"] = 8759, + ["minusd"] = 8760, + ["dotminus"] = 8760, + ["mDDot"] = 8762, + ["homtht"] = 8763, + ["sim"] = 8764, + ["Tilde"] = 8764, + ["thksim"] = 8764, + ["thicksim"] = 8764, + ["bsim"] = 8765, + ["backsim"] = 8765, + ["ac"] = 8766, + ["mstpos"] = 8766, + ["acd"] = 8767, + ["wreath"] = 8768, + ["VerticalTilde"] = 8768, + ["wr"] = 8768, + ["nsim"] = 8769, + ["NotTilde"] = 8769, + ["esim"] = 8770, + ["EqualTilde"] = 8770, + ["eqsim"] = 8770, + ["sime"] = 8771, + ["TildeEqual"] = 8771, + ["simeq"] = 8771, + ["nsime"] = 8772, + ["nsimeq"] = 8772, + ["NotTildeEqual"] = 8772, + ["cong"] = 8773, + ["TildeFullEqual"] = 8773, + ["simne"] = 8774, + ["ncong"] = 8775, + ["NotTildeFullEqual"] = 8775, + ["asymp"] = 8776, + ["ap"] = 8776, + ["TildeTilde"] = 8776, + ["approx"] = 8776, + ["thkap"] = 8776, + ["thickapprox"] = 8776, + ["nap"] = 8777, + ["NotTildeTilde"] = 8777, + ["napprox"] = 8777, + ["ape"] = 8778, + ["approxeq"] = 8778, + ["apid"] = 8779, + ["bcong"] = 8780, + ["backcong"] = 8780, + ["asympeq"] = 8781, + ["CupCap"] = 8781, + ["bump"] = 8782, + ["HumpDownHump"] = 8782, + ["Bumpeq"] = 8782, + ["bumpe"] = 8783, + ["HumpEqual"] = 8783, + ["bumpeq"] = 8783, + ["esdot"] = 8784, + ["DotEqual"] = 8784, + ["doteq"] = 8784, + ["eDot"] = 8785, + ["doteqdot"] = 8785, + ["efDot"] = 8786, + ["fallingdotseq"] = 8786, + ["erDot"] = 8787, + ["risingdotseq"] = 8787, + ["colone"] = 8788, + ["coloneq"] = 8788, + ["Assign"] = 8788, + ["ecolon"] = 8789, + ["eqcolon"] = 8789, + ["ecir"] = 8790, + ["eqcirc"] = 8790, + ["cire"] = 8791, + ["circeq"] = 8791, + ["wedgeq"] = 8793, + ["veeeq"] = 8794, + ["trie"] = 8796, + ["triangleq"] = 8796, + ["equest"] = 8799, + ["questeq"] = 8799, + ["ne"] = 8800, + ["NotEqual"] = 8800, + ["equiv"] = 8801, + ["Congruent"] = 8801, + ["nequiv"] = 8802, + ["NotCongruent"] = 8802, + ["le"] = 8804, + ["leq"] = 8804, + ["ge"] = 8805, + ["GreaterEqual"] = 8805, + ["geq"] = 8805, + ["lE"] = 8806, + ["LessFullEqual"] = 8806, + ["leqq"] = 8806, + ["gE"] = 8807, + ["GreaterFullEqual"] = 8807, + ["geqq"] = 8807, + ["lnE"] = 8808, + ["lneqq"] = 8808, + ["gnE"] = 8809, + ["gneqq"] = 8809, + ["Lt"] = 8810, + ["NestedLessLess"] = 8810, + ["ll"] = 8810, + ["Gt"] = 8811, + ["NestedGreaterGreater"] = 8811, + ["gg"] = 8811, + ["twixt"] = 8812, + ["between"] = 8812, + ["NotCupCap"] = 8813, + ["nlt"] = 8814, + ["NotLess"] = 8814, + ["nless"] = 8814, + ["ngt"] = 8815, + ["NotGreater"] = 8815, + ["ngtr"] = 8815, + ["nle"] = 8816, + ["NotLessEqual"] = 8816, + ["nleq"] = 8816, + ["nge"] = 8817, + ["NotGreaterEqual"] = 8817, + ["ngeq"] = 8817, + ["lsim"] = 8818, + ["LessTilde"] = 8818, + ["lesssim"] = 8818, + ["gsim"] = 8819, + ["gtrsim"] = 8819, + ["GreaterTilde"] = 8819, + ["nlsim"] = 8820, + ["NotLessTilde"] = 8820, + ["ngsim"] = 8821, + ["NotGreaterTilde"] = 8821, + ["lg"] = 8822, + ["lessgtr"] = 8822, + ["LessGreater"] = 8822, + ["gl"] = 8823, + ["gtrless"] = 8823, + ["GreaterLess"] = 8823, + ["ntlg"] = 8824, + ["NotLessGreater"] = 8824, + ["ntgl"] = 8825, + ["NotGreaterLess"] = 8825, + ["pr"] = 8826, + ["Precedes"] = 8826, + ["prec"] = 8826, + ["sc"] = 8827, + ["Succeeds"] = 8827, + ["succ"] = 8827, + ["prcue"] = 8828, + ["PrecedesSlantEqual"] = 8828, + ["preccurlyeq"] = 8828, + ["sccue"] = 8829, + ["SucceedsSlantEqual"] = 8829, + ["succcurlyeq"] = 8829, + ["prsim"] = 8830, + ["precsim"] = 8830, + ["PrecedesTilde"] = 8830, + ["scsim"] = 8831, + ["succsim"] = 8831, + ["SucceedsTilde"] = 8831, + ["npr"] = 8832, + ["nprec"] = 8832, + ["NotPrecedes"] = 8832, + ["nsc"] = 8833, + ["nsucc"] = 8833, + ["NotSucceeds"] = 8833, + ["sub"] = 8834, + ["subset"] = 8834, + ["sup"] = 8835, + ["supset"] = 8835, + ["Superset"] = 8835, + ["nsub"] = 8836, + ["nsup"] = 8837, + ["sube"] = 8838, + ["SubsetEqual"] = 8838, + ["subseteq"] = 8838, + ["supe"] = 8839, + ["supseteq"] = 8839, + ["SupersetEqual"] = 8839, + ["nsube"] = 8840, + ["nsubseteq"] = 8840, + ["NotSubsetEqual"] = 8840, + ["nsupe"] = 8841, + ["nsupseteq"] = 8841, + ["NotSupersetEqual"] = 8841, + ["subne"] = 8842, + ["subsetneq"] = 8842, + ["supne"] = 8843, + ["supsetneq"] = 8843, + ["cupdot"] = 8845, + ["uplus"] = 8846, + ["UnionPlus"] = 8846, + ["sqsub"] = 8847, + ["SquareSubset"] = 8847, + ["sqsubset"] = 8847, + ["sqsup"] = 8848, + ["SquareSuperset"] = 8848, + ["sqsupset"] = 8848, + ["sqsube"] = 8849, + ["SquareSubsetEqual"] = 8849, + ["sqsubseteq"] = 8849, + ["sqsupe"] = 8850, + ["SquareSupersetEqual"] = 8850, + ["sqsupseteq"] = 8850, + ["sqcap"] = 8851, + ["SquareIntersection"] = 8851, + ["sqcup"] = 8852, + ["SquareUnion"] = 8852, + ["oplus"] = 8853, + ["CirclePlus"] = 8853, + ["ominus"] = 8854, + ["CircleMinus"] = 8854, + ["otimes"] = 8855, + ["CircleTimes"] = 8855, + ["osol"] = 8856, + ["odot"] = 8857, + ["CircleDot"] = 8857, + ["ocir"] = 8858, + ["circledcirc"] = 8858, + ["oast"] = 8859, + ["circledast"] = 8859, + ["odash"] = 8861, + ["circleddash"] = 8861, + ["plusb"] = 8862, + ["boxplus"] = 8862, + ["minusb"] = 8863, + ["boxminus"] = 8863, + ["timesb"] = 8864, + ["boxtimes"] = 8864, + ["sdotb"] = 8865, + ["dotsquare"] = 8865, + ["vdash"] = 8866, + ["RightTee"] = 8866, + ["dashv"] = 8867, + ["LeftTee"] = 8867, + ["top"] = 8868, + ["DownTee"] = 8868, + ["bottom"] = 8869, + ["bot"] = 8869, + ["perp"] = 8869, + ["UpTee"] = 8869, + ["models"] = 8871, + ["vDash"] = 8872, + ["DoubleRightTee"] = 8872, + ["Vdash"] = 8873, + ["Vvdash"] = 8874, + ["VDash"] = 8875, + ["nvdash"] = 8876, + ["nvDash"] = 8877, + ["nVdash"] = 8878, + ["nVDash"] = 8879, + ["prurel"] = 8880, + ["vltri"] = 8882, + ["vartriangleleft"] = 8882, + ["LeftTriangle"] = 8882, + ["vrtri"] = 8883, + ["vartriangleright"] = 8883, + ["RightTriangle"] = 8883, + ["ltrie"] = 8884, + ["trianglelefteq"] = 8884, + ["LeftTriangleEqual"] = 8884, + ["rtrie"] = 8885, + ["trianglerighteq"] = 8885, + ["RightTriangleEqual"] = 8885, + ["origof"] = 8886, + ["imof"] = 8887, + ["mumap"] = 8888, + ["multimap"] = 8888, + ["hercon"] = 8889, + ["intcal"] = 8890, + ["intercal"] = 8890, + ["veebar"] = 8891, + ["barvee"] = 8893, + ["angrtvb"] = 8894, + ["lrtri"] = 8895, + ["xwedge"] = 8896, + ["Wedge"] = 8896, + ["bigwedge"] = 8896, + ["xvee"] = 8897, + ["Vee"] = 8897, + ["bigvee"] = 8897, + ["xcap"] = 8898, + ["Intersection"] = 8898, + ["bigcap"] = 8898, + ["xcup"] = 8899, + ["Union"] = 8899, + ["bigcup"] = 8899, + ["diam"] = 8900, + ["diamond"] = 8900, + ["Diamond"] = 8900, + ["sdot"] = 8901, + ["sstarf"] = 8902, + ["Star"] = 8902, + ["divonx"] = 8903, + ["divideontimes"] = 8903, + ["bowtie"] = 8904, + ["ltimes"] = 8905, + ["rtimes"] = 8906, + ["lthree"] = 8907, + ["leftthreetimes"] = 8907, + ["rthree"] = 8908, + ["rightthreetimes"] = 8908, + ["bsime"] = 8909, + ["backsimeq"] = 8909, + ["cuvee"] = 8910, + ["curlyvee"] = 8910, + ["cuwed"] = 8911, + ["curlywedge"] = 8911, + ["Sub"] = 8912, + ["Subset"] = 8912, + ["Sup"] = 8913, + ["Supset"] = 8913, + ["Cap"] = 8914, + ["Cup"] = 8915, + ["fork"] = 8916, + ["pitchfork"] = 8916, + ["epar"] = 8917, + ["ltdot"] = 8918, + ["lessdot"] = 8918, + ["gtdot"] = 8919, + ["gtrdot"] = 8919, + ["Ll"] = 8920, + ["Gg"] = 8921, + ["ggg"] = 8921, + ["leg"] = 8922, + ["LessEqualGreater"] = 8922, + ["lesseqgtr"] = 8922, + ["gel"] = 8923, + ["gtreqless"] = 8923, + ["GreaterEqualLess"] = 8923, + ["cuepr"] = 8926, + ["curlyeqprec"] = 8926, + ["cuesc"] = 8927, + ["curlyeqsucc"] = 8927, + ["nprcue"] = 8928, + ["NotPrecedesSlantEqual"] = 8928, + ["nsccue"] = 8929, + ["NotSucceedsSlantEqual"] = 8929, + ["nsqsube"] = 8930, + ["NotSquareSubsetEqual"] = 8930, + ["nsqsupe"] = 8931, + ["NotSquareSupersetEqual"] = 8931, + ["lnsim"] = 8934, + ["gnsim"] = 8935, + ["prnsim"] = 8936, + ["precnsim"] = 8936, + ["scnsim"] = 8937, + ["succnsim"] = 8937, + ["nltri"] = 8938, + ["ntriangleleft"] = 8938, + ["NotLeftTriangle"] = 8938, + ["nrtri"] = 8939, + ["ntriangleright"] = 8939, + ["NotRightTriangle"] = 8939, + ["nltrie"] = 8940, + ["ntrianglelefteq"] = 8940, + ["NotLeftTriangleEqual"] = 8940, + ["nrtrie"] = 8941, + ["ntrianglerighteq"] = 8941, + ["NotRightTriangleEqual"] = 8941, + ["vellip"] = 8942, + ["ctdot"] = 8943, + ["utdot"] = 8944, + ["dtdot"] = 8945, + ["disin"] = 8946, + ["isinsv"] = 8947, + ["isins"] = 8948, + ["isindot"] = 8949, + ["notinvc"] = 8950, + ["notinvb"] = 8951, + ["isinE"] = 8953, + ["nisd"] = 8954, + ["xnis"] = 8955, + ["nis"] = 8956, + ["notnivc"] = 8957, + ["notnivb"] = 8958, + ["barwed"] = 8965, + ["barwedge"] = 8965, + ["Barwed"] = 8966, + ["doublebarwedge"] = 8966, + ["lceil"] = 8968, + ["LeftCeiling"] = 8968, + ["rceil"] = 8969, + ["RightCeiling"] = 8969, + ["lfloor"] = 8970, + ["LeftFloor"] = 8970, + ["rfloor"] = 8971, + ["RightFloor"] = 8971, + ["drcrop"] = 8972, + ["dlcrop"] = 8973, + ["urcrop"] = 8974, + ["ulcrop"] = 8975, + ["bnot"] = 8976, + ["profline"] = 8978, + ["profsurf"] = 8979, + ["telrec"] = 8981, + ["target"] = 8982, + ["ulcorn"] = 8988, + ["ulcorner"] = 8988, + ["urcorn"] = 8989, + ["urcorner"] = 8989, + ["dlcorn"] = 8990, + ["llcorner"] = 8990, + ["drcorn"] = 8991, + ["lrcorner"] = 8991, + ["frown"] = 8994, + ["sfrown"] = 8994, + ["smile"] = 8995, + ["ssmile"] = 8995, + ["cylcty"] = 9005, + ["profalar"] = 9006, + ["topbot"] = 9014, + ["ovbar"] = 9021, + ["solbar"] = 9023, + ["angzarr"] = 9084, + ["lmoust"] = 9136, + ["lmoustache"] = 9136, + ["rmoust"] = 9137, + ["rmoustache"] = 9137, + ["tbrk"] = 9140, + ["OverBracket"] = 9140, + ["bbrk"] = 9141, + ["UnderBracket"] = 9141, + ["bbrktbrk"] = 9142, + ["OverParenthesis"] = 9180, + ["UnderParenthesis"] = 9181, + ["OverBrace"] = 9182, + ["UnderBrace"] = 9183, + ["trpezium"] = 9186, + ["elinters"] = 9191, + ["blank"] = 9251, + ["oS"] = 9416, + ["circledS"] = 9416, + ["boxh"] = 9472, + ["HorizontalLine"] = 9472, + ["boxv"] = 9474, + ["boxdr"] = 9484, + ["boxdl"] = 9488, + ["boxur"] = 9492, + ["boxul"] = 9496, + ["boxvr"] = 9500, + ["boxvl"] = 9508, + ["boxhd"] = 9516, + ["boxhu"] = 9524, + ["boxvh"] = 9532, + ["boxH"] = 9552, + ["boxV"] = 9553, + ["boxdR"] = 9554, + ["boxDr"] = 9555, + ["boxDR"] = 9556, + ["boxdL"] = 9557, + ["boxDl"] = 9558, + ["boxDL"] = 9559, + ["boxuR"] = 9560, + ["boxUr"] = 9561, + ["boxUR"] = 9562, + ["boxuL"] = 9563, + ["boxUl"] = 9564, + ["boxUL"] = 9565, + ["boxvR"] = 9566, + ["boxVr"] = 9567, + ["boxVR"] = 9568, + ["boxvL"] = 9569, + ["boxVl"] = 9570, + ["boxVL"] = 9571, + ["boxHd"] = 9572, + ["boxhD"] = 9573, + ["boxHD"] = 9574, + ["boxHu"] = 9575, + ["boxhU"] = 9576, + ["boxHU"] = 9577, + ["boxvH"] = 9578, + ["boxVh"] = 9579, + ["boxVH"] = 9580, + ["uhblk"] = 9600, + ["lhblk"] = 9604, + ["block"] = 9608, + ["blk14"] = 9617, + ["blk12"] = 9618, + ["blk34"] = 9619, + ["squ"] = 9633, + ["square"] = 9633, + ["Square"] = 9633, + ["squf"] = 9642, + ["squarf"] = 9642, + ["blacksquare"] = 9642, + ["FilledVerySmallSquare"] = 9642, + ["EmptyVerySmallSquare"] = 9643, + ["rect"] = 9645, + ["marker"] = 9646, + ["fltns"] = 9649, + ["xutri"] = 9651, + ["bigtriangleup"] = 9651, + ["utrif"] = 9652, + ["blacktriangle"] = 9652, + ["utri"] = 9653, + ["triangle"] = 9653, + ["rtrif"] = 9656, + ["blacktriangleright"] = 9656, + ["rtri"] = 9657, + ["triangleright"] = 9657, + ["xdtri"] = 9661, + ["bigtriangledown"] = 9661, + ["dtrif"] = 9662, + ["blacktriangledown"] = 9662, + ["dtri"] = 9663, + ["triangledown"] = 9663, + ["ltrif"] = 9666, + ["blacktriangleleft"] = 9666, + ["ltri"] = 9667, + ["triangleleft"] = 9667, + ["loz"] = 9674, + ["lozenge"] = 9674, + ["cir"] = 9675, + ["tridot"] = 9708, + ["xcirc"] = 9711, + ["bigcirc"] = 9711, + ["ultri"] = 9720, + ["urtri"] = 9721, + ["lltri"] = 9722, + ["EmptySmallSquare"] = 9723, + ["FilledSmallSquare"] = 9724, + ["starf"] = 9733, + ["bigstar"] = 9733, + ["star"] = 9734, + ["phone"] = 9742, + ["female"] = 9792, + ["male"] = 9794, + ["spades"] = 9824, + ["spadesuit"] = 9824, + ["clubs"] = 9827, + ["clubsuit"] = 9827, + ["hearts"] = 9829, + ["heartsuit"] = 9829, + ["diams"] = 9830, + ["diamondsuit"] = 9830, + ["sung"] = 9834, + ["flat"] = 9837, + ["natur"] = 9838, + ["natural"] = 9838, + ["sharp"] = 9839, + ["check"] = 10003, + ["checkmark"] = 10003, + ["cross"] = 10007, + ["malt"] = 10016, + ["maltese"] = 10016, + ["sext"] = 10038, + ["VerticalSeparator"] = 10072, + ["lbbrk"] = 10098, + ["rbbrk"] = 10099, + ["lobrk"] = 10214, + ["LeftDoubleBracket"] = 10214, + ["robrk"] = 10215, + ["RightDoubleBracket"] = 10215, + ["lang"] = 10216, + ["LeftAngleBracket"] = 10216, + ["langle"] = 10216, + ["rang"] = 10217, + ["RightAngleBracket"] = 10217, + ["rangle"] = 10217, + ["Lang"] = 10218, + ["Rang"] = 10219, + ["loang"] = 10220, + ["roang"] = 10221, + ["xlarr"] = 10229, + ["longleftarrow"] = 10229, + ["LongLeftArrow"] = 10229, + ["xrarr"] = 10230, + ["longrightarrow"] = 10230, + ["LongRightArrow"] = 10230, + ["xharr"] = 10231, + ["longleftrightarrow"] = 10231, + ["LongLeftRightArrow"] = 10231, + ["xlArr"] = 10232, + ["Longleftarrow"] = 10232, + ["DoubleLongLeftArrow"] = 10232, + ["xrArr"] = 10233, + ["Longrightarrow"] = 10233, + ["DoubleLongRightArrow"] = 10233, + ["xhArr"] = 10234, + ["Longleftrightarrow"] = 10234, + ["DoubleLongLeftRightArrow"] = 10234, + ["xmap"] = 10236, + ["longmapsto"] = 10236, + ["dzigrarr"] = 10239, + ["nvlArr"] = 10498, + ["nvrArr"] = 10499, + ["nvHarr"] = 10500, + ["Map"] = 10501, + ["lbarr"] = 10508, + ["rbarr"] = 10509, + ["bkarow"] = 10509, + ["lBarr"] = 10510, + ["rBarr"] = 10511, + ["dbkarow"] = 10511, + ["RBarr"] = 10512, + ["drbkarow"] = 10512, + ["DDotrahd"] = 10513, + ["UpArrowBar"] = 10514, + ["DownArrowBar"] = 10515, + ["Rarrtl"] = 10518, + ["latail"] = 10521, + ["ratail"] = 10522, + ["lAtail"] = 10523, + ["rAtail"] = 10524, + ["larrfs"] = 10525, + ["rarrfs"] = 10526, + ["larrbfs"] = 10527, + ["rarrbfs"] = 10528, + ["nwarhk"] = 10531, + ["nearhk"] = 10532, + ["searhk"] = 10533, + ["hksearow"] = 10533, + ["swarhk"] = 10534, + ["hkswarow"] = 10534, + ["nwnear"] = 10535, + ["nesear"] = 10536, + ["toea"] = 10536, + ["seswar"] = 10537, + ["tosa"] = 10537, + ["swnwar"] = 10538, + ["rarrc"] = 10547, + ["cudarrr"] = 10549, + ["ldca"] = 10550, + ["rdca"] = 10551, + ["cudarrl"] = 10552, + ["larrpl"] = 10553, + ["curarrm"] = 10556, + ["cularrp"] = 10557, + ["rarrpl"] = 10565, + ["harrcir"] = 10568, + ["Uarrocir"] = 10569, + ["lurdshar"] = 10570, + ["ldrushar"] = 10571, + ["LeftRightVector"] = 10574, + ["RightUpDownVector"] = 10575, + ["DownLeftRightVector"] = 10576, + ["LeftUpDownVector"] = 10577, + ["LeftVectorBar"] = 10578, + ["RightVectorBar"] = 10579, + ["RightUpVectorBar"] = 10580, + ["RightDownVectorBar"] = 10581, + ["DownLeftVectorBar"] = 10582, + ["DownRightVectorBar"] = 10583, + ["LeftUpVectorBar"] = 10584, + ["LeftDownVectorBar"] = 10585, + ["LeftTeeVector"] = 10586, + ["RightTeeVector"] = 10587, + ["RightUpTeeVector"] = 10588, + ["RightDownTeeVector"] = 10589, + ["DownLeftTeeVector"] = 10590, + ["DownRightTeeVector"] = 10591, + ["LeftUpTeeVector"] = 10592, + ["LeftDownTeeVector"] = 10593, + ["lHar"] = 10594, + ["uHar"] = 10595, + ["rHar"] = 10596, + ["dHar"] = 10597, + ["luruhar"] = 10598, + ["ldrdhar"] = 10599, + ["ruluhar"] = 10600, + ["rdldhar"] = 10601, + ["lharul"] = 10602, + ["llhard"] = 10603, + ["rharul"] = 10604, + ["lrhard"] = 10605, + ["udhar"] = 10606, + ["UpEquilibrium"] = 10606, + ["duhar"] = 10607, + ["ReverseUpEquilibrium"] = 10607, + ["RoundImplies"] = 10608, + ["erarr"] = 10609, + ["simrarr"] = 10610, + ["larrsim"] = 10611, + ["rarrsim"] = 10612, + ["rarrap"] = 10613, + ["ltlarr"] = 10614, + ["gtrarr"] = 10616, + ["subrarr"] = 10617, + ["suplarr"] = 10619, + ["lfisht"] = 10620, + ["rfisht"] = 10621, + ["ufisht"] = 10622, + ["dfisht"] = 10623, + ["lopar"] = 10629, + ["ropar"] = 10630, + ["lbrke"] = 10635, + ["rbrke"] = 10636, + ["lbrkslu"] = 10637, + ["rbrksld"] = 10638, + ["lbrksld"] = 10639, + ["rbrkslu"] = 10640, + ["langd"] = 10641, + ["rangd"] = 10642, + ["lparlt"] = 10643, + ["rpargt"] = 10644, + ["gtlPar"] = 10645, + ["ltrPar"] = 10646, + ["vzigzag"] = 10650, + ["vangrt"] = 10652, + ["angrtvbd"] = 10653, + ["ange"] = 10660, + ["range"] = 10661, + ["dwangle"] = 10662, + ["uwangle"] = 10663, + ["angmsdaa"] = 10664, + ["angmsdab"] = 10665, + ["angmsdac"] = 10666, + ["angmsdad"] = 10667, + ["angmsdae"] = 10668, + ["angmsdaf"] = 10669, + ["angmsdag"] = 10670, + ["angmsdah"] = 10671, + ["bemptyv"] = 10672, + ["demptyv"] = 10673, + ["cemptyv"] = 10674, + ["raemptyv"] = 10675, + ["laemptyv"] = 10676, + ["ohbar"] = 10677, + ["omid"] = 10678, + ["opar"] = 10679, + ["operp"] = 10681, + ["olcross"] = 10683, + ["odsold"] = 10684, + ["olcir"] = 10686, + ["ofcir"] = 10687, + ["olt"] = 10688, + ["ogt"] = 10689, + ["cirscir"] = 10690, + ["cirE"] = 10691, + ["solb"] = 10692, + ["bsolb"] = 10693, + ["boxbox"] = 10697, + ["trisb"] = 10701, + ["rtriltri"] = 10702, + ["LeftTriangleBar"] = 10703, + ["RightTriangleBar"] = 10704, + ["race"] = 10714, + ["iinfin"] = 10716, + ["infintie"] = 10717, + ["nvinfin"] = 10718, + ["eparsl"] = 10723, + ["smeparsl"] = 10724, + ["eqvparsl"] = 10725, + ["lozf"] = 10731, + ["blacklozenge"] = 10731, + ["RuleDelayed"] = 10740, + ["dsol"] = 10742, + ["xodot"] = 10752, + ["bigodot"] = 10752, + ["xoplus"] = 10753, + ["bigoplus"] = 10753, + ["xotime"] = 10754, + ["bigotimes"] = 10754, + ["xuplus"] = 10756, + ["biguplus"] = 10756, + ["xsqcup"] = 10758, + ["bigsqcup"] = 10758, + ["qint"] = 10764, + ["iiiint"] = 10764, + ["fpartint"] = 10765, + ["cirfnint"] = 10768, + ["awint"] = 10769, + ["rppolint"] = 10770, + ["scpolint"] = 10771, + ["npolint"] = 10772, + ["pointint"] = 10773, + ["quatint"] = 10774, + ["intlarhk"] = 10775, + ["pluscir"] = 10786, + ["plusacir"] = 10787, + ["simplus"] = 10788, + ["plusdu"] = 10789, + ["plussim"] = 10790, + ["plustwo"] = 10791, + ["mcomma"] = 10793, + ["minusdu"] = 10794, + ["loplus"] = 10797, + ["roplus"] = 10798, + ["Cross"] = 10799, + ["timesd"] = 10800, + ["timesbar"] = 10801, + ["smashp"] = 10803, + ["lotimes"] = 10804, + ["rotimes"] = 10805, + ["otimesas"] = 10806, + ["Otimes"] = 10807, + ["odiv"] = 10808, + ["triplus"] = 10809, + ["triminus"] = 10810, + ["tritime"] = 10811, + ["iprod"] = 10812, + ["intprod"] = 10812, + ["amalg"] = 10815, + ["capdot"] = 10816, + ["ncup"] = 10818, + ["ncap"] = 10819, + ["capand"] = 10820, + ["cupor"] = 10821, + ["cupcap"] = 10822, + ["capcup"] = 10823, + ["cupbrcap"] = 10824, + ["capbrcup"] = 10825, + ["cupcup"] = 10826, + ["capcap"] = 10827, + ["ccups"] = 10828, + ["ccaps"] = 10829, + ["ccupssm"] = 10832, + ["And"] = 10835, + ["Or"] = 10836, + ["andand"] = 10837, + ["oror"] = 10838, + ["orslope"] = 10839, + ["andslope"] = 10840, + ["andv"] = 10842, + ["orv"] = 10843, + ["andd"] = 10844, + ["ord"] = 10845, + ["wedbar"] = 10847, + ["sdote"] = 10854, + ["simdot"] = 10858, + ["congdot"] = 10861, + ["easter"] = 10862, + ["apacir"] = 10863, + ["apE"] = 10864, + ["eplus"] = 10865, + ["pluse"] = 10866, + ["Esim"] = 10867, + ["Colone"] = 10868, + ["Equal"] = 10869, + ["eDDot"] = 10871, + ["ddotseq"] = 10871, + ["equivDD"] = 10872, + ["ltcir"] = 10873, + ["gtcir"] = 10874, + ["ltquest"] = 10875, + ["gtquest"] = 10876, + ["les"] = 10877, + ["LessSlantEqual"] = 10877, + ["leqslant"] = 10877, + ["ges"] = 10878, + ["GreaterSlantEqual"] = 10878, + ["geqslant"] = 10878, + ["lesdot"] = 10879, + ["gesdot"] = 10880, + ["lesdoto"] = 10881, + ["gesdoto"] = 10882, + ["lesdotor"] = 10883, + ["gesdotol"] = 10884, + ["lap"] = 10885, + ["lessapprox"] = 10885, + ["gap"] = 10886, + ["gtrapprox"] = 10886, + ["lne"] = 10887, + ["lneq"] = 10887, + ["gne"] = 10888, + ["gneq"] = 10888, + ["lnap"] = 10889, + ["lnapprox"] = 10889, + ["gnap"] = 10890, + ["gnapprox"] = 10890, + ["lEg"] = 10891, + ["lesseqqgtr"] = 10891, + ["gEl"] = 10892, + ["gtreqqless"] = 10892, + ["lsime"] = 10893, + ["gsime"] = 10894, + ["lsimg"] = 10895, + ["gsiml"] = 10896, + ["lgE"] = 10897, + ["glE"] = 10898, + ["lesges"] = 10899, + ["gesles"] = 10900, + ["els"] = 10901, + ["eqslantless"] = 10901, + ["egs"] = 10902, + ["eqslantgtr"] = 10902, + ["elsdot"] = 10903, + ["egsdot"] = 10904, + ["el"] = 10905, + ["eg"] = 10906, + ["siml"] = 10909, + ["simg"] = 10910, + ["simlE"] = 10911, + ["simgE"] = 10912, + ["LessLess"] = 10913, + ["GreaterGreater"] = 10914, + ["glj"] = 10916, + ["gla"] = 10917, + ["ltcc"] = 10918, + ["gtcc"] = 10919, + ["lescc"] = 10920, + ["gescc"] = 10921, + ["smt"] = 10922, + ["lat"] = 10923, + ["smte"] = 10924, + ["late"] = 10925, + ["bumpE"] = 10926, + ["pre"] = 10927, + ["preceq"] = 10927, + ["PrecedesEqual"] = 10927, + ["sce"] = 10928, + ["succeq"] = 10928, + ["SucceedsEqual"] = 10928, + ["prE"] = 10931, + ["scE"] = 10932, + ["prnE"] = 10933, + ["precneqq"] = 10933, + ["scnE"] = 10934, + ["succneqq"] = 10934, + ["prap"] = 10935, + ["precapprox"] = 10935, + ["scap"] = 10936, + ["succapprox"] = 10936, + ["prnap"] = 10937, + ["precnapprox"] = 10937, + ["scnap"] = 10938, + ["succnapprox"] = 10938, + ["Pr"] = 10939, + ["Sc"] = 10940, + ["subdot"] = 10941, + ["supdot"] = 10942, + ["subplus"] = 10943, + ["supplus"] = 10944, + ["submult"] = 10945, + ["supmult"] = 10946, + ["subedot"] = 10947, + ["supedot"] = 10948, + ["subE"] = 10949, + ["subseteqq"] = 10949, + ["supE"] = 10950, + ["supseteqq"] = 10950, + ["subsim"] = 10951, + ["supsim"] = 10952, + ["subnE"] = 10955, + ["subsetneqq"] = 10955, + ["supnE"] = 10956, + ["supsetneqq"] = 10956, + ["csub"] = 10959, + ["csup"] = 10960, + ["csube"] = 10961, + ["csupe"] = 10962, + ["subsup"] = 10963, + ["supsub"] = 10964, + ["subsub"] = 10965, + ["supsup"] = 10966, + ["suphsub"] = 10967, + ["supdsub"] = 10968, + ["forkv"] = 10969, + ["topfork"] = 10970, + ["mlcp"] = 10971, + ["Dashv"] = 10980, + ["DoubleLeftTee"] = 10980, + ["Vdashl"] = 10982, + ["Barv"] = 10983, + ["vBar"] = 10984, + ["vBarv"] = 10985, + ["Vbar"] = 10987, + ["Not"] = 10988, + ["bNot"] = 10989, + ["rnmid"] = 10990, + ["cirmid"] = 10991, + ["midcir"] = 10992, + ["topcir"] = 10993, + ["nhpar"] = 10994, + ["parsim"] = 10995, + ["parsl"] = 11005, + ["fflig"] = 64256, + ["filig"] = 64257, + ["fllig"] = 64258, + ["ffilig"] = 64259, + ["ffllig"] = 64260, + ["Ascr"] = 119964, + ["Cscr"] = 119966, + ["Dscr"] = 119967, + ["Gscr"] = 119970, + ["Jscr"] = 119973, + ["Kscr"] = 119974, + ["Nscr"] = 119977, + ["Oscr"] = 119978, + ["Pscr"] = 119979, + ["Qscr"] = 119980, + ["Sscr"] = 119982, + ["Tscr"] = 119983, + ["Uscr"] = 119984, + ["Vscr"] = 119985, + ["Wscr"] = 119986, + ["Xscr"] = 119987, + ["Yscr"] = 119988, + ["Zscr"] = 119989, + ["ascr"] = 119990, + ["bscr"] = 119991, + ["cscr"] = 119992, + ["dscr"] = 119993, + ["fscr"] = 119995, + ["hscr"] = 119997, + ["iscr"] = 119998, + ["jscr"] = 119999, + ["kscr"] = 120000, + ["lscr"] = 120001, + ["mscr"] = 120002, + ["nscr"] = 120003, + ["pscr"] = 120005, + ["qscr"] = 120006, + ["rscr"] = 120007, + ["sscr"] = 120008, + ["tscr"] = 120009, + ["uscr"] = 120010, + ["vscr"] = 120011, + ["wscr"] = 120012, + ["xscr"] = 120013, + ["yscr"] = 120014, + ["zscr"] = 120015, + ["Afr"] = 120068, + ["Bfr"] = 120069, + ["Dfr"] = 120071, + ["Efr"] = 120072, + ["Ffr"] = 120073, + ["Gfr"] = 120074, + ["Jfr"] = 120077, + ["Kfr"] = 120078, + ["Lfr"] = 120079, + ["Mfr"] = 120080, + ["Nfr"] = 120081, + ["Ofr"] = 120082, + ["Pfr"] = 120083, + ["Qfr"] = 120084, + ["Sfr"] = 120086, + ["Tfr"] = 120087, + ["Ufr"] = 120088, + ["Vfr"] = 120089, + ["Wfr"] = 120090, + ["Xfr"] = 120091, + ["Yfr"] = 120092, + ["afr"] = 120094, + ["bfr"] = 120095, + ["cfr"] = 120096, + ["dfr"] = 120097, + ["efr"] = 120098, + ["ffr"] = 120099, + ["gfr"] = 120100, + ["hfr"] = 120101, + ["ifr"] = 120102, + ["jfr"] = 120103, + ["kfr"] = 120104, + ["lfr"] = 120105, + ["mfr"] = 120106, + ["nfr"] = 120107, + ["ofr"] = 120108, + ["pfr"] = 120109, + ["qfr"] = 120110, + ["rfr"] = 120111, + ["sfr"] = 120112, + ["tfr"] = 120113, + ["ufr"] = 120114, + ["vfr"] = 120115, + ["wfr"] = 120116, + ["xfr"] = 120117, + ["yfr"] = 120118, + ["zfr"] = 120119, + ["Aopf"] = 120120, + ["Bopf"] = 120121, + ["Dopf"] = 120123, + ["Eopf"] = 120124, + ["Fopf"] = 120125, + ["Gopf"] = 120126, + ["Iopf"] = 120128, + ["Jopf"] = 120129, + ["Kopf"] = 120130, + ["Lopf"] = 120131, + ["Mopf"] = 120132, + ["Oopf"] = 120134, + ["Sopf"] = 120138, + ["Topf"] = 120139, + ["Uopf"] = 120140, + ["Vopf"] = 120141, + ["Wopf"] = 120142, + ["Xopf"] = 120143, + ["Yopf"] = 120144, + ["aopf"] = 120146, + ["bopf"] = 120147, + ["copf"] = 120148, + ["dopf"] = 120149, + ["eopf"] = 120150, + ["fopf"] = 120151, + ["gopf"] = 120152, + ["hopf"] = 120153, + ["iopf"] = 120154, + ["jopf"] = 120155, + ["kopf"] = 120156, + ["lopf"] = 120157, + ["mopf"] = 120158, + ["nopf"] = 120159, + ["oopf"] = 120160, + ["popf"] = 120161, + ["qopf"] = 120162, + ["ropf"] = 120163, + ["sopf"] = 120164, + ["topf"] = 120165, + ["uopf"] = 120166, + ["vopf"] = 120167, + ["wopf"] = 120168, + ["xopf"] = 120169, + ["yopf"] = 120170, + ["zopf"] = 120171, } function entities.dec_entity(s) return unicode.utf8.char(tonumber(s)) @@ -492,6 +2277,9 @@ function entities.hex_entity(s) end function entities.char_entity(s) local n = character_entities[s] + if n == nil then + return "&" .. s .. ";" + end return unicode.utf8.char(n) end M.writer = {} @@ -600,6 +2388,27 @@ function M.writer.new(options) "{",self.uri(src),"}", "{",self.string(tit or ""),"}"} end + function self.table(rows, caption) + local buffer = {"\\markdownRendererTable{", + caption or "", "}{", #rows - 1, "}{", #rows[1], "}"} + local temp = rows[2] -- put alignments on the first row + rows[2] = rows[1] + rows[1] = temp + for i, row in ipairs(rows) do + table.insert(buffer, "{") + for _, column in ipairs(row) do + if i > 1 then -- do not use braces for alignments + table.insert(buffer, "{") + end + table.insert(buffer, column) + if i > 1 then + table.insert(buffer, "}%\n") + end + end + table.insert(buffer, "}%\n") + end + return buffer + end function self.image(lab,src,tit) return {"\\markdownRendererImage{",lab,"}", "{",self.string(src),"}", @@ -794,7 +2603,8 @@ function M.writer.new(options) if not self.is_writing then return "" end local cmd - if level == 1 then + level = level + options.shiftHeadings + if level <= 1 then cmd = "\\markdownRendererHeadingOne" elseif level == 2 then cmd = "\\markdownRendererHeadingTwo" @@ -804,7 +2614,7 @@ function M.writer.new(options) cmd = "\\markdownRendererHeadingFour" elseif level == 5 then cmd = "\\markdownRendererHeadingFive" - elseif level == 6 then + elseif level >= 6 then cmd = "\\markdownRendererHeadingSix" else cmd = "" @@ -855,6 +2665,7 @@ parsers.equal = P("=") parsers.colon = P(":") parsers.semicolon = P(";") parsers.exclamation = P("!") +parsers.pipe = P("|") parsers.tilde = P("~") parsers.tab = P("\t") parsers.newline = P("\n") @@ -909,7 +2720,6 @@ parsers.sp = parsers.spacing^0 parsers.spnl = parsers.optionalspace * (parsers.newline * parsers.optionalspace)^-1 parsers.line = parsers.linechar^0 * parsers.newline - + parsers.linechar^1 * parsers.eof parsers.nonemptyline = parsers.line - parsers.blankline parsers.chunk = parsers.line * (parsers.optionallyindentedline @@ -1194,6 +3004,83 @@ end parsers.RawNoteRef = #(parsers.lbracket * parsers.circumflex) * parsers.tag / strip_first_char +local function make_pipe_table_rectangular(rows) + local num_columns = #rows[2] + local rectangular_rows = {} + for i = 1, #rows do + local row = rows[i] + local rectangular_row = {} + for j = 1, num_columns do + rectangular_row[j] = row[j] or "" + end + table.insert(rectangular_rows, rectangular_row) + end + return rectangular_rows +end + +local function pipe_table_row(allow_empty_first_column + , nonempty_column + , column_separator + , column) + local row_beginning + if allow_empty_first_column then + row_beginning = -- empty first column + #(parsers.spacechar^4 + * column_separator) + * parsers.optionalspace + * column + * parsers.optionalspace + -- non-empty first column + + parsers.nonindentspace + * nonempty_column^-1 + * parsers.optionalspace + else + row_beginning = parsers.nonindentspace + * nonempty_column^-1 + * parsers.optionalspace + end + + return Ct(row_beginning + * (-- single column with no leading pipes + #(column_separator + * parsers.optionalspace + * parsers.newline) + * column_separator + * parsers.optionalspace + -- single column with leading pipes or + -- more than a single column + + (column_separator + * parsers.optionalspace + * column + * parsers.optionalspace)^1 + * (column_separator + * parsers.optionalspace)^-1)) +end + +parsers.table_hline_separator = parsers.pipe + parsers.plus +parsers.table_hline_column = (parsers.dash + - #(parsers.dash + * (parsers.spacechar + + parsers.table_hline_separator + + parsers.newline)))^1 + * (parsers.colon * Cc("r") + + parsers.dash * Cc("d")) + + parsers.colon + * (parsers.dash + - #(parsers.dash + * (parsers.spacechar + + parsers.table_hline_separator + + parsers.newline)))^1 + * (parsers.colon * Cc("c") + + parsers.dash * Cc("l")) +parsers.table_hline = pipe_table_row(false + , parsers.table_hline_column + , parsers.table_hline_separator + , parsers.table_hline_column) +parsers.table_caption_beginning = parsers.skipblanklines + * parsers.nonindentspace + * (P("Table")^-1 * parsers.colon) + * parsers.optionalspace -- case-insensitive match (we assume s is lowercase). must be single byte encoding parsers.keyword_exact = function(s) local parser = P(0) @@ -1309,7 +3196,8 @@ parsers.tagentity = parsers.ampersand * C(parsers.alphanumeric^1) parsers.define_reference_parser = parsers.leader * parsers.tag * parsers.colon * parsers.spacechar^0 * parsers.url * parsers.optionaltitle * parsers.blankline^1 -parsers.Inline = V("Inline") +parsers.Inline = V("Inline") +parsers.IndentedInline = V("IndentedInline") -- parse many p between starter and ender parsers.between = function(p, starter, ender) @@ -1528,6 +3416,28 @@ function M.reader.new(writer, options) larsers.InlineNote = parsers.circumflex * (parsers.tag / parse_inlines_no_inline_note) -- no notes inside notes / writer.note +larsers.table_row = pipe_table_row(true + , (C((parsers.linechar - parsers.pipe)^1) + / parse_inlines) + , parsers.pipe + , (C((parsers.linechar - parsers.pipe)^0) + / parse_inlines)) + +if options.tableCaptions then + larsers.table_caption = #parsers.table_caption_beginning + * parsers.table_caption_beginning + * Ct(parsers.IndentedInline^1) + * parsers.newline +else + larsers.table_caption = parsers.fail +end + +larsers.PipeTable = Ct(larsers.table_row * parsers.newline + * parsers.table_hline + * (parsers.newline * larsers.table_row)^0) + / make_pipe_table_rectangular + * larsers.table_caption^-1 + / writer.table -- List of references defined in the document local references @@ -1627,6 +3537,9 @@ function M.reader.new(writer, options) + larsers.fencestart ) * parsers.spacechar^0 / writer.space + larsers.OptionalIndent + = parsers.spacechar^1 / writer.space + larsers.Space = parsers.spacechar^2 * larsers.Endline / writer.linebreak + parsers.spacechar^1 * larsers.Endline^-1 * parsers.eof / "" + parsers.spacechar^1 * larsers.Endline^-1 @@ -1950,6 +3863,7 @@ function M.reader.new(writer, options) Block = V("ContentBlock") + V("Blockquote") + + V("PipeTable") + V("Verbatim") + V("FencedCode") + V("HorizontalRule") @@ -1972,6 +3886,7 @@ function M.reader.new(writer, options) DefinitionList = larsers.DefinitionList, DisplayHtml = larsers.DisplayHtml, Paragraph = larsers.Paragraph, + PipeTable = larsers.PipeTable, Plain = larsers.Plain, Inline = V("Str") @@ -1994,8 +3909,29 @@ function M.reader.new(writer, options) + V("Smart") + V("Symbol"), + IndentedInline = V("Str") + + V("OptionalIndent") + + V("Endline") + + V("UlOrStarLine") + + V("Strong") + + V("Emph") + + V("InlineNote") + + V("NoteRef") + + V("Citations") + + V("Link") + + V("Image") + + V("Code") + + V("AutoLinkUrl") + + V("AutoLinkEmail") + + V("InlineHtml") + + V("HtmlEntity") + + V("EscapedChar") + + V("Smart") + + V("Symbol"), + Str = larsers.Str, Space = larsers.Space, + OptionalIndent = larsers.OptionalIndent, Endline = larsers.Endline, UlOrStarLine = larsers.UlOrStarLine, Strong = larsers.Strong, @@ -2053,6 +3989,10 @@ function M.reader.new(writer, options) syntax.Smart = parsers.fail end + if not options.pipeTables then + syntax.PipeTable = parsers.fail + end + local blocks_toplevel_t = util.table_copy(syntax) blocks_toplevel_t.Paragraph = larsers.ToplevelParagraph larsers.blocks_toplevel = Ct(blocks_toplevel_t) |