summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMasterOdin <matt.peveler@gmail.com>2021-01-30 05:19:08 +0000
committerMasterOdin <matt.peveler@gmail.com>2021-01-30 05:19:08 +0000
commitb25178755074e80fc327d0bb67ee242e4c3d6da0 (patch)
tree7c9260dffc19634f51f14a2cb7bc5cdb89b6a550
parente6294eb3030afc0657cdcaf3dcbe96f6e701457c (diff)
downloadasciidoc-py3-b25178755074e80fc327d0bb67ee242e4c3d6da0.tar.gz
deploy: d569713a
Signed-off-by: MasterOdin <matt.peveler@gmail.com>
-rw-r--r--CHANGELOG.html8321
-rw-r--r--INSTALL.html287
-rw-r--r--README-website.html124
-rw-r--r--README.html152
-rw-r--r--a2x.1.html734
-rw-r--r--article-html5-toc2.html1020
-rw-r--r--article-standalone.html1087
-rw-r--r--article.fo46
-rw-r--r--article.html235
-rw-r--r--article.pdfbin0 -> 38079 bytes
-rw-r--r--article.xml195
-rw-r--r--asciidoc-docbook-xsl.html157
-rw-r--r--asciidoc-graphviz-sample.html242
-rw-r--r--asciidoc-graphviz-sample__1.pngbin0 -> 11333 bytes
-rw-r--r--asciidoc.1359
-rw-r--r--asciidoc.1.css-embedded.html1169
-rw-r--r--asciidoc.1.html386
-rw-r--r--asciidoc.css-embedded.html10459
-rw-r--r--asciidoc.html9778
-rw-r--r--asciidoc.pdfbin0 -> 463150 bytes
-rw-r--r--asciidocapi.html365
-rw-r--r--asciimathml.html175
-rw-r--r--book-multi.html287
-rw-r--r--book.html253
-rw-r--r--chunked/apa.html19
-rw-r--r--chunked/apb.html5
-rw-r--r--chunked/apc.html23
-rw-r--r--chunked/apd.html23
-rw-r--r--chunked/ape.html16
-rw-r--r--chunked/apf.html10
-rw-r--r--chunked/apg.html76
-rw-r--r--chunked/aph.html123
-rw-r--r--chunked/api.html7
-rw-r--r--chunked/ch01.html23
-rw-r--r--chunked/ch02.html11
-rw-r--r--chunked/ch03.html33
-rw-r--r--chunked/ch04.html71
-rw-r--r--chunked/ch05.html161
-rw-r--r--chunked/ch06.html5
-rw-r--r--chunked/ch07.html57
-rw-r--r--chunked/ch08.html301
-rw-r--r--chunked/ch09.html34
-rw-r--r--chunked/ch10.html120
-rw-r--r--chunked/ch11.html32
-rw-r--r--chunked/ch12.html11
-rw-r--r--chunked/ch13.html13
-rw-r--r--chunked/ch14.html37
-rw-r--r--chunked/ch15.html69
-rw-r--r--chunked/ch16.html174
-rw-r--r--chunked/ch17.html325
-rw-r--r--chunked/ch18.html22
-rw-r--r--chunked/ch19.html26
-rw-r--r--chunked/ch20.html95
-rw-r--r--chunked/ch21.html365
-rw-r--r--chunked/ch22.html57
-rw-r--r--chunked/ch23.html381
-rw-r--r--chunked/ch24.html26
-rw-r--r--chunked/ch25.html43
-rw-r--r--chunked/ch26.html374
-rw-r--r--chunked/ch27.html20
-rw-r--r--chunked/ch28.html80
-rw-r--r--chunked/ch29.html59
-rw-r--r--chunked/ch30.html216
-rw-r--r--chunked/ch31.html135
-rw-r--r--chunked/ch32.html250
-rw-r--r--chunked/ch33.html67
-rw-r--r--chunked/ch34.html20
-rw-r--r--chunked/ch35.html21
-rw-r--r--chunked/ch36.html216
-rw-r--r--chunked/docbook-xsl.css329
-rw-r--r--chunked/go01.html23
-rw-r--r--chunked/images/icons/callouts/1.pngbin0 -> 329 bytes
-rw-r--r--chunked/images/icons/callouts/2.pngbin0 -> 353 bytes
-rw-r--r--chunked/images/icons/callouts/3.pngbin0 -> 350 bytes
-rw-r--r--chunked/images/icons/callouts/4.pngbin0 -> 345 bytes
-rw-r--r--chunked/images/icons/callouts/5.pngbin0 -> 348 bytes
-rw-r--r--chunked/images/icons/home.pngbin0 -> 1340 bytes
-rw-r--r--chunked/images/icons/next.pngbin0 -> 1302 bytes
-rw-r--r--chunked/images/icons/note.pngbin0 -> 2494 bytes
-rw-r--r--chunked/images/icons/prev.pngbin0 -> 1348 bytes
-rw-r--r--chunked/images/icons/tip.pngbin0 -> 2718 bytes
-rw-r--r--chunked/images/icons/warning.pngbin0 -> 3214 bytes
-rw-r--r--chunked/index.html2
-rw-r--r--chunked/pr01.html10
-rw-r--r--epub-notes.html293
-rw-r--r--faq.html1831
-rw-r--r--index.html929
-rw-r--r--latex-backend.html577
-rw-r--r--latex-bugs.html427
-rw-r--r--latex-filter.html294
-rw-r--r--latex-filter__1.svg37
-rw-r--r--latex-filter__2.svg78
-rw-r--r--latex1.svg61
-rw-r--r--latex2.pngbin0 -> 1753 bytes
-rw-r--r--latex3.svg158
-rw-r--r--latexmath.html183
-rw-r--r--latexmathml.html126
-rw-r--r--manpage.html489
-rw-r--r--music-filter.html237
-rw-r--r--music-filter__1.pngbin0 -> 1547 bytes
-rw-r--r--music1.pngbin0 -> 14677 bytes
-rw-r--r--newlists.html120
-rw-r--r--newtables.html1392
-rw-r--r--plugins.html239
-rw-r--r--publishing-ebooks-with-asciidoc.html578
-rw-r--r--sample2.pngbin0 -> 17727 bytes
-rw-r--r--sample3.pngbin0 -> 47085 bytes
-rw-r--r--slidy-example.html775
-rw-r--r--slidy-example__1.pngbin0 -> 1547 bytes
-rw-r--r--slidy.html292
-rw-r--r--source-highlight-filter.html464
-rw-r--r--support.html88
-rw-r--r--testasciidoc.1.html275
-rw-r--r--testasciidoc.html424
-rw-r--r--userguide.html9778
-rw-r--r--version83.html130
116 files changed, 60722 insertions, 0 deletions
diff --git a/CHANGELOG.html b/CHANGELOG.html
new file mode 100644
index 0000000..ea3efb0
--- /dev/null
+++ b/CHANGELOG.html
@@ -0,0 +1,8321 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>AsciiDoc ChangeLog</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="CHANGELOG.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>AsciiDoc ChangeLog</h1>
+</div>
+<div id="content">
+<div class="sect1">
+<h2 id="_version_9_0_5_2021_01_24">Version 9.0.5 (2021-01-24)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Use config newline setting in system attribute evaluation (thanks @hoadlck)
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Testing</div><ul>
+<li>
+<p>
+Update to deadsnakes/python@v2.0.2
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_9_0_4_2020_10_20">Version 9.0.4 (2020-10-20)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Fix listing out installed plugins (e.g. --filter list)
+</p>
+</li>
+<li>
+<p>
+Fix python version check failing on 3.10 (thanks @hroncok)
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Testing</div><ul>
+<li>
+<p>
+Update to deadsnakes/python@v2.0.0 for testing dev python versions
+</p>
+</li>
+<li>
+<p>
+Move from testing against 3.9-dev to stable 3.9
+</p>
+</li>
+<li>
+<p>
+Add 3.10-dev test target
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_9_0_3_2020_10_05">Version 9.0.3 (2020-10-05)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Fix extra newline characters inserted into generated source (thanks @hoadlck)
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Testing</div><ul>
+<li>
+<p>
+Validate line endings as part of test suite
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_9_0_2_2020_07_21">Version 9.0.2 (2020-07-21)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Revert to using optparse from argparse for a2x
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_9_0_1_2020_06_26">Version 9.0.1 (2020-06-26)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Fix a2x crashing on decoding generated HTML pages
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Building</div><ul>
+<li>
+<p>
+Fix generated tar.gz not having files under top-level asciidoc folder
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Testing</div><ul>
+<li>
+<p>
+Test against Python 3.9
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_9_0_0_2020_06_02">Version 9.0.0 (2020-06-02)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+Port asciidoc to run on Python 3.5+ (see <a href="https://github.com/asciidoc/asciidoc">https://github.com/asciidoc/asciidoc</a> for the EOL Python 2 implementation)
+</p>
+</li>
+<li>
+<p>
+Drop internal implementation of OrderedDict and use the standard library collections.OrderedDict instead
+</p>
+</li>
+<li>
+<p>
+Implement Dockerfile for running asciidoc
+</p>
+</li>
+<li>
+<p>
+Add Catalan translation
+</p>
+</li>
+<li>
+<p>
+Add docbook5 backend
+</p>
+</li>
+<li>
+<p>
+Fix misspellings in various files and documents
+</p>
+</li>
+<li>
+<p>
+Use UTC for testing instead of Pacific/Auckland (which observes daylight saving time)
+</p>
+</li>
+<li>
+<p>
+Use "with" context statement for opening and closing files instead of older try/finally pattern
+</p>
+</li>
+<li>
+<p>
+Search sibling paths before system wide paths in asciidocapi
+</p>
+</li>
+<li>
+<p>
+Add manpage for testasciidoc.py
+</p>
+</li>
+<li>
+<p>
+Use argparse instead of optparse for argument parsing
+</p>
+</li>
+<li>
+<p>
+Add simplified Chinese translation (thanks @muirmok)
+</p>
+</li>
+<li>
+<p>
+vim-asciidoc: speed up the refresh process for big files (thanks @aerostitch)
+</p>
+</li>
+<li>
+<p>
+Allow specifying floatstyle attribute for figures, tables, equations, examples in docbook (thanks @psaris)
+</p>
+</li>
+<li>
+<p>
+Use <a href="https://pypi.org/project/trans/">trans python module</a> (if available) to better handle character decomposition to ascii for ascii-ids (thanks @rkel)
+</p>
+</li>
+<li>
+<p>
+Use lru_cache to memoize repeated calls to macro look-up, giving potential ~15% speed-up on parsing
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Fix index terms requiring two characters instead of just one (see <a href="https://github.com/asciidoc/asciidoc-py3/pull/2#issuecomment-392605876">https://github.com/asciidoc/asciidoc-py3/pull/2#issuecomment-392605876</a>)
+</p>
+</li>
+<li>
+<p>
+Properly capture and use colophon, dedication, and preface for docbooks in Japanese (see <a href="https://github.com/asciidoc/asciidoc-py3/pull/2#issuecomment-392623181">https://github.com/asciidoc/asciidoc-py3/pull/2#issuecomment-392623181</a>)
+</p>
+</li>
+<li>
+<p>
+make install did not include the unwraplatex.py filter
+</p>
+</li>
+<li>
+<p>
+Fix a2x option collection from input file with non-ascii encoding
+</p>
+</li>
+<li>
+<p>
+Fix options attribute not being properly parsed in Delimited Blocks attribute list
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Building</div><ul>
+<li>
+<p>
+Migrate from hierarchical A-A-P build system to top-level Makefile
+</p>
+</li>
+<li>
+<p>
+Add <code>make help</code> target that prints out usage message for make
+</p>
+</li>
+<li>
+<p>
+Fix double slash issue in Makefile when installing asciidoc or its docs
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Testing</div><ul>
+<li>
+<p>
+Commit generated test files to the repository for continuous integration
+</p>
+</li>
+<li>
+<p>
+Test against Python 3.5+ on Travis-CI
+</p>
+</li>
+<li>
+<p>
+Remove symlink tests/asciidocapi.py in favor of just appending to sys.path
+</p>
+</li>
+<li>
+<p>
+Add requires directive to testasciidoc.conf to indicate necessary external dependencies (e.g. source-highlight)
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_6_10_2017_09_22">Version 8.6.10 (2017-09-22)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+Improve reproducibility of builds (e.g. support SOURCE_DATE_EPOCH)
+</p>
+</li>
+<li>
+<p>
+Add SVG output support
+</p>
+</li>
+<li>
+<p>
+Improve documentation
+</p>
+</li>
+<li>
+<p>
+Update translations
+</p>
+</li>
+<li>
+<p>
+Full list of changes is at <a href="https://github.com/asciidoc/asciidoc/compare/asciidoc:8.6.9&#8230;asciidoc:8.6.10">https://github.com/asciidoc/asciidoc/compare/asciidoc:8.6.9&#8230;asciidoc:8.6.10</a>
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_6_9_2013_11_09">Version 8.6.9 (2013-11-09)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+<em>html5</em>, <em>xhtml11</em> and <em>slidy</em> outputs now wrap <em>pre</em> element
+ contents at right margin (see
+<a href="https://groups.google.com/group/asciidoc/browse_thread/thread/9877a316b7a47309">https://groups.google.com/group/asciidoc/browse_thread/thread/9877a316b7a47309</a>).
+</p>
+</li>
+<li>
+<p>
+Vim syntax file: highlight line breaks in lists (patch submitted by
+ Alex Efros). See
+ <a href="https://groups.google.com/group/asciidoc/browse_thread/thread/5145e4c0b65cde0a">https://groups.google.com/group/asciidoc/browse_thread/thread/5145e4c0b65cde0a</a>).
+</p>
+</li>
+<li>
+<p>
+Vim syntax file: fixed highlighting of lines with spaces preceding
+ an indented paragraph. See
+ <a href="https://groups.google.com/group/asciidoc/browse_thread/thread/5145e4c0b65cde0a">https://groups.google.com/group/asciidoc/browse_thread/thread/5145e4c0b65cde0a</a>
+</p>
+</li>
+<li>
+<p>
+Vim syntax file: dropped <em>)</em> from list of illegal characters
+ following opening quote. See
+ <a href="https://groups.google.com/group/asciidoc/browse_thread/thread/1a60eb4507a0555f/264c39c6a89fc7a0">https://groups.google.com/group/asciidoc/browse_thread/thread/1a60eb4507a0555f/264c39c6a89fc7a0</a>
+</p>
+</li>
+<li>
+<p>
+Added &#43; intrinsic attribute. See
+ <a href="http://code.google.com/p/asciidoc/issues/detail?id=14">http://code.google.com/p/asciidoc/issues/detail?id=14</a>
+</p>
+</li>
+<li>
+<p>
+Allow <code>tabsize=0 in</code> configuration file. See
+ <a href="https://groups.google.com/group/asciidoc/browse_thread/thread/c88457020288ce1d">https://groups.google.com/group/asciidoc/browse_thread/thread/c88457020288ce1d</a>
+</p>
+</li>
+<li>
+<p>
+Removed <em>wordpress</em> backend into the blogpost project (where it
+ belongs) as an AsciiDoc backend plugin.
+</p>
+</li>
+<li>
+<p>
+Added HTML5 footer badges.
+</p>
+</li>
+<li>
+<p>
+Added favicon to AsciiDoc website.
+</p>
+</li>
+<li>
+<p>
+Changed AsciiDoc website domain to <em>asciidoc.org</em>.
+</p>
+</li>
+<li>
+<p>
+Vim syntax file: closing quote character cannot be immediately
+ followed by same closing quote character.
+</p>
+</li>
+<li>
+<p>
+Documentation updates.
+</p>
+</li>
+<li>
+<p>
+If admonition icons are embedded using the Data URI Scheme and the
+ icons directory is undefined or does not exist then the <em>iconsdir</em>
+ attribute is set to the location of the icons installed in the
+ AsciiDoc configuration directory.
+</p>
+</li>
+<li>
+<p>
+Updated <code>./stylesheets/pygments.css</code> from pygments 1.4.
+</p>
+</li>
+<li>
+<p>
+HTML backends: Align inline images to text-bottom.
+</p>
+</li>
+<li>
+<p>
+html4 backend: Added <em>hr</em> attribute to make the inter-section
+ horizontal ruler element optional.
+</p>
+</li>
+<li>
+<p>
+Documented <em>Callout lists cannot be used within tables</em>. See:
+ <a href="https://groups.google.com/group/asciidoc/browse_thread/thread/268f9b46ebc192d3">https://groups.google.com/group/asciidoc/browse_thread/thread/268f9b46ebc192d3</a>
+</p>
+</li>
+<li>
+<p>
+Removed Vim related stuff from the installer makefile. See:
+ <a href="https://groups.google.com/group/asciidoc/browse_thread/thread/753a52b2af85fcfc/04c9091b0856fc13">https://groups.google.com/group/asciidoc/browse_thread/thread/753a52b2af85fcfc/04c9091b0856fc13</a>
+ and
+ <a href="https://groups.google.com/group/asciidoc/browse_thread/thread/cd07629fa7a53fb3">https://groups.google.com/group/asciidoc/browse_thread/thread/cd07629fa7a53fb3</a>
+</p>
+</li>
+<li>
+<p>
+Dropped <code>vim/ftdetect/asciidoc_filetype.vim</code> from distribution, the
+ file detection was broken and the default settings satisfied no one.
+</p>
+</li>
+<li>
+<p>
+Vim syntax highlighter: increase sync backtracking to catch changes
+ to large block elements.
+</p>
+</li>
+<li>
+<p>
+Added Romanian language configuration file. Contributed by Vitalie
+ Lazu. See
+ <a href="https://groups.google.com/group/asciidoc/browse_thread/thread/2fe14a10dbf20d20/27726e7e13f7bfc7?lnk=gst&amp;q=romanian#27726e7e13f7bfc7">https://groups.google.com/group/asciidoc/browse_thread/thread/2fe14a10dbf20d20/27726e7e13f7bfc7?lnk=gst&amp;q=romanian#27726e7e13f7bfc7</a>
+</p>
+</li>
+<li>
+<p>
+Added ruler and line-break outputs to HTML Help outputs. Patch
+ submitted by DonM. See
+ <a href="https://groups.google.com/group/asciidoc/browse_thread/thread/b131d0155eccd73e">https://groups.google.com/group/asciidoc/browse_thread/thread/b131d0155eccd73e</a>
+</p>
+</li>
+<li>
+<p>
+Added Czech language configuration file. Contributed by Petr Klíma.
+</p>
+</li>
+<li>
+<p>
+html4 backend: allow embedded images and icons (data-uri
+ attribute).
+</p>
+</li>
+<li>
+<p>
+html4 backend: table and example block caption place at bottom for
+ consistency.
+</p>
+</li>
+<li>
+<p>
+html4 backend: dropped border around example block.
+</p>
+</li>
+<li>
+<p>
+html4 backend: cellpaddings made equal to 4 for consistency.
+</p>
+</li>
+<li>
+<p>
+Vim syntax highligher: Highlight closing OpenBlock delimiter when it
+ immediately follows a list.
+</p>
+</li>
+<li>
+<p>
+Updated html5 backend (previous commit was xhtml11 only). See:
+ <a href="https://groups.google.com/group/asciidoc/browse_thread/thread/dbdfaf838f93e020">https://groups.google.com/group/asciidoc/browse_thread/thread/dbdfaf838f93e020</a>
+</p>
+</li>
+<li>
+<p>
+Embedded data-uri images now figure file mimetype from file contents
+ rather than the file extension. Patch submitted by Lex Trotman. See:
+ <a href="https://groups.google.com/group/asciidoc/browse_thread/thread/dbdfaf838f93e020">https://groups.google.com/group/asciidoc/browse_thread/thread/dbdfaf838f93e020</a>
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+<code>indexterm2:[]</code> macro syntax now recognized. See
+ <a href="https://groups.google.com/group/asciidoc/browse_thread/thread/1b3f1a0f0a21425e">https://groups.google.com/group/asciidoc/browse_thread/thread/1b3f1a0f0a21425e</a>
+</p>
+</li>
+<li>
+<p>
+Synthesised <code>*-option</code> attributes for options set in table conf file
+ style entries. See
+ <a href="https://groups.google.com/group/asciidoc/browse_thread/thread/8aa340a3069ef5f1/a727a8a564eea76c">https://groups.google.com/group/asciidoc/browse_thread/thread/8aa340a3069ef5f1/a727a8a564eea76c</a>
+</p>
+</li>
+<li>
+<p>
+Makefile: Fixed sh compatibility issue. See
+ <a href="https://groups.google.com/group/asciidoc/browse_thread/thread/753a52b2af85fcfc/04c9091b0856fc13">https://groups.google.com/group/asciidoc/browse_thread/thread/753a52b2af85fcfc/04c9091b0856fc13</a>
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_6_8_2012_07_17">Version 8.6.8 (2012-07-17)</h2>
+<div class="sectionbody">
+<div class="paragraph"><div class="title">Release highlights</div><p>Added full complement of styles to <em>Open Blocks</em> and <em>Normal
+Paragraphs</em>&#8201;&#8212;&#8201;those with a minimalist bent could construct virtually
+any document using just Title, Normal Paragraph and Open Block
+syntaxes.</p></div>
+<div class="ulist"><div class="title">Other additions and changes</div><ul>
+<li>
+<p>
+Increased default maximum include depth from 5 to 10.
+</p>
+</li>
+<li>
+<p>
+Emit warning if maximum include depth is exceeded.
+</p>
+</li>
+<li>
+<p>
+Suppress repeated console messages.
+</p>
+</li>
+<li>
+<p>
+Music filter: removed <em>--beams=None</em> option from abc2ly invocation
+ because it is broken on LilyPond 2.14 (Ubuntu 12.04).
+</p>
+</li>
+<li>
+<p>
+Replaced obsolete <em>&lt;tt&gt;</em> tag with <em>&lt;code&gt;</em> in HTML backends.
+</p>
+</li>
+<li>
+<p>
+Allow configuration attribute entries to create a new section
+ (previously you could only modify existing sections). See:
+ <a href="https://groups.google.com/group/asciidoc/browse_thread/thread/7be28e9714f249c7">discussion
+ list</a>.
+</p>
+</li>
+<li>
+<p>
+Documented <code>{wj}</code> (word-joiner) attribute and updated FAQ. See:
+ <a href="https://groups.google.com/group/asciidoc/browse_thread/thread/961a957ab5872ebf">discussion
+ list</a>.
+</p>
+</li>
+<li>
+<p>
+FAQ: Added <em>How can I place a footnote immediately following quoted
+ text?</em> See
+ <a href="https://groups.google.com/group/asciidoc/browse_thread/thread/961a957ab5872ebf">discussion
+ list</a>.
+</p>
+</li>
+<li>
+<p>
+Added Greek language configuration file. Contributed by Michael
+ Dourmousoglou. See
+ <a href="https://groups.google.com/group/asciidoc/browse_thread/thread/9e79d8494ef8d870">discussion
+ list</a>.
+</p>
+</li>
+<li>
+<p>
+FAQ: Added <em>Using roles to select fonts for PDF</em>. Submitted by Lex
+ Trotman and based on solution by Antonio Borneo. See:
+ <a href="https://groups.google.com/group/asciidoc/browse_frm/thread/64b071bb21de9cf0">discussion
+ list</a>.
+</p>
+</li>
+<li>
+<p>
+Apply same monospaced font size to all monospaced text.
+</p>
+</li>
+<li>
+<p>
+Changed <em>0</em> number padding to spaces in numbered GNU
+ source-highlight outputs.
+</p>
+</li>
+<li>
+<p>
+Allow <em>highlight</em> source highlighter to use <em>python</em> for Python
+ <code>{language}</code> name. r1142: Update the AsciiDoc <em>source</em> filter to
+ allow the use of the <em>highlight</em> source code highlighter. See
+ <a href="https://groups.google.com/group/asciidoc/browse_frm/thread/e045c9986c71d72a">discussion
+ list</a>.
+</p>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">The <em>pygments</em> attribute has been deprecated in favor of the new
+<em>source-highlighter</em> attribute.</td>
+</tr></table>
+</div>
+</li>
+<li>
+<p>
+Vim syntax highlighter: Don&#8217;t confuse trailing open block delimiter
+ with section underline.
+</p>
+</li>
+<li>
+<p>
+Added <em>skip</em> option to paragraphs (c.f. Delimited Block <em>skip</em>
+ option).
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+<strong>FIXED</strong>: latex, music and graphviz filters: When the filter output
+ image is data-uri encoded write it to the indir (instead of the
+ outdir) so that encoder can find it. See
+ <a href="https://groups.google.com/group/asciidoc/browse_thread/thread/f5174f450a61f14b">discussion
+ list</a>.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Escape the <em>]</em> character inside inline macros. See
+ <a href="https://groups.google.com/group/asciidoc/browse_thread/thread/db3b734a6931cb74">discussion
+ list</a>.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: source highlighter filter: Pass <em>role</em> attribute to HTML
+ backends.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: source highlight filter: docbook backend: <em>role</em> attribute
+ was not passed to listings without a title. Patch submitted by Lex
+ Trotman. See
+ <a href="https://groups.google.com/group/asciidoc/browse_thread/thread/13c9ee97930342b3">discussion
+ list</a>.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: music2png.py: <em>FOPException: Raster ByteInterleavedRaster</em>
+ error (FOP 1.0, ImageMagick 6.6.9-7).
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_6_7_2012_03_17">Version 8.6.7 (2012-03-17)</h2>
+<div class="sectionbody">
+<div class="paragraph"><div class="title">Release highlights</div><p>No major enhancements but quite a few bug fixes which, among other
+things, fixes Jython compatibility and improves Windows compatibility.</p></div>
+<div class="ulist"><div class="title">All additions and changes</div><ul>
+<li>
+<p>
+Vim syntax highlighter: highlight entity refs in macro arguments.
+</p>
+</li>
+<li>
+<p>
+Added files with <code>.asciidoc</code> extension to Vim file type detection.
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/a9762e21ec0cc244/5d3a4ebf20e6847e">Patch</a>
+ submitted by Dag Wiers.
+</p>
+</li>
+<li>
+<p>
+Added <em>replacement3</em> substitution to enable
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/843d7d3d671006fb/25628e14c829db3f">ODT
+ whitespace processing</a>.
+</p>
+</li>
+<li>
+<p>
+Added <em>unbreakable</em> option to XHTML and HTML 5 backends.
+</p>
+</li>
+<li>
+<p>
+Implemented toc::[] block macro and <em>toc-placement</em> attribute for
+ HTML backends to allow the Table of Contents placement to be set
+ manually by the author.
+</p>
+</li>
+<li>
+<p>
+Added FAQs: <em>How can I control page breaks when printing HTML
+ outputs?</em> and <em>Is it possible to reposition the Table of Contents
+ in HTML outputs?</em>.
+</p>
+</li>
+<li>
+<p>
+Added <code>--backend</code> and <code>--backend-opts</code> options to the <em>a2x</em> command
+ to allow <em>a2x</em> to use backend plugin code extensions.
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/b8e93740b7cd0e1d/b5e0b83fe37ae31a">Patch</a>
+ submitted by Lex Trotman.
+</p>
+</li>
+<li>
+<p>
+Added
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/3d06b0105dfbb780/8c60eb7a62f522e4">args
+ block attribute</a> to source highlight blocks to allow arbitrary
+ parameters to be passed to the source highlighters.
+</p>
+</li>
+<li>
+<p>
+If the <em>ascii-ids</em> attribute is defined then non-ascii characters in
+ auto-generated IDs
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/33e99b78e2472122">are
+ replaced</a> by their nearest ascii equivalents (to work around DocBook
+ processor limitations).
+</p>
+</li>
+<li>
+<p>
+Added global <em>blockname</em> attribute which is dynamically updated to
+ identify the current block. See
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/8200e29815c40f72">discussion
+ list</a>.
+</p>
+</li>
+<li>
+<p>
+<em>xhtml11</em>, <em>html5</em> backends: Include book part TOC entries for
+ multi-part books. Patch submitted by Loïc Paillotin.
+</p>
+</li>
+<li>
+<p>
+Removed code filter example from the AsciiDoc User Guide so that
+ backends implemented as external plugins can compile the manual. See
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/849e5ea91f43adf2">discussion
+ list</a>.
+</p>
+</li>
+<li>
+<p>
+If the delimited block <em>skip</em> option is set then do not consume
+ block title and attributes. This makes it possible for the comment
+ delimited blocks to use an attribute list (previously the comment
+ delimited block was hardwired to skip preceding attributes and
+ titles). See
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/e92a75abcc382701">discussion
+ list</a>.
+</p>
+</li>
+<li>
+<p>
+Added <code>backend-confdir</code> intrinsic attribute.
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+<strong>FIXED</strong>: slidy backend: broken <em>stylesheet</em> attribute.
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/58d0843ae4345afd">Patch</a>
+ submitted by Micheal Hackett.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Restored
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/b0e69e393b6f9f20/47a2c7586f9e40c6?lnk=gst&amp;q=themes+tarball#47a2c7586f9e40c6">missing
+ themes</a> to zip file distribution archive.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Grammatical error in error messages.
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/b9d705c6b6b39f59/1e120483dafca109">Patch</a>
+ submitted by Dag Wieers.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Use configured normal substitution in preference to the
+ default one.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: The <em>eval</em> block macro would execute multiple times if it
+ evaluated to <em>None</em>.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Duplicated entries in TOC of large document.
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/103445ab9d95cb0c">Patch</a>
+ submitted by Sebastien Helleu.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Python 2.4 backward
+ <a href="http://code.google.com/p/asciidoc/issues/detail?id=9">incompatibility</a>.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: 8.6.6 regression broke Jython compatibility. See
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/4608b77ec289f6c4">discussion
+ list</a>.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Leaky file handles in a2x and music and latex filters which
+ created incompatibility problems for Jython.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: All Python filters are executed with the same Python
+ interpreter that executes the asciidoc parent (previously filters
+ were hardwired to execute the <em>python</em> interpreter). This prevents
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/14e8fcb289a135b/3af3b4e57b827c78?lnk=gst&amp;q=archlinux#3af3b4e57b827c78">Python
+ mix-ups</a>.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Microsoft Windows shelled command-line truncation that
+ caused shelled commands to fail e.g. the <em>data-uri</em> attribute
+ failure.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_6_6_2011_09_04">Version 8.6.6 (2011-09-04)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Release highlights</div><ul>
+<li>
+<p>
+The AsciiDoc plugin architecture has been enhanced, unified and
+ extended:
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Plugin commands have been added to the <code>asciidoc(1)</code> <code>--backend</code>
+ option.
+</p>
+</li>
+<li>
+<p>
+An <code>asciidoc(1)</code> <code>--theme</code> option has been implemented to specify a
+ theme and to manage theme plugins.
+</p>
+</li>
+<li>
+<p>
+A plugin <em>build</em> command (for creating plugins) added.
+</p>
+</li>
+<li>
+<p>
+<em>build</em>, <em>install</em>, <em>list</em> and <em>remove</em> plugin commands are all
+ recognized by <code>asciidoc(1)</code> <code>--backend</code>, <code>--filter</code> and <code>--theme</code>
+ options.
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+A security update by Kenny MacDermid removes the use of <code>eval()</code> on
+ untrusted input (to disallow code malicious execution).
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">All additions and changes</div><ul>
+<li>
+<p>
+<em>xhtml11</em>, <em>html5</em>: Made verse and quote block text darker to print
+ legibly in Google Chrome browser.
+</p>
+</li>
+<li>
+<p>
+Added plugin <em>build</em> command for plugin file creation.
+</p>
+</li>
+<li>
+<p>
+Merged <code>--help plugins</code> back to <code>--help manpage</code> so it matches the
+ <code>asciidoc(1)</code> manpage.
+</p>
+</li>
+<li>
+<p>
+The <code>--filter</code> command-line option can specify the name of filters
+ that will be unconditionally loaded.
+</p>
+</li>
+<li>
+<p>
+If a filter directory contains a file named <code>__noautoload__</code> then
+ the filter is not automatically loaded (you can used the <code>--filter</code>
+ command-line option to override this behavior).
+</p>
+</li>
+<li>
+<p>
+tests: Add Italian language tests. Patch submitted by Simon
+ Ruderich. See:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/5e2e6f4dd740d51a">http://groups.google.com/group/asciidoc/browse_thread/thread/5e2e6f4dd740d51a</a>
+</p>
+</li>
+<li>
+<p>
+tests: Add tests for localized man pages. Patch submitted by Simon
+ Ruderich. See:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/5e2e6f4dd740d51a">http://groups.google.com/group/asciidoc/browse_thread/thread/5e2e6f4dd740d51a</a>
+</p>
+</li>
+<li>
+<p>
+If the section name is prefixed with a <em>+</em> character then the
+ section contents is appended to the contents of an already existing
+ same-named section (the default behavior is to replace the the
+ section).
+</p>
+</li>
+<li>
+<p>
+If a configuration file section named <em>docinfo</em> is loaded then it
+ will be included in the document header. Typically the <em>docinfo</em>
+ section name will be prefixed with a <em>+</em> character so that it is
+ appended to (rather than replace) other <em>docinfo</em> sections.
+</p>
+</li>
+<li>
+<p>
+Added <code>{sp}</code> intrinsic attribute for single space character. See
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/a839aa01db0765d2">http://groups.google.com/group/asciidoc/browse_thread/thread/a839aa01db0765d2</a>
+</p>
+</li>
+<li>
+<p>
+Fixed TOC and footnotes generator. Patch submitted by Will. See
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/734ac5afed736987">http://groups.google.com/group/asciidoc/browse_thread/thread/734ac5afed736987</a>
+</p>
+</li>
+<li>
+<p>
+The <code>asciidoc-confdir</code> attribute is set to the asciidoc executable
+ directory if it contains global configuration files i.e. a local
+ asciidoc installation.
+</p>
+</li>
+<li>
+<p>
+asciidoc now throws an error instead of just a warning of the
+ backend configuration file is not found.
+</p>
+</li>
+<li>
+<p>
+latex filter: write MD5 file after successful PNG file generation.
+ Always delete temp files irrespective of outcome.
+</p>
+</li>
+<li>
+<p>
+Added truecolor option to LaTeX filter. Patch submitted by Michel
+ Krämer. See:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/6436788a10561851">http://groups.google.com/group/asciidoc/browse_thread/thread/6436788a10561851</a>
+</p>
+</li>
+<li>
+<p>
+Unit test for table column specifiers with merged cells. Patch
+ submitted by Simon Ruderich. See:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/c9238380a1f2507a">http://groups.google.com/group/asciidoc/browse_thread/thread/c9238380a1f2507a</a>
+</p>
+</li>
+<li>
+<p>
+Added verbose message for <code>ifeval::[]</code> macro evaluation.
+</p>
+</li>
+<li>
+<p>
+Added test case for <code>ifeval::[]</code> evaluation.
+</p>
+</li>
+<li>
+<p>
+Security update to remove the use of <code>eval()</code> on untrusted input (to
+ disallow code malicious execution). Patch submitted by Kenny
+ MacDermid.
+</p>
+</li>
+<li>
+<p>
+Changed web site layout from table to CSS based. See
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/ec8e8481eb0e27b0/d1c035092b5bb7a4?lnk=gst&amp;q=caption+option#d1c035092b5bb7a4">http://groups.google.com/group/asciidoc/browse_thread/thread/ec8e8481eb0e27b0/d1c035092b5bb7a4?lnk=gst&amp;q=caption+option#d1c035092b5bb7a4</a>
+</p>
+</li>
+<li>
+<p>
+a2x: Pass <code>--format</code> option value to asciidoc as <em>a2x-format</em>
+ attribute. Patch submitted by Lex Trotman
+ (<a href="http://groups.google.com/group/asciidoc/browse_thread/thread/3e177b84bc133ca9/659796dfadad30ea?lnk=gst&amp;q=a2x+format#659796dfadad30ea">http://groups.google.com/group/asciidoc/browse_thread/thread/3e177b84bc133ca9/659796dfadad30ea?lnk=gst&amp;q=a2x+format#659796dfadad30ea</a>).
+</p>
+</li>
+<li>
+<p>
+Added two FAQs submitted by Lex Trotman. See:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/16d3fb9672a408e7">http://groups.google.com/group/asciidoc/browse_thread/thread/16d3fb9672a408e7</a>
+</p>
+</li>
+<li>
+<p>
+html5,xhtml11: Implemented themes directory structure.
+</p>
+</li>
+<li>
+<p>
+html5,xhtml11: Implemented asciidoc <code>--theme</code> management option
+ (install, list, build and remove commands).
+</p>
+</li>
+<li>
+<p>
+html5,xhtml11: A theme can now optionally include a JavaScript file
+ <code>&lt;theme&gt;.js</code>
+</p>
+</li>
+<li>
+<p>
+html5,xhtml11: If the <em>data-uri</em> attribute is defined then icons
+ from the theme icons directory (if they exist) will be embedded in
+ the generated document.
+</p>
+</li>
+<li>
+<p>
+Added optional <em>warnings</em> argument to include macros.
+</p>
+</li>
+<li>
+<p>
+The asciidoc <code>--verbose</code> option now prints file inclusion messages.
+</p>
+</li>
+<li>
+<p>
+xhtml11, html5: Remove necessity for separate manpage CSS files.
+</p>
+</li>
+<li>
+<p>
+Added <em>css-signature</em> attribute to tests.
+</p>
+</li>
+<li>
+<p>
+Add <em>css-signature</em> attribute to set a CSS signature for the
+ document. Patch submitted by Peg Russell, see:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/bacbf8aeb8ad6a3a">http://groups.google.com/group/asciidoc/browse_thread/thread/bacbf8aeb8ad6a3a</a>
+</p>
+</li>
+<li>
+<p>
+White background for toc2 TOC viewport so that horizontally scrolled
+ content does not obscure the the TOC. Patch submitted by Lionel
+ Orry, see: <a href="http://code.google.com/p/asciidoc/issues/detail?id=8">http://code.google.com/p/asciidoc/issues/detail?id=8</a>
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+<strong>FIXED</strong>: Plugin install command: Delete backend directory is install
+ fails.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Plugin install command: Fixed bug extracting binary files
+ on Windows (reported by Jean-Michel Inglebert).
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: tests: Skip blank sections in testasciidoc.conf test
+ configuration file instead of throwing an exception (reported by
+ Jean-Michel Inglebert).
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: If a plugin Zip file does not contain file permissions
+ (probably because it was created under Windows) then install it
+ using the default permissions.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Fixed missing quote in preceding LaTeX filter patch. Fix
+ submitted by Simon Ruderich. See:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/6436788a10561851">http://groups.google.com/group/asciidoc/browse_thread/thread/6436788a10561851</a>
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Some path attributes were processed as escaped Python
+ strings which could result in corrupted path names with backslash
+ separated Windows path names. Reported by Will. See:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/e8f3938bcb4c8bb4/44d13113a35738ef">http://groups.google.com/group/asciidoc/browse_thread/thread/e8f3938bcb4c8bb4/44d13113a35738ef</a>
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Vertically spanned table cells resulted in incorrect column
+ styles being applied to some cells. Reported by Will:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/c9238380a1f2507a/9afc4559d51e1dbd">http://groups.google.com/group/asciidoc/browse_thread/thread/c9238380a1f2507a/9afc4559d51e1dbd</a>
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: LaTeX backend: fixed bad escapes. Patch submitted by Mark
+ McCurry:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/8c111f1046b33691/158a944cf4d5ff0d?lnk=gst&amp;q=latex+escapes#158a944cf4d5ff0d">http://groups.google.com/group/asciidoc/browse_thread/thread/8c111f1046b33691/158a944cf4d5ff0d?lnk=gst&amp;q=latex+escapes#158a944cf4d5ff0d</a>
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: When using slidy backend, display of characters with
+ accents is wrong because of <em>meta http-equiv</em> line missing. Reported
+ by Fabrice Flore-Thebault. See:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/eaf25f21d1da180a">http://groups.google.com/group/asciidoc/browse_thread/thread/eaf25f21d1da180a</a>
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_6_5_2011_05_20">Version 8.6.5 (2011-05-20)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Release highlights</div><ul>
+<li>
+<p>
+The addition of an <em>html5</em> backend to generate HTML 5 output. Apart
+ from the inclusion of <em>audio</em> and <em>video</em> block macros the <em>html5</em>
+ backend is functionally identical to the <em>xhtml11</em> backend.
+</p>
+</li>
+<li>
+<p>
+A new <em>flask</em> theme for <em>xhtml11</em> and <em>html5</em> backends inspired by
+ the <a href="http://flask.pocoo.org/docs/">Flask website</a> styling (see <em>toc2</em>
+ example in the next item below).
+</p>
+</li>
+<li>
+<p>
+The new <em>toc2</em> attribute generates a table of contents in
+ the left hand margin (<em>xhtml11</em> and <em>html5</em> backends).
+ <a href="article-html5-toc2.html">This example</a> was generated using
+ the following command:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>asciidoc -b html5 -a icons -a toc2 -a theme=flask article.txt</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+<code>a2x(1)</code> now has a flexible mechanism for copying arbitrary
+ resource files to HTML based outputs&#8201;&#8212;&#8201;this is very handy for
+ generating EPUB files with embedded fonts and other resources.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+The <code>a2x(1)</code> <code>--resource</code> option can be used to inject any file
+ into EPUB output documents e.g. CSS resources such as fonts and
+ background images.
+</p>
+</li>
+<li>
+<p>
+Explicitly specified resources are added to the EPUB OPF manifest
+ automatically.
+</p>
+</li>
+<li>
+<p>
+You can explicitly specify file extension MIME types.
+</p>
+</li>
+<li>
+<p>
+The enhanced resource processing works around a couple of DocBook
+ XSL bugs (see <a href="epub-notes.html">EPUB Notes</a>).
+</p>
+</li>
+</ul></div>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">All additions and changes</div><ul>
+<li>
+<p>
+A new <em>flask</em> theme for <em>xhtml11</em> and <em>html5</em> backends. A shameless
+ knock-off of the <a href="http://flask.pocoo.org/docs/">Flask website</a>
+ styling.
+</p>
+</li>
+<li>
+<p>
+Added HTML 5 article with <em>toc2</em> table of contents to the example on
+ the AsciiDoc website home page.
+</p>
+</li>
+<li>
+<p>
+Added <em>filters</em> and <em>topics</em> help topics. Fixed documentation
+ errors in help text. Patch submitted by Lionel Orry, see:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/9da9d48a6461ff14">http://groups.google.com/group/asciidoc/browse_thread/thread/9da9d48a6461ff14</a>
+</p>
+</li>
+<li>
+<p>
+Pass parent configuration files, command-line attributes and header
+ attributes to table asciidoc filters. Based on patch submitted by
+ Simon Ruderich, see:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/5c792cbb395b753b">http://groups.google.com/group/asciidoc/browse_thread/thread/5c792cbb395b753b</a>
+</p>
+</li>
+<li>
+<p>
+Allow a <em>title</em> attribute entry in the document header so that HTML
+ backends can set the <em>title</em> element separately from the displayed
+ document title (the <em>doctitle</em> attribute).
+</p>
+</li>
+<li>
+<p>
+Pass <em>lang</em> attribute to <em>asciidoc</em> table style filter. Patch
+ submitted by Simon Ruderich, see:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/e2100b7cb29283ce">http://groups.google.com/group/asciidoc/browse_thread/thread/e2100b7cb29283ce</a>
+</p>
+</li>
+<li>
+<p>
+xhtml11,html5: Added <em>toc2</em> attribute which generates a scrollable
+ table of contents in the left hand margin. Based on customized CSS
+ written by Suraj Kurapati, see
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/c5e30ee5555877f5">http://groups.google.com/group/asciidoc/browse_thread/thread/c5e30ee5555877f5</a>
+</p>
+</li>
+<li>
+<p>
+Added <em>asciidoc-confdir</em> intrinsic attribute which expands to the
+ global conf directory.
+</p>
+</li>
+<li>
+<p>
+Documented that you can specify multiple CSS files with the <code>a2x(1)</code>
+ <code>--stylesheet</code> command option. See:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/baf3218551d05a05">http://groups.google.com/group/asciidoc/browse_thread/thread/baf3218551d05a05</a>
+</p>
+</li>
+<li>
+<p>
+Improved xhtml11 backend&#8217;s table of contents generation latency.
+ Patch submitted by Hongli Lai. See:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/5a7fe64fbfd65ad">http://groups.google.com/group/asciidoc/browse_thread/thread/5a7fe64fbfd65ad</a>
+</p>
+</li>
+<li>
+<p>
+Added html5 backend.
+</p>
+</li>
+<li>
+<p>
+For consistency converted all DOS formatted configuration and text
+ files to UNIX format.
+</p>
+</li>
+<li>
+<p>
+html4: Added ability to use <em>role</em> attribute with most block
+ elements. Patch contributed by Simon Ruderich. See
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/5620ba634fdb030a">http://groups.google.com/group/asciidoc/browse_thread/thread/5620ba634fdb030a</a>
+</p>
+</li>
+<li>
+<p>
+Added Dutch language configuration file and accompanying test file
+ (contributed by Dag Wieers, see
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/f969b9ce987d7f5d">http://groups.google.com/group/asciidoc/browse_thread/thread/f969b9ce987d7f5d</a>).
+</p>
+</li>
+<li>
+<p>
+Configuration files are loaded in two passes when the -e
+ command-line option is used (the same behavior as when the -e option
+ is not used). Patch submitted by haad. See
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/cd0f47495fd04181">http://groups.google.com/group/asciidoc/browse_thread/thread/cd0f47495fd04181</a>
+ and
+ <a href="http://code.google.com/p/asciidoc/issues/detail?id=6&amp;q=label%3APriority-Medium">http://code.google.com/p/asciidoc/issues/detail?id=6&amp;q=label%3APriority-Medium</a>
+</p>
+</li>
+<li>
+<p>
+Documented how to include embedded fonts in an EPUB document.
+</p>
+</li>
+<li>
+<p>
+a2x: Added <code>.&lt;ext&gt;=&lt;mimetype&gt;</code> resource specifier syntax.
+</p>
+</li>
+<li>
+<p>
+a2x: Enable admonition icons in example EPUBs.
+</p>
+</li>
+<li>
+<p>
+a2x: allow environment variables and tilde home directories in
+ resource manifest files.
+</p>
+</li>
+<li>
+<p>
+a2x: don&#8217;t process non-existent resource directories.
+</p>
+</li>
+<li>
+<p>
+a2x: assume resource option is a directory if the name ends with a
+ directory separator.
+</p>
+</li>
+<li>
+<p>
+a2x: Added a new syntax to the <code>--resource</code> option specifier which
+ allows the destination path to be specified.
+</p>
+</li>
+<li>
+<p>
+a2x: Copy resources referenced in the OPF and resources referenced
+ by the generated HTML (in theory DocBook XSL should ensure they are
+ identical but this is not always the case e.g.
+ <a href="http://sourceforge.net/tracker/?func=detail&amp;atid=373747&amp;aid=2854075&amp;group_id=21935">http://sourceforge.net/tracker/?func=detail&amp;atid=373747&amp;aid=2854075&amp;group_id=21935</a>).
+</p>
+</li>
+<li>
+<p>
+Drop border from callout list image links.
+</p>
+</li>
+<li>
+<p>
+html4: Moved manpage NAME section out of header so that the name
+ section is rendered when the <code>asciidoc(1)</code> <code>--no-header-footer</code> option
+ is specified (so that manpages processed blogpost include the NAME
+ section).
+</p>
+</li>
+<li>
+<p>
+Vim syntax highlighter: TODO markers now appear in list items and
+ literal paragraphs and blocks.
+</p>
+</li>
+<li>
+<p>
+Constrained quotes can now be bounded on the left by a } character.
+ See:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/b24cc3362f35b801">http://groups.google.com/group/asciidoc/browse_thread/thread/b24cc3362f35b801</a>
+</p>
+</li>
+<li>
+<p>
+Added text-decoration roles (underline, overline, line-through,
+ blink) for xhtml11 and html5 outputs.
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+<strong>FIXED</strong>: epubcheck 1.1 previously issued a warning for files not
+ registered in the manifest (epubcheck 1.0.5 did not). This resulted
+ in a problem compiling the adventures-of-sherlock-holmes.txt example
+ (the <code>underline.png</code> resource was not in the manifest).
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_6_4_2011_02_20">Version 8.6.4 (2011-02-20)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+Added text foreground and background color along with text size CSS
+ styles for XHTML outputs, see <a href="https://asciidoc.org/userguide.html#X96">https://asciidoc.org/userguide.html#X96</a>.
+</p>
+</li>
+<li>
+<p>
+Vim syntax highlighter: highlight macros that start with an
+ attribute reference (a common idiom).
+</p>
+</li>
+<li>
+<p>
+Vim syntax highlighter: highlight attribute references in macro
+ attribute lists.
+</p>
+</li>
+<li>
+<p>
+Attribute entries can be used to set configuration markup templates.
+</p>
+</li>
+<li>
+<p>
+Double-width East Asian characters in titles now correctly match the
+ title underline widths. Submitted by Changjian Gao (see
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/77f28b0dfe60d262">http://groups.google.com/group/asciidoc/browse_thread/thread/77f28b0dfe60d262</a>).
+</p>
+</li>
+<li>
+<p>
+Implemented <a href="https://asciidoc.org/manpage.html"><code>asciidoc(1)</code></a> filter commands, see:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/40c64cd33ee1905c">http://groups.google.com/group/asciidoc/browse_thread/thread/40c64cd33ee1905c</a>
+</p>
+</li>
+<li>
+<p>
+User&#8217;s home directory now calculated in a platform independent
+ manner.
+</p>
+</li>
+<li>
+<p>
+Added double-quote characters to French language file. Patch
+ contributed Yves-Alexis Perez, see:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/e15282f072413940">http://groups.google.com/group/asciidoc/browse_thread/thread/e15282f072413940</a>
+</p>
+</li>
+<li>
+<p>
+Vim Syntax highlighter: Highlight closing OpenBlocks which
+ immediately follow a literal paragraph.
+</p>
+</li>
+<li>
+<p>
+Changed UNIX <code>/dev/null</code> to OS independent <code>os.devnull</code> in filters
+ code. Suggested by Henrik Maier:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/5ac8e8ea895147e9">http://groups.google.com/group/asciidoc/browse_thread/thread/5ac8e8ea895147e9</a>
+</p>
+</li>
+<li>
+<p>
+Vim syntax highlighter: Single and double quoted text now highlights
+ correctly when preceded by an attributes list.
+</p>
+</li>
+<li>
+<p>
+Added Ukrainian language file (<code>lang-uk.conf</code>). Added double-quote
+ characters to Russian language file.conf). Patches contributed by
+ Lavruschenko Oleksandr, see
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/e15282f072413940">http://groups.google.com/group/asciidoc/browse_thread/thread/e15282f072413940</a>
+</p>
+</li>
+<li>
+<p>
+Single and double quote characters are now set using the <code>{lsquo}</code>,
+ <code>{rsquo}</code>, <code>{ldquo}</code> and <code>{rdquo}</code> attributes. This makes is easy to
+ customise language specific quotes. See:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/e15282f072413940">http://groups.google.com/group/asciidoc/browse_thread/thread/e15282f072413940</a>
+</p>
+</li>
+<li>
+<p>
+Implemented <em>conf-files</em> attribute to allow configuration files to
+ be specified in the source document. Suggested by Lex Trotman, see:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/b11066a828ab45b9">http://groups.google.com/group/asciidoc/browse_thread/thread/b11066a828ab45b9</a>
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+<strong>FIXED</strong>: Auto-generated section title ids are now Unicode aware.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Setting <em>quotes</em> configuration entries using document
+ attribute entries failed if the attribute entry was not in the
+ document header. See:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/a1dd0562dee8b939">http://groups.google.com/group/asciidoc/browse_thread/thread/a1dd0562dee8b939</a>
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: If the input and output file names were different then the
+ output file name was incorrectly used to synthesize <em>docinfo</em> file
+ names. Reported by Christian Zuckschwerdt.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: An error can occur when more than one consecutive quotes
+ are defined as a blank string. Reported by Peggy Russell.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Encoding error in automatically generated author initials.
+ Patch submitted by Xin Wang. See:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/f44615dca0b834e9">http://groups.google.com/group/asciidoc/browse_thread/thread/f44615dca0b834e9</a>
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_6_3_2010_11_14">Version 8.6.3 (2010-11-14)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+Added and <em>unbreakable</em> option to bulleted and numbered lists
+ (thanks to Henrik Maier for this patch).
+</p>
+</li>
+<li>
+<p>
+Added <code>ifeval::[]</code> system macro (thanks to Henrik Maier for
+ suggesting this feature).
+</p>
+</li>
+<li>
+<p>
+The image <em>scale</em> attribute sets the DocBook <em>imagedata</em> element
+ <em>scale</em> attribute. Patch submitted by Henrik Maier.
+</p>
+</li>
+<li>
+<p>
+DocBook <em>preface</em>, <em>colophon</em> and <em>dedication</em> style section titles
+ now work. Based on patch submitted by Henrik Maier.
+</p>
+</li>
+<li>
+<p>
+<em>a2x</em>: Do not inject xsltproc parameters if they were specified on
+ the command-line (parameter double-ups generate xsltproc <em>Global
+ parameter already defined</em> errors).
+</p>
+</li>
+<li>
+<p>
+<em>a2x</em>: Refactored xsltproc parameter injection.
+</p>
+</li>
+<li>
+<p>
+<em>a2x</em>: articles chunked at section level by default.
+</p>
+</li>
+<li>
+<p>
+<em>attributes</em>, <em>titles</em> and <em>specialcharacters</em> sections are now read
+ from the local <code>asciidoc.conf</code> file before the header is parsed.
+ This fixes a regression problem. See
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/1b3f88f1f8118ab3">http://groups.google.com/group/asciidoc/browse_thread/thread/1b3f88f1f8118ab3</a>
+</p>
+</li>
+<li>
+<p>
+Document header attributes take precedence over configuration file
+ attributes.
+</p>
+</li>
+<li>
+<p>
+Refactored <em>music</em>, <em>graphviz</em> and <em>latex</em> filter configurations.
+</p>
+</li>
+<li>
+<p>
+Refactored source filter configuration and added literal paragraph
+ source style.
+</p>
+</li>
+<li>
+<p>
+Separated paragraph styles from paragraph syntax&#8201;&#8212;&#8201;any style can be
+ applied to any syntax.
+</p>
+</li>
+<li>
+<p>
+Added <em>listing</em> and <em>quote</em> paragraph styles.
+</p>
+</li>
+<li>
+<p>
+Renamed paragraph <em>default</em> style to <em>normal</em>.
+</p>
+</li>
+<li>
+<p>
+Updated <code>--help</code> option text.
+</p>
+</li>
+<li>
+<p>
+<em>a2x</em>: The <code>asciidoc_opts</code>, <code>dblatex_opts</code>, <code>fop_opts</code> and
+ <code>xsltproc_opts</code> command-line options can be specified multiple
+ times. This makes embedding multiple <em>a2x</em> options in document
+ headers easier to manage and less error prone.
+</p>
+</li>
+<li>
+<p>
+Added ASCIIMathML and LaTeXMathML support to slidy backend.
+</p>
+</li>
+<li>
+<p>
+Pass the <em>encoding</em> attribute to the Pygments source highlight
+ filter command.
+</p>
+</li>
+<li>
+<p>
+<em>a2x</em>: HTML Help <code>.hhk</code> file named after AsciiDoc source file.
+</p>
+</li>
+<li>
+<p>
+<em>a2x</em>: Added <code>--xsl-file</code> option to allow custom XSL stylesheets to
+ be specified.
+</p>
+</li>
+<li>
+<p>
+Make builds the man pages. Patch submitted by Sebastian Pipping. See
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/c21c2902c29bae64">http://groups.google.com/group/asciidoc/browse_thread/thread/c21c2902c29bae64</a>
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+<strong>FIXED</strong>: Sometimes double backquotes were misinterpreted as inline
+ literal macros. See:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/f510ea82a88aaee8">http://groups.google.com/group/asciidoc/browse_thread/thread/f510ea82a88aaee8</a>
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Regression in 8.6.2: command-line attributes were not
+ available to the global asciidoc.conf.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Postponed document title substitutions until backend conf
+ files have been loaded (8.6.2 regression). See
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/42b63ce90c2563b8">http://groups.google.com/group/asciidoc/browse_thread/thread/42b63ce90c2563b8</a>
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: The XSL Stylesheets customizations were preventing chapter
+ and section level TOCs from being generated when using XSL
+ Stylesheets via <em>a2x</em>. See
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/42b63ce90c2563b8">http://groups.google.com/group/asciidoc/browse_thread/thread/42b63ce90c2563b8</a>
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: &#8220;UnicodeDecodeError: 'ascii' codec can&#8217;t decode byte&#8221;
+ error. This error is due to a limitation in the Python HTMLParser
+ module, see: <a href="http://bugs.python.org/issue3932">http://bugs.python.org/issue3932</a>
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Broken <code>--no-conf</code> option (8.6.2 regression).
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Regression in 8.6.2: configuration attribute entries set in
+ the document header may cause a <em>FAILED: incomplete configuration
+ files</em> error.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: <em>html4</em>: corrected self closed meta tags.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: <em>a2x</em> regression in 8.6.2: HTML Help <code>.hhp</code> file name had
+ reverted to default name instead of the AsciiDoc source file name.
+ See:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/dedc961b23e9ac56">http://groups.google.com/group/asciidoc/browse_thread/thread/dedc961b23e9ac56</a>
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Attributes in man page title caused it to be dropped
+ resulting in invalid DocBook output.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: <code>make uninstall</code> now deletes the <code>asciidoc.1</code> and <code>a2x.1</code>
+ man pages.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_6_2_2010_10_03">Version 8.6.2 (2010-10-03)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+<em>docbook45</em>: Enclosed bibliographic lists in a <em>bibliodiv</em>&#8201;&#8212;&#8201;you
+ can now include block titles with bibliographic lists.
+</p>
+</li>
+<li>
+<p>
+Added optional <em>keywords</em>, <em>description</em> and <em>title</em> document header
+ meta-data attributes to HTML backends for SEO.
+</p>
+</li>
+<li>
+<p>
+AttributeEntry values can span multiple lines with a ' +' line
+ continuation.
+</p>
+</li>
+<li>
+<p>
+Added <em>slidy</em> backend (based on Phillip Lord&#8217;s slidy backend
+ <a href="https://phillordbio-asciidoc-fixes.googlecode.com/hg/">https://phillordbio-asciidoc-fixes.googlecode.com/hg/</a>).
+</p>
+</li>
+<li>
+<p>
+Implemented <em>OpenBlock</em> <em>partintro</em> style for book part
+ introductions.
+</p>
+</li>
+<li>
+<p>
+Comment lines substitute special characters only.
+</p>
+</li>
+<li>
+<p>
+Backend specific global configuration files (all except
+ <code>asciidoc.conf</code>) are loaded <strong>after</strong> the header has been parsed&#8201;&#8212;&#8201; virtually any attribute can now be specified in the document header.
+</p>
+</li>
+<li>
+<p>
+<em>xhtml11</em>: Volnitsky theme: allow bulleted lists to have intervening
+ children.
+</p>
+</li>
+<li>
+<p>
+<em>xhtml11</em>: refactored CSS font-family rules to start of file.
+</p>
+</li>
+<li>
+<p>
+<em>xhtml11</em>: list bullets colored gray.
+</p>
+</li>
+<li>
+<p>
+<em>ifdef</em> and <em>ifndef</em> system block macros accept multiple attribute
+ names: multiple names separated by commas are <em>ored</em>; multiple
+ attribute names separated by pluses are <em>anded</em>.
+</p>
+</li>
+<li>
+<p>
+<em>xhtml11</em>: Volnitsky theme: set max-width on labeled lists.
+</p>
+</li>
+<li>
+<p>
+Vim syntax highlighter: Entities inside quoted text are now
+ highlighted.
+</p>
+</li>
+<li>
+<p>
+Added <em>role</em> and <em>id</em> attributes to HTML outputs generated by
+ <em>OpenBlocks</em>.
+</p>
+</li>
+<li>
+<p>
+Allow floating titles to generate <em>h1</em> (level 0) titles in HTML
+ outputs.
+</p>
+</li>
+<li>
+<p>
+Added a <em>start</em> attribute to numbered lists to set the start number.
+ See:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/c14a4c3b1e4f6dc5">http://groups.google.com/group/asciidoc/browse_thread/thread/c14a4c3b1e4f6dc5</a>
+</p>
+</li>
+<li>
+<p>
+Added two more docinfo attributes <em>docinfo1</em> and <em>docinfo2</em> to allow
+ and control inclusion of a shared docinfo file. See
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/c948697943432e24">http://groups.google.com/group/asciidoc/browse_thread/thread/c948697943432e24</a>
+</p>
+</li>
+<li>
+<p>
+Vim syntax highlighter highlights multi-name conditional attributes.
+</p>
+</li>
+<li>
+<p>
+LaTeX backend patch submitted by Andreas Hermann Braml (see
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/1c415fc4540ce5e5">http://groups.google.com/group/asciidoc/browse_thread/thread/1c415fc4540ce5e5</a>).
+</p>
+</li>
+<li>
+<p>
+Implemented <em>backend aliases</em>; renamed <code>docbook.conf</code> to
+ <code>docbook45.conf</code> and aliased <em>docbook45</em> backend to <em>docbook</em>;
+ aliased <em>xhtml11</em> to <em>html</em>.
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+<strong>FIXED</strong>: Filter commands located in filter directories local to the
+ source document that where not in the search <em>PATH</em> where not found.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Volnitsky theme: Verseblock font set normal instead of
+ monospaced.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: <em>xhtml11</em>: Callout icons were not rendered as Data URIs
+ when <em>icons</em> and <em>data-uri</em> attributes were specified.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Long standing bug: nested include macros did not restore
+ the parent document <em>infile</em> and <em>indir</em> attributes. See:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/8712a95e95a292a7">http://groups.google.com/group/asciidoc/browse_thread/thread/8712a95e95a292a7</a>
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: <em>html4</em>: set preamble ID anchor.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: <em>xhtml11</em>: dropped unusable <em>id</em> and <em>role</em> attributes from
+ preamble template.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Bug in multi-name conditional attributes e.g. <code>{x,y#}</code>
+ fails if x or y is undefined.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: latex filter not being installed by Makefile. Thanks to
+ Grant Edwards for this patch. See
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/c4427a3902d130a8">http://groups.google.com/group/asciidoc/browse_thread/thread/c4427a3902d130a8</a>
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: <em>a2x</em>: Long-standing bug in a2x which always passes
+ <code>--string-param navig.graphics 0</code> to <em>xsltproc</em>, regardless of
+ whether icons are enabled or not. Reported by Michael Wild:
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/59a610068e4acb58">http://groups.google.com/group/asciidoc/browse_thread/thread/59a610068e4acb58</a>
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_6_1_2010_08_22">Version 8.6.1 (2010-08-22)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+<em>a2x</em>: <code>--resource-dir</code> option renamed to <code>--resource</code>.
+</p>
+</li>
+<li>
+<p>
+<em>a2x</em>: <code>--resource</code> option accepts both file and directory names.
+</p>
+</li>
+<li>
+<p>
+<em>a2x</em>: Added <code>-m,--resource-manifest</code> option.
+</p>
+</li>
+<li>
+<p>
+Added Vim syntax highlighting for quote attribute lists.
+</p>
+</li>
+<li>
+<p>
+Load <em>asciidoc.conf</em> from all configuration directories before any
+ other configuration files. This ensures that attributes used for
+ conditional inclusion are set before backend configuration files are
+ processed. Previously if you wanted to control global conf file
+ inclusion your only choice was to modify the global <em>asciidoc.conf</em>
+ file.
+</p>
+</li>
+<li>
+<p>
+AsciiDoc <em>Quote element</em> attributes have been simplified and
+ generalized&#8201;&#8212;&#8201;positional color and size attributes and named <em>role</em>
+ attribute have been replaced by a single positional attribute.
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+<strong>FIXED</strong>: <em>testasciidoc.py</em>: <code>BACKEND</code> command argument was being
+ ignored.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Broken <em>docinfo</em> file functionality in <em>html4</em> and
+ <em>xhtml11</em> backends (previously the docinfo file was included in
+ the <em>body</em> instead of the <em>header</em>).
+</p>
+</li>
+</ul></div>
+<div class="sect2">
+<h3 id="_regression_issues">Regression issues</h3>
+<div class="paragraph"><p>This release breaks compatibility with quoted element positional color
+and size attributes (HTML backends). To revert to the deprecated quote
+behavior define the <em>deprecated-quotes</em> attribute in the global
+<code>asciidoc.conf</code> file or on the command-line. For a more detailed
+explanation of the rationale behind this change see
+<a href="http://groups.google.com/group/asciidoc/browse_thread/thread/b22603bfb879418c">http://groups.google.com/group/asciidoc/browse_thread/thread/b22603bfb879418c</a>.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_6_0_2010_08_16">Version 8.6.0 (2010-08-16)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+The AsciiDoc distribution can now be built &#8220;out of the box&#8221;
+ from the distribution tarball or the Mercurial repository
+ (provided you have the requisite build applications installed).
+</p>
+</li>
+<li>
+<p>
+The global configuration files directory is ignored by both
+ <em>asciidoc</em> and <em>a2x</em> if AsciiDoc configuration files are installed
+ in the same directory as the asciidoc executable. This change
+ allows both a system wide copy and multiple local copies of AsciiDoc
+ to coexist on the same host PC.
+</p>
+</li>
+<li>
+<p>
+CSS <em>quirks</em> mode is no longer the default <em>xhtml11</em> output
+ (<a href="http://groups.google.com/group/asciidoc/browse_thread/thread/1c02d27d49221aa2">http://groups.google.com/group/asciidoc/browse_thread/thread/1c02d27d49221aa2</a>).
+</p>
+</li>
+<li>
+<p>
+Relaxed anchor ID name syntax
+ (<a href="http://groups.google.com/group/asciidoc/browse_thread/thread/5f3e825c74ed30c">http://groups.google.com/group/asciidoc/browse_thread/thread/5f3e825c74ed30c</a>).
+</p>
+</li>
+<li>
+<p>
+Added document files: <code>doc/epub-notes.txt</code>,
+ <code>doc/publishing-ebooks-with-asciidoc.txt</code>.
+</p>
+</li>
+<li>
+<p>
+<em>a2x</em>: If all other resource locations are exhausted then recursively
+ search directories named <em>images</em> and <em>stylesheets</em> in the
+ <em>asciidoc</em> configuration files directory.
+</p>
+</li>
+<li>
+<p>
+<em>a2x</em>: options can also be set in the AsciiDoc source file. If the
+ source file contains a line beginning with <em>// a2x:</em> then the
+ remainder of the line will be treated as a2x command-line options.
+</p>
+</li>
+<li>
+<p>
+Added dblatex table-width processing instruction&#8201;&#8212;&#8201;tables generated
+ by dblatex now observe the AsciiDoc table width as a percentage
+ (thanks to Gustav Broberg for suggesting this enhancement).
+</p>
+</li>
+<li>
+<p>
+<em>a2x</em>: Don&#8217;t exit if the <code>--epubcheck</code> option is set and <em>epubcheck</em>
+ is missing, issue warning and continue.
+</p>
+</li>
+<li>
+<p>
+Added a global <em>plaintext</em> attribute for dealing with large amounts
+ of imported text.
+</p>
+</li>
+<li>
+<p>
+The author name format has been relaxed, if the the author does not
+ match the formal specification then it is assigned to the
+ <em>firstname</em> attribute (previously asciidoc exited with an error
+ message).
+</p>
+</li>
+<li>
+<p>
+FAQ and documentation updates.
+</p>
+</li>
+<li>
+<p>
+Refactored chunked.xsl and epub.xsl files.
+</p>
+</li>
+<li>
+<p>
+Exchanged article.epub for more relevant book.epub on website.
+</p>
+</li>
+<li>
+<p>
+Put asciidoc.epub User Guide on website.
+</p>
+</li>
+<li>
+<p>
+<em>a2x</em>: Chunking EPUB and HTML outputs set to a per chapter basis and
+ the first chapter is separate from preceding contents.
+</p>
+</li>
+<li>
+<p>
+Changed dates format in example article and books to suppress EPUB
+ validation error.
+</p>
+</li>
+<li>
+<p>
+Added <em>style</em> and <em>role</em> CSS classes to xhtml11 section templates.
+</p>
+</li>
+<li>
+<p>
+Added the <em>role</em> element to xhtml11 backend block templates.
+</p>
+</li>
+<li>
+<p>
+Suppressed md5 module deprecation warning from music and Graphviz filters.
+</p>
+</li>
+<li>
+<p>
+Pygments (<a href="http://pygments.org/">http://pygments.org/</a>) option added to source code
+ highlight filter. Based on Pygments source code filter written by
+ David Hajage
+ (<a href="http://groups.google.com/group/asciidoc/browse_thread/thread/d8d042f5a3021369/8934ebbb8cb7144b">http://groups.google.com/group/asciidoc/browse_thread/thread/d8d042f5a3021369/8934ebbb8cb7144b</a>).
+</p>
+</li>
+<li>
+<p>
+xhtml11: Added a new theme (volnitsky). Written and contributed by
+ Leonid V. Volnitsky.
+</p>
+</li>
+<li>
+<p>
+xhtml11: Set body element class name to document type.
+</p>
+</li>
+<li>
+<p>
+Added refentryinfo element and contents (including revdate) to man
+ page DocBook output. Man pages are now dated using the revdate
+ attribute value if it has been defined. Based on patch supplied by
+ Rainer Muller
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/319e5cd94493e330/3fcb83fab067af42">http://groups.google.com/group/asciidoc/browse_frm/thread/319e5cd94493e330/3fcb83fab067af42</a>.
+</p>
+</li>
+<li>
+<p>
+Added <code>{template:...}</code> system attribute.
+</p>
+</li>
+<li>
+<p>
+Table of contents attribute <em>toc</em> can now be specified in the
+ document header.
+</p>
+</li>
+<li>
+<p>
+Reimplemented music and latex filter -m option functionality when
+ the input is stdin using MD5 checksums.
+</p>
+</li>
+<li>
+<p>
+Added <em>latex</em> filter.
+</p>
+</li>
+<li>
+<p>
+Added auto file name generation to image generating filters
+ (latex,music, graphviz).
+</p>
+</li>
+<li>
+<p>
+Added <code>counter2</code> and <code>set2</code> system attributes (to implement image
+ auto file name generation).
+</p>
+</li>
+<li>
+<p>
+Undefined attribute in filter command generates error but does not
+ exit.
+</p>
+</li>
+<li>
+<p>
+Attribute substitution proceeds from start line to end line
+ (previously was in reverse order which was really confusing).
+</p>
+</li>
+<li>
+<p>
+Tidied up music filter code:
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Format option is optional and default to <em>abc</em> unless Lilypond
+ notation detected.
+</p>
+</li>
+<li>
+<p>
+The -m option does not apply to stdin input.
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+Added paragraph styles to music and graphviz filters.
+</p>
+</li>
+<li>
+<p>
+Documented dynamic template names. 753: Graphviz filter can now
+ generate SVG format images. Patch submitted by Elmo Todurov, see:
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/fe9b33d8f5f1e0af">http://groups.google.com/group/asciidoc/browse_frm/thread/fe9b33d8f5f1e0af</a>
+ The xhtml11 SVG Graphviz template marked EXPERIMENTAL. No SVG
+ support for other backends.
+</p>
+</li>
+<li>
+<p>
+AsciiDoc template names can now contain embedded attribute
+ references.
+</p>
+</li>
+<li>
+<p>
+Added <em>legalnotice</em> tag to <code>doc/article-docinfo.xml</code> example.
+</p>
+</li>
+<li>
+<p>
+xhtml11 backend: Callouts and callout lists display callout icons
+ when the <em>icons</em> attribute is defined. See
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/8eda3ea812968854">http://groups.google.com/group/asciidoc/browse_frm/thread/8eda3ea812968854</a>
+</p>
+</li>
+<li>
+<p>
+Document attribute names are case insensitive everywhere, this makes using
+attribute entries more consistent e.g. previously :VERS: had to be referred to
+</p>
+</li>
+<li>
+<p>
+Hungarian translation of footer-text (submitted by Miklos Vajna).
+ See
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/7174cb7598993c72">http://groups.google.com/group/asciidoc/browse_frm/thread/7174cb7598993c72</a>#
+</p>
+</li>
+<li>
+<p>
+asciidocapi.py 0.1.2: Can now load AsciiDoc script named asciidoc.
+ See
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/66e7b59d12cd2f91">http://groups.google.com/group/asciidoc/browse_frm/thread/66e7b59d12cd2f91</a>
+ Based on patch submitted by Phillip Lord.
+</p>
+</li>
+<li>
+<p>
+German translation of footer-text (submitted by Simon Ruderich). See
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/7174cb7598993c72">http://groups.google.com/group/asciidoc/browse_frm/thread/7174cb7598993c72</a>
+</p>
+</li>
+<li>
+<p>
+Pushed HTML footer text into language conf files with the
+ introduction of a [footer-text] configuration file template section.
+ See
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/7174cb7598993c72">http://groups.google.com/group/asciidoc/browse_frm/thread/7174cb7598993c72</a>
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+<strong>FIXED</strong>: Sometimes multiple double quoted text elements in the same
+ paragraph were mistakenly seen as starting with an inline literal.
+ See
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/219c86ae25b79a21">http://groups.google.com/group/asciidoc/browse_frm/thread/219c86ae25b79a21</a>
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: <em>localtime</em> and <em>doctime</em> attributes calculated incorrect
+ daylight saving / non daylight saving timezones and consequently so
+ did HTML footers. Patch submitted by Slawomir Testowy. See
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/af652507caf6cec9">http://groups.google.com/group/asciidoc/browse_frm/thread/af652507caf6cec9</a>
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Missing selector for <em>List of examples</em> title in DocBook
+ CSS file. Patch submitted by Laurent Laville. See
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/3f96900f7fbf5620">http://groups.google.com/group/asciidoc/browse_frm/thread/3f96900f7fbf5620</a>
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Broken accents in lang-hu.conf. See:
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/7174cb7598993c72">http://groups.google.com/group/asciidoc/browse_frm/thread/7174cb7598993c72</a>
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: DocBook XSL generated HTML callout lists are properly
+ aligned. Submitted by Lionel Orry. See
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/2ff802547b6a75ea">http://groups.google.com/group/asciidoc/browse_frm/thread/2ff802547b6a75ea</a>
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Filter execution now occurs prior to filter markup template
+ substitution to ensure image data URI encoding happens after image
+ generation (see
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/14e8fcb289a135b">http://groups.google.com/group/asciidoc/browse_thread/thread/14e8fcb289a135b</a>).
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: The section numbers no longer increment when the <em>numbered</em>
+ attribute is undefined (see
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/faa36e9e5c7da019/d24cab3fe363e58d">http://groups.google.com/group/asciidoc/browse_thread/thread/faa36e9e5c7da019/d24cab3fe363e58d</a>).
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_5_3_2010_01_18">Version 8.5.3 (2010-01-18)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+a2x: Added a2x configuration file options ASCIIDOC_OPTS,
+ DBLATEX_OPTS, FOP_OPTS, XSLTPROC_OPTS (appended to same-named
+ command-line options). See
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/ac4b9bfa2116db28">http://groups.google.com/group/asciidoc/browse_frm/thread/ac4b9bfa2116db28</a>
+</p>
+</li>
+<li>
+<p>
+Dropped <code>.hgignore</code> from the repository. See
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/c17abd175778f5ea">http://groups.google.com/group/asciidoc/browse_frm/thread/c17abd175778f5ea</a>
+</p>
+</li>
+<li>
+<p>
+Don&#8217;t pass verbose options to asciidoc table filter so that
+ asciidocapi messages are not discarded. See:
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/c17abd175778f5ea">http://groups.google.com/group/asciidoc/browse_frm/thread/c17abd175778f5ea</a>
+</p>
+</li>
+<li>
+<p>
+Added <code>./tests/data/lang-pt-BR-test.txt</code> file to the repository.
+</p>
+</li>
+<li>
+<p>
+xhtml11: Verse block and verse paragraph content enveloped in a
+ <em>pre</em> tag (instead of a <em>div</em>) so it renders better in text-only
+ browsers. See:
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/1b6b66adb24e710">http://groups.google.com/group/asciidoc/browse_frm/thread/1b6b66adb24e710</a>
+</p>
+</li>
+<li>
+<p>
+User Guide: Clarified Passthrough Blocks (suggested by Simon
+ Ruderich).
+</p>
+</li>
+<li>
+<p>
+FAQ: <em>How can I include lines of dashes inside a listing block?</em>
+</p>
+</li>
+<li>
+<p>
+FAQ errata and updates (submitted by Simon Ruderich).
+</p>
+</li>
+<li>
+<p>
+User Guide errata.
+</p>
+</li>
+<li>
+<p>
+Simplified <em>asciidoc-toc</em> processing instruction and included lists
+ of figures, tables, examples and equations in books (i.e. revert to
+ pre-8.5.0 behavior).
+</p>
+</li>
+<li>
+<p>
+Attempted to have dblatex recognise the <em>asciidoc-toc</em> processing
+ instruction but couldn&#8217;t get it to work.
+</p>
+</li>
+<li>
+<p>
+Added <em>notitle</em> attribute to allow the document title to be hidden.
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+<strong>FIXED</strong>: Regression: system attribute escaping did not work.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Website: broken image links in chunked User Guide.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_5_2_2009_12_07">Version 8.5.2 (2009-12-07)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+Updated example article and book documents with the recommended
+ explicit section name syntax (see the <em>Special section titles
+ vs. explicit template names</em> sidebar in the AsciiDoc <em>User Guide</em>).
+</p>
+</li>
+<li>
+<p>
+Added Italian language configuration file (contributed by Fabio
+ Inguaggiato).
+</p>
+</li>
+<li>
+<p>
+Added <em>header</em> table style. See:
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/a23fea28394c8ca9">http://groups.google.com/group/asciidoc/browse_frm/thread/a23fea28394c8ca9</a>
+</p>
+</li>
+<li>
+<p>
+Pass <em>icons</em>, <em>data-uri</em>, <em>imagesdir</em>, <em>iconsdir</em> attributes to
+ <em>asciidoc</em> table style filter so that images are rendered in table
+ cells.
+</p>
+</li>
+<li>
+<p>
+Pass <em>trace</em> and <em>verbose</em> attributes to <em>asciidoc</em> table style
+ filter so diagnostic information is printed from table cell source.
+</p>
+</li>
+<li>
+<p>
+The <em>eval</em> system attribute can be nested inside other system
+ attributes.
+</p>
+</li>
+<li>
+<p>
+HTML outputs: Table and figure caption punctuation set to more usual
+ syntax.
+</p>
+</li>
+<li>
+<p>
+docbook backend: footnotes can now contain embedded images. See
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/50b28f6941de111a">http://groups.google.com/group/asciidoc/browse_frm/thread/50b28f6941de111a</a>
+</p>
+</li>
+<li>
+<p>
+CSS tweaks so that tables processed by DocBook XSL Stylesheets have
+ the default asciidoc xhtml11 backend styling. See
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/dfe5204d5b2c9685">http://groups.google.com/group/asciidoc/browse_frm/thread/dfe5204d5b2c9685</a>
+</p>
+</li>
+<li>
+<p>
+Block titles take precedence over section titles to avoid titled
+ delimited blocks being mistaken for two line section titles (see
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/f0b6f9989f828c3">http://groups.google.com/group/asciidoc/browse_frm/thread/f0b6f9989f828c3</a>).
+</p>
+</li>
+<li>
+<p>
+Section title trace displays level and title text.
+</p>
+</li>
+<li>
+<p>
+FAQ additions.
+</p>
+</li>
+<li>
+<p>
+Added <code>{zwsp}</code> (zero width space) attribute.
+</p>
+</li>
+<li>
+<p>
+Undefined paragraph styles are reported (previously threw a runtime
+ error).
+</p>
+</li>
+<li>
+<p>
+Eliminated empty preamble generation.
+</p>
+</li>
+<li>
+<p>
+Floating titles now processed in all contexts.
+</p>
+</li>
+<li>
+<p>
+Implemented auto-lettered appendix names and updated example
+ documents.
+</p>
+</li>
+<li>
+<p>
+Section numbering can be disabled in HTML outputs with a
+ <em>:numbered!:</em> AttributeEntry.
+</p>
+</li>
+<li>
+<p>
+xhtml11: Nicer default quote block styling.
+</p>
+</li>
+<li>
+<p>
+Exclude floating titles from xhtml11 table of contents. Patch
+ submitted by Mark Burton (see
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/14aefc1cb6bd85f5">http://groups.google.com/group/asciidoc/browse_frm/thread/14aefc1cb6bd85f5</a>).
+</p>
+</li>
+<li>
+<p>
+Enhanced <code>doc/article-docinfo.xml</code> example docinfo file.
+</p>
+</li>
+<li>
+<p>
+Vim syntax highlighter improvements.
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+<strong>FIXED</strong>: Absolute <em>imagesdir</em> and <em>iconsdir</em> attribute path names
+ do not work with the xhtml11 data-uri encoding. See
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/cb8b7694bbc82a6">http://groups.google.com/group/asciidoc/browse_frm/thread/cb8b7694bbc82a6</a>
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: Regression issue with inline data-uri images. See
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/cb8b7694bbc82a6">http://groups.google.com/group/asciidoc/browse_frm/thread/cb8b7694bbc82a6</a>
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED</strong>: An unexpected error occurred when processing a table
+ containing CSV data if the <em>cols</em> attribute was not explicitly
+ specified. See
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/4b0f364b477ec165">http://groups.google.com/group/asciidoc/browse_frm/thread/4b0f364b477ec165</a>
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_5_1_2009_10_31">Version 8.5.1 (2009-10-31)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+If an AsciiDoc document file begins with a UTF-8 BOM (byte order
+ mark) then it is passed transparently through to the output file.
+ The BOM is stripped from included files. See
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/e5e61823ff4203cd">http://groups.google.com/group/asciidoc/browse_frm/thread/e5e61823ff4203cd</a>
+</p>
+</li>
+<li>
+<p>
+Added AsciiDoc <em>role</em> attribute to quoted text. Sets <em>class</em>
+ attribute in HTML outputs; <em>role</em> attribute in DocBook outputs. See:
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/2aa3e5711d243045">http://groups.google.com/group/asciidoc/browse_frm/thread/2aa3e5711d243045</a>
+</p>
+</li>
+<li>
+<p>
+Conditional attribute syntax extended: they now accept multiple ORed
+ or ANDed attribute names.
+</p>
+</li>
+<li>
+<p>
+The <em>xhtml11</em> backend dynamically processes footnotes using
+ JavaScript.
+</p>
+</li>
+<li>
+<p>
+Tidied up and namespaced <em>xhtml11</em> JavaScript.
+</p>
+</li>
+<li>
+<p>
+Superceded <code>javascripts/toc.js</code> with <code>javascripts/asciidoc-xhtml11.js</code>.
+</p>
+</li>
+<li>
+<p>
+Added <em>disable-javascript</em> attribute (<em>xhtml11</em> backend).
+</p>
+</li>
+<li>
+<p>
+Styled HTML footnotes.
+</p>
+</li>
+<li>
+<p>
+Added links to HTML footnote refs.
+</p>
+</li>
+<li>
+<p>
+Added title attribute to inline image macros to display popup
+ &#8220;tooltip&#8221; (HTML outputs only).
+</p>
+</li>
+<li>
+<p>
+Single-quoted attribute values are substituted in block macros (just
+ like the AttributeList element).
+</p>
+</li>
+<li>
+<p>
+For consistency changed underscores to dashes in attribute names.
+ Public attributes with underscores retained for compatibility.
+</p>
+</li>
+<li>
+<p>
+Added Brazilian Portuguese language configuration file (contributed
+ by Thiago Farina).
+</p>
+</li>
+<li>
+<p>
+Added <em>leveloffset</em> attribute to make it easier to combine
+ documents.
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+<strong>FIXED:</strong> a2x: <code>--dblatex-opts</code> is now processed last so
+ <code>asciidoc-dblatex.xsl</code> params can be overridden. Patch submitted by
+ Mark Fernandes (see
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/5215c99dcc865e7d">http://groups.google.com/group/asciidoc/browse_frm/thread/5215c99dcc865e7d</a>).
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED:</strong> An error occurred if a directory in current path with same
+ name as executable.
+</p>
+</li>
+</ul></div>
+<div class="sect2">
+<h3 id="_regression_issues_2">Regression issues</h3>
+<div class="paragraph"><p>There&#8217;s been quite a bit of tiding up to the xhtml11 JavaScript. The
+most obvious change is that the toc.js script has been superceded by
+asciidoc-xhtml11.js so if you&#8217;re linking you&#8217;ll need get a copy of
+the new file from the distribution javascripts directory.</p></div>
+<div class="paragraph"><p>If you use customised xhtml11 configuration file <code>[header]</code> and
+<code>[footer]</code> sections and you want them to use the new footnotes feature
+then you&#8217;ve got a bit more work to do:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+The onload event expression changed.
+</p>
+</li>
+<li>
+<p>
+The new <code>&lt;div id="content"&gt;...&lt;/div&gt;</code> div envelopes document
+ content.
+</p>
+</li>
+<li>
+<p>
+You need to add <code>&lt;div id="footnotes"&gt;...&lt;/div&gt;</code> div to the
+ <code>[footnotes]</code> section for footnotes to work.
+</p>
+</li>
+<li>
+<p>
+Drop the <code>ifdef::toc[]</code> macro that surround JavaScript inclusion.
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>Take a look at the [header] and [footer] changes in the xhtml11.conf
+diff to see what&#8217;s going on:
+<a href="http://hg.sharesource.org/asciidoc/diff/55a5999bfd04/xhtml11.conf">http://hg.sharesource.org/asciidoc/diff/55a5999bfd04/xhtml11.conf</a></p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_5_0_2009_10_04">Version 8.5.0 (2009-10-04)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+Implemented a <em>float</em> attribute for tables and block images (HTML
+ outputs only).
+</p>
+</li>
+<li>
+<p>
+Added <code>unfloat::[]</code> block macro to cancel floating.
+</p>
+</li>
+<li>
+<p>
+Added table <em>align</em> attribute to (HTML outputs only).
+</p>
+</li>
+<li>
+<p>
+The image <em>align</em> attribute now works with HTML backends.
+</p>
+</li>
+<li>
+<p>
+Renamed table cell <em>align</em> attribute to <em>halign</em> so it doesn&#8217;t clash
+ with the new table <em>align</em> attribute.
+</p>
+</li>
+<li>
+<p>
+Added <em>breakable</em> and <em>unbreakable</em> options to AsciiDoc example and
+ block image elements.
+</p>
+</li>
+<li>
+<p>
+<code>[miscellaneous]</code> section entries now update properly when set from
+ a document <em>AttributeEntry</em>.
+</p>
+</li>
+<li>
+<p>
+<code>[miscellaneous]</code> section <code>pagewidth</code> entry accepts fractional
+ values.
+</p>
+</li>
+<li>
+<p>
+Fractional column widths are now calculated correctly when using
+ fractional <em>pageunits</em> (DocBook tables).
+</p>
+</li>
+<li>
+<p>
+Use DocBook XSL table width processing instructions.
+</p>
+</li>
+<li>
+<p>
+asciidoc <em>KeyboardInterrupt</em> exits with error code 1.
+</p>
+</li>
+<li>
+<p>
+Added <em>set</em> system attribute to allow attributes to be set from
+ configuration file templates.
+</p>
+</li>
+<li>
+<p>
+Allow constrained quotes to be bounded on the left by a colons and
+ semicolons, see
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/b276a927fdc87995">http://groups.google.com/group/asciidoc/browse_frm/thread/b276a927fdc87995</a>
+</p>
+</li>
+<li>
+<p>
+Titled listing and literal blocks (DocBook outputs) no longer default
+ to examples. See
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/f4df7c9eec01a9bd">http://groups.google.com/group/asciidoc/browse_frm/thread/f4df7c9eec01a9bd</a>
+</p>
+</li>
+<li>
+<p>
+Updated language file table, figure and example captions to
+ accommodate new auto-numbering in html4 and xhtml11 backends.
+</p>
+</li>
+<li>
+<p>
+Titled source highlight filter listings generated by docbook backend
+ are now rendered as examples. See
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/f4df7c9eec01a9bd">http://groups.google.com/group/asciidoc/browse_frm/thread/f4df7c9eec01a9bd</a>
+</p>
+</li>
+<li>
+<p>
+Implemented <em>counter</em> system attribute.
+</p>
+</li>
+<li>
+<p>
+Use <em>counter</em> system attributes to number titled tables and block
+ images in HTML backends.
+</p>
+</li>
+<li>
+<p>
+Added program name suffix to console messages.
+</p>
+</li>
+<li>
+<p>
+Added substitution to the <em>AttributeEntry</em> passthrough syntax, this
+ replaces the now unnecessary <em>attributeentry-subs</em> attribute.
+</p>
+</li>
+<li>
+<p>
+Allow passthrough inline macro syntax to be used in
+ <em>AttributeEntrys</em>.
+</p>
+</li>
+<li>
+<p>
+Reinstated 8.4.4 default <em>lang</em> attribute behavior. See
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/d29924043e21cb6a">http://groups.google.com/group/asciidoc/browse_frm/thread/d29924043e21cb6a</a>.
+</p>
+</li>
+<li>
+<p>
+Added <em>max-width</em> attribute to the <em>xhtml11</em> backend to set maximum
+ display width. See
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/74d9a542b79ccd50">http://groups.google.com/group/asciidoc/browse_frm/thread/74d9a542b79ccd50</a>.
+</p>
+</li>
+<li>
+<p>
+Added <em>a2x.py</em>, a rewritten and much enhanced version of the old
+ <em>a2x</em> bash script.
+</p>
+</li>
+<li>
+<p>
+The new <em>a2x</em> can output EPUB formatted documents.
+</p>
+</li>
+<li>
+<p>
+Added <code>--safe</code> option and deprecated <code>--unsafe</code> option. Patch
+ submitted by Todd Zullinger. See
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/ea3a8ea399ae5d2a">http://groups.google.com/group/asciidoc/browse_frm/thread/ea3a8ea399ae5d2a</a>
+ and
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/69b3183fdab7c6a5">http://groups.google.com/group/asciidoc/browse_frm/thread/69b3183fdab7c6a5</a>
+</p>
+</li>
+<li>
+<p>
+Added <em>CHECK</em> and <em>TEST</em> todo highlight words to Vim syntax
+ highlighter.
+</p>
+</li>
+<li>
+<p>
+Line breaks, page breaks, and horizontal rulers are now processed by
+ dblatex, thanks to a patch submitted by Mark Fernandes
+ (<a href="http://groups.google.com/group/asciidoc/browse_frm/thread/a254cf949ea7c6c5">http://groups.google.com/group/asciidoc/browse_frm/thread/a254cf949ea7c6c5</a>).
+</p>
+</li>
+<li>
+<p>
+Allow footnote macros hard up against the preceding word so the
+ rendered footnote mark can be placed against the noted text without
+ an intervening space (patch submitted by Stas Bushuev,
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/e1dcb7ee0efc17b5">http://groups.google.com/group/asciidoc/browse_frm/thread/e1dcb7ee0efc17b5</a>).
+</p>
+</li>
+<li>
+<p>
+Normalized path in <code>safe_filename</code> function (submitted by Todd
+ Zullinger,
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/69b3183fdab7c6a5">http://groups.google.com/group/asciidoc/browse_frm/thread/69b3183fdab7c6a5</a>).
+</p>
+</li>
+<li>
+<p>
+The Asciidoc <em>numbered</em> and <em>toc</em> attributes cause DocBook outputs
+ to include <code>asciidoc-numbered</code> and <code>asciidoc-toc</code> processing
+ instructions, these are used by DocBook XSL to include section
+ numbering and table of contents (like Asciidoc HTML backends). For
+ backward compatibility both <em>numbered</em> and <em>toc</em> attributes are
+ defined by default when the <em>docbook</em> backend is used. See
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/1badad21ff9447ac">http://groups.google.com/group/asciidoc/browse_frm/thread/1badad21ff9447ac</a>.
+</p>
+</li>
+<li>
+<p>
+<em>data-uri</em> attribute is now evaluated dynamically and can be set in
+ document body (previously could only be set from command-line).
+</p>
+</li>
+<li>
+<p>
+Added <em>sys3</em> and <em>eval3</em> system attributes to passthrough generated
+ output, this fixes the data-uri inline image problem:
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/a42db6bc54c2c537">http://groups.google.com/group/asciidoc/browse_frm/thread/a42db6bc54c2c537</a>.
+</p>
+</li>
+<li>
+<p>
+Missing language file generates a warning instead of an error.
+</p>
+</li>
+<li>
+<p>
+Updated Spanish language file (updates contributed by Gustavo Andrés
+ Gómez Farhat).
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+<strong>FIXED:</strong> Options in an <em>AttributeList</em> option attribute are merged
+ with (rather than replace) configuration file options.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED:</strong> Comment blocks and comment block macros no longer consume
+ preceding block titles and attribute lists.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED:</strong> <code>examples/website/layout1.conf</code> and
+ <code>examples/website/layout2.conf</code> TOC problem. Submitted by Mark
+ (burtoogle). See
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/b9c63be67dd1d11c">http://groups.google.com/group/asciidoc/browse_frm/thread/b9c63be67dd1d11c</a>
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED:</strong> Only the first occurrence of passthrough macro was
+ substituted. Patch submitted by Peter Johnson. See
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/1269dc2feb1a482c">http://groups.google.com/group/asciidoc/browse_frm/thread/1269dc2feb1a482c</a>
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED:</strong> asciidoc now runs on Jython 2.5.0.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED:</strong> Wordpress margins and pads in a number of block
+ elements
+ (<a href="http://groups.google.com/group/asciidoc/browse_frm/thread/36ff073c79cbc20a">http://groups.google.com/group/asciidoc/browse_frm/thread/36ff073c79cbc20a</a>).
+</p>
+</li>
+</ul></div>
+<div class="sect2">
+<h3 id="_regression_issues_3">Regression issues</h3>
+<div class="ulist"><ul>
+<li>
+<p>
+Tables generated by <em>dblatex</em> occupy 100% of the available space
+ regardless of the <em>width</em> attribute setting. To restore width
+ behavior change the <em>pageunits</em> miscellaneous parameter to <em>pt</em>. You
+ can do this from the command-line with the <code>-a pageunits=pt</code> option.
+ See <a href="https://asciidoc.org/userguide.html#X89">DocBook table widths</a>.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_4_5_2009_05_24">Version 8.4.5 (2009-05-24)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+Added manpage <em>Name</em> and <em>Synopsis</em> section title customization to languages
+ configuration files.
+</p>
+</li>
+<li>
+<p>
+Synopsis manpage section no longer mandatory.
+</p>
+</li>
+<li>
+<p>
+Section markup templates can be specified by setting the title&#8217;s
+ first positional attribute or <em>template</em> attribute.
+</p>
+</li>
+<li>
+<p>
+The article and book document header can now include a revision
+ remark.
+</p>
+</li>
+<li>
+<p>
+A <em>role</em> attribute can now be applied to block elements. This adds
+ the <em>role</em> attribute to DocBook elements. Patch submitted by
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/62278a054188a038">Noah
+ Slater</a>).
+</p>
+</li>
+<li>
+<p>
+Renamed <em>revision</em> and <em>date</em> attributes to more sensible and consistent
+ <em>revnumber</em> and <em>revdate</em> (old names deprecated but still
+ recognized).
+</p>
+</li>
+<li>
+<p>
+Moved backend specific attributes to Appendix H in User Guide.
+</p>
+</li>
+<li>
+<p>
+Renamed and generalized the docbook backend revision history
+ inclusion mechanism to <em>docinfo</em> to reflect the use of all article
+ or book information elements. The old revision history names still
+ work but have been deprecated.
+</p>
+</li>
+<li>
+<p>
+Refactored docbook.conf headers.
+</p>
+</li>
+<li>
+<p>
+Moved line break replacement from <code>[replacements]</code> to
+ <code>[replacements2]</code> so the replacement occurs after the mailto macro.
+ This fixes bug
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/4bdcdfb0af773e2">http://groups.google.com/group/asciidoc/browse_thread/thread/4bdcdfb0af773e2</a>
+</p>
+</li>
+<li>
+<p>
+The typewriter to punctuation apostrophe replacement can be escaped
+ with a backslash.
+</p>
+</li>
+<li>
+<p>
+Graphviz filter outputs images to <em>imagesdir</em> if it is defined.
+</p>
+</li>
+<li>
+<p>
+Made the block image macro generic so that it can be used for filter
+ outputs. As a result Music and Graphviz filters:
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Have been greatly simplified.
+</p>
+</li>
+<li>
+<p>
+Honor the <em>data-uri</em> attribute.
+</p>
+</li>
+<li>
+<p>
+<em>html4</em> outputs no longer generate W3C validation warning.
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+The <em>iconsdir</em> attribute no longer requires a trailing directory
+ separator character.
+</p>
+</li>
+<li>
+<p>
+Removed borders around linked html4 images.
+</p>
+</li>
+<li>
+<p>
+Added <em>html4</em> specific HTML output for music filter.
+</p>
+</li>
+<li>
+<p>
+<em>a2x</em>: Added <code>--unsafe</code> option (shortcut for
+ <code>--asciidoc-opts=--unsafe</code>).
+</p>
+</li>
+<li>
+<p>
+<em>a2x</em>: The FOP executable can now be named <code>fop</code> (this is the
+ default name in some distributions).
+</p>
+</li>
+<li>
+<p>
+Attributes are now substituted in the system macro attribute list.
+</p>
+</li>
+<li>
+<p>
+If the output is set to stdout (i.e. no output directory is defined)
+ then Music and Graphviz filters will output included images to the
+ source file directory.
+</p>
+</li>
+<li>
+<p>
+Added <em>name</em> directive to <em>testasciidoc</em>.
+</p>
+</li>
+<li>
+<p>
+Added lots of <em>testasciidoc</em> new tests.
+</p>
+</li>
+<li>
+<p>
+Moved language specific configuration parameters into <code>lang-en.conf</code>
+ file.
+</p>
+</li>
+<li>
+<p>
+<em>lang</em> attribute entry can be specified in the AsciiDoc source file
+ (preceding the header).
+</p>
+</li>
+<li>
+<p>
+Removed cruft from A-A-P scripts and documented them.
+</p>
+</li>
+<li>
+<p>
+Added German language config file (<code>lang-de.conf</code>) contributed by
+ Michael Wild.
+</p>
+</li>
+<li>
+<p>
+Added French language config file (<code>lang-fr.conf</code>) contributed by
+ Yves-Alexis Perez.
+</p>
+</li>
+<li>
+<p>
+Added Russian language config file (<code>lang-ru.conf</code>) contributed by
+ Artem Zolochevskiy.
+</p>
+</li>
+<li>
+<p>
+Added Hungarian language config file (<code>lang-hu.conf</code>) contributed by
+ Miklos Vajna.
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+<strong>FIXED:</strong> Multiple manpage names are now handled correctly when
+ generating DocBook output, each name now generates a separate
+ DocBook <code>&lt;refname&gt;</code> element. See
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/c93bb4db025225d8">http://groups.google.com/group/asciidoc/browse_thread/thread/c93bb4db025225d8</a>
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED:</strong> A problem that caused AttributeEntries preceding the header
+ to be overwritten when the language conf file loaded.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED:</strong> Possible inline macro name ambiguity e.g. link matches olink.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED:</strong> The documented macro definition deletion behavior had been
+ broken for a long time.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED:</strong> Email addresses not recognized when followed by a period
+ character.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED:</strong> Hyphens in mailto macros can delimit nested addresses e.g.
+ bloggs@mail was processed inside
+ mailto:joe-bloggs@mail-server.com[Mail].
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED:</strong> User name in FTP URI generated incorrect FTP link. See
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/1d796a9c9ddb2855">http://groups.google.com/group/asciidoc/browse_thread/thread/1d796a9c9ddb2855</a>
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED:</strong> Source highlighter now works with Wordpress backend (see
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/6d8c716748b109e3">http://groups.google.com/group/asciidoc/browse_thread/thread/6d8c716748b109e3</a>).
+</p>
+</li>
+</ul></div>
+<div class="sect2">
+<h3 id="X2">Regression issues</h3>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+A colon following the date in the AsciiDoc header is treated as a
+ revision remark delimiter&#8201;&#8212;&#8201;this could be an issue if you have used
+ a colon in the header date.
+</p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_4_4_2009_04_26">Version 8.4.4 (2009-04-26)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+Added table column and row spanning.
+</p>
+</li>
+<li>
+<p>
+Table styles can now be applied per cell.
+</p>
+</li>
+<li>
+<p>
+Vertical cell alignment can be applied to columns and individual
+ cells.
+</p>
+</li>
+<li>
+<p>
+Added table <em>align</em> attribute to set horizontal alignment for entire
+ table.
+</p>
+</li>
+<li>
+<p>
+Included Geoff Eddy&#8217;s update of the experimental LaTeX backend.
+</p>
+</li>
+<li>
+<p>
+A new attribute named <em>trace</em> controls the output of diagnostic
+ information. If the <em>trace</em> attribute is defined then
+ element-by-element diagnostic messages detailing output markup
+ generation are printed to stderr.
+</p>
+</li>
+<li>
+<p>
+Added <em>literal</em> paragraph style (allows <em>literal</em> style to be
+ applied to normal paragraphs).
+</p>
+</li>
+<li>
+<p>
+Deleted unused <code>replacements2</code> from <code>xhtml11.conf</code>.
+</p>
+</li>
+<li>
+<p>
+Added <code>replacements2</code> to default substitutions.
+</p>
+</li>
+<li>
+<p>
+<em>testasciidoc.py</em>: messages to <em>stdout</em>, only diffs to <em>stderr</em>.
+</p>
+</li>
+<li>
+<p>
+Added transparency to <code>smallnew.png</code> image.
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+All combinations of leading comments and attribute entries at the
+ start of a document are now skipped correctly.
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED:</strong> <code>./configure</code> doesn&#8217;t support <code>--docdir</code> as expected (patch
+ submitted by Artem Zolochevskiy)
+</p>
+</li>
+<li>
+<p>
+<strong>FIXED:</strong> Constrained quotes were incorrectly matched across line
+ boundaries e.g. the string <code>+\nabc+</code> incorrectly matched a monospace
+ quote.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_4_3_2009_04_13">Version 8.4.3 (2009-04-13)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+DocBook outputs default to DocBook version 4.5 doctype (previously
+ 4.2).
+</p>
+</li>
+<li>
+<p>
+Configuration file <code>[specialsections]</code> definitions can be undefined
+ by setting their configuration entry values blank.
+</p>
+</li>
+<li>
+<p>
+The Makefile <em>install</em> target depends on the <em>all</em> target to ensure
+ pre-install patches are applied.
+</p>
+</li>
+<li>
+<p>
+<em>testasciidoc.py</em> now emits user friendly messages if:
+</p>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+the configuration file is missing.
+</p>
+</li>
+<li>
+<p>
+an illegal backend is specified.
+</p>
+</li>
+<li>
+<p>
+an illegal test number is specified.
+</p>
+</li>
+</ol></div>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Fixed
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/fd27add515597c06">missing
+ template section</a> error.
+</p>
+</li>
+<li>
+<p>
+The <em>testasciidoc.py</em> <code>--force</code> option no longer deletes test data
+ files that were not specified.
+</p>
+</li>
+<li>
+<p>
+Dropped second quotes substitution in table cells&#8201;&#8212;&#8201;it had
+ effectively disabled quote escaping in table cells.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_4_2_2009_03_19">Version 8.4.2 (2009-03-19)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+Added <a href="https://asciidoc.org/testasciidoc.html">testasciidoc</a>, a tool to verify
+ AsciiDoc conformance.
+</p>
+</li>
+<li>
+<p>
+A warning is issued if nested inline passthroughs are encountered.
+</p>
+</li>
+<li>
+<p>
+<em>asciidocapi</em>: setting an attribute value to <code>None</code> will undefine
+ (delete) the attribute (this in addition to the <code>name!</code> attribute
+ name format that the <code>asciidoc(1)</code> command uses).
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_4_1_2009_03_10">Version 8.4.1 (2009-03-10)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+AsciiDoc now has a <a href="https://asciidoc.org/asciidocapi.html">Python API</a>. The
+ following minimal example compiles <code>mydoc.txt</code> to <code>mydoc.html</code>:
+</p>
+<div class="listingblock">
+<div class="content">
+<pre><code><span style="color:#000000; font-weight:bold">from</span> asciidocapi <span style="color:#000000; font-weight:bold">import</span> AsciiDocAPI asciidoc <span style="color:#000000">=</span> <span style="color:#010181">AsciiDocAPI</span><span style="color:#000000">()</span>
+asciidoc<span style="color:#000000">.</span><span style="color:#010181">execute</span><span style="color:#000000">(</span><span style="color:#bf0303">&apos;mydoc.txt&apos;</span><span style="color:#000000">)</span></code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Backtick quoting for monospaced text is now implemented as an
+ <em>inline literal</em> passthrough. This makes more sense since monospace
+ text is usually intended to be rendered literally. See
+ <a href="#X2">Regression issues</a> below for the impact this may have on
+ existing documents. Here are some examples that would previously
+ have had to be escaped:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>The `++i` and `++j` auto-increments.
+Paths `~/.vim` and `~/docs`.
+The `__init__` method.
+The `{id}` attribute.</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Added <code>--doctest</code> option to <code>asciidoc(1)</code> command.
+</p>
+</li>
+<li>
+<p>
+Added an optional second argument to <em>BlockId</em> element, this sets
+ the <code>{reftext}</code> attribute which in turn is used to set the <code>xreflabel</code>
+ attribute in DocBook elements.
+</p>
+</li>
+<li>
+<p>
+Added lists to <code>--help</code> syntax summary.
+</p>
+</li>
+<li>
+<p>
+<code>{infile}</code> and <code>{indir}</code> attributes reflect the current input file
+ (previously always referred to the root document).
+</p>
+</li>
+<li>
+<p>
+<code>{docfile}</code> (new) and <code>{docdir}</code> (previously deprecated) attributes
+ refer to the root document specified on the <code>asciidoc(1)</code>
+ command-line.
+</p>
+</li>
+<li>
+<p>
+Vim syntax highlighter improvements.
+</p>
+</li>
+<li>
+<p>
+Syntax summary command (<code>asciidoc -h syntax</code>) additions.
+</p>
+</li>
+<li>
+<p>
+Admonition icons now have transparent backgrounds.
+</p>
+</li>
+<li>
+<p>
+Changed yellow W3C badges to blue ones in page footers.
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Dropped <code>asciidoc(1)</code> broken undocumented <code>--profile</code> option.
+</p>
+</li>
+<li>
+<p>
+Em dash replacement now recognized at start of block.
+</p>
+</li>
+</ul></div>
+<div class="sect2">
+<h3 id="_regression_issues_4">Regression issues</h3>
+<div class="paragraph"><p>Replacing backtick quoting with the <em>inline literal</em> passthrough
+raises two regression scenarios for existing documents:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+You have escaped the expansion of enclosed inline elements, for
+ example: <code>\{id}</code>. You would need to delete the backslashes: <code>{id}</code>
+ (if you don&#8217;t the backslashes will be printed). Mostly it&#8217;s just a
+ case of interactively finding and replacing of all occurrences of
+ `\.
+</p>
+</li>
+<li>
+<p>
+There are enclosed inline elements, for example: <code>some *bold*
+ monospaced</code>. You would need to switch to plus character monospace
+ quoting: <code>+some *bold* monospaced+</code> (if you don&#8217;t the enclosed
+ elements won&#8217;t be expanded).
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>If your existing documents include these cases and you don&#8217;t want to
+upgrade then use the <code>-a no-inline-literal</code> command-line option,
+alternatively put this in <code>~/.asciidoc/asciidoc.conf</code>:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[attributes]
+no-inline-literal=</code></pre>
+</div></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_3_5_2009_02_02">Version 8.3.5 (2009-02-02)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+Cached compiled regular expression delimiters (speed up <em>User
+ Manual</em> compilation by 250%).
+</p>
+</li>
+<li>
+<p>
+Created distinct list definitions for each numbered list style to
+ allow nesting of all styles.
+</p>
+</li>
+<li>
+<p>
+Roman numbers in numbered lists are followed by a closing
+ parenthesis instead of a period to eliminate <em>i</em>, <em>v</em>, <em>x</em> item
+ ambiguity with respect to alpha numbered list items.
+</p>
+</li>
+<li>
+<p>
+Added <code>**</code>, <code>***</code>, <code>****</code>, <code>*****</code>
+ bulleted lists.
+</p>
+</li>
+<li>
+<p>
+Added <code>...</code>, <code>....</code>, <code>.....</code> implicit numbered
+ lists.
+</p>
+</li>
+<li>
+<p>
+Added <code>:::</code>, <code>::::</code> labeled lists.
+</p>
+</li>
+<li>
+<p>
+Updated User Guide for new list syntaxes.
+</p>
+</li>
+<li>
+<p>
+Optimized paragraph and list termination detection with separate
+ precompiled regular expressions for performance and to prevent
+ reaching Python 100 named group limit.
+</p>
+</li>
+<li>
+<p>
+Updated Vim syntax highlighter for new list syntaxes.
+</p>
+</li>
+<li>
+<p>
+Allow <code>template::[]</code> macros in conf file entries sections (not just
+ in template sections).
+</p>
+</li>
+<li>
+<p>
+Dropped unused <code>[listdef-numbered2]</code> conf file sections.
+</p>
+</li>
+<li>
+<p>
+Renamed <em>ListBlock</em> to more appropriate <em>OpenBlock</em>.
+</p>
+</li>
+<li>
+<p>
+Implemented single-line versions of <code>ifdef::[]</code> and <code>ifndef::[]</code>
+ macros.
+</p>
+</li>
+<li>
+<p>
+<em>html4</em> backend styling:
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Underlined admonition captions.
+</p>
+</li>
+<li>
+<p>
+Added side border to Example Blocks.
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+<em>xhtml11</em> backend styling:
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Dropped right hand margin from all but quote and verse blocks.
+</p>
+</li>
+<li>
+<p>
+html4 backend: corrected over-sized width of caption in admonition
+ block.
+</p>
+</li>
+</ul></div>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Fixed broken numbered list nesting.
+</p>
+</li>
+</ul></div>
+<div class="sect2">
+<h3 id="_compatibility_issues">Compatibility issues</h3>
+<div class="paragraph"><p>The roman numbered list parenthesis syntax is incompatible with the
+potentially ambiguous roman period syntax introduced in 8.3.2.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_3_4_2009_01_20">Version 8.3.4 (2009-01-20)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+Implemented a title <em>float</em> style. A floating title (or bridgehead)
+ is rendered just like a normal section but is not formally
+ associated with a text body and is not part of the regular section
+ hierarchy so the normal ordering rules do not apply.
+</p>
+</li>
+<li>
+<p>
+Implemented inline comment macro so comment lines can now appear
+ inside block elements.
+</p>
+</li>
+<li>
+<p>
+Comment lines are sent to the output if the <em>showcomments</em> attribute
+ is defined (comment blocks are never sent to the output).
+</p>
+</li>
+<li>
+<p>
+Single quoting attribute values in <em>AttributeList</em> elements causes
+ them to be substituted like normal inline text (without single
+ quoting only attribute substitution is performed).
+</p>
+</li>
+<li>
+<p>
+Rewrote list item processing (was very crufty). List continuation
+ and list blocks now work as expected. Updated and clarified list
+ documentation in User Guide.
+</p>
+</li>
+<li>
+<p>
+The <em>revision</em> attribute now recognizes the RCS $Id$ marker format.
+</p>
+</li>
+<li>
+<p>
+An RCS $Id$ marker formatted revision line in the header does not
+ need to be preceded by an author line.
+</p>
+</li>
+<li>
+<p>
+If an RCS $Id$ formatted revision is specified and the author name
+ has not already been set then the author name in the $Id$ marker
+ will be used.
+</p>
+</li>
+<li>
+<p>
+Updated Gouichi Iisaka&#8217;s Graphviz filter to version 1.1.3.
+</p>
+</li>
+<li>
+<p>
+Added <em>autowidth</em> table attribute option for (X)HTML outputs.
+</p>
+</li>
+<li>
+<p>
+DocBook backend now puts <em>orgname</em> optional attribute in DocBook
+ header.
+</p>
+</li>
+<li>
+<p>
+Deprecated undocumented <em>companyname</em> attribute in favor of
+ DocBook&#8217;s <em>corpname</em>.
+</p>
+</li>
+<li>
+<p>
+Removed explicit closing backslash from HTML4 self-closing tags to
+ comply with WC3 recommendation.
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Fixed 8.3.3 regression whereby adjacent lists with the same syntax
+ but different list styles were incorrectly treated as a single list.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_3_3_2009_01_02">Version 8.3.3 (2009-01-02)</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>This release supersedes 8.3.2.</p></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+The broken and confusing numeration and numeration2 numbered list
+ attributes have been dropped, use the style attribute instead.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_3_2_2009_01_01">Version 8.3.2 (2009-01-01)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+Added Gouichi Iisaka&#8217;s Graphviz filter to distribution.
+</p>
+</li>
+<li>
+<p>
+The <em>SidebarBlock</em> element can now be rendered with an <em>abstract</em>
+ style.
+</p>
+</li>
+<li>
+<p>
+Reorganized filters into a separate subdirectory for each filter.
+</p>
+</li>
+<li>
+<p>
+Updated <code>Makefile.in</code> and <code>MANIFEST</code> files to reflect new filters
+ organization.
+</p>
+</li>
+<li>
+<p>
+Added <em>listing</em> style to <em>LiteralBlock</em> element so listings with
+ nested listing blocks can be rendered as a listing block.
+</p>
+</li>
+<li>
+<p>
+Changed example <em>code</em> filter to use preferred <em>ListingBlock</em> syntax
+ (the old <code>~</code> delimited filter syntax is no longer used).
+</p>
+</li>
+<li>
+<p>
+Implemented <em>enumeration</em> and <em>enumeration2</em> numbered list
+ attributes for specifying the list numbering style (<em>arabic</em>,
+ <em>loweralpha</em>, <em>upperalpha</em>, <em>lowerroman</em> and <em>upperroman</em>).
+</p>
+</li>
+<li>
+<p>
+AsciiDoc now recognizes <em>upperalpha</em>, <em>lowerroman</em> and <em>upperroman</em>
+ numbers in <code>listdef-numbered2</code> numbered lists and sets the number
+ style based on the style of the first numbered list item
+ (alternative to setting <em>enumeration2</em> attribute).
+</p>
+</li>
+<li>
+<p>
+Updated <code>formatlistpat</code> definition in <code>.vimrc</code> example in User
+ Guide.
+</p>
+</li>
+<li>
+<p>
+You can now backslash escape system block macros.
+</p>
+</li>
+<li>
+<p>
+Added <em>Pychart</em> FAQ.
+</p>
+</li>
+<li>
+<p>
+Drop paragraph <em>text</em> and list <em>text</em>, <em>index</em> and <em>label</em> match
+ groups from attributes&#8201;&#8212;&#8201;they are included in the element&#8217;s text
+ and we don&#8217;t want them processed a second time as attributes.
+</p>
+</li>
+<li>
+<p>
+Changed comment line block macro to a passthrough block macro to
+ ensure no substitutions.
+</p>
+</li>
+<li>
+<p>
+A <em>subslist</em> no longer has to be appended to a <em>PassthroughBlock</em>
+ macro definition, if omitted no substitutions are performed.
+</p>
+</li>
+<li>
+<p>
+Code tidy up: replaced deprecated <code>&lt;&gt;</code> operator with <code>!=</code>.
+</p>
+</li>
+<li>
+<p>
+Removed unused linuxdoc code.
+</p>
+</li>
+<li>
+<p>
+Code tidy ups: dropped old types module reference; replaced
+ <code>has_key()</code> with preferred <code>in</code> operator.
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Old syntax source highlight filter regression: special characters
+ where not escaped in DocBook outputs.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_3_1_2008_12_14">Version 8.3.1 (2008-12-14)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+Replaced the <code>install.sh</code> script with Ben Walton&#8217;s updated autoconf
+ scripts&#8201;&#8212;&#8201;see <a href="https://asciidoc.org/INSTALL.html">INSTALL</a> for details.
+</p>
+</li>
+<li>
+<p>
+Added a generalized <em>AttributeEntry</em> syntax to allow arbitrary
+ configuration file entries to be set from within an AsciiDoc
+ document (suggested by Henrik Maier).
+</p>
+</li>
+<li>
+<p>
+Listing delimited blocks in DocBook outputs now support IDs; IDs of
+ titled Listing and Literal delimited blocks have been moved to the
+ enclosing DocBook example tag (thanks to Vijay Kumar for this
+ patch).
+</p>
+</li>
+<li>
+<p>
+Replaced vertical typewriter apostrophe with punctuation apostrophe
+ (thanks to Noah Slater).
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Regression: Excluding double-quotes from unquoted attribute values
+ resulted in backward incompatibility, double-quotes in unquoted
+ attribute values has been reinstated.
+</p>
+</li>
+<li>
+<p>
+Regression: Text like <code>&amp;...;</code> was sometimes mistaken for an entity
+ reference&#8201;&#8212;&#8201;tightened up entity reference matching.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_3_0_2008_11_29">Version 8.3.0 (2008-11-29)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+<a href="https://asciidoc.org/newtables.html">AsciiDoc new tables</a> is a complete redesign
+ of the tables syntax and generation. The new syntax and features are
+ a huge improvement over the old tables. The old tables syntax has
+ been deprecated but is currently still processed.
+</p>
+</li>
+<li>
+<p>
+<a href="https://asciidoc.org/newlists.html">Lists can now be styled</a> like other block
+ elements. This allows a single list syntax for <em>glossary</em>, <em>qanda</em>
+ (Question and Answer) and <em>bibliography</em> lists instead of having to
+ remember a different syntax for each type.
+</p>
+</li>
+<li>
+<p>
+Inline passthroughs macros have been improved and block passthrough
+ macros added. Attribute substitution can be optionally specified
+ when the macro is called.
+</p>
+</li>
+<li>
+<p>
+The passthrough block has a fully transparent passthrough delimited
+ block block style called <em>pass</em>.
+</p>
+</li>
+<li>
+<p>
+The <em>asciimath</em> and <em>latexmath</em>
+ <a href="https://asciidoc.org/userguide.html#X77">passthrough macros</a> along with
+ <em>asciimath</em> and <em>latexmath</em> <a href="https://asciidoc.org/userguide.html#X76">passthrough
+ blocks</a> provide a (backend dependent) mechanism for rendering
+ mathematical formulas. There are <a href="https://asciidoc.org/latexmath.pdf">LaTeX Math</a>,
+ <a href="https://asciidoc.org/asciimathml.html">AsciiMathML</a> and
+ <a href="https://asciidoc.org/latexmathml.html">LaTeXMathML</a> examples on the AsciiDoc
+ website.
+</p>
+</li>
+<li>
+<p>
+Reimplemented and cleaned up filter processing based on a patch
+ submitted by Kelly Anderson. Uses the newer subprocess module
+ instead of the deprecated popen2 module. Now works in Win32 command
+ shell.
+</p>
+</li>
+<li>
+<p>
+Addition FAQs, more documentation updates.
+</p>
+</li>
+<li>
+<p>
+Arbitrary HTML/XML entities can be entered in AsciiDoc source.
+</p>
+</li>
+<li>
+<p>
+Did away with the need for the <code>shaded-literallayout.patch</code> (thanks
+ to Henrik Maier for this patch).
+</p>
+</li>
+<li>
+<p>
+Implemented <em>page break</em> block macro.
+</p>
+</li>
+<li>
+<p>
+Added <em>line breaks</em> and <em>ruler</em> processing instructions to DocBook
+ outputs (thanks to Henrik Maier for this patch).
+</p>
+</li>
+<li>
+<p>
+Added <em>deg</em> (degree) and <em>wj</em> (word joiner) entity attributes
+ (thanks to Henrik Maier).
+</p>
+</li>
+<li>
+<p>
+Tweaked DocBook <em>indexterm2</em> macro to avoid white space preceding
+ the term when used in table cells (thanks to Henrik Maier for this
+ patch).
+</p>
+</li>
+<li>
+<p>
+Title elements now process the <em>options</em> attribute like other block
+ elements.
+</p>
+</li>
+<li>
+<p>
+Added &#8216;single quoted&#8217; element.
+</p>
+</li>
+<li>
+<p>
+Spaces on both sides of a&#8201;&#8212;&#8201;em-dash are translated to thin space
+ characters.
+</p>
+</li>
+<li>
+<p>
+Improved detection and reporting of malformed attribute lists.
+</p>
+</li>
+<li>
+<p>
+The list <em>compact</em> style is now a list option.
+</p>
+</li>
+<li>
+<p>
+Added <em>strong</em> labeled list option which makes the labels bold (HTML
+ outputs only).
+</p>
+</li>
+<li>
+<p>
+Dropped unsupported <em>linuxdoc</em> backend.
+</p>
+</li>
+<li>
+<p>
+Dropped deprecated <em>xhtml-deprecated</em> (version 6) backend.
+</p>
+</li>
+<li>
+<p>
+Added <em>breakable</em> and <em>unbreakable</em> attribute options to tables to
+ control table breaking across page boundaries (DocBook XSL/FO
+ outputs). By and in collaboration with Henrik Maier.
+</p>
+</li>
+<li>
+<p>
+Added <em>pgwide</em> attribute option to tables to table, block image,
+ horizontal labeled lists. Specifies that the element should be
+ rendered across the full text width of the page irrespective of the
+ current indentation (DocBook XSL/FO outputs). Thanks to Henrik Maier
+ for this patch.
+</p>
+</li>
+<li>
+<p>
+Vim syntax highlighter: spaces before/after bullets no longer
+ highlighted (which is ugly if using a theme that highlights with
+ underlines). Thanks to Donald Chai for this patch.
+</p>
+</li>
+<li>
+<p>
+Added <code>a2x(1)</code> <code>--fop</code> option.
+</p>
+</li>
+<li>
+<p>
+Added <code>a2x(1)</code> <code>--no-xmllint</code> option.
+</p>
+</li>
+<li>
+<p>
+Highlighted labelled list terms with the navy color in XHTML
+ outputs.
+</p>
+</li>
+<li>
+<p>
+Use <code>w3m(1)</code> as default <code>a2x(1)</code> text format generator (fallback to
+ <code>lynx(1)</code>).
+</p>
+</li>
+<li>
+<p>
+Changed callout formats in html4 and xhtml11 outputs to angle
+ brackets to match source highlighter rendering.
+</p>
+</li>
+<li>
+<p>
+Macros now inject user defined <code>&lt;optionname&gt;-option</code> attributes into
+ markup.
+</p>
+</li>
+<li>
+<p>
+Added IRC URLs to AsciiDoc inline macros.
+</p>
+</li>
+<li>
+<p>
+Added <code>depth</code> attribute to <code>include::[]</code> system macro.
+</p>
+</li>
+<li>
+<p>
+Added <em>footnoteref</em> inline macro.
+</p>
+</li>
+<li>
+<p>
+Added <em>stylesheet</em> XHTML attribute to specify additional custom CSS
+ stylesheet.
+</p>
+</li>
+<li>
+<p>
+If a paragraph style is specified it will be added to the XHTML
+ <em>class</em> attribute and DocBook <em>role</em> attribute.
+</p>
+</li>
+<li>
+<p>
+Replacements can be set in a document using the reserved
+ AttributeEntry name <em>replacement</em>.
+</p>
+</li>
+<li>
+<p>
+The prefix for auto-generated section name IDs can be set with the
+ <em>idprefix</em> attribute.
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Escaped quote skipped over leading and trailing quote instead of
+ just the leading quote.
+</p>
+</li>
+<li>
+<p>
+Fixed bug that was causing false negative safe mode warnings (patch
+ submitted by Julien Palmas).
+</p>
+</li>
+<li>
+<p>
+Placed priority of AttributeEntry, AttributeList and BlockTitle
+ above Title. This ensures an AttributeEntry, AttributeList or
+ BlockTitle followed by a same length leading ListingBlock delimiter
+ is not mistaken for a two-line title.
+</p>
+</li>
+<li>
+<p>
+Vim syntax highlighter: fixed multi-line quoted text.
+</p>
+</li>
+<li>
+<p>
+Contstrained quote termination after non-space character enforced.
+</p>
+</li>
+<li>
+<p>
+Vim syntax highlighter: unterminated quoted text is no longer
+ highlighted.
+</p>
+</li>
+<li>
+<p>
+Vim syntax highlighter: passthroughs now exactly match AsciiDoc
+ semantics.
+</p>
+</li>
+<li>
+<p>
+Vim syntax highlighter: escaped quoted text, attribute references
+ and inline macros are not highlighted.
+</p>
+</li>
+<li>
+<p>
+Vim syntax highlighter: TODO&#8217;s highlighted in CommentBlocks (thanks
+ to Scott Wall); non-greedy $$...$$.
+</p>
+</li>
+<li>
+<p>
+Vim syntax highlighter: Comment lines mistaken for vertical list
+ labels (thanks to Scott Wall).
+</p>
+</li>
+<li>
+<p>
+Vim syntax highlighter: Single unmatched $$ mistakenly highlighted
+ remaining text (patch contributed by Scott Wall).
+</p>
+</li>
+<li>
+<p>
+Callouts now work in source highlighted listing generated by
+ dblatex.
+</p>
+</li>
+<li>
+<p>
+Fixed exception that occurred if undefined attribute was present in
+ filter command.
+</p>
+</li>
+<li>
+<p>
+AttributeList block can now follow a paragraph without intervening
+ blank line.
+</p>
+</li>
+<li>
+<p>
+The include macro tabsize attribute is no longer propagated to
+ nested includes.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><div class="title">Omissions</div><p>The following features were implemented but then but removed from this
+release:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<em>pi</em>, <em>cdata</em> and <em>comment</em> passthrough macros and passthrough block
+ styles (creeping featurism, use <em>pass</em> macros instead).
+</p>
+</li>
+<li>
+<p>
+Generic <em>tag</em> inline macro (creeping featurism, use <em>pass</em> macros
+ instead).
+</p>
+</li>
+</ul></div>
+<div class="sect2">
+<h3 id="X1">Compatibility issues</h3>
+<div class="paragraph"><p>Version 8.3.0 has a number of backward incompatibilities with respect
+to the previous 8.2.7 release:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+The old table syntax is still processed but a <em>DEPRECATED</em> warning
+ is issued.
+</p>
+</li>
+<li>
+<p>
+Entity references have to be escaped with a backslash.
+</p>
+</li>
+<li>
+<p>
+You have to explicitly precede horizontal style labeled lists with
+ the <code>[horizontal]</code> style attribute&#8201;&#8212;&#8201;by default all labeled lists
+ are rendered vertically.
+</p>
+</li>
+<li>
+<p>
+The list <em>compact</em> style has been dropped and is now a list option
+ (use <code>options="compact"</code> in attribute lists).
+</p>
+</li>
+<li>
+<p>
+AsciiDoc version 6 sytnax no longer supported.
+</p>
+</li>
+<li>
+<p>
+Linuxdoc been removed from the distribution.
+</p>
+</li>
+<li>
+<p>
+The unsupported experimental <em>latex</em> backend has not been tested on
+ this release.
+</p>
+</li>
+<li>
+<p>
+The introduction of single-quote quoting requires that double-quote
+ quoting is escaped with two backslashes.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_2_7_2008_07_04">Version 8.2.7 (2008-07-04)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+Added <code>dvi</code>, <code>ps</code> and <code>tex</code> output format options to <code>a2x(1)</code>.
+</p>
+</li>
+<li>
+<p>
+Added <code>--dblatex</code> option to <code>a2x(1)</code> so <code>dblatex(1)</code> can be used to
+ generate PDFs.
+</p>
+</li>
+<li>
+<p>
+Added custom <code>dblatex(1)</code> configuration files (in distribution
+ <code>./dblatex</code> directory) that are used by <code>a2x(1)</code>.
+</p>
+</li>
+<li>
+<p>
+<code>dblatex(1)</code> is now used to generate the distributed PDF version of
+ the AsciiDoc User Guide.
+</p>
+</li>
+<li>
+<p>
+If you don&#8217;t need a customized the link caption you can enter the
+ <em>http</em>, <em>https</em>, <em>ftp</em>, <em>file</em> URLs and email addresses without any
+ special macro syntax&#8201;&#8212;&#8201;you get the links by just cutting and
+ pasting URLs and emails addresses. This also makes it easier to open
+ links directly form AsciiDoc source ( most editors allow you to open
+ URLs directly). The Vim syntax highlighter has been updated to
+ reflect these changes.
+</p>
+</li>
+<li>
+<p>
+Highlighted source code paragraphs have been implemented&#8201;&#8212;&#8201;it&#8217;s a
+ much more convenient way to enter short code examples (see
+ <a href="http://asciidoc.org/source-highlight-filter.html">the
+ online docs</a>).
+</p>
+</li>
+<li>
+<p>
+The source highlighter and music filter syntax has changed&#8201;&#8212;&#8201;they
+ now used the ListingBlock syntax customized with <em>source</em> and
+ <em>music</em> style attribute values. This follows the Paragraph styling
+ convention introduced by the source paragraph (previous item) and is
+ easier to read. The old syntax still works but has been deprecated.
+</p>
+</li>
+<li>
+<p>
+QuoteBlocks now have a <em>verse</em> style&#8201;&#8212;&#8201;you no longer have to nest a
+ <em>verse</em> LiteralBlock inside a QuoteBlock for verses. The <em>verse</em>
+ style on the LiteralBlock has been deprecated (still works though)
+ and the <em>style</em> attribute is positional attribute 1, pushing
+ <em>attribution</em> and <em>citetitle</em> attributes to the right (you&#8217;ll need
+ to insert a <em>quote</em> attribute into your existing QuoteBlocks).
+</p>
+</li>
+<li>
+<p>
+It is no up to the DocBook processor to highlight source code syntax
+ in <code>&lt;programlisting&gt;</code> elements rather than GNU Highlighter&#8201;&#8212;&#8201;this
+ is the correct way to handle it, plus <code>dblatex(1)</code> makes a much
+ better job.
+</p>
+</li>
+<li>
+<p>
+<em>scaledwidth</em> and <em>align</em> attributes have been added to the <em>image</em>
+ macro. They apply to DocBook outputs (specifically for PDF
+ documents). <em>scaledwidth</em> sets the image size as a percent of the
+ available page width; <em>align</em> applies <em>left</em>, <em>center</em> or <em>right</em>
+ horizontal image justification.
+</p>
+</li>
+<li>
+<p>
+Added <code>a2x(1)</code> <code>--fop-opts=FOP_OPTS</code> option (patch submitted by Miklos
+ Vajna).
+</p>
+</li>
+<li>
+<p>
+Added <code>a2x(1)</code> <code>--dblatex-opts=DBLATEX_OPTS</code> option.
+</p>
+</li>
+<li>
+<p>
+Added Mikhail Yakshin&#8217;s FOP 0.95 patch which fixes a long-standing
+ <code>fo.xsl</code> problem and allows PDF&#8217;s to be generated with FOP 0.95
+ (previously had to use FOP 0.20.5).
+</p>
+</li>
+<li>
+<p>
+The User Guide has been updated and outdated FOP configuration and
+ installation sections removed.
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Fixed <code>stylesheets/xhtml11-manpage.css</code> not being included when
+ <em>linkcss</em> attribute was used.
+</p>
+</li>
+<li>
+<p>
+Configuration file <code>*-style</code> attributes are now dumped correctly.
+</p>
+</li>
+<li>
+<p>
+Fixed <em>FAILED: malformed section entry</em> LaTeX backend error.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>See the also the <a href="https://sharesource.org/hg/asciidoc/">AsciiDoc
+repository changelog</a>.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_2_6_2008_04_29">Version 8.2.6 (2008-04-29)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+Enhancements to the Vim AsciiDoc syntax highlighter, for example,
+ quoted text is now highlighted in titles and macro captions.
+</p>
+</li>
+<li>
+<p>
+If you define the <code>data-uri</code> intrinsic attribute images referenced
+ by <em>image</em> macros will be embedded in XHTML using the
+ <a href="http://en.wikipedia.org/wiki/Data:_URI_scheme">data: URI scheme</a>.
+ <strong>NOTE</strong>: Microsoft browser support for the <em>data: URI scheme</em> is
+ currently limited to MSIE 8 beta 1.
+</p>
+</li>
+<li>
+<p>
+Added <code>toc-title</code> attribute to allow custom table of contents
+ titles.
+</p>
+</li>
+<li>
+<p>
+Added references to Alex Efros&#8217;s AsciiDoc Cheatsheet to AsciiDoc
+ website.
+</p>
+</li>
+<li>
+<p>
+<code>asciidoc(1)</code> and <code>a2x(1)</code> man pages formatted to conform to
+ <code>man-pages(7)</code> recommendations.
+</p>
+</li>
+<li>
+<p>
+Old code-filter syntax (pre-8.1.0) is no longer recognized so that
+ malformed two-line level 2 titles are no longer confused with
+ <em>code-filter</em> block delimiters.
+</p>
+</li>
+<li>
+<p>
+Added &#8594; &#8592; &#8658; &#8656; arrow replacements from the Arrows block of
+ Unicode.
+</p>
+</li>
+<li>
+<p>
+Added DocBook refentry lang attribute&#8201;&#8212;&#8201;patch contributed by
+ VMiklos.
+</p>
+</li>
+<li>
+<p>
+AttributeEntry names can now be numeric (&#8220;named macro targets&#8221;).
+</p>
+</li>
+<li>
+<p>
+Hide Table of Contents title if Table of Contents empty&#8201;&#8212;&#8201;patch
+ contributed by Alex Efros.
+</p>
+</li>
+<li>
+<p>
+Various XHTML CSS tweaks.
+</p>
+</li>
+<li>
+<p>
+Code cleanup:
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Replaced <code>realpath()</code> with Python 2.2 <code>os.path.realpath()</code> library
+ function.
+</p>
+</li>
+<li>
+<p>
+Replaced old string library functions with string methods.
+</p>
+</li>
+<li>
+<p>
+Use file generators instead of <code>readlines()</code>.
+</p>
+</li>
+<li>
+<p>
+Renamed entities that shadowed builtins.
+</p>
+</li>
+<li>
+<p>
+Standardized string quoting.
+</p>
+</li>
+<li>
+<p>
+Dropped <code>readlines()</code> function.
+</p>
+</li>
+</ul></div>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Fixed broken CSS for decimal ordered lists nested in alpha ordered
+ list, thanks to Alex Efros.
+</p>
+</li>
+<li>
+<p>
+A missing closing block delimiter now reports the opening delimiter
+ line number instead of the end of file line number.
+</p>
+</li>
+<li>
+<p>
+Fixed an error generated by the asciidoc <code>-e</code> option when there are
+ no block definitions&#8201;&#8212;&#8201;patch contributed by Alejandro Mery.
+</p>
+</li>
+<li>
+<p>
+Handle both <code>\r\n</code> (as well as <code>\n</code>) line separators that may be
+ returned by <code>{sys}</code> attribute evaluation.
+</p>
+</li>
+<li>
+<p>
+Numbered attribute names no longer interfere with positional
+ attribute list values.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_2_5_2007_11_18">Version 8.2.5 (2007-11-18)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Fixed exception thrown by illegal command-line arguments.
+</p>
+</li>
+<li>
+<p>
+Rolled back the <em>with</em> warning bug fix introduced in 8.2.4&#8201;&#8212;&#8201;it was
+ incompatible with Python &lt;2.5.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_2_4_2007_11_10">Version 8.2.4 (2007-11-10)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+You can now use the <code>lang</code> attribute to set the DocBook language
+ attribute.
+</p>
+</li>
+<li>
+<p>
+Attribute values can now contain attribute references.
+</p>
+</li>
+<li>
+<p>
+If the <code>lang</code> attribute is defined then configuration files named
+ like <code>lang-&lt;lang&gt;.conf</code> will be loaded automatically.
+</p>
+</li>
+<li>
+<p>
+The help file name <code>help-&lt;lang&gt;.conf</code> is based on the AsciiDoc
+ <code>lang</code> attribute, defaults to <code>help.conf</code> (English).
+</p>
+</li>
+<li>
+<p>
+Admonition, figure and table captions have been factored into a
+ predefined set of <code>caption_*</code> attributes. They only apply to
+ directly generated (X)HTML outputs (DocBook stylesheets generate
+ their own language specific captions based on the <code>lang</code> attribute).
+</p>
+</li>
+<li>
+<p>
+Dropped platform dependent <code>doc/asciidoc.chm</code> file from
+ distribution documentation formats.
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+The spurious warning <em>with will become a reserved keyword
+ in Python 2.6</em> has been suppressed.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_2_3_2007_09_12">Version 8.2.3 (2007-09-12)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+Added VMiklos&#8217;s <em>permalink</em> patch for auto-generated section IDs
+ (enabled by default by the <code>sectids</code> attribute).
+</p>
+</li>
+<li>
+<p>
+Added <a href="http://asciidoc.org/faq.html">FAQ</a> to website.
+</p>
+</li>
+<li>
+<p>
+Changed format of {localdate} attribute to ISO 8601 (<code>%Y-%m-%d</code>).
+</p>
+</li>
+<li>
+<p>
+Added <code>abc2ly --beams=None</code> option to make <code>music2png.py</code> conform to
+ ABC&#8217;s notion of beams.
+</p>
+</li>
+<li>
+<p>
+XHTML level 2 section headings are now styled with an underlining
+ border.
+</p>
+</li>
+<li>
+<p>
+XHTML links to AsciiDoc title elements are now implemented with
+ title ID attributes (previously separate <code>&lt;a&gt;</code> element targets were
+ generated.
+</p>
+</li>
+<li>
+<p>
+Multi-word first, middle and last names can be entered in the header
+ author line using the underscore as a word separator.
+</p>
+</li>
+<li>
+<p>
+The nested inline macros restriction has now been lifted, for
+ example you can now include links and inline images inside
+ footnotes.
+</p>
+</li>
+<li>
+<p>
+Help topic names can be shortened (so long as they are not
+ ambiguous). For example <code>asciidoc -hm</code> will print the AsciiDoc man
+ page.
+</p>
+</li>
+<li>
+<p>
+Added <code>{two_colons}</code> and <code>{two_semicolons}</code> attributes for
+ escaping labeled list ambiguity.
+</p>
+</li>
+<li>
+<p>
+If quirks mode is disabled the XHTML Mime Type is set to the
+ recommended <code>application/xhtml+xml</code> (rather than <code>text/html</code>).
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Author information is now correctly set when using attribute entries
+ in the header instead of an author line (previously the <em>author</em>
+ attribute was not being calculated correctly and there were
+ attribute substitution problems).
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_2_2_2007_07_22">Version 8.2.2 (2007-07-22)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+<a href="http://www.maths.nottingham.ac.uk/personal/drw/lm.html">LaTeXMathML</a>
+ capability has been added for users who are more familiar with or
+ prefer LaTeX math formulas to the
+ <a href="http://asciidoc.org/asciimathml.html">ASCIIMathML</a>
+ notation (thanks to Arthur Sakellariou for the patch).
+</p>
+</li>
+<li>
+<p>
+The <em>source highlight</em> and <em>code</em> filters now process embedded
+ callouts.
+</p>
+</li>
+<li>
+<p>
+Added an <code>--attribute=ATTRIBUTE</code> option to <code>a2x(1)</code> for passing
+ attribute values to <code>asciidoc(1)</code> (a shortcut for <code>--asciidoc-opts="-a
+ ATTRIBUTE"</code>).
+</p>
+</li>
+<li>
+<p>
+Image block and inline macros prepend optional <code>{imagesdir}</code>
+ attribute to image link targets.
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Fixed an assertion error that occurred when a configuration file
+ containing an <code>include::[]</code> macro was loaded using the
+ <code>--conf-file</code> option and the configuration file name did not
+ include an explicit directory path&#8201;&#8212;&#8201;patch submitted by Dmitry
+ Potapov.
+</p>
+</li>
+<li>
+<p>
+Asciidoc titles are only converted to lower case if all characters
+ are upper case otherwise case is left unchanged&#8201;&#8212;&#8201;patch submitted
+ by Dmitry Potapov.
+</p>
+</li>
+<li>
+<p>
+Added a missing check that input is not stdin before loading
+ configuration files from the document directory&#8201;&#8212;&#8201;patch submitted
+ by Dmitry Potapov.
+</p>
+</li>
+<li>
+<p>
+Attribute list items must evaluate to strings, numbers or None
+ (previously it was possible to evaluate to other object types which
+ resulted in surprising attribute values).
+</p>
+</li>
+<li>
+<p>
+If an AsciiDoc document has no title an empty XHTML 1.1 <em>title</em>
+ element is created&#8201;&#8212;&#8201;previously the <em>title</em> element was dropped
+ which resulted in invalid XHTML 1.1.
+</p>
+</li>
+<li>
+<p>
+The Vim syntax file no longer highlights escaped callouts.
+</p>
+</li>
+<li>
+<p>
+The Vim syntax highlighter now correctly highlights Double-dollar
+ passthroughs when they enclose dollar delimited ASCIIMathML and
+ LaTeXMathML formulas.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_2_1_2007_04_06">Version 8.2.1 (2007-04-06)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+A number of improvements have been made to the Vim syntax
+ highlighter, for example the word C++ is no longer mistaken for the
+ start of an unconstrained monospace quote.
+</p>
+</li>
+<li>
+<p>
+Labeled list definitions have been tightened&#8201;&#8212;&#8201;a list label can no
+ longer containing trailing spaces. The following example is no
+ longer recognized as a valid list label:
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+Lorum ipsum
+</dt>
+<dd>
+<div class="paragraph"><p>This change implements the originally intended behavior (as per the
+AsciiDoc documentation and examples) so there should be very few
+compatibility issues.</p></div>
+</dd>
+</dl></div>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_2_0_2007_04_04">Version 8.2.0 (2007-04-04)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+A Vim syntax file is now included in the AsciiDoc distribution
+ (inspired by Felix Obenhuber&#8217;s <code>asciidoc.vim</code> script). You can find
+ it (along with a Vim filetype detection script in the distribution
+ <code>./vim/</code> directory (the scripts are installed automatically by the
+ AsciiDoc installer <code>./install.sh</code>). See <em>Appendix J</em> of the
+ <em>AsciiDoc User Guide</em> for details.
+</p>
+</li>
+<li>
+<p>
+Added <em>toclevel</em> attribute (1..4) which sets the number of title
+ levels reported in the table of contents. Defaults to 2 and must be
+ used with the <em>toc</em> attribute. Example usage:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a toc -a toclevels=3 doc/asciidoc.txt</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Added a <code>listindex</code> attribute which is the current list item index
+ (1..). If this attribute appears outside a list its value is the
+ number of items in the most recently closed list.
+</p>
+</li>
+<li>
+<p>
+The single line titles syntax now accepts trailing suffixes&#8201;&#8212;&#8201;this
+ syntax matches the title line syntax of a number of popular Wiki
+ markups.
+</p>
+</li>
+<li>
+<p>
+If a QuoteBlock has no attribution or citetitle then the DocBook
+ <code>&lt;attribution&gt;</code> element is not generated (previously generated empty
+ <code>&lt;attribution&gt;</code> element).
+</p>
+</li>
+<li>
+<p>
+If the text of a labeled list item is blank then no <code>texttag</code> is
+ written.
+</p>
+</li>
+<li>
+<p>
+An end of line backslash performs line continuation for horizontal
+ labeled list items.
+</p>
+</li>
+<li>
+<p>
+The Revision line now accommodates Subversion <code>$Id</code> markers (in
+ addition to CVS and RCS markers). Thanks to Tiago Sturmer Daitx for
+ this patch.
+</p>
+</li>
+<li>
+<p>
+Implemented <code>a2x(1)</code> option <code>--skip-asciidoc</code> which allows <code>a2x(1)</code>
+ to convert DocBook XML files not derived from AsciiDoc sources.
+</p>
+</li>
+<li>
+<p>
+If <code>a2x(1) --doctype</code> option is not specified it defaults to
+ <code>manpage</code> if <code>--format=manpage</code> else defaults to <code>article</code>
+ (previously <code>--doctype</code> always defaulted to <code>article</code>).
+</p>
+</li>
+<li>
+<p>
+Added an <em>External Resources</em> section to the
+ <a href="http://asciidoc.org/index.html">AsciiDoc home page</a>.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_1_0_2006_10_22">Version 8.1.0 (2006-10-22)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+AsciiDoc generated XHTML documents now display a table of contents
+ if the <em>toc</em> attribute is defined (JavaScript needs to be enabled
+ for this to work). Thanks to Troy Hanson who contributed this
+ feature based on a JavaScript by Mihai Bazon. I&#8217;ve simplified things
+ somewhat to match Docbook XSL Stylesheets style, see Troy&#8217;s
+ <a href="http://tpl.sourceforge.net/userguide.html">tpl User Guide</a> for a
+ fancier layout. Use the <code>-a toc -a numbered</code> command-line options to
+ produce a number table of contents.
+</p>
+</li>
+<li>
+<p>
+A <a href="http://asciidoc.org/music-filter.html">music filter</a>
+ is included in the distribution <code>./filters/</code> directory. It
+ translates music in <a href="http://lilypond.org/">LilyPond</a> or
+ <a href="http://abcnotation.org.uk/">ABC</a> notation to standard classical
+ notation in the form of a trimmed PNG image which is inserted into
+ the AsciiDoc output document.
+</p>
+</li>
+<li>
+<p>
+Incorporated Paul Melis&#8217;s Win32 filter patch. This workaround
+ allows AsciiDoc to run filters under Windows.
+</p>
+</li>
+<li>
+<p>
+Added <code>uninstall.sh</code> script.
+</p>
+</li>
+<li>
+<p>
+Rather than proliferate a confusing number of filter block
+ delimiters the following convention has been adopted: delimiters
+ belonging to DelimitedBlock filters distributed with AsciiDoc will
+ consist of a word (normally a noun identifying the block content)
+ followed by four or more tilde characters. This has necessitated
+ changing existing filter delimiters (the old delimiters still work
+ but may be deprecated in future versions):
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+The example code filter block delimiter is now the word <code>code</code>
+ followed by four or more tilde characters.
+</p>
+</li>
+<li>
+<p>
+The source highlight filter block delimiter is now the word
+ <code>source</code> followed by four or more tilde characters.
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+Conditionally redefined subscript and superscripting so they use the
+ old replacements mechanism when asciidoc7compatible is defined
+ rather than the asciidoc 8 default unconstrained quoting (patch for
+ affected files attached).
+</p>
+</li>
+<li>
+<p>
+Moved the source highlight filter from <code>./examples/</code> to <code>./filter/</code>.
+</p>
+</li>
+<li>
+<p>
+Added <code>{verbose}</code> intrinsic attribute (useful for passing verbose
+ flag to filters).
+</p>
+</li>
+<li>
+<p>
+Added <code>{outdir}</code> intrinsic attribute.
+</p>
+</li>
+<li>
+<p>
+Renamed <code>{docdir}</code> intrinsic attribute to unambiguous <code>{indir}</code>
+ (<code>{docdir}</code> still works but may be removed in future release).
+</p>
+</li>
+<li>
+<p>
+If <code>asciidoc(1)</code> outputs to stdout then intrinsic attribute
+ <code>{docname}</code> is extracted from the input file name.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_8_0_0_2006_08_27">Version 8.0.0 (2006-08-27)</h2>
+<div class="sectionbody">
+<div class="sidebarblock">
+<div class="content">
+<div class="paragraph"><p>This is a major release because changes to quoting and index entry
+handling may break existing documents (see <em>Additions and changes</em>
+below and <em>Appendix A: Migration Notes</em> in the AsciiDoc User Guide).</p></div>
+<div class="paragraph"><p>Please report any problems you encounter.</p></div>
+<div class="paragraph"><p><a href="mailto:srackham@gmail.com"><em>Stuart Rackham</em></a></p></div>
+</div></div>
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+Quoting can can occur within words (based on patch submitted by
+ Benjamin Klum). See the <em>Unconstrained Quotes</em> sub-section in the
+ User Guide.
+</p>
+</li>
+<li>
+<p>
+The underline and plus characters can be used as alternatives to the
+ existing apostrophe and backtick quote characters. They are arguably
+ better choices than the apostrophe and backtick as they are not
+ confused with punctuation.
+</p>
+</li>
+<li>
+<p>
+The syntax for index entry macros have have been deprecated from
+ <code>+...+</code> and <code>++...++</code> to <code>((...))</code> and <code>(((...)))</code> respectively.
+ Rationale:
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Bracketing is consistent other with <code>[[...]]</code> and <code>&lt;&lt;...&gt;&gt;</code>
+ reference macros.
+</p>
+</li>
+<li>
+<p>
+To easily confused with triple plus passthroughs.
+</p>
+</li>
+<li>
+<p>
+To make way for the new monospace quoting.
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+Superscripts and subscripts are implemented as constrained quotes so
+ they can now be escaped with a leading backslash and prefixed with
+ with an attribute list.
+</p>
+</li>
+<li>
+<p>
+An experimental LaTeX backend has been written by Benjamin Klum (a
+ number additions in this release are to accommodate the LaTeX
+ backend).
+</p>
+</li>
+<li>
+<p>
+<code>include</code> macro file names now expand environment variables and
+ tilde expansions.
+</p>
+</li>
+<li>
+<p>
+A configuration file <code>[quotes]</code> entry can be undefined by setting to
+ a blank value.
+</p>
+</li>
+<li>
+<p>
+Added <code>callto</code> inline macro for Skype <em>callto</em> links.
+</p>
+</li>
+<li>
+<p>
+Added <code>colnumber</code> attribute for table data markup.
+</p>
+</li>
+<li>
+<p>
+A leading comment block or comment lines are now skipped (previously
+ a document had to start with either attribute entries or a document
+ Title).
+</p>
+</li>
+<li>
+<p>
+Experimental <code>rows</code> attribute (number of source lines in table)
+ available in table markup templates (used by experimental LaTeX
+ backend).
+</p>
+</li>
+<li>
+<p>
+Included install shell script written by <a href="mailto:jlm@ofb.net">Jacob
+ Mandelson</a> for installing the tarball distribution.
+</p>
+</li>
+<li>
+<p>
+Added INSTALL documentation file.
+</p>
+</li>
+<li>
+<p>
+Added <em>replacements2</em> substitution options&#8201;&#8212;&#8201;a second replacements
+ section.
+</p>
+</li>
+<li>
+<p>
+Added the ability to redefine <em>normal</em> and <em>verbatim</em> substitutions
+ with <code>subsnormal</code> and <code>subsverbatim</code> entries in configuration file
+ <code>[miscellaneous]</code> section.
+</p>
+</li>
+<li>
+<p>
+By default <code>AttributeEntry</code> values are substituted for
+ <code>specialcharacters</code> and <code>attributes</code>, if you want a different
+ AttributeEntry substitution set the <code>attributeentry-subs</code> attribute.
+</p>
+</li>
+<li>
+<p>
+The <code>name</code> in <code>name=value</code> configuration file entries can now end
+ with a backslash, just escape the trailing backslash with a
+ backslash. For example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>abc\\=xyz</code></pre>
+</div></div>
+<div class="paragraph"><p>Results in <code>name=abc\</code> and <code>value=xyz</code>&#8201;&#8212;&#8201; previously this would have
+escaped the <code>=</code> character.</p></div>
+</li>
+<li>
+<p>
+A blank configuration file section deletes any preceding section
+ with the same name (applies to non-markup template sections).
+</p>
+</li>
+<li>
+<p>
+A command-line attribute value with a <code>@</code> suffix does not override
+ existing document and configuration file attributes (normally
+ command-line attributes have precedence over document and
+ configuration file attributes).
+</p>
+</li>
+<li>
+<p>
+<code>localtime</code> attribute is now encoded from the native system encoding
+ to the output encoding. Patch submitted by
+ <a href="mailto:m_pupil@yahoo.com.cn">FKtPp</a>&#8201;&#8212;&#8201;here&#8217;s his description of the
+ problem:
+</p>
+<div class="paragraph"><p>&#8220;I am a Chinese user of AsciiDoc and I find that when I use UTF-8
+(the default encoding) to write asciidoc documents in Windows platform
+the resulting html footer line will get screwed. It was caused by a
+localized tzname that was always encoded in the windows native
+encoding, which in my case is <em>cp936</em>.&#8221;</p></div>
+</li>
+<li>
+<p>
+<code>a2x(1)</code> can generate Open Document Text files using
+ <a href="http://open.comsultia.com/docbook2odf/">docbook2odf</a>. Currently
+ <code>docbook2odf(1)</code> only processes a subset of DocBook, unimplemented
+ elements are skipped.
+</p>
+</li>
+<li>
+<p>
+The <code>a2x(1)</code> format option defaults to <code>xhtml</code> (previously a format
+ had to be specified explicitly).
+</p>
+</li>
+<li>
+<p>
+The <code>-d, \--doctype=DOCTYPE</code> option has been added to <code>a2x(1)</code> which
+ is a shortcut for <code>--asciidoc-options="--doctype=DOCTYPE"</code>.
+</p>
+</li>
+<li>
+<p>
+Replaced <code>a2x(1)</code> <code>--no-icons</code> and <code>--no-copy</code> options with their
+ negated equivalents: <code>--icons</code> and <code>--copy</code> respectively. The
+ default behavior has also changed: copying and use of icons is
+ disabled by default. Rationale:
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+To make the default behavior more consistent since use of icons
+ and CSS stylesheets does not apply to all formats.
+</p>
+</li>
+<li>
+<p>
+To make the default behavior less surprising (the creation of icon
+ and stylesheet output files must now be explicit).
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+<code>a2x(1)</code> has been bumped from version 0.1.1 to version 1.0.0.
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Removed duplicate <code>./doc/a2x.1.txt</code> from distribution tarball.
+</p>
+</li>
+<li>
+<p>
+Documentation errata.
+</p>
+</li>
+<li>
+<p>
+Attribute replacement is no longer performed twice in Titles and
+ AttributeEntrys.
+</p>
+</li>
+<li>
+<p>
+<code>a2x(1)</code> skipped <code>asciidoc(1)</code> execution when rerun with different
+ <code>--asciidoc-options</code> options, it now always executes <code>asciidoc(1)</code>.
+ The problem was that previously <code>asciidoc(1)</code> was executed only if the
+ output file was missing or older than the source file.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_7_1_2_2006_03_07">Version 7.1.2 (2006-03-07)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+Support for
+ <a href="http://www1.chapman.edu/~jipsen/mathml/asciimath.html">ASCIIMathML</a>
+ has been added. See <em>Appendix I: ASCIIMathML Support</em> in the User
+ Guide and the examples at
+ <a href="http://asciidoc.org/asciimath.html">http://asciidoc.org/asciimath.html</a>.
+</p>
+</li>
+<li>
+<p>
+You can now prefix quoted text with inline attributes lists. You
+ can use this to set font size and color (XHTML and HTML outputs).
+</p>
+</li>
+<li>
+<p>
+Added <code>##...##</code> quoting&#8201;&#8212;&#8201;it does nothing&#8201;&#8212;&#8201;it&#8217;s purpose is to
+ allow inline attributes to be applied to normal text.
+</p>
+</li>
+<li>
+<p>
+An <em>inline passthrough</em> mechanism has been implemented.
+</p>
+</li>
+<li>
+<p>
+Configuration file comment lines can be escaped with a backslash&#8201;&#8212;&#8201; this is to allows the inclusion of configuration lines that start
+ with a hash character.
+</p>
+</li>
+<li>
+<p>
+The <code>scriptsdir</code> attribute can be used to specify the name of the
+ directory containing linked JavaScripts (see the
+ <a href="userguide.html#X33">User Guide</a> for details.
+</p>
+</li>
+<li>
+<p>
+The BackendBlock has been renamed PassthroughBlock for consistency
+ with the new inline passthrough naming.
+</p>
+</li>
+<li>
+<p>
+<code>a2x(1)</code> now works with the older <code>bash(1)</code> version 2.05b. Patch
+ submitted by <a href="mailto:francis@daoine.org">Francis Daly</a>.
+</p>
+</li>
+<li>
+<p>
+Content included by the <code>include1::[]</code> system macro is no longer
+ subject to attribute substitution so that ambiguities no longer
+ arise when used to include CSS or JavaScript files.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_7_1_1_2006_02_24">Version 7.1.1 (2006-02-24)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+The <code>caption</code> attribute can be used to customize admonition captions
+ as well as image, table and example block element title prefixes
+ (<code>xhtml11</code> and <code>html4</code> backends).
+</p>
+</li>
+<li>
+<p>
+You can now override the default icon image using the <code>icon</code>
+ attribute to specify the path of the linked image (xhtml11 and html4
+ backends only).
+</p>
+</li>
+<li>
+<p>
+The deprecated <code>imagesdir</code> attribute is no longer recognized (use
+ <code>iconsdir</code> instead).
+</p>
+</li>
+<li>
+<p>
+Added <em>Appendix H: Using AsciiDoc with non-English Languages</em> to the
+ AsciiDoc User Guide.
+</p>
+</li>
+<li>
+<p>
+Added <em>Admonition Icons and Captions</em> subsection to the User Guide
+ explaining how to customize Admonition elements.
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+<code>a2x(1)</code> failed when configuration files were installed in the
+ global <code>/etc/asciidoc/</code> directory&#8201;&#8212;&#8201;it was only searching the
+ directory containing the asciidoc executable (thanks to Christian
+ Wiese for finding and submitting a patch this bug).
+</p>
+</li>
+<li>
+<p>
+The html4 backend admonition caption now correctly displays the
+ admonition <code>caption</code> attribute (previously displayed the <code>style</code>
+ attribute).
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_7_1_0_2006_01_13">Version 7.1.0 (2006-01-13)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+<code>a2x(1)</code> toolchain wrapper utility. This overcomes the biggest
+ hurdle for new users which seems to be assembling and using a
+ working DocBook XML toolchain. With <code>a2x(1)</code> you can generate XHTML
+ (chunked and unchunked), PDF, man page, HTML Help and text file
+ outputs from an AsciiDoc input file with a single command. All you
+ need to install (in addition to AsciiDoc) is xsltproc(1), DocBook XSL
+ Stylesheets and optionally FOP (if you want PDF) or lynx(1) (if you
+ want text).
+</p>
+</li>
+<li>
+<p>
+Block titles can now start with any non-space character (previously
+ where not allowed to start with <code>.~-_</code> characters).
+</p>
+</li>
+<li>
+<p>
+<code>./stylesheets/docbook.css</code> renamed to
+ <code>./stylesheets/docbook-xsl.css</code> to clarify its function.
+</p>
+</li>
+<li>
+<p>
+Renamed <code>./docbook-xsl/manpages.xsl</code> to <code>./docbook-xsl/manpage.xsl</code>
+ for consistency.
+</p>
+</li>
+<li>
+<p>
+Admonition and navigation icons moved to <code>./images/icons/</code> to
+ clarify usage and conform with <code>a2x(1)</code> usage.
+</p>
+</li>
+<li>
+<p>
+Renamed xhtml11 intrinsic attribute <code>imagesdir</code> to <code>iconsdir</code> to
+ keep vocab consistent and changed default value to <code>./images/icons</code>
+ (previously <code>./images</code>). <code>imagesdir</code> attribute still accepted but
+ deprecated.
+</p>
+</li>
+<li>
+<p>
+Unused image files have been weeded out of the distribution.
+</p>
+</li>
+<li>
+<p>
+Packager notes (appendix B) have been updated to reflect the needs
+ of <code>a2x(1)</code>.
+</p>
+</li>
+</ul></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/important.png" alt="Important" />
+</td>
+<td class="content">The renaming of the xhtml11 backend <code>imagesdir</code> intrinsic
+attribute and it&#8217;s new default value introduces a backward
+compatibility issue: if you use the <code>icons</code> attribute you will need to
+either move your icons to the new default <code>./images/icons</code> location or
+include an <code>--attribute{nbsp}iconsdir="your_icons_path"</code> option in
+your asciidoc commands.</td>
+</tr></table>
+</div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Backslash line continuation is now observed in verbatim paragraphs.
+</p>
+</li>
+<li>
+<p>
+Fixed errors generated by example
+ <code>./examples/website/build-website.sh</code> script.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_7_0_4_2005_12_08">Version 7.0.4 (2005-12-08)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+Added ternary conditional attributes
+ <code>{&lt;name&gt;@&lt;regexp&gt;:&lt;value1&gt;[:&lt;value2&gt;]}</code> and
+ <code>{&lt;name&gt;$&lt;regexp&gt;:&lt;value1&gt;[:&lt;value2&gt;]}</code>.
+</p>
+</li>
+<li>
+<p>
+Safety violations now generate errors (they previously generated
+ warnings).
+</p>
+</li>
+<li>
+<p>
+<code>asciidoc(1)</code> now defaults to safe mode, consequently the
+ <code>[miscellaneous]</code> safe mode entry and <code>--safe</code> command-line option
+ are no longer necessary (though for backward compatibility
+ <code>asciidoc(1)</code> still accepts the <code>--safe</code> option).
+</p>
+</li>
+<li>
+<p>
+Backend Blocks are now flagged unsafe (they could be used to include
+ arbitrary and hence potentially unsafe output content).
+</p>
+</li>
+<li>
+<p>
+Filters are no longer considered unsafe. There&#8217;s not much point in
+ insisting on filter safety since the installation of an unsafe
+ filter would require the introduction of new or modified
+ configuration files&#8201;&#8212;&#8201;if your application configurations can be
+ compromised you&#8217;re in all sorts of trouble (safe mode protects
+ against unsafe input files not unsafe configuration). As with all
+ filters, before installing, you should verify that they can&#8217;t be
+ coerced into generating malicious output or exposing sensitive
+ information.
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Fixed a lot of glaring grammatical and factual errors in the User
+ Guide.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_7_0_3_2005_12_01">Version 7.0.3 (2005-12-01)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+Added <code>--safe</code> and <code>--unsafe</code> command-line options&#8201;&#8212;&#8201;AsciiDoc can
+ now be executed in a <em>safe mode</em> which disallows the execution of
+ arbitrary code or the inclusion of arbitrary files (see
+ <a href="userguide.html#X39">Appendix C in the AsciiDoc User Guide</a>).
+</p>
+</li>
+<li>
+<p>
+Included <a href="source-highlight-filter.html">source-highlight filter</a>
+ in the distribution <code>./examples/source-highlight-filter/</code> directory
+ (based on filter submitted by <a href="mailto:trolocsis@gmail.com">Ryan
+ Phillips</a>).
+</p>
+</li>
+<li>
+<p>
+Included the DocBook XSL Stylesheets 1.69.1 customizations used to
+ generate the distributed AsciiDoc documentation (read the
+ <code>asciidoc-docbook-xsl.txt</code> file in the distribution <code>./docbook-xsl/</code>
+ directory).
+</p>
+</li>
+<li>
+<p>
+AsciiDoc DocBook XSL Stylesheet drivers moved from <code>./doc/</code> to
+ <code>./docbook-xsl/</code>.
+</p>
+</li>
+<li>
+<p>
+Modified <code>./doc/manpages.xsl</code> so only URL content is displayed in
+ manpages.
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Explicitly set table CSS border style (<code>xhtml11</code> backend) to <code>solid</code>
+ because default border styles vary from browser to browser.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_7_0_2_2005_08_28">Version 7.0.2 (2005-08-28)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+There are now long versions of all AsciiDoc options.
+</p>
+</li>
+<li>
+<p>
+If the <code>--backend</code> is not specified it defaults to <code>xhtml11</code>.
+</p>
+</li>
+<li>
+<p>
+Added CSS simulated frames layout to the examples website (see
+ <code>./examples/website/layout2/README-website.txt</code>). This layout does
+ not work with IE6 and the original tables based layout is still the
+ default.
+</p>
+</li>
+<li>
+<p>
+Support page added to AsciiDoc website.
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Invalid options are now trapped gracefully.
+</p>
+</li>
+<li>
+<p>
+Documentation errata.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_7_0_1_2005_06_24">Version 7.0.1 (2005-06-24)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+Reverted to use of <code>strong</code>, <code>em</code>, <code>tt</code> XHTML tags&#8201;&#8212;&#8201;they&#8217;re more
+ obvious and no less correct than <code>span</code> tags, besides, the generated
+ file sizes are smaller (the <em>User Guide</em> was 11% smaller).
+</p>
+</li>
+<li>
+<p>
+Table title rendered with <code>caption</code> tag rather than a separate
+ <code>div</code>.
+</p>
+</li>
+<li>
+<p>
+The AsciiDoc <em>stylesdir</em> attribute (if specified) is now recognized
+ when searching for embedded stylesheets (previously only searched
+ default <code>./stylesheets</code> directory).
+</p>
+</li>
+<li>
+<p>
+Default charset encoding changed from ISO-8859-1 to UTF-8&#8201;&#8212;&#8201;it&#8217;s
+ less language specific and displays most common languages.
+</p>
+</li>
+<li>
+<p>
+<code>template::[]</code> macros now expand in all configuration file sections
+ previously only in markup template sections.
+</p>
+</li>
+<li>
+<p>
+Cleaned up example website layout CSS and configuration
+ (presentation has not been changed).
+</p>
+</li>
+<li>
+<p>
+Refactored <code>xhtml11.conf</code> configuration file.
+</p>
+</li>
+<li>
+<p>
+Set consistent and sensible permissions on distributed files.
+</p>
+</li>
+<li>
+<p>
+White space is now stripped from DSV formatted table cell data.
+</p>
+</li>
+<li>
+<p>
+<code>class="tableblock"</code> attribute added to tables generated by
+ <code>xhtml-deprecated-css.conf</code> to assist CSS.
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Illegal character set encoder (specified by the AsciiDoc <code>encoding</code>
+ attribute) and character data are trapped gracefully.
+</p>
+</li>
+<li>
+<p>
+AsciiDoc table <em>format</em> attribute in table attribute lists were not
+ recognized.
+</p>
+</li>
+<li>
+<p>
+The nested horizontal labeled list example in the <em>AsciiDoc User
+ Guide</em> has been dropped&#8201;&#8212;&#8201;it generated invalid DocBook markup.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_7_0_0_2005_06_06">Version 7.0.0 (2005-06-06)</h2>
+<div class="sectionbody">
+<div class="sidebarblock">
+<div class="content">
+<div class="paragraph"><p>This is a major release with many code and
+documentation changes.
+Please report any problems you encounter.</p></div>
+<div class="paragraph"><p><a href="mailto:srackham@gmail.com"><em>Stuart Rackham</em></a></p></div>
+</div></div>
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+A new <em>xhtml11</em> backend generates XHTML 1.1 with integrated CSS2
+ replacing the previous <em>xhtml</em>, <em>css</em>, and <em>css-embedded</em> backends.
+</p>
+</li>
+<li>
+<p>
+The CSS stylesheets have finally been rewritten.
+</p>
+</li>
+<li>
+<p>
+The <code>asciidoc(1)</code> command help now includes user
+ <a href="userguide.html#X36">customizable help</a> topics. When asciidoc is
+ invoked with the <code>--help</code> option the command argument is
+ interpreted as a help topic.
+</p>
+</li>
+<li>
+<p>
+The previous example website has been replaced by the actual
+ AsciiDoc website (see <code>./examples/website/</code>.
+</p>
+</li>
+<li>
+<p>
+XHTML generation options now controlled by the following attributes:
+ <em>badges</em>, <em>linkcss</em>, <em>icons</em>, <em>numbered</em>, <em>quirks</em>, <em>theme</em>,
+ <em>stylesdir</em>, <em>imagesdir</em> (see the <a href="userguide.html#X33">User
+ Guide</a> for details.
+</p>
+</li>
+<li>
+<p>
+By default HTML and XHTML are output as stand-alone documents (no
+ embedded CSS and no linked admonition icon images).
+</p>
+</li>
+<li>
+<p>
+Documents encoded with the UTF-8 Unicode character set are now
+ processed thanks to a patch supplied by
+ <a href="mailto:viktor@rbg.informatik.tu-darmstadt.de">Viktor Vasilev</a>.
+</p>
+</li>
+<li>
+<p>
+The <code>-a ^name</code> command-line syntax to undefine an attribute has been
+ deprecated in favor of the <code>-a name!</code> syntax.
+</p>
+</li>
+<li>
+<p>
+AttributeEntry syntax addition: <code>:name!:</code> to undefine <code>name</code> attribute.
+</p>
+</li>
+<li>
+<p>
+Added <code>template</code> system block macro to allow the inclusion of one
+ configuration file template section within another.
+</p>
+</li>
+<li>
+<p>
+A <em>verse</em> style attribute can now be applied to literal paragraphs
+ and blocks to reproduce line breaks and white space from the source
+ document.
+</p>
+</li>
+<li>
+<p>
+Replacements and Special Words can now be escaped with leading
+ backslashes.
+</p>
+</li>
+<li>
+<p>
+Replacements are now processed in configuration file order (previous
+ ordering was indeterminate).
+</p>
+</li>
+<li>
+<p>
+System macros can now be used in the base <code>asciidoc.conf</code>
+ configuration file.
+</p>
+</li>
+<li>
+<p>
+Deprecated features that emitted warnings in prior versions are no
+ longer tolerated.
+</p>
+</li>
+<li>
+<p>
+The <code>eval</code> system attribute expression evaluates to <code>False</code> the
+ attribute is undefined, if it evaluates to <code>True</code> the result is an
+ empty string.
+</p>
+</li>
+<li>
+<p>
+The Paragraph and DelimitedBlock <em>presubs</em> parameter can be aliased
+ as <em>subs</em>.
+</p>
+</li>
+<li>
+<p>
+Added <em>verbatim</em> substitutions option.
+</p>
+</li>
+<li>
+<p>
+Renamed <em>List Continuation Block</em> to <em>List Block</em> and renamed the
+ <em>listcontinuation</em> option to <em>list</em>.
+</p>
+</li>
+<li>
+<p>
+Deprecated <em>default</em> substitutions option (use <em>normal</em> instead).
+</p>
+</li>
+<li>
+<p>
+The <em>section-numbers</em> section numbering attribute has be renamed
+ <em>numbered</em>.
+</p>
+</li>
+<li>
+<p>
+Dropped the <em>#UNDER CONSTRUCTION#</em> block macro.
+</p>
+</li>
+<li>
+<p>
+Rewrote Paragraph and DelimitedBlock handlers adding a
+ <a href="userguide.html#X23">styles</a> configuration entry.
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Included files are no longer read inside conditionally excluded
+ content.
+</p>
+</li>
+<li>
+<p>
+Manpage command names containing dashes (in the manpage NAME
+ section) were misinterpreted as the spaced dash command name/purpose
+ separator. Bug report and patch supplied by
+ <a href="mailto:david@dgreaves.com">David Greaves</a>.
+</p>
+</li>
+<li>
+<p>
+Unexpected error following malformed author line error.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_6_0_3_2005_04_20">Version 6.0.3 (2005-04-20)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+Special characters are now substituted in AttributeEntry element
+ values.
+</p>
+</li>
+<li>
+<p>
+Spaced and unspaced em dashes are now recognized (previously only
+ spaced em dashes were recognized).
+</p>
+</li>
+<li>
+<p>
+Replaced the table <em>noborders</em> option with richer <em>frame</em> and <em>grid</em>
+ attributes.
+</p>
+</li>
+<li>
+<p>
+The <code>duplicate macro</code> warning message now only occurs when the
+ verbose (<code>-v</code>) option is enabled.
+</p>
+</li>
+<li>
+<p>
+Single lines starting with two forward slashes hard up against the
+ left margin are treated as comments and are not processed.
+</p>
+</li>
+<li>
+<p>
+Renamed <em>section</em> delimited block option to <em>sectionbody</em> to more
+ accurately reflect it&#8217;s role.
+</p>
+</li>
+<li>
+<p>
+Added a List Continuation block&#8201;&#8212;&#8201;a specialized delimited block
+ that is functionally equivalent to the List Item Continuation
+ feature except that the list contained within the block does not
+ require explicit <em>+</em> list item continuation lines.
+</p>
+</li>
+<li>
+<p>
+Dropped deprecated <code>&lt;u&gt;</code> tags from generated HTML.
+</p>
+</li>
+<li>
+<p>
+Literal Block delimiters must now consist of at least four points
+ (previously three) to avoid lone ellipsis ambiguity.
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Some system attribute evaluation failures caused unexpected
+ exceptions to occur.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_6_0_2_2005_03_30">Version 6.0.2 (2005-03-30)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+Three new <em>system</em> block macros have been added&#8201;&#8212;&#8201;<code>eval</code>, <code>sys</code> and
+ <code>sys2</code> which are the block macro equivalents to the same named
+ system attributes.
+</p>
+</li>
+<li>
+<p>
+<em>Intrinsic</em> macros have been renamed <em>system</em> macros along with
+ <em>action</em> attributes which have been renamed <em>system</em> attributes:
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+To reflect their common (though contextually different) behavior.
+</p>
+</li>
+<li>
+<p>
+To avoid confusion with <em>intrinsic attributes</em>.
+</p>
+</li>
+</ul></div>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Asciidoc now searches in <code>/etc/asciidoc/filters</code> for filters.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_6_0_1_2005_03_06">Version 6.0.1 (2005-03-06)</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+A global configuration file location <code>/etc/asciidoc</code> has been added
+ and is now processed before all other locations (patch supplied by
+ <a href="mailto:stone@debian.org">Fredrik Steen</a>).
+</p>
+</li>
+<li>
+<p>
+Recoded <code>tempfile.mktemp()</code> and other artifacts that are no longer
+ necessary or desirable (patches supplied by
+ <a href="mailto:stone@debian.org">Fredrik Steen</a>).
+</p>
+</li>
+<li>
+<p>
+Added BUGS file to the distribution.
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Illegal comment syntax in <code>css-embedded-stylesheet.conf</code> resulted in
+ illegal CSS in files generated by the <code>css-embedded</code> backend.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_6_0_0_2005_01_28">Version 6.0.0 (2005-01-28)</h2>
+<div class="sectionbody">
+<div class="sidebarblock">
+<div class="content">
+<div class="paragraph"><p>This release has had some fairly major code and
+documentation changes. Please report any problems
+you encounter.</p></div>
+<div class="paragraph"><p><a href="mailto:srackham@gmail.com"><em>Stuart Rackham</em></a></p></div>
+</div></div>
+<div class="paragraph"><p>A lot of new stuff. A new major version number&#8201;&#8212;&#8201;some regression
+incompatibility (hopefully mitigated by <em>deprecated</em> warnings).</p></div>
+<div class="paragraph"><p>Went mad trying to rein in the current feature anarchy&#8201;&#8212;&#8201;established
+a unified notion of document attributes. Attempted to introduce a
+consistent vocabulary&#8201;&#8212;&#8201;renamed many poorly or inconsistently named
+entities.</p></div>
+<div class="paragraph"><p>Actually, deprecated syntax is still processed correctly in almost all
+cases. One source of incompatibility that may arise if you have
+customized CSS stylesheets is the change of AsciiDoc CSS class names
+(see below). I guess the moral is if you&#8217;ve done a lot of
+configuration file customization and are happy with version 5 then you
+may want to stay put.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">This version requires Python 2.3 or better to run.</td>
+</tr></table>
+</div>
+<div class="ulist"><div class="title">Additions and changes</div><ul>
+<li>
+<p>
+<em>Glossary entries</em> have been renamed <em>attributes</em>. This eliminates
+ confusion with the accepted meaning of glossary.
+</p>
+</li>
+<li>
+<p>
+An <code>AttributeEntry</code> block element has been added so that document
+ attributes can be assigned from within an AsciiDoc document.
+</p>
+</li>
+<li>
+<p>
+The <code>AttributeList</code> block element has been added which is a more
+ general solution than the (now deprecated) DelimitedBlock arguments.
+</p>
+</li>
+<li>
+<p>
+An BlockId element has been added for setting block element anchor
+ (link target) IDs.
+</p>
+</li>
+<li>
+<p>
+Quoted text can now span multiple lines (thanks to James Bowlin for
+ this patch).
+</p>
+</li>
+<li>
+<p>
+Inline macros can now span multiple lines.
+</p>
+</li>
+<li>
+<p>
+&#8216;`double backtick / apostrophe&#8217;' quotes generate &#8220;curly quotes&#8221;.
+</p>
+</li>
+<li>
+<p>
+A warning is now emitted for out of order list item (applies to
+ explicitly enumerated numbered list items).
+</p>
+</li>
+<li>
+<p>
+Added <code>include</code> action attribute.
+</p>
+</li>
+<li>
+<p>
+A line of three or more apostrophes generates an HTML horizontal
+ ruler (<code>&lt;hr/&gt;</code> tag). You will get a warning if processed with
+ non-HTML backend.
+</p>
+</li>
+<li>
+<p>
+An <code>{imagesdir}</code> attribute specifies image file location for images
+ referenced in configuration files when generating HTML (the default
+ location is <code>images</code>).
+</p>
+</li>
+<li>
+<p>
+An <code>{stylesdir}</code> attribute specifies the location of CSS
+ stylesheets when generating styled HTML (the default location for
+ configured markup is <code>.</code>).
+</p>
+</li>
+<li>
+<p>
+The use of the (often inappropriately named) <code>{caption}</code> attribute
+ list entry has been deprecated, use <code>{0}</code> instead.
+</p>
+</li>
+<li>
+<p>
+New <em>ExampleBlock</em> delimited block along with associated variants
+ Note, Tip, Warning, Caution and Important.
+</p>
+</li>
+<li>
+<p>
+The <code>docbook.conf</code> file now facilitates the optional inclusion of a
+ DocBook revision history file.
+</p>
+</li>
+<li>
+<p>
+To better reflect their purpose the following block elements have
+ been renamed: <code>VerbatimBlock</code> to <code>ListingBlock</code>; <code>IndentedBlock</code> to
+ <code>LiteralBlock</code>; <code>IndentedParagraph</code> to <code>LiteralParagraph</code>;
+ <code>CustomBlock</code> to <code>BackendBlock</code>; <code>SimpleSection</code> to <code>SectionBody</code>.
+ Any corresponding CSS class names have also been changed which could
+ result in backward incompatibility in customized stylesheets.
+</p>
+</li>
+<li>
+<p>
+Swapped plain DocBook admonition icons for Jimmac&#8217;s DocBook icons
+ (<a href="http://jimmac.musichall.cz/ikony.php3">http://jimmac.musichall.cz/ikony.php3</a>). The original plain icons
+ have been moved to <code>./images/plain</code>.
+</p>
+</li>
+<li>
+<p>
+Renamed <code>html</code> backend to <code>xhtml</code> to better reflect it&#8217;s function
+ (former <code>html-4</code> backend renamed to <code>html</code>).
+</p>
+</li>
+<li>
+<p>
+A new inline anchor macro syntax <code>[[[&lt;id&gt;]]]</code> is available, it
+ displays <code>[&lt;id&gt;]</code> at the anchor location and is for anchoring
+ bibliography list entries.
+</p>
+</li>
+<li>
+<p>
+An optional <em>single-line titles</em> syntax can be used.
+</p>
+</li>
+<li>
+<p>
+Tweaks to distributed CSS stylesheets and FOP <code>fo.xsl</code> customization
+ file.
+</p>
+</li>
+<li>
+<p>
+<em>List Item Continuation</em> has been implemented which allows
+ additional block elements to be included in list items by separating
+ them from the preceding list item element with a line containing a
+ single plus character.
+</p>
+</li>
+<li>
+<p>
+A new <em>Horizontal Labeled List</em> list type has been added. Generates
+ two column list&#8201;&#8212;&#8201;the first column contains the list element
+ labels, the second contains the element text. Same syntax as
+ <code>Vertical Labeled Lists</code> except the double colon label suffix is
+ followed by the start of the list item text.
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Bug fixes</div><ul>
+<li>
+<p>
+Fixed broken backslash line continuation.
+</p>
+</li>
+<li>
+<p>
+Labeled list end tags were not undergoing attribute substitution.
+</p>
+</li>
+<li>
+<p>
+Documents without any author information now generate legitimate
+ DocBook (previously if the author line was not included in the
+ document header then an empty (illegal) DocBook <code>author</code> element was
+ generated).
+</p>
+</li>
+<li>
+<p>
+Multiple spaces in filter command arguments were replaced by a
+ single space. The <code>./examples/asciidoc2text/asciidoc2text.sh</code> script
+ now indents text correctly.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_5_1_1_2004_10_10">Version 5.1.1 (2004-10-10)</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><strong>15-December-2004: Interim update:</strong> Updated <code>asciidoc.py</code> to fix
+broken <code>join_lines</code> function&#8201;&#8212;&#8201;no other changes.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+PDF documentation is now produced from DocBook XML using XSLTLib and
+ FOP. Previously we processed DocBook SGML with <code>jw(1)</code> (which used
+ Dvips to convert DVI files to PDF). FOP has come a long way in the
+ last 12 months and produces very acceptable PDF under both Linux and
+ Windows.
+</p>
+</li>
+<li>
+<p>
+Sections detailing how to install and use the DocBook XSL
+ Stylesheets, xsltproc, FOP toolchain and the AsciiDoc XSLT drivers
+ have been added to the User Guide.
+</p>
+</li>
+<li>
+<p>
+The PDF output from the he example article template has been
+ included in the distribution (<code>./doc/article.pdf</code>).
+</p>
+</li>
+<li>
+<p>
+Special characters are emitted using decimal Unicode character codes
+ (previously used named character entities which cannot be assumed
+ included in non-HTML documents).
+</p>
+</li>
+<li>
+<p>
+Added registered trademark &#174; to <code>[replacements]</code>.
+</p>
+</li>
+<li>
+<p>
+CSS stylesheet tweaks.
+</p>
+</li>
+<li>
+<p>
+Admonitions (Note, Tip, Important, Warning, Caution) include icons
+ when generating css output.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_5_1_0_2004_09_18">Version 5.1.0 (2004-09-18)</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+Callouts have been implemented (see the <em>Callouts</em> section of the
+ AsciiDoc User Guide for details).
+</p>
+</li>
+<li>
+<p>
+Added XSL drivers for generating XHTML, chunked XHTML and HTML Help
+ from DocBook XML using XSL stylesheets and xsltproc(1).
+</p>
+</li>
+<li>
+<p>
+Added CSS stylesheet for HTML generated from DocBook XML using XSL
+ stylesheets.
+</p>
+</li>
+<li>
+<p>
+Distribution contains HTML Help formatted User Guide
+ (<code>./doc/asciidoc.chm</code>), the User Guide tells you how it&#8217;s generated.
+</p>
+</li>
+<li>
+<p>
+Images referred to by distributed stylesheets are now located in the
+ <code>./images</code> subdirectory (previously located in <code>.</code>).
+</p>
+</li>
+<li>
+<p>
+Filters path names are now handled properly under Cygwin.
+</p>
+</li>
+<li>
+<p>
+The usual documentation and examples additions, updates and
+ polishing.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_5_0_9_2004_09_09">Version 5.0.9 (2004-09-09)</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+The convention of using a <code>.asc</code> file extension for AsciiDoc files
+ has been dropped in favor of the familiar <code>.txt</code> extension. It makes
+ more sense in that AsciiDoc is a text presentation format and
+ because <code>.asc</code> clashed with the same extension used by other
+ applications. It&#8217;s only a naming convention&#8201;&#8212;&#8201;you don&#8217;t have to
+ switch if you don&#8217;t want to.
+</p>
+</li>
+<li>
+<p>
+Changed the subscript formatting character from underline to tilde
+ since underscores in file names are reasonably common (especially in
+ link and image macros).
+</p>
+</li>
+<li>
+<p>
+An alternative syntax for the index term inline macro has been
+ added: <code>++&lt;primary&gt;,&lt;secondary&gt;,&lt;tertiary&gt;++</code>.
+</p>
+</li>
+<li>
+<p>
+Index terms that have secondary and tertiary entries now
+ additionally generate separate index terms for the secondary and
+ tertiary entries.
+</p>
+</li>
+<li>
+<p>
+A <code>+&lt;primary&gt;+</code> index term inline macro has been added which
+ displays the term in the primary text flow.
+</p>
+</li>
+<li>
+<p>
+Added alternative variable list definition using double semi-colon
+ terminator as opposed to the standard double colon terminator so
+ variable lists can be nested to two levels.
+</p>
+</li>
+<li>
+<p>
+Footnotes now appear on a separate line in HTML and Linuxdoc
+ outputs.
+</p>
+</li>
+<li>
+<p>
+Python version compatibility is checked at startup.
+</p>
+</li>
+<li>
+<p>
+Preface and appendix section titles in multi-part Book documents are
+ meant to be out of sequence&#8201;&#8212;&#8201;warnings are no longer emitted when
+ outputting HTML.
+</p>
+</li>
+<li>
+<p>
+Empty section warnings have been replaced by error messages and are
+ emitted only if invalid markup would result.
+</p>
+</li>
+<li>
+<p>
+Missing macro sections or invalid macro name warnings are only
+ generated at startup if the <code>-v</code> (verbose) option is set. Otherwise
+ they are deferred until a matching macro is encountered in the input
+ file.
+</p>
+</li>
+<li>
+<p>
+Missing or invalid table definition warnings are only generated at
+ startup if the <code>-v</code> (verbose) option is set. Otherwise they are
+ deferred until a matching table is encountered in the input file.
+</p>
+</li>
+<li>
+<p>
+AsciiDoc now makes more of an effort to continue in the face of
+ errors.
+</p>
+</li>
+<li>
+<p>
+Fixed broken <code>./examples/website/main.aap</code> script.
+</p>
+</li>
+<li>
+<p>
+Converted distribution text files DOS text format as a sop to
+ Windows users with challenged text editors.
+</p>
+</li>
+<li>
+<p>
+Documentation additions and corrections.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_5_0_8_2004_05_15">Version 5.0.8 (2004-05-15)</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+Spurious <em>out of sequence</em> level 2 warnings no longer appear when
+ processing <em>book</em> document multi-part book top level Preface and
+ Appendix sub-sections since they are (correctly) out of sequence.
+</p>
+</li>
+<li>
+<p>
+A warning is no longer emitted for empty Index sections since this
+ is normal when generating DocBook outputs.
+</p>
+</li>
+<li>
+<p>
+Fixed: <code>[quotes]</code> configuration file entries where not being
+ overridden by downstream configuration file entries.
+</p>
+</li>
+<li>
+<p>
+Footnote text is now output enclosed in square brackets in HTML
+ documents.
+</p>
+</li>
+<li>
+<p>
+Added superscripts and subscripts to the standard PRS configuration
+ files.
+</p>
+</li>
+<li>
+<p>
+Adjusted CSS stylesheets so list titles don&#8217;t have so much space
+ between title and first list item (broken in IE6 due to poor CSS
+ compliance). Lessened sidebar title top margin.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_5_0_7_2004_04_22">Version 5.0.7 (2004-04-22)</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+The version 5.0.6 README incorrectly stated that AsciiDoc would run
+ under Python 2.0, in fact it requires Python 2.1 or better. The
+ README has been corrected.
+</p>
+</li>
+<li>
+<p>
+Documented techniques for combining and splitting AsciiDoc documents
+ and processing the combined and split parts (see the <em>Tips and
+ Tricks</em> section of the User Guide).
+</p>
+</li>
+<li>
+<p>
+An example of marking up superscripts and subscripts is documented
+ in the <em>Tips and Tricks</em> section of the User Guide (the example
+ configuration file is in the AsciiDoc <code>examples</code> directory).
+</p>
+</li>
+<li>
+<p>
+Added ellipsis to shipped <code>[replacements]</code>; three periods output an
+ ellipsis entity.
+</p>
+</li>
+<li>
+<p>
+Removed unused <em>SectionClose</em> class.
+</p>
+</li>
+<li>
+<p>
+The AsciiDoc <em>Preamble</em> element is output as a DocBook <em>Preface</em>
+ when processed as a <em>book</em> document type (in older AsciiDoc versions
+ a warning was issued and processing stopped).
+</p>
+</li>
+<li>
+<p>
+Fixed a quoting anomaly: quoted text can no longer begin or end with
+ with white space.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_5_0_6_2004_03_07">Version 5.0.6 (2004-03-07)</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+New <em>image</em> macro implements optional image scaling and linking and
+ works in both inline and block contexts. The <em>image</em> macro obsolesces
+ the existing <em>graphic</em> block macro and <em>icon</em> inline macro.
+</p>
+</li>
+<li>
+<p>
+Macro substitution section names now have <code>-inlinemacro</code> and
+ <code>-blockmacro</code> suffixes to resolve context ambiguity, make their
+ purpose clearer and relieve section namespace congestion.
+</p>
+</li>
+<li>
+<p>
+Header derived glossary entries can now be overridden from the
+ command-line.
+</p>
+</li>
+<li>
+<p>
+Special character substitution is now performed on AuthorLine
+ derived author names.
+</p>
+</li>
+<li>
+<p>
+A macro or block argument called <em>options</em> can be used as a shortcut
+ for a list named arguments with zero length string values.
+</p>
+</li>
+<li>
+<p>
+Tables can be output without borders using the <code>options="noborders"</code>
+ argument.
+</p>
+</li>
+<li>
+<p>
+Table data lines that do not immediately follow a table section
+ underline can now be blank. This allows CSV data with embedded blank
+ lines to be processed correctly.
+</p>
+</li>
+<li>
+<p>
+Blank DSV format table data lines are silently skipped.
+</p>
+</li>
+<li>
+<p>
+Tightened up on enforcement of configuration file section names to
+ reduce the possibility of section content being seen as a section
+ header line.
+</p>
+</li>
+<li>
+<p>
+Section titles can be optionally suffixed with title arguments
+ enclosed in double square brackets.
+</p>
+</li>
+<li>
+<p>
+A replacement has been added to <code>asciidoc.conf</code> to replace inline
+ double dashes with the <code>&amp;mdash;</code> entity.
+</p>
+</li>
+<li>
+<p>
+Changed the <code>.UNDER-CONSTRUCTION.</code> macro syntax to
+ <code>#UNDER-CONSTRUCTION#</code> so it is not mistaken for a BlockTitle.
+ Similarly changed the <code>.NEW.</code> replacement with
+ <code>&amp;#35;NEW&amp;#35;</code>.
+</p>
+</li>
+<li>
+<p>
+<code>&amp;#35;NEW&amp;#35;</code> and <code>#UNDER-CONSTRUCTION#</code> macros are now
+ included in the DocBook backend.
+</p>
+</li>
+<li>
+<p>
+Replaced shipped <code>smallnew.gif</code> with <code>smallnew.png</code>.
+</p>
+</li>
+<li>
+<p>
+Documentation tidy ups.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_5_0_5_2004_02_25">Version 5.0.5 (2004-02-25)</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+Fixed the disappearing paragraph titles problem that was caused by
+ Inline macros (incorrectly) processing BlockTitles.
+</p>
+</li>
+<li>
+<p>
+Tightened AuthorLine validation. Previously invalid email addresses
+ and embedded special characters in the AuthorLine resulted in
+ invalid output markup.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_5_0_4_2004_02_09">Version 5.0.4 (2004-02-09)</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+Reinstated missing <code>infile</code>, <code>outfile</code>, <code>filetype</code> and
+ <code>filetype-&lt;filetype&gt;</code> glossary entries.
+</p>
+</li>
+<li>
+<p>
+As of version 5.0.3 <code>asciidoc(1)</code> now requires Python 2.0 or greater,
+ this has now been documented.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_5_0_3_2004_01_23">Version 5.0.3 (2004-01-23)</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+Fixed problem that caused any filters directory file containing
+ <code>.conf</code> (not just those with the <code>.conf</code> extension) from being
+ loaded.
+</p>
+</li>
+<li>
+<p>
+All <code>[miscellaneous]</code> configuration file entries can now be
+ referenced like glossary entries (they are now processed internally
+ as glossary entries).
+</p>
+</li>
+<li>
+<p>
+The output file line terminator (previously hardwired to <code>\r\n</code> is
+ now set using the <code>newline</code> entry in the configuration file
+ <code>[miscellaneous]</code> section.
+</p>
+</li>
+<li>
+<p>
+The misspelt <code>blocktitles</code> configuration file entry name has been
+ corrected (to <code>blocktitle</code>).
+</p>
+</li>
+<li>
+<p>
+An <code>{empty}</code> glossary entry has been added to the default
+ configuration which is useful for outputting trailing blank lines
+ from configuration file substitution sections.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_5_0_2_2003_12_18">Version 5.0.2 (2003-12-18)</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+New (alternative) <em>anchor</em> and <em>xref</em> macro syntax (old syntax still
+ valid).
+</p>
+</li>
+<li>
+<p>
+DocBook <code>mediaobject</code> and <code>inlinemediaobject</code> tags are generated in
+ place of <code>graphic</code> and <code>inlinegraphic</code> tags by the AsciiDoc
+ <code>graphic</code> and <code>icon</code> macros. If a macro argument is specified it is
+ the alternative text output if the target document format does not
+ support the specified graphic file format.
+</p>
+</li>
+<li>
+<p>
+Dropped the LinuxDoc left and right square bracket special character
+ substitutions as they interfered with macro substitution.
+</p>
+</li>
+<li>
+<p>
+Documentation updates and corrections.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_5_0_1_2003_12_09">Version 5.0.1 (2003-12-09)</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+Fixed problem with anchor tag when generating CSS styled HTML.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_5_0_2003_12_08">Version 5.0 (2003-12-08)</h2>
+<div class="sectionbody">
+<div class="sidebarblock">
+<div class="content">
+<div class="paragraph"><p>This release has had some fairly major code and
+documentation changes. Please report any problems
+you encounter.</p></div>
+<div class="paragraph"><p><a href="mailto:srackham@gmail.com"><em>Stuart Rackham</em></a></p></div>
+</div></div>
+<div class="ulist"><ul>
+<li>
+<p>
+AsciiDoc can now produce a full-blown multi-part DocBook book
+ including dedication, abstract, preface, colophon, glossary,
+ appendix, bibliography and book part elements using the new
+ <code>specialsections</code> configuration file section.
+</p>
+</li>
+<li>
+<p>
+All Section element children (Paragraph, DelimitedBlock, List,
+ Table, BlockMacro) can now be titled using the BlockTitle element.
+ A BlockTitle element is a single line containing a title and
+ beginning with a period.
+</p>
+</li>
+<li>
+<p>
+The <code>index</code> and <code>backmatter</code> macros have been dropped, superseded by
+ <code>specialsections</code>.
+</p>
+</li>
+<li>
+<p>
+The AsciiDoc <em>Preface</em> element has been renamed <em>Preamble</em> (to avoid
+ confusion with the DocBook book preface element).
+</p>
+</li>
+<li>
+<p>
+Out of sequence titles are now tolerated with a warning. This allows
+ book document level 0 sections to be processed.
+</p>
+</li>
+<li>
+<p>
+An <em>anchor</em> inline macro has been added for document link target
+ creation.
+</p>
+</li>
+<li>
+<p>
+<em>Note</em>, <em>Tip</em>, <em>Important</em> and <em>Warning</em> paragraph types have been
+ added to support the corresponding DocBook elements.
+</p>
+</li>
+<li>
+<p>
+Title substitution is now performed in SidebarBlock titles.
+</p>
+</li>
+<li>
+<p>
+DocBook graphics now output as <code>figure</code> and <code>informalfigure</code>
+ elements rather than <code>mediaobjects</code>. This ensures numbered figures
+ and a lists of figures are produced by the DocBook toolchain.
+</p>
+</li>
+<li>
+<p>
+You can now escape block argument lines by appending a backslash.
+ Alternatively, if you embed arguments in the delimiter line AsciiDoc
+ does not check for an arguments line.
+</p>
+</li>
+<li>
+<p>
+The default DocBook backend file extension has been changed from
+ <code>.docbook</code> to <code>.xml</code> (<code>.sgml</code> for the <em>docbook-sgml</em> backend).
+</p>
+</li>
+<li>
+<p>
+Warnings are output by default (previously they only printed when
+ verbose option enabled).
+</p>
+</li>
+<li>
+<p>
+A Question and Answer variable list definition has been added to the
+ shipped configuration files, primarily to create DocBook <code>qanda</code>
+ DocBook elements.
+</p>
+</li>
+<li>
+<p>
+Fixed broken code-filter <code>-b linuxdoc</code> option. The asciidoc.asc User
+ Guide can now be processed by linuxdoc(1) (although tables are
+ dropped because LinuxDoc does not implement tables).
+</p>
+</li>
+</ul></div>
+<div class="olist arabic"><div class="title">Compatibility issues:</div><ol class="arabic">
+<li>
+<p>
+Table titles are no longer in the arguments line, use the new
+ BlockTitles.
+</p>
+</li>
+<li>
+<p>
+Graphic titles are no longer in the <em>graphic</em> block macro caption,
+ use the new BlockTitles.
+</p>
+</li>
+<li>
+<p>
+The code-filter title must be placed in a preceding BlockTitle.
+</p>
+</li>
+<li>
+<p>
+SidebarBlock titles must be placed in a preceding BlockTitle.
+</p>
+</li>
+<li>
+<p>
+The DelimitedBlock option <em>sidebar</em> has been renamed to <em>section</em>.
+</p>
+</li>
+<li>
+<p>
+The default DocBook backend file extension has been changed from
+<code>.docbook</code> to <code>.xml</code> (<code>.sgml</code> for the <em>docbook-sgml</em> backend).
+</p>
+</li>
+</ol></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_4_2_2003_11_26">Version 4.2 (2003-11-26)</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+The default HTML output is now XHTML 1.0 markup. To output the
+ former HTML 4 markup specify the <code>html-4</code> backend.
+</p>
+</li>
+<li>
+<p>
+The default DocBook output is now DocBook XML. To output the former
+ DocBook SGML specify the <code>docbook-sgml</code> backend. The associated
+ <code>docbook-sgml.conf</code> file illustrates how to support minor DTD
+ variations. Examples of using the <code>xmlto(1)</code> command for DocBook
+ conversion have been added to the User Guide.
+</p>
+</li>
+<li>
+<p>
+Glossary entries set using the command-line -g option can now be
+ referenced in configuration files.
+</p>
+</li>
+<li>
+<p>
+Configuration dumps (<code>-c</code> command-line option) no longer output
+ redundant undefined glossary entries.
+</p>
+</li>
+<li>
+<p>
+DelimitedBlock arguments can now be specified in a separate arguments
+ line immediately following the leading delimiter line, This is in
+ preference to the existing delimiter embedded arguments. Reasons:
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+The syntax is in keeping with the Tables arguments syntax.
+</p>
+</li>
+<li>
+<p>
+It&#8217;s easier to enter and implements line continuation.
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+A new QuoteBlock DelimitedBlock definition has been added to the
+ distribution configuration files.
+</p>
+</li>
+<li>
+<p>
+The table arguments lines can be continued using the backslash line
+ continuation character.
+</p>
+</li>
+<li>
+<p>
+Added new calculated glossary reference type <code>{&lt;name&gt;%&lt;value&gt;}</code>.
+</p>
+</li>
+<li>
+<p>
+Double-quote characters can now appear in unquoted positional
+ arguments.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_4_1_2003_11_13">Version 4.1 (2003-11-13)</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+Added DSV (Delimiter Separated Values) tables format.
+</p>
+</li>
+<li>
+<p>
+<code>{eval:&lt;expr&gt;}</code> glossary references drop the containing line if
+ <code>&lt;expr&gt;</code> evaluates to <code>None</code>.
+</p>
+</li>
+<li>
+<p>
+Block, Table and Macro arguments can now be positional (quoted or
+ unquoted).
+</p>
+</li>
+<li>
+<p>
+Vocabulary change: DelimitedBlock, Table and Macro <em>attributes</em> are
+ now referred to as <em>arguments</em>. This makes more sense in light of the
+ extended syntax and avoids confusion with backend markup tag
+ attributes.
+</p>
+</li>
+<li>
+<p>
+<em>tablewidth</em> table ruler parameter can now be expressed in percent
+ units (0..100). If between 0 and 1 then the original fractional unit
+ measure is applied.
+</p>
+</li>
+<li>
+<p>
+The use of quoting for generating footnotes and index entries has
+ been dropped in favor of <em>footnote</em> and <em>indexterm</em> inline macros.
+</p>
+</li>
+<li>
+<p>
+<em>backmatter</em> inline macro included in distribution.
+</p>
+</li>
+<li>
+<p>
+Fixed: CSS styled HTML tables are now fully XHTML 1.0 conformant.
+</p>
+</li>
+<li>
+<p>
+Fixed: <em>tablewidth</em> was processed incorrectly when passed as table
+ argument.
+</p>
+</li>
+<li>
+<p>
+Fixed: Glossary references like <code>{x=\{y}}</code> were one character off
+ if {x] was defined and <code>{y}</code> was not.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_4_0_2003_11_08">Version 4.0 (2003-11-08)</h2>
+<div class="sectionbody">
+<div class="sidebarblock">
+<div class="content">
+<div class="paragraph"><p>This release has had some fairly major code and
+documentation changes. Please report any problems
+you encounter.</p></div>
+<div class="paragraph"><p><em>Stuart Rackham</em></p></div>
+</div></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Added tables to AsciiDoc.
+</p>
+</li>
+<li>
+<p>
+Added two special <em>subs</em> options: <em>default</em> specifies the default
+ substitution options and <em>none</em> specifies no substitution. These
+ options can only appear singly.
+</p>
+</li>
+<li>
+<p>
+Line continuation using a trailing backslash character is available
+ in Paragraphs, ListItems, Tables.
+</p>
+</li>
+<li>
+<p>
+The left and right quotes for quoted text can now be specified
+ separately.
+</p>
+</li>
+<li>
+<p>
+Shipped configuration files implement footnotes (only useful for
+ DocBook output) using \[[]] quoting.
+</p>
+</li>
+<li>
+<p>
+Shipped configuration files implement index terms (only useful for
+ DocBook and LinuxDoc output) using \(()) quoting.
+</p>
+</li>
+<li>
+<p>
+The shipped <em>html</em> backend configuration now emits valid <em>HTML 4.01
+ Transitional</em>.
+</p>
+</li>
+<li>
+<p>
+Added new calculated glossary reference types <code>{&lt;name&gt;!&lt;value&gt;}</code>
+ and <code>{&lt;name&gt;#&lt;value&gt;}</code>.
+</p>
+</li>
+<li>
+<p>
+The DelimitedBlock <em>params</em> option has been dropped in favor of the
+ new <em>block attributes</em> mechanism. If you have customized block
+ params options you may need to adjust source files to use the
+ <em>block attributes</em> syntax. The example code filter has been updated
+ to reflect these changes.
+</p>
+</li>
+<li>
+<p>
+The code filter now has a <code>-t tabsize</code> option.
+</p>
+</li>
+<li>
+<p>
+Replaced <code>-w</code> option with <code>-v</code> (verbose) option. The warnings option
+ was just to confusing.
+</p>
+</li>
+<li>
+<p>
+Named attributes can now be specified in macro calls.
+</p>
+</li>
+<li>
+<p>
+The <em>tabsize</em> attribute is recognized in the built-in <code>include</code>
+ macros. A tabsize of zero suppresses tab expansion.
+</p>
+</li>
+<li>
+<p>
+The configuration file <code>[options]</code> section has been split into
+ <code>[miscellaneous]</code> and <code>[titles]</code>. If you have customized any of
+ these settings you will need to adjust the affected configuration
+ files.
+</p>
+</li>
+<li>
+<p>
+Configuration file <code>[miscellaneous]</code> entries can now also be set
+ using the command-line <code>-g</code> option.
+</p>
+</li>
+<li>
+<p>
+Fixed: error that occurred when attempting to use zero length
+ configuration and source files.
+</p>
+</li>
+<li>
+<p>
+Fixed: blocking filter halt problem.
+</p>
+</li>
+<li>
+<p>
+Fixed: inline macro escape prefix problem.
+</p>
+</li>
+<li>
+<p>
+Fixed: missing macros from configuration dump problem.
+</p>
+</li>
+<li>
+<p>
+Fixed: named macros were dumped incorrectly.
+</p>
+</li>
+<li>
+<p>
+Many documentation changes/additions/corrections.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_3_2_2_2003_10_26">Version 3.2.2 (2003-10-26)</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+Added <code>-n</code> option (synonym for <code>-g section-numbers</code>).
+</p>
+</li>
+<li>
+<p>
+Dropped the processing commentary (hey, this is Unix).
+</p>
+</li>
+<li>
+<p>
+Added new calculated glossary reference type <code>{&lt;name&gt;?&lt;value&gt;}</code>.
+ <code>&lt;name&gt;</code> is the glossary entry name and <code>&lt;value&gt;</code> is the text
+ substituted if the glossary entry is defined. <code>&lt;value&gt;</code> can only
+ contain literal text (no glossary references allowed).
+</p>
+</li>
+<li>
+<p>
+Added <code>asciidoc2text</code> to distribution <code>examples/asciidoc2text</code>
+ directory (converts AsciiDoc source to text file with section
+ numbering).
+</p>
+</li>
+<li>
+<p>
+Fixed incorrect nesting of Simple lists inside Variable lists.
+</p>
+</li>
+<li>
+<p>
+List definitions have been modified so that list items can be
+ indented. This allows a more intuitive indentation of nested lists
+ in AsciiDoc source.
+</p>
+</li>
+<li>
+<p>
+Lists must be separated from preceding paragraphs by a blank line.
+ This is to avoid paragraph lines being mistaken for list items.
+</p>
+</li>
+<li>
+<p>
+Corrected asciidoc man page documentation error: the`-f` option does
+ <strong>not</strong> search relative to source document directory for the
+ configuration file.
+</p>
+</li>
+<li>
+<p>
+Minor updates to various distribution <code>.conf</code> files.
+</p>
+</li>
+<li>
+<p>
+Included <code>badges.conf</code> in <code>examples</code> directory.
+</p>
+</li>
+<li>
+<p>
+<code>css-embedded-stylesheet.conf</code> now supports footer badges.
+</p>
+</li>
+<li>
+<p>
+The default in-line element processing order has been changed:
+ Glossary References are now processed before Inline Macros. This
+ allows glossary expansions to occur inside macro references.
+</p>
+</li>
+<li>
+<p>
+Glossary entries are now allowed in Author and Revision lines.
+</p>
+</li>
+<li>
+<p>
+Default List <code>subs</code> options and Paragraph <code>presubs</code> options are
+ assigned the following default value if not specified:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>specialcharacters,quotes,specialwords,replacements,glossary,macros</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Documentation changes/additions/corrections.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_3_2_2003_05_26">Version 3.2 (2003-05-26)</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+Added a <code>-s</code> command-line option to suppress the output of
+ <code>[header]</code> and <code>[footer]</code> sections.
+</p>
+</li>
+<li>
+<p>
+Article document headers are no longer mandatory: this allows
+ AsciiDoc to process arbitrary chunks of text. When used in
+ conjunction with the new <code>-s</code> command-line option corresponding
+ chunks of backend markup can be generated.
+</p>
+</li>
+<li>
+<p>
+AsciiDoc now emits a warning message and continues when an out of
+ sequence section title is detected (previously it failed and
+ halted). This allows document sections to be processed separately.
+</p>
+</li>
+<li>
+<p>
+Optional <em>presubs</em> and <em>postsubs</em> entries have been added to
+ <em>DelimitedBlock</em> and <em>Paragraph</em> definitions. As a consequence
+ substitution options are no longer legal in <em>options</em> entries.
+</p>
+</li>
+<li>
+<p>
+<em>presubs</em> and <em>postsubs</em> substitutions are processed in the order
+ the options are specified (rather than the fixed <em>options</em> order of
+ previous versions).
+</p>
+</li>
+<li>
+<p>
+./filters subdirectories are automatically searched for filter
+ commands.
+</p>
+</li>
+<li>
+<p>
+A <em>title-subs</em> configuration option specifies the substitutions
+ performed on document Header and Section titles.
+</p>
+</li>
+<li>
+<p>
+A <em>subs</em> entry in now included in List configuration file
+ definitions that specified substitutions performed on list entry
+ text.
+</p>
+</li>
+<li>
+<p>
+Configuration files are auto-loaded from ./filters subdirectories.
+</p>
+</li>
+<li>
+<p>
+Added example code filter (see ./examples/filters).
+</p>
+</li>
+<li>
+<p>
+Bug fix: if section was empty you may have got erroneous <em>missing
+ tag "paragraph"</em> error.
+</p>
+</li>
+<li>
+<p>
+Internal code tidy up.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_3_1_2003_05_18">Version 3.1 (2003-05-18)</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+In version 3.0 a <code>[macros]</code> section entry of the form <em>name</em> was
+ equivalent to <em>name=</em>. An entry of the form <em>name</em> now undefines the
+ entry (to bring it in line with the behavior of other special
+ sections).
+</p>
+</li>
+<li>
+<p>
+Paragraphs have now been generalized (in the same way as Lists and
+ DelimitedBlocks).
+</p>
+</li>
+<li>
+<p>
+The <em>indentsize</em> option has been dropped as as consequence of
+ paragraph generalization.
+</p>
+</li>
+<li>
+<p>
+Pipe | characters can be included in substituted tag and
+ substitution section text using the {brvbar} (broken vertical bar)
+ glossary reference.
+</p>
+</li>
+<li>
+<p>
+Removed the restriction requiring substitution section text
+ placeholders | to be on a separate line.
+</p>
+</li>
+<li>
+<p>
+Added an <code>-e</code> <code>asciidoc(1)</code> command option that excludes implicit
+ configuration files (used in conjunction with <code>-c</code> generated
+ configuration files).
+</p>
+</li>
+<li>
+<p>
+Version 3.0 documentation has undergone a considerable cleanup.
+</p>
+</li>
+<li>
+<p>
+The dumping of quoted section entries (see <code>-c</code> option) now works
+ correctly.
+</p>
+</li>
+<li>
+<p>
+The format of special section entries has been made consistent:
+ <code>name</code> undefines the entry; <code>name=</code> sets the entry value to a blank
+ string; <code>name=value</code> sets the entry value to <code>value</code>.
+</p>
+</li>
+<li>
+<p>
+As a consequence of the previous change the caret prefix is no
+ longer used in glossary configuration file entries (although it is
+ still used when undefining an entry using the <code>-g</code> command-line
+ option).
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_3_0_2003_05_13">Version 3.0 (2003-05-13)</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>This version is the culmination of work begun in the 2.x releases
+whereby fixed policy has been replaced by extensible mechanisms.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Added <code>-c</code> command-line option to dump a composite <code>asciidoc(1)</code>
+ configuration file to stdout.
+</p>
+</li>
+<li>
+<p>
+Lists and Delimited Blocks are now defined by a set of configuration
+ file parameter sections. The user can modify the default
+ definitions or add new ones.
+</p>
+</li>
+<li>
+<p>
+Block content can now be processed through external filters.
+</p>
+</li>
+<li>
+<p>
+The default behavior for Custom Blocks is to perform glossary
+ substitution (previously there was no substitution inside Custom
+ Blocks).
+</p>
+</li>
+<li>
+<p>
+The old 2.x style macros have been reimplemented; as with Lists and
+ Delimited Blocks there syntax and behavior can be configured by the
+ user. The default macro syntax remains the same but the semantics
+ are now (hopefully) a bit more intelligible.
+</p>
+</li>
+<li>
+<p>
+Block and Builtin macros use :: delimiter instead of the 2.x single
+ colon delimit (to distinguish them from inline macros). The 2.x
+ syntax is still supported for backward compatibility.
+</p>
+</li>
+<li>
+<p>
+Nested lists are now supported and IndentedParagraphs can be
+ included in list items.
+</p>
+</li>
+<li>
+<p>
+Conditional source inclusion can be specified using built in <code>ifdef</code>,
+ <code>ifndef</code> and <code>endif</code> macros.
+</p>
+</li>
+<li>
+<p>
+The new conditional source inclusion feature has been used to reduce
+ the number of default configuration files down to one per backend.
+</p>
+</li>
+<li>
+<p>
+A change of name: 2.x <em>Substitutions</em> are now called <em>Replacements</em>
+ and the 2.x <code>[substitutions]</code> configuration file section is now
+ called <code>[replacements]</code> (the old name is still recognized for
+ backward compatibility).
+</p>
+</li>
+<li>
+<p>
+The line break is now implemented as a <em>Replacements</em> substitution.
+</p>
+</li>
+<li>
+<p>
+Inline <em>icon</em> macro for inline images has been added to default
+ configuration files.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_2_2_2003_04_07">Version 2.2 (2003-04-07)</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+The <code>master.conf</code> configuration file name has been deprecated in
+ favor of <code>asciidoc.conf</code>.
+</p>
+</li>
+<li>
+<p>
+The standard configuration files set is now loaded from the
+ <code>.asciidoc</code> folder in the users home directory (if it exists) and
+ then from the source document directory. Configuration files that
+ don&#8217;t exist are silently skipped.
+</p>
+</li>
+<li>
+<p>
+Configuration files named like the source file will be automatically
+ loaded if they are found in the source file directory. For example
+ if the source file is <code>mydoc.asc</code> and the <code>-b html</code> option is used
+ then <code>asciidoc(1)</code> will look for <code>mydoc.conf</code> and <code>mydoc-html.conf</code> in
+ that order.
+</p>
+</li>
+<li>
+<p>
+The characters used to quote formatted text can be configured and
+ extended by the user (see the master.conf [quotes] section).
+</p>
+</li>
+<li>
+<p>
+Quoted text can now be escaped by prefixing a backslash character to
+ the leading quote.
+</p>
+</li>
+<li>
+<p>
+The double single-quote '' strong text quote has been deprecated in
+ favor of an asterisk * character.
+</p>
+</li>
+<li>
+<p>
+Added {eval:expression}, {sys:command} and {sys2:command}
+ glossary reference actions.
+</p>
+</li>
+<li>
+<p>
+Trailing brace characters <code>}</code> are now allowed inside glossary
+ references provided they are escaped with a backslash character.
+</p>
+</li>
+<li>
+<p>
+Glossary entries can now be escaped by prefixing a backslash
+ character to the leading brace character (use this in preference to
+ placing the backslash inside the brace).
+</p>
+</li>
+<li>
+<p>
+The output macro has been deprecated (use the new include1 macro
+ inside a CustomBlock).
+</p>
+</li>
+<li>
+<p>
+The default document type is <code>article</code> (asciidoc no longer attempts
+ to guess).
+</p>
+</li>
+<li>
+<p>
+Files included within DelimitedBlocks are not searched for block
+ termination underlines. This ensures the entire file is part of the
+ DelimitedBlock.
+</p>
+</li>
+<li>
+<p>
+<code>include</code> macros can now be used in configuration files.
+</p>
+</li>
+<li>
+<p>
+Corrected {infile} and {outfile} glossary entry documentation.
+</p>
+</li>
+<li>
+<p>
+File inclusion is now limited to a depth of 5 to catch recursion
+ loops.
+</p>
+</li>
+<li>
+<p>
+Inline tags have been deprecated, they&#8217;re not necessary and they
+ immediately make the source document backend specific. Use
+ CustomBlocks or Substitutions instead.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_2_1_2003_03_17">Version 2.1 (2003-03-17)</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+Added section auto numbering <code>{sectnum}</code> glossary entry
+ (auto-numbering function contributed by Ludovico Magnocavallo).
+</p>
+</li>
+<li>
+<p>
+<code>asciidoc(1)</code> now correctly returns non-zero exit status if an error
+ occurs.
+</p>
+</li>
+<li>
+<p>
+An AsciiDoc example website has been included in the AsciiDoc
+ distribution <code>examples/website</code> directory.
+</p>
+</li>
+<li>
+<p>
+NOTE: The <code>asciidoc</code> wrapper script included in the 2.0 distribution
+ has been dropped, if you&#8217;ve symlinked or aliased to <code>asciidoc</code> you&#8217;ll
+ need to change them to point directly to <code>asciidoc.py</code> instead.
+</p>
+</li>
+<li>
+<p>
+An RCS $Id$ marker can be used as the document header revision line
+ (based on a patch submitted by Ludovico Magnocavallo).
+</p>
+</li>
+<li>
+<p>
+In addition to the <code>name=value</code> glossary entry format two new ones
+ have been introduced: <code>name</code> (the default value is set to an empty
+ string) and <code>^name</code> (the glossary entry is undefined).
+</p>
+</li>
+<li>
+<p>
+The <code>-q</code> command-line option has been deprecated and the <code>-w level</code>
+ command-line option added.<br />
+ NOTE: By default skipped substitution warnings are now suppressed.
+</p>
+</li>
+<li>
+<p>
+If a configuration file specified with the <code>-f</code> command-line option
+ is not found relative to the current working directory then the
+ search is repeated relative to the <code>asciidoc(1)</code> directory. This
+ allows global configuration files to be used.
+</p>
+</li>
+<li>
+<p>
+Added <code>{infile}</code>, <code>{outfile}</code> predefined glossary entries.
+</p>
+</li>
+<li>
+<p>
+Added <code>under-construction</code> macro to HTML article configuration
+ files.
+</p>
+</li>
+<li>
+<p>
+Deprecated <code>{asciidoc_version}</code> glossary entry in favor of
+ <code>{asciidoc-version}</code> (to it consistent with other entries).
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_2_0_2003_02_24">Version 2.0 (2003-02-24)</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+The emphasized, strong and monospaced words options have been
+ generalized with the introduction of macro based <em>special words</em>
+ lists.
+</p>
+</li>
+<li>
+<p>
+Glossary references can now appear in both the document and macro
+ bodies.
+</p>
+</li>
+<li>
+<p>
+All output files use <code>crlf</code> line termination (previously used UNIX
+ <code>lf</code> (newline) termination).
+</p>
+</li>
+<li>
+<p>
+Added [substitutions] section which implements arbitrary regular
+ expression based substitutions.
+</p>
+</li>
+<li>
+<p>
+An optional <code>master.conf</code> configuration file can be used for entries
+ that are not backend or document type specific.
+</p>
+</li>
+<li>
+<p>
+Special character definitions moved from the code to the new
+ [special_characters] configuration file section.
+</p>
+</li>
+<li>
+<p>
+Configuration file glossary added.
+</p>
+</li>
+<li>
+<p>
+Command-line -g glossary entry added.
+</p>
+</li>
+<li>
+<p>
+A new <em>book</em> document type has been implemented for the <em>docbook</em>
+ backend. It outputs DocBook <em>book</em> documents.
+</p>
+</li>
+<li>
+<p>
+A major internal change has been the implementation of parametrized
+ user definable <em>macros</em>. Internally most document elements are now
+ processed as macros.
+</p>
+</li>
+<li>
+<p>
+Configuration file macro variables can be specified with default
+ values (literals or other macro variables).
+</p>
+</li>
+<li>
+<p>
+An attempt has been made to tighten up the vocabulary used to
+ describe the AsciiDoc document syntax.
+</p>
+</li>
+<li>
+<p>
+The term abstract has been replaced by the more general term
+ <em>preface</em> and a new preface section introduced into article
+ configuration files (replacing the synopsis sections).
+</p>
+</li>
+<li>
+<p>
+Any section elements can now be put in the document preface
+ (previous versions only allowed paragraphs).
+</p>
+</li>
+<li>
+<p>
+AsciiDoc Blocks have been unified and their behavior can be user
+ defined and parametrized.
+</p>
+</li>
+<li>
+<p>
+An <em>output</em> inclusion allows an external file to be written directly
+ to the backend output file.
+</p>
+</li>
+<li>
+<p>
+A new CustomBlock has been added. Default behavior is to insert the
+ enveloped AsciiDoc source lines directly into the output file.
+</p>
+</li>
+<li>
+<p>
+A <em>line break</em> tag can be inserted by terminating a line with a <em>+</em>
+ character (only really useful for HTML backends).
+</p>
+</li>
+<li>
+<p>
+An fourth section level has been introduced.
+</p>
+</li>
+<li>
+<p>
+The SidebarBlock delimiter line characters have been changed. The
+ deprecated underline is still accepted.
+</p>
+</li>
+<li>
+<p>
+Levels 2 and 3 title underline characters have been changed. The
+ deprecated underlines are still accepted.
+</p>
+</li>
+<li>
+<p>
+Lines with backend specific inline tags can be inserted into
+ AsciiDoc source files.
+</p>
+</li>
+<li>
+<p>
+Single words enveloped by underscores are no longer emphasized. This
+ feature was deprecated as it is redundant (use single quotes
+ instead) and was being applied to file names with underscores.
+</p>
+</li>
+<li>
+<p>
+A <code>-q</code> quiet option has been added to suppress warning messages.
+</p>
+</li>
+<li>
+<p>
+Badge images sourced locally.
+</p>
+</li>
+<li>
+<p>
+Added <em>author</em> and <em>author-mail</em> meta tags to HTML configuration
+ files.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_1_5_2003_01_08">Version 1.5 (2003-01-08)</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+Implemented sidebar document elements.
+</p>
+</li>
+<li>
+<p>
+Explicit checks for user specified configuration files and input
+ file (rather than throwing exception).
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_1_4_2003_01_04">Version 1.4 (2003-01-04)</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+New configuration file options <em>emphasizedwords</em> and <em>strongwords</em>.
+ These allow the definition of words that will always be emphasized
+ or rendered in a strong font without inline formatting.
+</p>
+</li>
+<li>
+<p>
+Document and section titles are no long subject to inline
+ formatting.
+</p>
+</li>
+<li>
+<p>
+Multiple configuration files can be overlaid in a single command.
+</p>
+</li>
+<li>
+<p>
+Configuration file tags and options entries can now be overridden on
+ an entry by entry basis (previously the entire section was
+ overloaded).
+</p>
+</li>
+<li>
+<p>
+Configuration file tags and options entries are now cached this has
+ resulted in around 37% performance improvement over version 1.3.
+</p>
+</li>
+<li>
+<p>
+Variable lists can now contain multiple terms per list item.
+</p>
+</li>
+<li>
+<p>
+Placeholder paragraph eliminated from empty sections that contain
+ subsections.
+</p>
+</li>
+<li>
+<p>
+Added {asciidoc_version} substitution variable.
+</p>
+</li>
+<li>
+<p>
+More documentation additions and tidy ups.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_1_3_2003_01_01">Version 1.3 (2003-01-01)</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+A new <em>strong</em> text formatting convention has been implemented:
+ Word phrases enclosed in pairs of single quote characters (acute
+ accents) are rendered in a strong font (usually bold).
+</p>
+</li>
+<li>
+<p>
+Paragraphs can now be followed immediately by Simple lists and
+ Ordered lists without an intervening blank line.
+</p>
+</li>
+<li>
+<p>
+A user specified configuration file (<code>asciidoc(1)</code> -f option)
+ overlays the default configuration file rather than replacing it.
+ Custom configuration files need only contain those sections
+ that have been customized.
+</p>
+</li>
+<li>
+<p>
+Comment Block delimiters have been relaxed slightly. They must start
+ with three forward slashes /// but the remainder can contain any
+ characters, this allows comments to be embedded in the delimiter line.
+</p>
+</li>
+<li>
+<p>
+Leading non-digit characters preceding revision number are now
+ ignored.
+</p>
+</li>
+<li>
+<p>
+Set default indentsize [option] from 2 to documented default value
+ of zero in HTML backend html-article.conf and html-manpage.conf
+ files.
+</p>
+</li>
+<li>
+<p>
+Fixed error that occurred when taking input from stdin without
+ explicitly specifying a document type.
+</p>
+</li>
+<li>
+<p>
+Restored file name and line number error message information.
+</p>
+</li>
+<li>
+<p>
+Changed deprecated -t option to -d in asciidoc --help and usage
+ command output.
+</p>
+</li>
+<li>
+<p>
+CSS styles tweaking.
+</p>
+</li>
+<li>
+<p>
+Code, configuration file and documentation tidy ups.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_1_2_2002_12_28">Version 1.2 (2002-12-28)</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+Implemented <em>include</em> URL to allow file inclusion.
+</p>
+</li>
+<li>
+<p>
+<code>fileextension</code> configuration file [option] renamed to more sensible
+ <code>outfilesuffix</code> (<code>fileextension</code> still accepted by this version but
+ will be dropped in future).
+</p>
+</li>
+<li>
+<p>
+Improved error reporting.
+</p>
+</li>
+<li>
+<p>
+CSS backends generate valid XHTML.
+</p>
+</li>
+<li>
+<p>
+New <code>css-embedded</code> backend generates HTML with embedded stylesheets
+ (use the <code>css</code> backend for linked stylesheets). The css-embedded
+ backend output contains no linked images so the generated html files
+ are completely self contained.
+</p>
+</li>
+<li>
+<p>
+Bug fixes.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_1_1_2002_12_03">Version 1.1 (2002-12-03)</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+Added css (cascading style sheets) backend
+</p>
+</li>
+<li>
+<p>
+Implemented IndentedBlock document element.
+</p>
+</li>
+<li>
+<p>
+Tabsize command-line option has been deprecated in
+ favor of configuration file.
+</p>
+</li>
+<li>
+<p>
+Default indent width changed to zero.
+</p>
+</li>
+<li>
+<p>
+Added {localdate} and {localtime} substitution variables.
+</p>
+</li>
+<li>
+<p>
+Added optional [options] configuration file section with
+ fileextension, tabsize and indentsize options.
+</p>
+</li>
+<li>
+<p>
+Implemented {authorinitials} substitution variable.
+</p>
+</li>
+<li>
+<p>
+Added https link type.
+</p>
+</li>
+<li>
+<p>
+Corrected [graphic] substitution from {title} to {caption}
+ in linuxdoc-article.conf configuration file.
+</p>
+</li>
+<li>
+<p>
+Fixed error that occurred when <em>==</em> title underline was
+ used.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_version_1_0_2002_11_25">Version 1.0 (2002-11-25)</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>First AsciiDoc public release along with AsciiDoc web site
+(<a href="http://asciidoc.org/">http://asciidoc.org/</a>) and SourceForge.net project registration
+(<a href="https://sourceforge.net/projects/asciidoc/">https://sourceforge.net/projects/asciidoc/</a>).</p></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:17:57 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/INSTALL.html b/INSTALL.html
new file mode 100644
index 0000000..fb21b1c
--- /dev/null
+++ b/INSTALL.html
@@ -0,0 +1,287 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>AsciiDoc Installation</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install(1);
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="INSTALL.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>AsciiDoc Installation</h1>
+<div id="toc">
+ <div id="toctitle">Table of Contents</div>
+ <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
+</div>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">The current version of AsciiDoc requires <strong>Python 3.5 or later</strong>
+to run. If you don&#8217;t already have an up-to-date version of Python
+installed it can be downloaded from the official Python website
+<a href="http://www.python.org/">http://www.python.org/</a>.</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_prerequisites">Prerequisites</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>See the <a href="README.html">README</a> page.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_installing_from_the_github_repository">Installing from the GitHub repository</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The AsciiDoc repository is hosted by <a href="https://github.com">GitHub</a>.
+To browse the repository go to <a href="https://github.com/asciidoc/asciidoc-py3">https://github.com/asciidoc/asciidoc-py3</a>.
+You can install AsciiDoc from the repository if you don&#8217;t have an up to
+date packaged version, or you want to get the latest version from the master
+branch:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Make sure you have <a href="https://git-scm.com/">Git</a>
+ installed; you can check with:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ git --version</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Go to the directory you want to install AsciiDoc into and download
+ the repository. This example gets the 9.0.5 tagged release:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ cd ~/bin
+$ git clone https://github.com/asciidoc/asciidoc-py3 asciidoc-9.0.5
+$ git checkout 9.0.5</code></pre>
+</div></div>
+</li>
+</ul></div>
+<div class="paragraph"><p>You now have two choices: you can run asciidoc locally from your
+repository or you can use <em>autoconf(1)</em> and <em>make(1)</em> to perform a
+system-wide install.</p></div>
+<div class="sect2">
+<h3 id="_running_asciidoc_from_your_local_copy">Running asciidoc from your local copy</h3>
+<div class="paragraph"><p>Create a symlink to the AsciiDoc script in a search <code>PATH</code> directory
+so it&#8217;s easy to execute <code>asciidoc</code> from the command line, for example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ ln -s ~/bin/asciidoc-9.0.5/asciidoc.py ~/bin/asciidoc
+$ ln -s ~/bin/asciidoc-9.0.5/a2x.py ~/bin/a2x</code></pre>
+</div></div>
+<div class="paragraph"><p>Use the git <code>pull</code> command to update your local AsciiDoc repository.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_installing_asciidoc_for_all_users">Installing asciidoc for all users</h3>
+<div class="paragraph"><p>Create <code>configure</code> using <em>autoconf(1)</em>; use <code>configure</code> to create the
+<code>Makefile</code>; run <em>make(1)</em>; build the man pages; install:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>$ autoconf
+$ ./configure
+$ make
+$ sudo make install</code></pre>
+</div></div>
+<div class="paragraph"><p>To uninstall:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>$ sudo make uninstall</code></pre>
+</div></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X1">Distribution tarball installation</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The distribution source tarballs can be downloaded from GitHub
+releases page <a href="https://github.com/asciidoc/asciidoc-py3/releases">https://github.com/asciidoc/asciidoc-py3/releases</a>.</p></div>
+<div class="paragraph"><p>If your flavor of UNIX or Linux does not have a packaged AsciiDoc
+distribution or if you prefer to install the latest AsciiDoc version
+from source, use the <code>configure</code> shell script in the tarball root
+directory.</p></div>
+<div class="paragraph"><p>The <code>autoconf(1)</code>-generated <code>configure</code> script creates a <code>Makefile</code>
+that is tailored for your system. To install:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ tar -xzf asciidoc-9.0.5.tar.gz
+$ cd asciidoc-9.0.5
+$ ./configure
+$ sudo make install</code></pre>
+</div></div>
+<div class="paragraph"><p>To install the documentation:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ sudo make docs</code></pre>
+</div></div>
+<div class="paragraph"><p>To uninstall AsciiDoc:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ sudo make uninstall</code></pre>
+</div></div>
+<div class="paragraph"><p>If Vim is installed on your system the AsciiDoc Vim syntax highlighter
+and filetype detection are already installed as built into the vim runtime.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X3">Microsoft Windows installation</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc is developed and tested on Linux but there seem to be quite a
+few people using it on Windows. To install AsciiDoc on Windows unzip
+the distribution zip file contents:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ unzip asciidoc-9.0.5.zip</code></pre>
+</div></div>
+<div class="paragraph"><p>This will create the folder <code>asciidoc-9.0.5</code> containing the
+<code>asciidoc.py</code> and <code>a2x.py</code> executables along with configuration files
+and documentation.</p></div>
+<div class="paragraph"><p>To generate DocBook based outputs (e.g. PDFs) you will also need a
+working DocBook toolchain. Installing and configuring a DocBook
+toolchain on Windows can be a challenge&#8201;&#8212;&#8201;this blog post explains
+<a href="http://blog.rainwebs.net/2010/02/25/how-to-create-handsome-pdf-documents-without-frustration/">How
+to Create Handsome PDF Documents Without Frustration</a> using
+<a href="http://www.cygwin.com/">Cygwin</a>,
+<a href="http://dblatex.sourceforge.net/">dblatex</a> and AsciiDoc.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_testing_your_installation">Testing your installation</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Test out asciidoc by changing to the AsciiDoc application directory
+and converting the User Guide document (<code>./doc/asciidoc.txt</code>) to XHTML
+(<code>./doc/asciidoc.html</code>):</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ python3 asciidoc.py doc/asciidoc.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>The <a href="testasciidoc.html">testasciidoc</a> tool offers a more extensive set of
+conformance tests. You can run the tests by executing this command:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ python3 ./tests/testasciidoc.py run</code></pre>
+</div></div>
+<div class="paragraph"><p>A full battery of tests can be run from the <code>Makefile</code> script in the
+distribution root directory:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ make test</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X2">Prepackaged AsciiDoc installation</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The following platform-specific AsciiDoc packages are available:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>Fedora Linux</strong>
+</dt>
+<dd>
+<p>
+ AsciiDoc is included in Fedora Extras, which is available in
+ the default Fedora installation. To install asciidoc, execute the
+ following command:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ yum install asciidoc</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+<strong>Ubuntu / Debian</strong>
+</dt>
+<dd>
+<p>
+ AsciiDoc is included in Ubuntu / Debian package manager. To install,
+ execute the following command:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ apt install asciidoc</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+<strong>macOS Homebrew</strong>
+</dt>
+<dd>
+<p>
+ AsciiDoc has been packaged in homebrew and is installable using the
+ following command:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ brew install asciidoc</code></pre>
+</div></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p>See also <a href="userguide.html#X38">Packager Notes</a> in the <em>AsciiDoc User
+Guide</em>.</p></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:17:59 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/README-website.html b/README-website.html
new file mode 100644
index 0000000..6ccd777
--- /dev/null
+++ b/README-website.html
@@ -0,0 +1,124 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>AsciiDoc Website</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="README-website.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>AsciiDoc Website</h1>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p>The AsciiDoc website source is included in the AsciiDoc distribution
+as an example of using AsciiDoc to build a website. The files are
+principally located under <code>/doc</code> and <code>/website</code>, with a handful of
+files pulled in from the root directory.</p></div>
+<div class="paragraph"><p>A simple shell script (<code>./build_website.sh</code>) will
+build the site&#8217;s web pages&#8201;&#8212;&#8201;just set the <code>LAYOUT</code> variable to the
+desired layout.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_website_layouts">Website Layouts</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The website layout is determined by the layout configuration file
+(<code>layout1.conf</code> or <code>layout2.conf</code>) and corresponding layout CSS file
+(<code>layout1.css</code> or <code>layout2.css</code>). The example website comes with the
+following layouts:</p></div>
+<div class="tableblock">
+<table rules="all"
+width="80%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<col width="20%" />
+<col width="80%" />
+<thead>
+<tr>
+<th align="left" valign="top">Layout </th>
+<th align="left" valign="top"> Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">layout1</p></td>
+<td align="left" valign="top"><p class="table">Table based layout</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">layout2</p></td>
+<td align="left" valign="top"><p class="table">CSS based layout (this is the default layout)</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="paragraph"><p>The default tables based layout (layout1) works with most modern
+browsers.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">The simulated frames layout (layout2) does not work with IE6.</td>
+</tr></table>
+</div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:17:59 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/README.html b/README.html
new file mode 100644
index 0000000..7df4e3a
--- /dev/null
+++ b/README.html
@@ -0,0 +1,152 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title></title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="README.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+</div>
+<div id="content">
+<h1 id="_asciidoc" class="float">AsciiDoc</h1>
+<div class="paragraph"><p><span class="image">
+<a class="image" href="https://github.com/asciidoc/asciidoc-py3/actions?query=workflow%3ATest+branch%3Amaster">
+<img src="https://github.com/asciidoc/asciidoc-py3/workflows/Test/badge.svg?branch=master" alt="Build Status" />
+</a>
+</span></p></div>
+<div class="paragraph"><p>AsciiDoc is a text document format for writing notes, documentation,
+articles, books, ebooks, slideshows, web pages, man pages and blogs.
+AsciiDoc files can be translated to many formats including HTML, PDF,
+EPUB, man page.</p></div>
+<div class="paragraph"><p>AsciiDoc is highly configurable: both the AsciiDoc source file syntax
+and the backend output markups (which can be almost any type of
+SGML/XML markup) can be customized and extended by the user.</p></div>
+<div class="sect1">
+<h2 id="_prerequisites">Prerequisites</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc is written in Python so you need a Python interpreter
+(version 3.5 or later) to execute <code>asciidoc(1)</code>. Python is installed by
+default in most Linux distributions. You can download Python from the
+official Python website <a href="http://www.python.org">http://www.python.org</a>.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_obtaining_asciidoc">Obtaining AsciiDoc</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc&#8217;s Python 3 port is currently under development. To obtain AsciiDoc,
+download a copy of the repo from the GitHub project at
+<a href="https://github.com/asciidoc/asciidoc-py3">https://github.com/asciidoc/asciidoc-py3</a> and follow the instructions in
+INSTALL.txt to build and install it.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_tools">Tools</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Current AsciiDoc version tested on Ubuntu 18.04 with:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Python 3.6.5
+</p>
+</li>
+<li>
+<p>
+DocBook XSL Stylesheets 1.76.1
+</p>
+</li>
+<li>
+<p>
+xsltproc (libxml 20706, libxslt 10126 and libexslt 815).
+</p>
+</li>
+<li>
+<p>
+w3m 0.5.2
+</p>
+</li>
+<li>
+<p>
+dblatex 0.3
+</p>
+</li>
+<li>
+<p>
+FOP 0.95
+</p>
+</li>
+<li>
+<p>
+A-A-P 1.091
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_copying">Copying</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Copyright &#169; 2002-2013 Stuart Rackham.</p></div>
+<div class="paragraph"><p>Copyright &#169; 2013-2020 AsciiDoc Contributors.</p></div>
+<div class="paragraph"><p>Free use of this software is granted under the terms of the GNU General
+Public License version 2 (GPLv2).</p></div>
+<div class="paragraph"><p>AsciiDoc is a trademark of the Eclipse Foundation, Inc.</p></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:00 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/a2x.1.html b/a2x.1.html
new file mode 100644
index 0000000..29c0016
--- /dev/null
+++ b/a2x.1.html
@@ -0,0 +1,734 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>A2X(1)</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./asciidoc-manpage.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="a2x.1.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>
+A2X(1) Manual Page
+</h1>
+<h2>NAME</h2>
+<div class="sectionbody">
+<p>a2x -
+ A toolchain manager for AsciiDoc (converts Asciidoc text files to other file formats)
+</p>
+</div>
+</div>
+<div id="content">
+<div class="sect1">
+<h2 id="_synopsis">SYNOPSIS</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><strong>a2x</strong> [<em>OPTIONS</em>] <em>SOURCE_FILE</em></p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_description">DESCRIPTION</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>A DocBook toolchain manager that translates an AsciiDoc text file
+<em>SOURCE_FILE</em> to PDF, EPUB, DVI, PS, LaTeX, XHTML (single page or
+chunked), man page, HTML Help or plain text formats using
+<em><code>asciidoc(1)</code></em> and other applications (see <a href="#X1">REQUISITES section</a>).
+<em>SOURCE_FILE</em> can also be a DocBook file with an .xml extension.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_options">OPTIONS</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>-a, --attribute</strong>=<em>ATTRIBUTE</em>
+</dt>
+<dd>
+<p>
+ Set <code>asciidoc(1)</code> attribute value (shortcut for <strong>--asciidoc-opts</strong>=<em>"-a
+ ATTRIBUTE"</em> option).
+ This option may be specified more than once.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>--asciidoc-opts</strong>=<em>ASCIIDOC_OPTS</em>
+</dt>
+<dd>
+<p>
+ Additional <em><code>asciidoc(1)</code></em> options.
+ This option may be specified more than once.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>--conf-file</strong>=<em>CONF_FILE</em>
+</dt>
+<dd>
+<p>
+ Load configuration file. See <a href="#X2">CONF FILES section</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-D, --destination-dir</strong>=<em>DESTINATION_DIR</em>
+</dt>
+<dd>
+<p>
+ Output directory. Defaults to <em>SOURCE_FILE</em> directory. This option
+ is only applicable to HTML and manpage based output formats (<em>chunked</em>, <em>epub</em>,
+ <em>htmlhelp</em>, <em>xhtml</em>, <em>manpage</em>).
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-d, --doctype</strong>=<em>DOCTYPE</em>
+</dt>
+<dd>
+<p>
+ DocBook document type: <em>article</em>, <em>manpage</em> or <em>book</em>. Default
+ document type is <em>article</em> unless the format is <em>manpage</em> (in which
+ case it defaults to <em>manpage</em>).
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-b, --backend</strong>=<em>BACKEND</em>
+</dt>
+<dd>
+<p>
+ <em>BACKEND</em> is the name of an installed backend plugin. When this
+ option is specified <em>a2x</em> attempts to load a file name <em>a2x-backend.py</em>
+ from the <em>BACKEND</em> plugin directory. It then converts the
+ <em>SOURCE_FILE</em> to a <em>BACKEND</em> formatted output file using a global
+ function defined in <em>a2x-backend.py</em> called <em>to_BACKEND</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-f, --format</strong>=<em>FORMAT</em>
+</dt>
+<dd>
+<p>
+ Output formats: <em>chunked</em>, <em>docbook</em>, <em>dvi</em>, <em>epub</em>, <em>htmlhelp</em>,
+ <em>manpage</em>, <em>pdf</em> (default), <em>ps</em>, <em>tex</em>, <em>text</em>, <em>xhtml</em>.
+ The AsciiDoc <em>a2x-format</em> attribute value is set to <em>FORMAT</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-h, --help</strong>
+</dt>
+<dd>
+<p>
+ Print command-line syntax and program options to stdout.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>--icons</strong>
+</dt>
+<dd>
+<p>
+ Use admonition or navigation icon images in output documents. The
+ default behavior is to use text in place of icons.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>--icons-dir</strong>=<em>PATH</em>
+</dt>
+<dd>
+<p>
+ A path (relative to output files) containing admonition
+ and navigation icons. Defaults to <code>images/icons</code>.
+ The <em>--icons</em> option is implicit if this option is used.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-k, --keep-artifacts</strong>
+</dt>
+<dd>
+<p>
+ Do not delete temporary build files.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>--lynx</strong>
+</dt>
+<dd>
+<p>
+ Use <em>lynx(1)</em> (actually: the text-based browser defined by the <code>LYNX</code> config
+ variable) when generating text formatted output. The default behavior is to
+ use <em>w3m(1)</em> (actually: the text-based browser defined by the <code>W3M</code> config
+ variable).
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-L, --no-xmllint</strong>
+</dt>
+<dd>
+<p>
+ Do not check asciidoc output with <em>xmllint(1)</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>---epubcheck</strong>
+</dt>
+<dd>
+<p>
+ Check EPUB output with <em>epubcheck(1)</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-n, --dry-run</strong>
+</dt>
+<dd>
+<p>
+ Do not do anything just print what would have been done.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-r, --resource</strong>=<em>RESOURCE_SPEC</em>
+</dt>
+<dd>
+<p>
+ Specify a resource. This option may be specified more than once.
+ See the <a href="#X3"><strong>RESOURCES</strong></a> section for more details.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-m, --resource-manifest</strong>=<em>FILE</em>
+</dt>
+<dd>
+<p>
+ <em>FILE</em> contains a list resources (one per line). Manifest <em>FILE</em>
+ entries are formatted just like <strong>--resource</strong> option arguments.
+ Environment variables and tilde home directories are allowed.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>--stylesheet</strong>=<em>STYLESHEET</em>
+</dt>
+<dd>
+<p>
+ A space delimited list of one or more CSS stylesheet file names that
+ are used to style HTML output generated by DocBook XSL Stylesheets.
+ Defaults to <em>docbook-xsl.css</em>. The stylesheets are processed in
+ list order. The stylesheets must reside in a valid <a href="#X3">resource file</a> location. Applies to HTML formats: <em>xhtml</em>, <em>epub</em>,
+ <em>chunked</em>, <em>htmlhelp</em> formats.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-v, --verbose</strong>
+</dt>
+<dd>
+<p>
+ Print operational details to stderr.
+ A second <strong>-v</strong> option applies the verbose option to toolchain commands.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>--version</strong>
+</dt>
+<dd>
+<p>
+ Print program version to stdout.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>--xsltproc-opts</strong>=<em>XSLTPROC_OPTS</em>
+</dt>
+<dd>
+<p>
+ Additional <em>xsltproc(1)</em> options.
+ This option may be specified more than once.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>--xsl-file</strong>=<em>XSL_FILE</em>
+</dt>
+<dd>
+<p>
+ Override the built-in XSL stylesheet with the custom XSL stylesheet
+ <em>XSL_FILE</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>--fop</strong>
+</dt>
+<dd>
+<p>
+ Use FOP to generate PDFs. The default behavior is to use
+ <em>dblatex(1)</em>. The <em>--fop</em> option is implicit if the <em>--fop-opts</em> option is
+ used.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>--fop-opts</strong>=<em>FOP_OPTS</em>
+</dt>
+<dd>
+<p>
+ Additional <em>fop(1)</em> options. If this option is specified FOP is used
+ to generate PDFs.
+ This option may be specified more than once.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>--dblatex-opts</strong>=<em>DBLATEX_OPTS</em>
+</dt>
+<dd>
+<p>
+ Additional <em>dblatex(1)</em> options.
+ This option may be specified more than once.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>--backend-opts</strong>=<em>BACKEND_OPTS</em>
+</dt>
+<dd>
+<p>
+ Options for the backend plugin specified by the <em>--backend</em> option.
+ This option may be specified more than once.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>Options can also be set in the AsciiDoc source file. If <em>SOURCE_FILE</em>
+contains a comment line beginning with <strong>// a2x:</strong> then the remainder of
+the line will be treated as <em>a2x</em> command-line options. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>// a2x default options.
+// a2x: -dbook --epubcheck
+// Suppress revision history in dblatex outputs.
+// a2x: --dblatex-opts "-P latex.output.revhistory=0"</code></pre>
+</div></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Options spanning multiple such comment lines will be concatenated.
+</p>
+</li>
+<li>
+<p>
+Zero or more white space characters can appear between the leading
+ <strong>//</strong> and <strong>a2x:</strong>.
+</p>
+</li>
+<li>
+<p>
+Command-line options take precedence over options set in the source
+ file.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X4">OUTPUT FILES</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Output files are written to the directory specified by the
+<strong>--destination-dir</strong> option. If no <strong>--destination-dir</strong> option is set
+output files are written to the <em>SOURCE_FILE</em> directory.</p></div>
+<div class="paragraph"><p>Output files have the same name as the <em>SOURCE_FILE</em> but with an
+appropriate file name extension: <code>.html</code> for <em>xhtml</em>; <code>.epub</code> for
+<em>epub</em>; <code>.hhp</code> for <em>htmlhelp</em>; <code>.pdf</code> for <em>pdf</em>; <code>.text</code> for <em>text</em>,
+<code>.xml</code> for <em>docbook</em>. By convention manpages have no <code>.man</code> extension
+(man page section number only). Chunked HTML directory names have a
+<code>.chunked</code> extension; chunked HTML Help directory names have a
+<code>.htmlhelp</code> extension.</p></div>
+<div class="paragraph"><p>Same named existing files are overwritten.</p></div>
+<div class="paragraph"><p>In addition to generating HTML files the <em>xhtml</em>, <em>epub</em>, <em>chunked</em>
+and <em>htmlhelp</em> formats ensure <a href="#X3">resource files</a> are copied to
+their correct destination directory locations.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X3">RESOURCES</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Resources are files (typically CSS and images) that are required by
+HTML based outputs (<em>xhtml</em>, <em>epub</em>, <em>chunked</em>, <em>htmlhelp</em> formats).
+<em>a2x</em> scans the generated HTML files and builds a list of required CSS
+and image files. Additional resource files can be specified explicitly
+using the <strong>--resource</strong> option.</p></div>
+<div class="paragraph"><p><em>a2x</em> searches for resource files in the following locations in the
+following order:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+The <em>SOURCE_FILE</em> directory.
+</p>
+</li>
+<li>
+<p>
+Resource directories specified by the <strong>--resource</strong> option (searched
+ recursively).
+</p>
+</li>
+<li>
+<p>
+Resource directories specified by the <strong>--resource-manifest</strong> option
+ (searched recursively in the order they appear in the manifest
+ file).
+</p>
+</li>
+<li>
+<p>
+The stock <code>images</code> and <code>stylesheets</code> directories in the
+ <em><code>asciidoc(1)</code></em> configuration files directories (searched
+ recursively).
+</p>
+</li>
+<li>
+<p>
+The destination directory.
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>When a resource file is found it is copied to the correct relative
+destination directory. Missing destination sub-directories are created
+automatically.</p></div>
+<div class="paragraph"><p>There are two distinct mechanisms for specifying additional resources:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+A resource directory which will be searched recursively for missing
+ resource files.
+</p>
+</li>
+<li>
+<p>
+A resource file which will be copied to the output destination
+ directory.
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>Resources are specified with <strong>--resource</strong> option values which can be
+one of the following formats:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;resource_dir&gt;
+&lt;resource_file&gt;[=&lt;destination_file&gt;]
+.&lt;ext&gt;=&lt;mimetype&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>Where:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>&lt;resource_dir&gt;</code>
+</dt>
+<dd>
+<p>
+ Specifies a directory (absolute or relative to the <em>SOURCE_FILE</em>)
+ which is searched recursively for missing resource files. To
+ eliminate ambiguity the <code>&lt;resource_dir&gt;</code> name should end with a
+ directory separator character.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>&lt;resource_file&gt;</code>
+</dt>
+<dd>
+<p>
+ Specifies a resource file (absolute or relative to the
+ <em>SOURCE_FILE</em>) which will be copied to <code>&lt;destination_file&gt;</code>. If
+ <code>&lt;destination_file&gt;</code> is not specified then it is the same as the
+ <code>&lt;resource_file&gt;</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>&lt;destination_file&gt;</code>
+</dt>
+<dd>
+<p>
+ Specifies the destination of the copied source file. The
+ <code>&lt;destination_file&gt;</code> path is relative to the destination directory
+ (absolute paths are not allowed). The location of the destination
+ directory depends on the output <em>FORMAT</em> (see the <a href="#X4"><strong>OUTPUT FILES</strong></a> section for details):
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+chunked, htmlhelp
+</dt>
+<dd>
+<p>
+The chunked output directory.
+</p>
+</dd>
+<dt class="hdlist1">
+epub
+</dt>
+<dd>
+<p>
+The archived <code>OEBPS</code> directory.
+</p>
+</dd>
+<dt class="hdlist1">
+xhtml
+</dt>
+<dd>
+<p>
+The output <strong>DESTINATION_DIR</strong>.
+</p>
+</dd>
+</dl></div>
+</dd>
+<dt class="hdlist1">
+<code>.&lt;ext&gt;=&lt;mimetype&gt;</code>
+</dt>
+<dd>
+<p>
+ When adding resources to EPUB files the mimetype is inferred from
+ the <code>&lt;destination file&gt;</code> extension, if the mimetype cannot be
+ guessed an error occurs. The <code>.&lt;ext&gt;=&lt;mimetype&gt;</code> resource syntax can
+ be used to explicitly set mimetypes. <code>&lt;ext&gt;</code> is the file name
+ extension, <code>&lt;mimetype&gt;</code> is the corresponding MIME type.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>Resource option examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>--resource ../images/
+--resource doc/README.txt=README.txt
+--resource ~/images/tiger.png=images/tiger.png
+--resource .ttf=application/x-font-ttf</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_examples">EXAMPLES</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>a2x -f pdf doc/source-highlight-filter.txt</code>
+</dt>
+<dd>
+<p>
+ Generates <code>doc/source-highlight-filter.pdf</code> file.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>a2x -f xhtml -D ../doc --icons -r ../images/ team.txt</code>
+</dt>
+<dd>
+<p>
+ Creates HTML file <code>../doc/team.html</code>, uses admonition icons and
+ recursively searches the <code>../images/</code> directory for any missing
+ resources.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>a2x -f manpage doc/asciidoc.1.txt</code>
+</dt>
+<dd>
+<p>
+ Generate <code>doc/asciidoc.1</code> manpage.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X1">REQUISITES</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><em>a2x</em> uses the following programs:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<strong>Asciidoc</strong>:
+ <a href="https://asciidoc.org/">https://asciidoc.org/</a>
+</p>
+</li>
+<li>
+<p>
+<strong>xsltproc</strong>: (all formats except text):
+ <a href="http://xmlsoft.org/XSLT/">http://xmlsoft.org/XSLT/</a>
+</p>
+</li>
+<li>
+<p>
+<strong>DocBook XSL Stylesheets</strong> (all formats except text):
+ <a href="https://github.com/docbook/xslt10-stylesheets">https://github.com/docbook/xslt10-stylesheets</a>
+</p>
+</li>
+<li>
+<p>
+<strong>dblatex</strong> (pdf, dvi, ps, tex formats):
+ <a href="http://dblatex.sourceforge.net/">http://dblatex.sourceforge.net/</a>
+</p>
+</li>
+<li>
+<p>
+<strong>FOP</strong> (pdf format&#8201;&#8212;&#8201;alternative PDF file generator):
+ <a href="http://xmlgraphics.apache.org/fop/">http://xmlgraphics.apache.org/fop/</a>
+</p>
+</li>
+<li>
+<p>
+<strong>w3m</strong> (text format):
+ <a href="http://w3m.sourceforge.net/index.en.html">http://w3m.sourceforge.net/index.en.html</a>
+</p>
+</li>
+<li>
+<p>
+<strong>Lynx</strong> (text format&#8201;&#8212;&#8201;alternative text file generator):
+ <a href="https://invisible-island.net/lynx/">https://invisible-island.net/lynx/</a>
+</p>
+</li>
+<li>
+<p>
+<strong>epubcheck</strong> (epub format&#8201;&#8212;&#8201;EPUB file validator):
+ <a href="https://github.com/w3c/epubcheck">https://github.com/w3c/epubcheck</a>
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>See also the latest README file.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X2">CONF FILES</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>A configuration file contains executable Python code that overrides
+the global configuration parameters in <code>a2x.py</code>. Optional configuration
+files are loaded in the following order:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+<code>a2x.conf</code> from the directory containing the <em>a2x.py</em> executable.
+</p>
+</li>
+<li>
+<p>
+<code>a2x.conf</code> from the AsciiDoc global configuration directory. Skip
+ this step if we are executing a locally installed (non system wide)
+ copy.
+</p>
+</li>
+<li>
+<p>
+<code>a2x.conf</code> from the AsciiDoc <code>$HOME/.asciidoc</code> configuration
+ directory.
+</p>
+</li>
+<li>
+<p>
+The <em>CONF_FILE</em> specified in the <em>--conf-file</em> option.
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>Here are the default configuration file option values:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code># Optional environment variable dictionary passed to
+# executing programs. If set to None the existing
+# environment is used.
+ENV = None
+
+# External executables.
+ASCIIDOC = 'asciidoc'
+XSLTPROC = 'xsltproc'
+DBLATEX = 'dblatex' # pdf generation.
+FOP = 'fop' # pdf generation (--fop option).
+W3M = 'w3m' # primary text file generator.
+LYNX = 'lynx' # alternate text file generator.
+XMLLINT = 'xmllint' # Set to '' to disable.
+EPUBCHECK = 'epubcheck' # Set to '' to disable.
+# External executable default options.
+ASCIIDOC_OPTS = ''
+BACKEND_OPTS = ''
+DBLATEX_OPTS = ''
+FOP_OPTS = ''
+LYNX_OPTS = '-dump'
+W3M_OPTS = '-dump -cols 70 -T text/html -no-graph'
+XSLTPROC_OPTS = ''</code></pre>
+</div></div>
+<div class="paragraph"><p>Note, that it is possible to redefine <code>W3M</code> and <code>LYNX</code> to use different text-based
+browsers, e.g. <em>links</em>: <a href="http://links.twibright.com/">http://links.twibright.com/</a> or
+<em>elinks</em>: <a href="http://elinks.or.cz/">http://elinks.or.cz/</a>. <code>LYNX_OPTS</code> and <code>W3M_OPTS</code> can be used to pass
+options to the selected browser. If these are defined they override the
+respective defaults listed above (so don&#8217;t forget to include the <em>-dump</em> option
+in your definition: this is mandatory at least with <em>w3m</em>, <em>lynx</em>, <em>links</em>, and
+<em>elinks</em> in order to send the formatted text to stdout).</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_bugs">BUGS</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>See the AsciiDoc distribution BUGS file.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_author">AUTHOR</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>a2x was originally written by Stuart Rackham. Many people have
+contributed to it.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_resources">RESOURCES</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>GitHub: <a href="https://github.com/asciidoc/asciidoc-py3/">https://github.com/asciidoc/asciidoc-py3/</a></p></div>
+<div class="paragraph"><p>Main web site: <a href="https://asciidoc.org/">https://asciidoc.org/</a></p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_see_also">SEE ALSO</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><code>asciidoc(1)</code></p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_copying">COPYING</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Copyright (C) 2002-2013 Stuart Rackham.</p></div>
+<div class="paragraph"><p>Copyright (C) 2013-2020 AsciiDoc Contributors.</p></div>
+<div class="paragraph"><p>Free use of this software is granted under the terms of the MIT license.</p></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:00 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/article-html5-toc2.html b/article-html5-toc2.html
new file mode 100644
index 0000000..4d5197e
--- /dev/null
+++ b/article-html5-toc2.html
@@ -0,0 +1,1020 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="generator" content="AsciiDoc 10.0.0a2">
+<title>The Article Title</title>
+<style type="text/css">
+/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
+
+/* Default font. */
+body {
+ font-family: Georgia,serif;
+}
+
+/* Title font. */
+h1, h2, h3, h4, h5, h6,
+div.title, caption.title,
+thead, p.table.header,
+#toctitle,
+#author, #revnumber, #revdate, #revremark,
+#footer {
+ font-family: Arial,Helvetica,sans-serif;
+}
+
+body {
+ margin: 1em 5% 1em 5%;
+}
+
+a {
+ color: blue;
+ text-decoration: underline;
+}
+a:visited {
+ color: fuchsia;
+}
+
+em {
+ font-style: italic;
+ color: navy;
+}
+
+strong {
+ font-weight: bold;
+ color: #083194;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color: #527bbd;
+ margin-top: 1.2em;
+ margin-bottom: 0.5em;
+ line-height: 1.3;
+}
+
+h1, h2, h3 {
+ border-bottom: 2px solid silver;
+}
+h2 {
+ padding-top: 0.5em;
+}
+h3 {
+ float: left;
+}
+h3 + * {
+ clear: left;
+}
+h5 {
+ font-size: 1.0em;
+}
+
+div.sectionbody {
+ margin-left: 0;
+}
+
+hr {
+ border: 1px solid silver;
+}
+
+p {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+ul, ol, li > p {
+ margin-top: 0;
+}
+ul > li { color: #aaa; }
+ul > li > * { color: black; }
+
+pre {
+ padding: 0;
+ margin: 0;
+}
+
+#author {
+ color: #527bbd;
+ font-weight: bold;
+ font-size: 1.1em;
+}
+#email {
+}
+#revnumber, #revdate, #revremark {
+}
+
+#footer {
+ font-size: small;
+ border-top: 2px solid silver;
+ padding-top: 0.5em;
+ margin-top: 4.0em;
+}
+#footer-text {
+ float: left;
+ padding-bottom: 0.5em;
+}
+#footer-badges {
+ float: right;
+ padding-bottom: 0.5em;
+}
+
+#preamble {
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
+}
+div.admonitionblock {
+ margin-top: 2.0em;
+ margin-bottom: 2.0em;
+ margin-right: 10%;
+ color: #606060;
+}
+
+div.content { /* Block element content. */
+ padding: 0;
+}
+
+/* Block element titles. */
+div.title, caption.title {
+ color: #527bbd;
+ font-weight: bold;
+ text-align: left;
+ margin-top: 1.0em;
+ margin-bottom: 0.5em;
+}
+div.title + * {
+ margin-top: 0;
+}
+
+td div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content + div.title {
+ margin-top: 0.0em;
+}
+
+div.sidebarblock > div.content {
+ background: #ffffee;
+ border: 1px solid #dddddd;
+ border-left: 4px solid #f0f0f0;
+ padding: 0.5em;
+}
+
+div.listingblock > div.content {
+ border: 1px solid #dddddd;
+ border-left: 5px solid #f0f0f0;
+ background: #f8f8f8;
+ padding: 0.5em;
+}
+
+div.quoteblock, div.verseblock {
+ padding-left: 1.0em;
+ margin-left: 1.0em;
+ margin-right: 10%;
+ border-left: 5px solid #f0f0f0;
+ color: #777777;
+}
+
+div.quoteblock > div.attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock > pre.content {
+ font-family: inherit;
+ font-size: inherit;
+}
+div.verseblock > div.attribution {
+ padding-top: 0.75em;
+ text-align: left;
+}
+/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
+div.verseblock + div.attribution {
+ text-align: left;
+}
+
+div.admonitionblock .icon {
+ vertical-align: top;
+ font-size: 1.1em;
+ font-weight: bold;
+ text-decoration: underline;
+ color: #527bbd;
+ padding-right: 0.5em;
+}
+div.admonitionblock td.content {
+ padding-left: 0.5em;
+ border-left: 3px solid #dddddd;
+}
+
+div.exampleblock > div.content {
+ border-left: 3px solid #dddddd;
+ padding-left: 0.5em;
+}
+
+div.imageblock div.content { padding-left: 0; }
+span.image img { border-style: none; }
+a.image:visited { color: white; }
+
+dl {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+dt {
+ margin-top: 0.5em;
+ margin-bottom: 0;
+ font-style: normal;
+ color: navy;
+}
+dd > *:first-child {
+ margin-top: 0.1em;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+ol.arabic {
+ list-style-type: decimal;
+}
+ol.loweralpha {
+ list-style-type: lower-alpha;
+}
+ol.upperalpha {
+ list-style-type: upper-alpha;
+}
+ol.lowerroman {
+ list-style-type: lower-roman;
+}
+ol.upperroman {
+ list-style-type: upper-roman;
+}
+
+div.compact ul, div.compact ol,
+div.compact p, div.compact p,
+div.compact div, div.compact div {
+ margin-top: 0.1em;
+ margin-bottom: 0.1em;
+}
+
+tfoot {
+ font-weight: bold;
+}
+td > div.verse {
+ white-space: pre;
+}
+
+div.hdlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+div.hdlist tr {
+ padding-bottom: 15px;
+}
+dt.hdlist1.strong, td.hdlist1.strong {
+ font-weight: bold;
+}
+td.hdlist1 {
+ vertical-align: top;
+ font-style: normal;
+ padding-right: 0.8em;
+ color: navy;
+}
+td.hdlist2 {
+ vertical-align: top;
+}
+div.hdlist.compact tr {
+ margin: 0;
+ padding-bottom: 0;
+}
+
+.comment {
+ background: yellow;
+}
+
+.footnote, .footnoteref {
+ font-size: 0.8em;
+}
+
+span.footnote, span.footnoteref {
+ vertical-align: super;
+}
+
+#footnotes {
+ margin: 20px 0 20px 0;
+ padding: 7px 0 0 0;
+}
+
+#footnotes div.footnote {
+ margin: 0 0 5px 0;
+}
+
+#footnotes hr {
+ border: none;
+ border-top: 1px solid silver;
+ height: 1px;
+ text-align: left;
+ margin-left: 0;
+ width: 20%;
+ min-width: 100px;
+}
+
+div.colist td {
+ padding-right: 0.5em;
+ padding-bottom: 0.3em;
+ vertical-align: top;
+}
+div.colist td img {
+ margin-top: 0.3em;
+}
+
+@media print {
+ #footer-badges { display: none; }
+}
+
+#toc {
+ margin-bottom: 2.5em;
+}
+
+#toctitle {
+ color: #527bbd;
+ font-size: 1.1em;
+ font-weight: bold;
+ margin-top: 1.0em;
+ margin-bottom: 0.1em;
+}
+
+div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+div.toclevel2 {
+ margin-left: 2em;
+ font-size: 0.9em;
+}
+div.toclevel3 {
+ margin-left: 4em;
+ font-size: 0.9em;
+}
+div.toclevel4 {
+ margin-left: 6em;
+ font-size: 0.9em;
+}
+
+span.aqua { color: aqua; }
+span.black { color: black; }
+span.blue { color: blue; }
+span.fuchsia { color: fuchsia; }
+span.gray { color: gray; }
+span.green { color: green; }
+span.lime { color: lime; }
+span.maroon { color: maroon; }
+span.navy { color: navy; }
+span.olive { color: olive; }
+span.purple { color: purple; }
+span.red { color: red; }
+span.silver { color: silver; }
+span.teal { color: teal; }
+span.white { color: white; }
+span.yellow { color: yellow; }
+
+span.aqua-background { background: aqua; }
+span.black-background { background: black; }
+span.blue-background { background: blue; }
+span.fuchsia-background { background: fuchsia; }
+span.gray-background { background: gray; }
+span.green-background { background: green; }
+span.lime-background { background: lime; }
+span.maroon-background { background: maroon; }
+span.navy-background { background: navy; }
+span.olive-background { background: olive; }
+span.purple-background { background: purple; }
+span.red-background { background: red; }
+span.silver-background { background: silver; }
+span.teal-background { background: teal; }
+span.white-background { background: white; }
+span.yellow-background { background: yellow; }
+
+span.big { font-size: 2em; }
+span.small { font-size: 0.6em; }
+
+span.underline { text-decoration: underline; }
+span.overline { text-decoration: overline; }
+span.line-through { text-decoration: line-through; }
+
+
+/*
+ * xhtml11 specific
+ *
+ * */
+
+tt {
+ font-family: monospace;
+ font-size: inherit;
+ color: navy;
+}
+
+div.tableblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
+}
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead, p.table.header {
+ font-weight: bold;
+ color: #527bbd;
+}
+p.table {
+ margin-top: 0;
+}
+/* Because the table frame attribute is overridden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
+ border-style: none;
+}
+div.tableblock > table[frame="hsides"] {
+ border-left-style: none;
+ border-right-style: none;
+}
+div.tableblock > table[frame="vsides"] {
+ border-top-style: none;
+ border-bottom-style: none;
+}
+
+
+/*
+ * html5 specific
+ *
+ * */
+
+.monospaced {
+ font-family: monospace;
+ font-size: inherit;
+ color: navy;
+}
+
+table.tableblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
+}
+thead, p.tableblock.header {
+ font-weight: bold;
+ color: #527bbd;
+}
+p.tableblock {
+ margin-top: 0;
+}
+table.tableblock {
+ border-width: 3px;
+ border-spacing: 0px;
+ border-style: solid;
+ border-color: #527bbd;
+ border-collapse: collapse;
+}
+th.tableblock, td.tableblock {
+ border-width: 1px;
+ padding: 4px;
+ border-style: solid;
+ border-color: #527bbd;
+}
+
+table.tableblock.frame-topbot {
+ border-left-style: hidden;
+ border-right-style: hidden;
+}
+table.tableblock.frame-sides {
+ border-top-style: hidden;
+ border-bottom-style: hidden;
+}
+table.tableblock.frame-none {
+ border-style: hidden;
+}
+
+th.tableblock.halign-left, td.tableblock.halign-left {
+ text-align: left;
+}
+th.tableblock.halign-center, td.tableblock.halign-center {
+ text-align: center;
+}
+th.tableblock.halign-right, td.tableblock.halign-right {
+ text-align: right;
+}
+
+th.tableblock.valign-top, td.tableblock.valign-top {
+ vertical-align: top;
+}
+th.tableblock.valign-middle, td.tableblock.valign-middle {
+ vertical-align: middle;
+}
+th.tableblock.valign-bottom, td.tableblock.valign-bottom {
+ vertical-align: bottom;
+}
+
+
+/*
+ * manpage specific
+ *
+ * */
+
+body.manpage h1 {
+ padding-top: 0.5em;
+ padding-bottom: 0.5em;
+ border-top: 2px solid silver;
+ border-bottom: 2px solid silver;
+}
+body.manpage h2 {
+ border-style: none;
+}
+body.manpage div.sectionbody {
+ margin-left: 3em;
+}
+
+@media print {
+ body.manpage div#toc { display: none; }
+}
+
+
+/*
+ * Theme specific overrides of the preceding (asciidoc.css) CSS.
+ *
+ */
+body {
+ font-family: Garamond, Georgia, serif;
+ font-size: 17px;
+ color: #3E4349;
+ line-height: 1.3em;
+}
+h1, h2, h3, h4, h5, h6,
+div.title, caption.title,
+thead, p.table.header,
+#toctitle,
+#author, #revnumber, #revdate, #revremark,
+#footer {
+ font-family: Garmond, Georgia, serif;
+ font-weight: normal;
+ border-bottom-width: 0;
+ color: #3E4349;
+}
+div.title, caption.title { color: #596673; font-weight: bold; }
+h1 { font-size: 240%; }
+h2 { font-size: 180%; }
+h3 { font-size: 150%; }
+h4 { font-size: 130%; }
+h5 { font-size: 115%; }
+h6 { font-size: 100%; }
+#header h1 { margin-top: 0; }
+#toc {
+ color: #444444;
+ line-height: 1.5;
+ padding-top: 1.5em;
+}
+#toctitle {
+ font-size: 20px;
+}
+#toc a {
+ border-bottom: 1px dotted #999999;
+ color: #444444 !important;
+ text-decoration: none !important;
+}
+#toc a:hover {
+ border-bottom: 1px solid #6D4100;
+ color: #6D4100 !important;
+ text-decoration: none !important;
+}
+div.toclevel1 { margin-top: 0.2em; font-size: 16px; }
+div.toclevel2 { margin-top: 0.15em; font-size: 14px; }
+em, dt, td.hdlist1 { color: black; }
+strong { color: #3E4349; }
+a { color: #004B6B; text-decoration: none; border-bottom: 1px dotted #004B6B; }
+a:visited { color: #615FA0; border-bottom: 1px dotted #615FA0; }
+a:hover { color: #6D4100; border-bottom: 1px solid #6D4100; }
+div.tableblock > table, table.tableblock { border: 3px solid #E8E8E8; }
+th.tableblock, td.tableblock { border: 1px solid #E8E8E8; }
+ul > li > * { color: #3E4349; }
+pre, tt, .monospaced { font-family: Consolas,Menlo,'Deja Vu Sans Mono','Bitstream Vera Sans Mono',monospace; }
+tt, .monospaced { font-size: 0.9em; color: black;
+}
+div.exampleblock > div.content, div.sidebarblock > div.content, div.listingblock > div.content { border-width: 0 0 0 3px; border-color: #E8E8E8; }
+div.verseblock { border-left-width: 0; margin-left: 3em; }
+div.quoteblock { border-left-width: 3px; margin-left: 0; margin-right: 0;}
+div.admonitionblock td.content { border-left: 3px solid #E8E8E8; }
+
+
+@media screen {
+ body {
+ max-width: 50em; /* approximately 80 characters wide */
+ margin-left: 16em;
+ }
+
+ #toc {
+ position: fixed;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ width: 13em;
+ padding: 0.5em;
+ padding-bottom: 1.5em;
+ margin: 0;
+ overflow: auto;
+ border-right: 3px solid #f8f8f8;
+ background-color: white;
+ }
+
+ #toc .toclevel1 {
+ margin-top: 0.5em;
+ }
+
+ #toc .toclevel2 {
+ margin-top: 0.25em;
+ display: list-item;
+ color: #aaaaaa;
+ }
+
+ #toctitle {
+ margin-top: 0.5em;
+ }
+}
+</style>
+<script type="text/javascript">
+/*<![CDATA[*/
+var asciidoc = { // Namespace.
+
+/////////////////////////////////////////////////////////////////////
+// Table Of Contents generator
+/////////////////////////////////////////////////////////////////////
+
+/* Author: Mihai Bazon, September 2002
+ * http://students.infoiasi.ro/~mishoo
+ *
+ * Table Of Content generator
+ * Version: 0.4
+ *
+ * Feel free to use this script under the terms of the GNU General Public
+ * License, as long as you do not remove or alter this notice.
+ */
+
+ /* modified by Troy D. Hanson, September 2006. License: GPL */
+ /* modified by Stuart Rackham, 2006, 2009. License: GPL */
+
+// toclevels = 1..4.
+toc: function (toclevels) {
+
+ function getText(el) {
+ var text = "";
+ for (var i = el.firstChild; i != null; i = i.nextSibling) {
+ if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
+ text += i.data;
+ else if (i.firstChild != null)
+ text += getText(i);
+ }
+ return text;
+ }
+
+ function TocEntry(el, text, toclevel) {
+ this.element = el;
+ this.text = text;
+ this.toclevel = toclevel;
+ }
+
+ function tocEntries(el, toclevels) {
+ var result = new Array;
+ var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
+ // Function that scans the DOM tree for header elements (the DOM2
+ // nodeIterator API would be a better technique but not supported by all
+ // browsers).
+ var iterate = function (el) {
+ for (var i = el.firstChild; i != null; i = i.nextSibling) {
+ if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
+ var mo = re.exec(i.tagName);
+ if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
+ result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
+ }
+ iterate(i);
+ }
+ }
+ }
+ iterate(el);
+ return result;
+ }
+
+ var toc = document.getElementById("toc");
+ if (!toc) {
+ return;
+ }
+
+ // Delete existing TOC entries in case we're reloading the TOC.
+ var tocEntriesToRemove = [];
+ var i;
+ for (i = 0; i < toc.childNodes.length; i++) {
+ var entry = toc.childNodes[i];
+ if (entry.nodeName.toLowerCase() == 'div'
+ && entry.getAttribute("class")
+ && entry.getAttribute("class").match(/^toclevel/))
+ tocEntriesToRemove.push(entry);
+ }
+ for (i = 0; i < tocEntriesToRemove.length; i++) {
+ toc.removeChild(tocEntriesToRemove[i]);
+ }
+
+ // Rebuild TOC entries.
+ var entries = tocEntries(document.getElementById("content"), toclevels);
+ for (var i = 0; i < entries.length; ++i) {
+ var entry = entries[i];
+ if (entry.element.id == "")
+ entry.element.id = "_toc_" + i;
+ var a = document.createElement("a");
+ a.href = "#" + entry.element.id;
+ a.appendChild(document.createTextNode(entry.text));
+ var div = document.createElement("div");
+ div.appendChild(a);
+ div.className = "toclevel" + entry.toclevel;
+ toc.appendChild(div);
+ }
+ if (entries.length == 0)
+ toc.parentNode.removeChild(toc);
+},
+
+
+/////////////////////////////////////////////////////////////////////
+// Footnotes generator
+/////////////////////////////////////////////////////////////////////
+
+/* Based on footnote generation code from:
+ * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
+ */
+
+footnotes: function () {
+ // Delete existing footnote entries in case we're reloading the footnodes.
+ var i;
+ var noteholder = document.getElementById("footnotes");
+ if (!noteholder) {
+ return;
+ }
+ var entriesToRemove = [];
+ for (i = 0; i < noteholder.childNodes.length; i++) {
+ var entry = noteholder.childNodes[i];
+ if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
+ entriesToRemove.push(entry);
+ }
+ for (i = 0; i < entriesToRemove.length; i++) {
+ noteholder.removeChild(entriesToRemove[i]);
+ }
+
+ // Rebuild footnote entries.
+ var cont = document.getElementById("content");
+ var spans = cont.getElementsByTagName("span");
+ var refs = {};
+ var n = 0;
+ for (i=0; i<spans.length; i++) {
+ if (spans[i].className == "footnote") {
+ n++;
+ var note = spans[i].getAttribute("data-note");
+ if (!note) {
+ // Use [\s\S] in place of . so multi-line matches work.
+ // Because JavaScript has no s (dotall) regex flag.
+ note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
+ spans[i].innerHTML =
+ "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
+ "' title='View footnote' class='footnote'>" + n + "</a>]";
+ spans[i].setAttribute("data-note", note);
+ }
+ noteholder.innerHTML +=
+ "<div class='footnote' id='_footnote_" + n + "'>" +
+ "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
+ n + "</a>. " + note + "</div>";
+ var id =spans[i].getAttribute("id");
+ if (id != null) refs["#"+id] = n;
+ }
+ }
+ if (n == 0)
+ noteholder.parentNode.removeChild(noteholder);
+ else {
+ // Process footnoterefs.
+ for (i=0; i<spans.length; i++) {
+ if (spans[i].className == "footnoteref") {
+ var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
+ href = href.match(/#.*/)[0]; // Because IE return full URL.
+ n = refs[href];
+ spans[i].innerHTML =
+ "[<a href='#_footnote_" + n +
+ "' title='View footnote' class='footnote'>" + n + "</a>]";
+ }
+ }
+ }
+},
+
+install: function(toclevels) {
+ var timerId;
+
+ function reinstall() {
+ asciidoc.footnotes();
+ if (toclevels) {
+ asciidoc.toc(toclevels);
+ }
+ }
+
+ function reinstallAndRemoveTimer() {
+ clearInterval(timerId);
+ reinstall();
+ }
+
+ timerId = setInterval(reinstall, 500);
+ if (document.addEventListener)
+ document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
+ else
+ window.onload = reinstallAndRemoveTimer;
+}
+
+}
+asciidoc.install(2);
+/*]]>*/
+</script>
+</head>
+<body class="article">
+<div id="header">
+<h1>The Article Title</h1>
+<span id="author">Author's Name</span><br>
+<span id="email" class="monospaced">&lt;<a href="mailto:authors@email.address">authors@email.address</a>&gt;</span><br>
+<span id="revnumber">version 9.0.5,</span>
+<span id="revdate">24 January 2021</span>
+<div id="toc">
+ <div id="toctitle">Table of Contents</div>
+ <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
+</div>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p>This is the optional preamble (an untitled section body). Useful for
+writing simple sectionless documents consisting only of a preamble.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note">
+</td>
+<td class="content">The abstract, preface, appendix, bibliography, glossary and
+index section titles are significant (<em>specialsections</em>).</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_example_abstract">Example Abstract</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The optional abstract (one or more paragraphs) goes here.</p></div>
+<div class="paragraph"><p>This document is an AsciiDoc article skeleton containing briefly
+annotated element placeholders plus a couple of example index entries
+and footnotes.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_the_first_section">1. The First Section</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Article sections start at level 1 and can be nested up to four levels
+deep.
+<span class="footnote"><br>[An example footnote.]<br></span></p></div>
+<div class="paragraph"><p>And now for something completely different: monkeys, lions and
+tigers (Bengal and Siberian) using the alternative syntax index
+entries.
+
+
+
+Note that multi-entry terms generate separate index entries.</p></div>
+<div class="paragraph"><p>Here are a couple of image examples: an <span class="image">
+<img src="images/smallnew.png" alt="images/smallnew.png">
+</span>
+example inline image followed by an example block image:</p></div>
+<div class="imageblock">
+<div class="content">
+<img src="images/tiger.png" alt="Tiger image">
+</div>
+<div class="title">Figure 1. Tiger block image</div>
+</div>
+<div class="paragraph"><p>Followed by an example table:</p></div>
+<table class="tableblock frame-all grid-all"
+style="
+width:60%;
+">
+<caption class="title">Table 1. An example table</caption>
+<col style="width:50%;">
+<col style="width:50%;">
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top" > Option </th>
+<th class="tableblock halign-left valign-top" > Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top" ><p class="tableblock">-a <em>USER GROUP</em></p></td>
+<td class="tableblock halign-left valign-top" ><p class="tableblock">Add <em>USER</em> to <em>GROUP</em>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top" ><p class="tableblock">-R <em>GROUP</em></p></td>
+<td class="tableblock halign-left valign-top" ><p class="tableblock">Disables access to <em>GROUP</em>.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="exampleblock">
+<div class="title">Example 1. An example example</div>
+<div class="content">
+<div class="paragraph"><p>Lorum ipum&#8230;</p></div>
+</div></div>
+<div class="sect2">
+<h3 id="X1">1.1. Sub-section with Anchor</h3>
+<div class="paragraph"><p>Sub-section at level 2.</p></div>
+<div class="sect3">
+<h4 id="_a_nested_sub_section">1.1.1. A Nested Sub-section</h4>
+<div class="paragraph"><p>Sub-section at level 3.</p></div>
+<div class="sect4">
+<h5 id="_yet_another_nested_sub_section">Yet another nested Sub-section</h5>
+<div class="paragraph"><p>Sub-section at level 4.</p></div>
+<div class="paragraph"><p>This is the maximum sub-section depth supported by the distributed
+AsciiDoc configuration.
+<span class="footnote"><br>[A second example footnote.]<br></span></p></div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_the_second_section">2. The Second Section</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Article sections are at level 1 and can contain sub-sections nested up
+to four deep.</p></div>
+<div class="paragraph"><p>An example link to anchor at start of the <a href="#X1">first sub-section</a>.</p></div>
+<div class="paragraph"><p>An example link to a bibliography entry <a href="#taoup">[taoup]</a>.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_example_appendix">Appendix A: Example Appendix</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc article appendices are just just article sections with
+<em>specialsection</em> titles.</p></div>
+<div class="sect2">
+<h3 id="_appendix_sub_section">Appendix Sub-section</h3>
+<div class="paragraph"><p>Appendix sub-section at level 2.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_example_bibliography">Example Bibliography</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The bibliography list is a style of AsciiDoc bulleted list.</p></div>
+<div class="ulist bibliography"><ul>
+<li>
+<p>
+<a id="taoup"></a>[taoup] Eric Steven Raymond. <em>The Art of Unix
+ Programming</em>. Addison-Wesley. ISBN 0-13-142901-9.
+</p>
+</li>
+<li>
+<p>
+<a id="walsh-muellner"></a>[walsh-muellner] Norman Walsh &amp; Leonard Muellner.
+ <em>DocBook - The Definitive Guide</em>. O&#8217;Reilly &amp; Associates. 1999.
+ ISBN 1-56592-580-7.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_example_glossary">Example Glossary</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Glossaries are optional. Glossaries entries are an example of a style
+of AsciiDoc labeled lists.</p></div>
+<div class="dlist glossary"><dl>
+<dt>
+A glossary term
+</dt>
+<dd>
+<p>
+ The corresponding (indented) definition.
+</p>
+</dd>
+<dt>
+A second glossary term
+</dt>
+<dd>
+<p>
+ The corresponding (indented) definition.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br>
+Last updated
+ 2021-01-30 05:17:57 UTC
+</div>
+</div>
+</body>
+</html>
diff --git a/article-standalone.html b/article-standalone.html
new file mode 100644
index 0000000..6396770
--- /dev/null
+++ b/article-standalone.html
@@ -0,0 +1,1087 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>The Article Title</title>
+<style type="text/css">
+/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
+
+/* Default font. */
+body {
+ font-family: Georgia,serif;
+}
+
+/* Title font. */
+h1, h2, h3, h4, h5, h6,
+div.title, caption.title,
+thead, p.table.header,
+#toctitle,
+#author, #revnumber, #revdate, #revremark,
+#footer {
+ font-family: Arial,Helvetica,sans-serif;
+}
+
+body {
+ margin: 1em 5% 1em 5%;
+}
+
+a {
+ color: blue;
+ text-decoration: underline;
+}
+a:visited {
+ color: fuchsia;
+}
+
+em {
+ font-style: italic;
+ color: navy;
+}
+
+strong {
+ font-weight: bold;
+ color: #083194;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color: #527bbd;
+ margin-top: 1.2em;
+ margin-bottom: 0.5em;
+ line-height: 1.3;
+}
+
+h1, h2, h3 {
+ border-bottom: 2px solid silver;
+}
+h2 {
+ padding-top: 0.5em;
+}
+h3 {
+ float: left;
+}
+h3 + * {
+ clear: left;
+}
+h5 {
+ font-size: 1.0em;
+}
+
+div.sectionbody {
+ margin-left: 0;
+}
+
+hr {
+ border: 1px solid silver;
+}
+
+p {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+ul, ol, li > p {
+ margin-top: 0;
+}
+ul > li { color: #aaa; }
+ul > li > * { color: black; }
+
+.monospaced, code, pre {
+ font-family: "Courier New", Courier, monospace;
+ font-size: inherit;
+ color: navy;
+ padding: 0;
+ margin: 0;
+}
+pre {
+ white-space: pre-wrap;
+}
+
+#author {
+ color: #527bbd;
+ font-weight: bold;
+ font-size: 1.1em;
+}
+#email {
+}
+#revnumber, #revdate, #revremark {
+}
+
+#footer {
+ font-size: small;
+ border-top: 2px solid silver;
+ padding-top: 0.5em;
+ margin-top: 4.0em;
+}
+#footer-text {
+ float: left;
+ padding-bottom: 0.5em;
+}
+#footer-badges {
+ float: right;
+ padding-bottom: 0.5em;
+}
+
+#preamble {
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
+}
+div.admonitionblock {
+ margin-top: 2.0em;
+ margin-bottom: 2.0em;
+ margin-right: 10%;
+ color: #606060;
+}
+
+div.content { /* Block element content. */
+ padding: 0;
+}
+
+/* Block element titles. */
+div.title, caption.title {
+ color: #527bbd;
+ font-weight: bold;
+ text-align: left;
+ margin-top: 1.0em;
+ margin-bottom: 0.5em;
+}
+div.title + * {
+ margin-top: 0;
+}
+
+td div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content + div.title {
+ margin-top: 0.0em;
+}
+
+div.sidebarblock > div.content {
+ background: #ffffee;
+ border: 1px solid #dddddd;
+ border-left: 4px solid #f0f0f0;
+ padding: 0.5em;
+}
+
+div.listingblock > div.content {
+ border: 1px solid #dddddd;
+ border-left: 5px solid #f0f0f0;
+ background: #f8f8f8;
+ padding: 0.5em;
+}
+
+div.quoteblock, div.verseblock {
+ padding-left: 1.0em;
+ margin-left: 1.0em;
+ margin-right: 10%;
+ border-left: 5px solid #f0f0f0;
+ color: #888;
+}
+
+div.quoteblock > div.attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock > pre.content {
+ font-family: inherit;
+ font-size: inherit;
+}
+div.verseblock > div.attribution {
+ padding-top: 0.75em;
+ text-align: left;
+}
+/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
+div.verseblock + div.attribution {
+ text-align: left;
+}
+
+div.admonitionblock .icon {
+ vertical-align: top;
+ font-size: 1.1em;
+ font-weight: bold;
+ text-decoration: underline;
+ color: #527bbd;
+ padding-right: 0.5em;
+}
+div.admonitionblock td.content {
+ padding-left: 0.5em;
+ border-left: 3px solid #dddddd;
+}
+
+div.exampleblock > div.content {
+ border-left: 3px solid #dddddd;
+ padding-left: 0.5em;
+}
+
+div.imageblock div.content { padding-left: 0; }
+span.image img { border-style: none; vertical-align: text-bottom; }
+a.image:visited { color: white; }
+
+dl {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+dt {
+ margin-top: 0.5em;
+ margin-bottom: 0;
+ font-style: normal;
+ color: navy;
+}
+dd > *:first-child {
+ margin-top: 0.1em;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+ol.arabic {
+ list-style-type: decimal;
+}
+ol.loweralpha {
+ list-style-type: lower-alpha;
+}
+ol.upperalpha {
+ list-style-type: upper-alpha;
+}
+ol.lowerroman {
+ list-style-type: lower-roman;
+}
+ol.upperroman {
+ list-style-type: upper-roman;
+}
+
+div.compact ul, div.compact ol,
+div.compact p, div.compact p,
+div.compact div, div.compact div {
+ margin-top: 0.1em;
+ margin-bottom: 0.1em;
+}
+
+tfoot {
+ font-weight: bold;
+}
+td > div.verse {
+ white-space: pre;
+}
+
+div.hdlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+div.hdlist tr {
+ padding-bottom: 15px;
+}
+dt.hdlist1.strong, td.hdlist1.strong {
+ font-weight: bold;
+}
+td.hdlist1 {
+ vertical-align: top;
+ font-style: normal;
+ padding-right: 0.8em;
+ color: navy;
+}
+td.hdlist2 {
+ vertical-align: top;
+}
+div.hdlist.compact tr {
+ margin: 0;
+ padding-bottom: 0;
+}
+
+.comment {
+ background: yellow;
+}
+
+.footnote, .footnoteref {
+ font-size: 0.8em;
+}
+
+span.footnote, span.footnoteref {
+ vertical-align: super;
+}
+
+#footnotes {
+ margin: 20px 0 20px 0;
+ padding: 7px 0 0 0;
+}
+
+#footnotes div.footnote {
+ margin: 0 0 5px 0;
+}
+
+#footnotes hr {
+ border: none;
+ border-top: 1px solid silver;
+ height: 1px;
+ text-align: left;
+ margin-left: 0;
+ width: 20%;
+ min-width: 100px;
+}
+
+div.colist td {
+ padding-right: 0.5em;
+ padding-bottom: 0.3em;
+ vertical-align: top;
+}
+div.colist td img {
+ margin-top: 0.3em;
+}
+
+@media print {
+ #footer-badges { display: none; }
+}
+
+#toc {
+ margin-bottom: 2.5em;
+}
+
+#toctitle {
+ color: #527bbd;
+ font-size: 1.1em;
+ font-weight: bold;
+ margin-top: 1.0em;
+ margin-bottom: 0.1em;
+}
+
+div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+div.toclevel2 {
+ margin-left: 2em;
+ font-size: 0.9em;
+}
+div.toclevel3 {
+ margin-left: 4em;
+ font-size: 0.9em;
+}
+div.toclevel4 {
+ margin-left: 6em;
+ font-size: 0.9em;
+}
+
+span.aqua { color: aqua; }
+span.black { color: black; }
+span.blue { color: blue; }
+span.fuchsia { color: fuchsia; }
+span.gray { color: gray; }
+span.green { color: green; }
+span.lime { color: lime; }
+span.maroon { color: maroon; }
+span.navy { color: navy; }
+span.olive { color: olive; }
+span.purple { color: purple; }
+span.red { color: red; }
+span.silver { color: silver; }
+span.teal { color: teal; }
+span.white { color: white; }
+span.yellow { color: yellow; }
+
+span.aqua-background { background: aqua; }
+span.black-background { background: black; }
+span.blue-background { background: blue; }
+span.fuchsia-background { background: fuchsia; }
+span.gray-background { background: gray; }
+span.green-background { background: green; }
+span.lime-background { background: lime; }
+span.maroon-background { background: maroon; }
+span.navy-background { background: navy; }
+span.olive-background { background: olive; }
+span.purple-background { background: purple; }
+span.red-background { background: red; }
+span.silver-background { background: silver; }
+span.teal-background { background: teal; }
+span.white-background { background: white; }
+span.yellow-background { background: yellow; }
+
+span.big { font-size: 2em; }
+span.small { font-size: 0.6em; }
+
+span.underline { text-decoration: underline; }
+span.overline { text-decoration: overline; }
+span.line-through { text-decoration: line-through; }
+
+div.unbreakable { page-break-inside: avoid; }
+
+
+/*
+ * xhtml11 specific
+ *
+ * */
+
+div.tableblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
+}
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead, p.table.header {
+ font-weight: bold;
+ color: #527bbd;
+}
+p.table {
+ margin-top: 0;
+}
+/* Because the table frame attribute is overridden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
+ border-style: none;
+}
+div.tableblock > table[frame="hsides"] {
+ border-left-style: none;
+ border-right-style: none;
+}
+div.tableblock > table[frame="vsides"] {
+ border-top-style: none;
+ border-bottom-style: none;
+}
+
+
+/*
+ * html5 specific
+ *
+ * */
+
+table.tableblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
+}
+thead, p.tableblock.header {
+ font-weight: bold;
+ color: #527bbd;
+}
+p.tableblock {
+ margin-top: 0;
+}
+table.tableblock {
+ border-width: 3px;
+ border-spacing: 0px;
+ border-style: solid;
+ border-color: #527bbd;
+ border-collapse: collapse;
+}
+th.tableblock, td.tableblock {
+ border-width: 1px;
+ padding: 4px;
+ border-style: solid;
+ border-color: #527bbd;
+}
+
+table.tableblock.frame-topbot {
+ border-left-style: hidden;
+ border-right-style: hidden;
+}
+table.tableblock.frame-sides {
+ border-top-style: hidden;
+ border-bottom-style: hidden;
+}
+table.tableblock.frame-none {
+ border-style: hidden;
+}
+
+th.tableblock.halign-left, td.tableblock.halign-left {
+ text-align: left;
+}
+th.tableblock.halign-center, td.tableblock.halign-center {
+ text-align: center;
+}
+th.tableblock.halign-right, td.tableblock.halign-right {
+ text-align: right;
+}
+
+th.tableblock.valign-top, td.tableblock.valign-top {
+ vertical-align: top;
+}
+th.tableblock.valign-middle, td.tableblock.valign-middle {
+ vertical-align: middle;
+}
+th.tableblock.valign-bottom, td.tableblock.valign-bottom {
+ vertical-align: bottom;
+}
+
+
+/*
+ * manpage specific
+ *
+ * */
+
+body.manpage h1 {
+ padding-top: 0.5em;
+ padding-bottom: 0.5em;
+ border-top: 2px solid silver;
+ border-bottom: 2px solid silver;
+}
+body.manpage h2 {
+ border-style: none;
+}
+body.manpage div.sectionbody {
+ margin-left: 3em;
+}
+
+@media print {
+ body.manpage div#toc { display: none; }
+}
+
+
+</style>
+<script type="text/javascript">
+/*<![CDATA[*/
+var asciidoc = { // Namespace.
+
+/////////////////////////////////////////////////////////////////////
+// Table Of Contents generator
+/////////////////////////////////////////////////////////////////////
+
+/* Author: Mihai Bazon, September 2002
+ * http://students.infoiasi.ro/~mishoo
+ *
+ * Table Of Content generator
+ * Version: 0.4
+ *
+ * Feel free to use this script under the terms of the GNU General Public
+ * License, as long as you do not remove or alter this notice.
+ */
+
+ /* modified by Troy D. Hanson, September 2006. License: GPL */
+ /* modified by Stuart Rackham, 2006, 2009. License: GPL */
+
+// toclevels = 1..4.
+toc: function (toclevels) {
+
+ function getText(el) {
+ var text = "";
+ for (var i = el.firstChild; i != null; i = i.nextSibling) {
+ if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
+ text += i.data;
+ else if (i.firstChild != null)
+ text += getText(i);
+ }
+ return text;
+ }
+
+ function TocEntry(el, text, toclevel) {
+ this.element = el;
+ this.text = text;
+ this.toclevel = toclevel;
+ }
+
+ function tocEntries(el, toclevels) {
+ var result = new Array;
+ var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
+ // Function that scans the DOM tree for header elements (the DOM2
+ // nodeIterator API would be a better technique but not supported by all
+ // browsers).
+ var iterate = function (el) {
+ for (var i = el.firstChild; i != null; i = i.nextSibling) {
+ if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
+ var mo = re.exec(i.tagName);
+ if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
+ result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
+ }
+ iterate(i);
+ }
+ }
+ }
+ iterate(el);
+ return result;
+ }
+
+ var toc = document.getElementById("toc");
+ if (!toc) {
+ return;
+ }
+
+ // Delete existing TOC entries in case we're reloading the TOC.
+ var tocEntriesToRemove = [];
+ var i;
+ for (i = 0; i < toc.childNodes.length; i++) {
+ var entry = toc.childNodes[i];
+ if (entry.nodeName.toLowerCase() == 'div'
+ && entry.getAttribute("class")
+ && entry.getAttribute("class").match(/^toclevel/))
+ tocEntriesToRemove.push(entry);
+ }
+ for (i = 0; i < tocEntriesToRemove.length; i++) {
+ toc.removeChild(tocEntriesToRemove[i]);
+ }
+
+ // Rebuild TOC entries.
+ var entries = tocEntries(document.getElementById("content"), toclevels);
+ for (var i = 0; i < entries.length; ++i) {
+ var entry = entries[i];
+ if (entry.element.id == "")
+ entry.element.id = "_toc_" + i;
+ var a = document.createElement("a");
+ a.href = "#" + entry.element.id;
+ a.appendChild(document.createTextNode(entry.text));
+ var div = document.createElement("div");
+ div.appendChild(a);
+ div.className = "toclevel" + entry.toclevel;
+ toc.appendChild(div);
+ }
+ if (entries.length == 0)
+ toc.parentNode.removeChild(toc);
+},
+
+
+/////////////////////////////////////////////////////////////////////
+// Footnotes generator
+/////////////////////////////////////////////////////////////////////
+
+/* Based on footnote generation code from:
+ * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
+ */
+
+footnotes: function () {
+ // Delete existing footnote entries in case we're reloading the footnodes.
+ var i;
+ var noteholder = document.getElementById("footnotes");
+ if (!noteholder) {
+ return;
+ }
+ var entriesToRemove = [];
+ for (i = 0; i < noteholder.childNodes.length; i++) {
+ var entry = noteholder.childNodes[i];
+ if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
+ entriesToRemove.push(entry);
+ }
+ for (i = 0; i < entriesToRemove.length; i++) {
+ noteholder.removeChild(entriesToRemove[i]);
+ }
+
+ // Rebuild footnote entries.
+ var cont = document.getElementById("content");
+ var spans = cont.getElementsByTagName("span");
+ var refs = {};
+ var n = 0;
+ for (i=0; i<spans.length; i++) {
+ if (spans[i].className == "footnote") {
+ n++;
+ var note = spans[i].getAttribute("data-note");
+ if (!note) {
+ // Use [\s\S] in place of . so multi-line matches work.
+ // Because JavaScript has no s (dotall) regex flag.
+ note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
+ spans[i].innerHTML =
+ "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
+ "' title='View footnote' class='footnote'>" + n + "</a>]";
+ spans[i].setAttribute("data-note", note);
+ }
+ noteholder.innerHTML +=
+ "<div class='footnote' id='_footnote_" + n + "'>" +
+ "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
+ n + "</a>. " + note + "</div>";
+ var id =spans[i].getAttribute("id");
+ if (id != null) refs["#"+id] = n;
+ }
+ }
+ if (n == 0)
+ noteholder.parentNode.removeChild(noteholder);
+ else {
+ // Process footnoterefs.
+ for (i=0; i<spans.length; i++) {
+ if (spans[i].className == "footnoteref") {
+ var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
+ href = href.match(/#.*/)[0]; // Because IE return full URL.
+ n = refs[href];
+ spans[i].innerHTML =
+ "[<a href='#_footnote_" + n +
+ "' title='View footnote' class='footnote'>" + n + "</a>]";
+ }
+ }
+ }
+},
+
+install: function(toclevels) {
+ var timerId;
+
+ function reinstall() {
+ asciidoc.footnotes();
+ if (toclevels) {
+ asciidoc.toc(toclevels);
+ }
+ }
+
+ function reinstallAndRemoveTimer() {
+ clearInterval(timerId);
+ reinstall();
+ }
+
+ timerId = setInterval(reinstall, 500);
+ if (document.addEventListener)
+ document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
+ else
+ window.onload = reinstallAndRemoveTimer;
+}
+
+}
+asciidoc.install(2);
+/*]]>*/
+</script>
+</head>
+<body class="article" style="max-width:55em">
+<div id="header">
+<h1>The Article Title</h1>
+<span id="author">Author's Name</span><br />
+<span id="email"><code>&lt;<a href="mailto:authors@email.address">authors@email.address</a>&gt;</code></span><br />
+<span id="revnumber">version 9.0.5,</span>
+<span id="revdate">24 January 2021</span>
+<div id="toc">
+ <div id="toctitle">Table of Contents</div>
+ <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
+</div>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p>This is the optional preamble (an untitled section body). Useful for
+writing simple sectionless documents consisting only of a preamble.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img alt="Note" src="data:image/png;base64,
+iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAJhUlEQVRoge2ZWWycVxXHf+fce7/v
+m/GaGCde4pI0aQlJC0kRtE1L00JbLIjY4QkeUB9YHhAIJFCExAsKUkE8IAFFPIDUIqhBRSDRBUqC
+CimFFBCBpCWx02IaZ3G2SdyxPZ7vHh6+mcnSZnFjKIge6Wj8zYzvPf9z/me5d8TM+F8WfbkNuFx5
+BcDLLf/fAEZGRmx4eNh6enqsp6fHhoeHbWRk5D9aFeSlVqHNmzfb6H33sHnT7ZQmD5GfOMax6Sm+
+Pl5h1Yc+xpYtW2SBbX1ReUkRGBkZsdH77mHLW95EOv4Ms3ueJh6YYPHUFF9aljJ63z3cf//9/5FI
+vKQIDA8P293L2yhVjjH7t51ocDiviFecF46n7XzBreChhx4qNhH5t0XjJUVgx44ddGUZ9b/vIpQD
+oRQIWSDJAiFL6B9axo4dO4gxAmANWVDLG+Ln82URMRGhVCqRHxonlAPqFXWKC4r6IhI6OMjMzBN4
+/4LlTUQQEZxzZ32QJAlpmrb+p16vU6vVOHXq1AWjN18AnDj0F971vrs4OnmYJVkoDA4FCPUO172I
+Cgnt7SV++4vvsGhRJx3tJbIsRVVpsUnOBBABBVFEClKYwbKr7sTM7EIUnBcA7z21k7t49x1X8JXv
+bOWra7rw5QRtcN8PLCfvvZJvb9vJycpJpg4/hp/N0I4SMQs4Jw0A5zBXHGiCaIZIKABgpGlKjPEF
+0TpT5pUDRXiVt99+Le03r+WzuytM1gO6pB/3+o0cbxvk8yOPMjW6i2iR2lxOjJDHSDMFogmGwzQ7
+rRJAUpAENAGXIZq2AFzQpvkACCEQcahP+cRH3sKHn9zHXU+MM7rtGeD33NDXzaZynZU9gcezpUw9
+X6OzIyOakkfF4QEpPG6nDRNNEA2FSgKimETSNCXPc0II57VpXhEolUqoOrxPSLOMT330Dv5SqfKD
+NR388Y2L+caQsjITNv3pMBs3rOT56ZyZGaM+J0QUxDc0INrWUgggoRGBAOIRAt77hY1AmqaoeJxP
+cN645jVDbNn8Hj73o8fZ/af9mEE9j9y2YRXt5YzZWmRmzjj1/BwhTXAKzitOHEbeWlc0AVwDnCv8
+KoZzjotV33lTSL1HNKAuEtKM1169jM98/E6mTk3x4Nbd7Bk7TEdHRvAeVY+hmDqmZwx1kIkiqrhz
+S2zL+AbNMC6l/80LgHMOEY9oQvBCks5RKpXo7JhFxbhz42pet2aQet1YtLiDJAkIDq8BHwJmwlwO
+UaD0ojsrNKuUReIZyb9gABCHcwWFgg+0lTPyvIRToVzKWLpkMfV6REQplYvmZCj1uuBUSdJwTg8A
+XBdoCZMOsBkQBeGi/J83gBgjmABC8AlJGsjzFLMyaXDM1etEA0VR50iCx6mSZhkiijpPjEpQD+SF
+4WdJrTAewdCFB1CtVlFVVATnhMQnWJqC5aTBk+c5IIgWRoTgSZJAmiZAo1s7hwsppglI+fTiljeY
+nyHkLQotKIAYI4igzpFHISQOiwEnKTEG8hhRVZw6YjRQLfJGHcF7jleqTBw8znXr12MABnv37efY
+iSnesG4tiUsRUQwD7JIAzKsPqCqiRbVwweM04XdPjhJN+dvTBxgbn6G9q59yZx9/3HWEb33vN+zc
+/RzOJ+w/eJLtO8Z5ZNtT7PvHIUQTvvv9X/Lc/mN0d3by3fseRLQwvWh0Fy+h8wbQ2VFG1KM+xfuA
+qufo8So/fejPPD/rqJys8pvf7eLAoeNMHqnw2U9+kH3jVQ5MClMzKUla5obr13HliiEMmDx6gltv
+uY7Vr1nBQF8PJopQ9AFTt/AROFfMjCW9XTy19xB33Hodb924jr1j+/nDk3/nzTdei4jw3nfeyCOP
+bufa1y5jzeoVrcHM8HR3dfHlr/2Q+x94jFtuuh44/9B2PplXDryYLF3STXd3e+t5UXcHY89OsOH6
+NS2Qed7wpM1Rm50G4MGHH2P961Zy3bqreXrPP5mrzwLt5y6/cACq1eoLCKm+TN/SAebmfn8aUG83
+PYs7+cnPH+eqKwd5as8/edc7bi02847pmVkATk1VWbF8AOcca1Yv59DkqcYK0tCL02deACqVCldc
+0YdIwLmEPM9RV6NnUZlPf3wT6oqJcePN6wHhzTeu4/CRCrfctJ4sSxBRli7pYfHEMUSU97/7Th75
+1RP8eec+Yp5zzTVXM9DfDyogBvHS6HTJACYmJnjVoq5GFw0454gCEOnoaMfiNGZFFRFxJGkbywZ6
+i1NWoy9kWYmbb1gHKCHApuGbisVFGyoYUswa5OR5ftF56JIBjI6OMtDfWwAQ35jnc8AVpRXBohVq
+UowECKqK4RBxoE0W6gvGCcEjaOEAwEQWdpgbGxujt7erOLO2mk3R8i0Wz9EiuUGz+qlKEQEUaJbI
+4lTHmTVePKgWzpDGJGpc8CDTlEsuo88++wxXDA0UIUbAOP23KGZKjI48KnkuhcbiPbPCOBoeBikO
+Lk2VxjqNRilaAEqSZGEAbN261bZt+zW33XY7IAXXm6Ou0YhIMamaaUOl5WRrzg00viuKWWxpQUOH
+NAZFQRpD48Xlkig0MTHBB95zG+VSylz1KCbWyDOh2XyK+56IqjWMKigkUnzWnPPFFFRRLZ29SQRU
+ELOGY4pZ6LKOlM07mZ07d/KOtw1TcB4sGkTDiDQ9K1IkrKeYmQC08d7pZLSiRBpE5s7aS0XAHFEK
+AGY51Wr18g80Zmb33nsvX/z8XdSmj2AWOXhwkrxe46+79jB55Dh/3T2GxUhHextdXW2sXN7PNWtW
+IQKDA71FFBoAjIgQkVg/a5+oHrU5zIznDhxk964xKpXKggAoTlWW8+OfPorlOQ//cjsDy1bS2dFO
+W+diVly1iL6+Pqanpzl5qsL4pPHwN3/G1InDlMsZ7Z1tDA30cfWqIa5dexV9fb2YnT7UTxw4xsHJ
+o4yOjfOP8QOMjx/k4OQx7r777lY0zycXvJ02M4sxMjg4SL1eR0TYsGEDw8PD9PX10d7ejogUN3a1
+GqpKCIE8z5mdnUVVqVarbN++nba2Nvbu3csDDzyAqrJ8+atb+zjn6e/vZ/Xq1axatYq1a9fS29tL
+lmUMDQ1RKpXOm9EXvV6v1+tWr9eZnp5mZmaGWq1GjLHF62aiNZ+bnPfe45xrvTZzxMyYmZk56+LX
+zKjX661DvHOOJElIkoRSqYT3/vLvRlW15eHCa4VxzdvmpjZDfubzuXeb3vuzqCEixBhbo0NTkyS5
+PAr9L8j/96+U/w3yCoCXW14B8HLLvwDd67nwZIEPdgAAAABJRU5ErkJggg==" />
+</td>
+<td class="content">The abstract, preface, appendix, bibliography, glossary and
+index section titles are significant (<em>specialsections</em>).</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_example_abstract">Example Abstract</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The optional abstract (one or more paragraphs) goes here.</p></div>
+<div class="paragraph"><p>This document is an AsciiDoc article skeleton containing briefly
+annotated element placeholders plus a couple of example index entries
+and footnotes.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_the_first_section">1. The First Section</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Article sections start at level 1 and can be nested up to four levels
+deep.
+<span class="footnote"><br />[An example footnote.]<br /></span></p></div>
+<div class="paragraph"><p>And now for something completely different: monkeys, lions and
+tigers (Bengal and Siberian) using the alternative syntax index
+entries.
+
+
+
+Note that multi-entry terms generate separate index entries.</p></div>
+<div class="paragraph"><p>Here are a couple of image examples: an <span class="image">
+<img alt="images/smallnew.png"
+src="data:image/png;base64,
+iVBORw0KGgoAAAANSUhEUgAAABsAAAARCAYAAAAsT9czAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A
+/wD/oL2nkwAAAAlwSFlzAAAOwgAADsIBFShKgAAAAAd0SU1FB9kEGQU1DxUxRF4AAACkSURBVDjL
+3VXbCoAgDD2Wwf7/awcR9mRM23QSWDQQ5i5tZxcLKSXMogUT6bvBjmNLLV1LDwBB61nttK570GSt
+BKQ+81ewXlZPKAdbagEAEJXG+U5UHs3WkgFAtMpFBDDfHTSZB1VzQJjtrEfkJrK6b1pADZm0kbxE
+5Rr9XtmynrnkteSjZ4csFJ7+vTb60buosv4jS999QeqPao6yPF6f8NtfzAno2HZ/Qe1mTQAAAABJ
+RU5ErkJggg==" />
+</span>
+example inline image followed by an example block image:</p></div>
+<div class="imageblock">
+<div class="content">
+<img alt="Tiger image"
+src="data:image/png;base64,
+iVBORw0KGgoAAAANSUhEUgAAAP4AAAEDCAMAAAAiM0kQAAAAdVBMVEUAAAAwMDBIAABgZGBgmACY
+JACYmJiYzDCgGCCgJEiwMFiwZGCwsLDIPEjIcCDIzMjgZIjgmJjg5LDofDjojEjojFDolFjomGDo
+pHDoqHjwsIjwuJDwvJjwxKjwzLD4cHj42MD43Mj44ND45ND48Oj4/Mj4/PhwEGyGAAAYuUlEQVR4
+nO2diXrbuBGA0WzcJm1NZldOLMuyoo1kvP8jlrjnBECRstI4820smgSB+WcGg4OU19h3LebWCtxW
+fuO/Z/mN/57lN/57lt/471l+479n+Y3/nuU3/nuW3/g3FxNFv2L0IgubXrvCea3reOzSVWxwO3yd
+rUK+tgFuhd9GpDIMVzDATfAluB5+J+vyvz2+Cgbh4BVecD0DvC1+w7OIdRhEq8BTKyi0vIrupjpC
+O5MOVORY6WmwWmRVwmpLLQGUIu5cA6TSVaXWpmzoAgkEA1SNQ01VN8BU6p8/Cz5lkxOdEguyceoG
+8NzjT4Kv4akWkIcCck4dLxL1mI9uiV8nbPAP/fcgdPuz4CPdJcoKB0v9HQYoLf8M+IRDIqw5chiI
+CVr8oOnb4xeGGmNVlAgw4kwZNX5z/KztxfCiCcKnVOnPhG/4CLdCHOTfWvQd077r4VN1g8Maqas3
+tWvys+DjFIWt0GeBVkps098MHzueh38dDiV7uZhyHmvxx43wqecVRJW/bQB9pgfVuA0+pL+0HzcM
+MAe/qurV8GUt5xpDNoBmVKRGR+xfAx/QazRLDaDVgPW4CX6i5w7rS+ncaPwupYZ/QD16nH8lfBSe
+uBv3bOlq/KBK+U6kxw3wjaH01fyt4MsLwwFV2sLvcv7q+AOmr7tcuSScpeHTxhdOXR2f0LfCXY0K
+ecMf8Dfx+5x/BfysW7urayVQN+f8Ov5YNLkRvkFxX4M3PKYFfM4ff6vydzp/XXyyVd+T5AfRAuhe
+kkaq+H/Mo78Cfj+7YAERf8Dlavj/GCH92+JD+l54xQBkiQiLGV4C8v8xSTf96vh1+I41Pl8mDpi/
+jo/kzfHretUMg/lBSdwn6ntdc+lXxA/gEqEbDpj2FQMY7GjZFG3+LqVXox/8oEeClhFVTACvk45w
+Ef+b43NQylPDN7w4Y8a3V/n7tF6XHnsxQQzsHPe4LIwZW6/C36n2qvgSkXDu6enJq/jVSxOfzqbA
+0K/y96q9Jn7yTp3+6Wkq/1IEmICVZcytTcB59Gvhq0lPoP+Bbw0mkEvjCgV8Zb00vHHws3mKRv81
+0Yf3N7MJvkp8tEbB/wJ6vPCm+LIODP/rjx+ofLr/h+cnt7M6hQb0fZG3m/bEDMSjk/ye4IG5Cn8H
+vsRvQNPzDbAGvnmeanl+fha7LqLPdzB8++Ophk93RqQ2pItvgg+goFoER/A99A93P49qDoiEG+At
+9vqeGT4MSE6PbJB/z+43FKbu/jp/IwDWeS92ojAFPyqA/V+Snk3MJARepGFe5ZcNMJd/Bfxnx0Hw
+w0fRZ/j6kge8zF9Q/K+T+6HuLXxpCiB2j+s+4c3OT/hFfaDvC+j3Cr59GiA/xZeCQnF9P/86+Dbi
++33erAxSLBfviP4afqX73wLfDJ4m4pNQBL+VG4yNwIS+5H4Zv9375/Mvx8/ZDDbJtKP4gd9Cejz0
+cXo+IiznXwHflK6MFYERIOJbcBQzRwd+D/9Atlg0zJW8D+lLAgb85kXCRwcRX3IkdaZ2QZ8YKZzL
+8I2B9CXjm7ATATIAwC/UJh7MRKyNfhr/FfDDrCatXYHzEzsIwYxvktUyfkHxvZ+hCL934PfxL8L/
+26k+YvzInfAz/wu8EfZ8gELxdcfq+Br/6vhmCPgjSvsAPeYwhm9why/0FvHX4lqnVy0jki7B/zsQ
+jNGHkB4GPuUH9Gzt59Y9GUMBq/m4dklCXYA/pPtHm1vL1GzoyfgJ1cSggfQAX1AfQqGwkfGZWa6A
+7/vxWLw/gKAV8QFrCYQiT/leBZ+6mKMqRhH5L8bHGPPwEX1cL2F8MXjhKRXfkDCBd6yGT2J2BPhQ
+RQlftGJW7QmwcXoZn5YTjTeUldZifGT5fIbi49wddvqEF09RF1CxyCmVXt8QW63vGypkn0/Hb7x4
+qUW0NgMSvWzirOtq+P5GV+Oz0/ijA/iWFEETV4pfffFwpEblLhXwBUy0dqjzL8Mf3EbXx48OX24R
+42N6mD1Hxi7Bcnto474waRL5F+Nbh//R4Q9pvFfxgUTcMUgKgycZXw+HCv9V8U3B/5eTb3cqt4CP
+4EH8P2E0nV5PfaaCz/kX4n97vgB/xLNdsP6ReUVOnd/McP9C/OHb34H/W4u+4Ps54sePLmUUxxNe
+NMwrlAq/2ick/mX4xq/6JvrnJn3Gd9H+0Yv9F8J/AbjDsIFbRXXvk8Gmxr8efpRv/inHczP2C370
+vO8zJfLhfsl0tHl42IB5dLf7jfQKuM5/6aQX+OR5kjZ9wh8DuEkfxZgQa9g8Pm6p+3vw4+297l+A
+P5QO2kEf8cfAbRA+VDbybDbbnTGmmuLEC/FEp/s78MWVEmqthz7P+VPUl+Dn9A5/5/C3D4qTEb+A
+r07CZuOLKyXY3t1dt/dNcnsUtlwAsPuDMbttDz4PfpWfLrk68AUDoGVdP75h+Ljfh0V5cP/ucDwe
+DvttD77ML+ITji58xg+r7qPPmR/y5+2upHl53jHsjsfTeTJAFz64KhVV+S/Dx/Q98JONsvcNo/cK
+w7ngdMdmfzqf7WQAilmi+83w6VIVcFWAkfgVn5OXl6jvi3kpquKJsDuzO55dY+djPqumCeH8QnxD
+dybwtQKpkX/wkumn4BeclM54NJLLN/tzbi6ibzYQpIqv8fd7nyzPEX4UgR6RFwMMX5lSQHdpo2ez
+O2c/hLP73TQX1PA3URr4mL8e/PitBGYA7vuIDs7fJQNo07DsWurJzeM+NJtPH/b7x8dkgA25xzw8
+PHrZwEoW4cPr+LYhTPYwvkdn7d1FfgHbgMkzi+PN4y7tg8bzUx7c7yYD+KsP9K5dElzNIvxSgLjf
+Jz2EJKFH/g8EH6rHXJ/UDl4EwWZcHtx7A0xBzvDNfr8/OKnzz8Q39KDQd831B98lEL+xKFENA0l6
+2UT71PsT/mSAqQfsDJfIfnTCK9P42wNf4Uf4hBz8Cke7dCqkwIwFZ3myik4ed/sjdL7Jh8Je+zHI
+NFc4g6FyI9U9C99y/Dsp4xf4D0hC0bucD5HrrUjvu/y05N3tifuLsAA4TeLQnbvO5fSGG6CBzya4
+hn7qUe/h8ak0CEZ++DhQpg9zgM3D4zbhswfB5+NxT/GztlgeyVyhhY/agdzh486nfAWfwcce4APC
+JQBPnKJfpA/wjj7hE/RsAIxJ9c9hsnsE/L75uvdTJaCMyfhhba/gQ3jaB2JP8GheL5E+wg9uDN86
+fBPHPsYPIxxdou4/7HZwrkQGcAXfwk5gMn6NfgLOx3DuAw1hwnuvYNCS4QM9QOP4mF/FP59Oh902
+889Y8BJ+p5xHUn1fguDDAI7Lb8ZMx0lfqGTyzJSqHjz8Y7xwRPN+qp9Aj+ud+M6TAfY5AGat90vS
+N+FnxfkfAH2JB5QLPKYLATbVmaYx/qOwuxL7wzSQ6fgsI3J8r/hkgONu+zAfH3xPxeZ1bpM+e54W
+BOt0a7aPRcmHh/ATsU/zmOPxDFO/iq9ZJY8ULgC28/Fz1g8vY+r4INrTASuT6T9M1U1z07SPFSI9
+W8Opv/OTOD+L6cE3yulyZQqAvcCv9yfCb9JUT6bPJyv05e/aTNWdjsAAKFqRoHFfcE6TP52bAuC4
+beHnNEtnOz4n6z2f0QuSt9/D2H/2BuD8FVHhO/B9ADS9D+2Apjsm4+uAVQkzjjDr8oY4ewOshC8m
+P0suOP4WfrrFGwDgx/Vt386m7HxAHxIgnrrMpNfw0Tl818nM6PvG2FJFxL+A3o9mD76uSA/kfLqQ
+3uA0IVuFAdJ6lOVNLGjSV7SmuX4DP260SfB+C8pX9/AQ53shHFzdZx8BHWFQc73Gb6kY2z3pTQb2
+R2UGq8DHQVuE3263zo5mG8b6qWQa/UtSn81v1asr4RcDNPA9/GPgfMTnw8md37ULu3CuzOND2eOx
+KSTn4rdTn3APN0fLAM5xdzX8CO8xd4V/swkrl+nstHKzJqzQ3V7kNoRA0i9rOscAtHxRuOX+Ofip
+rru7TaDn+CnAHdje7URGeHc+wu9jIrVmGuoOY35yu43K5vU11LnOr16qe34Ovom+9zv6fs0k4Ecf
+B3a33bjL/SHAT5NXYy3q3f7Ftunq9gQnWJrpRX71UpWejQSNlrP3w/MFhh8jPMD7vcbTaRdcHz3v
+Nl/TdoX/5kt4qW8cD/vprpMwOlUY9aVdL38XPupBIfNv3eOFu9gJcM7bJvjTyUyLlFN0vYd365aY
+P6m+o9uZPpmqGlV+Ofml388d/FoPKZVG79/5TTPXBzYE3tMfguONX6GdQ8YLq7bTKTg71RSbcLsQ
+x3G6aQR/YVPDt7pPOb9sqTn4ltrSOvzdw+buzj9hCfLwkLfkDh7+dI63nZPrD6dTmtZZZwPUyPnk
+o2UM5wVNBOfXxj96Ygk+bM+43Leb1qcPdy4HAAnbsYdAfy61nYPrvUW8jEZystuYd//zpMDPE7uo
+l66rjg/bNsoxrJBWPuEfJ/4pBWwfAbyjPwT6M6osun6M7++OeoD79zzDddHHzQhg56VSQIEWvrS6
+cPgT/900rrtZW5Stpz8menBfSAVjjPpaMDJ+Bo0xaQjwkmJ7YzZAA1+2yON2SlWHu8PeG2Cb9mn+
+/PPPCI9ixrpMkNNdsaJUs7HgjX4MgylQXRI94ccNhW+btvGFWieMx73bLoHn/gTC2zufIz0MO75s
+E9qCLLBWagtZURU/jGeEWRn40t2Z3rgvLZ6PiJkIizZ/q97r/bWs92hSAoQkgIIRsV6SbaLil38V
+fH5nOnOq4Av01liN3qTZX6g6fKsD9E9ofoAkVoRdX8cPS48avjK0+IOZvlfomb6JP8eKqcX2pfgp
+XtgZoRCFj7f20Y8GG1nQl9glf6FpTIU4XROfjRENso4zOfjCz27fqzOK8A2m5tpeljn4QtmOM7R2
+XJDzC22Nsu0bIBUdKrdeGT/XZw/+aAL+j+r10roGIX1dsV8IMThGA4NqYDkbNuhjbR7fIsfX7hLp
+K37MJ8eR/08WCKxhEwYLB6xYz3J8m6vNBYv7Z0RwxMIDO9/eHUE5ACLlsnRGuJTw+bAzHz9VXQpC
+fjXMOL3gDsWzXfgWkMv4cJ6frzR+5xqykuY/Wfr4DfyiLiuNJ39AeQii3AnjiF2wYTit4tY1R3Ps
+Qz7M+FLa53Ugx0OdbZ4eRVWLjZDfayFO6sP4zACz8Mk8Km+eEX69AreQlb0OtC5F4hH4TnfF+wyd
+zvqSDjX+Oj6obvooe4cGhb+GbsA0ltlgxF/Zh3+9oHgMwzfwsb6oJXmvo4FfagufYOsU8rPbQEYn
+E6DCKo7/2STQYcW5FfqUKiR8FABzvE+KwJ1jo+CDQC3PR0W9SXxDK2DtM6BkSSkuhGmPvNfTg4/0
+gE1EfPkmk96GYjfmKAeLm8xn0xQBEEBGuqoR6aVZX+lP8/ChG8gFnd7fhfmh3jS/Z2ybjy32eokj
+Ot9Ds118hfGj6VsnPjjEz02kRjh+XmQXIpoNEabNx5kXNoStJgSXhg83FPvxa4Ur+NHQIFwNimqQ
+zu+pBQpjZlMApeb1S24VXsVTMLTCVffb4n7m5nTqfhJqgNQJLCorTHK0xvVr40VLHlQ1b0krGP2X
+lAkbQCMIa08fDICJmJl0C8zCF2jn4RMDqM3kbQKbu4CJw0G67V42wDgC52s+vx0+Yu7Chz8Bf6QW
++OODsTIKzKKHwaOoVTvRKXUtcppmP0Mo3E+f98AAsDI/QvcZoKqafK3x+wz56y9VDz5fSb3GMzng
+wH9f4qDgl5vhrIj0hYpib4M/8U/y+iq0lZX0RaYPyFfiPR5M//4N+WEt0AC2FXSodflS4/c58leU
+VzU6M/5fE+I9cPc9DgAZ35boz/PGgl4xQMU4dOxegG8Sv28OG+GV4GfqT+ae8k8G+Dfkx3MN6HxL
+XMspi42ujp/5zdQD3H8B+9X/i/yvTvyp+zzKifwAnhvAEH501ZLCvIwOvBL+pHMCT/xe43vP788m
+/E/mnvGj4BeZKkCsqIh/6YK32thrkDSpid6L1vABbyL+PcTPkgZAGPyRglF149NFQpDLFryN1iJ+
+aTtWGlHuo/uR9xF/SPxOsI+FDtClUO4/Cv+q+JGfd8uMH9z/+irjf//+3ZjvEj42wEx8ubjw/txS
+fMQv4t/HEoF2wp96/ncoGj4wQH/fb/KvjW8QPtEC4EfYT44Xi9Hw4TjWhW+Q8OsjXfMux/f+z2oS
+Te4zf2T+JOAj71eYOpRp86+O7/hRugavKPqAh+7/FHo7wf/iRGVs4tOYq9xwHfzXONnIr0+mTa2A
+l/E/fRfwA30bvzbJt4xdKb8+fnR/oPcnx6yMhE+jvxu/Nsfnru/hXwXf5b/wCmM4Bx7jf8/8JtPX
+8GW2Bn/GpfyqwuIvl0ge8q3fz0unUfBT/Fldvx3Pyn6IsLPJiBdPe8oReJ6Xn9h/yfwt+gX4Mr2x
+7HUKTrwePngyV4I/4Yd018Zvw8FL4uMSgC+93WPWxAcKZe2gUl8K/4WxXx3MRn69wb/met/mZ1hR
+0dGWlRXB/67h9+d9ocRYxW/zr5X64jO0Mq2I9BD/oq7fwK+9J2gF/nW9D+n9yGcIfsv5ZiY97bkV
+epH/Ovjgjb05+Am+N+9T/IZkza6OX5TR8Tn95y91fAWpkz4OQ4h/7dSX6eMDfPiFhC9fqvwT/eca
+vUrUxEeBWONfA58sc0OTbXxA38S3pGvV6XNxgX91fLrIL99NaOBTeh0fVt6JD6ck6EWxlfHB0B+2
+d/NX8jzZZ5U/p72ET5IUobdkylahN7S0+mLfMvz8x00S/mt4Nw/iE/682Gd5D+NzeAtTy1x8hX8h
+vsFVpKcbBtBr+J+Z81EXFeB9WyMtoOLDXqm92LjU+wz/leEjfpN2vT5z5wue5U2i910FcHAXvH3M
+u5zrrvfhmm/M/LZMaFz4B5d7/VJ8CPQUX26PvySs4dPbDA3WNfHDWxnxmZcB+CECHLH7dJfdQRtf
+axB/JySUB1+JrODHkUpQfil9Uj499Yq0VMKun6dPBij0GF9tMb79giOkvLKoRk1ivwJ+eWP4tUiJ
+AYL/BYqAX7jY1zHiSZYc2vh8jmaX48eZboxHi/kBKsRH/ICefoE3fcODGQB86aOc87XUifilFfBj
+q/ntXRE/5kB20oj4iXKU+aUviIwkfSjKNs/ME/A37fJ4k8gp/QSr4UNKMFeVDABzPdLESIHSgF08
+6TXZAkWP0vXdktf/5zi/GBYSRsKP9YyjwG+gIFWUjlKHXYoP/txWOZfe6IGqvsZXfhA/pk8DOsYp
+/Ah9pPi2iS8MJ8snvWmGCRpJxOY1vfT0Gl9ywPgSPcQ3kpSLRBk5TUi6roYPKkeC6FAIhG4h0WP8
+ET2LNvmpRbTAKPyxpwq/4HgCsI7kR220dzPjMHqKT2sufczIEwIZP+9EyequKTkr/xeKGMOG0SM/
+Cd+8ADNW/whjZHNjjV/z/cr40W91XJUe4yvV59F1TEs4YAI5+al/SsKuiy9kv9n0EV95Ogn31eB7
+Omi0oHexF3oklZcL2lxgaTsyqvAIXwp92hqm8rfFuSN/EvYG+GRvwdJ5S1MSh9WcT9ojVNmelr/Y
+cH18Th8OIB4kRZ8kaDucz/HDueT8zoXdWvgoAeeDkeKNpXvCT9Jl+5SSEpopsd+1rF8JX6S30bs0
+JaWXv8rnZfjS2Hg7fLnDYlR4Up2f9+oklQNdwmhvsV/QVIciEk06R/Aj/xV0gg9dShPXxjfkRSLq
+c4oPCgn6LOIHU4OyLayWXtASbNLw6IY9urEPQfRZCT+EP5kYC80tlTDjsCDW/Q+e7YiI7kdbJ5cp
+Aw7z9naz8CLx+IgeIUtdX6vJ6FP02VqFf2+Abwp+u5trfSFuSazG34ykVfGjSEkQlxYzoUl/xlse
+0i9TqwF4hXakOJeWYUIVueOvxX8DfCRaR+D4aKr+/4af9zrI2c7hvmiyOv+Sy3MbGkn2E2c7yl5G
+9ddFWl18eWZDZaVryQGULv7Vsl9V1vZ++FeWvGLRt3R/XdbFZ1s1ymgo30xOvQX/mvh8kxZMBRv4
+wjOY/zN8U/p/3sjgyVBVY72p7gxZNfhz8k/4VhgL1DtrK7Nryaot5uQ/Ez9Z7tfCh8veUcDPhyuu
+8WbKVfDH8DQerfrTdgDcBCj33SDuY8vrVjbmrl/wcygAfDRCVpfkV5XV8ePDVxv+PFvY2Y+XQb8w
+cI54K/a1WzY2/y8Gcm8eDZ4KS/i3418Xv7xTm/DHHAZ2LPgmBMovh5/qzL15zJ18VPBvNOQFWT3z
+WwE/TocyPtzRSz9vI9doNxIFxyfnxndMRpPwR4j/S2T+XGfBT3BjeAXQDQSFOs12r6RHl6pXqNPE
+n5krz+pHFPO/Jn6uunAV5vJ3iy08/vXwLcc3FuOjXHkLuW6zRsA36HL4/DWWPFLtET+nQXFx84vi
+ly0M4Gi53HX10OTqzXbiX1sNRd6qXUM+b6TGjdvVgvy94L9tc0352fR5Y/mN/57lN/57lv8B8ElD
+m2i9J54AAAAASUVORK5CYII=" />
+</div>
+<div class="title">Figure 1. Tiger block image</div>
+</div>
+<div class="paragraph"><p>Followed by an example table:</p></div>
+<div class="tableblock">
+<table rules="all"
+width="60%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 1. An example table</caption>
+<col width="50%" />
+<col width="50%" />
+<thead>
+<tr>
+<th align="left" valign="top"> Option </th>
+<th align="left" valign="top"> Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">-a <em>USER GROUP</em></p></td>
+<td align="left" valign="top"><p class="table">Add <em>USER</em> to <em>GROUP</em>.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">-R <em>GROUP</em></p></td>
+<td align="left" valign="top"><p class="table">Disables access to <em>GROUP</em>.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="exampleblock">
+<div class="title">Example 1. An example example</div>
+<div class="content">
+<div class="paragraph"><p>Lorum ipum&#8230;</p></div>
+</div></div>
+<div class="sect2">
+<h3 id="X1">1.1. Sub-section with Anchor</h3>
+<div class="paragraph"><p>Sub-section at level 2.</p></div>
+<div class="sect3">
+<h4 id="_a_nested_sub_section">1.1.1. A Nested Sub-section</h4>
+<div class="paragraph"><p>Sub-section at level 3.</p></div>
+<div class="sect4">
+<h5 id="_yet_another_nested_sub_section">Yet another nested Sub-section</h5>
+<div class="paragraph"><p>Sub-section at level 4.</p></div>
+<div class="paragraph"><p>This is the maximum sub-section depth supported by the distributed
+AsciiDoc configuration.
+<span class="footnote"><br />[A second example footnote.]<br /></span></p></div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_the_second_section">2. The Second Section</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Article sections are at level 1 and can contain sub-sections nested up
+to four deep.</p></div>
+<div class="paragraph"><p>An example link to anchor at start of the <a href="#X1">first sub-section</a>.</p></div>
+<div class="paragraph"><p>An example link to a bibliography entry <a href="#taoup">[taoup]</a>.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_example_appendix">Appendix A: Example Appendix</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc article appendices are just just article sections with
+<em>specialsection</em> titles.</p></div>
+<div class="sect2">
+<h3 id="_appendix_sub_section">Appendix Sub-section</h3>
+<div class="paragraph"><p>Appendix sub-section at level 2.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_example_bibliography">Example Bibliography</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The bibliography list is a style of AsciiDoc bulleted list.</p></div>
+<div class="ulist bibliography"><ul>
+<li>
+<p>
+<a id="taoup"></a>[taoup] Eric Steven Raymond. <em>The Art of Unix
+ Programming</em>. Addison-Wesley. ISBN 0-13-142901-9.
+</p>
+</li>
+<li>
+<p>
+<a id="walsh-muellner"></a>[walsh-muellner] Norman Walsh &amp; Leonard Muellner.
+ <em>DocBook - The Definitive Guide</em>. O&#8217;Reilly &amp; Associates. 1999.
+ ISBN 1-56592-580-7.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_example_glossary">Example Glossary</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Glossaries are optional. Glossaries entries are an example of a style
+of AsciiDoc labeled lists.</p></div>
+<div class="dlist glossary"><dl>
+<dt>
+A glossary term
+</dt>
+<dd>
+<p>
+ The corresponding (indented) definition.
+</p>
+</dd>
+<dt>
+A second glossary term
+</dt>
+<dd>
+<p>
+ The corresponding (indented) definition.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated
+ 2021-01-30 05:17:57 UTC
+</div>
+</div>
+</body>
+</html>
diff --git a/article.fo b/article.fo
new file mode 100644
index 0000000..32e8a94
--- /dev/null
+++ b/article.fo
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="serif,Symbol,ZapfDingbats" font-size="12pt" text-align="left" line-height="normal" font-selection-strategy="character-by-character" line-height-shift-adjustment="disregard-shifts" writing-mode="lr-tb" language="en"><fo:layout-master-set><fo:simple-page-master master-name="blank" page-width="210mm" page-height="297mm" margin-top="0.5in" margin-bottom="0.25in" margin-left="0.5in" margin-right="0.75in"><fo:region-body display-align="center" margin-bottom="0.5in" margin-top="0.5in" margin-left="0in" margin-right="0in"/><fo:region-before region-name="xsl-region-before-blank" extent="0.4in" precedence="true" display-align="before"/><fo:region-after region-name="xsl-region-after-blank" extent="0.4in" precedence="true" display-align="after"/><fo:region-start border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-outer-blank" precedence="false" extent="0in"/><fo:region-end border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-inner-blank" precedence="false" extent="0in"/></fo:simple-page-master><fo:simple-page-master master-name="titlepage-first" page-width="210mm" page-height="297mm" margin-top="0.5in" margin-bottom="0.25in" margin-left="0.75in" margin-right="0.5in"><fo:region-body margin-bottom="0.5in" margin-top="0.5in" column-gap="12pt" column-count="1" margin-left="0in" margin-right="0in"/><fo:region-before region-name="xsl-region-before-first" extent="0.4in" precedence="true" display-align="before"/><fo:region-after region-name="xsl-region-after-first" extent="0.4in" precedence="true" display-align="after"/><fo:region-start border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-inner-first" precedence="false" extent="0in"/><fo:region-end border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-outer-first" precedence="false" extent="0in"/></fo:simple-page-master><fo:simple-page-master master-name="titlepage-odd" page-width="210mm" page-height="297mm" margin-top="0.5in" margin-bottom="0.25in" margin-left="0.75in" margin-right="0.5in"><fo:region-body margin-bottom="0.5in" margin-top="0.5in" column-gap="12pt" column-count="1" margin-left="0in" margin-right="0in"/><fo:region-before region-name="xsl-region-before-odd" extent="0.4in" precedence="true" display-align="before"/><fo:region-after region-name="xsl-region-after-odd" extent="0.4in" precedence="true" display-align="after"/><fo:region-start border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-inner-odd" precedence="false" extent="0in"/><fo:region-end border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-outer-odd" precedence="false" extent="0in"/></fo:simple-page-master><fo:simple-page-master master-name="titlepage-even" page-width="210mm" page-height="297mm" margin-top="0.5in" margin-bottom="0.25in" margin-left="0.5in" margin-right="0.75in"><fo:region-body margin-bottom="0.5in" margin-top="0.5in" column-gap="12pt" column-count="1" margin-left="0in" margin-right="0in"/><fo:region-before region-name="xsl-region-before-even" extent="0.4in" precedence="true" display-align="before"/><fo:region-after region-name="xsl-region-after-even" extent="0.4in" precedence="true" display-align="after"/><fo:region-start border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-outer-even" precedence="false" extent="0in"/><fo:region-end border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-inner-even" precedence="false" extent="0in"/></fo:simple-page-master><fo:simple-page-master master-name="lot-first" page-width="210mm" page-height="297mm" margin-top="0.5in" margin-bottom="0.25in" margin-left="0.75in" margin-right="0.5in"><fo:region-body margin-bottom="0.5in" margin-top="0.5in" column-gap="12pt" column-count="1" margin-left="0in" margin-right="0in"/><fo:region-before region-name="xsl-region-before-first" extent="0.4in" precedence="true" display-align="before"/><fo:region-after region-name="xsl-region-after-first" extent="0.4in" precedence="true" display-align="after"/><fo:region-start border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-inner-first" precedence="false" extent="0in"/><fo:region-end border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-outer-first" precedence="false" extent="0in"/></fo:simple-page-master><fo:simple-page-master master-name="lot-odd" page-width="210mm" page-height="297mm" margin-top="0.5in" margin-bottom="0.25in" margin-left="0.75in" margin-right="0.5in"><fo:region-body margin-bottom="0.5in" margin-top="0.5in" column-gap="12pt" column-count="1" margin-left="0in" margin-right="0in"/><fo:region-before region-name="xsl-region-before-odd" extent="0.4in" precedence="true" display-align="before"/><fo:region-after region-name="xsl-region-after-odd" extent="0.4in" precedence="true" display-align="after"/><fo:region-start border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-inner-odd" precedence="false" extent="0in"/><fo:region-end border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-outer-odd" precedence="false" extent="0in"/></fo:simple-page-master><fo:simple-page-master master-name="lot-even" page-width="210mm" page-height="297mm" margin-top="0.5in" margin-bottom="0.25in" margin-left="0.5in" margin-right="0.75in"><fo:region-body margin-bottom="0.5in" margin-top="0.5in" column-gap="12pt" column-count="1" margin-left="0in" margin-right="0in"/><fo:region-before region-name="xsl-region-before-even" extent="0.4in" precedence="true" display-align="before"/><fo:region-after region-name="xsl-region-after-even" extent="0.4in" precedence="true" display-align="after"/><fo:region-start border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-outer-even" precedence="false" extent="0in"/><fo:region-end border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-inner-even" precedence="false" extent="0in"/></fo:simple-page-master><fo:simple-page-master master-name="front-first" page-width="210mm" page-height="297mm" margin-top="0.5in" margin-bottom="0.25in" margin-left="0.75in" margin-right="0.5in"><fo:region-body margin-bottom="0.5in" margin-top="0.5in" column-gap="12pt" column-count="1" margin-left="0in" margin-right="0in"/><fo:region-before region-name="xsl-region-before-first" extent="0.4in" precedence="true" display-align="before"/><fo:region-after region-name="xsl-region-after-first" extent="0.4in" precedence="true" display-align="after"/><fo:region-start border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-inner-first" precedence="false" extent="0in"/><fo:region-end border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-outer-first" precedence="false" extent="0in"/></fo:simple-page-master><fo:simple-page-master master-name="front-odd" page-width="210mm" page-height="297mm" margin-top="0.5in" margin-bottom="0.25in" margin-left="0.75in" margin-right="0.5in"><fo:region-body margin-bottom="0.5in" margin-top="0.5in" column-gap="12pt" column-count="1" margin-left="0in" margin-right="0in"/><fo:region-before region-name="xsl-region-before-odd" extent="0.4in" precedence="true" display-align="before"/><fo:region-after region-name="xsl-region-after-odd" extent="0.4in" precedence="true" display-align="after"/><fo:region-start border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-inner-odd" precedence="false" extent="0in"/><fo:region-end border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-outer-odd" precedence="false" extent="0in"/></fo:simple-page-master><fo:simple-page-master master-name="front-even" page-width="210mm" page-height="297mm" margin-top="0.5in" margin-bottom="0.25in" margin-left="0.5in" margin-right="0.75in"><fo:region-body margin-bottom="0.5in" margin-top="0.5in" column-gap="12pt" column-count="1" margin-left="0in" margin-right="0in"/><fo:region-before region-name="xsl-region-before-even" extent="0.4in" precedence="true" display-align="before"/><fo:region-after region-name="xsl-region-after-even" extent="0.4in" precedence="true" display-align="after"/><fo:region-start border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-outer-even" precedence="false" extent="0in"/><fo:region-end border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-inner-even" precedence="false" extent="0in"/></fo:simple-page-master><fo:simple-page-master master-name="body-first" page-width="210mm" page-height="297mm" margin-top="0.5in" margin-bottom="0.25in" margin-left="0.75in" margin-right="0.5in"><fo:region-body margin-bottom="0.5in" margin-top="0.5in" column-gap="12pt" column-count="1" margin-left="0in" margin-right="0in"/><fo:region-before region-name="xsl-region-before-first" extent="0.4in" precedence="true" display-align="before"/><fo:region-after region-name="xsl-region-after-first" extent="0.4in" precedence="true" display-align="after"/><fo:region-start border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-inner-first" precedence="false" extent="0in"/><fo:region-end border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-outer-first" precedence="false" extent="0in"/></fo:simple-page-master><fo:simple-page-master master-name="body-odd" page-width="210mm" page-height="297mm" margin-top="0.5in" margin-bottom="0.25in" margin-left="0.75in" margin-right="0.5in"><fo:region-body margin-bottom="0.5in" margin-top="0.5in" column-gap="12pt" column-count="1" margin-left="0in" margin-right="0in"/><fo:region-before region-name="xsl-region-before-odd" extent="0.4in" precedence="true" display-align="before"/><fo:region-after region-name="xsl-region-after-odd" extent="0.4in" precedence="true" display-align="after"/><fo:region-start border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-inner-odd" precedence="false" extent="0in"/><fo:region-end border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-outer-odd" precedence="false" extent="0in"/></fo:simple-page-master><fo:simple-page-master master-name="body-even" page-width="210mm" page-height="297mm" margin-top="0.5in" margin-bottom="0.25in" margin-left="0.5in" margin-right="0.75in"><fo:region-body margin-bottom="0.5in" margin-top="0.5in" column-gap="12pt" column-count="1" margin-left="0in" margin-right="0in"/><fo:region-before region-name="xsl-region-before-even" extent="0.4in" precedence="true" display-align="before"/><fo:region-after region-name="xsl-region-after-even" extent="0.4in" precedence="true" display-align="after"/><fo:region-start border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-outer-even" precedence="false" extent="0in"/><fo:region-end border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-inner-even" precedence="false" extent="0in"/></fo:simple-page-master><fo:simple-page-master master-name="back-first" page-width="210mm" page-height="297mm" margin-top="0.5in" margin-bottom="0.25in" margin-left="0.75in" margin-right="0.5in"><fo:region-body margin-bottom="0.5in" margin-top="0.5in" column-gap="12pt" column-count="1" margin-left="0in" margin-right="0in"/><fo:region-before region-name="xsl-region-before-first" extent="0.4in" precedence="true" display-align="before"/><fo:region-after region-name="xsl-region-after-first" extent="0.4in" precedence="true" display-align="after"/><fo:region-start border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-inner-first" precedence="false" extent="0in"/><fo:region-end border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-outer-first" precedence="false" extent="0in"/></fo:simple-page-master><fo:simple-page-master master-name="back-odd" page-width="210mm" page-height="297mm" margin-top="0.5in" margin-bottom="0.25in" margin-left="0.75in" margin-right="0.5in"><fo:region-body margin-bottom="0.5in" margin-top="0.5in" column-gap="12pt" column-count="1" margin-left="0in" margin-right="0in"/><fo:region-before region-name="xsl-region-before-odd" extent="0.4in" precedence="true" display-align="before"/><fo:region-after region-name="xsl-region-after-odd" extent="0.4in" precedence="true" display-align="after"/><fo:region-start border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-inner-odd" precedence="false" extent="0in"/><fo:region-end border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-outer-odd" precedence="false" extent="0in"/></fo:simple-page-master><fo:simple-page-master master-name="back-even" page-width="210mm" page-height="297mm" margin-top="0.5in" margin-bottom="0.25in" margin-left="0.5in" margin-right="0.75in"><fo:region-body margin-bottom="0.5in" margin-top="0.5in" column-gap="12pt" column-count="1" margin-left="0in" margin-right="0in"/><fo:region-before region-name="xsl-region-before-even" extent="0.4in" precedence="true" display-align="before"/><fo:region-after region-name="xsl-region-after-even" extent="0.4in" precedence="true" display-align="after"/><fo:region-start border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-outer-even" precedence="false" extent="0in"/><fo:region-end border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-inner-even" precedence="false" extent="0in"/></fo:simple-page-master><fo:simple-page-master master-name="index-first" page-width="210mm" page-height="297mm" margin-top="0.5in" margin-bottom="0.25in" margin-left="0.75in" margin-right="0.5in"><fo:region-body margin-bottom="0.5in" margin-top="0.5in" column-gap="12pt" column-count="2" margin-left="0in" margin-right="0in"/><fo:region-before region-name="xsl-region-before-first" extent="0.4in" precedence="true" display-align="before"/><fo:region-after region-name="xsl-region-after-first" extent="0.4in" precedence="true" display-align="after"/><fo:region-start border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-inner-first" precedence="false" extent="0in"/><fo:region-end border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-outer-first" precedence="false" extent="0in"/></fo:simple-page-master><fo:simple-page-master master-name="index-odd" page-width="210mm" page-height="297mm" margin-top="0.5in" margin-bottom="0.25in" margin-left="0.75in" margin-right="0.5in"><fo:region-body margin-bottom="0.5in" margin-top="0.5in" column-gap="12pt" column-count="2" margin-left="0in" margin-right="0in"/><fo:region-before region-name="xsl-region-before-odd" extent="0.4in" precedence="true" display-align="before"/><fo:region-after region-name="xsl-region-after-odd" extent="0.4in" precedence="true" display-align="after"/><fo:region-start border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-inner-odd" precedence="false" extent="0in"/><fo:region-end border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-outer-odd" precedence="false" extent="0in"/></fo:simple-page-master><fo:simple-page-master master-name="index-even" page-width="210mm" page-height="297mm" margin-top="0.5in" margin-bottom="0.25in" margin-left="0.5in" margin-right="0.75in"><fo:region-body margin-bottom="0.5in" margin-top="0.5in" column-gap="12pt" column-count="2" margin-left="0in" margin-right="0in"/><fo:region-before region-name="xsl-region-before-even" extent="0.4in" precedence="true" display-align="before"/><fo:region-after region-name="xsl-region-after-even" extent="0.4in" precedence="true" display-align="after"/><fo:region-start border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-outer-even" precedence="false" extent="0in"/><fo:region-end border-width="0" padding="0" reference-orientation="90" region-name="xsl-region-inner-even" precedence="false" extent="0in"/></fo:simple-page-master><fo:page-sequence-master master-name="titlepage"><fo:repeatable-page-master-alternatives><fo:conditional-page-master-reference master-reference="blank" blank-or-not-blank="blank"/><fo:conditional-page-master-reference master-reference="titlepage-first" page-position="first"/><fo:conditional-page-master-reference master-reference="titlepage-odd" odd-or-even="odd"/><fo:conditional-page-master-reference odd-or-even="even" master-reference="titlepage-odd"/></fo:repeatable-page-master-alternatives></fo:page-sequence-master><fo:page-sequence-master master-name="lot"><fo:repeatable-page-master-alternatives><fo:conditional-page-master-reference master-reference="blank" blank-or-not-blank="blank"/><fo:conditional-page-master-reference master-reference="lot-first" page-position="first"/><fo:conditional-page-master-reference master-reference="lot-odd" odd-or-even="odd"/><fo:conditional-page-master-reference odd-or-even="even" master-reference="lot-odd"/></fo:repeatable-page-master-alternatives></fo:page-sequence-master><fo:page-sequence-master master-name="front"><fo:repeatable-page-master-alternatives><fo:conditional-page-master-reference master-reference="blank" blank-or-not-blank="blank"/><fo:conditional-page-master-reference master-reference="front-first" page-position="first"/><fo:conditional-page-master-reference master-reference="front-odd" odd-or-even="odd"/><fo:conditional-page-master-reference odd-or-even="even" master-reference="front-odd"/></fo:repeatable-page-master-alternatives></fo:page-sequence-master><fo:page-sequence-master master-name="body"><fo:repeatable-page-master-alternatives><fo:conditional-page-master-reference master-reference="blank" blank-or-not-blank="blank"/><fo:conditional-page-master-reference master-reference="body-first" page-position="first"/><fo:conditional-page-master-reference master-reference="body-odd" odd-or-even="odd"/><fo:conditional-page-master-reference odd-or-even="even" master-reference="body-odd"/></fo:repeatable-page-master-alternatives></fo:page-sequence-master><fo:page-sequence-master master-name="back"><fo:repeatable-page-master-alternatives><fo:conditional-page-master-reference master-reference="blank" blank-or-not-blank="blank"/><fo:conditional-page-master-reference master-reference="back-first" page-position="first"/><fo:conditional-page-master-reference master-reference="back-odd" odd-or-even="odd"/><fo:conditional-page-master-reference odd-or-even="even" master-reference="back-odd"/></fo:repeatable-page-master-alternatives></fo:page-sequence-master><fo:page-sequence-master master-name="index"><fo:repeatable-page-master-alternatives><fo:conditional-page-master-reference master-reference="blank" blank-or-not-blank="blank"/><fo:conditional-page-master-reference master-reference="index-first" page-position="first"/><fo:conditional-page-master-reference master-reference="index-odd" odd-or-even="odd"/><fo:conditional-page-master-reference odd-or-even="even" master-reference="index-odd"/></fo:repeatable-page-master-alternatives></fo:page-sequence-master></fo:layout-master-set><fo:declarations xmlns:fox="http://xmlgraphics.apache.org/fop/extensions"><x:xmpmeta xmlns:x="adobe:ns:meta/"><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description rdf:about=""><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">The Article Title</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Author's Name</dc:creator></rdf:Description><rdf:Description xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about=""/><rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about=""><xmp:CreatorTool>DocBook XSL Stylesheets with Apache FOP</xmp:CreatorTool></rdf:Description></rdf:RDF></x:xmpmeta></fo:declarations><fox:destination xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" internal-destination="_example_abstract"/><fox:destination xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" internal-destination="_the_first_section"/><fox:destination xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" internal-destination="X1"/><fox:destination xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" internal-destination="_a_nested_sub_section"/><fox:destination xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" internal-destination="_yet_another_nested_sub_section"/><fox:destination xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" internal-destination="_the_second_section"/><fox:destination xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" internal-destination="_example_appendix"/><fox:destination xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" internal-destination="_appendix_sub_section"/><fox:destination xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" internal-destination="_example_bibliography"/><fox:destination xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" internal-destination="taoup"/><fox:destination xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" internal-destination="walsh-muellner"/><fox:destination xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" internal-destination="_example_glossary"/><fox:destination xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" internal-destination="_example_index"/><fo:bookmark-tree><fo:bookmark internal-destination="idm1" starting-state="hide"><fo:bookmark-title>The Article Title</fo:bookmark-title></fo:bookmark><fo:bookmark internal-destination="toc...idm1"><fo:bookmark-title>Table of Contents</fo:bookmark-title></fo:bookmark><fo:bookmark internal-destination="_the_first_section" starting-state="hide"><fo:bookmark-title>1. The First Section</fo:bookmark-title><fo:bookmark internal-destination="X1" starting-state="hide"><fo:bookmark-title>1.1. Sub-section with Anchor</fo:bookmark-title><fo:bookmark internal-destination="_a_nested_sub_section" starting-state="hide"><fo:bookmark-title>A Nested Sub-section</fo:bookmark-title><fo:bookmark internal-destination="_yet_another_nested_sub_section" starting-state="hide"><fo:bookmark-title>Yet another nested Sub-section</fo:bookmark-title></fo:bookmark></fo:bookmark></fo:bookmark></fo:bookmark><fo:bookmark internal-destination="_the_second_section" starting-state="hide"><fo:bookmark-title>2. The Second Section</fo:bookmark-title></fo:bookmark><fo:bookmark internal-destination="_example_appendix" starting-state="hide"><fo:bookmark-title>A. Example Appendix</fo:bookmark-title><fo:bookmark internal-destination="_appendix_sub_section" starting-state="hide"><fo:bookmark-title>A.1. Appendix Sub-section</fo:bookmark-title></fo:bookmark></fo:bookmark><fo:bookmark internal-destination="_example_bibliography" starting-state="hide"><fo:bookmark-title>Example Bibliography</fo:bookmark-title></fo:bookmark><fo:bookmark internal-destination="_example_glossary" starting-state="hide"><fo:bookmark-title>Example Glossary</fo:bookmark-title></fo:bookmark><fo:bookmark internal-destination="_example_index" starting-state="hide"><fo:bookmark-title>Example Index</fo:bookmark-title></fo:bookmark></fo:bookmark-tree><fo:page-sequence xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" hyphenate="false" master-reference="body" language="en" format="1" initial-page-number="1" force-page-count="no-force" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2"><fo:static-content flow-name="xsl-region-before-first"><fo:block font-family="serif,Symbol,ZapfDingbats" margin-left="0pt"><fo:table table-layout="fixed" width="100%" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:table-column column-number="1" column-width="proportional-column-width(1)"/><fo:table-column column-number="2" column-width="proportional-column-width(1)"/><fo:table-column column-number="3" column-width="proportional-column-width(1)"/><fo:table-body><fo:table-row block-progression-dimension.minimum="14pt"><fo:table-cell text-align="start" display-align="before" relative-align="baseline"><fo:block><fo:block/></fo:block></fo:table-cell><fo:table-cell text-align="center" display-align="before" relative-align="baseline"><fo:block><fo:block/></fo:block></fo:table-cell><fo:table-cell text-align="right" display-align="before" relative-align="baseline"><fo:block><fo:block/></fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:static-content><fo:static-content flow-name="xsl-region-before-odd"><fo:block font-family="serif,Symbol,ZapfDingbats" margin-left="0pt"><fo:table table-layout="fixed" width="100%" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:table-column column-number="1" column-width="proportional-column-width(1)"/><fo:table-column column-number="2" column-width="proportional-column-width(1)"/><fo:table-column column-number="3" column-width="proportional-column-width(1)"/><fo:table-body><fo:table-row block-progression-dimension.minimum="14pt"><fo:table-cell text-align="start" display-align="before" relative-align="baseline"><fo:block><fo:block/></fo:block></fo:table-cell><fo:table-cell text-align="center" display-align="before" relative-align="baseline"><fo:block><fo:block>The Article Title</fo:block></fo:block></fo:table-cell><fo:table-cell text-align="right" display-align="before" relative-align="baseline"><fo:block><fo:block/></fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:static-content><fo:static-content flow-name="xsl-region-before-even"><fo:block font-family="serif,Symbol,ZapfDingbats" margin-left="0pt"><fo:table table-layout="fixed" width="100%" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:table-column column-number="1" column-width="proportional-column-width(1)"/><fo:table-column column-number="2" column-width="proportional-column-width(1)"/><fo:table-column column-number="3" column-width="proportional-column-width(1)"/><fo:table-body><fo:table-row block-progression-dimension.minimum="14pt"><fo:table-cell text-align="start" display-align="before" relative-align="baseline"><fo:block><fo:block/></fo:block></fo:table-cell><fo:table-cell text-align="center" display-align="before" relative-align="baseline"><fo:block><fo:block>The Article Title</fo:block></fo:block></fo:table-cell><fo:table-cell text-align="right" display-align="before" relative-align="baseline"><fo:block><fo:block/></fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:static-content><fo:static-content flow-name="xsl-region-before-blank"><fo:block font-family="serif,Symbol,ZapfDingbats" margin-left="0pt"><fo:table table-layout="fixed" width="100%" border-bottom-width="0.5pt" border-bottom-style="solid" border-bottom-color="black"><fo:table-column column-number="1" column-width="proportional-column-width(1)"/><fo:table-column column-number="2" column-width="proportional-column-width(1)"/><fo:table-column column-number="3" column-width="proportional-column-width(1)"/><fo:table-body><fo:table-row block-progression-dimension.minimum="14pt"><fo:table-cell text-align="start" display-align="before" relative-align="baseline"><fo:block><fo:block/></fo:block></fo:table-cell><fo:table-cell text-align="center" display-align="before" relative-align="baseline"><fo:block><fo:block/></fo:block></fo:table-cell><fo:table-cell text-align="right" display-align="before" relative-align="baseline"><fo:block><fo:block/></fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:static-content><fo:static-content flow-name="xsl-footnote-separator"><fo:block><fo:leader color="black" leader-pattern="rule" leader-length="1in"/></fo:block></fo:static-content><fo:static-content flow-name="xsl-region-inner-first"><fo:block/></fo:static-content><fo:static-content flow-name="xsl-region-inner-odd"><fo:block/></fo:static-content><fo:static-content flow-name="xsl-region-inner-even"><fo:block/></fo:static-content><fo:static-content flow-name="xsl-region-inner-blank"><fo:block/></fo:static-content><fo:static-content flow-name="xsl-region-outer-first"><fo:block/></fo:static-content><fo:static-content flow-name="xsl-region-outer-odd"><fo:block/></fo:static-content><fo:static-content flow-name="xsl-region-outer-even"><fo:block/></fo:static-content><fo:static-content flow-name="xsl-region-outer-blank"><fo:block/></fo:static-content><fo:static-content flow-name="xsl-region-after-first"><fo:block font-family="serif,Symbol,ZapfDingbats" margin-left="0pt"><fo:table table-layout="fixed" width="100%" border-top-width="0.5pt" border-top-style="solid" border-top-color="black"><fo:table-column column-number="1" column-width="proportional-column-width(1)"/><fo:table-column column-number="2" column-width="proportional-column-width(1)"/><fo:table-column column-number="3" column-width="proportional-column-width(1)"/><fo:table-body><fo:table-row block-progression-dimension.minimum="14pt"><fo:table-cell text-align="start" display-align="after" relative-align="baseline"><fo:block><fo:block/></fo:block></fo:table-cell><fo:table-cell text-align="center" display-align="after" relative-align="baseline"><fo:block><fo:block><fo:page-number/></fo:block></fo:block></fo:table-cell><fo:table-cell text-align="end" display-align="after" relative-align="baseline"><fo:block><fo:block/></fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:static-content><fo:static-content flow-name="xsl-region-after-odd"><fo:block font-family="serif,Symbol,ZapfDingbats" margin-left="0pt"><fo:table table-layout="fixed" width="100%" border-top-width="0.5pt" border-top-style="solid" border-top-color="black"><fo:table-column column-number="1" column-width="proportional-column-width(1)"/><fo:table-column column-number="2" column-width="proportional-column-width(1)"/><fo:table-column column-number="3" column-width="proportional-column-width(1)"/><fo:table-body><fo:table-row block-progression-dimension.minimum="14pt"><fo:table-cell text-align="start" display-align="after" relative-align="baseline"><fo:block><fo:block/></fo:block></fo:table-cell><fo:table-cell text-align="center" display-align="after" relative-align="baseline"><fo:block><fo:block><fo:page-number/></fo:block></fo:block></fo:table-cell><fo:table-cell text-align="end" display-align="after" relative-align="baseline"><fo:block><fo:block/></fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:static-content><fo:static-content flow-name="xsl-region-after-even"><fo:block font-family="serif,Symbol,ZapfDingbats" margin-left="0pt"><fo:table table-layout="fixed" width="100%" border-top-width="0.5pt" border-top-style="solid" border-top-color="black"><fo:table-column column-number="1" column-width="proportional-column-width(1)"/><fo:table-column column-number="2" column-width="proportional-column-width(1)"/><fo:table-column column-number="3" column-width="proportional-column-width(1)"/><fo:table-body><fo:table-row block-progression-dimension.minimum="14pt"><fo:table-cell text-align="start" display-align="after" relative-align="baseline"><fo:block><fo:block/></fo:block></fo:table-cell><fo:table-cell text-align="center" display-align="after" relative-align="baseline"><fo:block><fo:block><fo:page-number/></fo:block></fo:block></fo:table-cell><fo:table-cell text-align="end" display-align="after" relative-align="baseline"><fo:block><fo:block/></fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:static-content><fo:static-content flow-name="xsl-region-after-blank"><fo:block font-family="serif,Symbol,ZapfDingbats" margin-left="0pt"><fo:table table-layout="fixed" width="100%" border-top-width="0.5pt" border-top-style="solid" border-top-color="black"><fo:table-column column-number="1" column-width="proportional-column-width(1)"/><fo:table-column column-number="2" column-width="proportional-column-width(1)"/><fo:table-column column-number="3" column-width="proportional-column-width(1)"/><fo:table-body><fo:table-row block-progression-dimension.minimum="14pt"><fo:table-cell text-align="start" display-align="after" relative-align="baseline"><fo:block><fo:block/></fo:block></fo:table-cell><fo:table-cell text-align="center" display-align="after" relative-align="baseline"><fo:block><fo:block><fo:page-number/></fo:block></fo:block></fo:table-cell><fo:table-cell text-align="end" display-align="after" relative-align="baseline"><fo:block><fo:block/></fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:static-content><fo:flow flow-name="xsl-region-body" start-indent="1pc" end-indent="0pt"><fo:block id="idm1"><fo:block font-family="sans-serif,Symbol,ZapfDingbats"><fo:block start-indent="0pt" text-align="center"><fo:block keep-with-next.within-column="always" font-size="24.8832pt" font-weight="bold"><fo:block keep-with-next.within-column="always" space-before.optimum="12pt" space-before.minimum="12pt * 0.8" space-before.maximum="12pt * 1.2" hyphenate="false" text-align="center" start-indent="0pt" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2">The Article Title</fo:block></fo:block><fo:block space-before="0.5em" font-size="14.4pt"><fo:block>Author's Name <fo:inline font-size="10pt" font-family="monospace"><fo:inline keep-together.within-line="always" hyphenate="false">&lt;authors@email.address&gt;</fo:inline></fo:inline></fo:block></fo:block><fo:block space-before="0.5em"><fo:table table-layout="fixed" width="100%"><fo:table-column column-number="1" column-width="proportional-column-width(1)"/><fo:table-column column-number="2" column-width="proportional-column-width(1)"/><fo:table-column column-number="3" column-width="proportional-column-width(1)"/><fo:table-body start-indent="0pt" end-indent="0pt"><fo:table-row><fo:table-cell number-columns-spanned="3"><fo:block>Revision History</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell><fo:block>Revision 9.0.5</fo:block></fo:table-cell><fo:table-cell><fo:block>24 January 2021</fo:block></fo:table-cell><fo:table-cell><fo:block>AN</fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block></fo:block></fo:block></fo:block><fo:block id="toc...idm1" space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em"><fo:block><fo:block><fo:block space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em" space-after="0.5em" start-indent="0pt" font-size="17.28pt" font-weight="bold" font-family="sans-serif,Symbol,ZapfDingbats">Table of Contents</fo:block></fo:block></fo:block><fo:block text-align-last="justify" text-align="start" end-indent="24pt" last-line-end-indent="-24pt"><fo:inline keep-with-next.within-line="always"><fo:basic-link internal-destination="_the_first_section">1. The First Section</fo:basic-link></fo:inline><fo:inline keep-together.within-line="always"><fo:leader leader-pattern="dots" leader-pattern-width="3pt" leader-alignment="reference-area" padding-left="3pt" padding-right="3pt"/><fo:basic-link internal-destination="_the_first_section"><fo:page-number-citation ref-id="_the_first_section"/></fo:basic-link></fo:inline></fo:block><fo:block id="toc.idm1._the_first_section" margin-left="24pt"><fo:block text-align-last="justify" text-align="start" end-indent="24pt" last-line-end-indent="-24pt"><fo:inline keep-with-next.within-line="always"><fo:basic-link internal-destination="X1">1.1. Sub-section with Anchor</fo:basic-link></fo:inline><fo:inline keep-together.within-line="always"><fo:leader leader-pattern="dots" leader-pattern-width="3pt" leader-alignment="reference-area" padding-left="3pt" padding-right="3pt"/><fo:basic-link internal-destination="X1"><fo:page-number-citation ref-id="X1"/></fo:basic-link></fo:inline></fo:block></fo:block><fo:block text-align-last="justify" text-align="start" end-indent="24pt" last-line-end-indent="-24pt"><fo:inline keep-with-next.within-line="always"><fo:basic-link internal-destination="_the_second_section">2. The Second Section</fo:basic-link></fo:inline><fo:inline keep-together.within-line="always"><fo:leader leader-pattern="dots" leader-pattern-width="3pt" leader-alignment="reference-area" padding-left="3pt" padding-right="3pt"/><fo:basic-link internal-destination="_the_second_section"><fo:page-number-citation ref-id="_the_second_section"/></fo:basic-link></fo:inline></fo:block><fo:block text-align-last="justify" text-align="start" end-indent="24pt" last-line-end-indent="-24pt"><fo:inline keep-with-next.within-line="always"><fo:basic-link internal-destination="_example_appendix">A. Example Appendix</fo:basic-link></fo:inline><fo:inline keep-together.within-line="always"><fo:leader leader-pattern="dots" leader-pattern-width="3pt" leader-alignment="reference-area" padding-left="3pt" padding-right="3pt"/><fo:basic-link internal-destination="_example_appendix"><fo:page-number-citation ref-id="_example_appendix"/></fo:basic-link></fo:inline></fo:block><fo:block id="toc.idm1._example_appendix" margin-left="24pt"><fo:block text-align-last="justify" text-align="start" end-indent="24pt" last-line-end-indent="-24pt"><fo:inline keep-with-next.within-line="always"><fo:basic-link internal-destination="_appendix_sub_section">A.1. Appendix Sub-section</fo:basic-link></fo:inline><fo:inline keep-together.within-line="always"><fo:leader leader-pattern="dots" leader-pattern-width="3pt" leader-alignment="reference-area" padding-left="3pt" padding-right="3pt"/><fo:basic-link internal-destination="_appendix_sub_section"><fo:page-number-citation ref-id="_appendix_sub_section"/></fo:basic-link></fo:inline></fo:block></fo:block><fo:block text-align-last="justify" text-align="start" end-indent="24pt" last-line-end-indent="-24pt"><fo:inline keep-with-next.within-line="always"><fo:basic-link internal-destination="_example_bibliography">Example Bibliography</fo:basic-link></fo:inline><fo:inline keep-together.within-line="always"><fo:leader leader-pattern="dots" leader-pattern-width="3pt" leader-alignment="reference-area" padding-left="3pt" padding-right="3pt"/><fo:basic-link internal-destination="_example_bibliography"><fo:page-number-citation ref-id="_example_bibliography"/></fo:basic-link></fo:inline></fo:block><fo:block text-align-last="justify" text-align="start" end-indent="24pt" last-line-end-indent="-24pt"><fo:inline keep-with-next.within-line="always"><fo:basic-link internal-destination="_example_glossary">Example Glossary</fo:basic-link></fo:inline><fo:inline keep-together.within-line="always"><fo:leader leader-pattern="dots" leader-pattern-width="3pt" leader-alignment="reference-area" padding-left="3pt" padding-right="3pt"/><fo:basic-link internal-destination="_example_glossary"><fo:page-number-citation ref-id="_example_glossary"/></fo:basic-link></fo:inline></fo:block><fo:block text-align-last="justify" text-align="start" end-indent="24pt" last-line-end-indent="-24pt"><fo:inline keep-with-next.within-line="always"><fo:basic-link internal-destination="_example_index">Example Index</fo:basic-link></fo:inline><fo:inline keep-together.within-line="always"><fo:leader leader-pattern="dots" leader-pattern-width="3pt" leader-alignment="reference-area" padding-left="3pt" padding-right="3pt"/><fo:basic-link internal-destination="_example_index"><fo:page-number-citation ref-id="_example_index"/></fo:basic-link></fo:inline></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This is the optional preamble (an untitled section body). Useful for
+writing simple sectionless documents consisting only of a preamble.</fo:block><fo:block id="idm16" space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" space-after.optimum="1em" space-after.minimum="0.8em" space-after.maximum="1.2em"><fo:list-block provisional-distance-between-starts="36pt + 18pt" provisional-label-separation="18pt"><fo:list-item><fo:list-item-label end-indent="label-end()"><fo:block><fo:external-graphic width="auto" height="auto" content-width="36pt" src="url(images/icons/note.png)"/></fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The abstract, preface, appendix, bibliography, glossary and
+index section titles are significant (<fo:inline font-style="italic">specialsections</fo:inline>).</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block></fo:block><fo:block start-indent="0.0in" end-indent="0.0in" id="_example_abstract"><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The optional abstract (one or more paragraphs) goes here.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This document is an AsciiDoc article skeleton containing briefly
+annotated element placeholders plus a couple of example index entries
+and footnotes.</fo:block></fo:block><fo:block id="_the_first_section"><fo:block><fo:block><fo:block margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats" keep-together.within-column="always"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt"><fo:marker marker-class-name="section.head.marker">The First Section</fo:marker><fo:block font-size="24.8832pt">1. The First Section</fo:block></fo:block></fo:block></fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Article sections start at level 1 and can be nested up to four levels
+deep.
+<fo:footnote><fo:inline><fo:inline font-family="serif,Symbol,ZapfDingbats" font-size="75%" font-weight="normal" font-style="normal" baseline-shift="super">1</fo:inline></fo:inline><fo:footnote-body font-family="serif,Symbol,ZapfDingbats" font-size="9.600000000000001pt" font-weight="normal" font-style="normal" text-align="left" start-indent="0pt" end-indent="0pt" text-indent="0pt" hyphenate="false" wrap-option="wrap" linefeed-treatment="treat-as-space"><fo:block><fo:inline font-family="serif,Symbol,ZapfDingbats" font-size="75%" font-weight="normal" font-style="normal" baseline-shift="super">1</fo:inline>An example footnote.</fo:block></fo:footnote-body></fo:footnote>
+<fo:wrapper id="idm27"><!--Example index entry--></fo:wrapper></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">And now for something completely different: <fo:wrapper id="idm30"><!--monkeys--></fo:wrapper>monkeys, lions and
+tigers (Bengal and Siberian) using the alternative syntax index
+entries.
+<fo:wrapper id="idm32"><!--Big cats, Lions--></fo:wrapper>
+<fo:wrapper id="idm35"><!--Lions--></fo:wrapper>
+<fo:wrapper id="idm37"><!--Big cats, Tigers, Bengal Tiger--></fo:wrapper>
+<fo:wrapper id="idm41"><!--Tigers, Bengal Tiger--></fo:wrapper>
+<fo:wrapper id="idm44"><!--Bengal Tiger--></fo:wrapper>
+<fo:wrapper id="idm46"><!--Big cats, Tigers, Siberian Tiger--></fo:wrapper>
+<fo:wrapper id="idm50"><!--Tigers, Siberian Tiger--></fo:wrapper>
+<fo:wrapper id="idm53"><!--Siberian Tiger--></fo:wrapper>
+Note that multi-entry terms generate separate index entries.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Here are a couple of image examples: an <fo:external-graphic src="url(images/smallnew.png)" width="auto" height="auto" content-width="auto" content-height="auto"/>
+example inline image followed by an example block image:</fo:block><fo:block id="idm61" space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em" keep-together.within-column="always"><fo:block font-weight="bold" font-size="14.4pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" space-after.maximum="0.8em" space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" keep-with-next.within-column="always">Figure 1. Tiger block image</fo:block><fo:block id="idm63"><fo:external-graphic src="url(images/tiger.png)" width="auto" height="auto" content-width="auto" content-height="auto"/></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Followed by an example table:</fo:block><fo:block id="idm69" keep-together.within-column="auto" space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em"><fo:block font-weight="bold" font-size="14.4pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" space-after.maximum="0.8em" space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" keep-with-next.within-column="always">Table 1. An example table</fo:block><fo:table border-before-width.conditionality="retain" border-collapse="collapse" border-start-style="solid" border-end-style="solid" border-top-style="solid" border-bottom-style="solid" border-start-width="2px" border-end-width="2px" border-top-width="2px" border-bottom-width="2px" border-start-color="#527bbd" border-end-color="#527bbd" border-top-color="#527bbd" border-bottom-color="#527bbd" table-layout="fixed" width="60%"><fo:table-column column-number="1" column-width="proportional-column-width(128)"/><fo:table-column column-number="2" column-width="proportional-column-width(128)"/><fo:table-header xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt" end-indent="0pt"><fo:table-row keep-with-next.within-column="always"><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="1px" border-bottom-style="solid" border-bottom-color="#527bbd" border-end-width="1px" border-end-style="solid" border-end-color="#527bbd" display-align="before" text-align="left"><fo:block font-weight="bold"> Option </fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="1px" border-bottom-style="solid" border-bottom-color="#527bbd" display-align="before" text-align="left"><fo:block font-weight="bold"> Description</fo:block></fo:table-cell></fo:table-row></fo:table-header><fo:table-body xmlns:rx="http://www.renderx.com/XSL/Extensions" start-indent="0pt" end-indent="0pt"><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="1px" border-bottom-style="solid" border-bottom-color="#527bbd" border-end-width="1px" border-end-style="solid" border-end-color="#527bbd" display-align="before" text-align="left"><fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">-a <fo:inline font-style="italic">USER GROUP</fo:inline></fo:block></fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-bottom-width="1px" border-bottom-style="solid" border-bottom-color="#527bbd" display-align="before" text-align="left"><fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Add <fo:inline font-style="italic">USER</fo:inline> to <fo:inline font-style="italic">GROUP</fo:inline>.</fo:block></fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" border-end-width="1px" border-end-style="solid" border-end-color="#527bbd" display-align="before" text-align="left"><fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">-R <fo:inline font-style="italic">GROUP</fo:inline></fo:block></fo:block></fo:table-cell><fo:table-cell padding-start="2pt" padding-end="2pt" padding-top="2pt" padding-bottom="2pt" display-align="before" text-align="left"><fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Disables access to <fo:inline font-style="italic">GROUP</fo:inline>.</fo:block></fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:block><fo:block><fo:block id="idm94" keep-together.within-column="auto" space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="2em" space-after.minimum="0.5em" space-after.optimum="1em" space-after.maximum="2em"><fo:block font-weight="bold" font-size="14.4pt" hyphenate="false" space-after.minimum="0.4em" space-after.optimum="0.6em" space-after.maximum="0.8em" space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em" keep-with-next.within-column="always">Example 1. An example example</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Lorum ipum…</fo:block></fo:block></fo:block><fo:block id="X1"><fo:block><fo:block><fo:block margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats" keep-together.within-column="always"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt"><fo:marker marker-class-name="section.head.marker">Sub-section with Anchor</fo:marker><fo:block font-size="20.736pt">1.1. Sub-section with Anchor</fo:block></fo:block></fo:block></fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Sub-section at level 2.</fo:block><fo:block id="_a_nested_sub_section"><fo:block><fo:block><fo:block margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats" keep-together.within-column="always"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt"><fo:block font-size="17.28pt">A Nested Sub-section</fo:block></fo:block></fo:block></fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Sub-section at level 3.</fo:block><fo:block id="_yet_another_nested_sub_section"><fo:block><fo:block><fo:block margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats" keep-together.within-column="always"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt"><fo:block font-size="14.4pt">Yet another nested Sub-section</fo:block></fo:block></fo:block></fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Sub-section at level 4.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">This is the maximum sub-section depth supported by the distributed
+AsciiDoc configuration.
+<fo:footnote><fo:inline><fo:inline font-family="serif,Symbol,ZapfDingbats" font-size="75%" font-weight="normal" font-style="normal" baseline-shift="super">2</fo:inline></fo:inline><fo:footnote-body font-family="serif,Symbol,ZapfDingbats" font-size="9.600000000000001pt" font-weight="normal" font-style="normal" text-align="left" start-indent="0pt" end-indent="0pt" text-indent="0pt" hyphenate="false" wrap-option="wrap" linefeed-treatment="treat-as-space"><fo:block><fo:inline font-family="serif,Symbol,ZapfDingbats" font-size="75%" font-weight="normal" font-style="normal" baseline-shift="super">2</fo:inline>A second example footnote.</fo:block></fo:footnote-body></fo:footnote></fo:block></fo:block></fo:block></fo:block></fo:block><fo:block id="_the_second_section"><fo:block><fo:block><fo:block margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats" keep-together.within-column="always"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt"><fo:marker marker-class-name="section.head.marker">The Second Section</fo:marker><fo:block font-size="24.8832pt">2. The Second Section</fo:block></fo:block></fo:block></fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Article sections are at level 1 and can contain sub-sections nested up
+to four deep.</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">An example link to anchor at start of the <fo:basic-link internal-destination="X1"><fo:inline>first sub-section</fo:inline></fo:basic-link>.
+<fo:wrapper id="idm114"><!--Second example index entry--></fo:wrapper></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">An example link to a bibliography entry <fo:basic-link internal-destination="taoup"><fo:inline>[taoup]</fo:inline></fo:basic-link>.</fo:block></fo:block><fo:block id="_example_appendix"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt" font-size="24.8832pt"><fo:marker marker-class-name="section.head.marker">Example Appendix</fo:marker>A. Example Appendix</fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">AsciiDoc article appendices are just just article sections with
+<fo:inline font-style="italic">specialsection</fo:inline> titles.</fo:block><fo:block id="_appendix_sub_section"><fo:block><fo:block><fo:block margin-left="0pt" font-family="sans-serif,Symbol,ZapfDingbats" keep-together.within-column="always"><fo:block keep-with-next.within-column="always"><fo:block font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.minimum="0.8em" space-before.optimum="1.0em" space-before.maximum="1.2em" text-align="start" start-indent="0pt"><fo:marker marker-class-name="section.head.marker">Appendix Sub-section</fo:marker><fo:block font-size="20.736pt">A.1. Appendix Sub-section</fo:block></fo:block></fo:block></fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Appendix sub-section at level 2.</fo:block></fo:block></fo:block><fo:block id="_example_bibliography" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em"><fo:block><fo:block><fo:block margin-left="0pt" font-size="24.8832pt" font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold"><fo:block keep-with-next.within-column="always" space-before.optimum="12pt" space-before.minimum="12pt * 0.8" space-before.maximum="12pt * 1.2" hyphenate="false" text-align="start" start-indent="0pt" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2">Example Bibliography</fo:block></fo:block></fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">The bibliography list is a style of AsciiDoc bulleted list.</fo:block><fo:block id="idm128"><fo:block/><fo:block id="idm129" start-indent="0.5in" text-indent="-0.5in" space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+<fo:inline>
+<fo:wrapper id="taoup"/>[taoup] Eric Steven Raymond. <fo:inline font-style="italic">The Art of Unix
+ Programming</fo:inline>. Addison-Wesley. ISBN 0-13-142901-9.
+</fo:inline>
+</fo:block><fo:block id="idm133" start-indent="0.5in" text-indent="-0.5in" space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+<fo:inline>
+<fo:wrapper id="walsh-muellner"/>[walsh-muellner] Norman Walsh &amp; Leonard Muellner.
+ <fo:inline font-style="italic">DocBook - The Definitive Guide</fo:inline>. O’Reilly &amp; Associates. 1999.
+ ISBN 1-56592-580-7.
+</fo:inline>
+</fo:block></fo:block><fo:block id="_example_glossary"><fo:block><fo:block><fo:block margin-left="0pt" font-size="24.8832pt" font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold"><fo:block keep-with-next.within-column="always" space-before.optimum="12pt" space-before.minimum="12pt * 0.8" space-before.maximum="12pt * 1.2" hyphenate="false" text-align="center" start-indent="0pt" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2">Example Glossary</fo:block></fo:block></fo:block></fo:block></fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">Glossaries are optional. Glossaries entries are an example of a style
+of AsciiDoc labeled lists.</fo:block><fo:list-block provisional-distance-between-starts="2in" provisional-label-separation="0.25in" space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:list-item-label end-indent="label-end()"><fo:block><fo:inline id="idm141">
+A glossary term
+</fo:inline></fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+ The corresponding (indented) definition.
+</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em"><fo:list-item-label end-indent="label-end()"><fo:block><fo:inline id="idm145">
+A second glossary term
+</fo:inline></fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:block space-before.optimum="1em" space-before.minimum="0.8em" space-before.maximum="1.2em">
+ The corresponding (indented) definition.
+</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block><fo:block id="_example_index"><fo:block><fo:block><fo:block margin-left="0pt" font-size="24.8832pt" font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold"><fo:block keep-with-next.within-column="always" space-before.optimum="12pt" space-before.minimum="12pt * 0.8" space-before.maximum="12pt * 1.2" hyphenate="false" text-align="center" start-indent="0pt" span="inherit" hyphenation-character="-" hyphenation-push-character-count="2" hyphenation-remain-character-count="2">Example Index</fo:block></fo:block></fo:block></fo:block></fo:block><fo:block xmlns:rx="http://www.renderx.com/XSL/Extensions" xmlns:xlink="http://www.w3.org/1999/xlink"><fo:block><fo:block margin-left="0pt" font-size="14.4pt" font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.optimum="12pt" space-before.minimum="12pt * 0.8" space-before.maximum="12pt * 1.2" start-indent="0pt">B</fo:block><fo:block start-indent="0pt"><fo:block id="ientry-idm44">Bengal Tiger, <fo:basic-link internal-destination="idm44"><fo:page-number-citation ref-id="idm44"/></fo:basic-link></fo:block><fo:block id="ientry-idm32">Big cats</fo:block><fo:block start-indent="1pc"><fo:block>Lions, <fo:basic-link internal-destination="idm32"><fo:page-number-citation ref-id="idm32"/></fo:basic-link></fo:block><fo:block>Tigers</fo:block><fo:block start-indent="2pc"><fo:block>Bengal Tiger, <fo:basic-link internal-destination="idm37"><fo:page-number-citation ref-id="idm37"/></fo:basic-link></fo:block><fo:block>Siberian Tiger, <fo:basic-link internal-destination="idm46"><fo:page-number-citation ref-id="idm46"/></fo:basic-link></fo:block></fo:block></fo:block></fo:block></fo:block><fo:block><fo:block margin-left="0pt" font-size="14.4pt" font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.optimum="12pt" space-before.minimum="12pt * 0.8" space-before.maximum="12pt * 1.2" start-indent="0pt">E</fo:block><fo:block start-indent="0pt"><fo:block id="ientry-idm27">Example index entry, <fo:basic-link internal-destination="idm27"><fo:page-number-citation ref-id="idm27"/></fo:basic-link></fo:block></fo:block></fo:block><fo:block><fo:block margin-left="0pt" font-size="14.4pt" font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.optimum="12pt" space-before.minimum="12pt * 0.8" space-before.maximum="12pt * 1.2" start-indent="0pt">L</fo:block><fo:block start-indent="0pt"><fo:block id="ientry-idm35">Lions, <fo:basic-link internal-destination="idm35"><fo:page-number-citation ref-id="idm35"/></fo:basic-link></fo:block></fo:block></fo:block><fo:block><fo:block margin-left="0pt" font-size="14.4pt" font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.optimum="12pt" space-before.minimum="12pt * 0.8" space-before.maximum="12pt * 1.2" start-indent="0pt">M</fo:block><fo:block start-indent="0pt"><fo:block id="ientry-idm30">monkeys, <fo:basic-link internal-destination="idm30"><fo:page-number-citation ref-id="idm30"/></fo:basic-link></fo:block></fo:block></fo:block><fo:block><fo:block margin-left="0pt" font-size="14.4pt" font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.optimum="12pt" space-before.minimum="12pt * 0.8" space-before.maximum="12pt * 1.2" start-indent="0pt">S</fo:block><fo:block start-indent="0pt"><fo:block id="ientry-idm114">Second example index entry, <fo:basic-link internal-destination="idm114"><fo:page-number-citation ref-id="idm114"/></fo:basic-link></fo:block><fo:block id="ientry-idm53">Siberian Tiger, <fo:basic-link internal-destination="idm53"><fo:page-number-citation ref-id="idm53"/></fo:basic-link></fo:block></fo:block></fo:block><fo:block><fo:block margin-left="0pt" font-size="14.4pt" font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" keep-with-next.within-column="always" space-before.optimum="12pt" space-before.minimum="12pt * 0.8" space-before.maximum="12pt * 1.2" start-indent="0pt">T</fo:block><fo:block start-indent="0pt"><fo:block id="ientry-idm41">Tigers</fo:block><fo:block start-indent="1pc"><fo:block>Bengal Tiger, <fo:basic-link internal-destination="idm41"><fo:page-number-citation ref-id="idm41"/></fo:basic-link></fo:block><fo:block>Siberian Tiger, <fo:basic-link internal-destination="idm50"><fo:page-number-citation ref-id="idm50"/></fo:basic-link></fo:block></fo:block></fo:block></fo:block></fo:block></fo:flow></fo:page-sequence></fo:root> \ No newline at end of file
diff --git a/article.html b/article.html
new file mode 100644
index 0000000..fb15048
--- /dev/null
+++ b/article.html
@@ -0,0 +1,235 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>The Article Title</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="article.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>The Article Title</h1>
+<span id="author">Author's Name</span><br />
+<span id="email"><code>&lt;<a href="mailto:authors@email.address">authors@email.address</a>&gt;</code></span><br />
+<span id="revision">version 9.0.5,</span>
+24 January 2021
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p>This is the optional preamble (an untitled section body). Useful for
+writing simple sectionless documents consisting only of a preamble.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">The abstract, preface, appendix, bibliography, glossary and
+index section titles are significant (<em>specialsections</em>).</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_example_abstract">Example Abstract</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The optional abstract (one or more paragraphs) goes here.</p></div>
+<div class="paragraph"><p>This document is an AsciiDoc article skeleton containing briefly
+annotated element placeholders plus a couple of example index entries
+and footnotes.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_the_first_section">1. The First Section</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Article sections start at level 1 and can be nested up to four levels
+deep.
+<span class="footnote"><br />[An example footnote.]<br /></span></p></div>
+<div class="paragraph"><p>And now for something completely different: monkeys, lions and
+tigers (Bengal and Siberian) using the alternative syntax index
+entries.
+
+
+
+Note that multi-entry terms generate separate index entries.</p></div>
+<div class="paragraph"><p>Here are a couple of image examples: an <span class="image">
+<img src="images/smallnew.png" alt="images/smallnew.png" />
+</span>
+example inline image followed by an example block image:</p></div>
+<div class="imageblock">
+<div class="content">
+<img src="images/tiger.png" alt="Tiger image" />
+</div>
+<div class="title">Figure 1. Tiger block image</div>
+</div>
+<div class="paragraph"><p>Followed by an example table:</p></div>
+<div class="tableblock">
+<table rules="all"
+width="60%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 1. An example table</caption>
+<col width="50%" />
+<col width="50%" />
+<thead>
+<tr>
+<th align="left" valign="top"> Option </th>
+<th align="left" valign="top"> Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">-a <em>USER GROUP</em></p></td>
+<td align="left" valign="top"><p class="table">Add <em>USER</em> to <em>GROUP</em>.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">-R <em>GROUP</em></p></td>
+<td align="left" valign="top"><p class="table">Disables access to <em>GROUP</em>.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="exampleblock">
+<div class="title">Example 1. An example example</div>
+<div class="content">
+<div class="paragraph"><p>Lorum ipum&#8230;</p></div>
+</div></div>
+<div class="sect2">
+<h3 id="X1">1.1. Sub-section with Anchor</h3>
+<div class="paragraph"><p>Sub-section at level 2.</p></div>
+<div class="sect3">
+<h4 id="_a_nested_sub_section">1.1.1. A Nested Sub-section</h4>
+<div class="paragraph"><p>Sub-section at level 3.</p></div>
+<div class="sect4">
+<h5 id="_yet_another_nested_sub_section">Yet another nested Sub-section</h5>
+<div class="paragraph"><p>Sub-section at level 4.</p></div>
+<div class="paragraph"><p>This is the maximum sub-section depth supported by the distributed
+AsciiDoc configuration.
+<span class="footnote"><br />[A second example footnote.]<br /></span></p></div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_the_second_section">2. The Second Section</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Article sections are at level 1 and can contain sub-sections nested up
+to four deep.</p></div>
+<div class="paragraph"><p>An example link to anchor at start of the <a href="#X1">first sub-section</a>.</p></div>
+<div class="paragraph"><p>An example link to a bibliography entry <a href="#taoup">[taoup]</a>.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_example_appendix">Appendix A: Example Appendix</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc article appendices are just just article sections with
+<em>specialsection</em> titles.</p></div>
+<div class="sect2">
+<h3 id="_appendix_sub_section">Appendix Sub-section</h3>
+<div class="paragraph"><p>Appendix sub-section at level 2.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_example_bibliography">Example Bibliography</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The bibliography list is a style of AsciiDoc bulleted list.</p></div>
+<div class="ulist bibliography"><ul>
+<li>
+<p>
+<a id="taoup"></a>[taoup] Eric Steven Raymond. <em>The Art of Unix
+ Programming</em>. Addison-Wesley. ISBN 0-13-142901-9.
+</p>
+</li>
+<li>
+<p>
+<a id="walsh-muellner"></a>[walsh-muellner] Norman Walsh &amp; Leonard Muellner.
+ <em>DocBook - The Definitive Guide</em>. O&#8217;Reilly &amp; Associates. 1999.
+ ISBN 1-56592-580-7.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_example_glossary">Example Glossary</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Glossaries are optional. Glossaries entries are an example of a style
+of AsciiDoc labeled lists.</p></div>
+<div class="dlist glossary"><dl>
+<dt>
+A glossary term
+</dt>
+<dd>
+<p>
+ The corresponding (indented) definition.
+</p>
+</dd>
+<dt>
+A second glossary term
+</dt>
+<dd>
+<p>
+ The corresponding (indented) definition.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:00 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/article.pdf b/article.pdf
new file mode 100644
index 0000000..e444423
--- /dev/null
+++ b/article.pdf
Binary files differ
diff --git a/article.xml b/article.xml
new file mode 100644
index 0000000..94fdbcf
--- /dev/null
+++ b/article.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<?asciidoc-toc?>
+<?asciidoc-numbered?>
+
+<article lang="en">
+<articleinfo>
+ <title>The Article Title</title>
+ <date>24 January 2021</date>
+ <author>
+ <firstname>Author's</firstname>
+ <surname>Name</surname>
+ <email>authors@email.address</email>
+ </author>
+ <authorinitials>AN</authorinitials>
+<revhistory><revision><revnumber>9.0.5</revnumber><date>24 January 2021</date><authorinitials>AN</authorinitials></revision></revhistory>
+</articleinfo>
+<simpara>This is the optional preamble (an untitled section body). Useful for
+writing simple sectionless documents consisting only of a preamble.</simpara>
+<note><simpara>The abstract, preface, appendix, bibliography, glossary and
+index section titles are significant (<emphasis>specialsections</emphasis>).</simpara></note>
+<abstract id="_example_abstract">
+<simpara>The optional abstract (one or more paragraphs) goes here.</simpara>
+<simpara>This document is an AsciiDoc article skeleton containing briefly
+annotated element placeholders plus a couple of example index entries
+and footnotes.</simpara>
+</abstract>
+<section id="_the_first_section">
+<title>The First Section</title>
+<simpara>Article sections start at level 1 and can be nested up to four levels
+deep.
+<footnote><simpara>An example footnote.</simpara></footnote>
+<indexterm>
+ <primary>Example index entry</primary>
+</indexterm></simpara>
+<simpara>And now for something completely different: <indexterm><primary>monkeys</primary></indexterm>monkeys, lions and
+tigers (Bengal and Siberian) using the alternative syntax index
+entries.
+<indexterm>
+ <primary>Big cats</primary><secondary>Lions</secondary>
+</indexterm>
+<indexterm>
+ <primary>Lions</primary>
+</indexterm>
+<indexterm>
+ <primary>Big cats</primary><secondary>Tigers</secondary><tertiary>Bengal Tiger</tertiary>
+</indexterm>
+<indexterm>
+ <primary>Tigers</primary><secondary>Bengal Tiger</secondary>
+</indexterm>
+<indexterm>
+ <primary>Bengal Tiger</primary>
+</indexterm>
+<indexterm>
+ <primary>Big cats</primary><secondary>Tigers</secondary><tertiary>Siberian Tiger</tertiary>
+</indexterm>
+<indexterm>
+ <primary>Tigers</primary><secondary>Siberian Tiger</secondary>
+</indexterm>
+<indexterm>
+ <primary>Siberian Tiger</primary>
+</indexterm>
+Note that multi-entry terms generate separate index entries.</simpara>
+<simpara>Here are a couple of image examples: an <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="images/smallnew.png"/>
+ </imageobject>
+ <textobject><phrase>images/smallnew.png</phrase></textobject>
+</inlinemediaobject>
+example inline image followed by an example block image:</simpara>
+<figure><title>Tiger block image</title>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/tiger.png"/>
+ </imageobject>
+ <textobject><phrase>Tiger image</phrase></textobject>
+</mediaobject>
+</figure>
+<simpara>Followed by an example table:</simpara>
+<table
+frame="all"
+rowsep="1" colsep="1"
+>
+<title>An example table</title>
+<?dbhtml table-width="60%"?>
+<?dbfo table-width="60%"?>
+<?dblatex table-width="60%"?>
+<tgroup cols="2">
+<colspec colname="col_1" colwidth="128*"/>
+<colspec colname="col_2" colwidth="128*"/>
+<thead>
+<row>
+<entry align="left" valign="top"> Option </entry>
+<entry align="left" valign="top"> Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry align="left" valign="top"><simpara>-a <emphasis>USER GROUP</emphasis></simpara></entry>
+<entry align="left" valign="top"><simpara>Add <emphasis>USER</emphasis> to <emphasis>GROUP</emphasis>.</simpara></entry>
+</row>
+<row>
+<entry align="left" valign="top"><simpara>-R <emphasis>GROUP</emphasis></simpara></entry>
+<entry align="left" valign="top"><simpara>Disables access to <emphasis>GROUP</emphasis>.</simpara></entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+<example>
+<title>An example example</title>
+<simpara>Lorum ipum&#8230;</simpara>
+</example>
+<section id="X1">
+<title>Sub-section with Anchor</title>
+<simpara>Sub-section at level 2.</simpara>
+<section id="_a_nested_sub_section">
+<title>A Nested Sub-section</title>
+<simpara>Sub-section at level 3.</simpara>
+<section id="_yet_another_nested_sub_section">
+<title>Yet another nested Sub-section</title>
+<simpara>Sub-section at level 4.</simpara>
+<simpara>This is the maximum sub-section depth supported by the distributed
+AsciiDoc configuration.
+<footnote><simpara>A second example footnote.</simpara></footnote></simpara>
+</section>
+</section>
+</section>
+</section>
+<section id="_the_second_section">
+<title>The Second Section</title>
+<simpara>Article sections are at level 1 and can contain sub-sections nested up
+to four deep.</simpara>
+<simpara>An example link to anchor at start of the <link linkend="X1">first sub-section</link>.
+<indexterm>
+ <primary>Second example index entry</primary>
+</indexterm></simpara>
+<simpara>An example link to a bibliography entry <xref linkend="taoup"/>.</simpara>
+</section>
+<appendix id="_example_appendix">
+<title>Example Appendix</title>
+<simpara>AsciiDoc article appendices are just just article sections with
+<emphasis>specialsection</emphasis> titles.</simpara>
+<section id="_appendix_sub_section">
+<title>Appendix Sub-section</title>
+<simpara>Appendix sub-section at level 2.</simpara>
+</section>
+</appendix>
+<bibliography id="_example_bibliography">
+<title>Example Bibliography</title>
+<simpara>The bibliography list is a style of AsciiDoc bulleted list.</simpara>
+<bibliodiv>
+<bibliomixed>
+<bibliomisc>
+<anchor id="taoup" xreflabel="[taoup]"/>[taoup] Eric Steven Raymond. <emphasis>The Art of Unix
+ Programming</emphasis>. Addison-Wesley. ISBN 0-13-142901-9.
+</bibliomisc>
+</bibliomixed>
+<bibliomixed>
+<bibliomisc>
+<anchor id="walsh-muellner" xreflabel="[walsh-muellner]"/>[walsh-muellner] Norman Walsh &amp; Leonard Muellner.
+ <emphasis>DocBook - The Definitive Guide</emphasis>. O&#8217;Reilly &amp; Associates. 1999.
+ ISBN 1-56592-580-7.
+</bibliomisc>
+</bibliomixed>
+</bibliodiv>
+</bibliography>
+<glossary id="_example_glossary">
+<title>Example Glossary</title>
+<simpara>Glossaries are optional. Glossaries entries are an example of a style
+of AsciiDoc labeled lists.</simpara>
+<glossentry>
+<glossterm>
+A glossary term
+</glossterm>
+<glossdef>
+<simpara>
+ The corresponding (indented) definition.
+</simpara>
+</glossdef>
+</glossentry>
+<glossentry>
+<glossterm>
+A second glossary term
+</glossterm>
+<glossdef>
+<simpara>
+ The corresponding (indented) definition.
+</simpara>
+</glossdef>
+</glossentry>
+</glossary>
+<index id="_example_index">
+<title>Example Index</title>
+</index>
+</article>
diff --git a/asciidoc-docbook-xsl.html b/asciidoc-docbook-xsl.html
new file mode 100644
index 0000000..9456e30
--- /dev/null
+++ b/asciidoc-docbook-xsl.html
@@ -0,0 +1,157 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>AsciiDoc DocBook XSL Stylesheets Notes</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="asciidoc-docbook-xsl.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>AsciiDoc DocBook XSL Stylesheets Notes</h1>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p>Output file customisation is achieved by tweaking the DocBook XSL
+stylesheets. I&#8217;ve tried to keep customization to a minimum and
+confine it to the separate XSL driver files in the distribution
+<code>./docbook-xsl/</code> directory (see the User Guide for details).</p></div>
+<div class="paragraph"><p>To polish some rough edges I&#8217;ve written some patches for the DocBook
+XSL stylesheets&#8201;&#8212;&#8201;you don&#8217;t need them but they&#8217;re documented below
+and included in the distribution <code>./docbook-xsl/</code> directory.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_manually_upgrading_debian_to_the_latest_docbook_xsl_stylesheets">Manually upgrading Debian to the latest DocBook XSL stylesheets</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The DocBook XSL Stylesheets distribution is just a directory full of
+text files and you can switch between releases by changing the
+directory name in the system XML catalog.</p></div>
+<div class="paragraph"><p>To upgrade to the latest docbook-xsl stylesheets without having to
+wait for the Debian <code>docbook-xsl</code> package:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Download the latest docbook-xsl tarball from
+ <a href="https://github.com/docbook/xslt10-stylesheets">https://github.com/docbook/xslt10-stylesheets</a>. Bleeding edge snapshots
+ can be found at <a href="https://github.com/docbook/xslt10-stylesheets/releases">https://github.com/docbook/xslt10-stylesheets/releases</a>.
+</p>
+</li>
+<li>
+<p>
+Unzip the tarball to <code>/usr/share/xml/docbook/stylesheet/</code>:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ cd /usr/share/xml/docbook/stylesheet
+$ sudo tar -xzf /tmp/docbook-xsl-1.72.0.tar.gz</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Edit <code>/etc/xml/docbook-xsl.xml</code> catalog and replace occurrences of
+ the current stylesheets directory with the new one (in our example
+ it would be <code>/usr/share/xml/docbook/stylesheet/docbook-xsl-1.72.0</code>.
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ cd /etc/xml/
+$ sudo cp -p docbook-xsl.xml docbook-xsl.xml.ORIG
+$ sudo vi docbook-xsl.xml</code></pre>
+</div></div>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_customizing_generated_text">Customizing Generated Text</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>An example
+<a href="http://www.sagehill.net/docbookxsl/CustomGentext.html#CustomGenText">DocBook
+XSL Stylesheets customization file</a> for formatting chapter titles
+without chapter numbering.</p></div>
+<div class="listingblock">
+<div class="title">custom-chapter.xml</div>
+<div class="content">
+<pre><code>&lt;!-- Customize chapter title --&gt;
+&lt;l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"&gt;
+ &lt;l:l10n language="en"&gt;
+ &lt;l:context name="title"&gt;
+ &lt;l:template name="chapter" text="%t"/&gt;
+ &lt;/l:context&gt;
+ &lt;/l:l10n&gt;
+&lt;/l:i18n&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>Executed with this <em>xsltproc</em> parameter:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>--param local.l10n.xml document\(\'custom-chapter.xml\'\)</code></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">This example is hypothetical&#8201;&#8212;&#8201;use the <em>xsltproc</em>
+<code>--stringparam chapter.autolabel 0</code> option to do the same job.</td>
+</tr></table>
+</div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:00 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/asciidoc-graphviz-sample.html b/asciidoc-graphviz-sample.html
new file mode 100644
index 0000000..807acc6
--- /dev/null
+++ b/asciidoc-graphviz-sample.html
@@ -0,0 +1,242 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>Graphviz filter for AsciiDoc</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="asciidoc-graphviz-sample.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>Graphviz filter for AsciiDoc</h1>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p>Author: Gouichi Iisaka</p></div>
+<div class="paragraph"><p>Version: 1.1.3</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_introduction">Introduction</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The Graphviz(<a href="http://www.graphviz.org">http://www.graphviz.org</a>) is a way of representing structural information
+as diagrams of abstract graphs and networks.</p></div>
+<div class="paragraph"><p>Automatic graph drawing has many important applications
+in software engineering, database and web design, networking,
+and in visual interfaces for many other domains.</p></div>
+<div class="paragraph"><p>Graphviz take descriptions of graphs in a simple text language,
+And has many useful features for concrete diagrams,
+such as options for colors, fonts, tabular node layouts,
+line styles, hyperlinks, and custom shapes.</p></div>
+<div class="paragraph"><p>AsciiDoc can external shell commands used to process Paragraph and
+DelimitedBlock content by Filter.</p></div>
+<div class="paragraph"><p>So now, AsciiDoc can draw graphs via graphviz filter.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_examples">Examples</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_simple">Simple</h3>
+<div class="literalblock">
+<div class="content">
+<pre><code>[graphviz]
+---------------------------------------------------------------------
+digraph G { rankdir=LR; Graphviz-&gt;AsciiDoc-&gt;HTML}
+---------------------------------------------------------------------</code></pre>
+</div></div>
+<div class="imageblock graphviz">
+<div class="content">
+<img src="asciidoc-graphviz-sample__1.png" alt="asciidoc-graphviz-sample__1.png" />
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_options">Using options</h3>
+<div class="literalblock">
+<div class="content">
+<pre><code>["graphviz", "sample2.png"]
+---------------------------------------------------------------------
+digraph automata_0 {
+ size ="8.5, 11";
+ node [shape = circle];
+ 0 [ style = filled, color=lightgrey ];
+ 2 [ shape = doublecircle ];
+ 0 -&gt; 2 [ label = "a " ];
+ 0 -&gt; 1 [ label = "other " ];
+ 1 -&gt; 2 [ label = "a " ];
+ 1 -&gt; 1 [ label = "other " ];
+ 2 -&gt; 2 [ label = "a " ];
+ 2 -&gt; 1 [ label = "other " ];
+ "Machine: a" [ shape = plaintext ];
+}
+---------------------------------------------------------------------</code></pre>
+</div></div>
+<div class="imageblock graphviz">
+<div class="content">
+<img src="sample2.png" alt="sample2.png" />
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_layout">Using Layout</h3>
+<div class="literalblock">
+<div class="content">
+<pre><code>["graphviz", "sample3.png", "dot"]
+---------------------------------------------------------------------
+digraph finite_state_machine {
+ rankdir=LR;
+ size="8,5"
+ node [shape = doublecircle]; LR_0 LR_3 LR_4 LR_8;
+ node [shape = circle];
+ LR_0 -&gt; LR_2 [ label = "SS(B)" ];
+ LR_0 -&gt; LR_1 [ label = "SS(S)" ];
+ LR_1 -&gt; LR_3 [ label = "S($end)" ];
+ LR_2 -&gt; LR_6 [ label = "SS(b)" ];
+ LR_2 -&gt; LR_5 [ label = "SS(a)" ];
+ LR_2 -&gt; LR_4 [ label = "S(A)" ];
+ LR_5 -&gt; LR_7 [ label = "S(b)" ];
+ LR_5 -&gt; LR_5 [ label = "S(a)" ];
+ LR_6 -&gt; LR_6 [ label = "S(b)" ];
+ LR_6 -&gt; LR_5 [ label = "S(a)" ];
+ LR_7 -&gt; LR_8 [ label = "S(b)" ];
+ LR_7 -&gt; LR_5 [ label = "S(a)" ];
+ LR_8 -&gt; LR_6 [ label = "S(b)" ];
+ LR_8 -&gt; LR_5 [ label = "S(a)" ];
+}
+---------------------------------------------------------------------</code></pre>
+</div></div>
+<div class="imageblock graphviz">
+<div class="content">
+<img src="sample3.png" alt="sample3.png" />
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_layout">Layout</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Layout for graphviz as follows. The default is &#8216;dot&#8217;.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+*dot
+</dt>
+<dd>
+<p>
+ <em>dot</em> draws directed graphs.
+ It works well on DAGs and other graphs that can be drawn as hierarchies.
+ It reads attributed graph files and writes drawings.
+</p>
+</dd>
+<dt class="hdlist1">
+*neato
+</dt>
+<dd>
+<p>
+ <em>neato</em> draws undirected graphs using ‘‘spring'' models (see Kamada and
+ Kawai, Information Processing Letters 31:1, April 1989).
+ Input files must be formatted in the dot attributed graph language.
+</p>
+</dd>
+<dt class="hdlist1">
+*twopi
+</dt>
+<dd>
+<p>
+ <em>twopi</em> draws graphs using a radial layout (see G. Wills, Symposium on
+ Graph Drawing GD&#8217;97, September, 1997).
+ Basically, one node is chosen as the center and put at the origin.
+ The remaining nodes are placed on a sequence of concentric circles
+ centered about the origin, each a fixed radial distance from
+ the previous circle.
+</p>
+</dd>
+<dt class="hdlist1">
+*circro
+</dt>
+<dd>
+<p>
+ <em>circo</em> draws graphs using a circular layout (see Six and Tollis, GD '99
+ and ALENEX '99, and Kaufmann and Wiese, GD '02.)
+ The tool identifies biconnected components and draws the nodes
+ of the component on a circle.
+ The block‐cutpoint tree is then laid out using a recursive radial
+ algorithm.
+ Edge crossings within a circle are minimized by placing as
+ many edges on the circle&#8217;s perimeter as possible.
+ In particular, if the component is outerplanar,
+ the component will have a planar layout.
+</p>
+</dd>
+<dt class="hdlist1">
+*fdp
+</dt>
+<dd>
+<p>
+ <em>fdp</em> draws undirected graphs using a ‘‘spring'' model.
+ It relies on a force‐directed approach in the spirit of Fruchterman
+ and Reingold
+ (cf. Software‐Practice &amp; Experience 21(11), 1991, pp. 1129‐1164).
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:01 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/asciidoc-graphviz-sample__1.png b/asciidoc-graphviz-sample__1.png
new file mode 100644
index 0000000..174d0ca
--- /dev/null
+++ b/asciidoc-graphviz-sample__1.png
Binary files differ
diff --git a/asciidoc.1 b/asciidoc.1
new file mode 100644
index 0000000..930aac9
--- /dev/null
+++ b/asciidoc.1
@@ -0,0 +1,359 @@
+'\" t
+.\" Title: asciidoc
+.\" Author: [see the "AUTHOR" section]
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
+.\" Date: 24 January 2021
+.\" Manual: \ \&
+.\" Source: \ \& 9.0.5
+.\" Language: English
+.\"
+.TH "ASCIIDOC" "1" "24 January 2021" "\ \& 9\&.0\&.5" "\ \&"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+asciidoc \- converts an AsciiDoc text file to HTML or DocBook
+.SH "SYNOPSIS"
+.sp
+\fBasciidoc\fR [\fIOPTIONS\fR] \fIFILE\fR
+.SH "DESCRIPTION"
+.sp
+The asciidoc(1) command translates the AsciiDoc text file \fIFILE\fR to DocBook or HTML\&. If \fIFILE\fR is \fI\-\fR then the standard input is used\&.
+.SH "OPTIONS"
+.PP
+\fB\-a, \-\-attribute\fR=\fIATTRIBUTE\fR
+.RS 4
+Define or delete document attribute\&.
+\fIATTRIBUTE\fR
+is formatted like
+\fINAME=VALUE\fR\&. Command\-line attributes take precedence over document and configuration file attributes\&. Alternate acceptable forms are
+\fINAME\fR
+(the
+\fIVALUE\fR
+defaults to an empty string);
+\fINAME!\fR
+(delete the
+\fINAME\fR
+attribute);
+\fINAME=VALUE@\fR
+(do not override document or configuration file attributes)\&. Values containing spaces should be enclosed in double\-quote characters\&. This option may be specified more than once\&. A special attribute named
+\fItrace\fR
+controls the output of diagnostic information\&.
+.RE
+.PP
+\fB\-b, \-\-backend\fR=\fIBACKEND\fR
+.RS 4
+Backend output file format:
+\fIdocbook45\fR,
+\fIdocbook5\fR,
+\fIxhtml11\fR,
+\fIhtml4\fR,
+\fIhtml5\fR,
+\fIslidy\fR,
+\fIwordpress\fR
+or
+\fIlatex\fR
+(the
+\fIlatex\fR
+backend is experimental)\&. You can also use the backend alias names
+\fIhtml\fR
+(aliased to
+\fIxhtml11\fR) or
+\fIdocbook\fR
+(aliased to
+\fIdocbook45\fR)\&. Defaults to
+\fIhtml\fR\&. The
+\fB\-\-backend\fR
+option is also used to manage backend plugins (see
+\fBPLUGIN COMMANDS\fR)\&.
+.RE
+.PP
+\fB\-f, \-\-conf\-file\fR=\fICONF_FILE\fR
+.RS 4
+Use configuration file
+\fICONF_FILE\fR\&.Configuration files processed in command\-line order (after implicit configuration files)\&. This option may be specified more than once\&.
+.RE
+.PP
+\fB\-\-doctest\fR
+.RS 4
+Run Python doctests in
+\fIasciidoc\fR
+module\&.
+.RE
+.PP
+\fB\-d, \-\-doctype\fR=\fIDOCTYPE\fR
+.RS 4
+Document type:
+\fIarticle\fR,
+\fImanpage\fR
+or
+\fIbook\fR\&. The
+\fIbook\fR
+document type is only supported by the
+\fIdocbook\fR
+backends\&. Default document type is
+\fIarticle\fR\&.
+.RE
+.PP
+\fB\-c, \-\-dump\-conf\fR
+.RS 4
+Dump configuration to stdout\&.
+.RE
+.PP
+\fB\-\-filter\fR=\fIFILTER\fR
+.RS 4
+Specify the name of a filter to be loaded (used to load filters that are not auto\-loaded)\&. This option may be specified more than once\&. The
+\fB\-\-filter\fR
+option is also used to manage filter plugins (see
+\fBPLUGIN COMMANDS\fR)\&.
+.RE
+.PP
+\fB\-h, \-\-help\fR [\fITOPIC\fR]
+.RS 4
+Print help TOPIC\&.
+\fB\-\-help\fR
+\fItopics\fR
+will print a list of help topics,
+\fB\-\-help\fR
+\fIsyntax\fR
+summarizes AsciiDoc syntax,
+\fB\-\-help\fR
+\fImanpage\fR
+prints the AsciiDoc manpage\&.
+.RE
+.PP
+\fB\-e, \-\-no\-conf\fR
+.RS 4
+Exclude implicitly loaded configuration files except for those named like the input file (\fIinfile\&.conf\fR
+and
+\fIinfile\-backend\&.conf\fR)\&.
+.RE
+.PP
+\fB\-s, \-\-no\-header\-footer\fR
+.RS 4
+Suppress document header and footer output\&.
+.RE
+.PP
+\fB\-o, \-\-out\-file\fR=\fIOUT_FILE\fR
+.RS 4
+Write output to file
+\fIOUT_FILE\fR\&. Defaults to the base name of input file with
+\fIbackend\fR
+extension\&. If the input is stdin then the outfile defaults to stdout\&. If
+\fIOUT_FILE\fR
+is
+\fI\-\fR
+then the standard output is used\&.
+.RE
+.PP
+\fB\-n, \-\-section\-numbers\fR
+.RS 4
+Auto\-number HTML article section titles\&. Synonym for
+\fB\-\-attribute numbered\fR\&.
+.RE
+.PP
+\fB\-\-safe\fR
+.RS 4
+Enable safe mode\&. Safe mode is disabled by default\&. AsciiDoc
+\fIsafe mode\fR
+skips potentially dangerous scripted sections in AsciiDoc source files\&.
+.RE
+.PP
+\fB\-\-theme\fR=\fITHEME\fR
+.RS 4
+Specify a theme name\&. Synonym for
+\fB\-\-attribute theme\fR=\fITHEME\fR\&. The
+\fB\-\-theme\fR
+option is also used to manage theme plugins (see
+\fBPLUGIN COMMANDS\fR)\&.
+.RE
+.PP
+\fB\-v, \-\-verbose\fR
+.RS 4
+Verbosely print processing information and configuration file checks to stderr\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print program version number\&.
+.RE
+.SH "PLUGIN COMMANDS"
+.sp
+The asciidoc(1) \fB\-\-filter\fR, \fB\-\-backend\fR and \fB\-\-theme\fR options are used to install, remove and list AsciiDoc filter, backend and theme plugins\&. Syntax:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+asciidoc OPTION install ZIP_FILE [PLUGINS_DIR]
+asciidoc OPTION remove PLUGIN_NAME [PLUGINS_DIR]
+asciidoc OPTION list
+asciidoc OPTION build ZIP_FILE PLUGIN_SOURCE
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+Where:
+.PP
+\fBOPTION\fR
+.RS 4
+asciidoc(1)
+\fB\-\-filter\fR,
+\fB\-\-backend\fR
+or
+\fB\-\-theme\fR
+option specifying the type of plugin\&.
+.RE
+.PP
+\fBPLUGIN_NAME\fR
+.RS 4
+A unique plugin name containing only alphanumeric or underscore characters\&.
+.RE
+.PP
+\fBZIP_FILE\fR
+.RS 4
+A Zip file containing plugin resources, the name must start with the plugin name e\&.g\&.
+my_filter\-1\&.0\&.zip
+packages filter
+my_filter\&.
+.RE
+.PP
+\fBPLUGINS_DIR\fR
+.RS 4
+The directory containing installed plugins\&. Each plugin is contained in its own separate subdirectory which has the same name as the plugin\&.
+\fBPLUGINS_DIR\fR
+defaults to the
+$HOME/\&.asciidoc/filters
+(for filter plugins) or
+$HOME/\&.asciidoc/backends
+(for backend plugins) or
+$HOME/\&.asciidoc/themes
+(for theme plugins)\&.
+.RE
+.PP
+\fBPLUGIN_SOURCE\fR
+.RS 4
+The name of a directory containing the plugin source files or the name of a single source file\&.
+.RE
+.sp
+The plugin commands perform as follows:
+.PP
+\fBinstall\fR
+.RS 4
+Create a subdirectory in
+\fBPLUGINS_DIR\fR
+with the same name as the plugin then extract the
+\fBZIP_FILE\fR
+into it\&.
+.RE
+.PP
+\fBremove\fR
+.RS 4
+Delete the
+\fBPLUGIN_NAME\fR
+plugin subdirectory and all its contents from the
+\fBPLUGINS_DIR\fR\&.
+.RE
+.PP
+\fBlist\fR
+.RS 4
+List the names and locations of all installed filter or theme plugins (including standard plugins installed in the global configuration directory)\&.
+.RE
+.PP
+\fBbuild\fR
+.RS 4
+Create a plugin file named
+\fBZIP_FILE\fR
+containing the files and subdirectories specified by
+\fBPLUGIN_SOURCE\fR\&. File and directory names starting with a period are skipped\&.
+.RE
+.SH "ENVIRONMENT VARIABLES"
+.PP
+\fBSOURCE_DATE_EPOCH\fR
+.RS 4
+If the
+SOURCE_DATE_EPOCH
+environment variable is set to a UNIX timestamp, then the
+{docdate},
+{doctime},
+{localdate}, and
+{localtime}
+attributes are computed in the UTC time zone, with any timestamps newer than
+SOURCE_DATE_EPOCH
+replaced by
+SOURCE_DATE_EPOCH\&. (This helps software using AsciiDoc to build reproducibly\&.)
+.RE
+.SH "EXAMPLES"
+.PP
+asciidoc asciidoc_file_name\&.txt
+.RS 4
+Simply generate an html file from the asciidoc_file_name\&.txt that is in current directory using asciidoc\&.
+.RE
+.PP
+asciidoc \-b html5 asciidoc_file_name\&.txt
+.RS 4
+Use the
+\-b
+switch to use one of the proposed backend or another one you installed on your computer\&.
+.RE
+.PP
+asciidoc \-a data\-uri \-a icons \-a toc \-a max\-width=55em article\&.txt
+.RS 4
+Use the
+\-a
+switch to set attributes from command\-line\&. AsciiDoc generated its stand\-alone HTML user guide containing embedded CSS, JavaScript and images from the AsciiDoc article template with this command\&.
+.RE
+.PP
+asciidoc \-b html5 \-d manpage asciidoc\&.1\&.txt
+.RS 4
+Generating the asciidoc manpage using the html5 backend\&.
+.RE
+.SH "EXIT STATUS"
+.PP
+\fB0\fR
+.RS 4
+Success
+.RE
+.PP
+\fB1\fR
+.RS 4
+Failure (syntax or usage error; configuration error; document processing failure; unexpected error)\&.
+.RE
+.SH "BUGS"
+.sp
+See the AsciiDoc distribution BUGS file\&.
+.SH "AUTHOR"
+.sp
+AsciiDoc was originally written by Stuart Rackham\&. Many people have contributed to it\&.
+.SH "RESOURCES"
+.sp
+GitHub: https://github\&.com/asciidoc/asciidoc\-py3/
+.sp
+Main web site: https://asciidoc\&.org/
+.SH "SEE ALSO"
+.sp
+a2x(1)
+.SH "COPYING"
+.sp
+Copyright (C) 2002\-2013 Stuart Rackham\&.
+.sp
+Copyright (C) 2013\-2020 AsciiDoc Contributors\&.
+.sp
+Free use of this software is granted under the terms of the GNU General Public License version 2 (GPLv2)\&.
diff --git a/asciidoc.1.css-embedded.html b/asciidoc.1.css-embedded.html
new file mode 100644
index 0000000..e0e2996
--- /dev/null
+++ b/asciidoc.1.css-embedded.html
@@ -0,0 +1,1169 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>ASCIIDOC(1)</title>
+<style type="text/css">
+/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
+
+/* Default font. */
+body {
+ font-family: Georgia,serif;
+}
+
+/* Title font. */
+h1, h2, h3, h4, h5, h6,
+div.title, caption.title,
+thead, p.table.header,
+#toctitle,
+#author, #revnumber, #revdate, #revremark,
+#footer {
+ font-family: Arial,Helvetica,sans-serif;
+}
+
+body {
+ margin: 1em 5% 1em 5%;
+}
+
+a {
+ color: blue;
+ text-decoration: underline;
+}
+a:visited {
+ color: fuchsia;
+}
+
+em {
+ font-style: italic;
+ color: navy;
+}
+
+strong {
+ font-weight: bold;
+ color: #083194;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color: #527bbd;
+ margin-top: 1.2em;
+ margin-bottom: 0.5em;
+ line-height: 1.3;
+}
+
+h1, h2, h3 {
+ border-bottom: 2px solid silver;
+}
+h2 {
+ padding-top: 0.5em;
+}
+h3 {
+ float: left;
+}
+h3 + * {
+ clear: left;
+}
+h5 {
+ font-size: 1.0em;
+}
+
+div.sectionbody {
+ margin-left: 0;
+}
+
+hr {
+ border: 1px solid silver;
+}
+
+p {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+ul, ol, li > p {
+ margin-top: 0;
+}
+ul > li { color: #aaa; }
+ul > li > * { color: black; }
+
+.monospaced, code, pre {
+ font-family: "Courier New", Courier, monospace;
+ font-size: inherit;
+ color: navy;
+ padding: 0;
+ margin: 0;
+}
+pre {
+ white-space: pre-wrap;
+}
+
+#author {
+ color: #527bbd;
+ font-weight: bold;
+ font-size: 1.1em;
+}
+#email {
+}
+#revnumber, #revdate, #revremark {
+}
+
+#footer {
+ font-size: small;
+ border-top: 2px solid silver;
+ padding-top: 0.5em;
+ margin-top: 4.0em;
+}
+#footer-text {
+ float: left;
+ padding-bottom: 0.5em;
+}
+#footer-badges {
+ float: right;
+ padding-bottom: 0.5em;
+}
+
+#preamble {
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
+}
+div.admonitionblock {
+ margin-top: 2.0em;
+ margin-bottom: 2.0em;
+ margin-right: 10%;
+ color: #606060;
+}
+
+div.content { /* Block element content. */
+ padding: 0;
+}
+
+/* Block element titles. */
+div.title, caption.title {
+ color: #527bbd;
+ font-weight: bold;
+ text-align: left;
+ margin-top: 1.0em;
+ margin-bottom: 0.5em;
+}
+div.title + * {
+ margin-top: 0;
+}
+
+td div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content + div.title {
+ margin-top: 0.0em;
+}
+
+div.sidebarblock > div.content {
+ background: #ffffee;
+ border: 1px solid #dddddd;
+ border-left: 4px solid #f0f0f0;
+ padding: 0.5em;
+}
+
+div.listingblock > div.content {
+ border: 1px solid #dddddd;
+ border-left: 5px solid #f0f0f0;
+ background: #f8f8f8;
+ padding: 0.5em;
+}
+
+div.quoteblock, div.verseblock {
+ padding-left: 1.0em;
+ margin-left: 1.0em;
+ margin-right: 10%;
+ border-left: 5px solid #f0f0f0;
+ color: #888;
+}
+
+div.quoteblock > div.attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock > pre.content {
+ font-family: inherit;
+ font-size: inherit;
+}
+div.verseblock > div.attribution {
+ padding-top: 0.75em;
+ text-align: left;
+}
+/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
+div.verseblock + div.attribution {
+ text-align: left;
+}
+
+div.admonitionblock .icon {
+ vertical-align: top;
+ font-size: 1.1em;
+ font-weight: bold;
+ text-decoration: underline;
+ color: #527bbd;
+ padding-right: 0.5em;
+}
+div.admonitionblock td.content {
+ padding-left: 0.5em;
+ border-left: 3px solid #dddddd;
+}
+
+div.exampleblock > div.content {
+ border-left: 3px solid #dddddd;
+ padding-left: 0.5em;
+}
+
+div.imageblock div.content { padding-left: 0; }
+span.image img { border-style: none; vertical-align: text-bottom; }
+a.image:visited { color: white; }
+
+dl {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+dt {
+ margin-top: 0.5em;
+ margin-bottom: 0;
+ font-style: normal;
+ color: navy;
+}
+dd > *:first-child {
+ margin-top: 0.1em;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+ol.arabic {
+ list-style-type: decimal;
+}
+ol.loweralpha {
+ list-style-type: lower-alpha;
+}
+ol.upperalpha {
+ list-style-type: upper-alpha;
+}
+ol.lowerroman {
+ list-style-type: lower-roman;
+}
+ol.upperroman {
+ list-style-type: upper-roman;
+}
+
+div.compact ul, div.compact ol,
+div.compact p, div.compact p,
+div.compact div, div.compact div {
+ margin-top: 0.1em;
+ margin-bottom: 0.1em;
+}
+
+tfoot {
+ font-weight: bold;
+}
+td > div.verse {
+ white-space: pre;
+}
+
+div.hdlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+div.hdlist tr {
+ padding-bottom: 15px;
+}
+dt.hdlist1.strong, td.hdlist1.strong {
+ font-weight: bold;
+}
+td.hdlist1 {
+ vertical-align: top;
+ font-style: normal;
+ padding-right: 0.8em;
+ color: navy;
+}
+td.hdlist2 {
+ vertical-align: top;
+}
+div.hdlist.compact tr {
+ margin: 0;
+ padding-bottom: 0;
+}
+
+.comment {
+ background: yellow;
+}
+
+.footnote, .footnoteref {
+ font-size: 0.8em;
+}
+
+span.footnote, span.footnoteref {
+ vertical-align: super;
+}
+
+#footnotes {
+ margin: 20px 0 20px 0;
+ padding: 7px 0 0 0;
+}
+
+#footnotes div.footnote {
+ margin: 0 0 5px 0;
+}
+
+#footnotes hr {
+ border: none;
+ border-top: 1px solid silver;
+ height: 1px;
+ text-align: left;
+ margin-left: 0;
+ width: 20%;
+ min-width: 100px;
+}
+
+div.colist td {
+ padding-right: 0.5em;
+ padding-bottom: 0.3em;
+ vertical-align: top;
+}
+div.colist td img {
+ margin-top: 0.3em;
+}
+
+@media print {
+ #footer-badges { display: none; }
+}
+
+#toc {
+ margin-bottom: 2.5em;
+}
+
+#toctitle {
+ color: #527bbd;
+ font-size: 1.1em;
+ font-weight: bold;
+ margin-top: 1.0em;
+ margin-bottom: 0.1em;
+}
+
+div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+div.toclevel2 {
+ margin-left: 2em;
+ font-size: 0.9em;
+}
+div.toclevel3 {
+ margin-left: 4em;
+ font-size: 0.9em;
+}
+div.toclevel4 {
+ margin-left: 6em;
+ font-size: 0.9em;
+}
+
+span.aqua { color: aqua; }
+span.black { color: black; }
+span.blue { color: blue; }
+span.fuchsia { color: fuchsia; }
+span.gray { color: gray; }
+span.green { color: green; }
+span.lime { color: lime; }
+span.maroon { color: maroon; }
+span.navy { color: navy; }
+span.olive { color: olive; }
+span.purple { color: purple; }
+span.red { color: red; }
+span.silver { color: silver; }
+span.teal { color: teal; }
+span.white { color: white; }
+span.yellow { color: yellow; }
+
+span.aqua-background { background: aqua; }
+span.black-background { background: black; }
+span.blue-background { background: blue; }
+span.fuchsia-background { background: fuchsia; }
+span.gray-background { background: gray; }
+span.green-background { background: green; }
+span.lime-background { background: lime; }
+span.maroon-background { background: maroon; }
+span.navy-background { background: navy; }
+span.olive-background { background: olive; }
+span.purple-background { background: purple; }
+span.red-background { background: red; }
+span.silver-background { background: silver; }
+span.teal-background { background: teal; }
+span.white-background { background: white; }
+span.yellow-background { background: yellow; }
+
+span.big { font-size: 2em; }
+span.small { font-size: 0.6em; }
+
+span.underline { text-decoration: underline; }
+span.overline { text-decoration: overline; }
+span.line-through { text-decoration: line-through; }
+
+div.unbreakable { page-break-inside: avoid; }
+
+
+/*
+ * xhtml11 specific
+ *
+ * */
+
+div.tableblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
+}
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead, p.table.header {
+ font-weight: bold;
+ color: #527bbd;
+}
+p.table {
+ margin-top: 0;
+}
+/* Because the table frame attribute is overridden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
+ border-style: none;
+}
+div.tableblock > table[frame="hsides"] {
+ border-left-style: none;
+ border-right-style: none;
+}
+div.tableblock > table[frame="vsides"] {
+ border-top-style: none;
+ border-bottom-style: none;
+}
+
+
+/*
+ * html5 specific
+ *
+ * */
+
+table.tableblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
+}
+thead, p.tableblock.header {
+ font-weight: bold;
+ color: #527bbd;
+}
+p.tableblock {
+ margin-top: 0;
+}
+table.tableblock {
+ border-width: 3px;
+ border-spacing: 0px;
+ border-style: solid;
+ border-color: #527bbd;
+ border-collapse: collapse;
+}
+th.tableblock, td.tableblock {
+ border-width: 1px;
+ padding: 4px;
+ border-style: solid;
+ border-color: #527bbd;
+}
+
+table.tableblock.frame-topbot {
+ border-left-style: hidden;
+ border-right-style: hidden;
+}
+table.tableblock.frame-sides {
+ border-top-style: hidden;
+ border-bottom-style: hidden;
+}
+table.tableblock.frame-none {
+ border-style: hidden;
+}
+
+th.tableblock.halign-left, td.tableblock.halign-left {
+ text-align: left;
+}
+th.tableblock.halign-center, td.tableblock.halign-center {
+ text-align: center;
+}
+th.tableblock.halign-right, td.tableblock.halign-right {
+ text-align: right;
+}
+
+th.tableblock.valign-top, td.tableblock.valign-top {
+ vertical-align: top;
+}
+th.tableblock.valign-middle, td.tableblock.valign-middle {
+ vertical-align: middle;
+}
+th.tableblock.valign-bottom, td.tableblock.valign-bottom {
+ vertical-align: bottom;
+}
+
+
+/*
+ * manpage specific
+ *
+ * */
+
+body.manpage h1 {
+ padding-top: 0.5em;
+ padding-bottom: 0.5em;
+ border-top: 2px solid silver;
+ border-bottom: 2px solid silver;
+}
+body.manpage h2 {
+ border-style: none;
+}
+body.manpage div.sectionbody {
+ margin-left: 3em;
+}
+
+@media print {
+ body.manpage div#toc { display: none; }
+}
+
+
+</style>
+<script type="text/javascript">
+/*<![CDATA[*/
+var asciidoc = { // Namespace.
+
+/////////////////////////////////////////////////////////////////////
+// Table Of Contents generator
+/////////////////////////////////////////////////////////////////////
+
+/* Author: Mihai Bazon, September 2002
+ * http://students.infoiasi.ro/~mishoo
+ *
+ * Table Of Content generator
+ * Version: 0.4
+ *
+ * Feel free to use this script under the terms of the GNU General Public
+ * License, as long as you do not remove or alter this notice.
+ */
+
+ /* modified by Troy D. Hanson, September 2006. License: GPL */
+ /* modified by Stuart Rackham, 2006, 2009. License: GPL */
+
+// toclevels = 1..4.
+toc: function (toclevels) {
+
+ function getText(el) {
+ var text = "";
+ for (var i = el.firstChild; i != null; i = i.nextSibling) {
+ if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
+ text += i.data;
+ else if (i.firstChild != null)
+ text += getText(i);
+ }
+ return text;
+ }
+
+ function TocEntry(el, text, toclevel) {
+ this.element = el;
+ this.text = text;
+ this.toclevel = toclevel;
+ }
+
+ function tocEntries(el, toclevels) {
+ var result = new Array;
+ var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
+ // Function that scans the DOM tree for header elements (the DOM2
+ // nodeIterator API would be a better technique but not supported by all
+ // browsers).
+ var iterate = function (el) {
+ for (var i = el.firstChild; i != null; i = i.nextSibling) {
+ if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
+ var mo = re.exec(i.tagName);
+ if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
+ result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
+ }
+ iterate(i);
+ }
+ }
+ }
+ iterate(el);
+ return result;
+ }
+
+ var toc = document.getElementById("toc");
+ if (!toc) {
+ return;
+ }
+
+ // Delete existing TOC entries in case we're reloading the TOC.
+ var tocEntriesToRemove = [];
+ var i;
+ for (i = 0; i < toc.childNodes.length; i++) {
+ var entry = toc.childNodes[i];
+ if (entry.nodeName.toLowerCase() == 'div'
+ && entry.getAttribute("class")
+ && entry.getAttribute("class").match(/^toclevel/))
+ tocEntriesToRemove.push(entry);
+ }
+ for (i = 0; i < tocEntriesToRemove.length; i++) {
+ toc.removeChild(tocEntriesToRemove[i]);
+ }
+
+ // Rebuild TOC entries.
+ var entries = tocEntries(document.getElementById("content"), toclevels);
+ for (var i = 0; i < entries.length; ++i) {
+ var entry = entries[i];
+ if (entry.element.id == "")
+ entry.element.id = "_toc_" + i;
+ var a = document.createElement("a");
+ a.href = "#" + entry.element.id;
+ a.appendChild(document.createTextNode(entry.text));
+ var div = document.createElement("div");
+ div.appendChild(a);
+ div.className = "toclevel" + entry.toclevel;
+ toc.appendChild(div);
+ }
+ if (entries.length == 0)
+ toc.parentNode.removeChild(toc);
+},
+
+
+/////////////////////////////////////////////////////////////////////
+// Footnotes generator
+/////////////////////////////////////////////////////////////////////
+
+/* Based on footnote generation code from:
+ * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
+ */
+
+footnotes: function () {
+ // Delete existing footnote entries in case we're reloading the footnodes.
+ var i;
+ var noteholder = document.getElementById("footnotes");
+ if (!noteholder) {
+ return;
+ }
+ var entriesToRemove = [];
+ for (i = 0; i < noteholder.childNodes.length; i++) {
+ var entry = noteholder.childNodes[i];
+ if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
+ entriesToRemove.push(entry);
+ }
+ for (i = 0; i < entriesToRemove.length; i++) {
+ noteholder.removeChild(entriesToRemove[i]);
+ }
+
+ // Rebuild footnote entries.
+ var cont = document.getElementById("content");
+ var spans = cont.getElementsByTagName("span");
+ var refs = {};
+ var n = 0;
+ for (i=0; i<spans.length; i++) {
+ if (spans[i].className == "footnote") {
+ n++;
+ var note = spans[i].getAttribute("data-note");
+ if (!note) {
+ // Use [\s\S] in place of . so multi-line matches work.
+ // Because JavaScript has no s (dotall) regex flag.
+ note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
+ spans[i].innerHTML =
+ "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
+ "' title='View footnote' class='footnote'>" + n + "</a>]";
+ spans[i].setAttribute("data-note", note);
+ }
+ noteholder.innerHTML +=
+ "<div class='footnote' id='_footnote_" + n + "'>" +
+ "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
+ n + "</a>. " + note + "</div>";
+ var id =spans[i].getAttribute("id");
+ if (id != null) refs["#"+id] = n;
+ }
+ }
+ if (n == 0)
+ noteholder.parentNode.removeChild(noteholder);
+ else {
+ // Process footnoterefs.
+ for (i=0; i<spans.length; i++) {
+ if (spans[i].className == "footnoteref") {
+ var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
+ href = href.match(/#.*/)[0]; // Because IE return full URL.
+ n = refs[href];
+ spans[i].innerHTML =
+ "[<a href='#_footnote_" + n +
+ "' title='View footnote' class='footnote'>" + n + "</a>]";
+ }
+ }
+ }
+},
+
+install: function(toclevels) {
+ var timerId;
+
+ function reinstall() {
+ asciidoc.footnotes();
+ if (toclevels) {
+ asciidoc.toc(toclevels);
+ }
+ }
+
+ function reinstallAndRemoveTimer() {
+ clearInterval(timerId);
+ reinstall();
+ }
+
+ timerId = setInterval(reinstall, 500);
+ if (document.addEventListener)
+ document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
+ else
+ window.onload = reinstallAndRemoveTimer;
+}
+
+}
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body class="manpage">
+<div id="header">
+<h1>
+ASCIIDOC(1) Manual Page
+</h1>
+<h2>NAME</h2>
+<div class="sectionbody">
+<p>asciidoc -
+ converts an AsciiDoc text file to HTML or DocBook
+</p>
+</div>
+</div>
+<div id="content">
+<div class="sect1">
+<h2 id="_synopsis">SYNOPSIS</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><strong>asciidoc</strong> [<em>OPTIONS</em>] <em>FILE</em></p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_description">DESCRIPTION</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The asciidoc(1) command translates the AsciiDoc text file <em>FILE</em> to
+DocBook or HTML. If <em>FILE</em> is <em>-</em> then the standard input is used.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_options">OPTIONS</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>-a, --attribute</strong>=<em>ATTRIBUTE</em>
+</dt>
+<dd>
+<p>
+ Define or delete document attribute. <em>ATTRIBUTE</em> is formatted like
+ <em>NAME=VALUE</em>. Command-line attributes take precedence over
+ document and configuration file attributes. Alternate acceptable
+ forms are <em>NAME</em> (the <em>VALUE</em> defaults to an empty string);
+ <em>NAME!</em> (delete the <em>NAME</em> attribute); <em>NAME=VALUE@</em> (do not override
+ document or configuration file attributes). Values containing
+ spaces should be enclosed in double-quote characters. This option
+ may be specified more than once. A special attribute named
+ <em>trace</em> controls the output of diagnostic information.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-b, --backend</strong>=<em>BACKEND</em>
+</dt>
+<dd>
+<p>
+ Backend output file format: <em>docbook45</em>, <em>docbook5</em>, <em>xhtml11</em>, <em>html4</em>,
+ <em>html5</em>, <em>slidy</em>, <em>wordpress</em> or <em>latex</em> (the <em>latex</em> backend is
+ experimental). You can also use the backend alias names <em>html</em>
+ (aliased to <em>xhtml11</em>) or <em>docbook</em> (aliased to <em>docbook45</em>).
+ Defaults to <em>html</em>. The <strong>--backend</strong> option is also used to manage
+ backend plugins (see <a href="#X1"><strong>PLUGIN COMMANDS</strong></a>).
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-f, --conf-file</strong>=<em>CONF_FILE</em>
+</dt>
+<dd>
+<p>
+ Use configuration file <em>CONF_FILE</em>.Configuration files processed
+ in command-line order (after implicit configuration files). This
+ option may be specified more than once.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>--doctest</strong>
+</dt>
+<dd>
+<p>
+ Run Python doctests in <em>asciidoc</em> module.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-d, --doctype</strong>=<em>DOCTYPE</em>
+</dt>
+<dd>
+<p>
+ Document type: <em>article</em>, <em>manpage</em> or <em>book</em>. The <em>book</em> document
+ type is only supported by the <em>docbook</em> backends. Default document
+ type is <em>article</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-c, --dump-conf</strong>
+</dt>
+<dd>
+<p>
+ Dump configuration to stdout.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>--filter</strong>=<em>FILTER</em>
+</dt>
+<dd>
+<p>
+ Specify the name of a filter to be loaded (used to load filters
+ that are not auto-loaded). This option may be specified more than
+ once. The <strong>--filter</strong> option is also used to manage filter plugins
+ (see <a href="#X1"><strong>PLUGIN COMMANDS</strong></a>).
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-h, --help</strong> [<em>TOPIC</em>]
+</dt>
+<dd>
+<p>
+ Print help TOPIC. <strong>--help</strong> <em>topics</em> will print a list of help
+ topics, <strong>--help</strong> <em>syntax</em> summarizes AsciiDoc syntax,
+ <strong>--help</strong> <em>manpage</em> prints the AsciiDoc manpage.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-e, --no-conf</strong>
+</dt>
+<dd>
+<p>
+ Exclude implicitly loaded configuration files except for those
+ named like the input file (<em>infile.conf</em> and
+ <em>infile-backend.conf</em>).
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-s, --no-header-footer</strong>
+</dt>
+<dd>
+<p>
+ Suppress document header and footer output.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-o, --out-file</strong>=<em>OUT_FILE</em>
+</dt>
+<dd>
+<p>
+ Write output to file <em>OUT_FILE</em>. Defaults to the base name of
+ input file with <em>backend</em> extension. If the input is stdin then
+ the outfile defaults to stdout. If <em>OUT_FILE</em> is <em>-</em> then the
+ standard output is used.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-n, --section-numbers</strong>
+</dt>
+<dd>
+<p>
+ Auto-number HTML article section titles. Synonym for
+ <strong>--attribute numbered</strong>.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>--safe</strong>
+</dt>
+<dd>
+<p>
+ Enable safe mode. Safe mode is disabled by default. AsciiDoc
+ <em>safe mode</em> skips potentially dangerous scripted sections in
+ AsciiDoc source files.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>--theme</strong>=<em>THEME</em>
+</dt>
+<dd>
+<p>
+ Specify a theme name. Synonym for <strong>--attribute theme</strong>=<em>THEME</em>.
+ The <strong>--theme</strong> option is also used to manage theme plugins (see
+ <a href="#X1"><strong>PLUGIN COMMANDS</strong></a>).
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-v, --verbose</strong>
+</dt>
+<dd>
+<p>
+ Verbosely print processing information and configuration file
+ checks to stderr.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>--version</strong>
+</dt>
+<dd>
+<p>
+ Print program version number.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X1">PLUGIN COMMANDS</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The asciidoc(1) <strong>--filter</strong>, <strong>--backend</strong> and <strong>--theme</strong> options are used
+to install, remove and list AsciiDoc filter, backend and theme
+plugins. Syntax:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>asciidoc OPTION install ZIP_FILE [PLUGINS_DIR]
+asciidoc OPTION remove PLUGIN_NAME [PLUGINS_DIR]
+asciidoc OPTION list
+asciidoc OPTION build ZIP_FILE PLUGIN_SOURCE</code></pre>
+</div></div>
+<div class="paragraph"><p>Where:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>OPTION</strong>
+</dt>
+<dd>
+<p>
+ asciidoc(1) <strong>--filter</strong>, <strong>--backend</strong> or <strong>--theme</strong> option specifying
+ the type of plugin.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>PLUGIN_NAME</strong>
+</dt>
+<dd>
+<p>
+ A unique plugin name containing only alphanumeric or underscore
+ characters.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>ZIP_FILE</strong>
+</dt>
+<dd>
+<p>
+ A Zip file containing plugin resources, the name must start with the
+ plugin name e.g. <code>my_filter-1.0.zip</code> packages filter <code>my_filter</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>PLUGINS_DIR</strong>
+</dt>
+<dd>
+<p>
+ The directory containing installed plugins. Each plugin is contained
+ in its own separate subdirectory which has the same name as the
+ plugin.
+ <strong>PLUGINS_DIR</strong> defaults to the <code>$HOME/.asciidoc/filters</code> (for
+ filter plugins) or <code>$HOME/.asciidoc/backends</code> (for backend plugins) or
+ <code>$HOME/.asciidoc/themes</code> (for theme plugins).
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>PLUGIN_SOURCE</strong>
+</dt>
+<dd>
+<p>
+ The name of a directory containing the plugin source files or the
+ name of a single source file.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>The plugin commands perform as follows:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>install</strong>
+</dt>
+<dd>
+<p>
+ Create a subdirectory in <strong>PLUGINS_DIR</strong> with the same name as the
+ plugin then extract the <strong>ZIP_FILE</strong> into it.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>remove</strong>
+</dt>
+<dd>
+<p>
+ Delete the <strong>PLUGIN_NAME</strong> plugin subdirectory and all its contents
+ from the <strong>PLUGINS_DIR</strong>.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>list</strong>
+</dt>
+<dd>
+<p>
+ List the names and locations of all installed filter or theme
+ plugins (including standard plugins installed in the global
+ configuration directory).
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>build</strong>
+</dt>
+<dd>
+<p>
+ Create a plugin file named <strong>ZIP_FILE</strong> containing the files and
+ subdirectories specified by <strong>PLUGIN_SOURCE</strong>. File and directory
+ names starting with a period are skipped.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_environment_variables">ENVIRONMENT VARIABLES</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong><code>SOURCE_DATE_EPOCH</code></strong>
+</dt>
+<dd>
+<p>
+ If the <code>SOURCE_DATE_EPOCH</code> environment variable is set to a UNIX
+ timestamp, then the <code>{docdate}</code>, <code>{doctime}</code>, <code>{localdate}</code>, and
+ <code>{localtime}</code> attributes are computed in the UTC time zone, with any
+ timestamps newer than <code>SOURCE_DATE_EPOCH</code> replaced by
+ <code>SOURCE_DATE_EPOCH</code>. (This helps software using AsciiDoc to build
+ reproducibly.)
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_examples">EXAMPLES</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>asciidoc asciidoc_file_name.txt</code>
+</dt>
+<dd>
+<p>
+ Simply generate an html file from the asciidoc_file_name.txt that is in
+ current directory using asciidoc.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>asciidoc -b html5 asciidoc_file_name.txt</code>
+</dt>
+<dd>
+<p>
+ Use the <code>-b</code> switch to use one of the proposed backend or another one you
+ installed on your computer.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>asciidoc -a data-uri -a icons -a toc -a max-width=55em article.txt</code>
+</dt>
+<dd>
+<p>
+ Use the <code>-a</code> switch to set attributes from command-line. AsciiDoc generated
+ its stand-alone HTML user guide containing embedded CSS, JavaScript and
+ images from the AsciiDoc article template with this command.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>asciidoc -b html5 -d manpage asciidoc.1.txt</code>
+</dt>
+<dd>
+<p>
+ Generating the asciidoc manpage using the html5 backend.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_exit_status">EXIT STATUS</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>0</strong>
+</dt>
+<dd>
+<p>
+ Success
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>1</strong>
+</dt>
+<dd>
+<p>
+ Failure (syntax or usage error; configuration error; document
+ processing failure; unexpected error).
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_bugs">BUGS</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>See the AsciiDoc distribution BUGS file.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_author">AUTHOR</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc was originally written by Stuart Rackham. Many people have
+contributed to it.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_resources">RESOURCES</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>GitHub: <a href="https://github.com/asciidoc/asciidoc-py3/">https://github.com/asciidoc/asciidoc-py3/</a></p></div>
+<div class="paragraph"><p>Main web site: <a href="https://asciidoc.org/">https://asciidoc.org/</a></p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_see_also">SEE ALSO</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>a2x(1)</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_copying">COPYING</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Copyright (C) 2002-2013 Stuart Rackham.</p></div>
+<div class="paragraph"><p>Copyright (C) 2013-2020 AsciiDoc Contributors.</p></div>
+<div class="paragraph"><p>Free use of this software is granted under the terms of the GNU General
+Public License version 2 (GPLv2).</p></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated
+ 2021-01-30 05:17:57 UTC
+</div>
+</div>
+</body>
+</html>
diff --git a/asciidoc.1.html b/asciidoc.1.html
new file mode 100644
index 0000000..ca6dd50
--- /dev/null
+++ b/asciidoc.1.html
@@ -0,0 +1,386 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="generator" content="AsciiDoc 10.0.0a2">
+<title>ASCIIDOC(1)</title>
+</head>
+<body>
+<hr>
+<h1>
+ ASCIIDOC(1) Manual Page
+</h1>
+<hr>
+<h2>NAME</h2>
+<p>asciidoc -
+ converts an AsciiDoc text file to HTML or DocBook
+</p>
+<h2><a name="_synopsis"></a>SYNOPSIS</h2>
+<p><strong>asciidoc</strong> [<b>OPTIONS</b>] <b>FILE</b></p>
+<h2><a name="_description"></a>DESCRIPTION</h2>
+<p>The asciidoc(1) command translates the AsciiDoc text file <b>FILE</b> to
+DocBook or HTML. If <b>FILE</b> is <b>-</b> then the standard input is used.</p>
+<h2><a name="_options"></a>OPTIONS</h2>
+<dl>
+<dt>
+<strong>-a, --attribute</strong>=<b>ATTRIBUTE</b>
+</dt>
+<dd>
+<p>
+ Define or delete document attribute. <b>ATTRIBUTE</b> is formatted like
+ <b>NAME=VALUE</b>. Command-line attributes take precedence over
+ document and configuration file attributes. Alternate acceptable
+ forms are <b>NAME</b> (the <b>VALUE</b> defaults to an empty string);
+ <b>NAME!</b> (delete the <b>NAME</b> attribute); <b>NAME=VALUE@</b> (do not override
+ document or configuration file attributes). Values containing
+ spaces should be enclosed in double-quote characters. This option
+ may be specified more than once. A special attribute named
+ <b>trace</b> controls the output of diagnostic information.
+</p>
+</dd>
+<dt>
+<strong>-b, --backend</strong>=<b>BACKEND</b>
+</dt>
+<dd>
+<p>
+ Backend output file format: <b>docbook45</b>, <b>docbook5</b>, <b>xhtml11</b>, <b>html4</b>,
+ <b>html5</b>, <b>slidy</b>, <b>wordpress</b> or <b>latex</b> (the <b>latex</b> backend is
+ experimental). You can also use the backend alias names <b>html</b>
+ (aliased to <b>xhtml11</b>) or <b>docbook</b> (aliased to <b>docbook45</b>).
+ Defaults to <b>html</b>. The <strong>--backend</strong> option is also used to manage
+ backend plugins (see <a href="#X1"><strong>PLUGIN COMMANDS</strong></a>).
+</p>
+</dd>
+<dt>
+<strong>-f, --conf-file</strong>=<b>CONF_FILE</b>
+</dt>
+<dd>
+<p>
+ Use configuration file <b>CONF_FILE</b>.Configuration files processed
+ in command-line order (after implicit configuration files). This
+ option may be specified more than once.
+</p>
+</dd>
+<dt>
+<strong>--doctest</strong>
+</dt>
+<dd>
+<p>
+ Run Python doctests in <b>asciidoc</b> module.
+</p>
+</dd>
+<dt>
+<strong>-d, --doctype</strong>=<b>DOCTYPE</b>
+</dt>
+<dd>
+<p>
+ Document type: <b>article</b>, <b>manpage</b> or <b>book</b>. The <b>book</b> document
+ type is only supported by the <b>docbook</b> backends. Default document
+ type is <b>article</b>.
+</p>
+</dd>
+<dt>
+<strong>-c, --dump-conf</strong>
+</dt>
+<dd>
+<p>
+ Dump configuration to stdout.
+</p>
+</dd>
+<dt>
+<strong>--filter</strong>=<b>FILTER</b>
+</dt>
+<dd>
+<p>
+ Specify the name of a filter to be loaded (used to load filters
+ that are not auto-loaded). This option may be specified more than
+ once. The <strong>--filter</strong> option is also used to manage filter plugins
+ (see <a href="#X1"><strong>PLUGIN COMMANDS</strong></a>).
+</p>
+</dd>
+<dt>
+<strong>-h, --help</strong> [<b>TOPIC</b>]
+</dt>
+<dd>
+<p>
+ Print help TOPIC. <strong>--help</strong> <b>topics</b> will print a list of help
+ topics, <strong>--help</strong> <b>syntax</b> summarizes AsciiDoc syntax,
+ <strong>--help</strong> <b>manpage</b> prints the AsciiDoc manpage.
+</p>
+</dd>
+<dt>
+<strong>-e, --no-conf</strong>
+</dt>
+<dd>
+<p>
+ Exclude implicitly loaded configuration files except for those
+ named like the input file (<b>infile.conf</b> and
+ <b>infile-backend.conf</b>).
+</p>
+</dd>
+<dt>
+<strong>-s, --no-header-footer</strong>
+</dt>
+<dd>
+<p>
+ Suppress document header and footer output.
+</p>
+</dd>
+<dt>
+<strong>-o, --out-file</strong>=<b>OUT_FILE</b>
+</dt>
+<dd>
+<p>
+ Write output to file <b>OUT_FILE</b>. Defaults to the base name of
+ input file with <b>backend</b> extension. If the input is stdin then
+ the outfile defaults to stdout. If <b>OUT_FILE</b> is <b>-</b> then the
+ standard output is used.
+</p>
+</dd>
+<dt>
+<strong>-n, --section-numbers</strong>
+</dt>
+<dd>
+<p>
+ Auto-number HTML article section titles. Synonym for
+ <strong>--attribute numbered</strong>.
+</p>
+</dd>
+<dt>
+<strong>--safe</strong>
+</dt>
+<dd>
+<p>
+ Enable safe mode. Safe mode is disabled by default. AsciiDoc
+ <b>safe mode</b> skips potentially dangerous scripted sections in
+ AsciiDoc source files.
+</p>
+</dd>
+<dt>
+<strong>--theme</strong>=<b>THEME</b>
+</dt>
+<dd>
+<p>
+ Specify a theme name. Synonym for <strong>--attribute theme</strong>=<b>THEME</b>.
+ The <strong>--theme</strong> option is also used to manage theme plugins (see
+ <a href="#X1"><strong>PLUGIN COMMANDS</strong></a>).
+</p>
+</dd>
+<dt>
+<strong>-v, --verbose</strong>
+</dt>
+<dd>
+<p>
+ Verbosely print processing information and configuration file
+ checks to stderr.
+</p>
+</dd>
+<dt>
+<strong>--version</strong>
+</dt>
+<dd>
+<p>
+ Print program version number.
+</p>
+</dd>
+</dl>
+<h2><a name="X1"></a>PLUGIN COMMANDS</h2>
+<p>The asciidoc(1) <strong>--filter</strong>, <strong>--backend</strong> and <strong>--theme</strong> options are used
+to install, remove and list AsciiDoc filter, backend and theme
+plugins. Syntax:</p>
+<pre><code>asciidoc OPTION install ZIP_FILE [PLUGINS_DIR]
+asciidoc OPTION remove PLUGIN_NAME [PLUGINS_DIR]
+asciidoc OPTION list
+asciidoc OPTION build ZIP_FILE PLUGIN_SOURCE</code></pre>
+<p>Where:</p>
+<dl>
+<dt>
+<strong>OPTION</strong>
+</dt>
+<dd>
+<p>
+ asciidoc(1) <strong>--filter</strong>, <strong>--backend</strong> or <strong>--theme</strong> option specifying
+ the type of plugin.
+</p>
+</dd>
+<dt>
+<strong>PLUGIN_NAME</strong>
+</dt>
+<dd>
+<p>
+ A unique plugin name containing only alphanumeric or underscore
+ characters.
+</p>
+</dd>
+<dt>
+<strong>ZIP_FILE</strong>
+</dt>
+<dd>
+<p>
+ A Zip file containing plugin resources, the name must start with the
+ plugin name e.g. <code>my_filter-1.0.zip</code> packages filter <code>my_filter</code>.
+</p>
+</dd>
+<dt>
+<strong>PLUGINS_DIR</strong>
+</dt>
+<dd>
+<p>
+ The directory containing installed plugins. Each plugin is contained
+ in its own separate subdirectory which has the same name as the
+ plugin.
+ <strong>PLUGINS_DIR</strong> defaults to the <code>$HOME/.asciidoc/filters</code> (for
+ filter plugins) or <code>$HOME/.asciidoc/backends</code> (for backend plugins) or
+ <code>$HOME/.asciidoc/themes</code> (for theme plugins).
+</p>
+</dd>
+<dt>
+<strong>PLUGIN_SOURCE</strong>
+</dt>
+<dd>
+<p>
+ The name of a directory containing the plugin source files or the
+ name of a single source file.
+</p>
+</dd>
+</dl>
+<p>The plugin commands perform as follows:</p>
+<dl>
+<dt>
+<strong>install</strong>
+</dt>
+<dd>
+<p>
+ Create a subdirectory in <strong>PLUGINS_DIR</strong> with the same name as the
+ plugin then extract the <strong>ZIP_FILE</strong> into it.
+</p>
+</dd>
+<dt>
+<strong>remove</strong>
+</dt>
+<dd>
+<p>
+ Delete the <strong>PLUGIN_NAME</strong> plugin subdirectory and all its contents
+ from the <strong>PLUGINS_DIR</strong>.
+</p>
+</dd>
+<dt>
+<strong>list</strong>
+</dt>
+<dd>
+<p>
+ List the names and locations of all installed filter or theme
+ plugins (including standard plugins installed in the global
+ configuration directory).
+</p>
+</dd>
+<dt>
+<strong>build</strong>
+</dt>
+<dd>
+<p>
+ Create a plugin file named <strong>ZIP_FILE</strong> containing the files and
+ subdirectories specified by <strong>PLUGIN_SOURCE</strong>. File and directory
+ names starting with a period are skipped.
+</p>
+</dd>
+</dl>
+<h2><a name="_environment_variables"></a>ENVIRONMENT VARIABLES</h2>
+<dl>
+<dt>
+<strong><code>SOURCE_DATE_EPOCH</code></strong>
+</dt>
+<dd>
+<p>
+ If the <code>SOURCE_DATE_EPOCH</code> environment variable is set to a UNIX
+ timestamp, then the <code>{docdate}</code>, <code>{doctime}</code>, <code>{localdate}</code>, and
+ <code>{localtime}</code> attributes are computed in the UTC time zone, with any
+ timestamps newer than <code>SOURCE_DATE_EPOCH</code> replaced by
+ <code>SOURCE_DATE_EPOCH</code>. (This helps software using AsciiDoc to build
+ reproducibly.)
+</p>
+</dd>
+</dl>
+<h2><a name="_examples"></a>EXAMPLES</h2>
+<dl>
+<dt>
+<code>asciidoc asciidoc_file_name.txt</code>
+</dt>
+<dd>
+<p>
+ Simply generate an html file from the asciidoc_file_name.txt that is in
+ current directory using asciidoc.
+</p>
+</dd>
+<dt>
+<code>asciidoc -b html5 asciidoc_file_name.txt</code>
+</dt>
+<dd>
+<p>
+ Use the <code>-b</code> switch to use one of the proposed backend or another one you
+ installed on your computer.
+</p>
+</dd>
+<dt>
+<code>asciidoc -a data-uri -a icons -a toc -a max-width=55em article.txt</code>
+</dt>
+<dd>
+<p>
+ Use the <code>-a</code> switch to set attributes from command-line. AsciiDoc generated
+ its stand-alone HTML user guide containing embedded CSS, JavaScript and
+ images from the AsciiDoc article template with this command.
+</p>
+</dd>
+<dt>
+<code>asciidoc -b html5 -d manpage asciidoc.1.txt</code>
+</dt>
+<dd>
+<p>
+ Generating the asciidoc manpage using the html5 backend.
+</p>
+</dd>
+</dl>
+<h2><a name="_exit_status"></a>EXIT STATUS</h2>
+<dl>
+<dt>
+<strong>0</strong>
+</dt>
+<dd>
+<p>
+ Success
+</p>
+</dd>
+<dt>
+<strong>1</strong>
+</dt>
+<dd>
+<p>
+ Failure (syntax or usage error; configuration error; document
+ processing failure; unexpected error).
+</p>
+</dd>
+</dl>
+<h2><a name="_bugs"></a>BUGS</h2>
+<p>See the AsciiDoc distribution BUGS file.</p>
+<h2><a name="_author"></a>AUTHOR</h2>
+<p>AsciiDoc was originally written by Stuart Rackham. Many people have
+contributed to it.</p>
+<h2><a name="_resources"></a>RESOURCES</h2>
+<p>GitHub: <a href="https://github.com/asciidoc/asciidoc-py3/">https://github.com/asciidoc/asciidoc-py3/</a></p>
+<p>Main web site: <a href="https://asciidoc.org/">https://asciidoc.org/</a></p>
+<h2><a name="_see_also"></a>SEE ALSO</h2>
+<p>a2x(1)</p>
+<h2><a name="_copying"></a>COPYING</h2>
+<p>Copyright (C) 2002-2013 Stuart Rackham.</p>
+<p>Copyright (C) 2013-2020 AsciiDoc Contributors.</p>
+<p>Free use of this software is granted under the terms of the GNU General
+Public License version 2 (GPLv2).</p>
+<p></p>
+<p></p>
+<hr><p><small>
+Version 9.0.5<br>
+Last updated
+ 2021-01-30 05:17:57 UTC
+</small></p>
+</body>
+</html>
diff --git a/asciidoc.css-embedded.html b/asciidoc.css-embedded.html
new file mode 100644
index 0000000..82ea998
--- /dev/null
+++ b/asciidoc.css-embedded.html
@@ -0,0 +1,10459 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>AsciiDoc User Guide</title>
+<style type="text/css">
+/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
+
+/* Default font. */
+body {
+ font-family: Georgia,serif;
+}
+
+/* Title font. */
+h1, h2, h3, h4, h5, h6,
+div.title, caption.title,
+thead, p.table.header,
+#toctitle,
+#author, #revnumber, #revdate, #revremark,
+#footer {
+ font-family: Arial,Helvetica,sans-serif;
+}
+
+body {
+ margin: 1em 5% 1em 5%;
+}
+
+a {
+ color: blue;
+ text-decoration: underline;
+}
+a:visited {
+ color: fuchsia;
+}
+
+em {
+ font-style: italic;
+ color: navy;
+}
+
+strong {
+ font-weight: bold;
+ color: #083194;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color: #527bbd;
+ margin-top: 1.2em;
+ margin-bottom: 0.5em;
+ line-height: 1.3;
+}
+
+h1, h2, h3 {
+ border-bottom: 2px solid silver;
+}
+h2 {
+ padding-top: 0.5em;
+}
+h3 {
+ float: left;
+}
+h3 + * {
+ clear: left;
+}
+h5 {
+ font-size: 1.0em;
+}
+
+div.sectionbody {
+ margin-left: 0;
+}
+
+hr {
+ border: 1px solid silver;
+}
+
+p {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+ul, ol, li > p {
+ margin-top: 0;
+}
+ul > li { color: #aaa; }
+ul > li > * { color: black; }
+
+.monospaced, code, pre {
+ font-family: "Courier New", Courier, monospace;
+ font-size: inherit;
+ color: navy;
+ padding: 0;
+ margin: 0;
+}
+pre {
+ white-space: pre-wrap;
+}
+
+#author {
+ color: #527bbd;
+ font-weight: bold;
+ font-size: 1.1em;
+}
+#email {
+}
+#revnumber, #revdate, #revremark {
+}
+
+#footer {
+ font-size: small;
+ border-top: 2px solid silver;
+ padding-top: 0.5em;
+ margin-top: 4.0em;
+}
+#footer-text {
+ float: left;
+ padding-bottom: 0.5em;
+}
+#footer-badges {
+ float: right;
+ padding-bottom: 0.5em;
+}
+
+#preamble {
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
+}
+div.admonitionblock {
+ margin-top: 2.0em;
+ margin-bottom: 2.0em;
+ margin-right: 10%;
+ color: #606060;
+}
+
+div.content { /* Block element content. */
+ padding: 0;
+}
+
+/* Block element titles. */
+div.title, caption.title {
+ color: #527bbd;
+ font-weight: bold;
+ text-align: left;
+ margin-top: 1.0em;
+ margin-bottom: 0.5em;
+}
+div.title + * {
+ margin-top: 0;
+}
+
+td div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content + div.title {
+ margin-top: 0.0em;
+}
+
+div.sidebarblock > div.content {
+ background: #ffffee;
+ border: 1px solid #dddddd;
+ border-left: 4px solid #f0f0f0;
+ padding: 0.5em;
+}
+
+div.listingblock > div.content {
+ border: 1px solid #dddddd;
+ border-left: 5px solid #f0f0f0;
+ background: #f8f8f8;
+ padding: 0.5em;
+}
+
+div.quoteblock, div.verseblock {
+ padding-left: 1.0em;
+ margin-left: 1.0em;
+ margin-right: 10%;
+ border-left: 5px solid #f0f0f0;
+ color: #888;
+}
+
+div.quoteblock > div.attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock > pre.content {
+ font-family: inherit;
+ font-size: inherit;
+}
+div.verseblock > div.attribution {
+ padding-top: 0.75em;
+ text-align: left;
+}
+/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
+div.verseblock + div.attribution {
+ text-align: left;
+}
+
+div.admonitionblock .icon {
+ vertical-align: top;
+ font-size: 1.1em;
+ font-weight: bold;
+ text-decoration: underline;
+ color: #527bbd;
+ padding-right: 0.5em;
+}
+div.admonitionblock td.content {
+ padding-left: 0.5em;
+ border-left: 3px solid #dddddd;
+}
+
+div.exampleblock > div.content {
+ border-left: 3px solid #dddddd;
+ padding-left: 0.5em;
+}
+
+div.imageblock div.content { padding-left: 0; }
+span.image img { border-style: none; vertical-align: text-bottom; }
+a.image:visited { color: white; }
+
+dl {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+dt {
+ margin-top: 0.5em;
+ margin-bottom: 0;
+ font-style: normal;
+ color: navy;
+}
+dd > *:first-child {
+ margin-top: 0.1em;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+ol.arabic {
+ list-style-type: decimal;
+}
+ol.loweralpha {
+ list-style-type: lower-alpha;
+}
+ol.upperalpha {
+ list-style-type: upper-alpha;
+}
+ol.lowerroman {
+ list-style-type: lower-roman;
+}
+ol.upperroman {
+ list-style-type: upper-roman;
+}
+
+div.compact ul, div.compact ol,
+div.compact p, div.compact p,
+div.compact div, div.compact div {
+ margin-top: 0.1em;
+ margin-bottom: 0.1em;
+}
+
+tfoot {
+ font-weight: bold;
+}
+td > div.verse {
+ white-space: pre;
+}
+
+div.hdlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+div.hdlist tr {
+ padding-bottom: 15px;
+}
+dt.hdlist1.strong, td.hdlist1.strong {
+ font-weight: bold;
+}
+td.hdlist1 {
+ vertical-align: top;
+ font-style: normal;
+ padding-right: 0.8em;
+ color: navy;
+}
+td.hdlist2 {
+ vertical-align: top;
+}
+div.hdlist.compact tr {
+ margin: 0;
+ padding-bottom: 0;
+}
+
+.comment {
+ background: yellow;
+}
+
+.footnote, .footnoteref {
+ font-size: 0.8em;
+}
+
+span.footnote, span.footnoteref {
+ vertical-align: super;
+}
+
+#footnotes {
+ margin: 20px 0 20px 0;
+ padding: 7px 0 0 0;
+}
+
+#footnotes div.footnote {
+ margin: 0 0 5px 0;
+}
+
+#footnotes hr {
+ border: none;
+ border-top: 1px solid silver;
+ height: 1px;
+ text-align: left;
+ margin-left: 0;
+ width: 20%;
+ min-width: 100px;
+}
+
+div.colist td {
+ padding-right: 0.5em;
+ padding-bottom: 0.3em;
+ vertical-align: top;
+}
+div.colist td img {
+ margin-top: 0.3em;
+}
+
+@media print {
+ #footer-badges { display: none; }
+}
+
+#toc {
+ margin-bottom: 2.5em;
+}
+
+#toctitle {
+ color: #527bbd;
+ font-size: 1.1em;
+ font-weight: bold;
+ margin-top: 1.0em;
+ margin-bottom: 0.1em;
+}
+
+div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+div.toclevel2 {
+ margin-left: 2em;
+ font-size: 0.9em;
+}
+div.toclevel3 {
+ margin-left: 4em;
+ font-size: 0.9em;
+}
+div.toclevel4 {
+ margin-left: 6em;
+ font-size: 0.9em;
+}
+
+span.aqua { color: aqua; }
+span.black { color: black; }
+span.blue { color: blue; }
+span.fuchsia { color: fuchsia; }
+span.gray { color: gray; }
+span.green { color: green; }
+span.lime { color: lime; }
+span.maroon { color: maroon; }
+span.navy { color: navy; }
+span.olive { color: olive; }
+span.purple { color: purple; }
+span.red { color: red; }
+span.silver { color: silver; }
+span.teal { color: teal; }
+span.white { color: white; }
+span.yellow { color: yellow; }
+
+span.aqua-background { background: aqua; }
+span.black-background { background: black; }
+span.blue-background { background: blue; }
+span.fuchsia-background { background: fuchsia; }
+span.gray-background { background: gray; }
+span.green-background { background: green; }
+span.lime-background { background: lime; }
+span.maroon-background { background: maroon; }
+span.navy-background { background: navy; }
+span.olive-background { background: olive; }
+span.purple-background { background: purple; }
+span.red-background { background: red; }
+span.silver-background { background: silver; }
+span.teal-background { background: teal; }
+span.white-background { background: white; }
+span.yellow-background { background: yellow; }
+
+span.big { font-size: 2em; }
+span.small { font-size: 0.6em; }
+
+span.underline { text-decoration: underline; }
+span.overline { text-decoration: overline; }
+span.line-through { text-decoration: line-through; }
+
+div.unbreakable { page-break-inside: avoid; }
+
+
+/*
+ * xhtml11 specific
+ *
+ * */
+
+div.tableblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
+}
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead, p.table.header {
+ font-weight: bold;
+ color: #527bbd;
+}
+p.table {
+ margin-top: 0;
+}
+/* Because the table frame attribute is overridden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
+ border-style: none;
+}
+div.tableblock > table[frame="hsides"] {
+ border-left-style: none;
+ border-right-style: none;
+}
+div.tableblock > table[frame="vsides"] {
+ border-top-style: none;
+ border-bottom-style: none;
+}
+
+
+/*
+ * html5 specific
+ *
+ * */
+
+table.tableblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
+}
+thead, p.tableblock.header {
+ font-weight: bold;
+ color: #527bbd;
+}
+p.tableblock {
+ margin-top: 0;
+}
+table.tableblock {
+ border-width: 3px;
+ border-spacing: 0px;
+ border-style: solid;
+ border-color: #527bbd;
+ border-collapse: collapse;
+}
+th.tableblock, td.tableblock {
+ border-width: 1px;
+ padding: 4px;
+ border-style: solid;
+ border-color: #527bbd;
+}
+
+table.tableblock.frame-topbot {
+ border-left-style: hidden;
+ border-right-style: hidden;
+}
+table.tableblock.frame-sides {
+ border-top-style: hidden;
+ border-bottom-style: hidden;
+}
+table.tableblock.frame-none {
+ border-style: hidden;
+}
+
+th.tableblock.halign-left, td.tableblock.halign-left {
+ text-align: left;
+}
+th.tableblock.halign-center, td.tableblock.halign-center {
+ text-align: center;
+}
+th.tableblock.halign-right, td.tableblock.halign-right {
+ text-align: right;
+}
+
+th.tableblock.valign-top, td.tableblock.valign-top {
+ vertical-align: top;
+}
+th.tableblock.valign-middle, td.tableblock.valign-middle {
+ vertical-align: middle;
+}
+th.tableblock.valign-bottom, td.tableblock.valign-bottom {
+ vertical-align: bottom;
+}
+
+
+/*
+ * manpage specific
+ *
+ * */
+
+body.manpage h1 {
+ padding-top: 0.5em;
+ padding-bottom: 0.5em;
+ border-top: 2px solid silver;
+ border-bottom: 2px solid silver;
+}
+body.manpage h2 {
+ border-style: none;
+}
+body.manpage div.sectionbody {
+ margin-left: 3em;
+}
+
+@media print {
+ body.manpage div#toc { display: none; }
+}
+
+
+</style>
+<script type="text/javascript">
+/*<![CDATA[*/
+var asciidoc = { // Namespace.
+
+/////////////////////////////////////////////////////////////////////
+// Table Of Contents generator
+/////////////////////////////////////////////////////////////////////
+
+/* Author: Mihai Bazon, September 2002
+ * http://students.infoiasi.ro/~mishoo
+ *
+ * Table Of Content generator
+ * Version: 0.4
+ *
+ * Feel free to use this script under the terms of the GNU General Public
+ * License, as long as you do not remove or alter this notice.
+ */
+
+ /* modified by Troy D. Hanson, September 2006. License: GPL */
+ /* modified by Stuart Rackham, 2006, 2009. License: GPL */
+
+// toclevels = 1..4.
+toc: function (toclevels) {
+
+ function getText(el) {
+ var text = "";
+ for (var i = el.firstChild; i != null; i = i.nextSibling) {
+ if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
+ text += i.data;
+ else if (i.firstChild != null)
+ text += getText(i);
+ }
+ return text;
+ }
+
+ function TocEntry(el, text, toclevel) {
+ this.element = el;
+ this.text = text;
+ this.toclevel = toclevel;
+ }
+
+ function tocEntries(el, toclevels) {
+ var result = new Array;
+ var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
+ // Function that scans the DOM tree for header elements (the DOM2
+ // nodeIterator API would be a better technique but not supported by all
+ // browsers).
+ var iterate = function (el) {
+ for (var i = el.firstChild; i != null; i = i.nextSibling) {
+ if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
+ var mo = re.exec(i.tagName);
+ if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
+ result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
+ }
+ iterate(i);
+ }
+ }
+ }
+ iterate(el);
+ return result;
+ }
+
+ var toc = document.getElementById("toc");
+ if (!toc) {
+ return;
+ }
+
+ // Delete existing TOC entries in case we're reloading the TOC.
+ var tocEntriesToRemove = [];
+ var i;
+ for (i = 0; i < toc.childNodes.length; i++) {
+ var entry = toc.childNodes[i];
+ if (entry.nodeName.toLowerCase() == 'div'
+ && entry.getAttribute("class")
+ && entry.getAttribute("class").match(/^toclevel/))
+ tocEntriesToRemove.push(entry);
+ }
+ for (i = 0; i < tocEntriesToRemove.length; i++) {
+ toc.removeChild(tocEntriesToRemove[i]);
+ }
+
+ // Rebuild TOC entries.
+ var entries = tocEntries(document.getElementById("content"), toclevels);
+ for (var i = 0; i < entries.length; ++i) {
+ var entry = entries[i];
+ if (entry.element.id == "")
+ entry.element.id = "_toc_" + i;
+ var a = document.createElement("a");
+ a.href = "#" + entry.element.id;
+ a.appendChild(document.createTextNode(entry.text));
+ var div = document.createElement("div");
+ div.appendChild(a);
+ div.className = "toclevel" + entry.toclevel;
+ toc.appendChild(div);
+ }
+ if (entries.length == 0)
+ toc.parentNode.removeChild(toc);
+},
+
+
+/////////////////////////////////////////////////////////////////////
+// Footnotes generator
+/////////////////////////////////////////////////////////////////////
+
+/* Based on footnote generation code from:
+ * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
+ */
+
+footnotes: function () {
+ // Delete existing footnote entries in case we're reloading the footnodes.
+ var i;
+ var noteholder = document.getElementById("footnotes");
+ if (!noteholder) {
+ return;
+ }
+ var entriesToRemove = [];
+ for (i = 0; i < noteholder.childNodes.length; i++) {
+ var entry = noteholder.childNodes[i];
+ if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
+ entriesToRemove.push(entry);
+ }
+ for (i = 0; i < entriesToRemove.length; i++) {
+ noteholder.removeChild(entriesToRemove[i]);
+ }
+
+ // Rebuild footnote entries.
+ var cont = document.getElementById("content");
+ var spans = cont.getElementsByTagName("span");
+ var refs = {};
+ var n = 0;
+ for (i=0; i<spans.length; i++) {
+ if (spans[i].className == "footnote") {
+ n++;
+ var note = spans[i].getAttribute("data-note");
+ if (!note) {
+ // Use [\s\S] in place of . so multi-line matches work.
+ // Because JavaScript has no s (dotall) regex flag.
+ note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
+ spans[i].innerHTML =
+ "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
+ "' title='View footnote' class='footnote'>" + n + "</a>]";
+ spans[i].setAttribute("data-note", note);
+ }
+ noteholder.innerHTML +=
+ "<div class='footnote' id='_footnote_" + n + "'>" +
+ "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
+ n + "</a>. " + note + "</div>";
+ var id =spans[i].getAttribute("id");
+ if (id != null) refs["#"+id] = n;
+ }
+ }
+ if (n == 0)
+ noteholder.parentNode.removeChild(noteholder);
+ else {
+ // Process footnoterefs.
+ for (i=0; i<spans.length; i++) {
+ if (spans[i].className == "footnoteref") {
+ var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
+ href = href.match(/#.*/)[0]; // Because IE return full URL.
+ n = refs[href];
+ spans[i].innerHTML =
+ "[<a href='#_footnote_" + n +
+ "' title='View footnote' class='footnote'>" + n + "</a>]";
+ }
+ }
+ }
+},
+
+install: function(toclevels) {
+ var timerId;
+
+ function reinstall() {
+ asciidoc.footnotes();
+ if (toclevels) {
+ asciidoc.toc(toclevels);
+ }
+ }
+
+ function reinstallAndRemoveTimer() {
+ clearInterval(timerId);
+ reinstall();
+ }
+
+ timerId = setInterval(reinstall, 500);
+ if (document.addEventListener)
+ document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
+ else
+ window.onload = reinstallAndRemoveTimer;
+}
+
+}
+asciidoc.install(2);
+/*]]>*/
+</script>
+</head>
+<body class="article">
+<div id="header">
+<h1>AsciiDoc User Guide</h1>
+<span id="author">Stuart Rackham</span><br />
+<span id="email"><code>&lt;<a href="mailto:srackham@gmail.com">srackham@gmail.com</a>&gt;</code></span><br />
+<span id="revnumber">version 9.0.5,</span>
+<span id="revdate">24 January 2021</span>
+<div id="toc">
+ <div id="toctitle">Table of Contents</div>
+ <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
+</div>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc is a text document format for writing notes, documentation,
+articles, books, ebooks, slideshows, web pages, blogs and UNIX man
+pages. AsciiDoc files can be translated to many formats including
+HTML, PDF, EPUB, man page. AsciiDoc is highly configurable: both the
+AsciiDoc source file syntax and the backend output markups (which can
+be almost any type of SGML/XML markup) can be customized and extended
+by the user.</p></div>
+<div class="sidebarblock">
+<div class="content">
+<div class="title">This document</div>
+<div class="paragraph"><p>This is an overly large document, it probably needs to be refactored
+into a Tutorial, Quick Reference and Formal Reference.</p></div>
+<div class="paragraph"><p>If you&#8217;re new to AsciiDoc read this section and the <a href="#X6">Getting Started</a> section and take a look at the example AsciiDoc (<code>*.txt</code>)
+source files in the distribution <code>doc</code> directory.</p></div>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_introduction">1. Introduction</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc is a plain text human readable/writable document format that
+can be translated to DocBook or HTML using the asciidoc(1) command.
+You can then either use asciidoc(1) generated HTML directly or run
+asciidoc(1) DocBook output through your favorite DocBook toolchain or
+use the AsciiDoc a2x(1) toolchain wrapper to produce PDF, EPUB, DVI,
+LaTeX, PostScript, man page, HTML and text formats.</p></div>
+<div class="paragraph"><p>The AsciiDoc format is a useful presentation format in its own right:
+AsciiDoc markup is simple, intuitive and as such is easily proofed and
+edited.</p></div>
+<div class="paragraph"><p>AsciiDoc is light weight: it consists of a single Python script and a
+bunch of configuration files. Apart from asciidoc(1) and a Python
+interpreter, no other programs are required to convert AsciiDoc text
+files to DocBook or HTML. See <a href="#X11">Example AsciiDoc Documents</a>
+below.</p></div>
+<div class="paragraph"><p>Text markup conventions tend to be a matter of (often strong) personal
+preference: if the default syntax is not to your liking you can define
+your own by editing the text based asciidoc(1) configuration files.
+You can also create configuration files to translate AsciiDoc
+documents to almost any SGML/XML markup.</p></div>
+<div class="paragraph"><p>asciidoc(1) comes with a set of configuration files to translate
+AsciiDoc articles, books and man pages to HTML or DocBook backend
+formats.</p></div>
+<div class="sidebarblock">
+<div class="content">
+<div class="title">My AsciiDoc Itch</div>
+<div class="paragraph"><p>DocBook has emerged as the de facto standard Open Source documentation
+format. But DocBook is a complex language, the markup is difficult to
+read and even more difficult to write directly&#8201;&#8212;&#8201;I found I was
+spending more time typing markup tags, consulting reference manuals
+and fixing syntax errors, than I was writing the documentation.</p></div>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X6">2. Getting Started</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_installing_asciidoc">2.1. Installing AsciiDoc</h3>
+<div class="paragraph"><p>See the <code>README</code> and <code>INSTALL</code> files for install prerequisites and
+procedures. Packagers take a look at <a href="#X38">Packager Notes</a>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X11">2.2. Example AsciiDoc Documents</h3>
+<div class="paragraph"><p>The best way to quickly get a feel for AsciiDoc is to view the
+AsciiDoc web site and/or distributed examples:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Take a look at the linked examples on the AsciiDoc web site home
+ page <a href="https://asciidoc.org/">https://asciidoc.org/</a>. Press the <em>Page Source</em> sidebar menu item to view
+ corresponding AsciiDoc source.
+</p>
+</li>
+<li>
+<p>
+Read the <code>*.txt</code> source files in the distribution <code>./doc</code> directory
+ along with the corresponding HTML and DocBook XML files.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_asciidoc_document_types">3. AsciiDoc Document Types</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>There are three types of AsciiDoc documents: article, book and
+manpage. All document types share the same AsciiDoc format with some
+minor variations. If you are familiar with DocBook you will have
+noticed that AsciiDoc document types correspond to the same-named
+DocBook document types.</p></div>
+<div class="paragraph"><p>Use the asciidoc(1) <code>-d</code> (<code>--doctype</code>) option to specify the AsciiDoc
+document type&#8201;&#8212;&#8201;the default document type is <em>article</em>.</p></div>
+<div class="paragraph"><p>By convention the <code>.txt</code> file extension is used for AsciiDoc document
+source files.</p></div>
+<div class="sect2">
+<h3 id="_article">3.1. article</h3>
+<div class="paragraph"><p>Used for short documents, articles and general documentation. See the
+AsciiDoc distribution <code>./doc/article.txt</code> example.</p></div>
+<div class="paragraph"><p>AsciiDoc defines standard DocBook article frontmatter and backmatter
+<a href="#X93">section markup templates</a> (appendix, abstract, bibliography,
+glossary, index).</p></div>
+</div>
+<div class="sect2">
+<h3 id="_book">3.2. book</h3>
+<div class="paragraph"><p>Books share the same format as articles, with the following
+differences:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+The part titles in multi-part books are <a href="#X17">top level titles</a>
+ (same level as book title).
+</p>
+</li>
+<li>
+<p>
+Some sections are book specific e.g. preface and colophon.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Book documents will normally be used to produce DocBook output since
+DocBook processors can automatically generate footnotes, table of
+contents, list of tables, list of figures, list of examples and
+indexes.</p></div>
+<div class="paragraph"><p>AsciiDoc defines standard DocBook book frontmatter and backmatter
+<a href="#X93">section markup templates</a> (appendix, dedication, preface,
+bibliography, glossary, index, colophon).</p></div>
+<div class="dlist"><div class="title">Example book documents</div><dl>
+<dt class="hdlist1">
+Book
+</dt>
+<dd>
+<p>
+ The <code>./doc/book.txt</code> file in the AsciiDoc distribution.
+</p>
+</dd>
+<dt class="hdlist1">
+Multi-part book
+</dt>
+<dd>
+<p>
+ The <code>./doc/book-multi.txt</code> file in the AsciiDoc distribution.
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_manpage">3.3. manpage</h3>
+<div class="paragraph"><p>Used to generate roff format UNIX manual pages. AsciiDoc manpage
+documents observe special header title and section naming conventions&#8201;&#8212;&#8201;see the <a href="#X1">Manpage Documents</a> section for details.</p></div>
+<div class="paragraph"><p>AsciiDoc defines the <em>synopsis</em> <a href="#X93">section markup template</a> to
+generate the DocBook <code>refsynopsisdiv</code> section.</p></div>
+<div class="paragraph"><p>See also the asciidoc(1) man page source (<code>./doc/asciidoc.1.txt</code>) from
+the AsciiDoc distribution.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X5">4. AsciiDoc Backends</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The asciidoc(1) command translates an AsciiDoc formatted file to the
+backend format specified by the <code>-b</code> (<code>--backend</code>) command-line
+option. asciidoc(1) itself has little intrinsic knowledge of backend
+formats, all translation rules are contained in customizable cascading
+configuration files. Backend specific attributes are listed in the
+<a href="#X88">Backend Attributes</a> section.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+docbook45
+</dt>
+<dd>
+<p>
+ Outputs DocBook XML 4.5 markup.
+</p>
+</dd>
+<dt class="hdlist1">
+docbook5
+</dt>
+<dd>
+<p>
+ Outputs DocBook XML 5.0 markup.
+</p>
+</dd>
+<dt class="hdlist1">
+html4
+</dt>
+<dd>
+<p>
+ This backend generates plain HTML 4.01 Transitional markup.
+</p>
+</dd>
+<dt class="hdlist1">
+xhtml11
+</dt>
+<dd>
+<p>
+ This backend generates XHTML 1.1 markup styled with CSS2. Output
+ files have an <code>.html</code> extension.
+</p>
+</dd>
+<dt class="hdlist1">
+html5
+</dt>
+<dd>
+<p>
+ This backend generates HTML 5 markup, apart from the inclusion of
+ <a href="#X98">audio and video block macros</a> it is functionally identical to
+ the <em>xhtml11</em> backend.
+</p>
+</dd>
+<dt class="hdlist1">
+slidy
+</dt>
+<dd>
+<p>
+ Use this backend to generate self-contained
+ <a href="http://www.w3.org/Talks/Tools/Slidy2/">Slidy</a> HTML slideshows for
+ your web browser from AsciiDoc documents. The Slidy backend is
+ documented in the distribution <code>doc/slidy.txt</code> file and
+ <a href="https://asciidoc.org/slidy.html">online</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+wordpress
+</dt>
+<dd>
+<p>
+ A minor variant of the <em>html4</em> backend to support
+ <a href="http://srackham.wordpress.com/blogpost1/">blogpost</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+latex
+</dt>
+<dd>
+<p>
+ Experimental LaTeX backend.
+</p>
+</dd>
+</dl></div>
+<div class="sect2">
+<h3 id="_backend_aliases">4.1. Backend Aliases</h3>
+<div class="paragraph"><p>Backend aliases are alternative names for AsciiDoc backends. AsciiDoc
+comes with two backend aliases: <em>html</em> (aliased to <em>xhtml11</em>) and
+<em>docbook</em> (aliased to <em>docbook45</em>).</p></div>
+<div class="paragraph"><p>You can assign (or reassign) backend aliases by setting an AsciiDoc
+attribute named like <code>backend-alias-&lt;alias&gt;</code> to an AsciiDoc backend
+name. For example, the following backend alias attribute definitions
+appear in the <code>[attributes]</code> section of the global <code>asciidoc.conf</code>
+configuration file:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>backend-alias-html=xhtml11
+backend-alias-docbook=docbook45</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X100">4.2. Backend Plugins</h3>
+<div class="paragraph"><p>The asciidoc(1) <code>--backend</code> option is also used to install and manage
+backend <a href="#X101">plugins</a>.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+A backend plugin is used just like the built-in backends.
+</p>
+</li>
+<li>
+<p>
+Backend plugins <a href="#X27">take precedence</a> over built-in backends with
+ the same name.
+</p>
+</li>
+<li>
+<p>
+You can use the <code>{asciidoc-confdir}</code> <a href="#X60">intrinsic attribute</a> to
+ refer to the built-in backend configuration file location from
+ backend plugin configuration files.
+</p>
+</li>
+<li>
+<p>
+You can use the <code>{backend-confdir}</code> <a href="#X60">intrinsic attribute</a> to
+ refer to the backend plugin configuration file location.
+</p>
+</li>
+<li>
+<p>
+By default backends plugins are installed in
+ <code>$HOME/.asciidoc/backends/&lt;backend&gt;</code> where <code>&lt;backend&gt;</code> is the
+ backend name.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_docbook">5. DocBook</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc generates <em>article</em>, <em>book</em> and <em>refentry</em>
+<a href="http://www.docbook.org/">DocBook</a> documents (corresponding to the
+AsciiDoc <em>article</em>, <em>book</em> and <em>manpage</em> document types).</p></div>
+<div class="paragraph"><p>Most Linux distributions come with conversion tools (collectively
+called a toolchain) for <a href="#X12">converting DocBook files</a> to
+presentation formats such as Postscript, HTML, PDF, EPUB, DVI,
+PostScript, LaTeX, roff (the native man page format), HTMLHelp,
+JavaHelp and text. There are also programs that allow you to view
+DocBook files directly, for example <a href="http://live.gnome.org/Yelp">Yelp</a>
+(the GNOME help viewer).</p></div>
+<div class="sect2">
+<h3 id="X12">5.1. Converting DocBook to other file formats</h3>
+<div class="paragraph"><p>DocBook files are validated, parsed and translated various
+presentation file formats using a combination of applications
+collectively called a DocBook <em>tool chain</em>. The function of a tool
+chain is to read the DocBook markup (produced by AsciiDoc) and
+transform it to a presentation format (for example HTML, PDF, HTML
+Help, EPUB, DVI, PostScript, LaTeX).</p></div>
+<div class="paragraph"><p>A wide range of user output format requirements coupled with a choice
+of available tools and stylesheets results in many valid tool chain
+combinations.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X43">5.2. a2x Toolchain Wrapper</h3>
+<div class="paragraph"><p>One of the biggest hurdles for new users is installing, configuring
+and using a DocBook XML toolchain. <code>a2x(1)</code> can help&#8201;&#8212;&#8201;it&#8217;s a
+toolchain wrapper command that will generate XHTML (chunked and
+unchunked), PDF, EPUB, DVI, PS, LaTeX, man page, HTML Help and text
+file outputs from an AsciiDoc text file. <code>a2x(1)</code> does all the grunt
+work associated with generating and sequencing the toolchain commands
+and managing intermediate and output files. <code>a2x(1)</code> also optionally
+deploys admonition and navigation icons and a CSS stylesheet. See the
+<code>a2x(1)</code> man page for more details. In addition to <code>asciidoc(1)</code> you
+also need <a href="#X40">xsltproc(1)</a>, <a href="#X13">DocBook XSL Stylesheets</a> and
+optionally: <a href="#X31">dblatex</a> or <a href="#X14">FOP</a> (to generate PDF);
+<code>w3m(1)</code> or <code>lynx(1)</code> (to generate text).</p></div>
+<div class="paragraph"><p>The following examples generate <code>doc/source-highlight-filter.pdf</code> from
+the AsciiDoc <code>doc/source-highlight-filter.txt</code> source file. The first
+example uses <code>dblatex(1)</code> (the default PDF generator) the second
+example forces FOP to be used:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ a2x -f pdf doc/source-highlight-filter.txt
+$ a2x -f pdf --fop doc/source-highlight-filter.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>See the <code>a2x(1)</code> man page for details.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">Use the <code>--verbose</code> command-line option to view executed
+toolchain commands.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_html_generation">5.3. HTML generation</h3>
+<div class="paragraph"><p>AsciiDoc produces nicely styled HTML directly without requiring a
+DocBook toolchain but there are also advantages in going the DocBook
+route:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+HTML from DocBook can optionally include automatically generated
+ indexes, tables of contents, footnotes, lists of figures and tables.
+</p>
+</li>
+<li>
+<p>
+DocBook toolchains can also (optionally) generate separate (chunked)
+ linked HTML pages for each document section.
+</p>
+</li>
+<li>
+<p>
+Toolchain processing performs link and document validity checks.
+</p>
+</li>
+<li>
+<p>
+If the DocBook <em>lang</em> attribute is set then things like table of
+ contents, figure and table captions and admonition captions will be
+ output in the specified language (setting the AsciiDoc <em>lang</em>
+ attribute sets the DocBook <em>lang</em> attribute).
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>On the other hand, HTML output directly from AsciiDoc is much faster,
+is easily customized and can be used in situations where there is no
+suitable DocBook toolchain (for example, see the <a href="https://asciidoc.org/">AsciiDoc
+website</a>).</p></div>
+</div>
+<div class="sect2">
+<h3 id="_pdf_generation">5.4. PDF generation</h3>
+<div class="paragraph"><p>There are two commonly used tools to generate PDFs from DocBook,
+<a href="#X31">dblatex</a> and <a href="#X14">FOP</a>.</p></div>
+<div class="ulist"><div class="title">dblatex or FOP?</div><ul>
+<li>
+<p>
+<em>dblatex</em> is easier to install, there&#8217;s zero configuration
+ required and no Java VM to install&#8201;&#8212;&#8201;it just works out of the box.
+</p>
+</li>
+<li>
+<p>
+<em>dblatex</em> source code highlighting and numbering is superb.
+</p>
+</li>
+<li>
+<p>
+<em>dblatex</em> is easier to use as it converts DocBook directly to PDF
+ whereas before using <em>FOP</em> you have to convert DocBook to XML-FO
+ using <a href="#X13">DocBook XSL Stylesheets</a>.
+</p>
+</li>
+<li>
+<p>
+<em>FOP</em> is more feature complete (for example, callouts are processed
+ inside literal layouts) and arguably produces nicer looking output.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_html_help_generation">5.5. HTML Help generation</h3>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Convert DocBook XML documents to HTML Help compiler source files
+ using <a href="#X13">DocBook XSL Stylesheets</a> and <a href="#X40">xsltproc(1)</a>.
+</p>
+</li>
+<li>
+<p>
+Convert the HTML Help source (<code>.hhp</code> and <code>.html</code>) files to HTML Help
+ (<code>.chm</code>) files using the <a href="#X67">Microsoft HTML Help Compiler</a>.
+</p>
+</li>
+</ol></div>
+</div>
+<div class="sect2">
+<h3 id="_toolchain_components_summary">5.6. Toolchain components summary</h3>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+AsciiDoc
+</dt>
+<dd>
+<p>
+ Converts AsciiDoc (<code>.txt</code>) files to DocBook XML (<code>.xml</code>) files.
+</p>
+</dd>
+<dt class="hdlist1">
+<a id="X13"></a><a href="https://github.com/docbook/xslt10-stylesheets">DocBook XSLT Stylesheets</a>
+</dt>
+<dd>
+<p>
+ These are a set of XSL stylesheets containing rules for converting
+ DocBook XML documents to HTML, XSL-FO, manpage and HTML Help files.
+ The stylesheets are used in conjunction with an XML parser such as
+ <a href="#X40">xsltproc(1)</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+<a id="X40"></a><a href="http://www.xmlsoft.org">xsltproc</a>
+</dt>
+<dd>
+<p>
+ An XML parser for applying XSLT stylesheets (in our case the
+ <a href="#X13">DocBook XSL Stylesheets</a>) to XML documents.
+</p>
+</dd>
+<dt class="hdlist1">
+<a id="X31"></a><a href="http://dblatex.sourceforge.net/">dblatex</a>
+</dt>
+<dd>
+<p>
+ Generates PDF, DVI, PostScript and LaTeX formats directly from
+ DocBook source via the intermediate LaTeX typesetting language&#8201;&#8212;&#8201; uses <a href="#X13">DocBook XSL Stylesheets</a>, <a href="#X40">xsltproc(1)</a> and
+ <code>latex(1)</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+<a id="X14"></a><a href="http://xmlgraphics.apache.org/fop/">FOP</a>
+</dt>
+<dd>
+<p>
+ The Apache Formatting Objects Processor converts XSL-FO (<code>.fo</code>)
+ files to PDF files. The XSL-FO files are generated from DocBook
+ source files using <a href="#X13">DocBook XSL Stylesheets</a> and
+ <a href="#X40">xsltproc(1)</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+<a id="X67"></a>Microsoft Help Compiler
+</dt>
+<dd>
+<p>
+ The Microsoft HTML Help Compiler (<code>hhc.exe</code>) is a command-line tool
+ that converts HTML Help source files to a single HTML Help (<code>.chm</code>)
+ file. It runs on MS Windows platforms and can be downloaded from
+ <a href="http://www.microsoft.com">http://www.microsoft.com</a>.
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_asciidoc_dblatex_configuration_files">5.7. AsciiDoc dblatex configuration files</h3>
+<div class="paragraph"><p>The AsciiDoc distribution <code>./dblatex</code> directory contains
+<code>asciidoc-dblatex.xsl</code> (customized XSL parameter settings) and
+<code>asciidoc-dblatex.sty</code> (customized LaTeX settings). These are examples
+of optional <a href="#X31">dblatex</a> output customization and are used by
+<a href="#X43">a2x(1)</a>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_asciidoc_docbook_xsl_stylesheets_drivers">5.8. AsciiDoc DocBook XSL Stylesheets drivers</h3>
+<div class="paragraph"><p>You will have noticed that the distributed HTML and HTML Help
+documentation files (for example <code>./doc/asciidoc.html</code>) are not the
+plain outputs produced using the default <em>DocBook XSL Stylesheets</em>
+configuration. This is because they have been processed using
+customized DocBook XSL Stylesheets along with (in the case of HTML
+outputs) the custom <code>./stylesheets/docbook-xsl.css</code> CSS stylesheet.</p></div>
+<div class="paragraph"><p>You&#8217;ll find the customized DocBook XSL drivers along with additional
+documentation in the distribution <code>./docbook-xsl</code> directory. The
+examples that follow are executed from the distribution documentation
+(<code>./doc</code>) directory. These drivers are also used by <a href="#X43">a2x(1)</a>.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>common.xsl</code>
+</dt>
+<dd>
+<p>
+ Shared driver parameters. This file is not used directly but is
+ included in all the following drivers.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>chunked.xsl</code>
+</dt>
+<dd>
+<p>
+ Generate chunked XHTML (separate HTML pages for each document
+ section) in the <code>./doc/chunked</code> directory. For example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ python ../asciidoc.py -b docbook asciidoc.txt
+$ xsltproc --nonet ../docbook-xsl/chunked.xsl asciidoc.xml</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+<code>epub.xsl</code>
+</dt>
+<dd>
+<p>
+ Used by <a href="#X43">a2x(1)</a> to generate EPUB formatted documents.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>fo.xsl</code>
+</dt>
+<dd>
+<p>
+ Generate XSL Formatting Object (<code>.fo</code>) files for subsequent PDF
+ file generation using FOP. For example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ python ../asciidoc.py -b docbook article.txt
+$ xsltproc --nonet ../docbook-xsl/fo.xsl article.xml &gt; article.fo
+$ fop article.fo article.pdf</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+<code>htmlhelp.xsl</code>
+</dt>
+<dd>
+<p>
+ Generate Microsoft HTML Help source files for the MS HTML Help
+ Compiler in the <code>./doc/htmlhelp</code> directory. This example is run on
+ MS Windows from a Cygwin shell prompt:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ python ../asciidoc.py -b docbook asciidoc.txt
+$ xsltproc --nonet ../docbook-xsl/htmlhelp.xsl asciidoc.xml
+$ c:/Program\ Files/HTML\ Help\ Workshop/hhc.exe htmlhelp.hhp</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+<code>manpage.xsl</code>
+</dt>
+<dd>
+<p>
+ Generate a <code>roff(1)</code> format UNIX man page from a DocBook XML
+ <em>refentry</em> document. This example generates an <code>asciidoc.1</code> man
+ page file:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ python ../asciidoc.py -d manpage -b docbook asciidoc.1.txt
+$ xsltproc --nonet ../docbook-xsl/manpage.xsl asciidoc.1.xml</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+<code>xhtml.xsl</code>
+</dt>
+<dd>
+<p>
+ Convert a DocBook XML file to a single XHTML file. For example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ python ../asciidoc.py -b docbook asciidoc.txt
+$ xsltproc --nonet ../docbook-xsl/xhtml.xsl asciidoc.xml &gt; asciidoc.html</code></pre>
+</div></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p>If you want to see how the complete documentation set is processed
+take a look at the A-A-P script <code>./doc/main.aap</code>.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_generating_plain_text_files">6. Generating Plain Text Files</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc does not have a text backend (for most purposes AsciiDoc
+source text is fine), however you can convert AsciiDoc text files to
+formatted text using the AsciiDoc <a href="#X43">a2x(1)</a> toolchain wrapper
+utility.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X35">7. HTML5 and XHTML 1.1</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The <em>xhtml11</em> and <em>html5</em> backends embed or link CSS and JavaScript
+files in their outputs, there is also a <a href="#X99">themes</a> plugin
+framework.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+If the AsciiDoc <em>linkcss</em> attribute is defined then CSS and
+ JavaScript files are linked to the output document, otherwise they
+ are embedded (the default behavior).
+</p>
+</li>
+<li>
+<p>
+The default locations for CSS and JavaScript files can be changed by
+ setting the AsciiDoc <em>stylesdir</em> and <em>scriptsdir</em> attributes
+ respectively.
+</p>
+</li>
+<li>
+<p>
+The default locations for embedded and linked files differ and are
+ calculated at different times&#8201;&#8212;&#8201;embedded files are loaded when
+ asciidoc(1) generates the output document, linked files are loaded
+ by the browser when the user views the output document.
+</p>
+</li>
+<li>
+<p>
+Embedded files are automatically inserted in the output files but
+ you need to manually copy linked CSS and Javascript files from
+ AsciiDoc <a href="#X27">configuration directories</a> to the correct location
+ relative to the output document.
+</p>
+</li>
+</ul></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 1. Stylesheet file locations</caption>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+<thead>
+<tr>
+<th align="left" valign="top"><em>stylesdir</em> attribute</th>
+<th align="left" valign="top">Linked location (<em>linkcss</em> attribute defined)</th>
+<th align="left" valign="top">Embedded location (<em>linkcss</em> attribute undefined)</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">Undefined (default).</p></td>
+<td align="left" valign="top"><p class="table">Same directory as the output document.</p></td>
+<td align="left" valign="top"><p class="table"><code>stylesheets</code> subdirectory in the AsciiDoc configuration directory
+(the directory containing the backend conf file).</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">Absolute or relative directory name.</p></td>
+<td align="left" valign="top"><p class="table">Absolute or relative to the output document.</p></td>
+<td align="left" valign="top"><p class="table">Absolute or relative to the AsciiDoc configuration directory (the
+directory containing the backend conf file).</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 2. JavaScript file locations</caption>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+<thead>
+<tr>
+<th align="left" valign="top"><em>scriptsdir</em> attribute</th>
+<th align="left" valign="top">Linked location (<em>linkcss</em> attribute defined)</th>
+<th align="left" valign="top">Embedded location (<em>linkcss</em> attribute undefined)</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">Undefined (default).</p></td>
+<td align="left" valign="top"><p class="table">Same directory as the output document.</p></td>
+<td align="left" valign="top"><p class="table"><code>javascripts</code> subdirectory in the AsciiDoc configuration directory
+(the directory containing the backend conf file).</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">Absolute or relative directory name.</p></td>
+<td align="left" valign="top"><p class="table">Absolute or relative to the output document.</p></td>
+<td align="left" valign="top"><p class="table">Absolute or relative to the AsciiDoc configuration directory (the
+directory containing the backend conf file).</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="X99">7.1. Themes</h3>
+<div class="paragraph"><p>The AsciiDoc <em>theme</em> attribute is used to select an alternative CSS
+stylesheet and to optionally include additional JavaScript code.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Theme files reside in an AsciiDoc <a href="#X27">configuration directory</a>
+ named <code>themes/&lt;theme&gt;/</code> (where <code>&lt;theme&gt;</code> is the the theme name set
+ by the <em>theme</em> attribute). asciidoc(1) sets the <em>themedir</em> attribute
+ to the theme directory path name.
+</p>
+</li>
+<li>
+<p>
+The <em>theme</em> attribute can also be set using the asciidoc(1)
+ <code>--theme</code> option, the <code>--theme</code> option can also be used to manage
+ theme <a href="#X101">plugins</a>.
+</p>
+</li>
+<li>
+<p>
+AsciiDoc ships with two themes: <em>flask</em> and <em>volnitsky</em>.
+</p>
+</li>
+<li>
+<p>
+The <code>&lt;theme&gt;.css</code> file replaces the default <code>asciidoc.css</code> CSS file.
+</p>
+</li>
+<li>
+<p>
+The <code>&lt;theme&gt;.js</code> file is included in addition to the default
+ <code>asciidoc.js</code> JavaScript file.
+</p>
+</li>
+<li>
+<p>
+If the <a href="#X66">data-uri</a> attribute is defined then icons are loaded
+ from the theme <code>icons</code> sub-directory if it exists (i.e. the
+ <em>iconsdir</em> attribute is set to theme <code>icons</code> sub-directory path).
+</p>
+</li>
+<li>
+<p>
+Embedded theme files are automatically inserted in the output files
+ but you need to manually copy linked CSS and Javascript files to the
+ location of the output documents.
+</p>
+</li>
+<li>
+<p>
+Linked CSS and JavaScript theme files are linked to the same linked
+ locations as <a href="#X35">other CSS and JavaScript files</a>.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>For example, the command-line option <code>--theme foo</code> (or <code>--attribute
+theme=foo</code>) will cause asciidoc(1) to search <a href="#X27">configuration file locations 1</a> for a sub-directory called <code>themes/foo</code>
+containing the stylesheet <code>foo.css</code> and optionally a JavaScript file
+name <code>foo.js</code>.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_document_structure">8. Document Structure</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>An AsciiDoc document consists of a series of <a href="#X8">block elements</a>
+starting with an optional document Header, followed by an optional
+Preamble, followed by zero or more document Sections.</p></div>
+<div class="paragraph"><p>Almost any combination of zero or more elements constitutes a valid
+AsciiDoc document: documents can range from a single sentence to a
+multi-part book.</p></div>
+<div class="sect2">
+<h3 id="_block_elements">8.1. Block Elements</h3>
+<div class="paragraph"><p>Block elements consist of one or more lines of text and may contain
+other block elements.</p></div>
+<div class="paragraph"><p>The AsciiDoc block structure can be informally summarized as follows
+<span class="footnote"><br />[This is a rough structural guide, not a rigorous syntax
+definition]<br /></span>:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Document ::= (Header?,Preamble?,Section*)
+Header ::= (Title,(AuthorInfo,RevisionInfo?)?)
+AuthorInfo ::= (FirstName,(MiddleName?,LastName)?,EmailAddress?)
+RevisionInfo ::= (RevisionNumber?,RevisionDate,RevisionRemark?)
+Preamble ::= (SectionBody)
+Section ::= (Title,SectionBody?,(Section)*)
+SectionBody ::= ((BlockTitle?,Block)|BlockMacro)+
+Block ::= (Paragraph|DelimitedBlock|List|Table)
+List ::= (BulletedList|NumberedList|LabeledList|CalloutList)
+BulletedList ::= (ListItem)+
+NumberedList ::= (ListItem)+
+CalloutList ::= (ListItem)+
+LabeledList ::= (ListEntry)+
+ListEntry ::= (ListLabel,ListItem)
+ListLabel ::= (ListTerm+)
+ListItem ::= (ItemText,(List|ListParagraph|ListContinuation)*)</code></pre>
+</div></div>
+<div class="paragraph"><p>Where:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<em>?</em> implies zero or one occurrence, <em>+</em> implies one or more
+ occurrences, <em>*</em> implies zero or more occurrences.
+</p>
+</li>
+<li>
+<p>
+All block elements are separated by line boundaries.
+</p>
+</li>
+<li>
+<p>
+<code>BlockId</code>, <code>AttributeEntry</code> and <code>AttributeList</code> block elements (not
+ shown) can occur almost anywhere.
+</p>
+</li>
+<li>
+<p>
+There are a number of document type and backend specific
+ restrictions imposed on the block syntax.
+</p>
+</li>
+<li>
+<p>
+The following elements cannot contain blank lines: Header, Title,
+ Paragraph, ItemText.
+</p>
+</li>
+<li>
+<p>
+A ListParagraph is a Paragraph with its <em>listelement</em> option set.
+</p>
+</li>
+<li>
+<p>
+A ListContinuation is a <a href="#X15">list continuation element</a>.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="X95">8.2. Header</h3>
+<div class="paragraph"><p>The Header contains document meta-data, typically title plus optional
+authorship and revision information:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+The Header is optional, but if it is used it must start with a
+ document <a href="#X17">title</a>.
+</p>
+</li>
+<li>
+<p>
+Optional Author and Revision information immediately follows the
+ header title.
+</p>
+</li>
+<li>
+<p>
+The document header must be separated from the remainder of the
+ document by one or more blank lines and cannot contain blank lines.
+</p>
+</li>
+<li>
+<p>
+The header can include comments.
+</p>
+</li>
+<li>
+<p>
+The header can include <a href="#X18">attribute entries</a>, typically
+ <em>doctype</em>, <em>lang</em>, <em>encoding</em>, <em>icons</em>, <em>data-uri</em>, <em>toc</em>,
+ <em>numbered</em>.
+</p>
+</li>
+<li>
+<p>
+Header attributes are overridden by command-line attributes.
+</p>
+</li>
+<li>
+<p>
+If the header contains non-UTF-8 characters then the <em>encoding</em> must
+ precede the header (either in the document or on the command-line).
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Here&#8217;s an example AsciiDoc document header:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Writing Documentation using AsciiDoc
+====================================
+Joe Bloggs &lt;jbloggs@mymail.com&gt;
+v2.0, February 2003:
+Rewritten for version 2 release.</code></pre>
+</div></div>
+<div class="paragraph"><p>The author information line contains the author&#8217;s name optionally
+followed by the author&#8217;s email address. The author&#8217;s name is formatted
+like:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>firstname[ [middlename ]lastname][ &lt;email&gt;]]</code></pre>
+</div></div>
+<div class="paragraph"><p>i.e. a first name followed by optional middle and last names followed
+by an email address in that order. Multi-word first, middle and last
+names can be entered using the underscore as a word separator. The
+email address comes last and must be enclosed in angle &lt;&gt; brackets.
+Here a some examples of author information lines:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Joe Bloggs &lt;jbloggs@mymail.com&gt;
+Joe Bloggs
+Vincent Willem van_Gogh</code></pre>
+</div></div>
+<div class="paragraph"><p>If the author line does not match the above specification then the
+entire author line is treated as the first name.</p></div>
+<div class="paragraph"><p>The optional revision information line follows the author information
+line. The revision information can be one of two formats:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+An optional document revision number followed by an optional
+ revision date followed by an optional revision remark:
+</p>
+<div class="openblock">
+<div class="content">
+<div class="ulist"><ul>
+<li>
+<p>
+If the revision number is specified it must be followed by a
+ comma.
+</p>
+</li>
+<li>
+<p>
+The revision number must contain at least one numeric character.
+</p>
+</li>
+<li>
+<p>
+Any non-numeric characters preceding the first numeric character
+ will be dropped.
+</p>
+</li>
+<li>
+<p>
+If a revision remark is specified it must be preceded by a colon.
+ The revision remark extends from the colon up to the next blank
+ line, attribute entry or comment and is subject to normal text
+ substitutions.
+</p>
+</li>
+<li>
+<p>
+If a revision number or remark has been set but the revision date
+ has not been set then the revision date is set to the value of the
+ <em>docdate</em> attribute.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>v2.0, February 2003
+February 2003
+v2.0,
+v2.0, February 2003: Rewritten for version 2 release.
+February 2003: Rewritten for version 2 release.
+v2.0,: Rewritten for version 2 release.
+:Rewritten for version 2 release.</code></pre>
+</div></div>
+</div></div>
+</li>
+<li>
+<p>
+The revision information line can also be an RCS/CVS/SVN $Id$
+ marker:
+</p>
+<div class="openblock">
+<div class="content">
+<div class="ulist"><ul>
+<li>
+<p>
+AsciiDoc extracts the <em>revnumber</em>, <em>revdate</em>, and <em>author</em>
+ attributes from the $Id$ revision marker and displays them in the
+ document header.
+</p>
+</li>
+<li>
+<p>
+If an $Id$ revision marker is used the header author line can be
+ omitted.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$Id: mydoc.txt,v 1.5 2009/05/17 17:58:44 jbloggs Exp $</code></pre>
+</div></div>
+</div></div>
+</li>
+</ol></div>
+<div class="paragraph"><p>You can override or set header parameters by passing <em>revnumber</em>,
+<em>revremark</em>, <em>revdate</em>, <em>email</em>, <em>author</em>, <em>authorinitials</em>,
+<em>firstname</em> and <em>lastname</em> attributes using the asciidoc(1) <code>-a</code>
+(<code>--attribute</code>) command-line option. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a revdate=2004/07/27 article.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>Attribute entries can also be added to the header for substitution in
+the header template with <a href="#X18">Attribute Entry</a> elements.</p></div>
+<div class="paragraph"><p>The <em>title</em> element in HTML outputs is set to the AsciiDoc document
+title, you can set it to a different value by including a <em>title</em>
+attribute entry in the document header.</p></div>
+<div class="sect3">
+<h4 id="X87">8.2.1. Additional document header information</h4>
+<div class="paragraph"><p>AsciiDoc has two mechanisms for optionally including additional
+meta-data in the header of the output document:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<em>docinfo</em> configuration file sections
+</dt>
+<dd>
+<p>
+If a <a href="#X7">configuration file</a> section named <em>docinfo</em> has been loaded
+then it will be included in the document header. Typically the
+<em>docinfo</em> section name will be prefixed with a <em>+</em> character so that it
+is appended to (rather than replace) other <em>docinfo</em> sections.
+</p>
+</dd>
+<dt class="hdlist1">
+<em>docinfo</em> files
+</dt>
+<dd>
+<p>
+Two docinfo files are recognized: one named <code>docinfo</code> and a second
+named like the AsciiDoc source file with a <code>-docinfo</code> suffix. For
+example, if the source document is called <code>mydoc.txt</code> then the
+document information files would be <code>docinfo.xml</code> and
+<code>mydoc-docinfo.xml</code> (for DocBook outputs) and <code>docinfo.html</code> and
+<code>mydoc-docinfo.html</code> (for HTML outputs). The <a href="#X97">docinfo</a> attributes control which docinfo files are included in
+the output files.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>The contents docinfo templates and files is dependent on the type of
+output:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+HTML
+</dt>
+<dd>
+<p>
+ Valid <em>head</em> child elements. Typically <em>style</em> and <em>script</em> elements
+ for CSS and JavaScript inclusion.
+</p>
+</dd>
+<dt class="hdlist1">
+DocBook
+</dt>
+<dd>
+<p>
+ Valid <em>articleinfo</em> or <em>bookinfo</em> child elements. DocBook defines
+ numerous elements for document meta-data, for example: copyrights,
+ document history and authorship information. See the DocBook
+ <code>./doc/article-docinfo.xml</code> example that comes with the AsciiDoc
+ distribution. The rendering of meta-data elements (or not) is
+ DocBook processor dependent.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="X86">8.3. Preamble</h3>
+<div class="paragraph"><p>The Preamble is an optional untitled section body between the document
+Header and the first Section title.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_sections">8.4. Sections</h3>
+<div class="paragraph"><p>In addition to the document title (level 0), AsciiDoc supports four
+section levels: 1 (top) to 4 (bottom). Section levels are delimited
+by section <a href="#X17">titles</a>. Sections are translated using
+configuration file <a href="#X93">section markup templates</a>. AsciiDoc
+generates the following <a href="#X60">intrinsic attributes</a> specifically for
+use in section markup templates:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+level
+</dt>
+<dd>
+<p>
+The <code>level</code> attribute is the section level number, it is normally just
+the <a href="#X17">title</a> level number (1..4). However, if the <code>leveloffset</code>
+attribute is defined it will be added to the <code>level</code> attribute. The
+<code>leveloffset</code> attribute is useful for <a href="#X90">combining documents</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+sectnum
+</dt>
+<dd>
+<p>
+The <code>-n</code> (<code>--section-numbers</code>) command-line option generates the
+<code>sectnum</code> (section number) attribute. The <code>sectnum</code> attribute is used
+for section numbers in HTML outputs (DocBook section numbering are
+handled automatically by the DocBook toolchain commands).
+</p>
+</dd>
+</dl></div>
+<div class="sect3">
+<h4 id="X93">8.4.1. Section markup templates</h4>
+<div class="paragraph"><p>Section markup templates specify output markup and are defined in
+AsciiDoc configuration files. Section markup template names are
+derived as follows (in order of precedence):</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+From the title&#8217;s first positional attribute or <em>template</em>
+ attribute. For example, the following three section titles are
+ functionally equivalent:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>[[terms]]
+[glossary]
+List of Terms
+-------------
+
+["glossary",id="terms"]
+List of Terms
+-------------
+
+[template="glossary",id="terms"]
+List of Terms
+-------------</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+When the title text matches a configuration file
+ <a href="#X16"><code>[specialsections]</code></a> entry.
+</p>
+</li>
+<li>
+<p>
+If neither of the above the default <code>sect&lt;level&gt;</code> template is used
+ (where <code>&lt;level&gt;</code> is a number from 1 to 4).
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>In addition to the normal section template names (<em>sect1</em>, <em>sect2</em>,
+<em>sect3</em>, <em>sect4</em>) AsciiDoc has the following templates for
+frontmatter, backmatter and other special sections: <em>abstract</em>,
+<em>preface</em>, <em>colophon</em>, <em>dedication</em>, <em>glossary</em>, <em>bibliography</em>,
+<em>synopsis</em>, <em>appendix</em>, <em>index</em>. These special section templates
+generate the corresponding Docbook elements; for HTML outputs they
+default to the <em>sect1</em> section template.</p></div>
+</div>
+<div class="sect3">
+<h4 id="_section_ids">8.4.2. Section IDs</h4>
+<div class="paragraph"><p>If no explicit section ID is specified an ID will be synthesised from
+the section title. The primary purpose of this feature is to ensure
+persistence of table of contents links (permalinks): the missing
+section IDs are generated dynamically by the JavaScript TOC generator
+<strong>after</strong> the page is loaded. If you link to a dynamically generated TOC
+address the page will load but the browser will ignore the (as yet
+ungenerated) section ID.</p></div>
+<div class="paragraph"><p>The IDs are generated by the following algorithm:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Replace all non-alphanumeric title characters with underscores.
+</p>
+</li>
+<li>
+<p>
+Strip leading or trailing underscores.
+</p>
+</li>
+<li>
+<p>
+Convert to lowercase.
+</p>
+</li>
+<li>
+<p>
+Prepend the <code>idprefix</code> attribute (so there&#8217;s no possibility of name
+ clashes with existing document IDs). Prepend an underscore if the
+ <code>idprefix</code> attribute is not defined.
+</p>
+</li>
+<li>
+<p>
+A numbered suffix (<code>_2</code>, <code>_3</code> &#8230;) is added if a same named
+ auto-generated section ID exists.
+</p>
+</li>
+<li>
+<p>
+If the <code>ascii-ids</code> attribute is defined then non-ASCII characters
+ are replaced with ASCII equivalents. This attribute should be
+ <strong>should be avoided</strong> if possible as its sole purpose is to accommodate
+ deficient downstream applications that cannot process non-ASCII ID
+ attributes. If available, it will use the
+ <a href="https://pypi.org/project/trans/">trans python module</a>, otherwise it
+ will fallback to using NFKD algorithm, which cannot handle all
+ unicode characters. For example, <em>Wstęp żółtej łąki</em> will be
+ translated to <em>Wstep zoltej laki</em> under trans and <em>Wstep zotej aki</em>
+ under NFKD.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Example: the title <em>Jim&#8217;s House</em> would generate the ID <code>_jim_s_house</code>.</p></div>
+<div class="paragraph"><p>Section ID synthesis can be disabled by undefining the <code>sectids</code>
+attribute.</p></div>
+</div>
+<div class="sect3">
+<h4 id="X16">8.4.3. Special Section Titles</h4>
+<div class="paragraph"><p>AsciiDoc has a mechanism for mapping predefined section titles
+auto-magically to specific markup templates. For example a title
+<em>Appendix A: Code Reference</em> will automatically use the <em>appendix</em>
+<a href="#X93">section markup template</a>. The mappings from title to template
+name are specified in <code>[specialsections]</code> sections in the Asciidoc
+language configuration files (<code>lang-*.conf</code>). Section entries are
+formatted like:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;title&gt;=&lt;template&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p><code>&lt;title&gt;</code> is a Python regular expression and <code>&lt;template&gt;</code> is the name
+of a configuration file markup template section. If the <code>&lt;title&gt;</code>
+matches an AsciiDoc document section title then the backend output is
+marked up using the <code>&lt;template&gt;</code> markup template (instead of the
+default <code>sect&lt;level&gt;</code> section template). The <code>{title}</code> attribute value
+is set to the value of the matched regular expression group named
+<em>title</em>, if there is no <em>title</em> group <code>{title}</code> defaults to the whole
+of the AsciiDoc section title. If <code>&lt;template&gt;</code> is blank then any
+existing entry with the same <code>&lt;title&gt;</code> will be deleted.</p></div>
+<div class="sidebarblock">
+<div class="content">
+<div class="title">Special section titles vs. explicit template names</div>
+<div class="paragraph"><p>AsciiDoc has two mechanisms for specifying non-default section markup
+templates: you can specify the template name explicitly (using the
+<em>template</em> attribute) or indirectly (using <em>special section titles</em>).
+Specifying a <a href="#X93">section template</a> attribute explicitly is
+preferred. Auto-magical <em>special section titles</em> have the following
+drawbacks:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+They are non-obvious, you have to know the exact matching
+ title for each special section on a language by language basis.
+</p>
+</li>
+<li>
+<p>
+Section titles are predefined and can only be customised with a
+ configuration change.
+</p>
+</li>
+<li>
+<p>
+The implementation is complicated by multiple languages: every
+ special section title has to be defined for each language (in each
+ of the <code>lang-*.conf</code> files).
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Specifying special section template names explicitly does add more
+noise to the source document (the <em>template</em> attribute declaration),
+but the intention is obvious and the syntax is consistent with other
+AsciiDoc elements c.f. bibliographic, Q&amp;A and glossary lists.</p></div>
+<div class="paragraph"><p>Special section titles have been deprecated but are retained for
+backward compatibility.</p></div>
+</div></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_inline_elements">8.5. Inline Elements</h3>
+<div class="paragraph"><p><a href="#X34">Inline document elements</a> are used to format text and to
+perform various types of text substitution. Inline elements and inline
+element syntax is defined in the asciidoc(1) configuration files.</p></div>
+<div class="paragraph"><p>Here is a list of AsciiDoc inline elements in the (default) order in
+which they are processed:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+Special characters
+</dt>
+<dd>
+<p>
+ These character sequences escape special characters used by
+ the backend markup (typically <code>&lt;</code>, <code>&gt;</code>, and <code>&amp;</code> characters).
+ See <code>[specialcharacters]</code> configuration file sections.
+</p>
+</dd>
+<dt class="hdlist1">
+Quotes
+</dt>
+<dd>
+<p>
+ Elements that markup words and phrases; usually for character
+ formatting. See <code>[quotes]</code> configuration file sections.
+</p>
+</dd>
+<dt class="hdlist1">
+Special Words
+</dt>
+<dd>
+<p>
+ Word or word phrase patterns singled out for markup without
+ the need for further annotation. See <code>[specialwords]</code>
+ configuration file sections.
+</p>
+</dd>
+<dt class="hdlist1">
+Replacements
+</dt>
+<dd>
+<p>
+ Each replacement defines a word or word phrase pattern to
+ search for along with corresponding replacement text. See
+ <code>[replacements]</code> configuration file sections.
+</p>
+</dd>
+<dt class="hdlist1">
+Attribute references
+</dt>
+<dd>
+<p>
+ Document attribute names enclosed in braces are replaced by
+ the corresponding attribute value.
+</p>
+</dd>
+<dt class="hdlist1">
+Inline Macros
+</dt>
+<dd>
+<p>
+ Inline macros are replaced by the contents of parametrized
+ configuration file sections.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_document_processing">9. Document Processing</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The AsciiDoc source document is read and processed as follows:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+The document <em>Header</em> is parsed, header parameter values are
+ substituted into the configuration file <code>[header]</code> template section
+ which is then written to the output file.
+</p>
+</li>
+<li>
+<p>
+Each document <em>Section</em> is processed and its constituent elements
+ translated to the output file.
+</p>
+</li>
+<li>
+<p>
+The configuration file <code>[footer]</code> template section is substituted
+ and written to the output file.
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>When a block element is encountered asciidoc(1) determines the type of
+block by checking in the following order (first to last): (section)
+Titles, BlockMacros, Lists, DelimitedBlocks, Tables, AttributeEntrys,
+AttributeLists, BlockTitles, Paragraphs.</p></div>
+<div class="paragraph"><p>The default paragraph definition <code>[paradef-default]</code> is last element
+to be checked.</p></div>
+<div class="paragraph"><p>Knowing the parsing order will help you devise unambiguous macro, list
+and block syntax rules.</p></div>
+<div class="paragraph"><p>Inline substitutions within block elements are performed in the
+following default order:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Special characters
+</p>
+</li>
+<li>
+<p>
+Quotes
+</p>
+</li>
+<li>
+<p>
+Special words
+</p>
+</li>
+<li>
+<p>
+Replacements
+</p>
+</li>
+<li>
+<p>
+Attributes
+</p>
+</li>
+<li>
+<p>
+Inline Macros
+</p>
+</li>
+<li>
+<p>
+Replacements2
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>The substitutions and substitution order performed on
+Title, Paragraph and DelimitedBlock elements is determined by
+configuration file parameters.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_text_formatting">10. Text Formatting</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="X51">10.1. Quoted Text</h3>
+<div class="paragraph"><p>Words and phrases can be formatted by enclosing inline text with
+quote characters:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<em>Emphasized text</em>
+</dt>
+<dd>
+<p>
+ Word phrases 'enclosed in single quote characters' (acute
+ accents) or _underline characters_ are emphasized.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Strong text</strong>
+</dt>
+<dd>
+<p>
+ Word phrases *enclosed in asterisk characters* are rendered
+ in a strong font (usually bold).
+</p>
+</dd>
+<dt class="hdlist1">
+<a id="X81"></a><code>Monospaced text</code>
+</dt>
+<dd>
+<p>
+ Word phrases +enclosed in plus characters+ are rendered in a
+ monospaced font. Word phrases `enclosed in backtick
+ characters` (grave accents) are also rendered in a monospaced
+ font but in this case the enclosed text is rendered literally
+ and is not subject to further expansion (see <a href="#X80">inline literal passthrough</a>).
+</p>
+</dd>
+<dt class="hdlist1">
+&#8216;Single quoted text&#8217;
+</dt>
+<dd>
+<p>
+ Phrases enclosed with a `single grave accent to the left and
+ a single acute accent to the right' are rendered in single
+ quotation marks.
+</p>
+</dd>
+<dt class="hdlist1">
+&#8220;Double quoted text&#8221;
+</dt>
+<dd>
+<p>
+ Phrases enclosed with ``two grave accents to the left and
+ two acute accents to the right'' are rendered in quotation
+ marks.
+</p>
+</dd>
+<dt class="hdlist1">
+Unquoted text
+</dt>
+<dd>
+<p>
+ Placing #hashes around text# does nothing, it is a mechanism
+ to allow inline attributes to be applied to otherwise
+ unformatted text.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>New quote types can be defined by editing asciidoc(1) configuration
+files. See the <a href="#X7">Configuration Files</a> section for details.</p></div>
+<div class="ulist"><div class="title">Quoted text behavior</div><ul>
+<li>
+<p>
+Quoting cannot be overlapped.
+</p>
+</li>
+<li>
+<p>
+Different quoting types can be nested.
+</p>
+</li>
+<li>
+<p>
+To suppress quoted text formatting place a backslash character
+ immediately in front of the leading quote character(s). In the case
+ of ambiguity between escaped and non-escaped text you will need to
+ escape both leading and trailing quotes, in the case of
+ multi-character quotes you may even need to escape individual
+ characters.
+</p>
+</li>
+</ul></div>
+<div class="sect3">
+<h4 id="X96">10.1.1. Quoted text attributes</h4>
+<div class="paragraph"><p>Quoted text can be prefixed with an <a href="#X21">attribute list</a>. The first
+positional attribute (<em>role</em> attribute) is translated by AsciiDoc to
+an HTML <em>span</em> element <em>class</em> attribute or a DocBook <em>phrase</em> element
+<em>role</em> attribute.</p></div>
+<div class="paragraph"><p>DocBook XSL Stylesheets translate DocBook <em>phrase</em> elements with
+<em>role</em> attributes to corresponding HTML <em>span</em> elements with the same
+<em>class</em> attributes; CSS can then be used
+<a href="http://www.sagehill.net/docbookxsl/UsingCSS.html">to style the
+generated HTML</a>. Thus CSS styling can be applied to both DocBook and
+AsciiDoc generated HTML outputs. You can also specify multiple class
+names separated by spaces.</p></div>
+<div class="paragraph"><p>CSS rules for text color, text background color, text size and text
+decorators are included in the distributed AsciiDoc CSS files and are
+used in conjunction with AsciiDoc <em>xhtml11</em>, <em>html5</em> and <em>docbook</em>
+outputs. The CSS class names are:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<em>&lt;color&gt;</em> (text foreground color).
+</p>
+</li>
+<li>
+<p>
+<em>&lt;color&gt;-background</em> (text background color).
+</p>
+</li>
+<li>
+<p>
+<em>big</em> and <em>small</em> (text size).
+</p>
+</li>
+<li>
+<p>
+<em>underline</em>, <em>overline</em> and <em>line-through</em> (strike through) text
+ decorators.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Where <em>&lt;color&gt;</em> can be any of the
+<a href="http://en.wikipedia.org/wiki/Web_colors#HTML_color_names">sixteen HTML
+color names</a>. Examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[red]#Obvious# and [big red yellow-background]*very obvious*.</code></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[underline]#Underline text#, [overline]#overline text# and
+[blue line-through]*bold blue and line-through*.</code></pre>
+</div></div>
+<div class="paragraph"><p>is rendered as:</p></div>
+<div class="paragraph"><p><span class="red">Obvious</span> and <strong><span class="big red yellow-background">very obvious</span></strong>.</p></div>
+<div class="paragraph"><p><span class="underline">Underline text</span>, <span class="overline">overline text</span> and
+<strong><span class="bold blue line-through">bold blue and line-through</span></strong>.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">Color and text decorator attributes are rendered for XHTML and
+HTML 5 outputs using CSS stylesheets. The mechanism to implement
+color and text decorator attributes is provided for DocBook toolchains
+via the DocBook <em>phrase</em> element <em>role</em> attribute, but the actual
+rendering is toolchain specific and is not part of the AsciiDoc
+distribution.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect3">
+<h4 id="X52">10.1.2. Constrained and Unconstrained Quotes</h4>
+<div class="paragraph"><p>There are actually two types of quotes:</p></div>
+<div class="sect4">
+<h5 id="_constrained_quotes">Constrained quotes</h5>
+<div class="paragraph"><p>Quoted must be bounded by white space or commonly adjoining
+punctuation characters. These are the most commonly used type of
+quote.</p></div>
+</div>
+<div class="sect4">
+<h5 id="_unconstrained_quotes">Unconstrained quotes</h5>
+<div class="paragraph"><p>Unconstrained quotes have no boundary constraints and can be placed
+anywhere within inline text. For consistency and to make them easier
+to remember unconstrained quotes are double-ups of the <code>_</code>, <code>*</code>, <code>+</code>
+and <code>#</code> constrained quotes:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>__unconstrained emphasized text__
+**unconstrained strong text**
+++unconstrained monospaced text++
+##unconstrained unquoted text##</code></pre>
+</div></div>
+<div class="paragraph"><p>The following example emboldens the letter F:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>**F**ile Open...</code></pre>
+</div></div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_superscripts_and_subscripts">10.2. Superscripts and Subscripts</h3>
+<div class="paragraph"><p>Put ^carets on either^ side of the text to be superscripted, put
+~tildes on either side~ of text to be subscripted. For example, the
+following line:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>e^&amp;#960;i^+1 = 0. H~2~O and x^10^. Some ^super text^
+and ~some sub text~</code></pre>
+</div></div>
+<div class="paragraph"><p>Is rendered like:</p></div>
+<div class="paragraph"><p>e<sup>&#960;i</sup>+1 = 0. H<sub>2</sub>O and x<sup>10</sup>. Some <sup>super text</sup>
+and <sub>some sub text</sub></p></div>
+<div class="paragraph"><p>Superscripts and subscripts are implemented as <a href="#X52">unconstrained quotes</a> and they can be escaped with a leading backslash and prefixed
+with with an attribute list.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_line_breaks">10.3. Line Breaks</h3>
+<div class="paragraph"><p>A plus character preceded by at least one space character at the end
+of a non-blank line forces a line break. It generates a line break
+(<code>br</code>) tag for HTML outputs and a custom XML <code>asciidoc-br</code> processing
+instruction for DocBook outputs. The <code>asciidoc-br</code> processing
+instruction is handled by <a href="#X43">a2x(1)</a>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_page_breaks">10.4. Page Breaks</h3>
+<div class="paragraph"><p>A line of three or more less-than (<code>&lt;&lt;&lt;</code>) characters will generate a
+hard page break in DocBook and printed HTML outputs. It uses the CSS
+<code>page-break-after</code> property for HTML outputs and a custom XML
+<code>asciidoc-pagebreak</code> processing instruction for DocBook outputs. The
+<code>asciidoc-pagebreak</code> processing instruction is handled by
+<a href="#X43">a2x(1)</a>. Hard page breaks are sometimes handy but as a general
+rule you should let your page processor generate page breaks for you.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_rulers">10.5. Rulers</h3>
+<div class="paragraph"><p>A line of three or more apostrophe characters will generate a ruler
+line. It generates a ruler (<code>hr</code>) tag for HTML outputs and a custom
+XML <code>asciidoc-hr</code> processing instruction for DocBook outputs. The
+<code>asciidoc-hr</code> processing instruction is handled by <a href="#X43">a2x(1)</a>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_tabs">10.6. Tabs</h3>
+<div class="paragraph"><p>By default tab characters input files will translated to 8 spaces. Tab
+expansion is set with the <em>tabsize</em> entry in the configuration file
+<code>[miscellaneous]</code> section and can be overridden in included files by
+setting a <em>tabsize</em> attribute in the <code>include</code> macro&#8217;s attribute list.
+For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>include::addendum.txt[tabsize=2]</code></pre>
+</div></div>
+<div class="paragraph"><p>The tab size can also be set using the attribute command-line option,
+for example <code>--attribute tabsize=4</code></p></div>
+</div>
+<div class="sect2">
+<h3 id="_replacements">10.7. Replacements</h3>
+<div class="paragraph"><p>The following replacements are defined in the default AsciiDoc
+configuration:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>(C) copyright, (TM) trademark, (R) registered trademark,
+-- em dash, ... ellipsis, -&gt; right arrow, &lt;- left arrow, =&gt; right
+double arrow, &lt;= left double arrow.</code></pre>
+</div></div>
+<div class="paragraph"><p>Which are rendered as:</p></div>
+<div class="paragraph"><p>&#169; copyright, &#8482; trademark, &#174; registered trademark,&#8201;&#8212;&#8201;em dash, &#8230; ellipsis, &#8594; right arrow, &#8592; left arrow, &#8658; right
+double arrow, &#8656; left double arrow.</p></div>
+<div class="paragraph"><p>You can also include arbitrary entity references in the AsciiDoc
+source. Examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&amp;#x278a; &amp;#182;</code></pre>
+</div></div>
+<div class="paragraph"><p>renders:</p></div>
+<div class="paragraph"><p>&#x278a; &#182;</p></div>
+<div class="paragraph"><p>To render a replacement literally escape it with a leading back-slash.</p></div>
+<div class="paragraph"><p>The <a href="#X7">Configuration Files</a> section explains how to configure your
+own replacements.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_special_words">10.8. Special Words</h3>
+<div class="paragraph"><p>Words defined in <code>[specialwords]</code> configuration file sections are
+automatically marked up without having to be explicitly notated.</p></div>
+<div class="paragraph"><p>The <a href="#X7">Configuration Files</a> section explains how to add and replace
+special words.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X17">11. Titles</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Document and section titles can be in either of two formats:</p></div>
+<div class="sect2">
+<h3 id="_two_line_titles">11.1. Two line titles</h3>
+<div class="paragraph"><p>A two line title consists of a title line, starting hard against the
+left margin, and an underline. Section underlines consist a repeated
+character pairs spanning the width of the preceding title (give or
+take up to two characters):</p></div>
+<div class="paragraph"><p>The default title underlines for each of the document levels are:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Level 0 (top level): ======================
+Level 1: ----------------------
+Level 2: ~~~~~~~~~~~~~~~~~~~~~~
+Level 3: ^^^^^^^^^^^^^^^^^^^^^^
+Level 4 (bottom level): ++++++++++++++++++++++</code></pre>
+</div></div>
+<div class="paragraph"><p>Examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Level One Section Title
+-----------------------</code></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Level 2 Subsection Title
+~~~~~~~~~~~~~~~~~~~~~~~~</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X46">11.2. One line titles</h3>
+<div class="paragraph"><p>One line titles consist of a single line delimited on either side by
+one or more equals characters (the number of equals characters
+corresponds to the section level minus one). Here are some examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>= Document Title (level 0) =
+== Section title (level 1) ==
+=== Section title (level 2) ===
+==== Section title (level 3) ====
+===== Section title (level 4) =====</code></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">
+<div class="ulist"><ul>
+<li>
+<p>
+One or more spaces must fall between the title and the delimiters.
+</p>
+</li>
+<li>
+<p>
+The trailing title delimiter is optional.
+</p>
+</li>
+<li>
+<p>
+The one-line title syntax can be changed by editing the
+ configuration file <code>[titles]</code> section <code>sect0</code>&#8230;<code>sect4</code> entries.
+</p>
+</li>
+</ul></div>
+</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_floating_titles">11.3. Floating titles</h3>
+<div class="paragraph"><p>Setting the title&#8217;s first positional attribute or <em>style</em> attribute to
+<em>float</em> generates a free-floating title. A free-floating title is
+rendered just like a normal section title but is not formally
+associated with a text body and is not part of the regular section
+hierarchy so the normal ordering rules do not apply. Floating titles
+can also be used in contexts where section titles are illegal: for
+example sidebar and admonition blocks. Example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[float]
+The second day
+~~~~~~~~~~~~~~</code></pre>
+</div></div>
+<div class="paragraph"><p>Floating titles do not appear in a document&#8217;s table of contents.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X42">12. Block Titles</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>A <em>BlockTitle</em> element is a single line beginning with a period
+followed by the title text. A BlockTitle is applied to the immediately
+following Paragraph, DelimitedBlock, List, Table or BlockMacro. For
+example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>.Notes
+- Note 1.
+- Note 2.</code></pre>
+</div></div>
+<div class="paragraph"><p>is rendered as:</p></div>
+<div class="ulist"><div class="title">Notes</div><ul>
+<li>
+<p>
+Note 1.
+</p>
+</li>
+<li>
+<p>
+Note 2.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X41">13. BlockId Element</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>A <em>BlockId</em> is a single line block element containing a unique
+identifier enclosed in double square brackets. It is used to assign an
+identifier to the ensuing block element. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[[chapter-titles]]
+Chapter titles can be ...</code></pre>
+</div></div>
+<div class="paragraph"><p>The preceding example identifies the ensuing paragraph so it can be
+referenced from other locations, for example with
+<code>&lt;&lt;chapter-titles,chapter titles&gt;&gt;</code>.</p></div>
+<div class="paragraph"><p><em>BlockId</em> elements can be applied to Title, Paragraph, List,
+DelimitedBlock, Table and BlockMacro elements. The BlockId element
+sets the <code>{id}</code> attribute for substitution in the subsequent block&#8217;s
+markup template. If a second positional argument is supplied it sets
+the <code>{reftext}</code> attribute which is used to set the DocBook <code>xreflabel</code>
+attribute.</p></div>
+<div class="paragraph"><p>The <em>BlockId</em> element has the same syntax and serves the same function
+to the <a href="#X30">anchor inline macro</a>.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X79">14. AttributeList Element</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>An <em>AttributeList</em> block element is an <a href="#X21">attribute list</a> on a
+line by itself:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<em>AttributeList</em> attributes are only applied to the immediately
+ following block element&#8201;&#8212;&#8201;the attributes are made available to the
+ block&#8217;s markup template.
+</p>
+</li>
+<li>
+<p>
+Multiple contiguous <em>AttributeList</em> elements are additively combined
+ in the order they appear.
+</p>
+</li>
+<li>
+<p>
+The first positional attribute in the list is often used to specify
+ the ensuing element&#8217;s <a href="#X23">style</a>.
+</p>
+</li>
+</ul></div>
+<div class="sect2">
+<h3 id="_attribute_value_substitution">14.1. Attribute value substitution</h3>
+<div class="paragraph"><p>By default, only substitutions that take place inside attribute list
+values are attribute references, this is because not all attributes
+are destined to be marked up and rendered as text (for example the
+table <em>cols</em> attribute). To perform normal inline text substitutions
+(special characters, quotes, macros, replacements) on an attribute
+value you need to enclose it in single quotes. In the following quote
+block the second attribute value in the AttributeList is quoted to
+ensure the <em>http</em> macro is expanded to a hyperlink.</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[quote,'http://en.wikipedia.org/wiki/Samuel_Johnson[Samuel Johnson]']
+_____________________________________________________________________
+Sir, a woman's preaching is like a dog's walking on his hind legs. It
+is not done well; but you are surprised to find it done at all.
+_____________________________________________________________________</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_common_attributes">14.2. Common attributes</h3>
+<div class="paragraph"><p>Most block elements support the following attributes:</p></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+<thead>
+<tr>
+<th align="left" valign="top">Name </th>
+<th align="left" valign="top">Backends </th>
+<th align="left" valign="top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><em>id</em></p></td>
+<td align="left" valign="top"><p class="table">html4, html5, xhtml11, docbook</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Unique identifier typically serve as link targets.
+Can also be set by the <em>BlockId</em> element.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>role</em></p></td>
+<td align="left" valign="top"><p class="table">html4, html5, xhtml11, docbook</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Role contains a string used to classify or subclassify an element and
+can be applied to AsciiDoc block elements. The AsciiDoc <em>role</em>
+attribute is translated to the <em>role</em> attribute in DocBook outputs and
+is included in the <em>class</em> attribute in HTML outputs, in this respect
+it behaves like the <a href="#X96">quoted text role attribute</a>.</p></div>
+<div class="paragraph"><p>DocBook XSL Stylesheets translate DocBook <em>role</em> attributes to HTML
+<em>class</em> attributes; CSS can then be used
+<a href="http://www.sagehill.net/docbookxsl/UsingCSS.html">to style the
+generated HTML</a>.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>reftext</em></p></td>
+<td align="left" valign="top"><p class="table">docbook</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p><em>reftext</em> is used to set the DocBook <em>xreflabel</em> attribute.
+The <em>reftext</em> attribute can an also be set by the <em>BlockId</em> element.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>floatstyle</em></p></td>
+<td align="left" valign="top"><p class="table">docbook</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p><em>floatstyle</em> is used to specify the floatstyle attribute for the
+titled table, example, image and equation blocks. This is useful when
+used in conjuction with the dblatex toolchain. A typical example
+would be to specify the value as <em>floatstyle="[htbp]"</em>.</p></div></div></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_paragraphs">15. Paragraphs</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Paragraphs are blocks of text terminated by a blank line, the end of
+file, or the start of a delimited block or a list. There are three
+paragraph syntaxes: normal, indented (literal) and admonition which
+are rendered, by default, with the corresponding paragraph style.</p></div>
+<div class="paragraph"><p>Each syntax has a default style, but you can explicitly apply any
+paragraph style to any paragraph syntax. You can also apply
+<a href="#X104">delimited block</a> styles to single paragraphs.</p></div>
+<div class="paragraph"><p>The built-in paragraph styles are: <em>normal</em>, <em>literal</em>, <em>verse</em>,
+<em>quote</em>, <em>listing</em>, <em>TIP</em>, <em>NOTE</em>, <em>IMPORTANT</em>, <em>WARNING</em>, <em>CAUTION</em>,
+<em>abstract</em>, <em>partintro</em>, <em>comment</em>, <em>example</em>, <em>sidebar</em>, <em>source</em>,
+<em>music</em>, <em>latex</em>, <em>graphviz</em>.</p></div>
+<div class="sect2">
+<h3 id="_normal_paragraph_syntax">15.1. normal paragraph syntax</h3>
+<div class="paragraph"><p>Normal paragraph syntax consists of one or more non-blank lines of
+text. The first line must start hard against the left margin (no
+intervening white space). The default processing expectation is that
+of a normal paragraph of text.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X85">15.2. literal paragraph syntax</h3>
+<div class="paragraph"><p>Literal paragraphs are rendered verbatim in a monospaced font without
+any distinguishing background or border. By default there is no text
+formatting or substitutions within Literal paragraphs apart from
+Special Characters and Callouts.</p></div>
+<div class="paragraph"><p>The <em>literal</em> style is applied implicitly to indented paragraphs i.e.
+where the first line of the paragraph is indented by one or more space
+or tab characters. For example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code> Consul *necessitatibus* per id,
+ consetetur, eu pro everti postulant
+ homero verear ea mea, qui.</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</code></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">Because <a href="#X64">lists</a> can be indented it&#8217;s possible for your
+indented paragraph to be misinterpreted as a list&#8201;&#8212;&#8201;in situations
+like this apply the <em>literal</em> style to a normal paragraph.</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>Instead of using a paragraph indent you could apply the <em>literal</em>
+style explicitly, for example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[literal]
+Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X94">15.3. quote and verse paragraph styles</h3>
+<div class="paragraph"><p>The optional <em>attribution</em> and <em>citetitle</em> attributes (positional
+attributes 2 and 3) specify the author and source respectively.</p></div>
+<div class="paragraph"><p>The <em>verse</em> style retains the line breaks, for example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[verse, William Blake, from Auguries of Innocence]
+To see a world in a grain of sand,
+And a heaven in a wild flower,
+Hold infinity in the palm of your hand,
+And eternity in an hour.</code></pre>
+</div></div>
+<div class="paragraph"><p>Which is rendered as:</p></div>
+<div class="verseblock">
+<pre class="content">To see a world in a grain of sand,
+And a heaven in a wild flower,
+Hold infinity in the palm of your hand,
+And eternity in an hour.</pre>
+<div class="attribution">
+<em>from Auguries of Innocence</em><br />
+&#8212; William Blake
+</div></div>
+<div class="paragraph"><p>The <em>quote</em> style flows the text at left and right margins, for
+example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[quote, Bertrand Russell, The World of Mathematics (1956)]
+A good notation has subtlety and suggestiveness which at times makes
+it almost seem like a live teacher.</code></pre>
+</div></div>
+<div class="paragraph"><p>Which is rendered as:</p></div>
+<div class="quoteblock">
+<div class="content">A good notation has subtlety and suggestiveness which at times makes
+it almost seem like a live teacher.</div>
+<div class="attribution">
+<em>The World of Mathematics (1956)</em><br />
+&#8212; Bertrand Russell
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X28">15.4. Admonition Paragraphs</h3>
+<div class="paragraph"><p><em>TIP</em>, <em>NOTE</em>, <em>IMPORTANT</em>, <em>WARNING</em> and <em>CAUTION</em> admonishment
+paragraph styles are generated by placing <code>NOTE:</code>, <code>TIP:</code>,
+<code>IMPORTANT:</code>, <code>WARNING:</code> or <code>CAUTION:</code> as the first word of the
+paragraph. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>NOTE: This is an example note.</code></pre>
+</div></div>
+<div class="paragraph"><p>Alternatively, you can specify the paragraph admonition style
+explicitly using an <a href="#X79">AttributeList element</a>. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[NOTE]
+This is an example note.</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">This is an example note.</td>
+</tr></table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">If your admonition requires more than a single paragraph use an
+<a href="#X22">admonition block</a> instead.</td>
+</tr></table>
+</div>
+<div class="sect3">
+<h4 id="X47">15.4.1. Admonition Icons and Captions</h4>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">Admonition customization with <code>icons</code>, <code>iconsdir</code>, <code>icon</code> and
+<code>caption</code> attributes does not apply when generating DocBook output. If
+you are going the DocBook route then the <a href="#X43">a2x(1)</a> <code>--no-icons</code>
+and <code>--icons-dir</code> options can be used to set the appropriate XSL
+Stylesheets parameters.</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>By default the asciidoc(1) HTML backends generate text captions
+instead of admonition icon image links. To generate links to icon
+images define the <a href="#X45"><code>icons</code></a> attribute, for example using the <code>-a
+icons</code> command-line option.</p></div>
+<div class="paragraph"><p>The <a href="#X44"><code>iconsdir</code></a> attribute sets the location of linked icon
+images.</p></div>
+<div class="paragraph"><p>You can override the default icon image using the <code>icon</code> attribute to
+specify the path of the linked image. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[icon="./images/icons/wink.png"]
+NOTE: What lovely war.</code></pre>
+</div></div>
+<div class="paragraph"><p>Use the <code>caption</code> attribute to customize the admonition captions (not
+applicable to <code>docbook</code> backend). The following example suppresses the
+icon image and customizes the caption of a <em>NOTE</em> admonition
+(undefining the <code>icons</code> attribute with <code>icons=None</code> is only necessary
+if <a href="#X45">admonition icons</a> have been enabled):</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[icons=None, caption="My Special Note"]
+NOTE: This is my special note.</code></pre>
+</div></div>
+<div class="paragraph"><p>This subsection also applies to <a href="#X22">Admonition Blocks</a>.</p></div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X104">16. Delimited Blocks</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Delimited blocks are blocks of text enveloped by leading and trailing
+delimiter lines (normally a series of four or more repeated
+characters). The behavior of Delimited Blocks is specified by entries
+in configuration file <code>[blockdef-*]</code> sections.</p></div>
+<div class="sect2">
+<h3 id="_predefined_delimited_blocks">16.1. Predefined Delimited Blocks</h3>
+<div class="paragraph"><p>AsciiDoc ships with a number of predefined DelimitedBlocks (see the
+<code>asciidoc.conf</code> configuration file in the asciidoc(1) program
+directory):</p></div>
+<div class="paragraph"><p>Predefined delimited block underlines:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>CommentBlock: //////////////////////////
+PassthroughBlock: ++++++++++++++++++++++++++
+ListingBlock: --------------------------
+LiteralBlock: ..........................
+SidebarBlock: **************************
+QuoteBlock: __________________________
+ExampleBlock: ==========================
+OpenBlock: --</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 3. Default DelimitedBlock substitutions</caption>
+<col />
+<col />
+<col />
+<col />
+<col />
+<col />
+<col />
+<col />
+<thead>
+<tr>
+<th align="left" valign="top"> </th>
+<th align="center" valign="top">Attributes </th>
+<th align="center" valign="top">Callouts </th>
+<th align="center" valign="top">Macros </th>
+<th align="center" valign="top"> Quotes </th>
+<th align="center" valign="top">Replacements</th>
+<th align="center" valign="top">Special chars </th>
+<th align="center" valign="top">Special words</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><em>PassthroughBlock</em></p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>ListingBlock</em></p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>LiteralBlock</em></p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>SidebarBlock</em></p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>QuoteBlock</em></p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>ExampleBlock</em></p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>OpenBlock</em></p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_listing_blocks">16.2. Listing Blocks</h3>
+<div class="paragraph"><p><em>ListingBlocks</em> are rendered verbatim in a monospaced font, they
+retain line and whitespace formatting and are often distinguished by a
+background or border. There is no text formatting or substitutions
+within Listing blocks apart from Special Characters and Callouts.
+Listing blocks are often used for computer output and file listings.</p></div>
+<div class="paragraph"><p>Here&#8217;s an example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>--------------------------------------
+#include &lt;stdio.h&gt;
+
+int main() {
+ printf("Hello World!\n");
+ exit(0);
+}
+--------------------------------------</code></pre>
+</div></div>
+<div class="paragraph"><p>Which will be rendered like:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>#include &lt;stdio.h&gt;
+
+int main() {
+ printf("Hello World!\n");
+ exit(0);
+}</code></pre>
+</div></div>
+<div class="paragraph"><p>By convention <a href="#X59">filter blocks</a> use the listing block syntax and
+are implemented as distinct listing block styles.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X65">16.3. Literal Blocks</h3>
+<div class="paragraph"><p><em>LiteralBlocks</em> are rendered just like <a href="#X85">literal paragraphs</a>.
+Example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>...................................
+Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.
+...................................</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</code></pre>
+</div></div>
+<div class="paragraph"><p>If the <em>listing</em> style is applied to a LiteralBlock it will be
+rendered as a ListingBlock (this is handy if you have a listing
+containing a ListingBlock).</p></div>
+</div>
+<div class="sect2">
+<h3 id="_sidebar_blocks">16.4. Sidebar Blocks</h3>
+<div class="paragraph"><p>A sidebar is a short piece of text presented outside the narrative
+flow of the main text. The sidebar is normally presented inside a
+bordered box to set it apart from the main text.</p></div>
+<div class="paragraph"><p>The sidebar body is treated like a normal section body.</p></div>
+<div class="paragraph"><p>Here&#8217;s an example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>.An Example Sidebar
+************************************************
+Any AsciiDoc SectionBody element (apart from
+SidebarBlocks) can be placed inside a sidebar.
+************************************************</code></pre>
+</div></div>
+<div class="paragraph"><p>Which will be rendered like:</p></div>
+<div class="sidebarblock">
+<div class="content">
+<div class="title">An Example Sidebar</div>
+<div class="paragraph"><p>Any AsciiDoc SectionBody element (apart from
+SidebarBlocks) can be placed inside a sidebar.</p></div>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X26">16.5. Comment Blocks</h3>
+<div class="paragraph"><p>The contents of <em>CommentBlocks</em> are not processed; they are useful for
+annotations and for excluding new or outdated content that you don&#8217;t
+want displayed. CommentBlocks are never written to output files.
+Example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>//////////////////////////////////////////
+CommentBlock contents are not processed by
+asciidoc(1).
+//////////////////////////////////////////</code></pre>
+</div></div>
+<div class="paragraph"><p>See also <a href="#X25">Comment Lines</a>.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">System macros are executed inside comment blocks.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="X76">16.6. Passthrough Blocks</h3>
+<div class="paragraph"><p>By default the block contents is subject only to <em>attributes</em> and
+<em>macros</em> substitutions (use an explicit <em>subs</em> attribute to apply
+different substitutions). PassthroughBlock content will often be
+backend specific. Here&#8217;s an example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[subs="quotes"]
+++++++++++++++++++++++++++++++++++++++
+&lt;table border="1"&gt;&lt;tr&gt;
+ &lt;td&gt;*Cell 1*&lt;/td&gt;
+ &lt;td&gt;*Cell 2*&lt;/td&gt;
+&lt;/tr&gt;&lt;/table&gt;
+++++++++++++++++++++++++++++++++++++++</code></pre>
+</div></div>
+<div class="paragraph"><p>The following styles can be applied to passthrough blocks:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+pass
+</dt>
+<dd>
+<p>
+ No substitutions are performed. This is equivalent to <code>subs="none"</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+asciimath, latexmath
+</dt>
+<dd>
+<p>
+ By default no substitutions are performed, the contents are rendered
+ as <a href="#X78">mathematical formulas</a>.
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_quote_blocks">16.7. Quote Blocks</h3>
+<div class="paragraph"><p><em>QuoteBlocks</em> are used for quoted passages of text. There are two
+styles: <em>quote</em> and <em>verse</em>. The style behavior is identical to
+<a href="#X94">quote and verse paragraphs</a> except that blocks can contain
+multiple paragraphs and, in the case of the <em>quote</em> style, other
+section elements. The first positional attribute sets the style, if
+no attributes are specified the <em>quote</em> style is used. The optional
+<em>attribution</em> and <em>citetitle</em> attributes (positional attributes 2 and
+3) specify the quote&#8217;s author and source. For example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[quote, Sir Arthur Conan Doyle, The Adventures of Sherlock Holmes]
+____________________________________________________________________
+As he spoke there was the sharp sound of horses' hoofs and
+grating wheels against the curb, followed by a sharp pull at the
+bell. Holmes whistled.
+
+"A pair, by the sound," said he. "Yes," he continued, glancing
+out of the window. "A nice little brougham and a pair of
+beauties. A hundred and fifty guineas apiece. There's money in
+this case, Watson, if there is nothing else."
+____________________________________________________________________</code></pre>
+</div></div>
+<div class="paragraph"><p>Which is rendered as:</p></div>
+<div class="quoteblock">
+<div class="content">
+<div class="paragraph"><p>As he spoke there was the sharp sound of horses' hoofs and
+grating wheels against the curb, followed by a sharp pull at the
+bell. Holmes whistled.</p></div>
+<div class="paragraph"><p>"A pair, by the sound," said he. "Yes," he continued, glancing
+out of the window. "A nice little brougham and a pair of
+beauties. A hundred and fifty guineas apiece. There&#8217;s money in
+this case, Watson, if there is nothing else."</p></div>
+</div>
+<div class="attribution">
+<em>The Adventures of Sherlock Holmes</em><br />
+&#8212; Sir Arthur Conan Doyle
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X48">16.8. Example Blocks</h3>
+<div class="paragraph"><p><em>ExampleBlocks</em> encapsulate the DocBook Example element and are used
+for, well, examples. Example blocks can be titled by preceding them
+with a <em>BlockTitle</em>. DocBook toolchains will normally automatically
+number examples and generate a <em>List of Examples</em> backmatter section.</p></div>
+<div class="paragraph"><p>Example blocks are delimited by lines of equals characters and can
+contain any block elements apart from Titles, BlockTitles and
+Sidebars) inside an example block. For example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>.An example
+=====================================================================
+Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+adolescens.
+=====================================================================</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="exampleblock">
+<div class="title">Example 1. An example</div>
+<div class="content">
+<div class="paragraph"><p>Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+adolescens.</p></div>
+</div></div>
+<div class="paragraph"><p>A title prefix that can be inserted with the <code>caption</code> attribute
+(HTML backends). For example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[caption="Example 1: "]
+.An example with a custom caption
+=====================================================================
+Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+adolescens.
+=====================================================================</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X22">16.9. Admonition Blocks</h3>
+<div class="paragraph"><p>The <em>ExampleBlock</em> definition includes a set of admonition
+<a href="#X23">styles</a> (<em>NOTE</em>, <em>TIP</em>, <em>IMPORTANT</em>, <em>WARNING</em>, <em>CAUTION</em>) for
+generating admonition blocks (admonitions containing more than a
+<a href="#X28">single paragraph</a>). Just precede the <em>ExampleBlock</em> with an
+attribute list specifying the admonition style name. For example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[NOTE]
+.A NOTE admonition block
+=====================================================================
+Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+adolescens.
+
+. Fusce euismod commodo velit.
+. Vivamus fringilla mi eu lacus.
+ .. Fusce euismod commodo velit.
+ .. Vivamus fringilla mi eu lacus.
+. Donec eget arcu bibendum
+ nunc consequat lobortis.
+=====================================================================</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">
+<div class="title">A NOTE admonition block</div>
+<div class="paragraph"><p>Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+adolescens.</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+<div class="olist loweralpha"><ol class="loweralpha">
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+</ol></div>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum
+ nunc consequat lobortis.
+</p>
+</li>
+</ol></div>
+</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>See also <a href="#X47">Admonition Icons and Captions</a>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X29">16.10. Open Blocks</h3>
+<div class="paragraph"><p>Open blocks are special:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+The open block delimiter is line containing two hyphen characters
+ (instead of four or more repeated characters).
+</p>
+</li>
+<li>
+<p>
+They can be used to group block elements for <a href="#X15">List item continuation</a>.
+</p>
+</li>
+<li>
+<p>
+Open blocks can be styled to behave like any other type of delimited
+ block. The following built-in styles can be applied to open
+ blocks: <em>literal</em>, <em>verse</em>, <em>quote</em>, <em>listing</em>, <em>TIP</em>, <em>NOTE</em>,
+ <em>IMPORTANT</em>, <em>WARNING</em>, <em>CAUTION</em>, <em>abstract</em>, <em>partintro</em>,
+ <em>comment</em>, <em>example</em>, <em>sidebar</em>, <em>source</em>, <em>music</em>, <em>latex</em>,
+ <em>graphviz</em>. For example, the following open block and listing block
+ are functionally identical:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>[listing]
+--
+Lorum ipsum ...
+--</code></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>---------------
+Lorum ipsum ...
+---------------</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+An unstyled open block groups section elements but otherwise does
+ nothing.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Open blocks are used to generate document abstracts and book part
+introductions:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Apply the <em>abstract</em> style to generate an abstract, for example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>[abstract]
+--
+In this paper we will ...
+--</code></pre>
+</div></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Apply the <em>partintro</em> style to generate a book part introduction for
+ a multi-part book, for example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>[partintro]
+.Optional part introduction title
+--
+Optional part introduction goes here.
+--</code></pre>
+</div></div>
+</li>
+</ol></div>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X64">17. Lists</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">List types</div><ul>
+<li>
+<p>
+Bulleted lists. Also known as itemized or unordered lists.
+</p>
+</li>
+<li>
+<p>
+Numbered lists. Also called ordered lists.
+</p>
+</li>
+<li>
+<p>
+Labeled lists. Sometimes called variable or definition lists.
+</p>
+</li>
+<li>
+<p>
+Callout lists (a list of callout annotations).
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">List behavior</div><ul>
+<li>
+<p>
+List item indentation is optional and does not determine nesting,
+ indentation does however make the source more readable.
+</p>
+</li>
+<li>
+<p>
+Another list or a literal paragraph immediately following a list
+ item will be implicitly included in the list item; use <a href="#X15">list item continuation</a> to explicitly append other block elements to a
+ list item.
+</p>
+</li>
+<li>
+<p>
+A comment block or a comment line block macro element will terminate
+ a list&#8201;&#8212;&#8201;use inline comment lines to put comments inside lists.
+</p>
+</li>
+<li>
+<p>
+The <code>listindex</code> <a href="#X60">intrinsic attribute</a> is the current list item
+ index (1..). If this attribute is used outside a list then it&#8217;s value
+ is the number of items in the most recently closed list. Useful for
+ displaying the number of items in a list.
+</p>
+</li>
+</ul></div>
+<div class="sect2">
+<h3 id="_bulleted_lists">17.1. Bulleted Lists</h3>
+<div class="paragraph"><p>Bulleted list items start with a single dash or one to five asterisks
+followed by some white space then some text. Bulleted list syntaxes
+are:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>- List item.
+* List item.
+** List item.
+*** List item.
+**** List item.
+***** List item.</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_numbered_lists">17.2. Numbered Lists</h3>
+<div class="paragraph"><p>List item numbers are explicit or implicit.</p></div>
+<div class="paragraph"><div class="title">Explicit numbering</div><p>List items begin with a number followed by some white space then the
+item text. The numbers can be decimal (arabic), roman (upper or lower
+case) or alpha (upper or lower case). Decimal and alpha numbers are
+terminated with a period, roman numbers are terminated with a closing
+parenthesis. The different terminators are necessary to ensure <em>i</em>,
+<em>v</em> and <em>x</em> roman numbers are are distinguishable from <em>x</em>, <em>v</em> and
+<em>x</em> alpha numbers. Examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>1. Arabic (decimal) numbered list item.
+a. Lower case alpha (letter) numbered list item.
+F. Upper case alpha (letter) numbered list item.
+iii) Lower case roman numbered list item.
+IX) Upper case roman numbered list item.</code></pre>
+</div></div>
+<div class="paragraph"><div class="title">Implicit numbering</div><p>List items begin one to five period characters, followed by some white
+space then the item text. Examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>. Arabic (decimal) numbered list item.
+.. Lower case alpha (letter) numbered list item.
+... Lower case roman numbered list item.
+.... Upper case alpha (letter) numbered list item.
+..... Upper case roman numbered list item.</code></pre>
+</div></div>
+<div class="paragraph"><p>You can use the <em>style</em> attribute (also the first positional
+attribute) to specify an alternative numbering style. The numbered
+list style can be one of the following values: <em>arabic</em>, <em>loweralpha</em>,
+<em>upperalpha</em>, <em>lowerroman</em>, <em>upperroman</em>.</p></div>
+<div class="paragraph"><p>Here are some examples of bulleted and numbered lists:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>- Praesent eget purus quis magna eleifend eleifend.
+ 1. Fusce euismod commodo velit.
+ a. Fusce euismod commodo velit.
+ b. Vivamus fringilla mi eu lacus.
+ c. Donec eget arcu bibendum nunc consequat lobortis.
+ 2. Vivamus fringilla mi eu lacus.
+ i) Fusce euismod commodo velit.
+ ii) Vivamus fringilla mi eu lacus.
+ 3. Donec eget arcu bibendum nunc consequat lobortis.
+ 4. Nam fermentum mattis ante.
+- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
+ * Fusce euismod commodo velit.
+ ** Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+ adolescens. Sit munere ponderum dignissim et. Minim luptatum et
+ vel.
+ ** Vivamus fringilla mi eu lacus.
+ * Donec eget arcu bibendum nunc consequat lobortis.
+- Nulla porttitor vulputate libero.
+ . Fusce euismod commodo velit.
+ . Vivamus fringilla mi eu lacus.
+[upperroman]
+ .. Fusce euismod commodo velit.
+ .. Vivamus fringilla mi eu lacus.
+ . Donec eget arcu bibendum nunc consequat lobortis.</code></pre>
+</div></div>
+<div class="paragraph"><p>Which render as:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Praesent eget purus quis magna eleifend eleifend.
+</p>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+<div class="olist loweralpha"><ol class="loweralpha">
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum nunc consequat lobortis.
+</p>
+</li>
+</ol></div>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+<div class="olist lowerroman"><ol class="lowerroman">
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+</ol></div>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum nunc consequat lobortis.
+</p>
+</li>
+<li>
+<p>
+Nam fermentum mattis ante.
+</p>
+</li>
+</ol></div>
+</li>
+<li>
+<p>
+Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+ adolescens. Sit munere ponderum dignissim et. Minim luptatum et
+ vel.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum nunc consequat lobortis.
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+Nulla porttitor vulputate libero.
+</p>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+<div class="olist upperroman"><ol class="upperroman">
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+</ol></div>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum nunc consequat lobortis.
+</p>
+</li>
+</ol></div>
+</li>
+</ul></div>
+<div class="paragraph"><p>A predefined <em>compact</em> option is available to bulleted and numbered
+lists&#8201;&#8212;&#8201;this translates to the DocBook <em>spacing="compact"</em> lists
+attribute which may or may not be processed by the DocBook toolchain.
+Example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[options="compact"]
+- Compact list item.
+- Another compact list item.</code></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">To apply the <em>compact</em> option globally define a document-wide
+<em>compact-option</em> attribute, e.g. using the <code>-a compact-option</code>
+command-line option.</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>You can set the list start number using the <em>start</em> attribute (works
+for HTML outputs and DocBook outputs processed by DocBook XSL
+Stylesheets). Example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[start=7]
+. List item 7.
+. List item 8.</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_labeled_lists">17.3. Labeled Lists</h3>
+<div class="paragraph"><p>Labeled list items consist of one or more text labels followed by the
+text of the list item.</p></div>
+<div class="paragraph"><p>An item label begins a line with an alphanumeric character hard
+against the left margin and ends with two, three or four colons or two
+semi-colons. A list item can have multiple labels, one per line.</p></div>
+<div class="paragraph"><p>The list item text consists of one or more lines of text starting
+after the last label (either on the same line or a new line) and can
+be followed by nested List or ListParagraph elements. Item text can be
+optionally indented.</p></div>
+<div class="paragraph"><p>Here are some examples:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>In::
+Lorem::
+ Fusce euismod commodo velit.
+
+ Fusce euismod commodo velit.
+
+Ipsum:: Vivamus fringilla mi eu lacus.
+ * Vivamus fringilla mi eu lacus.
+ * Donec eget arcu bibendum nunc consequat lobortis.
+Dolor::
+ Donec eget arcu bibendum nunc consequat lobortis.
+ Suspendisse;;
+ A massa id sem aliquam auctor.
+ Morbi;;
+ Pretium nulla vel lorem.
+ In;;
+ Dictum mauris in urna.
+ Vivamus::: Fringilla mi eu lacus.
+ Donec::: Eget arcu bibendum nunc consequat lobortis.</code></pre>
+</div></div>
+<div class="paragraph"><p>Which render as:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+In
+</dt>
+<dt class="hdlist1">
+Lorem
+</dt>
+<dd>
+<p>
+ Fusce euismod commodo velit.
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>Fusce euismod commodo velit.</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+Ipsum
+</dt>
+<dd>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum nunc consequat lobortis.
+</p>
+</li>
+</ul></div>
+</dd>
+<dt class="hdlist1">
+Dolor
+</dt>
+<dd>
+<p>
+ Donec eget arcu bibendum nunc consequat lobortis.
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+Suspendisse
+</dt>
+<dd>
+<p>
+ A massa id sem aliquam auctor.
+</p>
+</dd>
+<dt class="hdlist1">
+Morbi
+</dt>
+<dd>
+<p>
+ Pretium nulla vel lorem.
+</p>
+</dd>
+<dt class="hdlist1">
+In
+</dt>
+<dd>
+<p>
+ Dictum mauris in urna.
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+Vivamus
+</dt>
+<dd>
+<p>
+Fringilla mi eu lacus.
+</p>
+</dd>
+<dt class="hdlist1">
+Donec
+</dt>
+<dd>
+<p>
+Eget arcu bibendum nunc consequat lobortis.
+</p>
+</dd>
+</dl></div>
+</dd>
+</dl></div>
+</dd>
+</dl></div>
+<div class="sect3">
+<h4 id="_horizontal_labeled_list_style">17.3.1. Horizontal labeled list style</h4>
+<div class="paragraph"><p>The <em>horizontal</em> labeled list style (also the first positional
+attribute) places the list text side-by-side with the label instead of
+under the label. Here is an example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[horizontal]
+*Lorem*:: Fusce euismod commodo velit. Qui in magna commodo, est
+labitur dolorum an. Est ne magna primis adolescens.
+
+ Fusce euismod commodo velit.
+
+*Ipsum*:: Vivamus fringilla mi eu lacus.
+- Vivamus fringilla mi eu lacus.
+- Donec eget arcu bibendum nunc consequat lobortis.
+
+*Dolor*::
+ - Vivamus fringilla mi eu lacus.
+ - Donec eget arcu bibendum nunc consequat lobortis.</code></pre>
+</div></div>
+<div class="paragraph"><p>Which render as:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+<strong>Lorem</strong>
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Fusce euismod commodo velit. Qui in magna commodo, est
+labitur dolorum an. Est ne magna primis adolescens.
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>Fusce euismod commodo velit.</code></pre>
+</div></div>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<strong>Ipsum</strong>
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Vivamus fringilla mi eu lacus.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum nunc consequat lobortis.
+</p>
+</li>
+</ul></div>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<strong>Dolor</strong>
+<br />
+</td>
+<td class="hdlist2">
+<div class="ulist"><ul>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum nunc consequat lobortis.
+</p>
+</li>
+</ul></div>
+</td>
+</tr>
+</table></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">
+<div class="ulist"><ul>
+<li>
+<p>
+Current PDF toolchains do not make a good job of determining
+ the relative column widths for horizontal labeled lists.
+</p>
+</li>
+<li>
+<p>
+Nested horizontal labeled lists will generate DocBook validation
+ errors because the <em>DocBook XML V4.2</em> DTD does not permit nested
+ informal tables (although <a href="#X13">DocBook XSL Stylesheets</a> and
+ <a href="#X31">dblatex</a> process them correctly).
+</p>
+</li>
+<li>
+<p>
+The label width can be set as a percentage of the total width by
+ setting the <em>width</em> attribute e.g. <code>width="10%"</code>
+</p>
+</li>
+</ul></div>
+</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_question_and_answer_lists">17.4. Question and Answer Lists</h3>
+<div class="paragraph"><p>AsciiDoc comes pre-configured with a <em>qanda</em> style labeled list for generating
+DocBook question and answer (Q&amp;A) lists. Example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[qanda]
+Question one::
+ Answer one.
+Question two::
+ Answer two.</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="qlist qanda"><ol>
+<li>
+<p><em>
+Question one
+</em></p>
+<p>
+ Answer one.
+</p>
+</li>
+<li>
+<p><em>
+Question two
+</em></p>
+<p>
+ Answer two.
+</p>
+</li>
+</ol></div>
+</div>
+<div class="sect2">
+<h3 id="_glossary_lists">17.5. Glossary Lists</h3>
+<div class="paragraph"><p>AsciiDoc comes pre-configured with a <em>glossary</em> style labeled list for
+generating DocBook glossary lists. Example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[glossary]
+A glossary term::
+ The corresponding definition.
+A second glossary term::
+ The corresponding definition.</code></pre>
+</div></div>
+<div class="paragraph"><p>For working examples see the <code>article.txt</code> and <code>book.txt</code> documents in
+the AsciiDoc <code>./doc</code> distribution directory.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">To generate valid DocBook output glossary lists must be located
+in a section that uses the <em>glossary</em> <a href="#X93">section markup template</a>.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_bibliography_lists">17.6. Bibliography Lists</h3>
+<div class="paragraph"><p>AsciiDoc comes with a predefined <em>bibliography</em> bulleted list style
+generating DocBook bibliography entries. Example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[bibliography]
+.Optional list title
+- [[[taoup]]] Eric Steven Raymond. 'The Art of UNIX
+ Programming'. Addison-Wesley. ISBN 0-13-142901-9.
+- [[[walsh-muellner]]] Norman Walsh &amp; Leonard Muellner.
+ 'DocBook - The Definitive Guide'. O'Reilly &amp; Associates. 1999.
+ ISBN 1-56592-580-7.</code></pre>
+</div></div>
+<div class="paragraph"><p>The <code>[[[&lt;reference&gt;]]]</code> syntax is a bibliography entry anchor, it
+generates an anchor named <code>&lt;reference&gt;</code> and additionally displays
+<code>[&lt;reference&gt;]</code> at the anchor position. For example <code>[[[taoup]]]</code>
+generates an anchor named <code>taoup</code> that displays <code>[taoup]</code> at the
+anchor position. Cite the reference from elsewhere your document using
+<code>&lt;&lt;taoup&gt;&gt;</code>, this displays a hyperlink (<code>[taoup]</code>) to the
+corresponding bibliography entry anchor.</p></div>
+<div class="paragraph"><p>For working examples see the <code>article.txt</code> and <code>book.txt</code> documents in
+the AsciiDoc <code>./doc</code> distribution directory.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">To generate valid DocBook output bibliography lists must be
+located in a <a href="#X93">bibliography section</a>.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="X15">17.7. List Item Continuation</h3>
+<div class="paragraph"><p>Another list or a literal paragraph immediately following a list item
+is implicitly appended to the list item; to append other block
+elements to a list item you need to explicitly join them to the list
+item with a <em>list continuation</em> (a separator line containing a single
+plus character). Multiple block elements can be appended to a list
+item using list continuations (provided they are legal list item
+children in the backend markup).</p></div>
+<div class="paragraph"><p>Here are some examples of list item continuations: list item one
+contains multiple continuations; list item two is continued with an
+<a href="#X29">OpenBlock</a> containing multiple elements:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>1. List item one.
++
+List item one continued with a second paragraph followed by an
+Indented block.
++
+.................
+$ ls *.sh
+$ mv *.sh ~/tmp
+.................
++
+List item continued with a third paragraph.
+
+2. List item two continued with an open block.
++
+--
+This paragraph is part of the preceding list item.
+
+a. This list is nested and does not require explicit item continuation.
++
+This paragraph is part of the preceding list item.
+
+b. List item b.
+
+This paragraph belongs to item two of the outer list.
+--</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+List item one.
+</p>
+<div class="paragraph"><p>List item one continued with a second paragraph followed by an
+Indented block.</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ ls *.sh
+$ mv *.sh ~/tmp</code></pre>
+</div></div>
+<div class="paragraph"><p>List item continued with a third paragraph.</p></div>
+</li>
+<li>
+<p>
+List item two continued with an open block.
+</p>
+<div class="openblock">
+<div class="content">
+<div class="paragraph"><p>This paragraph is part of the preceding list item.</p></div>
+<div class="olist loweralpha"><ol class="loweralpha">
+<li>
+<p>
+This list is nested and does not require explicit item continuation.
+</p>
+<div class="paragraph"><p>This paragraph is part of the preceding list item.</p></div>
+</li>
+<li>
+<p>
+List item b.
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>This paragraph belongs to item two of the outer list.</p></div>
+</div></div>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X92">18. Footnotes</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The shipped AsciiDoc configuration includes three footnote inline
+macros:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>footnote:[&lt;text&gt;]</code>
+</dt>
+<dd>
+<p>
+ Generates a footnote with text <code>&lt;text&gt;</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>footnoteref:[&lt;id&gt;,&lt;text&gt;]</code>
+</dt>
+<dd>
+<p>
+ Generates a footnote with a reference ID <code>&lt;id&gt;</code> and text <code>&lt;text&gt;</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>footnoteref:[&lt;id&gt;]</code>
+</dt>
+<dd>
+<p>
+ Generates a reference to the footnote with ID <code>&lt;id&gt;</code>.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>The footnote text can span multiple lines.</p></div>
+<div class="paragraph"><p>The <em>xhtml11</em> and <em>html5</em> backends render footnotes dynamically using
+JavaScript; <em>html4</em> outputs do not use JavaScript and leave the
+footnotes inline; <em>docbook</em> footnotes are processed by the downstream
+DocBook toolchain.</p></div>
+<div class="paragraph"><p>Example footnotes:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>A footnote footnote:[An example footnote.];
+a second footnote with a reference ID footnoteref:[note2,Second footnote.];
+finally a reference to the second footnote footnoteref:[note2].</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="paragraph"><p>A footnote <span class="footnote"><br />[An example footnote.]<br /></span>;
+a second footnote with a reference ID <span class="footnote" id="_footnote_note2"><br />[Second footnote.]<br /></span>;
+finally a reference to the second footnote <span class="footnoteref"><br /><a href="#_footnote_note2">[note2]</a><br /></span>.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_indexes">19. Indexes</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The shipped AsciiDoc configuration includes the inline macros for
+generating DocBook index entries.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>indexterm:[&lt;primary&gt;,&lt;secondary&gt;,&lt;tertiary&gt;]</code>
+</dt>
+<dt class="hdlist1">
+<code>(((&lt;primary&gt;,&lt;secondary&gt;,&lt;tertiary&gt;)))</code>
+</dt>
+<dd>
+<p>
+ This inline macro generates an index term (the <code>&lt;secondary&gt;</code> and
+ <code>&lt;tertiary&gt;</code> positional attributes are optional). Example:
+ <code>indexterm:[Tigers,Big cats]</code> (or, using the alternative syntax
+ <code>(((Tigers,Big cats)))</code>. Index terms that have secondary and
+ tertiary entries also generate separate index terms for the
+ secondary and tertiary entries. The index terms appear in the
+ index, not the primary text flow.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>indexterm2:[&lt;primary&gt;]</code>
+</dt>
+<dt class="hdlist1">
+<code>((&lt;primary&gt;))</code>
+</dt>
+<dd>
+<p>
+ This inline macro generates an index term that appears in both the
+ index and the primary text flow. The <code>&lt;primary&gt;</code> should not be
+ padded to the left or right with white space characters.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>For working examples see the <code>article.txt</code> and <code>book.txt</code> documents in
+the AsciiDoc <code>./doc</code> distribution directory.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">Index entries only really make sense if you are generating
+DocBook markup&#8201;&#8212;&#8201;DocBook conversion programs automatically generate
+an index at the point an <em>Index</em> section appears in source document.</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X105">20. Callouts</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Callouts are a mechanism for annotating verbatim text (for example:
+source code, computer output and user input). Callout markers are
+placed inside the annotated text while the actual annotations are
+presented in a callout list after the annotated text. Here&#8217;s an
+example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code> .MS-DOS directory listing
+ -----------------------------------------------------
+ 10/17/97 9:04 &lt;DIR&gt; bin
+ 10/16/97 14:11 &lt;DIR&gt; DOS &lt;1&gt;
+ 10/16/97 14:40 &lt;DIR&gt; Program Files
+ 10/16/97 14:46 &lt;DIR&gt; TEMP
+ 10/17/97 9:04 &lt;DIR&gt; tmp
+ 10/16/97 14:37 &lt;DIR&gt; WINNT
+ 10/16/97 14:25 119 AUTOEXEC.BAT &lt;2&gt;
+ 2/13/94 6:21 54,619 COMMAND.COM &lt;2&gt;
+ 10/16/97 14:25 115 CONFIG.SYS &lt;2&gt;
+ 11/16/97 17:17 61,865,984 pagefile.sys
+ 2/13/94 6:21 9,349 WINA20.386 &lt;3&gt;
+ -----------------------------------------------------
+
+ &lt;1&gt; This directory holds MS-DOS.
+ &lt;2&gt; System startup code for DOS.
+ &lt;3&gt; Some sort of Windows 3.1 hack.</code></pre>
+</div></div>
+<div class="paragraph"><p>Which renders:</p></div>
+<div class="listingblock">
+<div class="title">MS-DOS directory listing</div>
+<div class="content">
+<pre><code>10/17/97 9:04 &lt;DIR&gt; bin
+10/16/97 14:11 &lt;DIR&gt; DOS <img src="./images/icons/callouts/1.png" alt="1" />
+10/16/97 14:40 &lt;DIR&gt; Program Files
+10/16/97 14:46 &lt;DIR&gt; TEMP
+10/17/97 9:04 &lt;DIR&gt; tmp
+10/16/97 14:37 &lt;DIR&gt; WINNT
+10/16/97 14:25 119 AUTOEXEC.BAT <img src="./images/icons/callouts/2.png" alt="2" />
+ 2/13/94 6:21 54,619 COMMAND.COM <img src="./images/icons/callouts/2.png" alt="2" />
+10/16/97 14:25 115 CONFIG.SYS <img src="./images/icons/callouts/2.png" alt="2" />
+11/16/97 17:17 61,865,984 pagefile.sys
+ 2/13/94 6:21 9,349 WINA20.386 <img src="./images/icons/callouts/3.png" alt="3" /></code></pre>
+</div></div>
+<div class="colist arabic"><table>
+<tr><td><img src="./images/icons/callouts/1.png" alt="1" /></td><td>
+This directory holds MS-DOS.
+</td></tr>
+<tr><td><img src="./images/icons/callouts/2.png" alt="2" /></td><td>
+System startup code for DOS.
+</td></tr>
+<tr><td><img src="./images/icons/callouts/3.png" alt="3" /></td><td>
+Some sort of Windows 3.1 hack.
+</td></tr>
+</table></div>
+<div class="ulist"><div class="title">Explanation</div><ul>
+<li>
+<p>
+The callout marks are whole numbers enclosed in angle brackets&#8201;&#8212;&#8201; they refer to the correspondingly numbered item in the following
+ callout list.
+</p>
+</li>
+<li>
+<p>
+By default callout marks are confined to <em>LiteralParagraphs</em>,
+ <em>LiteralBlocks</em> and <em>ListingBlocks</em> (although this is a
+ configuration file option and can be changed).
+</p>
+</li>
+<li>
+<p>
+Callout list item numbering is fairly relaxed&#8201;&#8212;&#8201;list items can
+ start with <code>&lt;n&gt;</code>, <code>n&gt;</code> or <code>&gt;</code> where <code>n</code> is the optional list item
+ number (in the latter case list items starting with a single <code>&gt;</code>
+ character are implicitly numbered starting at one).
+</p>
+</li>
+<li>
+<p>
+Callout lists should not be nested.
+</p>
+</li>
+<li>
+<p>
+Callout lists cannot be used within tables.
+</p>
+</li>
+<li>
+<p>
+Callout lists start list items hard against the left margin.
+</p>
+</li>
+<li>
+<p>
+If you want to present a number inside angle brackets you&#8217;ll need to
+ escape it with a backslash to prevent it being interpreted as a
+ callout mark.
+</p>
+</li>
+</ul></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">Define the AsciiDoc <em>icons</em> attribute (for example using the <code>-a
+icons</code> command-line option) to display callout icons.</td>
+</tr></table>
+</div>
+<div class="sect2">
+<h3 id="_implementation_notes">20.1. Implementation Notes</h3>
+<div class="paragraph"><p>Callout marks are generated by the <em>callout</em> inline macro while
+callout lists are generated using the <em>callout</em> list definition. The
+<em>callout</em> macro and <em>callout</em> list are special in that they work
+together. The <em>callout</em> inline macro is not enabled by the normal
+<em>macros</em> substitutions option, instead it has its own <em>callouts</em>
+substitution option.</p></div>
+<div class="paragraph"><p>The following attributes are available during inline callout macro
+substitution:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>{index}</code>
+</dt>
+<dd>
+<p>
+ The callout list item index inside the angle brackets.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{coid}</code>
+</dt>
+<dd>
+<p>
+ An identifier formatted like <code>CO&lt;listnumber&gt;-&lt;index&gt;</code> that
+ uniquely identifies the callout mark. For example <code>CO2-4</code>
+ identifies the fourth callout mark in the second set of callout
+ marks.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>The <code>{coids}</code> attribute can be used during callout list item
+substitution&#8201;&#8212;&#8201;it is a space delimited list of callout IDs that refer
+to the explanatory list item.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_including_callouts_in_included_code">20.2. Including callouts in included code</h3>
+<div class="paragraph"><p>You can annotate working code examples with callouts&#8201;&#8212;&#8201;just remember
+to put the callouts inside source code comments. This example displays
+the <code>test.py</code> source file (containing a single callout) using the
+<em>source</em> (code highlighter) filter:</p></div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code> [source,python]
+ -------------------------------------------
+ \include::test.py[]
+ -------------------------------------------
+
+ &lt;1&gt; Print statement.</code></pre>
+</div></div>
+<div class="listingblock">
+<div class="title">Included <code>test.py</code> source</div>
+<div class="content">
+<pre><code>print 'Hello World!' # &lt;1&gt;</code></pre>
+</div></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_macros">21. Macros</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Macros are a mechanism for substituting parametrized text into output
+documents.</p></div>
+<div class="paragraph"><p>Macros have a <em>name</em>, a single <em>target</em> argument and an <em>attribute
+list</em>. The usual syntax is <code>&lt;name&gt;:&lt;target&gt;[&lt;attrlist&gt;]</code> (for
+inline macros) and <code>&lt;name&gt;::&lt;target&gt;[&lt;attrlist&gt;]</code> (for block
+macros). Here are some examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>http://www.docbook.org/[DocBook.org]
+include::chapt1.txt[tabsize=2]
+mailto:srackham@gmail.com[]</code></pre>
+</div></div>
+<div class="ulist"><div class="title">Macro behavior</div><ul>
+<li>
+<p>
+<code>&lt;name&gt;</code> is the macro name. It can only contain letters, digits or
+ dash characters and cannot start with a dash.
+</p>
+</li>
+<li>
+<p>
+The optional <code>&lt;target&gt;</code> cannot contain white space characters.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;attrlist&gt;</code> is a <a href="#X21">list of attributes</a> enclosed in square
+ brackets.
+</p>
+</li>
+<li>
+<p>
+<code>]</code> characters inside attribute lists must be escaped with a
+ backslash.
+</p>
+</li>
+<li>
+<p>
+Expansion of macro references can normally be escaped by prefixing a
+ backslash character (see the AsciiDoc <em>FAQ</em> for examples of
+ exceptions to this rule).
+</p>
+</li>
+<li>
+<p>
+Attribute references in block macros are expanded.
+</p>
+</li>
+<li>
+<p>
+The substitutions performed prior to Inline macro macro expansion
+ are determined by the inline context.
+</p>
+</li>
+<li>
+<p>
+Macros are processed in the order they appear in the configuration
+ file(s).
+</p>
+</li>
+<li>
+<p>
+Calls to inline macros can be nested inside different inline macros
+ (an inline macro call cannot contain a nested call to itself).
+</p>
+</li>
+<li>
+<p>
+In addition to <code>&lt;name&gt;</code>, <code>&lt;target&gt;</code> and <code>&lt;attrlist&gt;</code> the
+ <code>&lt;passtext&gt;</code> and <code>&lt;subslist&gt;</code> named groups are available to
+ <a href="#X77">passthrough macros</a>. A macro is a passthrough macro if the
+ definition includes a <code>&lt;passtext&gt;</code> named group.
+</p>
+</li>
+</ul></div>
+<div class="sect2">
+<h3 id="_inline_macros">21.1. Inline Macros</h3>
+<div class="paragraph"><p>Inline Macros occur in an inline element context. Predefined Inline
+macros include <em>URLs</em>, <em>image</em> and <em>link</em> macros.</p></div>
+<div class="sect3">
+<h4 id="_urls">21.1.1. URLs</h4>
+<div class="paragraph"><p><em>http</em>, <em>https</em>, <em>ftp</em>, <em>file</em>, <em>mailto</em> and <em>callto</em> URLs are
+rendered using predefined inline macros.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+If you don&#8217;t need a custom link caption you can enter the <em>http</em>,
+ <em>https</em>, <em>ftp</em>, <em>file</em> URLs and email addresses without any special
+ macro syntax.
+</p>
+</li>
+<li>
+<p>
+If the <code>&lt;attrlist&gt;</code> is empty the URL is displayed.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Here are some examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>http://www.docbook.org/[DocBook.org]
+http://www.docbook.org/
+mailto:joe.bloggs@foobar.com[email Joe Bloggs]
+joe.bloggs@foobar.com</code></pre>
+</div></div>
+<div class="paragraph"><p>Which are rendered:</p></div>
+<div class="paragraph"><p><a href="http://www.docbook.org/">DocBook.org</a></p></div>
+<div class="paragraph"><p><a href="http://www.docbook.org/">http://www.docbook.org/</a></p></div>
+<div class="paragraph"><p><a href="mailto:joe.bloggs@foobar.com">email Joe Bloggs</a></p></div>
+<div class="paragraph"><p><a href="mailto:joe.bloggs@foobar.com">joe.bloggs@foobar.com</a></p></div>
+<div class="paragraph"><p>If the <code>&lt;target&gt;</code> necessitates space characters use <code>%20</code>, for example
+<code>large%20image.png</code>.</p></div>
+</div>
+<div class="sect3">
+<h4 id="_internal_cross_references">21.1.2. Internal Cross References</h4>
+<div class="paragraph"><p>Two AsciiDoc inline macros are provided for creating hypertext links
+within an AsciiDoc document. You can use either the standard macro
+syntax or the (preferred) alternative.</p></div>
+<div class="sect4">
+<h5 id="X30">anchor</h5>
+<div class="paragraph"><p>Used to specify hypertext link targets:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[[&lt;id&gt;,&lt;xreflabel&gt;]]
+anchor:&lt;id&gt;[&lt;xreflabel&gt;]</code></pre>
+</div></div>
+<div class="paragraph"><p>The <code>&lt;id&gt;</code> is a unique string that conforms to the output markup&#8217;s
+anchor syntax. The optional <code>&lt;xreflabel&gt;</code> is the text to be displayed
+by captionless <em>xref</em> macros that refer to this anchor. The optional
+<code>&lt;xreflabel&gt;</code> is only really useful when generating DocBook output.
+Example anchor:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[[X1]]</code></pre>
+</div></div>
+<div class="paragraph"><p>You may have noticed that the syntax of this inline element is the
+same as that of the <a href="#X41">BlockId block element</a>, this is no
+coincidence since they are functionally equivalent.</p></div>
+</div>
+<div class="sect4">
+<h5 id="_xref">xref</h5>
+<div class="paragraph"><p>Creates a hypertext link to a document anchor.</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;&lt;&lt;id&gt;,&lt;caption&gt;&gt;&gt;
+xref:&lt;id&gt;[&lt;caption&gt;]</code></pre>
+</div></div>
+<div class="paragraph"><p>The <code>&lt;id&gt;</code> refers to an anchor ID. The optional <code>&lt;caption&gt;</code> is the
+link&#8217;s displayed text. Example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;&lt;X21,attribute lists&gt;&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>If <code>&lt;caption&gt;</code> is not specified then the displayed text is
+auto-generated:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+The AsciiDoc <em>xhtml11</em> and <em>html5</em> backends display the <code>&lt;id&gt;</code>
+ enclosed in square brackets.
+</p>
+</li>
+<li>
+<p>
+If DocBook is produced the DocBook toolchain is responsible for the
+ displayed text which will normally be the referenced figure, table
+ or section title number followed by the element&#8217;s title text.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Here is an example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[[tiger_image]]
+.Tyger tyger
+image::tiger.png[]
+
+This can be seen in &lt;&lt;tiger_image&gt;&gt;.</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_linking_to_local_documents">21.1.3. Linking to Local Documents</h4>
+<div class="paragraph"><p>Hypertext links to files on the local file system are specified using
+the <em>link</em> inline macro.</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>link:&lt;target&gt;[&lt;caption&gt;]</code></pre>
+</div></div>
+<div class="paragraph"><p>The <em>link</em> macro generates relative URLs. The link macro <code>&lt;target&gt;</code> is
+the target file name (relative to the file system location of the
+referring document). The optional <code>&lt;caption&gt;</code> is the link&#8217;s displayed
+text. If <code>&lt;caption&gt;</code> is not specified then <code>&lt;target&gt;</code> is displayed.
+Example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>link:downloads/foo.zip[download foo.zip]</code></pre>
+</div></div>
+<div class="paragraph"><p>You can use the <code>&lt;filename&gt;#&lt;id&gt;</code> syntax to refer to an anchor within
+a target document but this usually only makes sense when targeting
+HTML documents.</p></div>
+</div>
+<div class="sect3">
+<h4 id="X9">21.1.4. Images</h4>
+<div class="paragraph"><p>Inline images are inserted into the output document using the <em>image</em>
+macro. The inline syntax is:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>image:&lt;target&gt;[&lt;attributes&gt;]</code></pre>
+</div></div>
+<div class="paragraph"><p>The contents of the image file <code>&lt;target&gt;</code> is displayed. To display the
+image its file format must be supported by the target backend
+application. HTML and DocBook applications normally support PNG or JPG
+files.</p></div>
+<div class="paragraph"><p><code>&lt;target&gt;</code> file name paths are relative to the location of the
+referring document.</p></div>
+<div class="ulist" id="X55"><div class="title">Image macro attributes</div><ul>
+<li>
+<p>
+The optional <em>alt</em> attribute is also the first positional attribute,
+ it specifies alternative text which is displayed if the output
+ application is unable to display the image file (see also
+ <a href="http://htmlhelp.com/feature/art3.htm">Use of ALT texts in IMGs</a>). For
+ example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>image:images/logo.png[Company Logo]</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+The optional <em>title</em> attribute provides a title for the image. The
+ <a href="#X49">block image macro</a> renders the title alongside the image.
+ The inline image macro displays the title as a popup &#8220;tooltip&#8221; in
+ visual browsers (AsciiDoc HTML outputs only).
+</p>
+</li>
+<li>
+<p>
+The optional <code>width</code> and <code>height</code> attributes scale the image size
+ and can be used in any combination. The units are pixels. The
+ following example scales the previous example to a height of 32
+ pixels:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>image:images/logo.png["Company Logo",height=32]</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+The optional <code>link</code> attribute is used to link the image to an
+ external document. The following example links a screenshot
+ thumbnail to a full size version:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>image:screen-thumbnail.png[height=32,link="screen.png"]</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+The optional <code>scaledwidth</code> attribute is only used in DocBook block
+ images (specifically for PDF documents). The following example
+ scales the images to 75% of the available print width:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>image::images/logo.png[scaledwidth="75%",alt="Company Logo"]</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+The image <code>scale</code> attribute sets the DocBook <code>imagedata</code> element
+ <code>scale</code> attribute.
+</p>
+</li>
+<li>
+<p>
+The optional <code>align</code> attribute aligns block macro images
+ horizontally. Allowed values are <code>center</code>, <code>left</code> and <code>right</code>. For
+ example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>image::images/tiger.png["Tiger image",align="left"]</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+The optional <code>float</code> attribute floats the image <code>left</code> or <code>right</code> on
+ the page (works with HTML outputs only, has no effect on DocBook
+ outputs). <code>float</code> and <code>align</code> attributes are mutually exclusive.
+ Use the <code>unfloat::[]</code> block macro to stop floating.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect3">
+<h4 id="_comment_lines">21.1.5. Comment Lines</h4>
+<div class="paragraph"><p>See <a href="#X25">comment block macro</a>.</p></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_block_macros">21.2. Block Macros</h3>
+<div class="paragraph"><p>A Block macro reference must be contained in a single line separated
+either side by a blank line or a block delimiter.</p></div>
+<div class="paragraph"><p>Block macros behave just like Inline macros, with the following
+differences:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+They occur in a block context.
+</p>
+</li>
+<li>
+<p>
+The default syntax is <code>&lt;name&gt;::&lt;target&gt;[&lt;attrlist&gt;]</code> (two
+ colons, not one).
+</p>
+</li>
+<li>
+<p>
+Markup template section names end in <code>-blockmacro</code> instead of
+ <code>-inlinemacro</code>.
+</p>
+</li>
+</ul></div>
+<div class="sect3">
+<h4 id="_block_identifier">21.2.1. Block Identifier</h4>
+<div class="paragraph"><p>The Block Identifier macro sets the <code>id</code> attribute and has the same
+syntax as the <a href="#X30">anchor inline macro</a> since it performs
+essentially the same function&#8201;&#8212;&#8201;block templates use the <code>id</code>
+attribute as a block element ID. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[[X30]]</code></pre>
+</div></div>
+<div class="paragraph"><p>This is equivalent to the <code>[id="X30"]</code> <a href="#X79">AttributeList element</a>).</p></div>
+</div>
+<div class="sect3">
+<h4 id="X49">21.2.2. Images</h4>
+<div class="paragraph"><p>The <em>image</em> block macro is used to display images in a block context.
+The syntax is:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>image::&lt;target&gt;[&lt;attributes&gt;]</code></pre>
+</div></div>
+<div class="paragraph"><p>The block <code>image</code> macro has the same <a href="#X55">macro attributes</a> as it&#8217;s
+<a href="#X9">inline image macro</a> counterpart.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/warning.png" alt="Warning" />
+</td>
+<td class="content">Unlike the inline <code>image</code> macro, the entire block <code>image</code> macro
+must be on a single line.</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>Block images can be titled by preceding the <em>image</em> macro with a
+<em>BlockTitle</em>. DocBook toolchains normally number titled block images
+and optionally list them in an automatically generated <em>List of
+Figures</em> backmatter section.</p></div>
+<div class="paragraph"><p>This example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>.Main circuit board
+image::images/layout.png[J14P main circuit board]</code></pre>
+</div></div>
+<div class="paragraph"><p>is equivalent to:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>image::images/layout.png["J14P main circuit board", title="Main circuit board"]</code></pre>
+</div></div>
+<div class="paragraph"><p>A title prefix that can be inserted with the <code>caption</code> attribute
+(HTML backends). For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>.Main circuit board
+[caption="Figure 2: "]
+image::images/layout.png[J14P main circuit board]</code></pre>
+</div></div>
+<div class="sidebarblock" id="X66">
+<div class="content">
+<div class="title">Embedding images in XHTML documents</div>
+<div class="paragraph"><p>If you define the <code>data-uri</code> attribute then images will be embedded in
+XHTML outputs using the
+<a href="http://en.wikipedia.org/wiki/Data:_URI_scheme">data URI scheme</a>. You
+can use the <em>data-uri</em> attribute with the <em>xhtml11</em> and <em>html5</em>
+backends to produce single-file XHTML documents with embedded images
+and CSS, for example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a data-uri mydocument.txt</code></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">
+<div class="ulist"><ul>
+<li>
+<p>
+All current popular browsers support data URIs, although versions
+ of Internet Explorer prior to version 8 do not.
+</p>
+</li>
+<li>
+<p>
+Some browsers limit the size of data URIs.
+</p>
+</li>
+</ul></div>
+</td>
+</tr></table>
+</div>
+</div></div>
+</div>
+<div class="sect3">
+<h4 id="X25">21.2.3. Comment Lines</h4>
+<div class="paragraph"><p>Single lines starting with two forward slashes hard up against the
+left margin are treated as comments. Comment lines do not appear in
+the output unless the <em>showcomments</em> attribute is defined. Comment
+lines have been implemented as both block and inline macros so a
+comment line can appear as a stand-alone block or within block elements
+that support inline macro expansion. Example comment line:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>// This is a comment.</code></pre>
+</div></div>
+<div class="paragraph"><p>If the <em>showcomments</em> attribute is defined comment lines are written
+to the output:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+In DocBook the comment lines are enclosed by the <em>remark</em> element
+ (which may or may not be rendered by your toolchain).
+</p>
+</li>
+<li>
+<p>
+The <em>showcomments</em> attribute does not expose <a href="#X26">Comment Blocks</a>.
+ Comment Blocks are never passed to the output.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_system_macros">21.3. System Macros</h3>
+<div class="paragraph"><p>System macros are block macros that perform a predefined task and are
+hardwired into the asciidoc(1) program.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+You can escape system macros with a leading backslash character
+ (as you can with other macros).
+</p>
+</li>
+<li>
+<p>
+The syntax and tasks performed by system macros is built into
+ asciidoc(1) so they don&#8217;t appear in configuration files. You can
+ however customize the syntax by adding entries to a configuration
+ file <code>[macros]</code> section.
+</p>
+</li>
+</ul></div>
+<div class="sect3">
+<h4 id="X63">21.3.1. Include Macros</h4>
+<div class="paragraph"><p>The <code>include</code> and <code>include1</code> system macros to include the contents of
+a named file into the source document.</p></div>
+<div class="paragraph"><p>The <code>include</code> macro includes a file as if it were part of the parent
+document&#8201;&#8212;&#8201;tabs are expanded and system macros processed. The
+contents of <code>include1</code> files are not subject to tab expansion or
+system macro processing nor are attribute or lower priority
+substitutions performed. The <code>include1</code> macro&#8217;s intended use is to
+include verbatim embedded CSS or scripts into configuration file
+headers. Example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>include::chapter1.txt[tabsize=4]</code></pre>
+</div></div>
+<div class="ulist"><div class="title">Include macro behavior</div><ul>
+<li>
+<p>
+If the included file name is specified with a relative path then the
+ path is relative to the location of the referring document.
+</p>
+</li>
+<li>
+<p>
+Include macros can appear inside configuration files.
+</p>
+</li>
+<li>
+<p>
+Files included from within <em>DelimitedBlocks</em> are read to completion
+ to avoid false end-of-block underline termination.
+</p>
+</li>
+<li>
+<p>
+Attribute references are expanded inside the include <em>target</em>; if an
+ attribute is undefined then the included file is silently skipped.
+</p>
+</li>
+<li>
+<p>
+The <em>tabsize</em> macro attribute sets the number of space characters to
+ be used for tab expansion in the included file (not applicable to
+ <code>include1</code> macro).
+</p>
+</li>
+<li>
+<p>
+The <em>depth</em> macro attribute sets the maximum permitted number of
+ subsequent nested includes (not applicable to <code>include1</code> macro which
+ does not process nested includes). Setting <em>depth</em> to <em>1</em> disables
+ nesting inside the included file. By default, nesting is limited to
+ a depth of ten.
+</p>
+</li>
+<li>
+<p>
+If the he <em>warnings</em> attribute is set to <em>False</em> (or any other
+ Python literal that evaluates to boolean false) then no warning
+ message is printed if the included file does not exist. By default
+ <em>warnings</em> are enabled.
+</p>
+</li>
+<li>
+<p>
+Internally the <code>include1</code> macro is translated to the <code>include1</code>
+ system attribute which means it must be evaluated in a region where
+ attribute substitution is enabled. To inhibit nested substitution in
+ included files it is preferable to use the <code>include</code> macro and set
+ the attribute <code>depth=1</code>.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect3">
+<h4 id="_conditional_inclusion_macros">21.3.2. Conditional Inclusion Macros</h4>
+<div class="paragraph"><p>Lines of text in the source document can be selectively included or
+excluded from processing based on the existence (or not) of a document
+attribute.</p></div>
+<div class="paragraph"><p>Document text between the <code>ifdef</code> and <code>endif</code> macros is included if a
+document attribute is defined:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>ifdef::&lt;attribute&gt;[]
+:
+endif::&lt;attribute&gt;[]</code></pre>
+</div></div>
+<div class="paragraph"><p>Document text between the <code>ifndef</code> and <code>endif</code> macros is not included
+if a document attribute is defined:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>ifndef::&lt;attribute&gt;[]
+:
+endif::&lt;attribute&gt;[]</code></pre>
+</div></div>
+<div class="paragraph"><p><code>&lt;attribute&gt;</code> is an attribute name which is optional in the trailing
+<code>endif</code> macro.</p></div>
+<div class="paragraph"><p>If you only want to process a single line of text then the text can be
+put inside the square brackets and the <code>endif</code> macro omitted, for
+example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>ifdef::revnumber[Version number 42]</code></pre>
+</div></div>
+<div class="paragraph"><p>Is equivalent to:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>ifdef::revnumber[]
+Version number 42
+endif::revnumber[]</code></pre>
+</div></div>
+<div class="paragraph"><p><em>ifdef</em> and <em>ifndef</em> macros also accept multiple attribute names:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Multiple <em>,</em> separated attribute names evaluate to defined if one
+ or more of the attributes is defined, otherwise it&#8217;s value is
+ undefined.
+</p>
+</li>
+<li>
+<p>
+Multiple <em>+</em> separated attribute names evaluate to defined if all
+ of the attributes is defined, otherwise it&#8217;s value is undefined.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Document text between the <code>ifeval</code> and <code>endif</code> macros is included if
+the Python expression inside the square brackets is true. Example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>ifeval::[{rs458}==2]
+:
+endif::[]</code></pre>
+</div></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Document attribute references are expanded before the expression is
+ evaluated.
+</p>
+</li>
+<li>
+<p>
+If an attribute reference is undefined then the expression is
+ considered false.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Take a look at the <code>*.conf</code> configuration files in the AsciiDoc
+distribution for examples of conditional inclusion macro usage.</p></div>
+</div>
+<div class="sect3">
+<h4 id="_executable_system_macros">21.3.3. Executable system macros</h4>
+<div class="paragraph"><p>The <em>eval</em>, <em>sys</em> and <em>sys2</em> block macros exhibit the same behavior as
+their same named <a href="#X24">system attribute references</a>. The difference
+is that system macros occur in a block macro context whereas system
+attributes are confined to inline contexts where attribute
+substitution is enabled.</p></div>
+<div class="paragraph"><p>The following example displays a long directory listing inside a
+literal block:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>------------------
+sys::[ls -l *.txt]
+------------------</code></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">There are no block macro versions of the <em>eval3</em> and <em>sys3</em>
+system attributes.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_template_system_macro">21.3.4. Template System Macro</h4>
+<div class="paragraph"><p>The <code>template</code> block macro allows the inclusion of one configuration
+file template section within another. The following example includes
+the <code>[admonitionblock]</code> section in the <code>[admonitionparagraph]</code>
+section:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[admonitionparagraph]
+template::[admonitionblock]</code></pre>
+</div></div>
+<div class="ulist"><div class="title">Template macro behavior</div><ul>
+<li>
+<p>
+The <code>template::[]</code> macro is useful for factoring configuration file
+ markup.
+</p>
+</li>
+<li>
+<p>
+<code>template::[]</code> macros cannot be nested.
+</p>
+</li>
+<li>
+<p>
+<code>template::[]</code> macro expansion is applied after all configuration
+ files have been read.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="X77">21.4. Passthrough macros</h3>
+<div class="paragraph"><p>Passthrough macros are analogous to <a href="#X76">passthrough blocks</a> and are
+used to pass text directly to the output. The substitution performed
+on the text is determined by the macro definition but can be overridden
+by the <code>&lt;subslist&gt;</code>. The usual syntax is
+<code>&lt;name&gt;:&lt;subslist&gt;[&lt;passtext&gt;]</code> (for inline macros) and
+<code>&lt;name&gt;::&lt;subslist&gt;[&lt;passtext&gt;]</code> (for block macros). Passthroughs, by
+definition, take precedence over all other text substitutions.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+pass
+</dt>
+<dd>
+<p>
+ Inline and block. Passes text unmodified (apart from explicitly
+ specified substitutions). Examples:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>pass:[&lt;q&gt;To be or not to be&lt;/q&gt;]
+pass:attributes,quotes[&lt;u&gt;the '{author}'&lt;/u&gt;]</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+asciimath, latexmath
+</dt>
+<dd>
+<p>
+ Inline and block. Passes text unmodified. Used for
+ <a href="#X78">mathematical formulas</a>.
+</p>
+</dd>
+<dt class="hdlist1">
++++
+</dt>
+<dd>
+<p>
+ Inline and block. The triple-plus passthrough is functionally
+ identical to the <em>pass</em> macro but you don&#8217;t have to escape <code>]</code>
+ characters and you can prefix with quoted attributes in the inline
+ version. Example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>Red [red]+++`sum_(i=1)\^n i=(n(n+1))/2`$+++ AsciiMathML formula</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+$$
+</dt>
+<dd>
+<p>
+ Inline and block. The double-dollar passthrough is functionally
+ identical to the triple-plus passthrough with one exception: special
+ characters are escaped. Example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$$`[[a,b],[c,d]]((n),(k))`$$</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+<a id="X80"></a>`
+</dt>
+<dd>
+<p>
+ Text quoted with single backtick characters constitutes an <em>inline
+ literal</em> passthrough. The enclosed text is rendered in a monospaced
+ font and is only subject to special character substitution. This
+ makes sense since monospace text is usually intended to be rendered
+ literally and often contains characters that would otherwise have to
+ be escaped. If you need monospaced text containing inline
+ substitutions use a <a href="#X81">plus character instead of a backtick</a>.
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_macro_definitions">21.5. Macro Definitions</h3>
+<div class="paragraph"><p>Each entry in the configuration <code>[macros]</code> section is a macro
+definition which can take one of the following forms:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>&lt;pattern&gt;=&lt;name&gt;[&lt;subslist]</code>
+</dt>
+<dd>
+<p>
+Inline macro definition.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>&lt;pattern&gt;=#&lt;name&gt;[&lt;subslist]</code>
+</dt>
+<dd>
+<p>
+Block macro definition.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>&lt;pattern&gt;=+&lt;name&gt;[&lt;subslist]</code>
+</dt>
+<dd>
+<p>
+System macro definition.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>&lt;pattern&gt;</code>
+</dt>
+<dd>
+<p>
+Delete the existing macro with this <code>&lt;pattern&gt;</code>.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p><code>&lt;pattern&gt;</code> is a Python regular expression and <code>&lt;name&gt;</code> is the name of
+a markup template. If <code>&lt;name&gt;</code> is omitted then it is the value of the
+regular expression match group named <em>name</em>. The optional
+<code>[&lt;subslist]</code> is a comma-separated list of substitution names enclosed
+in <code>[]</code> brackets, it sets the default substitutions for passthrough
+text, if omitted then no passthrough substitutions are performed.</p></div>
+<div class="paragraph"><div class="title">Pattern named groups</div><p>The following named groups can be used in macro <code>&lt;pattern&gt;</code> regular
+expressions and are available as markup template attributes:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+name
+</dt>
+<dd>
+<p>
+ The macro name.
+</p>
+</dd>
+<dt class="hdlist1">
+target
+</dt>
+<dd>
+<p>
+ The macro target.
+</p>
+</dd>
+<dt class="hdlist1">
+attrlist
+</dt>
+<dd>
+<p>
+ The macro attribute list.
+</p>
+</dd>
+<dt class="hdlist1">
+passtext
+</dt>
+<dd>
+<p>
+ Contents of this group are passed unmodified to the output subject
+ only to <em>subslist</em> substitutions.
+</p>
+</dd>
+<dt class="hdlist1">
+subslist
+</dt>
+<dd>
+<p>
+ Processed as a comma-separated list of substitution names for
+ <em>passtext</em> substitution, overrides the the macro definition
+ <em>subslist</em>.
+</p>
+</dd>
+</dl></div>
+<div class="ulist"><div class="title">Here&#8217;s what happens during macro substitution</div><ul>
+<li>
+<p>
+Each contextually relevant macro <em>pattern</em> from the <code>[macros]</code>
+ section is matched against the input source line.
+</p>
+</li>
+<li>
+<p>
+If a match is found the text to be substituted is loaded from a
+ configuration markup template section named like
+ <code>&lt;name&gt;-inlinemacro</code> or <code>&lt;name&gt;-blockmacro</code> (depending on the macro
+ type).
+</p>
+</li>
+<li>
+<p>
+Global and macro attribute list attributes are substituted in the
+ macro&#8217;s markup template.
+</p>
+</li>
+<li>
+<p>
+The substituted template replaces the macro reference in the output
+ document.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X98">22. HTML 5 audio and video block macros</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The <em>html5</em> backend <em>audio</em> and <em>video</em> block macros generate the HTML
+5 <em>audio</em> and <em>video</em> elements respectively. They follow the usual
+AsciiDoc block macro syntax <code>&lt;name&gt;::&lt;target&gt;[&lt;attrlist&gt;]</code> where:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+<code>&lt;name&gt;</code>
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+<em>audio</em> or <em>video</em>.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<code>&lt;target&gt;</code>
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The URL or file name of the video or audio file.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<code>&lt;attrlist&gt;</code>
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+A list of named attributes (see below).
+</p>
+</td>
+</tr>
+</table></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 4. Audio macro attributes</caption>
+<col width="16%" />
+<col width="83%" />
+<thead>
+<tr>
+<th align="left" valign="top">Name </th>
+<th align="left" valign="top"> Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">options</p></td>
+<td align="left" valign="top"><p class="table">A comma separated list of one or more of the following items:
+<em>autoplay</em>, <em>loop</em> which correspond to the same-named HTML 5 <em>audio</em>
+element boolean attributes. By default the player <em>controls</em> are
+enabled, include the <em>nocontrols</em> option value to hide them.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 5. Video macro attributes</caption>
+<col width="16%" />
+<col width="83%" />
+<thead>
+<tr>
+<th align="left" valign="top">Name </th>
+<th align="left" valign="top"> Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">height</p></td>
+<td align="left" valign="top"><p class="table">The height of the player in pixels.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">width</p></td>
+<td align="left" valign="top"><p class="table">The width of the player in pixels.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">poster</p></td>
+<td align="left" valign="top"><p class="table">The URL or file name of an image representing the video.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">options</p></td>
+<td align="left" valign="top"><p class="table">A comma separated list of one or more of the following items:
+<em>autoplay</em>, <em>loop</em> and <em>nocontrols</em>. The <em>autoplay</em> and <em>loop</em> options
+correspond to the same-named HTML 5 <em>video</em> element boolean
+attributes. By default the player <em>controls</em> are enabled, include the
+<em>nocontrols</em> option value to hide them.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="paragraph"><p>Examples:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>audio::images/example.ogg[]
+
+video::gizmo.ogv[width=200,options="nocontrols,autoplay"]
+
+.Example video
+video::gizmo.ogv[]
+
+video::http://www.808.dk/pics/video/gizmo.ogv[]</code></pre>
+</div></div>
+<div class="paragraph"><p>If your needs are more complex put raw HTML 5 in a markup block, for
+example (from <a href="http://www.808.dk/?code-html-5-video">http://www.808.dk/?code-html-5-video</a>):</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>++++
+&lt;video poster="pics/video/gizmo.jpg" id="video" style="cursor: pointer;" &gt;
+ &lt;source src="pics/video/gizmo.mp4" /&gt;
+ &lt;source src="pics/video/gizmo.webm" type="video/webm" /&gt;
+ &lt;source src="pics/video/gizmo.ogv" type="video/ogg" /&gt;
+ Video not playing? &lt;a href="pics/video/gizmo.mp4"&gt;Download file&lt;/a&gt; instead.
+&lt;/video&gt;
+
+&lt;script type="text/javascript"&gt;
+ var video = document.getElementById('video');
+ video.addEventListener('click',function(){
+ video.play();
+ },false);
+&lt;/script&gt;
+++++</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_tables">23. Tables</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The AsciiDoc table syntax looks and behaves like other delimited block
+types and supports standard <a href="#X73">block configuration entries</a>.
+Formatting is easy to read and, just as importantly, easy to enter.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Cells and columns can be formatted using built-in customizable styles.
+</p>
+</li>
+<li>
+<p>
+Horizontal and vertical cell alignment can be set on columns and
+ cell.
+</p>
+</li>
+<li>
+<p>
+Horizontal and vertical cell spanning is supported.
+</p>
+</li>
+</ul></div>
+<div class="sidebarblock">
+<div class="content">
+<div class="title">Use tables sparingly</div>
+<div class="paragraph"><p>When technical users first start creating documents, tables (complete
+with column spanning and table nesting) are often considered very
+important. The reality is that tables are seldom used, even in
+technical documentation.</p></div>
+<div class="paragraph"><p>Try this exercise: thumb through your library of technical books,
+you&#8217;ll be surprised just how seldom tables are actually used, even
+less seldom are tables containing block elements (such as paragraphs
+or lists) or spanned cells. This is no accident, like figures, tables
+are outside the normal document flow&#8201;&#8212;&#8201;tables are for consulting not
+for reading.</p></div>
+<div class="paragraph"><p>Tables are designed for, and should normally only be used for,
+displaying column oriented tabular data.</p></div>
+</div></div>
+<div class="sect2">
+<h3 id="_example_tables">23.1. Example tables</h3>
+<div class="tableblock">
+<table rules="all"
+width="15%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 6. Simple table</caption>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">1</p></td>
+<td align="left" valign="top"><p class="table">2</p></td>
+<td align="left" valign="top"><p class="table">A</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">3</p></td>
+<td align="left" valign="top"><p class="table">4</p></td>
+<td align="left" valign="top"><p class="table">B</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">5</p></td>
+<td align="left" valign="top"><p class="table">6</p></td>
+<td align="left" valign="top"><p class="table">C</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>[width="15%"]
+|=======
+|1 |2 |A
+|3 |4 |B
+|5 |6 |C
+|=======</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+width="50%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 7. Columns formatted with strong, monospaced and emphasis styles</caption>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+<thead>
+<tr>
+<th align="right" valign="top"> </th>
+<th colspan="2" align="center" valign="top">Columns 2 and 3</th>
+</tr>
+</thead>
+<tfoot>
+<tr>
+<td align="right" valign="top"><p class="table"><strong>footer 1</strong></p></td>
+<td align="center" valign="top"><p class="table"><code>footer 2</code></p></td>
+<td align="left" valign="top"><p class="table"><em>footer 3</em></p></td>
+</tr>
+</tfoot>
+<tbody>
+<tr>
+<td align="right" valign="top"><p class="table"><strong>1</strong></p></td>
+<td align="center" valign="top"><p class="table"><code>Item 1</code></p></td>
+<td align="left" valign="top"><p class="table"><em>Item 1</em></p></td>
+</tr>
+<tr>
+<td align="right" valign="top"><p class="table"><strong>2</strong></p></td>
+<td align="center" valign="top"><p class="table"><code>Item 2</code></p></td>
+<td align="left" valign="top"><p class="table"><em>Item 2</em></p></td>
+</tr>
+<tr>
+<td align="right" valign="top"><p class="table"><strong>3</strong></p></td>
+<td align="center" valign="top"><p class="table"><code>Item 3</code></p></td>
+<td align="left" valign="top"><p class="table"><em>Item 3</em></p></td>
+</tr>
+<tr>
+<td align="right" valign="top"><p class="table"><strong>4</strong></p></td>
+<td align="center" valign="top"><p class="table"><code>Item 4</code></p></td>
+<td align="left" valign="top"><p class="table"><em>Item 4</em></p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>.An example table
+[width="50%",cols="&gt;s,^m,e",frame="topbot",options="header,footer"]
+|==========================
+| 2+|Columns 2 and 3
+|1 |Item 1 |Item 1
+|2 |Item 2 |Item 2
+|3 |Item 3 |Item 3
+|4 |Item 4 |Item 4
+|footer 1|footer 2|footer 3
+|==========================</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+width="80%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 8. Horizontal and vertical source data</caption>
+<col width="17%" />
+<col width="11%" />
+<col width="11%" />
+<col width="58%" />
+<thead>
+<tr>
+<th align="left" valign="top">Date </th>
+<th align="center" valign="top">Duration </th>
+<th align="center" valign="top">Avg HR </th>
+<th align="left" valign="top">Notes</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">22-Aug-08</p></td>
+<td align="center" valign="top"><p class="table">10:24</p></td>
+<td align="center" valign="top"><p class="table">157</p></td>
+<td align="left" valign="top"><p class="table">Worked out MSHR (max sustainable heart rate) by going hard
+for this interval.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">22-Aug-08</p></td>
+<td align="center" valign="top"><p class="table">23:03</p></td>
+<td align="center" valign="top"><p class="table">152</p></td>
+<td align="left" valign="top"><p class="table">Back-to-back with previous interval.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">24-Aug-08</p></td>
+<td align="center" valign="top"><p class="table">40:00</p></td>
+<td align="center" valign="top"><p class="table">145</p></td>
+<td align="left" valign="top"><p class="table">Moderately hard interspersed with 3x 3min intervals (2min
+hard + 1min really hard taking the HR up to 160).</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="paragraph"><p>Short cells can be entered horizontally, longer cells vertically. The
+default behavior is to strip leading and trailing blank lines within a
+cell. These characteristics aid readability and data entry.</p></div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>.Windtrainer workouts
+[width="80%",cols="3,^2,^2,10",options="header"]
+|=========================================================
+|Date |Duration |Avg HR |Notes
+
+|22-Aug-08 |10:24 | 157 |
+Worked out MSHR (max sustainable heart rate) by going hard
+for this interval.
+
+|22-Aug-08 |23:03 | 152 |
+Back-to-back with previous interval.
+
+|24-Aug-08 |40:00 | 145 |
+Moderately hard interspersed with 3x 3min intervals (2min
+hard + 1min really hard taking the HR up to 160).
+
+|=========================================================</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 9. A table with externally sourced CSV data</caption>
+<col width="11%" />
+<col width="22%" />
+<col width="22%" />
+<col width="22%" />
+<col width="22%" />
+<thead>
+<tr>
+<th align="center" valign="top">ID</th>
+<th align="left" valign="top">Customer Name</th>
+<th align="left" valign="top">Contact Name</th>
+<th align="left" valign="top">Customer Address</th>
+<th align="left" valign="top">Phone</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="center" valign="top"><p class="table">AROUT</p></td>
+<td align="left" valign="top"><p class="table">Around the Horn</p></td>
+<td align="left" valign="top"><p class="table">Thomas Hardy</p></td>
+<td align="left" valign="top"><p class="table">120 Hanover Sq.
+London</p></td>
+<td align="left" valign="top"><p class="table">(171) 555-7788</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BERGS</p></td>
+<td align="left" valign="top"><p class="table">Berglunds snabbkop</p></td>
+<td align="left" valign="top"><p class="table">Christina Berglund</p></td>
+<td align="left" valign="top"><p class="table">Berguvsvagen 8
+Lulea</p></td>
+<td align="left" valign="top"><p class="table">0921-12 34 65</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BLAUS</p></td>
+<td align="left" valign="top"><p class="table">Blauer See Delikatessen</p></td>
+<td align="left" valign="top"><p class="table">Hanna Moos</p></td>
+<td align="left" valign="top"><p class="table">Forsterstr. 57
+Mannheim</p></td>
+<td align="left" valign="top"><p class="table">0621-08460</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BLONP</p></td>
+<td align="left" valign="top"><p class="table">Blondel pere et fils</p></td>
+<td align="left" valign="top"><p class="table">Frederique Citeaux</p></td>
+<td align="left" valign="top"><p class="table">24, place Kleber
+Strasbourg</p></td>
+<td align="left" valign="top"><p class="table">88.60.15.31</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BOLID</p></td>
+<td align="left" valign="top"><p class="table">Bolido Comidas preparadas</p></td>
+<td align="left" valign="top"><p class="table">Martin Sommer</p></td>
+<td align="left" valign="top"><p class="table">C/ Araquil, 67
+Madrid</p></td>
+<td align="left" valign="top"><p class="table">(91) 555 22 82</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BONAP</p></td>
+<td align="left" valign="top"><p class="table">Bon app'</p></td>
+<td align="left" valign="top"><p class="table">Laurence Lebihan</p></td>
+<td align="left" valign="top"><p class="table">12, rue des Bouchers
+Marseille</p></td>
+<td align="left" valign="top"><p class="table">91.24.45.40</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BOTTM</p></td>
+<td align="left" valign="top"><p class="table">Bottom-Dollar Markets</p></td>
+<td align="left" valign="top"><p class="table">Elizabeth Lincoln</p></td>
+<td align="left" valign="top"><p class="table">23 Tsawassen Blvd.
+Tsawassen</p></td>
+<td align="left" valign="top"><p class="table">(604) 555-4729</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BSBEV</p></td>
+<td align="left" valign="top"><p class="table">B&#8217;s Beverages</p></td>
+<td align="left" valign="top"><p class="table">Victoria Ashworth</p></td>
+<td align="left" valign="top"><p class="table">Fauntleroy Circus
+London</p></td>
+<td align="left" valign="top"><p class="table">(171) 555-1212</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">CACTU</p></td>
+<td align="left" valign="top"><p class="table">Cactus Comidas para llevar</p></td>
+<td align="left" valign="top"><p class="table">Patricio Simpson</p></td>
+<td align="left" valign="top"><p class="table">Cerrito 333
+Buenos Aires</p></td>
+<td align="left" valign="top"><p class="table">(1) 135-5555</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>[format="csv",cols="^1,4*2",options="header"]
+|===================================================
+ID,Customer Name,Contact Name,Customer Address,Phone
+include::customers.csv[]
+|===================================================</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+width="25%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 10. Cell spans, alignments and styles</caption>
+<col width="25%" />
+<col width="25%" />
+<col width="25%" />
+<col width="25%" />
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><em>1</em></p></td>
+<td align="right" valign="top"><p class="table"><strong>2</strong></p></td>
+<td align="center" valign="top"><p class="table">3</p></td>
+<td align="right" valign="top"><p class="table"><strong>4</strong></p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table"><em>5</em></p></td>
+<td colspan="2" rowspan="2" align="center" valign="middle"><p class="table"><code>6</code></p></td>
+<td rowspan="3" align="left" valign="bottom"><p class="table"><code>7</code></p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table"><em>8</em></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>9</em></p></td>
+<td colspan="2" align="right" valign="top"><p class="table"><code>10</code></p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>[cols="e,m,^,&gt;s",width="25%"]
+|============================
+|1 &gt;s|2 |3 |4
+^|5 2.2+^.^|6 .3+&lt;.&gt;m|7
+^|8
+|9 2+&gt;|10
+|============================</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X68">23.2. Table input data formats</h3>
+<div class="paragraph"><p>AsciiDoc table data can be <em>psv</em>, <em>dsv</em> or <em>csv</em> formatted. The
+default table format is <em>psv</em>.</p></div>
+<div class="paragraph"><p>AsciiDoc <em>psv</em> (<em>Prefix Separated Values</em>) and <em>dsv</em> (<em>Delimiter
+Separated Values</em>) formats are cell oriented&#8201;&#8212;&#8201;the table is treated
+as a sequence of cells&#8201;&#8212;&#8201;there are no explicit row separators.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<em>psv</em> prefixes each cell with a separator whereas <em>dsv</em> delimits
+ cells with a separator.
+</p>
+</li>
+<li>
+<p>
+<em>psv</em> and <em>dsv</em> separators are Python regular expressions.
+</p>
+</li>
+<li>
+<p>
+The default <em>psv</em> separator contains <a href="#X84">cell specifier</a> related
+ named regular expression groups.
+</p>
+</li>
+<li>
+<p>
+The default <em>dsv</em> separator is <code>:|\n</code> (a colon or a new line
+ character).
+</p>
+</li>
+<li>
+<p>
+<em>psv</em> and <em>dsv</em> cell separators can be escaped by preceding them
+ with a backslash character.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Here are four <em>psv</em> cells (the second item spans two columns; the
+last contains an escaped separator):</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>|One 2+|Two and three |A \| separator character</code></pre>
+</div></div>
+<div class="paragraph"><p><em>csv</em> is the quasi-standard row oriented <em>Comma Separated Values
+(CSV)</em> format commonly used to import and export spreadsheet and
+database data.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X69">23.3. Table attributes</h3>
+<div class="paragraph"><p>Tables can be customized by the following attributes:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+format
+</dt>
+<dd>
+<p>
+<em>psv</em> (default), <em>dsv</em> or <em>csv</em> (See <a href="#X68">Table Data Formats</a>).
+</p>
+</dd>
+<dt class="hdlist1">
+separator
+</dt>
+<dd>
+<p>
+The cell separator. A Python regular expression (<em>psv</em> and <em>dsv</em>
+formats) or a single character (<em>csv</em> format).
+</p>
+</dd>
+<dt class="hdlist1">
+frame
+</dt>
+<dd>
+<p>
+Defines the table border and can take the following values: <em>topbot</em>
+(top and bottom), <em>all</em> (all sides), <em>none</em> and <em>sides</em> (left and
+right sides). The default value is <em>all</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+grid
+</dt>
+<dd>
+<p>
+Defines which ruler lines are drawn between table rows and columns.
+The <em>grid</em> attribute value can be any of the following values: <em>none</em>,
+<em>cols</em>, <em>rows</em> and <em>all</em>. The default value is <em>all</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+align
+</dt>
+<dd>
+<p>
+Use the <em>align</em> attribute to horizontally align the table on the
+page (works with HTML outputs only, has no effect on DocBook outputs).
+The following values are valid: <em>left</em>, <em>right</em>, and <em>center</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+float
+</dt>
+<dd>
+<p>
+Use the <em>float</em> attribute to float the table <em>left</em> or <em>right</em> on the
+page (works with HTML outputs only, has no effect on DocBook outputs).
+Floating only makes sense in conjunction with a table <em>width</em>
+attribute value of less than 100% (otherwise the table will take up
+all the available space). <em>float</em> and <em>align</em> attributes are mutually
+exclusive. Use the <code>unfloat::[]</code> block macro to stop floating.
+</p>
+</dd>
+<dt class="hdlist1">
+halign
+</dt>
+<dd>
+<p>
+Use the <em>halign</em> attribute to horizontally align all cells in a table.
+The following values are valid: <em>left</em>, <em>right</em>, and <em>center</em>
+(defaults to <em>left</em>). Overridden by <a href="#X70">Column specifiers</a> and
+<a href="#X84">Cell specifiers</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+valign
+</dt>
+<dd>
+<p>
+Use the <em>valign</em> attribute to vertically align all cells in a table.
+The following values are valid: <em>top</em>, <em>bottom</em>, and <em>middle</em>
+(defaults to <em>top</em>). Overridden by <a href="#X70">Column specifiers</a> and
+<a href="#X84">Cell specifiers</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+options
+</dt>
+<dd>
+<p>
+The <em>options</em> attribute can contain comma separated values, for
+example: <em>header</em>, <em>footer</em>. By default header and footer rows are
+omitted. See <a href="#X74">attribute options</a> for a complete list of
+available table options.
+</p>
+</dd>
+<dt class="hdlist1">
+cols
+</dt>
+<dd>
+<p>
+The <em>cols</em> attribute is a comma separated list of <a href="#X70">column specifiers</a>. For example <code>cols="2&lt;p,2*,4p,&gt;"</code>.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+If <em>cols</em> is present it must specify all columns.
+</p>
+</li>
+<li>
+<p>
+If the <em>cols</em> attribute is not specified the number of columns is
+ calculated as the number of data items in the <strong>first line</strong> of the
+ table.
+</p>
+</li>
+<li>
+<p>
+The degenerate form for the <em>cols</em> attribute is an integer
+ specifying the number of columns e.g. <code>cols=4</code>.
+</p>
+</li>
+</ul></div>
+</dd>
+<dt class="hdlist1">
+width
+</dt>
+<dd>
+<p>
+The <em>width</em> attribute is expressed as a percentage value
+(<em>"1%"</em>&#8230;<em>"99%"</em>). The width specifies the table width relative to
+the available width. HTML backends use this value to set the table
+width attribute. It&#8217;s a bit more complicated with DocBook, see the
+<a href="#X89">DocBook table widths</a> sidebar.
+</p>
+</dd>
+<dt class="hdlist1">
+filter
+</dt>
+<dd>
+<p>
+The <em>filter</em> attribute defines an external shell command that is
+invoked for each cell. The built-in <em>asciidoc</em> table style is
+implemented using a filter.
+</p>
+</dd>
+</dl></div>
+<div class="sidebarblock" id="X89">
+<div class="content">
+<div class="title">DocBook table widths</div>
+<div class="paragraph"><p>The AsciiDoc docbook backend generates CALS tables. CALS tables do not
+support a table width attribute&#8201;&#8212;&#8201;table width can only be controlled
+by specifying absolute column widths.</p></div>
+<div class="paragraph"><p>Specifying absolute column widths is not media independent because
+different presentation media have different physical dimensions. To
+get round this limitation both
+<a href="http://www.sagehill.net/docbookxsl/Tables.html#TableWidth">DocBook XSL
+Stylesheets</a> and
+<a href="http://dblatex.sourceforge.net/doc/manual/ch03s05.html#sec-table-width">dblatex</a>
+have implemented table width processing instructions for setting the
+table width as a percentage of the available width. AsciiDoc emits
+these processing instructions if the <em>width</em> attribute is set along
+with proportional column widths (the AsciiDoc docbook backend
+<em>pageunits</em> attribute defaults to <em>*</em>).</p></div>
+<div class="paragraph"><p>To generate DocBook tables with absolute column widths set the
+<em>pageunits</em> attribute to a CALS absolute unit such as <em>pt</em> and set the
+<em>pagewidth</em> attribute to match the width of the presentation media.</p></div>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X70">23.4. Column Specifiers</h3>
+<div class="paragraph"><p>Column specifiers define how columns are rendered and appear in the
+table <a href="#X69">cols attribute</a>. A column specifier consists of an
+optional column multiplier followed by optional alignment, width and
+style values and is formatted like:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[&lt;multiplier&gt;*][&lt;align&gt;][&lt;width&gt;][&lt;style&gt;]</code></pre>
+</div></div>
+<div class="ulist"><ul>
+<li>
+<p>
+All components are optional. The multiplier must be first and the
+ style last. The order of <code>&lt;align&gt;</code> or <code>&lt;width&gt;</code> is not important.
+</p>
+</li>
+<li>
+<p>
+Column <code>&lt;width&gt;</code> can be either an integer proportional value (1&#8230;)
+ or a percentage (1%&#8230;100%). The default value is 1. To ensure
+ portability across different backends, there is no provision for
+ absolute column widths (not to be confused with output column width
+ <a href="#X72">markup attributes</a> which are available in both percentage and
+ absolute units).
+</p>
+</li>
+<li>
+<p>
+The <em>&lt;align&gt;</em> column alignment specifier is formatted like:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>[&lt;horizontal&gt;][.&lt;vertical&gt;]</code></pre>
+</div></div>
+<div class="paragraph"><p>Where <code>&lt;horizontal&gt;</code> and <code>&lt;vertical&gt;</code> are one of the following
+characters: <code>&lt;</code>, <code>^</code> or <code>&gt;</code> which represent <em>left</em>, <em>center</em> and
+<em>right</em> horizontal alignment or <em>top</em>, <em>middle</em> and <em>bottom</em> vertical
+alignment respectively.</p></div>
+</li>
+<li>
+<p>
+A <code>&lt;multiplier&gt;</code> can be used to specify repeated columns e.g.
+ <code>cols="4*&lt;"</code> specifies four left-justified columns. The default
+ multiplier value is 1.
+</p>
+</li>
+<li>
+<p>
+The <code>&lt;style&gt;</code> name specifies a <a href="#X71">table style</a> to used to markup
+ column cells (you can use the full style names if you wish but the
+ first letter is normally sufficient).
+</p>
+</li>
+<li>
+<p>
+Column specific styles are not applied to header rows.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="X84">23.5. Cell Specifiers</h3>
+<div class="paragraph"><p>Cell specifiers allow individual cells in <em>psv</em> formatted tables to be
+spanned, multiplied, aligned and styled. Cell specifiers prefix <em>psv</em>
+<code>|</code> delimiters and are formatted like:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[&lt;span&gt;*|+][&lt;align&gt;][&lt;style&gt;]</code></pre>
+</div></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<em>&lt;span&gt;</em> specifies horizontal and vertical cell spans (<em>+</em> operator) or
+ the number of times the cell is replicated (<em>*</em> operator). <em>&lt;span&gt;</em>
+ is formatted like:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>[&lt;colspan&gt;][.&lt;rowspan&gt;]</code></pre>
+</div></div>
+<div class="paragraph"><p>Where <code>&lt;colspan&gt;</code> and <code>&lt;rowspan&gt;</code> are integers specifying the number of
+columns and rows to span.</p></div>
+</li>
+<li>
+<p>
+<code>&lt;align&gt;</code> specifies horizontal and vertical cell alignment an is the
+ same as in <a href="#X70">column specifiers</a>.
+</p>
+</li>
+<li>
+<p>
+A <code>&lt;style&gt;</code> value is the first letter of <a href="#X71">table style</a> name.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>For example, the following <em>psv</em> formatted cell will span two columns
+and the text will be centered and emphasized:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>`2+^e| Cell text`</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X71">23.6. Table styles</h3>
+<div class="paragraph"><p>Table styles can be applied to the entire table (by setting the
+<em>style</em> attribute in the table&#8217;s attribute list) or on a per column
+basis (by specifying the style in the table&#8217;s <a href="#X69">cols attribute</a>).
+Table data can be formatted using the following predefined styles:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+default
+</dt>
+<dd>
+<p>
+The default style: AsciiDoc inline text formatting; blank lines are
+treated as paragraph breaks.
+</p>
+</dd>
+<dt class="hdlist1">
+emphasis
+</dt>
+<dd>
+<p>
+Like default but all text is emphasised.
+</p>
+</dd>
+<dt class="hdlist1">
+monospaced
+</dt>
+<dd>
+<p>
+Like default but all text is in a monospaced font.
+</p>
+</dd>
+<dt class="hdlist1">
+strong
+</dt>
+<dd>
+<p>
+Like default but all text is bold.
+</p>
+</dd>
+<dt class="hdlist1">
+header
+</dt>
+<dd>
+<p>
+Apply the same style as the table header. Normally used to create a
+vertical header in the first column.
+</p>
+</dd>
+<dt class="hdlist1">
+asciidoc
+</dt>
+<dd>
+<p>
+With this style table cells can contain any of the AsciiDoc elements
+that are allowed inside document sections. This style runs asciidoc(1)
+as a filter to process cell contents. See also <a href="#X83">Docbook table limitations</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+literal
+</dt>
+<dd>
+<p>
+No text formatting; monospaced font; all line breaks are retained
+(the same as the AsciiDoc <a href="#X65">LiteralBlock</a> element).
+</p>
+</dd>
+<dt class="hdlist1">
+verse
+</dt>
+<dd>
+<p>
+All line breaks are retained (just like the AsciiDoc <a href="#X94">verse paragraph style</a>).
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="X72">23.7. Markup attributes</h3>
+<div class="paragraph"><p>AsciiDoc makes a number of attributes available to table markup
+templates and tags. Column specific attributes are available when
+substituting the <em>colspec</em> cell data tags.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+pageunits
+</dt>
+<dd>
+<p>
+DocBook backend only. Specifies table column absolute width units.
+Defaults to <em>*</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+pagewidth
+</dt>
+<dd>
+<p>
+DocBook backend only. The nominal output page width in <em>pageunit</em>
+units. Used to calculate CALS tables absolute column and table
+widths. Defaults to <em>425</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+tableabswidth
+</dt>
+<dd>
+<p>
+Integer value calculated from <em>width</em> and <em>pagewidth</em> attributes.
+In <em>pageunit</em> units.
+</p>
+</dd>
+<dt class="hdlist1">
+tablepcwidth
+</dt>
+<dd>
+<p>
+Table width expressed as a percentage of the available width. Integer
+value (0..100).
+</p>
+</dd>
+<dt class="hdlist1">
+colabswidth
+</dt>
+<dd>
+<p>
+Integer value calculated from <em>cols</em> column width, <em>width</em> and
+<em>pagewidth</em> attributes. In <em>pageunit</em> units.
+</p>
+</dd>
+<dt class="hdlist1">
+colpcwidth
+</dt>
+<dd>
+<p>
+Column width expressed as a percentage of the table width. Integer
+value (0..100).
+</p>
+</dd>
+<dt class="hdlist1">
+colcount
+</dt>
+<dd>
+<p>
+Total number of table columns.
+</p>
+</dd>
+<dt class="hdlist1">
+rowcount
+</dt>
+<dd>
+<p>
+Total number of table rows.
+</p>
+</dd>
+<dt class="hdlist1">
+halign
+</dt>
+<dd>
+<p>
+Horizontal cell content alignment: <em>left</em>, <em>right</em> or <em>center</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+valign
+</dt>
+<dd>
+<p>
+Vertical cell content alignment: <em>top</em>, <em>bottom</em> or <em>middle</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+colnumber, colstart
+</dt>
+<dd>
+<p>
+The number of the leftmost column occupied by the cell (1&#8230;).
+</p>
+</dd>
+<dt class="hdlist1">
+colend
+</dt>
+<dd>
+<p>
+The number of the rightmost column occupied by the cell (1&#8230;).
+</p>
+</dd>
+<dt class="hdlist1">
+colspan
+</dt>
+<dd>
+<p>
+Number of columns the cell should span.
+</p>
+</dd>
+<dt class="hdlist1">
+rowspan
+</dt>
+<dd>
+<p>
+Number of rows the cell should span (1&#8230;).
+</p>
+</dd>
+<dt class="hdlist1">
+morerows
+</dt>
+<dd>
+<p>
+Number of additional rows the cell should span (0&#8230;).
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_nested_tables">23.8. Nested tables</h3>
+<div class="paragraph"><p>An alternative <em>psv</em> separator character <em>!</em> can be used (instead of
+<em>|</em>) in nested tables. This allows a single level of table nesting.
+Columns containing nested tables must use the <em>asciidoc</em> style. An
+example can be found in <code>./examples/website/newtables.txt</code>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X83">23.9. DocBook table limitations</h3>
+<div class="paragraph"><p>Fully implementing tables is not trivial, some DocBook toolchains do
+better than others. AsciiDoc HTML table outputs are rendered
+correctly in all the popular browsers&#8201;&#8212;&#8201;if your DocBook generated
+tables don&#8217;t look right compare them with the output generated by the
+AsciiDoc <em>xhtml11</em> backend or try a different DocBook toolchain. Here
+is a list of things to be aware of:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Although nested tables are not legal in DocBook 4 the FOP and
+ dblatex toolchains will process them correctly. If you use <code>a2x(1)</code>
+ you will need to include the <code>--no-xmllint</code> option to suppress
+ DocBook validation errors.
+</p>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">In theory you can nest DocBook 4 tables one level using the
+<em>entrytbl</em> element, but not all toolchains process <em>entrytbl</em>.</td>
+</tr></table>
+</div>
+</li>
+<li>
+<p>
+DocBook only allows a subset of block elements inside table cells so
+ not all AsciiDoc elements produce valid DocBook inside table cells.
+ If you get validation errors running <code>a2x(1)</code> try the <code>--no-xmllint</code>
+ option, toolchains will often process nested block elements such as
+ sidebar blocks and floating titles correctly even though, strictly
+ speaking, they are not legal.
+</p>
+</li>
+<li>
+<p>
+Text formatting in cells using the <em>monospaced</em> table style will
+ raise validation errors because the DocBook <em>literal</em> element was
+ not designed to support formatted text (using the <em>literal</em> element
+ is a kludge on the part of AsciiDoc as there is no easy way to set
+ the font style in DocBook.
+</p>
+</li>
+<li>
+<p>
+Cell alignments are ignored for <em>verse</em>, <em>literal</em> or <em>asciidoc</em>
+ table styles.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X1">24. Manpage Documents</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Sooner or later, if you program in a UNIX environment, you&#8217;re going
+to have to write a man page.</p></div>
+<div class="paragraph"><p>By observing a couple of additional conventions (detailed below) you
+can write AsciiDoc files that will generate HTML and PDF man pages
+plus the native manpage roff format. The easiest way to generate roff
+manpages from AsciiDoc source is to use the a2x(1) command. The
+following example generates a roff formatted manpage file called
+<code>asciidoc.1</code> (a2x(1) uses asciidoc(1) to convert <code>asciidoc.1.txt</code> to
+DocBook which it then converts to roff using DocBook XSL Stylesheets):</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>a2x --doctype manpage --format manpage asciidoc.1.txt</code></pre>
+</div></div>
+<div class="sidebarblock">
+<div class="content">
+<div class="title">Viewing and printing manpage files</div>
+<div class="paragraph"><p>Use the <code>man(1)</code> command to view the manpage file:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ man -l asciidoc.1</code></pre>
+</div></div>
+<div class="paragraph"><p>To print a high quality man page to a postscript printer:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ man -l -Tps asciidoc.1 | lpr</code></pre>
+</div></div>
+<div class="paragraph"><p>You could also create a PDF version of the man page by converting
+PostScript to PDF using <code>ps2pdf(1)</code>:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ man -l -Tps asciidoc.1 | ps2pdf - asciidoc.1.pdf</code></pre>
+</div></div>
+<div class="paragraph"><p>The <code>ps2pdf(1)</code> command is included in the Ghostscript distribution.</p></div>
+</div></div>
+<div class="paragraph"><p>To find out more about man pages view the <code>man(7)</code> manpage
+(<code>man 7 man</code> and <code>man man-pages</code> commands).</p></div>
+<div class="sect2">
+<h3 id="_document_header">24.1. Document Header</h3>
+<div class="paragraph"><p>A manpage document Header is mandatory. The title line contains the
+man page name followed immediately by the manual section number in
+brackets, for example <em>ASCIIDOC(1)</em>. The title name should not contain
+white space and the manual section number is a single digit optionally
+followed by a single character.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_the_name_section">24.2. The NAME Section</h3>
+<div class="paragraph"><p>The first manpage section is mandatory, must be titled <em>NAME</em> and must
+contain a single paragraph (usually a single line) consisting of a
+list of one or more comma separated command name(s) separated from the
+command purpose by a dash character. The dash must have at least one
+white space character on either side. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>printf, fprintf, sprintf - print formatted output</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_the_synopsis_section">24.3. The SYNOPSIS Section</h3>
+<div class="paragraph"><p>The second manpage section is mandatory and must be titled <em>SYNOPSIS</em>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_refmiscinfo_attributes">24.4. refmiscinfo attributes</h3>
+<div class="paragraph"><p>In addition to the automatically created man page <a href="#X60">intrinsic attributes</a> you can assign DocBook
+<a href="http://www.docbook.org/tdg5/en/html/refmiscinfo.html">refmiscinfo</a>
+element <em>source</em>, <em>version</em> and <em>manual</em> values using AsciiDoc
+<code>{mansource}</code>, <code>{manversion}</code> and <code>{manmanual}</code> attributes
+respectively. This example is from the AsciiDoc header of a man page
+source file:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>:man source: AsciiDoc
+:man version: {revnumber}
+:man manual: AsciiDoc Manual</code></pre>
+</div></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X78">25. Mathematical Formulas</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The <em>asciimath</em> and <em>latexmath</em> <a href="#X76">passthrough blocks</a> along with
+the <em>asciimath</em> and <em>latexmath</em> <a href="#X77">passthrough macros</a> provide a
+(backend dependent) mechanism for rendering mathematical formulas. You
+can use the following math markups:</p></div>
+<div class="sect2">
+<h3 id="_latex_math">25.1. LaTeX Math</h3>
+<div class="paragraph"><p><a href="ftp://ftp.ams.org/pub/tex/doc/amsmath/short-math-guide.pdf">LaTeX
+math</a> can be included in documents that are processed by
+<a href="#X31">dblatex(1)</a>. Example inline formula:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>latexmath:[$C = \alpha + \beta Y^{\gamma} + \epsilon$]</code></pre>
+</div></div>
+<div class="paragraph"><p>For more examples see the <a href="https://asciidoc.org/">AsciiDoc website</a> or the
+distributed <code>doc/latexmath.txt</code> file.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_mathjax">25.2. MathJax</h3>
+<div class="paragraph"><p><a href="http://www.mathjax.org/">MathJax</a> allows LaTeX Math style formulas to be included
+in XHTML documents generated via the AsciiDoc <em>xhtml11</em> and <em>html5</em> backends.
+This route overcomes several restrictions of the MathML-based approaches,
+notably, restricted support of MathML by many mainstream browsers. To enable
+<em>MathJax</em> support you must define the <em>mathjax</em> attribute, for example using the
+<code>-a mathjax</code> command-line option. Equations are specified as explained above
+using the <em>latexmath</em> passthrough blocks. By default, rendering of equations
+with <em>MathJax</em> requires a working internet connection and will thus not work if
+you are offline (but it can be configured differently).</p></div>
+</div>
+<div class="sect2">
+<h3 id="_latexmathml">25.3. LaTeXMathML</h3>
+<div class="paragraph"><p><em>LaTeXMathML</em> allows LaTeX Math style formulas to be included in XHTML
+documents generated using the AsciiDoc <em>xhtml11</em> and <em>html5</em> backends.
+AsciiDoc uses the
+<a href="http://www.maths.nottingham.ac.uk/personal/drw/lm.html">original
+LaTeXMathML</a> by Douglas Woodall. <em>LaTeXMathML</em> is derived from
+ASCIIMathML and is for users who are more familiar with or prefer
+using LaTeX math formulas (it recognizes a subset of LaTeX Math, the
+differences are documented on the <em>LaTeXMathML</em> web page). To enable
+LaTeXMathML support you must define the <em>latexmath</em> attribute, for
+example using the <code>-a latexmath</code> command-line option. Example inline
+formula:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>latexmath:[$\sum_{n=1}^\infty \frac{1}{2^n}$]</code></pre>
+</div></div>
+<div class="paragraph"><p>For more examples see the <a href="https://asciidoc.org/">AsciiDoc website</a> or the
+distributed <code>doc/latexmathml.txt</code> file.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">The <em>latexmath</em> macro used to include <em>LaTeX Math</em> in DocBook
+outputs is not the same as the <em>latexmath</em> macro used to include
+<em>LaTeX MathML</em> in XHTML outputs. <em>LaTeX Math</em> applies to DocBook
+outputs that are processed by <a href="#X31">dblatex</a> and is normally used to
+generate PDF files. <em>LaTeXMathML</em> is very much a subset of <em>LaTeX
+Math</em> and applies to XHTML documents. This remark does not
+apply to <em>MathJax</em> which does not use any of the <em>latexmath</em> macros
+(but only requires the <em>latexmath</em> passthrough blocks for identification
+of the equations).</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_asciimathml">25.4. ASCIIMathML</h3>
+<div class="paragraph"><p><a href="http://www1.chapman.edu/~jipsen/mathml/asciimath.html">ASCIIMathML</a>
+formulas can be included in XHTML documents generated using the
+<em>xhtml11</em> and <em>html5</em> backends. To enable ASCIIMathML support you must
+define the <em>asciimath</em> attribute, for example using the <code>-a asciimath</code>
+command-line option. Example inline formula:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>asciimath:[`x/x={(1,if x!=0),(text{undefined},if x=0):}`]</code></pre>
+</div></div>
+<div class="paragraph"><p>For more examples see the <a href="https://asciidoc.org/">AsciiDoc website</a> or the
+distributed <code>doc/asciimathml.txt</code> file.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_mathml">25.5. MathML</h3>
+<div class="paragraph"><p><a href="http://www.w3.org/Math/">MathML</a> is a low level XML markup for
+mathematics. AsciiDoc has no macros for MathML but users familiar with
+this markup could use passthrough macros and passthrough blocks to
+include MathML in output documents.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X7">26. Configuration Files</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc source file syntax and output file markup is largely
+controlled by a set of cascading, text based, configuration files. At
+runtime The AsciiDoc default configuration files are combined with
+optional user and document specific configuration files.</p></div>
+<div class="sect2">
+<h3 id="_configuration_file_format">26.1. Configuration File Format</h3>
+<div class="paragraph"><p>Configuration files contain named sections. Each section begins with a
+section name in square brackets []. The section body consists of the
+lines of text between adjacent section headings.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Section names consist of one or more alphanumeric, underscore or
+ dash characters and cannot begin or end with a dash.
+</p>
+</li>
+<li>
+<p>
+Lines starting with a <em>#</em> character are treated as comments and
+ ignored.
+</p>
+</li>
+<li>
+<p>
+If the section name is prefixed with a <em>+</em> character then the
+ section contents is appended to the contents of an already existing
+ same-named section.
+</p>
+</li>
+<li>
+<p>
+Otherwise same-named sections and section entries override
+ previously loaded sections and section entries (this is sometimes
+ referred to as <em>cascading</em>). Consequently, downstream configuration
+ files need only contain those sections and section entries that need
+ to be overridden.
+</p>
+</li>
+</ul></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">When creating custom configuration files you only need to include
+the sections and entries that differ from the default configuration.</td>
+</tr></table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">The best way to learn about configuration files is to read the
+default configuration files in the AsciiDoc distribution in
+conjunction with asciidoc(1) output files. You can view configuration
+file load sequence by turning on the asciidoc(1) <code>-v</code> (<code>--verbose</code>)
+command-line option.</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>AsciiDoc reserves the following section names for specific purposes:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+miscellaneous
+</dt>
+<dd>
+<p>
+ Configuration options that don&#8217;t belong anywhere else.
+</p>
+</dd>
+<dt class="hdlist1">
+attributes
+</dt>
+<dd>
+<p>
+ Attribute name/value entries.
+</p>
+</dd>
+<dt class="hdlist1">
+specialcharacters
+</dt>
+<dd>
+<p>
+ Special characters reserved by the backend markup.
+</p>
+</dd>
+<dt class="hdlist1">
+tags
+</dt>
+<dd>
+<p>
+ Backend markup tags.
+</p>
+</dd>
+<dt class="hdlist1">
+quotes
+</dt>
+<dd>
+<p>
+ Definitions for quoted inline character formatting.
+</p>
+</dd>
+<dt class="hdlist1">
+specialwords
+</dt>
+<dd>
+<p>
+ Lists of words and phrases singled out for special markup.
+</p>
+</dd>
+<dt class="hdlist1">
+replacements, replacements2, replacements3
+</dt>
+<dd>
+<p>
+ Find and replace substitution definitions.
+</p>
+</dd>
+<dt class="hdlist1">
+specialsections
+</dt>
+<dd>
+<p>
+ Used to single out special section names for specific markup.
+</p>
+</dd>
+<dt class="hdlist1">
+macros
+</dt>
+<dd>
+<p>
+ Macro syntax definitions.
+</p>
+</dd>
+<dt class="hdlist1">
+titles
+</dt>
+<dd>
+<p>
+ Heading, section and block title definitions.
+</p>
+</dd>
+<dt class="hdlist1">
+paradef-*
+</dt>
+<dd>
+<p>
+ Paragraph element definitions.
+</p>
+</dd>
+<dt class="hdlist1">
+blockdef-*
+</dt>
+<dd>
+<p>
+ DelimitedBlock element definitions.
+</p>
+</dd>
+<dt class="hdlist1">
+listdef-*
+</dt>
+<dd>
+<p>
+ List element definitions.
+</p>
+</dd>
+<dt class="hdlist1">
+listtags-*
+</dt>
+<dd>
+<p>
+ List element tag definitions.
+</p>
+</dd>
+<dt class="hdlist1">
+tabledef-*
+</dt>
+<dd>
+<p>
+ Table element definitions.
+</p>
+</dd>
+<dt class="hdlist1">
+tabletags-*
+</dt>
+<dd>
+<p>
+ Table element tag definitions.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>Each line of text in these sections is a <em>section entry</em>. Section
+entries share the following syntax:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+name=value
+</dt>
+<dd>
+<p>
+ The entry value is set to value.
+</p>
+</dd>
+<dt class="hdlist1">
+name=
+</dt>
+<dd>
+<p>
+ The entry value is set to a zero length string.
+</p>
+</dd>
+<dt class="hdlist1">
+name!
+</dt>
+<dd>
+<p>
+ The entry is undefined (deleted from the configuration). This
+ syntax only applies to <em>attributes</em> and <em>miscellaneous</em>
+ sections.
+</p>
+</dd>
+</dl></div>
+<div class="ulist"><div class="title">Section entry behavior</div><ul>
+<li>
+<p>
+All equals characters inside the <code>name</code> must be escaped with a
+ backslash character.
+</p>
+</li>
+<li>
+<p>
+<code>name</code> and <code>value</code> are stripped of leading and trailing white space.
+</p>
+</li>
+<li>
+<p>
+Attribute names, tag entry names and markup template section names
+ consist of one or more alphanumeric, underscore or dash characters.
+ Names should not begin or end with a dash.
+</p>
+</li>
+<li>
+<p>
+A blank configuration file section (one without any entries) deletes
+ any preceding section with the same name (applies to non-markup
+ template sections).
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_miscellaneous_section">26.2. Miscellaneous section</h3>
+<div class="paragraph"><p>The optional <code>[miscellaneous]</code> section specifies the following
+<code>name=value</code> options:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+newline
+</dt>
+<dd>
+<p>
+ Output file line termination characters. Can include any
+ valid Python string escape sequences. The default value is
+ <code>\r\n</code> (carriage return, line feed). Should not be quoted or
+ contain explicit spaces (use <code>\x20</code> instead). For example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a 'newline=\n' -b docbook mydoc.txt</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+outfilesuffix
+</dt>
+<dd>
+<p>
+ The default extension for the output file, for example
+ <code>outfilesuffix=.html</code>. Defaults to backend name.
+</p>
+</dd>
+<dt class="hdlist1">
+tabsize
+</dt>
+<dd>
+<p>
+ The number of spaces to expand tab characters, for example
+ <code>tabsize=4</code>. Defaults to 8. A <em>tabsize</em> of zero suppresses tab
+ expansion (useful when piping included files through block
+ filters). Included files can override this option using the
+ <em>tabsize</em> attribute.
+</p>
+</dd>
+<dt class="hdlist1">
+pagewidth, pageunits
+</dt>
+<dd>
+<p>
+ These global table related options are documented in the
+ <a href="#X4">Table Configuration File Definitions</a> sub-section.
+</p>
+</dd>
+</dl></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content"><code>[miscellaneous]</code> configuration file entries can be set using
+the asciidoc(1) <code>-a</code> (<code>--attribute</code>) command-line option.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_titles_section">26.3. Titles section</h3>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+sectiontitle
+</dt>
+<dd>
+<p>
+ Two line section title pattern. The entry value is a Python
+ regular expression containing the named group <em>title</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+underlines
+</dt>
+<dd>
+<p>
+ A comma separated list of document and section title underline
+ character pairs starting with the section level 0 and ending
+ with section level 4 underline. The default setting is:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>underlines="==","--","~~","^^","++"</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+sect0&#8230;sect4
+</dt>
+<dd>
+<p>
+ One line section title patterns. The entry value is a Python
+ regular expression containing the named group <em>title</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+blocktitle
+</dt>
+<dd>
+<p>
+ <a href="#X42">BlockTitle element</a> pattern. The entry value is a
+ Python regular expression containing the named group <em>title</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+subs
+</dt>
+<dd>
+<p>
+ A comma separated list of substitutions that are performed on
+ the document header and section titles. Defaults to <em>normal</em>
+ substitution.
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_tags_section">26.4. Tags section</h3>
+<div class="paragraph"><p>The <code>[tags]</code> section contains backend tag definitions (one per
+line). Tags are used to translate AsciiDoc elements to backend
+markup.</p></div>
+<div class="paragraph"><p>An AsciiDoc tag definition is formatted like
+<code>&lt;tagname&gt;=&lt;starttag&gt;|&lt;endtag&gt;</code>. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>emphasis=&lt;em&gt;|&lt;/em&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>In this example asciidoc(1) replaces the | character with the
+emphasized text from the AsciiDoc input file and writes the result to
+the output file.</p></div>
+<div class="paragraph"><p>Use the <code>{brvbar}</code> attribute reference if you need to include a | pipe
+character inside tag text.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_attributes_section">26.5. Attributes section</h3>
+<div class="paragraph"><p>The optional <code>[attributes]</code> section contains predefined attributes.</p></div>
+<div class="paragraph"><p>If the attribute value requires leading or trailing spaces then the
+text text should be enclosed in quotation mark (") characters.</p></div>
+<div class="paragraph"><p>To delete a attribute insert a <code>name!</code> entry in a downstream
+configuration file or use the asciidoc(1) <code>--attribute name!</code>
+command-line option (an attribute name suffixed with a <code>!</code> character
+deletes the attribute)</p></div>
+</div>
+<div class="sect2">
+<h3 id="_special_characters_section">26.6. Special Characters section</h3>
+<div class="paragraph"><p>The <code>[specialcharacters]</code> section specifies how to escape characters
+reserved by the backend markup. Each translation is specified on a
+single line formatted like:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;special_character&gt;=&lt;translated_characters&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>Special characters are normally confined to those that resolve
+markup ambiguity (in the case of HTML and XML markups the ampersand,
+less than and greater than characters). The following example causes
+all occurrences of the <code>&lt;</code> character to be replaced by <code>&amp;lt;</code>.</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;=&amp;lt;</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_quoted_text_section">26.7. Quoted Text section</h3>
+<div class="paragraph"><p>Quoting is used primarily for text formatting. The <code>[quotes]</code> section
+defines AsciiDoc quoting characters and their corresponding backend
+markup tags. Each section entry value is the name of a of a <code>[tags]</code>
+section entry. The entry name is the character (or characters) that
+quote the text. The following examples are taken from AsciiDoc
+configuration files:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[quotes]
+_=emphasis</code></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[tags]
+emphasis=&lt;em&gt;|&lt;/em&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>You can specify the left and right quote strings separately by
+separating them with a | character, for example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>``|''=quoted</code></pre>
+</div></div>
+<div class="paragraph"><p>Omitting the tag will disable quoting, for example, if you don&#8217;t want
+superscripts or subscripts put the following in a custom configuration
+file or edit the global <code>asciidoc.conf</code> configuration file:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[quotes]
+^=
+~=</code></pre>
+</div></div>
+<div class="paragraph"><p><a href="#X52">Unconstrained quotes</a> are differentiated from constrained
+quotes by prefixing the tag name with a hash character, for example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>__=#emphasis</code></pre>
+</div></div>
+<div class="ulist"><div class="title">Quoted text behavior</div><ul>
+<li>
+<p>
+Quote characters must be non-alphanumeric.
+</p>
+</li>
+<li>
+<p>
+To minimize quoting ambiguity try not to use the same quote
+ characters in different quote types.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_special_words_section">26.8. Special Words section</h3>
+<div class="paragraph"><p>The <code>[specialwords]</code> section is used to single out words and phrases
+that you want to consistently format in some way throughout your
+document without having to repeatedly specify the markup. The name of
+each entry corresponds to a markup template section and the entry
+value consists of a list of words and phrases to be marked up. For
+example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[specialwords]
+strongwords=NOTE IMPORTANT</code></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[strongwords]
+&lt;strong&gt;{words}&lt;/strong&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>The examples specifies that any occurrence of <code>NOTE</code> or <code>IMPORTANT</code>
+should appear in a bold font.</p></div>
+<div class="paragraph"><p>Words and word phrases are treated as Python regular expressions: for
+example, the word <code>^NOTE</code> would only match <code>NOTE</code> if appeared at
+the start of a line.</p></div>
+<div class="paragraph"><p>AsciiDoc comes with three built-in Special Word types:
+<em>emphasizedwords</em>, <em>monospacedwords</em> and <em>strongwords</em>, each has a
+corresponding (backend specific) markup template section. Edit the
+configuration files to customize existing Special Words and to add new
+ones.</p></div>
+<div class="ulist"><div class="title">Special word behavior</div><ul>
+<li>
+<p>
+Word list entries must be separated by space characters.
+</p>
+</li>
+<li>
+<p>
+Word list entries with embedded spaces should be enclosed in quotation (")
+ characters.
+</p>
+</li>
+<li>
+<p>
+A <code>[specialwords]</code> section entry of the form
+ <code>name=word1&#160;[word2&#8230;]</code> adds words to existing <code>name</code> entries.
+</p>
+</li>
+<li>
+<p>
+A <code>[specialwords]</code> section entry of the form <code>name</code> undefines
+ (deletes) all existing <code>name</code> words.
+</p>
+</li>
+<li>
+<p>
+Since word list entries are processed as Python regular expressions
+ you need to be careful to escape regular expression special
+ characters.
+</p>
+</li>
+<li>
+<p>
+By default Special Words are substituted before Inline Macros, this
+ may lead to undesirable consequences. For example the special word
+ <code>foobar</code> would be expanded inside the macro call
+ <code>http://www.foobar.com[]</code>. A possible solution is to emphasize
+ whole words only by defining the word using regular expression
+ characters, for example <code>\bfoobar\b</code>.
+</p>
+</li>
+<li>
+<p>
+If the first matched character of a special word is a backslash then
+ the remaining characters are output without markup i.e. the
+ backslash can be used to escape special word markup. For example
+ the special word <code>\\?\b[Tt]en\b</code> will mark up the words <code>Ten</code> and
+ <code>ten</code> only if they are not preceded by a backslash.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="X10">26.9. Replacements section</h3>
+<div class="paragraph"><p><code>[replacements]</code>, <code>[replacements2]</code> and <code>[replacements3]</code>
+configuration file entries specify find and replace text and are
+formatted like:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;find_pattern&gt;=&lt;replacement_text&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>The find text can be a Python regular expression; the replace text can
+contain Python regular expression group references.</p></div>
+<div class="paragraph"><p>Use Replacement shortcuts for often used macro references, for
+example (the second replacement allows us to backslash escape the
+macro name):</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>NEW!=image:./images/smallnew.png[New!]
+\\NEW!=NEW!</code></pre>
+</div></div>
+<div class="paragraph"><p>The only difference between the three replacement types is how they
+are applied. By default <em>replacements</em> and <em>replacements2</em> are applied
+in <a href="#X102">normal</a> substitution contexts whereas <em>replacements3</em> needs
+to be configured explicitly and should only be used in backend
+configuration files.</p></div>
+<div class="ulist"><div class="title">Replacement behavior</div><ul>
+<li>
+<p>
+The built-in replacements can be escaped with a backslash.
+</p>
+</li>
+<li>
+<p>
+If the find or replace text has leading or trailing spaces then the
+ text should be enclosed in quotation (") characters.
+</p>
+</li>
+<li>
+<p>
+Since the find text is processed as a regular expression you need to
+ be careful to escape regular expression special characters.
+</p>
+</li>
+<li>
+<p>
+Replacements are performed in the same order they appear in the
+ configuration file replacements section.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_markup_template_sections">26.10. Markup Template Sections</h3>
+<div class="paragraph"><p>Markup template sections supply backend markup for translating
+AsciiDoc elements. Since the text is normally backend dependent
+you&#8217;ll find these sections in the backend specific configuration
+files. Template sections differ from other sections in that they
+contain a single block of text instead of per line <em>name=value</em>
+entries. A markup template section body can contain:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Attribute references
+</p>
+</li>
+<li>
+<p>
+System macro calls.
+</p>
+</li>
+<li>
+<p>
+A document content placeholder
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>The document content placeholder is a single | character and is
+replaced by text from the source element. Use the <code>{brvbar}</code>
+attribute reference if you need a literal | character in the template.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X27">26.11. Configuration file names, precedence and locations</h3>
+<div class="paragraph"><p>Configuration files have a <code>.conf</code> file name extension; they are
+loaded from the following locations:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+The directory containing the asciidoc executable.
+</p>
+</li>
+<li>
+<p>
+If there is no <code>asciidoc.conf</code> file in the directory containing the
+ asciidoc executable then load from the global configuration
+ directory (normally <code>/etc/asciidoc</code> or <code>/usr/local/etc/asciidoc</code>)
+ i.e. the global configuration files directory is skipped if
+ AsciiDoc configuration files are installed in the same directory as
+ the asciidoc executable. This allows both a system wide copy and
+ multiple local copies of AsciiDoc to coexist on the same host PC.
+</p>
+</li>
+<li>
+<p>
+The user&#8217;s <code>$HOME/.asciidoc</code> directory (if it exists).
+</p>
+</li>
+<li>
+<p>
+The directory containing the AsciiDoc source file.
+</p>
+</li>
+<li>
+<p>
+Explicit configuration files specified using:
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+The <code>conf-files</code> attribute (one or more file names separated by a
+ <code>|</code> character). These files are loaded in the order they are
+ specified and prior to files specified using the <code>--conf-file</code>
+ command-line option.
+</p>
+</li>
+<li>
+<p>
+The asciidoc(1) <code>--conf-file</code>) command-line option. The
+ <code>--conf-file</code> option can be specified multiple times, in which
+ case configuration files will be processed in the same order they
+ appear on the command-line.
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+<a href="#X100">Backend plugin</a> configuration files are loaded from
+ subdirectories named like <code>backends/&lt;backend&gt;</code> in locations 1, 2
+ and 3.
+</p>
+</li>
+<li>
+<p>
+<a href="#X59">Filter</a> configuration files are loaded from subdirectories
+ named like <code>filters/&lt;filter&gt;</code> in locations 1, 2 and 3.
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>Configuration files from the above locations are loaded in the
+following order:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+The <code>[attributes]</code> section only from:
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+<code>asciidoc.conf</code> in location 3
+</p>
+</li>
+<li>
+<p>
+Files from location 5.
+</p>
+<div class="paragraph"><p>This first pass makes locally set attributes available in the global
+<code>asciidoc.conf</code> file.</p></div>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+<code>asciidoc.conf</code> from locations 1, 2, 3.
+</p>
+</li>
+<li>
+<p>
+<em>attributes</em>, <em>titles</em> and <em>specialcharacters</em> sections from the
+ <code>asciidoc.conf</code> in location 4.
+</p>
+</li>
+<li>
+<p>
+The document header is parsed at this point and we can assume the
+ <em>backend</em> and <em>doctype</em> have now been defined.
+</p>
+</li>
+<li>
+<p>
+Backend plugin <code>&lt;backend&gt;.conf</code> and <code>&lt;backend&gt;-&lt;doctype&gt;.conf</code> files
+ from locations 6. If a backend plugin is not found then try
+ locations 1, 2 and 3 for <code>&lt;backend&gt;.conf</code> and
+ <code>&lt;backend&gt;-&lt;doctype&gt;.conf</code> backend configuration files.
+</p>
+</li>
+<li>
+<p>
+Filter conf files from locations 7.
+</p>
+</li>
+<li>
+<p>
+<code>lang-&lt;lang&gt;.conf</code> from locations 1, 2, 3.
+</p>
+</li>
+<li>
+<p>
+<code>asciidoc.conf</code> from location 4.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;backend&gt;.conf</code> and <code>&lt;backend&gt;-&lt;doctype&gt;.conf</code> from location 4.
+</p>
+</li>
+<li>
+<p>
+Filter conf files from location 4.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;docfile&gt;.conf</code> and <code>&lt;docfile&gt;-&lt;backend&gt;.conf</code> from location 4.
+</p>
+</li>
+<li>
+<p>
+Configuration files from location 5.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Where:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<code>&lt;backend&gt;</code> and <code>&lt;doctype&gt;</code> are values specified by the asciidoc(1)
+ <code>-b</code> (<code>--backend</code>) and <code>-d</code> (<code>--doctype</code>) command-line options.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;infile&gt;</code> is the path name of the AsciiDoc input file without the
+ file name extension.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;lang&gt;</code> is a two letter country code set by the the AsciiDoc <em>lang</em>
+ attribute.
+</p>
+</li>
+</ul></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">
+<div class="paragraph"><p>The backend and language global configuration files are loaded <strong>after</strong>
+the header has been parsed. This means that you can set most
+attributes in the document header. Here&#8217;s an example header:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Life's Mysteries
+================
+:author: Hu Nose
+:doctype: book
+:toc:
+:icons:
+:data-uri:
+:lang: en
+:encoding: iso-8859-1</code></pre>
+</div></div>
+<div class="paragraph"><p>Attributes set in the document header take precedence over
+configuration file attributes.</p></div>
+</td>
+</tr></table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">Use the asciidoc(1) <code>-v</code> (<code>--verbose</code>) command-line option to see
+which configuration files are loaded and the order in which they are
+loaded.</td>
+</tr></table>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_document_attributes">27. Document Attributes</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>A document attribute is comprised of a <em>name</em> and a textual <em>value</em>
+and is used for textual substitution in AsciiDoc documents and
+configuration files. An attribute reference (an attribute name
+enclosed in braces) is replaced by the corresponding attribute
+value. Attribute names are case insensitive and can only contain
+alphanumeric, dash and underscore characters.</p></div>
+<div class="paragraph"><p>There are four sources of document attributes (from highest to lowest
+precedence):</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Command-line attributes.
+</p>
+</li>
+<li>
+<p>
+AttributeEntry, AttributeList, Macro and BlockId elements.
+</p>
+</li>
+<li>
+<p>
+Configuration file <code>[attributes]</code> sections.
+</p>
+</li>
+<li>
+<p>
+Intrinsic attributes.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Within each of these divisions the last processed entry takes
+precedence.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">If an attribute is not defined then the line containing the
+attribute reference is dropped. This property is used extensively in
+AsciiDoc configuration files to facilitate conditional markup
+generation.</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X18">28. Attribute Entries</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The <code>AttributeEntry</code> block element allows document attributes to be
+assigned within an AsciiDoc document. Attribute entries are added to
+the global document attributes dictionary. The attribute name/value
+syntax is a single line like:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>:&lt;name&gt;: &lt;value&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>:Author Initials: JB</code></pre>
+</div></div>
+<div class="paragraph"><p>This will set an attribute reference <code>{authorinitials}</code> to the value
+<em>JB</em> in the current document.</p></div>
+<div class="paragraph"><p>To delete (undefine) an attribute use the following syntax:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>:&lt;name&gt;!:</code></pre>
+</div></div>
+<div class="ulist"><div class="title">AttributeEntry behavior</div><ul>
+<li>
+<p>
+The attribute entry line begins with colon&#8201;&#8212;&#8201;no white space allowed
+ in left margin.
+</p>
+</li>
+<li>
+<p>
+AsciiDoc converts the <code>&lt;name&gt;</code> to a legal attribute name (lower
+ case, alphanumeric, dash and underscore characters only&#8201;&#8212;&#8201;all other
+ characters deleted). This allows more human friendly text to be
+ used.
+</p>
+</li>
+<li>
+<p>
+Leading and trailing white space is stripped from the <code>&lt;value&gt;</code>.
+</p>
+</li>
+<li>
+<p>
+Lines ending in a space followed by a plus character are continued
+ to the next line, for example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>:description: AsciiDoc is a text document format for writing notes, +
+ documentation, articles, books, slideshows, web pages +
+ and man pages.</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+If the <code>&lt;value&gt;</code> is blank then the corresponding attribute value is
+ set to an empty string.
+</p>
+</li>
+<li>
+<p>
+Attribute references contained in the entry <code>&lt;value&gt;</code> will be
+ expanded.
+</p>
+</li>
+<li>
+<p>
+By default AttributeEntry values are substituted for
+ <code>specialcharacters</code> and <code>attributes</code> (see above), if you want to
+ change or disable AttributeEntry substitution use the <a href="#X77">pass:[] inline macro</a> syntax.
+</p>
+</li>
+<li>
+<p>
+Attribute entries in the document Header are available for header
+ markup template substitution.
+</p>
+</li>
+<li>
+<p>
+Attribute elements override configuration file and intrinsic
+ attributes but do not override command-line attributes.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Here are some more attribute entry examples:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>AsciiDoc User Manual
+====================
+:author: Stuart Rackham
+:email: srackham@gmail.com
+:revdate: April 23, 2004
+:revnumber: 5.1.1</code></pre>
+</div></div>
+<div class="paragraph"><p>Which creates these attributes:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>{author}, {firstname}, {lastname}, {authorinitials}, {email},
+{revdate}, {revnumber}</code></pre>
+</div></div>
+<div class="paragraph"><p>The previous example is equivalent to this <a href="#X95">document header</a>:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>AsciiDoc User Manual
+====================
+Stuart Rackham &lt;srackham@gmail.com&gt;
+5.1.1, April 23, 2004</code></pre>
+</div></div>
+<div class="sect2">
+<h3 id="_setting_configuration_entries">28.1. Setting configuration entries</h3>
+<div class="paragraph"><p>A variant of the Attribute Entry syntax allows configuration file
+section entries and markup template sections to be set from within an
+AsciiDoc document:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>:&lt;section_name&gt;.[&lt;entry_name&gt;]: &lt;entry_value&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>Where <code>&lt;section_name&gt;</code> is the configuration section name,
+<code>&lt;entry_name&gt;</code> is the name of the entry and <code>&lt;entry_value&gt;</code> is the
+optional entry value. This example sets the default labeled list
+style to <em>horizontal</em>:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>:listdef-labeled.style: horizontal</code></pre>
+</div></div>
+<div class="paragraph"><p>It is exactly equivalent to a configuration file containing:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[listdef-labeled]
+style=horizontal</code></pre>
+</div></div>
+<div class="ulist"><ul>
+<li>
+<p>
+If the <code>&lt;entry_name&gt;</code> is omitted then the entire section is
+ substituted with the <code>&lt;entry_value&gt;</code>. This feature should only be
+ used to set markup template sections. The following example sets the
+ <em>xref2</em> inline macro markup template:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>:xref2-inlinemacro.: &lt;a href="#{1}"&gt;{2?{2}}&lt;/a&gt;</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+No substitution is performed on configuration file attribute entries
+ and they cannot be undefined.
+</p>
+</li>
+<li>
+<p>
+This feature can only be used in attribute entries&#8201;&#8212;&#8201;configuration
+ attributes cannot be set using the asciidoc(1) command <code>--attribute</code>
+ option.
+</p>
+</li>
+</ul></div>
+<div class="sidebarblock" id="X62">
+<div class="content">
+<div class="title">Attribute entries promote clarity and eliminate repetition</div>
+<div class="paragraph"><p>URLs and file names in AsciiDoc macros are often quite long&#8201;&#8212;&#8201;they
+break paragraph flow and readability suffers. The problem is
+compounded by redundancy if the same name is used repeatedly.
+Attribute entries can be used to make your documents easier to read
+and write, here are some examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>:1: http://freshmeat.net/projects/asciidoc/
+:homepage: http://asciidoc.org[AsciiDoc home page]
+:new: image:./images/smallnew.png[]
+:footnote1: footnote:[A meaningless latin term]</code></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Using previously defined attributes: See the {1}[Freshmeat summary]
+or the {homepage} for something new {new}. Lorem ispum {footnote1}.</code></pre>
+</div></div>
+<div class="ulist"><div class="title">Note</div><ul>
+<li>
+<p>
+The attribute entry definition must precede it&#8217;s usage.
+</p>
+</li>
+<li>
+<p>
+You are not limited to URLs or file names, entire macro calls or
+ arbitrary lines of text can be abbreviated.
+</p>
+</li>
+<li>
+<p>
+Shared attributes entries could be grouped into a separate file and
+ <a href="#X63">included</a> in multiple documents.
+</p>
+</li>
+</ul></div>
+</div></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X21">29. Attribute Lists</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+An attribute list is a comma separated list of attribute values.
+</p>
+</li>
+<li>
+<p>
+The entire list is enclosed in square brackets.
+</p>
+</li>
+<li>
+<p>
+Attribute lists are used to pass parameters to macros, blocks (using
+ the <a href="#X79">AttributeList element</a>) and inline quotes.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>The list consists of zero or more positional attribute values followed
+by zero or more named attribute values. Here are three examples: a
+single unquoted positional attribute; three unquoted positional
+attribute values; one positional attribute followed by two named
+attributes; the unquoted attribute value in the final example contains
+comma (<code>&amp;#44;</code>) and double-quote (<code>&amp;#34;</code>) character entities:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[Hello]
+[quote, Bertrand Russell, The World of Mathematics (1956)]
+["22 times", backcolor="#0e0e0e", options="noborders,wide"]
+[A footnote&amp;#44; &amp;#34;with an image&amp;#34; image:smallnew.png[]]</code></pre>
+</div></div>
+<div class="ulist"><div class="title">Attribute list behavior</div><ul>
+<li>
+<p>
+If one or more attribute values contains a comma the all string
+ values must be quoted (enclosed in double quotation mark
+ characters).
+</p>
+</li>
+<li>
+<p>
+If the list contains any named or quoted attributes then all string
+ attribute values must be quoted.
+</p>
+</li>
+<li>
+<p>
+To include a double quotation mark (") character in a quoted
+ attribute value the the quotation mark must be escaped with a
+ backslash.
+</p>
+</li>
+<li>
+<p>
+List attributes take precedence over existing attributes.
+</p>
+</li>
+<li>
+<p>
+List attributes can only be referenced in configuration file markup
+ templates and tags, they are not available elsewhere in the
+ document.
+</p>
+</li>
+<li>
+<p>
+Setting a named attribute to <code>None</code> undefines the attribute.
+</p>
+</li>
+<li>
+<p>
+Positional attributes are referred to as <code>{1}</code>,<code>{2}</code>,<code>{3}</code>,&#8230;
+</p>
+</li>
+<li>
+<p>
+Attribute <code>{0}</code> refers to the entire list (excluding the enclosing
+ square brackets).
+</p>
+</li>
+<li>
+<p>
+Named attribute names cannot contain dash characters.
+</p>
+</li>
+</ul></div>
+<div class="sect2">
+<h3 id="X75">29.1. Options attribute</h3>
+<div class="paragraph"><p>If the attribute list contains an attribute named <code>options</code> it is
+processed as a comma separated list of option names:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Each name generates an attribute named like <code>&lt;option&gt;-option</code> (where
+ <code>&lt;option&gt;</code> is the option name) with an empty string value. For
+ example <code>[options="opt1,opt2,opt3"]</code> is equivalent to setting the
+ following three attributes
+ <code>[opt1-option="",opt2-option="",opt2-option=""]</code>.
+</p>
+</li>
+<li>
+<p>
+If you define a an option attribute globally (for example with an
+ <a href="#X18">attribute entry</a>) then it will apply to all elements in the
+ document.
+</p>
+</li>
+<li>
+<p>
+AsciiDoc implements a number of predefined options which are listed
+ in the <a href="#X74">Attribute Options appendix</a>.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_macro_attribute_lists">29.2. Macro Attribute lists</h3>
+<div class="paragraph"><p>Macros calls are suffixed with an attribute list. The list may be
+empty but it cannot be omitted. List entries are used to pass
+attribute values to macro markup templates.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_attribute_references">30. Attribute References</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>An attribute reference is an attribute name (possibly followed by an
+additional parameters) enclosed in curly braces. When an attribute
+reference is encountered it is evaluated and replaced by its
+corresponding text value. If the attribute is undefined the line
+containing the attribute is dropped.</p></div>
+<div class="paragraph"><p>There are three types of attribute reference: <em>Simple</em>, <em>Conditional</em>
+and <em>System</em>.</p></div>
+<div class="ulist"><div class="title">Attribute reference evaluation</div><ul>
+<li>
+<p>
+You can suppress attribute reference expansion by placing a
+ backslash character immediately in front of the opening brace
+ character.
+</p>
+</li>
+<li>
+<p>
+By default attribute references are not expanded in
+ <em>LiteralParagraphs</em>, <em>ListingBlocks</em> or <em>LiteralBlocks</em>.
+</p>
+</li>
+<li>
+<p>
+Attribute substitution proceeds line by line in reverse line order.
+</p>
+</li>
+<li>
+<p>
+Attribute reference evaluation is performed in the following order:
+ <em>Simple</em> then <em>Conditional</em> and finally <em>System</em>.
+</p>
+</li>
+</ul></div>
+<div class="sect2">
+<h3 id="_simple_attributes_references">30.1. Simple Attributes References</h3>
+<div class="paragraph"><p>Simple attribute references take the form <code>{&lt;name&gt;}</code>. If the
+attribute name is defined its text value is substituted otherwise the
+line containing the reference is dropped from the output.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_conditional_attribute_references">30.2. Conditional Attribute References</h3>
+<div class="paragraph"><p>Additional parameters are used in conjunction with attribute names to
+calculate a substitution value. Conditional attribute references take
+the following forms:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>{&lt;names&gt;=&lt;value&gt;}</code>
+</dt>
+<dd>
+<p>
+ <code>&lt;value&gt;</code> is substituted if the attribute <code>&lt;names&gt;</code> is
+ undefined otherwise its value is substituted. <code>&lt;value&gt;</code> can
+ contain simple attribute references.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{&lt;names&gt;?&lt;value&gt;}</code>
+</dt>
+<dd>
+<p>
+ <code>&lt;value&gt;</code> is substituted if the attribute <code>&lt;names&gt;</code> is defined
+ otherwise an empty string is substituted. <code>&lt;value&gt;</code> can
+ contain simple attribute references.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{&lt;names&gt;!&lt;value&gt;}</code>
+</dt>
+<dd>
+<p>
+ <code>&lt;value&gt;</code> is substituted if the attribute <code>&lt;names&gt;</code> is
+ undefined otherwise an empty string is substituted. <code>&lt;value&gt;</code>
+ can contain simple attribute references.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{&lt;names&gt;#&lt;value&gt;}</code>
+</dt>
+<dd>
+<p>
+ <code>&lt;value&gt;</code> is substituted if the attribute <code>&lt;names&gt;</code> is defined
+ otherwise the undefined attribute entry causes the containing
+ line to be dropped. <code>&lt;value&gt;</code> can contain simple attribute
+ references.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{&lt;names&gt;%&lt;value&gt;}</code>
+</dt>
+<dd>
+<p>
+ <code>&lt;value&gt;</code> is substituted if the attribute <code>&lt;names&gt;</code> is not
+ defined otherwise the containing line is dropped. <code>&lt;value&gt;</code>
+ can contain simple attribute references.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{&lt;names&gt;@&lt;regexp&gt;:&lt;value1&gt;[:&lt;value2&gt;]}</code>
+</dt>
+<dd>
+<p>
+ <code>&lt;value1&gt;</code> is substituted if the value of attribute <code>&lt;names&gt;</code>
+ matches the regular expression <code>&lt;regexp&gt;</code> otherwise <code>&lt;value2&gt;</code>
+ is substituted. If attribute <code>&lt;names&gt;</code> is not defined the
+ containing line is dropped. If <code>&lt;value2&gt;</code> is omitted an empty
+ string is assumed. The values and the regular expression can
+ contain simple attribute references. To embed colons in the
+ values or the regular expression escape them with backslashes.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{&lt;names&gt;$&lt;regexp&gt;:&lt;value1&gt;[:&lt;value2&gt;]}</code>
+</dt>
+<dd>
+<p>
+ Same behavior as the previous ternary attribute except for
+ the following cases:
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>{&lt;names&gt;$&lt;regexp&gt;:&lt;value&gt;}</code>
+</dt>
+<dd>
+<p>
+ Substitutes <code>&lt;value&gt;</code> if <code>&lt;names&gt;</code> matches <code>&lt;regexp&gt;</code>
+ otherwise the result is undefined and the containing
+ line is dropped.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{&lt;names&gt;$&lt;regexp&gt;::&lt;value&gt;}</code>
+</dt>
+<dd>
+<p>
+ Substitutes <code>&lt;value&gt;</code> if <code>&lt;names&gt;</code> does not match
+ <code>&lt;regexp&gt;</code> otherwise the result is undefined and the
+ containing line is dropped.
+</p>
+</dd>
+</dl></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p>The attribute <code>&lt;names&gt;</code> parameter normally consists of a single
+attribute name but it can be any one of the following:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+A single attribute name which evaluates to the attributes value.
+</p>
+</li>
+<li>
+<p>
+Multiple <em>,</em> separated attribute names which evaluates to an empty
+ string if one or more of the attributes is defined, otherwise it&#8217;s
+ value is undefined.
+</p>
+</li>
+<li>
+<p>
+Multiple <em>+</em> separated attribute names which evaluates to an empty
+ string if all of the attributes are defined, otherwise it&#8217;s value is
+ undefined.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Conditional attributes with single attribute names are evaluated first
+so they can be used inside the multi-attribute conditional <code>&lt;value&gt;</code>.</p></div>
+<div class="sect3">
+<h4 id="_conditional_attribute_examples">30.2.1. Conditional attribute examples</h4>
+<div class="paragraph"><p>Conditional attributes are mainly used in AsciiDoc configuration
+files&#8201;&#8212;&#8201;see the distribution <code>.conf</code> files for examples.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+Attribute equality test
+</dt>
+<dd>
+<p>
+ If <code>{backend}</code> is <em>docbook45</em> or <em>xhtml11</em> the example evaluates to
+ &#8220;DocBook 4.5 or XHTML 1.1 backend&#8221; otherwise it evaluates to
+ &#8220;some other backend&#8221;:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>{backend@docbook45|xhtml11:DocBook 4.5 or XHTML 1.1 backend:some other backend}</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+Attribute value map
+</dt>
+<dd>
+<p>
+ This example maps the <code>frame</code> attribute values [<code>topbot</code>, <code>all</code>,
+ <code>none</code>, <code>sides</code>] to [<code>hsides</code>, <code>border</code>, <code>void</code>, <code>vsides</code>]:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>{frame@topbot:hsides}{frame@all:border}{frame@none:void}{frame@sides:vsides}</code></pre>
+</div></div>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="X24">30.3. System Attribute References</h3>
+<div class="paragraph"><p>System attribute references generate the attribute text value by
+executing a predefined action that is parametrized by one or more
+arguments. The syntax is <code>{&lt;action&gt;:&lt;arguments&gt;}</code>.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>{counter:&lt;attrname&gt;[:&lt;seed&gt;]}</code>
+</dt>
+<dd>
+<p>
+ Increments the document attribute (if the attribute is
+ undefined it is set to <code>1</code>). Returns the new attribute value.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Counters generate global (document wide) attributes.
+</p>
+</li>
+<li>
+<p>
+The optional <code>&lt;seed&gt;</code> specifies the counter&#8217;s initial value;
+ it can be a number or a single letter; defaults to <em>1</em>.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;seed&gt;</code> can contain simple and conditional attribute
+ references.
+</p>
+</li>
+<li>
+<p>
+The <em>counter</em> system attribute will not be executed if the
+ containing line is dropped by the prior evaluation of an
+ undefined attribute.
+</p>
+</li>
+</ul></div>
+</dd>
+<dt class="hdlist1">
+<code>{counter2:&lt;attrname&gt;[:&lt;seed&gt;]}</code>
+</dt>
+<dd>
+<p>
+ Same as <code>counter</code> except the it always returns a blank string.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{eval:&lt;expression&gt;}</code>
+</dt>
+<dd>
+<p>
+ Substitutes the result of the Python <code>&lt;expression&gt;</code>.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+If <code>&lt;expression&gt;</code> evaluates to <code>None</code> or <code>False</code> the
+ reference is deemed undefined and the line containing the
+ reference is dropped from the output.
+</p>
+</li>
+<li>
+<p>
+If the expression evaluates to <code>True</code> the attribute
+ evaluates to an empty string.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;expression&gt;</code> can contain simple and conditional attribute
+ references.
+</p>
+</li>
+<li>
+<p>
+The <em>eval</em> system attribute can be nested inside other
+ system attributes.
+</p>
+</li>
+</ul></div>
+</dd>
+<dt class="hdlist1">
+<code>{eval3:&lt;command&gt;}</code>
+</dt>
+<dd>
+<p>
+ Passthrough version of <code>{eval:&lt;expression&gt;}</code>&#8201;&#8212;&#8201;the generated
+ output is written directly to the output without any further
+ substitutions.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{include:&lt;filename&gt;}</code>
+</dt>
+<dd>
+<p>
+ Substitutes contents of the file named <code>&lt;filename&gt;</code>.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+The included file is read at the time of attribute
+ substitution.
+</p>
+</li>
+<li>
+<p>
+If the file does not exist a warning is emitted and the line
+ containing the reference is dropped from the output file.
+</p>
+</li>
+<li>
+<p>
+Tabs are expanded based on the current <em>tabsize</em> attribute
+ value.
+</p>
+</li>
+</ul></div>
+</dd>
+<dt class="hdlist1">
+<code>{set:&lt;attrname&gt;[!][:&lt;value&gt;]}</code>
+</dt>
+<dd>
+<p>
+ Sets or unsets document attribute. Normally only used in
+ configuration file markup templates (use
+ <a href="#X18">AttributeEntries</a> in AsciiDoc documents).
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+If the attribute name is followed by an exclamation mark
+ the attribute becomes undefined.
+</p>
+</li>
+<li>
+<p>
+If <code>&lt;value&gt;</code> is omitted the attribute is set to a blank
+ string.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;value&gt;</code> can contain simple and conditional attribute
+ references.
+</p>
+</li>
+<li>
+<p>
+Returns a blank string unless the attribute is undefined in
+ which case the return value is undefined and the enclosing
+ line will be dropped.
+</p>
+</li>
+</ul></div>
+</dd>
+<dt class="hdlist1">
+<code>{set2:&lt;attrname&gt;[!][:&lt;value&gt;]}</code>
+</dt>
+<dd>
+<p>
+ Same as <code>set</code> except that the attribute scope is local to the
+ template.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{sys:&lt;command&gt;}</code>
+</dt>
+<dd>
+<p>
+ Substitutes the stdout generated by the execution of the shell
+ <code>&lt;command&gt;</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{sys2:&lt;command&gt;}</code>
+</dt>
+<dd>
+<p>
+ Substitutes the stdout and stderr generated by the execution
+ of the shell <code>&lt;command&gt;</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{sys3:&lt;command&gt;}</code>
+</dt>
+<dd>
+<p>
+ Passthrough version of <code>{sys:&lt;command&gt;}</code>&#8201;&#8212;&#8201;the generated
+ output is written directly to the output without any further
+ substitutions.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{template:&lt;template&gt;}</code>
+</dt>
+<dd>
+<p>
+ Substitutes the contents of the configuration file section
+ named <code>&lt;template&gt;</code>. Attribute references contained in the
+ template are substituted.
+</p>
+</dd>
+</dl></div>
+<div class="ulist"><div class="title">System reference behavior</div><ul>
+<li>
+<p>
+System attribute arguments can contain non-system attribute
+ references.
+</p>
+</li>
+<li>
+<p>
+Closing brace characters inside system attribute arguments must be
+ escaped with a backslash.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X60">31. Intrinsic Attributes</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Intrinsic attributes are simple attributes that are created
+automatically from: AsciiDoc document header parameters; asciidoc(1)
+command-line arguments; attributes defined in the default
+configuration files; the execution context. Here&#8217;s the list of
+predefined intrinsic attributes:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>{amp} ampersand (&amp;) character entity
+{asciidoc-args} used to pass inherited arguments to asciidoc filters
+{asciidoc-confdir} the asciidoc(1) global configuration directory
+{asciidoc-dir} the asciidoc(1) application directory
+{asciidoc-file} the full path name of the asciidoc(1) script
+{asciidoc-version} the version of asciidoc(1)
+{author} author's full name
+{authored} empty string '' if {author} or {email} defined,
+{authorinitials} author initials (from document header)
+{backend-&lt;backend&gt;} empty string ''
+{&lt;backend&gt;-&lt;doctype&gt;} empty string ''
+{backend} document backend specified by `-b` option
+{backend-confdir} the directory containing the &lt;backend&gt;.conf file
+{backslash} backslash character
+{basebackend-&lt;base&gt;} empty string ''
+{basebackend} html or docbook
+{blockname} current block name (note 8).
+{brvbar} broken vertical bar (|) character
+{docdate} document last modified date (note 9)
+{docdir} document input directory name (note 5)
+{docfile} document file name (note 5)
+{docname} document file name without extension (note 6)
+{doctime} document last modified time (note 9)
+{doctitle} document title (from document header)
+{doctype-&lt;doctype&gt;} empty string ''
+{doctype} document type specified by `-d` option
+{email} author's email address (from document header)
+{empty} empty string ''
+{encoding} specifies input and output encoding
+{filetype-&lt;fileext&gt;} empty string ''
+{filetype} output file name file extension
+{firstname} author first name (from document header)
+{gt} greater than (&gt;) character entity
+{id} running block id generated by BlockId elements
+{indir} input file directory name (note 2,5)
+{infile} input file name (note 2,5)
+{lastname} author last name (from document header)
+{ldquo} Left double quote character (note 7)
+{level} title level 1..4 (in section titles)
+{listindex} the list index (1..) of the most recent list item
+{localdate} the current date (note 9)
+{localtime} the current time (note 9)
+{lsquo} Left single quote character (note 7)
+{lt} less than (&lt;) character entity
+{manname} manpage name (defined in NAME section)
+{manpurpose} manpage (defined in NAME section)
+{mantitle} document title minus the manpage volume number
+{manvolnum} manpage volume number (1..8) (from document header)
+{middlename} author middle name (from document header)
+{nbsp} non-breaking space character entity
+{notitle} do not display the document title
+{outdir} document output directory name (note 2)
+{outfile} output file name (note 2)
+{plus} plus character
+{python} the full path name of the Python interpreter executable
+{rdquo} right double quote character (note 7)
+{reftext} running block xreflabel generated by BlockId elements
+{revdate} document revision date (from document header)
+{revnumber} document revision number (from document header)
+{rsquo} right single quote character (note 7)
+{sectnum} formatted section number (in section titles)
+{sp} space character
+{showcomments} send comment lines to the output
+{title} section title (in titled elements)
+{two-colons} two colon characters
+{two-semicolons} two semicolon characters
+{user-dir} the ~/.asciidoc directory (if it exists)
+{verbose} defined as '' if --verbose command option specified
+{wj} word-joiner
+{zwsp} zero-width space character entity</code></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Intrinsic attributes are global so avoid defining custom attributes
+ with the same names.
+</p>
+</li>
+<li>
+<p>
+<code>{outfile}</code>, <code>{outdir}</code>, <code>{infile}</code>, <code>{indir}</code> attributes are
+ effectively read-only (you can set them but it won&#8217;t affect the
+ input or output file paths).
+</p>
+</li>
+<li>
+<p>
+See also the <a href="#X88">Backend Attributes</a> section for attributes
+ that relate to AsciiDoc XHTML file generation.
+</p>
+</li>
+<li>
+<p>
+The entries that translate to blank strings are designed to be used
+ for conditional text inclusion. You can also use the <code>ifdef</code>,
+ <code>ifndef</code> and <code>endif</code> System macros for conditional inclusion.
+ <span class="footnote"><br />[Conditional inclusion using <code>ifdef</code> and <code>ifndef</code> macros
+ differs from attribute conditional inclusion in that the former
+ occurs when the file is read while the latter occurs when the
+ contents are written.]<br /></span>
+</p>
+</li>
+<li>
+<p>
+<code>{docfile}</code> and <code>{docdir}</code> refer to root document specified on the
+ asciidoc(1) command-line; <code>{infile}</code> and <code>{indir}</code> refer to the
+ current input file which may be the root document or an included
+ file. When the input is being read from the standard input
+ (<code>stdin</code>) these attributes are undefined.
+</p>
+</li>
+<li>
+<p>
+If the input file is the standard input and the output file is not
+ the standard output then <code>{docname}</code> is the output file name sans
+ file extension.
+</p>
+</li>
+<li>
+<p>
+See
+ <a href="http://en.wikipedia.org/wiki/Non-English_usage_of_quotation_marks">non-English
+ usage of quotation marks</a>.
+</p>
+</li>
+<li>
+<p>
+The <code>{blockname}</code> attribute identifies the style of the current
+ block. It applies to delimited blocks, lists and tables. Here is a
+ list of <code>{blockname}</code> values (does not include filters or custom
+ block and style names):
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+delimited blocks
+</dt>
+<dd>
+<p>
+comment, sidebar, open, pass, literal, verse,
+ listing, quote, example, note, tip, important, caution, warning,
+ abstract, partintro
+</p>
+</dd>
+<dt class="hdlist1">
+lists
+</dt>
+<dd>
+<p>
+arabic, loweralpha, upperalpha, lowerroman, upperroman,
+ labeled, labeled3, labeled4, qanda, horizontal, bibliography,
+ glossary
+</p>
+</dd>
+<dt class="hdlist1">
+tables
+</dt>
+<dd>
+<p>
+table
+</p>
+</dd>
+</dl></div>
+</li>
+<li>
+<p>
+If the <code>SOURCE_DATE_EPOCH</code> environment variable is set to a UNIX
+ timestamp, then the <code>{docdate}</code>, <code>{doctime}</code>, <code>{localdate}</code>, and
+ <code>{localtime}</code> attributes are computed in the UTC time zone, with any
+ timestamps newer than <code>SOURCE_DATE_EPOCH</code> replaced by
+ <code>SOURCE_DATE_EPOCH</code>. (This helps software using AsciiDoc to build
+ reproducibly.)
+</p>
+</li>
+</ol></div>
+</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X73">32. Block Element Definitions</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The syntax and behavior of Paragraph, DelimitedBlock, List and Table
+block elements is determined by block definitions contained in
+<a href="#X7">AsciiDoc configuration file</a> sections.</p></div>
+<div class="paragraph"><p>Each definition consists of a section title followed by one or more
+section entries. Each entry defines a block parameter controlling some
+aspect of the block&#8217;s behavior. Here&#8217;s an example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[blockdef-listing]
+delimiter=^-{4,}$
+template=listingblock
+presubs=specialcharacters,callouts</code></pre>
+</div></div>
+<div class="paragraph"><p>Configuration file block definition sections are processed
+incrementally after each configuration file is loaded. Block
+definition section entries are merged into the block definition, this
+allows block parameters to be overridden and extended by later
+<a href="#X27">loading configuration files</a>.</p></div>
+<div class="paragraph"><p>AsciiDoc Paragraph, DelimitedBlock, List and Table block elements
+share a common subset of configuration file parameters:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+delimiter
+</dt>
+<dd>
+<p>
+ A Python regular expression that matches the first line of a block
+ element&#8201;&#8212;&#8201;in the case of DelimitedBlocks and Tables it also matches
+ the last line.
+</p>
+</dd>
+<dt class="hdlist1">
+template
+</dt>
+<dd>
+<p>
+ The name of the configuration file markup template section that will
+ envelope the block contents. The pipe (<em>|</em>) character is substituted
+ for the block contents. List elements use a set of (list specific)
+ tag parameters instead of a single template. The template name can
+ contain attribute references allowing dynamic template selection a
+ the time of template substitution.
+</p>
+</dd>
+<dt class="hdlist1">
+options
+</dt>
+<dd>
+<p>
+ A comma delimited list of element specific option names. In addition
+ to being used internally, options are available during markup tag
+ and template substitution as attributes with an empty string value
+ named like <code>&lt;option&gt;-option</code> (where <code>&lt;option&gt;</code> is the option name).
+ See <a href="#X74">attribute options</a> for a complete list of available
+ options.
+</p>
+</dd>
+<dt class="hdlist1">
+subs, presubs, postsubs
+</dt>
+<dd>
+<div class="ulist"><ul>
+<li>
+<p>
+<em>presubs</em> and <em>postsubs</em> are lists of comma separated substitutions that are
+ performed on the block contents. <em>presubs</em> is applied first,
+ <em>postsubs</em> (if specified) second.
+</p>
+</li>
+<li>
+<p>
+<em>subs</em> is an alias for <em>presubs</em>.
+</p>
+</li>
+<li>
+<p>
+If a <em>filter</em> is allowed (Paragraphs, DelimitedBlocks and Tables)
+ and has been specified then <em>presubs</em> and <em>postsubs</em> substitutions
+ are performed before and after the filter is run respectively.
+</p>
+</li>
+<li>
+<p>
+Allowed values: <em>specialcharacters</em>, <em>quotes</em>, <em>specialwords</em>,
+ <em>replacements</em>, <em>macros</em>, <em>attributes</em>, <em>callouts</em>.
+</p>
+</li>
+<li>
+<p>
+<a id="X102"></a>The following composite values are also allowed:
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<em>none</em>
+</dt>
+<dd>
+<p>
+ No substitutions.
+</p>
+</dd>
+<dt class="hdlist1">
+<em>normal</em>
+</dt>
+<dd>
+<p>
+ The following substitutions in the following order:
+ <em>specialcharacters</em>, <em>quotes</em>, <em>attributes</em>, <em>specialwords</em>,
+ <em>replacements</em>, <em>macros</em>, <em>replacements2</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+<em>verbatim</em>
+</dt>
+<dd>
+<p>
+ The following substitutions in the following order:
+ <em>specialcharacters</em> and <em>callouts</em>.
+</p>
+</dd>
+</dl></div>
+</li>
+<li>
+<p>
+<em>normal</em> and <em>verbatim</em> substitutions can be redefined by with
+ <code>subsnormal</code> and <code>subsverbatim</code> entries in a configuration file
+ <code>[miscellaneous]</code> section.
+</p>
+</li>
+<li>
+<p>
+The substitutions are processed in the order in which they are
+ listed and can appear more than once.
+</p>
+</li>
+</ul></div>
+</dd>
+<dt class="hdlist1">
+filter
+</dt>
+<dd>
+<p>
+ This optional entry specifies an executable shell command for
+ processing block content (Paragraphs, DelimitedBlocks and Tables).
+ The filter command can contain attribute references.
+</p>
+</dd>
+<dt class="hdlist1">
+posattrs
+</dt>
+<dd>
+<p>
+ Optional comma separated list of positional attribute names. This
+ list maps positional attributes (in the block&#8217;s <a href="#X21">attribute list</a>) to named block attributes. The following example, from the
+ QuoteBlock definition, maps the first and section positional
+ attributes:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>posattrs=attribution,citetitle</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+style
+</dt>
+<dd>
+<p>
+ This optional parameter specifies the default style name.
+</p>
+</dd>
+<dt class="hdlist1">
+&lt;stylename&gt;-style
+</dt>
+<dd>
+<p>
+ Optional style definition (see <a href="#X23">Styles</a> below).
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>The following block parameters behave like document attributes and can
+be set in block attribute lists and style definitions: <em>template</em>,
+<em>options</em>, <em>subs</em>, <em>presubs</em>, <em>postsubs</em>, <em>filter</em>.</p></div>
+<div class="sect2">
+<h3 id="X23">32.1. Styles</h3>
+<div class="paragraph"><p>A style is a set of block parameter bundled as a single named
+parameter. The following example defines a style named <em>verbatim</em>:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>verbatim-style=template="literalblock",subs="verbatim"</code></pre>
+</div></div>
+<div class="paragraph"><p>If a block&#8217;s <a href="#X21">attribute list</a> contains a <em>style</em> attribute then
+the corresponding style parameters are be merged into the default
+block definition parameters.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+All style parameter names must be suffixed with <code>-style</code> and the
+ style parameter value is in the form of a list of <a href="#X21">named attributes</a>.
+</p>
+</li>
+<li>
+<p>
+The <em>template</em> style parameter is mandatory, other parameters can be
+ omitted in which case they inherit their values from the default
+ block definition parameters.
+</p>
+</li>
+<li>
+<p>
+Multi-item style parameters (<em>subs</em>,<em>presubs</em>,<em>postsubs</em>,<em>posattrs</em>)
+ must be specified using Python tuple syntax (rather than a simple
+ list of values as they in separate entries) e.g.
+ <code>postsubs=("callouts",)</code> not <code>postsubs="callouts"</code>.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_paragraphs_2">32.2. Paragraphs</h3>
+<div class="paragraph"><p>Paragraph translation is controlled by <code>[paradef-*]</code> configuration
+file section entries. Users can define new types of paragraphs and
+modify the behavior of existing types by editing AsciiDoc
+configuration files.</p></div>
+<div class="paragraph"><p>Here is the shipped Default paragraph definition:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[paradef-default]
+delimiter=(?P&lt;text&gt;\S.*)
+template=paragraph</code></pre>
+</div></div>
+<div class="paragraph"><p>The normal paragraph definition has a couple of special properties:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+It must exist and be defined in a configuration file section named
+ <code>[paradef-default]</code>.
+</p>
+</li>
+<li>
+<p>
+Irrespective of its position in the configuration files default
+ paragraph document matches are attempted only after trying all
+ other paragraph types.
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>Paragraph specific block parameter notes:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+delimiter
+</dt>
+<dd>
+<p>
+ This regular expression must contain the named group <em>text</em> which
+ matches the text on the first line. Paragraphs are terminated by a
+ blank line, the end of file, or the start of a DelimitedBlock.
+</p>
+</dd>
+<dt class="hdlist1">
+options
+</dt>
+<dd>
+<p>
+ The <em>listelement</em> option specifies that paragraphs of this type will
+ automatically be considered part of immediately preceding list
+ items. The <em>skip</em> option causes the paragraph to be treated as a
+ comment (see <a href="#X26">CommentBlocks</a>).
+</p>
+</dd>
+</dl></div>
+<div class="olist arabic"><div class="title">Paragraph processing proceeds as follows:</div><ol class="arabic">
+<li>
+<p>
+The paragraph text is aligned to the left margin.
+</p>
+</li>
+<li>
+<p>
+Optional <em>presubs</em> inline substitutions are performed on the
+ paragraph text.
+</p>
+</li>
+<li>
+<p>
+If a filter command is specified it is executed and the paragraph
+ text piped to its standard input; the filter output replaces the
+ paragraph text.
+</p>
+</li>
+<li>
+<p>
+Optional <em>postsubs</em> inline substitutions are performed on the
+ paragraph text.
+</p>
+</li>
+<li>
+<p>
+The paragraph text is enveloped by the paragraph&#8217;s markup template
+ and written to the output file.
+</p>
+</li>
+</ol></div>
+</div>
+<div class="sect2">
+<h3 id="_delimited_blocks">32.3. Delimited Blocks</h3>
+<div class="paragraph"><p>DelimitedBlock <em>options</em> values are:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+sectionbody
+</dt>
+<dd>
+<p>
+ The block contents are processed as a SectionBody.
+</p>
+</dd>
+<dt class="hdlist1">
+skip
+</dt>
+<dd>
+<p>
+ The block is treated as a comment (see <a href="#X26">CommentBlocks</a>).
+ Preceding <a href="#X21">attribute lists</a> and <a href="#X42">block titles</a> are not
+ consumed.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p><em>presubs</em>, <em>postsubs</em> and <em>filter</em> entries are ignored when
+<em>sectionbody</em> or <em>skip</em> options are set.</p></div>
+<div class="paragraph"><p>DelimitedBlock processing proceeds as follows:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Optional <em>presubs</em> substitutions are performed on the block
+ contents.
+</p>
+</li>
+<li>
+<p>
+If a filter is specified it is executed and the block&#8217;s contents
+ piped to its standard input. The filter output replaces the block
+ contents.
+</p>
+</li>
+<li>
+<p>
+Optional <em>postsubs</em> substitutions are performed on the block
+ contents.
+</p>
+</li>
+<li>
+<p>
+The block contents is enveloped by the block&#8217;s markup template and
+ written to the output file.
+</p>
+</li>
+</ol></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">Attribute expansion is performed on the block filter command
+before it is executed, this is useful for passing arguments to the
+filter.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_lists">32.4. Lists</h3>
+<div class="paragraph"><p>List behavior and syntax is determined by <code>[listdef-*]</code> configuration
+file sections. The user can change existing list behavior and add new
+list types by editing configuration files.</p></div>
+<div class="paragraph"><p>List specific block definition notes:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+type
+</dt>
+<dd>
+<p>
+ This is either <em>bulleted</em>,<em>numbered</em>,<em>labeled</em> or <em>callout</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+delimiter
+</dt>
+<dd>
+<p>
+ A Python regular expression that matches the first line of a
+ list element entry. This expression can contain the named groups
+ <em>text</em> (bulleted groups), <em>index</em> and <em>text</em> (numbered lists),
+ <em>label</em> and <em>text</em> (labeled lists).
+</p>
+</dd>
+<dt class="hdlist1">
+tags
+</dt>
+<dd>
+<p>
+ The <code>&lt;name&gt;</code> of the <code>[listtags-&lt;name&gt;]</code> configuration file section
+ containing list markup tag definitions. The tag entries (<em>list</em>,
+ <em>entry</em>, <em>label</em>, <em>term</em>, <em>text</em>) map the AsciiDoc list structure to
+ backend markup; see the <em>listtags</em> sections in the AsciiDoc
+ distributed backend <code>.conf</code> configuration files for examples.
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_tables_2">32.5. Tables</h3>
+<div class="paragraph"><p>Table behavior and syntax is determined by <code>[tabledef-*]</code> and
+<code>[tabletags-*]</code> configuration file sections. The user can change
+existing table behavior and add new table types by editing
+configuration files. The following <code>[tabledef-*]</code> section entries
+generate table output markup elements:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+colspec
+</dt>
+<dd>
+<p>
+ The table <em>colspec</em> tag definition.
+</p>
+</dd>
+<dt class="hdlist1">
+headrow, footrow, bodyrow
+</dt>
+<dd>
+<p>
+ Table header, footer and body row tag definitions. <em>headrow</em> and
+ <em>footrow</em> table definition entries default to <em>bodyrow</em> if
+ they are undefined.
+</p>
+</dd>
+<dt class="hdlist1">
+headdata, footdata, bodydata
+</dt>
+<dd>
+<p>
+ Table header, footer and body data tag definitions. <em>headdata</em> and
+ <em>footdata</em> table definition entries default to <em>bodydata</em> if they
+ are undefined.
+</p>
+</dd>
+<dt class="hdlist1">
+paragraph
+</dt>
+<dd>
+<p>
+ If the <em>paragraph</em> tag is specified then blank lines in the cell
+ data are treated as paragraph delimiters and marked up using this
+ tag.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph" id="X4"><p>Table behavior is also influenced by the following <code>[miscellaneous]</code>
+configuration file entries:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+pagewidth
+</dt>
+<dd>
+<p>
+ This integer value is the printable width of the output media. See
+ <a href="#X69">table attributes</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+pageunits
+</dt>
+<dd>
+<p>
+ The units of width in output markup width attribute values.
+</p>
+</dd>
+</dl></div>
+<div class="ulist"><div class="title">Table definition behavior</div><ul>
+<li>
+<p>
+The output markup generation is specifically designed to work with
+ the HTML and CALS (DocBook) table models, but should be adaptable to
+ most XML table schema.
+</p>
+</li>
+<li>
+<p>
+Table definitions can be &#8220;mixed in&#8221; from multiple cascading
+ configuration files.
+</p>
+</li>
+<li>
+<p>
+New table definitions inherit the default table and table tags
+ definitions (<code>[tabledef-default]</code> and <code>[tabletags-default]</code>) so you
+ only need to override those conf file entries that require
+ modification.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X59">33. Filters</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc filters allow external commands to process AsciiDoc
+<em>Paragraphs</em>, <em>DelimitedBlocks</em> and <em>Table</em> content. Filters are
+primarily an extension mechanism for generating specialized outputs.
+Filters are implemented using external commands which are specified in
+configuration file definitions.</p></div>
+<div class="paragraph"><p>There&#8217;s nothing special about the filters, they&#8217;re just standard UNIX
+filters: they read text from the standard input, process it, and write
+to the standard output.</p></div>
+<div class="paragraph"><p>The asciidoc(1) command <code>--filter</code> option can be used to install and
+remove filters. The same option is used to unconditionally load a
+filter.</p></div>
+<div class="paragraph"><p>Attribute substitution is performed on the filter command prior to
+execution&#8201;&#8212;&#8201;attributes can be used to pass parameters from the
+AsciiDoc source document to the filter.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/warning.png" alt="Warning" />
+</td>
+<td class="content">Filters sometimes included executable code. Before installing
+a filter you should verify that it is from a trusted source.</td>
+</tr></table>
+</div>
+<div class="sect2">
+<h3 id="_filter_search_paths">33.1. Filter Search Paths</h3>
+<div class="paragraph"><p>If the filter command does not specify a directory path then
+asciidoc(1) recursively searches for the executable filter command:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+First it looks in the user&#8217;s <code>$HOME/.asciidoc/filters</code> directory.
+</p>
+</li>
+<li>
+<p>
+Next the global filters directory (usually <code>/etc/asciidoc/filters</code>
+ or <code>/usr/local/etc/asciidoc</code>) directory is searched.
+</p>
+</li>
+<li>
+<p>
+Then it looks in the asciidoc(1) <code>./filters</code> directory.
+</p>
+</li>
+<li>
+<p>
+Finally it relies on the executing shell to search the environment
+ search path (<code>$PATH</code>).
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Standard practice is to install each filter in it&#8217;s own sub-directory
+with the same name as the filter&#8217;s style definition. For example the
+music filter&#8217;s style name is <em>music</em> so it&#8217;s configuration and filter
+files are stored in the <code>filters/music</code> directory.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_filter_configuration_files">33.2. Filter Configuration Files</h3>
+<div class="paragraph"><p>Filters are normally accompanied by a configuration file containing a
+Paragraph or DelimitedBlock definition along with corresponding markup
+templates.</p></div>
+<div class="paragraph"><p>While it is possible to create new <em>Paragraph</em> or <em>DelimitedBlock</em>
+definitions the preferred way to implement a filter is to add a
+<a href="#X23">style</a> to the existing Paragraph and ListingBlock definitions
+(all filters shipped with AsciiDoc use this technique). The filter is
+applied to the paragraph or delimited block by preceding it with an
+attribute list: the first positional attribute is the style name,
+remaining attributes are normally filter specific parameters.</p></div>
+<div class="paragraph"><p>asciidoc(1) auto-loads all <code>.conf</code> files found in the filter search
+paths unless the container directory also contains a file named
+<code>__noautoload__</code> (see previous section). The <code>__noautoload__</code> feature
+is used for filters that will be loaded manually using the <code>--filter</code>
+option.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X56">33.3. Example Filter</h3>
+<div class="paragraph"><p>AsciiDoc comes with a toy filter for highlighting source code keywords
+and comments. See also the <code>./filters/code/code-filter-readme.txt</code>
+file.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">The purpose of this toy filter is to demonstrate how to write a
+filter&#8201;&#8212;&#8201;it&#8217;s much to simplistic to be passed off as a code syntax
+highlighter. If you want a full featured multi-language highlighter
+use the <a href="https://asciidoc.org/source-highlight-filter.html">source code highlighter
+filter</a>.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_built_in_filters">33.4. Built-in filters</h3>
+<div class="paragraph"><p>The AsciiDoc distribution includes <em>source</em>, <em>music</em>, <em>latex</em> and
+<em>graphviz</em> filters, details are on the
+<a href="https://asciidoc.org/index.html#_filters">AsciiDoc website</a>.</p></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 11. Built-in filters list</caption>
+<col width="16%" />
+<col width="83%" />
+<thead>
+<tr>
+<th align="left" valign="top">Filter name </th>
+<th align="left" valign="top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><em>music</em></p></td>
+<td align="left" valign="top"><p class="table">A <a href="https://asciidoc.org/music-filter.html">music filter</a> is included in the
+distribution <code>./filters/</code> directory. It translates music in
+<a href="http://lilypond.org/">LilyPond</a> or <a href="http://abcnotation.org.uk/">ABC</a>
+notation to standard classical notation.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>source</em></p></td>
+<td align="left" valign="top"><p class="table">A <a href="https://asciidoc.org/source-highlight-filter.html">source code highlight filter</a>
+is included in the distribution <code>./filters/</code> directory.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>latex</em></p></td>
+<td align="left" valign="top"><p class="table">The <a href="https://asciidoc.org/latex-filter.html">AsciiDoc LaTeX filter</a> translates
+LaTeX source to an image that is automatically inserted into the
+AsciiDoc output documents.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>graphviz</em></p></td>
+<td align="left" valign="top"><p class="table">Gouichi Iisaka has written a <a href="http://www.graphviz.org/">Graphviz</a>
+filter for AsciiDoc. Graphviz generates diagrams from a textual
+specification. Gouichi Iisaka&#8217;s Graphviz filter is included in the
+AsciiDoc distribution. Here are some
+<a href="https://asciidoc.org/asciidoc-graphviz-sample.html">AsciiDoc Graphviz examples</a>.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="X58">33.5. Filter plugins</h3>
+<div class="paragraph"><p>Filter <a href="#X101">plugins</a> are a mechanism for distributing AsciiDoc
+filters. A filter plugin is a Zip file containing the files that
+constitute a filter. The asciidoc(1) <code>--filter</code> option is used to
+load and manage filer <a href="#X101">plugins</a>.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Filter plugins <a href="#X27">take precedence</a> over built-in filters with
+ the same name.
+</p>
+</li>
+<li>
+<p>
+By default filter plugins are installed in
+ <code>$HOME/.asciidoc/filters/&lt;filter&gt;</code> where <code>&lt;filter&gt;</code> is the filter
+ name.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X101">34. Plugins</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The AsciiDoc plugin architecture is an extension mechanism that allows
+additional <a href="#X100">backends</a>, <a href="#X58">filters</a> and <a href="#X99">themes</a> to be
+added to AsciiDoc.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+A plugin is a Zip file containing an AsciiDoc backend, filter or
+ theme (configuration files, stylesheets, scripts, images).
+</p>
+</li>
+<li>
+<p>
+The asciidoc(1) <code>--backend</code>, <code>--filter</code> and <code>--theme</code> command-line
+ options are used to load and manage plugins. Each of these options
+ responds to the plugin management <em>install</em>, <em>list</em>, <em>remove</em> and
+ <em>build</em> commands.
+</p>
+</li>
+<li>
+<p>
+The plugin management command names are reserved and cannot be used
+ for filter, backend or theme names.
+</p>
+</li>
+<li>
+<p>
+The plugin Zip file name always begins with the backend, filter or
+ theme name.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Plugin commands and conventions are documented in the asciidoc(1) man
+page. You can find lists of plugins on the
+<a href="https://asciidoc.org/plugins.html">AsciiDoc website</a>.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X36">35. Help Commands</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The asciidoc(1) command has a <code>--help</code> option which prints help topics
+to stdout. The default topic summarizes asciidoc(1) usage:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc --help</code></pre>
+</div></div>
+<div class="paragraph"><p>To print a help topic specify the topic name as a command argument.
+Help topic names can be shortened so long as they are not ambiguous.
+Examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc --help manpage
+$ asciidoc -h m # Short version of previous example.
+$ asciidoc --help syntax
+$ asciidoc -h s # Short version of previous example.</code></pre>
+</div></div>
+<div class="sect2">
+<h3 id="_customizing_help">35.1. Customizing Help</h3>
+<div class="paragraph"><p>To change, delete or add your own help topics edit a help
+configuration file. The help file name <code>help-&lt;lang&gt;.conf</code> is based on
+the setting of the <code>lang</code> attribute, it defaults to <code>help.conf</code>
+(English). The <a href="#X27">help file location</a> will depend on whether you
+want the topics to apply to all users or just the current user.</p></div>
+<div class="paragraph"><p>The help topic files have the same named section format as other
+<a href="#X7">configuration files</a>. The <code>help.conf</code> files are stored in the
+same locations and loaded in the same order as other configuration
+files.</p></div>
+<div class="paragraph"><p>When the <code>--help</code> command-line option is specified AsciiDoc loads the
+appropriate help files and then prints the contents of the section
+whose name matches the help topic name. If a topic name is not
+specified <code>default</code> is used. You don&#8217;t need to specify the whole help
+topic name on the command-line, just enough letters to ensure it&#8217;s not
+ambiguous. If a matching help file section is not found a list of
+available topics is printed.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_tips_and_tricks">36. Tips and Tricks</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_know_your_editor">36.1. Know Your Editor</h3>
+<div class="paragraph"><p>Writing AsciiDoc documents will be a whole lot more pleasant if you
+know your favorite text editor. Learn how to indent and reformat text
+blocks, paragraphs, lists and sentences. <a href="#X20">Tips for <em>vim</em> users</a>
+follow.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X20">36.2. Vim Commands for Formatting AsciiDoc</h3>
+<div class="sect3">
+<h4 id="_text_wrap_paragraphs">36.2.1. Text Wrap Paragraphs</h4>
+<div class="paragraph"><p>Use the vim <code>:gq</code> command to reformat paragraphs. Setting the
+<em>textwidth</em> sets the right text wrap margin; for example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>:set textwidth=70</code></pre>
+</div></div>
+<div class="paragraph"><p>To reformat a paragraph:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Position the cursor at the start of the paragraph.
+</p>
+</li>
+<li>
+<p>
+Type <code>gq}</code>.
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>Execute <code>:help gq</code> command to read about the vim gq command.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">
+<div class="ulist"><ul>
+<li>
+<p>
+Assign the <code>gq}</code> command to the Q key with the <code>nnoremap Q gq}</code>
+ command or put it in your <code>~/.vimrc</code> file to so it&#8217;s always
+ available (see the <a href="#X61">Example <code>~/.vimrc</code> file</a>).
+</p>
+</li>
+<li>
+<p>
+Put <code>set</code> commands in your <code>~/.vimrc</code> file so you don&#8217;t have to
+ enter them manually.
+</p>
+</li>
+<li>
+<p>
+The Vim website (<a href="http://www.vim.org">http://www.vim.org</a>) has a wealth of resources,
+ including scripts for automated spell checking and ASCII Art
+ drawing.
+</p>
+</li>
+</ul></div>
+</td>
+</tr></table>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_format_lists">36.2.2. Format Lists</h4>
+<div class="paragraph"><p>The <code>gq</code> command can also be used to format bulleted, numbered and
+callout lists. First you need to set the <code>comments</code>, <code>formatoptions</code>
+and <code>formatlistpat</code> (see the <a href="#X61">Example <code>~/.vimrc</code> file</a>).</p></div>
+<div class="paragraph"><p>Now you can format simple lists that use dash, asterisk, period and
+plus bullets along with numbered ordered lists:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Position the cursor at the start of the list.
+</p>
+</li>
+<li>
+<p>
+Type <code>gq}</code>.
+</p>
+</li>
+</ol></div>
+</div>
+<div class="sect3">
+<h4 id="_indent_paragraphs">36.2.3. Indent Paragraphs</h4>
+<div class="paragraph"><p>Indent whole paragraphs by indenting the fist line with the desired
+indent and then executing the <code>gq}</code> command.</p></div>
+</div>
+<div class="sect3">
+<h4 id="X61">36.2.4. Example <code>~/.vimrc</code> File</h4>
+<div class="listingblock">
+<div class="content">
+<pre><code>" Use bold bright fonts.
+set background=dark
+
+" Show tabs and trailing characters.
+"set listchars=tab:»·,trail:·,eol:¬
+set listchars=tab:»·,trail:·
+set list
+
+" Reformat paragraphs and list.
+nnoremap &lt;Leader&gt;r gq}
+
+" Delete trailing white space and Dos-returns and to expand tabs to spaces.
+nnoremap &lt;Leader&gt;t :set et&lt;CR&gt;:retab!&lt;CR&gt;:%s/[\r \t]\+$//&lt;CR&gt;
+
+autocmd BufRead,BufNewFile *.txt,*.asciidoc,README,TODO,CHANGELOG,NOTES,ABOUT
+ \ setlocal autoindent expandtab tabstop=8 softtabstop=2 shiftwidth=2 filetype=asciidoc
+ \ textwidth=70 wrap formatoptions=tcqn
+ \ formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\\|^\\s*&lt;\\d\\+&gt;\\s\\+\\\\|^\\s*[a-zA-Z.]\\.\\s\\+\\\\|^\\s*[ivxIVX]\\+\\.\\s\\+
+ \ comments=s1:/*,ex:*/,://,b:#,:%,:XCOMM,fb:-,fb:*,fb:+,fb:.,fb:&gt;</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_troubleshooting">36.3. Troubleshooting</h3>
+<div class="paragraph"><p>AsciiDoc diagnostic features are detailed in the <a href="#X82">Diagnostics appendix</a>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_gotchas">36.4. Gotchas</h3>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+Incorrect character encoding
+</dt>
+<dd>
+<p>
+ If you get an error message like <code>'UTF-8' codec can't decode ...</code>
+ then you source file contains invalid UTF-8 characters&#8201;&#8212;&#8201;set the
+ AsciiDoc <a href="#X54">encoding attribute</a> for the correct character set
+ (typically ISO-8859-1 (Latin-1) for European languages).
+</p>
+</dd>
+<dt class="hdlist1">
+Invalid output
+</dt>
+<dd>
+<p>
+ AsciiDoc attempts to validate the input AsciiDoc source but makes
+ no attempt to validate the output markup, it leaves that to
+ external tools such as <code>xmllint(1)</code> (integrated into <code>a2x(1)</code>).
+ Backend validation cannot be hardcoded into AsciiDoc because
+ backends are dynamically configured. The following example
+ generates valid HTML but invalid DocBook (the DocBook <code>literal</code>
+ element cannot contain an <code>emphasis</code> element):
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>+monospaced text with an _emphasized_ word+</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+Misinterpreted text formatting
+</dt>
+<dd>
+<p>
+ You can suppress markup expansion by placing a backslash character
+ immediately in front of the element. The following example
+ suppresses inline monospaced formatting:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>\+1 for C++.</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+Overlapping text formatting
+</dt>
+<dd>
+<p>
+ Overlapping text formatting will generate illegal overlapping
+ markup tags which will result in downstream XML parsing errors.
+ Here&#8217;s an example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>Some *strong markup _that overlaps* emphasized markup_.</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+Ambiguous underlines
+</dt>
+<dd>
+<p>
+ A DelimitedBlock can immediately follow a paragraph without an
+ intervening blank line, but be careful, a single line paragraph
+ underline may be misinterpreted as a section title underline
+ resulting in a &#8220;closing block delimiter expected&#8221; error.
+</p>
+</dd>
+<dt class="hdlist1">
+Ambiguous ordered list items
+</dt>
+<dd>
+<p>
+ Lines beginning with numbers at the end of sentences will be
+ interpreted as ordered list items. The following example
+ (incorrectly) begins a new list with item number 1999:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>He was last sighted in
+1999. Since then things have moved on.</code></pre>
+</div></div>
+<div class="paragraph"><p>The <em>list item out of sequence</em> warning makes it unlikely that this
+problem will go unnoticed.</p></div>
+</dd>
+<dt class="hdlist1">
+Special characters in attribute values
+</dt>
+<dd>
+<p>
+ Special character substitution precedes attribute substitution so
+ if attribute values contain special characters you may, depending
+ on the substitution context, need to escape the special characters
+ yourself. For example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a 'orgname=Bill &amp;amp; Ben Inc.' mydoc.txt</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+Attribute lists
+</dt>
+<dd>
+<p>
+ If any named attribute entries are present then all string
+ attribute values must be quoted. For example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>["Desktop screenshot",width=32]</code></pre>
+</div></div>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="X90">36.5. Combining separate documents</h3>
+<div class="paragraph"><p>You have a number of stand-alone AsciiDoc documents that you want to
+process as a single document. Simply processing them with a series of
+<code>include</code> macros won&#8217;t work because the documents contain (level 0)
+document titles. The solution is to create a top level wrapper
+document and use the <code>leveloffset</code> attribute to push them all down one
+level. For example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>Combined Document Title
+=======================
+
+// Push titles down one level.
+:leveloffset: 1
+
+include::document1.txt[]
+
+// Return to normal title levels.
+:leveloffset: 0
+
+A Top Level Section
+-------------------
+Lorum ipsum.
+
+// Push titles down one level.
+:leveloffset: 1
+
+include::document2.txt[]
+
+include::document3.txt[]</code></pre>
+</div></div>
+<div class="paragraph"><p>The document titles in the included documents will now be processed as
+level 1 section titles, level 1 sections as level 2 sections and so
+on.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Put a blank line between the <code>include</code> macro lines to ensure the
+ title of the included document is not seen as part of the last
+ paragraph of the previous document.
+</p>
+</li>
+<li>
+<p>
+You won&#8217;t want non-title document header lines (for example, Author
+ and Revision lines) in the included files&#8201;&#8212;&#8201;conditionally exclude
+ them if they are necessary for stand-alone processing.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_processing_document_sections_separately">36.6. Processing document sections separately</h3>
+<div class="paragraph"><p>You have divided your AsciiDoc document into separate files (one per
+top level section) which are combined and processed with the following
+top level document:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>Combined Document Title
+=======================
+Joe Bloggs
+v1.0, 12-Aug-03
+
+include::section1.txt[]
+
+include::section2.txt[]
+
+include::section3.txt[]</code></pre>
+</div></div>
+<div class="paragraph"><p>You also want to process the section files as separate documents.
+This is easy because asciidoc(1) will quite happily process
+<code>section1.txt</code>, <code>section2.txt</code> and <code>section3.txt</code> separately&#8201;&#8212;&#8201;the
+resulting output documents contain the section but have no document
+title.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_processing_document_snippets">36.7. Processing document snippets</h3>
+<div class="paragraph"><p>Use the <code>-s</code> (<code>--no-header-footer</code>) command-line option to suppress
+header and footer output, this is useful if the processed output is to
+be included in another file. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -sb docbook section1.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>asciidoc(1) can be used as a filter, so you can pipe chunks of text
+through it. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ echo 'Hello *World!*' | asciidoc -s -
+&lt;div class="paragraph"&gt;&lt;p&gt;Hello &lt;strong&gt;World!&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_badges_in_html_page_footers">36.8. Badges in HTML page footers</h3>
+<div class="paragraph"><p>See the <code>[footer]</code> section in the AsciiDoc distribution <code>xhtml11.conf</code>
+configuration file.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_pretty_printing_asciidoc_output">36.9. Pretty printing AsciiDoc output</h3>
+<div class="paragraph"><p>If the indentation and layout of the asciidoc(1) output is not to your
+liking you can:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Change the indentation and layout of configuration file markup
+ template sections. The <code>{empty}</code> attribute is useful for outputting
+ trailing blank lines in markup templates.
+</p>
+</li>
+<li>
+<p>
+Use Dave Raggett&#8217;s <a href="http://tidy.sourceforge.net/">HTML Tidy</a> program
+ to tidy asciidoc(1) output. Example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -b docbook -o - mydoc.txt | tidy -indent -xml &gt;mydoc.xml</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Use the <code>xmllint(1)</code> format option. Example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ xmllint --format mydoc.xml</code></pre>
+</div></div>
+</li>
+</ol></div>
+</div>
+<div class="sect2">
+<h3 id="_supporting_minor_docbook_dtd_variations">36.10. Supporting minor DocBook DTD variations</h3>
+<div class="paragraph"><p>The conditional inclusion of DocBook SGML markup at the end of the
+distribution <code>docbook45.conf</code> file illustrates how to support minor
+DTD variations. The included sections override corresponding entries
+from preceding sections.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_creating_stand_alone_html_documents">36.11. Creating stand-alone HTML documents</h3>
+<div class="paragraph"><p>If you&#8217;ve ever tried to send someone an HTML document that includes
+stylesheets and images you&#8217;ll know that it&#8217;s not as straight-forward
+as exchanging a single file. AsciiDoc has options to create
+stand-alone documents containing embedded images, stylesheets and
+scripts. The following AsciiDoc command creates a single file
+containing <a href="#X66">embedded images</a>, CSS stylesheets, and JavaScript
+(for table of contents and footnotes):</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a data-uri -a icons -a toc -a max-width=55em article.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>You can view the HTML file here: <a href="https://asciidoc.org/article-standalone.html">https://asciidoc.org/article-standalone.html</a></p></div>
+</div>
+<div class="sect2">
+<h3 id="_shipping_stand_alone_asciidoc_source">36.12. Shipping stand-alone AsciiDoc source</h3>
+<div class="paragraph"><p>Reproducing presentation documents from someone else&#8217;s source has one
+major problem: unless your configuration files are the same as the
+creator&#8217;s you won&#8217;t get the same output.</p></div>
+<div class="paragraph"><p>The solution is to create a single backend specific configuration file
+using the asciidoc(1) <code>-c</code> (<code>--dump-conf</code>) command-line option. You
+then ship this file along with the AsciiDoc source document plus the
+<code>asciidoc.py</code> script. The only end user requirement is that they have
+Python installed (and that they consider you a trusted source). This
+example creates a composite HTML configuration file for <code>mydoc.txt</code>:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -cb xhtml11 mydoc.txt &gt; mydoc-xhtml11.conf</code></pre>
+</div></div>
+<div class="paragraph"><p>Ship <code>mydoc.txt</code>, <code>mydoc-html.conf</code>, and <code>asciidoc.py</code>. With
+these three files (and a Python interpreter) the recipient can
+regenerate the HMTL output:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ ./asciidoc.py -eb xhtml11 mydoc.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>The <code>-e</code> (<code>--no-conf</code>) option excludes the use of implicit
+configuration files, ensuring that only entries from the
+<code>mydoc-html.conf</code> configuration are used.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_inserting_blank_space">36.13. Inserting blank space</h3>
+<div class="paragraph"><p>Adjust your style sheets to add the correct separation between block
+elements. Inserting blank paragraphs containing a single non-breaking
+space character <code>{nbsp}</code> works but is an ad hoc solution compared
+to using style sheets.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_closing_open_sections">36.14. Closing open sections</h3>
+<div class="paragraph"><p>You can close off section tags up to level <code>N</code> by calling the
+<code>eval::[Section.setlevel(N)]</code> system macro. This is useful if you
+want to include a section composed of raw markup. The following
+example includes a DocBook glossary division at the top section level
+(level 0):</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>ifdef::basebackend-docbook[]
+
+eval::[Section.setlevel(0)]
+
++++++++++++++++++++++++++++++++
+&lt;glossary&gt;
+ &lt;title&gt;Glossary&lt;/title&gt;
+ &lt;glossdiv&gt;
+ ...
+ &lt;/glossdiv&gt;
+&lt;/glossary&gt;
++++++++++++++++++++++++++++++++
+endif::basebackend-docbook[]</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_validating_output_files">36.15. Validating output files</h3>
+<div class="paragraph"><p>Use <code>xmllint(1)</code> to check the AsciiDoc generated markup is both well
+formed and valid. Here are some examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ xmllint --nonet --noout --valid docbook-file.xml
+$ xmllint --nonet --noout --valid xhtml11-file.html
+$ xmllint --nonet --noout --valid --html html4-file.html</code></pre>
+</div></div>
+<div class="paragraph"><p>The <code>--valid</code> option checks the file is valid against the document
+type&#8217;s DTD, if the DTD is not installed in your system&#8217;s catalog then
+it will be fetched from its Internet location. If you omit the
+<code>--valid</code> option the document will only be checked that it is well
+formed.</p></div>
+<div class="paragraph"><p>The online <a href="http://validator.w3.org/#validate_by_uri+with_options">W3C
+Markup Validation Service</a> is the defacto standard when it comes to
+validating HTML (it validates all HTML standards including HTML5).</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_glossary">Glossary</h2>
+<div class="sectionbody">
+<div class="dlist glossary"><dl>
+<dt>
+<a id="X8"></a> Block element
+</dt>
+<dd>
+<p>
+ An AsciiDoc block element is a document entity composed of one or
+ more whole lines of text.
+</p>
+</dd>
+<dt>
+<a id="X34"></a> Inline element
+</dt>
+<dd>
+<p>
+ AsciiDoc inline elements occur within block element textual
+ content, they perform formatting and substitution tasks.
+</p>
+</dd>
+<dt>
+Formal element
+</dt>
+<dd>
+<p>
+ An AsciiDoc block element that has a BlockTitle. Formal elements
+ are normally listed in front or back matter, for example lists of
+ tables, examples and figures.
+</p>
+</dd>
+<dt>
+Verbatim element
+</dt>
+<dd>
+<p>
+ The word verbatim indicates that white space and line breaks in
+ the source document are to be preserved in the output document.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_migration_notes">Appendix A: Migration Notes</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="X53">Version 7 to version 8</h3>
+<div class="ulist"><ul>
+<li>
+<p>
+A new set of quotes has been introduced which may match inline text
+ in existing documents&#8201;&#8212;&#8201;if they do you&#8217;ll need to escape the
+ matched text with backslashes.
+</p>
+</li>
+<li>
+<p>
+The index entry inline macro syntax has changed&#8201;&#8212;&#8201;if your documents
+ include indexes you may need to edit them.
+</p>
+</li>
+<li>
+<p>
+Replaced a2x(1) <code>--no-icons</code> and <code>--no-copy</code> options with their
+ negated equivalents: <code>--icons</code> and <code>--copy</code> respectively. The
+ default behavior has also changed&#8201;&#8212;&#8201;the use of icons and copying of
+ icon and CSS files must be specified explicitly with the <code>--icons</code>
+ and <code>--copy</code> options.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>The rationale for the changes can be found in the AsciiDoc
+<code>CHANGELOG</code>.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">If you want to disable unconstrained quotes, the new alternative
+constrained quotes syntax and the new index entry syntax then you can
+define the attribute <code>asciidoc7compatible</code> (for example by using the
+<code>-a asciidoc7compatible</code> command-line option).</td>
+</tr></table>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X38">Appendix B: Packager Notes</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Read the <code>README</code> and <code>INSTALL</code> files (in the distribution root
+directory) for install prerequisites and procedures. The distribution
+<code>Makefile.in</code> (used by <code>configure</code> to generate the <code>Makefile</code>) is the
+canonical installation procedure.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X39">Appendix C: AsciiDoc Safe Mode</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc <em>safe mode</em> skips potentially dangerous scripted sections in
+AsciiDoc source files by inhibiting the execution of arbitrary code or
+the inclusion of arbitrary files.</p></div>
+<div class="paragraph"><p>The safe mode is disabled by default, it can be enabled with the
+asciidoc(1) <code>--safe</code> command-line option.</p></div>
+<div class="ulist"><div class="title">Safe mode constraints</div><ul>
+<li>
+<p>
+<code>eval</code>, <code>sys</code> and <code>sys2</code> executable attributes and block macros are
+ not executed.
+</p>
+</li>
+<li>
+<p>
+<code>include::&lt;filename&gt;[]</code> and <code>include1::&lt;filename&gt;[]</code> block macro
+ files must reside inside the parent file&#8217;s directory.
+</p>
+</li>
+<li>
+<p>
+<code>{include:&lt;filename&gt;}</code> executable attribute files must reside
+ inside the source document directory.
+</p>
+</li>
+<li>
+<p>
+Passthrough Blocks are dropped.
+</p>
+</li>
+</ul></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/warning.png" alt="Warning" />
+</td>
+<td class="content">
+<div class="paragraph"><p>The safe mode is not designed to protect against unsafe AsciiDoc
+configuration files. Be especially careful when:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Implementing filters.
+</p>
+</li>
+<li>
+<p>
+Implementing elements that don&#8217;t escape special characters.
+</p>
+</li>
+<li>
+<p>
+Accepting configuration files from untrusted sources.
+</p>
+</li>
+</ol></div>
+</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_using_asciidoc_with_non_english_languages">Appendix D: Using AsciiDoc with non-English Languages</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc can process UTF-8 character sets but there are some things
+you need to be aware of:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+If you are generating output documents using a DocBook toolchain
+ then you should set the AsciiDoc <code>lang</code> attribute to the appropriate
+ language (it defaults to <code>en</code> (English)). This will ensure things
+ like table of contents, figure and table captions and admonition
+ captions are output in the specified language. For example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ a2x -a lang=es doc/article.txt</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+If you are outputting HTML directly from asciidoc(1) you&#8217;ll
+ need to set the various <code>*_caption</code> attributes to match your target
+ language (see the list of captions and titles in the <code>[attributes]</code>
+ section of the distribution <code>lang-*.conf</code> files). The easiest way is
+ to create a language <code>.conf</code> file (see the AsciiDoc&#8217;s <code>lang-en.conf</code>
+ file).
+</p>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">You still use the <em>NOTE</em>, <em>CAUTION</em>, <em>TIP</em>, <em>WARNING</em>,
+<em>IMPORTANT</em> captions in the AsciiDoc source, they get translated in
+the HTML output file.</td>
+</tr></table>
+</div>
+</li>
+<li>
+<p>
+asciidoc(1) automatically loads configuration files named like
+ <code>lang-&lt;lang&gt;.conf</code> where <code>&lt;lang&gt;</code> is a two letter language code that
+ matches the current AsciiDoc <code>lang</code> attribute. See also
+ <a href="#X27">Configuration File Names and Locations</a>.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_vim_syntax_highlighter">Appendix E: Vim Syntax Highlighter</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Syntax highlighting is incredibly useful, in addition to making
+reading AsciiDoc documents much easier syntax highlighting also helps
+you catch AsciiDoc syntax errors as you write your documents.</p></div>
+<div class="paragraph"><p>The AsciiDoc distribution directory contains a Vim syntax highlighter
+for AsciiDoc (<code>./vim/syntax/asciidoc.vim</code>), you can find the latest
+version in the online
+<a href="https://code.google.com/p/asciidoc/source/browse/">AsciiDoc
+repository</a>.</p></div>
+<div class="paragraph"><p>Install the highlighter by copying <code>asciidoc.vim</code> to your
+<code>$HOME/.vim/syntax</code> directory (create it if it doesn&#8217;t already exist).</p></div>
+<div class="paragraph"><p>To enable syntax highlighting:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Put a Vim <em>autocmd</em> in your Vim configuration file (see the
+ <a href="#X61">example vimrc file</a>).
+</p>
+</li>
+<li>
+<p>
+or execute the Vim command <code>:set syntax=asciidoc</code>.
+</p>
+</li>
+<li>
+<p>
+or add the following line to the end of you AsciiDoc source files:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>// vim: set syntax=asciidoc:</code></pre>
+</div></div>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X74">Appendix F: Attribute Options</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Here is the list of predefined <a href="#X75">attribute list options</a>:</p></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<col width="18%" />
+<col width="18%" />
+<col width="18%" />
+<col width="45%" />
+<thead>
+<tr>
+<th align="left" valign="top">Option</th>
+<th align="left" valign="top">Backends</th>
+<th align="left" valign="top">AsciiDoc Elements</th>
+<th align="left" valign="top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><em>autowidth</em></p></td>
+<td align="left" valign="top"><p class="table">xhtml11, html5, html4</p></td>
+<td align="left" valign="top"><p class="table">table</p></td>
+<td align="left" valign="top"><p class="table">The column widths are determined by the browser, not the AsciiDoc
+<em>cols</em> attribute. If there is no <em>width</em> attribute the table width is
+also left up to the browser.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>unbreakable</em></p></td>
+<td align="left" valign="top"><p class="table">xhtml11, html5</p></td>
+<td align="left" valign="top"><p class="table">block elements</p></td>
+<td align="left" valign="top"><p class="table"><em>unbreakable</em> attempts to keep the block element together on a single
+printed page c.f. the <em>breakable</em> and <em>unbreakable</em> docbook (XSL/FO)
+options below.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>breakable, unbreakable</em></p></td>
+<td align="left" valign="top"><p class="table">docbook (XSL/FO)</p></td>
+<td align="left" valign="top"><p class="table">table, example, block image</p></td>
+<td align="left" valign="top"><p class="table">The <em>breakable</em> options allows block elements to break across page
+boundaries; <em>unbreakable</em> attempts to keep the block element together
+on a single page. If neither option is specified the default XSL
+stylesheet behavior prevails.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>compact</em></p></td>
+<td align="left" valign="top"><p class="table">docbook, xhtml11, html5</p></td>
+<td align="left" valign="top"><p class="table">bulleted list, numbered list</p></td>
+<td align="left" valign="top"><p class="table">Minimizes vertical space in the list</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>footer</em></p></td>
+<td align="left" valign="top"><p class="table">docbook, xhtml11, html5, html4</p></td>
+<td align="left" valign="top"><p class="table">table</p></td>
+<td align="left" valign="top"><p class="table">The last row of the table is rendered as a footer.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>header</em></p></td>
+<td align="left" valign="top"><p class="table">docbook, xhtml11, html5, html4</p></td>
+<td align="left" valign="top"><p class="table">table</p></td>
+<td align="left" valign="top"><p class="table">The first row of the table is rendered as a header.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>pgwide</em></p></td>
+<td align="left" valign="top"><p class="table">docbook (XSL/FO)</p></td>
+<td align="left" valign="top"><p class="table">table, block image, horizontal labeled list</p></td>
+<td align="left" valign="top"><p class="table">Specifies that the element should be rendered across the full text
+width of the page irrespective of the current indentation.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>strong</em></p></td>
+<td align="left" valign="top"><p class="table">xhtml11, html5, html4</p></td>
+<td align="left" valign="top"><p class="table">labeled lists</p></td>
+<td align="left" valign="top"><p class="table">Emboldens label text.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X82">Appendix G: Diagnostics</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The <code>asciidoc(1)</code> <code>--verbose</code> command-line option prints additional
+information to stderr: files processed, filters processed, warnings,
+system attribute evaluation.</p></div>
+<div class="paragraph"><p>A special attribute named <em>trace</em> enables the output of
+element-by-element diagnostic messages detailing output markup
+generation to stderr. The <em>trace</em> attribute can be set on the
+command-line or from within the document using <a href="#X18">Attribute Entries</a> (the latter allows tracing to be confined to specific
+portions of the document).</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Trace messages print the source file name and line number and the
+ trace name followed by related markup.
+</p>
+</li>
+<li>
+<p>
+<em>trace names</em> are normally the names of AsciiDoc elements (see the
+ list below).
+</p>
+</li>
+<li>
+<p>
+The trace message is only printed if the <em>trace</em> attribute value
+ matches the start of a <em>trace name</em>. The <em>trace</em> attribute value can
+ be any Python regular expression. If a trace value is not specified
+ all trace messages will be printed (this can result in large amounts
+ of output if applied to the whole document).
+</p>
+</li>
+<li>
+<p>
+In the case of inline substitutions:
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+The text before and after the substitution is printed; the before
+ text is preceded by a line containing <code>&lt;&lt;&lt;</code> and the after text by
+ a line containing <code>&gt;&gt;&gt;</code>.
+</p>
+</li>
+<li>
+<p>
+The <em>subs</em> trace value is an alias for all inline substitutions.
+</p>
+</li>
+</ul></div>
+</li>
+</ul></div>
+<div class="literalblock">
+<div class="title">Trace names</div>
+<div class="content">
+<pre><code>&lt;blockname&gt; block close
+&lt;blockname&gt; block open
+&lt;subs&gt;
+dropped line (a line containing an undefined attribute reference).
+floating title
+footer
+header
+list close
+list entry close
+list entry open
+list item close
+list item open
+list label close
+list label open
+list open
+macro block (a block macro)
+name (man page NAME section)
+paragraph
+preamble close
+preamble open
+push blockname
+pop blockname
+section close
+section open: level &lt;level&gt;
+subs (all inline substitutions)
+table</code></pre>
+</div></div>
+<div class="paragraph"><p>Where:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<code>&lt;level&gt;</code> is section level number <em>0&#8230;4</em>.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;blockname&gt;</code> is a delimited block name: <em>comment</em>, <em>sidebar</em>,
+ <em>open</em>, <em>pass</em>, <em>listing</em>, <em>literal</em>, <em>quote</em>, <em>example</em>.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;subs&gt;</code> is an inline substitution type:
+ <em>specialcharacters</em>,<em>quotes</em>,<em>specialwords</em>, <em>replacements</em>,
+ <em>attributes</em>,<em>macros</em>,<em>callouts</em>, <em>replacements2</em>, <em>replacements3</em>.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Command-line examples:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Trace the entire document.
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a trace mydoc.txt</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Trace messages whose names start with <code>quotes</code> or <code>macros</code>:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a 'trace=quotes|macros' mydoc.txt</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Print the first line of each trace message:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a trace mydoc.txt 2&gt;&amp;1 | grep ^TRACE:</code></pre>
+</div></div>
+</li>
+</ol></div>
+<div class="paragraph"><p>Attribute Entry examples:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Begin printing all trace messages:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>:trace:</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Print only matched trace messages:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>:trace: quotes|macros</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Turn trace messages off:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>:trace!:</code></pre>
+</div></div>
+</li>
+</ol></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X88">Appendix H: Backend Attributes</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>This table contains a list of optional attributes that influence the
+generated outputs.</p></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+<thead>
+<tr>
+<th align="left" valign="top">Name </th>
+<th align="left" valign="top">Backends </th>
+<th align="left" valign="top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><em>badges</em></p></td>
+<td align="left" valign="top"><p class="table">xhtml11, html5</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Link badges (<em>XHTML 1.1</em> and <em>CSS</em>) in document footers. By default
+badges are omitted (<em>badges</em> is undefined).</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">The path names of images, icons and scripts are relative path
+names to the output document not the source document.</td>
+</tr></table>
+</div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>data-uri</em></p></td>
+<td align="left" valign="top"><p class="table">xhtml11, html5</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Embed images using the <a href="#X66">data: uri scheme</a>.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>css-signature</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Set a <em>CSS signature</em> for the document (sets the <em>id</em> attribute of the
+HTML <em>body</em> element). CSS signatures provide a mechanism that allows
+users to personalize the document appearance. The term <em>CSS signature</em>
+was <a href="http://archivist.incutio.com/viewlist/css-discuss/13291">coined by
+Eric Meyer</a>.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>disable-javascript</em></p></td>
+<td align="left" valign="top"><p class="table">xhtml11, html5</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>If the <code>disable-javascript</code> attribute is defined the <code>asciidoc.js</code>
+JavaScript is not embedded or linked to the output document. By
+default AsciiDoc automatically embeds or links the <code>asciidoc.js</code>
+JavaScript to the output document. The script dynamically generates
+<a href="#X91">table of contents</a> and <a href="#X92">footnotes</a>.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em><a id="X97"></a> docinfo, docinfo1, docinfo2</em></p></td>
+<td align="left" valign="top"><p class="table">All backends</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>These three attributes control which <a href="#X87">document information files</a> will be included in the the header of the output file:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+docinfo
+</dt>
+<dd>
+<p>
+Include <code>&lt;filename&gt;-docinfo.&lt;ext&gt;</code>
+</p>
+</dd>
+<dt class="hdlist1">
+docinfo1
+</dt>
+<dd>
+<p>
+Include <code>docinfo.&lt;ext&gt;</code>
+</p>
+</dd>
+<dt class="hdlist1">
+docinfo2
+</dt>
+<dd>
+<p>
+Include <code>docinfo.&lt;ext&gt;</code> and <code>&lt;filename&gt;-docinfo.&lt;ext&gt;</code>
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>Where <code>&lt;filename&gt;</code> is the file name (sans extension) of the AsciiDoc
+input file and <code>&lt;ext&gt;</code> is <code>.html</code> for HTML outputs or <code>.xml</code> for
+DocBook outputs. If the input file is the standard input then the
+output file name is used. The following example will include the
+<code>mydoc-docinfo.xml</code> docinfo file in the DocBook <code>mydoc.xml</code> output
+file:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a docinfo -b docbook mydoc.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>This next example will include <code>docinfo.html</code> and <code>mydoc-docinfo.html</code>
+docinfo files in the HTML output file:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a docinfo2 -b html4 mydoc.txt</code></pre>
+</div></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em><a id="X54"></a>encoding</em></p></td>
+<td align="left" valign="top"><p class="table">html4, html5, xhtml11, docbook</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Set the input and output document character set encoding. For example
+the <code>--attribute encoding=ISO-8859-1</code> command-line option will set the
+character set encoding to <code>ISO-8859-1</code>.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+The default encoding is UTF-8.
+</p>
+</li>
+<li>
+<p>
+This attribute specifies the character set in the output document.
+</p>
+</li>
+<li>
+<p>
+The encoding name must correspond to a Python codec name or alias.
+</p>
+</li>
+<li>
+<p>
+The <em>encoding</em> attribute can be set using an AttributeEntry inside
+ the document header. For example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>:encoding: ISO-8859-1</code></pre>
+</div></div>
+</li>
+</ul></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>hr</em></p></td>
+<td align="left" valign="top"><p class="table">html4</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Defines the <em>html4</em> inter-section horizontal ruler element. By default
+<em>html4</em> top level sections are separated by a horizontal ruler
+element, undefine this attribute or set it to an empty string if you
+do not want them. The default <em>html4</em> backend value for the <em>hr</em>
+attribute is <code>&lt;hr&gt;</code>.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em><a id="X45"></a>icons</em></p></td>
+<td align="left" valign="top"><p class="table">xhtml11, html5</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Link admonition paragraph and admonition block icon images and badge
+images. By default <em>icons</em> is undefined and text is used in place of
+icon images.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em><a id="X44"></a>iconsdir</em></p></td>
+<td align="left" valign="top"><p class="table">html4, html5, xhtml11, docbook</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>The name of the directory containing linked admonition icons,
+navigation icons and the <code>callouts</code> sub-directory (the <code>callouts</code>
+sub-directory contains <a href="#X105">callout</a> number images). <em>iconsdir</em>
+defaults to <code>./images/icons</code>. If admonition icons are embedded using
+the <a href="#X66">data-uri</a> scheme then the <em>iconsdir</em> attribute defaults to
+the location of the icons installed in the AsciiDoc configuration
+directory.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>imagesdir</em></p></td>
+<td align="left" valign="top"><p class="table">html4, html5, xhtml11, docbook</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>If this attribute is defined it is prepended to the target image file
+name paths in inline and block image macros.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>keywords, description, title</em></p></td>
+<td align="left" valign="top"><p class="table">html4, html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>The <em>keywords</em> and <em>description</em> attributes set the correspondingly
+named HTML meta tag contents; the <em>title</em> attribute sets the HTML
+title tag contents. Their principle use is for SEO (Search Engine
+Optimisation). All three are optional, but if they are used they must
+appear in the document header (or on the command-line). If <em>title</em> is
+not specified the AsciiDoc document title is used.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>linkcss</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Link CSS stylesheets and JavaScripts. By default <em>linkcss</em> is
+undefined in which case stylesheets and scripts are automatically
+embedded in the output document.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em><a id="X103"></a>max-width</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Set the document maximum display width (sets the <em>body</em> element CSS
+<em>max-width</em> property).</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>numbered</em></p></td>
+<td align="left" valign="top"><p class="table">html4, html5, xhtml11, docbook (XSL Stylesheets)</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Adds section numbers to section titles. The <em>docbook</em> backend ignores
+<em>numbered</em> attribute entries after the document header.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>plaintext</em></p></td>
+<td align="left" valign="top"><p class="table">All backends</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>If this global attribute is defined all inline substitutions are
+suppressed and block indents are retained. This option is useful when
+dealing with large amounts of imported plain text.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>quirks</em></p></td>
+<td align="left" valign="top"><p class="table">xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Include the <code>xhtml11-quirks.conf</code> configuration file and
+<code>xhtml11-quirks.css</code> <a href="#X35">stylesheet</a> to work around IE6 browser
+incompatibilities. This feature is deprecated and its use is
+discouraged&#8201;&#8212;&#8201;documents are still viewable in IE6 without it.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>revremark</em></p></td>
+<td align="left" valign="top"><p class="table">docbook</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>A short summary of changes in this document revision. Must be defined
+prior to the first document section. The document also needs to be
+dated to output this attribute.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>footer-style</em></p></td>
+<td align="left" valign="top"><p class="table">html4, html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Changes the "Last updated" field in the footer of the document or removes this
+field and the revision number (in the footer only).<br />
+Can take 3 values:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+none : Don&#8217;t display the "Last updated" and "Revision number" fields in the
+ footer of the document
+</p>
+</li>
+<li>
+<p>
+revdate : The "Last updated" field&#8217;s date in the footer will be the revision
+ date specified in the document (<code>revdate</code> attribute)
+</p>
+</li>
+<li>
+<p>
+default (or any other value) : The "Last updated" field&#8217;s date in the footer
+ will be the date of the input file modification
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>This attribute can be set, for example, using <code>:footer-style: revdate</code> in the
+header of the file or using the <code>--attribute footer-style=revdate</code> command-line
+option.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>scriptsdir</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>The name of the directory containing linked JavaScripts.
+See <a href="#X35">HTML stylesheets and JavaScript locations</a>.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>sgml</em></p></td>
+<td align="left" valign="top"><p class="table">docbook45</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>The <code>--backend=docbook45</code> command-line option produces DocBook 4.5
+XML. You can produce the older DocBook SGML format using the
+<code>--attribute sgml</code> command-line option.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>stylesdir</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>The name of the directory containing linked or embedded
+<a href="#X35">stylesheets</a>.
+See <a href="#X35">HTML stylesheets and JavaScript locations</a>.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>stylesheet</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>The file name of an optional additional CSS <a href="#X35">stylesheet</a>.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>theme</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Use alternative stylesheet (see <a href="#X35">Stylesheets</a>).</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em><a id="X91"></a>toc</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11, docbook (XSL Stylesheets)</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Adds a table of contents to the start of an article or book document.
+The <code>toc</code> attribute can be specified using the <code>--attribute toc</code>
+command-line option or a <code>:toc:</code> attribute entry in the document
+header. The <em>toc</em> attribute is defined by default when the <em>docbook</em>
+backend is used. To disable table of contents generation undefine the
+<em>toc</em> attribute by putting a <code>:toc!:</code> attribute entry in the document
+header or from the command-line with an <code>--attribute toc!</code> option.</p></div>
+<div class="paragraph"><p><strong>xhtml11 and html5 backends</strong></p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+JavaScript needs to be enabled in your browser.
+</p>
+</li>
+<li>
+<p>
+The following example generates a numbered table of contents using a
+ JavaScript embedded in the <code>mydoc.html</code> output document:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a toc -a numbered mydoc.txt</code></pre>
+</div></div>
+</li>
+</ul></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>toc2</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Adds a scrollable table of contents in the left hand margin of an
+article or book document. Use the <em>max-width</em> attribute to change the
+content width. In all other respects behaves the same as the <em>toc</em>
+attribute.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>toc-placement</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>When set to <em>auto</em> (the default value) asciidoc(1) will place the
+table of contents in the document header. When <em>toc-placement</em> is set
+to <em>manual</em> the TOC can be positioned anywhere in the document by
+placing the <code>toc::[]</code> block macro at the point you want the TOC to
+appear.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">If you use <em>toc-placement</em> then you also have to define the
+<a href="#X91">toc</a> attribute.</td>
+</tr></table>
+</div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>toc-title</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Sets the table of contents title (defaults to <em>Table of Contents</em>).</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>toclevels</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Sets the number of title levels (1..4) reported in the table of
+contents (see the <em>toc</em> attribute above). Defaults to 2 and must be
+used with the <em>toc</em> attribute. Example usage:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a toc -a toclevels=3 doc/asciidoc.txt</code></pre>
+</div></div></div></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_license">Appendix I: License</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc is free software; you can redistribute it and/or modify it
+under the terms of the <em>GNU General Public License version 2</em> (GPLv2)
+as published by the Free Software Foundation.</p></div>
+<div class="paragraph"><p>AsciiDoc is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License version 2 for more details.</p></div>
+<div class="paragraph"><p>Copyright &#169; 2002-2013 Stuart Rackham.</p></div>
+<div class="paragraph"><p>Copyright &#169; 2013-2020 AsciiDoc Contributors.</p></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated
+ 2021-01-30 05:17:57 UTC
+</div>
+</div>
+</body>
+</html>
diff --git a/asciidoc.html b/asciidoc.html
new file mode 100644
index 0000000..1729b19
--- /dev/null
+++ b/asciidoc.html
@@ -0,0 +1,9778 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>AsciiDoc User Guide</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install(2);
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="asciidoc.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>AsciiDoc User Guide</h1>
+<span id="author">Stuart Rackham</span><br />
+<span id="email"><code>&lt;<a href="mailto:srackham@gmail.com">srackham@gmail.com</a>&gt;</code></span><br />
+<span id="revision">version 9.0.5,</span>
+24 January 2021
+<div id="toc">
+ <div id="toctitle">Table of Contents</div>
+ <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
+</div>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc is a text document format for writing notes, documentation,
+articles, books, ebooks, slideshows, web pages, blogs and UNIX man
+pages. AsciiDoc files can be translated to many formats including
+HTML, PDF, EPUB, man page. AsciiDoc is highly configurable: both the
+AsciiDoc source file syntax and the backend output markups (which can
+be almost any type of SGML/XML markup) can be customized and extended
+by the user.</p></div>
+<div class="sidebarblock">
+<div class="content">
+<div class="title">This document</div>
+<div class="paragraph"><p>This is an overly large document, it probably needs to be refactored
+into a Tutorial, Quick Reference and Formal Reference.</p></div>
+<div class="paragraph"><p>If you&#8217;re new to AsciiDoc read this section and the <a href="#X6">Getting Started</a> section and take a look at the example AsciiDoc (<code>*.txt</code>)
+source files in the distribution <code>doc</code> directory.</p></div>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_introduction">1. Introduction</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc is a plain text human readable/writable document format that
+can be translated to DocBook or HTML using the <code>asciidoc(1)</code> command.
+You can then either use <code>asciidoc(1)</code> generated HTML directly or run
+<code>asciidoc(1)</code> DocBook output through your favorite DocBook toolchain or
+use the AsciiDoc <code>a2x(1)</code> toolchain wrapper to produce PDF, EPUB, DVI,
+LaTeX, PostScript, man page, HTML and text formats.</p></div>
+<div class="paragraph"><p>The AsciiDoc format is a useful presentation format in its own right:
+AsciiDoc markup is simple, intuitive and as such is easily proofed and
+edited.</p></div>
+<div class="paragraph"><p>AsciiDoc is light weight: it consists of a single Python script and a
+bunch of configuration files. Apart from <code>asciidoc(1)</code> and a Python
+interpreter, no other programs are required to convert AsciiDoc text
+files to DocBook or HTML. See <a href="#X11">Example AsciiDoc Documents</a>
+below.</p></div>
+<div class="paragraph"><p>Text markup conventions tend to be a matter of (often strong) personal
+preference: if the default syntax is not to your liking you can define
+your own by editing the text based <code>asciidoc(1)</code> configuration files.
+You can also create configuration files to translate AsciiDoc
+documents to almost any SGML/XML markup.</p></div>
+<div class="paragraph"><p><code>asciidoc(1)</code> comes with a set of configuration files to translate
+AsciiDoc articles, books and man pages to HTML or DocBook backend
+formats.</p></div>
+<div class="sidebarblock">
+<div class="content">
+<div class="title">My AsciiDoc Itch</div>
+<div class="paragraph"><p>DocBook has emerged as the de facto standard Open Source documentation
+format. But DocBook is a complex language, the markup is difficult to
+read and even more difficult to write directly&#8201;&#8212;&#8201;I found I was
+spending more time typing markup tags, consulting reference manuals
+and fixing syntax errors, than I was writing the documentation.</p></div>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X6">2. Getting Started</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_installing_asciidoc">2.1. Installing AsciiDoc</h3>
+<div class="paragraph"><p>See the <code>README</code> and <code>INSTALL</code> files for install prerequisites and
+procedures. Packagers take a look at <a href="#X38">Packager Notes</a>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X11">2.2. Example AsciiDoc Documents</h3>
+<div class="paragraph"><p>The best way to quickly get a feel for AsciiDoc is to view the
+AsciiDoc web site and/or distributed examples:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Take a look at the linked examples on the AsciiDoc web site home
+ page <a href="https://asciidoc.org/">https://asciidoc.org/</a>. Press the <em>Page Source</em> sidebar menu item to view
+ corresponding AsciiDoc source.
+</p>
+</li>
+<li>
+<p>
+Read the <code>*.txt</code> source files in the distribution <code>./doc</code> directory
+ along with the corresponding HTML and DocBook XML files.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_asciidoc_document_types">3. AsciiDoc Document Types</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>There are three types of AsciiDoc documents: article, book and
+manpage. All document types share the same AsciiDoc format with some
+minor variations. If you are familiar with DocBook you will have
+noticed that AsciiDoc document types correspond to the same-named
+DocBook document types.</p></div>
+<div class="paragraph"><p>Use the <code>asciidoc(1)</code> <code>-d</code> (<code>--doctype</code>) option to specify the AsciiDoc
+document type&#8201;&#8212;&#8201;the default document type is <em>article</em>.</p></div>
+<div class="paragraph"><p>By convention the <code>.txt</code> file extension is used for AsciiDoc document
+source files.</p></div>
+<div class="sect2">
+<h3 id="_article">3.1. article</h3>
+<div class="paragraph"><p>Used for short documents, articles and general documentation. See the
+AsciiDoc distribution <code>./doc/article.txt</code> example.</p></div>
+<div class="paragraph"><p>AsciiDoc defines standard DocBook article frontmatter and backmatter
+<a href="#X93">section markup templates</a> (appendix, abstract, bibliography,
+glossary, index).</p></div>
+</div>
+<div class="sect2">
+<h3 id="_book">3.2. book</h3>
+<div class="paragraph"><p>Books share the same format as articles, with the following
+differences:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+The part titles in multi-part books are <a href="#X17">top level titles</a>
+ (same level as book title).
+</p>
+</li>
+<li>
+<p>
+Some sections are book specific e.g. preface and colophon.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Book documents will normally be used to produce DocBook output since
+DocBook processors can automatically generate footnotes, table of
+contents, list of tables, list of figures, list of examples and
+indexes.</p></div>
+<div class="paragraph"><p>AsciiDoc defines standard DocBook book frontmatter and backmatter
+<a href="#X93">section markup templates</a> (appendix, dedication, preface,
+bibliography, glossary, index, colophon).</p></div>
+<div class="dlist"><div class="title">Example book documents</div><dl>
+<dt class="hdlist1">
+Book
+</dt>
+<dd>
+<p>
+ The <code>./doc/book.txt</code> file in the AsciiDoc distribution.
+</p>
+</dd>
+<dt class="hdlist1">
+Multi-part book
+</dt>
+<dd>
+<p>
+ The <code>./doc/book-multi.txt</code> file in the AsciiDoc distribution.
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_manpage">3.3. manpage</h3>
+<div class="paragraph"><p>Used to generate roff format UNIX manual pages. AsciiDoc manpage
+documents observe special header title and section naming conventions&#8201;&#8212;&#8201;see the <a href="#X1">Manpage Documents</a> section for details.</p></div>
+<div class="paragraph"><p>AsciiDoc defines the <em>synopsis</em> <a href="#X93">section markup template</a> to
+generate the DocBook <code>refsynopsisdiv</code> section.</p></div>
+<div class="paragraph"><p>See also the <code>asciidoc(1)</code> man page source (<code>./doc/asciidoc.1.txt</code>) from
+the AsciiDoc distribution.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X5">4. AsciiDoc Backends</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The <code>asciidoc(1)</code> command translates an AsciiDoc formatted file to the
+backend format specified by the <code>-b</code> (<code>--backend</code>) command-line
+option. <code>asciidoc(1)</code> itself has little intrinsic knowledge of backend
+formats, all translation rules are contained in customizable cascading
+configuration files. Backend specific attributes are listed in the
+<a href="#X88">Backend Attributes</a> section.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+docbook45
+</dt>
+<dd>
+<p>
+ Outputs DocBook XML 4.5 markup.
+</p>
+</dd>
+<dt class="hdlist1">
+docbook5
+</dt>
+<dd>
+<p>
+ Outputs DocBook XML 5.0 markup.
+</p>
+</dd>
+<dt class="hdlist1">
+html4
+</dt>
+<dd>
+<p>
+ This backend generates plain HTML 4.01 Transitional markup.
+</p>
+</dd>
+<dt class="hdlist1">
+xhtml11
+</dt>
+<dd>
+<p>
+ This backend generates XHTML 1.1 markup styled with CSS2. Output
+ files have an <code>.html</code> extension.
+</p>
+</dd>
+<dt class="hdlist1">
+html5
+</dt>
+<dd>
+<p>
+ This backend generates HTML 5 markup, apart from the inclusion of
+ <a href="#X98">audio and video block macros</a> it is functionally identical to
+ the <em>xhtml11</em> backend.
+</p>
+</dd>
+<dt class="hdlist1">
+slidy
+</dt>
+<dd>
+<p>
+ Use this backend to generate self-contained
+ <a href="http://www.w3.org/Talks/Tools/Slidy2/">Slidy</a> HTML slideshows for
+ your web browser from AsciiDoc documents. The Slidy backend is
+ documented in the distribution <code>doc/slidy.txt</code> file and
+ <a href="https://asciidoc.org/slidy.html">online</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+wordpress
+</dt>
+<dd>
+<p>
+ A minor variant of the <em>html4</em> backend to support
+ <a href="http://srackham.wordpress.com/blogpost1/">blogpost</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+latex
+</dt>
+<dd>
+<p>
+ Experimental LaTeX backend.
+</p>
+</dd>
+</dl></div>
+<div class="sect2">
+<h3 id="_backend_aliases">4.1. Backend Aliases</h3>
+<div class="paragraph"><p>Backend aliases are alternative names for AsciiDoc backends. AsciiDoc
+comes with two backend aliases: <em>html</em> (aliased to <em>xhtml11</em>) and
+<em>docbook</em> (aliased to <em>docbook45</em>).</p></div>
+<div class="paragraph"><p>You can assign (or reassign) backend aliases by setting an AsciiDoc
+attribute named like <code>backend-alias-&lt;alias&gt;</code> to an AsciiDoc backend
+name. For example, the following backend alias attribute definitions
+appear in the <code>[attributes]</code> section of the global <code>asciidoc.conf</code>
+configuration file:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>backend-alias-html=xhtml11
+backend-alias-docbook=docbook45</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X100">4.2. Backend Plugins</h3>
+<div class="paragraph"><p>The <code>asciidoc(1)</code> <code>--backend</code> option is also used to install and manage
+backend <a href="#X101">plugins</a>.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+A backend plugin is used just like the built-in backends.
+</p>
+</li>
+<li>
+<p>
+Backend plugins <a href="#X27">take precedence</a> over built-in backends with
+ the same name.
+</p>
+</li>
+<li>
+<p>
+You can use the <code>{asciidoc-confdir}</code> <a href="#X60">intrinsic attribute</a> to
+ refer to the built-in backend configuration file location from
+ backend plugin configuration files.
+</p>
+</li>
+<li>
+<p>
+You can use the <code>{backend-confdir}</code> <a href="#X60">intrinsic attribute</a> to
+ refer to the backend plugin configuration file location.
+</p>
+</li>
+<li>
+<p>
+By default backends plugins are installed in
+ <code>$HOME/.asciidoc/backends/&lt;backend&gt;</code> where <code>&lt;backend&gt;</code> is the
+ backend name.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_docbook">5. DocBook</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc generates <em>article</em>, <em>book</em> and <em>refentry</em>
+<a href="http://www.docbook.org/">DocBook</a> documents (corresponding to the
+AsciiDoc <em>article</em>, <em>book</em> and <em>manpage</em> document types).</p></div>
+<div class="paragraph"><p>Most Linux distributions come with conversion tools (collectively
+called a toolchain) for <a href="#X12">converting DocBook files</a> to
+presentation formats such as Postscript, HTML, PDF, EPUB, DVI,
+PostScript, LaTeX, roff (the native man page format), HTMLHelp,
+JavaHelp and text. There are also programs that allow you to view
+DocBook files directly, for example <a href="http://live.gnome.org/Yelp">Yelp</a>
+(the GNOME help viewer).</p></div>
+<div class="sect2">
+<h3 id="X12">5.1. Converting DocBook to other file formats</h3>
+<div class="paragraph"><p>DocBook files are validated, parsed and translated various
+presentation file formats using a combination of applications
+collectively called a DocBook <em>tool chain</em>. The function of a tool
+chain is to read the DocBook markup (produced by AsciiDoc) and
+transform it to a presentation format (for example HTML, PDF, HTML
+Help, EPUB, DVI, PostScript, LaTeX).</p></div>
+<div class="paragraph"><p>A wide range of user output format requirements coupled with a choice
+of available tools and stylesheets results in many valid tool chain
+combinations.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X43">5.2. a2x Toolchain Wrapper</h3>
+<div class="paragraph"><p>One of the biggest hurdles for new users is installing, configuring
+and using a DocBook XML toolchain. <code>a2x(1)</code> can help&#8201;&#8212;&#8201;it&#8217;s a
+toolchain wrapper command that will generate XHTML (chunked and
+unchunked), PDF, EPUB, DVI, PS, LaTeX, man page, HTML Help and text
+file outputs from an AsciiDoc text file. <code>a2x(1)</code> does all the grunt
+work associated with generating and sequencing the toolchain commands
+and managing intermediate and output files. <code>a2x(1)</code> also optionally
+deploys admonition and navigation icons and a CSS stylesheet. See the
+<code>a2x(1)</code> man page for more details. In addition to <code>asciidoc(1)</code> you
+also need <a href="#X40">xsltproc(1)</a>, <a href="#X13">DocBook XSL Stylesheets</a> and
+optionally: <a href="#X31">dblatex</a> or <a href="#X14">FOP</a> (to generate PDF);
+<code>w3m(1)</code> or <code>lynx(1)</code> (to generate text).</p></div>
+<div class="paragraph"><p>The following examples generate <code>doc/source-highlight-filter.pdf</code> from
+the AsciiDoc <code>doc/source-highlight-filter.txt</code> source file. The first
+example uses <code>dblatex(1)</code> (the default PDF generator) the second
+example forces FOP to be used:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ a2x -f pdf doc/source-highlight-filter.txt
+$ a2x -f pdf --fop doc/source-highlight-filter.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>See the <code>a2x(1)</code> man page for details.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">Use the <code>--verbose</code> command-line option to view executed
+toolchain commands.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_html_generation">5.3. HTML generation</h3>
+<div class="paragraph"><p>AsciiDoc produces nicely styled HTML directly without requiring a
+DocBook toolchain but there are also advantages in going the DocBook
+route:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+HTML from DocBook can optionally include automatically generated
+ indexes, tables of contents, footnotes, lists of figures and tables.
+</p>
+</li>
+<li>
+<p>
+DocBook toolchains can also (optionally) generate separate (chunked)
+ linked HTML pages for each document section.
+</p>
+</li>
+<li>
+<p>
+Toolchain processing performs link and document validity checks.
+</p>
+</li>
+<li>
+<p>
+If the DocBook <em>lang</em> attribute is set then things like table of
+ contents, figure and table captions and admonition captions will be
+ output in the specified language (setting the AsciiDoc <em>lang</em>
+ attribute sets the DocBook <em>lang</em> attribute).
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>On the other hand, HTML output directly from AsciiDoc is much faster,
+is easily customized and can be used in situations where there is no
+suitable DocBook toolchain (for example, see the <a href="https://asciidoc.org/">AsciiDoc
+website</a>).</p></div>
+</div>
+<div class="sect2">
+<h3 id="_pdf_generation">5.4. PDF generation</h3>
+<div class="paragraph"><p>There are two commonly used tools to generate PDFs from DocBook,
+<a href="#X31">dblatex</a> and <a href="#X14">FOP</a>.</p></div>
+<div class="ulist"><div class="title">dblatex or FOP?</div><ul>
+<li>
+<p>
+<em>dblatex</em> is easier to install, there&#8217;s zero configuration
+ required and no Java VM to install&#8201;&#8212;&#8201;it just works out of the box.
+</p>
+</li>
+<li>
+<p>
+<em>dblatex</em> source code highlighting and numbering is superb.
+</p>
+</li>
+<li>
+<p>
+<em>dblatex</em> is easier to use as it converts DocBook directly to PDF
+ whereas before using <em>FOP</em> you have to convert DocBook to XML-FO
+ using <a href="#X13">DocBook XSL Stylesheets</a>.
+</p>
+</li>
+<li>
+<p>
+<em>FOP</em> is more feature complete (for example, callouts are processed
+ inside literal layouts) and arguably produces nicer looking output.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_html_help_generation">5.5. HTML Help generation</h3>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Convert DocBook XML documents to HTML Help compiler source files
+ using <a href="#X13">DocBook XSL Stylesheets</a> and <a href="#X40">xsltproc(1)</a>.
+</p>
+</li>
+<li>
+<p>
+Convert the HTML Help source (<code>.hhp</code> and <code>.html</code>) files to HTML Help
+ (<code>.chm</code>) files using the <a href="#X67">Microsoft HTML Help Compiler</a>.
+</p>
+</li>
+</ol></div>
+</div>
+<div class="sect2">
+<h3 id="_toolchain_components_summary">5.6. Toolchain components summary</h3>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+AsciiDoc
+</dt>
+<dd>
+<p>
+ Converts AsciiDoc (<code>.txt</code>) files to DocBook XML (<code>.xml</code>) files.
+</p>
+</dd>
+<dt class="hdlist1">
+<a id="X13"></a><a href="https://github.com/docbook/xslt10-stylesheets">DocBook XSLT Stylesheets</a>
+</dt>
+<dd>
+<p>
+ These are a set of XSL stylesheets containing rules for converting
+ DocBook XML documents to HTML, XSL-FO, manpage and HTML Help files.
+ The stylesheets are used in conjunction with an XML parser such as
+ <a href="#X40">xsltproc(1)</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+<a id="X40"></a><a href="http://www.xmlsoft.org">xsltproc</a>
+</dt>
+<dd>
+<p>
+ An XML parser for applying XSLT stylesheets (in our case the
+ <a href="#X13">DocBook XSL Stylesheets</a>) to XML documents.
+</p>
+</dd>
+<dt class="hdlist1">
+<a id="X31"></a><a href="http://dblatex.sourceforge.net/">dblatex</a>
+</dt>
+<dd>
+<p>
+ Generates PDF, DVI, PostScript and LaTeX formats directly from
+ DocBook source via the intermediate LaTeX typesetting language&#8201;&#8212;&#8201; uses <a href="#X13">DocBook XSL Stylesheets</a>, <a href="#X40">xsltproc(1)</a> and
+ <code>latex(1)</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+<a id="X14"></a><a href="http://xmlgraphics.apache.org/fop/">FOP</a>
+</dt>
+<dd>
+<p>
+ The Apache Formatting Objects Processor converts XSL-FO (<code>.fo</code>)
+ files to PDF files. The XSL-FO files are generated from DocBook
+ source files using <a href="#X13">DocBook XSL Stylesheets</a> and
+ <a href="#X40">xsltproc(1)</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+<a id="X67"></a>Microsoft Help Compiler
+</dt>
+<dd>
+<p>
+ The Microsoft HTML Help Compiler (<code>hhc.exe</code>) is a command-line tool
+ that converts HTML Help source files to a single HTML Help (<code>.chm</code>)
+ file. It runs on MS Windows platforms and can be downloaded from
+ <a href="http://www.microsoft.com">http://www.microsoft.com</a>.
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_asciidoc_dblatex_configuration_files">5.7. AsciiDoc dblatex configuration files</h3>
+<div class="paragraph"><p>The AsciiDoc distribution <code>./dblatex</code> directory contains
+<code>asciidoc-dblatex.xsl</code> (customized XSL parameter settings) and
+<code>asciidoc-dblatex.sty</code> (customized LaTeX settings). These are examples
+of optional <a href="#X31">dblatex</a> output customization and are used by
+<a href="#X43"><code>a2x(1)</code></a>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_asciidoc_docbook_xsl_stylesheets_drivers">5.8. AsciiDoc DocBook XSL Stylesheets drivers</h3>
+<div class="paragraph"><p>You will have noticed that the distributed HTML and HTML Help
+documentation files (for example <code>./doc/asciidoc.html</code>) are not the
+plain outputs produced using the default <em>DocBook XSL Stylesheets</em>
+configuration. This is because they have been processed using
+customized DocBook XSL Stylesheets along with (in the case of HTML
+outputs) the custom <code>./stylesheets/docbook-xsl.css</code> CSS stylesheet.</p></div>
+<div class="paragraph"><p>You&#8217;ll find the customized DocBook XSL drivers along with additional
+documentation in the distribution <code>./docbook-xsl</code> directory. The
+examples that follow are executed from the distribution documentation
+(<code>./doc</code>) directory. These drivers are also used by <a href="#X43"><code>a2x(1)</code></a>.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>common.xsl</code>
+</dt>
+<dd>
+<p>
+ Shared driver parameters. This file is not used directly but is
+ included in all the following drivers.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>chunked.xsl</code>
+</dt>
+<dd>
+<p>
+ Generate chunked XHTML (separate HTML pages for each document
+ section) in the <code>./doc/chunked</code> directory. For example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ python ../asciidoc.py -b docbook asciidoc.txt
+$ xsltproc --nonet ../docbook-xsl/chunked.xsl asciidoc.xml</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+<code>epub.xsl</code>
+</dt>
+<dd>
+<p>
+ Used by <a href="#X43"><code>a2x(1)</code></a> to generate EPUB formatted documents.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>fo.xsl</code>
+</dt>
+<dd>
+<p>
+ Generate XSL Formatting Object (<code>.fo</code>) files for subsequent PDF
+ file generation using FOP. For example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ python ../asciidoc.py -b docbook article.txt
+$ xsltproc --nonet ../docbook-xsl/fo.xsl article.xml &gt; article.fo
+$ fop article.fo article.pdf</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+<code>htmlhelp.xsl</code>
+</dt>
+<dd>
+<p>
+ Generate Microsoft HTML Help source files for the MS HTML Help
+ Compiler in the <code>./doc/htmlhelp</code> directory. This example is run on
+ MS Windows from a Cygwin shell prompt:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ python ../asciidoc.py -b docbook asciidoc.txt
+$ xsltproc --nonet ../docbook-xsl/htmlhelp.xsl asciidoc.xml
+$ c:/Program\ Files/HTML\ Help\ Workshop/hhc.exe htmlhelp.hhp</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+<code>manpage.xsl</code>
+</dt>
+<dd>
+<p>
+ Generate a <code>roff(1)</code> format UNIX man page from a DocBook XML
+ <em>refentry</em> document. This example generates an <code>asciidoc.1</code> man
+ page file:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ python ../asciidoc.py -d manpage -b docbook asciidoc.1.txt
+$ xsltproc --nonet ../docbook-xsl/manpage.xsl asciidoc.1.xml</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+<code>xhtml.xsl</code>
+</dt>
+<dd>
+<p>
+ Convert a DocBook XML file to a single XHTML file. For example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ python ../asciidoc.py -b docbook asciidoc.txt
+$ xsltproc --nonet ../docbook-xsl/xhtml.xsl asciidoc.xml &gt; asciidoc.html</code></pre>
+</div></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p>If you want to see how the complete documentation set is processed
+take a look at the A-A-P script <code>./doc/main.aap</code>.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_generating_plain_text_files">6. Generating Plain Text Files</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc does not have a text backend (for most purposes AsciiDoc
+source text is fine), however you can convert AsciiDoc text files to
+formatted text using the AsciiDoc <a href="#X43"><code>a2x(1)</code></a> toolchain wrapper
+utility.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X35">7. HTML5 and XHTML 1.1</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The <em>xhtml11</em> and <em>html5</em> backends embed or link CSS and JavaScript
+files in their outputs, there is also a <a href="#X99">themes</a> plugin
+framework.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+If the AsciiDoc <em>linkcss</em> attribute is defined then CSS and
+ JavaScript files are linked to the output document, otherwise they
+ are embedded (the default behavior).
+</p>
+</li>
+<li>
+<p>
+The default locations for CSS and JavaScript files can be changed by
+ setting the AsciiDoc <em>stylesdir</em> and <em>scriptsdir</em> attributes
+ respectively.
+</p>
+</li>
+<li>
+<p>
+The default locations for embedded and linked files differ and are
+ calculated at different times&#8201;&#8212;&#8201;embedded files are loaded when
+ <code>asciidoc(1)</code> generates the output document, linked files are loaded
+ by the browser when the user views the output document.
+</p>
+</li>
+<li>
+<p>
+Embedded files are automatically inserted in the output files but
+ you need to manually copy linked CSS and Javascript files from
+ AsciiDoc <a href="#X27">configuration directories</a> to the correct location
+ relative to the output document.
+</p>
+</li>
+</ul></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 1. Stylesheet file locations</caption>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+<thead>
+<tr>
+<th align="left" valign="top"><em>stylesdir</em> attribute</th>
+<th align="left" valign="top">Linked location (<em>linkcss</em> attribute defined)</th>
+<th align="left" valign="top">Embedded location (<em>linkcss</em> attribute undefined)</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">Undefined (default).</p></td>
+<td align="left" valign="top"><p class="table">Same directory as the output document.</p></td>
+<td align="left" valign="top"><p class="table"><code>stylesheets</code> subdirectory in the AsciiDoc configuration directory
+(the directory containing the backend conf file).</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">Absolute or relative directory name.</p></td>
+<td align="left" valign="top"><p class="table">Absolute or relative to the output document.</p></td>
+<td align="left" valign="top"><p class="table">Absolute or relative to the AsciiDoc configuration directory (the
+directory containing the backend conf file).</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 2. JavaScript file locations</caption>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+<thead>
+<tr>
+<th align="left" valign="top"><em>scriptsdir</em> attribute</th>
+<th align="left" valign="top">Linked location (<em>linkcss</em> attribute defined)</th>
+<th align="left" valign="top">Embedded location (<em>linkcss</em> attribute undefined)</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">Undefined (default).</p></td>
+<td align="left" valign="top"><p class="table">Same directory as the output document.</p></td>
+<td align="left" valign="top"><p class="table"><code>javascripts</code> subdirectory in the AsciiDoc configuration directory
+(the directory containing the backend conf file).</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">Absolute or relative directory name.</p></td>
+<td align="left" valign="top"><p class="table">Absolute or relative to the output document.</p></td>
+<td align="left" valign="top"><p class="table">Absolute or relative to the AsciiDoc configuration directory (the
+directory containing the backend conf file).</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="X99">7.1. Themes</h3>
+<div class="paragraph"><p>The AsciiDoc <em>theme</em> attribute is used to select an alternative CSS
+stylesheet and to optionally include additional JavaScript code.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Theme files reside in an AsciiDoc <a href="#X27">configuration directory</a>
+ named <code>themes/&lt;theme&gt;/</code> (where <code>&lt;theme&gt;</code> is the the theme name set
+ by the <em>theme</em> attribute). <code>asciidoc(1)</code> sets the <em>themedir</em> attribute
+ to the theme directory path name.
+</p>
+</li>
+<li>
+<p>
+The <em>theme</em> attribute can also be set using the <code>asciidoc(1)</code>
+ <code>--theme</code> option, the <code>--theme</code> option can also be used to manage
+ theme <a href="#X101">plugins</a>.
+</p>
+</li>
+<li>
+<p>
+AsciiDoc ships with two themes: <em>flask</em> and <em>volnitsky</em>.
+</p>
+</li>
+<li>
+<p>
+The <code>&lt;theme&gt;.css</code> file replaces the default <code>asciidoc.css</code> CSS file.
+</p>
+</li>
+<li>
+<p>
+The <code>&lt;theme&gt;.js</code> file is included in addition to the default
+ <code>asciidoc.js</code> JavaScript file.
+</p>
+</li>
+<li>
+<p>
+If the <a href="#X66">data-uri</a> attribute is defined then icons are loaded
+ from the theme <code>icons</code> sub-directory if it exists (i.e. the
+ <em>iconsdir</em> attribute is set to theme <code>icons</code> sub-directory path).
+</p>
+</li>
+<li>
+<p>
+Embedded theme files are automatically inserted in the output files
+ but you need to manually copy linked CSS and Javascript files to the
+ location of the output documents.
+</p>
+</li>
+<li>
+<p>
+Linked CSS and JavaScript theme files are linked to the same linked
+ locations as <a href="#X35">other CSS and JavaScript files</a>.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>For example, the command-line option <code>--theme foo</code> (or <code>--attribute
+theme=foo</code>) will cause <code>asciidoc(1)</code> to search <a href="#X27">configuration file locations 1</a> for a sub-directory called <code>themes/foo</code>
+containing the stylesheet <code>foo.css</code> and optionally a JavaScript file
+name <code>foo.js</code>.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_document_structure">8. Document Structure</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>An AsciiDoc document consists of a series of <a href="#X8">block elements</a>
+starting with an optional document Header, followed by an optional
+Preamble, followed by zero or more document Sections.</p></div>
+<div class="paragraph"><p>Almost any combination of zero or more elements constitutes a valid
+AsciiDoc document: documents can range from a single sentence to a
+multi-part book.</p></div>
+<div class="sect2">
+<h3 id="_block_elements">8.1. Block Elements</h3>
+<div class="paragraph"><p>Block elements consist of one or more lines of text and may contain
+other block elements.</p></div>
+<div class="paragraph"><p>The AsciiDoc block structure can be informally summarized as follows
+<span class="footnote"><br />[This is a rough structural guide, not a rigorous syntax
+definition]<br /></span>:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Document ::= (Header?,Preamble?,Section*)
+Header ::= (Title,(AuthorInfo,RevisionInfo?)?)
+AuthorInfo ::= (FirstName,(MiddleName?,LastName)?,EmailAddress?)
+RevisionInfo ::= (RevisionNumber?,RevisionDate,RevisionRemark?)
+Preamble ::= (SectionBody)
+Section ::= (Title,SectionBody?,(Section)*)
+SectionBody ::= ((BlockTitle?,Block)|BlockMacro)+
+Block ::= (Paragraph|DelimitedBlock|List|Table)
+List ::= (BulletedList|NumberedList|LabeledList|CalloutList)
+BulletedList ::= (ListItem)+
+NumberedList ::= (ListItem)+
+CalloutList ::= (ListItem)+
+LabeledList ::= (ListEntry)+
+ListEntry ::= (ListLabel,ListItem)
+ListLabel ::= (ListTerm+)
+ListItem ::= (ItemText,(List|ListParagraph|ListContinuation)*)</code></pre>
+</div></div>
+<div class="paragraph"><p>Where:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<em>?</em> implies zero or one occurrence, <em>+</em> implies one or more
+ occurrences, <em>*</em> implies zero or more occurrences.
+</p>
+</li>
+<li>
+<p>
+All block elements are separated by line boundaries.
+</p>
+</li>
+<li>
+<p>
+<code>BlockId</code>, <code>AttributeEntry</code> and <code>AttributeList</code> block elements (not
+ shown) can occur almost anywhere.
+</p>
+</li>
+<li>
+<p>
+There are a number of document type and backend specific
+ restrictions imposed on the block syntax.
+</p>
+</li>
+<li>
+<p>
+The following elements cannot contain blank lines: Header, Title,
+ Paragraph, ItemText.
+</p>
+</li>
+<li>
+<p>
+A ListParagraph is a Paragraph with its <em>listelement</em> option set.
+</p>
+</li>
+<li>
+<p>
+A ListContinuation is a <a href="#X15">list continuation element</a>.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="X95">8.2. Header</h3>
+<div class="paragraph"><p>The Header contains document meta-data, typically title plus optional
+authorship and revision information:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+The Header is optional, but if it is used it must start with a
+ document <a href="#X17">title</a>.
+</p>
+</li>
+<li>
+<p>
+Optional Author and Revision information immediately follows the
+ header title.
+</p>
+</li>
+<li>
+<p>
+The document header must be separated from the remainder of the
+ document by one or more blank lines and cannot contain blank lines.
+</p>
+</li>
+<li>
+<p>
+The header can include comments.
+</p>
+</li>
+<li>
+<p>
+The header can include <a href="#X18">attribute entries</a>, typically
+ <em>doctype</em>, <em>lang</em>, <em>encoding</em>, <em>icons</em>, <em>data-uri</em>, <em>toc</em>,
+ <em>numbered</em>.
+</p>
+</li>
+<li>
+<p>
+Header attributes are overridden by command-line attributes.
+</p>
+</li>
+<li>
+<p>
+If the header contains non-UTF-8 characters then the <em>encoding</em> must
+ precede the header (either in the document or on the command-line).
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Here&#8217;s an example AsciiDoc document header:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Writing Documentation using AsciiDoc
+====================================
+Joe Bloggs &lt;jbloggs@mymail.com&gt;
+v2.0, February 2003:
+Rewritten for version 2 release.</code></pre>
+</div></div>
+<div class="paragraph"><p>The author information line contains the author&#8217;s name optionally
+followed by the author&#8217;s email address. The author&#8217;s name is formatted
+like:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>firstname[ [middlename ]lastname][ &lt;email&gt;]]</code></pre>
+</div></div>
+<div class="paragraph"><p>i.e. a first name followed by optional middle and last names followed
+by an email address in that order. Multi-word first, middle and last
+names can be entered using the underscore as a word separator. The
+email address comes last and must be enclosed in angle &lt;&gt; brackets.
+Here a some examples of author information lines:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Joe Bloggs &lt;jbloggs@mymail.com&gt;
+Joe Bloggs
+Vincent Willem van_Gogh</code></pre>
+</div></div>
+<div class="paragraph"><p>If the author line does not match the above specification then the
+entire author line is treated as the first name.</p></div>
+<div class="paragraph"><p>The optional revision information line follows the author information
+line. The revision information can be one of two formats:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+An optional document revision number followed by an optional
+ revision date followed by an optional revision remark:
+</p>
+<div class="openblock">
+<div class="content">
+<div class="ulist"><ul>
+<li>
+<p>
+If the revision number is specified it must be followed by a
+ comma.
+</p>
+</li>
+<li>
+<p>
+The revision number must contain at least one numeric character.
+</p>
+</li>
+<li>
+<p>
+Any non-numeric characters preceding the first numeric character
+ will be dropped.
+</p>
+</li>
+<li>
+<p>
+If a revision remark is specified it must be preceded by a colon.
+ The revision remark extends from the colon up to the next blank
+ line, attribute entry or comment and is subject to normal text
+ substitutions.
+</p>
+</li>
+<li>
+<p>
+If a revision number or remark has been set but the revision date
+ has not been set then the revision date is set to the value of the
+ <em>docdate</em> attribute.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>v2.0, February 2003
+February 2003
+v2.0,
+v2.0, February 2003: Rewritten for version 2 release.
+February 2003: Rewritten for version 2 release.
+v2.0,: Rewritten for version 2 release.
+:Rewritten for version 2 release.</code></pre>
+</div></div>
+</div></div>
+</li>
+<li>
+<p>
+The revision information line can also be an RCS/CVS/SVN $Id$
+ marker:
+</p>
+<div class="openblock">
+<div class="content">
+<div class="ulist"><ul>
+<li>
+<p>
+AsciiDoc extracts the <em>revnumber</em>, <em>revdate</em>, and <em>author</em>
+ attributes from the $Id$ revision marker and displays them in the
+ document header.
+</p>
+</li>
+<li>
+<p>
+If an $Id$ revision marker is used the header author line can be
+ omitted.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$Id: mydoc.txt,v 1.5 2009/05/17 17:58:44 jbloggs Exp $</code></pre>
+</div></div>
+</div></div>
+</li>
+</ol></div>
+<div class="paragraph"><p>You can override or set header parameters by passing <em>revnumber</em>,
+<em>revremark</em>, <em>revdate</em>, <em>email</em>, <em>author</em>, <em>authorinitials</em>,
+<em>firstname</em> and <em>lastname</em> attributes using the <code>asciidoc(1)</code> <code>-a</code>
+(<code>--attribute</code>) command-line option. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a revdate=2004/07/27 article.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>Attribute entries can also be added to the header for substitution in
+the header template with <a href="#X18">Attribute Entry</a> elements.</p></div>
+<div class="paragraph"><p>The <em>title</em> element in HTML outputs is set to the AsciiDoc document
+title, you can set it to a different value by including a <em>title</em>
+attribute entry in the document header.</p></div>
+<div class="sect3">
+<h4 id="X87">8.2.1. Additional document header information</h4>
+<div class="paragraph"><p>AsciiDoc has two mechanisms for optionally including additional
+meta-data in the header of the output document:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<em>docinfo</em> configuration file sections
+</dt>
+<dd>
+<p>
+If a <a href="#X7">configuration file</a> section named <em>docinfo</em> has been loaded
+then it will be included in the document header. Typically the
+<em>docinfo</em> section name will be prefixed with a <em>+</em> character so that it
+is appended to (rather than replace) other <em>docinfo</em> sections.
+</p>
+</dd>
+<dt class="hdlist1">
+<em>docinfo</em> files
+</dt>
+<dd>
+<p>
+Two docinfo files are recognized: one named <code>docinfo</code> and a second
+named like the AsciiDoc source file with a <code>-docinfo</code> suffix. For
+example, if the source document is called <code>mydoc.txt</code> then the
+document information files would be <code>docinfo.xml</code> and
+<code>mydoc-docinfo.xml</code> (for DocBook outputs) and <code>docinfo.html</code> and
+<code>mydoc-docinfo.html</code> (for HTML outputs). The <a href="#X97">docinfo</a> attributes control which docinfo files are included in
+the output files.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>The contents docinfo templates and files is dependent on the type of
+output:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+HTML
+</dt>
+<dd>
+<p>
+ Valid <em>head</em> child elements. Typically <em>style</em> and <em>script</em> elements
+ for CSS and JavaScript inclusion.
+</p>
+</dd>
+<dt class="hdlist1">
+DocBook
+</dt>
+<dd>
+<p>
+ Valid <em>articleinfo</em> or <em>bookinfo</em> child elements. DocBook defines
+ numerous elements for document meta-data, for example: copyrights,
+ document history and authorship information. See the DocBook
+ <code>./doc/article-docinfo.xml</code> example that comes with the AsciiDoc
+ distribution. The rendering of meta-data elements (or not) is
+ DocBook processor dependent.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="X86">8.3. Preamble</h3>
+<div class="paragraph"><p>The Preamble is an optional untitled section body between the document
+Header and the first Section title.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_sections">8.4. Sections</h3>
+<div class="paragraph"><p>In addition to the document title (level 0), AsciiDoc supports four
+section levels: 1 (top) to 4 (bottom). Section levels are delimited
+by section <a href="#X17">titles</a>. Sections are translated using
+configuration file <a href="#X93">section markup templates</a>. AsciiDoc
+generates the following <a href="#X60">intrinsic attributes</a> specifically for
+use in section markup templates:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+level
+</dt>
+<dd>
+<p>
+The <code>level</code> attribute is the section level number, it is normally just
+the <a href="#X17">title</a> level number (1..4). However, if the <code>leveloffset</code>
+attribute is defined it will be added to the <code>level</code> attribute. The
+<code>leveloffset</code> attribute is useful for <a href="#X90">combining documents</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+sectnum
+</dt>
+<dd>
+<p>
+The <code>-n</code> (<code>--section-numbers</code>) command-line option generates the
+<code>sectnum</code> (section number) attribute. The <code>sectnum</code> attribute is used
+for section numbers in HTML outputs (DocBook section numbering are
+handled automatically by the DocBook toolchain commands).
+</p>
+</dd>
+</dl></div>
+<div class="sect3">
+<h4 id="X93">8.4.1. Section markup templates</h4>
+<div class="paragraph"><p>Section markup templates specify output markup and are defined in
+AsciiDoc configuration files. Section markup template names are
+derived as follows (in order of precedence):</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+From the title&#8217;s first positional attribute or <em>template</em>
+ attribute. For example, the following three section titles are
+ functionally equivalent:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>[[terms]]
+[glossary]
+List of Terms
+-------------
+
+["glossary",id="terms"]
+List of Terms
+-------------
+
+[template="glossary",id="terms"]
+List of Terms
+-------------</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+When the title text matches a configuration file
+ <a href="#X16"><code>[specialsections]</code></a> entry.
+</p>
+</li>
+<li>
+<p>
+If neither of the above the default <code>sect&lt;level&gt;</code> template is used
+ (where <code>&lt;level&gt;</code> is a number from 1 to 4).
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>In addition to the normal section template names (<em>sect1</em>, <em>sect2</em>,
+<em>sect3</em>, <em>sect4</em>) AsciiDoc has the following templates for
+frontmatter, backmatter and other special sections: <em>abstract</em>,
+<em>preface</em>, <em>colophon</em>, <em>dedication</em>, <em>glossary</em>, <em>bibliography</em>,
+<em>synopsis</em>, <em>appendix</em>, <em>index</em>. These special section templates
+generate the corresponding Docbook elements; for HTML outputs they
+default to the <em>sect1</em> section template.</p></div>
+</div>
+<div class="sect3">
+<h4 id="_section_ids">8.4.2. Section IDs</h4>
+<div class="paragraph"><p>If no explicit section ID is specified an ID will be synthesised from
+the section title. The primary purpose of this feature is to ensure
+persistence of table of contents links (permalinks): the missing
+section IDs are generated dynamically by the JavaScript TOC generator
+<strong>after</strong> the page is loaded. If you link to a dynamically generated TOC
+address the page will load but the browser will ignore the (as yet
+ungenerated) section ID.</p></div>
+<div class="paragraph"><p>The IDs are generated by the following algorithm:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Replace all non-alphanumeric title characters with underscores.
+</p>
+</li>
+<li>
+<p>
+Strip leading or trailing underscores.
+</p>
+</li>
+<li>
+<p>
+Convert to lowercase.
+</p>
+</li>
+<li>
+<p>
+Prepend the <code>idprefix</code> attribute (so there&#8217;s no possibility of name
+ clashes with existing document IDs). Prepend an underscore if the
+ <code>idprefix</code> attribute is not defined.
+</p>
+</li>
+<li>
+<p>
+A numbered suffix (<code>_2</code>, <code>_3</code> &#8230;) is added if a same named
+ auto-generated section ID exists.
+</p>
+</li>
+<li>
+<p>
+If the <code>ascii-ids</code> attribute is defined then non-ASCII characters
+ are replaced with ASCII equivalents. This attribute should be
+ <strong>should be avoided</strong> if possible as its sole purpose is to accommodate
+ deficient downstream applications that cannot process non-ASCII ID
+ attributes. If available, it will use the
+ <a href="https://pypi.org/project/trans/">trans python module</a>, otherwise it
+ will fallback to using NFKD algorithm, which cannot handle all
+ unicode characters. For example, <em>Wstęp żółtej łąki</em> will be
+ translated to <em>Wstep zoltej laki</em> under trans and <em>Wstep zotej aki</em>
+ under NFKD.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Example: the title <em>Jim&#8217;s House</em> would generate the ID <code>_jim_s_house</code>.</p></div>
+<div class="paragraph"><p>Section ID synthesis can be disabled by undefining the <code>sectids</code>
+attribute.</p></div>
+</div>
+<div class="sect3">
+<h4 id="X16">8.4.3. Special Section Titles</h4>
+<div class="paragraph"><p>AsciiDoc has a mechanism for mapping predefined section titles
+auto-magically to specific markup templates. For example a title
+<em>Appendix A: Code Reference</em> will automatically use the <em>appendix</em>
+<a href="#X93">section markup template</a>. The mappings from title to template
+name are specified in <code>[specialsections]</code> sections in the Asciidoc
+language configuration files (<code>lang-*.conf</code>). Section entries are
+formatted like:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;title&gt;=&lt;template&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p><code>&lt;title&gt;</code> is a Python regular expression and <code>&lt;template&gt;</code> is the name
+of a configuration file markup template section. If the <code>&lt;title&gt;</code>
+matches an AsciiDoc document section title then the backend output is
+marked up using the <code>&lt;template&gt;</code> markup template (instead of the
+default <code>sect&lt;level&gt;</code> section template). The <code>{title}</code> attribute value
+is set to the value of the matched regular expression group named
+<em>title</em>, if there is no <em>title</em> group <code>{title}</code> defaults to the whole
+of the AsciiDoc section title. If <code>&lt;template&gt;</code> is blank then any
+existing entry with the same <code>&lt;title&gt;</code> will be deleted.</p></div>
+<div class="sidebarblock">
+<div class="content">
+<div class="title">Special section titles vs. explicit template names</div>
+<div class="paragraph"><p>AsciiDoc has two mechanisms for specifying non-default section markup
+templates: you can specify the template name explicitly (using the
+<em>template</em> attribute) or indirectly (using <em>special section titles</em>).
+Specifying a <a href="#X93">section template</a> attribute explicitly is
+preferred. Auto-magical <em>special section titles</em> have the following
+drawbacks:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+They are non-obvious, you have to know the exact matching
+ title for each special section on a language by language basis.
+</p>
+</li>
+<li>
+<p>
+Section titles are predefined and can only be customised with a
+ configuration change.
+</p>
+</li>
+<li>
+<p>
+The implementation is complicated by multiple languages: every
+ special section title has to be defined for each language (in each
+ of the <code>lang-*.conf</code> files).
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Specifying special section template names explicitly does add more
+noise to the source document (the <em>template</em> attribute declaration),
+but the intention is obvious and the syntax is consistent with other
+AsciiDoc elements c.f. bibliographic, Q&amp;A and glossary lists.</p></div>
+<div class="paragraph"><p>Special section titles have been deprecated but are retained for
+backward compatibility.</p></div>
+</div></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_inline_elements">8.5. Inline Elements</h3>
+<div class="paragraph"><p><a href="#X34">Inline document elements</a> are used to format text and to
+perform various types of text substitution. Inline elements and inline
+element syntax is defined in the <code>asciidoc(1)</code> configuration files.</p></div>
+<div class="paragraph"><p>Here is a list of AsciiDoc inline elements in the (default) order in
+which they are processed:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+Special characters
+</dt>
+<dd>
+<p>
+ These character sequences escape special characters used by
+ the backend markup (typically <code>&lt;</code>, <code>&gt;</code>, and <code>&amp;</code> characters).
+ See <code>[specialcharacters]</code> configuration file sections.
+</p>
+</dd>
+<dt class="hdlist1">
+Quotes
+</dt>
+<dd>
+<p>
+ Elements that markup words and phrases; usually for character
+ formatting. See <code>[quotes]</code> configuration file sections.
+</p>
+</dd>
+<dt class="hdlist1">
+Special Words
+</dt>
+<dd>
+<p>
+ Word or word phrase patterns singled out for markup without
+ the need for further annotation. See <code>[specialwords]</code>
+ configuration file sections.
+</p>
+</dd>
+<dt class="hdlist1">
+Replacements
+</dt>
+<dd>
+<p>
+ Each replacement defines a word or word phrase pattern to
+ search for along with corresponding replacement text. See
+ <code>[replacements]</code> configuration file sections.
+</p>
+</dd>
+<dt class="hdlist1">
+Attribute references
+</dt>
+<dd>
+<p>
+ Document attribute names enclosed in braces are replaced by
+ the corresponding attribute value.
+</p>
+</dd>
+<dt class="hdlist1">
+Inline Macros
+</dt>
+<dd>
+<p>
+ Inline macros are replaced by the contents of parametrized
+ configuration file sections.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_document_processing">9. Document Processing</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The AsciiDoc source document is read and processed as follows:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+The document <em>Header</em> is parsed, header parameter values are
+ substituted into the configuration file <code>[header]</code> template section
+ which is then written to the output file.
+</p>
+</li>
+<li>
+<p>
+Each document <em>Section</em> is processed and its constituent elements
+ translated to the output file.
+</p>
+</li>
+<li>
+<p>
+The configuration file <code>[footer]</code> template section is substituted
+ and written to the output file.
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>When a block element is encountered <code>asciidoc(1)</code> determines the type of
+block by checking in the following order (first to last): (section)
+Titles, BlockMacros, Lists, DelimitedBlocks, Tables, AttributeEntrys,
+AttributeLists, BlockTitles, Paragraphs.</p></div>
+<div class="paragraph"><p>The default paragraph definition <code>[paradef-default]</code> is last element
+to be checked.</p></div>
+<div class="paragraph"><p>Knowing the parsing order will help you devise unambiguous macro, list
+and block syntax rules.</p></div>
+<div class="paragraph"><p>Inline substitutions within block elements are performed in the
+following default order:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Special characters
+</p>
+</li>
+<li>
+<p>
+Quotes
+</p>
+</li>
+<li>
+<p>
+Special words
+</p>
+</li>
+<li>
+<p>
+Replacements
+</p>
+</li>
+<li>
+<p>
+Attributes
+</p>
+</li>
+<li>
+<p>
+Inline Macros
+</p>
+</li>
+<li>
+<p>
+Replacements2
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>The substitutions and substitution order performed on
+Title, Paragraph and DelimitedBlock elements is determined by
+configuration file parameters.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_text_formatting">10. Text Formatting</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="X51">10.1. Quoted Text</h3>
+<div class="paragraph"><p>Words and phrases can be formatted by enclosing inline text with
+quote characters:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<em>Emphasized text</em>
+</dt>
+<dd>
+<p>
+ Word phrases 'enclosed in single quote characters' (acute
+ accents) or _underline characters_ are emphasized.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Strong text</strong>
+</dt>
+<dd>
+<p>
+ Word phrases *enclosed in asterisk characters* are rendered
+ in a strong font (usually bold).
+</p>
+</dd>
+<dt class="hdlist1">
+<a id="X81"></a><code>Monospaced text</code>
+</dt>
+<dd>
+<p>
+ Word phrases +enclosed in plus characters+ are rendered in a
+ monospaced font. Word phrases `enclosed in backtick
+ characters` (grave accents) are also rendered in a monospaced
+ font but in this case the enclosed text is rendered literally
+ and is not subject to further expansion (see <a href="#X80">inline literal passthrough</a>).
+</p>
+</dd>
+<dt class="hdlist1">
+&#8216;Single quoted text&#8217;
+</dt>
+<dd>
+<p>
+ Phrases enclosed with a `single grave accent to the left and
+ a single acute accent to the right' are rendered in single
+ quotation marks.
+</p>
+</dd>
+<dt class="hdlist1">
+&#8220;Double quoted text&#8221;
+</dt>
+<dd>
+<p>
+ Phrases enclosed with ``two grave accents to the left and
+ two acute accents to the right'' are rendered in quotation
+ marks.
+</p>
+</dd>
+<dt class="hdlist1">
+Unquoted text
+</dt>
+<dd>
+<p>
+ Placing #hashes around text# does nothing, it is a mechanism
+ to allow inline attributes to be applied to otherwise
+ unformatted text.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>New quote types can be defined by editing <code>asciidoc(1)</code> configuration
+files. See the <a href="#X7">Configuration Files</a> section for details.</p></div>
+<div class="ulist"><div class="title">Quoted text behavior</div><ul>
+<li>
+<p>
+Quoting cannot be overlapped.
+</p>
+</li>
+<li>
+<p>
+Different quoting types can be nested.
+</p>
+</li>
+<li>
+<p>
+To suppress quoted text formatting place a backslash character
+ immediately in front of the leading quote character(s). In the case
+ of ambiguity between escaped and non-escaped text you will need to
+ escape both leading and trailing quotes, in the case of
+ multi-character quotes you may even need to escape individual
+ characters.
+</p>
+</li>
+</ul></div>
+<div class="sect3">
+<h4 id="X96">10.1.1. Quoted text attributes</h4>
+<div class="paragraph"><p>Quoted text can be prefixed with an <a href="#X21">attribute list</a>. The first
+positional attribute (<em>role</em> attribute) is translated by AsciiDoc to
+an HTML <em>span</em> element <em>class</em> attribute or a DocBook <em>phrase</em> element
+<em>role</em> attribute.</p></div>
+<div class="paragraph"><p>DocBook XSL Stylesheets translate DocBook <em>phrase</em> elements with
+<em>role</em> attributes to corresponding HTML <em>span</em> elements with the same
+<em>class</em> attributes; CSS can then be used
+<a href="http://www.sagehill.net/docbookxsl/UsingCSS.html">to style the
+generated HTML</a>. Thus CSS styling can be applied to both DocBook and
+AsciiDoc generated HTML outputs. You can also specify multiple class
+names separated by spaces.</p></div>
+<div class="paragraph"><p>CSS rules for text color, text background color, text size and text
+decorators are included in the distributed AsciiDoc CSS files and are
+used in conjunction with AsciiDoc <em>xhtml11</em>, <em>html5</em> and <em>docbook</em>
+outputs. The CSS class names are:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<em>&lt;color&gt;</em> (text foreground color).
+</p>
+</li>
+<li>
+<p>
+<em>&lt;color&gt;-background</em> (text background color).
+</p>
+</li>
+<li>
+<p>
+<em>big</em> and <em>small</em> (text size).
+</p>
+</li>
+<li>
+<p>
+<em>underline</em>, <em>overline</em> and <em>line-through</em> (strike through) text
+ decorators.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Where <em>&lt;color&gt;</em> can be any of the
+<a href="http://en.wikipedia.org/wiki/Web_colors#HTML_color_names">sixteen HTML
+color names</a>. Examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[red]#Obvious# and [big red yellow-background]*very obvious*.</code></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[underline]#Underline text#, [overline]#overline text# and
+[blue line-through]*bold blue and line-through*.</code></pre>
+</div></div>
+<div class="paragraph"><p>is rendered as:</p></div>
+<div class="paragraph"><p><span class="red">Obvious</span> and <strong><span class="big red yellow-background">very obvious</span></strong>.</p></div>
+<div class="paragraph"><p><span class="underline">Underline text</span>, <span class="overline">overline text</span> and
+<strong><span class="bold blue line-through">bold blue and line-through</span></strong>.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">Color and text decorator attributes are rendered for XHTML and
+HTML 5 outputs using CSS stylesheets. The mechanism to implement
+color and text decorator attributes is provided for DocBook toolchains
+via the DocBook <em>phrase</em> element <em>role</em> attribute, but the actual
+rendering is toolchain specific and is not part of the AsciiDoc
+distribution.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect3">
+<h4 id="X52">10.1.2. Constrained and Unconstrained Quotes</h4>
+<div class="paragraph"><p>There are actually two types of quotes:</p></div>
+<div class="sect4">
+<h5 id="_constrained_quotes">Constrained quotes</h5>
+<div class="paragraph"><p>Quoted must be bounded by white space or commonly adjoining
+punctuation characters. These are the most commonly used type of
+quote.</p></div>
+</div>
+<div class="sect4">
+<h5 id="_unconstrained_quotes">Unconstrained quotes</h5>
+<div class="paragraph"><p>Unconstrained quotes have no boundary constraints and can be placed
+anywhere within inline text. For consistency and to make them easier
+to remember unconstrained quotes are double-ups of the <code>_</code>, <code>*</code>, <code>+</code>
+and <code>#</code> constrained quotes:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>__unconstrained emphasized text__
+**unconstrained strong text**
+++unconstrained monospaced text++
+##unconstrained unquoted text##</code></pre>
+</div></div>
+<div class="paragraph"><p>The following example emboldens the letter F:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>**F**ile Open...</code></pre>
+</div></div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_superscripts_and_subscripts">10.2. Superscripts and Subscripts</h3>
+<div class="paragraph"><p>Put ^carets on either^ side of the text to be superscripted, put
+~tildes on either side~ of text to be subscripted. For example, the
+following line:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>e^&amp;#960;i^+1 = 0. H~2~O and x^10^. Some ^super text^
+and ~some sub text~</code></pre>
+</div></div>
+<div class="paragraph"><p>Is rendered like:</p></div>
+<div class="paragraph"><p>e<sup>&#960;i</sup>+1 = 0. H<sub>2</sub>O and x<sup>10</sup>. Some <sup>super text</sup>
+and <sub>some sub text</sub></p></div>
+<div class="paragraph"><p>Superscripts and subscripts are implemented as <a href="#X52">unconstrained quotes</a> and they can be escaped with a leading backslash and prefixed
+with with an attribute list.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_line_breaks">10.3. Line Breaks</h3>
+<div class="paragraph"><p>A plus character preceded by at least one space character at the end
+of a non-blank line forces a line break. It generates a line break
+(<code>br</code>) tag for HTML outputs and a custom XML <code>asciidoc-br</code> processing
+instruction for DocBook outputs. The <code>asciidoc-br</code> processing
+instruction is handled by <a href="#X43"><code>a2x(1)</code></a>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_page_breaks">10.4. Page Breaks</h3>
+<div class="paragraph"><p>A line of three or more less-than (<code>&lt;&lt;&lt;</code>) characters will generate a
+hard page break in DocBook and printed HTML outputs. It uses the CSS
+<code>page-break-after</code> property for HTML outputs and a custom XML
+<code>asciidoc-pagebreak</code> processing instruction for DocBook outputs. The
+<code>asciidoc-pagebreak</code> processing instruction is handled by
+<a href="#X43"><code>a2x(1)</code></a>. Hard page breaks are sometimes handy but as a general
+rule you should let your page processor generate page breaks for you.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_rulers">10.5. Rulers</h3>
+<div class="paragraph"><p>A line of three or more apostrophe characters will generate a ruler
+line. It generates a ruler (<code>hr</code>) tag for HTML outputs and a custom
+XML <code>asciidoc-hr</code> processing instruction for DocBook outputs. The
+<code>asciidoc-hr</code> processing instruction is handled by <a href="#X43"><code>a2x(1)</code></a>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_tabs">10.6. Tabs</h3>
+<div class="paragraph"><p>By default tab characters input files will translated to 8 spaces. Tab
+expansion is set with the <em>tabsize</em> entry in the configuration file
+<code>[miscellaneous]</code> section and can be overridden in included files by
+setting a <em>tabsize</em> attribute in the <code>include</code> macro&#8217;s attribute list.
+For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>include::addendum.txt[tabsize=2]</code></pre>
+</div></div>
+<div class="paragraph"><p>The tab size can also be set using the attribute command-line option,
+for example <code>--attribute tabsize=4</code></p></div>
+</div>
+<div class="sect2">
+<h3 id="_replacements">10.7. Replacements</h3>
+<div class="paragraph"><p>The following replacements are defined in the default AsciiDoc
+configuration:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>(C) copyright, (TM) trademark, (R) registered trademark,
+-- em dash, ... ellipsis, -&gt; right arrow, &lt;- left arrow, =&gt; right
+double arrow, &lt;= left double arrow.</code></pre>
+</div></div>
+<div class="paragraph"><p>Which are rendered as:</p></div>
+<div class="paragraph"><p>&#169; copyright, &#8482; trademark, &#174; registered trademark,&#8201;&#8212;&#8201;em dash, &#8230; ellipsis, &#8594; right arrow, &#8592; left arrow, &#8658; right
+double arrow, &#8656; left double arrow.</p></div>
+<div class="paragraph"><p>You can also include arbitrary entity references in the AsciiDoc
+source. Examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&amp;#x278a; &amp;#182;</code></pre>
+</div></div>
+<div class="paragraph"><p>renders:</p></div>
+<div class="paragraph"><p>&#x278a; &#182;</p></div>
+<div class="paragraph"><p>To render a replacement literally escape it with a leading back-slash.</p></div>
+<div class="paragraph"><p>The <a href="#X7">Configuration Files</a> section explains how to configure your
+own replacements.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_special_words">10.8. Special Words</h3>
+<div class="paragraph"><p>Words defined in <code>[specialwords]</code> configuration file sections are
+automatically marked up without having to be explicitly notated.</p></div>
+<div class="paragraph"><p>The <a href="#X7">Configuration Files</a> section explains how to add and replace
+special words.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X17">11. Titles</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Document and section titles can be in either of two formats:</p></div>
+<div class="sect2">
+<h3 id="_two_line_titles">11.1. Two line titles</h3>
+<div class="paragraph"><p>A two line title consists of a title line, starting hard against the
+left margin, and an underline. Section underlines consist a repeated
+character pairs spanning the width of the preceding title (give or
+take up to two characters):</p></div>
+<div class="paragraph"><p>The default title underlines for each of the document levels are:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Level 0 (top level): ======================
+Level 1: ----------------------
+Level 2: ~~~~~~~~~~~~~~~~~~~~~~
+Level 3: ^^^^^^^^^^^^^^^^^^^^^^
+Level 4 (bottom level): ++++++++++++++++++++++</code></pre>
+</div></div>
+<div class="paragraph"><p>Examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Level One Section Title
+-----------------------</code></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Level 2 Subsection Title
+~~~~~~~~~~~~~~~~~~~~~~~~</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X46">11.2. One line titles</h3>
+<div class="paragraph"><p>One line titles consist of a single line delimited on either side by
+one or more equals characters (the number of equals characters
+corresponds to the section level minus one). Here are some examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>= Document Title (level 0) =
+== Section title (level 1) ==
+=== Section title (level 2) ===
+==== Section title (level 3) ====
+===== Section title (level 4) =====</code></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">
+<div class="ulist"><ul>
+<li>
+<p>
+One or more spaces must fall between the title and the delimiters.
+</p>
+</li>
+<li>
+<p>
+The trailing title delimiter is optional.
+</p>
+</li>
+<li>
+<p>
+The one-line title syntax can be changed by editing the
+ configuration file <code>[titles]</code> section <code>sect0</code>&#8230;<code>sect4</code> entries.
+</p>
+</li>
+</ul></div>
+</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_floating_titles">11.3. Floating titles</h3>
+<div class="paragraph"><p>Setting the title&#8217;s first positional attribute or <em>style</em> attribute to
+<em>float</em> generates a free-floating title. A free-floating title is
+rendered just like a normal section title but is not formally
+associated with a text body and is not part of the regular section
+hierarchy so the normal ordering rules do not apply. Floating titles
+can also be used in contexts where section titles are illegal: for
+example sidebar and admonition blocks. Example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[float]
+The second day
+~~~~~~~~~~~~~~</code></pre>
+</div></div>
+<div class="paragraph"><p>Floating titles do not appear in a document&#8217;s table of contents.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X42">12. Block Titles</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>A <em>BlockTitle</em> element is a single line beginning with a period
+followed by the title text. A BlockTitle is applied to the immediately
+following Paragraph, DelimitedBlock, List, Table or BlockMacro. For
+example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>.Notes
+- Note 1.
+- Note 2.</code></pre>
+</div></div>
+<div class="paragraph"><p>is rendered as:</p></div>
+<div class="ulist"><div class="title">Notes</div><ul>
+<li>
+<p>
+Note 1.
+</p>
+</li>
+<li>
+<p>
+Note 2.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X41">13. BlockId Element</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>A <em>BlockId</em> is a single line block element containing a unique
+identifier enclosed in double square brackets. It is used to assign an
+identifier to the ensuing block element. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[[chapter-titles]]
+Chapter titles can be ...</code></pre>
+</div></div>
+<div class="paragraph"><p>The preceding example identifies the ensuing paragraph so it can be
+referenced from other locations, for example with
+<code>&lt;&lt;chapter-titles,chapter titles&gt;&gt;</code>.</p></div>
+<div class="paragraph"><p><em>BlockId</em> elements can be applied to Title, Paragraph, List,
+DelimitedBlock, Table and BlockMacro elements. The BlockId element
+sets the <code>{id}</code> attribute for substitution in the subsequent block&#8217;s
+markup template. If a second positional argument is supplied it sets
+the <code>{reftext}</code> attribute which is used to set the DocBook <code>xreflabel</code>
+attribute.</p></div>
+<div class="paragraph"><p>The <em>BlockId</em> element has the same syntax and serves the same function
+to the <a href="#X30">anchor inline macro</a>.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X79">14. AttributeList Element</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>An <em>AttributeList</em> block element is an <a href="#X21">attribute list</a> on a
+line by itself:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<em>AttributeList</em> attributes are only applied to the immediately
+ following block element&#8201;&#8212;&#8201;the attributes are made available to the
+ block&#8217;s markup template.
+</p>
+</li>
+<li>
+<p>
+Multiple contiguous <em>AttributeList</em> elements are additively combined
+ in the order they appear.
+</p>
+</li>
+<li>
+<p>
+The first positional attribute in the list is often used to specify
+ the ensuing element&#8217;s <a href="#X23">style</a>.
+</p>
+</li>
+</ul></div>
+<div class="sect2">
+<h3 id="_attribute_value_substitution">14.1. Attribute value substitution</h3>
+<div class="paragraph"><p>By default, only substitutions that take place inside attribute list
+values are attribute references, this is because not all attributes
+are destined to be marked up and rendered as text (for example the
+table <em>cols</em> attribute). To perform normal inline text substitutions
+(special characters, quotes, macros, replacements) on an attribute
+value you need to enclose it in single quotes. In the following quote
+block the second attribute value in the AttributeList is quoted to
+ensure the <em>http</em> macro is expanded to a hyperlink.</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[quote,'http://en.wikipedia.org/wiki/Samuel_Johnson[Samuel Johnson]']
+_____________________________________________________________________
+Sir, a woman's preaching is like a dog's walking on his hind legs. It
+is not done well; but you are surprised to find it done at all.
+_____________________________________________________________________</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_common_attributes">14.2. Common attributes</h3>
+<div class="paragraph"><p>Most block elements support the following attributes:</p></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+<thead>
+<tr>
+<th align="left" valign="top">Name </th>
+<th align="left" valign="top">Backends </th>
+<th align="left" valign="top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><em>id</em></p></td>
+<td align="left" valign="top"><p class="table">html4, html5, xhtml11, docbook</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Unique identifier typically serve as link targets.
+Can also be set by the <em>BlockId</em> element.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>role</em></p></td>
+<td align="left" valign="top"><p class="table">html4, html5, xhtml11, docbook</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Role contains a string used to classify or subclassify an element and
+can be applied to AsciiDoc block elements. The AsciiDoc <em>role</em>
+attribute is translated to the <em>role</em> attribute in DocBook outputs and
+is included in the <em>class</em> attribute in HTML outputs, in this respect
+it behaves like the <a href="#X96">quoted text role attribute</a>.</p></div>
+<div class="paragraph"><p>DocBook XSL Stylesheets translate DocBook <em>role</em> attributes to HTML
+<em>class</em> attributes; CSS can then be used
+<a href="http://www.sagehill.net/docbookxsl/UsingCSS.html">to style the
+generated HTML</a>.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>reftext</em></p></td>
+<td align="left" valign="top"><p class="table">docbook</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p><em>reftext</em> is used to set the DocBook <em>xreflabel</em> attribute.
+The <em>reftext</em> attribute can an also be set by the <em>BlockId</em> element.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>floatstyle</em></p></td>
+<td align="left" valign="top"><p class="table">docbook</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p><em>floatstyle</em> is used to specify the floatstyle attribute for the
+titled table, example, image and equation blocks. This is useful when
+used in conjuction with the dblatex toolchain. A typical example
+would be to specify the value as <em>floatstyle="[htbp]"</em>.</p></div></div></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_paragraphs">15. Paragraphs</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Paragraphs are blocks of text terminated by a blank line, the end of
+file, or the start of a delimited block or a list. There are three
+paragraph syntaxes: normal, indented (literal) and admonition which
+are rendered, by default, with the corresponding paragraph style.</p></div>
+<div class="paragraph"><p>Each syntax has a default style, but you can explicitly apply any
+paragraph style to any paragraph syntax. You can also apply
+<a href="#X104">delimited block</a> styles to single paragraphs.</p></div>
+<div class="paragraph"><p>The built-in paragraph styles are: <em>normal</em>, <em>literal</em>, <em>verse</em>,
+<em>quote</em>, <em>listing</em>, <em>TIP</em>, <em>NOTE</em>, <em>IMPORTANT</em>, <em>WARNING</em>, <em>CAUTION</em>,
+<em>abstract</em>, <em>partintro</em>, <em>comment</em>, <em>example</em>, <em>sidebar</em>, <em>source</em>,
+<em>music</em>, <em>latex</em>, <em>graphviz</em>.</p></div>
+<div class="sect2">
+<h3 id="_normal_paragraph_syntax">15.1. normal paragraph syntax</h3>
+<div class="paragraph"><p>Normal paragraph syntax consists of one or more non-blank lines of
+text. The first line must start hard against the left margin (no
+intervening white space). The default processing expectation is that
+of a normal paragraph of text.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X85">15.2. literal paragraph syntax</h3>
+<div class="paragraph"><p>Literal paragraphs are rendered verbatim in a monospaced font without
+any distinguishing background or border. By default there is no text
+formatting or substitutions within Literal paragraphs apart from
+Special Characters and Callouts.</p></div>
+<div class="paragraph"><p>The <em>literal</em> style is applied implicitly to indented paragraphs i.e.
+where the first line of the paragraph is indented by one or more space
+or tab characters. For example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code> Consul *necessitatibus* per id,
+ consetetur, eu pro everti postulant
+ homero verear ea mea, qui.</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</code></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">Because <a href="#X64">lists</a> can be indented it&#8217;s possible for your
+indented paragraph to be misinterpreted as a list&#8201;&#8212;&#8201;in situations
+like this apply the <em>literal</em> style to a normal paragraph.</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>Instead of using a paragraph indent you could apply the <em>literal</em>
+style explicitly, for example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[literal]
+Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X94">15.3. quote and verse paragraph styles</h3>
+<div class="paragraph"><p>The optional <em>attribution</em> and <em>citetitle</em> attributes (positional
+attributes 2 and 3) specify the author and source respectively.</p></div>
+<div class="paragraph"><p>The <em>verse</em> style retains the line breaks, for example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[verse, William Blake, from Auguries of Innocence]
+To see a world in a grain of sand,
+And a heaven in a wild flower,
+Hold infinity in the palm of your hand,
+And eternity in an hour.</code></pre>
+</div></div>
+<div class="paragraph"><p>Which is rendered as:</p></div>
+<div class="verseblock">
+<pre class="content">To see a world in a grain of sand,
+And a heaven in a wild flower,
+Hold infinity in the palm of your hand,
+And eternity in an hour.</pre>
+<div class="attribution">
+<em>from Auguries of Innocence</em><br />
+&#8212; William Blake
+</div></div>
+<div class="paragraph"><p>The <em>quote</em> style flows the text at left and right margins, for
+example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[quote, Bertrand Russell, The World of Mathematics (1956)]
+A good notation has subtlety and suggestiveness which at times makes
+it almost seem like a live teacher.</code></pre>
+</div></div>
+<div class="paragraph"><p>Which is rendered as:</p></div>
+<div class="quoteblock">
+<div class="content">A good notation has subtlety and suggestiveness which at times makes
+it almost seem like a live teacher.</div>
+<div class="attribution">
+<em>The World of Mathematics (1956)</em><br />
+&#8212; Bertrand Russell
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X28">15.4. Admonition Paragraphs</h3>
+<div class="paragraph"><p><em>TIP</em>, <em>NOTE</em>, <em>IMPORTANT</em>, <em>WARNING</em> and <em>CAUTION</em> admonishment
+paragraph styles are generated by placing <code>NOTE:</code>, <code>TIP:</code>,
+<code>IMPORTANT:</code>, <code>WARNING:</code> or <code>CAUTION:</code> as the first word of the
+paragraph. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>NOTE: This is an example note.</code></pre>
+</div></div>
+<div class="paragraph"><p>Alternatively, you can specify the paragraph admonition style
+explicitly using an <a href="#X79">AttributeList element</a>. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[NOTE]
+This is an example note.</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">This is an example note.</td>
+</tr></table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">If your admonition requires more than a single paragraph use an
+<a href="#X22">admonition block</a> instead.</td>
+</tr></table>
+</div>
+<div class="sect3">
+<h4 id="X47">15.4.1. Admonition Icons and Captions</h4>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">Admonition customization with <code>icons</code>, <code>iconsdir</code>, <code>icon</code> and
+<code>caption</code> attributes does not apply when generating DocBook output. If
+you are going the DocBook route then the <a href="#X43"><code>a2x(1)</code></a> <code>--no-icons</code>
+and <code>--icons-dir</code> options can be used to set the appropriate XSL
+Stylesheets parameters.</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>By default the <code>asciidoc(1)</code> HTML backends generate text captions
+instead of admonition icon image links. To generate links to icon
+images define the <a href="#X45"><code>icons</code></a> attribute, for example using the <code>-a
+icons</code> command-line option.</p></div>
+<div class="paragraph"><p>The <a href="#X44"><code>iconsdir</code></a> attribute sets the location of linked icon
+images.</p></div>
+<div class="paragraph"><p>You can override the default icon image using the <code>icon</code> attribute to
+specify the path of the linked image. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[icon="./images/icons/wink.png"]
+NOTE: What lovely war.</code></pre>
+</div></div>
+<div class="paragraph"><p>Use the <code>caption</code> attribute to customize the admonition captions (not
+applicable to <code>docbook</code> backend). The following example suppresses the
+icon image and customizes the caption of a <em>NOTE</em> admonition
+(undefining the <code>icons</code> attribute with <code>icons=None</code> is only necessary
+if <a href="#X45">admonition icons</a> have been enabled):</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[icons=None, caption="My Special Note"]
+NOTE: This is my special note.</code></pre>
+</div></div>
+<div class="paragraph"><p>This subsection also applies to <a href="#X22">Admonition Blocks</a>.</p></div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X104">16. Delimited Blocks</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Delimited blocks are blocks of text enveloped by leading and trailing
+delimiter lines (normally a series of four or more repeated
+characters). The behavior of Delimited Blocks is specified by entries
+in configuration file <code>[blockdef-*]</code> sections.</p></div>
+<div class="sect2">
+<h3 id="_predefined_delimited_blocks">16.1. Predefined Delimited Blocks</h3>
+<div class="paragraph"><p>AsciiDoc ships with a number of predefined DelimitedBlocks (see the
+<code>asciidoc.conf</code> configuration file in the <code>asciidoc(1)</code> program
+directory):</p></div>
+<div class="paragraph"><p>Predefined delimited block underlines:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>CommentBlock: //////////////////////////
+PassthroughBlock: ++++++++++++++++++++++++++
+ListingBlock: --------------------------
+LiteralBlock: ..........................
+SidebarBlock: **************************
+QuoteBlock: __________________________
+ExampleBlock: ==========================
+OpenBlock: --</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 3. Default DelimitedBlock substitutions</caption>
+<col />
+<col />
+<col />
+<col />
+<col />
+<col />
+<col />
+<col />
+<thead>
+<tr>
+<th align="left" valign="top"> </th>
+<th align="center" valign="top">Attributes </th>
+<th align="center" valign="top">Callouts </th>
+<th align="center" valign="top">Macros </th>
+<th align="center" valign="top"> Quotes </th>
+<th align="center" valign="top">Replacements</th>
+<th align="center" valign="top">Special chars </th>
+<th align="center" valign="top">Special words</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><em>PassthroughBlock</em></p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>ListingBlock</em></p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>LiteralBlock</em></p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>SidebarBlock</em></p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>QuoteBlock</em></p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>ExampleBlock</em></p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>OpenBlock</em></p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_listing_blocks">16.2. Listing Blocks</h3>
+<div class="paragraph"><p><em>ListingBlocks</em> are rendered verbatim in a monospaced font, they
+retain line and whitespace formatting and are often distinguished by a
+background or border. There is no text formatting or substitutions
+within Listing blocks apart from Special Characters and Callouts.
+Listing blocks are often used for computer output and file listings.</p></div>
+<div class="paragraph"><p>Here&#8217;s an example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>--------------------------------------
+#include &lt;stdio.h&gt;
+
+int main() {
+ printf("Hello World!\n");
+ exit(0);
+}
+--------------------------------------</code></pre>
+</div></div>
+<div class="paragraph"><p>Which will be rendered like:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>#include &lt;stdio.h&gt;
+
+int main() {
+ printf("Hello World!\n");
+ exit(0);
+}</code></pre>
+</div></div>
+<div class="paragraph"><p>By convention <a href="#X59">filter blocks</a> use the listing block syntax and
+are implemented as distinct listing block styles.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X65">16.3. Literal Blocks</h3>
+<div class="paragraph"><p><em>LiteralBlocks</em> are rendered just like <a href="#X85">literal paragraphs</a>.
+Example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>...................................
+Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.
+...................................</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</code></pre>
+</div></div>
+<div class="paragraph"><p>If the <em>listing</em> style is applied to a LiteralBlock it will be
+rendered as a ListingBlock (this is handy if you have a listing
+containing a ListingBlock).</p></div>
+</div>
+<div class="sect2">
+<h3 id="_sidebar_blocks">16.4. Sidebar Blocks</h3>
+<div class="paragraph"><p>A sidebar is a short piece of text presented outside the narrative
+flow of the main text. The sidebar is normally presented inside a
+bordered box to set it apart from the main text.</p></div>
+<div class="paragraph"><p>The sidebar body is treated like a normal section body.</p></div>
+<div class="paragraph"><p>Here&#8217;s an example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>.An Example Sidebar
+************************************************
+Any AsciiDoc SectionBody element (apart from
+SidebarBlocks) can be placed inside a sidebar.
+************************************************</code></pre>
+</div></div>
+<div class="paragraph"><p>Which will be rendered like:</p></div>
+<div class="sidebarblock">
+<div class="content">
+<div class="title">An Example Sidebar</div>
+<div class="paragraph"><p>Any AsciiDoc SectionBody element (apart from
+SidebarBlocks) can be placed inside a sidebar.</p></div>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X26">16.5. Comment Blocks</h3>
+<div class="paragraph"><p>The contents of <em>CommentBlocks</em> are not processed; they are useful for
+annotations and for excluding new or outdated content that you don&#8217;t
+want displayed. CommentBlocks are never written to output files.
+Example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>//////////////////////////////////////////
+CommentBlock contents are not processed by
+asciidoc(1).
+//////////////////////////////////////////</code></pre>
+</div></div>
+<div class="paragraph"><p>See also <a href="#X25">Comment Lines</a>.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">System macros are executed inside comment blocks.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="X76">16.6. Passthrough Blocks</h3>
+<div class="paragraph"><p>By default the block contents is subject only to <em>attributes</em> and
+<em>macros</em> substitutions (use an explicit <em>subs</em> attribute to apply
+different substitutions). PassthroughBlock content will often be
+backend specific. Here&#8217;s an example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[subs="quotes"]
+++++++++++++++++++++++++++++++++++++++
+&lt;table border="1"&gt;&lt;tr&gt;
+ &lt;td&gt;*Cell 1*&lt;/td&gt;
+ &lt;td&gt;*Cell 2*&lt;/td&gt;
+&lt;/tr&gt;&lt;/table&gt;
+++++++++++++++++++++++++++++++++++++++</code></pre>
+</div></div>
+<div class="paragraph"><p>The following styles can be applied to passthrough blocks:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+pass
+</dt>
+<dd>
+<p>
+ No substitutions are performed. This is equivalent to <code>subs="none"</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+asciimath, latexmath
+</dt>
+<dd>
+<p>
+ By default no substitutions are performed, the contents are rendered
+ as <a href="#X78">mathematical formulas</a>.
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_quote_blocks">16.7. Quote Blocks</h3>
+<div class="paragraph"><p><em>QuoteBlocks</em> are used for quoted passages of text. There are two
+styles: <em>quote</em> and <em>verse</em>. The style behavior is identical to
+<a href="#X94">quote and verse paragraphs</a> except that blocks can contain
+multiple paragraphs and, in the case of the <em>quote</em> style, other
+section elements. The first positional attribute sets the style, if
+no attributes are specified the <em>quote</em> style is used. The optional
+<em>attribution</em> and <em>citetitle</em> attributes (positional attributes 2 and
+3) specify the quote&#8217;s author and source. For example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[quote, Sir Arthur Conan Doyle, The Adventures of Sherlock Holmes]
+____________________________________________________________________
+As he spoke there was the sharp sound of horses' hoofs and
+grating wheels against the curb, followed by a sharp pull at the
+bell. Holmes whistled.
+
+"A pair, by the sound," said he. "Yes," he continued, glancing
+out of the window. "A nice little brougham and a pair of
+beauties. A hundred and fifty guineas apiece. There's money in
+this case, Watson, if there is nothing else."
+____________________________________________________________________</code></pre>
+</div></div>
+<div class="paragraph"><p>Which is rendered as:</p></div>
+<div class="quoteblock">
+<div class="content">
+<div class="paragraph"><p>As he spoke there was the sharp sound of horses' hoofs and
+grating wheels against the curb, followed by a sharp pull at the
+bell. Holmes whistled.</p></div>
+<div class="paragraph"><p>"A pair, by the sound," said he. "Yes," he continued, glancing
+out of the window. "A nice little brougham and a pair of
+beauties. A hundred and fifty guineas apiece. There&#8217;s money in
+this case, Watson, if there is nothing else."</p></div>
+</div>
+<div class="attribution">
+<em>The Adventures of Sherlock Holmes</em><br />
+&#8212; Sir Arthur Conan Doyle
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X48">16.8. Example Blocks</h3>
+<div class="paragraph"><p><em>ExampleBlocks</em> encapsulate the DocBook Example element and are used
+for, well, examples. Example blocks can be titled by preceding them
+with a <em>BlockTitle</em>. DocBook toolchains will normally automatically
+number examples and generate a <em>List of Examples</em> backmatter section.</p></div>
+<div class="paragraph"><p>Example blocks are delimited by lines of equals characters and can
+contain any block elements apart from Titles, BlockTitles and
+Sidebars) inside an example block. For example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>.An example
+=====================================================================
+Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+adolescens.
+=====================================================================</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="exampleblock">
+<div class="title">Example 1. An example</div>
+<div class="content">
+<div class="paragraph"><p>Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+adolescens.</p></div>
+</div></div>
+<div class="paragraph"><p>A title prefix that can be inserted with the <code>caption</code> attribute
+(HTML backends). For example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[caption="Example 1: "]
+.An example with a custom caption
+=====================================================================
+Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+adolescens.
+=====================================================================</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X22">16.9. Admonition Blocks</h3>
+<div class="paragraph"><p>The <em>ExampleBlock</em> definition includes a set of admonition
+<a href="#X23">styles</a> (<em>NOTE</em>, <em>TIP</em>, <em>IMPORTANT</em>, <em>WARNING</em>, <em>CAUTION</em>) for
+generating admonition blocks (admonitions containing more than a
+<a href="#X28">single paragraph</a>). Just precede the <em>ExampleBlock</em> with an
+attribute list specifying the admonition style name. For example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[NOTE]
+.A NOTE admonition block
+=====================================================================
+Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+adolescens.
+
+. Fusce euismod commodo velit.
+. Vivamus fringilla mi eu lacus.
+ .. Fusce euismod commodo velit.
+ .. Vivamus fringilla mi eu lacus.
+. Donec eget arcu bibendum
+ nunc consequat lobortis.
+=====================================================================</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">
+<div class="title">A NOTE admonition block</div>
+<div class="paragraph"><p>Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+adolescens.</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+<div class="olist loweralpha"><ol class="loweralpha">
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+</ol></div>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum
+ nunc consequat lobortis.
+</p>
+</li>
+</ol></div>
+</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>See also <a href="#X47">Admonition Icons and Captions</a>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X29">16.10. Open Blocks</h3>
+<div class="paragraph"><p>Open blocks are special:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+The open block delimiter is line containing two hyphen characters
+ (instead of four or more repeated characters).
+</p>
+</li>
+<li>
+<p>
+They can be used to group block elements for <a href="#X15">List item continuation</a>.
+</p>
+</li>
+<li>
+<p>
+Open blocks can be styled to behave like any other type of delimited
+ block. The following built-in styles can be applied to open
+ blocks: <em>literal</em>, <em>verse</em>, <em>quote</em>, <em>listing</em>, <em>TIP</em>, <em>NOTE</em>,
+ <em>IMPORTANT</em>, <em>WARNING</em>, <em>CAUTION</em>, <em>abstract</em>, <em>partintro</em>,
+ <em>comment</em>, <em>example</em>, <em>sidebar</em>, <em>source</em>, <em>music</em>, <em>latex</em>,
+ <em>graphviz</em>. For example, the following open block and listing block
+ are functionally identical:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>[listing]
+--
+Lorum ipsum ...
+--</code></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>---------------
+Lorum ipsum ...
+---------------</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+An unstyled open block groups section elements but otherwise does
+ nothing.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Open blocks are used to generate document abstracts and book part
+introductions:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Apply the <em>abstract</em> style to generate an abstract, for example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>[abstract]
+--
+In this paper we will ...
+--</code></pre>
+</div></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Apply the <em>partintro</em> style to generate a book part introduction for
+ a multi-part book, for example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>[partintro]
+.Optional part introduction title
+--
+Optional part introduction goes here.
+--</code></pre>
+</div></div>
+</li>
+</ol></div>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X64">17. Lists</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">List types</div><ul>
+<li>
+<p>
+Bulleted lists. Also known as itemized or unordered lists.
+</p>
+</li>
+<li>
+<p>
+Numbered lists. Also called ordered lists.
+</p>
+</li>
+<li>
+<p>
+Labeled lists. Sometimes called variable or definition lists.
+</p>
+</li>
+<li>
+<p>
+Callout lists (a list of callout annotations).
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">List behavior</div><ul>
+<li>
+<p>
+List item indentation is optional and does not determine nesting,
+ indentation does however make the source more readable.
+</p>
+</li>
+<li>
+<p>
+Another list or a literal paragraph immediately following a list
+ item will be implicitly included in the list item; use <a href="#X15">list item continuation</a> to explicitly append other block elements to a
+ list item.
+</p>
+</li>
+<li>
+<p>
+A comment block or a comment line block macro element will terminate
+ a list&#8201;&#8212;&#8201;use inline comment lines to put comments inside lists.
+</p>
+</li>
+<li>
+<p>
+The <code>listindex</code> <a href="#X60">intrinsic attribute</a> is the current list item
+ index (1..). If this attribute is used outside a list then it&#8217;s value
+ is the number of items in the most recently closed list. Useful for
+ displaying the number of items in a list.
+</p>
+</li>
+</ul></div>
+<div class="sect2">
+<h3 id="_bulleted_lists">17.1. Bulleted Lists</h3>
+<div class="paragraph"><p>Bulleted list items start with a single dash or one to five asterisks
+followed by some white space then some text. Bulleted list syntaxes
+are:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>- List item.
+* List item.
+** List item.
+*** List item.
+**** List item.
+***** List item.</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_numbered_lists">17.2. Numbered Lists</h3>
+<div class="paragraph"><p>List item numbers are explicit or implicit.</p></div>
+<div class="paragraph"><div class="title">Explicit numbering</div><p>List items begin with a number followed by some white space then the
+item text. The numbers can be decimal (arabic), roman (upper or lower
+case) or alpha (upper or lower case). Decimal and alpha numbers are
+terminated with a period, roman numbers are terminated with a closing
+parenthesis. The different terminators are necessary to ensure <em>i</em>,
+<em>v</em> and <em>x</em> roman numbers are are distinguishable from <em>x</em>, <em>v</em> and
+<em>x</em> alpha numbers. Examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>1. Arabic (decimal) numbered list item.
+a. Lower case alpha (letter) numbered list item.
+F. Upper case alpha (letter) numbered list item.
+iii) Lower case roman numbered list item.
+IX) Upper case roman numbered list item.</code></pre>
+</div></div>
+<div class="paragraph"><div class="title">Implicit numbering</div><p>List items begin one to five period characters, followed by some white
+space then the item text. Examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>. Arabic (decimal) numbered list item.
+.. Lower case alpha (letter) numbered list item.
+... Lower case roman numbered list item.
+.... Upper case alpha (letter) numbered list item.
+..... Upper case roman numbered list item.</code></pre>
+</div></div>
+<div class="paragraph"><p>You can use the <em>style</em> attribute (also the first positional
+attribute) to specify an alternative numbering style. The numbered
+list style can be one of the following values: <em>arabic</em>, <em>loweralpha</em>,
+<em>upperalpha</em>, <em>lowerroman</em>, <em>upperroman</em>.</p></div>
+<div class="paragraph"><p>Here are some examples of bulleted and numbered lists:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>- Praesent eget purus quis magna eleifend eleifend.
+ 1. Fusce euismod commodo velit.
+ a. Fusce euismod commodo velit.
+ b. Vivamus fringilla mi eu lacus.
+ c. Donec eget arcu bibendum nunc consequat lobortis.
+ 2. Vivamus fringilla mi eu lacus.
+ i) Fusce euismod commodo velit.
+ ii) Vivamus fringilla mi eu lacus.
+ 3. Donec eget arcu bibendum nunc consequat lobortis.
+ 4. Nam fermentum mattis ante.
+- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
+ * Fusce euismod commodo velit.
+ ** Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+ adolescens. Sit munere ponderum dignissim et. Minim luptatum et
+ vel.
+ ** Vivamus fringilla mi eu lacus.
+ * Donec eget arcu bibendum nunc consequat lobortis.
+- Nulla porttitor vulputate libero.
+ . Fusce euismod commodo velit.
+ . Vivamus fringilla mi eu lacus.
+[upperroman]
+ .. Fusce euismod commodo velit.
+ .. Vivamus fringilla mi eu lacus.
+ . Donec eget arcu bibendum nunc consequat lobortis.</code></pre>
+</div></div>
+<div class="paragraph"><p>Which render as:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Praesent eget purus quis magna eleifend eleifend.
+</p>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+<div class="olist loweralpha"><ol class="loweralpha">
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum nunc consequat lobortis.
+</p>
+</li>
+</ol></div>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+<div class="olist lowerroman"><ol class="lowerroman">
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+</ol></div>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum nunc consequat lobortis.
+</p>
+</li>
+<li>
+<p>
+Nam fermentum mattis ante.
+</p>
+</li>
+</ol></div>
+</li>
+<li>
+<p>
+Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+ adolescens. Sit munere ponderum dignissim et. Minim luptatum et
+ vel.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum nunc consequat lobortis.
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+Nulla porttitor vulputate libero.
+</p>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+<div class="olist upperroman"><ol class="upperroman">
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+</ol></div>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum nunc consequat lobortis.
+</p>
+</li>
+</ol></div>
+</li>
+</ul></div>
+<div class="paragraph"><p>A predefined <em>compact</em> option is available to bulleted and numbered
+lists&#8201;&#8212;&#8201;this translates to the DocBook <em>spacing="compact"</em> lists
+attribute which may or may not be processed by the DocBook toolchain.
+Example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[options="compact"]
+- Compact list item.
+- Another compact list item.</code></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">To apply the <em>compact</em> option globally define a document-wide
+<em>compact-option</em> attribute, e.g. using the <code>-a compact-option</code>
+command-line option.</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>You can set the list start number using the <em>start</em> attribute (works
+for HTML outputs and DocBook outputs processed by DocBook XSL
+Stylesheets). Example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[start=7]
+. List item 7.
+. List item 8.</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_labeled_lists">17.3. Labeled Lists</h3>
+<div class="paragraph"><p>Labeled list items consist of one or more text labels followed by the
+text of the list item.</p></div>
+<div class="paragraph"><p>An item label begins a line with an alphanumeric character hard
+against the left margin and ends with two, three or four colons or two
+semi-colons. A list item can have multiple labels, one per line.</p></div>
+<div class="paragraph"><p>The list item text consists of one or more lines of text starting
+after the last label (either on the same line or a new line) and can
+be followed by nested List or ListParagraph elements. Item text can be
+optionally indented.</p></div>
+<div class="paragraph"><p>Here are some examples:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>In::
+Lorem::
+ Fusce euismod commodo velit.
+
+ Fusce euismod commodo velit.
+
+Ipsum:: Vivamus fringilla mi eu lacus.
+ * Vivamus fringilla mi eu lacus.
+ * Donec eget arcu bibendum nunc consequat lobortis.
+Dolor::
+ Donec eget arcu bibendum nunc consequat lobortis.
+ Suspendisse;;
+ A massa id sem aliquam auctor.
+ Morbi;;
+ Pretium nulla vel lorem.
+ In;;
+ Dictum mauris in urna.
+ Vivamus::: Fringilla mi eu lacus.
+ Donec::: Eget arcu bibendum nunc consequat lobortis.</code></pre>
+</div></div>
+<div class="paragraph"><p>Which render as:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+In
+</dt>
+<dt class="hdlist1">
+Lorem
+</dt>
+<dd>
+<p>
+ Fusce euismod commodo velit.
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>Fusce euismod commodo velit.</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+Ipsum
+</dt>
+<dd>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum nunc consequat lobortis.
+</p>
+</li>
+</ul></div>
+</dd>
+<dt class="hdlist1">
+Dolor
+</dt>
+<dd>
+<p>
+ Donec eget arcu bibendum nunc consequat lobortis.
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+Suspendisse
+</dt>
+<dd>
+<p>
+ A massa id sem aliquam auctor.
+</p>
+</dd>
+<dt class="hdlist1">
+Morbi
+</dt>
+<dd>
+<p>
+ Pretium nulla vel lorem.
+</p>
+</dd>
+<dt class="hdlist1">
+In
+</dt>
+<dd>
+<p>
+ Dictum mauris in urna.
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+Vivamus
+</dt>
+<dd>
+<p>
+Fringilla mi eu lacus.
+</p>
+</dd>
+<dt class="hdlist1">
+Donec
+</dt>
+<dd>
+<p>
+Eget arcu bibendum nunc consequat lobortis.
+</p>
+</dd>
+</dl></div>
+</dd>
+</dl></div>
+</dd>
+</dl></div>
+<div class="sect3">
+<h4 id="_horizontal_labeled_list_style">17.3.1. Horizontal labeled list style</h4>
+<div class="paragraph"><p>The <em>horizontal</em> labeled list style (also the first positional
+attribute) places the list text side-by-side with the label instead of
+under the label. Here is an example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[horizontal]
+*Lorem*:: Fusce euismod commodo velit. Qui in magna commodo, est
+labitur dolorum an. Est ne magna primis adolescens.
+
+ Fusce euismod commodo velit.
+
+*Ipsum*:: Vivamus fringilla mi eu lacus.
+- Vivamus fringilla mi eu lacus.
+- Donec eget arcu bibendum nunc consequat lobortis.
+
+*Dolor*::
+ - Vivamus fringilla mi eu lacus.
+ - Donec eget arcu bibendum nunc consequat lobortis.</code></pre>
+</div></div>
+<div class="paragraph"><p>Which render as:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+<strong>Lorem</strong>
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Fusce euismod commodo velit. Qui in magna commodo, est
+labitur dolorum an. Est ne magna primis adolescens.
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>Fusce euismod commodo velit.</code></pre>
+</div></div>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<strong>Ipsum</strong>
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Vivamus fringilla mi eu lacus.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum nunc consequat lobortis.
+</p>
+</li>
+</ul></div>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<strong>Dolor</strong>
+<br />
+</td>
+<td class="hdlist2">
+<div class="ulist"><ul>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum nunc consequat lobortis.
+</p>
+</li>
+</ul></div>
+</td>
+</tr>
+</table></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">
+<div class="ulist"><ul>
+<li>
+<p>
+Current PDF toolchains do not make a good job of determining
+ the relative column widths for horizontal labeled lists.
+</p>
+</li>
+<li>
+<p>
+Nested horizontal labeled lists will generate DocBook validation
+ errors because the <em>DocBook XML V4.2</em> DTD does not permit nested
+ informal tables (although <a href="#X13">DocBook XSL Stylesheets</a> and
+ <a href="#X31">dblatex</a> process them correctly).
+</p>
+</li>
+<li>
+<p>
+The label width can be set as a percentage of the total width by
+ setting the <em>width</em> attribute e.g. <code>width="10%"</code>
+</p>
+</li>
+</ul></div>
+</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_question_and_answer_lists">17.4. Question and Answer Lists</h3>
+<div class="paragraph"><p>AsciiDoc comes pre-configured with a <em>qanda</em> style labeled list for generating
+DocBook question and answer (Q&amp;A) lists. Example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[qanda]
+Question one::
+ Answer one.
+Question two::
+ Answer two.</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="qlist qanda"><ol>
+<li>
+<p><em>
+Question one
+</em></p>
+<p>
+ Answer one.
+</p>
+</li>
+<li>
+<p><em>
+Question two
+</em></p>
+<p>
+ Answer two.
+</p>
+</li>
+</ol></div>
+</div>
+<div class="sect2">
+<h3 id="_glossary_lists">17.5. Glossary Lists</h3>
+<div class="paragraph"><p>AsciiDoc comes pre-configured with a <em>glossary</em> style labeled list for
+generating DocBook glossary lists. Example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[glossary]
+A glossary term::
+ The corresponding definition.
+A second glossary term::
+ The corresponding definition.</code></pre>
+</div></div>
+<div class="paragraph"><p>For working examples see the <code>article.txt</code> and <code>book.txt</code> documents in
+the AsciiDoc <code>./doc</code> distribution directory.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">To generate valid DocBook output glossary lists must be located
+in a section that uses the <em>glossary</em> <a href="#X93">section markup template</a>.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_bibliography_lists">17.6. Bibliography Lists</h3>
+<div class="paragraph"><p>AsciiDoc comes with a predefined <em>bibliography</em> bulleted list style
+generating DocBook bibliography entries. Example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[bibliography]
+.Optional list title
+- [[[taoup]]] Eric Steven Raymond. 'The Art of UNIX
+ Programming'. Addison-Wesley. ISBN 0-13-142901-9.
+- [[[walsh-muellner]]] Norman Walsh &amp; Leonard Muellner.
+ 'DocBook - The Definitive Guide'. O'Reilly &amp; Associates. 1999.
+ ISBN 1-56592-580-7.</code></pre>
+</div></div>
+<div class="paragraph"><p>The <code>[[[&lt;reference&gt;]]]</code> syntax is a bibliography entry anchor, it
+generates an anchor named <code>&lt;reference&gt;</code> and additionally displays
+<code>[&lt;reference&gt;]</code> at the anchor position. For example <code>[[[taoup]]]</code>
+generates an anchor named <code>taoup</code> that displays <code>[taoup]</code> at the
+anchor position. Cite the reference from elsewhere your document using
+<code>&lt;&lt;taoup&gt;&gt;</code>, this displays a hyperlink (<code>[taoup]</code>) to the
+corresponding bibliography entry anchor.</p></div>
+<div class="paragraph"><p>For working examples see the <code>article.txt</code> and <code>book.txt</code> documents in
+the AsciiDoc <code>./doc</code> distribution directory.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">To generate valid DocBook output bibliography lists must be
+located in a <a href="#X93">bibliography section</a>.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="X15">17.7. List Item Continuation</h3>
+<div class="paragraph"><p>Another list or a literal paragraph immediately following a list item
+is implicitly appended to the list item; to append other block
+elements to a list item you need to explicitly join them to the list
+item with a <em>list continuation</em> (a separator line containing a single
+plus character). Multiple block elements can be appended to a list
+item using list continuations (provided they are legal list item
+children in the backend markup).</p></div>
+<div class="paragraph"><p>Here are some examples of list item continuations: list item one
+contains multiple continuations; list item two is continued with an
+<a href="#X29">OpenBlock</a> containing multiple elements:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>1. List item one.
++
+List item one continued with a second paragraph followed by an
+Indented block.
++
+.................
+$ ls *.sh
+$ mv *.sh ~/tmp
+.................
++
+List item continued with a third paragraph.
+
+2. List item two continued with an open block.
++
+--
+This paragraph is part of the preceding list item.
+
+a. This list is nested and does not require explicit item continuation.
++
+This paragraph is part of the preceding list item.
+
+b. List item b.
+
+This paragraph belongs to item two of the outer list.
+--</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+List item one.
+</p>
+<div class="paragraph"><p>List item one continued with a second paragraph followed by an
+Indented block.</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ ls *.sh
+$ mv *.sh ~/tmp</code></pre>
+</div></div>
+<div class="paragraph"><p>List item continued with a third paragraph.</p></div>
+</li>
+<li>
+<p>
+List item two continued with an open block.
+</p>
+<div class="openblock">
+<div class="content">
+<div class="paragraph"><p>This paragraph is part of the preceding list item.</p></div>
+<div class="olist loweralpha"><ol class="loweralpha">
+<li>
+<p>
+This list is nested and does not require explicit item continuation.
+</p>
+<div class="paragraph"><p>This paragraph is part of the preceding list item.</p></div>
+</li>
+<li>
+<p>
+List item b.
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>This paragraph belongs to item two of the outer list.</p></div>
+</div></div>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X92">18. Footnotes</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The shipped AsciiDoc configuration includes three footnote inline
+macros:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>footnote:[&lt;text&gt;]</code>
+</dt>
+<dd>
+<p>
+ Generates a footnote with text <code>&lt;text&gt;</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>footnoteref:[&lt;id&gt;,&lt;text&gt;]</code>
+</dt>
+<dd>
+<p>
+ Generates a footnote with a reference ID <code>&lt;id&gt;</code> and text <code>&lt;text&gt;</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>footnoteref:[&lt;id&gt;]</code>
+</dt>
+<dd>
+<p>
+ Generates a reference to the footnote with ID <code>&lt;id&gt;</code>.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>The footnote text can span multiple lines.</p></div>
+<div class="paragraph"><p>The <em>xhtml11</em> and <em>html5</em> backends render footnotes dynamically using
+JavaScript; <em>html4</em> outputs do not use JavaScript and leave the
+footnotes inline; <em>docbook</em> footnotes are processed by the downstream
+DocBook toolchain.</p></div>
+<div class="paragraph"><p>Example footnotes:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>A footnote footnote:[An example footnote.];
+a second footnote with a reference ID footnoteref:[note2,Second footnote.];
+finally a reference to the second footnote footnoteref:[note2].</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="paragraph"><p>A footnote <span class="footnote"><br />[An example footnote.]<br /></span>;
+a second footnote with a reference ID <span class="footnote" id="_footnote_note2"><br />[Second footnote.]<br /></span>;
+finally a reference to the second footnote <span class="footnoteref"><br /><a href="#_footnote_note2">[note2]</a><br /></span>.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_indexes">19. Indexes</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The shipped AsciiDoc configuration includes the inline macros for
+generating DocBook index entries.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>indexterm:[&lt;primary&gt;,&lt;secondary&gt;,&lt;tertiary&gt;]</code>
+</dt>
+<dt class="hdlist1">
+<code>(((&lt;primary&gt;,&lt;secondary&gt;,&lt;tertiary&gt;)))</code>
+</dt>
+<dd>
+<p>
+ This inline macro generates an index term (the <code>&lt;secondary&gt;</code> and
+ <code>&lt;tertiary&gt;</code> positional attributes are optional). Example:
+ <code>indexterm:[Tigers,Big cats]</code> (or, using the alternative syntax
+ <code>(((Tigers,Big cats)))</code>. Index terms that have secondary and
+ tertiary entries also generate separate index terms for the
+ secondary and tertiary entries. The index terms appear in the
+ index, not the primary text flow.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>indexterm2:[&lt;primary&gt;]</code>
+</dt>
+<dt class="hdlist1">
+<code>((&lt;primary&gt;))</code>
+</dt>
+<dd>
+<p>
+ This inline macro generates an index term that appears in both the
+ index and the primary text flow. The <code>&lt;primary&gt;</code> should not be
+ padded to the left or right with white space characters.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>For working examples see the <code>article.txt</code> and <code>book.txt</code> documents in
+the AsciiDoc <code>./doc</code> distribution directory.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">Index entries only really make sense if you are generating
+DocBook markup&#8201;&#8212;&#8201;DocBook conversion programs automatically generate
+an index at the point an <em>Index</em> section appears in source document.</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X105">20. Callouts</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Callouts are a mechanism for annotating verbatim text (for example:
+source code, computer output and user input). Callout markers are
+placed inside the annotated text while the actual annotations are
+presented in a callout list after the annotated text. Here&#8217;s an
+example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code> .MS-DOS directory listing
+ -----------------------------------------------------
+ 10/17/97 9:04 &lt;DIR&gt; bin
+ 10/16/97 14:11 &lt;DIR&gt; DOS &lt;1&gt;
+ 10/16/97 14:40 &lt;DIR&gt; Program Files
+ 10/16/97 14:46 &lt;DIR&gt; TEMP
+ 10/17/97 9:04 &lt;DIR&gt; tmp
+ 10/16/97 14:37 &lt;DIR&gt; WINNT
+ 10/16/97 14:25 119 AUTOEXEC.BAT &lt;2&gt;
+ 2/13/94 6:21 54,619 COMMAND.COM &lt;2&gt;
+ 10/16/97 14:25 115 CONFIG.SYS &lt;2&gt;
+ 11/16/97 17:17 61,865,984 pagefile.sys
+ 2/13/94 6:21 9,349 WINA20.386 &lt;3&gt;
+ -----------------------------------------------------
+
+ &lt;1&gt; This directory holds MS-DOS.
+ &lt;2&gt; System startup code for DOS.
+ &lt;3&gt; Some sort of Windows 3.1 hack.</code></pre>
+</div></div>
+<div class="paragraph"><p>Which renders:</p></div>
+<div class="listingblock">
+<div class="title">MS-DOS directory listing</div>
+<div class="content">
+<pre><code>10/17/97 9:04 &lt;DIR&gt; bin
+10/16/97 14:11 &lt;DIR&gt; DOS <img src="./images/icons/callouts/1.png" alt="1" />
+10/16/97 14:40 &lt;DIR&gt; Program Files
+10/16/97 14:46 &lt;DIR&gt; TEMP
+10/17/97 9:04 &lt;DIR&gt; tmp
+10/16/97 14:37 &lt;DIR&gt; WINNT
+10/16/97 14:25 119 AUTOEXEC.BAT <img src="./images/icons/callouts/2.png" alt="2" />
+ 2/13/94 6:21 54,619 COMMAND.COM <img src="./images/icons/callouts/2.png" alt="2" />
+10/16/97 14:25 115 CONFIG.SYS <img src="./images/icons/callouts/2.png" alt="2" />
+11/16/97 17:17 61,865,984 pagefile.sys
+ 2/13/94 6:21 9,349 WINA20.386 <img src="./images/icons/callouts/3.png" alt="3" /></code></pre>
+</div></div>
+<div class="colist arabic"><table>
+<tr><td><img src="./images/icons/callouts/1.png" alt="1" /></td><td>
+This directory holds MS-DOS.
+</td></tr>
+<tr><td><img src="./images/icons/callouts/2.png" alt="2" /></td><td>
+System startup code for DOS.
+</td></tr>
+<tr><td><img src="./images/icons/callouts/3.png" alt="3" /></td><td>
+Some sort of Windows 3.1 hack.
+</td></tr>
+</table></div>
+<div class="ulist"><div class="title">Explanation</div><ul>
+<li>
+<p>
+The callout marks are whole numbers enclosed in angle brackets&#8201;&#8212;&#8201; they refer to the correspondingly numbered item in the following
+ callout list.
+</p>
+</li>
+<li>
+<p>
+By default callout marks are confined to <em>LiteralParagraphs</em>,
+ <em>LiteralBlocks</em> and <em>ListingBlocks</em> (although this is a
+ configuration file option and can be changed).
+</p>
+</li>
+<li>
+<p>
+Callout list item numbering is fairly relaxed&#8201;&#8212;&#8201;list items can
+ start with <code>&lt;n&gt;</code>, <code>n&gt;</code> or <code>&gt;</code> where <code>n</code> is the optional list item
+ number (in the latter case list items starting with a single <code>&gt;</code>
+ character are implicitly numbered starting at one).
+</p>
+</li>
+<li>
+<p>
+Callout lists should not be nested.
+</p>
+</li>
+<li>
+<p>
+Callout lists cannot be used within tables.
+</p>
+</li>
+<li>
+<p>
+Callout lists start list items hard against the left margin.
+</p>
+</li>
+<li>
+<p>
+If you want to present a number inside angle brackets you&#8217;ll need to
+ escape it with a backslash to prevent it being interpreted as a
+ callout mark.
+</p>
+</li>
+</ul></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">Define the AsciiDoc <em>icons</em> attribute (for example using the <code>-a
+icons</code> command-line option) to display callout icons.</td>
+</tr></table>
+</div>
+<div class="sect2">
+<h3 id="_implementation_notes">20.1. Implementation Notes</h3>
+<div class="paragraph"><p>Callout marks are generated by the <em>callout</em> inline macro while
+callout lists are generated using the <em>callout</em> list definition. The
+<em>callout</em> macro and <em>callout</em> list are special in that they work
+together. The <em>callout</em> inline macro is not enabled by the normal
+<em>macros</em> substitutions option, instead it has its own <em>callouts</em>
+substitution option.</p></div>
+<div class="paragraph"><p>The following attributes are available during inline callout macro
+substitution:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>{index}</code>
+</dt>
+<dd>
+<p>
+ The callout list item index inside the angle brackets.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{coid}</code>
+</dt>
+<dd>
+<p>
+ An identifier formatted like <code>CO&lt;listnumber&gt;-&lt;index&gt;</code> that
+ uniquely identifies the callout mark. For example <code>CO2-4</code>
+ identifies the fourth callout mark in the second set of callout
+ marks.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>The <code>{coids}</code> attribute can be used during callout list item
+substitution&#8201;&#8212;&#8201;it is a space delimited list of callout IDs that refer
+to the explanatory list item.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_including_callouts_in_included_code">20.2. Including callouts in included code</h3>
+<div class="paragraph"><p>You can annotate working code examples with callouts&#8201;&#8212;&#8201;just remember
+to put the callouts inside source code comments. This example displays
+the <code>test.py</code> source file (containing a single callout) using the
+<em>source</em> (code highlighter) filter:</p></div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code> [source,python]
+ -------------------------------------------
+ \include::test.py[]
+ -------------------------------------------
+
+ &lt;1&gt; Print statement.</code></pre>
+</div></div>
+<div class="listingblock">
+<div class="title">Included <code>test.py</code> source</div>
+<div class="content">
+<pre><code>print 'Hello World!' # &lt;1&gt;</code></pre>
+</div></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_macros">21. Macros</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Macros are a mechanism for substituting parametrized text into output
+documents.</p></div>
+<div class="paragraph"><p>Macros have a <em>name</em>, a single <em>target</em> argument and an <em>attribute
+list</em>. The usual syntax is <code>&lt;name&gt;:&lt;target&gt;[&lt;attrlist&gt;]</code> (for
+inline macros) and <code>&lt;name&gt;::&lt;target&gt;[&lt;attrlist&gt;]</code> (for block
+macros). Here are some examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>http://www.docbook.org/[DocBook.org]
+include::chapt1.txt[tabsize=2]
+mailto:srackham@gmail.com[]</code></pre>
+</div></div>
+<div class="ulist"><div class="title">Macro behavior</div><ul>
+<li>
+<p>
+<code>&lt;name&gt;</code> is the macro name. It can only contain letters, digits or
+ dash characters and cannot start with a dash.
+</p>
+</li>
+<li>
+<p>
+The optional <code>&lt;target&gt;</code> cannot contain white space characters.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;attrlist&gt;</code> is a <a href="#X21">list of attributes</a> enclosed in square
+ brackets.
+</p>
+</li>
+<li>
+<p>
+<code>]</code> characters inside attribute lists must be escaped with a
+ backslash.
+</p>
+</li>
+<li>
+<p>
+Expansion of macro references can normally be escaped by prefixing a
+ backslash character (see the AsciiDoc <em>FAQ</em> for examples of
+ exceptions to this rule).
+</p>
+</li>
+<li>
+<p>
+Attribute references in block macros are expanded.
+</p>
+</li>
+<li>
+<p>
+The substitutions performed prior to Inline macro macro expansion
+ are determined by the inline context.
+</p>
+</li>
+<li>
+<p>
+Macros are processed in the order they appear in the configuration
+ file(s).
+</p>
+</li>
+<li>
+<p>
+Calls to inline macros can be nested inside different inline macros
+ (an inline macro call cannot contain a nested call to itself).
+</p>
+</li>
+<li>
+<p>
+In addition to <code>&lt;name&gt;</code>, <code>&lt;target&gt;</code> and <code>&lt;attrlist&gt;</code> the
+ <code>&lt;passtext&gt;</code> and <code>&lt;subslist&gt;</code> named groups are available to
+ <a href="#X77">passthrough macros</a>. A macro is a passthrough macro if the
+ definition includes a <code>&lt;passtext&gt;</code> named group.
+</p>
+</li>
+</ul></div>
+<div class="sect2">
+<h3 id="_inline_macros">21.1. Inline Macros</h3>
+<div class="paragraph"><p>Inline Macros occur in an inline element context. Predefined Inline
+macros include <em>URLs</em>, <em>image</em> and <em>link</em> macros.</p></div>
+<div class="sect3">
+<h4 id="_urls">21.1.1. URLs</h4>
+<div class="paragraph"><p><em>http</em>, <em>https</em>, <em>ftp</em>, <em>file</em>, <em>mailto</em> and <em>callto</em> URLs are
+rendered using predefined inline macros.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+If you don&#8217;t need a custom link caption you can enter the <em>http</em>,
+ <em>https</em>, <em>ftp</em>, <em>file</em> URLs and email addresses without any special
+ macro syntax.
+</p>
+</li>
+<li>
+<p>
+If the <code>&lt;attrlist&gt;</code> is empty the URL is displayed.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Here are some examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>http://www.docbook.org/[DocBook.org]
+http://www.docbook.org/
+mailto:joe.bloggs@foobar.com[email Joe Bloggs]
+joe.bloggs@foobar.com</code></pre>
+</div></div>
+<div class="paragraph"><p>Which are rendered:</p></div>
+<div class="paragraph"><p><a href="http://www.docbook.org/">DocBook.org</a></p></div>
+<div class="paragraph"><p><a href="http://www.docbook.org/">http://www.docbook.org/</a></p></div>
+<div class="paragraph"><p><a href="mailto:joe.bloggs@foobar.com">email Joe Bloggs</a></p></div>
+<div class="paragraph"><p><a href="mailto:joe.bloggs@foobar.com">joe.bloggs@foobar.com</a></p></div>
+<div class="paragraph"><p>If the <code>&lt;target&gt;</code> necessitates space characters use <code>%20</code>, for example
+<code>large%20image.png</code>.</p></div>
+</div>
+<div class="sect3">
+<h4 id="_internal_cross_references">21.1.2. Internal Cross References</h4>
+<div class="paragraph"><p>Two AsciiDoc inline macros are provided for creating hypertext links
+within an AsciiDoc document. You can use either the standard macro
+syntax or the (preferred) alternative.</p></div>
+<div class="sect4">
+<h5 id="X30">anchor</h5>
+<div class="paragraph"><p>Used to specify hypertext link targets:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[[&lt;id&gt;,&lt;xreflabel&gt;]]
+anchor:&lt;id&gt;[&lt;xreflabel&gt;]</code></pre>
+</div></div>
+<div class="paragraph"><p>The <code>&lt;id&gt;</code> is a unique string that conforms to the output markup&#8217;s
+anchor syntax. The optional <code>&lt;xreflabel&gt;</code> is the text to be displayed
+by captionless <em>xref</em> macros that refer to this anchor. The optional
+<code>&lt;xreflabel&gt;</code> is only really useful when generating DocBook output.
+Example anchor:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[[X1]]</code></pre>
+</div></div>
+<div class="paragraph"><p>You may have noticed that the syntax of this inline element is the
+same as that of the <a href="#X41">BlockId block element</a>, this is no
+coincidence since they are functionally equivalent.</p></div>
+</div>
+<div class="sect4">
+<h5 id="_xref">xref</h5>
+<div class="paragraph"><p>Creates a hypertext link to a document anchor.</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;&lt;&lt;id&gt;,&lt;caption&gt;&gt;&gt;
+xref:&lt;id&gt;[&lt;caption&gt;]</code></pre>
+</div></div>
+<div class="paragraph"><p>The <code>&lt;id&gt;</code> refers to an anchor ID. The optional <code>&lt;caption&gt;</code> is the
+link&#8217;s displayed text. Example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;&lt;X21,attribute lists&gt;&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>If <code>&lt;caption&gt;</code> is not specified then the displayed text is
+auto-generated:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+The AsciiDoc <em>xhtml11</em> and <em>html5</em> backends display the <code>&lt;id&gt;</code>
+ enclosed in square brackets.
+</p>
+</li>
+<li>
+<p>
+If DocBook is produced the DocBook toolchain is responsible for the
+ displayed text which will normally be the referenced figure, table
+ or section title number followed by the element&#8217;s title text.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Here is an example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[[tiger_image]]
+.Tyger tyger
+image::tiger.png[]
+
+This can be seen in &lt;&lt;tiger_image&gt;&gt;.</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_linking_to_local_documents">21.1.3. Linking to Local Documents</h4>
+<div class="paragraph"><p>Hypertext links to files on the local file system are specified using
+the <em>link</em> inline macro.</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>link:&lt;target&gt;[&lt;caption&gt;]</code></pre>
+</div></div>
+<div class="paragraph"><p>The <em>link</em> macro generates relative URLs. The link macro <code>&lt;target&gt;</code> is
+the target file name (relative to the file system location of the
+referring document). The optional <code>&lt;caption&gt;</code> is the link&#8217;s displayed
+text. If <code>&lt;caption&gt;</code> is not specified then <code>&lt;target&gt;</code> is displayed.
+Example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>link:downloads/foo.zip[download foo.zip]</code></pre>
+</div></div>
+<div class="paragraph"><p>You can use the <code>&lt;filename&gt;#&lt;id&gt;</code> syntax to refer to an anchor within
+a target document but this usually only makes sense when targeting
+HTML documents.</p></div>
+</div>
+<div class="sect3">
+<h4 id="X9">21.1.4. Images</h4>
+<div class="paragraph"><p>Inline images are inserted into the output document using the <em>image</em>
+macro. The inline syntax is:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>image:&lt;target&gt;[&lt;attributes&gt;]</code></pre>
+</div></div>
+<div class="paragraph"><p>The contents of the image file <code>&lt;target&gt;</code> is displayed. To display the
+image its file format must be supported by the target backend
+application. HTML and DocBook applications normally support PNG or JPG
+files.</p></div>
+<div class="paragraph"><p><code>&lt;target&gt;</code> file name paths are relative to the location of the
+referring document.</p></div>
+<div class="ulist" id="X55"><div class="title">Image macro attributes</div><ul>
+<li>
+<p>
+The optional <em>alt</em> attribute is also the first positional attribute,
+ it specifies alternative text which is displayed if the output
+ application is unable to display the image file (see also
+ <a href="http://htmlhelp.com/feature/art3.htm">Use of ALT texts in IMGs</a>). For
+ example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>image:images/logo.png[Company Logo]</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+The optional <em>title</em> attribute provides a title for the image. The
+ <a href="#X49">block image macro</a> renders the title alongside the image.
+ The inline image macro displays the title as a popup &#8220;tooltip&#8221; in
+ visual browsers (AsciiDoc HTML outputs only).
+</p>
+</li>
+<li>
+<p>
+The optional <code>width</code> and <code>height</code> attributes scale the image size
+ and can be used in any combination. The units are pixels. The
+ following example scales the previous example to a height of 32
+ pixels:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>image:images/logo.png["Company Logo",height=32]</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+The optional <code>link</code> attribute is used to link the image to an
+ external document. The following example links a screenshot
+ thumbnail to a full size version:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>image:screen-thumbnail.png[height=32,link="screen.png"]</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+The optional <code>scaledwidth</code> attribute is only used in DocBook block
+ images (specifically for PDF documents). The following example
+ scales the images to 75% of the available print width:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>image::images/logo.png[scaledwidth="75%",alt="Company Logo"]</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+The image <code>scale</code> attribute sets the DocBook <code>imagedata</code> element
+ <code>scale</code> attribute.
+</p>
+</li>
+<li>
+<p>
+The optional <code>align</code> attribute aligns block macro images
+ horizontally. Allowed values are <code>center</code>, <code>left</code> and <code>right</code>. For
+ example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>image::images/tiger.png["Tiger image",align="left"]</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+The optional <code>float</code> attribute floats the image <code>left</code> or <code>right</code> on
+ the page (works with HTML outputs only, has no effect on DocBook
+ outputs). <code>float</code> and <code>align</code> attributes are mutually exclusive.
+ Use the <code>unfloat::[]</code> block macro to stop floating.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect3">
+<h4 id="_comment_lines">21.1.5. Comment Lines</h4>
+<div class="paragraph"><p>See <a href="#X25">comment block macro</a>.</p></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_block_macros">21.2. Block Macros</h3>
+<div class="paragraph"><p>A Block macro reference must be contained in a single line separated
+either side by a blank line or a block delimiter.</p></div>
+<div class="paragraph"><p>Block macros behave just like Inline macros, with the following
+differences:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+They occur in a block context.
+</p>
+</li>
+<li>
+<p>
+The default syntax is <code>&lt;name&gt;::&lt;target&gt;[&lt;attrlist&gt;]</code> (two
+ colons, not one).
+</p>
+</li>
+<li>
+<p>
+Markup template section names end in <code>-blockmacro</code> instead of
+ <code>-inlinemacro</code>.
+</p>
+</li>
+</ul></div>
+<div class="sect3">
+<h4 id="_block_identifier">21.2.1. Block Identifier</h4>
+<div class="paragraph"><p>The Block Identifier macro sets the <code>id</code> attribute and has the same
+syntax as the <a href="#X30">anchor inline macro</a> since it performs
+essentially the same function&#8201;&#8212;&#8201;block templates use the <code>id</code>
+attribute as a block element ID. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[[X30]]</code></pre>
+</div></div>
+<div class="paragraph"><p>This is equivalent to the <code>[id="X30"]</code> <a href="#X79">AttributeList element</a>).</p></div>
+</div>
+<div class="sect3">
+<h4 id="X49">21.2.2. Images</h4>
+<div class="paragraph"><p>The <em>image</em> block macro is used to display images in a block context.
+The syntax is:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>image::&lt;target&gt;[&lt;attributes&gt;]</code></pre>
+</div></div>
+<div class="paragraph"><p>The block <code>image</code> macro has the same <a href="#X55">macro attributes</a> as it&#8217;s
+<a href="#X9">inline image macro</a> counterpart.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/warning.png" alt="Warning" />
+</td>
+<td class="content">Unlike the inline <code>image</code> macro, the entire block <code>image</code> macro
+must be on a single line.</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>Block images can be titled by preceding the <em>image</em> macro with a
+<em>BlockTitle</em>. DocBook toolchains normally number titled block images
+and optionally list them in an automatically generated <em>List of
+Figures</em> backmatter section.</p></div>
+<div class="paragraph"><p>This example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>.Main circuit board
+image::images/layout.png[J14P main circuit board]</code></pre>
+</div></div>
+<div class="paragraph"><p>is equivalent to:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>image::images/layout.png["J14P main circuit board", title="Main circuit board"]</code></pre>
+</div></div>
+<div class="paragraph"><p>A title prefix that can be inserted with the <code>caption</code> attribute
+(HTML backends). For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>.Main circuit board
+[caption="Figure 2: "]
+image::images/layout.png[J14P main circuit board]</code></pre>
+</div></div>
+<div class="sidebarblock" id="X66">
+<div class="content">
+<div class="title">Embedding images in XHTML documents</div>
+<div class="paragraph"><p>If you define the <code>data-uri</code> attribute then images will be embedded in
+XHTML outputs using the
+<a href="http://en.wikipedia.org/wiki/Data:_URI_scheme">data URI scheme</a>. You
+can use the <em>data-uri</em> attribute with the <em>xhtml11</em> and <em>html5</em>
+backends to produce single-file XHTML documents with embedded images
+and CSS, for example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a data-uri mydocument.txt</code></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">
+<div class="ulist"><ul>
+<li>
+<p>
+All current popular browsers support data URIs, although versions
+ of Internet Explorer prior to version 8 do not.
+</p>
+</li>
+<li>
+<p>
+Some browsers limit the size of data URIs.
+</p>
+</li>
+</ul></div>
+</td>
+</tr></table>
+</div>
+</div></div>
+</div>
+<div class="sect3">
+<h4 id="X25">21.2.3. Comment Lines</h4>
+<div class="paragraph"><p>Single lines starting with two forward slashes hard up against the
+left margin are treated as comments. Comment lines do not appear in
+the output unless the <em>showcomments</em> attribute is defined. Comment
+lines have been implemented as both block and inline macros so a
+comment line can appear as a stand-alone block or within block elements
+that support inline macro expansion. Example comment line:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>// This is a comment.</code></pre>
+</div></div>
+<div class="paragraph"><p>If the <em>showcomments</em> attribute is defined comment lines are written
+to the output:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+In DocBook the comment lines are enclosed by the <em>remark</em> element
+ (which may or may not be rendered by your toolchain).
+</p>
+</li>
+<li>
+<p>
+The <em>showcomments</em> attribute does not expose <a href="#X26">Comment Blocks</a>.
+ Comment Blocks are never passed to the output.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_system_macros">21.3. System Macros</h3>
+<div class="paragraph"><p>System macros are block macros that perform a predefined task and are
+hardwired into the <code>asciidoc(1)</code> program.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+You can escape system macros with a leading backslash character
+ (as you can with other macros).
+</p>
+</li>
+<li>
+<p>
+The syntax and tasks performed by system macros is built into
+ <code>asciidoc(1)</code> so they don&#8217;t appear in configuration files. You can
+ however customize the syntax by adding entries to a configuration
+ file <code>[macros]</code> section.
+</p>
+</li>
+</ul></div>
+<div class="sect3">
+<h4 id="X63">21.3.1. Include Macros</h4>
+<div class="paragraph"><p>The <code>include</code> and <code>include1</code> system macros to include the contents of
+a named file into the source document.</p></div>
+<div class="paragraph"><p>The <code>include</code> macro includes a file as if it were part of the parent
+document&#8201;&#8212;&#8201;tabs are expanded and system macros processed. The
+contents of <code>include1</code> files are not subject to tab expansion or
+system macro processing nor are attribute or lower priority
+substitutions performed. The <code>include1</code> macro&#8217;s intended use is to
+include verbatim embedded CSS or scripts into configuration file
+headers. Example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>include::chapter1.txt[tabsize=4]</code></pre>
+</div></div>
+<div class="ulist"><div class="title">Include macro behavior</div><ul>
+<li>
+<p>
+If the included file name is specified with a relative path then the
+ path is relative to the location of the referring document.
+</p>
+</li>
+<li>
+<p>
+Include macros can appear inside configuration files.
+</p>
+</li>
+<li>
+<p>
+Files included from within <em>DelimitedBlocks</em> are read to completion
+ to avoid false end-of-block underline termination.
+</p>
+</li>
+<li>
+<p>
+Attribute references are expanded inside the include <em>target</em>; if an
+ attribute is undefined then the included file is silently skipped.
+</p>
+</li>
+<li>
+<p>
+The <em>tabsize</em> macro attribute sets the number of space characters to
+ be used for tab expansion in the included file (not applicable to
+ <code>include1</code> macro).
+</p>
+</li>
+<li>
+<p>
+The <em>depth</em> macro attribute sets the maximum permitted number of
+ subsequent nested includes (not applicable to <code>include1</code> macro which
+ does not process nested includes). Setting <em>depth</em> to <em>1</em> disables
+ nesting inside the included file. By default, nesting is limited to
+ a depth of ten.
+</p>
+</li>
+<li>
+<p>
+If the he <em>warnings</em> attribute is set to <em>False</em> (or any other
+ Python literal that evaluates to boolean false) then no warning
+ message is printed if the included file does not exist. By default
+ <em>warnings</em> are enabled.
+</p>
+</li>
+<li>
+<p>
+Internally the <code>include1</code> macro is translated to the <code>include1</code>
+ system attribute which means it must be evaluated in a region where
+ attribute substitution is enabled. To inhibit nested substitution in
+ included files it is preferable to use the <code>include</code> macro and set
+ the attribute <code>depth=1</code>.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect3">
+<h4 id="_conditional_inclusion_macros">21.3.2. Conditional Inclusion Macros</h4>
+<div class="paragraph"><p>Lines of text in the source document can be selectively included or
+excluded from processing based on the existence (or not) of a document
+attribute.</p></div>
+<div class="paragraph"><p>Document text between the <code>ifdef</code> and <code>endif</code> macros is included if a
+document attribute is defined:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>ifdef::&lt;attribute&gt;[]
+:
+endif::&lt;attribute&gt;[]</code></pre>
+</div></div>
+<div class="paragraph"><p>Document text between the <code>ifndef</code> and <code>endif</code> macros is not included
+if a document attribute is defined:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>ifndef::&lt;attribute&gt;[]
+:
+endif::&lt;attribute&gt;[]</code></pre>
+</div></div>
+<div class="paragraph"><p><code>&lt;attribute&gt;</code> is an attribute name which is optional in the trailing
+<code>endif</code> macro.</p></div>
+<div class="paragraph"><p>If you only want to process a single line of text then the text can be
+put inside the square brackets and the <code>endif</code> macro omitted, for
+example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>ifdef::revnumber[Version number 42]</code></pre>
+</div></div>
+<div class="paragraph"><p>Is equivalent to:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>ifdef::revnumber[]
+Version number 42
+endif::revnumber[]</code></pre>
+</div></div>
+<div class="paragraph"><p><em>ifdef</em> and <em>ifndef</em> macros also accept multiple attribute names:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Multiple <em>,</em> separated attribute names evaluate to defined if one
+ or more of the attributes is defined, otherwise it&#8217;s value is
+ undefined.
+</p>
+</li>
+<li>
+<p>
+Multiple <em>+</em> separated attribute names evaluate to defined if all
+ of the attributes is defined, otherwise it&#8217;s value is undefined.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Document text between the <code>ifeval</code> and <code>endif</code> macros is included if
+the Python expression inside the square brackets is true. Example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>ifeval::[{rs458}==2]
+:
+endif::[]</code></pre>
+</div></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Document attribute references are expanded before the expression is
+ evaluated.
+</p>
+</li>
+<li>
+<p>
+If an attribute reference is undefined then the expression is
+ considered false.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Take a look at the <code>*.conf</code> configuration files in the AsciiDoc
+distribution for examples of conditional inclusion macro usage.</p></div>
+</div>
+<div class="sect3">
+<h4 id="_executable_system_macros">21.3.3. Executable system macros</h4>
+<div class="paragraph"><p>The <em>eval</em>, <em>sys</em> and <em>sys2</em> block macros exhibit the same behavior as
+their same named <a href="#X24">system attribute references</a>. The difference
+is that system macros occur in a block macro context whereas system
+attributes are confined to inline contexts where attribute
+substitution is enabled.</p></div>
+<div class="paragraph"><p>The following example displays a long directory listing inside a
+literal block:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>------------------
+sys::[ls -l *.txt]
+------------------</code></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">There are no block macro versions of the <em>eval3</em> and <em>sys3</em>
+system attributes.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_template_system_macro">21.3.4. Template System Macro</h4>
+<div class="paragraph"><p>The <code>template</code> block macro allows the inclusion of one configuration
+file template section within another. The following example includes
+the <code>[admonitionblock]</code> section in the <code>[admonitionparagraph]</code>
+section:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[admonitionparagraph]
+template::[admonitionblock]</code></pre>
+</div></div>
+<div class="ulist"><div class="title">Template macro behavior</div><ul>
+<li>
+<p>
+The <code>template::[]</code> macro is useful for factoring configuration file
+ markup.
+</p>
+</li>
+<li>
+<p>
+<code>template::[]</code> macros cannot be nested.
+</p>
+</li>
+<li>
+<p>
+<code>template::[]</code> macro expansion is applied after all configuration
+ files have been read.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="X77">21.4. Passthrough macros</h3>
+<div class="paragraph"><p>Passthrough macros are analogous to <a href="#X76">passthrough blocks</a> and are
+used to pass text directly to the output. The substitution performed
+on the text is determined by the macro definition but can be overridden
+by the <code>&lt;subslist&gt;</code>. The usual syntax is
+<code>&lt;name&gt;:&lt;subslist&gt;[&lt;passtext&gt;]</code> (for inline macros) and
+<code>&lt;name&gt;::&lt;subslist&gt;[&lt;passtext&gt;]</code> (for block macros). Passthroughs, by
+definition, take precedence over all other text substitutions.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+pass
+</dt>
+<dd>
+<p>
+ Inline and block. Passes text unmodified (apart from explicitly
+ specified substitutions). Examples:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>pass:[&lt;q&gt;To be or not to be&lt;/q&gt;]
+pass:attributes,quotes[&lt;u&gt;the '{author}'&lt;/u&gt;]</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+asciimath, latexmath
+</dt>
+<dd>
+<p>
+ Inline and block. Passes text unmodified. Used for
+ <a href="#X78">mathematical formulas</a>.
+</p>
+</dd>
+<dt class="hdlist1">
++++
+</dt>
+<dd>
+<p>
+ Inline and block. The triple-plus passthrough is functionally
+ identical to the <em>pass</em> macro but you don&#8217;t have to escape <code>]</code>
+ characters and you can prefix with quoted attributes in the inline
+ version. Example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>Red [red]+++`sum_(i=1)\^n i=(n(n+1))/2`$+++ AsciiMathML formula</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+$$
+</dt>
+<dd>
+<p>
+ Inline and block. The double-dollar passthrough is functionally
+ identical to the triple-plus passthrough with one exception: special
+ characters are escaped. Example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$$`[[a,b],[c,d]]((n),(k))`$$</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+<a id="X80"></a>`
+</dt>
+<dd>
+<p>
+ Text quoted with single backtick characters constitutes an <em>inline
+ literal</em> passthrough. The enclosed text is rendered in a monospaced
+ font and is only subject to special character substitution. This
+ makes sense since monospace text is usually intended to be rendered
+ literally and often contains characters that would otherwise have to
+ be escaped. If you need monospaced text containing inline
+ substitutions use a <a href="#X81">plus character instead of a backtick</a>.
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_macro_definitions">21.5. Macro Definitions</h3>
+<div class="paragraph"><p>Each entry in the configuration <code>[macros]</code> section is a macro
+definition which can take one of the following forms:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>&lt;pattern&gt;=&lt;name&gt;[&lt;subslist]</code>
+</dt>
+<dd>
+<p>
+Inline macro definition.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>&lt;pattern&gt;=#&lt;name&gt;[&lt;subslist]</code>
+</dt>
+<dd>
+<p>
+Block macro definition.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>&lt;pattern&gt;=+&lt;name&gt;[&lt;subslist]</code>
+</dt>
+<dd>
+<p>
+System macro definition.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>&lt;pattern&gt;</code>
+</dt>
+<dd>
+<p>
+Delete the existing macro with this <code>&lt;pattern&gt;</code>.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p><code>&lt;pattern&gt;</code> is a Python regular expression and <code>&lt;name&gt;</code> is the name of
+a markup template. If <code>&lt;name&gt;</code> is omitted then it is the value of the
+regular expression match group named <em>name</em>. The optional
+<code>[&lt;subslist]</code> is a comma-separated list of substitution names enclosed
+in <code>[]</code> brackets, it sets the default substitutions for passthrough
+text, if omitted then no passthrough substitutions are performed.</p></div>
+<div class="paragraph"><div class="title">Pattern named groups</div><p>The following named groups can be used in macro <code>&lt;pattern&gt;</code> regular
+expressions and are available as markup template attributes:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+name
+</dt>
+<dd>
+<p>
+ The macro name.
+</p>
+</dd>
+<dt class="hdlist1">
+target
+</dt>
+<dd>
+<p>
+ The macro target.
+</p>
+</dd>
+<dt class="hdlist1">
+attrlist
+</dt>
+<dd>
+<p>
+ The macro attribute list.
+</p>
+</dd>
+<dt class="hdlist1">
+passtext
+</dt>
+<dd>
+<p>
+ Contents of this group are passed unmodified to the output subject
+ only to <em>subslist</em> substitutions.
+</p>
+</dd>
+<dt class="hdlist1">
+subslist
+</dt>
+<dd>
+<p>
+ Processed as a comma-separated list of substitution names for
+ <em>passtext</em> substitution, overrides the the macro definition
+ <em>subslist</em>.
+</p>
+</dd>
+</dl></div>
+<div class="ulist"><div class="title">Here&#8217;s what happens during macro substitution</div><ul>
+<li>
+<p>
+Each contextually relevant macro <em>pattern</em> from the <code>[macros]</code>
+ section is matched against the input source line.
+</p>
+</li>
+<li>
+<p>
+If a match is found the text to be substituted is loaded from a
+ configuration markup template section named like
+ <code>&lt;name&gt;-inlinemacro</code> or <code>&lt;name&gt;-blockmacro</code> (depending on the macro
+ type).
+</p>
+</li>
+<li>
+<p>
+Global and macro attribute list attributes are substituted in the
+ macro&#8217;s markup template.
+</p>
+</li>
+<li>
+<p>
+The substituted template replaces the macro reference in the output
+ document.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X98">22. HTML 5 audio and video block macros</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The <em>html5</em> backend <em>audio</em> and <em>video</em> block macros generate the HTML
+5 <em>audio</em> and <em>video</em> elements respectively. They follow the usual
+AsciiDoc block macro syntax <code>&lt;name&gt;::&lt;target&gt;[&lt;attrlist&gt;]</code> where:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+<code>&lt;name&gt;</code>
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+<em>audio</em> or <em>video</em>.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<code>&lt;target&gt;</code>
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The URL or file name of the video or audio file.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<code>&lt;attrlist&gt;</code>
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+A list of named attributes (see below).
+</p>
+</td>
+</tr>
+</table></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 4. Audio macro attributes</caption>
+<col width="16%" />
+<col width="83%" />
+<thead>
+<tr>
+<th align="left" valign="top">Name </th>
+<th align="left" valign="top"> Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">options</p></td>
+<td align="left" valign="top"><p class="table">A comma separated list of one or more of the following items:
+<em>autoplay</em>, <em>loop</em> which correspond to the same-named HTML 5 <em>audio</em>
+element boolean attributes. By default the player <em>controls</em> are
+enabled, include the <em>nocontrols</em> option value to hide them.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 5. Video macro attributes</caption>
+<col width="16%" />
+<col width="83%" />
+<thead>
+<tr>
+<th align="left" valign="top">Name </th>
+<th align="left" valign="top"> Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">height</p></td>
+<td align="left" valign="top"><p class="table">The height of the player in pixels.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">width</p></td>
+<td align="left" valign="top"><p class="table">The width of the player in pixels.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">poster</p></td>
+<td align="left" valign="top"><p class="table">The URL or file name of an image representing the video.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">options</p></td>
+<td align="left" valign="top"><p class="table">A comma separated list of one or more of the following items:
+<em>autoplay</em>, <em>loop</em> and <em>nocontrols</em>. The <em>autoplay</em> and <em>loop</em> options
+correspond to the same-named HTML 5 <em>video</em> element boolean
+attributes. By default the player <em>controls</em> are enabled, include the
+<em>nocontrols</em> option value to hide them.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="paragraph"><p>Examples:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>audio::images/example.ogg[]
+
+video::gizmo.ogv[width=200,options="nocontrols,autoplay"]
+
+.Example video
+video::gizmo.ogv[]
+
+video::http://www.808.dk/pics/video/gizmo.ogv[]</code></pre>
+</div></div>
+<div class="paragraph"><p>If your needs are more complex put raw HTML 5 in a markup block, for
+example (from <a href="http://www.808.dk/?code-html-5-video">http://www.808.dk/?code-html-5-video</a>):</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>++++
+&lt;video poster="pics/video/gizmo.jpg" id="video" style="cursor: pointer;" &gt;
+ &lt;source src="pics/video/gizmo.mp4" /&gt;
+ &lt;source src="pics/video/gizmo.webm" type="video/webm" /&gt;
+ &lt;source src="pics/video/gizmo.ogv" type="video/ogg" /&gt;
+ Video not playing? &lt;a href="pics/video/gizmo.mp4"&gt;Download file&lt;/a&gt; instead.
+&lt;/video&gt;
+
+&lt;script type="text/javascript"&gt;
+ var video = document.getElementById('video');
+ video.addEventListener('click',function(){
+ video.play();
+ },false);
+&lt;/script&gt;
+++++</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_tables">23. Tables</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The AsciiDoc table syntax looks and behaves like other delimited block
+types and supports standard <a href="#X73">block configuration entries</a>.
+Formatting is easy to read and, just as importantly, easy to enter.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Cells and columns can be formatted using built-in customizable styles.
+</p>
+</li>
+<li>
+<p>
+Horizontal and vertical cell alignment can be set on columns and
+ cell.
+</p>
+</li>
+<li>
+<p>
+Horizontal and vertical cell spanning is supported.
+</p>
+</li>
+</ul></div>
+<div class="sidebarblock">
+<div class="content">
+<div class="title">Use tables sparingly</div>
+<div class="paragraph"><p>When technical users first start creating documents, tables (complete
+with column spanning and table nesting) are often considered very
+important. The reality is that tables are seldom used, even in
+technical documentation.</p></div>
+<div class="paragraph"><p>Try this exercise: thumb through your library of technical books,
+you&#8217;ll be surprised just how seldom tables are actually used, even
+less seldom are tables containing block elements (such as paragraphs
+or lists) or spanned cells. This is no accident, like figures, tables
+are outside the normal document flow&#8201;&#8212;&#8201;tables are for consulting not
+for reading.</p></div>
+<div class="paragraph"><p>Tables are designed for, and should normally only be used for,
+displaying column oriented tabular data.</p></div>
+</div></div>
+<div class="sect2">
+<h3 id="_example_tables">23.1. Example tables</h3>
+<div class="tableblock">
+<table rules="all"
+width="15%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 6. Simple table</caption>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">1</p></td>
+<td align="left" valign="top"><p class="table">2</p></td>
+<td align="left" valign="top"><p class="table">A</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">3</p></td>
+<td align="left" valign="top"><p class="table">4</p></td>
+<td align="left" valign="top"><p class="table">B</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">5</p></td>
+<td align="left" valign="top"><p class="table">6</p></td>
+<td align="left" valign="top"><p class="table">C</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>[width="15%"]
+|=======
+|1 |2 |A
+|3 |4 |B
+|5 |6 |C
+|=======</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+width="50%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 7. Columns formatted with strong, monospaced and emphasis styles</caption>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+<thead>
+<tr>
+<th align="right" valign="top"> </th>
+<th colspan="2" align="center" valign="top">Columns 2 and 3</th>
+</tr>
+</thead>
+<tfoot>
+<tr>
+<td align="right" valign="top"><p class="table"><strong>footer 1</strong></p></td>
+<td align="center" valign="top"><p class="table"><code>footer 2</code></p></td>
+<td align="left" valign="top"><p class="table"><em>footer 3</em></p></td>
+</tr>
+</tfoot>
+<tbody>
+<tr>
+<td align="right" valign="top"><p class="table"><strong>1</strong></p></td>
+<td align="center" valign="top"><p class="table"><code>Item 1</code></p></td>
+<td align="left" valign="top"><p class="table"><em>Item 1</em></p></td>
+</tr>
+<tr>
+<td align="right" valign="top"><p class="table"><strong>2</strong></p></td>
+<td align="center" valign="top"><p class="table"><code>Item 2</code></p></td>
+<td align="left" valign="top"><p class="table"><em>Item 2</em></p></td>
+</tr>
+<tr>
+<td align="right" valign="top"><p class="table"><strong>3</strong></p></td>
+<td align="center" valign="top"><p class="table"><code>Item 3</code></p></td>
+<td align="left" valign="top"><p class="table"><em>Item 3</em></p></td>
+</tr>
+<tr>
+<td align="right" valign="top"><p class="table"><strong>4</strong></p></td>
+<td align="center" valign="top"><p class="table"><code>Item 4</code></p></td>
+<td align="left" valign="top"><p class="table"><em>Item 4</em></p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>.An example table
+[width="50%",cols="&gt;s,^m,e",frame="topbot",options="header,footer"]
+|==========================
+| 2+|Columns 2 and 3
+|1 |Item 1 |Item 1
+|2 |Item 2 |Item 2
+|3 |Item 3 |Item 3
+|4 |Item 4 |Item 4
+|footer 1|footer 2|footer 3
+|==========================</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+width="80%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 8. Horizontal and vertical source data</caption>
+<col width="17%" />
+<col width="11%" />
+<col width="11%" />
+<col width="58%" />
+<thead>
+<tr>
+<th align="left" valign="top">Date </th>
+<th align="center" valign="top">Duration </th>
+<th align="center" valign="top">Avg HR </th>
+<th align="left" valign="top">Notes</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">22-Aug-08</p></td>
+<td align="center" valign="top"><p class="table">10:24</p></td>
+<td align="center" valign="top"><p class="table">157</p></td>
+<td align="left" valign="top"><p class="table">Worked out MSHR (max sustainable heart rate) by going hard
+for this interval.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">22-Aug-08</p></td>
+<td align="center" valign="top"><p class="table">23:03</p></td>
+<td align="center" valign="top"><p class="table">152</p></td>
+<td align="left" valign="top"><p class="table">Back-to-back with previous interval.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">24-Aug-08</p></td>
+<td align="center" valign="top"><p class="table">40:00</p></td>
+<td align="center" valign="top"><p class="table">145</p></td>
+<td align="left" valign="top"><p class="table">Moderately hard interspersed with 3x 3min intervals (2min
+hard + 1min really hard taking the HR up to 160).</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="paragraph"><p>Short cells can be entered horizontally, longer cells vertically. The
+default behavior is to strip leading and trailing blank lines within a
+cell. These characteristics aid readability and data entry.</p></div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>.Windtrainer workouts
+[width="80%",cols="3,^2,^2,10",options="header"]
+|=========================================================
+|Date |Duration |Avg HR |Notes
+
+|22-Aug-08 |10:24 | 157 |
+Worked out MSHR (max sustainable heart rate) by going hard
+for this interval.
+
+|22-Aug-08 |23:03 | 152 |
+Back-to-back with previous interval.
+
+|24-Aug-08 |40:00 | 145 |
+Moderately hard interspersed with 3x 3min intervals (2min
+hard + 1min really hard taking the HR up to 160).
+
+|=========================================================</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 9. A table with externally sourced CSV data</caption>
+<col width="11%" />
+<col width="22%" />
+<col width="22%" />
+<col width="22%" />
+<col width="22%" />
+<thead>
+<tr>
+<th align="center" valign="top">ID</th>
+<th align="left" valign="top">Customer Name</th>
+<th align="left" valign="top">Contact Name</th>
+<th align="left" valign="top">Customer Address</th>
+<th align="left" valign="top">Phone</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="center" valign="top"><p class="table">AROUT</p></td>
+<td align="left" valign="top"><p class="table">Around the Horn</p></td>
+<td align="left" valign="top"><p class="table">Thomas Hardy</p></td>
+<td align="left" valign="top"><p class="table">120 Hanover Sq.
+London</p></td>
+<td align="left" valign="top"><p class="table">(171) 555-7788</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BERGS</p></td>
+<td align="left" valign="top"><p class="table">Berglunds snabbkop</p></td>
+<td align="left" valign="top"><p class="table">Christina Berglund</p></td>
+<td align="left" valign="top"><p class="table">Berguvsvagen 8
+Lulea</p></td>
+<td align="left" valign="top"><p class="table">0921-12 34 65</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BLAUS</p></td>
+<td align="left" valign="top"><p class="table">Blauer See Delikatessen</p></td>
+<td align="left" valign="top"><p class="table">Hanna Moos</p></td>
+<td align="left" valign="top"><p class="table">Forsterstr. 57
+Mannheim</p></td>
+<td align="left" valign="top"><p class="table">0621-08460</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BLONP</p></td>
+<td align="left" valign="top"><p class="table">Blondel pere et fils</p></td>
+<td align="left" valign="top"><p class="table">Frederique Citeaux</p></td>
+<td align="left" valign="top"><p class="table">24, place Kleber
+Strasbourg</p></td>
+<td align="left" valign="top"><p class="table">88.60.15.31</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BOLID</p></td>
+<td align="left" valign="top"><p class="table">Bolido Comidas preparadas</p></td>
+<td align="left" valign="top"><p class="table">Martin Sommer</p></td>
+<td align="left" valign="top"><p class="table">C/ Araquil, 67
+Madrid</p></td>
+<td align="left" valign="top"><p class="table">(91) 555 22 82</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BONAP</p></td>
+<td align="left" valign="top"><p class="table">Bon app'</p></td>
+<td align="left" valign="top"><p class="table">Laurence Lebihan</p></td>
+<td align="left" valign="top"><p class="table">12, rue des Bouchers
+Marseille</p></td>
+<td align="left" valign="top"><p class="table">91.24.45.40</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BOTTM</p></td>
+<td align="left" valign="top"><p class="table">Bottom-Dollar Markets</p></td>
+<td align="left" valign="top"><p class="table">Elizabeth Lincoln</p></td>
+<td align="left" valign="top"><p class="table">23 Tsawassen Blvd.
+Tsawassen</p></td>
+<td align="left" valign="top"><p class="table">(604) 555-4729</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BSBEV</p></td>
+<td align="left" valign="top"><p class="table">B&#8217;s Beverages</p></td>
+<td align="left" valign="top"><p class="table">Victoria Ashworth</p></td>
+<td align="left" valign="top"><p class="table">Fauntleroy Circus
+London</p></td>
+<td align="left" valign="top"><p class="table">(171) 555-1212</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">CACTU</p></td>
+<td align="left" valign="top"><p class="table">Cactus Comidas para llevar</p></td>
+<td align="left" valign="top"><p class="table">Patricio Simpson</p></td>
+<td align="left" valign="top"><p class="table">Cerrito 333
+Buenos Aires</p></td>
+<td align="left" valign="top"><p class="table">(1) 135-5555</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>[format="csv",cols="^1,4*2",options="header"]
+|===================================================
+ID,Customer Name,Contact Name,Customer Address,Phone
+include::customers.csv[]
+|===================================================</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+width="25%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 10. Cell spans, alignments and styles</caption>
+<col width="25%" />
+<col width="25%" />
+<col width="25%" />
+<col width="25%" />
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><em>1</em></p></td>
+<td align="right" valign="top"><p class="table"><strong>2</strong></p></td>
+<td align="center" valign="top"><p class="table">3</p></td>
+<td align="right" valign="top"><p class="table"><strong>4</strong></p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table"><em>5</em></p></td>
+<td colspan="2" rowspan="2" align="center" valign="middle"><p class="table"><code>6</code></p></td>
+<td rowspan="3" align="left" valign="bottom"><p class="table"><code>7</code></p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table"><em>8</em></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>9</em></p></td>
+<td colspan="2" align="right" valign="top"><p class="table"><code>10</code></p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>[cols="e,m,^,&gt;s",width="25%"]
+|============================
+|1 &gt;s|2 |3 |4
+^|5 2.2+^.^|6 .3+&lt;.&gt;m|7
+^|8
+|9 2+&gt;|10
+|============================</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X68">23.2. Table input data formats</h3>
+<div class="paragraph"><p>AsciiDoc table data can be <em>psv</em>, <em>dsv</em> or <em>csv</em> formatted. The
+default table format is <em>psv</em>.</p></div>
+<div class="paragraph"><p>AsciiDoc <em>psv</em> (<em>Prefix Separated Values</em>) and <em>dsv</em> (<em>Delimiter
+Separated Values</em>) formats are cell oriented&#8201;&#8212;&#8201;the table is treated
+as a sequence of cells&#8201;&#8212;&#8201;there are no explicit row separators.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<em>psv</em> prefixes each cell with a separator whereas <em>dsv</em> delimits
+ cells with a separator.
+</p>
+</li>
+<li>
+<p>
+<em>psv</em> and <em>dsv</em> separators are Python regular expressions.
+</p>
+</li>
+<li>
+<p>
+The default <em>psv</em> separator contains <a href="#X84">cell specifier</a> related
+ named regular expression groups.
+</p>
+</li>
+<li>
+<p>
+The default <em>dsv</em> separator is <code>:|\n</code> (a colon or a new line
+ character).
+</p>
+</li>
+<li>
+<p>
+<em>psv</em> and <em>dsv</em> cell separators can be escaped by preceding them
+ with a backslash character.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Here are four <em>psv</em> cells (the second item spans two columns; the
+last contains an escaped separator):</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>|One 2+|Two and three |A \| separator character</code></pre>
+</div></div>
+<div class="paragraph"><p><em>csv</em> is the quasi-standard row oriented <em>Comma Separated Values
+(CSV)</em> format commonly used to import and export spreadsheet and
+database data.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X69">23.3. Table attributes</h3>
+<div class="paragraph"><p>Tables can be customized by the following attributes:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+format
+</dt>
+<dd>
+<p>
+<em>psv</em> (default), <em>dsv</em> or <em>csv</em> (See <a href="#X68">Table Data Formats</a>).
+</p>
+</dd>
+<dt class="hdlist1">
+separator
+</dt>
+<dd>
+<p>
+The cell separator. A Python regular expression (<em>psv</em> and <em>dsv</em>
+formats) or a single character (<em>csv</em> format).
+</p>
+</dd>
+<dt class="hdlist1">
+frame
+</dt>
+<dd>
+<p>
+Defines the table border and can take the following values: <em>topbot</em>
+(top and bottom), <em>all</em> (all sides), <em>none</em> and <em>sides</em> (left and
+right sides). The default value is <em>all</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+grid
+</dt>
+<dd>
+<p>
+Defines which ruler lines are drawn between table rows and columns.
+The <em>grid</em> attribute value can be any of the following values: <em>none</em>,
+<em>cols</em>, <em>rows</em> and <em>all</em>. The default value is <em>all</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+align
+</dt>
+<dd>
+<p>
+Use the <em>align</em> attribute to horizontally align the table on the
+page (works with HTML outputs only, has no effect on DocBook outputs).
+The following values are valid: <em>left</em>, <em>right</em>, and <em>center</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+float
+</dt>
+<dd>
+<p>
+Use the <em>float</em> attribute to float the table <em>left</em> or <em>right</em> on the
+page (works with HTML outputs only, has no effect on DocBook outputs).
+Floating only makes sense in conjunction with a table <em>width</em>
+attribute value of less than 100% (otherwise the table will take up
+all the available space). <em>float</em> and <em>align</em> attributes are mutually
+exclusive. Use the <code>unfloat::[]</code> block macro to stop floating.
+</p>
+</dd>
+<dt class="hdlist1">
+halign
+</dt>
+<dd>
+<p>
+Use the <em>halign</em> attribute to horizontally align all cells in a table.
+The following values are valid: <em>left</em>, <em>right</em>, and <em>center</em>
+(defaults to <em>left</em>). Overridden by <a href="#X70">Column specifiers</a> and
+<a href="#X84">Cell specifiers</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+valign
+</dt>
+<dd>
+<p>
+Use the <em>valign</em> attribute to vertically align all cells in a table.
+The following values are valid: <em>top</em>, <em>bottom</em>, and <em>middle</em>
+(defaults to <em>top</em>). Overridden by <a href="#X70">Column specifiers</a> and
+<a href="#X84">Cell specifiers</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+options
+</dt>
+<dd>
+<p>
+The <em>options</em> attribute can contain comma separated values, for
+example: <em>header</em>, <em>footer</em>. By default header and footer rows are
+omitted. See <a href="#X74">attribute options</a> for a complete list of
+available table options.
+</p>
+</dd>
+<dt class="hdlist1">
+cols
+</dt>
+<dd>
+<p>
+The <em>cols</em> attribute is a comma separated list of <a href="#X70">column specifiers</a>. For example <code>cols="2&lt;p,2*,4p,&gt;"</code>.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+If <em>cols</em> is present it must specify all columns.
+</p>
+</li>
+<li>
+<p>
+If the <em>cols</em> attribute is not specified the number of columns is
+ calculated as the number of data items in the <strong>first line</strong> of the
+ table.
+</p>
+</li>
+<li>
+<p>
+The degenerate form for the <em>cols</em> attribute is an integer
+ specifying the number of columns e.g. <code>cols=4</code>.
+</p>
+</li>
+</ul></div>
+</dd>
+<dt class="hdlist1">
+width
+</dt>
+<dd>
+<p>
+The <em>width</em> attribute is expressed as a percentage value
+(<em>"1%"</em>&#8230;<em>"99%"</em>). The width specifies the table width relative to
+the available width. HTML backends use this value to set the table
+width attribute. It&#8217;s a bit more complicated with DocBook, see the
+<a href="#X89">DocBook table widths</a> sidebar.
+</p>
+</dd>
+<dt class="hdlist1">
+filter
+</dt>
+<dd>
+<p>
+The <em>filter</em> attribute defines an external shell command that is
+invoked for each cell. The built-in <em>asciidoc</em> table style is
+implemented using a filter.
+</p>
+</dd>
+</dl></div>
+<div class="sidebarblock" id="X89">
+<div class="content">
+<div class="title">DocBook table widths</div>
+<div class="paragraph"><p>The AsciiDoc docbook backend generates CALS tables. CALS tables do not
+support a table width attribute&#8201;&#8212;&#8201;table width can only be controlled
+by specifying absolute column widths.</p></div>
+<div class="paragraph"><p>Specifying absolute column widths is not media independent because
+different presentation media have different physical dimensions. To
+get round this limitation both
+<a href="http://www.sagehill.net/docbookxsl/Tables.html#TableWidth">DocBook XSL
+Stylesheets</a> and
+<a href="http://dblatex.sourceforge.net/doc/manual/ch03s05.html#sec-table-width">dblatex</a>
+have implemented table width processing instructions for setting the
+table width as a percentage of the available width. AsciiDoc emits
+these processing instructions if the <em>width</em> attribute is set along
+with proportional column widths (the AsciiDoc docbook backend
+<em>pageunits</em> attribute defaults to <em>*</em>).</p></div>
+<div class="paragraph"><p>To generate DocBook tables with absolute column widths set the
+<em>pageunits</em> attribute to a CALS absolute unit such as <em>pt</em> and set the
+<em>pagewidth</em> attribute to match the width of the presentation media.</p></div>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X70">23.4. Column Specifiers</h3>
+<div class="paragraph"><p>Column specifiers define how columns are rendered and appear in the
+table <a href="#X69">cols attribute</a>. A column specifier consists of an
+optional column multiplier followed by optional alignment, width and
+style values and is formatted like:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[&lt;multiplier&gt;*][&lt;align&gt;][&lt;width&gt;][&lt;style&gt;]</code></pre>
+</div></div>
+<div class="ulist"><ul>
+<li>
+<p>
+All components are optional. The multiplier must be first and the
+ style last. The order of <code>&lt;align&gt;</code> or <code>&lt;width&gt;</code> is not important.
+</p>
+</li>
+<li>
+<p>
+Column <code>&lt;width&gt;</code> can be either an integer proportional value (1&#8230;)
+ or a percentage (1%&#8230;100%). The default value is 1. To ensure
+ portability across different backends, there is no provision for
+ absolute column widths (not to be confused with output column width
+ <a href="#X72">markup attributes</a> which are available in both percentage and
+ absolute units).
+</p>
+</li>
+<li>
+<p>
+The <em>&lt;align&gt;</em> column alignment specifier is formatted like:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>[&lt;horizontal&gt;][.&lt;vertical&gt;]</code></pre>
+</div></div>
+<div class="paragraph"><p>Where <code>&lt;horizontal&gt;</code> and <code>&lt;vertical&gt;</code> are one of the following
+characters: <code>&lt;</code>, <code>^</code> or <code>&gt;</code> which represent <em>left</em>, <em>center</em> and
+<em>right</em> horizontal alignment or <em>top</em>, <em>middle</em> and <em>bottom</em> vertical
+alignment respectively.</p></div>
+</li>
+<li>
+<p>
+A <code>&lt;multiplier&gt;</code> can be used to specify repeated columns e.g.
+ <code>cols="4*&lt;"</code> specifies four left-justified columns. The default
+ multiplier value is 1.
+</p>
+</li>
+<li>
+<p>
+The <code>&lt;style&gt;</code> name specifies a <a href="#X71">table style</a> to used to markup
+ column cells (you can use the full style names if you wish but the
+ first letter is normally sufficient).
+</p>
+</li>
+<li>
+<p>
+Column specific styles are not applied to header rows.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="X84">23.5. Cell Specifiers</h3>
+<div class="paragraph"><p>Cell specifiers allow individual cells in <em>psv</em> formatted tables to be
+spanned, multiplied, aligned and styled. Cell specifiers prefix <em>psv</em>
+<code>|</code> delimiters and are formatted like:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[&lt;span&gt;*|+][&lt;align&gt;][&lt;style&gt;]</code></pre>
+</div></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<em>&lt;span&gt;</em> specifies horizontal and vertical cell spans (<em>+</em> operator) or
+ the number of times the cell is replicated (<em>*</em> operator). <em>&lt;span&gt;</em>
+ is formatted like:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>[&lt;colspan&gt;][.&lt;rowspan&gt;]</code></pre>
+</div></div>
+<div class="paragraph"><p>Where <code>&lt;colspan&gt;</code> and <code>&lt;rowspan&gt;</code> are integers specifying the number of
+columns and rows to span.</p></div>
+</li>
+<li>
+<p>
+<code>&lt;align&gt;</code> specifies horizontal and vertical cell alignment an is the
+ same as in <a href="#X70">column specifiers</a>.
+</p>
+</li>
+<li>
+<p>
+A <code>&lt;style&gt;</code> value is the first letter of <a href="#X71">table style</a> name.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>For example, the following <em>psv</em> formatted cell will span two columns
+and the text will be centered and emphasized:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>`2+^e| Cell text`</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X71">23.6. Table styles</h3>
+<div class="paragraph"><p>Table styles can be applied to the entire table (by setting the
+<em>style</em> attribute in the table&#8217;s attribute list) or on a per column
+basis (by specifying the style in the table&#8217;s <a href="#X69">cols attribute</a>).
+Table data can be formatted using the following predefined styles:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+default
+</dt>
+<dd>
+<p>
+The default style: AsciiDoc inline text formatting; blank lines are
+treated as paragraph breaks.
+</p>
+</dd>
+<dt class="hdlist1">
+emphasis
+</dt>
+<dd>
+<p>
+Like default but all text is emphasised.
+</p>
+</dd>
+<dt class="hdlist1">
+monospaced
+</dt>
+<dd>
+<p>
+Like default but all text is in a monospaced font.
+</p>
+</dd>
+<dt class="hdlist1">
+strong
+</dt>
+<dd>
+<p>
+Like default but all text is bold.
+</p>
+</dd>
+<dt class="hdlist1">
+header
+</dt>
+<dd>
+<p>
+Apply the same style as the table header. Normally used to create a
+vertical header in the first column.
+</p>
+</dd>
+<dt class="hdlist1">
+asciidoc
+</dt>
+<dd>
+<p>
+With this style table cells can contain any of the AsciiDoc elements
+that are allowed inside document sections. This style runs <code>asciidoc(1)</code>
+as a filter to process cell contents. See also <a href="#X83">Docbook table limitations</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+literal
+</dt>
+<dd>
+<p>
+No text formatting; monospaced font; all line breaks are retained
+(the same as the AsciiDoc <a href="#X65">LiteralBlock</a> element).
+</p>
+</dd>
+<dt class="hdlist1">
+verse
+</dt>
+<dd>
+<p>
+All line breaks are retained (just like the AsciiDoc <a href="#X94">verse paragraph style</a>).
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="X72">23.7. Markup attributes</h3>
+<div class="paragraph"><p>AsciiDoc makes a number of attributes available to table markup
+templates and tags. Column specific attributes are available when
+substituting the <em>colspec</em> cell data tags.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+pageunits
+</dt>
+<dd>
+<p>
+DocBook backend only. Specifies table column absolute width units.
+Defaults to <em>*</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+pagewidth
+</dt>
+<dd>
+<p>
+DocBook backend only. The nominal output page width in <em>pageunit</em>
+units. Used to calculate CALS tables absolute column and table
+widths. Defaults to <em>425</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+tableabswidth
+</dt>
+<dd>
+<p>
+Integer value calculated from <em>width</em> and <em>pagewidth</em> attributes.
+In <em>pageunit</em> units.
+</p>
+</dd>
+<dt class="hdlist1">
+tablepcwidth
+</dt>
+<dd>
+<p>
+Table width expressed as a percentage of the available width. Integer
+value (0..100).
+</p>
+</dd>
+<dt class="hdlist1">
+colabswidth
+</dt>
+<dd>
+<p>
+Integer value calculated from <em>cols</em> column width, <em>width</em> and
+<em>pagewidth</em> attributes. In <em>pageunit</em> units.
+</p>
+</dd>
+<dt class="hdlist1">
+colpcwidth
+</dt>
+<dd>
+<p>
+Column width expressed as a percentage of the table width. Integer
+value (0..100).
+</p>
+</dd>
+<dt class="hdlist1">
+colcount
+</dt>
+<dd>
+<p>
+Total number of table columns.
+</p>
+</dd>
+<dt class="hdlist1">
+rowcount
+</dt>
+<dd>
+<p>
+Total number of table rows.
+</p>
+</dd>
+<dt class="hdlist1">
+halign
+</dt>
+<dd>
+<p>
+Horizontal cell content alignment: <em>left</em>, <em>right</em> or <em>center</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+valign
+</dt>
+<dd>
+<p>
+Vertical cell content alignment: <em>top</em>, <em>bottom</em> or <em>middle</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+colnumber, colstart
+</dt>
+<dd>
+<p>
+The number of the leftmost column occupied by the cell (1&#8230;).
+</p>
+</dd>
+<dt class="hdlist1">
+colend
+</dt>
+<dd>
+<p>
+The number of the rightmost column occupied by the cell (1&#8230;).
+</p>
+</dd>
+<dt class="hdlist1">
+colspan
+</dt>
+<dd>
+<p>
+Number of columns the cell should span.
+</p>
+</dd>
+<dt class="hdlist1">
+rowspan
+</dt>
+<dd>
+<p>
+Number of rows the cell should span (1&#8230;).
+</p>
+</dd>
+<dt class="hdlist1">
+morerows
+</dt>
+<dd>
+<p>
+Number of additional rows the cell should span (0&#8230;).
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_nested_tables">23.8. Nested tables</h3>
+<div class="paragraph"><p>An alternative <em>psv</em> separator character <em>!</em> can be used (instead of
+<em>|</em>) in nested tables. This allows a single level of table nesting.
+Columns containing nested tables must use the <em>asciidoc</em> style. An
+example can be found in <code>./examples/website/newtables.txt</code>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X83">23.9. DocBook table limitations</h3>
+<div class="paragraph"><p>Fully implementing tables is not trivial, some DocBook toolchains do
+better than others. AsciiDoc HTML table outputs are rendered
+correctly in all the popular browsers&#8201;&#8212;&#8201;if your DocBook generated
+tables don&#8217;t look right compare them with the output generated by the
+AsciiDoc <em>xhtml11</em> backend or try a different DocBook toolchain. Here
+is a list of things to be aware of:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Although nested tables are not legal in DocBook 4 the FOP and
+ dblatex toolchains will process them correctly. If you use <code>a2x(1)</code>
+ you will need to include the <code>--no-xmllint</code> option to suppress
+ DocBook validation errors.
+</p>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">In theory you can nest DocBook 4 tables one level using the
+<em>entrytbl</em> element, but not all toolchains process <em>entrytbl</em>.</td>
+</tr></table>
+</div>
+</li>
+<li>
+<p>
+DocBook only allows a subset of block elements inside table cells so
+ not all AsciiDoc elements produce valid DocBook inside table cells.
+ If you get validation errors running <code>a2x(1)</code> try the <code>--no-xmllint</code>
+ option, toolchains will often process nested block elements such as
+ sidebar blocks and floating titles correctly even though, strictly
+ speaking, they are not legal.
+</p>
+</li>
+<li>
+<p>
+Text formatting in cells using the <em>monospaced</em> table style will
+ raise validation errors because the DocBook <em>literal</em> element was
+ not designed to support formatted text (using the <em>literal</em> element
+ is a kludge on the part of AsciiDoc as there is no easy way to set
+ the font style in DocBook.
+</p>
+</li>
+<li>
+<p>
+Cell alignments are ignored for <em>verse</em>, <em>literal</em> or <em>asciidoc</em>
+ table styles.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X1">24. Manpage Documents</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Sooner or later, if you program in a UNIX environment, you&#8217;re going
+to have to write a man page.</p></div>
+<div class="paragraph"><p>By observing a couple of additional conventions (detailed below) you
+can write AsciiDoc files that will generate HTML and PDF man pages
+plus the native manpage roff format. The easiest way to generate roff
+manpages from AsciiDoc source is to use the <code>a2x(1)</code> command. The
+following example generates a roff formatted manpage file called
+<code>asciidoc.1</code> (<code>a2x(1)</code> uses <code>asciidoc(1)</code> to convert <code>asciidoc.1.txt</code> to
+DocBook which it then converts to roff using DocBook XSL Stylesheets):</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>a2x --doctype manpage --format manpage asciidoc.1.txt</code></pre>
+</div></div>
+<div class="sidebarblock">
+<div class="content">
+<div class="title">Viewing and printing manpage files</div>
+<div class="paragraph"><p>Use the <code>man(1)</code> command to view the manpage file:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ man -l asciidoc.1</code></pre>
+</div></div>
+<div class="paragraph"><p>To print a high quality man page to a postscript printer:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ man -l -Tps asciidoc.1 | lpr</code></pre>
+</div></div>
+<div class="paragraph"><p>You could also create a PDF version of the man page by converting
+PostScript to PDF using <code>ps2pdf(1)</code>:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ man -l -Tps asciidoc.1 | ps2pdf - asciidoc.1.pdf</code></pre>
+</div></div>
+<div class="paragraph"><p>The <code>ps2pdf(1)</code> command is included in the Ghostscript distribution.</p></div>
+</div></div>
+<div class="paragraph"><p>To find out more about man pages view the <code>man(7)</code> manpage
+(<code>man 7 man</code> and <code>man man-pages</code> commands).</p></div>
+<div class="sect2">
+<h3 id="_document_header">24.1. Document Header</h3>
+<div class="paragraph"><p>A manpage document Header is mandatory. The title line contains the
+man page name followed immediately by the manual section number in
+brackets, for example <em>ASCIIDOC(1)</em>. The title name should not contain
+white space and the manual section number is a single digit optionally
+followed by a single character.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_the_name_section">24.2. The NAME Section</h3>
+<div class="paragraph"><p>The first manpage section is mandatory, must be titled <em>NAME</em> and must
+contain a single paragraph (usually a single line) consisting of a
+list of one or more comma separated command name(s) separated from the
+command purpose by a dash character. The dash must have at least one
+white space character on either side. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>printf, fprintf, sprintf - print formatted output</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_the_synopsis_section">24.3. The SYNOPSIS Section</h3>
+<div class="paragraph"><p>The second manpage section is mandatory and must be titled <em>SYNOPSIS</em>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_refmiscinfo_attributes">24.4. refmiscinfo attributes</h3>
+<div class="paragraph"><p>In addition to the automatically created man page <a href="#X60">intrinsic attributes</a> you can assign DocBook
+<a href="http://www.docbook.org/tdg5/en/html/refmiscinfo.html">refmiscinfo</a>
+element <em>source</em>, <em>version</em> and <em>manual</em> values using AsciiDoc
+<code>{mansource}</code>, <code>{manversion}</code> and <code>{manmanual}</code> attributes
+respectively. This example is from the AsciiDoc header of a man page
+source file:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>:man source: AsciiDoc
+:man version: {revnumber}
+:man manual: AsciiDoc Manual</code></pre>
+</div></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X78">25. Mathematical Formulas</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The <em>asciimath</em> and <em>latexmath</em> <a href="#X76">passthrough blocks</a> along with
+the <em>asciimath</em> and <em>latexmath</em> <a href="#X77">passthrough macros</a> provide a
+(backend dependent) mechanism for rendering mathematical formulas. You
+can use the following math markups:</p></div>
+<div class="sect2">
+<h3 id="_latex_math">25.1. LaTeX Math</h3>
+<div class="paragraph"><p><a href="ftp://ftp.ams.org/pub/tex/doc/amsmath/short-math-guide.pdf">LaTeX
+math</a> can be included in documents that are processed by
+<a href="#X31">dblatex(1)</a>. Example inline formula:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>latexmath:[$C = \alpha + \beta Y^{\gamma} + \epsilon$]</code></pre>
+</div></div>
+<div class="paragraph"><p>For more examples see the <a href="https://asciidoc.org/">AsciiDoc website</a> or the
+distributed <code>doc/latexmath.txt</code> file.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_mathjax">25.2. MathJax</h3>
+<div class="paragraph"><p><a href="http://www.mathjax.org/">MathJax</a> allows LaTeX Math style formulas to be included
+in XHTML documents generated via the AsciiDoc <em>xhtml11</em> and <em>html5</em> backends.
+This route overcomes several restrictions of the MathML-based approaches,
+notably, restricted support of MathML by many mainstream browsers. To enable
+<em>MathJax</em> support you must define the <em>mathjax</em> attribute, for example using the
+<code>-a mathjax</code> command-line option. Equations are specified as explained above
+using the <em>latexmath</em> passthrough blocks. By default, rendering of equations
+with <em>MathJax</em> requires a working internet connection and will thus not work if
+you are offline (but it can be configured differently).</p></div>
+</div>
+<div class="sect2">
+<h3 id="_latexmathml">25.3. LaTeXMathML</h3>
+<div class="paragraph"><p><em>LaTeXMathML</em> allows LaTeX Math style formulas to be included in XHTML
+documents generated using the AsciiDoc <em>xhtml11</em> and <em>html5</em> backends.
+AsciiDoc uses the
+<a href="http://www.maths.nottingham.ac.uk/personal/drw/lm.html">original
+LaTeXMathML</a> by Douglas Woodall. <em>LaTeXMathML</em> is derived from
+ASCIIMathML and is for users who are more familiar with or prefer
+using LaTeX math formulas (it recognizes a subset of LaTeX Math, the
+differences are documented on the <em>LaTeXMathML</em> web page). To enable
+LaTeXMathML support you must define the <em>latexmath</em> attribute, for
+example using the <code>-a latexmath</code> command-line option. Example inline
+formula:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>latexmath:[$\sum_{n=1}^\infty \frac{1}{2^n}$]</code></pre>
+</div></div>
+<div class="paragraph"><p>For more examples see the <a href="https://asciidoc.org/">AsciiDoc website</a> or the
+distributed <code>doc/latexmathml.txt</code> file.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">The <em>latexmath</em> macro used to include <em>LaTeX Math</em> in DocBook
+outputs is not the same as the <em>latexmath</em> macro used to include
+<em>LaTeX MathML</em> in XHTML outputs. <em>LaTeX Math</em> applies to DocBook
+outputs that are processed by <a href="#X31">dblatex</a> and is normally used to
+generate PDF files. <em>LaTeXMathML</em> is very much a subset of <em>LaTeX
+Math</em> and applies to XHTML documents. This remark does not
+apply to <em>MathJax</em> which does not use any of the <em>latexmath</em> macros
+(but only requires the <em>latexmath</em> passthrough blocks for identification
+of the equations).</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_asciimathml">25.4. ASCIIMathML</h3>
+<div class="paragraph"><p><a href="http://www1.chapman.edu/~jipsen/mathml/asciimath.html">ASCIIMathML</a>
+formulas can be included in XHTML documents generated using the
+<em>xhtml11</em> and <em>html5</em> backends. To enable ASCIIMathML support you must
+define the <em>asciimath</em> attribute, for example using the <code>-a asciimath</code>
+command-line option. Example inline formula:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>asciimath:[`x/x={(1,if x!=0),(text{undefined},if x=0):}`]</code></pre>
+</div></div>
+<div class="paragraph"><p>For more examples see the <a href="https://asciidoc.org/">AsciiDoc website</a> or the
+distributed <code>doc/asciimathml.txt</code> file.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_mathml">25.5. MathML</h3>
+<div class="paragraph"><p><a href="http://www.w3.org/Math/">MathML</a> is a low level XML markup for
+mathematics. AsciiDoc has no macros for MathML but users familiar with
+this markup could use passthrough macros and passthrough blocks to
+include MathML in output documents.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X7">26. Configuration Files</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc source file syntax and output file markup is largely
+controlled by a set of cascading, text based, configuration files. At
+runtime The AsciiDoc default configuration files are combined with
+optional user and document specific configuration files.</p></div>
+<div class="sect2">
+<h3 id="_configuration_file_format">26.1. Configuration File Format</h3>
+<div class="paragraph"><p>Configuration files contain named sections. Each section begins with a
+section name in square brackets []. The section body consists of the
+lines of text between adjacent section headings.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Section names consist of one or more alphanumeric, underscore or
+ dash characters and cannot begin or end with a dash.
+</p>
+</li>
+<li>
+<p>
+Lines starting with a <em>#</em> character are treated as comments and
+ ignored.
+</p>
+</li>
+<li>
+<p>
+If the section name is prefixed with a <em>+</em> character then the
+ section contents is appended to the contents of an already existing
+ same-named section.
+</p>
+</li>
+<li>
+<p>
+Otherwise same-named sections and section entries override
+ previously loaded sections and section entries (this is sometimes
+ referred to as <em>cascading</em>). Consequently, downstream configuration
+ files need only contain those sections and section entries that need
+ to be overridden.
+</p>
+</li>
+</ul></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">When creating custom configuration files you only need to include
+the sections and entries that differ from the default configuration.</td>
+</tr></table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">The best way to learn about configuration files is to read the
+default configuration files in the AsciiDoc distribution in
+conjunction with <code>asciidoc(1)</code> output files. You can view configuration
+file load sequence by turning on the <code>asciidoc(1)</code> <code>-v</code> (<code>--verbose</code>)
+command-line option.</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>AsciiDoc reserves the following section names for specific purposes:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+miscellaneous
+</dt>
+<dd>
+<p>
+ Configuration options that don&#8217;t belong anywhere else.
+</p>
+</dd>
+<dt class="hdlist1">
+attributes
+</dt>
+<dd>
+<p>
+ Attribute name/value entries.
+</p>
+</dd>
+<dt class="hdlist1">
+specialcharacters
+</dt>
+<dd>
+<p>
+ Special characters reserved by the backend markup.
+</p>
+</dd>
+<dt class="hdlist1">
+tags
+</dt>
+<dd>
+<p>
+ Backend markup tags.
+</p>
+</dd>
+<dt class="hdlist1">
+quotes
+</dt>
+<dd>
+<p>
+ Definitions for quoted inline character formatting.
+</p>
+</dd>
+<dt class="hdlist1">
+specialwords
+</dt>
+<dd>
+<p>
+ Lists of words and phrases singled out for special markup.
+</p>
+</dd>
+<dt class="hdlist1">
+replacements, replacements2, replacements3
+</dt>
+<dd>
+<p>
+ Find and replace substitution definitions.
+</p>
+</dd>
+<dt class="hdlist1">
+specialsections
+</dt>
+<dd>
+<p>
+ Used to single out special section names for specific markup.
+</p>
+</dd>
+<dt class="hdlist1">
+macros
+</dt>
+<dd>
+<p>
+ Macro syntax definitions.
+</p>
+</dd>
+<dt class="hdlist1">
+titles
+</dt>
+<dd>
+<p>
+ Heading, section and block title definitions.
+</p>
+</dd>
+<dt class="hdlist1">
+paradef-*
+</dt>
+<dd>
+<p>
+ Paragraph element definitions.
+</p>
+</dd>
+<dt class="hdlist1">
+blockdef-*
+</dt>
+<dd>
+<p>
+ DelimitedBlock element definitions.
+</p>
+</dd>
+<dt class="hdlist1">
+listdef-*
+</dt>
+<dd>
+<p>
+ List element definitions.
+</p>
+</dd>
+<dt class="hdlist1">
+listtags-*
+</dt>
+<dd>
+<p>
+ List element tag definitions.
+</p>
+</dd>
+<dt class="hdlist1">
+tabledef-*
+</dt>
+<dd>
+<p>
+ Table element definitions.
+</p>
+</dd>
+<dt class="hdlist1">
+tabletags-*
+</dt>
+<dd>
+<p>
+ Table element tag definitions.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>Each line of text in these sections is a <em>section entry</em>. Section
+entries share the following syntax:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+name=value
+</dt>
+<dd>
+<p>
+ The entry value is set to value.
+</p>
+</dd>
+<dt class="hdlist1">
+name=
+</dt>
+<dd>
+<p>
+ The entry value is set to a zero length string.
+</p>
+</dd>
+<dt class="hdlist1">
+name!
+</dt>
+<dd>
+<p>
+ The entry is undefined (deleted from the configuration). This
+ syntax only applies to <em>attributes</em> and <em>miscellaneous</em>
+ sections.
+</p>
+</dd>
+</dl></div>
+<div class="ulist"><div class="title">Section entry behavior</div><ul>
+<li>
+<p>
+All equals characters inside the <code>name</code> must be escaped with a
+ backslash character.
+</p>
+</li>
+<li>
+<p>
+<code>name</code> and <code>value</code> are stripped of leading and trailing white space.
+</p>
+</li>
+<li>
+<p>
+Attribute names, tag entry names and markup template section names
+ consist of one or more alphanumeric, underscore or dash characters.
+ Names should not begin or end with a dash.
+</p>
+</li>
+<li>
+<p>
+A blank configuration file section (one without any entries) deletes
+ any preceding section with the same name (applies to non-markup
+ template sections).
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_miscellaneous_section">26.2. Miscellaneous section</h3>
+<div class="paragraph"><p>The optional <code>[miscellaneous]</code> section specifies the following
+<code>name=value</code> options:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+newline
+</dt>
+<dd>
+<p>
+ Output file line termination characters. Can include any
+ valid Python string escape sequences. The default value is
+ <code>\r\n</code> (carriage return, line feed). Should not be quoted or
+ contain explicit spaces (use <code>\x20</code> instead). For example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a 'newline=\n' -b docbook mydoc.txt</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+outfilesuffix
+</dt>
+<dd>
+<p>
+ The default extension for the output file, for example
+ <code>outfilesuffix=.html</code>. Defaults to backend name.
+</p>
+</dd>
+<dt class="hdlist1">
+tabsize
+</dt>
+<dd>
+<p>
+ The number of spaces to expand tab characters, for example
+ <code>tabsize=4</code>. Defaults to 8. A <em>tabsize</em> of zero suppresses tab
+ expansion (useful when piping included files through block
+ filters). Included files can override this option using the
+ <em>tabsize</em> attribute.
+</p>
+</dd>
+<dt class="hdlist1">
+pagewidth, pageunits
+</dt>
+<dd>
+<p>
+ These global table related options are documented in the
+ <a href="#X4">Table Configuration File Definitions</a> sub-section.
+</p>
+</dd>
+</dl></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content"><code>[miscellaneous]</code> configuration file entries can be set using
+the <code>asciidoc(1)</code> <code>-a</code> (<code>--attribute</code>) command-line option.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_titles_section">26.3. Titles section</h3>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+sectiontitle
+</dt>
+<dd>
+<p>
+ Two line section title pattern. The entry value is a Python
+ regular expression containing the named group <em>title</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+underlines
+</dt>
+<dd>
+<p>
+ A comma separated list of document and section title underline
+ character pairs starting with the section level 0 and ending
+ with section level 4 underline. The default setting is:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>underlines="==","--","~~","^^","++"</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+sect0&#8230;sect4
+</dt>
+<dd>
+<p>
+ One line section title patterns. The entry value is a Python
+ regular expression containing the named group <em>title</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+blocktitle
+</dt>
+<dd>
+<p>
+ <a href="#X42">BlockTitle element</a> pattern. The entry value is a
+ Python regular expression containing the named group <em>title</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+subs
+</dt>
+<dd>
+<p>
+ A comma separated list of substitutions that are performed on
+ the document header and section titles. Defaults to <em>normal</em>
+ substitution.
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_tags_section">26.4. Tags section</h3>
+<div class="paragraph"><p>The <code>[tags]</code> section contains backend tag definitions (one per
+line). Tags are used to translate AsciiDoc elements to backend
+markup.</p></div>
+<div class="paragraph"><p>An AsciiDoc tag definition is formatted like
+<code>&lt;tagname&gt;=&lt;starttag&gt;|&lt;endtag&gt;</code>. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>emphasis=&lt;em&gt;|&lt;/em&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>In this example <code>asciidoc(1)</code> replaces the | character with the
+emphasized text from the AsciiDoc input file and writes the result to
+the output file.</p></div>
+<div class="paragraph"><p>Use the <code>{brvbar}</code> attribute reference if you need to include a | pipe
+character inside tag text.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_attributes_section">26.5. Attributes section</h3>
+<div class="paragraph"><p>The optional <code>[attributes]</code> section contains predefined attributes.</p></div>
+<div class="paragraph"><p>If the attribute value requires leading or trailing spaces then the
+text text should be enclosed in quotation mark (") characters.</p></div>
+<div class="paragraph"><p>To delete a attribute insert a <code>name!</code> entry in a downstream
+configuration file or use the <code>asciidoc(1)</code> <code>--attribute name!</code>
+command-line option (an attribute name suffixed with a <code>!</code> character
+deletes the attribute)</p></div>
+</div>
+<div class="sect2">
+<h3 id="_special_characters_section">26.6. Special Characters section</h3>
+<div class="paragraph"><p>The <code>[specialcharacters]</code> section specifies how to escape characters
+reserved by the backend markup. Each translation is specified on a
+single line formatted like:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;special_character&gt;=&lt;translated_characters&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>Special characters are normally confined to those that resolve
+markup ambiguity (in the case of HTML and XML markups the ampersand,
+less than and greater than characters). The following example causes
+all occurrences of the <code>&lt;</code> character to be replaced by <code>&amp;lt;</code>.</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;=&amp;lt;</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_quoted_text_section">26.7. Quoted Text section</h3>
+<div class="paragraph"><p>Quoting is used primarily for text formatting. The <code>[quotes]</code> section
+defines AsciiDoc quoting characters and their corresponding backend
+markup tags. Each section entry value is the name of a of a <code>[tags]</code>
+section entry. The entry name is the character (or characters) that
+quote the text. The following examples are taken from AsciiDoc
+configuration files:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[quotes]
+_=emphasis</code></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[tags]
+emphasis=&lt;em&gt;|&lt;/em&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>You can specify the left and right quote strings separately by
+separating them with a | character, for example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>``|''=quoted</code></pre>
+</div></div>
+<div class="paragraph"><p>Omitting the tag will disable quoting, for example, if you don&#8217;t want
+superscripts or subscripts put the following in a custom configuration
+file or edit the global <code>asciidoc.conf</code> configuration file:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[quotes]
+^=
+~=</code></pre>
+</div></div>
+<div class="paragraph"><p><a href="#X52">Unconstrained quotes</a> are differentiated from constrained
+quotes by prefixing the tag name with a hash character, for example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>__=#emphasis</code></pre>
+</div></div>
+<div class="ulist"><div class="title">Quoted text behavior</div><ul>
+<li>
+<p>
+Quote characters must be non-alphanumeric.
+</p>
+</li>
+<li>
+<p>
+To minimize quoting ambiguity try not to use the same quote
+ characters in different quote types.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_special_words_section">26.8. Special Words section</h3>
+<div class="paragraph"><p>The <code>[specialwords]</code> section is used to single out words and phrases
+that you want to consistently format in some way throughout your
+document without having to repeatedly specify the markup. The name of
+each entry corresponds to a markup template section and the entry
+value consists of a list of words and phrases to be marked up. For
+example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[specialwords]
+strongwords=NOTE IMPORTANT</code></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[strongwords]
+&lt;strong&gt;{words}&lt;/strong&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>The examples specifies that any occurrence of <code>NOTE</code> or <code>IMPORTANT</code>
+should appear in a bold font.</p></div>
+<div class="paragraph"><p>Words and word phrases are treated as Python regular expressions: for
+example, the word <code>^NOTE</code> would only match <code>NOTE</code> if appeared at
+the start of a line.</p></div>
+<div class="paragraph"><p>AsciiDoc comes with three built-in Special Word types:
+<em>emphasizedwords</em>, <em>monospacedwords</em> and <em>strongwords</em>, each has a
+corresponding (backend specific) markup template section. Edit the
+configuration files to customize existing Special Words and to add new
+ones.</p></div>
+<div class="ulist"><div class="title">Special word behavior</div><ul>
+<li>
+<p>
+Word list entries must be separated by space characters.
+</p>
+</li>
+<li>
+<p>
+Word list entries with embedded spaces should be enclosed in quotation (")
+ characters.
+</p>
+</li>
+<li>
+<p>
+A <code>[specialwords]</code> section entry of the form
+ <code>name=word1&#160;[word2&#8230;]</code> adds words to existing <code>name</code> entries.
+</p>
+</li>
+<li>
+<p>
+A <code>[specialwords]</code> section entry of the form <code>name</code> undefines
+ (deletes) all existing <code>name</code> words.
+</p>
+</li>
+<li>
+<p>
+Since word list entries are processed as Python regular expressions
+ you need to be careful to escape regular expression special
+ characters.
+</p>
+</li>
+<li>
+<p>
+By default Special Words are substituted before Inline Macros, this
+ may lead to undesirable consequences. For example the special word
+ <code>foobar</code> would be expanded inside the macro call
+ <code>http://www.foobar.com[]</code>. A possible solution is to emphasize
+ whole words only by defining the word using regular expression
+ characters, for example <code>\bfoobar\b</code>.
+</p>
+</li>
+<li>
+<p>
+If the first matched character of a special word is a backslash then
+ the remaining characters are output without markup i.e. the
+ backslash can be used to escape special word markup. For example
+ the special word <code>\\?\b[Tt]en\b</code> will mark up the words <code>Ten</code> and
+ <code>ten</code> only if they are not preceded by a backslash.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="X10">26.9. Replacements section</h3>
+<div class="paragraph"><p><code>[replacements]</code>, <code>[replacements2]</code> and <code>[replacements3]</code>
+configuration file entries specify find and replace text and are
+formatted like:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;find_pattern&gt;=&lt;replacement_text&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>The find text can be a Python regular expression; the replace text can
+contain Python regular expression group references.</p></div>
+<div class="paragraph"><p>Use Replacement shortcuts for often used macro references, for
+example (the second replacement allows us to backslash escape the
+macro name):</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>NEW!=image:./images/smallnew.png[New!]
+\\NEW!=NEW!</code></pre>
+</div></div>
+<div class="paragraph"><p>The only difference between the three replacement types is how they
+are applied. By default <em>replacements</em> and <em>replacements2</em> are applied
+in <a href="#X102">normal</a> substitution contexts whereas <em>replacements3</em> needs
+to be configured explicitly and should only be used in backend
+configuration files.</p></div>
+<div class="ulist"><div class="title">Replacement behavior</div><ul>
+<li>
+<p>
+The built-in replacements can be escaped with a backslash.
+</p>
+</li>
+<li>
+<p>
+If the find or replace text has leading or trailing spaces then the
+ text should be enclosed in quotation (") characters.
+</p>
+</li>
+<li>
+<p>
+Since the find text is processed as a regular expression you need to
+ be careful to escape regular expression special characters.
+</p>
+</li>
+<li>
+<p>
+Replacements are performed in the same order they appear in the
+ configuration file replacements section.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_markup_template_sections">26.10. Markup Template Sections</h3>
+<div class="paragraph"><p>Markup template sections supply backend markup for translating
+AsciiDoc elements. Since the text is normally backend dependent
+you&#8217;ll find these sections in the backend specific configuration
+files. Template sections differ from other sections in that they
+contain a single block of text instead of per line <em>name=value</em>
+entries. A markup template section body can contain:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Attribute references
+</p>
+</li>
+<li>
+<p>
+System macro calls.
+</p>
+</li>
+<li>
+<p>
+A document content placeholder
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>The document content placeholder is a single | character and is
+replaced by text from the source element. Use the <code>{brvbar}</code>
+attribute reference if you need a literal | character in the template.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X27">26.11. Configuration file names, precedence and locations</h3>
+<div class="paragraph"><p>Configuration files have a <code>.conf</code> file name extension; they are
+loaded from the following locations:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+The directory containing the asciidoc executable.
+</p>
+</li>
+<li>
+<p>
+If there is no <code>asciidoc.conf</code> file in the directory containing the
+ asciidoc executable then load from the global configuration
+ directory (normally <code>/etc/asciidoc</code> or <code>/usr/local/etc/asciidoc</code>)
+ i.e. the global configuration files directory is skipped if
+ AsciiDoc configuration files are installed in the same directory as
+ the asciidoc executable. This allows both a system wide copy and
+ multiple local copies of AsciiDoc to coexist on the same host PC.
+</p>
+</li>
+<li>
+<p>
+The user&#8217;s <code>$HOME/.asciidoc</code> directory (if it exists).
+</p>
+</li>
+<li>
+<p>
+The directory containing the AsciiDoc source file.
+</p>
+</li>
+<li>
+<p>
+Explicit configuration files specified using:
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+The <code>conf-files</code> attribute (one or more file names separated by a
+ <code>|</code> character). These files are loaded in the order they are
+ specified and prior to files specified using the <code>--conf-file</code>
+ command-line option.
+</p>
+</li>
+<li>
+<p>
+The <code>asciidoc(1)</code> <code>--conf-file</code>) command-line option. The
+ <code>--conf-file</code> option can be specified multiple times, in which
+ case configuration files will be processed in the same order they
+ appear on the command-line.
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+<a href="#X100">Backend plugin</a> configuration files are loaded from
+ subdirectories named like <code>backends/&lt;backend&gt;</code> in locations 1, 2
+ and 3.
+</p>
+</li>
+<li>
+<p>
+<a href="#X59">Filter</a> configuration files are loaded from subdirectories
+ named like <code>filters/&lt;filter&gt;</code> in locations 1, 2 and 3.
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>Configuration files from the above locations are loaded in the
+following order:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+The <code>[attributes]</code> section only from:
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+<code>asciidoc.conf</code> in location 3
+</p>
+</li>
+<li>
+<p>
+Files from location 5.
+</p>
+<div class="paragraph"><p>This first pass makes locally set attributes available in the global
+<code>asciidoc.conf</code> file.</p></div>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+<code>asciidoc.conf</code> from locations 1, 2, 3.
+</p>
+</li>
+<li>
+<p>
+<em>attributes</em>, <em>titles</em> and <em>specialcharacters</em> sections from the
+ <code>asciidoc.conf</code> in location 4.
+</p>
+</li>
+<li>
+<p>
+The document header is parsed at this point and we can assume the
+ <em>backend</em> and <em>doctype</em> have now been defined.
+</p>
+</li>
+<li>
+<p>
+Backend plugin <code>&lt;backend&gt;.conf</code> and <code>&lt;backend&gt;-&lt;doctype&gt;.conf</code> files
+ from locations 6. If a backend plugin is not found then try
+ locations 1, 2 and 3 for <code>&lt;backend&gt;.conf</code> and
+ <code>&lt;backend&gt;-&lt;doctype&gt;.conf</code> backend configuration files.
+</p>
+</li>
+<li>
+<p>
+Filter conf files from locations 7.
+</p>
+</li>
+<li>
+<p>
+<code>lang-&lt;lang&gt;.conf</code> from locations 1, 2, 3.
+</p>
+</li>
+<li>
+<p>
+<code>asciidoc.conf</code> from location 4.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;backend&gt;.conf</code> and <code>&lt;backend&gt;-&lt;doctype&gt;.conf</code> from location 4.
+</p>
+</li>
+<li>
+<p>
+Filter conf files from location 4.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;docfile&gt;.conf</code> and <code>&lt;docfile&gt;-&lt;backend&gt;.conf</code> from location 4.
+</p>
+</li>
+<li>
+<p>
+Configuration files from location 5.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Where:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<code>&lt;backend&gt;</code> and <code>&lt;doctype&gt;</code> are values specified by the <code>asciidoc(1)</code>
+ <code>-b</code> (<code>--backend</code>) and <code>-d</code> (<code>--doctype</code>) command-line options.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;infile&gt;</code> is the path name of the AsciiDoc input file without the
+ file name extension.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;lang&gt;</code> is a two letter country code set by the the AsciiDoc <em>lang</em>
+ attribute.
+</p>
+</li>
+</ul></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">
+<div class="paragraph"><p>The backend and language global configuration files are loaded <strong>after</strong>
+the header has been parsed. This means that you can set most
+attributes in the document header. Here&#8217;s an example header:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Life's Mysteries
+================
+:author: Hu Nose
+:doctype: book
+:toc:
+:icons:
+:data-uri:
+:lang: en
+:encoding: iso-8859-1</code></pre>
+</div></div>
+<div class="paragraph"><p>Attributes set in the document header take precedence over
+configuration file attributes.</p></div>
+</td>
+</tr></table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">Use the <code>asciidoc(1)</code> <code>-v</code> (<code>--verbose</code>) command-line option to see
+which configuration files are loaded and the order in which they are
+loaded.</td>
+</tr></table>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_document_attributes">27. Document Attributes</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>A document attribute is comprised of a <em>name</em> and a textual <em>value</em>
+and is used for textual substitution in AsciiDoc documents and
+configuration files. An attribute reference (an attribute name
+enclosed in braces) is replaced by the corresponding attribute
+value. Attribute names are case insensitive and can only contain
+alphanumeric, dash and underscore characters.</p></div>
+<div class="paragraph"><p>There are four sources of document attributes (from highest to lowest
+precedence):</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Command-line attributes.
+</p>
+</li>
+<li>
+<p>
+AttributeEntry, AttributeList, Macro and BlockId elements.
+</p>
+</li>
+<li>
+<p>
+Configuration file <code>[attributes]</code> sections.
+</p>
+</li>
+<li>
+<p>
+Intrinsic attributes.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Within each of these divisions the last processed entry takes
+precedence.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">If an attribute is not defined then the line containing the
+attribute reference is dropped. This property is used extensively in
+AsciiDoc configuration files to facilitate conditional markup
+generation.</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X18">28. Attribute Entries</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The <code>AttributeEntry</code> block element allows document attributes to be
+assigned within an AsciiDoc document. Attribute entries are added to
+the global document attributes dictionary. The attribute name/value
+syntax is a single line like:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>:&lt;name&gt;: &lt;value&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>:Author Initials: JB</code></pre>
+</div></div>
+<div class="paragraph"><p>This will set an attribute reference <code>{authorinitials}</code> to the value
+<em>JB</em> in the current document.</p></div>
+<div class="paragraph"><p>To delete (undefine) an attribute use the following syntax:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>:&lt;name&gt;!:</code></pre>
+</div></div>
+<div class="ulist"><div class="title">AttributeEntry behavior</div><ul>
+<li>
+<p>
+The attribute entry line begins with colon&#8201;&#8212;&#8201;no white space allowed
+ in left margin.
+</p>
+</li>
+<li>
+<p>
+AsciiDoc converts the <code>&lt;name&gt;</code> to a legal attribute name (lower
+ case, alphanumeric, dash and underscore characters only&#8201;&#8212;&#8201;all other
+ characters deleted). This allows more human friendly text to be
+ used.
+</p>
+</li>
+<li>
+<p>
+Leading and trailing white space is stripped from the <code>&lt;value&gt;</code>.
+</p>
+</li>
+<li>
+<p>
+Lines ending in a space followed by a plus character are continued
+ to the next line, for example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>:description: AsciiDoc is a text document format for writing notes, +
+ documentation, articles, books, slideshows, web pages +
+ and man pages.</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+If the <code>&lt;value&gt;</code> is blank then the corresponding attribute value is
+ set to an empty string.
+</p>
+</li>
+<li>
+<p>
+Attribute references contained in the entry <code>&lt;value&gt;</code> will be
+ expanded.
+</p>
+</li>
+<li>
+<p>
+By default AttributeEntry values are substituted for
+ <code>specialcharacters</code> and <code>attributes</code> (see above), if you want to
+ change or disable AttributeEntry substitution use the <a href="#X77">pass:[] inline macro</a> syntax.
+</p>
+</li>
+<li>
+<p>
+Attribute entries in the document Header are available for header
+ markup template substitution.
+</p>
+</li>
+<li>
+<p>
+Attribute elements override configuration file and intrinsic
+ attributes but do not override command-line attributes.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Here are some more attribute entry examples:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>AsciiDoc User Manual
+====================
+:author: Stuart Rackham
+:email: srackham@gmail.com
+:revdate: April 23, 2004
+:revnumber: 5.1.1</code></pre>
+</div></div>
+<div class="paragraph"><p>Which creates these attributes:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>{author}, {firstname}, {lastname}, {authorinitials}, {email},
+{revdate}, {revnumber}</code></pre>
+</div></div>
+<div class="paragraph"><p>The previous example is equivalent to this <a href="#X95">document header</a>:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>AsciiDoc User Manual
+====================
+Stuart Rackham &lt;srackham@gmail.com&gt;
+5.1.1, April 23, 2004</code></pre>
+</div></div>
+<div class="sect2">
+<h3 id="_setting_configuration_entries">28.1. Setting configuration entries</h3>
+<div class="paragraph"><p>A variant of the Attribute Entry syntax allows configuration file
+section entries and markup template sections to be set from within an
+AsciiDoc document:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>:&lt;section_name&gt;.[&lt;entry_name&gt;]: &lt;entry_value&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>Where <code>&lt;section_name&gt;</code> is the configuration section name,
+<code>&lt;entry_name&gt;</code> is the name of the entry and <code>&lt;entry_value&gt;</code> is the
+optional entry value. This example sets the default labeled list
+style to <em>horizontal</em>:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>:listdef-labeled.style: horizontal</code></pre>
+</div></div>
+<div class="paragraph"><p>It is exactly equivalent to a configuration file containing:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[listdef-labeled]
+style=horizontal</code></pre>
+</div></div>
+<div class="ulist"><ul>
+<li>
+<p>
+If the <code>&lt;entry_name&gt;</code> is omitted then the entire section is
+ substituted with the <code>&lt;entry_value&gt;</code>. This feature should only be
+ used to set markup template sections. The following example sets the
+ <em>xref2</em> inline macro markup template:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>:xref2-inlinemacro.: &lt;a href="#{1}"&gt;{2?{2}}&lt;/a&gt;</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+No substitution is performed on configuration file attribute entries
+ and they cannot be undefined.
+</p>
+</li>
+<li>
+<p>
+This feature can only be used in attribute entries&#8201;&#8212;&#8201;configuration
+ attributes cannot be set using the <code>asciidoc(1)</code> command <code>--attribute</code>
+ option.
+</p>
+</li>
+</ul></div>
+<div class="sidebarblock" id="X62">
+<div class="content">
+<div class="title">Attribute entries promote clarity and eliminate repetition</div>
+<div class="paragraph"><p>URLs and file names in AsciiDoc macros are often quite long&#8201;&#8212;&#8201;they
+break paragraph flow and readability suffers. The problem is
+compounded by redundancy if the same name is used repeatedly.
+Attribute entries can be used to make your documents easier to read
+and write, here are some examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>:1: http://freshmeat.net/projects/asciidoc/
+:homepage: http://asciidoc.org[AsciiDoc home page]
+:new: image:./images/smallnew.png[]
+:footnote1: footnote:[A meaningless latin term]</code></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Using previously defined attributes: See the {1}[Freshmeat summary]
+or the {homepage} for something new {new}. Lorem ispum {footnote1}.</code></pre>
+</div></div>
+<div class="ulist"><div class="title">Note</div><ul>
+<li>
+<p>
+The attribute entry definition must precede it&#8217;s usage.
+</p>
+</li>
+<li>
+<p>
+You are not limited to URLs or file names, entire macro calls or
+ arbitrary lines of text can be abbreviated.
+</p>
+</li>
+<li>
+<p>
+Shared attributes entries could be grouped into a separate file and
+ <a href="#X63">included</a> in multiple documents.
+</p>
+</li>
+</ul></div>
+</div></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X21">29. Attribute Lists</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+An attribute list is a comma separated list of attribute values.
+</p>
+</li>
+<li>
+<p>
+The entire list is enclosed in square brackets.
+</p>
+</li>
+<li>
+<p>
+Attribute lists are used to pass parameters to macros, blocks (using
+ the <a href="#X79">AttributeList element</a>) and inline quotes.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>The list consists of zero or more positional attribute values followed
+by zero or more named attribute values. Here are three examples: a
+single unquoted positional attribute; three unquoted positional
+attribute values; one positional attribute followed by two named
+attributes; the unquoted attribute value in the final example contains
+comma (<code>&amp;#44;</code>) and double-quote (<code>&amp;#34;</code>) character entities:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[Hello]
+[quote, Bertrand Russell, The World of Mathematics (1956)]
+["22 times", backcolor="#0e0e0e", options="noborders,wide"]
+[A footnote&amp;#44; &amp;#34;with an image&amp;#34; image:smallnew.png[]]</code></pre>
+</div></div>
+<div class="ulist"><div class="title">Attribute list behavior</div><ul>
+<li>
+<p>
+If one or more attribute values contains a comma the all string
+ values must be quoted (enclosed in double quotation mark
+ characters).
+</p>
+</li>
+<li>
+<p>
+If the list contains any named or quoted attributes then all string
+ attribute values must be quoted.
+</p>
+</li>
+<li>
+<p>
+To include a double quotation mark (") character in a quoted
+ attribute value the the quotation mark must be escaped with a
+ backslash.
+</p>
+</li>
+<li>
+<p>
+List attributes take precedence over existing attributes.
+</p>
+</li>
+<li>
+<p>
+List attributes can only be referenced in configuration file markup
+ templates and tags, they are not available elsewhere in the
+ document.
+</p>
+</li>
+<li>
+<p>
+Setting a named attribute to <code>None</code> undefines the attribute.
+</p>
+</li>
+<li>
+<p>
+Positional attributes are referred to as <code>{1}</code>,<code>{2}</code>,<code>{3}</code>,&#8230;
+</p>
+</li>
+<li>
+<p>
+Attribute <code>{0}</code> refers to the entire list (excluding the enclosing
+ square brackets).
+</p>
+</li>
+<li>
+<p>
+Named attribute names cannot contain dash characters.
+</p>
+</li>
+</ul></div>
+<div class="sect2">
+<h3 id="X75">29.1. Options attribute</h3>
+<div class="paragraph"><p>If the attribute list contains an attribute named <code>options</code> it is
+processed as a comma separated list of option names:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Each name generates an attribute named like <code>&lt;option&gt;-option</code> (where
+ <code>&lt;option&gt;</code> is the option name) with an empty string value. For
+ example <code>[options="opt1,opt2,opt3"]</code> is equivalent to setting the
+ following three attributes
+ <code>[opt1-option="",opt2-option="",opt2-option=""]</code>.
+</p>
+</li>
+<li>
+<p>
+If you define a an option attribute globally (for example with an
+ <a href="#X18">attribute entry</a>) then it will apply to all elements in the
+ document.
+</p>
+</li>
+<li>
+<p>
+AsciiDoc implements a number of predefined options which are listed
+ in the <a href="#X74">Attribute Options appendix</a>.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_macro_attribute_lists">29.2. Macro Attribute lists</h3>
+<div class="paragraph"><p>Macros calls are suffixed with an attribute list. The list may be
+empty but it cannot be omitted. List entries are used to pass
+attribute values to macro markup templates.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_attribute_references">30. Attribute References</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>An attribute reference is an attribute name (possibly followed by an
+additional parameters) enclosed in curly braces. When an attribute
+reference is encountered it is evaluated and replaced by its
+corresponding text value. If the attribute is undefined the line
+containing the attribute is dropped.</p></div>
+<div class="paragraph"><p>There are three types of attribute reference: <em>Simple</em>, <em>Conditional</em>
+and <em>System</em>.</p></div>
+<div class="ulist"><div class="title">Attribute reference evaluation</div><ul>
+<li>
+<p>
+You can suppress attribute reference expansion by placing a
+ backslash character immediately in front of the opening brace
+ character.
+</p>
+</li>
+<li>
+<p>
+By default attribute references are not expanded in
+ <em>LiteralParagraphs</em>, <em>ListingBlocks</em> or <em>LiteralBlocks</em>.
+</p>
+</li>
+<li>
+<p>
+Attribute substitution proceeds line by line in reverse line order.
+</p>
+</li>
+<li>
+<p>
+Attribute reference evaluation is performed in the following order:
+ <em>Simple</em> then <em>Conditional</em> and finally <em>System</em>.
+</p>
+</li>
+</ul></div>
+<div class="sect2">
+<h3 id="_simple_attributes_references">30.1. Simple Attributes References</h3>
+<div class="paragraph"><p>Simple attribute references take the form <code>{&lt;name&gt;}</code>. If the
+attribute name is defined its text value is substituted otherwise the
+line containing the reference is dropped from the output.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_conditional_attribute_references">30.2. Conditional Attribute References</h3>
+<div class="paragraph"><p>Additional parameters are used in conjunction with attribute names to
+calculate a substitution value. Conditional attribute references take
+the following forms:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>{&lt;names&gt;=&lt;value&gt;}</code>
+</dt>
+<dd>
+<p>
+ <code>&lt;value&gt;</code> is substituted if the attribute <code>&lt;names&gt;</code> is
+ undefined otherwise its value is substituted. <code>&lt;value&gt;</code> can
+ contain simple attribute references.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{&lt;names&gt;?&lt;value&gt;}</code>
+</dt>
+<dd>
+<p>
+ <code>&lt;value&gt;</code> is substituted if the attribute <code>&lt;names&gt;</code> is defined
+ otherwise an empty string is substituted. <code>&lt;value&gt;</code> can
+ contain simple attribute references.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{&lt;names&gt;!&lt;value&gt;}</code>
+</dt>
+<dd>
+<p>
+ <code>&lt;value&gt;</code> is substituted if the attribute <code>&lt;names&gt;</code> is
+ undefined otherwise an empty string is substituted. <code>&lt;value&gt;</code>
+ can contain simple attribute references.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{&lt;names&gt;#&lt;value&gt;}</code>
+</dt>
+<dd>
+<p>
+ <code>&lt;value&gt;</code> is substituted if the attribute <code>&lt;names&gt;</code> is defined
+ otherwise the undefined attribute entry causes the containing
+ line to be dropped. <code>&lt;value&gt;</code> can contain simple attribute
+ references.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{&lt;names&gt;%&lt;value&gt;}</code>
+</dt>
+<dd>
+<p>
+ <code>&lt;value&gt;</code> is substituted if the attribute <code>&lt;names&gt;</code> is not
+ defined otherwise the containing line is dropped. <code>&lt;value&gt;</code>
+ can contain simple attribute references.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{&lt;names&gt;@&lt;regexp&gt;:&lt;value1&gt;[:&lt;value2&gt;]}</code>
+</dt>
+<dd>
+<p>
+ <code>&lt;value1&gt;</code> is substituted if the value of attribute <code>&lt;names&gt;</code>
+ matches the regular expression <code>&lt;regexp&gt;</code> otherwise <code>&lt;value2&gt;</code>
+ is substituted. If attribute <code>&lt;names&gt;</code> is not defined the
+ containing line is dropped. If <code>&lt;value2&gt;</code> is omitted an empty
+ string is assumed. The values and the regular expression can
+ contain simple attribute references. To embed colons in the
+ values or the regular expression escape them with backslashes.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{&lt;names&gt;$&lt;regexp&gt;:&lt;value1&gt;[:&lt;value2&gt;]}</code>
+</dt>
+<dd>
+<p>
+ Same behavior as the previous ternary attribute except for
+ the following cases:
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>{&lt;names&gt;$&lt;regexp&gt;:&lt;value&gt;}</code>
+</dt>
+<dd>
+<p>
+ Substitutes <code>&lt;value&gt;</code> if <code>&lt;names&gt;</code> matches <code>&lt;regexp&gt;</code>
+ otherwise the result is undefined and the containing
+ line is dropped.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{&lt;names&gt;$&lt;regexp&gt;::&lt;value&gt;}</code>
+</dt>
+<dd>
+<p>
+ Substitutes <code>&lt;value&gt;</code> if <code>&lt;names&gt;</code> does not match
+ <code>&lt;regexp&gt;</code> otherwise the result is undefined and the
+ containing line is dropped.
+</p>
+</dd>
+</dl></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p>The attribute <code>&lt;names&gt;</code> parameter normally consists of a single
+attribute name but it can be any one of the following:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+A single attribute name which evaluates to the attributes value.
+</p>
+</li>
+<li>
+<p>
+Multiple <em>,</em> separated attribute names which evaluates to an empty
+ string if one or more of the attributes is defined, otherwise it&#8217;s
+ value is undefined.
+</p>
+</li>
+<li>
+<p>
+Multiple <em>+</em> separated attribute names which evaluates to an empty
+ string if all of the attributes are defined, otherwise it&#8217;s value is
+ undefined.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Conditional attributes with single attribute names are evaluated first
+so they can be used inside the multi-attribute conditional <code>&lt;value&gt;</code>.</p></div>
+<div class="sect3">
+<h4 id="_conditional_attribute_examples">30.2.1. Conditional attribute examples</h4>
+<div class="paragraph"><p>Conditional attributes are mainly used in AsciiDoc configuration
+files&#8201;&#8212;&#8201;see the distribution <code>.conf</code> files for examples.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+Attribute equality test
+</dt>
+<dd>
+<p>
+ If <code>{backend}</code> is <em>docbook45</em> or <em>xhtml11</em> the example evaluates to
+ &#8220;DocBook 4.5 or XHTML 1.1 backend&#8221; otherwise it evaluates to
+ &#8220;some other backend&#8221;:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>{backend@docbook45|xhtml11:DocBook 4.5 or XHTML 1.1 backend:some other backend}</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+Attribute value map
+</dt>
+<dd>
+<p>
+ This example maps the <code>frame</code> attribute values [<code>topbot</code>, <code>all</code>,
+ <code>none</code>, <code>sides</code>] to [<code>hsides</code>, <code>border</code>, <code>void</code>, <code>vsides</code>]:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>{frame@topbot:hsides}{frame@all:border}{frame@none:void}{frame@sides:vsides}</code></pre>
+</div></div>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="X24">30.3. System Attribute References</h3>
+<div class="paragraph"><p>System attribute references generate the attribute text value by
+executing a predefined action that is parametrized by one or more
+arguments. The syntax is <code>{&lt;action&gt;:&lt;arguments&gt;}</code>.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>{counter:&lt;attrname&gt;[:&lt;seed&gt;]}</code>
+</dt>
+<dd>
+<p>
+ Increments the document attribute (if the attribute is
+ undefined it is set to <code>1</code>). Returns the new attribute value.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Counters generate global (document wide) attributes.
+</p>
+</li>
+<li>
+<p>
+The optional <code>&lt;seed&gt;</code> specifies the counter&#8217;s initial value;
+ it can be a number or a single letter; defaults to <em>1</em>.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;seed&gt;</code> can contain simple and conditional attribute
+ references.
+</p>
+</li>
+<li>
+<p>
+The <em>counter</em> system attribute will not be executed if the
+ containing line is dropped by the prior evaluation of an
+ undefined attribute.
+</p>
+</li>
+</ul></div>
+</dd>
+<dt class="hdlist1">
+<code>{counter2:&lt;attrname&gt;[:&lt;seed&gt;]}</code>
+</dt>
+<dd>
+<p>
+ Same as <code>counter</code> except the it always returns a blank string.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{eval:&lt;expression&gt;}</code>
+</dt>
+<dd>
+<p>
+ Substitutes the result of the Python <code>&lt;expression&gt;</code>.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+If <code>&lt;expression&gt;</code> evaluates to <code>None</code> or <code>False</code> the
+ reference is deemed undefined and the line containing the
+ reference is dropped from the output.
+</p>
+</li>
+<li>
+<p>
+If the expression evaluates to <code>True</code> the attribute
+ evaluates to an empty string.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;expression&gt;</code> can contain simple and conditional attribute
+ references.
+</p>
+</li>
+<li>
+<p>
+The <em>eval</em> system attribute can be nested inside other
+ system attributes.
+</p>
+</li>
+</ul></div>
+</dd>
+<dt class="hdlist1">
+<code>{eval3:&lt;command&gt;}</code>
+</dt>
+<dd>
+<p>
+ Passthrough version of <code>{eval:&lt;expression&gt;}</code>&#8201;&#8212;&#8201;the generated
+ output is written directly to the output without any further
+ substitutions.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{include:&lt;filename&gt;}</code>
+</dt>
+<dd>
+<p>
+ Substitutes contents of the file named <code>&lt;filename&gt;</code>.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+The included file is read at the time of attribute
+ substitution.
+</p>
+</li>
+<li>
+<p>
+If the file does not exist a warning is emitted and the line
+ containing the reference is dropped from the output file.
+</p>
+</li>
+<li>
+<p>
+Tabs are expanded based on the current <em>tabsize</em> attribute
+ value.
+</p>
+</li>
+</ul></div>
+</dd>
+<dt class="hdlist1">
+<code>{set:&lt;attrname&gt;[!][:&lt;value&gt;]}</code>
+</dt>
+<dd>
+<p>
+ Sets or unsets document attribute. Normally only used in
+ configuration file markup templates (use
+ <a href="#X18">AttributeEntries</a> in AsciiDoc documents).
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+If the attribute name is followed by an exclamation mark
+ the attribute becomes undefined.
+</p>
+</li>
+<li>
+<p>
+If <code>&lt;value&gt;</code> is omitted the attribute is set to a blank
+ string.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;value&gt;</code> can contain simple and conditional attribute
+ references.
+</p>
+</li>
+<li>
+<p>
+Returns a blank string unless the attribute is undefined in
+ which case the return value is undefined and the enclosing
+ line will be dropped.
+</p>
+</li>
+</ul></div>
+</dd>
+<dt class="hdlist1">
+<code>{set2:&lt;attrname&gt;[!][:&lt;value&gt;]}</code>
+</dt>
+<dd>
+<p>
+ Same as <code>set</code> except that the attribute scope is local to the
+ template.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{sys:&lt;command&gt;}</code>
+</dt>
+<dd>
+<p>
+ Substitutes the stdout generated by the execution of the shell
+ <code>&lt;command&gt;</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{sys2:&lt;command&gt;}</code>
+</dt>
+<dd>
+<p>
+ Substitutes the stdout and stderr generated by the execution
+ of the shell <code>&lt;command&gt;</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{sys3:&lt;command&gt;}</code>
+</dt>
+<dd>
+<p>
+ Passthrough version of <code>{sys:&lt;command&gt;}</code>&#8201;&#8212;&#8201;the generated
+ output is written directly to the output without any further
+ substitutions.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{template:&lt;template&gt;}</code>
+</dt>
+<dd>
+<p>
+ Substitutes the contents of the configuration file section
+ named <code>&lt;template&gt;</code>. Attribute references contained in the
+ template are substituted.
+</p>
+</dd>
+</dl></div>
+<div class="ulist"><div class="title">System reference behavior</div><ul>
+<li>
+<p>
+System attribute arguments can contain non-system attribute
+ references.
+</p>
+</li>
+<li>
+<p>
+Closing brace characters inside system attribute arguments must be
+ escaped with a backslash.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X60">31. Intrinsic Attributes</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Intrinsic attributes are simple attributes that are created
+automatically from: AsciiDoc document header parameters; <code>asciidoc(1)</code>
+command-line arguments; attributes defined in the default
+configuration files; the execution context. Here&#8217;s the list of
+predefined intrinsic attributes:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>{amp} ampersand (&amp;) character entity
+{asciidoc-args} used to pass inherited arguments to asciidoc filters
+{asciidoc-confdir} the asciidoc(1) global configuration directory
+{asciidoc-dir} the asciidoc(1) application directory
+{asciidoc-file} the full path name of the asciidoc(1) script
+{asciidoc-version} the version of asciidoc(1)
+{author} author's full name
+{authored} empty string '' if {author} or {email} defined,
+{authorinitials} author initials (from document header)
+{backend-&lt;backend&gt;} empty string ''
+{&lt;backend&gt;-&lt;doctype&gt;} empty string ''
+{backend} document backend specified by `-b` option
+{backend-confdir} the directory containing the &lt;backend&gt;.conf file
+{backslash} backslash character
+{basebackend-&lt;base&gt;} empty string ''
+{basebackend} html or docbook
+{blockname} current block name (note 8).
+{brvbar} broken vertical bar (|) character
+{docdate} document last modified date (note 9)
+{docdir} document input directory name (note 5)
+{docfile} document file name (note 5)
+{docname} document file name without extension (note 6)
+{doctime} document last modified time (note 9)
+{doctitle} document title (from document header)
+{doctype-&lt;doctype&gt;} empty string ''
+{doctype} document type specified by `-d` option
+{email} author's email address (from document header)
+{empty} empty string ''
+{encoding} specifies input and output encoding
+{filetype-&lt;fileext&gt;} empty string ''
+{filetype} output file name file extension
+{firstname} author first name (from document header)
+{gt} greater than (&gt;) character entity
+{id} running block id generated by BlockId elements
+{indir} input file directory name (note 2,5)
+{infile} input file name (note 2,5)
+{lastname} author last name (from document header)
+{ldquo} Left double quote character (note 7)
+{level} title level 1..4 (in section titles)
+{listindex} the list index (1..) of the most recent list item
+{localdate} the current date (note 9)
+{localtime} the current time (note 9)
+{lsquo} Left single quote character (note 7)
+{lt} less than (&lt;) character entity
+{manname} manpage name (defined in NAME section)
+{manpurpose} manpage (defined in NAME section)
+{mantitle} document title minus the manpage volume number
+{manvolnum} manpage volume number (1..8) (from document header)
+{middlename} author middle name (from document header)
+{nbsp} non-breaking space character entity
+{notitle} do not display the document title
+{outdir} document output directory name (note 2)
+{outfile} output file name (note 2)
+{plus} plus character
+{python} the full path name of the Python interpreter executable
+{rdquo} right double quote character (note 7)
+{reftext} running block xreflabel generated by BlockId elements
+{revdate} document revision date (from document header)
+{revnumber} document revision number (from document header)
+{rsquo} right single quote character (note 7)
+{sectnum} formatted section number (in section titles)
+{sp} space character
+{showcomments} send comment lines to the output
+{title} section title (in titled elements)
+{two-colons} two colon characters
+{two-semicolons} two semicolon characters
+{user-dir} the ~/.asciidoc directory (if it exists)
+{verbose} defined as '' if --verbose command option specified
+{wj} word-joiner
+{zwsp} zero-width space character entity</code></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Intrinsic attributes are global so avoid defining custom attributes
+ with the same names.
+</p>
+</li>
+<li>
+<p>
+<code>{outfile}</code>, <code>{outdir}</code>, <code>{infile}</code>, <code>{indir}</code> attributes are
+ effectively read-only (you can set them but it won&#8217;t affect the
+ input or output file paths).
+</p>
+</li>
+<li>
+<p>
+See also the <a href="#X88">Backend Attributes</a> section for attributes
+ that relate to AsciiDoc XHTML file generation.
+</p>
+</li>
+<li>
+<p>
+The entries that translate to blank strings are designed to be used
+ for conditional text inclusion. You can also use the <code>ifdef</code>,
+ <code>ifndef</code> and <code>endif</code> System macros for conditional inclusion.
+ <span class="footnote"><br />[Conditional inclusion using <code>ifdef</code> and <code>ifndef</code> macros
+ differs from attribute conditional inclusion in that the former
+ occurs when the file is read while the latter occurs when the
+ contents are written.]<br /></span>
+</p>
+</li>
+<li>
+<p>
+<code>{docfile}</code> and <code>{docdir}</code> refer to root document specified on the
+ <code>asciidoc(1)</code> command-line; <code>{infile}</code> and <code>{indir}</code> refer to the
+ current input file which may be the root document or an included
+ file. When the input is being read from the standard input
+ (<code>stdin</code>) these attributes are undefined.
+</p>
+</li>
+<li>
+<p>
+If the input file is the standard input and the output file is not
+ the standard output then <code>{docname}</code> is the output file name sans
+ file extension.
+</p>
+</li>
+<li>
+<p>
+See
+ <a href="http://en.wikipedia.org/wiki/Non-English_usage_of_quotation_marks">non-English
+ usage of quotation marks</a>.
+</p>
+</li>
+<li>
+<p>
+The <code>{blockname}</code> attribute identifies the style of the current
+ block. It applies to delimited blocks, lists and tables. Here is a
+ list of <code>{blockname}</code> values (does not include filters or custom
+ block and style names):
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+delimited blocks
+</dt>
+<dd>
+<p>
+comment, sidebar, open, pass, literal, verse,
+ listing, quote, example, note, tip, important, caution, warning,
+ abstract, partintro
+</p>
+</dd>
+<dt class="hdlist1">
+lists
+</dt>
+<dd>
+<p>
+arabic, loweralpha, upperalpha, lowerroman, upperroman,
+ labeled, labeled3, labeled4, qanda, horizontal, bibliography,
+ glossary
+</p>
+</dd>
+<dt class="hdlist1">
+tables
+</dt>
+<dd>
+<p>
+table
+</p>
+</dd>
+</dl></div>
+</li>
+<li>
+<p>
+If the <code>SOURCE_DATE_EPOCH</code> environment variable is set to a UNIX
+ timestamp, then the <code>{docdate}</code>, <code>{doctime}</code>, <code>{localdate}</code>, and
+ <code>{localtime}</code> attributes are computed in the UTC time zone, with any
+ timestamps newer than <code>SOURCE_DATE_EPOCH</code> replaced by
+ <code>SOURCE_DATE_EPOCH</code>. (This helps software using AsciiDoc to build
+ reproducibly.)
+</p>
+</li>
+</ol></div>
+</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X73">32. Block Element Definitions</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The syntax and behavior of Paragraph, DelimitedBlock, List and Table
+block elements is determined by block definitions contained in
+<a href="#X7">AsciiDoc configuration file</a> sections.</p></div>
+<div class="paragraph"><p>Each definition consists of a section title followed by one or more
+section entries. Each entry defines a block parameter controlling some
+aspect of the block&#8217;s behavior. Here&#8217;s an example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[blockdef-listing]
+delimiter=^-{4,}$
+template=listingblock
+presubs=specialcharacters,callouts</code></pre>
+</div></div>
+<div class="paragraph"><p>Configuration file block definition sections are processed
+incrementally after each configuration file is loaded. Block
+definition section entries are merged into the block definition, this
+allows block parameters to be overridden and extended by later
+<a href="#X27">loading configuration files</a>.</p></div>
+<div class="paragraph"><p>AsciiDoc Paragraph, DelimitedBlock, List and Table block elements
+share a common subset of configuration file parameters:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+delimiter
+</dt>
+<dd>
+<p>
+ A Python regular expression that matches the first line of a block
+ element&#8201;&#8212;&#8201;in the case of DelimitedBlocks and Tables it also matches
+ the last line.
+</p>
+</dd>
+<dt class="hdlist1">
+template
+</dt>
+<dd>
+<p>
+ The name of the configuration file markup template section that will
+ envelope the block contents. The pipe (<em>|</em>) character is substituted
+ for the block contents. List elements use a set of (list specific)
+ tag parameters instead of a single template. The template name can
+ contain attribute references allowing dynamic template selection a
+ the time of template substitution.
+</p>
+</dd>
+<dt class="hdlist1">
+options
+</dt>
+<dd>
+<p>
+ A comma delimited list of element specific option names. In addition
+ to being used internally, options are available during markup tag
+ and template substitution as attributes with an empty string value
+ named like <code>&lt;option&gt;-option</code> (where <code>&lt;option&gt;</code> is the option name).
+ See <a href="#X74">attribute options</a> for a complete list of available
+ options.
+</p>
+</dd>
+<dt class="hdlist1">
+subs, presubs, postsubs
+</dt>
+<dd>
+<div class="ulist"><ul>
+<li>
+<p>
+<em>presubs</em> and <em>postsubs</em> are lists of comma separated substitutions that are
+ performed on the block contents. <em>presubs</em> is applied first,
+ <em>postsubs</em> (if specified) second.
+</p>
+</li>
+<li>
+<p>
+<em>subs</em> is an alias for <em>presubs</em>.
+</p>
+</li>
+<li>
+<p>
+If a <em>filter</em> is allowed (Paragraphs, DelimitedBlocks and Tables)
+ and has been specified then <em>presubs</em> and <em>postsubs</em> substitutions
+ are performed before and after the filter is run respectively.
+</p>
+</li>
+<li>
+<p>
+Allowed values: <em>specialcharacters</em>, <em>quotes</em>, <em>specialwords</em>,
+ <em>replacements</em>, <em>macros</em>, <em>attributes</em>, <em>callouts</em>.
+</p>
+</li>
+<li>
+<p>
+<a id="X102"></a>The following composite values are also allowed:
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<em>none</em>
+</dt>
+<dd>
+<p>
+ No substitutions.
+</p>
+</dd>
+<dt class="hdlist1">
+<em>normal</em>
+</dt>
+<dd>
+<p>
+ The following substitutions in the following order:
+ <em>specialcharacters</em>, <em>quotes</em>, <em>attributes</em>, <em>specialwords</em>,
+ <em>replacements</em>, <em>macros</em>, <em>replacements2</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+<em>verbatim</em>
+</dt>
+<dd>
+<p>
+ The following substitutions in the following order:
+ <em>specialcharacters</em> and <em>callouts</em>.
+</p>
+</dd>
+</dl></div>
+</li>
+<li>
+<p>
+<em>normal</em> and <em>verbatim</em> substitutions can be redefined by with
+ <code>subsnormal</code> and <code>subsverbatim</code> entries in a configuration file
+ <code>[miscellaneous]</code> section.
+</p>
+</li>
+<li>
+<p>
+The substitutions are processed in the order in which they are
+ listed and can appear more than once.
+</p>
+</li>
+</ul></div>
+</dd>
+<dt class="hdlist1">
+filter
+</dt>
+<dd>
+<p>
+ This optional entry specifies an executable shell command for
+ processing block content (Paragraphs, DelimitedBlocks and Tables).
+ The filter command can contain attribute references.
+</p>
+</dd>
+<dt class="hdlist1">
+posattrs
+</dt>
+<dd>
+<p>
+ Optional comma separated list of positional attribute names. This
+ list maps positional attributes (in the block&#8217;s <a href="#X21">attribute list</a>) to named block attributes. The following example, from the
+ QuoteBlock definition, maps the first and section positional
+ attributes:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>posattrs=attribution,citetitle</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+style
+</dt>
+<dd>
+<p>
+ This optional parameter specifies the default style name.
+</p>
+</dd>
+<dt class="hdlist1">
+&lt;stylename&gt;-style
+</dt>
+<dd>
+<p>
+ Optional style definition (see <a href="#X23">Styles</a> below).
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>The following block parameters behave like document attributes and can
+be set in block attribute lists and style definitions: <em>template</em>,
+<em>options</em>, <em>subs</em>, <em>presubs</em>, <em>postsubs</em>, <em>filter</em>.</p></div>
+<div class="sect2">
+<h3 id="X23">32.1. Styles</h3>
+<div class="paragraph"><p>A style is a set of block parameter bundled as a single named
+parameter. The following example defines a style named <em>verbatim</em>:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>verbatim-style=template="literalblock",subs="verbatim"</code></pre>
+</div></div>
+<div class="paragraph"><p>If a block&#8217;s <a href="#X21">attribute list</a> contains a <em>style</em> attribute then
+the corresponding style parameters are be merged into the default
+block definition parameters.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+All style parameter names must be suffixed with <code>-style</code> and the
+ style parameter value is in the form of a list of <a href="#X21">named attributes</a>.
+</p>
+</li>
+<li>
+<p>
+The <em>template</em> style parameter is mandatory, other parameters can be
+ omitted in which case they inherit their values from the default
+ block definition parameters.
+</p>
+</li>
+<li>
+<p>
+Multi-item style parameters (<em>subs</em>,<em>presubs</em>,<em>postsubs</em>,<em>posattrs</em>)
+ must be specified using Python tuple syntax (rather than a simple
+ list of values as they in separate entries) e.g.
+ <code>postsubs=("callouts",)</code> not <code>postsubs="callouts"</code>.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_paragraphs_2">32.2. Paragraphs</h3>
+<div class="paragraph"><p>Paragraph translation is controlled by <code>[paradef-*]</code> configuration
+file section entries. Users can define new types of paragraphs and
+modify the behavior of existing types by editing AsciiDoc
+configuration files.</p></div>
+<div class="paragraph"><p>Here is the shipped Default paragraph definition:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[paradef-default]
+delimiter=(?P&lt;text&gt;\S.*)
+template=paragraph</code></pre>
+</div></div>
+<div class="paragraph"><p>The normal paragraph definition has a couple of special properties:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+It must exist and be defined in a configuration file section named
+ <code>[paradef-default]</code>.
+</p>
+</li>
+<li>
+<p>
+Irrespective of its position in the configuration files default
+ paragraph document matches are attempted only after trying all
+ other paragraph types.
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>Paragraph specific block parameter notes:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+delimiter
+</dt>
+<dd>
+<p>
+ This regular expression must contain the named group <em>text</em> which
+ matches the text on the first line. Paragraphs are terminated by a
+ blank line, the end of file, or the start of a DelimitedBlock.
+</p>
+</dd>
+<dt class="hdlist1">
+options
+</dt>
+<dd>
+<p>
+ The <em>listelement</em> option specifies that paragraphs of this type will
+ automatically be considered part of immediately preceding list
+ items. The <em>skip</em> option causes the paragraph to be treated as a
+ comment (see <a href="#X26">CommentBlocks</a>).
+</p>
+</dd>
+</dl></div>
+<div class="olist arabic"><div class="title">Paragraph processing proceeds as follows:</div><ol class="arabic">
+<li>
+<p>
+The paragraph text is aligned to the left margin.
+</p>
+</li>
+<li>
+<p>
+Optional <em>presubs</em> inline substitutions are performed on the
+ paragraph text.
+</p>
+</li>
+<li>
+<p>
+If a filter command is specified it is executed and the paragraph
+ text piped to its standard input; the filter output replaces the
+ paragraph text.
+</p>
+</li>
+<li>
+<p>
+Optional <em>postsubs</em> inline substitutions are performed on the
+ paragraph text.
+</p>
+</li>
+<li>
+<p>
+The paragraph text is enveloped by the paragraph&#8217;s markup template
+ and written to the output file.
+</p>
+</li>
+</ol></div>
+</div>
+<div class="sect2">
+<h3 id="_delimited_blocks">32.3. Delimited Blocks</h3>
+<div class="paragraph"><p>DelimitedBlock <em>options</em> values are:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+sectionbody
+</dt>
+<dd>
+<p>
+ The block contents are processed as a SectionBody.
+</p>
+</dd>
+<dt class="hdlist1">
+skip
+</dt>
+<dd>
+<p>
+ The block is treated as a comment (see <a href="#X26">CommentBlocks</a>).
+ Preceding <a href="#X21">attribute lists</a> and <a href="#X42">block titles</a> are not
+ consumed.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p><em>presubs</em>, <em>postsubs</em> and <em>filter</em> entries are ignored when
+<em>sectionbody</em> or <em>skip</em> options are set.</p></div>
+<div class="paragraph"><p>DelimitedBlock processing proceeds as follows:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Optional <em>presubs</em> substitutions are performed on the block
+ contents.
+</p>
+</li>
+<li>
+<p>
+If a filter is specified it is executed and the block&#8217;s contents
+ piped to its standard input. The filter output replaces the block
+ contents.
+</p>
+</li>
+<li>
+<p>
+Optional <em>postsubs</em> substitutions are performed on the block
+ contents.
+</p>
+</li>
+<li>
+<p>
+The block contents is enveloped by the block&#8217;s markup template and
+ written to the output file.
+</p>
+</li>
+</ol></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">Attribute expansion is performed on the block filter command
+before it is executed, this is useful for passing arguments to the
+filter.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_lists">32.4. Lists</h3>
+<div class="paragraph"><p>List behavior and syntax is determined by <code>[listdef-*]</code> configuration
+file sections. The user can change existing list behavior and add new
+list types by editing configuration files.</p></div>
+<div class="paragraph"><p>List specific block definition notes:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+type
+</dt>
+<dd>
+<p>
+ This is either <em>bulleted</em>,<em>numbered</em>,<em>labeled</em> or <em>callout</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+delimiter
+</dt>
+<dd>
+<p>
+ A Python regular expression that matches the first line of a
+ list element entry. This expression can contain the named groups
+ <em>text</em> (bulleted groups), <em>index</em> and <em>text</em> (numbered lists),
+ <em>label</em> and <em>text</em> (labeled lists).
+</p>
+</dd>
+<dt class="hdlist1">
+tags
+</dt>
+<dd>
+<p>
+ The <code>&lt;name&gt;</code> of the <code>[listtags-&lt;name&gt;]</code> configuration file section
+ containing list markup tag definitions. The tag entries (<em>list</em>,
+ <em>entry</em>, <em>label</em>, <em>term</em>, <em>text</em>) map the AsciiDoc list structure to
+ backend markup; see the <em>listtags</em> sections in the AsciiDoc
+ distributed backend <code>.conf</code> configuration files for examples.
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_tables_2">32.5. Tables</h3>
+<div class="paragraph"><p>Table behavior and syntax is determined by <code>[tabledef-*]</code> and
+<code>[tabletags-*]</code> configuration file sections. The user can change
+existing table behavior and add new table types by editing
+configuration files. The following <code>[tabledef-*]</code> section entries
+generate table output markup elements:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+colspec
+</dt>
+<dd>
+<p>
+ The table <em>colspec</em> tag definition.
+</p>
+</dd>
+<dt class="hdlist1">
+headrow, footrow, bodyrow
+</dt>
+<dd>
+<p>
+ Table header, footer and body row tag definitions. <em>headrow</em> and
+ <em>footrow</em> table definition entries default to <em>bodyrow</em> if
+ they are undefined.
+</p>
+</dd>
+<dt class="hdlist1">
+headdata, footdata, bodydata
+</dt>
+<dd>
+<p>
+ Table header, footer and body data tag definitions. <em>headdata</em> and
+ <em>footdata</em> table definition entries default to <em>bodydata</em> if they
+ are undefined.
+</p>
+</dd>
+<dt class="hdlist1">
+paragraph
+</dt>
+<dd>
+<p>
+ If the <em>paragraph</em> tag is specified then blank lines in the cell
+ data are treated as paragraph delimiters and marked up using this
+ tag.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph" id="X4"><p>Table behavior is also influenced by the following <code>[miscellaneous]</code>
+configuration file entries:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+pagewidth
+</dt>
+<dd>
+<p>
+ This integer value is the printable width of the output media. See
+ <a href="#X69">table attributes</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+pageunits
+</dt>
+<dd>
+<p>
+ The units of width in output markup width attribute values.
+</p>
+</dd>
+</dl></div>
+<div class="ulist"><div class="title">Table definition behavior</div><ul>
+<li>
+<p>
+The output markup generation is specifically designed to work with
+ the HTML and CALS (DocBook) table models, but should be adaptable to
+ most XML table schema.
+</p>
+</li>
+<li>
+<p>
+Table definitions can be &#8220;mixed in&#8221; from multiple cascading
+ configuration files.
+</p>
+</li>
+<li>
+<p>
+New table definitions inherit the default table and table tags
+ definitions (<code>[tabledef-default]</code> and <code>[tabletags-default]</code>) so you
+ only need to override those conf file entries that require
+ modification.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X59">33. Filters</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc filters allow external commands to process AsciiDoc
+<em>Paragraphs</em>, <em>DelimitedBlocks</em> and <em>Table</em> content. Filters are
+primarily an extension mechanism for generating specialized outputs.
+Filters are implemented using external commands which are specified in
+configuration file definitions.</p></div>
+<div class="paragraph"><p>There&#8217;s nothing special about the filters, they&#8217;re just standard UNIX
+filters: they read text from the standard input, process it, and write
+to the standard output.</p></div>
+<div class="paragraph"><p>The <code>asciidoc(1)</code> command <code>--filter</code> option can be used to install and
+remove filters. The same option is used to unconditionally load a
+filter.</p></div>
+<div class="paragraph"><p>Attribute substitution is performed on the filter command prior to
+execution&#8201;&#8212;&#8201;attributes can be used to pass parameters from the
+AsciiDoc source document to the filter.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/warning.png" alt="Warning" />
+</td>
+<td class="content">Filters sometimes included executable code. Before installing
+a filter you should verify that it is from a trusted source.</td>
+</tr></table>
+</div>
+<div class="sect2">
+<h3 id="_filter_search_paths">33.1. Filter Search Paths</h3>
+<div class="paragraph"><p>If the filter command does not specify a directory path then
+<code>asciidoc(1)</code> recursively searches for the executable filter command:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+First it looks in the user&#8217;s <code>$HOME/.asciidoc/filters</code> directory.
+</p>
+</li>
+<li>
+<p>
+Next the global filters directory (usually <code>/etc/asciidoc/filters</code>
+ or <code>/usr/local/etc/asciidoc</code>) directory is searched.
+</p>
+</li>
+<li>
+<p>
+Then it looks in the <code>asciidoc(1)</code> <code>./filters</code> directory.
+</p>
+</li>
+<li>
+<p>
+Finally it relies on the executing shell to search the environment
+ search path (<code>$PATH</code>).
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Standard practice is to install each filter in it&#8217;s own sub-directory
+with the same name as the filter&#8217;s style definition. For example the
+music filter&#8217;s style name is <em>music</em> so it&#8217;s configuration and filter
+files are stored in the <code>filters/music</code> directory.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_filter_configuration_files">33.2. Filter Configuration Files</h3>
+<div class="paragraph"><p>Filters are normally accompanied by a configuration file containing a
+Paragraph or DelimitedBlock definition along with corresponding markup
+templates.</p></div>
+<div class="paragraph"><p>While it is possible to create new <em>Paragraph</em> or <em>DelimitedBlock</em>
+definitions the preferred way to implement a filter is to add a
+<a href="#X23">style</a> to the existing Paragraph and ListingBlock definitions
+(all filters shipped with AsciiDoc use this technique). The filter is
+applied to the paragraph or delimited block by preceding it with an
+attribute list: the first positional attribute is the style name,
+remaining attributes are normally filter specific parameters.</p></div>
+<div class="paragraph"><p><code>asciidoc(1)</code> auto-loads all <code>.conf</code> files found in the filter search
+paths unless the container directory also contains a file named
+<code>__noautoload__</code> (see previous section). The <code>__noautoload__</code> feature
+is used for filters that will be loaded manually using the <code>--filter</code>
+option.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X56">33.3. Example Filter</h3>
+<div class="paragraph"><p>AsciiDoc comes with a toy filter for highlighting source code keywords
+and comments. See also the <code>./filters/code/code-filter-readme.txt</code>
+file.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">The purpose of this toy filter is to demonstrate how to write a
+filter&#8201;&#8212;&#8201;it&#8217;s much to simplistic to be passed off as a code syntax
+highlighter. If you want a full featured multi-language highlighter
+use the <a href="https://asciidoc.org/source-highlight-filter.html">source code highlighter
+filter</a>.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_built_in_filters">33.4. Built-in filters</h3>
+<div class="paragraph"><p>The AsciiDoc distribution includes <em>source</em>, <em>music</em>, <em>latex</em> and
+<em>graphviz</em> filters, details are on the
+<a href="https://asciidoc.org/index.html#_filters">AsciiDoc website</a>.</p></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 11. Built-in filters list</caption>
+<col width="16%" />
+<col width="83%" />
+<thead>
+<tr>
+<th align="left" valign="top">Filter name </th>
+<th align="left" valign="top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><em>music</em></p></td>
+<td align="left" valign="top"><p class="table">A <a href="https://asciidoc.org/music-filter.html">music filter</a> is included in the
+distribution <code>./filters/</code> directory. It translates music in
+<a href="http://lilypond.org/">LilyPond</a> or <a href="http://abcnotation.org.uk/">ABC</a>
+notation to standard classical notation.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>source</em></p></td>
+<td align="left" valign="top"><p class="table">A <a href="https://asciidoc.org/source-highlight-filter.html">source code highlight filter</a>
+is included in the distribution <code>./filters/</code> directory.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>latex</em></p></td>
+<td align="left" valign="top"><p class="table">The <a href="https://asciidoc.org/latex-filter.html">AsciiDoc LaTeX filter</a> translates
+LaTeX source to an image that is automatically inserted into the
+AsciiDoc output documents.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>graphviz</em></p></td>
+<td align="left" valign="top"><p class="table">Gouichi Iisaka has written a <a href="http://www.graphviz.org/">Graphviz</a>
+filter for AsciiDoc. Graphviz generates diagrams from a textual
+specification. Gouichi Iisaka&#8217;s Graphviz filter is included in the
+AsciiDoc distribution. Here are some
+<a href="https://asciidoc.org/asciidoc-graphviz-sample.html">AsciiDoc Graphviz examples</a>.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="X58">33.5. Filter plugins</h3>
+<div class="paragraph"><p>Filter <a href="#X101">plugins</a> are a mechanism for distributing AsciiDoc
+filters. A filter plugin is a Zip file containing the files that
+constitute a filter. The <code>asciidoc(1)</code> <code>--filter</code> option is used to
+load and manage filer <a href="#X101">plugins</a>.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Filter plugins <a href="#X27">take precedence</a> over built-in filters with
+ the same name.
+</p>
+</li>
+<li>
+<p>
+By default filter plugins are installed in
+ <code>$HOME/.asciidoc/filters/&lt;filter&gt;</code> where <code>&lt;filter&gt;</code> is the filter
+ name.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X101">34. Plugins</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The AsciiDoc plugin architecture is an extension mechanism that allows
+additional <a href="#X100">backends</a>, <a href="#X58">filters</a> and <a href="#X99">themes</a> to be
+added to AsciiDoc.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+A plugin is a Zip file containing an AsciiDoc backend, filter or
+ theme (configuration files, stylesheets, scripts, images).
+</p>
+</li>
+<li>
+<p>
+The <code>asciidoc(1)</code> <code>--backend</code>, <code>--filter</code> and <code>--theme</code> command-line
+ options are used to load and manage plugins. Each of these options
+ responds to the plugin management <em>install</em>, <em>list</em>, <em>remove</em> and
+ <em>build</em> commands.
+</p>
+</li>
+<li>
+<p>
+The plugin management command names are reserved and cannot be used
+ for filter, backend or theme names.
+</p>
+</li>
+<li>
+<p>
+The plugin Zip file name always begins with the backend, filter or
+ theme name.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Plugin commands and conventions are documented in the <code>asciidoc(1)</code> man
+page. You can find lists of plugins on the
+<a href="https://asciidoc.org/plugins.html">AsciiDoc website</a>.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X36">35. Help Commands</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The <code>asciidoc(1)</code> command has a <code>--help</code> option which prints help topics
+to stdout. The default topic summarizes <code>asciidoc(1)</code> usage:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc --help</code></pre>
+</div></div>
+<div class="paragraph"><p>To print a help topic specify the topic name as a command argument.
+Help topic names can be shortened so long as they are not ambiguous.
+Examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc --help manpage
+$ asciidoc -h m # Short version of previous example.
+$ asciidoc --help syntax
+$ asciidoc -h s # Short version of previous example.</code></pre>
+</div></div>
+<div class="sect2">
+<h3 id="_customizing_help">35.1. Customizing Help</h3>
+<div class="paragraph"><p>To change, delete or add your own help topics edit a help
+configuration file. The help file name <code>help-&lt;lang&gt;.conf</code> is based on
+the setting of the <code>lang</code> attribute, it defaults to <code>help.conf</code>
+(English). The <a href="#X27">help file location</a> will depend on whether you
+want the topics to apply to all users or just the current user.</p></div>
+<div class="paragraph"><p>The help topic files have the same named section format as other
+<a href="#X7">configuration files</a>. The <code>help.conf</code> files are stored in the
+same locations and loaded in the same order as other configuration
+files.</p></div>
+<div class="paragraph"><p>When the <code>--help</code> command-line option is specified AsciiDoc loads the
+appropriate help files and then prints the contents of the section
+whose name matches the help topic name. If a topic name is not
+specified <code>default</code> is used. You don&#8217;t need to specify the whole help
+topic name on the command-line, just enough letters to ensure it&#8217;s not
+ambiguous. If a matching help file section is not found a list of
+available topics is printed.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_tips_and_tricks">36. Tips and Tricks</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_know_your_editor">36.1. Know Your Editor</h3>
+<div class="paragraph"><p>Writing AsciiDoc documents will be a whole lot more pleasant if you
+know your favorite text editor. Learn how to indent and reformat text
+blocks, paragraphs, lists and sentences. <a href="#X20">Tips for <em>vim</em> users</a>
+follow.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X20">36.2. Vim Commands for Formatting AsciiDoc</h3>
+<div class="sect3">
+<h4 id="_text_wrap_paragraphs">36.2.1. Text Wrap Paragraphs</h4>
+<div class="paragraph"><p>Use the vim <code>:gq</code> command to reformat paragraphs. Setting the
+<em>textwidth</em> sets the right text wrap margin; for example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>:set textwidth=70</code></pre>
+</div></div>
+<div class="paragraph"><p>To reformat a paragraph:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Position the cursor at the start of the paragraph.
+</p>
+</li>
+<li>
+<p>
+Type <code>gq}</code>.
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>Execute <code>:help gq</code> command to read about the vim gq command.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">
+<div class="ulist"><ul>
+<li>
+<p>
+Assign the <code>gq}</code> command to the Q key with the <code>nnoremap Q gq}</code>
+ command or put it in your <code>~/.vimrc</code> file to so it&#8217;s always
+ available (see the <a href="#X61">Example <code>~/.vimrc</code> file</a>).
+</p>
+</li>
+<li>
+<p>
+Put <code>set</code> commands in your <code>~/.vimrc</code> file so you don&#8217;t have to
+ enter them manually.
+</p>
+</li>
+<li>
+<p>
+The Vim website (<a href="http://www.vim.org">http://www.vim.org</a>) has a wealth of resources,
+ including scripts for automated spell checking and ASCII Art
+ drawing.
+</p>
+</li>
+</ul></div>
+</td>
+</tr></table>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_format_lists">36.2.2. Format Lists</h4>
+<div class="paragraph"><p>The <code>gq</code> command can also be used to format bulleted, numbered and
+callout lists. First you need to set the <code>comments</code>, <code>formatoptions</code>
+and <code>formatlistpat</code> (see the <a href="#X61">Example <code>~/.vimrc</code> file</a>).</p></div>
+<div class="paragraph"><p>Now you can format simple lists that use dash, asterisk, period and
+plus bullets along with numbered ordered lists:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Position the cursor at the start of the list.
+</p>
+</li>
+<li>
+<p>
+Type <code>gq}</code>.
+</p>
+</li>
+</ol></div>
+</div>
+<div class="sect3">
+<h4 id="_indent_paragraphs">36.2.3. Indent Paragraphs</h4>
+<div class="paragraph"><p>Indent whole paragraphs by indenting the fist line with the desired
+indent and then executing the <code>gq}</code> command.</p></div>
+</div>
+<div class="sect3">
+<h4 id="X61">36.2.4. Example <code>~/.vimrc</code> File</h4>
+<div class="listingblock">
+<div class="content">
+<pre><code>" Use bold bright fonts.
+set background=dark
+
+" Show tabs and trailing characters.
+"set listchars=tab:»·,trail:·,eol:¬
+set listchars=tab:»·,trail:·
+set list
+
+" Reformat paragraphs and list.
+nnoremap &lt;Leader&gt;r gq}
+
+" Delete trailing white space and Dos-returns and to expand tabs to spaces.
+nnoremap &lt;Leader&gt;t :set et&lt;CR&gt;:retab!&lt;CR&gt;:%s/[\r \t]\+$//&lt;CR&gt;
+
+autocmd BufRead,BufNewFile *.txt,*.asciidoc,README,TODO,CHANGELOG,NOTES,ABOUT
+ \ setlocal autoindent expandtab tabstop=8 softtabstop=2 shiftwidth=2 filetype=asciidoc
+ \ textwidth=70 wrap formatoptions=tcqn
+ \ formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\\|^\\s*&lt;\\d\\+&gt;\\s\\+\\\\|^\\s*[a-zA-Z.]\\.\\s\\+\\\\|^\\s*[ivxIVX]\\+\\.\\s\\+
+ \ comments=s1:/*,ex:*/,://,b:#,:%,:XCOMM,fb:-,fb:*,fb:+,fb:.,fb:&gt;</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_troubleshooting">36.3. Troubleshooting</h3>
+<div class="paragraph"><p>AsciiDoc diagnostic features are detailed in the <a href="#X82">Diagnostics appendix</a>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_gotchas">36.4. Gotchas</h3>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+Incorrect character encoding
+</dt>
+<dd>
+<p>
+ If you get an error message like <code>'UTF-8' codec can't decode ...</code>
+ then you source file contains invalid UTF-8 characters&#8201;&#8212;&#8201;set the
+ AsciiDoc <a href="#X54">encoding attribute</a> for the correct character set
+ (typically ISO-8859-1 (Latin-1) for European languages).
+</p>
+</dd>
+<dt class="hdlist1">
+Invalid output
+</dt>
+<dd>
+<p>
+ AsciiDoc attempts to validate the input AsciiDoc source but makes
+ no attempt to validate the output markup, it leaves that to
+ external tools such as <code>xmllint(1)</code> (integrated into <code>a2x(1)</code>).
+ Backend validation cannot be hardcoded into AsciiDoc because
+ backends are dynamically configured. The following example
+ generates valid HTML but invalid DocBook (the DocBook <code>literal</code>
+ element cannot contain an <code>emphasis</code> element):
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>+monospaced text with an _emphasized_ word+</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+Misinterpreted text formatting
+</dt>
+<dd>
+<p>
+ You can suppress markup expansion by placing a backslash character
+ immediately in front of the element. The following example
+ suppresses inline monospaced formatting:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>\+1 for C++.</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+Overlapping text formatting
+</dt>
+<dd>
+<p>
+ Overlapping text formatting will generate illegal overlapping
+ markup tags which will result in downstream XML parsing errors.
+ Here&#8217;s an example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>Some *strong markup _that overlaps* emphasized markup_.</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+Ambiguous underlines
+</dt>
+<dd>
+<p>
+ A DelimitedBlock can immediately follow a paragraph without an
+ intervening blank line, but be careful, a single line paragraph
+ underline may be misinterpreted as a section title underline
+ resulting in a &#8220;closing block delimiter expected&#8221; error.
+</p>
+</dd>
+<dt class="hdlist1">
+Ambiguous ordered list items
+</dt>
+<dd>
+<p>
+ Lines beginning with numbers at the end of sentences will be
+ interpreted as ordered list items. The following example
+ (incorrectly) begins a new list with item number 1999:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>He was last sighted in
+1999. Since then things have moved on.</code></pre>
+</div></div>
+<div class="paragraph"><p>The <em>list item out of sequence</em> warning makes it unlikely that this
+problem will go unnoticed.</p></div>
+</dd>
+<dt class="hdlist1">
+Special characters in attribute values
+</dt>
+<dd>
+<p>
+ Special character substitution precedes attribute substitution so
+ if attribute values contain special characters you may, depending
+ on the substitution context, need to escape the special characters
+ yourself. For example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a 'orgname=Bill &amp;amp; Ben Inc.' mydoc.txt</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+Attribute lists
+</dt>
+<dd>
+<p>
+ If any named attribute entries are present then all string
+ attribute values must be quoted. For example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>["Desktop screenshot",width=32]</code></pre>
+</div></div>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="X90">36.5. Combining separate documents</h3>
+<div class="paragraph"><p>You have a number of stand-alone AsciiDoc documents that you want to
+process as a single document. Simply processing them with a series of
+<code>include</code> macros won&#8217;t work because the documents contain (level 0)
+document titles. The solution is to create a top level wrapper
+document and use the <code>leveloffset</code> attribute to push them all down one
+level. For example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>Combined Document Title
+=======================
+
+// Push titles down one level.
+:leveloffset: 1
+
+include::document1.txt[]
+
+// Return to normal title levels.
+:leveloffset: 0
+
+A Top Level Section
+-------------------
+Lorum ipsum.
+
+// Push titles down one level.
+:leveloffset: 1
+
+include::document2.txt[]
+
+include::document3.txt[]</code></pre>
+</div></div>
+<div class="paragraph"><p>The document titles in the included documents will now be processed as
+level 1 section titles, level 1 sections as level 2 sections and so
+on.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Put a blank line between the <code>include</code> macro lines to ensure the
+ title of the included document is not seen as part of the last
+ paragraph of the previous document.
+</p>
+</li>
+<li>
+<p>
+You won&#8217;t want non-title document header lines (for example, Author
+ and Revision lines) in the included files&#8201;&#8212;&#8201;conditionally exclude
+ them if they are necessary for stand-alone processing.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_processing_document_sections_separately">36.6. Processing document sections separately</h3>
+<div class="paragraph"><p>You have divided your AsciiDoc document into separate files (one per
+top level section) which are combined and processed with the following
+top level document:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>Combined Document Title
+=======================
+Joe Bloggs
+v1.0, 12-Aug-03
+
+include::section1.txt[]
+
+include::section2.txt[]
+
+include::section3.txt[]</code></pre>
+</div></div>
+<div class="paragraph"><p>You also want to process the section files as separate documents.
+This is easy because <code>asciidoc(1)</code> will quite happily process
+<code>section1.txt</code>, <code>section2.txt</code> and <code>section3.txt</code> separately&#8201;&#8212;&#8201;the
+resulting output documents contain the section but have no document
+title.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_processing_document_snippets">36.7. Processing document snippets</h3>
+<div class="paragraph"><p>Use the <code>-s</code> (<code>--no-header-footer</code>) command-line option to suppress
+header and footer output, this is useful if the processed output is to
+be included in another file. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -sb docbook section1.txt</code></pre>
+</div></div>
+<div class="paragraph"><p><code>asciidoc(1)</code> can be used as a filter, so you can pipe chunks of text
+through it. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ echo 'Hello *World!*' | asciidoc -s -
+&lt;div class="paragraph"&gt;&lt;p&gt;Hello &lt;strong&gt;World!&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_badges_in_html_page_footers">36.8. Badges in HTML page footers</h3>
+<div class="paragraph"><p>See the <code>[footer]</code> section in the AsciiDoc distribution <code>xhtml11.conf</code>
+configuration file.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_pretty_printing_asciidoc_output">36.9. Pretty printing AsciiDoc output</h3>
+<div class="paragraph"><p>If the indentation and layout of the <code>asciidoc(1)</code> output is not to your
+liking you can:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Change the indentation and layout of configuration file markup
+ template sections. The <code>{empty}</code> attribute is useful for outputting
+ trailing blank lines in markup templates.
+</p>
+</li>
+<li>
+<p>
+Use Dave Raggett&#8217;s <a href="http://tidy.sourceforge.net/">HTML Tidy</a> program
+ to tidy <code>asciidoc(1)</code> output. Example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -b docbook -o - mydoc.txt | tidy -indent -xml &gt;mydoc.xml</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Use the <code>xmllint(1)</code> format option. Example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ xmllint --format mydoc.xml</code></pre>
+</div></div>
+</li>
+</ol></div>
+</div>
+<div class="sect2">
+<h3 id="_supporting_minor_docbook_dtd_variations">36.10. Supporting minor DocBook DTD variations</h3>
+<div class="paragraph"><p>The conditional inclusion of DocBook SGML markup at the end of the
+distribution <code>docbook45.conf</code> file illustrates how to support minor
+DTD variations. The included sections override corresponding entries
+from preceding sections.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_creating_stand_alone_html_documents">36.11. Creating stand-alone HTML documents</h3>
+<div class="paragraph"><p>If you&#8217;ve ever tried to send someone an HTML document that includes
+stylesheets and images you&#8217;ll know that it&#8217;s not as straight-forward
+as exchanging a single file. AsciiDoc has options to create
+stand-alone documents containing embedded images, stylesheets and
+scripts. The following AsciiDoc command creates a single file
+containing <a href="#X66">embedded images</a>, CSS stylesheets, and JavaScript
+(for table of contents and footnotes):</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a data-uri -a icons -a toc -a max-width=55em article.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>You can view the HTML file here: <a href="https://asciidoc.org/article-standalone.html">https://asciidoc.org/article-standalone.html</a></p></div>
+</div>
+<div class="sect2">
+<h3 id="_shipping_stand_alone_asciidoc_source">36.12. Shipping stand-alone AsciiDoc source</h3>
+<div class="paragraph"><p>Reproducing presentation documents from someone else&#8217;s source has one
+major problem: unless your configuration files are the same as the
+creator&#8217;s you won&#8217;t get the same output.</p></div>
+<div class="paragraph"><p>The solution is to create a single backend specific configuration file
+using the <code>asciidoc(1)</code> <code>-c</code> (<code>--dump-conf</code>) command-line option. You
+then ship this file along with the AsciiDoc source document plus the
+<code>asciidoc.py</code> script. The only end user requirement is that they have
+Python installed (and that they consider you a trusted source). This
+example creates a composite HTML configuration file for <code>mydoc.txt</code>:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -cb xhtml11 mydoc.txt &gt; mydoc-xhtml11.conf</code></pre>
+</div></div>
+<div class="paragraph"><p>Ship <code>mydoc.txt</code>, <code>mydoc-html.conf</code>, and <code>asciidoc.py</code>. With
+these three files (and a Python interpreter) the recipient can
+regenerate the HMTL output:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ ./asciidoc.py -eb xhtml11 mydoc.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>The <code>-e</code> (<code>--no-conf</code>) option excludes the use of implicit
+configuration files, ensuring that only entries from the
+<code>mydoc-html.conf</code> configuration are used.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_inserting_blank_space">36.13. Inserting blank space</h3>
+<div class="paragraph"><p>Adjust your style sheets to add the correct separation between block
+elements. Inserting blank paragraphs containing a single non-breaking
+space character <code>{nbsp}</code> works but is an ad hoc solution compared
+to using style sheets.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_closing_open_sections">36.14. Closing open sections</h3>
+<div class="paragraph"><p>You can close off section tags up to level <code>N</code> by calling the
+<code>eval::[Section.setlevel(N)]</code> system macro. This is useful if you
+want to include a section composed of raw markup. The following
+example includes a DocBook glossary division at the top section level
+(level 0):</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>ifdef::basebackend-docbook[]
+
+eval::[Section.setlevel(0)]
+
++++++++++++++++++++++++++++++++
+&lt;glossary&gt;
+ &lt;title&gt;Glossary&lt;/title&gt;
+ &lt;glossdiv&gt;
+ ...
+ &lt;/glossdiv&gt;
+&lt;/glossary&gt;
++++++++++++++++++++++++++++++++
+endif::basebackend-docbook[]</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_validating_output_files">36.15. Validating output files</h3>
+<div class="paragraph"><p>Use <code>xmllint(1)</code> to check the AsciiDoc generated markup is both well
+formed and valid. Here are some examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ xmllint --nonet --noout --valid docbook-file.xml
+$ xmllint --nonet --noout --valid xhtml11-file.html
+$ xmllint --nonet --noout --valid --html html4-file.html</code></pre>
+</div></div>
+<div class="paragraph"><p>The <code>--valid</code> option checks the file is valid against the document
+type&#8217;s DTD, if the DTD is not installed in your system&#8217;s catalog then
+it will be fetched from its Internet location. If you omit the
+<code>--valid</code> option the document will only be checked that it is well
+formed.</p></div>
+<div class="paragraph"><p>The online <a href="http://validator.w3.org/#validate_by_uri+with_options">W3C
+Markup Validation Service</a> is the defacto standard when it comes to
+validating HTML (it validates all HTML standards including HTML5).</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_glossary">Glossary</h2>
+<div class="sectionbody">
+<div class="dlist glossary"><dl>
+<dt>
+<a id="X8"></a> Block element
+</dt>
+<dd>
+<p>
+ An AsciiDoc block element is a document entity composed of one or
+ more whole lines of text.
+</p>
+</dd>
+<dt>
+<a id="X34"></a> Inline element
+</dt>
+<dd>
+<p>
+ AsciiDoc inline elements occur within block element textual
+ content, they perform formatting and substitution tasks.
+</p>
+</dd>
+<dt>
+Formal element
+</dt>
+<dd>
+<p>
+ An AsciiDoc block element that has a BlockTitle. Formal elements
+ are normally listed in front or back matter, for example lists of
+ tables, examples and figures.
+</p>
+</dd>
+<dt>
+Verbatim element
+</dt>
+<dd>
+<p>
+ The word verbatim indicates that white space and line breaks in
+ the source document are to be preserved in the output document.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_migration_notes">Appendix A: Migration Notes</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="X53">Version 7 to version 8</h3>
+<div class="ulist"><ul>
+<li>
+<p>
+A new set of quotes has been introduced which may match inline text
+ in existing documents&#8201;&#8212;&#8201;if they do you&#8217;ll need to escape the
+ matched text with backslashes.
+</p>
+</li>
+<li>
+<p>
+The index entry inline macro syntax has changed&#8201;&#8212;&#8201;if your documents
+ include indexes you may need to edit them.
+</p>
+</li>
+<li>
+<p>
+Replaced <code>a2x(1)</code> <code>--no-icons</code> and <code>--no-copy</code> options with their
+ negated equivalents: <code>--icons</code> and <code>--copy</code> respectively. The
+ default behavior has also changed&#8201;&#8212;&#8201;the use of icons and copying of
+ icon and CSS files must be specified explicitly with the <code>--icons</code>
+ and <code>--copy</code> options.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>The rationale for the changes can be found in the AsciiDoc
+<code>CHANGELOG</code>.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">If you want to disable unconstrained quotes, the new alternative
+constrained quotes syntax and the new index entry syntax then you can
+define the attribute <code>asciidoc7compatible</code> (for example by using the
+<code>-a asciidoc7compatible</code> command-line option).</td>
+</tr></table>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X38">Appendix B: Packager Notes</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Read the <code>README</code> and <code>INSTALL</code> files (in the distribution root
+directory) for install prerequisites and procedures. The distribution
+<code>Makefile.in</code> (used by <code>configure</code> to generate the <code>Makefile</code>) is the
+canonical installation procedure.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X39">Appendix C: AsciiDoc Safe Mode</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc <em>safe mode</em> skips potentially dangerous scripted sections in
+AsciiDoc source files by inhibiting the execution of arbitrary code or
+the inclusion of arbitrary files.</p></div>
+<div class="paragraph"><p>The safe mode is disabled by default, it can be enabled with the
+<code>asciidoc(1)</code> <code>--safe</code> command-line option.</p></div>
+<div class="ulist"><div class="title">Safe mode constraints</div><ul>
+<li>
+<p>
+<code>eval</code>, <code>sys</code> and <code>sys2</code> executable attributes and block macros are
+ not executed.
+</p>
+</li>
+<li>
+<p>
+<code>include::&lt;filename&gt;[]</code> and <code>include1::&lt;filename&gt;[]</code> block macro
+ files must reside inside the parent file&#8217;s directory.
+</p>
+</li>
+<li>
+<p>
+<code>{include:&lt;filename&gt;}</code> executable attribute files must reside
+ inside the source document directory.
+</p>
+</li>
+<li>
+<p>
+Passthrough Blocks are dropped.
+</p>
+</li>
+</ul></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/warning.png" alt="Warning" />
+</td>
+<td class="content">
+<div class="paragraph"><p>The safe mode is not designed to protect against unsafe AsciiDoc
+configuration files. Be especially careful when:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Implementing filters.
+</p>
+</li>
+<li>
+<p>
+Implementing elements that don&#8217;t escape special characters.
+</p>
+</li>
+<li>
+<p>
+Accepting configuration files from untrusted sources.
+</p>
+</li>
+</ol></div>
+</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_using_asciidoc_with_non_english_languages">Appendix D: Using AsciiDoc with non-English Languages</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc can process UTF-8 character sets but there are some things
+you need to be aware of:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+If you are generating output documents using a DocBook toolchain
+ then you should set the AsciiDoc <code>lang</code> attribute to the appropriate
+ language (it defaults to <code>en</code> (English)). This will ensure things
+ like table of contents, figure and table captions and admonition
+ captions are output in the specified language. For example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ a2x -a lang=es doc/article.txt</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+If you are outputting HTML directly from <code>asciidoc(1)</code> you&#8217;ll
+ need to set the various <code>*_caption</code> attributes to match your target
+ language (see the list of captions and titles in the <code>[attributes]</code>
+ section of the distribution <code>lang-*.conf</code> files). The easiest way is
+ to create a language <code>.conf</code> file (see the AsciiDoc&#8217;s <code>lang-en.conf</code>
+ file).
+</p>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">You still use the <em>NOTE</em>, <em>CAUTION</em>, <em>TIP</em>, <em>WARNING</em>,
+<em>IMPORTANT</em> captions in the AsciiDoc source, they get translated in
+the HTML output file.</td>
+</tr></table>
+</div>
+</li>
+<li>
+<p>
+<code>asciidoc(1)</code> automatically loads configuration files named like
+ <code>lang-&lt;lang&gt;.conf</code> where <code>&lt;lang&gt;</code> is a two letter language code that
+ matches the current AsciiDoc <code>lang</code> attribute. See also
+ <a href="#X27">Configuration File Names and Locations</a>.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_vim_syntax_highlighter">Appendix E: Vim Syntax Highlighter</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Syntax highlighting is incredibly useful, in addition to making
+reading AsciiDoc documents much easier syntax highlighting also helps
+you catch AsciiDoc syntax errors as you write your documents.</p></div>
+<div class="paragraph"><p>The AsciiDoc distribution directory contains a Vim syntax highlighter
+for AsciiDoc (<code>./vim/syntax/asciidoc.vim</code>), you can find the latest
+version in the online
+<a href="https://code.google.com/p/asciidoc/source/browse/">AsciiDoc
+repository</a>.</p></div>
+<div class="paragraph"><p>Install the highlighter by copying <code>asciidoc.vim</code> to your
+<code>$HOME/.vim/syntax</code> directory (create it if it doesn&#8217;t already exist).</p></div>
+<div class="paragraph"><p>To enable syntax highlighting:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Put a Vim <em>autocmd</em> in your Vim configuration file (see the
+ <a href="#X61">example vimrc file</a>).
+</p>
+</li>
+<li>
+<p>
+or execute the Vim command <code>:set syntax=asciidoc</code>.
+</p>
+</li>
+<li>
+<p>
+or add the following line to the end of you AsciiDoc source files:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>// vim: set syntax=asciidoc:</code></pre>
+</div></div>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X74">Appendix F: Attribute Options</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Here is the list of predefined <a href="#X75">attribute list options</a>:</p></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<col width="18%" />
+<col width="18%" />
+<col width="18%" />
+<col width="45%" />
+<thead>
+<tr>
+<th align="left" valign="top">Option</th>
+<th align="left" valign="top">Backends</th>
+<th align="left" valign="top">AsciiDoc Elements</th>
+<th align="left" valign="top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><em>autowidth</em></p></td>
+<td align="left" valign="top"><p class="table">xhtml11, html5, html4</p></td>
+<td align="left" valign="top"><p class="table">table</p></td>
+<td align="left" valign="top"><p class="table">The column widths are determined by the browser, not the AsciiDoc
+<em>cols</em> attribute. If there is no <em>width</em> attribute the table width is
+also left up to the browser.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>unbreakable</em></p></td>
+<td align="left" valign="top"><p class="table">xhtml11, html5</p></td>
+<td align="left" valign="top"><p class="table">block elements</p></td>
+<td align="left" valign="top"><p class="table"><em>unbreakable</em> attempts to keep the block element together on a single
+printed page c.f. the <em>breakable</em> and <em>unbreakable</em> docbook (XSL/FO)
+options below.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>breakable, unbreakable</em></p></td>
+<td align="left" valign="top"><p class="table">docbook (XSL/FO)</p></td>
+<td align="left" valign="top"><p class="table">table, example, block image</p></td>
+<td align="left" valign="top"><p class="table">The <em>breakable</em> options allows block elements to break across page
+boundaries; <em>unbreakable</em> attempts to keep the block element together
+on a single page. If neither option is specified the default XSL
+stylesheet behavior prevails.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>compact</em></p></td>
+<td align="left" valign="top"><p class="table">docbook, xhtml11, html5</p></td>
+<td align="left" valign="top"><p class="table">bulleted list, numbered list</p></td>
+<td align="left" valign="top"><p class="table">Minimizes vertical space in the list</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>footer</em></p></td>
+<td align="left" valign="top"><p class="table">docbook, xhtml11, html5, html4</p></td>
+<td align="left" valign="top"><p class="table">table</p></td>
+<td align="left" valign="top"><p class="table">The last row of the table is rendered as a footer.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>header</em></p></td>
+<td align="left" valign="top"><p class="table">docbook, xhtml11, html5, html4</p></td>
+<td align="left" valign="top"><p class="table">table</p></td>
+<td align="left" valign="top"><p class="table">The first row of the table is rendered as a header.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>pgwide</em></p></td>
+<td align="left" valign="top"><p class="table">docbook (XSL/FO)</p></td>
+<td align="left" valign="top"><p class="table">table, block image, horizontal labeled list</p></td>
+<td align="left" valign="top"><p class="table">Specifies that the element should be rendered across the full text
+width of the page irrespective of the current indentation.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>strong</em></p></td>
+<td align="left" valign="top"><p class="table">xhtml11, html5, html4</p></td>
+<td align="left" valign="top"><p class="table">labeled lists</p></td>
+<td align="left" valign="top"><p class="table">Emboldens label text.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X82">Appendix G: Diagnostics</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The <code>asciidoc(1)</code> <code>--verbose</code> command-line option prints additional
+information to stderr: files processed, filters processed, warnings,
+system attribute evaluation.</p></div>
+<div class="paragraph"><p>A special attribute named <em>trace</em> enables the output of
+element-by-element diagnostic messages detailing output markup
+generation to stderr. The <em>trace</em> attribute can be set on the
+command-line or from within the document using <a href="#X18">Attribute Entries</a> (the latter allows tracing to be confined to specific
+portions of the document).</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Trace messages print the source file name and line number and the
+ trace name followed by related markup.
+</p>
+</li>
+<li>
+<p>
+<em>trace names</em> are normally the names of AsciiDoc elements (see the
+ list below).
+</p>
+</li>
+<li>
+<p>
+The trace message is only printed if the <em>trace</em> attribute value
+ matches the start of a <em>trace name</em>. The <em>trace</em> attribute value can
+ be any Python regular expression. If a trace value is not specified
+ all trace messages will be printed (this can result in large amounts
+ of output if applied to the whole document).
+</p>
+</li>
+<li>
+<p>
+In the case of inline substitutions:
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+The text before and after the substitution is printed; the before
+ text is preceded by a line containing <code>&lt;&lt;&lt;</code> and the after text by
+ a line containing <code>&gt;&gt;&gt;</code>.
+</p>
+</li>
+<li>
+<p>
+The <em>subs</em> trace value is an alias for all inline substitutions.
+</p>
+</li>
+</ul></div>
+</li>
+</ul></div>
+<div class="literalblock">
+<div class="title">Trace names</div>
+<div class="content">
+<pre><code>&lt;blockname&gt; block close
+&lt;blockname&gt; block open
+&lt;subs&gt;
+dropped line (a line containing an undefined attribute reference).
+floating title
+footer
+header
+list close
+list entry close
+list entry open
+list item close
+list item open
+list label close
+list label open
+list open
+macro block (a block macro)
+name (man page NAME section)
+paragraph
+preamble close
+preamble open
+push blockname
+pop blockname
+section close
+section open: level &lt;level&gt;
+subs (all inline substitutions)
+table</code></pre>
+</div></div>
+<div class="paragraph"><p>Where:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<code>&lt;level&gt;</code> is section level number <em>0&#8230;4</em>.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;blockname&gt;</code> is a delimited block name: <em>comment</em>, <em>sidebar</em>,
+ <em>open</em>, <em>pass</em>, <em>listing</em>, <em>literal</em>, <em>quote</em>, <em>example</em>.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;subs&gt;</code> is an inline substitution type:
+ <em>specialcharacters</em>,<em>quotes</em>,<em>specialwords</em>, <em>replacements</em>,
+ <em>attributes</em>,<em>macros</em>,<em>callouts</em>, <em>replacements2</em>, <em>replacements3</em>.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Command-line examples:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Trace the entire document.
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a trace mydoc.txt</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Trace messages whose names start with <code>quotes</code> or <code>macros</code>:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a 'trace=quotes|macros' mydoc.txt</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Print the first line of each trace message:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a trace mydoc.txt 2&gt;&amp;1 | grep ^TRACE:</code></pre>
+</div></div>
+</li>
+</ol></div>
+<div class="paragraph"><p>Attribute Entry examples:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Begin printing all trace messages:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>:trace:</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Print only matched trace messages:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>:trace: quotes|macros</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Turn trace messages off:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>:trace!:</code></pre>
+</div></div>
+</li>
+</ol></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X88">Appendix H: Backend Attributes</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>This table contains a list of optional attributes that influence the
+generated outputs.</p></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+<thead>
+<tr>
+<th align="left" valign="top">Name </th>
+<th align="left" valign="top">Backends </th>
+<th align="left" valign="top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><em>badges</em></p></td>
+<td align="left" valign="top"><p class="table">xhtml11, html5</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Link badges (<em>XHTML 1.1</em> and <em>CSS</em>) in document footers. By default
+badges are omitted (<em>badges</em> is undefined).</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">The path names of images, icons and scripts are relative path
+names to the output document not the source document.</td>
+</tr></table>
+</div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>data-uri</em></p></td>
+<td align="left" valign="top"><p class="table">xhtml11, html5</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Embed images using the <a href="#X66">data: uri scheme</a>.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>css-signature</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Set a <em>CSS signature</em> for the document (sets the <em>id</em> attribute of the
+HTML <em>body</em> element). CSS signatures provide a mechanism that allows
+users to personalize the document appearance. The term <em>CSS signature</em>
+was <a href="http://archivist.incutio.com/viewlist/css-discuss/13291">coined by
+Eric Meyer</a>.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>disable-javascript</em></p></td>
+<td align="left" valign="top"><p class="table">xhtml11, html5</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>If the <code>disable-javascript</code> attribute is defined the <code>asciidoc.js</code>
+JavaScript is not embedded or linked to the output document. By
+default AsciiDoc automatically embeds or links the <code>asciidoc.js</code>
+JavaScript to the output document. The script dynamically generates
+<a href="#X91">table of contents</a> and <a href="#X92">footnotes</a>.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em><a id="X97"></a> docinfo, docinfo1, docinfo2</em></p></td>
+<td align="left" valign="top"><p class="table">All backends</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>These three attributes control which <a href="#X87">document information files</a> will be included in the the header of the output file:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+docinfo
+</dt>
+<dd>
+<p>
+Include <code>&lt;filename&gt;-docinfo.&lt;ext&gt;</code>
+</p>
+</dd>
+<dt class="hdlist1">
+docinfo1
+</dt>
+<dd>
+<p>
+Include <code>docinfo.&lt;ext&gt;</code>
+</p>
+</dd>
+<dt class="hdlist1">
+docinfo2
+</dt>
+<dd>
+<p>
+Include <code>docinfo.&lt;ext&gt;</code> and <code>&lt;filename&gt;-docinfo.&lt;ext&gt;</code>
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>Where <code>&lt;filename&gt;</code> is the file name (sans extension) of the AsciiDoc
+input file and <code>&lt;ext&gt;</code> is <code>.html</code> for HTML outputs or <code>.xml</code> for
+DocBook outputs. If the input file is the standard input then the
+output file name is used. The following example will include the
+<code>mydoc-docinfo.xml</code> docinfo file in the DocBook <code>mydoc.xml</code> output
+file:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a docinfo -b docbook mydoc.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>This next example will include <code>docinfo.html</code> and <code>mydoc-docinfo.html</code>
+docinfo files in the HTML output file:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a docinfo2 -b html4 mydoc.txt</code></pre>
+</div></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em><a id="X54"></a>encoding</em></p></td>
+<td align="left" valign="top"><p class="table">html4, html5, xhtml11, docbook</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Set the input and output document character set encoding. For example
+the <code>--attribute encoding=ISO-8859-1</code> command-line option will set the
+character set encoding to <code>ISO-8859-1</code>.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+The default encoding is UTF-8.
+</p>
+</li>
+<li>
+<p>
+This attribute specifies the character set in the output document.
+</p>
+</li>
+<li>
+<p>
+The encoding name must correspond to a Python codec name or alias.
+</p>
+</li>
+<li>
+<p>
+The <em>encoding</em> attribute can be set using an AttributeEntry inside
+ the document header. For example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>:encoding: ISO-8859-1</code></pre>
+</div></div>
+</li>
+</ul></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>hr</em></p></td>
+<td align="left" valign="top"><p class="table">html4</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Defines the <em>html4</em> inter-section horizontal ruler element. By default
+<em>html4</em> top level sections are separated by a horizontal ruler
+element, undefine this attribute or set it to an empty string if you
+do not want them. The default <em>html4</em> backend value for the <em>hr</em>
+attribute is <code>&lt;hr&gt;</code>.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em><a id="X45"></a>icons</em></p></td>
+<td align="left" valign="top"><p class="table">xhtml11, html5</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Link admonition paragraph and admonition block icon images and badge
+images. By default <em>icons</em> is undefined and text is used in place of
+icon images.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em><a id="X44"></a>iconsdir</em></p></td>
+<td align="left" valign="top"><p class="table">html4, html5, xhtml11, docbook</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>The name of the directory containing linked admonition icons,
+navigation icons and the <code>callouts</code> sub-directory (the <code>callouts</code>
+sub-directory contains <a href="#X105">callout</a> number images). <em>iconsdir</em>
+defaults to <code>./images/icons</code>. If admonition icons are embedded using
+the <a href="#X66">data-uri</a> scheme then the <em>iconsdir</em> attribute defaults to
+the location of the icons installed in the AsciiDoc configuration
+directory.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>imagesdir</em></p></td>
+<td align="left" valign="top"><p class="table">html4, html5, xhtml11, docbook</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>If this attribute is defined it is prepended to the target image file
+name paths in inline and block image macros.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>keywords, description, title</em></p></td>
+<td align="left" valign="top"><p class="table">html4, html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>The <em>keywords</em> and <em>description</em> attributes set the correspondingly
+named HTML meta tag contents; the <em>title</em> attribute sets the HTML
+title tag contents. Their principle use is for SEO (Search Engine
+Optimisation). All three are optional, but if they are used they must
+appear in the document header (or on the command-line). If <em>title</em> is
+not specified the AsciiDoc document title is used.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>linkcss</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Link CSS stylesheets and JavaScripts. By default <em>linkcss</em> is
+undefined in which case stylesheets and scripts are automatically
+embedded in the output document.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em><a id="X103"></a>max-width</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Set the document maximum display width (sets the <em>body</em> element CSS
+<em>max-width</em> property).</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>numbered</em></p></td>
+<td align="left" valign="top"><p class="table">html4, html5, xhtml11, docbook (XSL Stylesheets)</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Adds section numbers to section titles. The <em>docbook</em> backend ignores
+<em>numbered</em> attribute entries after the document header.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>plaintext</em></p></td>
+<td align="left" valign="top"><p class="table">All backends</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>If this global attribute is defined all inline substitutions are
+suppressed and block indents are retained. This option is useful when
+dealing with large amounts of imported plain text.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>quirks</em></p></td>
+<td align="left" valign="top"><p class="table">xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Include the <code>xhtml11-quirks.conf</code> configuration file and
+<code>xhtml11-quirks.css</code> <a href="#X35">stylesheet</a> to work around IE6 browser
+incompatibilities. This feature is deprecated and its use is
+discouraged&#8201;&#8212;&#8201;documents are still viewable in IE6 without it.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>revremark</em></p></td>
+<td align="left" valign="top"><p class="table">docbook</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>A short summary of changes in this document revision. Must be defined
+prior to the first document section. The document also needs to be
+dated to output this attribute.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>footer-style</em></p></td>
+<td align="left" valign="top"><p class="table">html4, html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Changes the "Last updated" field in the footer of the document or removes this
+field and the revision number (in the footer only).<br />
+Can take 3 values:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+none : Don&#8217;t display the "Last updated" and "Revision number" fields in the
+ footer of the document
+</p>
+</li>
+<li>
+<p>
+revdate : The "Last updated" field&#8217;s date in the footer will be the revision
+ date specified in the document (<code>revdate</code> attribute)
+</p>
+</li>
+<li>
+<p>
+default (or any other value) : The "Last updated" field&#8217;s date in the footer
+ will be the date of the input file modification
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>This attribute can be set, for example, using <code>:footer-style: revdate</code> in the
+header of the file or using the <code>--attribute footer-style=revdate</code> command-line
+option.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>scriptsdir</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>The name of the directory containing linked JavaScripts.
+See <a href="#X35">HTML stylesheets and JavaScript locations</a>.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>sgml</em></p></td>
+<td align="left" valign="top"><p class="table">docbook45</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>The <code>--backend=docbook45</code> command-line option produces DocBook 4.5
+XML. You can produce the older DocBook SGML format using the
+<code>--attribute sgml</code> command-line option.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>stylesdir</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>The name of the directory containing linked or embedded
+<a href="#X35">stylesheets</a>.
+See <a href="#X35">HTML stylesheets and JavaScript locations</a>.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>stylesheet</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>The file name of an optional additional CSS <a href="#X35">stylesheet</a>.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>theme</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Use alternative stylesheet (see <a href="#X35">Stylesheets</a>).</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em><a id="X91"></a>toc</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11, docbook (XSL Stylesheets)</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Adds a table of contents to the start of an article or book document.
+The <code>toc</code> attribute can be specified using the <code>--attribute toc</code>
+command-line option or a <code>:toc:</code> attribute entry in the document
+header. The <em>toc</em> attribute is defined by default when the <em>docbook</em>
+backend is used. To disable table of contents generation undefine the
+<em>toc</em> attribute by putting a <code>:toc!:</code> attribute entry in the document
+header or from the command-line with an <code>--attribute toc!</code> option.</p></div>
+<div class="paragraph"><p><strong>xhtml11 and html5 backends</strong></p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+JavaScript needs to be enabled in your browser.
+</p>
+</li>
+<li>
+<p>
+The following example generates a numbered table of contents using a
+ JavaScript embedded in the <code>mydoc.html</code> output document:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a toc -a numbered mydoc.txt</code></pre>
+</div></div>
+</li>
+</ul></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>toc2</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Adds a scrollable table of contents in the left hand margin of an
+article or book document. Use the <em>max-width</em> attribute to change the
+content width. In all other respects behaves the same as the <em>toc</em>
+attribute.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>toc-placement</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>When set to <em>auto</em> (the default value) <code>asciidoc(1)</code> will place the
+table of contents in the document header. When <em>toc-placement</em> is set
+to <em>manual</em> the TOC can be positioned anywhere in the document by
+placing the <code>toc::[]</code> block macro at the point you want the TOC to
+appear.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">If you use <em>toc-placement</em> then you also have to define the
+<a href="#X91">toc</a> attribute.</td>
+</tr></table>
+</div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>toc-title</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Sets the table of contents title (defaults to <em>Table of Contents</em>).</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>toclevels</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Sets the number of title levels (1..4) reported in the table of
+contents (see the <em>toc</em> attribute above). Defaults to 2 and must be
+used with the <em>toc</em> attribute. Example usage:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a toc -a toclevels=3 doc/asciidoc.txt</code></pre>
+</div></div></div></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_license">Appendix I: License</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc is free software; you can redistribute it and/or modify it
+under the terms of the <em>GNU General Public License version 2</em> (GPLv2)
+as published by the Free Software Foundation.</p></div>
+<div class="paragraph"><p>AsciiDoc is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License version 2 for more details.</p></div>
+<div class="paragraph"><p>Copyright &#169; 2002-2013 Stuart Rackham.</p></div>
+<div class="paragraph"><p>Copyright &#169; 2013-2020 AsciiDoc Contributors.</p></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:02 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/asciidoc.pdf b/asciidoc.pdf
new file mode 100644
index 0000000..445726a
--- /dev/null
+++ b/asciidoc.pdf
Binary files differ
diff --git a/asciidocapi.html b/asciidocapi.html
new file mode 100644
index 0000000..2674f1f
--- /dev/null
+++ b/asciidocapi.html
@@ -0,0 +1,365 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>AsciiDoc API</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install(1);
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="asciidocapi.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>AsciiDoc API</h1>
+<div id="toc">
+ <div id="toctitle">Table of Contents</div>
+ <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
+</div>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p><em>asciidocapi</em>&#8201;&#8212;&#8201;a Python API module for <em>AsciiDoc</em>.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_introduction">Introduction</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The <em>asciidocapi</em> module implements a Python API for AsciiDoc. It
+allows you to set <code>asciidoc(1)</code> program options, compile an AsciiDoc
+source file and then interrogate the results. The <code>asciidocapi.py</code>
+module file contains the <code>AsciiDocAPI</code> wrapper class for
+<code>asciidoc.py</code>.</p></div>
+<div class="ulist"><div class="title">Benefits</div><ul>
+<li>
+<p>
+Stable API Shields the user from the undocumented and possibly
+ volatile <code>asciidoc.py</code> internals.
+</p>
+</li>
+<li>
+<p>
+Easier to use and more flexible than the alternative of running
+ <code>asciidoc(1)</code> as a separate process.
+</p>
+</li>
+<li>
+<p>
+Executes inside your application (better performance than running
+ separate <code>asciidoc(1)</code> command processes).
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_using_asciidocapi">Using asciidocapi</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>To use the API just drop the <code>asciidocapi.py</code> file into your
+application directory, import it and use the <code>AsciiDocAPI</code> class. The
+only requirement is that a compatible version of <em>AsciiDoc</em> is already
+installed&#8201;&#8212;&#8201;simple, no setuptools to run, no Eggs to install, no
+non-standard library dependencies.</p></div>
+<div class="paragraph"><p>You can find <code>asciidocapi.py</code> in the AsciiDoc
+<a href="https://asciidoc.org/INSTALL.html#X1">distribution
+archives</a> (version 8.4.1 or better).</p></div>
+<div class="paragraph"><p>Once you have <code>asciidocapi.py</code> Verify everything is working by running
+the module doctests:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>python asciidocapi.py</code></pre>
+</div></div>
+<div class="paragraph"><p>If there are no messages then all is well.</p></div>
+<div class="paragraph"><p>The following minimal example compiles <code>mydoc.txt</code> to <code>mydoc.html</code>:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code><span style="color:#000000; font-weight:bold">from</span> asciidocapi <span style="color:#000000; font-weight:bold">import</span> AsciiDocAPI
+asciidoc <span style="color:#000000">=</span> <span style="color:#010181">AsciiDocAPI</span><span style="color:#000000">()</span>
+asciidoc<span style="color:#000000">.</span><span style="color:#010181">execute</span><span style="color:#000000">(</span><span style="color:#bf0303">&apos;mydoc.txt&apos;</span><span style="color:#000000">)</span></code></pre>
+</div></div>
+<div class="paragraph"><p>The next interactive example uses file-like objects for input and output:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>$ python
+Python 2.5.2 (r252:60911, Jul 31 2008, 17:28:52)
+[GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)] on linux2
+Type "help", "copyright", "credits" or "license" for more information.
+&gt;&gt;&gt; from asciidocapi import AsciiDocAPI
+&gt;&gt;&gt; import StringIO
+&gt;&gt;&gt; infile = StringIO.StringIO('Hello *{author}*')
+&gt;&gt;&gt; outfile = StringIO.StringIO()
+&gt;&gt;&gt; asciidoc = AsciiDocAPI()
+&gt;&gt;&gt; asciidoc.options('--no-header-footer')
+&gt;&gt;&gt; asciidoc.attributes['author'] = 'Joe Bloggs'
+&gt;&gt;&gt; asciidoc.execute(infile, outfile, backend='html4')
+&gt;&gt;&gt; print outfile.getvalue()
+&lt;p&gt;Hello &lt;strong&gt;Joe Bloggs&lt;/strong&gt;&lt;/p&gt;
+
+&gt;&gt;&gt;</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_implementation_rationale">Implementation Rationale</h2>
+<div class="sectionbody">
+<div class="paragraph"><div class="title">Leverage existing knowledge</div><p>The API maps directly onto the <code>asciidoc(1)</code> command&#8201;&#8212;&#8201;this is
+deliberate&#8201;&#8212;&#8201;if you know the <code>asciidoc(1)</code> command learning the API
+will be trivial. A nice side effect of this goal is that API and
+command-line modes share the same code&#8201;&#8212;&#8201;virtually no <code>asciidoc(1)</code>
+code is specific to API usage.</p></div>
+<div class="paragraph"><div class="title">Simplicity</div><p>Implemented with a single Python module file (<code>asciidocapi.py</code>)
+containing the <em>AsciiDocAPI</em> API class. <em>AsciiDocAPI</em> contains just
+one method plus a few attributes for processing options and result
+messages. No external setup tools and no non-standard library
+dependencies are used or required.</p></div>
+<div class="paragraph"><div class="title">Loose coupling</div><p>The dependency between <code>asciidocapi.py</code> and <code>asciidoc.py</code> is minimal&#8201;&#8212;&#8201;the current <code>asciidocapi.py</code> module uses only two attributes and
+one function from the <code>asciidoc.py</code> module.</p></div>
+<div class="olist arabic"><div class="title">Why isn&#8217;t the API baked right into the asciidoc.py command script?</div><ol class="arabic">
+<li>
+<p>
+You can&#8217;t just drop <code>asciidoc.py</code> into your application because it
+ requires all the related config files and filters&#8201;&#8212;&#8201;complex and
+ unnecessary since all this was already done when you installed
+ AsciiDoc.
+</p>
+</li>
+<li>
+<p>
+This scheme separates the API from the AsciiDoc application&#8201;&#8212;&#8201;the
+ API implementation can be extended or replaced independently of
+ AsciiDoc.
+</p>
+</li>
+</ol></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_api_reference">API reference</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="X2">Class <code>AsciiDocAPI(object)</code></h3>
+<div class="paragraph"><p>This is the <em>AsciiDoc</em> API class.</p></div>
+<div class="sect3">
+<h4 id="_instance_attributes">Instance attributes</h4>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>asciidoc</code>
+</dt>
+<dd>
+<p>
+The imported <code>asciidoc.py</code> module.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>attributes</code>
+</dt>
+<dd>
+<p>
+A dictionary of AsciiDoc attribute values passed to AsciiDoc.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Setting an attribute value to <code>None</code> (<code>name: None</code>) will undefine
+ (delete) the attribute (this in addition to the <code>name!</code> attribute
+ name format that the <code>asciidoc(1)</code> command uses).
+</p>
+</li>
+<li>
+<p>
+To simply define an attribute set the attribute value to a blank
+ string (<code>name: ''</code>)
+</p>
+</li>
+</ul></div>
+</dd>
+<dt class="hdlist1">
+<code>cmd</code>
+</dt>
+<dd>
+<p>
+The file path of the <code>asciidoc.py</code> script. Set by the <code>__init__</code>
+method.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>messages</code>
+</dt>
+<dd>
+<p>
+A chronologically ordered list of message strings generated during
+AsciiDoc execution (last message at the end of the list).
+</p>
+</dd>
+<dt class="hdlist1">
+<code>options</code>
+</dt>
+<dd>
+<p>
+An instance of the <a href="#X1">Options class</a>. Contains a list of command
+options passed to AsciiDoc.
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect3">
+<h4 id="_instance_methods">Instance methods</h4>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>__init__(self, asciidoc_py=None)</code>
+</dt>
+<dd>
+<p>
+Locate and import <code>asciidoc.py</code> module and verify API compatibility.
+Initialize instance attributes. A search for the <code>asciidoc</code> module is
+made in the following order:
+</p>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Use the <code>ASCIIDOC_PY</code> environment variable if it is set.
+</p>
+</li>
+<li>
+<p>
+Use the <code>asciidoc_py</code> argument if it is set.
+</p>
+</li>
+<li>
+<p>
+Search the environment <em>PATH</em> for <code>asciidoc.py</code>, <code>asciidoc.pyc</code> and
+ <code>asciidoc</code> (in that order).
+</p>
+</li>
+<li>
+<p>
+Finally repeat the previous search in the current working directory.
+</p>
+</li>
+</ol></div>
+</dd>
+<dt class="hdlist1">
+<code>execute(self, infile, outfile=None, backend=None)</code>
+</dt>
+<dd>
+<p>
+Compile <code>infile</code> to <code>outfile</code> using <code>backend</code> format. <code>infile</code> and
+<code>outfile</code> can be file path strings or file-like objects. <code>backend</code> is
+name of <em>AsciiDoc</em> backend (takes same values as <code>asciidoc(1)</code> command
+<code>--backend</code> option). If <code>outfile</code> or <code>backend</code> are <code>None</code> then their
+respective <code>asciidoc(1)</code> defaults are used.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="X1">Class <code>Options(object)</code></h3>
+<div class="paragraph"><p>Stores <code>asciidoc(1)</code> command options. You can use any <code>asciidoc(1)</code>
+options with the exception of the <code>--doctest</code> and <code>--filter</code> options.</p></div>
+<div class="sect3">
+<h4 id="_instance_attributes_2">Instance attributes</h4>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>values</code>
+</dt>
+<dd>
+<p>
+The list of <code>(name,value)</code> command option tuples.
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect3">
+<h4 id="_instance_methods_2">Instance methods</h4>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>__call__(self, name, value=None)</code>
+</dt>
+<dd>
+<p>
+A shortcut for the <code>append</code> method. Example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>opts = Options()
+opts('--verbose')</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+<code>append(self, name, value=None)</code>
+</dt>
+<dd>
+<p>
+Append <code>(name,value)</code> to the options list. Example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>opts = Options()
+opts.append('--conf-file', 'blog.conf')</code></pre>
+</div></div>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_class_code_asciidocerror_exception_code">Class <code>AsciiDocError(Exception)</code></h3>
+<div class="paragraph"><p>Thrown by the <a href="#X2">AsciiDocAPI class</a> when an <em>AsciiDoc</em> execution
+error occurs.</p></div>
+</div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:10 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/asciimathml.html b/asciimathml.html
new file mode 100644
index 0000000..b7af14a
--- /dev/null
+++ b/asciimathml.html
@@ -0,0 +1,175 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>ASCIIMathML Formulae</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+<script type="text/javascript" src="./ASCIIMathML.js"></script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="asciimathml.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>ASCIIMathML Formulae</h1>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p><a href="http://www1.chapman.edu/~jipsen/mathml/asciimath.html">ASCIIMathML</a> is
+a clever JavaScript written by Peter Jipsen that dynamically
+transforms mathematical formulae written in a wiki-like plain text
+markup to <a href="http://www.w3.org/Math/">MathML</a> markup which is displayed as
+standard mathematical notation by the Web Browser. See <em>Appendix E</em>
+in the AsciiDoc User Guide for more details.</p></div>
+<div class="paragraph"><p>The AsciiDoc <code>xhtml11</code> backend supports ASCIIMathML&#8201;&#8212;&#8201;it links the
+ASCIIMathML script and escapes ASCIIMathML delimiters and special
+characters to yield valid XHTML. To use ASCIIMathML:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Include the <code>-a asciimath</code> command-line option when you run
+ <code>asciidoc(1)</code>.
+</p>
+</li>
+<li>
+<p>
+Enclose ASCIIMathML formulas inside math or double-dollar
+ passthroughs or in math passthrough blocks.
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>Here&#8217;s the <a href="asciimathml.txt">AsciiDoc source</a> that generated this
+page.</p></div>
+<div class="ulist"><div class="title">NOTE</div><ul>
+<li>
+<p>
+When you use the <code>asciimath:[]</code> inline macro you need to escape <code>]</code>
+ characters in the formulas with a backslash, escaping is unnecessary
+ if you use the double-dollar macro (for examples see the second
+ formula below).
+</p>
+</li>
+<li>
+<p>
+See the
+ <a href="http://www1.chapman.edu/~jipsen/mathml/asciimath.html">ASCIIMathML</a>
+ website for ASCIIMathML documentation and the latest version.
+</p>
+</li>
+<li>
+<p>
+If the formulas don&#8217;t appear to be correct you probably need to
+ install the correct math fonts (see the
+ <a href="http://www1.chapman.edu/~jipsen/mathml/asciimath.html">ASCIIMathML</a>
+ website for details).
+</p>
+</li>
+<li>
+<p>
+See the <a href="latexmathml.html">LaTeXMathML page</a> if you prefer to use
+ LaTeX math formulas.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>A list of example formulas:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+`[[a,b],[c,d]]((n),(k))`
+</p>
+</li>
+<li>
+<p>
+`x/x={(1,if x!=0),(text{undefined},if x=0):}`
+</p>
+</li>
+<li>
+<p>
+`d/dxf(x)=lim_(h-&gt;0)(f(x+h)-f(x))/h`
+</p>
+</li>
+<li>
+<p>
+`sum_(i=1)\^n i=(n(n+1))/2`$ and <strong>bold
+ `int_0\^(pi/2) sinx\ dx=1`</strong>
+</p>
+</li>
+<li>
+<p>
+`(a,b]={x in RR : a &lt; x &lt;= b}`
+</p>
+</li>
+<li>
+<p>
+`x^2+y_1+z_12^34`
+</p>
+</li>
+</ul></div>
+<div class="sidebarblock">
+<div class="content">
+<div class="paragraph"><p>The first three terms factor to give
+`(x+b/(2a))^2=(b^2)/(4a^2)-c/a`.</p></div>
+<div class="paragraph"><p>`x+b/(2a)=+-sqrt((b^2)/(4a^2)-c/a)`.</p></div>
+<div class="paragraph"><p>Now we take square roots on both sides and get
+`x+b/(2a)=+-sqrt((b^2)/(4a^2)-c/a)`.
+Finally we move the `b/(2a)` to the right and simplify to
+get the two solutions:
+<strong>`x_(1,2)=(-b+-sqrt(b^2-4ac))/(2a)`</strong>.</p></div>
+</div></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:11 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/book-multi.html b/book-multi.html
new file mode 100644
index 0000000..5023c6d
--- /dev/null
+++ b/book-multi.html
@@ -0,0 +1,287 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>Multi-Part Book Title Goes Here</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="book-multi.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>Multi-Part Book Title Goes Here</h1>
+<span id="author">Author's Name</span><br />
+<span id="revision">version 9.0.5,</span>
+24 January 2021
+</div>
+<div id="content">
+<div class="sect1">
+<h2 id="_example_dedication">Example Dedication</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The optional dedication goes here.</p></div>
+<div class="paragraph"><p>This document is an AsciiDoc multi-part book skeleton containing
+briefly annotated element placeholders plus a couple of example index
+entries and footnotes. Books are normally used to generate DocBook
+markup and the preface, appendix, bibliography, glossary and index
+section titles are significant (<em>specialsections</em>).</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">Multi-part books differ from all other AsciiDoc document formats
+in that top level sections (dedication, preface, book parts,
+appendices, bibliography, glossary, index) must be level zero headings
+(not level one).</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_example_preface">Example Preface</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The optional book preface goes here at section level zero.</p></div>
+<div class="sect2">
+<h3 id="_preface_sub_section">Preface Sub-section</h3>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">Preface and appendix subsections start out of sequence at level
+2 (level 1 is skipped). This only applies to multi-part book
+documents.</td>
+</tr></table>
+</div>
+</div>
+</div>
+</div>
+<h1 id="_the_first_part_of_the_book">The First Part of the Book</h1>
+<div class="openblock">
+<div class="title">Optional part introduction title</div>
+<div class="content">
+<div class="paragraph"><p>Optional part introduction goes here.</p></div>
+</div></div>
+<div class="sect1">
+<h2 id="_the_first_chapter">The First Chapter</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Chapters can be grouped by preceding them with a level 0 Book Part
+title.</p></div>
+<div class="paragraph"><p>Book chapters are at level 1 and can contain sub-sections nested up to
+three deep.
+<span class="footnote"><br />[An example footnote.]<br /></span></p></div>
+<div class="paragraph"><p>It&#8217;s also worth noting that a book part can have it&#8217;s own preface,
+bibliography, glossary and index. Chapters can have their own
+bibliography, glossary and index.</p></div>
+<div class="paragraph"><p>And now for something completely different: monkeys, lions and
+tigers (Bengal and Siberian) using the alternative syntax index
+entries.
+
+
+
+Note that multi-entry terms generate separate index entries.</p></div>
+<div class="paragraph"><p>Here are a couple of image examples: an <span class="image">
+<img src="images/smallnew.png" alt="images/smallnew.png" />
+</span>
+example inline image followed by an example block image:</p></div>
+<div class="imageblock">
+<div class="content">
+<img src="images/tiger.png" alt="Tiger image" />
+</div>
+<div class="title">Figure 1. Tiger block image</div>
+</div>
+<div class="paragraph"><p>Followed by an example table:</p></div>
+<div class="tableblock">
+<table rules="all"
+width="60%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 1. An example table</caption>
+<col width="50%" />
+<col width="50%" />
+<thead>
+<tr>
+<th align="left" valign="top"> Option </th>
+<th align="left" valign="top"> Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">-a <em>USER GROUP</em></p></td>
+<td align="left" valign="top"><p class="table">Add <em>USER</em> to <em>GROUP</em>.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">-R <em>GROUP</em></p></td>
+<td align="left" valign="top"><p class="table">Disables access to <em>GROUP</em>.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="exampleblock">
+<div class="title">Example 1. An example example</div>
+<div class="content">
+<div class="paragraph"><p>Lorum ipum&#8230;</p></div>
+</div></div>
+<div class="sect2">
+<h3 id="X1">Sub-section with Anchor</h3>
+<div class="paragraph"><p>Sub-section at level 2.</p></div>
+<div class="sect3">
+<h4 id="_chapter_sub_section">Chapter Sub-section</h4>
+<div class="paragraph"><p>Sub-section at level 3.</p></div>
+<div class="sect4">
+<h5 id="_chapter_sub_section_2">Chapter Sub-section</h5>
+<div class="paragraph"><p>Sub-section at level 4.</p></div>
+<div class="paragraph"><p>This is the maximum sub-section depth supported by the distributed
+AsciiDoc configuration.
+<span class="footnote"><br />[A second example footnote.]<br /></span></p></div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_the_second_chapter">The Second Chapter</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>An example link to anchor at start of the <a href="#X1">first sub-section</a>.</p></div>
+<div class="paragraph"><p>An example link to a bibliography entry <a href="#taoup">[taoup]</a>.</p></div>
+</div>
+</div>
+<h1 id="_the_second_part_of_the_book">The Second Part of the Book</h1>
+<div class="sect1">
+<h2 id="_the_first_chapter_of_the_second_part">The First Chapter of the Second Part</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Chapters grouped into book parts are at level 1 and can contain
+sub-sections.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_example_appendix">Appendix A: Example Appendix</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>One or more optional appendixes go here at section level zero.</p></div>
+<div class="sect2">
+<h3 id="_appendix_sub_section">Appendix Sub-section</h3>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">Preface and appendix subsections start out of sequence at level
+2 (level 1 is skipped). This only applies to multi-part book
+documents.</td>
+</tr></table>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_example_bibliography">Example Bibliography</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The bibliography list is a style of AsciiDoc bulleted list.</p></div>
+<div class="ulist bibliography"><ul>
+<li>
+<p>
+<a id="taoup"></a>[taoup] Eric Steven Raymond. <em>The Art of Unix
+ Programming</em>. Addison-Wesley. ISBN 0-13-142901-9.
+</p>
+</li>
+<li>
+<p>
+<a id="walsh-muellner"></a>[walsh-muellner] Norman Walsh &amp; Leonard Muellner.
+ <em>DocBook - The Definitive Guide</em>. O&#8217;Reilly &amp; Associates. 1999.
+ ISBN 1-56592-580-7.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_example_glossary">Example Glossary</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Glossaries are optional. Glossaries entries are an example of a style
+of AsciiDoc labeled lists.</p></div>
+<div class="dlist glossary"><dl>
+<dt>
+A glossary term
+</dt>
+<dd>
+<p>
+ The corresponding (indented) definition.
+</p>
+</dd>
+<dt>
+A second glossary term
+</dt>
+<dd>
+<p>
+ The corresponding (indented) definition.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_example_colophon">Example Colophon</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Text at the end of a book describing facts about its production.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_example_index">Example Index</h2>
+<div class="sectionbody">
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:11 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/book.html b/book.html
new file mode 100644
index 0000000..9059acf
--- /dev/null
+++ b/book.html
@@ -0,0 +1,253 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>Book Title Goes Here</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="book.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>Book Title Goes Here</h1>
+<span id="author">Author's Name</span><br />
+<span id="revision">version 9.0.5,</span>
+24 January 2021
+</div>
+<div id="content">
+<div class="sect1">
+<h2 id="_example_dedication">Example Dedication</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Optional dedication.</p></div>
+<div class="paragraph"><p>This document is an AsciiDoc book skeleton containing briefly
+annotated example elements plus a couple of example index entries and
+footnotes.</p></div>
+<div class="paragraph"><p>Books are normally used to generate DocBook markup and the titles of
+the preface, appendix, bibliography, glossary and index sections are
+significant (<em>specialsections</em>).</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_example_preface">Example Preface</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Optional preface.</p></div>
+<div class="sect2">
+<h3 id="_preface_sub_section">Preface Sub-section</h3>
+<div class="paragraph"><p>Preface sub-section body.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_the_first_chapter">The First Chapter</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Chapters can contain sub-sections nested up to three deep.
+<span class="footnote"><br />[An example footnote.]<br /></span></p></div>
+<div class="paragraph"><p>Chapters can have their own bibliography, glossary and index.</p></div>
+<div class="paragraph"><p>And now for something completely different: monkeys, lions and
+tigers (Bengal and Siberian) using the alternative syntax index
+entries.
+
+
+
+Note that multi-entry terms generate separate index entries.</p></div>
+<div class="paragraph"><p>Here are a couple of image examples: an <span class="image">
+<img src="images/smallnew.png" alt="images/smallnew.png" />
+</span>
+example inline image followed by an example block image:</p></div>
+<div class="imageblock">
+<div class="content">
+<img src="images/tiger.png" alt="Tiger image" />
+</div>
+<div class="title">Figure 1. Tiger block image</div>
+</div>
+<div class="paragraph"><p>Followed by an example table:</p></div>
+<div class="tableblock">
+<table rules="all"
+width="60%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 1. An example table</caption>
+<col width="50%" />
+<col width="50%" />
+<thead>
+<tr>
+<th align="left" valign="top"> Option </th>
+<th align="left" valign="top"> Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">-a <em>USER GROUP</em></p></td>
+<td align="left" valign="top"><p class="table">Add <em>USER</em> to <em>GROUP</em>.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">-R <em>GROUP</em></p></td>
+<td align="left" valign="top"><p class="table">Disables access to <em>GROUP</em>.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="exampleblock">
+<div class="title">Example 1. An example example</div>
+<div class="content">
+<div class="paragraph"><p>Lorum ipum&#8230;</p></div>
+</div></div>
+<div class="sect2">
+<h3 id="X1">Sub-section with Anchor</h3>
+<div class="paragraph"><p>Sub-section at level 2.</p></div>
+<div class="sect3">
+<h4 id="_chapter_sub_section">Chapter Sub-section</h4>
+<div class="paragraph"><p>Sub-section at level 3.</p></div>
+<div class="sect4">
+<h5 id="_chapter_sub_section_2">Chapter Sub-section</h5>
+<div class="paragraph"><p>Sub-section at level 4.</p></div>
+<div class="paragraph"><p>This is the maximum sub-section depth supported by the distributed
+AsciiDoc configuration.
+<span class="footnote"><br />[A second example footnote.]<br /></span></p></div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_the_second_chapter">The Second Chapter</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>An example link to anchor at start of the <a href="#X1">first sub-section</a>.</p></div>
+<div class="paragraph"><p>An example link to a bibliography entry <a href="#taoup">[taoup]</a>.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_the_third_chapter">The Third Chapter</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Book chapters are at level 1 and can contain sub-sections.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_example_appendix">Appendix A: Example Appendix</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>One or more optional appendixes go here at section level 1.</p></div>
+<div class="sect2">
+<h3 id="_appendix_sub_section">Appendix Sub-section</h3>
+<div class="paragraph"><p>Sub-section body.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_example_bibliography">Example Bibliography</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The bibliography list is a style of AsciiDoc bulleted list.</p></div>
+<div class="ulist bibliography"><div class="title">Books</div><ul>
+<li>
+<p>
+<a id="taoup"></a>[taoup] Eric Steven Raymond. <em>The Art of Unix
+ Programming</em>. Addison-Wesley. ISBN 0-13-142901-9.
+</p>
+</li>
+<li>
+<p>
+<a id="walsh-muellner"></a>[walsh-muellner] Norman Walsh &amp; Leonard Muellner.
+ <em>DocBook - The Definitive Guide</em>. O&#8217;Reilly &amp; Associates. 1999.
+ ISBN 1-56592-580-7.
+</p>
+</li>
+</ul></div>
+<div class="ulist bibliography"><div class="title">Articles</div><ul>
+<li>
+<p>
+<a id="abc2003"></a>[abc2003] Gall Anonim. <em>An article</em>, Whatever. 2003.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_example_glossary">Example Glossary</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Glossaries are optional. Glossaries entries are an example of a style
+of AsciiDoc labeled lists.</p></div>
+<div class="dlist glossary"><dl>
+<dt>
+A glossary term
+</dt>
+<dd>
+<p>
+ The corresponding (indented) definition.
+</p>
+</dd>
+<dt>
+A second glossary term
+</dt>
+<dd>
+<p>
+ The corresponding (indented) definition.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_example_colophon">Example Colophon</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Text at the end of a book describing facts about its production.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_example_index">Example Index</h2>
+<div class="sectionbody">
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:11 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/chunked/apa.html b/chunked/apa.html
new file mode 100644
index 0000000..79bf1a0
--- /dev/null
+++ b/chunked/apa.html
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix A. Migration Notes</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="go01.html" title="Glossary" /><link rel="next" href="apb.html" title="Appendix B. Packager Notes" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="go01.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="apb.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="_migration_notes"></a>Appendix A. Migration Notes</h1></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X53"></a>A.1. Version 7 to version 8</h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+A new set of quotes has been introduced which may match inline text
+ in existing documents — if they do you’ll need to escape the
+ matched text with backslashes.
+</li><li class="listitem">
+The index entry inline macro syntax has changed — if your documents
+ include indexes you may need to edit them.
+</li><li class="listitem">
+Replaced a2x(1) <code class="literal">--no-icons</code> and <code class="literal">--no-copy</code> options with their
+ negated equivalents: <code class="literal">--icons</code> and <code class="literal">--copy</code> respectively. The
+ default behavior has also changed — the use of icons and copying of
+ icon and CSS files must be specified explicitly with the <code class="literal">--icons</code>
+ and <code class="literal">--copy</code> options.
+</li></ul></div><p>The rationale for the changes can be found in the AsciiDoc
+<code class="literal">CHANGELOG</code>.</p><div class="note" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/icons/note.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>If you want to disable unconstrained quotes, the new alternative
+constrained quotes syntax and the new index entry syntax then you can
+define the attribute <code class="literal">asciidoc7compatible</code> (for example by using the
+<code class="literal">-a asciidoc7compatible</code> command-line option).</p></td></tr></table></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="go01.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="apb.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/apb.html b/chunked/apb.html
new file mode 100644
index 0000000..58f5c89
--- /dev/null
+++ b/chunked/apb.html
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix B. Packager Notes</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="apa.html" title="Appendix A. Migration Notes" /><link rel="next" href="apc.html" title="Appendix C. AsciiDoc Safe Mode" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="apa.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="apc.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="X38"></a>Appendix B. Packager Notes</h1></div></div></div><p>Read the <code class="literal">README</code> and <code class="literal">INSTALL</code> files (in the distribution root
+directory) for install prerequisites and procedures. The distribution
+<code class="literal">Makefile.in</code> (used by <code class="literal">configure</code> to generate the <code class="literal">Makefile</code>) is the
+canonical installation procedure.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apa.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="apc.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/apc.html b/chunked/apc.html
new file mode 100644
index 0000000..c140d47
--- /dev/null
+++ b/chunked/apc.html
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix C. AsciiDoc Safe Mode</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="apb.html" title="Appendix B. Packager Notes" /><link rel="next" href="apd.html" title="Appendix D. Using AsciiDoc with non-English Languages" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="apb.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="apd.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="X39"></a>Appendix C. AsciiDoc Safe Mode</h1></div></div></div><p>AsciiDoc <span class="emphasis"><em>safe mode</em></span> skips potentially dangerous scripted sections in
+AsciiDoc source files by inhibiting the execution of arbitrary code or
+the inclusion of arbitrary files.</p><p>The safe mode is disabled by default, it can be enabled with the
+asciidoc(1) <code class="literal">--safe</code> command-line option.</p><div class="itemizedlist"><p class="title"><strong>Safe mode constraints</strong></p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+<code class="literal">eval</code>, <code class="literal">sys</code> and <code class="literal">sys2</code> executable attributes and block macros are
+ not executed.
+</li><li class="listitem">
+<code class="literal">include::&lt;filename&gt;[]</code> and <code class="literal">include1::&lt;filename&gt;[]</code> block macro
+ files must reside inside the parent file’s directory.
+</li><li class="listitem">
+<code class="literal">{include:&lt;filename&gt;}</code> executable attribute files must reside
+ inside the source document directory.
+</li><li class="listitem">
+Passthrough Blocks are dropped.
+</li></ul></div><div class="warning" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="images/icons/warning.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>The safe mode is not designed to protect against unsafe AsciiDoc
+configuration files. Be especially careful when:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
+Implementing filters.
+</li><li class="listitem">
+Implementing elements that don’t escape special characters.
+</li><li class="listitem">
+Accepting configuration files from untrusted sources.
+</li></ol></div></td></tr></table></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apb.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="apd.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/apd.html b/chunked/apd.html
new file mode 100644
index 0000000..5b3f249
--- /dev/null
+++ b/chunked/apd.html
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix D. Using AsciiDoc with non-English Languages</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="apc.html" title="Appendix C. AsciiDoc Safe Mode" /><link rel="next" href="ape.html" title="Appendix E. Vim Syntax Highlighter" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="apc.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ape.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="_using_asciidoc_with_non_english_languages"></a>Appendix D. Using AsciiDoc with non-English Languages</h1></div></div></div><p>AsciiDoc can process UTF-8 character sets but there are some things
+you need to be aware of:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p class="simpara">
+If you are generating output documents using a DocBook toolchain
+ then you should set the AsciiDoc <code class="literal">lang</code> attribute to the appropriate
+ language (it defaults to <code class="literal">en</code> (English)). This will ensure things
+ like table of contents, figure and table captions and admonition
+ captions are output in the specified language. For example:
+</p><pre class="literallayout">$ a2x -a lang=es doc/article.txt</pre></li><li class="listitem"><p class="simpara">
+If you are outputting HTML directly from asciidoc(1) you’ll
+ need to set the various <code class="literal">*_caption</code> attributes to match your target
+ language (see the list of captions and titles in the <code class="literal">[attributes]</code>
+ section of the distribution <code class="literal">lang-*.conf</code> files). The easiest way is
+ to create a language <code class="literal">.conf</code> file (see the AsciiDoc’s <code class="literal">lang-en.conf</code>
+ file).
+</p><div class="note" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/icons/note.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>You still use the <span class="emphasis"><em>NOTE</em></span>, <span class="emphasis"><em>CAUTION</em></span>, <span class="emphasis"><em>TIP</em></span>, <span class="emphasis"><em>WARNING</em></span>,
+<span class="emphasis"><em>IMPORTANT</em></span> captions in the AsciiDoc source, they get translated in
+the HTML output file.</p></td></tr></table></div></li><li class="listitem">
+asciidoc(1) automatically loads configuration files named like
+ <code class="literal">lang-&lt;lang&gt;.conf</code> where <code class="literal">&lt;lang&gt;</code> is a two letter language code that
+ matches the current AsciiDoc <code class="literal">lang</code> attribute. See also
+ <a class="link" href="ch26.html#X27" title="26.11. Configuration file names, precedence and locations">Configuration File Names and Locations</a>.
+</li></ul></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apc.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ape.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ape.html b/chunked/ape.html
new file mode 100644
index 0000000..182637d
--- /dev/null
+++ b/chunked/ape.html
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix E. Vim Syntax Highlighter</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="apd.html" title="Appendix D. Using AsciiDoc with non-English Languages" /><link rel="next" href="apf.html" title="Appendix F. Attribute Options" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="apd.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="apf.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="_vim_syntax_highlighter"></a>Appendix E. Vim Syntax Highlighter</h1></div></div></div><p>Syntax highlighting is incredibly useful, in addition to making
+reading AsciiDoc documents much easier syntax highlighting also helps
+you catch AsciiDoc syntax errors as you write your documents.</p><p>The AsciiDoc distribution directory contains a Vim syntax highlighter
+for AsciiDoc (<code class="literal">./vim/syntax/asciidoc.vim</code>), you can find the latest
+version in the online
+<a class="ulink" href="https://code.google.com/p/asciidoc/source/browse/" target="_top">AsciiDoc
+repository</a>.</p><p>Install the highlighter by copying <code class="literal">asciidoc.vim</code> to your
+<code class="literal">$HOME/.vim/syntax</code> directory (create it if it doesn’t already exist).</p><p>To enable syntax highlighting:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Put a Vim <span class="emphasis"><em>autocmd</em></span> in your Vim configuration file (see the
+ <a class="link" href="ch36.html#X61" title="36.2.4. Example ~/.vimrc File">example vimrc file</a>).
+</li><li class="listitem">
+or execute the Vim command <code class="literal">:set syntax=asciidoc</code>.
+</li><li class="listitem"><p class="simpara">
+or add the following line to the end of you AsciiDoc source files:
+</p><pre class="literallayout">// vim: set syntax=asciidoc:</pre></li></ul></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apd.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="apf.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/apf.html b/chunked/apf.html
new file mode 100644
index 0000000..96f1dea
--- /dev/null
+++ b/chunked/apf.html
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix F. Attribute Options</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ape.html" title="Appendix E. Vim Syntax Highlighter" /><link rel="next" href="apg.html" title="Appendix G. Diagnostics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ape.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="apg.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="X74"></a>Appendix F. Attribute Options</h1></div></div></div><p>Here is the list of predefined <a class="link" href="ch29.html#X75" title="29.1. Options attribute">attribute list options</a>:</p><div class="informaltable"><table class="informaltable" cellpadding="4px" style="border-collapse: collapse;border-top: 3px solid #527bbd; border-bottom: 3px solid #527bbd; "><colgroup><col class="col_1" /><col class="col_2" /><col class="col_3" /><col class="col_4" /></colgroup><thead><tr><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top">Option</th><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top">Backends</th><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top">AsciiDoc Elements</th><th style="border-bottom: 1px solid #527bbd; " align="left" valign="top">Description</th></tr></thead><tbody><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>autowidth</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>xhtml11, html5, html4</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>table</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>The column widths are determined by the browser, not the AsciiDoc
+<span class="emphasis"><em>cols</em></span> attribute. If there is no <span class="emphasis"><em>width</em></span> attribute the table width is
+also left up to the browser.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>unbreakable</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>xhtml11, html5</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>block elements</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>unbreakable</em></span> attempts to keep the block element together on a single
+printed page c.f. the <span class="emphasis"><em>breakable</em></span> and <span class="emphasis"><em>unbreakable</em></span> docbook (XSL/FO)
+options below.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>breakable, unbreakable</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>docbook (XSL/FO)</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>table, example, block image</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>The <span class="emphasis"><em>breakable</em></span> options allows block elements to break across page
+boundaries; <span class="emphasis"><em>unbreakable</em></span> attempts to keep the block element together
+on a single page. If neither option is specified the default XSL
+stylesheet behavior prevails.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>compact</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>docbook, xhtml11, html5</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>bulleted list, numbered list</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Minimizes vertical space in the list</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>footer</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>docbook, xhtml11, html5, html4</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>table</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>The last row of the table is rendered as a footer.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>header</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>docbook, xhtml11, html5, html4</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>table</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>The first row of the table is rendered as a header.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>pgwide</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>docbook (XSL/FO)</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>table, block image, horizontal labeled list</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Specifies that the element should be rendered across the full text
+width of the page irrespective of the current indentation.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>strong</em></span></p></td><td style="border-right: 1px solid #527bbd; " align="left" valign="top"><p>xhtml11, html5, html4</p></td><td style="border-right: 1px solid #527bbd; " align="left" valign="top"><p>labeled lists</p></td><td style="" align="left" valign="top"><p>Emboldens label text.</p></td></tr></tbody></table></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ape.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="apg.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/apg.html b/chunked/apg.html
new file mode 100644
index 0000000..1f463fd
--- /dev/null
+++ b/chunked/apg.html
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix G. Diagnostics</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="apf.html" title="Appendix F. Attribute Options" /><link rel="next" href="aph.html" title="Appendix H. Backend Attributes" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="apf.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="aph.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="X82"></a>Appendix G. Diagnostics</h1></div></div></div><p>The <code class="literal">asciidoc(1)</code> <code class="literal">--verbose</code> command-line option prints additional
+information to stderr: files processed, filters processed, warnings,
+system attribute evaluation.</p><p>A special attribute named <span class="emphasis"><em>trace</em></span> enables the output of
+element-by-element diagnostic messages detailing output markup
+generation to stderr. The <span class="emphasis"><em>trace</em></span> attribute can be set on the
+command-line or from within the document using <a class="link" href="ch28.html" title="Chapter 28. Attribute Entries">Attribute Entries</a> (the latter allows tracing to be confined to specific
+portions of the document).</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Trace messages print the source file name and line number and the
+ trace name followed by related markup.
+</li><li class="listitem">
+<span class="emphasis"><em>trace names</em></span> are normally the names of AsciiDoc elements (see the
+ list below).
+</li><li class="listitem">
+The trace message is only printed if the <span class="emphasis"><em>trace</em></span> attribute value
+ matches the start of a <span class="emphasis"><em>trace name</em></span>. The <span class="emphasis"><em>trace</em></span> attribute value can
+ be any Python regular expression. If a trace value is not specified
+ all trace messages will be printed (this can result in large amounts
+ of output if applied to the whole document).
+</li><li class="listitem"><p class="simpara">
+In the case of inline substitutions:
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem">
+The text before and after the substitution is printed; the before
+ text is preceded by a line containing <code class="literal">&lt;&lt;&lt;</code> and the after text by
+ a line containing <code class="literal">&gt;&gt;&gt;</code>.
+</li><li class="listitem">
+The <span class="emphasis"><em>subs</em></span> trace value is an alias for all inline substitutions.
+</li></ul></div></li></ul></div><p><strong>Trace names. </strong>
+</p><pre class="literallayout">&lt;blockname&gt; block close
+&lt;blockname&gt; block open
+&lt;subs&gt;
+dropped line (a line containing an undefined attribute reference).
+floating title
+footer
+header
+list close
+list entry close
+list entry open
+list item close
+list item open
+list label close
+list label open
+list open
+macro block (a block macro)
+name (man page NAME section)
+paragraph
+preamble close
+preamble open
+push blockname
+pop blockname
+section close
+section open: level &lt;level&gt;
+subs (all inline substitutions)
+table</pre><p>
+</p><p>Where:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+<code class="literal">&lt;level&gt;</code> is section level number <span class="emphasis"><em>0…4</em></span>.
+</li><li class="listitem">
+<code class="literal">&lt;blockname&gt;</code> is a delimited block name: <span class="emphasis"><em>comment</em></span>, <span class="emphasis"><em>sidebar</em></span>,
+ <span class="emphasis"><em>open</em></span>, <span class="emphasis"><em>pass</em></span>, <span class="emphasis"><em>listing</em></span>, <span class="emphasis"><em>literal</em></span>, <span class="emphasis"><em>quote</em></span>, <span class="emphasis"><em>example</em></span>.
+</li><li class="listitem">
+<code class="literal">&lt;subs&gt;</code> is an inline substitution type:
+ <span class="emphasis"><em>specialcharacters</em></span>,<span class="emphasis"><em>quotes</em></span>,<span class="emphasis"><em>specialwords</em></span>, <span class="emphasis"><em>replacements</em></span>,
+ <span class="emphasis"><em>attributes</em></span>,<span class="emphasis"><em>macros</em></span>,<span class="emphasis"><em>callouts</em></span>, <span class="emphasis"><em>replacements2</em></span>, <span class="emphasis"><em>replacements3</em></span>.
+</li></ul></div><p>Command-line examples:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p class="simpara">
+Trace the entire document.
+</p><pre class="literallayout">$ asciidoc -a trace mydoc.txt</pre></li><li class="listitem"><p class="simpara">
+Trace messages whose names start with <code class="literal">quotes</code> or <code class="literal">macros</code>:
+</p><pre class="literallayout">$ asciidoc -a 'trace=quotes|macros' mydoc.txt</pre></li><li class="listitem"><p class="simpara">
+Print the first line of each trace message:
+</p><pre class="literallayout">$ asciidoc -a trace mydoc.txt 2&gt;&amp;1 | grep ^TRACE:</pre></li></ol></div><p>Attribute Entry examples:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p class="simpara">
+Begin printing all trace messages:
+</p><pre class="literallayout">:trace:</pre></li><li class="listitem"><p class="simpara">
+Print only matched trace messages:
+</p><pre class="literallayout">:trace: quotes|macros</pre></li><li class="listitem"><p class="simpara">
+Turn trace messages off:
+</p><pre class="literallayout">:trace!:</pre></li></ol></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apf.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="aph.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/aph.html b/chunked/aph.html
new file mode 100644
index 0000000..48308bb
--- /dev/null
+++ b/chunked/aph.html
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix H. Backend Attributes</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="apg.html" title="Appendix G. Diagnostics" /><link rel="next" href="api.html" title="Appendix I. License" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="apg.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="api.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="X88"></a>Appendix H. Backend Attributes</h1></div></div></div><p>This table contains a list of optional attributes that influence the
+generated outputs.</p><div class="informaltable"><table class="informaltable" cellpadding="4px" style="border-collapse: collapse;border-top: 3px solid #527bbd; border-bottom: 3px solid #527bbd; "><colgroup><col class="col_1" /><col class="col_2" /><col class="col_3" /></colgroup><thead><tr><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top">Name </th><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top">Backends </th><th style="border-bottom: 1px solid #527bbd; " align="left" valign="top">Description</th></tr></thead><tbody><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>badges</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>xhtml11, html5</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Link badges (<span class="emphasis"><em>XHTML 1.1</em></span> and <span class="emphasis"><em>CSS</em></span>) in document footers. By default
+badges are omitted (<span class="emphasis"><em>badges</em></span> is undefined).</p>
+<div class="note" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/icons/note.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>The path names of images, icons and scripts are relative path
+names to the output document not the source document.</p></td></tr></table></div></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>data-uri</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>xhtml11, html5</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Embed images using the <a class="link" href="ch21.html#X66" title="Embedding images in XHTML documents">data: uri scheme</a>.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>css-signature</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>html5, xhtml11</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Set a <span class="emphasis"><em>CSS signature</em></span> for the document (sets the <span class="emphasis"><em>id</em></span> attribute of the
+HTML <span class="emphasis"><em>body</em></span> element). CSS signatures provide a mechanism that allows
+users to personalize the document appearance. The term <span class="emphasis"><em>CSS signature</em></span>
+was <a class="ulink" href="http://archivist.incutio.com/viewlist/css-discuss/13291" target="_top">coined by
+Eric Meyer</a>.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>disable-javascript</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>xhtml11, html5</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>If the <code class="literal">disable-javascript</code> attribute is defined the <code class="literal">asciidoc.js</code>
+JavaScript is not embedded or linked to the output document. By
+default AsciiDoc automatically embeds or links the <code class="literal">asciidoc.js</code>
+JavaScript to the output document. The script dynamically generates
+<a class="link" href="aph.html#X91">table of contents</a> and <a class="link" href="ch18.html" title="Chapter 18. Footnotes">footnotes</a>.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em><a id="X97"></a> docinfo, docinfo1, docinfo2</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>All backends</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>These three attributes control which <a class="link" href="ch08.html#X87" title="8.2.1. Additional document header information">document information files</a> will be included in the the header of the output file:</p>
+<div class="variablelist"><dl class="variablelist"><dt><span class="term">
+docinfo
+</span></dt><dd>
+Include <code class="literal">&lt;filename&gt;-docinfo.&lt;ext&gt;</code>
+</dd><dt><span class="term">
+docinfo1
+</span></dt><dd>
+Include <code class="literal">docinfo.&lt;ext&gt;</code>
+</dd><dt><span class="term">
+docinfo2
+</span></dt><dd>
+Include <code class="literal">docinfo.&lt;ext&gt;</code> and <code class="literal">&lt;filename&gt;-docinfo.&lt;ext&gt;</code>
+</dd></dl></div>
+<p>Where <code class="literal">&lt;filename&gt;</code> is the file name (sans extension) of the AsciiDoc
+input file and <code class="literal">&lt;ext&gt;</code> is <code class="literal">.html</code> for HTML outputs or <code class="literal">.xml</code> for
+DocBook outputs. If the input file is the standard input then the
+output file name is used. The following example will include the
+<code class="literal">mydoc-docinfo.xml</code> docinfo file in the DocBook <code class="literal">mydoc.xml</code> output
+file:</p>
+<pre class="literallayout">$ asciidoc -a docinfo -b docbook mydoc.txt</pre>
+<p>This next example will include <code class="literal">docinfo.html</code> and <code class="literal">mydoc-docinfo.html</code>
+docinfo files in the HTML output file:</p>
+<pre class="literallayout">$ asciidoc -a docinfo2 -b html4 mydoc.txt</pre></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em><a id="X54"></a>encoding</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>html4, html5, xhtml11, docbook</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Set the input and output document character set encoding. For example
+the <code class="literal">--attribute encoding=ISO-8859-1</code> command-line option will set the
+character set encoding to <code class="literal">ISO-8859-1</code>.</p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+The default encoding is UTF-8.
+</li><li class="listitem">
+This attribute specifies the character set in the output document.
+</li><li class="listitem">
+The encoding name must correspond to a Python codec name or alias.
+</li><li class="listitem"><p class="simpara">
+The <span class="emphasis"><em>encoding</em></span> attribute can be set using an AttributeEntry inside
+ the document header. For example:
+</p><pre class="literallayout">:encoding: ISO-8859-1</pre></li></ul></div></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>hr</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>html4</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Defines the <span class="emphasis"><em>html4</em></span> inter-section horizontal ruler element. By default
+<span class="emphasis"><em>html4</em></span> top level sections are separated by a horizontal ruler
+element, undefine this attribute or set it to an empty string if you
+do not want them. The default <span class="emphasis"><em>html4</em></span> backend value for the <span class="emphasis"><em>hr</em></span>
+attribute is <code class="literal">&lt;hr&gt;</code>.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em><a id="X45"></a>icons</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>xhtml11, html5</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Link admonition paragraph and admonition block icon images and badge
+images. By default <span class="emphasis"><em>icons</em></span> is undefined and text is used in place of
+icon images.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em><a id="X44"></a>iconsdir</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>html4, html5, xhtml11, docbook</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>The name of the directory containing linked admonition icons,
+navigation icons and the <code class="literal">callouts</code> sub-directory (the <code class="literal">callouts</code>
+sub-directory contains <a class="link" href="ch20.html" title="Chapter 20. Callouts">callout</a> number images). <span class="emphasis"><em>iconsdir</em></span>
+defaults to <code class="literal">./images/icons</code>. If admonition icons are embedded using
+the <a class="link" href="ch21.html#X66" title="Embedding images in XHTML documents">data-uri</a> scheme then the <span class="emphasis"><em>iconsdir</em></span> attribute defaults to
+the location of the icons installed in the AsciiDoc configuration
+directory.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>imagesdir</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>html4, html5, xhtml11, docbook</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>If this attribute is defined it is prepended to the target image file
+name paths in inline and block image macros.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>keywords, description, title</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>html4, html5, xhtml11</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>The <span class="emphasis"><em>keywords</em></span> and <span class="emphasis"><em>description</em></span> attributes set the correspondingly
+named HTML meta tag contents; the <span class="emphasis"><em>title</em></span> attribute sets the HTML
+title tag contents. Their principle use is for SEO (Search Engine
+Optimisation). All three are optional, but if they are used they must
+appear in the document header (or on the command-line). If <span class="emphasis"><em>title</em></span> is
+not specified the AsciiDoc document title is used.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>linkcss</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>html5, xhtml11</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Link CSS stylesheets and JavaScripts. By default <span class="emphasis"><em>linkcss</em></span> is
+undefined in which case stylesheets and scripts are automatically
+embedded in the output document.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em><a id="X103"></a>max-width</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>html5, xhtml11</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Set the document maximum display width (sets the <span class="emphasis"><em>body</em></span> element CSS
+<span class="emphasis"><em>max-width</em></span> property).</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>numbered</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>html4, html5, xhtml11, docbook (XSL Stylesheets)</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Adds section numbers to section titles. The <span class="emphasis"><em>docbook</em></span> backend ignores
+<span class="emphasis"><em>numbered</em></span> attribute entries after the document header.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>plaintext</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>All backends</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>If this global attribute is defined all inline substitutions are
+suppressed and block indents are retained. This option is useful when
+dealing with large amounts of imported plain text.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>quirks</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>xhtml11</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Include the <code class="literal">xhtml11-quirks.conf</code> configuration file and
+<code class="literal">xhtml11-quirks.css</code> <a class="link" href="ch07.html" title="Chapter 7. HTML5 and XHTML 1.1">stylesheet</a> to work around IE6 browser
+incompatibilities. This feature is deprecated and its use is
+discouraged — documents are still viewable in IE6 without it.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>revremark</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>docbook</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>A short summary of changes in this document revision. Must be defined
+prior to the first document section. The document also needs to be
+dated to output this attribute.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>footer-style</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>html4, html5, xhtml11</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Changes the "Last updated" field in the footer of the document or removes this
+field and the revision number (in the footer only).
+Can take 3 values:</p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+none : Don’t display the "Last updated" and "Revision number" fields in the
+ footer of the document
+</li><li class="listitem">
+revdate : The "Last updated" field’s date in the footer will be the revision
+ date specified in the document (<code class="literal">revdate</code> attribute)
+</li><li class="listitem">
+default (or any other value) : The "Last updated" field’s date in the footer
+ will be the date of the input file modification
+</li></ul></div>
+<p>This attribute can be set, for example, using <code class="literal">:footer-style: revdate</code> in the
+header of the file or using the <code class="literal">--attribute footer-style=revdate</code> command-line
+option.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>scriptsdir</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>html5, xhtml11</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>The name of the directory containing linked JavaScripts.
+See <a class="link" href="ch07.html" title="Chapter 7. HTML5 and XHTML 1.1">HTML stylesheets and JavaScript locations</a>.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>sgml</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>docbook45</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>The <code class="literal">--backend=docbook45</code> command-line option produces DocBook 4.5
+XML. You can produce the older DocBook SGML format using the
+<code class="literal">--attribute sgml</code> command-line option.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>stylesdir</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>html5, xhtml11</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>The name of the directory containing linked or embedded
+<a class="link" href="ch07.html" title="Chapter 7. HTML5 and XHTML 1.1">stylesheets</a>.
+See <a class="link" href="ch07.html" title="Chapter 7. HTML5 and XHTML 1.1">HTML stylesheets and JavaScript locations</a>.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>stylesheet</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>html5, xhtml11</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>The file name of an optional additional CSS <a class="link" href="ch07.html" title="Chapter 7. HTML5 and XHTML 1.1">stylesheet</a>.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>theme</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>html5, xhtml11</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Use alternative stylesheet (see <a class="link" href="ch07.html" title="Chapter 7. HTML5 and XHTML 1.1">Stylesheets</a>).</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em><a id="X91"></a>toc</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>html5, xhtml11, docbook (XSL Stylesheets)</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Adds a table of contents to the start of an article or book document.
+The <code class="literal">toc</code> attribute can be specified using the <code class="literal">--attribute toc</code>
+command-line option or a <code class="literal">:toc:</code> attribute entry in the document
+header. The <span class="emphasis"><em>toc</em></span> attribute is defined by default when the <span class="emphasis"><em>docbook</em></span>
+backend is used. To disable table of contents generation undefine the
+<span class="emphasis"><em>toc</em></span> attribute by putting a <code class="literal">:toc!:</code> attribute entry in the document
+header or from the command-line with an <code class="literal">--attribute toc!</code> option.</p>
+<p><span class="strong"><strong>xhtml11 and html5 backends</strong></span></p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+JavaScript needs to be enabled in your browser.
+</li><li class="listitem"><p class="simpara">
+The following example generates a numbered table of contents using a
+ JavaScript embedded in the <code class="literal">mydoc.html</code> output document:
+</p><pre class="literallayout">$ asciidoc -a toc -a numbered mydoc.txt</pre></li></ul></div></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>toc2</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>html5, xhtml11</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Adds a scrollable table of contents in the left hand margin of an
+article or book document. Use the <span class="emphasis"><em>max-width</em></span> attribute to change the
+content width. In all other respects behaves the same as the <span class="emphasis"><em>toc</em></span>
+attribute.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>toc-placement</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>html5, xhtml11</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>When set to <span class="emphasis"><em>auto</em></span> (the default value) asciidoc(1) will place the
+table of contents in the document header. When <span class="emphasis"><em>toc-placement</em></span> is set
+to <span class="emphasis"><em>manual</em></span> the TOC can be positioned anywhere in the document by
+placing the <code class="literal">toc::[]</code> block macro at the point you want the TOC to
+appear.</p>
+<div class="note" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/icons/note.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>If you use <span class="emphasis"><em>toc-placement</em></span> then you also have to define the
+<a class="link" href="aph.html#X91">toc</a> attribute.</p></td></tr></table></div></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>toc-title</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>html5, xhtml11</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Sets the table of contents title (defaults to <span class="emphasis"><em>Table of Contents</em></span>).</p></td></tr><tr><td style="border-right: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>toclevels</em></span></p></td><td style="border-right: 1px solid #527bbd; " align="left" valign="top"><p>html5, xhtml11</p></td><td style="" align="left" valign="top"><p>Sets the number of title levels (1..4) reported in the table of
+contents (see the <span class="emphasis"><em>toc</em></span> attribute above). Defaults to 2 and must be
+used with the <span class="emphasis"><em>toc</em></span> attribute. Example usage:</p>
+<pre class="literallayout">$ asciidoc -a toc -a toclevels=3 doc/asciidoc.txt</pre></td></tr></tbody></table></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apg.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="api.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/api.html b/chunked/api.html
new file mode 100644
index 0000000..8782d39
--- /dev/null
+++ b/chunked/api.html
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix I. License</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="aph.html" title="Appendix H. Backend Attributes" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="aph.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> </td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="_license"></a>Appendix I. License</h1></div></div></div><p>AsciiDoc is free software; you can redistribute it and/or modify it
+under the terms of the <span class="emphasis"><em>GNU General Public License version 2</em></span> (GPLv2)
+as published by the Free Software Foundation.</p><p>AsciiDoc is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License version 2 for more details.</p><p>Copyright © 2002-2013 Stuart Rackham.</p><p>Copyright © 2013-2020 AsciiDoc Contributors.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="aph.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch01.html b/chunked/ch01.html
new file mode 100644
index 0000000..85bc8a8
--- /dev/null
+++ b/chunked/ch01.html
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 1. Introduction</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="pr01.html" title="" /><link rel="next" href="ch02.html" title="Chapter 2. Getting Started" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="pr01.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch02.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="_introduction"></a>Chapter 1. Introduction</h1></div></div></div><p>AsciiDoc is a plain text human readable/writable document format that
+can be translated to DocBook or HTML using the asciidoc(1) command.
+You can then either use asciidoc(1) generated HTML directly or run
+asciidoc(1) DocBook output through your favorite DocBook toolchain or
+use the AsciiDoc a2x(1) toolchain wrapper to produce PDF, EPUB, DVI,
+LaTeX, PostScript, man page, HTML and text formats.</p><p>The AsciiDoc format is a useful presentation format in its own right:
+AsciiDoc markup is simple, intuitive and as such is easily proofed and
+edited.</p><p>AsciiDoc is light weight: it consists of a single Python script and a
+bunch of configuration files. Apart from asciidoc(1) and a Python
+interpreter, no other programs are required to convert AsciiDoc text
+files to DocBook or HTML. See <a class="link" href="ch02.html#X11" title="2.2. Example AsciiDoc Documents">Example AsciiDoc Documents</a>
+below.</p><p>Text markup conventions tend to be a matter of (often strong) personal
+preference: if the default syntax is not to your liking you can define
+your own by editing the text based asciidoc(1) configuration files.
+You can also create configuration files to translate AsciiDoc
+documents to almost any SGML/XML markup.</p><p>asciidoc(1) comes with a set of configuration files to translate
+AsciiDoc articles, books and man pages to HTML or DocBook backend
+formats.</p><div class="sidebar"><div class="titlepage"><div><div><p class="title"><strong>My AsciiDoc Itch</strong></p></div></div></div><p>DocBook has emerged as the de facto standard Open Source documentation
+format. But DocBook is a complex language, the markup is difficult to
+read and even more difficult to write directly — I found I was
+spending more time typing markup tags, consulting reference manuals
+and fixing syntax errors, than I was writing the documentation.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="pr01.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch02.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch02.html b/chunked/ch02.html
new file mode 100644
index 0000000..9667282
--- /dev/null
+++ b/chunked/ch02.html
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 2. Getting Started</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch01.html" title="Chapter 1. Introduction" /><link rel="next" href="ch03.html" title="Chapter 3. AsciiDoc Document Types" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch01.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch03.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="X6"></a>Chapter 2. Getting Started</h1></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_installing_asciidoc"></a>2.1. Installing AsciiDoc</h2></div></div></div><p>See the <code class="literal">README</code> and <code class="literal">INSTALL</code> files for install prerequisites and
+procedures. Packagers take a look at <a class="link" href="apb.html" title="Appendix B. Packager Notes">Packager Notes</a>.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X11"></a>2.2. Example AsciiDoc Documents</h2></div></div></div><p>The best way to quickly get a feel for AsciiDoc is to view the
+AsciiDoc web site and/or distributed examples:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Take a look at the linked examples on the AsciiDoc web site home
+ page <a class="ulink" href="https://asciidoc.org/" target="_top">https://asciidoc.org/</a>. Press the <span class="emphasis"><em>Page Source</em></span> sidebar menu item to view
+ corresponding AsciiDoc source.
+</li><li class="listitem">
+Read the <code class="literal">*.txt</code> source files in the distribution <code class="literal">./doc</code> directory
+ along with the corresponding HTML and DocBook XML files.
+</li></ul></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch03.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch03.html b/chunked/ch03.html
new file mode 100644
index 0000000..667942b
--- /dev/null
+++ b/chunked/ch03.html
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 3. AsciiDoc Document Types</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch02.html" title="Chapter 2. Getting Started" /><link rel="next" href="ch04.html" title="Chapter 4. AsciiDoc Backends" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch02.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch04.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="_asciidoc_document_types"></a>Chapter 3. AsciiDoc Document Types</h1></div></div></div><p>There are three types of AsciiDoc documents: article, book and
+manpage. All document types share the same AsciiDoc format with some
+minor variations. If you are familiar with DocBook you will have
+noticed that AsciiDoc document types correspond to the same-named
+DocBook document types.</p><p>Use the asciidoc(1) <code class="literal">-d</code> (<code class="literal">--doctype</code>) option to specify the AsciiDoc
+document type — the default document type is <span class="emphasis"><em>article</em></span>.</p><p>By convention the <code class="literal">.txt</code> file extension is used for AsciiDoc document
+source files.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_article"></a>3.1. article</h2></div></div></div><p>Used for short documents, articles and general documentation. See the
+AsciiDoc distribution <code class="literal">./doc/article.txt</code> example.</p><p>AsciiDoc defines standard DocBook article frontmatter and backmatter
+<a class="link" href="ch08.html#X93" title="8.4.1. Section markup templates">section markup templates</a> (appendix, abstract, bibliography,
+glossary, index).</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_book"></a>3.2. book</h2></div></div></div><p>Books share the same format as articles, with the following
+differences:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+The part titles in multi-part books are <a class="link" href="ch11.html" title="Chapter 11. Titles">top level titles</a>
+ (same level as book title).
+</li><li class="listitem">
+Some sections are book specific e.g. preface and colophon.
+</li></ul></div><p>Book documents will normally be used to produce DocBook output since
+DocBook processors can automatically generate footnotes, table of
+contents, list of tables, list of figures, list of examples and
+indexes.</p><p>AsciiDoc defines standard DocBook book frontmatter and backmatter
+<a class="link" href="ch08.html#X93" title="8.4.1. Section markup templates">section markup templates</a> (appendix, dedication, preface,
+bibliography, glossary, index, colophon).</p><div class="variablelist"><p class="title"><strong>Example book documents</strong></p><dl class="variablelist"><dt><span class="term">
+Book
+</span></dt><dd>
+ The <code class="literal">./doc/book.txt</code> file in the AsciiDoc distribution.
+</dd><dt><span class="term">
+Multi-part book
+</span></dt><dd>
+ The <code class="literal">./doc/book-multi.txt</code> file in the AsciiDoc distribution.
+</dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_manpage"></a>3.3. manpage</h2></div></div></div><p>Used to generate roff format UNIX manual pages. AsciiDoc manpage
+documents observe special header title and section naming conventions — see the <a class="link" href="ch24.html" title="Chapter 24. Manpage Documents">Manpage Documents</a> section for details.</p><p>AsciiDoc defines the <span class="emphasis"><em>synopsis</em></span> <a class="link" href="ch08.html#X93" title="8.4.1. Section markup templates">section markup template</a> to
+generate the DocBook <code class="literal">refsynopsisdiv</code> section.</p><p>See also the asciidoc(1) man page source (<code class="literal">./doc/asciidoc.1.txt</code>) from
+the AsciiDoc distribution.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch04.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch04.html b/chunked/ch04.html
new file mode 100644
index 0000000..528fa78
--- /dev/null
+++ b/chunked/ch04.html
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 4. AsciiDoc Backends</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch03.html" title="Chapter 3. AsciiDoc Document Types" /><link rel="next" href="ch05.html" title="Chapter 5. DocBook" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch03.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch05.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="X5"></a>Chapter 4. AsciiDoc Backends</h1></div></div></div><p>The asciidoc(1) command translates an AsciiDoc formatted file to the
+backend format specified by the <code class="literal">-b</code> (<code class="literal">--backend</code>) command-line
+option. asciidoc(1) itself has little intrinsic knowledge of backend
+formats, all translation rules are contained in customizable cascading
+configuration files. Backend specific attributes are listed in the
+<a class="link" href="aph.html" title="Appendix H. Backend Attributes">Backend Attributes</a> section.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+docbook45
+</span></dt><dd>
+ Outputs DocBook XML 4.5 markup.
+</dd><dt><span class="term">
+docbook5
+</span></dt><dd>
+ Outputs DocBook XML 5.0 markup.
+</dd><dt><span class="term">
+html4
+</span></dt><dd>
+ This backend generates plain HTML 4.01 Transitional markup.
+</dd><dt><span class="term">
+xhtml11
+</span></dt><dd>
+ This backend generates XHTML 1.1 markup styled with CSS2. Output
+ files have an <code class="literal">.html</code> extension.
+</dd><dt><span class="term">
+html5
+</span></dt><dd>
+ This backend generates HTML 5 markup, apart from the inclusion of
+ <a class="link" href="ch22.html" title="Chapter 22. HTML 5 audio and video block macros">audio and video block macros</a> it is functionally identical to
+ the <span class="emphasis"><em>xhtml11</em></span> backend.
+</dd><dt><span class="term">
+slidy
+</span></dt><dd>
+ Use this backend to generate self-contained
+ <a class="ulink" href="http://www.w3.org/Talks/Tools/Slidy2/" target="_top">Slidy</a> HTML slideshows for
+ your web browser from AsciiDoc documents. The Slidy backend is
+ documented in the distribution <code class="literal">doc/slidy.txt</code> file and
+ <a class="ulink" href="https://asciidoc.org/slidy.html" target="_top">online</a>.
+</dd><dt><span class="term">
+wordpress
+</span></dt><dd>
+ A minor variant of the <span class="emphasis"><em>html4</em></span> backend to support
+ <a class="ulink" href="http://srackham.wordpress.com/blogpost1/" target="_top">blogpost</a>.
+</dd><dt><span class="term">
+latex
+</span></dt><dd>
+ Experimental LaTeX backend.
+</dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_backend_aliases"></a>4.1. Backend Aliases</h2></div></div></div><p>Backend aliases are alternative names for AsciiDoc backends. AsciiDoc
+comes with two backend aliases: <span class="emphasis"><em>html</em></span> (aliased to <span class="emphasis"><em>xhtml11</em></span>) and
+<span class="emphasis"><em>docbook</em></span> (aliased to <span class="emphasis"><em>docbook45</em></span>).</p><p>You can assign (or reassign) backend aliases by setting an AsciiDoc
+attribute named like <code class="literal">backend-alias-&lt;alias&gt;</code> to an AsciiDoc backend
+name. For example, the following backend alias attribute definitions
+appear in the <code class="literal">[attributes]</code> section of the global <code class="literal">asciidoc.conf</code>
+configuration file:</p><pre class="literallayout">backend-alias-html=xhtml11
+backend-alias-docbook=docbook45</pre></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X100"></a>4.2. Backend Plugins</h2></div></div></div><p>The asciidoc(1) <code class="literal">--backend</code> option is also used to install and manage
+backend <a class="link" href="ch34.html" title="Chapter 34. Plugins">plugins</a>.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+A backend plugin is used just like the built-in backends.
+</li><li class="listitem">
+Backend plugins <a class="link" href="ch26.html#X27" title="26.11. Configuration file names, precedence and locations">take precedence</a> over built-in backends with
+ the same name.
+</li><li class="listitem">
+You can use the <code class="literal">{asciidoc-confdir}</code> <a class="link" href="ch31.html" title="Chapter 31. Intrinsic Attributes">intrinsic attribute</a> to
+ refer to the built-in backend configuration file location from
+ backend plugin configuration files.
+</li><li class="listitem">
+You can use the <code class="literal">{backend-confdir}</code> <a class="link" href="ch31.html" title="Chapter 31. Intrinsic Attributes">intrinsic attribute</a> to
+ refer to the backend plugin configuration file location.
+</li><li class="listitem">
+By default backends plugins are installed in
+ <code class="literal">$HOME/.asciidoc/backends/&lt;backend&gt;</code> where <code class="literal">&lt;backend&gt;</code> is the
+ backend name.
+</li></ul></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch05.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch05.html b/chunked/ch05.html
new file mode 100644
index 0000000..90db229
--- /dev/null
+++ b/chunked/ch05.html
@@ -0,0 +1,161 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 5. DocBook</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch04.html" title="Chapter 4. AsciiDoc Backends" /><link rel="next" href="ch06.html" title="Chapter 6. Generating Plain Text Files" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch04.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch06.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="_docbook"></a>Chapter 5. DocBook</h1></div></div></div><p>AsciiDoc generates <span class="emphasis"><em>article</em></span>, <span class="emphasis"><em>book</em></span> and <span class="emphasis"><em>refentry</em></span>
+<a class="ulink" href="http://www.docbook.org/" target="_top">DocBook</a> documents (corresponding to the
+AsciiDoc <span class="emphasis"><em>article</em></span>, <span class="emphasis"><em>book</em></span> and <span class="emphasis"><em>manpage</em></span> document types).</p><p>Most Linux distributions come with conversion tools (collectively
+called a toolchain) for <a class="link" href="ch05.html#X12" title="5.1. Converting DocBook to other file formats">converting DocBook files</a> to
+presentation formats such as Postscript, HTML, PDF, EPUB, DVI,
+PostScript, LaTeX, roff (the native man page format), HTMLHelp,
+JavaHelp and text. There are also programs that allow you to view
+DocBook files directly, for example <a class="ulink" href="http://live.gnome.org/Yelp" target="_top">Yelp</a>
+(the GNOME help viewer).</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X12"></a>5.1. Converting DocBook to other file formats</h2></div></div></div><p>DocBook files are validated, parsed and translated various
+presentation file formats using a combination of applications
+collectively called a DocBook <span class="emphasis"><em>tool chain</em></span>. The function of a tool
+chain is to read the DocBook markup (produced by AsciiDoc) and
+transform it to a presentation format (for example HTML, PDF, HTML
+Help, EPUB, DVI, PostScript, LaTeX).</p><p>A wide range of user output format requirements coupled with a choice
+of available tools and stylesheets results in many valid tool chain
+combinations.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X43"></a>5.2. a2x Toolchain Wrapper</h2></div></div></div><p>One of the biggest hurdles for new users is installing, configuring
+and using a DocBook XML toolchain. <code class="literal">a2x(1)</code> can help — it’s a
+toolchain wrapper command that will generate XHTML (chunked and
+unchunked), PDF, EPUB, DVI, PS, LaTeX, man page, HTML Help and text
+file outputs from an AsciiDoc text file. <code class="literal">a2x(1)</code> does all the grunt
+work associated with generating and sequencing the toolchain commands
+and managing intermediate and output files. <code class="literal">a2x(1)</code> also optionally
+deploys admonition and navigation icons and a CSS stylesheet. See the
+<code class="literal">a2x(1)</code> man page for more details. In addition to <code class="literal">asciidoc(1)</code> you
+also need <a class="link" href="ch05.html#X40">xsltproc(1)</a>, <a class="link" href="ch05.html#X13">DocBook XSL Stylesheets</a> and
+optionally: <a class="link" href="ch05.html#X31">dblatex</a> or <a class="link" href="ch05.html#X14">FOP</a> (to generate PDF);
+<code class="literal">w3m(1)</code> or <code class="literal">lynx(1)</code> (to generate text).</p><p>The following examples generate <code class="literal">doc/source-highlight-filter.pdf</code> from
+the AsciiDoc <code class="literal">doc/source-highlight-filter.txt</code> source file. The first
+example uses <code class="literal">dblatex(1)</code> (the default PDF generator) the second
+example forces FOP to be used:</p><pre class="literallayout">$ a2x -f pdf doc/source-highlight-filter.txt
+$ a2x -f pdf --fop doc/source-highlight-filter.txt</pre><p>See the <code class="literal">a2x(1)</code> man page for details.</p><div class="tip" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="images/icons/tip.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>Use the <code class="literal">--verbose</code> command-line option to view executed
+toolchain commands.</p></td></tr></table></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_html_generation"></a>5.3. HTML generation</h2></div></div></div><p>AsciiDoc produces nicely styled HTML directly without requiring a
+DocBook toolchain but there are also advantages in going the DocBook
+route:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+HTML from DocBook can optionally include automatically generated
+ indexes, tables of contents, footnotes, lists of figures and tables.
+</li><li class="listitem">
+DocBook toolchains can also (optionally) generate separate (chunked)
+ linked HTML pages for each document section.
+</li><li class="listitem">
+Toolchain processing performs link and document validity checks.
+</li><li class="listitem">
+If the DocBook <span class="emphasis"><em>lang</em></span> attribute is set then things like table of
+ contents, figure and table captions and admonition captions will be
+ output in the specified language (setting the AsciiDoc <span class="emphasis"><em>lang</em></span>
+ attribute sets the DocBook <span class="emphasis"><em>lang</em></span> attribute).
+</li></ul></div><p>On the other hand, HTML output directly from AsciiDoc is much faster,
+is easily customized and can be used in situations where there is no
+suitable DocBook toolchain (for example, see the <a class="ulink" href="https://asciidoc.org/" target="_top">AsciiDoc
+website</a>).</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_pdf_generation"></a>5.4. PDF generation</h2></div></div></div><p>There are two commonly used tools to generate PDFs from DocBook,
+<a class="link" href="ch05.html#X31">dblatex</a> and <a class="link" href="ch05.html#X14">FOP</a>.</p><div class="itemizedlist"><p class="title"><strong>dblatex or FOP?</strong></p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+<span class="emphasis"><em>dblatex</em></span> is easier to install, there’s zero configuration
+ required and no Java VM to install — it just works out of the box.
+</li><li class="listitem">
+<span class="emphasis"><em>dblatex</em></span> source code highlighting and numbering is superb.
+</li><li class="listitem">
+<span class="emphasis"><em>dblatex</em></span> is easier to use as it converts DocBook directly to PDF
+ whereas before using <span class="emphasis"><em>FOP</em></span> you have to convert DocBook to XML-FO
+ using <a class="link" href="ch05.html#X13">DocBook XSL Stylesheets</a>.
+</li><li class="listitem">
+<span class="emphasis"><em>FOP</em></span> is more feature complete (for example, callouts are processed
+ inside literal layouts) and arguably produces nicer looking output.
+</li></ul></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_html_help_generation"></a>5.5. HTML Help generation</h2></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
+Convert DocBook XML documents to HTML Help compiler source files
+ using <a class="link" href="ch05.html#X13">DocBook XSL Stylesheets</a> and <a class="link" href="ch05.html#X40">xsltproc(1)</a>.
+</li><li class="listitem">
+Convert the HTML Help source (<code class="literal">.hhp</code> and <code class="literal">.html</code>) files to HTML Help
+ (<code class="literal">.chm</code>) files using the <a class="link" href="ch05.html#X67">Microsoft HTML Help Compiler</a>.
+</li></ol></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_toolchain_components_summary"></a>5.6. Toolchain components summary</h2></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+AsciiDoc
+</span></dt><dd>
+ Converts AsciiDoc (<code class="literal">.txt</code>) files to DocBook XML (<code class="literal">.xml</code>) files.
+</dd><dt><span class="term">
+<a id="X13"></a><a class="ulink" href="https://github.com/docbook/xslt10-stylesheets" target="_top">DocBook XSLT Stylesheets</a>
+</span></dt><dd>
+ These are a set of XSL stylesheets containing rules for converting
+ DocBook XML documents to HTML, XSL-FO, manpage and HTML Help files.
+ The stylesheets are used in conjunction with an XML parser such as
+ <a class="link" href="ch05.html#X40">xsltproc(1)</a>.
+</dd><dt><span class="term">
+<a id="X40"></a><a class="ulink" href="http://www.xmlsoft.org" target="_top">xsltproc</a>
+</span></dt><dd>
+ An XML parser for applying XSLT stylesheets (in our case the
+ <a class="link" href="ch05.html#X13">DocBook XSL Stylesheets</a>) to XML documents.
+</dd><dt><span class="term">
+<a id="X31"></a><a class="ulink" href="http://dblatex.sourceforge.net/" target="_top">dblatex</a>
+</span></dt><dd>
+ Generates PDF, DVI, PostScript and LaTeX formats directly from
+ DocBook source via the intermediate LaTeX typesetting language —  uses <a class="link" href="ch05.html#X13">DocBook XSL Stylesheets</a>, <a class="link" href="ch05.html#X40">xsltproc(1)</a> and
+ <code class="literal">latex(1)</code>.
+</dd><dt><span class="term">
+<a id="X14"></a><a class="ulink" href="http://xmlgraphics.apache.org/fop/" target="_top">FOP</a>
+</span></dt><dd>
+ The Apache Formatting Objects Processor converts XSL-FO (<code class="literal">.fo</code>)
+ files to PDF files. The XSL-FO files are generated from DocBook
+ source files using <a class="link" href="ch05.html#X13">DocBook XSL Stylesheets</a> and
+ <a class="link" href="ch05.html#X40">xsltproc(1)</a>.
+</dd><dt><span class="term">
+<a id="X67"></a>Microsoft Help Compiler
+</span></dt><dd>
+ The Microsoft HTML Help Compiler (<code class="literal">hhc.exe</code>) is a command-line tool
+ that converts HTML Help source files to a single HTML Help (<code class="literal">.chm</code>)
+ file. It runs on MS Windows platforms and can be downloaded from
+ <a class="ulink" href="http://www.microsoft.com" target="_top">http://www.microsoft.com</a>.
+</dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_asciidoc_dblatex_configuration_files"></a>5.7. AsciiDoc dblatex configuration files</h2></div></div></div><p>The AsciiDoc distribution <code class="literal">./dblatex</code> directory contains
+<code class="literal">asciidoc-dblatex.xsl</code> (customized XSL parameter settings) and
+<code class="literal">asciidoc-dblatex.sty</code> (customized LaTeX settings). These are examples
+of optional <a class="link" href="ch05.html#X31">dblatex</a> output customization and are used by
+<a class="link" href="ch05.html#X43" title="5.2. a2x Toolchain Wrapper">a2x(1)</a>.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_asciidoc_docbook_xsl_stylesheets_drivers"></a>5.8. AsciiDoc DocBook XSL Stylesheets drivers</h2></div></div></div><p>You will have noticed that the distributed HTML and HTML Help
+documentation files (for example <code class="literal">./doc/asciidoc.html</code>) are not the
+plain outputs produced using the default <span class="emphasis"><em>DocBook XSL Stylesheets</em></span>
+configuration. This is because they have been processed using
+customized DocBook XSL Stylesheets along with (in the case of HTML
+outputs) the custom <code class="literal">./stylesheets/docbook-xsl.css</code> CSS stylesheet.</p><p>You’ll find the customized DocBook XSL drivers along with additional
+documentation in the distribution <code class="literal">./docbook-xsl</code> directory. The
+examples that follow are executed from the distribution documentation
+(<code class="literal">./doc</code>) directory. These drivers are also used by <a class="link" href="ch05.html#X43" title="5.2. a2x Toolchain Wrapper">a2x(1)</a>.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+<code class="literal">common.xsl</code>
+</span></dt><dd>
+ Shared driver parameters. This file is not used directly but is
+ included in all the following drivers.
+</dd><dt><span class="term">
+<code class="literal">chunked.xsl</code>
+</span></dt><dd><p class="simpara">
+ Generate chunked XHTML (separate HTML pages for each document
+ section) in the <code class="literal">./doc/chunked</code> directory. For example:
+</p><pre class="literallayout">$ python ../asciidoc.py -b docbook asciidoc.txt
+$ xsltproc --nonet ../docbook-xsl/chunked.xsl asciidoc.xml</pre></dd><dt><span class="term">
+<code class="literal">epub.xsl</code>
+</span></dt><dd>
+ Used by <a class="link" href="ch05.html#X43" title="5.2. a2x Toolchain Wrapper">a2x(1)</a> to generate EPUB formatted documents.
+</dd><dt><span class="term">
+<code class="literal">fo.xsl</code>
+</span></dt><dd><p class="simpara">
+ Generate XSL Formatting Object (<code class="literal">.fo</code>) files for subsequent PDF
+ file generation using FOP. For example:
+</p><pre class="literallayout">$ python ../asciidoc.py -b docbook article.txt
+$ xsltproc --nonet ../docbook-xsl/fo.xsl article.xml &gt; article.fo
+$ fop article.fo article.pdf</pre></dd><dt><span class="term">
+<code class="literal">htmlhelp.xsl</code>
+</span></dt><dd><p class="simpara">
+ Generate Microsoft HTML Help source files for the MS HTML Help
+ Compiler in the <code class="literal">./doc/htmlhelp</code> directory. This example is run on
+ MS Windows from a Cygwin shell prompt:
+</p><pre class="literallayout">$ python ../asciidoc.py -b docbook asciidoc.txt
+$ xsltproc --nonet ../docbook-xsl/htmlhelp.xsl asciidoc.xml
+$ c:/Program\ Files/HTML\ Help\ Workshop/hhc.exe htmlhelp.hhp</pre></dd><dt><span class="term">
+<code class="literal">manpage.xsl</code>
+</span></dt><dd><p class="simpara">
+ Generate a <code class="literal">roff(1)</code> format UNIX man page from a DocBook XML
+ <span class="emphasis"><em>refentry</em></span> document. This example generates an <code class="literal">asciidoc.1</code> man
+ page file:
+</p><pre class="literallayout">$ python ../asciidoc.py -d manpage -b docbook asciidoc.1.txt
+$ xsltproc --nonet ../docbook-xsl/manpage.xsl asciidoc.1.xml</pre></dd><dt><span class="term">
+<code class="literal">xhtml.xsl</code>
+</span></dt><dd><p class="simpara">
+ Convert a DocBook XML file to a single XHTML file. For example:
+</p><pre class="literallayout">$ python ../asciidoc.py -b docbook asciidoc.txt
+$ xsltproc --nonet ../docbook-xsl/xhtml.xsl asciidoc.xml &gt; asciidoc.html</pre></dd></dl></div><p>If you want to see how the complete documentation set is processed
+take a look at the A-A-P script <code class="literal">./doc/main.aap</code>.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch06.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch06.html b/chunked/ch06.html
new file mode 100644
index 0000000..4441623
--- /dev/null
+++ b/chunked/ch06.html
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 6. Generating Plain Text Files</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch05.html" title="Chapter 5. DocBook" /><link rel="next" href="ch07.html" title="Chapter 7. HTML5 and XHTML 1.1" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch05.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch07.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="_generating_plain_text_files"></a>Chapter 6. Generating Plain Text Files</h1></div></div></div><p>AsciiDoc does not have a text backend (for most purposes AsciiDoc
+source text is fine), however you can convert AsciiDoc text files to
+formatted text using the AsciiDoc <a class="link" href="ch05.html#X43" title="5.2. a2x Toolchain Wrapper">a2x(1)</a> toolchain wrapper
+utility.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch05.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch07.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch07.html b/chunked/ch07.html
new file mode 100644
index 0000000..b5942ef
--- /dev/null
+++ b/chunked/ch07.html
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 7. HTML5 and XHTML 1.1</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch06.html" title="Chapter 6. Generating Plain Text Files" /><link rel="next" href="ch08.html" title="Chapter 8. Document Structure" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch06.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch08.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="X35"></a>Chapter 7. HTML5 and XHTML 1.1</h1></div></div></div><p>The <span class="emphasis"><em>xhtml11</em></span> and <span class="emphasis"><em>html5</em></span> backends embed or link CSS and JavaScript
+files in their outputs, there is also a <a class="link" href="ch07.html#X99" title="7.1. Themes">themes</a> plugin
+framework.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+If the AsciiDoc <span class="emphasis"><em>linkcss</em></span> attribute is defined then CSS and
+ JavaScript files are linked to the output document, otherwise they
+ are embedded (the default behavior).
+</li><li class="listitem">
+The default locations for CSS and JavaScript files can be changed by
+ setting the AsciiDoc <span class="emphasis"><em>stylesdir</em></span> and <span class="emphasis"><em>scriptsdir</em></span> attributes
+ respectively.
+</li><li class="listitem">
+The default locations for embedded and linked files differ and are
+ calculated at different times — embedded files are loaded when
+ asciidoc(1) generates the output document, linked files are loaded
+ by the browser when the user views the output document.
+</li><li class="listitem">
+Embedded files are automatically inserted in the output files but
+ you need to manually copy linked CSS and Javascript files from
+ AsciiDoc <a class="link" href="ch26.html#X27" title="26.11. Configuration file names, precedence and locations">configuration directories</a> to the correct location
+ relative to the output document.
+</li></ul></div><div class="table"><a id="idm414"></a><p class="title"><strong>Table 7.1. Stylesheet file locations</strong></p><div class="table-contents"><table class="table" summary="Stylesheet file locations" cellpadding="4px" style="border-collapse: collapse;border-top: 3px solid #527bbd; border-bottom: 3px solid #527bbd; "><colgroup><col class="col_1" /><col class="col_2" /><col class="col_3" /></colgroup><thead><tr><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><span class="emphasis"><em>stylesdir</em></span> attribute</th><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top">Linked location (<span class="emphasis"><em>linkcss</em></span> attribute defined)</th><th style="border-bottom: 1px solid #527bbd; " align="left" valign="top">Embedded location (<span class="emphasis"><em>linkcss</em></span> attribute undefined)</th></tr></thead><tbody><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Undefined (default).</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Same directory as the output document.</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><code class="literal">stylesheets</code> subdirectory in the AsciiDoc configuration directory
+(the directory containing the backend conf file).</p></td></tr><tr><td style="border-right: 1px solid #527bbd; " align="left" valign="top"><p>Absolute or relative directory name.</p></td><td style="border-right: 1px solid #527bbd; " align="left" valign="top"><p>Absolute or relative to the output document.</p></td><td style="" align="left" valign="top"><p>Absolute or relative to the AsciiDoc configuration directory (the
+directory containing the backend conf file).</p></td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="idm444"></a><p class="title"><strong>Table 7.2. JavaScript file locations</strong></p><div class="table-contents"><table class="table" summary="JavaScript file locations" cellpadding="4px" style="border-collapse: collapse;border-top: 3px solid #527bbd; border-bottom: 3px solid #527bbd; "><colgroup><col class="col_1" /><col class="col_2" /><col class="col_3" /></colgroup><thead><tr><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><span class="emphasis"><em>scriptsdir</em></span> attribute</th><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top">Linked location (<span class="emphasis"><em>linkcss</em></span> attribute defined)</th><th style="border-bottom: 1px solid #527bbd; " align="left" valign="top">Embedded location (<span class="emphasis"><em>linkcss</em></span> attribute undefined)</th></tr></thead><tbody><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Undefined (default).</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Same directory as the output document.</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><code class="literal">javascripts</code> subdirectory in the AsciiDoc configuration directory
+(the directory containing the backend conf file).</p></td></tr><tr><td style="border-right: 1px solid #527bbd; " align="left" valign="top"><p>Absolute or relative directory name.</p></td><td style="border-right: 1px solid #527bbd; " align="left" valign="top"><p>Absolute or relative to the output document.</p></td><td style="" align="left" valign="top"><p>Absolute or relative to the AsciiDoc configuration directory (the
+directory containing the backend conf file).</p></td></tr></tbody></table></div></div><br class="table-break" /><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X99"></a>7.1. Themes</h2></div></div></div><p>The AsciiDoc <span class="emphasis"><em>theme</em></span> attribute is used to select an alternative CSS
+stylesheet and to optionally include additional JavaScript code.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Theme files reside in an AsciiDoc <a class="link" href="ch26.html#X27" title="26.11. Configuration file names, precedence and locations">configuration directory</a>
+ named <code class="literal">themes/&lt;theme&gt;/</code> (where <code class="literal">&lt;theme&gt;</code> is the the theme name set
+ by the <span class="emphasis"><em>theme</em></span> attribute). asciidoc(1) sets the <span class="emphasis"><em>themedir</em></span> attribute
+ to the theme directory path name.
+</li><li class="listitem">
+The <span class="emphasis"><em>theme</em></span> attribute can also be set using the asciidoc(1)
+ <code class="literal">--theme</code> option, the <code class="literal">--theme</code> option can also be used to manage
+ theme <a class="link" href="ch34.html" title="Chapter 34. Plugins">plugins</a>.
+</li><li class="listitem">
+AsciiDoc ships with two themes: <span class="emphasis"><em>flask</em></span> and <span class="emphasis"><em>volnitsky</em></span>.
+</li><li class="listitem">
+The <code class="literal">&lt;theme&gt;.css</code> file replaces the default <code class="literal">asciidoc.css</code> CSS file.
+</li><li class="listitem">
+The <code class="literal">&lt;theme&gt;.js</code> file is included in addition to the default
+ <code class="literal">asciidoc.js</code> JavaScript file.
+</li><li class="listitem">
+If the <a class="link" href="ch21.html#X66" title="Embedding images in XHTML documents">data-uri</a> attribute is defined then icons are loaded
+ from the theme <code class="literal">icons</code> sub-directory if it exists (i.e. the
+ <span class="emphasis"><em>iconsdir</em></span> attribute is set to theme <code class="literal">icons</code> sub-directory path).
+</li><li class="listitem">
+Embedded theme files are automatically inserted in the output files
+ but you need to manually copy linked CSS and Javascript files to the
+ location of the output documents.
+</li><li class="listitem">
+Linked CSS and JavaScript theme files are linked to the same linked
+ locations as <a class="link" href="ch07.html" title="Chapter 7. HTML5 and XHTML 1.1">other CSS and JavaScript files</a>.
+</li></ul></div><p>For example, the command-line option <code class="literal">--theme foo</code> (or <code class="literal">--attribute
+theme=foo</code>) will cause asciidoc(1) to search <a class="link" href="ch26.html#X27" title="26.11. Configuration file names, precedence and locations">configuration file locations 1</a> for a sub-directory called <code class="literal">themes/foo</code>
+containing the stylesheet <code class="literal">foo.css</code> and optionally a JavaScript file
+name <code class="literal">foo.js</code>.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch06.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch08.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch08.html b/chunked/ch08.html
new file mode 100644
index 0000000..401e06b
--- /dev/null
+++ b/chunked/ch08.html
@@ -0,0 +1,301 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 8. Document Structure</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch07.html" title="Chapter 7. HTML5 and XHTML 1.1" /><link rel="next" href="ch09.html" title="Chapter 9. Document Processing" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch07.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch09.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="_document_structure"></a>Chapter 8. Document Structure</h1></div></div></div><p>An AsciiDoc document consists of a series of <a class="link" href="go01.html#X8">block elements</a>
+starting with an optional document Header, followed by an optional
+Preamble, followed by zero or more document Sections.</p><p>Almost any combination of zero or more elements constitutes a valid
+AsciiDoc document: documents can range from a single sentence to a
+multi-part book.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_block_elements"></a>8.1. Block Elements</h2></div></div></div><p>Block elements consist of one or more lines of text and may contain
+other block elements.</p><p>The AsciiDoc block structure can be informally summarized as follows
+<a href="#ftn.idm531" class="footnote" id="idm531"><sup class="footnote">[1]</sup></a>:</p><pre class="literallayout">Document ::= (Header?,Preamble?,Section*)
+Header ::= (Title,(AuthorInfo,RevisionInfo?)?)
+AuthorInfo ::= (FirstName,(MiddleName?,LastName)?,EmailAddress?)
+RevisionInfo ::= (RevisionNumber?,RevisionDate,RevisionRemark?)
+Preamble ::= (SectionBody)
+Section ::= (Title,SectionBody?,(Section)*)
+SectionBody ::= ((BlockTitle?,Block)|BlockMacro)+
+Block ::= (Paragraph|DelimitedBlock|List|Table)
+List ::= (BulletedList|NumberedList|LabeledList|CalloutList)
+BulletedList ::= (ListItem)+
+NumberedList ::= (ListItem)+
+CalloutList ::= (ListItem)+
+LabeledList ::= (ListEntry)+
+ListEntry ::= (ListLabel,ListItem)
+ListLabel ::= (ListTerm+)
+ListItem ::= (ItemText,(List|ListParagraph|ListContinuation)*)</pre><p>Where:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+<span class="emphasis"><em>?</em></span> implies zero or one occurrence, <span class="emphasis"><em>+</em></span> implies one or more
+ occurrences, <span class="emphasis"><em>*</em></span> implies zero or more occurrences.
+</li><li class="listitem">
+All block elements are separated by line boundaries.
+</li><li class="listitem">
+<code class="literal">BlockId</code>, <code class="literal">AttributeEntry</code> and <code class="literal">AttributeList</code> block elements (not
+ shown) can occur almost anywhere.
+</li><li class="listitem">
+There are a number of document type and backend specific
+ restrictions imposed on the block syntax.
+</li><li class="listitem">
+The following elements cannot contain blank lines: Header, Title,
+ Paragraph, ItemText.
+</li><li class="listitem">
+A ListParagraph is a Paragraph with its <span class="emphasis"><em>listelement</em></span> option set.
+</li><li class="listitem">
+A ListContinuation is a <a class="link" href="ch17.html#X15" title="17.7. List Item Continuation">list continuation element</a>.
+</li></ul></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X95"></a>8.2. Header</h2></div></div></div><p>The Header contains document meta-data, typically title plus optional
+authorship and revision information:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+The Header is optional, but if it is used it must start with a
+ document <a class="link" href="ch11.html" title="Chapter 11. Titles">title</a>.
+</li><li class="listitem">
+Optional Author and Revision information immediately follows the
+ header title.
+</li><li class="listitem">
+The document header must be separated from the remainder of the
+ document by one or more blank lines and cannot contain blank lines.
+</li><li class="listitem">
+The header can include comments.
+</li><li class="listitem">
+The header can include <a class="link" href="ch28.html" title="Chapter 28. Attribute Entries">attribute entries</a>, typically
+ <span class="emphasis"><em>doctype</em></span>, <span class="emphasis"><em>lang</em></span>, <span class="emphasis"><em>encoding</em></span>, <span class="emphasis"><em>icons</em></span>, <span class="emphasis"><em>data-uri</em></span>, <span class="emphasis"><em>toc</em></span>,
+ <span class="emphasis"><em>numbered</em></span>.
+</li><li class="listitem">
+Header attributes are overridden by command-line attributes.
+</li><li class="listitem">
+If the header contains non-UTF-8 characters then the <span class="emphasis"><em>encoding</em></span> must
+ precede the header (either in the document or on the command-line).
+</li></ul></div><p>Here’s an example AsciiDoc document header:</p><pre class="literallayout">Writing Documentation using AsciiDoc
+====================================
+Joe Bloggs &lt;jbloggs@mymail.com&gt;
+v2.0, February 2003:
+Rewritten for version 2 release.</pre><p>The author information line contains the author’s name optionally
+followed by the author’s email address. The author’s name is formatted
+like:</p><pre class="literallayout">firstname[ [middlename ]lastname][ &lt;email&gt;]]</pre><p>i.e. a first name followed by optional middle and last names followed
+by an email address in that order. Multi-word first, middle and last
+names can be entered using the underscore as a word separator. The
+email address comes last and must be enclosed in angle &lt;&gt; brackets.
+Here a some examples of author information lines:</p><pre class="literallayout">Joe Bloggs &lt;jbloggs@mymail.com&gt;
+Joe Bloggs
+Vincent Willem van_Gogh</pre><p>If the author line does not match the above specification then the
+entire author line is treated as the first name.</p><p>The optional revision information line follows the author information
+line. The revision information can be one of two formats:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p class="simpara">
+An optional document revision number followed by an optional
+ revision date followed by an optional revision remark:
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+If the revision number is specified it must be followed by a
+ comma.
+</li><li class="listitem">
+The revision number must contain at least one numeric character.
+</li><li class="listitem">
+Any non-numeric characters preceding the first numeric character
+ will be dropped.
+</li><li class="listitem">
+If a revision remark is specified it must be preceded by a colon.
+ The revision remark extends from the colon up to the next blank
+ line, attribute entry or comment and is subject to normal text
+ substitutions.
+</li><li class="listitem">
+If a revision number or remark has been set but the revision date
+ has not been set then the revision date is set to the value of the
+ <span class="emphasis"><em>docdate</em></span> attribute.
+</li></ul></div><p class="simpara">Examples:</p><pre class="literallayout">v2.0, February 2003
+February 2003
+v2.0,
+v2.0, February 2003: Rewritten for version 2 release.
+February 2003: Rewritten for version 2 release.
+v2.0,: Rewritten for version 2 release.
+:Rewritten for version 2 release.</pre></li><li class="listitem"><p class="simpara">
+The revision information line can also be an RCS/CVS/SVN $Id$
+ marker:
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+AsciiDoc extracts the <span class="emphasis"><em>revnumber</em></span>, <span class="emphasis"><em>revdate</em></span>, and <span class="emphasis"><em>author</em></span>
+ attributes from the $Id$ revision marker and displays them in the
+ document header.
+</li><li class="listitem">
+If an $Id$ revision marker is used the header author line can be
+ omitted.
+</li></ul></div><p class="simpara">Example:</p><pre class="literallayout">$Id: mydoc.txt,v 1.5 2009/05/17 17:58:44 jbloggs Exp $</pre></li></ol></div><p>You can override or set header parameters by passing <span class="emphasis"><em>revnumber</em></span>,
+<span class="emphasis"><em>revremark</em></span>, <span class="emphasis"><em>revdate</em></span>, <span class="emphasis"><em>email</em></span>, <span class="emphasis"><em>author</em></span>, <span class="emphasis"><em>authorinitials</em></span>,
+<span class="emphasis"><em>firstname</em></span> and <span class="emphasis"><em>lastname</em></span> attributes using the asciidoc(1) <code class="literal">-a</code>
+(<code class="literal">--attribute</code>) command-line option. For example:</p><pre class="literallayout">$ asciidoc -a revdate=2004/07/27 article.txt</pre><p>Attribute entries can also be added to the header for substitution in
+the header template with <a class="link" href="ch28.html" title="Chapter 28. Attribute Entries">Attribute Entry</a> elements.</p><p>The <span class="emphasis"><em>title</em></span> element in HTML outputs is set to the AsciiDoc document
+title, you can set it to a different value by including a <span class="emphasis"><em>title</em></span>
+attribute entry in the document header.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="X87"></a>8.2.1. Additional document header information</h3></div></div></div><p>AsciiDoc has two mechanisms for optionally including additional
+meta-data in the header of the output document:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+<span class="emphasis"><em>docinfo</em></span> configuration file sections
+</span></dt><dd>
+If a <a class="link" href="ch26.html" title="Chapter 26. Configuration Files">configuration file</a> section named <span class="emphasis"><em>docinfo</em></span> has been loaded
+then it will be included in the document header. Typically the
+<span class="emphasis"><em>docinfo</em></span> section name will be prefixed with a <span class="emphasis"><em>+</em></span> character so that it
+is appended to (rather than replace) other <span class="emphasis"><em>docinfo</em></span> sections.
+</dd><dt><span class="term">
+<span class="emphasis"><em>docinfo</em></span> files
+</span></dt><dd>
+Two docinfo files are recognized: one named <code class="literal">docinfo</code> and a second
+named like the AsciiDoc source file with a <code class="literal">-docinfo</code> suffix. For
+example, if the source document is called <code class="literal">mydoc.txt</code> then the
+document information files would be <code class="literal">docinfo.xml</code> and
+<code class="literal">mydoc-docinfo.xml</code> (for DocBook outputs) and <code class="literal">docinfo.html</code> and
+<code class="literal">mydoc-docinfo.html</code> (for HTML outputs). The <a class="link" href="aph.html#X97">docinfo</a> attributes control which docinfo files are included in
+the output files.
+</dd></dl></div><p>The contents docinfo templates and files is dependent on the type of
+output:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+HTML
+</span></dt><dd>
+ Valid <span class="emphasis"><em>head</em></span> child elements. Typically <span class="emphasis"><em>style</em></span> and <span class="emphasis"><em>script</em></span> elements
+ for CSS and JavaScript inclusion.
+</dd><dt><span class="term">
+DocBook
+</span></dt><dd>
+ Valid <span class="emphasis"><em>articleinfo</em></span> or <span class="emphasis"><em>bookinfo</em></span> child elements. DocBook defines
+ numerous elements for document meta-data, for example: copyrights,
+ document history and authorship information. See the DocBook
+ <code class="literal">./doc/article-docinfo.xml</code> example that comes with the AsciiDoc
+ distribution. The rendering of meta-data elements (or not) is
+ DocBook processor dependent.
+</dd></dl></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X86"></a>8.3. Preamble</h2></div></div></div><p>The Preamble is an optional untitled section body between the document
+Header and the first Section title.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_sections"></a>8.4. Sections</h2></div></div></div><p>In addition to the document title (level 0), AsciiDoc supports four
+section levels: 1 (top) to 4 (bottom). Section levels are delimited
+by section <a class="link" href="ch11.html" title="Chapter 11. Titles">titles</a>. Sections are translated using
+configuration file <a class="link" href="ch08.html#X93" title="8.4.1. Section markup templates">section markup templates</a>. AsciiDoc
+generates the following <a class="link" href="ch31.html" title="Chapter 31. Intrinsic Attributes">intrinsic attributes</a> specifically for
+use in section markup templates:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+level
+</span></dt><dd>
+The <code class="literal">level</code> attribute is the section level number, it is normally just
+the <a class="link" href="ch11.html" title="Chapter 11. Titles">title</a> level number (1..4). However, if the <code class="literal">leveloffset</code>
+attribute is defined it will be added to the <code class="literal">level</code> attribute. The
+<code class="literal">leveloffset</code> attribute is useful for <a class="link" href="ch36.html#X90" title="36.5. Combining separate documents">combining documents</a>.
+</dd><dt><span class="term">
+sectnum
+</span></dt><dd>
+The <code class="literal">-n</code> (<code class="literal">--section-numbers</code>) command-line option generates the
+<code class="literal">sectnum</code> (section number) attribute. The <code class="literal">sectnum</code> attribute is used
+for section numbers in HTML outputs (DocBook section numbering are
+handled automatically by the DocBook toolchain commands).
+</dd></dl></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="X93"></a>8.4.1. Section markup templates</h3></div></div></div><p>Section markup templates specify output markup and are defined in
+AsciiDoc configuration files. Section markup template names are
+derived as follows (in order of precedence):</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p class="simpara">
+From the title’s first positional attribute or <span class="emphasis"><em>template</em></span>
+ attribute. For example, the following three section titles are
+ functionally equivalent:
+</p><pre class="literallayout">[[terms]]
+[glossary]
+List of Terms
+-------------
+
+["glossary",id="terms"]
+List of Terms
+-------------
+
+[template="glossary",id="terms"]
+List of Terms
+-------------</pre></li><li class="listitem">
+When the title text matches a configuration file
+ <a class="link" href="ch08.html#X16" title="8.4.3. Special Section Titles"><code class="literal">[specialsections]</code></a> entry.
+</li><li class="listitem">
+If neither of the above the default <code class="literal">sect&lt;level&gt;</code> template is used
+ (where <code class="literal">&lt;level&gt;</code> is a number from 1 to 4).
+</li></ol></div><p>In addition to the normal section template names (<span class="emphasis"><em>sect1</em></span>, <span class="emphasis"><em>sect2</em></span>,
+<span class="emphasis"><em>sect3</em></span>, <span class="emphasis"><em>sect4</em></span>) AsciiDoc has the following templates for
+frontmatter, backmatter and other special sections: <span class="emphasis"><em>abstract</em></span>,
+<span class="emphasis"><em>preface</em></span>, <span class="emphasis"><em>colophon</em></span>, <span class="emphasis"><em>dedication</em></span>, <span class="emphasis"><em>glossary</em></span>, <span class="emphasis"><em>bibliography</em></span>,
+<span class="emphasis"><em>synopsis</em></span>, <span class="emphasis"><em>appendix</em></span>, <span class="emphasis"><em>index</em></span>. These special section templates
+generate the corresponding Docbook elements; for HTML outputs they
+default to the <span class="emphasis"><em>sect1</em></span> section template.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_section_ids"></a>8.4.2. Section IDs</h3></div></div></div><p>If no explicit section ID is specified an ID will be synthesised from
+the section title. The primary purpose of this feature is to ensure
+persistence of table of contents links (permalinks): the missing
+section IDs are generated dynamically by the JavaScript TOC generator
+<span class="strong"><strong>after</strong></span> the page is loaded. If you link to a dynamically generated TOC
+address the page will load but the browser will ignore the (as yet
+ungenerated) section ID.</p><p>The IDs are generated by the following algorithm:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Replace all non-alphanumeric title characters with underscores.
+</li><li class="listitem">
+Strip leading or trailing underscores.
+</li><li class="listitem">
+Convert to lowercase.
+</li><li class="listitem">
+Prepend the <code class="literal">idprefix</code> attribute (so there’s no possibility of name
+ clashes with existing document IDs). Prepend an underscore if the
+ <code class="literal">idprefix</code> attribute is not defined.
+</li><li class="listitem">
+A numbered suffix (<code class="literal">_2</code>, <code class="literal">_3</code> …) is added if a same named
+ auto-generated section ID exists.
+</li><li class="listitem">
+If the <code class="literal">ascii-ids</code> attribute is defined then non-ASCII characters
+ are replaced with ASCII equivalents. This attribute should be
+ <span class="strong"><strong>should be avoided</strong></span> if possible as its sole purpose is to accommodate
+ deficient downstream applications that cannot process non-ASCII ID
+ attributes. If available, it will use the
+ <a class="ulink" href="https://pypi.org/project/trans/" target="_top">trans python module</a>, otherwise it
+ will fallback to using NFKD algorithm, which cannot handle all
+ unicode characters. For example, <span class="emphasis"><em>Wstęp żółtej łąki</em></span> will be
+ translated to <span class="emphasis"><em>Wstep zoltej laki</em></span> under trans and <span class="emphasis"><em>Wstep zotej aki</em></span>
+ under NFKD.
+</li></ul></div><p>Example: the title <span class="emphasis"><em>Jim’s House</em></span> would generate the ID <code class="literal">_jim_s_house</code>.</p><p>Section ID synthesis can be disabled by undefining the <code class="literal">sectids</code>
+attribute.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="X16"></a>8.4.3. Special Section Titles</h3></div></div></div><p>AsciiDoc has a mechanism for mapping predefined section titles
+auto-magically to specific markup templates. For example a title
+<span class="emphasis"><em>Appendix A: Code Reference</em></span> will automatically use the <span class="emphasis"><em>appendix</em></span>
+<a class="link" href="ch08.html#X93" title="8.4.1. Section markup templates">section markup template</a>. The mappings from title to template
+name are specified in <code class="literal">[specialsections]</code> sections in the Asciidoc
+language configuration files (<code class="literal">lang-*.conf</code>). Section entries are
+formatted like:</p><pre class="literallayout">&lt;title&gt;=&lt;template&gt;</pre><p><code class="literal">&lt;title&gt;</code> is a Python regular expression and <code class="literal">&lt;template&gt;</code> is the name
+of a configuration file markup template section. If the <code class="literal">&lt;title&gt;</code>
+matches an AsciiDoc document section title then the backend output is
+marked up using the <code class="literal">&lt;template&gt;</code> markup template (instead of the
+default <code class="literal">sect&lt;level&gt;</code> section template). The <code class="literal">{title}</code> attribute value
+is set to the value of the matched regular expression group named
+<span class="emphasis"><em>title</em></span>, if there is no <span class="emphasis"><em>title</em></span> group <code class="literal">{title}</code> defaults to the whole
+of the AsciiDoc section title. If <code class="literal">&lt;template&gt;</code> is blank then any
+existing entry with the same <code class="literal">&lt;title&gt;</code> will be deleted.</p><div class="sidebar"><div class="titlepage"><div><div><p class="title"><strong>Special section titles vs. explicit template names</strong></p></div></div></div><p>AsciiDoc has two mechanisms for specifying non-default section markup
+templates: you can specify the template name explicitly (using the
+<span class="emphasis"><em>template</em></span> attribute) or indirectly (using <span class="emphasis"><em>special section titles</em></span>).
+Specifying a <a class="link" href="ch08.html#X93" title="8.4.1. Section markup templates">section template</a> attribute explicitly is
+preferred. Auto-magical <span class="emphasis"><em>special section titles</em></span> have the following
+drawbacks:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+They are non-obvious, you have to know the exact matching
+ title for each special section on a language by language basis.
+</li><li class="listitem">
+Section titles are predefined and can only be customised with a
+ configuration change.
+</li><li class="listitem">
+The implementation is complicated by multiple languages: every
+ special section title has to be defined for each language (in each
+ of the <code class="literal">lang-*.conf</code> files).
+</li></ul></div><p>Specifying special section template names explicitly does add more
+noise to the source document (the <span class="emphasis"><em>template</em></span> attribute declaration),
+but the intention is obvious and the syntax is consistent with other
+AsciiDoc elements c.f. bibliographic, Q&amp;A and glossary lists.</p><p>Special section titles have been deprecated but are retained for
+backward compatibility.</p></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_inline_elements"></a>8.5. Inline Elements</h2></div></div></div><p><a class="link" href="go01.html#X34">Inline document elements</a> are used to format text and to
+perform various types of text substitution. Inline elements and inline
+element syntax is defined in the asciidoc(1) configuration files.</p><p>Here is a list of AsciiDoc inline elements in the (default) order in
+which they are processed:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+Special characters
+</span></dt><dd>
+ These character sequences escape special characters used by
+ the backend markup (typically <code class="literal">&lt;</code>, <code class="literal">&gt;</code>, and <code class="literal">&amp;</code> characters).
+ See <code class="literal">[specialcharacters]</code> configuration file sections.
+</dd><dt><span class="term">
+Quotes
+</span></dt><dd>
+ Elements that markup words and phrases; usually for character
+ formatting. See <code class="literal">[quotes]</code> configuration file sections.
+</dd><dt><span class="term">
+Special Words
+</span></dt><dd>
+ Word or word phrase patterns singled out for markup without
+ the need for further annotation. See <code class="literal">[specialwords]</code>
+ configuration file sections.
+</dd><dt><span class="term">
+Replacements
+</span></dt><dd>
+ Each replacement defines a word or word phrase pattern to
+ search for along with corresponding replacement text. See
+ <code class="literal">[replacements]</code> configuration file sections.
+</dd><dt><span class="term">
+Attribute references
+</span></dt><dd>
+ Document attribute names enclosed in braces are replaced by
+ the corresponding attribute value.
+</dd><dt><span class="term">
+Inline Macros
+</span></dt><dd>
+ Inline macros are replaced by the contents of parametrized
+ configuration file sections.
+</dd></dl></div></div><div class="footnotes"><br /><hr style="width:100; text-align:left;margin-left: 0" /><div id="ftn.idm531" class="footnote"><p><a href="#idm531" class="simpara"><sup class="simpara">[1] </sup></a>This is a rough structural guide, not a rigorous syntax
+definition</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch07.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch09.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch09.html b/chunked/ch09.html
new file mode 100644
index 0000000..0231242
--- /dev/null
+++ b/chunked/ch09.html
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 9. Document Processing</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch08.html" title="Chapter 8. Document Structure" /><link rel="next" href="ch10.html" title="Chapter 10. Text Formatting" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch08.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch10.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="_document_processing"></a>Chapter 9. Document Processing</h1></div></div></div><p>The AsciiDoc source document is read and processed as follows:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
+The document <span class="emphasis"><em>Header</em></span> is parsed, header parameter values are
+ substituted into the configuration file <code class="literal">[header]</code> template section
+ which is then written to the output file.
+</li><li class="listitem">
+Each document <span class="emphasis"><em>Section</em></span> is processed and its constituent elements
+ translated to the output file.
+</li><li class="listitem">
+The configuration file <code class="literal">[footer]</code> template section is substituted
+ and written to the output file.
+</li></ol></div><p>When a block element is encountered asciidoc(1) determines the type of
+block by checking in the following order (first to last): (section)
+Titles, BlockMacros, Lists, DelimitedBlocks, Tables, AttributeEntrys,
+AttributeLists, BlockTitles, Paragraphs.</p><p>The default paragraph definition <code class="literal">[paradef-default]</code> is last element
+to be checked.</p><p>Knowing the parsing order will help you devise unambiguous macro, list
+and block syntax rules.</p><p>Inline substitutions within block elements are performed in the
+following default order:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
+Special characters
+</li><li class="listitem">
+Quotes
+</li><li class="listitem">
+Special words
+</li><li class="listitem">
+Replacements
+</li><li class="listitem">
+Attributes
+</li><li class="listitem">
+Inline Macros
+</li><li class="listitem">
+Replacements2
+</li></ol></div><p>The substitutions and substitution order performed on
+Title, Paragraph and DelimitedBlock elements is determined by
+configuration file parameters.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch10.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch10.html b/chunked/ch10.html
new file mode 100644
index 0000000..d5f41e6
--- /dev/null
+++ b/chunked/ch10.html
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 10. Text Formatting</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch09.html" title="Chapter 9. Document Processing" /><link rel="next" href="ch11.html" title="Chapter 11. Titles" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch09.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch11.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="_text_formatting"></a>Chapter 10. Text Formatting</h1></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X51"></a>10.1. Quoted Text</h2></div></div></div><p>Words and phrases can be formatted by enclosing inline text with
+quote characters:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+<span class="emphasis"><em>Emphasized text</em></span>
+</span></dt><dd>
+ Word phrases 'enclosed in single quote characters' (acute
+ accents) or _underline characters_ are emphasized.
+</dd><dt><span class="term">
+<span class="strong"><strong>Strong text</strong></span>
+</span></dt><dd>
+ Word phrases *enclosed in asterisk characters* are rendered
+ in a strong font (usually bold).
+</dd><dt><span class="term">
+<a id="X81"></a><code class="literal">Monospaced text</code>
+</span></dt><dd>
+ Word phrases +enclosed in plus characters+ are rendered in a
+ monospaced font. Word phrases `enclosed in backtick
+ characters` (grave accents) are also rendered in a monospaced
+ font but in this case the enclosed text is rendered literally
+ and is not subject to further expansion (see <a class="link" href="ch21.html#X80">inline literal passthrough</a>).
+</dd><dt><span class="term">
+‘Single quoted text’
+</span></dt><dd>
+ Phrases enclosed with a `single grave accent to the left and
+ a single acute accent to the right' are rendered in single
+ quotation marks.
+</dd><dt><span class="term">
+“Double quoted text”
+</span></dt><dd>
+ Phrases enclosed with ``two grave accents to the left and
+ two acute accents to the right'' are rendered in quotation
+ marks.
+</dd><dt><span class="term">
+Unquoted text
+</span></dt><dd>
+ Placing #hashes around text# does nothing, it is a mechanism
+ to allow inline attributes to be applied to otherwise
+ unformatted text.
+</dd></dl></div><p>New quote types can be defined by editing asciidoc(1) configuration
+files. See the <a class="link" href="ch26.html" title="Chapter 26. Configuration Files">Configuration Files</a> section for details.</p><div class="itemizedlist"><p class="title"><strong>Quoted text behavior</strong></p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Quoting cannot be overlapped.
+</li><li class="listitem">
+Different quoting types can be nested.
+</li><li class="listitem">
+To suppress quoted text formatting place a backslash character
+ immediately in front of the leading quote character(s). In the case
+ of ambiguity between escaped and non-escaped text you will need to
+ escape both leading and trailing quotes, in the case of
+ multi-character quotes you may even need to escape individual
+ characters.
+</li></ul></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="X96"></a>10.1.1. Quoted text attributes</h3></div></div></div><p>Quoted text can be prefixed with an <a class="link" href="ch29.html" title="Chapter 29. Attribute Lists">attribute list</a>. The first
+positional attribute (<span class="emphasis"><em>role</em></span> attribute) is translated by AsciiDoc to
+an HTML <span class="emphasis"><em>span</em></span> element <span class="emphasis"><em>class</em></span> attribute or a DocBook <span class="emphasis"><em>phrase</em></span> element
+<span class="emphasis"><em>role</em></span> attribute.</p><p>DocBook XSL Stylesheets translate DocBook <span class="emphasis"><em>phrase</em></span> elements with
+<span class="emphasis"><em>role</em></span> attributes to corresponding HTML <span class="emphasis"><em>span</em></span> elements with the same
+<span class="emphasis"><em>class</em></span> attributes; CSS can then be used
+<a class="ulink" href="http://www.sagehill.net/docbookxsl/UsingCSS.html" target="_top">to style the
+generated HTML</a>. Thus CSS styling can be applied to both DocBook and
+AsciiDoc generated HTML outputs. You can also specify multiple class
+names separated by spaces.</p><p>CSS rules for text color, text background color, text size and text
+decorators are included in the distributed AsciiDoc CSS files and are
+used in conjunction with AsciiDoc <span class="emphasis"><em>xhtml11</em></span>, <span class="emphasis"><em>html5</em></span> and <span class="emphasis"><em>docbook</em></span>
+outputs. The CSS class names are:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+<span class="emphasis"><em>&lt;color&gt;</em></span> (text foreground color).
+</li><li class="listitem">
+<span class="emphasis"><em>&lt;color&gt;-background</em></span> (text background color).
+</li><li class="listitem">
+<span class="emphasis"><em>big</em></span> and <span class="emphasis"><em>small</em></span> (text size).
+</li><li class="listitem">
+<span class="emphasis"><em>underline</em></span>, <span class="emphasis"><em>overline</em></span> and <span class="emphasis"><em>line-through</em></span> (strike through) text
+ decorators.
+</li></ul></div><p>Where <span class="emphasis"><em>&lt;color&gt;</em></span> can be any of the
+<a class="ulink" href="http://en.wikipedia.org/wiki/Web_colors#HTML_color_names" target="_top">sixteen HTML
+color names</a>. Examples:</p><pre class="literallayout">[red]#Obvious# and [big red yellow-background]*very obvious*.</pre><pre class="literallayout">[underline]#Underline text#, [overline]#overline text# and
+[blue line-through]*bold blue and line-through*.</pre><p>is rendered as:</p><p><span class="red">Obvious</span> and <span class="strong"><strong><span class="big red yellow-background">very obvious</span></strong></span>.</p><p><span class="underline">Underline text</span>, <span class="overline">overline text</span> and
+<span class="strong"><strong><span class="bold blue line-through">bold blue and line-through</span></strong></span>.</p><div class="note" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/icons/note.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>Color and text decorator attributes are rendered for XHTML and
+HTML 5 outputs using CSS stylesheets. The mechanism to implement
+color and text decorator attributes is provided for DocBook toolchains
+via the DocBook <span class="emphasis"><em>phrase</em></span> element <span class="emphasis"><em>role</em></span> attribute, but the actual
+rendering is toolchain specific and is not part of the AsciiDoc
+distribution.</p></td></tr></table></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="X52"></a>10.1.2. Constrained and Unconstrained Quotes</h3></div></div></div><p>There are actually two types of quotes:</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_constrained_quotes"></a>Constrained quotes</h4></div></div></div><p>Quoted must be bounded by white space or commonly adjoining
+punctuation characters. These are the most commonly used type of
+quote.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_unconstrained_quotes"></a>Unconstrained quotes</h4></div></div></div><p>Unconstrained quotes have no boundary constraints and can be placed
+anywhere within inline text. For consistency and to make them easier
+to remember unconstrained quotes are double-ups of the <code class="literal">_</code>, <code class="literal">*</code>, <code class="literal">+</code>
+and <code class="literal">#</code> constrained quotes:</p><pre class="literallayout">__unconstrained emphasized text__
+**unconstrained strong text**
+++unconstrained monospaced text++
+##unconstrained unquoted text##</pre><p>The following example emboldens the letter F:</p><pre class="literallayout">**F**ile Open...</pre></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_superscripts_and_subscripts"></a>10.2. Superscripts and Subscripts</h2></div></div></div><p>Put ^carets on either^ side of the text to be superscripted, put
+~tildes on either side~ of text to be subscripted. For example, the
+following line:</p><pre class="literallayout">e^&amp;#960;i^+1 = 0. H~2~O and x^10^. Some ^super text^
+and ~some sub text~</pre><p>Is rendered like:</p><p>e<sup>πi</sup>+1 = 0. H<sub>2</sub>O and x<sup>10</sup>. Some <sup>super text</sup>
+and <sub>some sub text</sub></p><p>Superscripts and subscripts are implemented as <a class="link" href="ch10.html#X52" title="10.1.2. Constrained and Unconstrained Quotes">unconstrained quotes</a> and they can be escaped with a leading backslash and prefixed
+with with an attribute list.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_line_breaks"></a>10.3. Line Breaks</h2></div></div></div><p>A plus character preceded by at least one space character at the end
+of a non-blank line forces a line break. It generates a line break
+(<code class="literal">br</code>) tag for HTML outputs and a custom XML <code class="literal">asciidoc-br</code> processing
+instruction for DocBook outputs. The <code class="literal">asciidoc-br</code> processing
+instruction is handled by <a class="link" href="ch05.html#X43" title="5.2. a2x Toolchain Wrapper">a2x(1)</a>.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_page_breaks"></a>10.4. Page Breaks</h2></div></div></div><p>A line of three or more less-than (<code class="literal">&lt;&lt;&lt;</code>) characters will generate a
+hard page break in DocBook and printed HTML outputs. It uses the CSS
+<code class="literal">page-break-after</code> property for HTML outputs and a custom XML
+<code class="literal">asciidoc-pagebreak</code> processing instruction for DocBook outputs. The
+<code class="literal">asciidoc-pagebreak</code> processing instruction is handled by
+<a class="link" href="ch05.html#X43" title="5.2. a2x Toolchain Wrapper">a2x(1)</a>. Hard page breaks are sometimes handy but as a general
+rule you should let your page processor generate page breaks for you.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_rulers"></a>10.5. Rulers</h2></div></div></div><p>A line of three or more apostrophe characters will generate a ruler
+line. It generates a ruler (<code class="literal">hr</code>) tag for HTML outputs and a custom
+XML <code class="literal">asciidoc-hr</code> processing instruction for DocBook outputs. The
+<code class="literal">asciidoc-hr</code> processing instruction is handled by <a class="link" href="ch05.html#X43" title="5.2. a2x Toolchain Wrapper">a2x(1)</a>.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_tabs"></a>10.6. Tabs</h2></div></div></div><p>By default tab characters input files will translated to 8 spaces. Tab
+expansion is set with the <span class="emphasis"><em>tabsize</em></span> entry in the configuration file
+<code class="literal">[miscellaneous]</code> section and can be overridden in included files by
+setting a <span class="emphasis"><em>tabsize</em></span> attribute in the <code class="literal">include</code> macro’s attribute list.
+For example:</p><pre class="literallayout">include::addendum.txt[tabsize=2]</pre><p>The tab size can also be set using the attribute command-line option,
+for example <code class="literal">--attribute tabsize=4</code></p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_replacements"></a>10.7. Replacements</h2></div></div></div><p>The following replacements are defined in the default AsciiDoc
+configuration:</p><pre class="literallayout">(C) copyright, (TM) trademark, (R) registered trademark,
+-- em dash, ... ellipsis, -&gt; right arrow, &lt;- left arrow, =&gt; right
+double arrow, &lt;= left double arrow.</pre><p>Which are rendered as:</p><p>© copyright, ™ trademark, ® registered trademark, — em dash, … ellipsis, → right arrow, ← left arrow, ⇒ right
+double arrow, ⇐ left double arrow.</p><p>You can also include arbitrary entity references in the AsciiDoc
+source. Examples:</p><pre class="literallayout">&amp;#x278a; &amp;#182;</pre><p>renders:</p><p>➊ ¶</p><p>To render a replacement literally escape it with a leading back-slash.</p><p>The <a class="link" href="ch26.html" title="Chapter 26. Configuration Files">Configuration Files</a> section explains how to configure your
+own replacements.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_special_words"></a>10.8. Special Words</h2></div></div></div><p>Words defined in <code class="literal">[specialwords]</code> configuration file sections are
+automatically marked up without having to be explicitly notated.</p><p>The <a class="link" href="ch26.html" title="Chapter 26. Configuration Files">Configuration Files</a> section explains how to add and replace
+special words.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch09.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch11.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch11.html b/chunked/ch11.html
new file mode 100644
index 0000000..f6a8d78
--- /dev/null
+++ b/chunked/ch11.html
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 11. Titles</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch10.html" title="Chapter 10. Text Formatting" /><link rel="next" href="ch12.html" title="Chapter 12. Block Titles" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch10.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch12.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="X17"></a>Chapter 11. Titles</h1></div></div></div><p>Document and section titles can be in either of two formats:</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_two_line_titles"></a>11.1. Two line titles</h2></div></div></div><p>A two line title consists of a title line, starting hard against the
+left margin, and an underline. Section underlines consist a repeated
+character pairs spanning the width of the preceding title (give or
+take up to two characters):</p><p>The default title underlines for each of the document levels are:</p><pre class="literallayout">Level 0 (top level): ======================
+Level 1: ----------------------
+Level 2: ~~~~~~~~~~~~~~~~~~~~~~
+Level 3: ^^^^^^^^^^^^^^^^^^^^^^
+Level 4 (bottom level): ++++++++++++++++++++++</pre><p>Examples:</p><pre class="literallayout">Level One Section Title
+-----------------------</pre><pre class="literallayout">Level 2 Subsection Title
+~~~~~~~~~~~~~~~~~~~~~~~~</pre></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X46"></a>11.2. One line titles</h2></div></div></div><p>One line titles consist of a single line delimited on either side by
+one or more equals characters (the number of equals characters
+corresponds to the section level minus one). Here are some examples:</p><pre class="literallayout">= Document Title (level 0) =
+== Section title (level 1) ==
+=== Section title (level 2) ===
+==== Section title (level 3) ====
+===== Section title (level 4) =====</pre><div class="note" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/icons/note.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+One or more spaces must fall between the title and the delimiters.
+</li><li class="listitem">
+The trailing title delimiter is optional.
+</li><li class="listitem">
+The one-line title syntax can be changed by editing the
+ configuration file <code class="literal">[titles]</code> section <code class="literal">sect0</code>…<code class="literal">sect4</code> entries.
+</li></ul></div></td></tr></table></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_floating_titles"></a>11.3. Floating titles</h2></div></div></div><p>Setting the title’s first positional attribute or <span class="emphasis"><em>style</em></span> attribute to
+<span class="emphasis"><em>float</em></span> generates a free-floating title. A free-floating title is
+rendered just like a normal section title but is not formally
+associated with a text body and is not part of the regular section
+hierarchy so the normal ordering rules do not apply. Floating titles
+can also be used in contexts where section titles are illegal: for
+example sidebar and admonition blocks. Example:</p><pre class="literallayout">[float]
+The second day
+~~~~~~~~~~~~~~</pre><p>Floating titles do not appear in a document’s table of contents.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch10.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch12.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch12.html b/chunked/ch12.html
new file mode 100644
index 0000000..eb7778c
--- /dev/null
+++ b/chunked/ch12.html
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 12. Block Titles</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch11.html" title="Chapter 11. Titles" /><link rel="next" href="ch13.html" title="Chapter 13. BlockId Element" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch11.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch13.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="X42"></a>Chapter 12. Block Titles</h1></div></div></div><p>A <span class="emphasis"><em>BlockTitle</em></span> element is a single line beginning with a period
+followed by the title text. A BlockTitle is applied to the immediately
+following Paragraph, DelimitedBlock, List, Table or BlockMacro. For
+example:</p><pre class="literallayout">.Notes
+- Note 1.
+- Note 2.</pre><p>is rendered as:</p><div class="itemizedlist"><p class="title"><strong>Notes</strong></p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Note 1.
+</li><li class="listitem">
+Note 2.
+</li></ul></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch11.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch13.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch13.html b/chunked/ch13.html
new file mode 100644
index 0000000..7b7cea4
--- /dev/null
+++ b/chunked/ch13.html
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 13. BlockId Element</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch12.html" title="Chapter 12. Block Titles" /><link rel="next" href="ch14.html" title="Chapter 14. AttributeList Element" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch12.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch14.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="X41"></a>Chapter 13. BlockId Element</h1></div></div></div><p>A <span class="emphasis"><em>BlockId</em></span> is a single line block element containing a unique
+identifier enclosed in double square brackets. It is used to assign an
+identifier to the ensuing block element. For example:</p><pre class="literallayout">[[chapter-titles]]
+Chapter titles can be ...</pre><p>The preceding example identifies the ensuing paragraph so it can be
+referenced from other locations, for example with
+<code class="literal">&lt;&lt;chapter-titles,chapter titles&gt;&gt;</code>.</p><p><span class="emphasis"><em>BlockId</em></span> elements can be applied to Title, Paragraph, List,
+DelimitedBlock, Table and BlockMacro elements. The BlockId element
+sets the <code class="literal">{id}</code> attribute for substitution in the subsequent block’s
+markup template. If a second positional argument is supplied it sets
+the <code class="literal">{reftext}</code> attribute which is used to set the DocBook <code class="literal">xreflabel</code>
+attribute.</p><p>The <span class="emphasis"><em>BlockId</em></span> element has the same syntax and serves the same function
+to the <a class="link" href="ch21.html#X30" title="anchor">anchor inline macro</a>.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch12.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch14.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch14.html b/chunked/ch14.html
new file mode 100644
index 0000000..74ba9a7
--- /dev/null
+++ b/chunked/ch14.html
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 14. AttributeList Element</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch13.html" title="Chapter 13. BlockId Element" /><link rel="next" href="ch15.html" title="Chapter 15. Paragraphs" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch13.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch15.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="X79"></a>Chapter 14. AttributeList Element</h1></div></div></div><p>An <span class="emphasis"><em>AttributeList</em></span> block element is an <a class="link" href="ch29.html" title="Chapter 29. Attribute Lists">attribute list</a> on a
+line by itself:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+<span class="emphasis"><em>AttributeList</em></span> attributes are only applied to the immediately
+ following block element — the attributes are made available to the
+ block’s markup template.
+</li><li class="listitem">
+Multiple contiguous <span class="emphasis"><em>AttributeList</em></span> elements are additively combined
+ in the order they appear.
+</li><li class="listitem">
+The first positional attribute in the list is often used to specify
+ the ensuing element’s <a class="link" href="ch32.html#X23" title="32.1. Styles">style</a>.
+</li></ul></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_attribute_value_substitution"></a>14.1. Attribute value substitution</h2></div></div></div><p>By default, only substitutions that take place inside attribute list
+values are attribute references, this is because not all attributes
+are destined to be marked up and rendered as text (for example the
+table <span class="emphasis"><em>cols</em></span> attribute). To perform normal inline text substitutions
+(special characters, quotes, macros, replacements) on an attribute
+value you need to enclose it in single quotes. In the following quote
+block the second attribute value in the AttributeList is quoted to
+ensure the <span class="emphasis"><em>http</em></span> macro is expanded to a hyperlink.</p><pre class="screen">[quote,'http://en.wikipedia.org/wiki/Samuel_Johnson[Samuel Johnson]']
+_____________________________________________________________________
+Sir, a woman's preaching is like a dog's walking on his hind legs. It
+is not done well; but you are surprised to find it done at all.
+_____________________________________________________________________</pre></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_common_attributes"></a>14.2. Common attributes</h2></div></div></div><p>Most block elements support the following attributes:</p><div class="informaltable"><table class="informaltable" cellpadding="4px" style="border-collapse: collapse;border-top: 3px solid #527bbd; border-bottom: 3px solid #527bbd; "><colgroup><col class="col_1" /><col class="col_2" /><col class="col_3" /></colgroup><thead><tr><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top">Name </th><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top">Backends </th><th style="border-bottom: 1px solid #527bbd; " align="left" valign="top">Description</th></tr></thead><tbody><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>id</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>html4, html5, xhtml11, docbook</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Unique identifier typically serve as link targets.
+Can also be set by the <span class="emphasis"><em>BlockId</em></span> element.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>role</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>html4, html5, xhtml11, docbook</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Role contains a string used to classify or subclassify an element and
+can be applied to AsciiDoc block elements. The AsciiDoc <span class="emphasis"><em>role</em></span>
+attribute is translated to the <span class="emphasis"><em>role</em></span> attribute in DocBook outputs and
+is included in the <span class="emphasis"><em>class</em></span> attribute in HTML outputs, in this respect
+it behaves like the <a class="link" href="ch10.html#X96" title="10.1.1. Quoted text attributes">quoted text role attribute</a>.</p>
+<p>DocBook XSL Stylesheets translate DocBook <span class="emphasis"><em>role</em></span> attributes to HTML
+<span class="emphasis"><em>class</em></span> attributes; CSS can then be used
+<a class="ulink" href="http://www.sagehill.net/docbookxsl/UsingCSS.html" target="_top">to style the
+generated HTML</a>.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>reftext</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>docbook</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>reftext</em></span> is used to set the DocBook <span class="emphasis"><em>xreflabel</em></span> attribute.
+The <span class="emphasis"><em>reftext</em></span> attribute can an also be set by the <span class="emphasis"><em>BlockId</em></span> element.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>floatstyle</em></span></p></td><td style="border-right: 1px solid #527bbd; " align="left" valign="top"><p>docbook</p></td><td style="" align="left" valign="top"><p><span class="emphasis"><em>floatstyle</em></span> is used to specify the floatstyle attribute for the
+titled table, example, image and equation blocks. This is useful when
+used in conjuction with the dblatex toolchain. A typical example
+would be to specify the value as <span class="emphasis"><em>floatstyle="[htbp]"</em></span>.</p></td></tr></tbody></table></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch13.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch15.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch15.html b/chunked/ch15.html
new file mode 100644
index 0000000..237ffe3
--- /dev/null
+++ b/chunked/ch15.html
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 15. Paragraphs</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch14.html" title="Chapter 14. AttributeList Element" /><link rel="next" href="ch16.html" title="Chapter 16. Delimited Blocks" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch14.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch16.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="_paragraphs"></a>Chapter 15. Paragraphs</h1></div></div></div><p>Paragraphs are blocks of text terminated by a blank line, the end of
+file, or the start of a delimited block or a list. There are three
+paragraph syntaxes: normal, indented (literal) and admonition which
+are rendered, by default, with the corresponding paragraph style.</p><p>Each syntax has a default style, but you can explicitly apply any
+paragraph style to any paragraph syntax. You can also apply
+<a class="link" href="ch16.html" title="Chapter 16. Delimited Blocks">delimited block</a> styles to single paragraphs.</p><p>The built-in paragraph styles are: <span class="emphasis"><em>normal</em></span>, <span class="emphasis"><em>literal</em></span>, <span class="emphasis"><em>verse</em></span>,
+<span class="emphasis"><em>quote</em></span>, <span class="emphasis"><em>listing</em></span>, <span class="emphasis"><em>TIP</em></span>, <span class="emphasis"><em>NOTE</em></span>, <span class="emphasis"><em>IMPORTANT</em></span>, <span class="emphasis"><em>WARNING</em></span>, <span class="emphasis"><em>CAUTION</em></span>,
+<span class="emphasis"><em>abstract</em></span>, <span class="emphasis"><em>partintro</em></span>, <span class="emphasis"><em>comment</em></span>, <span class="emphasis"><em>example</em></span>, <span class="emphasis"><em>sidebar</em></span>, <span class="emphasis"><em>source</em></span>,
+<span class="emphasis"><em>music</em></span>, <span class="emphasis"><em>latex</em></span>, <span class="emphasis"><em>graphviz</em></span>.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_normal_paragraph_syntax"></a>15.1. normal paragraph syntax</h2></div></div></div><p>Normal paragraph syntax consists of one or more non-blank lines of
+text. The first line must start hard against the left margin (no
+intervening white space). The default processing expectation is that
+of a normal paragraph of text.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X85"></a>15.2. literal paragraph syntax</h2></div></div></div><p>Literal paragraphs are rendered verbatim in a monospaced font without
+any distinguishing background or border. By default there is no text
+formatting or substitutions within Literal paragraphs apart from
+Special Characters and Callouts.</p><p>The <span class="emphasis"><em>literal</em></span> style is applied implicitly to indented paragraphs i.e.
+where the first line of the paragraph is indented by one or more space
+or tab characters. For example:</p><pre class="screen"> Consul *necessitatibus* per id,
+ consetetur, eu pro everti postulant
+ homero verear ea mea, qui.</pre><p>Renders:</p><pre class="literallayout">Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</pre><div class="note" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/icons/note.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>Because <a class="link" href="ch17.html" title="Chapter 17. Lists">lists</a> can be indented it’s possible for your
+indented paragraph to be misinterpreted as a list — in situations
+like this apply the <span class="emphasis"><em>literal</em></span> style to a normal paragraph.</p></td></tr></table></div><p>Instead of using a paragraph indent you could apply the <span class="emphasis"><em>literal</em></span>
+style explicitly, for example:</p><pre class="screen">[literal]
+Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</pre><p>Renders:</p><pre class="literallayout">Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</pre></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X94"></a>15.3. quote and verse paragraph styles</h2></div></div></div><p>The optional <span class="emphasis"><em>attribution</em></span> and <span class="emphasis"><em>citetitle</em></span> attributes (positional
+attributes 2 and 3) specify the author and source respectively.</p><p>The <span class="emphasis"><em>verse</em></span> style retains the line breaks, for example:</p><pre class="screen">[verse, William Blake, from Auguries of Innocence]
+To see a world in a grain of sand,
+And a heaven in a wild flower,
+Hold infinity in the palm of your hand,
+And eternity in an hour.</pre><p>Which is rendered as:</p><div class="blockquote"><table border="0" class="blockquote" style="width: 100%; cellspacing: 0; cellpadding: 0;" summary="Block quote"><tr><td width="10%" valign="top"> </td><td width="80%" valign="top"><div class="literallayout"><p>To see a world in a grain of sand,<br />
+And a heaven in a wild flower,<br />
+Hold infinity in the palm of your hand,<br />
+And eternity in an hour.</p></div></td><td width="10%" valign="top"> </td></tr><tr><td width="10%" valign="top"> </td><td colspan="2" align="right" valign="top">--<span class="attribution">
+William Blake
+<em class="citetitle">from Auguries of Innocence</em>
+</span></td></tr></table></div><p>The <span class="emphasis"><em>quote</em></span> style flows the text at left and right margins, for
+example:</p><pre class="screen">[quote, Bertrand Russell, The World of Mathematics (1956)]
+A good notation has subtlety and suggestiveness which at times makes
+it almost seem like a live teacher.</pre><p>Which is rendered as:</p><div class="blockquote"><table border="0" class="blockquote" style="width: 100%; cellspacing: 0; cellpadding: 0;" summary="Block quote"><tr><td width="10%" valign="top"> </td><td width="80%" valign="top"><p>A good notation has subtlety and suggestiveness which at times makes
+it almost seem like a live teacher.</p></td><td width="10%" valign="top"> </td></tr><tr><td width="10%" valign="top"> </td><td colspan="2" align="right" valign="top">--<span class="attribution">
+Bertrand Russell
+<em class="citetitle">The World of Mathematics (1956)</em>
+</span></td></tr></table></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X28"></a>15.4. Admonition Paragraphs</h2></div></div></div><p><span class="emphasis"><em>TIP</em></span>, <span class="emphasis"><em>NOTE</em></span>, <span class="emphasis"><em>IMPORTANT</em></span>, <span class="emphasis"><em>WARNING</em></span> and <span class="emphasis"><em>CAUTION</em></span> admonishment
+paragraph styles are generated by placing <code class="literal">NOTE:</code>, <code class="literal">TIP:</code>,
+<code class="literal">IMPORTANT:</code>, <code class="literal">WARNING:</code> or <code class="literal">CAUTION:</code> as the first word of the
+paragraph. For example:</p><pre class="literallayout">NOTE: This is an example note.</pre><p>Alternatively, you can specify the paragraph admonition style
+explicitly using an <a class="link" href="ch14.html" title="Chapter 14. AttributeList Element">AttributeList element</a>. For example:</p><pre class="literallayout">[NOTE]
+This is an example note.</pre><p>Renders:</p><div class="note" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/icons/note.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>This is an example note.</p></td></tr></table></div><div class="tip" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="images/icons/tip.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>If your admonition requires more than a single paragraph use an
+<a class="link" href="ch16.html#X22" title="16.9. Admonition Blocks">admonition block</a> instead.</p></td></tr></table></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="X47"></a>15.4.1. Admonition Icons and Captions</h3></div></div></div><div class="note" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/icons/note.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>Admonition customization with <code class="literal">icons</code>, <code class="literal">iconsdir</code>, <code class="literal">icon</code> and
+<code class="literal">caption</code> attributes does not apply when generating DocBook output. If
+you are going the DocBook route then the <a class="link" href="ch05.html#X43" title="5.2. a2x Toolchain Wrapper">a2x(1)</a> <code class="literal">--no-icons</code>
+and <code class="literal">--icons-dir</code> options can be used to set the appropriate XSL
+Stylesheets parameters.</p></td></tr></table></div><p>By default the asciidoc(1) HTML backends generate text captions
+instead of admonition icon image links. To generate links to icon
+images define the <a class="link" href="aph.html#X45"><code class="literal">icons</code></a> attribute, for example using the <code class="literal">-a
+icons</code> command-line option.</p><p>The <a class="link" href="aph.html#X44"><code class="literal">iconsdir</code></a> attribute sets the location of linked icon
+images.</p><p>You can override the default icon image using the <code class="literal">icon</code> attribute to
+specify the path of the linked image. For example:</p><pre class="literallayout">[icon="./images/icons/wink.png"]
+NOTE: What lovely war.</pre><p>Use the <code class="literal">caption</code> attribute to customize the admonition captions (not
+applicable to <code class="literal">docbook</code> backend). The following example suppresses the
+icon image and customizes the caption of a <span class="emphasis"><em>NOTE</em></span> admonition
+(undefining the <code class="literal">icons</code> attribute with <code class="literal">icons=None</code> is only necessary
+if <a class="link" href="aph.html#X45">admonition icons</a> have been enabled):</p><pre class="literallayout">[icons=None, caption="My Special Note"]
+NOTE: This is my special note.</pre><p>This subsection also applies to <a class="link" href="ch16.html#X22" title="16.9. Admonition Blocks">Admonition Blocks</a>.</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch14.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch16.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch16.html b/chunked/ch16.html
new file mode 100644
index 0000000..7c1aea0
--- /dev/null
+++ b/chunked/ch16.html
@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 16. Delimited Blocks</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch15.html" title="Chapter 15. Paragraphs" /><link rel="next" href="ch17.html" title="Chapter 17. Lists" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch15.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch17.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="X104"></a>Chapter 16. Delimited Blocks</h1></div></div></div><p>Delimited blocks are blocks of text enveloped by leading and trailing
+delimiter lines (normally a series of four or more repeated
+characters). The behavior of Delimited Blocks is specified by entries
+in configuration file <code class="literal">[blockdef-*]</code> sections.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_predefined_delimited_blocks"></a>16.1. Predefined Delimited Blocks</h2></div></div></div><p>AsciiDoc ships with a number of predefined DelimitedBlocks (see the
+<code class="literal">asciidoc.conf</code> configuration file in the asciidoc(1) program
+directory):</p><p>Predefined delimited block underlines:</p><pre class="literallayout">CommentBlock: //////////////////////////
+PassthroughBlock: ++++++++++++++++++++++++++
+ListingBlock: --------------------------
+LiteralBlock: ..........................
+SidebarBlock: **************************
+QuoteBlock: __________________________
+ExampleBlock: ==========================
+OpenBlock: --</pre><div class="table"><a id="idm1337"></a><p class="title"><strong>Table 16.1. Default DelimitedBlock substitutions</strong></p><div class="table-contents"><table class="table" summary="Default DelimitedBlock substitutions" cellpadding="4px" style="border-collapse: collapse;border-top: 3px solid #527bbd; border-bottom: 3px solid #527bbd; "><colgroup><col class="col_1" /><col class="col_2" /><col class="col_3" /><col class="col_4" /><col class="col_5" /><col class="col_6" /><col class="col_7" /><col class="col_8" /></colgroup><thead><tr><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"> </th><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top">Attributes </th><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top">Callouts </th><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top">Macros </th><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"> Quotes </th><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top">Replacements</th><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top">Special chars </th><th style="border-bottom: 1px solid #527bbd; " align="center" valign="top">Special words</th></tr></thead><tbody><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>PassthroughBlock</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>No</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>No</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>No</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>No</p></td><td style="border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>No</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>ListingBlock</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>No</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>No</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>No</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>No</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td><td style="border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>No</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>LiteralBlock</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>No</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>No</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>No</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>No</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td><td style="border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>No</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>SidebarBlock</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>No</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td><td style="border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>QuoteBlock</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>No</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td><td style="border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>ExampleBlock</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>No</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td><td style="border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td></tr><tr><td style="border-right: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>OpenBlock</em></span></p></td><td style="border-right: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td><td style="border-right: 1px solid #527bbd; " align="center" valign="top"><p>No</p></td><td style="border-right: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td><td style="border-right: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td><td style="border-right: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td><td style="border-right: 1px solid #527bbd; " align="center" valign="top"><p>Yes</p></td><td style="" align="center" valign="top"><p>Yes</p></td></tr></tbody></table></div></div><br class="table-break" /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_listing_blocks"></a>16.2. Listing Blocks</h2></div></div></div><p><span class="emphasis"><em>ListingBlocks</em></span> are rendered verbatim in a monospaced font, they
+retain line and whitespace formatting and are often distinguished by a
+background or border. There is no text formatting or substitutions
+within Listing blocks apart from Special Characters and Callouts.
+Listing blocks are often used for computer output and file listings.</p><p>Here’s an example:</p><pre class="screen">--------------------------------------
+#include &lt;stdio.h&gt;
+
+int main() {
+ printf("Hello World!\n");
+ exit(0);
+}
+--------------------------------------</pre><p>Which will be rendered like:</p><pre class="screen">#include &lt;stdio.h&gt;
+
+int main() {
+ printf("Hello World!\n");
+ exit(0);
+}</pre><p>By convention <a class="link" href="ch33.html" title="Chapter 33. Filters">filter blocks</a> use the listing block syntax and
+are implemented as distinct listing block styles.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X65"></a>16.3. Literal Blocks</h2></div></div></div><p><span class="emphasis"><em>LiteralBlocks</em></span> are rendered just like <a class="link" href="ch15.html#X85" title="15.2. literal paragraph syntax">literal paragraphs</a>.
+Example:</p><pre class="screen">...................................
+Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.
+...................................</pre><p>Renders:</p><pre class="literallayout">Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</pre><p>If the <span class="emphasis"><em>listing</em></span> style is applied to a LiteralBlock it will be
+rendered as a ListingBlock (this is handy if you have a listing
+containing a ListingBlock).</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_sidebar_blocks"></a>16.4. Sidebar Blocks</h2></div></div></div><p>A sidebar is a short piece of text presented outside the narrative
+flow of the main text. The sidebar is normally presented inside a
+bordered box to set it apart from the main text.</p><p>The sidebar body is treated like a normal section body.</p><p>Here’s an example:</p><pre class="screen">.An Example Sidebar
+************************************************
+Any AsciiDoc SectionBody element (apart from
+SidebarBlocks) can be placed inside a sidebar.
+************************************************</pre><p>Which will be rendered like:</p><div class="sidebar"><div class="titlepage"><div><div><p class="title"><strong>An Example Sidebar</strong></p></div></div></div><p>Any AsciiDoc SectionBody element (apart from
+SidebarBlocks) can be placed inside a sidebar.</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X26"></a>16.5. Comment Blocks</h2></div></div></div><p>The contents of <span class="emphasis"><em>CommentBlocks</em></span> are not processed; they are useful for
+annotations and for excluding new or outdated content that you don’t
+want displayed. CommentBlocks are never written to output files.
+Example:</p><pre class="screen">//////////////////////////////////////////
+CommentBlock contents are not processed by
+asciidoc(1).
+//////////////////////////////////////////</pre><p>See also <a class="link" href="ch21.html#X25" title="21.2.3. Comment Lines">Comment Lines</a>.</p><div class="note" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/icons/note.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>System macros are executed inside comment blocks.</p></td></tr></table></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X76"></a>16.6. Passthrough Blocks</h2></div></div></div><p>By default the block contents is subject only to <span class="emphasis"><em>attributes</em></span> and
+<span class="emphasis"><em>macros</em></span> substitutions (use an explicit <span class="emphasis"><em>subs</em></span> attribute to apply
+different substitutions). PassthroughBlock content will often be
+backend specific. Here’s an example:</p><pre class="screen">[subs="quotes"]
+++++++++++++++++++++++++++++++++++++++
+&lt;table border="1"&gt;&lt;tr&gt;
+ &lt;td&gt;*Cell 1*&lt;/td&gt;
+ &lt;td&gt;*Cell 2*&lt;/td&gt;
+&lt;/tr&gt;&lt;/table&gt;
+++++++++++++++++++++++++++++++++++++++</pre><p>The following styles can be applied to passthrough blocks:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+pass
+</span></dt><dd>
+ No substitutions are performed. This is equivalent to <code class="literal">subs="none"</code>.
+</dd><dt><span class="term">
+asciimath, latexmath
+</span></dt><dd>
+ By default no substitutions are performed, the contents are rendered
+ as <a class="link" href="ch25.html" title="Chapter 25. Mathematical Formulas">mathematical formulas</a>.
+</dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_quote_blocks"></a>16.7. Quote Blocks</h2></div></div></div><p><span class="emphasis"><em>QuoteBlocks</em></span> are used for quoted passages of text. There are two
+styles: <span class="emphasis"><em>quote</em></span> and <span class="emphasis"><em>verse</em></span>. The style behavior is identical to
+<a class="link" href="ch15.html#X94" title="15.3. quote and verse paragraph styles">quote and verse paragraphs</a> except that blocks can contain
+multiple paragraphs and, in the case of the <span class="emphasis"><em>quote</em></span> style, other
+section elements. The first positional attribute sets the style, if
+no attributes are specified the <span class="emphasis"><em>quote</em></span> style is used. The optional
+<span class="emphasis"><em>attribution</em></span> and <span class="emphasis"><em>citetitle</em></span> attributes (positional attributes 2 and
+3) specify the quote’s author and source. For example:</p><pre class="screen">[quote, Sir Arthur Conan Doyle, The Adventures of Sherlock Holmes]
+____________________________________________________________________
+As he spoke there was the sharp sound of horses' hoofs and
+grating wheels against the curb, followed by a sharp pull at the
+bell. Holmes whistled.
+
+"A pair, by the sound," said he. "Yes," he continued, glancing
+out of the window. "A nice little brougham and a pair of
+beauties. A hundred and fifty guineas apiece. There's money in
+this case, Watson, if there is nothing else."
+____________________________________________________________________</pre><p>Which is rendered as:</p><div class="blockquote"><table border="0" class="blockquote" style="width: 100%; cellspacing: 0; cellpadding: 0;" summary="Block quote"><tr><td width="10%" valign="top"> </td><td width="80%" valign="top"><p>As he spoke there was the sharp sound of horses' hoofs and
+grating wheels against the curb, followed by a sharp pull at the
+bell. Holmes whistled.</p><p>"A pair, by the sound," said he. "Yes," he continued, glancing
+out of the window. "A nice little brougham and a pair of
+beauties. A hundred and fifty guineas apiece. There’s money in
+this case, Watson, if there is nothing else."</p></td><td width="10%" valign="top"> </td></tr><tr><td width="10%" valign="top"> </td><td colspan="2" align="right" valign="top">--<span class="attribution">
+Sir Arthur Conan Doyle
+<em class="citetitle">The Adventures of Sherlock Holmes</em>
+</span></td></tr></table></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X48"></a>16.8. Example Blocks</h2></div></div></div><p><span class="emphasis"><em>ExampleBlocks</em></span> encapsulate the DocBook Example element and are used
+for, well, examples. Example blocks can be titled by preceding them
+with a <span class="emphasis"><em>BlockTitle</em></span>. DocBook toolchains will normally automatically
+number examples and generate a <span class="emphasis"><em>List of Examples</em></span> backmatter section.</p><p>Example blocks are delimited by lines of equals characters and can
+contain any block elements apart from Titles, BlockTitles and
+Sidebars) inside an example block. For example:</p><pre class="screen">.An example
+=====================================================================
+Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+adolescens.
+=====================================================================</pre><p>Renders:</p><div class="example"><a id="idm1570"></a><p class="title"><strong>Example 16.1. An example</strong></p><div class="example-contents"><p>Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+adolescens.</p></div></div><br class="example-break" /><p>A title prefix that can be inserted with the <code class="literal">caption</code> attribute
+(HTML backends). For example:</p><pre class="screen">[caption="Example 1: "]
+.An example with a custom caption
+=====================================================================
+Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+adolescens.
+=====================================================================</pre></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X22"></a>16.9. Admonition Blocks</h2></div></div></div><p>The <span class="emphasis"><em>ExampleBlock</em></span> definition includes a set of admonition
+<a class="link" href="ch32.html#X23" title="32.1. Styles">styles</a> (<span class="emphasis"><em>NOTE</em></span>, <span class="emphasis"><em>TIP</em></span>, <span class="emphasis"><em>IMPORTANT</em></span>, <span class="emphasis"><em>WARNING</em></span>, <span class="emphasis"><em>CAUTION</em></span>) for
+generating admonition blocks (admonitions containing more than a
+<a class="link" href="ch15.html#X28" title="15.4. Admonition Paragraphs">single paragraph</a>). Just precede the <span class="emphasis"><em>ExampleBlock</em></span> with an
+attribute list specifying the admonition style name. For example:</p><pre class="screen">[NOTE]
+.A NOTE admonition block
+=====================================================================
+Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+adolescens.
+
+. Fusce euismod commodo velit.
+. Vivamus fringilla mi eu lacus.
+ .. Fusce euismod commodo velit.
+ .. Vivamus fringilla mi eu lacus.
+. Donec eget arcu bibendum
+ nunc consequat lobortis.
+=====================================================================</pre><p>Renders:</p><div class="note" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Note: A NOTE admonition block"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/icons/note.png" /></td><th align="left">A NOTE admonition block</th></tr><tr><td align="left" valign="top"><p>Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+adolescens.</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
+Fusce euismod commodo velit.
+</li><li class="listitem"><p class="simpara">
+Vivamus fringilla mi eu lacus.
+</p><div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem">
+Fusce euismod commodo velit.
+</li><li class="listitem">
+Vivamus fringilla mi eu lacus.
+</li></ol></div></li><li class="listitem">
+Donec eget arcu bibendum
+ nunc consequat lobortis.
+</li></ol></div></td></tr></table></div><p>See also <a class="link" href="ch15.html#X47" title="15.4.1. Admonition Icons and Captions">Admonition Icons and Captions</a>.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X29"></a>16.10. Open Blocks</h2></div></div></div><p>Open blocks are special:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+The open block delimiter is line containing two hyphen characters
+ (instead of four or more repeated characters).
+</li><li class="listitem">
+They can be used to group block elements for <a class="link" href="ch17.html#X15" title="17.7. List Item Continuation">List item continuation</a>.
+</li><li class="listitem"><p class="simpara">
+Open blocks can be styled to behave like any other type of delimited
+ block. The following built-in styles can be applied to open
+ blocks: <span class="emphasis"><em>literal</em></span>, <span class="emphasis"><em>verse</em></span>, <span class="emphasis"><em>quote</em></span>, <span class="emphasis"><em>listing</em></span>, <span class="emphasis"><em>TIP</em></span>, <span class="emphasis"><em>NOTE</em></span>,
+ <span class="emphasis"><em>IMPORTANT</em></span>, <span class="emphasis"><em>WARNING</em></span>, <span class="emphasis"><em>CAUTION</em></span>, <span class="emphasis"><em>abstract</em></span>, <span class="emphasis"><em>partintro</em></span>,
+ <span class="emphasis"><em>comment</em></span>, <span class="emphasis"><em>example</em></span>, <span class="emphasis"><em>sidebar</em></span>, <span class="emphasis"><em>source</em></span>, <span class="emphasis"><em>music</em></span>, <span class="emphasis"><em>latex</em></span>,
+ <span class="emphasis"><em>graphviz</em></span>. For example, the following open block and listing block
+ are functionally identical:
+</p><pre class="literallayout">[listing]
+--
+Lorum ipsum ...
+--</pre><pre class="literallayout">---------------
+Lorum ipsum ...
+---------------</pre></li><li class="listitem">
+An unstyled open block groups section elements but otherwise does
+ nothing.
+</li></ul></div><p>Open blocks are used to generate document abstracts and book part
+introductions:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p class="simpara">
+Apply the <span class="emphasis"><em>abstract</em></span> style to generate an abstract, for example:
+</p><pre class="literallayout">[abstract]
+--
+In this paper we will ...
+--</pre><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p class="simpara">
+Apply the <span class="emphasis"><em>partintro</em></span> style to generate a book part introduction for
+ a multi-part book, for example:
+</p><pre class="literallayout">[partintro]
+.Optional part introduction title
+--
+Optional part introduction goes here.
+--</pre></li></ol></div></li></ul></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch15.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch17.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch17.html b/chunked/ch17.html
new file mode 100644
index 0000000..effaf34
--- /dev/null
+++ b/chunked/ch17.html
@@ -0,0 +1,325 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 17. Lists</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch16.html" title="Chapter 16. Delimited Blocks" /><link rel="next" href="ch18.html" title="Chapter 18. Footnotes" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch16.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch18.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="X64"></a>Chapter 17. Lists</h1></div></div></div><div class="itemizedlist"><p class="title"><strong>List types</strong></p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Bulleted lists. Also known as itemized or unordered lists.
+</li><li class="listitem">
+Numbered lists. Also called ordered lists.
+</li><li class="listitem">
+Labeled lists. Sometimes called variable or definition lists.
+</li><li class="listitem">
+Callout lists (a list of callout annotations).
+</li></ul></div><div class="itemizedlist"><p class="title"><strong>List behavior</strong></p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+List item indentation is optional and does not determine nesting,
+ indentation does however make the source more readable.
+</li><li class="listitem">
+Another list or a literal paragraph immediately following a list
+ item will be implicitly included in the list item; use <a class="link" href="ch17.html#X15" title="17.7. List Item Continuation">list item continuation</a> to explicitly append other block elements to a
+ list item.
+</li><li class="listitem">
+A comment block or a comment line block macro element will terminate
+ a list — use inline comment lines to put comments inside lists.
+</li><li class="listitem">
+The <code class="literal">listindex</code> <a class="link" href="ch31.html" title="Chapter 31. Intrinsic Attributes">intrinsic attribute</a> is the current list item
+ index (1..). If this attribute is used outside a list then it’s value
+ is the number of items in the most recently closed list. Useful for
+ displaying the number of items in a list.
+</li></ul></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_bulleted_lists"></a>17.1. Bulleted Lists</h2></div></div></div><p>Bulleted list items start with a single dash or one to five asterisks
+followed by some white space then some text. Bulleted list syntaxes
+are:</p><pre class="literallayout">- List item.
+* List item.
+** List item.
+*** List item.
+**** List item.
+***** List item.</pre></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_numbered_lists"></a>17.2. Numbered Lists</h2></div></div></div><p>List item numbers are explicit or implicit.</p><p><strong>Explicit numbering. </strong>List items begin with a number followed by some white space then the
+item text. The numbers can be decimal (arabic), roman (upper or lower
+case) or alpha (upper or lower case). Decimal and alpha numbers are
+terminated with a period, roman numbers are terminated with a closing
+parenthesis. The different terminators are necessary to ensure <span class="emphasis"><em>i</em></span>,
+<span class="emphasis"><em>v</em></span> and <span class="emphasis"><em>x</em></span> roman numbers are are distinguishable from <span class="emphasis"><em>x</em></span>, <span class="emphasis"><em>v</em></span> and
+<span class="emphasis"><em>x</em></span> alpha numbers. Examples:</p><pre class="literallayout">1. Arabic (decimal) numbered list item.
+a. Lower case alpha (letter) numbered list item.
+F. Upper case alpha (letter) numbered list item.
+iii) Lower case roman numbered list item.
+IX) Upper case roman numbered list item.</pre><p><strong>Implicit numbering. </strong>List items begin one to five period characters, followed by some white
+space then the item text. Examples:</p><pre class="literallayout">. Arabic (decimal) numbered list item.
+.. Lower case alpha (letter) numbered list item.
+... Lower case roman numbered list item.
+.... Upper case alpha (letter) numbered list item.
+..... Upper case roman numbered list item.</pre><p>You can use the <span class="emphasis"><em>style</em></span> attribute (also the first positional
+attribute) to specify an alternative numbering style. The numbered
+list style can be one of the following values: <span class="emphasis"><em>arabic</em></span>, <span class="emphasis"><em>loweralpha</em></span>,
+<span class="emphasis"><em>upperalpha</em></span>, <span class="emphasis"><em>lowerroman</em></span>, <span class="emphasis"><em>upperroman</em></span>.</p><p>Here are some examples of bulleted and numbered lists:</p><pre class="screen">- Praesent eget purus quis magna eleifend eleifend.
+ 1. Fusce euismod commodo velit.
+ a. Fusce euismod commodo velit.
+ b. Vivamus fringilla mi eu lacus.
+ c. Donec eget arcu bibendum nunc consequat lobortis.
+ 2. Vivamus fringilla mi eu lacus.
+ i) Fusce euismod commodo velit.
+ ii) Vivamus fringilla mi eu lacus.
+ 3. Donec eget arcu bibendum nunc consequat lobortis.
+ 4. Nam fermentum mattis ante.
+- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
+ * Fusce euismod commodo velit.
+ ** Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+ adolescens. Sit munere ponderum dignissim et. Minim luptatum et
+ vel.
+ ** Vivamus fringilla mi eu lacus.
+ * Donec eget arcu bibendum nunc consequat lobortis.
+- Nulla porttitor vulputate libero.
+ . Fusce euismod commodo velit.
+ . Vivamus fringilla mi eu lacus.
+[upperroman]
+ .. Fusce euismod commodo velit.
+ .. Vivamus fringilla mi eu lacus.
+ . Donec eget arcu bibendum nunc consequat lobortis.</pre><p>Which render as:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p class="simpara">
+Praesent eget purus quis magna eleifend eleifend.
+</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p class="simpara">
+Fusce euismod commodo velit.
+</p><div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem">
+Fusce euismod commodo velit.
+</li><li class="listitem">
+Vivamus fringilla mi eu lacus.
+</li><li class="listitem">
+Donec eget arcu bibendum nunc consequat lobortis.
+</li></ol></div></li><li class="listitem"><p class="simpara">
+Vivamus fringilla mi eu lacus.
+</p><div class="orderedlist"><ol class="orderedlist" type="i"><li class="listitem">
+Fusce euismod commodo velit.
+</li><li class="listitem">
+Vivamus fringilla mi eu lacus.
+</li></ol></div></li><li class="listitem">
+Donec eget arcu bibendum nunc consequat lobortis.
+</li><li class="listitem">
+Nam fermentum mattis ante.
+</li></ol></div></li><li class="listitem"><p class="simpara">
+Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p class="simpara">
+Fusce euismod commodo velit.
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: square; "><li class="listitem">
+Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+ adolescens. Sit munere ponderum dignissim et. Minim luptatum et
+ vel.
+</li><li class="listitem">
+Vivamus fringilla mi eu lacus.
+</li></ul></div></li><li class="listitem">
+Donec eget arcu bibendum nunc consequat lobortis.
+</li></ul></div></li><li class="listitem"><p class="simpara">
+Nulla porttitor vulputate libero.
+</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
+Fusce euismod commodo velit.
+</li><li class="listitem"><p class="simpara">
+Vivamus fringilla mi eu lacus.
+</p><div class="orderedlist"><ol class="orderedlist" type="I"><li class="listitem">
+Fusce euismod commodo velit.
+</li><li class="listitem">
+Vivamus fringilla mi eu lacus.
+</li></ol></div></li><li class="listitem">
+Donec eget arcu bibendum nunc consequat lobortis.
+</li></ol></div></li></ul></div><p>A predefined <span class="emphasis"><em>compact</em></span> option is available to bulleted and numbered
+lists — this translates to the DocBook <span class="emphasis"><em>spacing="compact"</em></span> lists
+attribute which may or may not be processed by the DocBook toolchain.
+Example:</p><pre class="literallayout">[options="compact"]
+- Compact list item.
+- Another compact list item.</pre><div class="tip" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="images/icons/tip.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>To apply the <span class="emphasis"><em>compact</em></span> option globally define a document-wide
+<span class="emphasis"><em>compact-option</em></span> attribute, e.g. using the <code class="literal">-a compact-option</code>
+command-line option.</p></td></tr></table></div><p>You can set the list start number using the <span class="emphasis"><em>start</em></span> attribute (works
+for HTML outputs and DocBook outputs processed by DocBook XSL
+Stylesheets). Example:</p><pre class="literallayout">[start=7]
+. List item 7.
+. List item 8.</pre></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_labeled_lists"></a>17.3. Labeled Lists</h2></div></div></div><p>Labeled list items consist of one or more text labels followed by the
+text of the list item.</p><p>An item label begins a line with an alphanumeric character hard
+against the left margin and ends with two, three or four colons or two
+semi-colons. A list item can have multiple labels, one per line.</p><p>The list item text consists of one or more lines of text starting
+after the last label (either on the same line or a new line) and can
+be followed by nested List or ListParagraph elements. Item text can be
+optionally indented.</p><p>Here are some examples:</p><pre class="screen">In::
+Lorem::
+ Fusce euismod commodo velit.
+
+ Fusce euismod commodo velit.
+
+Ipsum:: Vivamus fringilla mi eu lacus.
+ * Vivamus fringilla mi eu lacus.
+ * Donec eget arcu bibendum nunc consequat lobortis.
+Dolor::
+ Donec eget arcu bibendum nunc consequat lobortis.
+ Suspendisse;;
+ A massa id sem aliquam auctor.
+ Morbi;;
+ Pretium nulla vel lorem.
+ In;;
+ Dictum mauris in urna.
+ Vivamus::: Fringilla mi eu lacus.
+ Donec::: Eget arcu bibendum nunc consequat lobortis.</pre><p>Which render as:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+In
+, </span><span class="term">
+Lorem
+</span></dt><dd><p class="simpara">
+ Fusce euismod commodo velit.
+</p><pre class="literallayout">Fusce euismod commodo velit.</pre></dd><dt><span class="term">
+Ipsum
+</span></dt><dd><p class="simpara">
+Vivamus fringilla mi eu lacus.
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Vivamus fringilla mi eu lacus.
+</li><li class="listitem">
+Donec eget arcu bibendum nunc consequat lobortis.
+</li></ul></div></dd><dt><span class="term">
+Dolor
+</span></dt><dd><p class="simpara">
+ Donec eget arcu bibendum nunc consequat lobortis.
+</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+Suspendisse
+</span></dt><dd>
+ A massa id sem aliquam auctor.
+</dd><dt><span class="term">
+Morbi
+</span></dt><dd>
+ Pretium nulla vel lorem.
+</dd><dt><span class="term">
+In
+</span></dt><dd><p class="simpara">
+ Dictum mauris in urna.
+</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+Vivamus
+</span></dt><dd>
+Fringilla mi eu lacus.
+</dd><dt><span class="term">
+Donec
+</span></dt><dd>
+Eget arcu bibendum nunc consequat lobortis.
+</dd></dl></div></dd></dl></div></dd></dl></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_horizontal_labeled_list_style"></a>17.3.1. Horizontal labeled list style</h3></div></div></div><p>The <span class="emphasis"><em>horizontal</em></span> labeled list style (also the first positional
+attribute) places the list text side-by-side with the label instead of
+under the label. Here is an example:</p><pre class="screen">[horizontal]
+*Lorem*:: Fusce euismod commodo velit. Qui in magna commodo, est
+labitur dolorum an. Est ne magna primis adolescens.
+
+ Fusce euismod commodo velit.
+
+*Ipsum*:: Vivamus fringilla mi eu lacus.
+- Vivamus fringilla mi eu lacus.
+- Donec eget arcu bibendum nunc consequat lobortis.
+
+*Dolor*::
+ - Vivamus fringilla mi eu lacus.
+ - Donec eget arcu bibendum nunc consequat lobortis.</pre><p>Which render as:</p><div class="horizontal"><table class="horizontal" cellpadding="4px" style="border: none;"><colgroup><col /><col /></colgroup><tbody valign="top"><tr><td style="" valign="top">
+<p>
+<span class="strong"><strong>Lorem</strong></span>
+</p>
+</td><td style="" valign="top">
+<p>
+Fusce euismod commodo velit. Qui in magna commodo, est
+labitur dolorum an. Est ne magna primis adolescens.
+</p>
+<pre class="literallayout">Fusce euismod commodo velit.</pre>
+</td></tr><tr><td style="" valign="top">
+<p>
+<span class="strong"><strong>Ipsum</strong></span>
+</p>
+</td><td style="" valign="top">
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Vivamus fringilla mi eu lacus.
+</li><li class="listitem">
+Donec eget arcu bibendum nunc consequat lobortis.
+</li></ul></div>
+</td></tr><tr><td style="" valign="top">
+<p>
+<span class="strong"><strong>Dolor</strong></span>
+</p>
+</td><td style="" valign="top">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Vivamus fringilla mi eu lacus.
+</li><li class="listitem">
+Donec eget arcu bibendum nunc consequat lobortis.
+</li></ul></div>
+</td></tr></tbody></table></div><div class="note" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/icons/note.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Current PDF toolchains do not make a good job of determining
+ the relative column widths for horizontal labeled lists.
+</li><li class="listitem">
+Nested horizontal labeled lists will generate DocBook validation
+ errors because the <span class="emphasis"><em>DocBook XML V4.2</em></span> DTD does not permit nested
+ informal tables (although <a class="link" href="ch05.html#X13">DocBook XSL Stylesheets</a> and
+ <a class="link" href="ch05.html#X31">dblatex</a> process them correctly).
+</li><li class="listitem">
+The label width can be set as a percentage of the total width by
+ setting the <span class="emphasis"><em>width</em></span> attribute e.g. <code class="literal">width="10%"</code>
+</li></ul></div></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_question_and_answer_lists"></a>17.4. Question and Answer Lists</h2></div></div></div><p>AsciiDoc comes pre-configured with a <span class="emphasis"><em>qanda</em></span> style labeled list for generating
+DocBook question and answer (Q&amp;A) lists. Example:</p><pre class="screen">[qanda]
+Question one::
+ Answer one.
+Question two::
+ Answer two.</pre><p>Renders:</p><div class="qandaset"><a id="idm1877"></a><table border="0" style="width: 100%;"><colgroup><col align="left" width="1%" /><col /></colgroup><tbody><tr class="question"><td align="left" valign="top"><a id="idm1878"></a><a id="idm1879"></a><p><strong>17.4.1.</strong></p></td><td align="left" valign="top"><p>
+Question one
+</p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
+ Answer one.
+</p></td></tr><tr class="question"><td align="left" valign="top"><a id="idm1883"></a><a id="idm1884"></a><p><strong>17.4.2.</strong></p></td><td align="left" valign="top"><p>
+Question two
+</p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
+ Answer two.
+</p></td></tr></tbody></table></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_glossary_lists"></a>17.5. Glossary Lists</h2></div></div></div><p>AsciiDoc comes pre-configured with a <span class="emphasis"><em>glossary</em></span> style labeled list for
+generating DocBook glossary lists. Example:</p><pre class="screen">[glossary]
+A glossary term::
+ The corresponding definition.
+A second glossary term::
+ The corresponding definition.</pre><p>For working examples see the <code class="literal">article.txt</code> and <code class="literal">book.txt</code> documents in
+the AsciiDoc <code class="literal">./doc</code> distribution directory.</p><div class="note" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/icons/note.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>To generate valid DocBook output glossary lists must be located
+in a section that uses the <span class="emphasis"><em>glossary</em></span> <a class="link" href="ch08.html#X93" title="8.4.1. Section markup templates">section markup template</a>.</p></td></tr></table></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_bibliography_lists"></a>17.6. Bibliography Lists</h2></div></div></div><p>AsciiDoc comes with a predefined <span class="emphasis"><em>bibliography</em></span> bulleted list style
+generating DocBook bibliography entries. Example:</p><pre class="screen">[bibliography]
+.Optional list title
+- [[[taoup]]] Eric Steven Raymond. 'The Art of UNIX
+ Programming'. Addison-Wesley. ISBN 0-13-142901-9.
+- [[[walsh-muellner]]] Norman Walsh &amp; Leonard Muellner.
+ 'DocBook - The Definitive Guide'. O'Reilly &amp; Associates. 1999.
+ ISBN 1-56592-580-7.</pre><p>The <code class="literal">[[[&lt;reference&gt;]]]</code> syntax is a bibliography entry anchor, it
+generates an anchor named <code class="literal">&lt;reference&gt;</code> and additionally displays
+<code class="literal">[&lt;reference&gt;]</code> at the anchor position. For example <code class="literal">[[[taoup]]]</code>
+generates an anchor named <code class="literal">taoup</code> that displays <code class="literal">[taoup]</code> at the
+anchor position. Cite the reference from elsewhere your document using
+<code class="literal">&lt;&lt;taoup&gt;&gt;</code>, this displays a hyperlink (<code class="literal">[taoup]</code>) to the
+corresponding bibliography entry anchor.</p><p>For working examples see the <code class="literal">article.txt</code> and <code class="literal">book.txt</code> documents in
+the AsciiDoc <code class="literal">./doc</code> distribution directory.</p><div class="note" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/icons/note.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>To generate valid DocBook output bibliography lists must be
+located in a <a class="link" href="ch08.html#X93" title="8.4.1. Section markup templates">bibliography section</a>.</p></td></tr></table></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X15"></a>17.7. List Item Continuation</h2></div></div></div><p>Another list or a literal paragraph immediately following a list item
+is implicitly appended to the list item; to append other block
+elements to a list item you need to explicitly join them to the list
+item with a <span class="emphasis"><em>list continuation</em></span> (a separator line containing a single
+plus character). Multiple block elements can be appended to a list
+item using list continuations (provided they are legal list item
+children in the backend markup).</p><p>Here are some examples of list item continuations: list item one
+contains multiple continuations; list item two is continued with an
+<a class="link" href="ch16.html#X29" title="16.10. Open Blocks">OpenBlock</a> containing multiple elements:</p><pre class="screen">1. List item one.
++
+List item one continued with a second paragraph followed by an
+Indented block.
++
+.................
+$ ls *.sh
+$ mv *.sh ~/tmp
+.................
++
+List item continued with a third paragraph.
+
+2. List item two continued with an open block.
++
+--
+This paragraph is part of the preceding list item.
+
+a. This list is nested and does not require explicit item continuation.
++
+This paragraph is part of the preceding list item.
+
+b. List item b.
+
+This paragraph belongs to item two of the outer list.
+--</pre><p>Renders:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p class="simpara">
+List item one.
+</p><p class="simpara">List item one continued with a second paragraph followed by an
+Indented block.</p><pre class="literallayout">$ ls *.sh
+$ mv *.sh ~/tmp</pre><p class="simpara">List item continued with a third paragraph.</p></li><li class="listitem"><p class="simpara">
+List item two continued with an open block.
+</p><p class="simpara">This paragraph is part of the preceding list item.</p><div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem"><p class="simpara">
+This list is nested and does not require explicit item continuation.
+</p><p class="simpara">This paragraph is part of the preceding list item.</p></li><li class="listitem">
+List item b.
+</li></ol></div><p class="simpara">This paragraph belongs to item two of the outer list.</p></li></ol></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch16.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch18.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch18.html b/chunked/ch18.html
new file mode 100644
index 0000000..cdab8c4
--- /dev/null
+++ b/chunked/ch18.html
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 18. Footnotes</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch17.html" title="Chapter 17. Lists" /><link rel="next" href="ch19.html" title="Chapter 19. Indexes" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch17.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch19.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="X92"></a>Chapter 18. Footnotes</h1></div></div></div><p>The shipped AsciiDoc configuration includes three footnote inline
+macros:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+<code class="literal">footnote:[&lt;text&gt;]</code>
+</span></dt><dd>
+ Generates a footnote with text <code class="literal">&lt;text&gt;</code>.
+</dd><dt><span class="term">
+<code class="literal">footnoteref:[&lt;id&gt;,&lt;text&gt;]</code>
+</span></dt><dd>
+ Generates a footnote with a reference ID <code class="literal">&lt;id&gt;</code> and text <code class="literal">&lt;text&gt;</code>.
+</dd><dt><span class="term">
+<code class="literal">footnoteref:[&lt;id&gt;]</code>
+</span></dt><dd>
+ Generates a reference to the footnote with ID <code class="literal">&lt;id&gt;</code>.
+</dd></dl></div><p>The footnote text can span multiple lines.</p><p>The <span class="emphasis"><em>xhtml11</em></span> and <span class="emphasis"><em>html5</em></span> backends render footnotes dynamically using
+JavaScript; <span class="emphasis"><em>html4</em></span> outputs do not use JavaScript and leave the
+footnotes inline; <span class="emphasis"><em>docbook</em></span> footnotes are processed by the downstream
+DocBook toolchain.</p><p>Example footnotes:</p><pre class="literallayout">A footnote footnote:[An example footnote.];
+a second footnote with a reference ID footnoteref:[note2,Second footnote.];
+finally a reference to the second footnote footnoteref:[note2].</pre><p>Renders:</p><p>A footnote <a href="#ftn.idm1979" class="footnote" id="idm1979"><sup class="footnote">[2]</sup></a>;
+a second footnote with a reference ID <a href="#ftn.note2" class="footnote" id="note2"><sup class="footnote">[3]</sup></a>;
+finally a reference to the second footnote <a href="ch18.html#ftn.note2" class="footnoteref"><sup class="footnoteref">[3]</sup></a>.</p><div class="footnotes"><br /><hr style="width:100; text-align:left;margin-left: 0" /><div id="ftn.idm1979" class="footnote"><p><a href="#idm1979" class="simpara"><sup class="simpara">[2] </sup></a>An example footnote.</p></div><div id="ftn.note2" class="footnote"><p><a href="#note2" class="simpara"><sup class="simpara">[3] </sup></a>Second footnote.</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch17.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch19.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch19.html b/chunked/ch19.html
new file mode 100644
index 0000000..31759da
--- /dev/null
+++ b/chunked/ch19.html
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 19. Indexes</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch18.html" title="Chapter 18. Footnotes" /><link rel="next" href="ch20.html" title="Chapter 20. Callouts" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch18.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch20.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="_indexes"></a>Chapter 19. Indexes</h1></div></div></div><p>The shipped AsciiDoc configuration includes the inline macros for
+generating DocBook index entries.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+<code class="literal">indexterm:[&lt;primary&gt;,&lt;secondary&gt;,&lt;tertiary&gt;]</code>
+, </span><span class="term">
+<code class="literal">(((&lt;primary&gt;,&lt;secondary&gt;,&lt;tertiary&gt;)))</code>
+</span></dt><dd>
+ This inline macro generates an index term (the <code class="literal">&lt;secondary&gt;</code> and
+ <code class="literal">&lt;tertiary&gt;</code> positional attributes are optional). Example:
+ <code class="literal">indexterm:[Tigers,Big cats]</code> (or, using the alternative syntax
+ <code class="literal">(((Tigers,Big cats)))</code>. Index terms that have secondary and
+ tertiary entries also generate separate index terms for the
+ secondary and tertiary entries. The index terms appear in the
+ index, not the primary text flow.
+</dd><dt><span class="term">
+<code class="literal">indexterm2:[&lt;primary&gt;]</code>
+, </span><span class="term">
+<code class="literal">((&lt;primary&gt;))</code>
+</span></dt><dd>
+ This inline macro generates an index term that appears in both the
+ index and the primary text flow. The <code class="literal">&lt;primary&gt;</code> should not be
+ padded to the left or right with white space characters.
+</dd></dl></div><p>For working examples see the <code class="literal">article.txt</code> and <code class="literal">book.txt</code> documents in
+the AsciiDoc <code class="literal">./doc</code> distribution directory.</p><div class="note" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/icons/note.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>Index entries only really make sense if you are generating
+DocBook markup — DocBook conversion programs automatically generate
+an index at the point an <span class="emphasis"><em>Index</em></span> section appears in source document.</p></td></tr></table></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch18.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch20.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch20.html b/chunked/ch20.html
new file mode 100644
index 0000000..ed5a4f3
--- /dev/null
+++ b/chunked/ch20.html
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 20. Callouts</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch19.html" title="Chapter 19. Indexes" /><link rel="next" href="ch21.html" title="Chapter 21. Macros" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch19.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch21.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="X105"></a>Chapter 20. Callouts</h1></div></div></div><p>Callouts are a mechanism for annotating verbatim text (for example:
+source code, computer output and user input). Callout markers are
+placed inside the annotated text while the actual annotations are
+presented in a callout list after the annotated text. Here’s an
+example:</p><pre class="screen"> .MS-DOS directory listing
+ -----------------------------------------------------
+ 10/17/97 9:04 &lt;DIR&gt; bin
+ 10/16/97 14:11 &lt;DIR&gt; DOS &lt;1&gt;
+ 10/16/97 14:40 &lt;DIR&gt; Program Files
+ 10/16/97 14:46 &lt;DIR&gt; TEMP
+ 10/17/97 9:04 &lt;DIR&gt; tmp
+ 10/16/97 14:37 &lt;DIR&gt; WINNT
+ 10/16/97 14:25 119 AUTOEXEC.BAT &lt;2&gt;
+ 2/13/94 6:21 54,619 COMMAND.COM &lt;2&gt;
+ 10/16/97 14:25 115 CONFIG.SYS &lt;2&gt;
+ 11/16/97 17:17 61,865,984 pagefile.sys
+ 2/13/94 6:21 9,349 WINA20.386 &lt;3&gt;
+ -----------------------------------------------------
+
+ &lt;1&gt; This directory holds MS-DOS.
+ &lt;2&gt; System startup code for DOS.
+ &lt;3&gt; Some sort of Windows 3.1 hack.</pre><p>Which renders:</p><p><strong>MS-DOS directory listing. </strong>
+</p><pre class="screen">10/17/97 9:04 &lt;DIR&gt; bin
+10/16/97 14:11 &lt;DIR&gt; DOS <a id="CO1-1"></a><span><img src="images/icons/callouts/1.png" alt="1" border="0" /></span>
+10/16/97 14:40 &lt;DIR&gt; Program Files
+10/16/97 14:46 &lt;DIR&gt; TEMP
+10/17/97 9:04 &lt;DIR&gt; tmp
+10/16/97 14:37 &lt;DIR&gt; WINNT
+10/16/97 14:25 119 AUTOEXEC.BAT <a id="CO1-2"></a><span><img src="images/icons/callouts/2.png" alt="2" border="0" /></span>
+ 2/13/94 6:21 54,619 COMMAND.COM <a id="CO1-3"></a><span><img src="images/icons/callouts/3.png" alt="3" border="0" /></span>
+10/16/97 14:25 115 CONFIG.SYS <a id="CO1-4"></a><span><img src="images/icons/callouts/4.png" alt="4" border="0" /></span>
+11/16/97 17:17 61,865,984 pagefile.sys
+ 2/13/94 6:21 9,349 WINA20.386 <a id="CO1-5"></a><span><img src="images/icons/callouts/5.png" alt="5" border="0" /></span></pre><p>
+</p><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><p><a href="#CO1-1"><span><img src="images/icons/callouts/1.png" alt="1" border="0" /></span></a> </p></td><td valign="top" align="left"><p>
+This directory holds MS-DOS.
+</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a href="#CO1-2"><span><img src="images/icons/callouts/2.png" alt="2" border="0" /></span></a> <a href="#CO1-3"><span><img src="images/icons/callouts/3.png" alt="3" border="0" /></span></a> <a href="#CO1-4"><span><img src="images/icons/callouts/4.png" alt="4" border="0" /></span></a> </p></td><td valign="top" align="left"><p>
+System startup code for DOS.
+</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a href="#CO1-5"><span><img src="images/icons/callouts/5.png" alt="5" border="0" /></span></a> </p></td><td valign="top" align="left"><p>
+Some sort of Windows 3.1 hack.
+</p></td></tr></table></div><div class="itemizedlist"><p class="title"><strong>Explanation</strong></p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+The callout marks are whole numbers enclosed in angle brackets —  they refer to the correspondingly numbered item in the following
+ callout list.
+</li><li class="listitem">
+By default callout marks are confined to <span class="emphasis"><em>LiteralParagraphs</em></span>,
+ <span class="emphasis"><em>LiteralBlocks</em></span> and <span class="emphasis"><em>ListingBlocks</em></span> (although this is a
+ configuration file option and can be changed).
+</li><li class="listitem">
+Callout list item numbering is fairly relaxed — list items can
+ start with <code class="literal">&lt;n&gt;</code>, <code class="literal">n&gt;</code> or <code class="literal">&gt;</code> where <code class="literal">n</code> is the optional list item
+ number (in the latter case list items starting with a single <code class="literal">&gt;</code>
+ character are implicitly numbered starting at one).
+</li><li class="listitem">
+Callout lists should not be nested.
+</li><li class="listitem">
+Callout lists cannot be used within tables.
+</li><li class="listitem">
+Callout lists start list items hard against the left margin.
+</li><li class="listitem">
+If you want to present a number inside angle brackets you’ll need to
+ escape it with a backslash to prevent it being interpreted as a
+ callout mark.
+</li></ul></div><div class="note" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/icons/note.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>Define the AsciiDoc <span class="emphasis"><em>icons</em></span> attribute (for example using the <code class="literal">-a
+icons</code> command-line option) to display callout icons.</p></td></tr></table></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_implementation_notes"></a>20.1. Implementation Notes</h2></div></div></div><p>Callout marks are generated by the <span class="emphasis"><em>callout</em></span> inline macro while
+callout lists are generated using the <span class="emphasis"><em>callout</em></span> list definition. The
+<span class="emphasis"><em>callout</em></span> macro and <span class="emphasis"><em>callout</em></span> list are special in that they work
+together. The <span class="emphasis"><em>callout</em></span> inline macro is not enabled by the normal
+<span class="emphasis"><em>macros</em></span> substitutions option, instead it has its own <span class="emphasis"><em>callouts</em></span>
+substitution option.</p><p>The following attributes are available during inline callout macro
+substitution:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+<code class="literal">{index}</code>
+</span></dt><dd>
+ The callout list item index inside the angle brackets.
+</dd><dt><span class="term">
+<code class="literal">{coid}</code>
+</span></dt><dd>
+ An identifier formatted like <code class="literal">CO&lt;listnumber&gt;-&lt;index&gt;</code> that
+ uniquely identifies the callout mark. For example <code class="literal">CO2-4</code>
+ identifies the fourth callout mark in the second set of callout
+ marks.
+</dd></dl></div><p>The <code class="literal">{coids}</code> attribute can be used during callout list item
+substitution — it is a space delimited list of callout IDs that refer
+to the explanatory list item.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_including_callouts_in_included_code"></a>20.2. Including callouts in included code</h2></div></div></div><p>You can annotate working code examples with callouts — just remember
+to put the callouts inside source code comments. This example displays
+the <code class="literal">test.py</code> source file (containing a single callout) using the
+<span class="emphasis"><em>source</em></span> (code highlighter) filter:</p><p><strong>AsciiDoc source. </strong>
+</p><pre class="screen"> [source,python]
+ -------------------------------------------
+ \include::test.py[]
+ -------------------------------------------
+
+ &lt;1&gt; Print statement.</pre><p>
+</p><p><strong>Included <code class="literal">test.py</code> source. </strong>
+</p><pre class="screen">print 'Hello World!' # &lt;1&gt;</pre><p>
+</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch19.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch21.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch21.html b/chunked/ch21.html
new file mode 100644
index 0000000..b1900af
--- /dev/null
+++ b/chunked/ch21.html
@@ -0,0 +1,365 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 21. Macros</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch20.html" title="Chapter 20. Callouts" /><link rel="next" href="ch22.html" title="Chapter 22. HTML 5 audio and video block macros" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch20.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch22.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="_macros"></a>Chapter 21. Macros</h1></div></div></div><p>Macros are a mechanism for substituting parametrized text into output
+documents.</p><p>Macros have a <span class="emphasis"><em>name</em></span>, a single <span class="emphasis"><em>target</em></span> argument and an <span class="emphasis"><em>attribute
+list</em></span>. The usual syntax is <code class="literal">&lt;name&gt;:&lt;target&gt;[&lt;attrlist&gt;]</code> (for
+inline macros) and <code class="literal">&lt;name&gt;::&lt;target&gt;[&lt;attrlist&gt;]</code> (for block
+macros). Here are some examples:</p><pre class="literallayout">http://www.docbook.org/[DocBook.org]
+include::chapt1.txt[tabsize=2]
+mailto:srackham@gmail.com[]</pre><div class="itemizedlist"><p class="title"><strong>Macro behavior</strong></p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+<code class="literal">&lt;name&gt;</code> is the macro name. It can only contain letters, digits or
+ dash characters and cannot start with a dash.
+</li><li class="listitem">
+The optional <code class="literal">&lt;target&gt;</code> cannot contain white space characters.
+</li><li class="listitem">
+<code class="literal">&lt;attrlist&gt;</code> is a <a class="link" href="ch29.html" title="Chapter 29. Attribute Lists">list of attributes</a> enclosed in square
+ brackets.
+</li><li class="listitem">
+<code class="literal">]</code> characters inside attribute lists must be escaped with a
+ backslash.
+</li><li class="listitem">
+Expansion of macro references can normally be escaped by prefixing a
+ backslash character (see the AsciiDoc <span class="emphasis"><em>FAQ</em></span> for examples of
+ exceptions to this rule).
+</li><li class="listitem">
+Attribute references in block macros are expanded.
+</li><li class="listitem">
+The substitutions performed prior to Inline macro macro expansion
+ are determined by the inline context.
+</li><li class="listitem">
+Macros are processed in the order they appear in the configuration
+ file(s).
+</li><li class="listitem">
+Calls to inline macros can be nested inside different inline macros
+ (an inline macro call cannot contain a nested call to itself).
+</li><li class="listitem">
+In addition to <code class="literal">&lt;name&gt;</code>, <code class="literal">&lt;target&gt;</code> and <code class="literal">&lt;attrlist&gt;</code> the
+ <code class="literal">&lt;passtext&gt;</code> and <code class="literal">&lt;subslist&gt;</code> named groups are available to
+ <a class="link" href="ch21.html#X77" title="21.4. Passthrough macros">passthrough macros</a>. A macro is a passthrough macro if the
+ definition includes a <code class="literal">&lt;passtext&gt;</code> named group.
+</li></ul></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_inline_macros"></a>21.1. Inline Macros</h2></div></div></div><p>Inline Macros occur in an inline element context. Predefined Inline
+macros include <span class="emphasis"><em>URLs</em></span>, <span class="emphasis"><em>image</em></span> and <span class="emphasis"><em>link</em></span> macros.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_urls"></a>21.1.1. URLs</h3></div></div></div><p><span class="emphasis"><em>http</em></span>, <span class="emphasis"><em>https</em></span>, <span class="emphasis"><em>ftp</em></span>, <span class="emphasis"><em>file</em></span>, <span class="emphasis"><em>mailto</em></span> and <span class="emphasis"><em>callto</em></span> URLs are
+rendered using predefined inline macros.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+If you don’t need a custom link caption you can enter the <span class="emphasis"><em>http</em></span>,
+ <span class="emphasis"><em>https</em></span>, <span class="emphasis"><em>ftp</em></span>, <span class="emphasis"><em>file</em></span> URLs and email addresses without any special
+ macro syntax.
+</li><li class="listitem">
+If the <code class="literal">&lt;attrlist&gt;</code> is empty the URL is displayed.
+</li></ul></div><p>Here are some examples:</p><pre class="literallayout">http://www.docbook.org/[DocBook.org]
+http://www.docbook.org/
+mailto:joe.bloggs@foobar.com[email Joe Bloggs]
+joe.bloggs@foobar.com</pre><p>Which are rendered:</p><p><a class="ulink" href="http://www.docbook.org/" target="_top">DocBook.org</a></p><p><a class="ulink" href="http://www.docbook.org/" target="_top">http://www.docbook.org/</a></p><p><a class="ulink" href="mailto:joe.bloggs@foobar.com" target="_top">email Joe Bloggs</a></p><p><a class="ulink" href="mailto:joe.bloggs@foobar.com" target="_top">joe.bloggs@foobar.com</a></p><p>If the <code class="literal">&lt;target&gt;</code> necessitates space characters use <code class="literal">%20</code>, for example
+<code class="literal">large%20image.png</code>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_internal_cross_references"></a>21.1.2. Internal Cross References</h3></div></div></div><p>Two AsciiDoc inline macros are provided for creating hypertext links
+within an AsciiDoc document. You can use either the standard macro
+syntax or the (preferred) alternative.</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="X30"></a>anchor</h4></div></div></div><p>Used to specify hypertext link targets:</p><pre class="literallayout">[[&lt;id&gt;,&lt;xreflabel&gt;]]
+anchor:&lt;id&gt;[&lt;xreflabel&gt;]</pre><p>The <code class="literal">&lt;id&gt;</code> is a unique string that conforms to the output markup’s
+anchor syntax. The optional <code class="literal">&lt;xreflabel&gt;</code> is the text to be displayed
+by captionless <span class="emphasis"><em>xref</em></span> macros that refer to this anchor. The optional
+<code class="literal">&lt;xreflabel&gt;</code> is only really useful when generating DocBook output.
+Example anchor:</p><pre class="literallayout">[[X1]]</pre><p>You may have noticed that the syntax of this inline element is the
+same as that of the <a class="link" href="ch13.html" title="Chapter 13. BlockId Element">BlockId block element</a>, this is no
+coincidence since they are functionally equivalent.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_xref"></a>xref</h4></div></div></div><p>Creates a hypertext link to a document anchor.</p><pre class="literallayout">&lt;&lt;&lt;id&gt;,&lt;caption&gt;&gt;&gt;
+xref:&lt;id&gt;[&lt;caption&gt;]</pre><p>The <code class="literal">&lt;id&gt;</code> refers to an anchor ID. The optional <code class="literal">&lt;caption&gt;</code> is the
+link’s displayed text. Example:</p><pre class="literallayout">&lt;&lt;X21,attribute lists&gt;&gt;</pre><p>If <code class="literal">&lt;caption&gt;</code> is not specified then the displayed text is
+auto-generated:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+The AsciiDoc <span class="emphasis"><em>xhtml11</em></span> and <span class="emphasis"><em>html5</em></span> backends display the <code class="literal">&lt;id&gt;</code>
+ enclosed in square brackets.
+</li><li class="listitem">
+If DocBook is produced the DocBook toolchain is responsible for the
+ displayed text which will normally be the referenced figure, table
+ or section title number followed by the element’s title text.
+</li></ul></div><p>Here is an example:</p><pre class="screen">[[tiger_image]]
+.Tyger tyger
+image::tiger.png[]
+
+This can be seen in &lt;&lt;tiger_image&gt;&gt;.</pre></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_linking_to_local_documents"></a>21.1.3. Linking to Local Documents</h3></div></div></div><p>Hypertext links to files on the local file system are specified using
+the <span class="emphasis"><em>link</em></span> inline macro.</p><pre class="literallayout">link:&lt;target&gt;[&lt;caption&gt;]</pre><p>The <span class="emphasis"><em>link</em></span> macro generates relative URLs. The link macro <code class="literal">&lt;target&gt;</code> is
+the target file name (relative to the file system location of the
+referring document). The optional <code class="literal">&lt;caption&gt;</code> is the link’s displayed
+text. If <code class="literal">&lt;caption&gt;</code> is not specified then <code class="literal">&lt;target&gt;</code> is displayed.
+Example:</p><pre class="literallayout">link:downloads/foo.zip[download foo.zip]</pre><p>You can use the <code class="literal">&lt;filename&gt;#&lt;id&gt;</code> syntax to refer to an anchor within
+a target document but this usually only makes sense when targeting
+HTML documents.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="X9"></a>21.1.4. Images</h3></div></div></div><p>Inline images are inserted into the output document using the <span class="emphasis"><em>image</em></span>
+macro. The inline syntax is:</p><pre class="literallayout">image:&lt;target&gt;[&lt;attributes&gt;]</pre><p>The contents of the image file <code class="literal">&lt;target&gt;</code> is displayed. To display the
+image its file format must be supported by the target backend
+application. HTML and DocBook applications normally support PNG or JPG
+files.</p><p><code class="literal">&lt;target&gt;</code> file name paths are relative to the location of the
+referring document.</p><div class="itemizedlist"><a id="X55"></a><p class="title"><strong>Image macro attributes</strong></p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p class="simpara">
+The optional <span class="emphasis"><em>alt</em></span> attribute is also the first positional attribute,
+ it specifies alternative text which is displayed if the output
+ application is unable to display the image file (see also
+ <a class="ulink" href="http://htmlhelp.com/feature/art3.htm" target="_top">Use of ALT texts in IMGs</a>). For
+ example:
+</p><pre class="literallayout">image:images/logo.png[Company Logo]</pre></li><li class="listitem">
+The optional <span class="emphasis"><em>title</em></span> attribute provides a title for the image. The
+ <a class="link" href="ch21.html#X49" title="21.2.2. Images">block image macro</a> renders the title alongside the image.
+ The inline image macro displays the title as a popup “tooltip” in
+ visual browsers (AsciiDoc HTML outputs only).
+</li><li class="listitem"><p class="simpara">
+The optional <code class="literal">width</code> and <code class="literal">height</code> attributes scale the image size
+ and can be used in any combination. The units are pixels. The
+ following example scales the previous example to a height of 32
+ pixels:
+</p><pre class="literallayout">image:images/logo.png["Company Logo",height=32]</pre></li><li class="listitem"><p class="simpara">
+The optional <code class="literal">link</code> attribute is used to link the image to an
+ external document. The following example links a screenshot
+ thumbnail to a full size version:
+</p><pre class="literallayout">image:screen-thumbnail.png[height=32,link="screen.png"]</pre></li><li class="listitem"><p class="simpara">
+The optional <code class="literal">scaledwidth</code> attribute is only used in DocBook block
+ images (specifically for PDF documents). The following example
+ scales the images to 75% of the available print width:
+</p><pre class="literallayout">image::images/logo.png[scaledwidth="75%",alt="Company Logo"]</pre></li><li class="listitem">
+The image <code class="literal">scale</code> attribute sets the DocBook <code class="literal">imagedata</code> element
+ <code class="literal">scale</code> attribute.
+</li><li class="listitem"><p class="simpara">
+The optional <code class="literal">align</code> attribute aligns block macro images
+ horizontally. Allowed values are <code class="literal">center</code>, <code class="literal">left</code> and <code class="literal">right</code>. For
+ example:
+</p><pre class="literallayout">image::images/tiger.png["Tiger image",align="left"]</pre></li><li class="listitem">
+The optional <code class="literal">float</code> attribute floats the image <code class="literal">left</code> or <code class="literal">right</code> on
+ the page (works with HTML outputs only, has no effect on DocBook
+ outputs). <code class="literal">float</code> and <code class="literal">align</code> attributes are mutually exclusive.
+ Use the <code class="literal">unfloat::[]</code> block macro to stop floating.
+</li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_comment_lines"></a>21.1.5. Comment Lines</h3></div></div></div><p>See <a class="link" href="ch21.html#X25" title="21.2.3. Comment Lines">comment block macro</a>.</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_block_macros"></a>21.2. Block Macros</h2></div></div></div><p>A Block macro reference must be contained in a single line separated
+either side by a blank line or a block delimiter.</p><p>Block macros behave just like Inline macros, with the following
+differences:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+They occur in a block context.
+</li><li class="listitem">
+The default syntax is <code class="literal">&lt;name&gt;::&lt;target&gt;[&lt;attrlist&gt;]</code> (two
+ colons, not one).
+</li><li class="listitem">
+Markup template section names end in <code class="literal">-blockmacro</code> instead of
+ <code class="literal">-inlinemacro</code>.
+</li></ul></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_block_identifier"></a>21.2.1. Block Identifier</h3></div></div></div><p>The Block Identifier macro sets the <code class="literal">id</code> attribute and has the same
+syntax as the <a class="link" href="ch21.html#X30" title="anchor">anchor inline macro</a> since it performs
+essentially the same function — block templates use the <code class="literal">id</code>
+attribute as a block element ID. For example:</p><pre class="literallayout">[[X30]]</pre><p>This is equivalent to the <code class="literal">[id="X30"]</code> <a class="link" href="ch14.html" title="Chapter 14. AttributeList Element">AttributeList element</a>).</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="X49"></a>21.2.2. Images</h3></div></div></div><p>The <span class="emphasis"><em>image</em></span> block macro is used to display images in a block context.
+The syntax is:</p><pre class="literallayout">image::&lt;target&gt;[&lt;attributes&gt;]</pre><p>The block <code class="literal">image</code> macro has the same <a class="link" href="ch21.html#X55" title="Image macro attributes">macro attributes</a> as it’s
+<a class="link" href="ch21.html#X9" title="21.1.4. Images">inline image macro</a> counterpart.</p><div class="warning" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="images/icons/warning.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>Unlike the inline <code class="literal">image</code> macro, the entire block <code class="literal">image</code> macro
+must be on a single line.</p></td></tr></table></div><p>Block images can be titled by preceding the <span class="emphasis"><em>image</em></span> macro with a
+<span class="emphasis"><em>BlockTitle</em></span>. DocBook toolchains normally number titled block images
+and optionally list them in an automatically generated <span class="emphasis"><em>List of
+Figures</em></span> backmatter section.</p><p>This example:</p><pre class="literallayout">.Main circuit board
+image::images/layout.png[J14P main circuit board]</pre><p>is equivalent to:</p><pre class="literallayout">image::images/layout.png["J14P main circuit board", title="Main circuit board"]</pre><p>A title prefix that can be inserted with the <code class="literal">caption</code> attribute
+(HTML backends). For example:</p><pre class="literallayout">.Main circuit board
+[caption="Figure 2: "]
+image::images/layout.png[J14P main circuit board]</pre><div class="sidebar"><a id="X66"></a><div class="titlepage"><div><div><p class="title"><strong>Embedding images in XHTML documents</strong></p></div></div></div><p>If you define the <code class="literal">data-uri</code> attribute then images will be embedded in
+XHTML outputs using the
+<a class="ulink" href="http://en.wikipedia.org/wiki/Data:_URI_scheme" target="_top">data URI scheme</a>. You
+can use the <span class="emphasis"><em>data-uri</em></span> attribute with the <span class="emphasis"><em>xhtml11</em></span> and <span class="emphasis"><em>html5</em></span>
+backends to produce single-file XHTML documents with embedded images
+and CSS, for example:</p><pre class="literallayout">$ asciidoc -a data-uri mydocument.txt</pre><div class="note" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/icons/note.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+All current popular browsers support data URIs, although versions
+ of Internet Explorer prior to version 8 do not.
+</li><li class="listitem">
+Some browsers limit the size of data URIs.
+</li></ul></div></td></tr></table></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="X25"></a>21.2.3. Comment Lines</h3></div></div></div><p>Single lines starting with two forward slashes hard up against the
+left margin are treated as comments. Comment lines do not appear in
+the output unless the <span class="emphasis"><em>showcomments</em></span> attribute is defined. Comment
+lines have been implemented as both block and inline macros so a
+comment line can appear as a stand-alone block or within block elements
+that support inline macro expansion. Example comment line:</p><pre class="literallayout">// This is a comment.</pre><p>If the <span class="emphasis"><em>showcomments</em></span> attribute is defined comment lines are written
+to the output:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+In DocBook the comment lines are enclosed by the <span class="emphasis"><em>remark</em></span> element
+ (which may or may not be rendered by your toolchain).
+</li><li class="listitem">
+The <span class="emphasis"><em>showcomments</em></span> attribute does not expose <a class="link" href="ch16.html#X26" title="16.5. Comment Blocks">Comment Blocks</a>.
+ Comment Blocks are never passed to the output.
+</li></ul></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_system_macros"></a>21.3. System Macros</h2></div></div></div><p>System macros are block macros that perform a predefined task and are
+hardwired into the asciidoc(1) program.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+You can escape system macros with a leading backslash character
+ (as you can with other macros).
+</li><li class="listitem">
+The syntax and tasks performed by system macros is built into
+ asciidoc(1) so they don’t appear in configuration files. You can
+ however customize the syntax by adding entries to a configuration
+ file <code class="literal">[macros]</code> section.
+</li></ul></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="X63"></a>21.3.1. Include Macros</h3></div></div></div><p>The <code class="literal">include</code> and <code class="literal">include1</code> system macros to include the contents of
+a named file into the source document.</p><p>The <code class="literal">include</code> macro includes a file as if it were part of the parent
+document — tabs are expanded and system macros processed. The
+contents of <code class="literal">include1</code> files are not subject to tab expansion or
+system macro processing nor are attribute or lower priority
+substitutions performed. The <code class="literal">include1</code> macro’s intended use is to
+include verbatim embedded CSS or scripts into configuration file
+headers. Example:</p><pre class="screen">include::chapter1.txt[tabsize=4]</pre><div class="itemizedlist"><p class="title"><strong>Include macro behavior</strong></p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+If the included file name is specified with a relative path then the
+ path is relative to the location of the referring document.
+</li><li class="listitem">
+Include macros can appear inside configuration files.
+</li><li class="listitem">
+Files included from within <span class="emphasis"><em>DelimitedBlocks</em></span> are read to completion
+ to avoid false end-of-block underline termination.
+</li><li class="listitem">
+Attribute references are expanded inside the include <span class="emphasis"><em>target</em></span>; if an
+ attribute is undefined then the included file is silently skipped.
+</li><li class="listitem">
+The <span class="emphasis"><em>tabsize</em></span> macro attribute sets the number of space characters to
+ be used for tab expansion in the included file (not applicable to
+ <code class="literal">include1</code> macro).
+</li><li class="listitem">
+The <span class="emphasis"><em>depth</em></span> macro attribute sets the maximum permitted number of
+ subsequent nested includes (not applicable to <code class="literal">include1</code> macro which
+ does not process nested includes). Setting <span class="emphasis"><em>depth</em></span> to <span class="emphasis"><em>1</em></span> disables
+ nesting inside the included file. By default, nesting is limited to
+ a depth of ten.
+</li><li class="listitem">
+If the he <span class="emphasis"><em>warnings</em></span> attribute is set to <span class="emphasis"><em>False</em></span> (or any other
+ Python literal that evaluates to boolean false) then no warning
+ message is printed if the included file does not exist. By default
+ <span class="emphasis"><em>warnings</em></span> are enabled.
+</li><li class="listitem">
+Internally the <code class="literal">include1</code> macro is translated to the <code class="literal">include1</code>
+ system attribute which means it must be evaluated in a region where
+ attribute substitution is enabled. To inhibit nested substitution in
+ included files it is preferable to use the <code class="literal">include</code> macro and set
+ the attribute <code class="literal">depth=1</code>.
+</li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_conditional_inclusion_macros"></a>21.3.2. Conditional Inclusion Macros</h3></div></div></div><p>Lines of text in the source document can be selectively included or
+excluded from processing based on the existence (or not) of a document
+attribute.</p><p>Document text between the <code class="literal">ifdef</code> and <code class="literal">endif</code> macros is included if a
+document attribute is defined:</p><pre class="literallayout">ifdef::&lt;attribute&gt;[]
+:
+endif::&lt;attribute&gt;[]</pre><p>Document text between the <code class="literal">ifndef</code> and <code class="literal">endif</code> macros is not included
+if a document attribute is defined:</p><pre class="literallayout">ifndef::&lt;attribute&gt;[]
+:
+endif::&lt;attribute&gt;[]</pre><p><code class="literal">&lt;attribute&gt;</code> is an attribute name which is optional in the trailing
+<code class="literal">endif</code> macro.</p><p>If you only want to process a single line of text then the text can be
+put inside the square brackets and the <code class="literal">endif</code> macro omitted, for
+example:</p><pre class="literallayout">ifdef::revnumber[Version number 42]</pre><p>Is equivalent to:</p><pre class="literallayout">ifdef::revnumber[]
+Version number 42
+endif::revnumber[]</pre><p><span class="emphasis"><em>ifdef</em></span> and <span class="emphasis"><em>ifndef</em></span> macros also accept multiple attribute names:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Multiple <span class="emphasis"><em>,</em></span> separated attribute names evaluate to defined if one
+ or more of the attributes is defined, otherwise it’s value is
+ undefined.
+</li><li class="listitem">
+Multiple <span class="emphasis"><em>+</em></span> separated attribute names evaluate to defined if all
+ of the attributes is defined, otherwise it’s value is undefined.
+</li></ul></div><p>Document text between the <code class="literal">ifeval</code> and <code class="literal">endif</code> macros is included if
+the Python expression inside the square brackets is true. Example:</p><pre class="literallayout">ifeval::[{rs458}==2]
+:
+endif::[]</pre><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Document attribute references are expanded before the expression is
+ evaluated.
+</li><li class="listitem">
+If an attribute reference is undefined then the expression is
+ considered false.
+</li></ul></div><p>Take a look at the <code class="literal">*.conf</code> configuration files in the AsciiDoc
+distribution for examples of conditional inclusion macro usage.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_executable_system_macros"></a>21.3.3. Executable system macros</h3></div></div></div><p>The <span class="emphasis"><em>eval</em></span>, <span class="emphasis"><em>sys</em></span> and <span class="emphasis"><em>sys2</em></span> block macros exhibit the same behavior as
+their same named <a class="link" href="ch30.html#X24" title="30.3. System Attribute References">system attribute references</a>. The difference
+is that system macros occur in a block macro context whereas system
+attributes are confined to inline contexts where attribute
+substitution is enabled.</p><p>The following example displays a long directory listing inside a
+literal block:</p><pre class="literallayout">------------------
+sys::[ls -l *.txt]
+------------------</pre><div class="note" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/icons/note.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>There are no block macro versions of the <span class="emphasis"><em>eval3</em></span> and <span class="emphasis"><em>sys3</em></span>
+system attributes.</p></td></tr></table></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_template_system_macro"></a>21.3.4. Template System Macro</h3></div></div></div><p>The <code class="literal">template</code> block macro allows the inclusion of one configuration
+file template section within another. The following example includes
+the <code class="literal">[admonitionblock]</code> section in the <code class="literal">[admonitionparagraph]</code>
+section:</p><pre class="literallayout">[admonitionparagraph]
+template::[admonitionblock]</pre><div class="itemizedlist"><p class="title"><strong>Template macro behavior</strong></p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+The <code class="literal">template::[]</code> macro is useful for factoring configuration file
+ markup.
+</li><li class="listitem">
+<code class="literal">template::[]</code> macros cannot be nested.
+</li><li class="listitem">
+<code class="literal">template::[]</code> macro expansion is applied after all configuration
+ files have been read.
+</li></ul></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X77"></a>21.4. Passthrough macros</h2></div></div></div><p>Passthrough macros are analogous to <a class="link" href="ch16.html#X76" title="16.6. Passthrough Blocks">passthrough blocks</a> and are
+used to pass text directly to the output. The substitution performed
+on the text is determined by the macro definition but can be overridden
+by the <code class="literal">&lt;subslist&gt;</code>. The usual syntax is
+<code class="literal">&lt;name&gt;:&lt;subslist&gt;[&lt;passtext&gt;]</code> (for inline macros) and
+<code class="literal">&lt;name&gt;::&lt;subslist&gt;[&lt;passtext&gt;]</code> (for block macros). Passthroughs, by
+definition, take precedence over all other text substitutions.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+pass
+</span></dt><dd><p class="simpara">
+ Inline and block. Passes text unmodified (apart from explicitly
+ specified substitutions). Examples:
+</p><pre class="literallayout">pass:[&lt;q&gt;To be or not to be&lt;/q&gt;]
+pass:attributes,quotes[&lt;u&gt;the '{author}'&lt;/u&gt;]</pre></dd><dt><span class="term">
+asciimath, latexmath
+</span></dt><dd>
+ Inline and block. Passes text unmodified. Used for
+ <a class="link" href="ch25.html" title="Chapter 25. Mathematical Formulas">mathematical formulas</a>.
+</dd><dt><span class="term">
++++
+</span></dt><dd><p class="simpara">
+ Inline and block. The triple-plus passthrough is functionally
+ identical to the <span class="emphasis"><em>pass</em></span> macro but you don’t have to escape <code class="literal">]</code>
+ characters and you can prefix with quoted attributes in the inline
+ version. Example:
+</p><pre class="literallayout">Red [red]+++`sum_(i=1)\^n i=(n(n+1))/2`$+++ AsciiMathML formula</pre></dd><dt><span class="term">
+$$
+</span></dt><dd><p class="simpara">
+ Inline and block. The double-dollar passthrough is functionally
+ identical to the triple-plus passthrough with one exception: special
+ characters are escaped. Example:
+</p><pre class="literallayout">$$`[[a,b],[c,d]]((n),(k))`$$</pre></dd><dt><span class="term">
+<a id="X80"></a>`
+</span></dt><dd>
+ Text quoted with single backtick characters constitutes an <span class="emphasis"><em>inline
+ literal</em></span> passthrough. The enclosed text is rendered in a monospaced
+ font and is only subject to special character substitution. This
+ makes sense since monospace text is usually intended to be rendered
+ literally and often contains characters that would otherwise have to
+ be escaped. If you need monospaced text containing inline
+ substitutions use a <a class="link" href="ch10.html#X81">plus character instead of a backtick</a>.
+</dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_macro_definitions"></a>21.5. Macro Definitions</h2></div></div></div><p>Each entry in the configuration <code class="literal">[macros]</code> section is a macro
+definition which can take one of the following forms:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+<code class="literal">&lt;pattern&gt;=&lt;name&gt;[&lt;subslist]</code>
+</span></dt><dd>
+Inline macro definition.
+</dd><dt><span class="term">
+<code class="literal">&lt;pattern&gt;=#&lt;name&gt;[&lt;subslist]</code>
+</span></dt><dd>
+Block macro definition.
+</dd><dt><span class="term">
+<code class="literal">&lt;pattern&gt;=+&lt;name&gt;[&lt;subslist]</code>
+</span></dt><dd>
+System macro definition.
+</dd><dt><span class="term">
+<code class="literal">&lt;pattern&gt;</code>
+</span></dt><dd>
+Delete the existing macro with this <code class="literal">&lt;pattern&gt;</code>.
+</dd></dl></div><p><code class="literal">&lt;pattern&gt;</code> is a Python regular expression and <code class="literal">&lt;name&gt;</code> is the name of
+a markup template. If <code class="literal">&lt;name&gt;</code> is omitted then it is the value of the
+regular expression match group named <span class="emphasis"><em>name</em></span>. The optional
+<code class="literal">[&lt;subslist]</code> is a comma-separated list of substitution names enclosed
+in <code class="literal">[]</code> brackets, it sets the default substitutions for passthrough
+text, if omitted then no passthrough substitutions are performed.</p><p><strong>Pattern named groups. </strong>The following named groups can be used in macro <code class="literal">&lt;pattern&gt;</code> regular
+expressions and are available as markup template attributes:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+name
+</span></dt><dd>
+ The macro name.
+</dd><dt><span class="term">
+target
+</span></dt><dd>
+ The macro target.
+</dd><dt><span class="term">
+attrlist
+</span></dt><dd>
+ The macro attribute list.
+</dd><dt><span class="term">
+passtext
+</span></dt><dd>
+ Contents of this group are passed unmodified to the output subject
+ only to <span class="emphasis"><em>subslist</em></span> substitutions.
+</dd><dt><span class="term">
+subslist
+</span></dt><dd>
+ Processed as a comma-separated list of substitution names for
+ <span class="emphasis"><em>passtext</em></span> substitution, overrides the the macro definition
+ <span class="emphasis"><em>subslist</em></span>.
+</dd></dl></div><div class="itemizedlist"><p class="title"><strong>Here’s what happens during macro substitution</strong></p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Each contextually relevant macro <span class="emphasis"><em>pattern</em></span> from the <code class="literal">[macros]</code>
+ section is matched against the input source line.
+</li><li class="listitem">
+If a match is found the text to be substituted is loaded from a
+ configuration markup template section named like
+ <code class="literal">&lt;name&gt;-inlinemacro</code> or <code class="literal">&lt;name&gt;-blockmacro</code> (depending on the macro
+ type).
+</li><li class="listitem">
+Global and macro attribute list attributes are substituted in the
+ macro’s markup template.
+</li><li class="listitem">
+The substituted template replaces the macro reference in the output
+ document.
+</li></ul></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch20.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch22.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch22.html b/chunked/ch22.html
new file mode 100644
index 0000000..1975077
--- /dev/null
+++ b/chunked/ch22.html
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 22. HTML 5 audio and video block macros</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch21.html" title="Chapter 21. Macros" /><link rel="next" href="ch23.html" title="Chapter 23. Tables" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch21.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch23.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="X98"></a>Chapter 22. HTML 5 audio and video block macros</h1></div></div></div><p>The <span class="emphasis"><em>html5</em></span> backend <span class="emphasis"><em>audio</em></span> and <span class="emphasis"><em>video</em></span> block macros generate the HTML
+5 <span class="emphasis"><em>audio</em></span> and <span class="emphasis"><em>video</em></span> elements respectively. They follow the usual
+AsciiDoc block macro syntax <code class="literal">&lt;name&gt;::&lt;target&gt;[&lt;attrlist&gt;]</code> where:</p><div class="horizontal"><table class="horizontal" cellpadding="4px" style="border: none;"><colgroup><col /><col /></colgroup><tbody valign="top"><tr><td style="" valign="top">
+<p>
+<code class="literal">&lt;name&gt;</code>
+</p>
+</td><td style="" valign="top">
+<p>
+<span class="emphasis"><em>audio</em></span> or <span class="emphasis"><em>video</em></span>.
+</p>
+</td></tr><tr><td style="" valign="top">
+<p>
+<code class="literal">&lt;target&gt;</code>
+</p>
+</td><td style="" valign="top">
+<p>
+The URL or file name of the video or audio file.
+</p>
+</td></tr><tr><td style="" valign="top">
+<p>
+<code class="literal">&lt;attrlist&gt;</code>
+</p>
+</td><td style="" valign="top">
+<p>
+A list of named attributes (see below).
+</p>
+</td></tr></tbody></table></div><div class="table"><a id="idm2641"></a><p class="title"><strong>Table 22.1. Audio macro attributes</strong></p><div class="table-contents"><table class="table" summary="Audio macro attributes" cellpadding="4px" style="border-collapse: collapse;border-top: 3px solid #527bbd; border-bottom: 3px solid #527bbd; "><colgroup><col class="col_1" /><col class="col_2" /></colgroup><thead><tr><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top">Name </th><th style="border-bottom: 1px solid #527bbd; " align="left" valign="top"> Value</th></tr></thead><tbody><tr><td style="border-right: 1px solid #527bbd; " align="left" valign="top"><p>options</p></td><td style="" align="left" valign="top"><p>A comma separated list of one or more of the following items:
+<span class="emphasis"><em>autoplay</em></span>, <span class="emphasis"><em>loop</em></span> which correspond to the same-named HTML 5 <span class="emphasis"><em>audio</em></span>
+element boolean attributes. By default the player <span class="emphasis"><em>controls</em></span> are
+enabled, include the <span class="emphasis"><em>nocontrols</em></span> option value to hide them.</p></td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="idm2661"></a><p class="title"><strong>Table 22.2. Video macro attributes</strong></p><div class="table-contents"><table class="table" summary="Video macro attributes" cellpadding="4px" style="border-collapse: collapse;border-top: 3px solid #527bbd; border-bottom: 3px solid #527bbd; "><colgroup><col class="col_1" /><col class="col_2" /></colgroup><thead><tr><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top">Name </th><th style="border-bottom: 1px solid #527bbd; " align="left" valign="top"> Value</th></tr></thead><tbody><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>height</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>The height of the player in pixels.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>width</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>The width of the player in pixels.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>poster</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>The URL or file name of an image representing the video.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; " align="left" valign="top"><p>options</p></td><td style="" align="left" valign="top"><p>A comma separated list of one or more of the following items:
+<span class="emphasis"><em>autoplay</em></span>, <span class="emphasis"><em>loop</em></span> and <span class="emphasis"><em>nocontrols</em></span>. The <span class="emphasis"><em>autoplay</em></span> and <span class="emphasis"><em>loop</em></span> options
+correspond to the same-named HTML 5 <span class="emphasis"><em>video</em></span> element boolean
+attributes. By default the player <span class="emphasis"><em>controls</em></span> are enabled, include the
+<span class="emphasis"><em>nocontrols</em></span> option value to hide them.</p></td></tr></tbody></table></div></div><br class="table-break" /><p>Examples:</p><pre class="screen">audio::images/example.ogg[]
+
+video::gizmo.ogv[width=200,options="nocontrols,autoplay"]
+
+.Example video
+video::gizmo.ogv[]
+
+video::http://www.808.dk/pics/video/gizmo.ogv[]</pre><p>If your needs are more complex put raw HTML 5 in a markup block, for
+example (from <a class="ulink" href="http://www.808.dk/?code-html-5-video" target="_top">http://www.808.dk/?code-html-5-video</a>):</p><pre class="screen">++++
+&lt;video poster="pics/video/gizmo.jpg" id="video" style="cursor: pointer;" &gt;
+ &lt;source src="pics/video/gizmo.mp4" /&gt;
+ &lt;source src="pics/video/gizmo.webm" type="video/webm" /&gt;
+ &lt;source src="pics/video/gizmo.ogv" type="video/ogg" /&gt;
+ Video not playing? &lt;a href="pics/video/gizmo.mp4"&gt;Download file&lt;/a&gt; instead.
+&lt;/video&gt;
+
+&lt;script type="text/javascript"&gt;
+ var video = document.getElementById('video');
+ video.addEventListener('click',function(){
+ video.play();
+ },false);
+&lt;/script&gt;
+++++</pre></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch21.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch23.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch23.html b/chunked/ch23.html
new file mode 100644
index 0000000..8fb65fe
--- /dev/null
+++ b/chunked/ch23.html
@@ -0,0 +1,381 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 23. Tables</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch22.html" title="Chapter 22. HTML 5 audio and video block macros" /><link rel="next" href="ch24.html" title="Chapter 24. Manpage Documents" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch22.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch24.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="_tables"></a>Chapter 23. Tables</h1></div></div></div><p>The AsciiDoc table syntax looks and behaves like other delimited block
+types and supports standard <a class="link" href="ch32.html" title="Chapter 32. Block Element Definitions">block configuration entries</a>.
+Formatting is easy to read and, just as importantly, easy to enter.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Cells and columns can be formatted using built-in customizable styles.
+</li><li class="listitem">
+Horizontal and vertical cell alignment can be set on columns and
+ cell.
+</li><li class="listitem">
+Horizontal and vertical cell spanning is supported.
+</li></ul></div><div class="sidebar"><div class="titlepage"><div><div><p class="title"><strong>Use tables sparingly</strong></p></div></div></div><p>When technical users first start creating documents, tables (complete
+with column spanning and table nesting) are often considered very
+important. The reality is that tables are seldom used, even in
+technical documentation.</p><p>Try this exercise: thumb through your library of technical books,
+you’ll be surprised just how seldom tables are actually used, even
+less seldom are tables containing block elements (such as paragraphs
+or lists) or spanned cells. This is no accident, like figures, tables
+are outside the normal document flow — tables are for consulting not
+for reading.</p><p>Tables are designed for, and should normally only be used for,
+displaying column oriented tabular data.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_example_tables"></a>23.1. Example tables</h2></div></div></div><div class="table"><a id="idm2722"></a><p class="title"><strong>Table 23.1. Simple table</strong></p><div class="table-contents"><table class="table" summary="Simple table" cellpadding="4px" style="border-collapse: collapse;border-top: 3px solid #527bbd; border-bottom: 3px solid #527bbd; border-left: 3px solid #527bbd; border-right: 3px solid #527bbd; " width="15%"><colgroup><col class="col_1" /><col class="col_2" /><col class="col_3" /></colgroup><tbody><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>1</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>2</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>A</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>3</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>4</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>B</p></td></tr><tr><td style="border-right: 1px solid #527bbd; " align="left" valign="top"><p>5</p></td><td style="border-right: 1px solid #527bbd; " align="left" valign="top"><p>6</p></td><td style="" align="left" valign="top"><p>C</p></td></tr></tbody></table></div></div><br class="table-break" /><p><strong>AsciiDoc source. </strong>
+</p><pre class="screen">[width="15%"]
+|=======
+|1 |2 |A
+|3 |4 |B
+|5 |6 |C
+|=======</pre><p>
+</p><div class="table"><a id="idm2754"></a><p class="title"><strong>Table 23.2. Columns formatted with strong, monospaced and emphasis styles</strong></p><div class="table-contents"><table class="table" summary="Columns formatted with strong, monospaced and emphasis styles" cellpadding="4px" style="border-collapse: collapse;border-top: 3px solid #527bbd; border-bottom: 3px solid #527bbd; " width="50%"><colgroup><col class="col_1" /><col class="col_2" /><col class="col_3" /></colgroup><thead><tr><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="right" valign="top"> </th><th style="border-bottom: 1px solid #527bbd; " colspan="2" align="center" valign="top">Columns 2 and 3</th></tr></thead><tfoot><tr><th style="border-right: 1px solid #527bbd; " align="right" valign="top"><p><span class="strong"><strong>footer 1</strong></span></p></th><th style="border-right: 1px solid #527bbd; " align="center" valign="top"><p><code class="literal">footer 2</code></p></th><th style="" align="left" valign="top"><p><span class="emphasis"><em>footer 3</em></span></p></th></tr></tfoot><tbody><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="right" valign="top"><p><span class="strong"><strong>1</strong></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p><code class="literal">Item 1</code></p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>Item 1</em></span></p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="right" valign="top"><p><span class="strong"><strong>2</strong></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p><code class="literal">Item 2</code></p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>Item 2</em></span></p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="right" valign="top"><p><span class="strong"><strong>3</strong></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p><code class="literal">Item 3</code></p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>Item 3</em></span></p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="right" valign="top"><p><span class="strong"><strong>4</strong></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p><code class="literal">Item 4</code></p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>Item 4</em></span></p></td></tr></tbody></table></div></div><br class="table-break" /><p><strong>AsciiDoc source. </strong>
+</p><pre class="screen">.An example table
+[width="50%",cols="&gt;s,^m,e",frame="topbot",options="header,footer"]
+|==========================
+| 2+|Columns 2 and 3
+|1 |Item 1 |Item 1
+|2 |Item 2 |Item 2
+|3 |Item 3 |Item 3
+|4 |Item 4 |Item 4
+|footer 1|footer 2|footer 3
+|==========================</pre><p>
+</p><div class="table"><a id="idm2820"></a><p class="title"><strong>Table 23.3. Horizontal and vertical source data</strong></p><div class="table-contents"><table class="table" summary="Horizontal and vertical source data" cellpadding="4px" style="border-collapse: collapse;border-top: 3px solid #527bbd; border-bottom: 3px solid #527bbd; border-left: 3px solid #527bbd; border-right: 3px solid #527bbd; " width="80%"><colgroup><col class="col_1" /><col class="col_2" /><col class="col_3" /><col class="col_4" /></colgroup><thead><tr><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top">Date </th><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top">Duration </th><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top">Avg HR </th><th style="border-bottom: 1px solid #527bbd; " align="left" valign="top">Notes</th></tr></thead><tbody><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>22-Aug-08</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>10:24</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>157</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Worked out MSHR (max sustainable heart rate) by going hard
+for this interval.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>22-Aug-08</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>23:03</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>152</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Back-to-back with previous interval.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; " align="left" valign="top"><p>24-Aug-08</p></td><td style="border-right: 1px solid #527bbd; " align="center" valign="top"><p>40:00</p></td><td style="border-right: 1px solid #527bbd; " align="center" valign="top"><p>145</p></td><td style="" align="left" valign="top"><p>Moderately hard interspersed with 3x 3min intervals (2min
+hard + 1min really hard taking the HR up to 160).</p></td></tr></tbody></table></div></div><br class="table-break" /><p>Short cells can be entered horizontally, longer cells vertically. The
+default behavior is to strip leading and trailing blank lines within a
+cell. These characteristics aid readability and data entry.</p><p><strong>AsciiDoc source. </strong>
+</p><pre class="screen">.Windtrainer workouts
+[width="80%",cols="3,^2,^2,10",options="header"]
+|=========================================================
+|Date |Duration |Avg HR |Notes
+
+|22-Aug-08 |10:24 | 157 |
+Worked out MSHR (max sustainable heart rate) by going hard
+for this interval.
+
+|22-Aug-08 |23:03 | 152 |
+Back-to-back with previous interval.
+
+|24-Aug-08 |40:00 | 145 |
+Moderately hard interspersed with 3x 3min intervals (2min
+hard + 1min really hard taking the HR up to 160).
+
+|=========================================================</pre><p>
+</p><div class="table"><a id="idm2866"></a><p class="title"><strong>Table 23.4. A table with externally sourced CSV data</strong></p><div class="table-contents"><table class="table" summary="A table with externally sourced CSV data" cellpadding="4px" style="border-collapse: collapse;border-top: 3px solid #527bbd; border-bottom: 3px solid #527bbd; border-left: 3px solid #527bbd; border-right: 3px solid #527bbd; "><colgroup><col class="col_1" /><col class="col_2" /><col class="col_3" /><col class="col_4" /><col class="col_5" /></colgroup><thead><tr><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top">ID</th><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top">Customer Name</th><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top">Contact Name</th><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top">Customer Address</th><th style="border-bottom: 1px solid #527bbd; " align="left" valign="top">Phone</th></tr></thead><tbody><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>AROUT</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Around the Horn</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Thomas Hardy</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>120 Hanover Sq.
+London</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>(171) 555-7788</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>BERGS</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Berglunds snabbkop</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Christina Berglund</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Berguvsvagen 8
+Lulea</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>0921-12 34 65</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>BLAUS</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Blauer See Delikatessen</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Hanna Moos</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Forsterstr. 57
+Mannheim</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>0621-08460</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>BLONP</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Blondel pere et fils</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Frederique Citeaux</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>24, place Kleber
+Strasbourg</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>88.60.15.31</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>BOLID</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Bolido Comidas preparadas</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Martin Sommer</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>C/ Araquil, 67
+Madrid</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>(91) 555 22 82</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>BONAP</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Bon app'</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Laurence Lebihan</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>12, rue des Bouchers
+Marseille</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>91.24.45.40</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>BOTTM</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Bottom-Dollar Markets</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Elizabeth Lincoln</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>23 Tsawassen Blvd.
+Tsawassen</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>(604) 555-4729</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>BSBEV</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>B’s Beverages</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Victoria Ashworth</p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>Fauntleroy Circus
+London</p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>(171) 555-1212</p></td></tr><tr><td style="border-right: 1px solid #527bbd; " align="center" valign="top"><p>CACTU</p></td><td style="border-right: 1px solid #527bbd; " align="left" valign="top"><p>Cactus Comidas para llevar</p></td><td style="border-right: 1px solid #527bbd; " align="left" valign="top"><p>Patricio Simpson</p></td><td style="border-right: 1px solid #527bbd; " align="left" valign="top"><p>Cerrito 333
+Buenos Aires</p></td><td style="" align="left" valign="top"><p>(1) 135-5555</p></td></tr></tbody></table></div></div><br class="table-break" /><p><strong>AsciiDoc source. </strong>
+</p><pre class="screen">[format="csv",cols="^1,4*2",options="header"]
+|===================================================
+ID,Customer Name,Contact Name,Customer Address,Phone
+include::customers.csv[]
+|===================================================</pre><p>
+</p><div class="table"><a id="idm2985"></a><p class="title"><strong>Table 23.5. Cell spans, alignments and styles</strong></p><div class="table-contents"><table class="table" summary="Cell spans, alignments and styles" cellpadding="4px" style="border-collapse: collapse;border-top: 3px solid #527bbd; border-bottom: 3px solid #527bbd; border-left: 3px solid #527bbd; border-right: 3px solid #527bbd; " width="25%"><colgroup><col class="col_1" /><col class="col_2" /><col class="col_3" /><col class="col_4" /></colgroup><tbody><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>1</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="right" valign="top"><p><span class="strong"><strong>2</strong></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p>3</p></td><td style="border-bottom: 1px solid #527bbd; " align="right" valign="top"><p><span class="strong"><strong>4</strong></span></p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p><span class="emphasis"><em>5</em></span></p></td><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " rowspan="2" colspan="2" align="center" valign="middle"><p><code class="literal">6</code></p></td><td style="" rowspan="3" align="left" valign="bottom"><p><code class="literal">7</code></p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="center" valign="top"><p><span class="emphasis"><em>8</em></span></p></td></tr><tr><td style="border-right: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>9</em></span></p></td><td style="border-right: 1px solid #527bbd; " colspan="2" align="right" valign="top"><p><code class="literal">10</code></p></td></tr></tbody></table></div></div><br class="table-break" /><p><strong>AsciiDoc source. </strong>
+</p><pre class="screen">[cols="e,m,^,&gt;s",width="25%"]
+|============================
+|1 &gt;s|2 |3 |4
+^|5 2.2+^.^|6 .3+&lt;.&gt;m|7
+^|8
+|9 2+&gt;|10
+|============================</pre><p>
+</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X68"></a>23.2. Table input data formats</h2></div></div></div><p>AsciiDoc table data can be <span class="emphasis"><em>psv</em></span>, <span class="emphasis"><em>dsv</em></span> or <span class="emphasis"><em>csv</em></span> formatted. The
+default table format is <span class="emphasis"><em>psv</em></span>.</p><p>AsciiDoc <span class="emphasis"><em>psv</em></span> (<span class="emphasis"><em>Prefix Separated Values</em></span>) and <span class="emphasis"><em>dsv</em></span> (<span class="emphasis"><em>Delimiter
+Separated Values</em></span>) formats are cell oriented — the table is treated
+as a sequence of cells — there are no explicit row separators.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+<span class="emphasis"><em>psv</em></span> prefixes each cell with a separator whereas <span class="emphasis"><em>dsv</em></span> delimits
+ cells with a separator.
+</li><li class="listitem">
+<span class="emphasis"><em>psv</em></span> and <span class="emphasis"><em>dsv</em></span> separators are Python regular expressions.
+</li><li class="listitem">
+The default <span class="emphasis"><em>psv</em></span> separator contains <a class="link" href="ch23.html#X84" title="23.5. Cell Specifiers">cell specifier</a> related
+ named regular expression groups.
+</li><li class="listitem">
+The default <span class="emphasis"><em>dsv</em></span> separator is <code class="literal">:|\n</code> (a colon or a new line
+ character).
+</li><li class="listitem">
+<span class="emphasis"><em>psv</em></span> and <span class="emphasis"><em>dsv</em></span> cell separators can be escaped by preceding them
+ with a backslash character.
+</li></ul></div><p>Here are four <span class="emphasis"><em>psv</em></span> cells (the second item spans two columns; the
+last contains an escaped separator):</p><pre class="literallayout">|One 2+|Two and three |A \| separator character</pre><p><span class="emphasis"><em>csv</em></span> is the quasi-standard row oriented <span class="emphasis"><em>Comma Separated Values
+(CSV)</em></span> format commonly used to import and export spreadsheet and
+database data.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X69"></a>23.3. Table attributes</h2></div></div></div><p>Tables can be customized by the following attributes:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+format
+</span></dt><dd>
+<span class="emphasis"><em>psv</em></span> (default), <span class="emphasis"><em>dsv</em></span> or <span class="emphasis"><em>csv</em></span> (See <a class="link" href="ch23.html#X68" title="23.2. Table input data formats">Table Data Formats</a>).
+</dd><dt><span class="term">
+separator
+</span></dt><dd>
+The cell separator. A Python regular expression (<span class="emphasis"><em>psv</em></span> and <span class="emphasis"><em>dsv</em></span>
+formats) or a single character (<span class="emphasis"><em>csv</em></span> format).
+</dd><dt><span class="term">
+frame
+</span></dt><dd>
+Defines the table border and can take the following values: <span class="emphasis"><em>topbot</em></span>
+(top and bottom), <span class="emphasis"><em>all</em></span> (all sides), <span class="emphasis"><em>none</em></span> and <span class="emphasis"><em>sides</em></span> (left and
+right sides). The default value is <span class="emphasis"><em>all</em></span>.
+</dd><dt><span class="term">
+grid
+</span></dt><dd>
+Defines which ruler lines are drawn between table rows and columns.
+The <span class="emphasis"><em>grid</em></span> attribute value can be any of the following values: <span class="emphasis"><em>none</em></span>,
+<span class="emphasis"><em>cols</em></span>, <span class="emphasis"><em>rows</em></span> and <span class="emphasis"><em>all</em></span>. The default value is <span class="emphasis"><em>all</em></span>.
+</dd><dt><span class="term">
+align
+</span></dt><dd>
+Use the <span class="emphasis"><em>align</em></span> attribute to horizontally align the table on the
+page (works with HTML outputs only, has no effect on DocBook outputs).
+The following values are valid: <span class="emphasis"><em>left</em></span>, <span class="emphasis"><em>right</em></span>, and <span class="emphasis"><em>center</em></span>.
+</dd><dt><span class="term">
+float
+</span></dt><dd>
+Use the <span class="emphasis"><em>float</em></span> attribute to float the table <span class="emphasis"><em>left</em></span> or <span class="emphasis"><em>right</em></span> on the
+page (works with HTML outputs only, has no effect on DocBook outputs).
+Floating only makes sense in conjunction with a table <span class="emphasis"><em>width</em></span>
+attribute value of less than 100% (otherwise the table will take up
+all the available space). <span class="emphasis"><em>float</em></span> and <span class="emphasis"><em>align</em></span> attributes are mutually
+exclusive. Use the <code class="literal">unfloat::[]</code> block macro to stop floating.
+</dd><dt><span class="term">
+halign
+</span></dt><dd>
+Use the <span class="emphasis"><em>halign</em></span> attribute to horizontally align all cells in a table.
+The following values are valid: <span class="emphasis"><em>left</em></span>, <span class="emphasis"><em>right</em></span>, and <span class="emphasis"><em>center</em></span>
+(defaults to <span class="emphasis"><em>left</em></span>). Overridden by <a class="link" href="ch23.html#X70" title="23.4. Column Specifiers">Column specifiers</a> and
+<a class="link" href="ch23.html#X84" title="23.5. Cell Specifiers">Cell specifiers</a>.
+</dd><dt><span class="term">
+valign
+</span></dt><dd>
+Use the <span class="emphasis"><em>valign</em></span> attribute to vertically align all cells in a table.
+The following values are valid: <span class="emphasis"><em>top</em></span>, <span class="emphasis"><em>bottom</em></span>, and <span class="emphasis"><em>middle</em></span>
+(defaults to <span class="emphasis"><em>top</em></span>). Overridden by <a class="link" href="ch23.html#X70" title="23.4. Column Specifiers">Column specifiers</a> and
+<a class="link" href="ch23.html#X84" title="23.5. Cell Specifiers">Cell specifiers</a>.
+</dd><dt><span class="term">
+options
+</span></dt><dd>
+The <span class="emphasis"><em>options</em></span> attribute can contain comma separated values, for
+example: <span class="emphasis"><em>header</em></span>, <span class="emphasis"><em>footer</em></span>. By default header and footer rows are
+omitted. See <a class="link" href="apf.html" title="Appendix F. Attribute Options">attribute options</a> for a complete list of
+available table options.
+</dd><dt><span class="term">
+cols
+</span></dt><dd><p class="simpara">
+The <span class="emphasis"><em>cols</em></span> attribute is a comma separated list of <a class="link" href="ch23.html#X70" title="23.4. Column Specifiers">column specifiers</a>. For example <code class="literal">cols="2&lt;p,2*,4p,&gt;"</code>.
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+If <span class="emphasis"><em>cols</em></span> is present it must specify all columns.
+</li><li class="listitem">
+If the <span class="emphasis"><em>cols</em></span> attribute is not specified the number of columns is
+ calculated as the number of data items in the <span class="strong"><strong>first line</strong></span> of the
+ table.
+</li><li class="listitem">
+The degenerate form for the <span class="emphasis"><em>cols</em></span> attribute is an integer
+ specifying the number of columns e.g. <code class="literal">cols=4</code>.
+</li></ul></div></dd><dt><span class="term">
+width
+</span></dt><dd>
+The <span class="emphasis"><em>width</em></span> attribute is expressed as a percentage value
+(<span class="emphasis"><em>"1%"</em></span>…<span class="emphasis"><em>"99%"</em></span>). The width specifies the table width relative to
+the available width. HTML backends use this value to set the table
+width attribute. It’s a bit more complicated with DocBook, see the
+<a class="link" href="ch23.html#X89" title="DocBook table widths">DocBook table widths</a> sidebar.
+</dd><dt><span class="term">
+filter
+</span></dt><dd>
+The <span class="emphasis"><em>filter</em></span> attribute defines an external shell command that is
+invoked for each cell. The built-in <span class="emphasis"><em>asciidoc</em></span> table style is
+implemented using a filter.
+</dd></dl></div><div class="sidebar"><a id="X89"></a><div class="titlepage"><div><div><p class="title"><strong>DocBook table widths</strong></p></div></div></div><p>The AsciiDoc docbook backend generates CALS tables. CALS tables do not
+support a table width attribute — table width can only be controlled
+by specifying absolute column widths.</p><p>Specifying absolute column widths is not media independent because
+different presentation media have different physical dimensions. To
+get round this limitation both
+<a class="ulink" href="http://www.sagehill.net/docbookxsl/Tables.html#TableWidth" target="_top">DocBook XSL
+Stylesheets</a> and
+<a class="ulink" href="http://dblatex.sourceforge.net/doc/manual/ch03s05.html#sec-table-width" target="_top">dblatex</a>
+have implemented table width processing instructions for setting the
+table width as a percentage of the available width. AsciiDoc emits
+these processing instructions if the <span class="emphasis"><em>width</em></span> attribute is set along
+with proportional column widths (the AsciiDoc docbook backend
+<span class="emphasis"><em>pageunits</em></span> attribute defaults to <span class="emphasis"><em>*</em></span>).</p><p>To generate DocBook tables with absolute column widths set the
+<span class="emphasis"><em>pageunits</em></span> attribute to a CALS absolute unit such as <span class="emphasis"><em>pt</em></span> and set the
+<span class="emphasis"><em>pagewidth</em></span> attribute to match the width of the presentation media.</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X70"></a>23.4. Column Specifiers</h2></div></div></div><p>Column specifiers define how columns are rendered and appear in the
+table <a class="link" href="ch23.html#X69" title="23.3. Table attributes">cols attribute</a>. A column specifier consists of an
+optional column multiplier followed by optional alignment, width and
+style values and is formatted like:</p><pre class="literallayout">[&lt;multiplier&gt;*][&lt;align&gt;][&lt;width&gt;][&lt;style&gt;]</pre><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+All components are optional. The multiplier must be first and the
+ style last. The order of <code class="literal">&lt;align&gt;</code> or <code class="literal">&lt;width&gt;</code> is not important.
+</li><li class="listitem">
+Column <code class="literal">&lt;width&gt;</code> can be either an integer proportional value (1…)
+ or a percentage (1%…100%). The default value is 1. To ensure
+ portability across different backends, there is no provision for
+ absolute column widths (not to be confused with output column width
+ <a class="link" href="ch23.html#X72" title="23.7. Markup attributes">markup attributes</a> which are available in both percentage and
+ absolute units).
+</li><li class="listitem"><p class="simpara">
+The <span class="emphasis"><em>&lt;align&gt;</em></span> column alignment specifier is formatted like:
+</p><pre class="literallayout">[&lt;horizontal&gt;][.&lt;vertical&gt;]</pre><p class="simpara">Where <code class="literal">&lt;horizontal&gt;</code> and <code class="literal">&lt;vertical&gt;</code> are one of the following
+characters: <code class="literal">&lt;</code>, <code class="literal">^</code> or <code class="literal">&gt;</code> which represent <span class="emphasis"><em>left</em></span>, <span class="emphasis"><em>center</em></span> and
+<span class="emphasis"><em>right</em></span> horizontal alignment or <span class="emphasis"><em>top</em></span>, <span class="emphasis"><em>middle</em></span> and <span class="emphasis"><em>bottom</em></span> vertical
+alignment respectively.</p></li><li class="listitem">
+A <code class="literal">&lt;multiplier&gt;</code> can be used to specify repeated columns e.g.
+ <code class="literal">cols="4*&lt;"</code> specifies four left-justified columns. The default
+ multiplier value is 1.
+</li><li class="listitem">
+The <code class="literal">&lt;style&gt;</code> name specifies a <a class="link" href="ch23.html#X71" title="23.6. Table styles">table style</a> to used to markup
+ column cells (you can use the full style names if you wish but the
+ first letter is normally sufficient).
+</li><li class="listitem">
+Column specific styles are not applied to header rows.
+</li></ul></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X84"></a>23.5. Cell Specifiers</h2></div></div></div><p>Cell specifiers allow individual cells in <span class="emphasis"><em>psv</em></span> formatted tables to be
+spanned, multiplied, aligned and styled. Cell specifiers prefix <span class="emphasis"><em>psv</em></span>
+<code class="literal">|</code> delimiters and are formatted like:</p><pre class="literallayout">[&lt;span&gt;*|+][&lt;align&gt;][&lt;style&gt;]</pre><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p class="simpara">
+<span class="emphasis"><em>&lt;span&gt;</em></span> specifies horizontal and vertical cell spans (<span class="emphasis"><em>+</em></span> operator) or
+ the number of times the cell is replicated (<span class="emphasis"><em>*</em></span> operator). <span class="emphasis"><em>&lt;span&gt;</em></span>
+ is formatted like:
+</p><pre class="literallayout">[&lt;colspan&gt;][.&lt;rowspan&gt;]</pre><p class="simpara">Where <code class="literal">&lt;colspan&gt;</code> and <code class="literal">&lt;rowspan&gt;</code> are integers specifying the number of
+columns and rows to span.</p></li><li class="listitem">
+<code class="literal">&lt;align&gt;</code> specifies horizontal and vertical cell alignment an is the
+ same as in <a class="link" href="ch23.html#X70" title="23.4. Column Specifiers">column specifiers</a>.
+</li><li class="listitem">
+A <code class="literal">&lt;style&gt;</code> value is the first letter of <a class="link" href="ch23.html#X71" title="23.6. Table styles">table style</a> name.
+</li></ul></div><p>For example, the following <span class="emphasis"><em>psv</em></span> formatted cell will span two columns
+and the text will be centered and emphasized:</p><pre class="literallayout">`2+^e| Cell text`</pre></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X71"></a>23.6. Table styles</h2></div></div></div><p>Table styles can be applied to the entire table (by setting the
+<span class="emphasis"><em>style</em></span> attribute in the table’s attribute list) or on a per column
+basis (by specifying the style in the table’s <a class="link" href="ch23.html#X69" title="23.3. Table attributes">cols attribute</a>).
+Table data can be formatted using the following predefined styles:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+default
+</span></dt><dd>
+The default style: AsciiDoc inline text formatting; blank lines are
+treated as paragraph breaks.
+</dd><dt><span class="term">
+emphasis
+</span></dt><dd>
+Like default but all text is emphasised.
+</dd><dt><span class="term">
+monospaced
+</span></dt><dd>
+Like default but all text is in a monospaced font.
+</dd><dt><span class="term">
+strong
+</span></dt><dd>
+Like default but all text is bold.
+</dd><dt><span class="term">
+header
+</span></dt><dd>
+Apply the same style as the table header. Normally used to create a
+vertical header in the first column.
+</dd><dt><span class="term">
+asciidoc
+</span></dt><dd>
+With this style table cells can contain any of the AsciiDoc elements
+that are allowed inside document sections. This style runs asciidoc(1)
+as a filter to process cell contents. See also <a class="link" href="ch23.html#X83" title="23.9. DocBook table limitations">Docbook table limitations</a>.
+</dd><dt><span class="term">
+literal
+</span></dt><dd>
+No text formatting; monospaced font; all line breaks are retained
+(the same as the AsciiDoc <a class="link" href="ch16.html#X65" title="16.3. Literal Blocks">LiteralBlock</a> element).
+</dd><dt><span class="term">
+verse
+</span></dt><dd>
+All line breaks are retained (just like the AsciiDoc <a class="link" href="ch15.html#X94" title="15.3. quote and verse paragraph styles">verse paragraph style</a>).
+</dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X72"></a>23.7. Markup attributes</h2></div></div></div><p>AsciiDoc makes a number of attributes available to table markup
+templates and tags. Column specific attributes are available when
+substituting the <span class="emphasis"><em>colspec</em></span> cell data tags.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+pageunits
+</span></dt><dd>
+DocBook backend only. Specifies table column absolute width units.
+Defaults to <span class="emphasis"><em>*</em></span>.
+</dd><dt><span class="term">
+pagewidth
+</span></dt><dd>
+DocBook backend only. The nominal output page width in <span class="emphasis"><em>pageunit</em></span>
+units. Used to calculate CALS tables absolute column and table
+widths. Defaults to <span class="emphasis"><em>425</em></span>.
+</dd><dt><span class="term">
+tableabswidth
+</span></dt><dd>
+Integer value calculated from <span class="emphasis"><em>width</em></span> and <span class="emphasis"><em>pagewidth</em></span> attributes.
+In <span class="emphasis"><em>pageunit</em></span> units.
+</dd><dt><span class="term">
+tablepcwidth
+</span></dt><dd>
+Table width expressed as a percentage of the available width. Integer
+value (0..100).
+</dd><dt><span class="term">
+colabswidth
+</span></dt><dd>
+Integer value calculated from <span class="emphasis"><em>cols</em></span> column width, <span class="emphasis"><em>width</em></span> and
+<span class="emphasis"><em>pagewidth</em></span> attributes. In <span class="emphasis"><em>pageunit</em></span> units.
+</dd><dt><span class="term">
+colpcwidth
+</span></dt><dd>
+Column width expressed as a percentage of the table width. Integer
+value (0..100).
+</dd><dt><span class="term">
+colcount
+</span></dt><dd>
+Total number of table columns.
+</dd><dt><span class="term">
+rowcount
+</span></dt><dd>
+Total number of table rows.
+</dd><dt><span class="term">
+halign
+</span></dt><dd>
+Horizontal cell content alignment: <span class="emphasis"><em>left</em></span>, <span class="emphasis"><em>right</em></span> or <span class="emphasis"><em>center</em></span>.
+</dd><dt><span class="term">
+valign
+</span></dt><dd>
+Vertical cell content alignment: <span class="emphasis"><em>top</em></span>, <span class="emphasis"><em>bottom</em></span> or <span class="emphasis"><em>middle</em></span>.
+</dd><dt><span class="term">
+colnumber, colstart
+</span></dt><dd>
+The number of the leftmost column occupied by the cell (1…).
+</dd><dt><span class="term">
+colend
+</span></dt><dd>
+The number of the rightmost column occupied by the cell (1…).
+</dd><dt><span class="term">
+colspan
+</span></dt><dd>
+Number of columns the cell should span.
+</dd><dt><span class="term">
+rowspan
+</span></dt><dd>
+Number of rows the cell should span (1…).
+</dd><dt><span class="term">
+morerows
+</span></dt><dd>
+Number of additional rows the cell should span (0…).
+</dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_nested_tables"></a>23.8. Nested tables</h2></div></div></div><p>An alternative <span class="emphasis"><em>psv</em></span> separator character <span class="emphasis"><em>!</em></span> can be used (instead of
+<span class="emphasis"><em>|</em></span>) in nested tables. This allows a single level of table nesting.
+Columns containing nested tables must use the <span class="emphasis"><em>asciidoc</em></span> style. An
+example can be found in <code class="literal">./examples/website/newtables.txt</code>.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X83"></a>23.9. DocBook table limitations</h2></div></div></div><p>Fully implementing tables is not trivial, some DocBook toolchains do
+better than others. AsciiDoc HTML table outputs are rendered
+correctly in all the popular browsers — if your DocBook generated
+tables don’t look right compare them with the output generated by the
+AsciiDoc <span class="emphasis"><em>xhtml11</em></span> backend or try a different DocBook toolchain. Here
+is a list of things to be aware of:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p class="simpara">
+Although nested tables are not legal in DocBook 4 the FOP and
+ dblatex toolchains will process them correctly. If you use <code class="literal">a2x(1)</code>
+ you will need to include the <code class="literal">--no-xmllint</code> option to suppress
+ DocBook validation errors.
+</p><div class="note" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/icons/note.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>In theory you can nest DocBook 4 tables one level using the
+<span class="emphasis"><em>entrytbl</em></span> element, but not all toolchains process <span class="emphasis"><em>entrytbl</em></span>.</p></td></tr></table></div></li><li class="listitem">
+DocBook only allows a subset of block elements inside table cells so
+ not all AsciiDoc elements produce valid DocBook inside table cells.
+ If you get validation errors running <code class="literal">a2x(1)</code> try the <code class="literal">--no-xmllint</code>
+ option, toolchains will often process nested block elements such as
+ sidebar blocks and floating titles correctly even though, strictly
+ speaking, they are not legal.
+</li><li class="listitem">
+Text formatting in cells using the <span class="emphasis"><em>monospaced</em></span> table style will
+ raise validation errors because the DocBook <span class="emphasis"><em>literal</em></span> element was
+ not designed to support formatted text (using the <span class="emphasis"><em>literal</em></span> element
+ is a kludge on the part of AsciiDoc as there is no easy way to set
+ the font style in DocBook.
+</li><li class="listitem">
+Cell alignments are ignored for <span class="emphasis"><em>verse</em></span>, <span class="emphasis"><em>literal</em></span> or <span class="emphasis"><em>asciidoc</em></span>
+ table styles.
+</li></ul></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch22.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch24.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch24.html b/chunked/ch24.html
new file mode 100644
index 0000000..2ac16f7
--- /dev/null
+++ b/chunked/ch24.html
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 24. Manpage Documents</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch23.html" title="Chapter 23. Tables" /><link rel="next" href="ch25.html" title="Chapter 25. Mathematical Formulas" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch23.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch25.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="X1"></a>Chapter 24. Manpage Documents</h1></div></div></div><p>Sooner or later, if you program in a UNIX environment, you’re going
+to have to write a man page.</p><p>By observing a couple of additional conventions (detailed below) you
+can write AsciiDoc files that will generate HTML and PDF man pages
+plus the native manpage roff format. The easiest way to generate roff
+manpages from AsciiDoc source is to use the a2x(1) command. The
+following example generates a roff formatted manpage file called
+<code class="literal">asciidoc.1</code> (a2x(1) uses asciidoc(1) to convert <code class="literal">asciidoc.1.txt</code> to
+DocBook which it then converts to roff using DocBook XSL Stylesheets):</p><pre class="literallayout">a2x --doctype manpage --format manpage asciidoc.1.txt</pre><div class="sidebar"><div class="titlepage"><div><div><p class="title"><strong>Viewing and printing manpage files</strong></p></div></div></div><p>Use the <code class="literal">man(1)</code> command to view the manpage file:</p><pre class="literallayout">$ man -l asciidoc.1</pre><p>To print a high quality man page to a postscript printer:</p><pre class="literallayout">$ man -l -Tps asciidoc.1 | lpr</pre><p>You could also create a PDF version of the man page by converting
+PostScript to PDF using <code class="literal">ps2pdf(1)</code>:</p><pre class="literallayout">$ man -l -Tps asciidoc.1 | ps2pdf - asciidoc.1.pdf</pre><p>The <code class="literal">ps2pdf(1)</code> command is included in the Ghostscript distribution.</p></div><p>To find out more about man pages view the <code class="literal">man(7)</code> manpage
+(<code class="literal">man 7 man</code> and <code class="literal">man man-pages</code> commands).</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_document_header"></a>24.1. Document Header</h2></div></div></div><p>A manpage document Header is mandatory. The title line contains the
+man page name followed immediately by the manual section number in
+brackets, for example <span class="emphasis"><em>ASCIIDOC(1)</em></span>. The title name should not contain
+white space and the manual section number is a single digit optionally
+followed by a single character.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_the_name_section"></a>24.2. The NAME Section</h2></div></div></div><p>The first manpage section is mandatory, must be titled <span class="emphasis"><em>NAME</em></span> and must
+contain a single paragraph (usually a single line) consisting of a
+list of one or more comma separated command name(s) separated from the
+command purpose by a dash character. The dash must have at least one
+white space character on either side. For example:</p><pre class="literallayout">printf, fprintf, sprintf - print formatted output</pre></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_the_synopsis_section"></a>24.3. The SYNOPSIS Section</h2></div></div></div><p>The second manpage section is mandatory and must be titled <span class="emphasis"><em>SYNOPSIS</em></span>.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_refmiscinfo_attributes"></a>24.4. refmiscinfo attributes</h2></div></div></div><p>In addition to the automatically created man page <a class="link" href="ch31.html" title="Chapter 31. Intrinsic Attributes">intrinsic attributes</a> you can assign DocBook
+<a class="ulink" href="http://www.docbook.org/tdg5/en/html/refmiscinfo.html" target="_top">refmiscinfo</a>
+element <span class="emphasis"><em>source</em></span>, <span class="emphasis"><em>version</em></span> and <span class="emphasis"><em>manual</em></span> values using AsciiDoc
+<code class="literal">{mansource}</code>, <code class="literal">{manversion}</code> and <code class="literal">{manmanual}</code> attributes
+respectively. This example is from the AsciiDoc header of a man page
+source file:</p><pre class="literallayout">:man source: AsciiDoc
+:man version: {revnumber}
+:man manual: AsciiDoc Manual</pre></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch23.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch25.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch25.html b/chunked/ch25.html
new file mode 100644
index 0000000..fa26ce4
--- /dev/null
+++ b/chunked/ch25.html
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 25. Mathematical Formulas</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch24.html" title="Chapter 24. Manpage Documents" /><link rel="next" href="ch26.html" title="Chapter 26. Configuration Files" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch24.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch26.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="X78"></a>Chapter 25. Mathematical Formulas</h1></div></div></div><p>The <span class="emphasis"><em>asciimath</em></span> and <span class="emphasis"><em>latexmath</em></span> <a class="link" href="ch16.html#X76" title="16.6. Passthrough Blocks">passthrough blocks</a> along with
+the <span class="emphasis"><em>asciimath</em></span> and <span class="emphasis"><em>latexmath</em></span> <a class="link" href="ch21.html#X77" title="21.4. Passthrough macros">passthrough macros</a> provide a
+(backend dependent) mechanism for rendering mathematical formulas. You
+can use the following math markups:</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_latex_math"></a>25.1. LaTeX Math</h2></div></div></div><p><a class="ulink" href="ftp://ftp.ams.org/pub/tex/doc/amsmath/short-math-guide.pdf" target="_top">LaTeX
+math</a> can be included in documents that are processed by
+<a class="link" href="ch05.html#X31">dblatex(1)</a>. Example inline formula:</p><pre class="literallayout">latexmath:[$C = \alpha + \beta Y^{\gamma} + \epsilon$]</pre><p>For more examples see the <a class="ulink" href="https://asciidoc.org/" target="_top">AsciiDoc website</a> or the
+distributed <code class="literal">doc/latexmath.txt</code> file.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_mathjax"></a>25.2. MathJax</h2></div></div></div><p><a class="ulink" href="http://www.mathjax.org/" target="_top">MathJax</a> allows LaTeX Math style formulas to be included
+in XHTML documents generated via the AsciiDoc <span class="emphasis"><em>xhtml11</em></span> and <span class="emphasis"><em>html5</em></span> backends.
+This route overcomes several restrictions of the MathML-based approaches,
+notably, restricted support of MathML by many mainstream browsers. To enable
+<span class="emphasis"><em>MathJax</em></span> support you must define the <span class="emphasis"><em>mathjax</em></span> attribute, for example using the
+<code class="literal">-a mathjax</code> command-line option. Equations are specified as explained above
+using the <span class="emphasis"><em>latexmath</em></span> passthrough blocks. By default, rendering of equations
+with <span class="emphasis"><em>MathJax</em></span> requires a working internet connection and will thus not work if
+you are offline (but it can be configured differently).</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_latexmathml"></a>25.3. LaTeXMathML</h2></div></div></div><p><span class="emphasis"><em>LaTeXMathML</em></span> allows LaTeX Math style formulas to be included in XHTML
+documents generated using the AsciiDoc <span class="emphasis"><em>xhtml11</em></span> and <span class="emphasis"><em>html5</em></span> backends.
+AsciiDoc uses the
+<a class="ulink" href="http://www.maths.nottingham.ac.uk/personal/drw/lm.html" target="_top">original
+LaTeXMathML</a> by Douglas Woodall. <span class="emphasis"><em>LaTeXMathML</em></span> is derived from
+ASCIIMathML and is for users who are more familiar with or prefer
+using LaTeX math formulas (it recognizes a subset of LaTeX Math, the
+differences are documented on the <span class="emphasis"><em>LaTeXMathML</em></span> web page). To enable
+LaTeXMathML support you must define the <span class="emphasis"><em>latexmath</em></span> attribute, for
+example using the <code class="literal">-a latexmath</code> command-line option. Example inline
+formula:</p><pre class="literallayout">latexmath:[$\sum_{n=1}^\infty \frac{1}{2^n}$]</pre><p>For more examples see the <a class="ulink" href="https://asciidoc.org/" target="_top">AsciiDoc website</a> or the
+distributed <code class="literal">doc/latexmathml.txt</code> file.</p><div class="note" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/icons/note.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>The <span class="emphasis"><em>latexmath</em></span> macro used to include <span class="emphasis"><em>LaTeX Math</em></span> in DocBook
+outputs is not the same as the <span class="emphasis"><em>latexmath</em></span> macro used to include
+<span class="emphasis"><em>LaTeX MathML</em></span> in XHTML outputs. <span class="emphasis"><em>LaTeX Math</em></span> applies to DocBook
+outputs that are processed by <a class="link" href="ch05.html#X31">dblatex</a> and is normally used to
+generate PDF files. <span class="emphasis"><em>LaTeXMathML</em></span> is very much a subset of <span class="emphasis"><em>LaTeX
+Math</em></span> and applies to XHTML documents. This remark does not
+apply to <span class="emphasis"><em>MathJax</em></span> which does not use any of the <span class="emphasis"><em>latexmath</em></span> macros
+(but only requires the <span class="emphasis"><em>latexmath</em></span> passthrough blocks for identification
+of the equations).</p></td></tr></table></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_asciimathml"></a>25.4. ASCIIMathML</h2></div></div></div><p><a class="ulink" href="http://www1.chapman.edu/~jipsen/mathml/asciimath.html" target="_top">ASCIIMathML</a>
+formulas can be included in XHTML documents generated using the
+<span class="emphasis"><em>xhtml11</em></span> and <span class="emphasis"><em>html5</em></span> backends. To enable ASCIIMathML support you must
+define the <span class="emphasis"><em>asciimath</em></span> attribute, for example using the <code class="literal">-a asciimath</code>
+command-line option. Example inline formula:</p><pre class="literallayout">asciimath:[`x/x={(1,if x!=0),(text{undefined},if x=0):}`]</pre><p>For more examples see the <a class="ulink" href="https://asciidoc.org/" target="_top">AsciiDoc website</a> or the
+distributed <code class="literal">doc/asciimathml.txt</code> file.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_mathml"></a>25.5. MathML</h2></div></div></div><p><a class="ulink" href="http://www.w3.org/Math/" target="_top">MathML</a> is a low level XML markup for
+mathematics. AsciiDoc has no macros for MathML but users familiar with
+this markup could use passthrough macros and passthrough blocks to
+include MathML in output documents.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch24.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch26.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch26.html b/chunked/ch26.html
new file mode 100644
index 0000000..4f921d7
--- /dev/null
+++ b/chunked/ch26.html
@@ -0,0 +1,374 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 26. Configuration Files</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch25.html" title="Chapter 25. Mathematical Formulas" /><link rel="next" href="ch27.html" title="Chapter 27. Document Attributes" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch25.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch27.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="X7"></a>Chapter 26. Configuration Files</h1></div></div></div><p>AsciiDoc source file syntax and output file markup is largely
+controlled by a set of cascading, text based, configuration files. At
+runtime The AsciiDoc default configuration files are combined with
+optional user and document specific configuration files.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_configuration_file_format"></a>26.1. Configuration File Format</h2></div></div></div><p>Configuration files contain named sections. Each section begins with a
+section name in square brackets []. The section body consists of the
+lines of text between adjacent section headings.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Section names consist of one or more alphanumeric, underscore or
+ dash characters and cannot begin or end with a dash.
+</li><li class="listitem">
+Lines starting with a <span class="emphasis"><em>#</em></span> character are treated as comments and
+ ignored.
+</li><li class="listitem">
+If the section name is prefixed with a <span class="emphasis"><em>+</em></span> character then the
+ section contents is appended to the contents of an already existing
+ same-named section.
+</li><li class="listitem">
+Otherwise same-named sections and section entries override
+ previously loaded sections and section entries (this is sometimes
+ referred to as <span class="emphasis"><em>cascading</em></span>). Consequently, downstream configuration
+ files need only contain those sections and section entries that need
+ to be overridden.
+</li></ul></div><div class="tip" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="images/icons/tip.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>When creating custom configuration files you only need to include
+the sections and entries that differ from the default configuration.</p></td></tr></table></div><div class="tip" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="images/icons/tip.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>The best way to learn about configuration files is to read the
+default configuration files in the AsciiDoc distribution in
+conjunction with asciidoc(1) output files. You can view configuration
+file load sequence by turning on the asciidoc(1) <code class="literal">-v</code> (<code class="literal">--verbose</code>)
+command-line option.</p></td></tr></table></div><p>AsciiDoc reserves the following section names for specific purposes:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+miscellaneous
+</span></dt><dd>
+ Configuration options that don’t belong anywhere else.
+</dd><dt><span class="term">
+attributes
+</span></dt><dd>
+ Attribute name/value entries.
+</dd><dt><span class="term">
+specialcharacters
+</span></dt><dd>
+ Special characters reserved by the backend markup.
+</dd><dt><span class="term">
+tags
+</span></dt><dd>
+ Backend markup tags.
+</dd><dt><span class="term">
+quotes
+</span></dt><dd>
+ Definitions for quoted inline character formatting.
+</dd><dt><span class="term">
+specialwords
+</span></dt><dd>
+ Lists of words and phrases singled out for special markup.
+</dd><dt><span class="term">
+replacements, replacements2, replacements3
+</span></dt><dd>
+ Find and replace substitution definitions.
+</dd><dt><span class="term">
+specialsections
+</span></dt><dd>
+ Used to single out special section names for specific markup.
+</dd><dt><span class="term">
+macros
+</span></dt><dd>
+ Macro syntax definitions.
+</dd><dt><span class="term">
+titles
+</span></dt><dd>
+ Heading, section and block title definitions.
+</dd><dt><span class="term">
+paradef-*
+</span></dt><dd>
+ Paragraph element definitions.
+</dd><dt><span class="term">
+blockdef-*
+</span></dt><dd>
+ DelimitedBlock element definitions.
+</dd><dt><span class="term">
+listdef-*
+</span></dt><dd>
+ List element definitions.
+</dd><dt><span class="term">
+listtags-*
+</span></dt><dd>
+ List element tag definitions.
+</dd><dt><span class="term">
+tabledef-*
+</span></dt><dd>
+ Table element definitions.
+</dd><dt><span class="term">
+tabletags-*
+</span></dt><dd>
+ Table element tag definitions.
+</dd></dl></div><p>Each line of text in these sections is a <span class="emphasis"><em>section entry</em></span>. Section
+entries share the following syntax:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+name=value
+</span></dt><dd>
+ The entry value is set to value.
+</dd><dt><span class="term">
+name=
+</span></dt><dd>
+ The entry value is set to a zero length string.
+</dd><dt><span class="term">
+name!
+</span></dt><dd>
+ The entry is undefined (deleted from the configuration). This
+ syntax only applies to <span class="emphasis"><em>attributes</em></span> and <span class="emphasis"><em>miscellaneous</em></span>
+ sections.
+</dd></dl></div><div class="itemizedlist"><p class="title"><strong>Section entry behavior</strong></p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+All equals characters inside the <code class="literal">name</code> must be escaped with a
+ backslash character.
+</li><li class="listitem">
+<code class="literal">name</code> and <code class="literal">value</code> are stripped of leading and trailing white space.
+</li><li class="listitem">
+Attribute names, tag entry names and markup template section names
+ consist of one or more alphanumeric, underscore or dash characters.
+ Names should not begin or end with a dash.
+</li><li class="listitem">
+A blank configuration file section (one without any entries) deletes
+ any preceding section with the same name (applies to non-markup
+ template sections).
+</li></ul></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_miscellaneous_section"></a>26.2. Miscellaneous section</h2></div></div></div><p>The optional <code class="literal">[miscellaneous]</code> section specifies the following
+<code class="literal">name=value</code> options:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+newline
+</span></dt><dd><p class="simpara">
+ Output file line termination characters. Can include any
+ valid Python string escape sequences. The default value is
+ <code class="literal">\r\n</code> (carriage return, line feed). Should not be quoted or
+ contain explicit spaces (use <code class="literal">\x20</code> instead). For example:
+</p><pre class="literallayout">$ asciidoc -a 'newline=\n' -b docbook mydoc.txt</pre></dd><dt><span class="term">
+outfilesuffix
+</span></dt><dd>
+ The default extension for the output file, for example
+ <code class="literal">outfilesuffix=.html</code>. Defaults to backend name.
+</dd><dt><span class="term">
+tabsize
+</span></dt><dd>
+ The number of spaces to expand tab characters, for example
+ <code class="literal">tabsize=4</code>. Defaults to 8. A <span class="emphasis"><em>tabsize</em></span> of zero suppresses tab
+ expansion (useful when piping included files through block
+ filters). Included files can override this option using the
+ <span class="emphasis"><em>tabsize</em></span> attribute.
+</dd><dt><span class="term">
+pagewidth, pageunits
+</span></dt><dd>
+ These global table related options are documented in the
+ <a class="link" href="ch32.html#X4">Table Configuration File Definitions</a> sub-section.
+</dd></dl></div><div class="note" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/icons/note.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p><code class="literal">[miscellaneous]</code> configuration file entries can be set using
+the asciidoc(1) <code class="literal">-a</code> (<code class="literal">--attribute</code>) command-line option.</p></td></tr></table></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_titles_section"></a>26.3. Titles section</h2></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+sectiontitle
+</span></dt><dd>
+ Two line section title pattern. The entry value is a Python
+ regular expression containing the named group <span class="emphasis"><em>title</em></span>.
+</dd><dt><span class="term">
+underlines
+</span></dt><dd><p class="simpara">
+ A comma separated list of document and section title underline
+ character pairs starting with the section level 0 and ending
+ with section level 4 underline. The default setting is:
+</p><pre class="literallayout">underlines="==","--","~~","^^","++"</pre></dd><dt><span class="term">
+sect0…sect4
+</span></dt><dd>
+ One line section title patterns. The entry value is a Python
+ regular expression containing the named group <span class="emphasis"><em>title</em></span>.
+</dd><dt><span class="term">
+blocktitle
+</span></dt><dd>
+ <a class="link" href="ch12.html" title="Chapter 12. Block Titles">BlockTitle element</a> pattern. The entry value is a
+ Python regular expression containing the named group <span class="emphasis"><em>title</em></span>.
+</dd><dt><span class="term">
+subs
+</span></dt><dd>
+ A comma separated list of substitutions that are performed on
+ the document header and section titles. Defaults to <span class="emphasis"><em>normal</em></span>
+ substitution.
+</dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_tags_section"></a>26.4. Tags section</h2></div></div></div><p>The <code class="literal">[tags]</code> section contains backend tag definitions (one per
+line). Tags are used to translate AsciiDoc elements to backend
+markup.</p><p>An AsciiDoc tag definition is formatted like
+<code class="literal">&lt;tagname&gt;=&lt;starttag&gt;|&lt;endtag&gt;</code>. For example:</p><pre class="literallayout">emphasis=&lt;em&gt;|&lt;/em&gt;</pre><p>In this example asciidoc(1) replaces the | character with the
+emphasized text from the AsciiDoc input file and writes the result to
+the output file.</p><p>Use the <code class="literal">{brvbar}</code> attribute reference if you need to include a | pipe
+character inside tag text.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_attributes_section"></a>26.5. Attributes section</h2></div></div></div><p>The optional <code class="literal">[attributes]</code> section contains predefined attributes.</p><p>If the attribute value requires leading or trailing spaces then the
+text text should be enclosed in quotation mark (") characters.</p><p>To delete a attribute insert a <code class="literal">name!</code> entry in a downstream
+configuration file or use the asciidoc(1) <code class="literal">--attribute name!</code>
+command-line option (an attribute name suffixed with a <code class="literal">!</code> character
+deletes the attribute)</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_special_characters_section"></a>26.6. Special Characters section</h2></div></div></div><p>The <code class="literal">[specialcharacters]</code> section specifies how to escape characters
+reserved by the backend markup. Each translation is specified on a
+single line formatted like:</p><pre class="literallayout">&lt;special_character&gt;=&lt;translated_characters&gt;</pre><p>Special characters are normally confined to those that resolve
+markup ambiguity (in the case of HTML and XML markups the ampersand,
+less than and greater than characters). The following example causes
+all occurrences of the <code class="literal">&lt;</code> character to be replaced by <code class="literal">&amp;lt;</code>.</p><pre class="literallayout">&lt;=&amp;lt;</pre></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_quoted_text_section"></a>26.7. Quoted Text section</h2></div></div></div><p>Quoting is used primarily for text formatting. The <code class="literal">[quotes]</code> section
+defines AsciiDoc quoting characters and their corresponding backend
+markup tags. Each section entry value is the name of a of a <code class="literal">[tags]</code>
+section entry. The entry name is the character (or characters) that
+quote the text. The following examples are taken from AsciiDoc
+configuration files:</p><pre class="literallayout">[quotes]
+_=emphasis</pre><pre class="literallayout">[tags]
+emphasis=&lt;em&gt;|&lt;/em&gt;</pre><p>You can specify the left and right quote strings separately by
+separating them with a | character, for example:</p><pre class="literallayout">``|''=quoted</pre><p>Omitting the tag will disable quoting, for example, if you don’t want
+superscripts or subscripts put the following in a custom configuration
+file or edit the global <code class="literal">asciidoc.conf</code> configuration file:</p><pre class="literallayout">[quotes]
+^=
+~=</pre><p><a class="link" href="ch10.html#X52" title="10.1.2. Constrained and Unconstrained Quotes">Unconstrained quotes</a> are differentiated from constrained
+quotes by prefixing the tag name with a hash character, for example:</p><pre class="literallayout">__=#emphasis</pre><div class="itemizedlist"><p class="title"><strong>Quoted text behavior</strong></p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Quote characters must be non-alphanumeric.
+</li><li class="listitem">
+To minimize quoting ambiguity try not to use the same quote
+ characters in different quote types.
+</li></ul></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_special_words_section"></a>26.8. Special Words section</h2></div></div></div><p>The <code class="literal">[specialwords]</code> section is used to single out words and phrases
+that you want to consistently format in some way throughout your
+document without having to repeatedly specify the markup. The name of
+each entry corresponds to a markup template section and the entry
+value consists of a list of words and phrases to be marked up. For
+example:</p><pre class="literallayout">[specialwords]
+strongwords=NOTE IMPORTANT</pre><pre class="literallayout">[strongwords]
+&lt;strong&gt;{words}&lt;/strong&gt;</pre><p>The examples specifies that any occurrence of <code class="literal">NOTE</code> or <code class="literal">IMPORTANT</code>
+should appear in a bold font.</p><p>Words and word phrases are treated as Python regular expressions: for
+example, the word <code class="literal">^NOTE</code> would only match <code class="literal">NOTE</code> if appeared at
+the start of a line.</p><p>AsciiDoc comes with three built-in Special Word types:
+<span class="emphasis"><em>emphasizedwords</em></span>, <span class="emphasis"><em>monospacedwords</em></span> and <span class="emphasis"><em>strongwords</em></span>, each has a
+corresponding (backend specific) markup template section. Edit the
+configuration files to customize existing Special Words and to add new
+ones.</p><div class="itemizedlist"><p class="title"><strong>Special word behavior</strong></p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Word list entries must be separated by space characters.
+</li><li class="listitem">
+Word list entries with embedded spaces should be enclosed in quotation (")
+ characters.
+</li><li class="listitem">
+A <code class="literal">[specialwords]</code> section entry of the form
+ <code class="literal">name=word1 [word2…]</code> adds words to existing <code class="literal">name</code> entries.
+</li><li class="listitem">
+A <code class="literal">[specialwords]</code> section entry of the form <code class="literal">name</code> undefines
+ (deletes) all existing <code class="literal">name</code> words.
+</li><li class="listitem">
+Since word list entries are processed as Python regular expressions
+ you need to be careful to escape regular expression special
+ characters.
+</li><li class="listitem">
+By default Special Words are substituted before Inline Macros, this
+ may lead to undesirable consequences. For example the special word
+ <code class="literal">foobar</code> would be expanded inside the macro call
+ <code class="literal">http://www.foobar.com[]</code>. A possible solution is to emphasize
+ whole words only by defining the word using regular expression
+ characters, for example <code class="literal">\bfoobar\b</code>.
+</li><li class="listitem">
+If the first matched character of a special word is a backslash then
+ the remaining characters are output without markup i.e. the
+ backslash can be used to escape special word markup. For example
+ the special word <code class="literal">\\?\b[Tt]en\b</code> will mark up the words <code class="literal">Ten</code> and
+ <code class="literal">ten</code> only if they are not preceded by a backslash.
+</li></ul></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X10"></a>26.9. Replacements section</h2></div></div></div><p><code class="literal">[replacements]</code>, <code class="literal">[replacements2]</code> and <code class="literal">[replacements3]</code>
+configuration file entries specify find and replace text and are
+formatted like:</p><pre class="literallayout">&lt;find_pattern&gt;=&lt;replacement_text&gt;</pre><p>The find text can be a Python regular expression; the replace text can
+contain Python regular expression group references.</p><p>Use Replacement shortcuts for often used macro references, for
+example (the second replacement allows us to backslash escape the
+macro name):</p><pre class="literallayout">NEW!=image:./images/smallnew.png[New!]
+\\NEW!=NEW!</pre><p>The only difference between the three replacement types is how they
+are applied. By default <span class="emphasis"><em>replacements</em></span> and <span class="emphasis"><em>replacements2</em></span> are applied
+in <a class="link" href="ch32.html#X102">normal</a> substitution contexts whereas <span class="emphasis"><em>replacements3</em></span> needs
+to be configured explicitly and should only be used in backend
+configuration files.</p><div class="itemizedlist"><p class="title"><strong>Replacement behavior</strong></p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+The built-in replacements can be escaped with a backslash.
+</li><li class="listitem">
+If the find or replace text has leading or trailing spaces then the
+ text should be enclosed in quotation (") characters.
+</li><li class="listitem">
+Since the find text is processed as a regular expression you need to
+ be careful to escape regular expression special characters.
+</li><li class="listitem">
+Replacements are performed in the same order they appear in the
+ configuration file replacements section.
+</li></ul></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_markup_template_sections"></a>26.10. Markup Template Sections</h2></div></div></div><p>Markup template sections supply backend markup for translating
+AsciiDoc elements. Since the text is normally backend dependent
+you’ll find these sections in the backend specific configuration
+files. Template sections differ from other sections in that they
+contain a single block of text instead of per line <span class="emphasis"><em>name=value</em></span>
+entries. A markup template section body can contain:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Attribute references
+</li><li class="listitem">
+System macro calls.
+</li><li class="listitem">
+A document content placeholder
+</li></ul></div><p>The document content placeholder is a single | character and is
+replaced by text from the source element. Use the <code class="literal">{brvbar}</code>
+attribute reference if you need a literal | character in the template.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X27"></a>26.11. Configuration file names, precedence and locations</h2></div></div></div><p>Configuration files have a <code class="literal">.conf</code> file name extension; they are
+loaded from the following locations:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
+The directory containing the asciidoc executable.
+</li><li class="listitem">
+If there is no <code class="literal">asciidoc.conf</code> file in the directory containing the
+ asciidoc executable then load from the global configuration
+ directory (normally <code class="literal">/etc/asciidoc</code> or <code class="literal">/usr/local/etc/asciidoc</code>)
+ i.e. the global configuration files directory is skipped if
+ AsciiDoc configuration files are installed in the same directory as
+ the asciidoc executable. This allows both a system wide copy and
+ multiple local copies of AsciiDoc to coexist on the same host PC.
+</li><li class="listitem">
+The user’s <code class="literal">$HOME/.asciidoc</code> directory (if it exists).
+</li><li class="listitem">
+The directory containing the AsciiDoc source file.
+</li><li class="listitem"><p class="simpara">
+Explicit configuration files specified using:
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+The <code class="literal">conf-files</code> attribute (one or more file names separated by a
+ <code class="literal">|</code> character). These files are loaded in the order they are
+ specified and prior to files specified using the <code class="literal">--conf-file</code>
+ command-line option.
+</li><li class="listitem">
+The asciidoc(1) <code class="literal">--conf-file</code>) command-line option. The
+ <code class="literal">--conf-file</code> option can be specified multiple times, in which
+ case configuration files will be processed in the same order they
+ appear on the command-line.
+</li></ul></div></li><li class="listitem">
+<a class="link" href="ch04.html#X100" title="4.2. Backend Plugins">Backend plugin</a> configuration files are loaded from
+ subdirectories named like <code class="literal">backends/&lt;backend&gt;</code> in locations 1, 2
+ and 3.
+</li><li class="listitem">
+<a class="link" href="ch33.html" title="Chapter 33. Filters">Filter</a> configuration files are loaded from subdirectories
+ named like <code class="literal">filters/&lt;filter&gt;</code> in locations 1, 2 and 3.
+</li></ol></div><p>Configuration files from the above locations are loaded in the
+following order:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p class="simpara">
+The <code class="literal">[attributes]</code> section only from:
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem">
+<code class="literal">asciidoc.conf</code> in location 3
+</li><li class="listitem"><p class="simpara">
+Files from location 5.
+</p><p class="simpara">This first pass makes locally set attributes available in the global
+<code class="literal">asciidoc.conf</code> file.</p></li></ul></div></li><li class="listitem">
+<code class="literal">asciidoc.conf</code> from locations 1, 2, 3.
+</li><li class="listitem">
+<span class="emphasis"><em>attributes</em></span>, <span class="emphasis"><em>titles</em></span> and <span class="emphasis"><em>specialcharacters</em></span> sections from the
+ <code class="literal">asciidoc.conf</code> in location 4.
+</li><li class="listitem">
+The document header is parsed at this point and we can assume the
+ <span class="emphasis"><em>backend</em></span> and <span class="emphasis"><em>doctype</em></span> have now been defined.
+</li><li class="listitem">
+Backend plugin <code class="literal">&lt;backend&gt;.conf</code> and <code class="literal">&lt;backend&gt;-&lt;doctype&gt;.conf</code> files
+ from locations 6. If a backend plugin is not found then try
+ locations 1, 2 and 3 for <code class="literal">&lt;backend&gt;.conf</code> and
+ <code class="literal">&lt;backend&gt;-&lt;doctype&gt;.conf</code> backend configuration files.
+</li><li class="listitem">
+Filter conf files from locations 7.
+</li><li class="listitem">
+<code class="literal">lang-&lt;lang&gt;.conf</code> from locations 1, 2, 3.
+</li><li class="listitem">
+<code class="literal">asciidoc.conf</code> from location 4.
+</li><li class="listitem">
+<code class="literal">&lt;backend&gt;.conf</code> and <code class="literal">&lt;backend&gt;-&lt;doctype&gt;.conf</code> from location 4.
+</li><li class="listitem">
+Filter conf files from location 4.
+</li><li class="listitem">
+<code class="literal">&lt;docfile&gt;.conf</code> and <code class="literal">&lt;docfile&gt;-&lt;backend&gt;.conf</code> from location 4.
+</li><li class="listitem">
+Configuration files from location 5.
+</li></ul></div><p>Where:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+<code class="literal">&lt;backend&gt;</code> and <code class="literal">&lt;doctype&gt;</code> are values specified by the asciidoc(1)
+ <code class="literal">-b</code> (<code class="literal">--backend</code>) and <code class="literal">-d</code> (<code class="literal">--doctype</code>) command-line options.
+</li><li class="listitem">
+<code class="literal">&lt;infile&gt;</code> is the path name of the AsciiDoc input file without the
+ file name extension.
+</li><li class="listitem">
+<code class="literal">&lt;lang&gt;</code> is a two letter country code set by the the AsciiDoc <span class="emphasis"><em>lang</em></span>
+ attribute.
+</li></ul></div><div class="note" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/icons/note.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>The backend and language global configuration files are loaded <span class="strong"><strong>after</strong></span>
+the header has been parsed. This means that you can set most
+attributes in the document header. Here’s an example header:</p><pre class="literallayout">Life's Mysteries
+================
+:author: Hu Nose
+:doctype: book
+:toc:
+:icons:
+:data-uri:
+:lang: en
+:encoding: iso-8859-1</pre><p>Attributes set in the document header take precedence over
+configuration file attributes.</p></td></tr></table></div><div class="tip" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="images/icons/tip.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>Use the asciidoc(1) <code class="literal">-v</code> (<code class="literal">--verbose</code>) command-line option to see
+which configuration files are loaded and the order in which they are
+loaded.</p></td></tr></table></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch25.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch27.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch27.html b/chunked/ch27.html
new file mode 100644
index 0000000..27c1ca3
--- /dev/null
+++ b/chunked/ch27.html
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 27. Document Attributes</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch26.html" title="Chapter 26. Configuration Files" /><link rel="next" href="ch28.html" title="Chapter 28. Attribute Entries" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch26.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch28.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="_document_attributes"></a>Chapter 27. Document Attributes</h1></div></div></div><p>A document attribute is comprised of a <span class="emphasis"><em>name</em></span> and a textual <span class="emphasis"><em>value</em></span>
+and is used for textual substitution in AsciiDoc documents and
+configuration files. An attribute reference (an attribute name
+enclosed in braces) is replaced by the corresponding attribute
+value. Attribute names are case insensitive and can only contain
+alphanumeric, dash and underscore characters.</p><p>There are four sources of document attributes (from highest to lowest
+precedence):</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Command-line attributes.
+</li><li class="listitem">
+AttributeEntry, AttributeList, Macro and BlockId elements.
+</li><li class="listitem">
+Configuration file <code class="literal">[attributes]</code> sections.
+</li><li class="listitem">
+Intrinsic attributes.
+</li></ul></div><p>Within each of these divisions the last processed entry takes
+precedence.</p><div class="note" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/icons/note.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>If an attribute is not defined then the line containing the
+attribute reference is dropped. This property is used extensively in
+AsciiDoc configuration files to facilitate conditional markup
+generation.</p></td></tr></table></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch26.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch28.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch28.html b/chunked/ch28.html
new file mode 100644
index 0000000..e206035
--- /dev/null
+++ b/chunked/ch28.html
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 28. Attribute Entries</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch27.html" title="Chapter 27. Document Attributes" /><link rel="next" href="ch29.html" title="Chapter 29. Attribute Lists" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch27.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch29.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="X18"></a>Chapter 28. Attribute Entries</h1></div></div></div><p>The <code class="literal">AttributeEntry</code> block element allows document attributes to be
+assigned within an AsciiDoc document. Attribute entries are added to
+the global document attributes dictionary. The attribute name/value
+syntax is a single line like:</p><pre class="literallayout">:&lt;name&gt;: &lt;value&gt;</pre><p>For example:</p><pre class="literallayout">:Author Initials: JB</pre><p>This will set an attribute reference <code class="literal">{authorinitials}</code> to the value
+<span class="emphasis"><em>JB</em></span> in the current document.</p><p>To delete (undefine) an attribute use the following syntax:</p><pre class="literallayout">:&lt;name&gt;!:</pre><div class="itemizedlist"><p class="title"><strong>AttributeEntry behavior</strong></p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+The attribute entry line begins with colon — no white space allowed
+ in left margin.
+</li><li class="listitem">
+AsciiDoc converts the <code class="literal">&lt;name&gt;</code> to a legal attribute name (lower
+ case, alphanumeric, dash and underscore characters only — all other
+ characters deleted). This allows more human friendly text to be
+ used.
+</li><li class="listitem">
+Leading and trailing white space is stripped from the <code class="literal">&lt;value&gt;</code>.
+</li><li class="listitem"><p class="simpara">
+Lines ending in a space followed by a plus character are continued
+ to the next line, for example:
+</p><pre class="literallayout">:description: AsciiDoc is a text document format for writing notes, +
+ documentation, articles, books, slideshows, web pages +
+ and man pages.</pre></li><li class="listitem">
+If the <code class="literal">&lt;value&gt;</code> is blank then the corresponding attribute value is
+ set to an empty string.
+</li><li class="listitem">
+Attribute references contained in the entry <code class="literal">&lt;value&gt;</code> will be
+ expanded.
+</li><li class="listitem">
+By default AttributeEntry values are substituted for
+ <code class="literal">specialcharacters</code> and <code class="literal">attributes</code> (see above), if you want to
+ change or disable AttributeEntry substitution use the <a class="link" href="ch21.html#X77" title="21.4. Passthrough macros">pass:[] inline macro</a> syntax.
+</li><li class="listitem">
+Attribute entries in the document Header are available for header
+ markup template substitution.
+</li><li class="listitem">
+Attribute elements override configuration file and intrinsic
+ attributes but do not override command-line attributes.
+</li></ul></div><p>Here are some more attribute entry examples:</p><pre class="screen">AsciiDoc User Manual
+====================
+:author: Stuart Rackham
+:email: srackham@gmail.com
+:revdate: April 23, 2004
+:revnumber: 5.1.1</pre><p>Which creates these attributes:</p><pre class="literallayout">{author}, {firstname}, {lastname}, {authorinitials}, {email},
+{revdate}, {revnumber}</pre><p>The previous example is equivalent to this <a class="link" href="ch08.html#X95" title="8.2. Header">document header</a>:</p><pre class="screen">AsciiDoc User Manual
+====================
+Stuart Rackham &lt;srackham@gmail.com&gt;
+5.1.1, April 23, 2004</pre><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_setting_configuration_entries"></a>28.1. Setting configuration entries</h2></div></div></div><p>A variant of the Attribute Entry syntax allows configuration file
+section entries and markup template sections to be set from within an
+AsciiDoc document:</p><pre class="literallayout">:&lt;section_name&gt;.[&lt;entry_name&gt;]: &lt;entry_value&gt;</pre><p>Where <code class="literal">&lt;section_name&gt;</code> is the configuration section name,
+<code class="literal">&lt;entry_name&gt;</code> is the name of the entry and <code class="literal">&lt;entry_value&gt;</code> is the
+optional entry value. This example sets the default labeled list
+style to <span class="emphasis"><em>horizontal</em></span>:</p><pre class="literallayout">:listdef-labeled.style: horizontal</pre><p>It is exactly equivalent to a configuration file containing:</p><pre class="literallayout">[listdef-labeled]
+style=horizontal</pre><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p class="simpara">
+If the <code class="literal">&lt;entry_name&gt;</code> is omitted then the entire section is
+ substituted with the <code class="literal">&lt;entry_value&gt;</code>. This feature should only be
+ used to set markup template sections. The following example sets the
+ <span class="emphasis"><em>xref2</em></span> inline macro markup template:
+</p><pre class="literallayout">:xref2-inlinemacro.: &lt;a href="#{1}"&gt;{2?{2}}&lt;/a&gt;</pre></li><li class="listitem">
+No substitution is performed on configuration file attribute entries
+ and they cannot be undefined.
+</li><li class="listitem">
+This feature can only be used in attribute entries — configuration
+ attributes cannot be set using the asciidoc(1) command <code class="literal">--attribute</code>
+ option.
+</li></ul></div><div class="sidebar"><a id="X62"></a><div class="titlepage"><div><div><p class="title"><strong>Attribute entries promote clarity and eliminate repetition</strong></p></div></div></div><p>URLs and file names in AsciiDoc macros are often quite long — they
+break paragraph flow and readability suffers. The problem is
+compounded by redundancy if the same name is used repeatedly.
+Attribute entries can be used to make your documents easier to read
+and write, here are some examples:</p><pre class="literallayout">:1: http://freshmeat.net/projects/asciidoc/
+:homepage: http://asciidoc.org[AsciiDoc home page]
+:new: image:./images/smallnew.png[]
+:footnote1: footnote:[A meaningless latin term]</pre><pre class="literallayout">Using previously defined attributes: See the {1}[Freshmeat summary]
+or the {homepage} for something new {new}. Lorem ispum {footnote1}.</pre><div class="itemizedlist"><p class="title"><strong>Note</strong></p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+The attribute entry definition must precede it’s usage.
+</li><li class="listitem">
+You are not limited to URLs or file names, entire macro calls or
+ arbitrary lines of text can be abbreviated.
+</li><li class="listitem">
+Shared attributes entries could be grouped into a separate file and
+ <a class="link" href="ch21.html#X63" title="21.3.1. Include Macros">included</a> in multiple documents.
+</li></ul></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch27.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch29.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch29.html b/chunked/ch29.html
new file mode 100644
index 0000000..fea006c
--- /dev/null
+++ b/chunked/ch29.html
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 29. Attribute Lists</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch28.html" title="Chapter 28. Attribute Entries" /><link rel="next" href="ch30.html" title="Chapter 30. Attribute References" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch28.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch30.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="X21"></a>Chapter 29. Attribute Lists</h1></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+An attribute list is a comma separated list of attribute values.
+</li><li class="listitem">
+The entire list is enclosed in square brackets.
+</li><li class="listitem">
+Attribute lists are used to pass parameters to macros, blocks (using
+ the <a class="link" href="ch14.html" title="Chapter 14. AttributeList Element">AttributeList element</a>) and inline quotes.
+</li></ul></div><p>The list consists of zero or more positional attribute values followed
+by zero or more named attribute values. Here are three examples: a
+single unquoted positional attribute; three unquoted positional
+attribute values; one positional attribute followed by two named
+attributes; the unquoted attribute value in the final example contains
+comma (<code class="literal">&amp;#44;</code>) and double-quote (<code class="literal">&amp;#34;</code>) character entities:</p><pre class="literallayout">[Hello]
+[quote, Bertrand Russell, The World of Mathematics (1956)]
+["22 times", backcolor="#0e0e0e", options="noborders,wide"]
+[A footnote&amp;#44; &amp;#34;with an image&amp;#34; image:smallnew.png[]]</pre><div class="itemizedlist"><p class="title"><strong>Attribute list behavior</strong></p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+If one or more attribute values contains a comma the all string
+ values must be quoted (enclosed in double quotation mark
+ characters).
+</li><li class="listitem">
+If the list contains any named or quoted attributes then all string
+ attribute values must be quoted.
+</li><li class="listitem">
+To include a double quotation mark (") character in a quoted
+ attribute value the the quotation mark must be escaped with a
+ backslash.
+</li><li class="listitem">
+List attributes take precedence over existing attributes.
+</li><li class="listitem">
+List attributes can only be referenced in configuration file markup
+ templates and tags, they are not available elsewhere in the
+ document.
+</li><li class="listitem">
+Setting a named attribute to <code class="literal">None</code> undefines the attribute.
+</li><li class="listitem">
+Positional attributes are referred to as <code class="literal">{1}</code>,<code class="literal">{2}</code>,<code class="literal">{3}</code>,…
+</li><li class="listitem">
+Attribute <code class="literal">{0}</code> refers to the entire list (excluding the enclosing
+ square brackets).
+</li><li class="listitem">
+Named attribute names cannot contain dash characters.
+</li></ul></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X75"></a>29.1. Options attribute</h2></div></div></div><p>If the attribute list contains an attribute named <code class="literal">options</code> it is
+processed as a comma separated list of option names:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Each name generates an attribute named like <code class="literal">&lt;option&gt;-option</code> (where
+ <code class="literal">&lt;option&gt;</code> is the option name) with an empty string value. For
+ example <code class="literal">[options="opt1,opt2,opt3"]</code> is equivalent to setting the
+ following three attributes
+ <code class="literal">[opt1-option="",opt2-option="",opt2-option=""]</code>.
+</li><li class="listitem">
+If you define a an option attribute globally (for example with an
+ <a class="link" href="ch28.html" title="Chapter 28. Attribute Entries">attribute entry</a>) then it will apply to all elements in the
+ document.
+</li><li class="listitem">
+AsciiDoc implements a number of predefined options which are listed
+ in the <a class="link" href="apf.html" title="Appendix F. Attribute Options">Attribute Options appendix</a>.
+</li></ul></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_macro_attribute_lists"></a>29.2. Macro Attribute lists</h2></div></div></div><p>Macros calls are suffixed with an attribute list. The list may be
+empty but it cannot be omitted. List entries are used to pass
+attribute values to macro markup templates.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch28.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch30.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch30.html b/chunked/ch30.html
new file mode 100644
index 0000000..767e019
--- /dev/null
+++ b/chunked/ch30.html
@@ -0,0 +1,216 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 30. Attribute References</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch29.html" title="Chapter 29. Attribute Lists" /><link rel="next" href="ch31.html" title="Chapter 31. Intrinsic Attributes" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch29.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch31.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="_attribute_references"></a>Chapter 30. Attribute References</h1></div></div></div><p>An attribute reference is an attribute name (possibly followed by an
+additional parameters) enclosed in curly braces. When an attribute
+reference is encountered it is evaluated and replaced by its
+corresponding text value. If the attribute is undefined the line
+containing the attribute is dropped.</p><p>There are three types of attribute reference: <span class="emphasis"><em>Simple</em></span>, <span class="emphasis"><em>Conditional</em></span>
+and <span class="emphasis"><em>System</em></span>.</p><div class="itemizedlist"><p class="title"><strong>Attribute reference evaluation</strong></p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+You can suppress attribute reference expansion by placing a
+ backslash character immediately in front of the opening brace
+ character.
+</li><li class="listitem">
+By default attribute references are not expanded in
+ <span class="emphasis"><em>LiteralParagraphs</em></span>, <span class="emphasis"><em>ListingBlocks</em></span> or <span class="emphasis"><em>LiteralBlocks</em></span>.
+</li><li class="listitem">
+Attribute substitution proceeds line by line in reverse line order.
+</li><li class="listitem">
+Attribute reference evaluation is performed in the following order:
+ <span class="emphasis"><em>Simple</em></span> then <span class="emphasis"><em>Conditional</em></span> and finally <span class="emphasis"><em>System</em></span>.
+</li></ul></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_simple_attributes_references"></a>30.1. Simple Attributes References</h2></div></div></div><p>Simple attribute references take the form <code class="literal">{&lt;name&gt;}</code>. If the
+attribute name is defined its text value is substituted otherwise the
+line containing the reference is dropped from the output.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_conditional_attribute_references"></a>30.2. Conditional Attribute References</h2></div></div></div><p>Additional parameters are used in conjunction with attribute names to
+calculate a substitution value. Conditional attribute references take
+the following forms:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+<code class="literal">{&lt;names&gt;=&lt;value&gt;}</code>
+</span></dt><dd>
+ <code class="literal">&lt;value&gt;</code> is substituted if the attribute <code class="literal">&lt;names&gt;</code> is
+ undefined otherwise its value is substituted. <code class="literal">&lt;value&gt;</code> can
+ contain simple attribute references.
+</dd><dt><span class="term">
+<code class="literal">{&lt;names&gt;?&lt;value&gt;}</code>
+</span></dt><dd>
+ <code class="literal">&lt;value&gt;</code> is substituted if the attribute <code class="literal">&lt;names&gt;</code> is defined
+ otherwise an empty string is substituted. <code class="literal">&lt;value&gt;</code> can
+ contain simple attribute references.
+</dd><dt><span class="term">
+<code class="literal">{&lt;names&gt;!&lt;value&gt;}</code>
+</span></dt><dd>
+ <code class="literal">&lt;value&gt;</code> is substituted if the attribute <code class="literal">&lt;names&gt;</code> is
+ undefined otherwise an empty string is substituted. <code class="literal">&lt;value&gt;</code>
+ can contain simple attribute references.
+</dd><dt><span class="term">
+<code class="literal">{&lt;names&gt;#&lt;value&gt;}</code>
+</span></dt><dd>
+ <code class="literal">&lt;value&gt;</code> is substituted if the attribute <code class="literal">&lt;names&gt;</code> is defined
+ otherwise the undefined attribute entry causes the containing
+ line to be dropped. <code class="literal">&lt;value&gt;</code> can contain simple attribute
+ references.
+</dd><dt><span class="term">
+<code class="literal">{&lt;names&gt;%&lt;value&gt;}</code>
+</span></dt><dd>
+ <code class="literal">&lt;value&gt;</code> is substituted if the attribute <code class="literal">&lt;names&gt;</code> is not
+ defined otherwise the containing line is dropped. <code class="literal">&lt;value&gt;</code>
+ can contain simple attribute references.
+</dd><dt><span class="term">
+<code class="literal">{&lt;names&gt;@&lt;regexp&gt;:&lt;value1&gt;[:&lt;value2&gt;]}</code>
+</span></dt><dd>
+ <code class="literal">&lt;value1&gt;</code> is substituted if the value of attribute <code class="literal">&lt;names&gt;</code>
+ matches the regular expression <code class="literal">&lt;regexp&gt;</code> otherwise <code class="literal">&lt;value2&gt;</code>
+ is substituted. If attribute <code class="literal">&lt;names&gt;</code> is not defined the
+ containing line is dropped. If <code class="literal">&lt;value2&gt;</code> is omitted an empty
+ string is assumed. The values and the regular expression can
+ contain simple attribute references. To embed colons in the
+ values or the regular expression escape them with backslashes.
+</dd><dt><span class="term">
+<code class="literal">{&lt;names&gt;$&lt;regexp&gt;:&lt;value1&gt;[:&lt;value2&gt;]}</code>
+</span></dt><dd><p class="simpara">
+ Same behavior as the previous ternary attribute except for
+ the following cases:
+</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+<code class="literal">{&lt;names&gt;$&lt;regexp&gt;:&lt;value&gt;}</code>
+</span></dt><dd>
+ Substitutes <code class="literal">&lt;value&gt;</code> if <code class="literal">&lt;names&gt;</code> matches <code class="literal">&lt;regexp&gt;</code>
+ otherwise the result is undefined and the containing
+ line is dropped.
+</dd><dt><span class="term">
+<code class="literal">{&lt;names&gt;$&lt;regexp&gt;::&lt;value&gt;}</code>
+</span></dt><dd>
+ Substitutes <code class="literal">&lt;value&gt;</code> if <code class="literal">&lt;names&gt;</code> does not match
+ <code class="literal">&lt;regexp&gt;</code> otherwise the result is undefined and the
+ containing line is dropped.
+</dd></dl></div></dd></dl></div><p>The attribute <code class="literal">&lt;names&gt;</code> parameter normally consists of a single
+attribute name but it can be any one of the following:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+A single attribute name which evaluates to the attributes value.
+</li><li class="listitem">
+Multiple <span class="emphasis"><em>,</em></span> separated attribute names which evaluates to an empty
+ string if one or more of the attributes is defined, otherwise it’s
+ value is undefined.
+</li><li class="listitem">
+Multiple <span class="emphasis"><em>+</em></span> separated attribute names which evaluates to an empty
+ string if all of the attributes are defined, otherwise it’s value is
+ undefined.
+</li></ul></div><p>Conditional attributes with single attribute names are evaluated first
+so they can be used inside the multi-attribute conditional <code class="literal">&lt;value&gt;</code>.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_conditional_attribute_examples"></a>30.2.1. Conditional attribute examples</h3></div></div></div><p>Conditional attributes are mainly used in AsciiDoc configuration
+files — see the distribution <code class="literal">.conf</code> files for examples.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+Attribute equality test
+</span></dt><dd><p class="simpara">
+ If <code class="literal">{backend}</code> is <span class="emphasis"><em>docbook45</em></span> or <span class="emphasis"><em>xhtml11</em></span> the example evaluates to
+ “DocBook 4.5 or XHTML 1.1 backend” otherwise it evaluates to
+ “some other backend”:
+</p><pre class="literallayout">{backend@docbook45|xhtml11:DocBook 4.5 or XHTML 1.1 backend:some other backend}</pre></dd><dt><span class="term">
+Attribute value map
+</span></dt><dd><p class="simpara">
+ This example maps the <code class="literal">frame</code> attribute values [<code class="literal">topbot</code>, <code class="literal">all</code>,
+ <code class="literal">none</code>, <code class="literal">sides</code>] to [<code class="literal">hsides</code>, <code class="literal">border</code>, <code class="literal">void</code>, <code class="literal">vsides</code>]:
+</p><pre class="literallayout">{frame@topbot:hsides}{frame@all:border}{frame@none:void}{frame@sides:vsides}</pre></dd></dl></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X24"></a>30.3. System Attribute References</h2></div></div></div><p>System attribute references generate the attribute text value by
+executing a predefined action that is parametrized by one or more
+arguments. The syntax is <code class="literal">{&lt;action&gt;:&lt;arguments&gt;}</code>.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+<code class="literal">{counter:&lt;attrname&gt;[:&lt;seed&gt;]}</code>
+</span></dt><dd><p class="simpara">
+ Increments the document attribute (if the attribute is
+ undefined it is set to <code class="literal">1</code>). Returns the new attribute value.
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Counters generate global (document wide) attributes.
+</li><li class="listitem">
+The optional <code class="literal">&lt;seed&gt;</code> specifies the counter’s initial value;
+ it can be a number or a single letter; defaults to <span class="emphasis"><em>1</em></span>.
+</li><li class="listitem">
+<code class="literal">&lt;seed&gt;</code> can contain simple and conditional attribute
+ references.
+</li><li class="listitem">
+The <span class="emphasis"><em>counter</em></span> system attribute will not be executed if the
+ containing line is dropped by the prior evaluation of an
+ undefined attribute.
+</li></ul></div></dd><dt><span class="term">
+<code class="literal">{counter2:&lt;attrname&gt;[:&lt;seed&gt;]}</code>
+</span></dt><dd>
+ Same as <code class="literal">counter</code> except the it always returns a blank string.
+</dd><dt><span class="term">
+<code class="literal">{eval:&lt;expression&gt;}</code>
+</span></dt><dd><p class="simpara">
+ Substitutes the result of the Python <code class="literal">&lt;expression&gt;</code>.
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+If <code class="literal">&lt;expression&gt;</code> evaluates to <code class="literal">None</code> or <code class="literal">False</code> the
+ reference is deemed undefined and the line containing the
+ reference is dropped from the output.
+</li><li class="listitem">
+If the expression evaluates to <code class="literal">True</code> the attribute
+ evaluates to an empty string.
+</li><li class="listitem">
+<code class="literal">&lt;expression&gt;</code> can contain simple and conditional attribute
+ references.
+</li><li class="listitem">
+The <span class="emphasis"><em>eval</em></span> system attribute can be nested inside other
+ system attributes.
+</li></ul></div></dd><dt><span class="term">
+<code class="literal">{eval3:&lt;command&gt;}</code>
+</span></dt><dd>
+ Passthrough version of <code class="literal">{eval:&lt;expression&gt;}</code> — the generated
+ output is written directly to the output without any further
+ substitutions.
+</dd><dt><span class="term">
+<code class="literal">{include:&lt;filename&gt;}</code>
+</span></dt><dd><p class="simpara">
+ Substitutes contents of the file named <code class="literal">&lt;filename&gt;</code>.
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+The included file is read at the time of attribute
+ substitution.
+</li><li class="listitem">
+If the file does not exist a warning is emitted and the line
+ containing the reference is dropped from the output file.
+</li><li class="listitem">
+Tabs are expanded based on the current <span class="emphasis"><em>tabsize</em></span> attribute
+ value.
+</li></ul></div></dd><dt><span class="term">
+<code class="literal">{set:&lt;attrname&gt;[!][:&lt;value&gt;]}</code>
+</span></dt><dd><p class="simpara">
+ Sets or unsets document attribute. Normally only used in
+ configuration file markup templates (use
+ <a class="link" href="ch28.html" title="Chapter 28. Attribute Entries">AttributeEntries</a> in AsciiDoc documents).
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+If the attribute name is followed by an exclamation mark
+ the attribute becomes undefined.
+</li><li class="listitem">
+If <code class="literal">&lt;value&gt;</code> is omitted the attribute is set to a blank
+ string.
+</li><li class="listitem">
+<code class="literal">&lt;value&gt;</code> can contain simple and conditional attribute
+ references.
+</li><li class="listitem">
+Returns a blank string unless the attribute is undefined in
+ which case the return value is undefined and the enclosing
+ line will be dropped.
+</li></ul></div></dd><dt><span class="term">
+<code class="literal">{set2:&lt;attrname&gt;[!][:&lt;value&gt;]}</code>
+</span></dt><dd>
+ Same as <code class="literal">set</code> except that the attribute scope is local to the
+ template.
+</dd><dt><span class="term">
+<code class="literal">{sys:&lt;command&gt;}</code>
+</span></dt><dd>
+ Substitutes the stdout generated by the execution of the shell
+ <code class="literal">&lt;command&gt;</code>.
+</dd><dt><span class="term">
+<code class="literal">{sys2:&lt;command&gt;}</code>
+</span></dt><dd>
+ Substitutes the stdout and stderr generated by the execution
+ of the shell <code class="literal">&lt;command&gt;</code>.
+</dd><dt><span class="term">
+<code class="literal">{sys3:&lt;command&gt;}</code>
+</span></dt><dd>
+ Passthrough version of <code class="literal">{sys:&lt;command&gt;}</code> — the generated
+ output is written directly to the output without any further
+ substitutions.
+</dd><dt><span class="term">
+<code class="literal">{template:&lt;template&gt;}</code>
+</span></dt><dd>
+ Substitutes the contents of the configuration file section
+ named <code class="literal">&lt;template&gt;</code>. Attribute references contained in the
+ template are substituted.
+</dd></dl></div><div class="itemizedlist"><p class="title"><strong>System reference behavior</strong></p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+System attribute arguments can contain non-system attribute
+ references.
+</li><li class="listitem">
+Closing brace characters inside system attribute arguments must be
+ escaped with a backslash.
+</li></ul></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch29.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch31.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch31.html b/chunked/ch31.html
new file mode 100644
index 0000000..845b9ee
--- /dev/null
+++ b/chunked/ch31.html
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 31. Intrinsic Attributes</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch30.html" title="Chapter 30. Attribute References" /><link rel="next" href="ch32.html" title="Chapter 32. Block Element Definitions" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch30.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch32.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="X60"></a>Chapter 31. Intrinsic Attributes</h1></div></div></div><p>Intrinsic attributes are simple attributes that are created
+automatically from: AsciiDoc document header parameters; asciidoc(1)
+command-line arguments; attributes defined in the default
+configuration files; the execution context. Here’s the list of
+predefined intrinsic attributes:</p><pre class="literallayout">{amp} ampersand (&amp;) character entity
+{asciidoc-args} used to pass inherited arguments to asciidoc filters
+{asciidoc-confdir} the asciidoc(1) global configuration directory
+{asciidoc-dir} the asciidoc(1) application directory
+{asciidoc-file} the full path name of the asciidoc(1) script
+{asciidoc-version} the version of asciidoc(1)
+{author} author's full name
+{authored} empty string '' if {author} or {email} defined,
+{authorinitials} author initials (from document header)
+{backend-&lt;backend&gt;} empty string ''
+{&lt;backend&gt;-&lt;doctype&gt;} empty string ''
+{backend} document backend specified by `-b` option
+{backend-confdir} the directory containing the &lt;backend&gt;.conf file
+{backslash} backslash character
+{basebackend-&lt;base&gt;} empty string ''
+{basebackend} html or docbook
+{blockname} current block name (note 8).
+{brvbar} broken vertical bar (|) character
+{docdate} document last modified date (note 9)
+{docdir} document input directory name (note 5)
+{docfile} document file name (note 5)
+{docname} document file name without extension (note 6)
+{doctime} document last modified time (note 9)
+{doctitle} document title (from document header)
+{doctype-&lt;doctype&gt;} empty string ''
+{doctype} document type specified by `-d` option
+{email} author's email address (from document header)
+{empty} empty string ''
+{encoding} specifies input and output encoding
+{filetype-&lt;fileext&gt;} empty string ''
+{filetype} output file name file extension
+{firstname} author first name (from document header)
+{gt} greater than (&gt;) character entity
+{id} running block id generated by BlockId elements
+{indir} input file directory name (note 2,5)
+{infile} input file name (note 2,5)
+{lastname} author last name (from document header)
+{ldquo} Left double quote character (note 7)
+{level} title level 1..4 (in section titles)
+{listindex} the list index (1..) of the most recent list item
+{localdate} the current date (note 9)
+{localtime} the current time (note 9)
+{lsquo} Left single quote character (note 7)
+{lt} less than (&lt;) character entity
+{manname} manpage name (defined in NAME section)
+{manpurpose} manpage (defined in NAME section)
+{mantitle} document title minus the manpage volume number
+{manvolnum} manpage volume number (1..8) (from document header)
+{middlename} author middle name (from document header)
+{nbsp} non-breaking space character entity
+{notitle} do not display the document title
+{outdir} document output directory name (note 2)
+{outfile} output file name (note 2)
+{plus} plus character
+{python} the full path name of the Python interpreter executable
+{rdquo} right double quote character (note 7)
+{reftext} running block xreflabel generated by BlockId elements
+{revdate} document revision date (from document header)
+{revnumber} document revision number (from document header)
+{rsquo} right single quote character (note 7)
+{sectnum} formatted section number (in section titles)
+{sp} space character
+{showcomments} send comment lines to the output
+{title} section title (in titled elements)
+{two-colons} two colon characters
+{two-semicolons} two semicolon characters
+{user-dir} the ~/.asciidoc directory (if it exists)
+{verbose} defined as '' if --verbose command option specified
+{wj} word-joiner
+{zwsp} zero-width space character entity</pre><div class="note" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/icons/note.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
+Intrinsic attributes are global so avoid defining custom attributes
+ with the same names.
+</li><li class="listitem">
+<code class="literal">{outfile}</code>, <code class="literal">{outdir}</code>, <code class="literal">{infile}</code>, <code class="literal">{indir}</code> attributes are
+ effectively read-only (you can set them but it won’t affect the
+ input or output file paths).
+</li><li class="listitem">
+See also the <a class="link" href="aph.html" title="Appendix H. Backend Attributes">Backend Attributes</a> section for attributes
+ that relate to AsciiDoc XHTML file generation.
+</li><li class="listitem">
+The entries that translate to blank strings are designed to be used
+ for conditional text inclusion. You can also use the <code class="literal">ifdef</code>,
+ <code class="literal">ifndef</code> and <code class="literal">endif</code> System macros for conditional inclusion.
+ <a href="#ftn.idm4432" class="footnote" id="idm4432"><sup class="footnote">[4]</sup></a>
+</li><li class="listitem">
+<code class="literal">{docfile}</code> and <code class="literal">{docdir}</code> refer to root document specified on the
+ asciidoc(1) command-line; <code class="literal">{infile}</code> and <code class="literal">{indir}</code> refer to the
+ current input file which may be the root document or an included
+ file. When the input is being read from the standard input
+ (<code class="literal">stdin</code>) these attributes are undefined.
+</li><li class="listitem">
+If the input file is the standard input and the output file is not
+ the standard output then <code class="literal">{docname}</code> is the output file name sans
+ file extension.
+</li><li class="listitem">
+See
+ <a class="ulink" href="http://en.wikipedia.org/wiki/Non-English_usage_of_quotation_marks" target="_top">non-English
+ usage of quotation marks</a>.
+</li><li class="listitem"><p class="simpara">
+The <code class="literal">{blockname}</code> attribute identifies the style of the current
+ block. It applies to delimited blocks, lists and tables. Here is a
+ list of <code class="literal">{blockname}</code> values (does not include filters or custom
+ block and style names):
+</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+delimited blocks
+</span></dt><dd>
+comment, sidebar, open, pass, literal, verse,
+ listing, quote, example, note, tip, important, caution, warning,
+ abstract, partintro
+</dd><dt><span class="term">
+lists
+</span></dt><dd>
+arabic, loweralpha, upperalpha, lowerroman, upperroman,
+ labeled, labeled3, labeled4, qanda, horizontal, bibliography,
+ glossary
+</dd><dt><span class="term">
+tables
+</span></dt><dd>
+table
+</dd></dl></div></li><li class="listitem">
+If the <code class="literal">SOURCE_DATE_EPOCH</code> environment variable is set to a UNIX
+ timestamp, then the <code class="literal">{docdate}</code>, <code class="literal">{doctime}</code>, <code class="literal">{localdate}</code>, and
+ <code class="literal">{localtime}</code> attributes are computed in the UTC time zone, with any
+ timestamps newer than <code class="literal">SOURCE_DATE_EPOCH</code> replaced by
+ <code class="literal">SOURCE_DATE_EPOCH</code>. (This helps software using AsciiDoc to build
+ reproducibly.)
+</li></ol></div></td></tr></table></div><div class="footnotes"><br /><hr style="width:100; text-align:left;margin-left: 0" /><div id="ftn.idm4432" class="footnote"><p><a href="#idm4432" class="simpara"><sup class="simpara">[4] </sup></a>Conditional inclusion using <code class="literal">ifdef</code> and <code class="literal">ifndef</code> macros
+ differs from attribute conditional inclusion in that the former
+ occurs when the file is read while the latter occurs when the
+ contents are written.</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch30.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch32.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch32.html b/chunked/ch32.html
new file mode 100644
index 0000000..64deea5
--- /dev/null
+++ b/chunked/ch32.html
@@ -0,0 +1,250 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 32. Block Element Definitions</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch31.html" title="Chapter 31. Intrinsic Attributes" /><link rel="next" href="ch33.html" title="Chapter 33. Filters" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch31.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch33.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="X73"></a>Chapter 32. Block Element Definitions</h1></div></div></div><p>The syntax and behavior of Paragraph, DelimitedBlock, List and Table
+block elements is determined by block definitions contained in
+<a class="link" href="ch26.html" title="Chapter 26. Configuration Files">AsciiDoc configuration file</a> sections.</p><p>Each definition consists of a section title followed by one or more
+section entries. Each entry defines a block parameter controlling some
+aspect of the block’s behavior. Here’s an example:</p><pre class="screen">[blockdef-listing]
+delimiter=^-{4,}$
+template=listingblock
+presubs=specialcharacters,callouts</pre><p>Configuration file block definition sections are processed
+incrementally after each configuration file is loaded. Block
+definition section entries are merged into the block definition, this
+allows block parameters to be overridden and extended by later
+<a class="link" href="ch26.html#X27" title="26.11. Configuration file names, precedence and locations">loading configuration files</a>.</p><p>AsciiDoc Paragraph, DelimitedBlock, List and Table block elements
+share a common subset of configuration file parameters:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+delimiter
+</span></dt><dd>
+ A Python regular expression that matches the first line of a block
+ element — in the case of DelimitedBlocks and Tables it also matches
+ the last line.
+</dd><dt><span class="term">
+template
+</span></dt><dd>
+ The name of the configuration file markup template section that will
+ envelope the block contents. The pipe (<span class="emphasis"><em>|</em></span>) character is substituted
+ for the block contents. List elements use a set of (list specific)
+ tag parameters instead of a single template. The template name can
+ contain attribute references allowing dynamic template selection a
+ the time of template substitution.
+</dd><dt><span class="term">
+options
+</span></dt><dd>
+ A comma delimited list of element specific option names. In addition
+ to being used internally, options are available during markup tag
+ and template substitution as attributes with an empty string value
+ named like <code class="literal">&lt;option&gt;-option</code> (where <code class="literal">&lt;option&gt;</code> is the option name).
+ See <a class="link" href="apf.html" title="Appendix F. Attribute Options">attribute options</a> for a complete list of available
+ options.
+</dd><dt><span class="term">
+subs, presubs, postsubs
+</span></dt><dd><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+<span class="emphasis"><em>presubs</em></span> and <span class="emphasis"><em>postsubs</em></span> are lists of comma separated substitutions that are
+ performed on the block contents. <span class="emphasis"><em>presubs</em></span> is applied first,
+ <span class="emphasis"><em>postsubs</em></span> (if specified) second.
+</li><li class="listitem">
+<span class="emphasis"><em>subs</em></span> is an alias for <span class="emphasis"><em>presubs</em></span>.
+</li><li class="listitem">
+If a <span class="emphasis"><em>filter</em></span> is allowed (Paragraphs, DelimitedBlocks and Tables)
+ and has been specified then <span class="emphasis"><em>presubs</em></span> and <span class="emphasis"><em>postsubs</em></span> substitutions
+ are performed before and after the filter is run respectively.
+</li><li class="listitem">
+Allowed values: <span class="emphasis"><em>specialcharacters</em></span>, <span class="emphasis"><em>quotes</em></span>, <span class="emphasis"><em>specialwords</em></span>,
+ <span class="emphasis"><em>replacements</em></span>, <span class="emphasis"><em>macros</em></span>, <span class="emphasis"><em>attributes</em></span>, <span class="emphasis"><em>callouts</em></span>.
+</li><li class="listitem"><p class="simpara">
+<a id="X102"></a>The following composite values are also allowed:
+</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+<span class="emphasis"><em>none</em></span>
+</span></dt><dd>
+ No substitutions.
+</dd><dt><span class="term">
+<span class="emphasis"><em>normal</em></span>
+</span></dt><dd>
+ The following substitutions in the following order:
+ <span class="emphasis"><em>specialcharacters</em></span>, <span class="emphasis"><em>quotes</em></span>, <span class="emphasis"><em>attributes</em></span>, <span class="emphasis"><em>specialwords</em></span>,
+ <span class="emphasis"><em>replacements</em></span>, <span class="emphasis"><em>macros</em></span>, <span class="emphasis"><em>replacements2</em></span>.
+</dd><dt><span class="term">
+<span class="emphasis"><em>verbatim</em></span>
+</span></dt><dd>
+ The following substitutions in the following order:
+ <span class="emphasis"><em>specialcharacters</em></span> and <span class="emphasis"><em>callouts</em></span>.
+</dd></dl></div></li><li class="listitem">
+<span class="emphasis"><em>normal</em></span> and <span class="emphasis"><em>verbatim</em></span> substitutions can be redefined by with
+ <code class="literal">subsnormal</code> and <code class="literal">subsverbatim</code> entries in a configuration file
+ <code class="literal">[miscellaneous]</code> section.
+</li><li class="listitem">
+The substitutions are processed in the order in which they are
+ listed and can appear more than once.
+</li></ul></div></dd><dt><span class="term">
+filter
+</span></dt><dd>
+ This optional entry specifies an executable shell command for
+ processing block content (Paragraphs, DelimitedBlocks and Tables).
+ The filter command can contain attribute references.
+</dd><dt><span class="term">
+posattrs
+</span></dt><dd><p class="simpara">
+ Optional comma separated list of positional attribute names. This
+ list maps positional attributes (in the block’s <a class="link" href="ch29.html" title="Chapter 29. Attribute Lists">attribute list</a>) to named block attributes. The following example, from the
+ QuoteBlock definition, maps the first and section positional
+ attributes:
+</p><pre class="literallayout">posattrs=attribution,citetitle</pre></dd><dt><span class="term">
+style
+</span></dt><dd>
+ This optional parameter specifies the default style name.
+</dd><dt><span class="term">
+&lt;stylename&gt;-style
+</span></dt><dd>
+ Optional style definition (see <a class="link" href="ch32.html#X23" title="32.1. Styles">Styles</a> below).
+</dd></dl></div><p>The following block parameters behave like document attributes and can
+be set in block attribute lists and style definitions: <span class="emphasis"><em>template</em></span>,
+<span class="emphasis"><em>options</em></span>, <span class="emphasis"><em>subs</em></span>, <span class="emphasis"><em>presubs</em></span>, <span class="emphasis"><em>postsubs</em></span>, <span class="emphasis"><em>filter</em></span>.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X23"></a>32.1. Styles</h2></div></div></div><p>A style is a set of block parameter bundled as a single named
+parameter. The following example defines a style named <span class="emphasis"><em>verbatim</em></span>:</p><pre class="literallayout">verbatim-style=template="literalblock",subs="verbatim"</pre><p>If a block’s <a class="link" href="ch29.html" title="Chapter 29. Attribute Lists">attribute list</a> contains a <span class="emphasis"><em>style</em></span> attribute then
+the corresponding style parameters are be merged into the default
+block definition parameters.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+All style parameter names must be suffixed with <code class="literal">-style</code> and the
+ style parameter value is in the form of a list of <a class="link" href="ch29.html" title="Chapter 29. Attribute Lists">named attributes</a>.
+</li><li class="listitem">
+The <span class="emphasis"><em>template</em></span> style parameter is mandatory, other parameters can be
+ omitted in which case they inherit their values from the default
+ block definition parameters.
+</li><li class="listitem">
+Multi-item style parameters (<span class="emphasis"><em>subs</em></span>,<span class="emphasis"><em>presubs</em></span>,<span class="emphasis"><em>postsubs</em></span>,<span class="emphasis"><em>posattrs</em></span>)
+ must be specified using Python tuple syntax (rather than a simple
+ list of values as they in separate entries) e.g.
+ <code class="literal">postsubs=("callouts",)</code> not <code class="literal">postsubs="callouts"</code>.
+</li></ul></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_paragraphs_2"></a>32.2. Paragraphs</h2></div></div></div><p>Paragraph translation is controlled by <code class="literal">[paradef-*]</code> configuration
+file section entries. Users can define new types of paragraphs and
+modify the behavior of existing types by editing AsciiDoc
+configuration files.</p><p>Here is the shipped Default paragraph definition:</p><pre class="screen">[paradef-default]
+delimiter=(?P&lt;text&gt;\S.*)
+template=paragraph</pre><p>The normal paragraph definition has a couple of special properties:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
+It must exist and be defined in a configuration file section named
+ <code class="literal">[paradef-default]</code>.
+</li><li class="listitem">
+Irrespective of its position in the configuration files default
+ paragraph document matches are attempted only after trying all
+ other paragraph types.
+</li></ol></div><p>Paragraph specific block parameter notes:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+delimiter
+</span></dt><dd>
+ This regular expression must contain the named group <span class="emphasis"><em>text</em></span> which
+ matches the text on the first line. Paragraphs are terminated by a
+ blank line, the end of file, or the start of a DelimitedBlock.
+</dd><dt><span class="term">
+options
+</span></dt><dd>
+ The <span class="emphasis"><em>listelement</em></span> option specifies that paragraphs of this type will
+ automatically be considered part of immediately preceding list
+ items. The <span class="emphasis"><em>skip</em></span> option causes the paragraph to be treated as a
+ comment (see <a class="link" href="ch16.html#X26" title="16.5. Comment Blocks">CommentBlocks</a>).
+</dd></dl></div><div class="orderedlist"><p class="title"><strong>Paragraph processing proceeds as follows:</strong></p><ol class="orderedlist" type="1"><li class="listitem">
+The paragraph text is aligned to the left margin.
+</li><li class="listitem">
+Optional <span class="emphasis"><em>presubs</em></span> inline substitutions are performed on the
+ paragraph text.
+</li><li class="listitem">
+If a filter command is specified it is executed and the paragraph
+ text piped to its standard input; the filter output replaces the
+ paragraph text.
+</li><li class="listitem">
+Optional <span class="emphasis"><em>postsubs</em></span> inline substitutions are performed on the
+ paragraph text.
+</li><li class="listitem">
+The paragraph text is enveloped by the paragraph’s markup template
+ and written to the output file.
+</li></ol></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_delimited_blocks"></a>32.3. Delimited Blocks</h2></div></div></div><p>DelimitedBlock <span class="emphasis"><em>options</em></span> values are:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+sectionbody
+</span></dt><dd>
+ The block contents are processed as a SectionBody.
+</dd><dt><span class="term">
+skip
+</span></dt><dd>
+ The block is treated as a comment (see <a class="link" href="ch16.html#X26" title="16.5. Comment Blocks">CommentBlocks</a>).
+ Preceding <a class="link" href="ch29.html" title="Chapter 29. Attribute Lists">attribute lists</a> and <a class="link" href="ch12.html" title="Chapter 12. Block Titles">block titles</a> are not
+ consumed.
+</dd></dl></div><p><span class="emphasis"><em>presubs</em></span>, <span class="emphasis"><em>postsubs</em></span> and <span class="emphasis"><em>filter</em></span> entries are ignored when
+<span class="emphasis"><em>sectionbody</em></span> or <span class="emphasis"><em>skip</em></span> options are set.</p><p>DelimitedBlock processing proceeds as follows:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
+Optional <span class="emphasis"><em>presubs</em></span> substitutions are performed on the block
+ contents.
+</li><li class="listitem">
+If a filter is specified it is executed and the block’s contents
+ piped to its standard input. The filter output replaces the block
+ contents.
+</li><li class="listitem">
+Optional <span class="emphasis"><em>postsubs</em></span> substitutions are performed on the block
+ contents.
+</li><li class="listitem">
+The block contents is enveloped by the block’s markup template and
+ written to the output file.
+</li></ol></div><div class="tip" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="images/icons/tip.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>Attribute expansion is performed on the block filter command
+before it is executed, this is useful for passing arguments to the
+filter.</p></td></tr></table></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_lists"></a>32.4. Lists</h2></div></div></div><p>List behavior and syntax is determined by <code class="literal">[listdef-*]</code> configuration
+file sections. The user can change existing list behavior and add new
+list types by editing configuration files.</p><p>List specific block definition notes:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+type
+</span></dt><dd>
+ This is either <span class="emphasis"><em>bulleted</em></span>,<span class="emphasis"><em>numbered</em></span>,<span class="emphasis"><em>labeled</em></span> or <span class="emphasis"><em>callout</em></span>.
+</dd><dt><span class="term">
+delimiter
+</span></dt><dd>
+ A Python regular expression that matches the first line of a
+ list element entry. This expression can contain the named groups
+ <span class="emphasis"><em>text</em></span> (bulleted groups), <span class="emphasis"><em>index</em></span> and <span class="emphasis"><em>text</em></span> (numbered lists),
+ <span class="emphasis"><em>label</em></span> and <span class="emphasis"><em>text</em></span> (labeled lists).
+</dd><dt><span class="term">
+tags
+</span></dt><dd>
+ The <code class="literal">&lt;name&gt;</code> of the <code class="literal">[listtags-&lt;name&gt;]</code> configuration file section
+ containing list markup tag definitions. The tag entries (<span class="emphasis"><em>list</em></span>,
+ <span class="emphasis"><em>entry</em></span>, <span class="emphasis"><em>label</em></span>, <span class="emphasis"><em>term</em></span>, <span class="emphasis"><em>text</em></span>) map the AsciiDoc list structure to
+ backend markup; see the <span class="emphasis"><em>listtags</em></span> sections in the AsciiDoc
+ distributed backend <code class="literal">.conf</code> configuration files for examples.
+</dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_tables_2"></a>32.5. Tables</h2></div></div></div><p>Table behavior and syntax is determined by <code class="literal">[tabledef-*]</code> and
+<code class="literal">[tabletags-*]</code> configuration file sections. The user can change
+existing table behavior and add new table types by editing
+configuration files. The following <code class="literal">[tabledef-*]</code> section entries
+generate table output markup elements:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+colspec
+</span></dt><dd>
+ The table <span class="emphasis"><em>colspec</em></span> tag definition.
+</dd><dt><span class="term">
+headrow, footrow, bodyrow
+</span></dt><dd>
+ Table header, footer and body row tag definitions. <span class="emphasis"><em>headrow</em></span> and
+ <span class="emphasis"><em>footrow</em></span> table definition entries default to <span class="emphasis"><em>bodyrow</em></span> if
+ they are undefined.
+</dd><dt><span class="term">
+headdata, footdata, bodydata
+</span></dt><dd>
+ Table header, footer and body data tag definitions. <span class="emphasis"><em>headdata</em></span> and
+ <span class="emphasis"><em>footdata</em></span> table definition entries default to <span class="emphasis"><em>bodydata</em></span> if they
+ are undefined.
+</dd><dt><span class="term">
+paragraph
+</span></dt><dd>
+ If the <span class="emphasis"><em>paragraph</em></span> tag is specified then blank lines in the cell
+ data are treated as paragraph delimiters and marked up using this
+ tag.
+</dd></dl></div><p><a id="X4"></a>Table behavior is also influenced by the following <code class="literal">[miscellaneous]</code>
+configuration file entries:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+pagewidth
+</span></dt><dd>
+ This integer value is the printable width of the output media. See
+ <a class="link" href="ch23.html#X69" title="23.3. Table attributes">table attributes</a>.
+</dd><dt><span class="term">
+pageunits
+</span></dt><dd>
+ The units of width in output markup width attribute values.
+</dd></dl></div><div class="itemizedlist"><p class="title"><strong>Table definition behavior</strong></p><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+The output markup generation is specifically designed to work with
+ the HTML and CALS (DocBook) table models, but should be adaptable to
+ most XML table schema.
+</li><li class="listitem">
+Table definitions can be “mixed in” from multiple cascading
+ configuration files.
+</li><li class="listitem">
+New table definitions inherit the default table and table tags
+ definitions (<code class="literal">[tabledef-default]</code> and <code class="literal">[tabletags-default]</code>) so you
+ only need to override those conf file entries that require
+ modification.
+</li></ul></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch31.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch33.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch33.html b/chunked/ch33.html
new file mode 100644
index 0000000..2cf41f6
--- /dev/null
+++ b/chunked/ch33.html
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 33. Filters</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch32.html" title="Chapter 32. Block Element Definitions" /><link rel="next" href="ch34.html" title="Chapter 34. Plugins" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch32.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch34.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="X59"></a>Chapter 33. Filters</h1></div></div></div><p>AsciiDoc filters allow external commands to process AsciiDoc
+<span class="emphasis"><em>Paragraphs</em></span>, <span class="emphasis"><em>DelimitedBlocks</em></span> and <span class="emphasis"><em>Table</em></span> content. Filters are
+primarily an extension mechanism for generating specialized outputs.
+Filters are implemented using external commands which are specified in
+configuration file definitions.</p><p>There’s nothing special about the filters, they’re just standard UNIX
+filters: they read text from the standard input, process it, and write
+to the standard output.</p><p>The asciidoc(1) command <code class="literal">--filter</code> option can be used to install and
+remove filters. The same option is used to unconditionally load a
+filter.</p><p>Attribute substitution is performed on the filter command prior to
+execution — attributes can be used to pass parameters from the
+AsciiDoc source document to the filter.</p><div class="warning" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="images/icons/warning.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>Filters sometimes included executable code. Before installing
+a filter you should verify that it is from a trusted source.</p></td></tr></table></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_filter_search_paths"></a>33.1. Filter Search Paths</h2></div></div></div><p>If the filter command does not specify a directory path then
+asciidoc(1) recursively searches for the executable filter command:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+First it looks in the user’s <code class="literal">$HOME/.asciidoc/filters</code> directory.
+</li><li class="listitem">
+Next the global filters directory (usually <code class="literal">/etc/asciidoc/filters</code>
+ or <code class="literal">/usr/local/etc/asciidoc</code>) directory is searched.
+</li><li class="listitem">
+Then it looks in the asciidoc(1) <code class="literal">./filters</code> directory.
+</li><li class="listitem">
+Finally it relies on the executing shell to search the environment
+ search path (<code class="literal">$PATH</code>).
+</li></ul></div><p>Standard practice is to install each filter in it’s own sub-directory
+with the same name as the filter’s style definition. For example the
+music filter’s style name is <span class="emphasis"><em>music</em></span> so it’s configuration and filter
+files are stored in the <code class="literal">filters/music</code> directory.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_filter_configuration_files"></a>33.2. Filter Configuration Files</h2></div></div></div><p>Filters are normally accompanied by a configuration file containing a
+Paragraph or DelimitedBlock definition along with corresponding markup
+templates.</p><p>While it is possible to create new <span class="emphasis"><em>Paragraph</em></span> or <span class="emphasis"><em>DelimitedBlock</em></span>
+definitions the preferred way to implement a filter is to add a
+<a class="link" href="ch32.html#X23" title="32.1. Styles">style</a> to the existing Paragraph and ListingBlock definitions
+(all filters shipped with AsciiDoc use this technique). The filter is
+applied to the paragraph or delimited block by preceding it with an
+attribute list: the first positional attribute is the style name,
+remaining attributes are normally filter specific parameters.</p><p>asciidoc(1) auto-loads all <code class="literal">.conf</code> files found in the filter search
+paths unless the container directory also contains a file named
+<code class="literal">__noautoload__</code> (see previous section). The <code class="literal">__noautoload__</code> feature
+is used for filters that will be loaded manually using the <code class="literal">--filter</code>
+option.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X56"></a>33.3. Example Filter</h2></div></div></div><p>AsciiDoc comes with a toy filter for highlighting source code keywords
+and comments. See also the <code class="literal">./filters/code/code-filter-readme.txt</code>
+file.</p><div class="note" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/icons/note.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><p>The purpose of this toy filter is to demonstrate how to write a
+filter — it’s much to simplistic to be passed off as a code syntax
+highlighter. If you want a full featured multi-language highlighter
+use the <a class="ulink" href="https://asciidoc.org/source-highlight-filter.html" target="_top">source code highlighter
+filter</a>.</p></td></tr></table></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_built_in_filters"></a>33.4. Built-in filters</h2></div></div></div><p>The AsciiDoc distribution includes <span class="emphasis"><em>source</em></span>, <span class="emphasis"><em>music</em></span>, <span class="emphasis"><em>latex</em></span> and
+<span class="emphasis"><em>graphviz</em></span> filters, details are on the
+<a class="ulink" href="https://asciidoc.org/index.html#_filters" target="_top">AsciiDoc website</a>.</p><div class="table"><a id="idm4841"></a><p class="title"><strong>Table 33.1. Built-in filters list</strong></p><div class="table-contents"><table class="table" summary="Built-in filters list" cellpadding="4px" style="border-collapse: collapse;border-top: 3px solid #527bbd; border-bottom: 3px solid #527bbd; "><colgroup><col class="col_1" /><col class="col_2" /></colgroup><thead><tr><th style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top">Filter name </th><th style="border-bottom: 1px solid #527bbd; " align="left" valign="top">Description</th></tr></thead><tbody><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>music</em></span></p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>A <a class="ulink" href="https://asciidoc.org/music-filter.html" target="_top">music filter</a> is included in the
+distribution <code class="literal">./filters/</code> directory. It translates music in
+<a class="ulink" href="http://lilypond.org/" target="_top">LilyPond</a> or <a class="ulink" href="http://abcnotation.org.uk/" target="_top">ABC</a>
+notation to standard classical notation.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>source</em></span></p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>A <a class="ulink" href="https://asciidoc.org/source-highlight-filter.html" target="_top">source code highlight filter</a>
+is included in the distribution <code class="literal">./filters/</code> directory.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; border-bottom: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>latex</em></span></p></td><td style="border-bottom: 1px solid #527bbd; " align="left" valign="top"><p>The <a class="ulink" href="https://asciidoc.org/latex-filter.html" target="_top">AsciiDoc LaTeX filter</a> translates
+LaTeX source to an image that is automatically inserted into the
+AsciiDoc output documents.</p></td></tr><tr><td style="border-right: 1px solid #527bbd; " align="left" valign="top"><p><span class="emphasis"><em>graphviz</em></span></p></td><td style="" align="left" valign="top"><p>Gouichi Iisaka has written a <a class="ulink" href="http://www.graphviz.org/" target="_top">Graphviz</a>
+filter for AsciiDoc. Graphviz generates diagrams from a textual
+specification. Gouichi Iisaka’s Graphviz filter is included in the
+AsciiDoc distribution. Here are some
+<a class="ulink" href="https://asciidoc.org/asciidoc-graphviz-sample.html" target="_top">AsciiDoc Graphviz examples</a>.</p></td></tr></tbody></table></div></div><br class="table-break" /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X58"></a>33.5. Filter plugins</h2></div></div></div><p>Filter <a class="link" href="ch34.html" title="Chapter 34. Plugins">plugins</a> are a mechanism for distributing AsciiDoc
+filters. A filter plugin is a Zip file containing the files that
+constitute a filter. The asciidoc(1) <code class="literal">--filter</code> option is used to
+load and manage filer <a class="link" href="ch34.html" title="Chapter 34. Plugins">plugins</a>.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Filter plugins <a class="link" href="ch26.html#X27" title="26.11. Configuration file names, precedence and locations">take precedence</a> over built-in filters with
+ the same name.
+</li><li class="listitem">
+By default filter plugins are installed in
+ <code class="literal">$HOME/.asciidoc/filters/&lt;filter&gt;</code> where <code class="literal">&lt;filter&gt;</code> is the filter
+ name.
+</li></ul></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch32.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch34.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch34.html b/chunked/ch34.html
new file mode 100644
index 0000000..6e97329
--- /dev/null
+++ b/chunked/ch34.html
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 34. Plugins</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch33.html" title="Chapter 33. Filters" /><link rel="next" href="ch35.html" title="Chapter 35. Help Commands" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch33.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch35.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="X101"></a>Chapter 34. Plugins</h1></div></div></div><p>The AsciiDoc plugin architecture is an extension mechanism that allows
+additional <a class="link" href="ch04.html#X100" title="4.2. Backend Plugins">backends</a>, <a class="link" href="ch33.html#X58" title="33.5. Filter plugins">filters</a> and <a class="link" href="ch07.html#X99" title="7.1. Themes">themes</a> to be
+added to AsciiDoc.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+A plugin is a Zip file containing an AsciiDoc backend, filter or
+ theme (configuration files, stylesheets, scripts, images).
+</li><li class="listitem">
+The asciidoc(1) <code class="literal">--backend</code>, <code class="literal">--filter</code> and <code class="literal">--theme</code> command-line
+ options are used to load and manage plugins. Each of these options
+ responds to the plugin management <span class="emphasis"><em>install</em></span>, <span class="emphasis"><em>list</em></span>, <span class="emphasis"><em>remove</em></span> and
+ <span class="emphasis"><em>build</em></span> commands.
+</li><li class="listitem">
+The plugin management command names are reserved and cannot be used
+ for filter, backend or theme names.
+</li><li class="listitem">
+The plugin Zip file name always begins with the backend, filter or
+ theme name.
+</li></ul></div><p>Plugin commands and conventions are documented in the asciidoc(1) man
+page. You can find lists of plugins on the
+<a class="ulink" href="https://asciidoc.org/plugins.html" target="_top">AsciiDoc website</a>.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch33.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch35.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch35.html b/chunked/ch35.html
new file mode 100644
index 0000000..de4861e
--- /dev/null
+++ b/chunked/ch35.html
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 35. Help Commands</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch34.html" title="Chapter 34. Plugins" /><link rel="next" href="ch36.html" title="Chapter 36. Tips and Tricks" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch34.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch36.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="X36"></a>Chapter 35. Help Commands</h1></div></div></div><p>The asciidoc(1) command has a <code class="literal">--help</code> option which prints help topics
+to stdout. The default topic summarizes asciidoc(1) usage:</p><pre class="literallayout">$ asciidoc --help</pre><p>To print a help topic specify the topic name as a command argument.
+Help topic names can be shortened so long as they are not ambiguous.
+Examples:</p><pre class="literallayout">$ asciidoc --help manpage
+$ asciidoc -h m # Short version of previous example.
+$ asciidoc --help syntax
+$ asciidoc -h s # Short version of previous example.</pre><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_customizing_help"></a>35.1. Customizing Help</h2></div></div></div><p>To change, delete or add your own help topics edit a help
+configuration file. The help file name <code class="literal">help-&lt;lang&gt;.conf</code> is based on
+the setting of the <code class="literal">lang</code> attribute, it defaults to <code class="literal">help.conf</code>
+(English). The <a class="link" href="ch26.html#X27" title="26.11. Configuration file names, precedence and locations">help file location</a> will depend on whether you
+want the topics to apply to all users or just the current user.</p><p>The help topic files have the same named section format as other
+<a class="link" href="ch26.html" title="Chapter 26. Configuration Files">configuration files</a>. The <code class="literal">help.conf</code> files are stored in the
+same locations and loaded in the same order as other configuration
+files.</p><p>When the <code class="literal">--help</code> command-line option is specified AsciiDoc loads the
+appropriate help files and then prints the contents of the section
+whose name matches the help topic name. If a topic name is not
+specified <code class="literal">default</code> is used. You don’t need to specify the whole help
+topic name on the command-line, just enough letters to ensure it’s not
+ambiguous. If a matching help file section is not found a list of
+available topics is printed.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch34.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch36.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/ch36.html b/chunked/ch36.html
new file mode 100644
index 0000000..ce8f0e1
--- /dev/null
+++ b/chunked/ch36.html
@@ -0,0 +1,216 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 36. Tips and Tricks</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch35.html" title="Chapter 35. Help Commands" /><link rel="next" href="go01.html" title="Glossary" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch35.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="go01.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="_tips_and_tricks"></a>Chapter 36. Tips and Tricks</h1></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_know_your_editor"></a>36.1. Know Your Editor</h2></div></div></div><p>Writing AsciiDoc documents will be a whole lot more pleasant if you
+know your favorite text editor. Learn how to indent and reformat text
+blocks, paragraphs, lists and sentences. <a class="link" href="ch36.html#X20" title="36.2. Vim Commands for Formatting AsciiDoc">Tips for <span class="emphasis"><em>vim</em></span> users</a>
+follow.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X20"></a>36.2. Vim Commands for Formatting AsciiDoc</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_text_wrap_paragraphs"></a>36.2.1. Text Wrap Paragraphs</h3></div></div></div><p>Use the vim <code class="literal">:gq</code> command to reformat paragraphs. Setting the
+<span class="emphasis"><em>textwidth</em></span> sets the right text wrap margin; for example:</p><pre class="literallayout">:set textwidth=70</pre><p>To reformat a paragraph:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
+Position the cursor at the start of the paragraph.
+</li><li class="listitem">
+Type <code class="literal">gq}</code>.
+</li></ol></div><p>Execute <code class="literal">:help gq</code> command to read about the vim gq command.</p><div class="tip" style="margin-left: 0; margin-right: 10%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="images/icons/tip.png" /></td><th align="left"></th></tr><tr><td align="left" valign="top"><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Assign the <code class="literal">gq}</code> command to the Q key with the <code class="literal">nnoremap Q gq}</code>
+ command or put it in your <code class="literal">~/.vimrc</code> file to so it’s always
+ available (see the <a class="link" href="ch36.html#X61" title="36.2.4. Example ~/.vimrc File">Example <code class="literal">~/.vimrc</code> file</a>).
+</li><li class="listitem">
+Put <code class="literal">set</code> commands in your <code class="literal">~/.vimrc</code> file so you don’t have to
+ enter them manually.
+</li><li class="listitem">
+The Vim website (<a class="ulink" href="http://www.vim.org" target="_top">http://www.vim.org</a>) has a wealth of resources,
+ including scripts for automated spell checking and ASCII Art
+ drawing.
+</li></ul></div></td></tr></table></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_format_lists"></a>36.2.2. Format Lists</h3></div></div></div><p>The <code class="literal">gq</code> command can also be used to format bulleted, numbered and
+callout lists. First you need to set the <code class="literal">comments</code>, <code class="literal">formatoptions</code>
+and <code class="literal">formatlistpat</code> (see the <a class="link" href="ch36.html#X61" title="36.2.4. Example ~/.vimrc File">Example <code class="literal">~/.vimrc</code> file</a>).</p><p>Now you can format simple lists that use dash, asterisk, period and
+plus bullets along with numbered ordered lists:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
+Position the cursor at the start of the list.
+</li><li class="listitem">
+Type <code class="literal">gq}</code>.
+</li></ol></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_indent_paragraphs"></a>36.2.3. Indent Paragraphs</h3></div></div></div><p>Indent whole paragraphs by indenting the fist line with the desired
+indent and then executing the <code class="literal">gq}</code> command.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="X61"></a>36.2.4. Example <code class="literal">~/.vimrc</code> File</h3></div></div></div><pre class="screen">" Use bold bright fonts.
+set background=dark
+
+" Show tabs and trailing characters.
+"set listchars=tab:»·,trail:·,eol:¬
+set listchars=tab:»·,trail:·
+set list
+
+" Reformat paragraphs and list.
+nnoremap &lt;Leader&gt;r gq}
+
+" Delete trailing white space and Dos-returns and to expand tabs to spaces.
+nnoremap &lt;Leader&gt;t :set et&lt;CR&gt;:retab!&lt;CR&gt;:%s/[\r \t]\+$//&lt;CR&gt;
+
+autocmd BufRead,BufNewFile *.txt,*.asciidoc,README,TODO,CHANGELOG,NOTES,ABOUT
+ \ setlocal autoindent expandtab tabstop=8 softtabstop=2 shiftwidth=2 filetype=asciidoc
+ \ textwidth=70 wrap formatoptions=tcqn
+ \ formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\\|^\\s*&lt;\\d\\+&gt;\\s\\+\\\\|^\\s*[a-zA-Z.]\\.\\s\\+\\\\|^\\s*[ivxIVX]\\+\\.\\s\\+
+ \ comments=s1:/*,ex:*/,://,b:#,:%,:XCOMM,fb:-,fb:*,fb:+,fb:.,fb:&gt;</pre></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_troubleshooting"></a>36.3. Troubleshooting</h2></div></div></div><p>AsciiDoc diagnostic features are detailed in the <a class="link" href="apg.html" title="Appendix G. Diagnostics">Diagnostics appendix</a>.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_gotchas"></a>36.4. Gotchas</h2></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+Incorrect character encoding
+</span></dt><dd>
+ If you get an error message like <code class="literal">'UTF-8' codec can't decode ...</code>
+ then you source file contains invalid UTF-8 characters — set the
+ AsciiDoc <a class="link" href="aph.html#X54">encoding attribute</a> for the correct character set
+ (typically ISO-8859-1 (Latin-1) for European languages).
+</dd><dt><span class="term">
+Invalid output
+</span></dt><dd><p class="simpara">
+ AsciiDoc attempts to validate the input AsciiDoc source but makes
+ no attempt to validate the output markup, it leaves that to
+ external tools such as <code class="literal">xmllint(1)</code> (integrated into <code class="literal">a2x(1)</code>).
+ Backend validation cannot be hardcoded into AsciiDoc because
+ backends are dynamically configured. The following example
+ generates valid HTML but invalid DocBook (the DocBook <code class="literal">literal</code>
+ element cannot contain an <code class="literal">emphasis</code> element):
+</p><pre class="literallayout">+monospaced text with an _emphasized_ word+</pre></dd><dt><span class="term">
+Misinterpreted text formatting
+</span></dt><dd><p class="simpara">
+ You can suppress markup expansion by placing a backslash character
+ immediately in front of the element. The following example
+ suppresses inline monospaced formatting:
+</p><pre class="literallayout">\+1 for C++.</pre></dd><dt><span class="term">
+Overlapping text formatting
+</span></dt><dd><p class="simpara">
+ Overlapping text formatting will generate illegal overlapping
+ markup tags which will result in downstream XML parsing errors.
+ Here’s an example:
+</p><pre class="literallayout">Some *strong markup _that overlaps* emphasized markup_.</pre></dd><dt><span class="term">
+Ambiguous underlines
+</span></dt><dd>
+ A DelimitedBlock can immediately follow a paragraph without an
+ intervening blank line, but be careful, a single line paragraph
+ underline may be misinterpreted as a section title underline
+ resulting in a “closing block delimiter expected” error.
+</dd><dt><span class="term">
+Ambiguous ordered list items
+</span></dt><dd><p class="simpara">
+ Lines beginning with numbers at the end of sentences will be
+ interpreted as ordered list items. The following example
+ (incorrectly) begins a new list with item number 1999:
+</p><pre class="literallayout">He was last sighted in
+1999. Since then things have moved on.</pre><p class="simpara">The <span class="emphasis"><em>list item out of sequence</em></span> warning makes it unlikely that this
+problem will go unnoticed.</p></dd><dt><span class="term">
+Special characters in attribute values
+</span></dt><dd><p class="simpara">
+ Special character substitution precedes attribute substitution so
+ if attribute values contain special characters you may, depending
+ on the substitution context, need to escape the special characters
+ yourself. For example:
+</p><pre class="literallayout">$ asciidoc -a 'orgname=Bill &amp;amp; Ben Inc.' mydoc.txt</pre></dd><dt><span class="term">
+Attribute lists
+</span></dt><dd><p class="simpara">
+ If any named attribute entries are present then all string
+ attribute values must be quoted. For example:
+</p><pre class="literallayout">["Desktop screenshot",width=32]</pre></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="X90"></a>36.5. Combining separate documents</h2></div></div></div><p>You have a number of stand-alone AsciiDoc documents that you want to
+process as a single document. Simply processing them with a series of
+<code class="literal">include</code> macros won’t work because the documents contain (level 0)
+document titles. The solution is to create a top level wrapper
+document and use the <code class="literal">leveloffset</code> attribute to push them all down one
+level. For example:</p><pre class="screen">Combined Document Title
+=======================
+
+// Push titles down one level.
+:leveloffset: 1
+
+include::document1.txt[]
+
+// Return to normal title levels.
+:leveloffset: 0
+
+A Top Level Section
+-------------------
+Lorum ipsum.
+
+// Push titles down one level.
+:leveloffset: 1
+
+include::document2.txt[]
+
+include::document3.txt[]</pre><p>The document titles in the included documents will now be processed as
+level 1 section titles, level 1 sections as level 2 sections and so
+on.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Put a blank line between the <code class="literal">include</code> macro lines to ensure the
+ title of the included document is not seen as part of the last
+ paragraph of the previous document.
+</li><li class="listitem">
+You won’t want non-title document header lines (for example, Author
+ and Revision lines) in the included files — conditionally exclude
+ them if they are necessary for stand-alone processing.
+</li></ul></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_processing_document_sections_separately"></a>36.6. Processing document sections separately</h2></div></div></div><p>You have divided your AsciiDoc document into separate files (one per
+top level section) which are combined and processed with the following
+top level document:</p><pre class="screen">Combined Document Title
+=======================
+Joe Bloggs
+v1.0, 12-Aug-03
+
+include::section1.txt[]
+
+include::section2.txt[]
+
+include::section3.txt[]</pre><p>You also want to process the section files as separate documents.
+This is easy because asciidoc(1) will quite happily process
+<code class="literal">section1.txt</code>, <code class="literal">section2.txt</code> and <code class="literal">section3.txt</code> separately — the
+resulting output documents contain the section but have no document
+title.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_processing_document_snippets"></a>36.7. Processing document snippets</h2></div></div></div><p>Use the <code class="literal">-s</code> (<code class="literal">--no-header-footer</code>) command-line option to suppress
+header and footer output, this is useful if the processed output is to
+be included in another file. For example:</p><pre class="literallayout">$ asciidoc -sb docbook section1.txt</pre><p>asciidoc(1) can be used as a filter, so you can pipe chunks of text
+through it. For example:</p><pre class="literallayout">$ echo 'Hello *World!*' | asciidoc -s -
+&lt;div class="paragraph"&gt;&lt;p&gt;Hello &lt;strong&gt;World!&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</pre></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_badges_in_html_page_footers"></a>36.8. Badges in HTML page footers</h2></div></div></div><p>See the <code class="literal">[footer]</code> section in the AsciiDoc distribution <code class="literal">xhtml11.conf</code>
+configuration file.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_pretty_printing_asciidoc_output"></a>36.9. Pretty printing AsciiDoc output</h2></div></div></div><p>If the indentation and layout of the asciidoc(1) output is not to your
+liking you can:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
+Change the indentation and layout of configuration file markup
+ template sections. The <code class="literal">{empty}</code> attribute is useful for outputting
+ trailing blank lines in markup templates.
+</li><li class="listitem"><p class="simpara">
+Use Dave Raggett’s <a class="ulink" href="http://tidy.sourceforge.net/" target="_top">HTML Tidy</a> program
+ to tidy asciidoc(1) output. Example:
+</p><pre class="literallayout">$ asciidoc -b docbook -o - mydoc.txt | tidy -indent -xml &gt;mydoc.xml</pre></li><li class="listitem"><p class="simpara">
+Use the <code class="literal">xmllint(1)</code> format option. Example:
+</p><pre class="literallayout">$ xmllint --format mydoc.xml</pre></li></ol></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_supporting_minor_docbook_dtd_variations"></a>36.10. Supporting minor DocBook DTD variations</h2></div></div></div><p>The conditional inclusion of DocBook SGML markup at the end of the
+distribution <code class="literal">docbook45.conf</code> file illustrates how to support minor
+DTD variations. The included sections override corresponding entries
+from preceding sections.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_creating_stand_alone_html_documents"></a>36.11. Creating stand-alone HTML documents</h2></div></div></div><p>If you’ve ever tried to send someone an HTML document that includes
+stylesheets and images you’ll know that it’s not as straight-forward
+as exchanging a single file. AsciiDoc has options to create
+stand-alone documents containing embedded images, stylesheets and
+scripts. The following AsciiDoc command creates a single file
+containing <a class="link" href="ch21.html#X66" title="Embedding images in XHTML documents">embedded images</a>, CSS stylesheets, and JavaScript
+(for table of contents and footnotes):</p><pre class="literallayout">$ asciidoc -a data-uri -a icons -a toc -a max-width=55em article.txt</pre><p>You can view the HTML file here: <a class="ulink" href="https://asciidoc.org/article-standalone.html" target="_top">https://asciidoc.org/article-standalone.html</a></p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_shipping_stand_alone_asciidoc_source"></a>36.12. Shipping stand-alone AsciiDoc source</h2></div></div></div><p>Reproducing presentation documents from someone else’s source has one
+major problem: unless your configuration files are the same as the
+creator’s you won’t get the same output.</p><p>The solution is to create a single backend specific configuration file
+using the asciidoc(1) <code class="literal">-c</code> (<code class="literal">--dump-conf</code>) command-line option. You
+then ship this file along with the AsciiDoc source document plus the
+<code class="literal">asciidoc.py</code> script. The only end user requirement is that they have
+Python installed (and that they consider you a trusted source). This
+example creates a composite HTML configuration file for <code class="literal">mydoc.txt</code>:</p><pre class="literallayout">$ asciidoc -cb xhtml11 mydoc.txt &gt; mydoc-xhtml11.conf</pre><p>Ship <code class="literal">mydoc.txt</code>, <code class="literal">mydoc-html.conf</code>, and <code class="literal">asciidoc.py</code>. With
+these three files (and a Python interpreter) the recipient can
+regenerate the HMTL output:</p><pre class="literallayout">$ ./asciidoc.py -eb xhtml11 mydoc.txt</pre><p>The <code class="literal">-e</code> (<code class="literal">--no-conf</code>) option excludes the use of implicit
+configuration files, ensuring that only entries from the
+<code class="literal">mydoc-html.conf</code> configuration are used.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_inserting_blank_space"></a>36.13. Inserting blank space</h2></div></div></div><p>Adjust your style sheets to add the correct separation between block
+elements. Inserting blank paragraphs containing a single non-breaking
+space character <code class="literal">{nbsp}</code> works but is an ad hoc solution compared
+to using style sheets.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_closing_open_sections"></a>36.14. Closing open sections</h2></div></div></div><p>You can close off section tags up to level <code class="literal">N</code> by calling the
+<code class="literal">eval::[Section.setlevel(N)]</code> system macro. This is useful if you
+want to include a section composed of raw markup. The following
+example includes a DocBook glossary division at the top section level
+(level 0):</p><pre class="screen">ifdef::basebackend-docbook[]
+
+eval::[Section.setlevel(0)]
+
++++++++++++++++++++++++++++++++
+&lt;glossary&gt;
+ &lt;title&gt;Glossary&lt;/title&gt;
+ &lt;glossdiv&gt;
+ ...
+ &lt;/glossdiv&gt;
+&lt;/glossary&gt;
++++++++++++++++++++++++++++++++
+endif::basebackend-docbook[]</pre></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_validating_output_files"></a>36.15. Validating output files</h2></div></div></div><p>Use <code class="literal">xmllint(1)</code> to check the AsciiDoc generated markup is both well
+formed and valid. Here are some examples:</p><pre class="literallayout">$ xmllint --nonet --noout --valid docbook-file.xml
+$ xmllint --nonet --noout --valid xhtml11-file.html
+$ xmllint --nonet --noout --valid --html html4-file.html</pre><p>The <code class="literal">--valid</code> option checks the file is valid against the document
+type’s DTD, if the DTD is not installed in your system’s catalog then
+it will be fetched from its Internet location. If you omit the
+<code class="literal">--valid</code> option the document will only be checked that it is well
+formed.</p><p>The online <a class="ulink" href="http://validator.w3.org/#validate_by_uri+with_options" target="_top">W3C
+Markup Validation Service</a> is the defacto standard when it comes to
+validating HTML (it validates all HTML standards including HTML5).</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch35.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="go01.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/docbook-xsl.css b/chunked/docbook-xsl.css
new file mode 100644
index 0000000..ee9ca46
--- /dev/null
+++ b/chunked/docbook-xsl.css
@@ -0,0 +1,329 @@
+/*
+ CSS stylesheet for XHTML produced by DocBook XSL stylesheets.
+*/
+
+body {
+ font-family: Georgia,serif;
+}
+
+code, pre {
+ font-family: "Courier New", Courier, monospace;
+}
+
+span.strong {
+ font-weight: bold;
+}
+
+body blockquote {
+ margin-top: .75em;
+ line-height: 1.5;
+ margin-bottom: .75em;
+}
+
+html body {
+ margin: 1em 5% 1em 5%;
+ line-height: 1.2;
+}
+
+body div {
+ margin: 0;
+}
+
+h1, h2, h3, h4, h5, h6
+{
+ color: #527bbd;
+ font-family: Arial,Helvetica,sans-serif;
+}
+
+div.toc p:first-child,
+div.list-of-figures p:first-child,
+div.list-of-tables p:first-child,
+div.list-of-examples p:first-child,
+div.example p.title,
+div.sidebar p.title
+{
+ font-weight: bold;
+ color: #527bbd;
+ font-family: Arial,Helvetica,sans-serif;
+ margin-bottom: 0.2em;
+}
+
+body h1 {
+ margin: .0em 0 0 -4%;
+ line-height: 1.3;
+ border-bottom: 2px solid silver;
+}
+
+body h2 {
+ margin: 0.5em 0 0 -4%;
+ line-height: 1.3;
+ border-bottom: 2px solid silver;
+}
+
+body h3 {
+ margin: .8em 0 0 -3%;
+ line-height: 1.3;
+}
+
+body h4 {
+ margin: .8em 0 0 -3%;
+ line-height: 1.3;
+}
+
+body h5 {
+ margin: .8em 0 0 -2%;
+ line-height: 1.3;
+}
+
+body h6 {
+ margin: .8em 0 0 -1%;
+ line-height: 1.3;
+}
+
+body hr {
+ border: none; /* Broken on IE6 */
+}
+div.footnotes hr {
+ border: 1px solid silver;
+}
+
+div.navheader th, div.navheader td, div.navfooter td {
+ font-family: Arial,Helvetica,sans-serif;
+ font-size: 0.9em;
+ font-weight: bold;
+ color: #527bbd;
+}
+div.navheader img, div.navfooter img {
+ border-style: none;
+}
+div.navheader a, div.navfooter a {
+ font-weight: normal;
+}
+div.navfooter hr {
+ border: 1px solid silver;
+}
+
+body td {
+ line-height: 1.2
+}
+
+body th {
+ line-height: 1.2;
+}
+
+ol {
+ line-height: 1.2;
+}
+
+ul, body dir, body menu {
+ line-height: 1.2;
+}
+
+html {
+ margin: 0;
+ padding: 0;
+}
+
+body h1, body h2, body h3, body h4, body h5, body h6 {
+ margin-left: 0
+}
+
+body pre {
+ margin: 0.5em 10% 0.5em 1em;
+ line-height: 1.0;
+ color: navy;
+}
+
+tt.literal, code.literal {
+ color: navy;
+}
+
+.programlisting, .screen {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ margin: 0.5em 10% 0.5em 0;
+ padding: 0.5em 1em;
+}
+
+div.sidebar {
+ background: #ffffee;
+ margin: 1.0em 10% 0.5em 0;
+ padding: 0.5em 1em;
+ border: 1px solid silver;
+}
+div.sidebar * { padding: 0; }
+div.sidebar div { margin: 0; }
+div.sidebar p.title {
+ margin-top: 0.5em;
+ margin-bottom: 0.2em;
+}
+
+div.bibliomixed {
+ margin: 0.5em 5% 0.5em 1em;
+}
+
+div.glossary dt {
+ font-weight: bold;
+}
+div.glossary dd p {
+ margin-top: 0.2em;
+}
+
+dl {
+ margin: .8em 0;
+ line-height: 1.2;
+}
+
+dt {
+ margin-top: 0.5em;
+}
+
+dt span.term {
+ font-style: normal;
+ color: navy;
+}
+
+div.variablelist dd p {
+ margin-top: 0;
+}
+
+div.itemizedlist li, div.orderedlist li {
+ margin-left: -0.8em;
+ margin-top: 0.5em;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+
+div.sidebar ul, div.sidebar ol {
+ margin-left: 2.8em;
+}
+
+div.itemizedlist p.title,
+div.orderedlist p.title,
+div.variablelist p.title
+{
+ margin-bottom: -0.8em;
+}
+
+div.revhistory table {
+ border-collapse: collapse;
+ border: none;
+}
+div.revhistory th {
+ border: none;
+ color: #527bbd;
+ font-family: Arial,Helvetica,sans-serif;
+}
+div.revhistory td {
+ border: 1px solid silver;
+}
+
+/* Keep TOC and index lines close together. */
+div.toc dl, div.toc dt,
+div.list-of-figures dl, div.list-of-figures dt,
+div.list-of-tables dl, div.list-of-tables dt,
+div.indexdiv dl, div.indexdiv dt
+{
+ line-height: normal;
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+/*
+ Table styling does not work because of overriding attributes in
+ generated HTML.
+*/
+div.table table,
+div.informaltable table
+{
+ margin-left: 0;
+ margin-right: 5%;
+ margin-bottom: 0.8em;
+}
+div.informaltable table
+{
+ margin-top: 0.4em
+}
+div.table thead,
+div.table tfoot,
+div.table tbody,
+div.informaltable thead,
+div.informaltable tfoot,
+div.informaltable tbody
+{
+ /* No effect in IE6. */
+ border-top: 3px solid #527bbd;
+ border-bottom: 3px solid #527bbd;
+}
+div.table thead, div.table tfoot,
+div.informaltable thead, div.informaltable tfoot
+{
+ font-weight: bold;
+}
+
+div.mediaobject img {
+ margin-bottom: 0.8em;
+}
+div.figure p.title,
+div.table p.title
+{
+ margin-top: 1em;
+ margin-bottom: 0.4em;
+}
+
+div.calloutlist p
+{
+ margin-top: 0em;
+ margin-bottom: 0.4em;
+}
+
+a img {
+ border-style: none;
+}
+
+@media print {
+ div.navheader, div.navfooter { display: none; }
+}
+
+span.aqua { color: aqua; }
+span.black { color: black; }
+span.blue { color: blue; }
+span.fuchsia { color: fuchsia; }
+span.gray { color: gray; }
+span.green { color: green; }
+span.lime { color: lime; }
+span.maroon { color: maroon; }
+span.navy { color: navy; }
+span.olive { color: olive; }
+span.purple { color: purple; }
+span.red { color: red; }
+span.silver { color: silver; }
+span.teal { color: teal; }
+span.white { color: white; }
+span.yellow { color: yellow; }
+
+span.aqua-background { background: aqua; }
+span.black-background { background: black; }
+span.blue-background { background: blue; }
+span.fuchsia-background { background: fuchsia; }
+span.gray-background { background: gray; }
+span.green-background { background: green; }
+span.lime-background { background: lime; }
+span.maroon-background { background: maroon; }
+span.navy-background { background: navy; }
+span.olive-background { background: olive; }
+span.purple-background { background: purple; }
+span.red-background { background: red; }
+span.silver-background { background: silver; }
+span.teal-background { background: teal; }
+span.white-background { background: white; }
+span.yellow-background { background: yellow; }
+
+span.big { font-size: 2em; }
+span.small { font-size: 0.6em; }
+
+span.underline { text-decoration: underline; }
+span.overline { text-decoration: overline; }
+span.line-through { text-decoration: line-through; }
diff --git a/chunked/go01.html b/chunked/go01.html
new file mode 100644
index 0000000..32dda23
--- /dev/null
+++ b/chunked/go01.html
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Glossary</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="ch36.html" title="Chapter 36. Tips and Tricks" /><link rel="next" href="apa.html" title="Appendix A. Migration Notes" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ch36.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="apa.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="glossary"><div class="titlepage"><div><div><h1 class="title"><a id="_glossary"></a>Glossary</h1></div></div></div><dl><dt><span class="glossterm">
+<a id="X8"></a> Block element
+</span></dt><dd class="glossdef"><p>
+ An AsciiDoc block element is a document entity composed of one or
+ more whole lines of text.
+</p></dd><dt><span class="glossterm">
+<a id="X34"></a> Inline element
+</span></dt><dd class="glossdef"><p>
+ AsciiDoc inline elements occur within block element textual
+ content, they perform formatting and substitution tasks.
+</p></dd><dt><span class="glossterm">
+Formal element
+</span></dt><dd class="glossdef"><p>
+ An AsciiDoc block element that has a BlockTitle. Formal elements
+ are normally listed in front or back matter, for example lists of
+ tables, examples and figures.
+</p></dd><dt><span class="glossterm">
+Verbatim element
+</span></dt><dd class="glossdef"><p>
+ The word verbatim indicates that white space and line breaks in
+ the source document are to be preserved in the output document.
+</p></dd></dl></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch36.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="apa.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/images/icons/callouts/1.png b/chunked/images/icons/callouts/1.png
new file mode 100644
index 0000000..7d47343
--- /dev/null
+++ b/chunked/images/icons/callouts/1.png
Binary files differ
diff --git a/chunked/images/icons/callouts/2.png b/chunked/images/icons/callouts/2.png
new file mode 100644
index 0000000..5d09341
--- /dev/null
+++ b/chunked/images/icons/callouts/2.png
Binary files differ
diff --git a/chunked/images/icons/callouts/3.png b/chunked/images/icons/callouts/3.png
new file mode 100644
index 0000000..ef7b700
--- /dev/null
+++ b/chunked/images/icons/callouts/3.png
Binary files differ
diff --git a/chunked/images/icons/callouts/4.png b/chunked/images/icons/callouts/4.png
new file mode 100644
index 0000000..adb8364
--- /dev/null
+++ b/chunked/images/icons/callouts/4.png
Binary files differ
diff --git a/chunked/images/icons/callouts/5.png b/chunked/images/icons/callouts/5.png
new file mode 100644
index 0000000..4d7eb46
--- /dev/null
+++ b/chunked/images/icons/callouts/5.png
Binary files differ
diff --git a/chunked/images/icons/home.png b/chunked/images/icons/home.png
new file mode 100644
index 0000000..37a5231
--- /dev/null
+++ b/chunked/images/icons/home.png
Binary files differ
diff --git a/chunked/images/icons/next.png b/chunked/images/icons/next.png
new file mode 100644
index 0000000..64e126b
--- /dev/null
+++ b/chunked/images/icons/next.png
Binary files differ
diff --git a/chunked/images/icons/note.png b/chunked/images/icons/note.png
new file mode 100644
index 0000000..7c1f3e2
--- /dev/null
+++ b/chunked/images/icons/note.png
Binary files differ
diff --git a/chunked/images/icons/prev.png b/chunked/images/icons/prev.png
new file mode 100644
index 0000000..3e8f12f
--- /dev/null
+++ b/chunked/images/icons/prev.png
Binary files differ
diff --git a/chunked/images/icons/tip.png b/chunked/images/icons/tip.png
new file mode 100644
index 0000000..f087c73
--- /dev/null
+++ b/chunked/images/icons/tip.png
Binary files differ
diff --git a/chunked/images/icons/warning.png b/chunked/images/icons/warning.png
new file mode 100644
index 0000000..d41edb9
--- /dev/null
+++ b/chunked/images/icons/warning.png
Binary files differ
diff --git a/chunked/index.html b/chunked/index.html
new file mode 100644
index 0000000..f610a84
--- /dev/null
+++ b/chunked/index.html
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>AsciiDoc User Guide</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="next" href="pr01.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="pr01.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div xml:lang="en" class="book" lang="en"><div class="titlepage"><div><div><h1 class="title"><a id="idm1"></a>AsciiDoc User Guide</h1></div><div><div class="author"><h3 class="author"><span class="firstname">Stuart</span> <span class="surname">Rackham</span></h3><code class="email">&lt;<a class="email" href="mailto:srackham@gmail.com">srackham@gmail.com</a>&gt;</code></div></div></div><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="preface"><a href="pr01.html"></a></span></dt><dt><span class="chapter"><a href="ch01.html">1. Introduction</a></span></dt><dt><span class="chapter"><a href="ch02.html">2. Getting Started</a></span></dt><dd><dl><dt><span class="section"><a href="ch02.html#_installing_asciidoc">2.1. Installing AsciiDoc</a></span></dt><dt><span class="section"><a href="ch02.html#X11">2.2. Example AsciiDoc Documents</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch03.html">3. AsciiDoc Document Types</a></span></dt><dd><dl><dt><span class="section"><a href="ch03.html#_article">3.1. article</a></span></dt><dt><span class="section"><a href="ch03.html#_book">3.2. book</a></span></dt><dt><span class="section"><a href="ch03.html#_manpage">3.3. manpage</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch04.html">4. AsciiDoc Backends</a></span></dt><dd><dl><dt><span class="section"><a href="ch04.html#_backend_aliases">4.1. Backend Aliases</a></span></dt><dt><span class="section"><a href="ch04.html#X100">4.2. Backend Plugins</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch05.html">5. DocBook</a></span></dt><dd><dl><dt><span class="section"><a href="ch05.html#X12">5.1. Converting DocBook to other file formats</a></span></dt><dt><span class="section"><a href="ch05.html#X43">5.2. a2x Toolchain Wrapper</a></span></dt><dt><span class="section"><a href="ch05.html#_html_generation">5.3. HTML generation</a></span></dt><dt><span class="section"><a href="ch05.html#_pdf_generation">5.4. PDF generation</a></span></dt><dt><span class="section"><a href="ch05.html#_html_help_generation">5.5. HTML Help generation</a></span></dt><dt><span class="section"><a href="ch05.html#_toolchain_components_summary">5.6. Toolchain components summary</a></span></dt><dt><span class="section"><a href="ch05.html#_asciidoc_dblatex_configuration_files">5.7. AsciiDoc dblatex configuration files</a></span></dt><dt><span class="section"><a href="ch05.html#_asciidoc_docbook_xsl_stylesheets_drivers">5.8. AsciiDoc DocBook XSL Stylesheets drivers</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch06.html">6. Generating Plain Text Files</a></span></dt><dt><span class="chapter"><a href="ch07.html">7. HTML5 and XHTML 1.1</a></span></dt><dd><dl><dt><span class="section"><a href="ch07.html#X99">7.1. Themes</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch08.html">8. Document Structure</a></span></dt><dd><dl><dt><span class="section"><a href="ch08.html#_block_elements">8.1. Block Elements</a></span></dt><dt><span class="section"><a href="ch08.html#X95">8.2. Header</a></span></dt><dt><span class="section"><a href="ch08.html#X86">8.3. Preamble</a></span></dt><dt><span class="section"><a href="ch08.html#_sections">8.4. Sections</a></span></dt><dt><span class="section"><a href="ch08.html#_inline_elements">8.5. Inline Elements</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch09.html">9. Document Processing</a></span></dt><dt><span class="chapter"><a href="ch10.html">10. Text Formatting</a></span></dt><dd><dl><dt><span class="section"><a href="ch10.html#X51">10.1. Quoted Text</a></span></dt><dt><span class="section"><a href="ch10.html#_superscripts_and_subscripts">10.2. Superscripts and Subscripts</a></span></dt><dt><span class="section"><a href="ch10.html#_line_breaks">10.3. Line Breaks</a></span></dt><dt><span class="section"><a href="ch10.html#_page_breaks">10.4. Page Breaks</a></span></dt><dt><span class="section"><a href="ch10.html#_rulers">10.5. Rulers</a></span></dt><dt><span class="section"><a href="ch10.html#_tabs">10.6. Tabs</a></span></dt><dt><span class="section"><a href="ch10.html#_replacements">10.7. Replacements</a></span></dt><dt><span class="section"><a href="ch10.html#_special_words">10.8. Special Words</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch11.html">11. Titles</a></span></dt><dd><dl><dt><span class="section"><a href="ch11.html#_two_line_titles">11.1. Two line titles</a></span></dt><dt><span class="section"><a href="ch11.html#X46">11.2. One line titles</a></span></dt><dt><span class="section"><a href="ch11.html#_floating_titles">11.3. Floating titles</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch12.html">12. Block Titles</a></span></dt><dt><span class="chapter"><a href="ch13.html">13. BlockId Element</a></span></dt><dt><span class="chapter"><a href="ch14.html">14. AttributeList Element</a></span></dt><dd><dl><dt><span class="section"><a href="ch14.html#_attribute_value_substitution">14.1. Attribute value substitution</a></span></dt><dt><span class="section"><a href="ch14.html#_common_attributes">14.2. Common attributes</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch15.html">15. Paragraphs</a></span></dt><dd><dl><dt><span class="section"><a href="ch15.html#_normal_paragraph_syntax">15.1. normal paragraph syntax</a></span></dt><dt><span class="section"><a href="ch15.html#X85">15.2. literal paragraph syntax</a></span></dt><dt><span class="section"><a href="ch15.html#X94">15.3. quote and verse paragraph styles</a></span></dt><dt><span class="section"><a href="ch15.html#X28">15.4. Admonition Paragraphs</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch16.html">16. Delimited Blocks</a></span></dt><dd><dl><dt><span class="section"><a href="ch16.html#_predefined_delimited_blocks">16.1. Predefined Delimited Blocks</a></span></dt><dt><span class="section"><a href="ch16.html#_listing_blocks">16.2. Listing Blocks</a></span></dt><dt><span class="section"><a href="ch16.html#X65">16.3. Literal Blocks</a></span></dt><dt><span class="section"><a href="ch16.html#_sidebar_blocks">16.4. Sidebar Blocks</a></span></dt><dt><span class="section"><a href="ch16.html#X26">16.5. Comment Blocks</a></span></dt><dt><span class="section"><a href="ch16.html#X76">16.6. Passthrough Blocks</a></span></dt><dt><span class="section"><a href="ch16.html#_quote_blocks">16.7. Quote Blocks</a></span></dt><dt><span class="section"><a href="ch16.html#X48">16.8. Example Blocks</a></span></dt><dt><span class="section"><a href="ch16.html#X22">16.9. Admonition Blocks</a></span></dt><dt><span class="section"><a href="ch16.html#X29">16.10. Open Blocks</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch17.html">17. Lists</a></span></dt><dd><dl><dt><span class="section"><a href="ch17.html#_bulleted_lists">17.1. Bulleted Lists</a></span></dt><dt><span class="section"><a href="ch17.html#_numbered_lists">17.2. Numbered Lists</a></span></dt><dt><span class="section"><a href="ch17.html#_labeled_lists">17.3. Labeled Lists</a></span></dt><dt><span class="section"><a href="ch17.html#_question_and_answer_lists">17.4. Question and Answer Lists</a></span></dt><dt><span class="section"><a href="ch17.html#_glossary_lists">17.5. Glossary Lists</a></span></dt><dt><span class="section"><a href="ch17.html#_bibliography_lists">17.6. Bibliography Lists</a></span></dt><dt><span class="section"><a href="ch17.html#X15">17.7. List Item Continuation</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch18.html">18. Footnotes</a></span></dt><dt><span class="chapter"><a href="ch19.html">19. Indexes</a></span></dt><dt><span class="chapter"><a href="ch20.html">20. Callouts</a></span></dt><dd><dl><dt><span class="section"><a href="ch20.html#_implementation_notes">20.1. Implementation Notes</a></span></dt><dt><span class="section"><a href="ch20.html#_including_callouts_in_included_code">20.2. Including callouts in included code</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch21.html">21. Macros</a></span></dt><dd><dl><dt><span class="section"><a href="ch21.html#_inline_macros">21.1. Inline Macros</a></span></dt><dt><span class="section"><a href="ch21.html#_block_macros">21.2. Block Macros</a></span></dt><dt><span class="section"><a href="ch21.html#_system_macros">21.3. System Macros</a></span></dt><dt><span class="section"><a href="ch21.html#X77">21.4. Passthrough macros</a></span></dt><dt><span class="section"><a href="ch21.html#_macro_definitions">21.5. Macro Definitions</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch22.html">22. HTML 5 audio and video block macros</a></span></dt><dt><span class="chapter"><a href="ch23.html">23. Tables</a></span></dt><dd><dl><dt><span class="section"><a href="ch23.html#_example_tables">23.1. Example tables</a></span></dt><dt><span class="section"><a href="ch23.html#X68">23.2. Table input data formats</a></span></dt><dt><span class="section"><a href="ch23.html#X69">23.3. Table attributes</a></span></dt><dt><span class="section"><a href="ch23.html#X70">23.4. Column Specifiers</a></span></dt><dt><span class="section"><a href="ch23.html#X84">23.5. Cell Specifiers</a></span></dt><dt><span class="section"><a href="ch23.html#X71">23.6. Table styles</a></span></dt><dt><span class="section"><a href="ch23.html#X72">23.7. Markup attributes</a></span></dt><dt><span class="section"><a href="ch23.html#_nested_tables">23.8. Nested tables</a></span></dt><dt><span class="section"><a href="ch23.html#X83">23.9. DocBook table limitations</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch24.html">24. Manpage Documents</a></span></dt><dd><dl><dt><span class="section"><a href="ch24.html#_document_header">24.1. Document Header</a></span></dt><dt><span class="section"><a href="ch24.html#_the_name_section">24.2. The NAME Section</a></span></dt><dt><span class="section"><a href="ch24.html#_the_synopsis_section">24.3. The SYNOPSIS Section</a></span></dt><dt><span class="section"><a href="ch24.html#_refmiscinfo_attributes">24.4. refmiscinfo attributes</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch25.html">25. Mathematical Formulas</a></span></dt><dd><dl><dt><span class="section"><a href="ch25.html#_latex_math">25.1. LaTeX Math</a></span></dt><dt><span class="section"><a href="ch25.html#_mathjax">25.2. MathJax</a></span></dt><dt><span class="section"><a href="ch25.html#_latexmathml">25.3. LaTeXMathML</a></span></dt><dt><span class="section"><a href="ch25.html#_asciimathml">25.4. ASCIIMathML</a></span></dt><dt><span class="section"><a href="ch25.html#_mathml">25.5. MathML</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch26.html">26. Configuration Files</a></span></dt><dd><dl><dt><span class="section"><a href="ch26.html#_configuration_file_format">26.1. Configuration File Format</a></span></dt><dt><span class="section"><a href="ch26.html#_miscellaneous_section">26.2. Miscellaneous section</a></span></dt><dt><span class="section"><a href="ch26.html#_titles_section">26.3. Titles section</a></span></dt><dt><span class="section"><a href="ch26.html#_tags_section">26.4. Tags section</a></span></dt><dt><span class="section"><a href="ch26.html#_attributes_section">26.5. Attributes section</a></span></dt><dt><span class="section"><a href="ch26.html#_special_characters_section">26.6. Special Characters section</a></span></dt><dt><span class="section"><a href="ch26.html#_quoted_text_section">26.7. Quoted Text section</a></span></dt><dt><span class="section"><a href="ch26.html#_special_words_section">26.8. Special Words section</a></span></dt><dt><span class="section"><a href="ch26.html#X10">26.9. Replacements section</a></span></dt><dt><span class="section"><a href="ch26.html#_markup_template_sections">26.10. Markup Template Sections</a></span></dt><dt><span class="section"><a href="ch26.html#X27">26.11. Configuration file names, precedence and locations</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch27.html">27. Document Attributes</a></span></dt><dt><span class="chapter"><a href="ch28.html">28. Attribute Entries</a></span></dt><dd><dl><dt><span class="section"><a href="ch28.html#_setting_configuration_entries">28.1. Setting configuration entries</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch29.html">29. Attribute Lists</a></span></dt><dd><dl><dt><span class="section"><a href="ch29.html#X75">29.1. Options attribute</a></span></dt><dt><span class="section"><a href="ch29.html#_macro_attribute_lists">29.2. Macro Attribute lists</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch30.html">30. Attribute References</a></span></dt><dd><dl><dt><span class="section"><a href="ch30.html#_simple_attributes_references">30.1. Simple Attributes References</a></span></dt><dt><span class="section"><a href="ch30.html#_conditional_attribute_references">30.2. Conditional Attribute References</a></span></dt><dt><span class="section"><a href="ch30.html#X24">30.3. System Attribute References</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch31.html">31. Intrinsic Attributes</a></span></dt><dt><span class="chapter"><a href="ch32.html">32. Block Element Definitions</a></span></dt><dd><dl><dt><span class="section"><a href="ch32.html#X23">32.1. Styles</a></span></dt><dt><span class="section"><a href="ch32.html#_paragraphs_2">32.2. Paragraphs</a></span></dt><dt><span class="section"><a href="ch32.html#_delimited_blocks">32.3. Delimited Blocks</a></span></dt><dt><span class="section"><a href="ch32.html#_lists">32.4. Lists</a></span></dt><dt><span class="section"><a href="ch32.html#_tables_2">32.5. Tables</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch33.html">33. Filters</a></span></dt><dd><dl><dt><span class="section"><a href="ch33.html#_filter_search_paths">33.1. Filter Search Paths</a></span></dt><dt><span class="section"><a href="ch33.html#_filter_configuration_files">33.2. Filter Configuration Files</a></span></dt><dt><span class="section"><a href="ch33.html#X56">33.3. Example Filter</a></span></dt><dt><span class="section"><a href="ch33.html#_built_in_filters">33.4. Built-in filters</a></span></dt><dt><span class="section"><a href="ch33.html#X58">33.5. Filter plugins</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch34.html">34. Plugins</a></span></dt><dt><span class="chapter"><a href="ch35.html">35. Help Commands</a></span></dt><dd><dl><dt><span class="section"><a href="ch35.html#_customizing_help">35.1. Customizing Help</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch36.html">36. Tips and Tricks</a></span></dt><dd><dl><dt><span class="section"><a href="ch36.html#_know_your_editor">36.1. Know Your Editor</a></span></dt><dt><span class="section"><a href="ch36.html#X20">36.2. Vim Commands for Formatting AsciiDoc</a></span></dt><dt><span class="section"><a href="ch36.html#_troubleshooting">36.3. Troubleshooting</a></span></dt><dt><span class="section"><a href="ch36.html#_gotchas">36.4. Gotchas</a></span></dt><dt><span class="section"><a href="ch36.html#X90">36.5. Combining separate documents</a></span></dt><dt><span class="section"><a href="ch36.html#_processing_document_sections_separately">36.6. Processing document sections separately</a></span></dt><dt><span class="section"><a href="ch36.html#_processing_document_snippets">36.7. Processing document snippets</a></span></dt><dt><span class="section"><a href="ch36.html#_badges_in_html_page_footers">36.8. Badges in HTML page footers</a></span></dt><dt><span class="section"><a href="ch36.html#_pretty_printing_asciidoc_output">36.9. Pretty printing AsciiDoc output</a></span></dt><dt><span class="section"><a href="ch36.html#_supporting_minor_docbook_dtd_variations">36.10. Supporting minor DocBook DTD variations</a></span></dt><dt><span class="section"><a href="ch36.html#_creating_stand_alone_html_documents">36.11. Creating stand-alone HTML documents</a></span></dt><dt><span class="section"><a href="ch36.html#_shipping_stand_alone_asciidoc_source">36.12. Shipping stand-alone AsciiDoc source</a></span></dt><dt><span class="section"><a href="ch36.html#_inserting_blank_space">36.13. Inserting blank space</a></span></dt><dt><span class="section"><a href="ch36.html#_closing_open_sections">36.14. Closing open sections</a></span></dt><dt><span class="section"><a href="ch36.html#_validating_output_files">36.15. Validating output files</a></span></dt></dl></dd><dt><span class="glossary"><a href="go01.html">Glossary</a></span></dt><dt><span class="appendix"><a href="apa.html">A. Migration Notes</a></span></dt><dd><dl><dt><span class="section"><a href="apa.html#X53">A.1. Version 7 to version 8</a></span></dt></dl></dd><dt><span class="appendix"><a href="apb.html">B. Packager Notes</a></span></dt><dt><span class="appendix"><a href="apc.html">C. AsciiDoc Safe Mode</a></span></dt><dt><span class="appendix"><a href="apd.html">D. Using AsciiDoc with non-English Languages</a></span></dt><dt><span class="appendix"><a href="ape.html">E. Vim Syntax Highlighter</a></span></dt><dt><span class="appendix"><a href="apf.html">F. Attribute Options</a></span></dt><dt><span class="appendix"><a href="apg.html">G. Diagnostics</a></span></dt><dt><span class="appendix"><a href="aph.html">H. Backend Attributes</a></span></dt><dt><span class="appendix"><a href="api.html">I. License</a></span></dt></dl></div><div class="list-of-tables"><p><strong>List of Tables</strong></p><dl><dt>7.1. <a href="ch07.html#idm414">Stylesheet file locations</a></dt><dt>7.2. <a href="ch07.html#idm444">JavaScript file locations</a></dt><dt>16.1. <a href="ch16.html#idm1337">Default DelimitedBlock substitutions</a></dt><dt>22.1. <a href="ch22.html#idm2641">Audio macro attributes</a></dt><dt>22.2. <a href="ch22.html#idm2661">Video macro attributes</a></dt><dt>23.1. <a href="ch23.html#idm2722">Simple table</a></dt><dt>23.2. <a href="ch23.html#idm2754">Columns formatted with strong, monospaced and emphasis styles</a></dt><dt>23.3. <a href="ch23.html#idm2820">Horizontal and vertical source data</a></dt><dt>23.4. <a href="ch23.html#idm2866">A table with externally sourced CSV data</a></dt><dt>23.5. <a href="ch23.html#idm2985">Cell spans, alignments and styles</a></dt><dt>33.1. <a href="ch33.html#idm4841">Built-in filters list</a></dt></dl></div><div class="list-of-examples"><p><strong>List of Examples</strong></p><dl><dt>16.1. <a href="ch16.html#idm1570">An example</a></dt></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="pr01.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table></div></body></html> \ No newline at end of file
diff --git a/chunked/pr01.html b/chunked/pr01.html
new file mode 100644
index 0000000..654f3b6
--- /dev/null
+++ b/chunked/pr01.html
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title></title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="AsciiDoc User Guide" /><link rel="up" href="index.html" title="AsciiDoc User Guide" /><link rel="prev" href="index.html" title="AsciiDoc User Guide" /><link rel="next" href="ch01.html" title="Chapter 1. Introduction" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="index.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr></table><hr /></div><div class="preface"><div class="titlepage"><div><div><h1 class="title"><a id="idm9"></a></h1></div></div></div><p>AsciiDoc is a text document format for writing notes, documentation,
+articles, books, ebooks, slideshows, web pages, blogs and UNIX man
+pages. AsciiDoc files can be translated to many formats including
+HTML, PDF, EPUB, man page. AsciiDoc is highly configurable: both the
+AsciiDoc source file syntax and the backend output markups (which can
+be almost any type of SGML/XML markup) can be customized and extended
+by the user.</p><div class="sidebar"><div class="titlepage"><div><div><p class="title"><strong>This document</strong></p></div></div></div><p>This is an overly large document, it probably needs to be refactored
+into a Tutorial, Quick Reference and Formal Reference.</p><p>If you’re new to AsciiDoc read this section and the <a class="link" href="ch02.html" title="Chapter 2. Getting Started">Getting Started</a> section and take a look at the example AsciiDoc (<code class="literal">*.txt</code>)
+source files in the distribution <code class="literal">doc</code> directory.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html"><img src="images/icons/prev.png" alt="Prev" /></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch01.html"><img src="images/icons/next.png" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/icons/home.png" alt="Home" /></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> \ No newline at end of file
diff --git a/epub-notes.html b/epub-notes.html
new file mode 100644
index 0000000..680abc1
--- /dev/null
+++ b/epub-notes.html
@@ -0,0 +1,293 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>AsciiDoc EPUB Notes</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="epub-notes.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>AsciiDoc EPUB Notes</h1>
+</div>
+<div id="content">
+<div class="sect1">
+<h2 id="_restrictions">Restrictions</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+If the date format of the DocBook <em>data</em> element is not formatted like
+ <code>YYYY[-MM[-DD]]</code> you will get an error like the following one when
+ validating with <code>epubcheck(1)</code>:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>ERROR: doc/article.epub/OEBPS/content.opf(6): date value 'Dec 2003'
+is not valid, YYYY[-MM[-DD]] expected</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Navigation headers are suppressed by <code>docbook-xsl/epub.xsl</code> (see
+ <a href="#X3">bug report</a>).
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_docbook_xsl_stylesheets_related_limitations_and_bugs">DocBook XSL Stylesheets related limitations and bugs</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_epub_toc_section_depth_parameter_ignored">epub: toc.section.depth parameter ignored</h3>
+<div class="paragraph"><p><a href="https://sourceforge.net/tracker/?func=detail&amp;aid=3043393&amp;group_id=21935&amp;atid=373747">https://sourceforge.net/tracker/?func=detail&amp;aid=3043393&amp;group_id=21935&amp;atid=373747</a></p></div>
+<div class="paragraph"><p>epub outputs include every section in the table of contents regardless of the
+toc.section.depth XSL Stylesheets parameter
+(<a href="https://cdn.docbook.org/release/xsl/snapshot/doc/fo/toc.section.depth.html">https://cdn.docbook.org/release/xsl/snapshot/doc/fo/toc.section.depth.html</a>).
+This behavior is specific to epub (xhtml and fo outputs honor
+toc.section.depth).</p></div>
+<div class="paragraph"><p>Environment: DocBook XSL 1.75.2; Xubuntu 10.04</p></div>
+<div class="paragraph"><p>Also epub/docbook.xsl has written a hard-coded illegal dtb:depth value of -1
+into the toc.ncx navigation control file:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;ncx:meta name="dtb:depth" content="-1"/&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>Shouldn&#8217;t it be a positive integer equal to the depth navPoint nesting in the
+navMap element (see
+<a href="http://www.niso.org/workrooms/daisy/Z39-86-2005.html#NavMeta">http://www.niso.org/workrooms/daisy/Z39-86-2005.html#NavMeta</a>)? Though epubcheck 1.05 doesn&#8217;t flag it as invalid&#8201;&#8212;&#8201;are they both wrong?</p></div>
+</div>
+<div class="sect2">
+<h3 id="X1">epub: untitled DocBook sidebar emits invalid XHTML</h3>
+<div class="paragraph"><p><a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=2840768&amp;group_id=21935&amp;atid=373747">https://sourceforge.net/tracker/index.php?func=detail&amp;aid=2840768&amp;group_id=21935&amp;atid=373747</a></p></div>
+<div class="paragraph"><p>I get the same problem, but is confined to EPUB outputs (not XHTML)
+and results in the sidebar and all subsequent text on the page
+displayed in bold text in both Firefox 3.6.8 and Google Chrome
+5.0.375.125 (I haven&#8217;t checked other browsers).</p></div>
+<div class="paragraph"><p>Environment: DocBook XSL 1.75.2; Xubuntu 10.04</p></div>
+<div class="paragraph"><p>If a DocBook sidebar element does not have a title then the emitted
+title is (I haven&#8217;t checked other browsers).
+set to &lt;b/&gt; instead of &lt;b&gt;&lt;/b&gt;, for example this DocBook markup:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;sidebar&gt;
+&lt;simpara&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit.&lt;/simpara&gt;
+&lt;/sidebar&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>Generates this EPUB XHTML:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;div class="sidebar"&gt;&lt;p class="title"&gt;&lt;b/&gt;&lt;/p&gt;&lt;p&gt;Lorem ipsum dolor
+sit amet, consectetuer adipiscing elit.&lt;/p&gt;&lt;/div&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>This problem is not picked up by either the epubcheck or the W3C
+validators.</p></div>
+<div class="paragraph"><p>The problem does not occur generating XHTML which emits the following
+for the above example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;div class="sidebar"&gt;&lt;p class="title"&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Lorem ipsum
+dolor sit amet, consectetuer adipiscing elit.&lt;/p&gt;&lt;/div&gt;</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_epub_unreferenced_callout_icons_in_opf">epub: Unreferenced callout icons in OPF</h3>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">A workaround for this problem was added in <code>a2x(1)</code> version
+8.6.5.</td>
+</tr></table>
+</div>
+<div class="paragraph"><p><a href="https://sourceforge.net/tracker/?func=detail&amp;aid=2854075&amp;group_id=21935&amp;atid=373747">https://sourceforge.net/tracker/?func=detail&amp;aid=2854075&amp;group_id=21935&amp;atid=373747</a></p></div>
+<div class="paragraph"><p>Environment: DocBook XSL 1.75.2; Xubuntu 8.04</p></div>
+<div class="paragraph"><p>When callouts are used in a document and callout graphics are disabled
+(callout.graphics=0) the generated <em>contents.opf</em> still contains
+references to all the callout icons even though none are not
+referenced in the generated XHTML content. This results in 10
+epubcheck validation errors like:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>image file OEBPS/images/icons/callouts/1.png is missing</code></pre>
+</div></div>
+<div class="paragraph"><p>It appears that epub is adding the icons to the OPF without
+first checking the callout.graphics parameter.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_epub_table_grids_not_generated">epub: Table grids not generated</h3>
+<div class="paragraph"><p><a href="https://sourceforge.net/tracker/?func=detail&amp;aid=2849647&amp;group_id=21935&amp;atid=373747">https://sourceforge.net/tracker/?func=detail&amp;aid=2849647&amp;group_id=21935&amp;atid=373747</a></p></div>
+<div class="paragraph"><p>Environment: DocBook XSL 1.75.2; Xubuntu 8.04</p></div>
+<div class="paragraph"><p>DocBook XSL epub does not appear to process the DocBook table element rowsep
+and colsep attributes&#8201;&#8212;&#8201;table grids are not displayed. The DocBook
+&lt;table rowsep="1" colsep="1"&gt; results in:</p></div>
+<div class="paragraph"><p>epub DocBook XSL generates:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;td style="text-align: left" valign="top"&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>i.e. epub is not generating CSS borders (same for generated th elements).</p></div>
+<div class="paragraph"><p>Compare this with the (correct) xhtml DocBook XSL generates the correct border
+styles:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;td style="border-right: 1px solid ; border-bottom: 1px solid ; " align="left" valign="top"&gt;</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_epub_htmltoc_is_not_generated">epub: htmltoc is not generated</h3>
+<div class="paragraph"><p><a href="https://sourceforge.net/tracker/?func=detail&amp;aid=2849686&amp;group_id=21935&amp;atid=373747">https://sourceforge.net/tracker/?func=detail&amp;aid=2849686&amp;group_id=21935&amp;atid=373747</a></p></div>
+<div class="paragraph"><p>Environment: DocBook XSL 1.75.2; Xubuntu 8.04</p></div>
+<div class="paragraph"><p>If DocBook XSL TOC generation is specified the generated
+<em>contents.opf</em> contains an <em>htmltoc</em> element but the referenced TOC file
+is not generated by DocBook XSL. For example the contents.opf contains:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;item id="htmltoc" media-type="application/xhtml+xml" href="ar01-toc.html"/&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>but the actual TOC file <code>OEBPS/ar01-toc.html</code> is missing and epubcheck
+generates validation errors like:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>ERROR: doc/article.epub: OPS/XHTML file OEBPS/ar01-toc.html is missing</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_epub_leading_dot_in_directory_name_error">epub: leading dot in directory name error</h3>
+<div class="paragraph"><p><a href="https://sourceforge.net/tracker/?func=detail&amp;aid=2849683&amp;group_id=21935&amp;atid=373747">https://sourceforge.net/tracker/?func=detail&amp;aid=2849683&amp;group_id=21935&amp;atid=373747</a></p></div>
+<div class="paragraph"><p>Environment: DocBook XSL 1.75.2; Xubuntu 8.04</p></div>
+<div class="paragraph"><p>Specifying paths with a leading dot causes problems, for example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;xsl:param name="html.stylesheet" select="'./docbook-xsl.css'"/&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>This generates validation errors like:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>ERROR: article.epub/OEBPS/index.html(4):
+'OEBPS/./docbook-xsl.css': referenced resource missing in the package</code></pre>
+</div></div>
+<div class="paragraph"><p>The file is in the archive at the correct location, just doesn&#8217;t
+seem to like <em>./</em> in the path name&#8201;&#8212;&#8201;the path needs to be normalized
+before being written to the contents.opf.</p></div>
+<div class="paragraph"><p>It&#8217;s not just the validator, the file is missing when the EPUB is viewed
+(in bookworm).</p></div>
+<div class="paragraph"><p>This works fine:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;xsl:param name="html.stylesheet" select="'docbook-xsl.css'"/&gt;</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X2">epub: admonition icon images missing from contents.opf</h3>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">A workaround for this problem was added in <code>a2x(1)</code> version
+8.6.5.</td>
+</tr></table>
+</div>
+<div class="paragraph"><p><a href="https://sourceforge.net/tracker/?func=detail&amp;aid=2849681&amp;group_id=21935&amp;atid=373747">https://sourceforge.net/tracker/?func=detail&amp;aid=2849681&amp;group_id=21935&amp;atid=373747</a></p></div>
+<div class="paragraph"><p>Environment: DocBook XSL 1.75.2; Xubuntu 8.04</p></div>
+<div class="paragraph"><p>When admonition icons are specified epubcheck generates validation
+errors like:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>ERROR: article.epub/OEBPS/index.html(4):
+'OEBPS/images/icons/note.png': referenced resource exists,
+but not declared in the OPF file</code></pre>
+</div></div>
+<div class="paragraph"><p>i.e. The admonition icon is in the EPUB file but DocBook XSL has not
+been added to the content.opf manifest. Compare this with callout icons
+which are processed correctly.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X3">Table width attribute validation error</h3>
+<div class="paragraph"><p><a href="https://sourceforge.net/tracker/?func=detail&amp;aid=2848734&amp;group_id=21935&amp;atid=373747">https://sourceforge.net/tracker/?func=detail&amp;aid=2848734&amp;group_id=21935&amp;atid=373747</a></p></div>
+<div class="paragraph"><p>Environment: DocBook XSL 1.75.2; Xubuntu 8.04</p></div>
+<div class="paragraph"><p>I get the following validation errors when navigation headers are in
+included in the generated XHTML:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>ERROR: article.epub/OEBPS/ix01.html(3): attribute "width" not allowed
+at this point; ignored</code></pre>
+</div></div>
+<div class="paragraph"><p>This is because DocBook XSL has emitted invalid XHTML 1.1: tables
+using the <em>width</em> element are generated automatically in navigation
+headers.</p></div>
+<div class="paragraph"><p>Though, admittedly, navigation is redundant if you&#8217;re reading with an
+EPUB reader. Suppress by setting the suppress.navigation param to 1.</p></div>
+<div class="paragraph"><p>Is this a DocBook XSL bug?</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_the_linux_zip_1_command">The Linux zip(1) command</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>If you use the Linux <code>zip(1)</code> command to update or create EPUB files
+you must use the <code>-X</code>, <code>--no-extra</code> command-line option, if you do not
+the platform dependent extra fields will confuse <code>epubcheck(1)</code> which
+will emit errors like &#8220;extra field length for first filename must be
+0, but was 28&#8221;.</p></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:11 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/faq.html b/faq.html
new file mode 100644
index 0000000..90c8f7a
--- /dev/null
+++ b/faq.html
@@ -0,0 +1,1831 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>AsciiDoc Frequently Asked Questions</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install(2);
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="faq.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>AsciiDoc Frequently Asked Questions</h1>
+<div id="toc">
+ <div id="toctitle">Table of Contents</div>
+ <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
+</div>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">New FAQs are appended to the bottom of this document.</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_do_you_handle_spaces_in_included_file_names">1. How do you handle spaces in included file names?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Spaces are not allowed in macro targets so this include macro will not
+be processed:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>include::my document.txt[]</code></pre>
+</div></div>
+<div class="paragraph"><p>The work-around is to replace the spaces with the <code>{sp}</code> (space
+character) attribute, for example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>include::my{sp}document.txt[]</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_do_i_number_all_paragraphs">2. How do I number all paragraphs?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Some documents such as specifications and legalese require all
+paragraphs to be sequentially numbered through the document, and to be
+able to reference these numbers.</p></div>
+<div class="paragraph"><p>This can be achieved by using the DocBook toolchain but numbering the
+paragraphs with AsciiDoc using a custom config file containing the
+following (see <a href="https://asciidoc.org/userguide.html#X27">https://asciidoc.org/userguide.html#X27</a>
+for ways to include such a file):</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[paragraph]
+&lt;formalpara{id? id="{id}"}{role? role="{role}"}{id? xreflabel="{paracounter}"}&gt;&lt;title&gt;{title}&lt;/title&gt;&lt;para&gt;
+{title%}&lt;simpara{id? id="{id}"}{role? role="{role}"}{id? xreflabel="{paracounter}"}&gt;
+{paracounter} |
+{title%}&lt;/simpara&gt;
+{title#}&lt;/para&gt;&lt;/formalpara&gt;
+{counter2:paracounter}
+{empty}</code></pre>
+</div></div>
+<div class="paragraph"><p>References to the paragraphs operate in the normal way, you label the
+paragraph:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[[some_label_you_understand]]
+paragraph contents</code></pre>
+</div></div>
+<div class="paragraph"><p>and reference it in the normal manner:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>&lt;&lt;some_label_you_understand&gt;&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>The text of the reference will be the paragraph number.</p></div>
+<div class="paragraph"><p>For this to work for HTML you have to generate it via the DocBook
+toolchain.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_sources_of_information_on_configuring_docbook_toolchains">3. Sources of information on configuring DocBook toolchains</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>DocBook is a content and structure markup language, therefore
+AsciiDoc generated DocBook markup is also limited to content and
+structure. Layout and formatting definition is specific to the
+DocBook toolchain.</p></div>
+<div class="paragraph"><p>The dblatex toolchain can be configured by setting parameters defined
+at <a href="http://dblatex.sourceforge.net/doc/manual/sec-params.html">http://dblatex.sourceforge.net/doc/manual/sec-params.html</a> or for
+more complex styling by custom Latex stylesheets described at
+<a href="http://dblatex.sourceforge.net/doc/manual/sec-custom-latex.html">http://dblatex.sourceforge.net/doc/manual/sec-custom-latex.html</a>.</p></div>
+<div class="paragraph"><p>Similarly FOP can be configured by parameters described at
+<a href="http://sagehill.net/docbookxsl/OptionsPart.html">http://sagehill.net/docbookxsl/OptionsPart.html</a> and with custom xsl
+stylesheets generating formatting objects as described at
+<a href="http://sagehill.net/docbookxsl/CustomizingPart.html">http://sagehill.net/docbookxsl/CustomizingPart.html</a>.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X5">4. How can I include embedded fonts in an EPUB document?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>This is a two step process:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Declare the font files and their use in your document&#8217;s CSS
+ stylesheet. For example:
+</p>
+<div class="listingblock">
+<div class="content">
+<pre><code>@font-face {
+ font-family : LiberationSerif-Regular;
+ font-weight : normal;
+ font-style: normal;
+ src : url(LiberationSerif-Regular.ttf);
+}
+
+body {
+ font-family: LiberationSerif-Regular, serif;
+}</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Declare the font file as resource when you use <code>a2x(1)</code> to
+ compile the EPUB. For example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>a2x -f epub -d book --epubcheck --stylesheet epubtest.css --resource .ttf=application/x-font-ttf --resource LiberationSerif-Regular.ttf epubtest.txt</code></pre>
+</div></div>
+</li>
+</ol></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">
+<div class="ulist"><ul>
+<li>
+<p>
+Requires AsciiDoc 8.6.5 or better.
+</p>
+</li>
+<li>
+<p>
+The True Type Font mimetype had to be declared explicitly with the
+ <code>--resource .ttf=application/x-font-ttf</code> option because it wasn&#8217;t
+ registered on my Linux system.
+</p>
+</li>
+<li>
+<p>
+In the above example the font file is in the same directory as the
+ AsciiDoc source file and is installed to the same relative location
+ in the EPUB archive OEBPS directory&#8201;&#8212;&#8201;if your font file resides in
+ a different location you&#8217;ll need to adjust the <code>--resource</code> option
+ accordingly (see the <em>RESOURCES</em> section in the <code>a2x(1)</code> man page
+ for details).
+</p>
+</li>
+<li>
+<p>
+The URL value of the CSS <em>src</em> property is set to the destination
+ font file relative to the CSS file.
+</p>
+</li>
+<li>
+<p>
+The <code>--resource</code> option allows you to inject any file (not just font
+ files) into the EPUB output document.
+</p>
+</li>
+<li>
+<p>
+Using the CSS <em>@font-face</em> rule is a complex subject and is outside
+ the scope of this FAQ.
+</p>
+</li>
+<li>
+<p>
+Many EPUB readers do not process embedded fonts.
+</p>
+</li>
+</ul></div>
+</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_what_8217_s_the_difference_between_quoted_text_and_quoted_monospaced_text">5. What&#8217;s the difference between + quoted text and ` quoted monospaced text?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><code>+</code> (plus) quoted text is implemented as an AsciiDoc <em>quotes</em> whereas
+<code>`</code> (grave accent or backtick) quoted text is implemented as an
+AsciiDoc <em>inline literal</em> passthrough macro. The semantics are
+different:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Inline passthrough macros are processed before any other inline
+ substitutions e.g. all of the following line will be processed as a
+ single inline passthrough and rendered as monospaced text (which is
+ not the intended result):
+</p>
+<div class="openblock">
+<div class="content">
+<div class="literalblock">
+<div class="content">
+<pre><code>`single quoted text' and `monospaced quoted text`</code></pre>
+</div></div>
+<div class="paragraph"><p>This line works as expected:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>`single quoted text' and +monospaced quoted text+</code></pre>
+</div></div>
+</div></div>
+</li>
+<li>
+<p>
+Backtick quoted text is rendered literally i.e. no substitutions
+ are performed on the enclosed text. Here are some examples that
+ would have to be escaped if plus quoting were used (<a href="#X4">see also</a>):
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>The `++i` and `++j` auto-increments.
+Paths `~/.vim` and `~/docs`.
+The `__init__` method.
+The `{id}` attribute.</code></pre>
+</div></div>
+</li>
+</ol></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_why_is_the_generated_html_title_element_text_invalid">6. Why is the generated HTML title element text invalid?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Probably because your document title contains formatting that has
+generated HTML title markup. You can resolve this by explicitly
+defining the <em>title</em> attribute in your document&#8217;s header.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_asciidoc_sometimes_generates_invalid_output_markup_why">7. AsciiDoc sometimes generates invalid output markup, why?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc is backend agnostic, the <em>asciidoc</em> command has no knowledge
+of the syntax or structure of the backend format that it generates.
+Output document validation (syntactic and structural) should be
+performed separately by external validation tools. For example,
+AsciiDoc&#8217;s <em>a2x</em> toolchain command automatically performs validation
+checks using <em>xmllint</em>.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_the_asciidoc_toclevels_attribute_does_not_work_with_docbook_outputs_why">8. The AsciiDoc toclevels attribute does not work with DocBook outputs, why?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>DocBook has no provision for specifying table of contents levels but
+you can set the TOC level further down the toolchain by passing the
+DocBook XSL Stylesheets
+<a href="https://cdn.docbook.org/release/xsl/snapshot/doc/html/toc.section.depth.html">toc.section.depth</a>
+parameter to <em>dblatex</em> (using the <code>--param</code> option) or <em>xsltproc</em>
+(using the <code>--stringparam</code> option). For example to show only chapter
+titles in the TOC of a <em>book</em> document set <em>toc.section.depth</em> to <em>0</em>.
+Increment the <em>toc.section.depth</em> value to show more sub-section
+titles. If you are using <em>a2x</em> you can set the options in the source
+file, for example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>// a2x: --xsltproc-opts "--stringparam toc.section.depth 0"
+// a2x: --dblatex-opts "--param toc.section.depth=0"</code></pre>
+</div></div>
+<div class="paragraph"><p>If the document is of type <em>article</em> use the value <em>1</em> to show only
+top level section titles in the TOC, use the value <em>2</em> for two levels
+etc.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_include_chapter_and_section_tables_of_contents">9. How can I include chapter and section tables of contents?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>DocBook outputs processed by DocBook XSL Stylesheets (either manually
+or via <em>a2x</em>) can generate additional separate section and chapter
+tables of contents using combinations of the
+<a href="http://www.sagehill.net/docbookxsl/TOCcontrol.html">TOC parameters</a>.
+Here are some examples using combinations of the
+<code>generate.section.toc.level</code> and <code>toc.section.depth</code> DocBook XSL
+Stylesheets parameters:</p></div>
+<div class="tableblock">
+<table rules="all"
+width="90%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<col width="16%" />
+<col width="16%" />
+<col width="66%" />
+<thead>
+<tr>
+<th align="left" valign="top">generate.section.toc.level </th>
+<th align="left" valign="top">toc.section.depth </th>
+<th align="left" valign="top"></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><div class="literal"><pre><code>1 </code></pre></div></td>
+<td align="left" valign="top"><div class="literal"><pre><code></code></pre></div></td>
+<td align="left" valign="top"><p class="table">Single level book chapter TOCs or article section TOCs</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><div class="literal"><pre><code>1 </code></pre></div></td>
+<td align="left" valign="top"><div class="literal"><pre><code> 3</code></pre></div></td>
+<td align="left" valign="top"><p class="table">Article section TOCs with two levels</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><div class="literal"><pre><code>1 </code></pre></div></td>
+<td align="left" valign="top"><div class="literal"><pre><code> 2</code></pre></div></td>
+<td align="left" valign="top"><p class="table">Book chapter TOCs with two levels</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_customize_the_appearance_of_xhtml_and_epub_documents_generated_by_a2x">10. How can I customize the appearance of XHTML and EPUB documents generated by a2x?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>You can customize the appearance of an EPUB document with CSS. See
+the <a href="publishing-ebooks-with-asciidoc.html">Sherlock Holmes eBook
+example</a> on the AsciiDoc website.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_docbook_has_many_elements_for_document_meta_data_8201_8212_8201_how_can_i_use_them_from_asciidoc">11. DocBook has many elements for document meta-data&#8201;&#8212;&#8201;how can I use them from AsciiDoc?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The <em>docinfo</em>, <em>docinfo1</em> and <em>docinfo2</em> attributes allow you include
+<a href="userguide.html#X97">document information files</a> containing DocBook
+XML into the header of the output file.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_do_element_titles_automatically_generate_link_captions">12. Do element titles automatically generate link captions?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>If you go the DocBook route then yes&#8201;&#8212;&#8201;just omit the caption from the
+AsciiDoc <em>xref</em> (<code>&lt;&lt;...&gt;&gt;</code>) macro. Both dblatex and DocBook XSL will
+use the target element&#8217;s title text. Examples:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[[X1]]
+Section One
+-----------
+Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas
+ultrices justo porttitor augue. Vestibulum pretium. Donec porta
+
+See also &lt;&lt;X3&gt;&gt; (this link displays the text 'A titled paragraph').
+
+[id="X2",reftext="2nd section"]
+Section Two
+-----------
+See also &lt;&lt;X1&gt;&gt; (this link displays the text 'Section One').
+
+[[X3]]
+.A titled paragraph
+Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
+
+See also &lt;&lt;X2&gt;&gt; (this link displays the text '2nd section').</code></pre>
+</div></div>
+<div class="paragraph"><p>The AsciiDoc <em>reftext</em> attribute has been used to explicitly set the
+link text to <em>2nd section</em> for <em>Section Two</em>.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_can_i_define_my_own_table_styles">13. Can I define my own table styles?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>In addition to the built-in styles you can define your own. This
+(simplified) example for HTML backends defines a table style called
+<em>red</em> which sets the background cell color to red. First put the
+definition in a configuration file:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[tabledef-default]
+red-style=tags="red"
+
+[tabletags-red]
+bodydata=&lt;td style="background-color:red;"&gt;|&lt;/td&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>Now you can use the style name to style cells or columns (in this
+example we use an unambiguous shortened abbreviation <em>r</em>):</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>|==================================
+|Normal cell r|Red cell
+|==================================</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_add_highlighted_editorial_comments_to_an_asciidoc_document">14. How can I add highlighted editorial comments to an AsciiDoc document?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Both block and inline <a href="userguide.html#X25">comment lines</a> are
+displayed on the output if the <em>showcomments</em> attribute is defined.
+Example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>:showcomments:
+// A block comment line.
+
+Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+// An inline comment line.
+adolescens.</code></pre>
+</div></div>
+<div class="paragraph"><p>Is rendered as:</p></div>
+<p><span class="comment"> A block comment line.</span></p>
+<div class="paragraph"><p>Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+<br /><span class="comment"> An inline comment line.</span><br />
+adolescens.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content"><a href="userguide.html#X26">Comment blocks</a> are never displayed.</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_what_is_the_preferred_file_name_extension_for_asciidoc_files">15. What is the preferred file name extension for AsciiDoc files?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The <code>.txt</code> <a href="http://en.wikipedia.org/wiki/Text_file">text file</a> extension
+is preferred, but it&#8217;s just a convention and it&#8217;s not enforced by the
+software.</p></div>
+<div class="paragraph"><p>AsciiDoc source files are human readable
+<a href="http://en.wikipedia.org/wiki/Plain_text">plain text</a> files which is
+what the <code>.txt</code> extension is for. All text editors recognize and open
+files with a <code>.txt</code> extension. The <code>.txt</code> extension is universally
+recognized and unambiguous&#8201;&#8212;&#8201;you are not left asking questions like
+&#8220;What on earth is this file with the funny extension?&#8221;, &#8220;How do I
+open it?&#8221; and &#8220;Is it safe to open?&#8221;.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_generate_numbered_bibliographic_entries">16. How can I generate numbered bibliographic entries?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>If your outputs are DocBook generated then adding the following inline
+macro to a custom configuration file will result in auto-incrementing
+bibliography entry numbers (instead of displaying the bibliographic
+identifiers):</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[anchor3-inlinemacro]
+&lt;anchor id="{1}" xreflabel="[{counter:bibliography1}]"/&gt;[{counter:bibliography2}]</code></pre>
+</div></div>
+<div class="paragraph"><p>This FAQ submitted by Bela Hausmann.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_include_lines_of_dashes_inside_a_listing_block">17. How can I include lines of dashes inside a listing block?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>A line of four or more dashes will be mistaken for the ListingBlock
+terminator, one way round this problem is to use a LiteralBlock styled
+as a listing block. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[listing]
+...........................
+Lorum ipsum
+-----------
+...........................</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_customize_pdf_files_generated_by_dblatex">18. How can I customize PDF files generated by dblatex?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>There are a number of dblatex XSL parameters that can be used to
+customize PDF output. You can set them globally in the AsciiDoc
+<code>./dblatex/asciidoc-dblatex.xsl</code> configuration file or you can also
+pass them on the <code>a2x(1)</code> command-line. Here are some examples:</p></div>
+<div class="paragraph"><p>The
+<a href="http://dblatex.sourceforge.net/doc/manual/latex.output.revhistory.html">latex.output.revhistory</a>
+parameter is used to suppress the revision history:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>a2x -f pdf --dblatex-opts "-P latex.output.revhistory=0" doc/article.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>The
+<a href="http://dblatex.sourceforge.net/doc/manual/doc.layout.html">doc.layout</a>
+parameter is used to include the cover page and document body (i.e. excludes
+table of contents and index), the
+<a href="http://dblatex.sourceforge.net/doc/manual/doc.publisher.show.html">doc.publisher.show</a>
+parameter is used to exclude the cover page logo:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>a2x -f pdf --dblatex-opts " -P doc.layout=\"coverpage mainmatter\" -P doc.publisher.show=0" doc/article.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>See also the
+<a href="http://dblatex.sourceforge.net/doc/manual/sec-params.html">dblatex XSL
+parameter reference</a>.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_add_lists_of_figures_and_tables_to_pdfs_created_by_dblatex">19. How can I add lists of figures and tables to PDFs created by dblatex?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Set the
+<a href="http://dblatex.sourceforge.net/doc/sec-custom.html">doc.lot.show XSL
+parameter</a>&#8201;&#8212;&#8201;you can set it using the dblatex <code>--param</code> command-line
+option, for example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>a2x --dblatex-opts="--param=doc.lot.show=figure,table" doc/article.txt</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_stop_the_document_title_being_displayed">20. How can I stop the document title being displayed?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>You could simply omit the document title, but this will result in a
+blank <em>title</em> element in HTML outputs. If you want the HTML <em>title</em>
+element to contain the document title then define the <em>notitle</em>
+attribute (this will just suppress displaying the title), for example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>My document title
+=================
+:no title:</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_why_am_i_having_trouble_getting_nested_macros_to_work">21. Why am I having trouble getting nested macros to work?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The following example expands the <em>image</em> inline macro, but the
+expansion contains double-quote characters which confuses the ensuing
+<em>footnoteref</em> macro expansion:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>footnoteref:["F1","A footnote, with an image image:smallnew.png[]"]</code></pre>
+</div></div>
+<div class="paragraph"><p>The solution is to use unquoted attribute values, replacing embedded
+commas with the comma character entity (<code>&amp;#44;</code>):</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>footnoteref:[F1,A footnote&amp;#44; with an image image:smallnew.png[]]</code></pre>
+</div></div>
+<div class="paragraph"><p>Similarly, you can embed double-quote characters in unquoted attribute
+values using the <code>&amp;#34;</code> character entity.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_why_am_i_getting_docbook_validation_errors">22. Why am I getting DocBook validation errors?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Not all valid AsciiDoc source generates valid DocBook, for example
+<em>special sections</em> (abstract, preface, colophon, dedication,
+bibliography, glossary, appendix, index, synopsis) have different
+DocBook schema&#8217;s to normal document sections. For example, a paragraph
+is illegal in a bibliography.</p></div>
+<div class="paragraph"><p>Don&#8217;t forget if your document is a book you need to specify the
+asciidoc <code>-d book</code> command option, if you don&#8217;t an article DocBook
+document will be generated, possibly containing book specific
+sections, resulting in validation errors.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_disable_special_section_titles">23. How can I disable special section titles?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>For example, you want to use <em>References</em> as a normal section name but
+AsciiDoc is auto-magically generating a DocBook <em>bibliography</em>
+section. All you need to do is explicitly specify the section template
+name, for example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[sect1]
+References
+----------</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_insert_xml_processing_instructions_into_output_documents">24. How can I insert XML processing instructions into output documents?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Use an inline or block passthrough macros. This example inserts
+<code>&lt;?dblatex bgcolor="#cceeff"?&gt;</code> into the DocBook output generated by
+AsciiDoc:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>pass::[&lt;?dblatex bgcolor="#cceeff"?&gt;]</code></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">XML processing instructions are specific to the application that
+processes the XML (the previous <code>dblatex</code> processing instruction is
+recognized by <code>dblatex(1)</code> when it processes the DocBook XML generated
+by Asciidoc).</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X4">25. How do I prevent double-quoted text being mistaken for an inline literal?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Mixing doubled-quoted text with inline literal passthroughs can
+produce undesired results, for example, all of the following line is
+interpreted as an inline literal passthrough:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>``XXX'' `YYY`</code></pre>
+</div></div>
+<div class="paragraph"><p>In this case the solution is to use monospace quoting instead of the
+inline literal:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>``XXX'' +YYY+</code></pre>
+</div></div>
+<div class="paragraph"><p>Use the <code>pass:[]</code> macro if it&#8217;s necessary to suppress
+substitutions in the monospaced text, for example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>``XXX'' +pass:[don't `quote` me]+</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_generate_a_single_html_document_file_containing_images_and_css_styles">26. How can I generate a single HTML document file containing images and CSS styles?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>With the advent of Internet Explorer 8 all major web browsers now
+support the
+<a href="http://en.wikipedia.org/wiki/Data:_URI_scheme">data URI scheme</a> for
+embedded images. The AsciiDoc <em>xhtml11</em> and <em>html5</em> backends supports
+the data URI scheme for embedded images and by default it embeds the
+CSS stylesheet. For example the following command will generate a
+single <code>article.html</code> file containing embedded images, admonition
+icons and the CSS stylesheet:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>asciidoc -a data-uri -a icons article.txt</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_are_there_any_tools_to_help_me_understand_what_8217_s_going_on_inside_asciidoc">27. Are there any tools to help me understand what&#8217;s going on inside AsciiDoc?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc has a built-in trace mechanism which is controlled by the
+<em>trace</em> attribute; there is also the <code>--verbose</code> command-line option.
+These features are detailed in
+<a href="https://asciidoc.org/userguide.html#X82">Appendix G of the
+User Guide</a>.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_one_liner_ifdef_s_are_disproportionately_verbose_can_they_shortened">28. One-liner ifdef::[]'s are disproportionately verbose can they shortened?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>This is the response to a question posted on the AsciiDoc discussion
+list, it illustrates a number of useful techniques. The question arose
+because the source highlight filter language identifier for the C++
+language is <code>c++</code> when generating PDFs via dblatex (LaTeX listings
+package) or <code>cpp</code> when generating HTML (GNU source-highlight).</p></div>
+<div class="paragraph"><p>Using straight <code>ifdef::[]</code> block macros we have:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>ifdef::basebackend-docbook[]
+[source,c++]
+endif::basebackend-docbook[]
+ifdef::basebackend-html[]
+[source,cpp]
+endif::basebackend-html[]
+-----------------------------------------
+class FooParser {
+public:
+ virtual void startDocument() = 0;
+ virtual void endDocument() = 0;
+};
+-----------------------------------------</code></pre>
+</div></div>
+<div class="paragraph"><p>This can be shortened using the short form of the <code>ifdef::[]</code> macro:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>ifdef::basebackend-docbook[[source,c++]]
+ifdef::basebackend-html[[source,cpp]]
+-----------------------------------------
+class FooParser {
+public:
+ virtual void startDocument() = 0;
+ virtual void endDocument() = 0;
+};
+-----------------------------------------</code></pre>
+</div></div>
+<div class="paragraph"><p>Using a conditional attribute instead of the <code>ifdef::[]</code> macro is even
+shorter:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[source,{basebackend@docbook:c++:cpp}]
+-----------------------------------------
+class FooParser {
+public:
+ virtual void startDocument() = 0;
+ virtual void endDocument() = 0;
+};
+-----------------------------------------</code></pre>
+</div></div>
+<div class="paragraph"><p>If you have a number of listings it makes sense to factor the
+conditional attribute to a normal attribute:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>:cpp: {basebackend@docbook:c++:cpp}
+
+[source,{cpp}]
+-----------------------------------------
+class FooParser {
+public:
+ virtual void startDocument() = 0;
+ virtual void endDocument() = 0;
+};
+-----------------------------------------</code></pre>
+</div></div>
+<div class="paragraph"><p>Even shorter, set the default source highlight filter <code>language</code>
+attribute so you don&#8217;t have to specify it every time:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>:language: {basebackend@docbook:c++:cpp}
+
+[source]
+-----------------------------------------
+class FooParser {
+public:
+ virtual void startDocument() = 0;
+ virtual void endDocument() = 0;
+};
+-----------------------------------------</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_some_of_my_inline_passthroughs_are_not_passed_through_why">29. Some of my inline passthroughs are not passed through, why?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Most likely the passthrough encloses another passthrough with a higher
+precedence. For example trying to render this <code>pass:[]</code> with this
+<code>`pass:[]`</code> results in a blank string because the <code>pass:[]</code>
+passthrough evaluates first, instead use monospaced quoting and escape
+the passthrough i.e. <code> +\pass:[]+ </code></p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_place_an_anchor_link_target_on_a_list_item">30. How can I place an anchor (link target) on a list item?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>You can&#8217;t use a <em>BlockId</em> block element inside a list but you can use
+the syntactically identical <em>anchor</em> inline macro. For example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>one:: Item one.
+[[X2]]two:: Item two.
+three:: Item three.</code></pre>
+</div></div>
+<div class="paragraph"><p>This <strong>will not</strong> work:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>one:: Item one.
+[[X2]]
+two:: Item two.
+three:: Item three.</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_stop_lists_from_nesting">31. How can I stop lists from nesting?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>If you place two lists with different syntax hard up against each
+other then the second list will be nested in the first. If you don&#8217;t
+want the second list to be nested separate them with a comment line
+block macro. For example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>1. List 1.
+2. List 1.
+
+//
+a. List 2.
+b. List 2.</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_is_it_possible_to_include_charts_in_asciidoc_documents">32. Is it possible to include charts in AsciiDoc documents?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>There are a number of programs available that generate presentation
+charts from textual specification, for example
+<a href="http://home.gna.org/pychart/">Pychart</a> is a library for writing chart
+scripts in Python. Here&#8217;s an example from the <em>Pychart</em> documentation:</p></div>
+<div class="listingblock">
+<div class="title">barchart.py</div>
+<div class="content">
+<pre><code>#
+# Example bar chart (from Pychart documentation http://home.gna.org/pychart/).
+#
+from pychart import *
+theme.get_options()
+
+data = [(10, 20, 30, 5), (20, 65, 33, 5), (30, 55, 30, 5), (40, 45, 51, 7),
+ (50, 25, 27, 3), (60, 75, 30, 5), (70, 80, 42, 5), (80, 62, 32, 5),
+ (90, 42, 39, 5), (100, 32, 39, 4)]
+
+# The attribute y_coord=... tells that the Y axis values
+# should be taken from samples.
+# In this example, Y values will be [40,50,60,70,80].
+ar = area.T(y_coord = category_coord.T(data[3:8], 0),
+ x_grid_style=line_style.gray50_dash1,
+ x_grid_interval=20, x_range = (0,100),
+ x_axis=axis.X(label="X label"),
+ y_axis=axis.Y(label="Y label"),
+ bg_style = fill_style.gray90,
+ border_line_style = line_style.default,
+ legend = legend.T(loc=(80,10)))
+
+# Below call sets the default attributes for all bar plots.
+chart_object.set_defaults(bar_plot.T, direction="horizontal", data=data)
+
+# Attribute cluster=(0,3) tells that you are going to draw three bar
+# plots side by side. The plot labeled "foo" will the leftmost (i.e.,
+# 0th out of 3). Attribute hcol tells the column from which to
+# retrive sample values from. It defaults to one.
+ar.add_plot(bar_plot.T(label="foo", cluster=(0,3)))
+ar.add_plot(bar_plot.T(label="bar", hcol=2, cluster=(1,3)))
+ar.add_plot(bar_plot.T(label="baz", hcol=3, cluster=(2,3)))
+ar.draw()</code></pre>
+</div></div>
+<div class="paragraph"><p>To execute the script and include the generated chart image in your
+document add the following lines to the AsciiDoc source:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>// Generate chart image file.
+sys2::[python "{indir}/barchart.py" --format=png --output="{outdir}/barchart.png" --scale=2]
+
+// Display chart image file.
+image::barchart.png[]</code></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">
+<div class="ulist"><ul>
+<li>
+<p>
+The <code>barchart.py</code> script is located in the same directory as the
+ AsciiDoc source file (<code>{indir}</code>).
+</p>
+</li>
+<li>
+<p>
+The generated chart image file (<code>barchart.png</code>) is written to the
+ same directory as the output file (<code>{outdir}</code>).
+</p>
+</li>
+</ul></div>
+</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_render_indented_paragraphs">33. How can I render indented paragraphs?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Styling is backend dependent:</p></div>
+<h4 id="_create_an_indented_paragraph_style_xhtml11_and_html5_backends" class="float">Create an indented paragraph style (xhtml11 and html5 backends)</h4>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Define an <em>indented</em> paragraph style, for example, by putting this
+ in a custom configuration file:
+</p>
+<div class="listingblock">
+<div class="content">
+<pre><code>[paradef-default]
+indented-style=template="indentedparagraph"
+
+[indentedparagraph]
+&lt;div class="paragraph"{id? id="{id}"} style="text-indent:3em;"&gt;{title?&lt;div class="title"&gt;{title}&lt;/div&gt;}&lt;p&gt;
+|
+&lt;/p&gt;&lt;/div&gt;</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Now apply the <em>indented</em> style to normal paragraphs, for example:
+</p>
+<div class="listingblock">
+<div class="content">
+<pre><code>[indented]
+Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas
+ultrices justo porttitor augue. Vestibulum pretium. Donec porta
+vestibulum mi. Aliquam pede. Aenean lobortis lorem et lacus. Sed
+lacinia. Vivamus at lectus.</code></pre>
+</div></div>
+</li>
+</ol></div>
+<h4 id="_use_the_role_attribute_xhtml11_and_html5_backends" class="float">Use the role attribute (xhtml11 and html5 backends)</h4>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Add the following line to custom stylesheet:
+</p>
+<div class="listingblock">
+<div class="content">
+<pre><code>div.paragraph.indented p {text-indent: 3em;}</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Apply the <em>role</em> attribute to indented paragraphs, for example:
+</p>
+<div class="listingblock">
+<div class="content">
+<pre><code>[role="indented"]
+Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas
+ultrices justo porttitor augue. Vestibulum pretium. Donec porta
+vestibulum mi. Aliquam pede. Aenean lobortis lorem et lacus. Sed
+lacinia. Vivamus at lectus.</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Include the custom stylesheet by setting the <em>stylesheet</em> attribute
+ (either from the command-line or with an attribute entry in the
+ document header).
+</p>
+</li>
+</ol></div>
+<h4 id="_use_the_role_attribute_docbook_backend" class="float">Use the role attribute (docbook backend)</h4>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Add the following line to the distributed <code>docbook-xsl.css</code>
+ stylesheet or include it in a custom stylesheet:
+</p>
+<div class="listingblock">
+<div class="content">
+<pre><code>p.indented {text-indent: 3em;}</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Apply the <em>role</em> attribute to indented paragraphs, for example:
+</p>
+<div class="listingblock">
+<div class="content">
+<pre><code>[role="indented"]
+Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas
+ultrices justo porttitor augue. Vestibulum pretium. Donec porta
+vestibulum mi. Aliquam pede. Aenean lobortis lorem et lacus. Sed
+lacinia. Vivamus at lectus.</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+If you have included the custom CSS in a separate stylesheet you
+ will need to specify the stylesheet file name (along with the
+ default <code>docbook-xsl.css</code> stylesheet file name) with the
+ <code>html.stylesheet</code> XSL parameter. If you are using <em><code>a2x(1)</code></em> use the
+ <code>--stylesheet</code> option (it sets the <code>html.stylesheet</code> XSL parameter),
+ for example: <code>--stylesheet "docbook-xsl.css mycss.css"</code>.
+</p>
+</li>
+</ol></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">This applies to HTML outputs not PDF. To achieve the same
+results with PDF outputs you will need to customize the DocBook XSL
+Stylesheets to render indented paragraphs from DocBook <code>simpara</code>
+elements containing the the <code>role="indented"</code> attribute.</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_is_there_a_way_to_set_default_table_grid_and_frame_attributes">34. Is there a way to set default table grid and frame attributes?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>You can set the <em>grid</em> and <em>frame</em> attributes globally in your
+document header with Attribute Entries or from the command-line using
+the <code>--attribute</code> option. In the following example tables that don&#8217;t
+explicitly set the <em>grid</em> and <em>frame</em> values will default to <em>all</em> and
+<em>topbot</em> respectively:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>:grid: all
+:frame: topbot</code></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">This technique can be applied to any block element attribute
+(just beware of possible ambiguity, for example, table and image
+blocks both have a <em>width</em> attribute).</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_place_a_backslash_character_in_front_of_an_attribute_reference_without_escaping_the_reference">35. How can I place a backslash character in front of an attribute reference without escaping the reference?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Use the predefined <code>{backslash}</code> attribute reference instead of an
+actual backslash, for example if the <code>{projectname}</code> attribute has
+the value <code>foobar</code> then:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>d:\data{backslash}{projectname}</code></pre>
+</div></div>
+<div class="paragraph"><p>would be rendered as:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>d:\data\foobar</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_escape_asciidoc_markup">36. How can I escape AsciiDoc markup?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Most AsciiDoc inline elements can be suppressed by preceding them with
+a backslash character. These elements include:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Attribute references.
+</p>
+</li>
+<li>
+<p>
+Text formatting.
+</p>
+</li>
+<li>
+<p>
+Quoting,
+</p>
+</li>
+<li>
+<p>
+Macros.
+</p>
+</li>
+<li>
+<p>
+Replacements.
+</p>
+</li>
+<li>
+<p>
+Special words.
+</p>
+</li>
+<li>
+<p>
+Table cell separators.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>But there are exceptions&#8201;&#8212;&#8201;see the next question.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_some_elements_can_8217_t_be_escaped_with_a_single_backslash">37. Some elements can&#8217;t be escaped with a single backslash</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>There are a number of exceptions to the usual single backslash rule&#8201;&#8212;&#8201;mostly relating to URL macros that have two syntaxes or quoting
+ambiguity. Here are some non-standard escape examples:</p></div>
+<div class="tableblock">
+<table rules="all"
+width="40%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<col width="50%" />
+<col width="50%" />
+<thead>
+<tr>
+<th align="left" valign="top">AsciiDoc </th>
+<th align="left" valign="top"> Renders</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><div class="literal"><pre><code>\joe.bloggs@example.com
+&lt;\joe.bloggs@example.com&gt;
+\mailto:[\joe.bloggs@example.com]</code></pre></div></td>
+<td align="left" valign="top"><div class="verse">joe.bloggs@example.com
+&lt;joe.bloggs@example.com&gt;
+mailto:[joe.bloggs@example.com]</div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><div class="literal"><pre><code>\http://www.example.com
+\\http://www.example.com[]
+\\http://www.example.com[Foobar Limited]</code></pre></div></td>
+<td align="left" valign="top"><div class="verse">http://www.example.com
+http://www.example.com[]
+http://www.example.com[Foobar Limited]</div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><div class="literal"><pre><code>A C\++ Library for C++
+\\``double-quotes''
+\*\*F**ile Open\...</code></pre></div></td>
+<td align="left" valign="top"><div class="verse">A C++ Library for C++
+``double-quotes''
+**F**ile Open...</div></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="paragraph"><p>The source of this problem is ambiguity across substitution types&#8201;&#8212;&#8201;the first match unescapes allowing the second to substitute. A
+work-around for difficult cases is to side-step the problem using the
+<code>pass:[]</code> passthrough inline macro.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">Escaping is unnecessary inside <em>inline literal passthroughs</em>
+(backtick quoted text).</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_escape_a_list">38. How can I escape a list?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Here&#8217;s how to handle situations where the first line of a paragraph is
+mistaken for a list item.</p></div>
+<h4 id="_numbered_and_bulleted_lists" class="float">Numbered and bulleted lists</h4>
+<div class="paragraph"><p>Precede the bullet or index of the first list item with an <code>{empty}</code>
+attribute, for example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>{empty}- Qui in magna commodo est labitur dolorum an. Est ne magna
+primis adolescens.</code></pre>
+</div></div>
+<div class="paragraph"><p>The predefined <code>{empty}</code> attribute is replaced by an empty string and
+ensures the first line is not mistaken for a bulleted list item.</p></div>
+<h4 id="_labeled_lists" class="float">Labeled lists</h4>
+<div class="paragraph"><p>Two colons or semicolons in a paragraph may be confused with a labeled
+list entry. Use the predefined <code>{two-colons}</code> and <code>{two-semicolons}</code>
+attributes to suppress this behavior, for example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Qui in magna commodo{two-colons} est labitur dolorum an. Est ne
+magna primis adolescens.</code></pre>
+</div></div>
+<div class="paragraph"><p>Will be rendered as:</p></div>
+<div class="paragraph"><p>Qui in magna commodo:: est labitur dolorum an. Est ne
+magna primis adolescens.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_set_default_list_and_tables_styles">39. How can I set default list and tables styles?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>You can set the element&#8217;s <em>style</em> entry in a global or custom
+configuration file.</p></div>
+<div class="paragraph"><p>This example this will horizontally style all labeled lists that don&#8217;t
+have an explicit style attribute:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[listdef-labeled]
+style=horizontal
+
+[listdef-labeled2]
+style=horizontal</code></pre>
+</div></div>
+<div class="paragraph"><p>This example will put a top and bottom border on all tables that don&#8217;t
+already have an explicit style attribute:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[tabledef-default]
+style=topbot
+topbot-style=frame="topbot"</code></pre>
+</div></div>
+<div class="paragraph"><p>Alternatively you can set the configuration entries from inside your
+document, the above examples are equivalent to:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>:listdef-labeled.style: horizontal
+:listdef-labeled2.style: horizontal
+
+:tabledef-default.topbot-style: frame="topbot"
+:tabledef-default.style: topbot</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_why_do_i_get_a_filter_non_zero_exit_code_error">40. Why do I get a filter non-zero exit code error?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>An error was returned when AsciiDoc tried to execute an external
+filter command. The most common reason for this is that the filter
+command could not be found by the command shell. To figure out what
+the problem is run AsciiDoc with the <code>--verbose</code> option to determine
+the command that is failing and then try to run the command manually
+from the command-line.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_are_there_any_docbook_viewers">41. Are there any DocBook viewers?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><a href="http://live.gnome.org/Yelp">Yelp</a>, the GNOME help viewer, does a
+creditable job of displaying DocBook XML files directly.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_can_you_create_odf_and_pdf_files_using_libreoffice">42. Can you create ODF and PDF files using LibreOffice?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><a href="https://www.libreoffice.org/">LibreOffice</a> can convert HTML produced by
+AsciiDoc to ODF text format and PDF format (I used LibreOffice 3.5 at
+the time of writing, the fidelity is very good but it&#8217;s not perfect):</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Create the HTML file using AsciiDoc, for example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>asciidoc -a icons -a numbered -a disable-javascript article.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>JavaScript is disabled because LibreOffice does not execute
+JavaScript, this means that AsciiDoc table of contents and footnotes
+will not be rendered into ODF (if you want the table of contents and
+footnotes you could manually cut and paste them from a Web browser).</p></div>
+</li>
+<li>
+<p>
+Convert the HTML file to an ODF text file using LibreOffice:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>lowriter --invisible --convert-to odt article.html</code></pre>
+</div></div>
+<div class="openblock">
+<div class="content">
+<div class="paragraph"><p>The images imported from an HTML file will be linked, if your document
+contains images you should convert them to embedded images:</p></div>
+<div class="olist lowerroman"><ol class="lowerroman">
+<li>
+<p>
+Open the document in LibreOffice Writer.
+</p>
+</li>
+<li>
+<p>
+Run the <em>Edit&#8594;Links&#8230;</em> menu command.
+</p>
+</li>
+<li>
+<p>
+Select all links and press the <em>Break Link</em> button.
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>Some images may also have been resized. To restore an image to its
+original size:</p></div>
+<div class="olist lowerroman"><ol class="lowerroman">
+<li>
+<p>
+Right-click on the image and select the <em>Picture&#8230;</em> menu item.
+</p>
+</li>
+<li>
+<p>
+Click on the <em>Crop</em> tab.
+</p>
+</li>
+<li>
+<p>
+Press the <em>Original Size</em> button.
+</p>
+</li>
+</ol></div>
+</div></div>
+</li>
+<li>
+<p>
+Convert the ODF file to an PDF text file using LibreOffice:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>lowriter --invisible --convert-to pdf article.odt</code></pre>
+</div></div>
+<div class="paragraph"><p>A PDF index is automatically created using the section headings.</p></div>
+</li>
+</ol></div>
+<div class="paragraph"><p>Alternatively you could manually copy-and-paste the entire document
+from a Web browser into a blank ODF document in LibreOffice&#8201;&#8212;&#8201;this
+technique will bring through the table of contents and footnotes.</p></div>
+<div class="paragraph"><p>This tip was originally contributed by Bernard Amade.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_suppress_cell_separators_in_included_table_data_files">43. How can I suppress cell separators in included table data files?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Use the <code>{include:}</code> system attribute instead of the <code>include::[]</code>
+macro (the former is not expanded until after the table data has been
+parsed into cells, whereas the latter is included before the table is
+processed.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_preserve_paragraph_line_boundaries">44. How can I preserve paragraph line boundaries?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Apply the The <em>verse</em> paragraph style, the rendered text preserves
+line boundaries and is useful for lyrics and poems. For example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[verse]
+Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</code></pre>
+</div></div>
+<div class="paragraph"><p>Alternatively, if you are generating PDF files, you can use line
+breaks. For example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>Consul *necessitatibus* per id, +
+consetetur, eu pro everti postulant +
+homero verear ea mea, qui.</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_include_non_breaking_space_characters">45. How can I include non-breaking space characters?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Use the non-breaking space character entity reference <code>&amp;#160;</code> (see
+the next question). You could also use the predefined <code>{nbsp}</code>
+attribute reference.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_can_i_include_html_and_xml_character_entity_references_in_my_document">46. Can I include HTML and XML character entity references in my document?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Yes, just enter the reference in your document. For example <code>&amp;#946;</code>
+will print a Greek small beta character &#946;</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X1">47. How do I include spaces in URLs?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>URL inline macro targets (addresses) cannot contain white space
+characters. If you need spaces encode them as <code>%20</code>. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>image:large%20image.png[]
+http://www.foo.bar.com/an%20example%20document.html</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_get_asciidoc_to_assign_the_correct_docbook_language_attribute">48. How can I get AsciiDoc to assign the correct DocBook language attribute?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Set the AsciiDoc <em>lang</em> attribute to the appropriate language code.
+For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>a2x -a lang=es doc/article.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>This will ensure that downstream DocBook processing will generate the
+correct language specific document headings (things like table of
+contents, revision history, figure and table captions, admonition
+captions).</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_turn_off_table_and_image_title_numbering">49. How can I turn off table and image title numbering?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>For HTML outputs set the <em>caption</em> attribute to an empty string,
+either globally:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>:caption:</code></pre>
+</div></div>
+<div class="paragraph"><p>or on an element by element basis, for example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>.Tiger
+[caption=""]
+image::images/tiger.png[]</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_assign_multiple_author_names">50. How can I assign multiple author names?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>A quick way to do this is put both authors in a single first name, for
+example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>My Document
+===========
+:Author: Bill_and_Ben_the_Flowerpot_Men
+:Author Initials: BB &amp; BC</code></pre>
+</div></div>
+<div class="paragraph"><p><code>asciidoc(1)</code> replaces the underscores with spaces.</p></div>
+<div class="paragraph"><p>If you are generating DocBook then a more flexible approach is to
+create a <em>docinfo</em> file containing a DocBook <em>authorgroup</em> element
+(search the <em>User Guide</em> for <em>docinfo</em> for more details).</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_selectively_disable_a_quoted_text_substitution">51. How can I selectively disable a quoted text substitution?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Omitting the tag name will disable quoting. For example, if you don&#8217;t
+want superscripts or subscripts then put the following in a custom
+configuration file or edit the global <code>asciidoc.conf</code> configuration
+file:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[quotes]
+^=
+~=</code></pre>
+</div></div>
+<div class="paragraph"><p>Alternatively you can set the configuration entries from within your
+document, the above examples are equivalent to:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>:quotes.^:
+:quotes.~:</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_customize_the_localdate_format">52. How can I customize the {localdate} format?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The default format for the <code>{localdate}</code> attribute is the ISO 8601
+<code>yyyy-mm-dd</code> format. You can change this format by explicitly setting
+the <code>{localdate}</code> attribute. For example by setting it using the
+<code>asciidoc(1)</code> <code>-a</code> command-line option:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>asciidoc -a localdate=`date +%d-%m-%Y` mydoc.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>You could also set it by adding an Attribute Entry to your source
+document, for example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>:localdate: {sys: date +%Y-%m-%d}</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_where_can_i_find_examples_of_commands_used_to_build_output_documents">53. Where can I find examples of commands used to build output documents?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The User Guide has some. You could also look at <code>./doc/main.aap</code> and
+<code>./examples/website/main.aap</code> in the AsciiDoc distribution, they have
+all the commands used to build the AsciiDoc documentation and the
+AsciiDoc website (even if you don&#8217;t use A-A-P you&#8217;ll still find it
+useful).</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_why_have_you_used_the_docbook_lt_simpara_gt_element_instead_of_lt_para_gt">54. Why have you used the DocBook &lt;simpara&gt; element instead of &lt;para&gt;?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><code>&lt;simpara&gt;</code> is really the same as <code>&lt;para&gt;</code> except it can&#8217;t contain
+block elements&#8201;&#8212;&#8201;this matches, more closely, the AsciiDoc paragraph
+semantics.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_format_text_inside_a_listing_block">55. How can I format text inside a listing block?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>By default only <em>specialcharacters</em> and <em>callouts</em> are substituted in
+listing blocks; you can add quotes substitutions by explicitly setting
+the block <em>subs</em> attribute, for example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[subs="quotes"]
+------------------------------------------
+$ ls *-al*
+------------------------------------------</code></pre>
+</div></div>
+<div class="paragraph"><p>The <code>-al</code> will rendered bold. Note that:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+You would need to explicitly escape text you didn&#8217;t want quoted.
+</p>
+</li>
+<li>
+<p>
+Don&#8217;t do this in source code listing blocks because it modifies the
+ source code which confuses the syntax highlighter.
+</p>
+</li>
+<li>
+<p>
+This only works if your DocBook processor recognizes DocBook
+ <code>&lt;emphasis&gt;</code> elements inside <code>&lt;screen&gt;</code> elements.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Alternative, if the lines are contiguous, you could use the <em>literal</em>
+paragraph style:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>["literal",subs="quotes"]
+$ ls *-al*</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_why_doesn_8217_t_the_include1_macro_work">56. Why doesn&#8217;t the include1::[] macro work?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Internally the <code>include1</code> macro is translated to the <code>include1</code> system
+attribute which means it must be evaluated in a region where attribute
+substitution is enabled. <code>include1</code> won&#8217;t work, for example, in a
+ListingBlock (unless attribute substitution is enabled). <code>include1</code>
+is intended for use in configuration files, use the <code>include</code> macro
+and set the attribute <code>depth=1</code> instead, for example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>------------------------------------------------
+include::blogpost_media_processing.txt[depth=1]
+------------------------------------------------</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_make_the_mailto_macro_work_with_multiple_email_addresses">57. How can I make the mailto macro work with multiple email addresses?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>For the AsciiDoc <em>mailto</em> macro to work with multiple email addresses
+(as per RFC2368) you need to URL encode the <em>@</em> characters (replace
+them with <em>%40</em>), if you don&#8217;t the individual addresses will be
+rendered as separate links. You also need to <a href="#X1">replace spaces with <em>%20</em></a>.</p></div>
+<div class="paragraph"><p>For example, the following call won&#8217;t work:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>mailto:jb@example.com,jd@example.com?subject=New foofoo release[New foofoo release]</code></pre>
+</div></div>
+<div class="paragraph"><p>Use this instead:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>mailto:jb%40example.com,jd%40example.com?subject=New%20foofoo%20release[New foofoo release]</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_a_replacement_have_a_trailing_backslash">58. How can a replacement have a trailing backslash?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Quote the entry name&#8201;&#8212;&#8201;this nonsensical example replaces <code>x\</code> with
+<code>y</code>:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>"x\\"=y</code></pre>
+</div></div>
+<div class="paragraph"><p>If quoting were omitted the equals character (separating the
+entry name <code>x</code> from the value <code>y</code>) would be escaped.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_control_page_breaks_when_printing_html_outputs">59. How can I control page breaks when printing HTML outputs?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Here are some techniques you can use to control page breaks in HTML
+outputs produced by the <em>xhtml11</em> and <em>html5</em> backends:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+You can generate a page break with the <em>&lt;&lt;&lt;</em> block macro. The
+ following example prints the <em>Rats and Mice</em> section on a new page:
+</p>
+<div class="listingblock">
+<div class="content">
+<pre><code>&lt;&lt;&lt;
+== Rats and Mice
+Lorum ipsum ...</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+You can use the <em>unbreakable</em> option to instruct the browser not to
+ break a block element. The following image and it&#8217;s caption will be
+ kept together the printed page:
+</p>
+<div class="listingblock">
+<div class="content">
+<pre><code>[options="unbreakable"]
+.Tiger block image
+image::images/tiger.png[Tiger image]</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+You can apply the <em>unbreakable</em> option globally to all block
+ elements by defining the <em>unbreakable-option</em> attribute in your
+ document header.
+</p>
+</li>
+<li>
+<p>
+Finally, the most powerful technique is to create custom CSS
+ containing paged media properties. For example this <code>asciidoc(1)</code>
+ command:
+</p>
+<div class="openblock">
+<div class="content">
+<div class="literalblock">
+<div class="content">
+<pre><code>asciidoc --attribute stylesheet=article.css article.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>Will include the following <code>article.css</code> file in the output document:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>div#toc, div.sect1 { page-break-before: always; }</code></pre>
+</div></div>
+<div class="paragraph"><p>Which will ensure the table of contents and all top level sections
+start on a new printed page.</p></div>
+</div></div>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_is_it_possible_to_reposition_the_table_of_contents_in_html_outputs">60. Is it possible to reposition the Table of Contents in HTML outputs?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>By default the <em>xhtml11</em> and <em>html5</em> backends auto-position the TOC
+after the header. You can manually position the TOC by setting the
+<em>toc-placement</em> attribute value to <em>manual</em> and then inserting the
+<code>toc::[]</code> block macro where you want the TOC to appear. For example,
+put this in the document header:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>:toc:
+:toc-placement: manual</code></pre>
+</div></div>
+<div class="paragraph"><p>The put this where you want the TOC to appear:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>toc::[]</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_html_generated_by_asciidoc_fills_the_width_of_the_browser_how_can_i_limit_it_to_a_more_readable_book_width">61. HTML generated by AsciiDoc fills the width of the browser, how can I limit it to a more readable book width?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>You can set the maximum with for outputs generated by <em>html5</em>,
+<em>xhtml11</em> and <em>slidy</em> backends by assigning the
+<a href="userguide.html#X103">max-width</a> attribute (either from the
+command-line or with an attribute entry in the document header). For
+example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>asciidoc -a max-width=55em article.txt</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_using_roles_to_select_fonts_for_pdf">62. Using roles to select fonts for PDF</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Some applications require mixing fonts beyond the set of faces
+normally provided by default (normal, monospace, italic etc.) for
+example mixed language text where the font used for the majority of
+text does not contain suitable glyphs in the minority language.</p></div>
+<div class="paragraph"><p>As AsciiDoc can not provide presentation markup since it is not
+provided by Docbook this is achieved by marking text which should use
+a different font with a custom role which can be rendered by the the
+docbook toolchain.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">For XHTML outputs AsciiDoc translates the role attribute to a
+class which can be selected and styled by CSS as described in the
+AsciiDoc users guide.</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>The Docbook toolchains will have to be configured to render the text
+that you mark with the custom role.</p></div>
+<div class="paragraph"><p>For FOP a small XSL wrapper is needed, say a file called <code>my_fo.xsl</code>
+containing:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>&lt;xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:fo="http://www.w3.org/1999/XSL/Format"&gt;
+ &lt;xsl:import href="/etc/asciidoc/docbook-xsl/fo.xsl"/&gt;
+ &lt;xsl:template match="phrase[@role='f2']"&gt;
+ &lt;fo:inline font-family="the font for f2"&gt;
+ &lt;xsl:apply-templates/&gt;
+ &lt;/fo:inline&gt;
+ &lt;/xsl:template&gt;
+&lt;/xsl:stylesheet&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>This is used with <code>a2x</code> by:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>a2x -f pdf --fop --xsl-file=my_fo.xsl input.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>and the AsciiDoc source marked by:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>normal text [f2]#special font is like this# and back to normal</code></pre>
+</div></div>
+<div class="paragraph"><p>Thanks to Antonio Borneo for this answer.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_place_a_footnote_immediately_following_quoted_text">63. How can I place a footnote immediately following quoted text?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>A closing quote is not recognised if it is immediately followed by a
+letter (the <em>f</em> in <em>footnote</em> in the following example):</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>``Double-quoted text''footnote:[Lorum ipsum...]</code></pre>
+</div></div>
+<div class="paragraph"><p>A workaround is to put a word-joiner between the trailing quote
+and the footnote (the <code>{empty}</code> attribute would also work), for
+example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>``Double-quoted text''{wj}footnote:[Lorum ipsum...]</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_convert_documents_from_other_formats_to_asciidoc">64. How can I convert documents from other formats to AsciiDoc?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>You can use <a href="http://johnmacfarlane.net/pandoc/">Pandoc</a> to convert
+documents in <a href="http://daringfireball.net/projects/markdown/">markdown</a>,
+<a href="http://docutils.sourceforge.net/docs/ref/rst/introduction.html">reStructuredText</a>,
+<a href="http://redcloth.org/textile">textile</a>,
+<a href="http://www.w3.org/TR/html40/">HTML</a>, <a href="http://www.docbook.org/">DocBook</a>,
+or <a href="http://www.latex-project.org/">LaTeX</a> to AsciiDoc.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_can_i_insert_raw_html_in_a_document_processed_by_a2x">65. How can I insert raw HTML in a document processed by a2x?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><code>a2x</code> generates HTML via DocBook (DocBook XSL Stylesheets) so if you
+use a passthrough block it must contain DocBook (not HTML).
+Fortunately DocBook XSL Stylesheets has a
+<a href="http://www.sagehill.net/docbookxsl/InsertExtHtml.html">dbhtml-include
+processing instruction</a> which will inlcude a file containing raw HTML
+into the generated HTML output. For example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>++++
+&lt;?dbhtml-include href="snippet.html"?&gt;
+++++</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_why_is_there_a_period_after_the_block_title_in_the_pdf_output">66. Why is there a period after the block title in the PDF output?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>If your document has blocks that have block titles, you may notice in
+the PDF output (generated by <code>a2x(1)</code> using the <code>--fop</code> flag) that a
+period gets added to the end of the block title.</p></div>
+<div class="paragraph"><p>You will not see the period in the intermediary DocBook XML that’s
+generated when creating a PDF&#8201;&#8212;&#8201;it’s added by the DocBook XSL
+templates when the DocBook XML is converted to FO XML.</p></div>
+<div class="paragraph"><p>The DocBook XSL attribute that controls what character is added after
+a block title is
+<a href="https://cdn.docbook.org/release/xsl/snapshot/doc/html/runinhead.default.title.end.punct.html">
+runinhead.default.title.end.punct</a>. You can override it and eliminate
+the default period value by adding the following line to the
+<code>./docbook-xsl/common.xsl</code> file that ships with AsciiDoc:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;xsl:param name="runinhead.default.title.end.punct"/&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>This FAQ was
+<a href="https://groups.google.com/group/asciidoc/browse_thread/thread/19dda8807fa7c3f2">contributed
+by Dan Allen</a>.</p></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:12 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..161a6d7
--- /dev/null
+++ b/index.html
@@ -0,0 +1,929 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<meta name="description" content="AsciiDoc is a text document format for writing notes, documentation, articles, books, ebooks, slideshows, web pages, man pages and blogs. AsciiDoc files can be translated to many formats including HTML, PDF, EPUB, man page." />
+<meta name="keywords" content="AsciiDoc, DocBook, EPUB, PDF, ebooks, slideshow, slidy, man page" />
+<title>AsciiDoc Home Page</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install(1);
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="index.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>AsciiDoc Home Page</h1>
+<div id="toc">
+ <div id="toctitle">Table of Contents</div>
+ <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
+</div>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="sidebarblock">
+<div class="content">
+<div class="title">24 January 2021: AsciiDoc 9.0.5 Released</div>
+<div class="paragraph"><p>Read the <a href="CHANGELOG.html">CHANGELOG</a> for release highlights and a
+full list of all additions, changes and bug fixes. Changes are
+documented in the updated <a href="userguide.html">User Guide</a>. See the
+<a href="INSTALL.html">Installation page</a> for downloads and and
+installation instructions.</p></div>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_introduction">Introduction</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc is a text document format for writing notes, documentation, articles, books, ebooks, slideshows, web pages, man pages and blogs. AsciiDoc files can be translated to many formats including HTML, PDF, EPUB, man page.</p></div>
+<div class="paragraph"><p>AsciiDoc is highly configurable: both the AsciiDoc source file syntax
+and the backend output markups (which can be almost any type of
+SGML/XML markup) can be customized and extended by the user.</p></div>
+<div class="paragraph"><p>AsciiDoc is free software and is licensed under the terms of the <em>GNU
+General Public License version 2</em> (GPLv2).</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">The pages you are reading were written using AsciiDoc, to view
+the corresponding AsciiDoc source click on the <strong>Page Source</strong> menu item
+in the left hand margin.</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_overview_and_examples">Overview and Examples</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>You write an AsciiDoc document the same way you would write a
+normal text document, there are no markup tags or weird format
+notations. AsciiDoc files are designed to be viewed, edited and
+printed directly or translated to other presentation formats using
+the <code>asciidoc(1)</code> command.</p></div>
+<div class="paragraph"><p>The <code>asciidoc(1)</code> command translates AsciiDoc files to HTML, XHTML and
+DocBook markups. DocBook can be post-processed to presentation
+formats such as HTML, PDF, EPUB, DVI, LaTeX, roff, and Postscript
+using readily available Open Source tools.</p></div>
+<div class="sect2">
+<h3 id="_example_articles">Example Articles</h3>
+<div class="ulist"><ul>
+<li>
+<p>
+This XHTML version of the
+ <a href="asciidoc.css-embedded.html">AsciiDoc User Guide</a>
+ was generated by AsciiDoc from
+ <a href="asciidoc.txt">this AsciiDoc file</a>.
+</p>
+</li>
+<li>
+<p>
+Here&#8217;s the <a href="asciidoc.html">same document</a> created by first
+ generating DocBook markup using AsciiDoc and then converting the
+ DocBook markup to HTML using <em>DocBook XSL Stylesheets</em>.
+</p>
+</li>
+<li>
+<p>
+The User Guide again, this time a
+ <a href="chunked/index.html">chunked version</a>.
+</p>
+</li>
+<li>
+<p>
+AsciiDoc generated this <a href="article-standalone.html">stand-alone
+ HTML file</a> containing embedded CSS, JavaScript and images from this
+ <a href="article.txt">AsciiDoc article template</a> with this command:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>asciidoc -a data-uri -a icons -a toc -a max-width=55em article.txt</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+The same <a href="article.txt">AsciiDoc article template</a> generated
+ <a href="article-html5-toc2.html">this HTML 5</a> (the <em>toc2</em> attribute puts
+ a table of contents in the left margin) from this command:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>asciidoc -b html5 -a icons -a toc2 -a theme=flask article.txt</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+The same <a href="article.txt">AsciiDoc article template</a> produced
+ this <a href="article.html">HTML file</a> and this
+ <a href="article.pdf">PDF file</a> via DocBook markup generated by AsciiDoc.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="X7">Example Books</h3>
+<div class="paragraph"><p>AsciiDoc markup supports all the standard DocBook frontmatter and
+backmatter sections (dedication, preface, bibliography, glossary,
+index, colophon) plus footnotes and index entries.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+This <a href="book.txt">AsciiDoc book</a> produced <a href="book.html">this HTML
+ file</a> using the <em>DocBook XSL Stylesheets</em>.
+</p>
+</li>
+<li>
+<p>
+The <a href="asciidoc.pdf">PDF formatted AsciiDoc User Guide</a> was
+ generated from <code>asciidoc(1)</code> DocBook output.
+</p>
+</li>
+<li>
+<p>
+The <a href="asciidoc.epub">EPUB formatted AsciiDoc User Guide</a> was
+ generated using <a href="a2x.1.html">a2x</a>.
+</p>
+</li>
+<li>
+<p>
+This <a href="book.epub">EPUB formatted book skeleton</a> was generated
+ using <a href="a2x.1.html">a2x</a>.
+</p>
+</li>
+<li>
+<p>
+This <a href="book-multi.txt">multi-part AsciiDoc book</a> produced
+ <a href="book-multi.html">this HTML file</a> using the <em>DocBook XSL
+ Stylesheets</em>.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_example_unix_man_pages">Example UNIX Man Pages</h3>
+<div class="paragraph"><p>HTML formatted AsciiDoc man pages
+<a href="asciidoc.1.css-embedded.html">with stylesheets</a> and
+<a href="asciidoc.1.html">without stylesheets</a> were generated by AsciiDoc
+from <a href="asciidoc.1.txt">this file</a>.</p></div>
+<div class="paragraph"><p>This <a href="asciidoc.1">roff formatted man page</a> was generated from
+<code>asciidoc(1)</code> DocBook output using <code>xsltproc(1)</code> and DocBook XSL
+Stylesheets.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X8">Example Slideshows</h3>
+<div class="paragraph"><p>The <a href="http://www.w3.org/Talks/Tools/Slidy2/">Slidy</a> backend generates
+HTML slideshows that can be viewed in any web browser. What&#8217;s nice is
+that you can create completely self contained slideshows including
+embedded images.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Here is the <a href="slidy.html">slidy backend documentation</a> slideshow
+ and here is it&#8217;s <a href="slidy.txt">AsciiDoc source</a>.
+</p>
+</li>
+<li>
+<p>
+An <a href="slidy-example.html">example slidy slideshow</a> and the
+ <a href="slidy-example.txt">AsciiDoc source</a>.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_example_web_site">Example Web Site</h3>
+<div class="paragraph"><p>The <a href="README-website.html">AsciiDoc website</a> is included in the
+AsciiDoc distribution (in <code>./website/</code> and <code>./docs/</code>) as an example website
+built using AsciiDoc. See <code>./website/README-website.txt</code>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_more_examples">More examples</h3>
+<div class="ulist"><ul>
+<li>
+<p>
+See below: <a href="#X6"><em>Documents written using AsciiDoc</em></a>.
+</p>
+</li>
+<li>
+<p>
+Example <a href="newtables.html">Tables</a>.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_ebook_publication">eBook Publication</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The two most popular open eBook formats are
+<a href="http://en.wikipedia.org/wiki/EPUB">EPUB</a> and PDF.
+The AsciiDoc <a href="a2x.1.html">a2x</a> toolchain wrapper makes it easy to
+<a href="publishing-ebooks-with-asciidoc.html">publish EPUB and PDF eBooks
+with AsciiDoc</a>. See also <a href="#X7">example books</a> and
+<a href="epub-notes.html">AsciiDoc EPUB Notes</a>).</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_blogpost_weblog_client">Blogpost weblog client</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><a href="http://srackham.wordpress.com/blogpost-readme/">blogpost</a> is a
+command-line weblog client for publishing AsciiDoc documents to
+<a href="http://wordpress.org/">WordPress</a> blog hosts. It creates and updates
+weblog posts and pages directly from AsciiDoc source documents.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_source_code_highlighter">Source code highlighter</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc includes a <a href="source-highlight-filter.html">source code
+highlighter filter</a> that uses
+<a href="http://www.gnu.org/software/src-highlite/">GNU source-highlight</a> to
+highlight HTML outputs. You also have the option of using the
+<a href="http://pygments.org/">Pygments</a> highlighter.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X3">Mathematical Formulae</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>You can include mathematical formulae in AsciiDoc XHTML documents using
+<a href="asciimathml.html">ASCIIMathML</a> or <a href="latexmathml.html">LaTeXMathML</a>
+notation.</p></div>
+<div class="paragraph"><p>The <a href="latex-filter.html">AsciiDoc LaTeX filter</a> translates LaTeX
+source to an image that is automatically inserted into the AsciiDoc
+output documents.</p></div>
+<div class="paragraph"><p>AsciiDoc also has <em>latexmath</em> macros for DocBook outputs&#8201;&#8212;&#8201;they are
+documented in <a href="latexmath.pdf">this PDF file</a> and can be used in
+AsciiDoc documents processed by <code>dblatex(1)</code>.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_editor_support">Editor Support</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+An AsciiDoc syntax highlighter for the Vim text editor is included in Vim.
+</p>
+<div class="imageblock">
+<div class="content">
+<a class="image" href="images/highlighter.png">
+<img src="images/highlighter.png" alt="images/highlighter.png" height="400" />
+</a>
+</div>
+<div class="title">Syntax highlighter screenshot</div>
+</div>
+</li>
+<li>
+<p>
+Dag Wieers has implemented an alternative Vim syntax file for
+ AsciiDoc which can be found here
+ <a href="https://github.com/dagwieers/asciidoc-vim">https://github.com/dagwieers/asciidoc-vim</a>.
+</p>
+</li>
+<li>
+<p>
+David Avsajanishvili has written a source highlighter for AsciiDoc
+ files for <a href="http://projects.gnome.org/gtksourceview/">GtkSourceView</a>
+ (used by <a href="http://projects.gnome.org/gedit/">gedit</a> and a number of
+ other applications). The project is hosted here:
+ <a href="https://launchpad.net/asciidoc-gtk-highlight">https://launchpad.net/asciidoc-gtk-highlight</a>
+</p>
+</li>
+<li>
+<p>
+AsciiDoc resources for the Emacs editor can be found on the
+ <a href="http://www.emacswiki.org/emacs/AsciiDoc">AsciiDoc page</a> at the
+ <a href="http://www.emacswiki.org/emacs/EmacsWiki">Emacs Wiki</a>.
+</p>
+</li>
+<li>
+<p>
+Christian Zuckschwerdt has written a
+ <a href="https://github.com/zuckschwerdt/asciidoc.tmbundle">TextMate bundle</a>
+ for AsciiDoc.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_try_asciidoc_on_the_web">Try AsciiDoc on the Web</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Thaddée Tyl has written an online live editor named
+<a href="http://espadrine.github.io/AsciiDocBox/">AsciiDocBox</a> to try AsciiDoc in
+your browser.</p></div>
+<div class="paragraph"><p>You can use <a href="http://gist.asciidoctor.org/">DocGist</a> to preview AsciiDoc
+files hosted on GitHub, Dropbox, and other services. DocGist also
+features a real-time collaboration mode.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X2">External Resources and Applications</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Here are resources that I know of, if you know of more drop me a line
+and I&#8217;ll add them to the list.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Check the <a href="INSTALL.html#X2">installation page</a> for packaged versions
+ of AsciiDoc.
+</p>
+</li>
+<li>
+<p>
+<a href="http://asciidoctor.org">Asciidoctor</a> provides a modern, compliant, and
+ substantially faster implementation of the AsciiDoc processor written
+ in Ruby. This implementation can also be run on the JVM (with
+ AsciidoctorJ) or using JavaScript (with Asciidoctor.js). The
+ Asciidoctor project now maintains the official definition of the
+ AsciiDoc syntax.
+</p>
+</li>
+<li>
+<p>
+Alex Efros has written an HTML formatted
+ <a href="http://powerman.name/doc/asciidoc">AsciiDoc Cheatsheet</a> using AsciiDoc.
+ The Asciidoctor project also provides a comprehensive
+ <a href="http://asciidoctor.org/docs/asciidoc-syntax-quick-reference/">AsciiDoc
+ syntax quick reference</a>.
+</p>
+</li>
+<li>
+<p>
+The <a href="http://www.wikimatrix.org/">WikiMatrix</a> website has an excellent
+ <a href="https://www.wikimatrix.org/compare/">web page</a> that compares the
+ various Wiki markup syntaxes. An interesting attempt at Wiki markup
+ standardization is <a href="http://www.wikicreole.org/">CREOLE</a>.
+</p>
+</li>
+<li>
+<p>
+The <a href="http://remips.sourceforge.net/">ReMIPS</a> project website has been
+ built using AsciiDoc.
+</p>
+</li>
+<li>
+<p>
+Here are some <a href="asciidoc-docbook-xsl.html">DocBook XSL Stylesheets
+ Notes</a>.
+</p>
+</li>
+<li>
+<p>
+Karl Mowatt-Wilson has developed an <a href="http://ikiwiki.info/">ikiwiki</a>
+ plugin for AsciiDoc which he uses to render
+ <a href="http://mowson.org/karl">his website</a>. The plugin is available
+ <a href="http://www.mowson.org/karl/colophon/">here</a> and there is some
+ discussion of the ikiwiki integration
+ <a href="http://ikiwiki.info/users/KarlMW/discussion/">here</a>.
+</p>
+</li>
+<li>
+<p>
+Glenn Eychaner has
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/bf04b55628efe214">reworked
+ the Asciidoc plugin for ikiwiki</a> that was created by Karl Mowson.
+</p>
+</li>
+<li>
+<p>
+David Hajage has written an AsciiDoc package for the
+ <a href="http://www.r-project.org/">R Project</a> (R is a free software
+ environment for statistical computing). <em>ascii</em> is available on
+ <em>CRAN</em> (just run <code>install.packages("ascii")</code> from R). Briefly,
+ <em>ascii</em> replaces R results in AsciiDoc document with AsciiDoc
+ markup. More information and examples here:
+ <a href="http://eusebe.github.com/ascii/">http://eusebe.github.com/ascii/</a>.
+</p>
+</li>
+<li>
+<p>
+Pascal Rapaz has written a Python script to automate AsciiDoc
+ website generation. You can find it at
+ <a href="http://www.rapazp.ch/opensource/tools/asciidoc.html">http://www.rapazp.ch/opensource/tools/asciidoc.html</a>.
+</p>
+</li>
+<li>
+<p>
+Jared Henley has written
+ <a href="https://jared.henley.id.au/software/awb/">AsciiDoc
+ Website Builder</a>. <em>AsciiDoc Website Builder</em> (awb) is a Python
+ program that automates the building of of a website written in
+ AsciiDoc. All you need to write is the AsciiDoc source plus a few
+ simple configuration files.
+</p>
+</li>
+<li>
+<p>
+Filippo Negroni has developed a set of tools to facilitate <em>literate
+ programming</em> using AsciiDoc. The set of tools is called
+ <a href="http://eweb.sourceforge.net/">eWEB</a>.
+</p>
+</li>
+<li>
+<p>
+<a href="https://vanderwijk.info/">Ivo&#8217;s blog</a> describes a
+ <a href="https://ditaa.sourceforge.net/">ditaa</a> filter for AsciiDoc which converts
+ <a href="https://en.wikipedia.org/wiki/ASCII_art">ASCII art</a> into graphics.
+</p>
+</li>
+<li>
+<p>
+<a href="https://github.com/gollum/gollum">Gollum</a> is a git-powered wiki, it
+ supports various formats, including AsciiDoc.
+</p>
+</li>
+<li>
+<p>
+Gregory Romé has written an
+ <a href="http://github.com/gpr/redmine_asciidoc_formatter">AsciiDoc plugin</a>
+ for the <a href="http://www.redmine.org/">Redmine</a> project management
+ application.
+</p>
+</li>
+<li>
+<p>
+Paul Hsu has started a
+ <a href="http://github.com/paulhsu/AsciiDoc.CHT.userguide">Chinese translation
+ of the AsciiDoc User Guide</a>.
+</p>
+</li>
+<li>
+<p>
+Dag Wieers has written
+ <a href="http://dag.wieers.com/home-made/unoconv/">UNOCONV</a>. <em>UNOCONV</em> can
+ export AsciiDoc outputs to OpenOffice export formats.
+</p>
+</li>
+<li>
+<p>
+Ed Keith has written
+ <a href="https://sourceforge.net/projects/codeextactor.berlios/">Code Extractor</a>,
+ it extracts code snippets from source code files and
+ inserts them into AsciiDoc documents.
+</p>
+</li>
+<li>
+<p>
+Ryan Tomayko has written an number of
+ <a href="https://github.com/rtomayko/adoc-themes">themes for AsciiDoc</a>.
+</p>
+</li>
+<li>
+<p>
+Lex Trotman has written
+ <a href="https://github.com/elextr/codiicsa">codiicsa</a>, a program that
+ converts DocBook to AsciiDoc.
+</p>
+</li>
+<li>
+<p>
+Qingping Hou has written <a href="http://houqp.github.com/asciidoc-deckjs/">an
+ AsciiDoc backend for deck.js</a>.
+ <a href="http://imakewebthings.github.com/deck.js/">deck.js</a> is a JavaScript
+ library for building modern HTML presentations (slideshows).
+</p>
+</li>
+<li>
+<p>
+The guys from O&#8217;Reilly Media have posted an
+ <a href="https://github.com/oreillymedia/docbook2asciidoc">XSL Stylesheet to
+github</a> that converts DocBook to AsciiDoc.
+</p>
+</li>
+<li>
+<p>
+Lex Trotman has written
+ <a href="https://github.com/elextr/flexndex">flexndex</a>, an index generator
+ tool that be used with AsciiDoc.
+</p>
+</li>
+<li>
+<p>
+Michael Haberler has created a
+ <a href="https://code.google.com/p/asciidoc-diag-filter/">blockdiag filter for
+ Asciidoc</a> which embeds <a href="http://blockdiag.com/">blockdiag</a> images in
+ AsciiDoc documents.
+</p>
+</li>
+<li>
+<p>
+Dan Allen has written a
+ <a href="https://github.com/mojavelinux/asciidoc-bootstrap-docs-backend">Bootstrap
+ backend</a> for AsciiDoc.
+</p>
+</li>
+<li>
+<p>
+Steven Boscarine has written
+ <a href="https://github.com/StevenBoscarine/JavaAsciidocWrapper">Maven wrapper for AsciiDoc</a>.
+</p>
+</li>
+<li>
+<p>
+Christian Goltz has written
+ <a href="https://github.com/christiangoltz/shaape">Shaape</a>, an Ascii art to
+ image converter for AsciiDoc.
+</p>
+</li>
+<li>
+<p>
+Eduardo Santana has written an
+ <a href="https://github.com/edusantana/asciidoc-highlight">Asciidoc Highlight
+ for Notepad++</a>.
+</p>
+</li>
+<li>
+<p>
+<a href="http://www.geany.org/">Geany</a> 1.23 adds document structure support
+ for AsciiDoc.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Please let me know if any of these links need updating.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X6">Documents written using AsciiDoc</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Here are some documents I know of, if you know of more drop me a line
+and I&#8217;ll add them to the list.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+The book <a href="http://practicalunittesting.com/">Practical Unit Testing</a> by
+ Tomek Kaczanowski was
+ <a href="https://groups.google.com/group/asciidoc/browse_frm/thread/4ba13926262efa23">written
+ using Asciidoc</a>.
+</p>
+</li>
+<li>
+<p>
+The book <a href="http://oreilly.com/catalog/9781449397296">Programming iOS 4</a>
+ by Matt Neuburg was written using AsciiDoc. Matt has
+ <a href="http://www.apeth.net/matt/iosbooktoolchain.html">written an article</a>
+ describing how he used AsciiDoc and other tools to write the book.
+</p>
+</li>
+<li>
+<p>
+The book
+ <a href="http://oreilly.com/catalog/9780596155957/index.html">Programming
+ Scala</a> by Dean Wampler and Alex Payne (O&#8217;Reilly) was
+ <a href="http://groups.google.com/group/asciidoc/browse_frm/thread/449f1199343f0e27">written
+ using Asciidoc</a>.
+</p>
+</li>
+<li>
+<p>
+The Neo4j graph database project uses Asciidoc, and the output is
+ published here: <a href="http://docs.neo4j.org/">http://docs.neo4j.org/</a>. The build process includes
+ live tested source code snippets and is described
+ <a href="http://groups.google.com/group/asciidoc/browse_thread/thread/49d570062fd3ff52">here</a>.
+</p>
+</li>
+<li>
+<p>
+<a href="http://frugalware.org/">Frugalware Linux</a> uses AsciiDoc for
+ <a href="http://frugalware.org/docs">documentation</a>.
+</p>
+</li>
+<li>
+<p>
+<a href="http://www.cherokee-project.com/doc/">Cherokee documentation</a>.
+</p>
+</li>
+<li>
+<p>
+Henrik Maier produced this professional User manual using AsciiDoc:
+ <a href="http://www.proconx.com/assets/files/products/modg100/UMMBRG300-1101.pdf">http://www.proconx.com/assets/files/products/modg100/UMMBRG300-1101.pdf</a>
+</p>
+</li>
+<li>
+<p>
+Henrik also produced this folded single page brochure format
+ example:
+ <a href="http://www.proconx.com/assets/files/products/modg100/IGMBRG300-1101-up.pdf">http://www.proconx.com/assets/files/products/modg100/IGMBRG300-1101-up.pdf</a>
+</p>
+<div class="paragraph"><p>See this
+<a href="http://groups.google.com/group/asciidoc/browse_thread/thread/16ab5a06864b934f">AsciiDoc
+discussion group thread</a> for details.</p></div>
+</li>
+<li>
+<p>
+The
+ <a href="http://www.kernel.org/pub/software/scm/git/docs/user-manual.html">Git
+ User&#8217;s Manual</a>.
+</p>
+</li>
+<li>
+<p>
+<em>Git Magic</em><br />
+ <a href="http://www-cs-students.stanford.edu/~blynn/gitmagic/">http://www-cs-students.stanford.edu/~blynn/gitmagic/</a><br />
+ <a href="http://github.com/blynn/gitmagic/tree/1e5780f658962f8f9b01638059b27275cfda095c">http://github.com/blynn/gitmagic/tree/1e5780f658962f8f9b01638059b27275cfda095c</a>
+</p>
+</li>
+<li>
+<p>
+<em>CouchDB: The Definitive Guide</em><br />
+ <a href="https://docs.couchdb.org/en/stable/">https://docs.couchdb.org/en/stable/</a><br />
+ <a href="https://groups.google.com/g/asciidoc/c/pg9ny7r4Yqo">https://groups.google.com/g/asciidoc/c/pg9ny7r4Yqo</a>
+</p>
+</li>
+<li>
+<p>
+<em>Ramaze Manual</em><br />
+ <a href="http://book.ramaze.net/">http://book.ramaze.net/</a><br />
+ <a href="http://github.com/manveru/ramaze-book/tree/master">http://github.com/manveru/ramaze-book/tree/master</a>
+</p>
+</li>
+<li>
+<p>
+The <a href="https://github.com/manveru/KirbyBase">KirbyBase for Ruby</a>
+ database management system manual.
+</p>
+</li>
+<li>
+<p>
+The <a href="http://xpt.sourceforge.net/">*Nix Power Tools project</a> uses
+ AsciiDoc for documentation.
+</p>
+</li>
+<li>
+<p>
+The <a href="http://www.wesnoth.org/">Battle for Wesnoth</a> project uses
+ AsciiDoc for its <a href="http://www.wesnoth.org/wiki/WesnothManual">Manual</a>
+ in a number of different languages.
+</p>
+</li>
+<li>
+<p>
+Troy Hanson uses AsciiDoc to generate user guides for the
+ <a href="http://tpl.sourceforge.net/">tpl</a> and
+ <a href="http://uthash.sourceforge.net/">uthash</a> projects (the HTML versions
+ have a customised contents sidebar).
+</p>
+</li>
+<li>
+<p>
+<a href="http://www.weechat.org/">WeeChat</a> uses AsciiDoc for
+ <a href="http://www.weechat.org/doc">project documentation</a>.
+</p>
+</li>
+<li>
+<p>
+<a href="https://github.com/Clansuite/Clansuite">Clansuite</a> uses AsciiDoc for
+ project documentation.
+</p>
+</li>
+<li>
+<p>
+The <a href="https://github.com/shlomif/fc-solve">Freecell Solver program</a> uses
+ AsciiDoc for its
+ <a href="https://fc-solve.shlomifish.org/">distributed documentation</a>.
+</p>
+</li>
+<li>
+<p>
+Eric Raymond&#8217;s <a href="http://gpsd.berlios.de/AIVDM.html">AIVDM/AIVDO
+ protocol decoding</a> documentation is written using AsciiDoc.
+</p>
+</li>
+<li>
+<p>
+The <a href="http://www.rowetel.com/ucasterisk/">Free Telephony Project</a>
+ website is generated using AsciiDoc.
+</p>
+</li>
+<li>
+<p>
+Warren Block has <a href="http://www.wonkity.com/~wblock/docs/">posted a
+ number of articles written using AsciiDoc</a>.
+</p>
+</li>
+<li>
+<p>
+The <a href="https://gitlab.com/ita1024/waf/">Waf project&#8217;s</a>
+ <a href="https://waf.io/book/"><em>Waf Book</em></a> is written using AsciiDoc.
+</p>
+</li>
+<li>
+<p>
+The <a href="http://www.diffkit.org/">DiffKit</a> project&#8217;s documentation and
+ website have been written using Asciidoc.
+</p>
+</li>
+<li>
+<p>
+The <a href="http://www.networkupstools.org">Network UPS Tools</a> project
+ <a href="http://www.networkupstools.org/documentation.html">documentation</a> is
+ an example of a large documentation project written using AsciiDoc.
+</p>
+</li>
+<li>
+<p>
+<a href="http://www.archlinux.org/pacman/">Pacman</a>, the
+ <a href="http://www.archlinux.org/">Arch Linux</a> package manager, has been
+ documented using AsciiDoc.
+</p>
+</li>
+<li>
+<p>
+Suraj Kurapati has written a number of customized manuals for his
+ Open Source projects using AsciiDoc:
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+<a href="http://snk.tuxfamily.org/lib/detest/">http://snk.tuxfamily.org/lib/detest/</a>
+</p>
+</li>
+<li>
+<p>
+<a href="http://snk.tuxfamily.org/lib/ember/">http://snk.tuxfamily.org/lib/ember/</a>
+</p>
+</li>
+<li>
+<p>
+<a href="http://snk.tuxfamily.org/lib/inochi/">http://snk.tuxfamily.org/lib/inochi/</a>
+</p>
+</li>
+<li>
+<p>
+<a href="http://snk.tuxfamily.org/lib/rumai/">http://snk.tuxfamily.org/lib/rumai/</a>
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+The <a href="http://cxxtest.com/">CxxTest</a> project (unit testing for C++
+ language) has written its User Guide using AsciiDoc.
+</p>
+</li>
+<li>
+<p>
+The <a href="https://docs.fedoraproject.org/">Fedora Docs</a>
+ website is generated using AsciiDoc.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Please let me know if any of these links need updating.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X1">LaTeX Backend</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>An experimental LaTeX backend was written for AsciiDoc in 2006 by
+Benjamin Klum. Benjamin did a superhuman job (I admit it, I didn&#8217;t
+think this was doable due to AsciiDoc&#8217;s SGML/XML bias). Due to
+other commitments, Benjamin was unable to maintain this backend.
+Here&#8217;s <a href="latex-backend.html">Benjamin&#8217;s original documentation</a>.
+Incompatibilities introduced after AsciiDoc 8.2.7 broke the LaTeX
+backend.</p></div>
+<div class="paragraph"><p>In 2009 Geoff Eddy stepped up and updated the LaTeX backend, thanks to
+Geoff&#8217;s efforts it now works with AsciiDoc 8.4.3. Geoff&#8217;s updated
+<code>latex.conf</code> file shipped with AsciiDoc version 8.4.4. The backend
+still has limitations and remains experimental (see
+<a href="latex-bugs.html">Geoff&#8217;s notes</a>).</p></div>
+<div class="paragraph"><p>It&#8217;s probably also worth pointing out that LaTeX output can be
+generated by passing AsciiDoc generated DocBook through <code>dblatex(1)</code>.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_patches_and_bug_reports">Patches and bug reports</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Patches and bug reports are are encouraged, but please try to follow
+these guidelines:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Post bug reports and PRs to the
+ <a href="https://github.com/asciidoc/asciidoc-py3">asciidoc-py3</a> repository.
+</p>
+</li>
+<li>
+<p>
+Post questions about using AsciiDoc or AsciiDoc syntax to the
+ <a href="http://groups.google.com/group/asciidoc">asciidoc discussion list</a>,
+ this keeps things transparent and gives everyone a chance to
+ comment.
+</p>
+</li>
+</ul></div>
+<div class="sect2">
+<h3 id="_bug_reports">Bug reports</h3>
+<div class="ulist"><ul>
+<li>
+<p>
+When reporting problems please illustrate the problem with the
+ smallest possible example that replicates the issue (and please test
+ your example before posting). This technique will also help to
+ eliminate red herrings prior to posting.
+</p>
+</li>
+<li>
+<p>
+Paste the commands that you executed along with any relevant
+ outputs.
+</p>
+</li>
+<li>
+<p>
+Include the version of AsciiDoc and the platform you&#8217;re running it
+ on.
+</p>
+</li>
+<li>
+<p>
+If you can program please consider writing a patch to fix the
+ problem.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_pull_requests">Pull Requests</h3>
+<div class="ulist"><ul>
+<li>
+<p>
+Keep pull requests small and atomic (one issue per PR)&#8201;&#8212;&#8201;no patch
+ bombs.
+</p>
+</li>
+<li>
+<p>
+If possible test your PR against the current master.
+</p>
+</li>
+<li>
+<p>
+If your PR adds or modifies functionality include a short example
+ that illustrates the changes.
+</p>
+</li>
+<li>
+<p>
+Include documentation updates if you&#8217;re up to it; otherwise insert
+ <em>TODO</em> comments at relevant places in the documentation.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:13 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/latex-backend.html b/latex-backend.html
new file mode 100644
index 0000000..5f5413b
--- /dev/null
+++ b/latex-backend.html
@@ -0,0 +1,577 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>LaTeX backend for Asciidoc</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="latex-backend.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>LaTeX backend for Asciidoc</h1>
+<span id="author">Benjamin Klum</span><br />
+<span id="email"><code>&lt;<a href="mailto:benjamin.klum@gmail.com">benjamin.klum@gmail.com</a>&gt;</code></span><br />
+<span id="revision">version 9.0.5,</span>
+24 January 2021
+</div>
+<div id="content">
+<div class="sect1">
+<h2 id="_introduction">Introduction</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>LaTeX backend is a configuration file for Stuart Rackham&#8217;s <a href="https://asciidoc.org/">Asciidoc</a>. It generates high-level LaTeX markup from Asciidoc documents. LaTeX is a document preparation system for TeX which in turn is a popular typesetting system. It is well known for producing excellently typesetted high quality printouts, especially suited for scientific text.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_tutorial">Tutorial</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Getting a ready-to-print document from an Asciidoc document using the LaTeX backend involves at least two steps:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Conversion of the Asciidoc document into a LaTeX document (this is done by Asciidoc using the LaTeX backend)
+</p>
+</li>
+<li>
+<p>
+Conversion of the LaTeX document into a PDF document (this is done by the TeX system)
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>Try to create a PDF document from the Asciidoc document <code>article.txt</code> which resides in the <code>doc</code> directory of Asciidoc:</p></div>
+<div class="olist loweralpha"><ol class="loweralpha">
+<li>
+<p>
+Make a copy of <code>article.txt</code> in a directory of your choice, let&#8217;s call it <code>latex-test</code>.
+</p>
+</li>
+<li>
+<p>
+Make sure that all images referenced in <code>article.txt</code> exist in <code>latex-test</code>. Brute force approach: Copy the whole <code>images</code> directory from Asciidoc directory into <code>latex-test</code>.
+</p>
+</li>
+<li>
+<p>
+Change directory to <code>latex-test</code> and type following commands:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>asciidoc --unsafe --backend=latex article.txt
+pdflatex article.tex</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Now there should be a file <code>article.pdf</code> in the <code>latex-test</code> directory.
+</p>
+</li>
+</ol></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/important.png" alt="Important" />
+</td>
+<td class="content">
+<div class="ulist"><ul>
+<li>
+<p>
+Asciidoc has to be started in <em>unsafe mode</em> when using LaTeX backend.
+</p>
+</li>
+<li>
+<p>
+Note that some special LaTeX packages are necessary, see <a href="#packageRequirements">here</a>.
+</p>
+</li>
+</ul></div>
+</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_general_notes">General notes</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_quality_of_latex_output">Quality of LaTeX output</h3>
+<div class="paragraph"><p>High-level LaTeX is not very straightforward to generate. Therefore there&#8217;s no guarantee that the generated output is valid and compiles successfully. At all, this backend should be considered as rather experimental. You should have been already in touch with LaTeX in order to use the backend effectively because LaTeX compilation errors can be really nasty.</p></div>
+<div class="paragraph"><p>Nevertheless good results can be achieved by using LaTeX backend. Try for example to compile Stuart Rackham&#8217;s Asciidoc documentation, a rather large document. It should compile without problems. However, the code filter might have to be reconfigured for the code filter example to work.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_configuration_file_customization">Configuration file customization</h3>
+<div class="paragraph"><p>Like every other Asciidoc backend the LaTeX backend can be customized easily to fit the user&#8217;s needs. Actually it is very important to have this option since LaTeX doesn&#8217;t have a companion language like CSS which allows to put styling information in a separate file. Read more about the LaTeX backend configuration file <a href="#configurationFile">here</a>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_output_optimization">Output optimization</h3>
+<div class="paragraph"><p>The LaTeX output is optimized for creating PDF documents using <em>pdflatex</em>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="unicodeSupport">Unicode support</h3>
+<div class="paragraph"><p>Unfortunately TeX/LaTeX does not have native unicode support. The package <em>ucs</em> adds elementary unicode support by introducing UTF-8 input encoding recognition and by defining lookup tables which contain the corresponding LaTeX commands for unicode characters. But these lookup tables are far from being complete. When a unicode character is found which is not defined in the lookup tables an error is raised by the TeX/LaTeX compiler. Note that TeX/LaTeX compilation errors caused by missing unicode character definitions are not fatal, that means the result is probably readable but undefined unicode characters are replaced with <code>[U+...]</code>. You may (de)activate the recognition of escaped unicode characters. See the <a href="#latex-recognize-escaped-unicode">[latex-recognize-escaped-unicode]</a> backend option.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_backend_specific_features">Backend specific features</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_special_sections">Special sections</h3>
+<div class="paragraph"><p>LaTeX backend supports the following special sections and replaces them with corresponding LaTeX commands or environments:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Abstract (only for document type <em>article</em>)
+</p>
+</li>
+<li>
+<p>
+Dedication (only for document type <em>book</em>)
+</p>
+</li>
+<li>
+<p>
+Index
+</p>
+</li>
+<li>
+<p>
+Bibliography (only when the attribute <em>latex-use-bibliography-environment</em> is set)
+</p>
+</li>
+<li>
+<p>
+Appendix
+</p>
+</li>
+<li>
+<p>
+Contents
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="internalCrossReferences">Internal cross references</h3>
+<div class="paragraph"><p>Macros for internal cross references have been extended by the attribute <em>style</em>.</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>xref:&lt;id&gt;[&lt;caption&gt;, style=&lt;style&gt;]</code></pre>
+</div></div>
+<div class="paragraph"><p>or</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;&lt;&lt;id&gt;,&lt;caption&gt;,&lt;style&gt;&gt;&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>The additional attribute <em>style</em> can have following values:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+page
+</dt>
+<dd>
+<p>
+Let&#8217;s LaTeX print the page number of the referenced anchor.
+</p>
+</dd>
+<dt class="hdlist1">
+ref
+</dt>
+<dd>
+<p>
+Let&#8217;s LaTeX print the number of the section, subsection, figure, table or theorem the referenced anchor resides.
+</p>
+</dd>
+<dt class="hdlist1">
+autoref
+</dt>
+<dd>
+<p>
+Let&#8217;s LaTeX print the number of the section, subsection, figure, table or theorem the referenced anchor resides preceded with a contextual label.
+</p>
+</dd>
+<dt class="hdlist1">
+cite
+</dt>
+<dd>
+<p>
+Let&#8217;s LaTeX interprete this reference as a reference to a bibliography entry. If the attribute <em>latex-use-bibliography-environment</em> is set, references with <em>cite</em> style as well as their corresponding bibliography anchors are presented as automatically generated numbers.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>If the <em>style</em> attribute is not set the reference is printed the common way.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_options">Options</h3>
+<div class="paragraph"><p>LaTeX document generation is influenced by the following attributes:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+latex-table-rowlimit
+</dt>
+<dd>
+<p>
+The maximum number of rows for typesetting tables using the <em>tabular</em> environment. If a table has more rows than <em>latex-table-rowlimit</em>, <em>longtable</em> environment is used instead of <em>tabular</em> environment. <em>longtable</em> environment supports tables spanning over several pages.
+</p>
+</dd>
+<dt class="hdlist1">
+latex-use-bibliography-environment
+</dt>
+<dd>
+<p>
+If <em>latex-use-bibliography-environment</em> is defined, <em>thebibliography</em> environment is used for the bibliography section. As a result bibliography entries are automatically numbered. Note that this works only if the bibliography section contains exclusively bibliography list items which start with a bibliography entry ([[[&#8230;]]]). Otherwise a TeX/LaTeX compilation error will occur. In order to display bibliography references correctly their <em>style</em> attribute must be set to <em>cite</em>. For more information see <a href="#internalCrossReferences">Internal cross references</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+latex-indent-paragraphs
+</dt>
+<dd>
+<p>
+If <em>latex-indent-paragraphs</em> is defined, the first line of paragraphs will be indented. By default LaTeX backend prevents paragraph indentation and prints paragraphs with preceding vertical space.
+</p>
+</dd>
+<dt class="hdlist1">
+<a id="latex-recognize-escaped-unicode"></a> latex-recognize-escaped-unicode
+</dt>
+<dd>
+<p>
+If <em>latex-recognize-escaped-unicode</em> is defined, escaped unicode
+characters (e.g. <code>\$${amp}#960;$$</code> or <code>\$${amp}#x3C0;$$</code>) will be recognized. This can lead to LaTeX compilation errors since LaTeX unicode support is only rudimentary. For more information see <a href="#unicodeSupport">Unicode support</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+latex-use-custom-list-items
+</dt>
+<dd>
+<p>
+If <em>latex-use-custom-list-items</em> is defined, lists will be bulleted or enumerated the way you have typed them in the original Asciidoc document. That means, <code>*</code> turns into a circle bullet, <code>-</code> turns into a dash, <code>.</code> turns into a number and <code>..</code> turns into a letter. Otherwise LaTeX will use different bullets and enumeration characters depending on the level of nesting.
+</p>
+</dd>
+<dt class="hdlist1">
+latex-use-colored-tables
+</dt>
+<dd>
+<p>
+If <em>latex-use-colored-tables</em> is defined, tables will be printed colored.
+</p>
+</dd>
+<dt class="hdlist1">
+latex-use-running-title-headings
+</dt>
+<dd>
+<p>
+If <em>latex-use-running-title-headings</em> is defined, <em>pagestyle</em> will be set to <em>headings</em> which results in running titles in the head.
+</p>
+</dd>
+<dt class="hdlist1">
+latex-use-colored-sidebar-blocks
+</dt>
+<dd>
+<p>
+If <em>latex-use-colored-sidebar-blocks</em> is defined, sidebar block content will be put in a color box instead of being indented by a vertical bar.
+</p>
+</dd>
+<dt class="hdlist1">
+icons
+</dt>
+<dd>
+<p>
+Link admonition paragraph and admonition block icon images and badge images. By default icons is undefined and text is used in place of icon images.
+</p>
+</dd>
+<dt class="hdlist1">
+encoding
+</dt>
+<dd>
+<p>
+Set the input and output document character set encoding. Currently <code>ISO-8859-1</code> and <code>UTF-8</code> are supported.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_requirements">Requirements</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_general">General</h3>
+<div class="paragraph"><p>The following software is necessary for using the LaTeX backend:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+An up-to-date version of <a href="https://asciidoc.org/">Asciidoc</a>
+</p>
+</li>
+<li>
+<p>
+An up-to-date TeX distribution, e.g.:
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+<a href="http://www.miktex.org/">MiKTeX</a> for Windows
+</p>
+</li>
+<li>
+<p>
+<a href="http://www.tug.org/tetex/">teTeX</a> for Linux
+</p>
+</li>
+</ul></div>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="packageRequirements">TeX/LaTeX Package requirements</h3>
+<div class="paragraph"><p>LaTeX backend makes use of some LaTeX specialities which don&#8217;t belong to a minimal TeX/LaTeX distribution. However, I took special care not to employ exotic packages. Hence the following packages should be available in most package repositories. The table is not complete yet because I don&#8217;t know the package names for all TeX distributions.</p></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<col width="12%" />
+<col width="12%" />
+<col width="12%" />
+<col width="12%" />
+<col width="50%" />
+<thead>
+<tr>
+<th align="left" valign="top">Speciality </th>
+<th align="left" valign="top"> MiKTeX package name </th>
+<th align="left" valign="top"> teTeX package name </th>
+<th align="left" valign="top"> TeX Live package name </th>
+<th align="left" valign="top"> Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">KOMA-Script</p></td>
+<td align="left" valign="top"><p class="table">koma-script</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">LaTeX backend uses the document classes <em>scrartcl</em> and <em>scrbook</em> as well as some other specialities defined in the <em>KOMA-Script</em> package, e.g. the commands <code>\addmargin{}</code> and <code>\minisec{}</code>.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">xcolor.sty</p></td>
+<td align="left" valign="top"><p class="table">xcolor</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Used to produce colored boxes and tables.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">colortbl.sty</p></td>
+<td align="left" valign="top"><p class="table">colortbl</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Used to produce colored tables.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">type1ec.sty</p></td>
+<td align="left" valign="top"><p class="table">cm-super</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Enables high quality fonts for PDF output.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">hyperref.sty</p></td>
+<td align="left" valign="top"><p class="table">hyperref</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Extensive support for hypertext in PDF documents.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">enumerate.sty</p></td>
+<td align="left" valign="top"><p class="table">tools</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">When <em>latex-use-custom-list-items</em> is defined this package is used for determining the enumeration character.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">graphicx.sty</p></td>
+<td align="left" valign="top"><p class="table">graphics</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Used for including images.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">longtable.sty</p></td>
+<td align="left" valign="top"><p class="table">tools</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Enables page spanning tables.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">ucs.sty</p></td>
+<td align="left" valign="top"><p class="table">unicode</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Enables support for unicode characters.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">textcomp</p></td>
+<td align="left" valign="top"><p class="table">ltxbase</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Used for printing various symbols like arrows. Should be already installed.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">alltt</p></td>
+<td align="left" valign="top"><p class="table">ltxbase</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Used in literal-like blocks for retaining line and whitespace formatting. Should be already installed.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">listings.sty</p></td>
+<td align="left" valign="top"><p class="table">listings</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Used for listing blocks.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="configurationFile">About the LaTeX backend configuration file</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>An important note for people who want to adapt the LaTeX backend configuration file to their own needs:</p></div>
+<div class="paragraph"><p>LaTeX markup has a lot of special characters, most importantly ``, <code>{</code>, <code>}</code>. In order to make things less complicated, I changed the default substitution order (see entry <em>subsnormal</em> in the <code>[miscellaneous]</code> section). In contrast to the backends <em>docbook</em> and <em>xhtml11</em>, the <em>specialcharacters</em> substitution is applied very late. As a result all special characters produced by <em>quotes</em>, <em>specialwords</em>, <em>replacements</em>, <em>attributes</em> and <em>macros</em> become escaped at the end. If you don&#8217;t want special characters in the corresponding sections to get escaped, you&#8217;ve to use following symbols instead of the special characters.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<code>\$$!..backslash..!$$</code> instead of ``
+</p>
+</li>
+<li>
+<p>
+<code>\$$!..braceleft..!$$</code> instead of <code>{</code>
+</p>
+</li>
+<li>
+<p>
+<code>\$$!..braceright..!$$</code> instead of <code>}</code>
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>For more special characters take a look in the <code>[replacements2]</code> sections. <code>[replacements2]</code> section is responsible for replacing the symbols with their corresponding special characters.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_ideas">Ideas</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_code_listing_block">Code listing block</h3>
+<div class="paragraph"><p>For creating highlighted code listings I suggest the use of <a href="http://www.andre-simon.de/">Highlight</a> or <a href="http://www.gnu.org/software/src-highlite/">GNU Source Highlight</a>. Both are suited for use as Asciidoc filters.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_known_bugs">Known Bugs</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+Sometimes LaTeX backend handles things differently from the default backends
+</p>
+</li>
+<li>
+<p>
+A lot of little bugs
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_todo_list">Todo List</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+Remove bugs
+</p>
+</li>
+<li>
+<p>
+Support for <em>grid</em> attribute in tables
+</p>
+</li>
+<li>
+<p>
+Better looking tables
+</p>
+</li>
+<li>
+<p>
+Option for squeezing output (smaller lists)
+</p>
+</li>
+<li>
+<p>
+Support for different languages (That would be a nice feature for Asciidoc in general)
+</p>
+</li>
+<li>
+<p>
+Option for switching titlepage on and off
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:13 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/latex-bugs.html b/latex-bugs.html
new file mode 100644
index 0000000..89f6e39
--- /dev/null
+++ b/latex-bugs.html
@@ -0,0 +1,427 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>Bugs in asciidoc latex backend</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="latex-bugs.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>Bugs in asciidoc latex backend</h1>
+<span id="author">Geoff Eddy</span><br />
+<span id="revision">version 9.0.5,</span>
+24 January 2021
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p>Benjamin Klum was unable to maintain the LaTeX backend beyond version
+8.2.7, and as a consequence the <code>latex.conf</code> file ceased to work with
+<code>asciidoc</code> sometime after this. For version 8.4.3 I made some changes
+to the file to get it working again. This document summarises the
+remaining issues which I have found with generating LaTeX and thence
+PDF output with <code>asciidoc</code>, which is done as follows:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<code>asciidoc --backend=latex --unsafe FILE.txt</code>
+</p>
+</li>
+<li>
+<p>
+<code>latex FILE.tex</code>
+</p>
+</li>
+<li>
+<p>
+<code>kpdf FILE.pdf</code>
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Many of these were found by processing the <code>asciidoc.txt</code> file and
+comparing the HTML output with the PDF.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_footnotes">Footnotes</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+Priority
+</dt>
+<dd>
+<p>
+Low.
+</p>
+</dd>
+<dt class="hdlist1">
+Problem
+</dt>
+<dd>
+<p>
+References to footnotes, and a sensible value for the
+<code>[footnoteref-inlinemacro]</code> section, don&#8217;t seem to be possible.
+</p>
+</dd>
+<dt class="hdlist1">
+Cause
+</dt>
+<dd>
+<p>
+LaTeX doesn&#8217;t support footnoting much beyond creating a
+footnote at a certain point in text and displaying the footnote
+itself.
+</p>
+</dd>
+<dt class="hdlist1">
+Solution
+</dt>
+<dd>
+<p>
+Unclear. How important or necessary is this, anyway?
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_spurious_text_at_starts_of_paragraphs">Spurious text at starts of paragraphs</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+Priority
+</dt>
+<dd>
+<p>
+Medium
+</p>
+</dd>
+<dt class="hdlist1">
+Problem
+</dt>
+<dd>
+<p>
+It is necessary to insert spurious text in paragraphs.
+</p>
+</dd>
+<dt class="hdlist1">
+Cause
+</dt>
+<dd>
+<p>
+This <code>asciidoc</code> input:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>-------------------------------------------------------------------
+Text
+-------------------------------------------------------------------</code></pre>
+</div></div>
+<div class="paragraph"><p>generates this LaTeX code:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>\begin{lstlisting}
+SPURIOUS TEXTText\end{lstlisting}</code></pre>
+</div></div>
+<div class="paragraph"><p>which should be:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>\begin{lstlisting}[]
+Text\end{lstlisting}</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+Solution
+</dt>
+<dd>
+<p>
+Find out a way to generate the correct LaTeX output as
+above. The obvious solution, as explained in <code>latet.conf</code>, doesn&#8217;t
+work.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_tables">Tables</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+Priority
+</dt>
+<dd>
+<p>
+Rather high.
+</p>
+</dd>
+<dt class="hdlist1">
+Problem
+</dt>
+<dd>
+<p>
+Not all of the table configuration options can be passed
+through to the LaTeX backend. In particular, I&#8217;ve had to assume that
+all tables will be fifteen or fewer left-justified columns wide.
+</p>
+</dd>
+<dt class="hdlist1">
+Cause
+</dt>
+<dd>
+<p>
+The table models in LaTeX and HTML are too dissimilar for one
+<code>asciidoc</code> specification to generate valid output in both formats by
+simple regexp replacement. Related to this is the unfortunate fact
+that <code>&lt;COLGROUP&gt;</code> and related tags aren&#8217;t a required part of HTML4,
+and some broswers (at least Firefox and Konqueror) don&#8217;t implement
+them.
+</p>
+</dd>
+<dt class="hdlist1">
+Solution
+</dt>
+<dd>
+<p>
+Perhaps table processing could be handled by a Python
+plugin, which would read in a table spec and generate the appropriate
+text?
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_unicode_escaping">Unicode escaping</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+Priority
+</dt>
+<dd>
+<p>
+Rather high, to me at least.
+</p>
+</dd>
+<dt class="hdlist1">
+Problem
+</dt>
+<dd>
+<p>
+The commented-out section in <code>latex.conf</code>, if uncommented,
+converts <code>&amp;#960;</code> to <code>\unichar{960}</code>, which then causes LaTeX to
+complain that the resulting command is unavailable in encoding T1. The
+more common non-ASCII characters, such as those in <code>félicité</code> and
+<code>świeca</code>, are handled properly, but some - such as the IPA characters
+in the <code>tipa</code> package - are not.
+</p>
+</dd>
+<dt class="hdlist1">
+Cause
+</dt>
+<dd>
+<p>
+The encodings in the LaTeX output are wrong.
+</p>
+</dd>
+<dt class="hdlist1">
+Solution
+</dt>
+<dd>
+<p>
+Correct the encodings.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_text_colours">Text colours</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+Priority
+</dt>
+<dd>
+<p>
+Probably low
+</p>
+</dd>
+<dt class="hdlist1">
+Problem
+</dt>
+<dd>
+<p>
+The text colour options are not processed by LaTeX; for
+example <code>[#ff0000]#Red text#</code> is not rendered in red.
+</p>
+</dd>
+<dt class="hdlist1">
+Cause
+</dt>
+<dd>
+<p>
+LaTeX and HTML represent RGB triads differently: HTML is happy
+with <code>#ff8000</code>, but LaTeX needs <code>[rgb]{1,0.5,0}</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+Solution
+</dt>
+<dd>
+<p>
+Provide some sort of internal RGB conversion mechanism
+which can convert RGB triads to different representations.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_text_sizes">Text sizes</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+Priority
+</dt>
+<dd>
+<p>
+Probably low
+</p>
+</dd>
+<dt class="hdlist1">
+Problem
+</dt>
+<dd>
+<p>
+The text size options are not processed by LaTeX:
+<code>[,,1]#text#</code> is rendered in the same size as normal text.
+</p>
+</dd>
+<dt class="hdlist1">
+Cause
+</dt>
+<dd>
+<p>
+HTML size tags - <code>h1</code> through <code>h7</code> - are directly derivable
+from the size number, whereas LaTeX has a series of descriptive words
+(<code>HUGE</code> through <code>normalsize</code> to <code>scriptsize</code>).
+</p>
+</dd>
+<dt class="hdlist1">
+Solution
+</dt>
+<dd>
+<p>
+Provide a way to treat the number as an index into an
+array.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_background_colour_in_paragraphs">Background colour in paragraphs</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+Priority
+</dt>
+<dd>
+<p>
+Medium
+</p>
+</dd>
+<dt class="hdlist1">
+Problem
+</dt>
+<dd>
+<p>
+If the <code>backgroundcolor</code> attribute is specified in the
+<code>lstset</code> command, all paragraphs are displayed as black rectangles by
+<code>kpdf</code>, <code>xpdf</code>, and <code>evince</code>, although <code>kdvi</code> has no problems. I&#8217;ve
+had to remove the attribute, and so paragraphs all appear on white
+backgrounds. The PDF viewers also complain:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>Error (NNNN): Unknown operator 'rgb'</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+Cause
+</dt>
+<dd>
+<p>
+Apparently a known bug in the output of <code>pdflatex</code>. Not a bug
+in <code>asciidoc</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+Solution
+</dt>
+<dd>
+<p>
+Wait until this bug is fixed?
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:13 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/latex-filter.html b/latex-filter.html
new file mode 100644
index 0000000..9ad5a95
--- /dev/null
+++ b/latex-filter.html
@@ -0,0 +1,294 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>LaTeX Filter</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="latex-filter.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>LaTeX Filter</h1>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p>The AsciiDoc distribution includes a LaTeX filter that translates LaTeX source
+to an image which is automatically inserted into the AsciiDoc output document.
+Although it can accept any LaTeX source, the primary use is to render
+mathematical formulae (see the examples below). The filter implements the
+<em>latex</em> Listing block and Paragraph styles.</p></div>
+<div class="paragraph"><p>Two image formats are supported; PNG and SVG. PNG is the default since that
+was the first format that this filter supported. However, SVG is a better
+format since it&#8217;s scalable. Using SVG make formulas look good in both PDFs
+and on web pages. SVG will also scale well when zooming in on a web page for
+example. It is recommended to always use the SVG format. This can be done by
+setting the <em>imgfmt</em> parameter to <em>svg</em>, as is done below. An even better way
+is to set the global attribute <em>latex-imgfmt</em> to <em>svg</em>. Then SVG will be used
+for all formulas.</p></div>
+<div class="paragraph"><p>This LaTeX paragraph:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>["latex", imgfmt="svg"]
+---------------------------------------------------------------------
+\begin{equation*}
+y = \int_0^\infty \gamma^2 \cos(x) dx
+\end{equation*}
+---------------------------------------------------------------------</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="imageblock latex">
+<div class="content">
+<img src="latex-filter__1.svg" alt="latex-filter__1.svg" />
+</div>
+</div>
+<div class="paragraph"><p>Compare the formula above, which is rendered as an SVG image, to the formula
+below which has been rendered as a PNG image. The difference will be most
+notable if zooming in on a web page, printing the web page or when rendering
+the document as a PDF.</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>["latex", "latex2.png", 140, imgfmt="png"]
+---------------------------------------------------------------------
+\begin{equation*}
+y = \int_0^\infty \gamma^2 \cos(x) dx
+\end{equation*}
+---------------------------------------------------------------------</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="imageblock latex">
+<div class="content">
+<img src="latex2.png" alt="latex2.png" />
+</div>
+</div>
+<div class="paragraph"><p>This LaTeX block:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>["latex","latex1.svg",imgfmt="svg",align="center"]
+---------------------------------------------------------------------
+\begin{equation*}
+\displaystyle{ V_i = C_0 - C_3
+\frac{C_1\cos(\theta_i+C_3)}{C_4+C_1\cos(\theta_i+C_2)} }
+\end{equation*}
+---------------------------------------------------------------------</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="imageblock latex" style="text-align:center;">
+<div class="content">
+<img src="latex1.svg" alt="latex1.svg" />
+</div>
+</div>
+<div class="paragraph"><p>This LaTeX block:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>.LaTeX filter example
+[latex]
+["latex","latex3.svg",imgfmt="svg"]
+---------------------------------------------------------------------
+\begin{equation}
+\Re{z} =\frac{n\pi \dfrac{\theta +\psi}{2}}{
+\left(\dfrac{\theta +\psi}{2}\right)^2 + \left( \dfrac{1}{2}
+\log \left\lvert\dfrac{B}{A}\right\rvert\right)^2}.
+\end{equation}
+
+\begin{equation}
+\boxed{\eta \leq C(\delta(\eta) +\Lambda_M(0,\delta))}
+\end{equation}
+
+\begin{equation}\label{first}
+a=b+c
+\end{equation}
+
+\begin{subequations}\label{grp}
+\begin{align}
+a&amp;=b+c\label{second}\\
+d&amp;=e+f+g\label{third}\\
+h&amp;=i+j\label{fourth}
+\end{align}
+\end{subequations}
+---------------------------------------------------------------------</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="imageblock latex">
+<div class="content">
+<img src="latex3.svg" alt="latex3.svg" />
+</div>
+<div class="title">Figure 1. LaTeX filter example</div>
+</div>
+<div class="paragraph"><p>This LaTeX paragraph:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>.A LaTeX table
+["latex",imgfmt="svg"]
+\begin{tabular}{c r @{.} l}
+Pi expression &amp;
+\multicolumn{2}{c}{Value} \\
+\hline
+$\pi$ &amp; 3&amp;1416 \\
+$\pi^{\pi}$ &amp; 36&amp;46 \\
+$(\pi^{\pi})^{\pi}$ &amp; 80662&amp;7 \\
+\end{tabular}</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="imageblock latex">
+<div class="content">
+<img src="latex-filter__2.svg" alt="latex-filter__2.svg" />
+</div>
+<div class="title">Figure 2. A LaTeX table</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_using_the_filter">Using the Filter</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+The LaTeX filter is invoked by setting the Listing block or
+ Paragraph style (the first positional block attribute) to <em>latex</em>.
+</p>
+</li>
+<li>
+<p>
+The second positional attribute (named <em>target</em> is optional, it sets
+ the name of the generated image file. If this is not supplied a
+ file name like <code>{docname}__{target-number}.{imgfmt}</code> is synthesised
+ (where <code>{docname}</code> is the document file name, <code>{target-number}</code>
+ is an integer number and <code>{imgfmt}</code> is the image format (png or svg).
+</p>
+</li>
+<li>
+<p>
+The third positional attribute, named <em>dpi</em>, is also optional; it is
+ an integer number that sets the output resolution in dots per inch
+ for a PNG image. It is ignored for an SVG image.
+</p>
+</li>
+<li>
+<p>
+The image format to use can be selected by setting the <em>imgfmt</em>
+ parameter or by globally setting the <em>latex-imgfmt</em> attribute.
+ Setting it to <em>svg</em> will render SVG images and setting it to <em>png</em>
+ will render PNG images. The default is <em>png</em>.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Because the LaTeX images are rendered using the image block templates
+you can also use the optional named image block attributes (see
+<a href="userguide.html#X55">Image macro attributes</a> in the AsciiDoc User
+Guide).</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">
+<div class="paragraph"><p>You can also change the image size using the following LaTeX commands:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>\tiny
+\scriptsize
+\footnotesize
+\small
+\normalsize
+\large
+\Large
+\LARGE
+\huge</code></pre>
+</div></div>
+<div class="paragraph"><p>For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[latex]
+\Large $y = \int_0^\infty \gamma^2 \cos(x) dx$</code></pre>
+</div></div>
+<div class="paragraph"><p>The <code>\Large</code> command is outside the <code>$</code> math delimiters.</p></div>
+</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>The filter (<code>./filters/latex/latex2img.py</code>) can be used outside
+AsciiDoc to convert LaTeX source to images.</p></div>
+<div class="paragraph"><p>Execute the following command to see how to use it:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ ./filters/latex/latex2img.py --help</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_limitations">Limitations</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+The <code>asciidoc(1)</code> input and output files cannot both be <code>-</code> (stdin
+ and stdout), either the input or output files (or both) must be a
+ named file.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_installation">Installation</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>In addition to AsciiDoc you will need to have <code>latex(1)</code>,
+<code>dvipng(1)</code> (for PNG) and/or <code>dvisvgm(1)</code> (for SVG) installed.</p></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:14 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/latex-filter__1.svg b/latex-filter__1.svg
new file mode 100644
index 0000000..6ee6b69
--- /dev/null
+++ b/latex-filter__1.svg
@@ -0,0 +1,37 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- This file was generated by dvisvgm 2.6.1 -->
+<svg height='32.745347pt' version='1.1' viewBox='265.409721 89.163277 122.706509 32.745347' width='122.706509pt' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>
+<defs>
+<path d='M4.030884 -1.910834C3.66127 -2.343213 3.549689 -2.461768 3.284682 -2.650062C2.859278 -2.956912 2.412951 -3.075467 2.02939 -3.075467C1.164633 -3.075467 0.536986 -2.336239 0.536986 -1.499377C0.536986 -0.683437 1.136737 0.069738 2.008468 0.069738C2.977833 0.069738 3.654296 -0.72528 3.905355 -1.094894C4.274969 -0.662516 4.38655 -0.54396 4.651557 -0.355666C5.076961 -0.048817 5.523288 0.069738 5.906849 0.069738C6.771606 0.069738 7.399253 -0.669489 7.399253 -1.506351C7.399253 -2.322291 6.799502 -3.075467 5.927771 -3.075467C4.958406 -3.075467 4.281943 -2.280448 4.030884 -1.910834ZM4.254047 -1.652802C4.533001 -2.106102 5.139726 -2.810461 5.990535 -2.810461C6.708842 -2.810461 7.203985 -2.175841 7.203985 -1.506351S6.660025 -0.313823 6.018431 -0.313823C5.369863 -0.313823 4.923537 -0.843836 4.254047 -1.652802ZM3.682192 -1.352927C3.403238 -0.899626 2.796513 -0.195268 1.945704 -0.195268C1.227397 -0.195268 0.732254 -0.829888 0.732254 -1.499377S1.276214 -2.691905 1.917808 -2.691905C2.566376 -2.691905 3.012702 -2.161893 3.682192 -1.352927Z' id='g0-49'/>
+<path d='M3.598506 -2.224658C3.598506 -2.991781 3.507846 -3.542715 3.187049 -4.030884C2.970859 -4.351681 2.538481 -4.630635 1.980573 -4.630635C0.36264 -4.630635 0.36264 -2.726775 0.36264 -2.224658S0.36264 0.139477 1.980573 0.139477S3.598506 -1.72254 3.598506 -2.224658ZM1.980573 -0.055791C1.659776 -0.055791 1.234371 -0.244085 1.094894 -0.81594C0.99726 -1.227397 0.99726 -1.799253 0.99726 -2.315318C0.99726 -2.824408 0.99726 -3.354421 1.101868 -3.737983C1.248319 -4.288917 1.694645 -4.435367 1.980573 -4.435367C2.357161 -4.435367 2.719801 -4.20523 2.84533 -3.800747C2.956912 -3.424159 2.963885 -2.922042 2.963885 -2.315318C2.963885 -1.799253 2.963885 -1.283188 2.873225 -0.843836C2.733748 -0.209215 2.259527 -0.055791 1.980573 -0.055791Z' id='g3-48'/>
+<path d='M3.521793 -1.26924H3.284682C3.263761 -1.115816 3.194022 -0.704359 3.103362 -0.63462C3.047572 -0.592777 2.510585 -0.592777 2.412951 -0.592777H1.129763C1.862017 -1.241345 2.106102 -1.436613 2.524533 -1.764384C3.040598 -2.175841 3.521793 -2.608219 3.521793 -3.270735C3.521793 -4.11457 2.782565 -4.630635 1.889913 -4.630635C1.025156 -4.630635 0.439352 -4.02391 0.439352 -3.382316C0.439352 -3.02665 0.739228 -2.991781 0.808966 -2.991781C0.976339 -2.991781 1.17858 -3.110336 1.17858 -3.361395C1.17858 -3.486924 1.129763 -3.731009 0.767123 -3.731009C0.983313 -4.226152 1.457534 -4.379577 1.785305 -4.379577C2.48269 -4.379577 2.84533 -3.835616 2.84533 -3.270735C2.84533 -2.66401 2.412951 -2.182814 2.189788 -1.931756L0.509091 -0.27198C0.439352 -0.209215 0.439352 -0.195268 0.439352 0H3.312578L3.521793 -1.26924Z' id='g3-50'/>
+<path d='M1.036115 21.688667C1.354919 21.668742 1.524284 21.449564 1.524284 21.200498C1.524284 20.871731 1.275218 20.712329 1.046077 20.712329C0.806974 20.712329 0.557908 20.861768 0.557908 21.210461C0.557908 21.718555 1.05604 22.136986 1.663761 22.136986C3.178082 22.136986 3.745953 19.805729 4.4533 16.916563C5.220423 13.768369 5.867995 10.590286 6.405978 7.392279C6.774595 5.270237 7.143213 3.277709 7.481943 1.992528C7.601494 1.504359 7.940224 0.219178 8.328767 0.219178C8.637609 0.219178 8.886675 0.408468 8.926526 0.448319C8.597758 0.468244 8.428394 0.687422 8.428394 0.936488C8.428394 1.265255 8.67746 1.424658 8.9066 1.424658C9.145704 1.424658 9.39477 1.275218 9.39477 0.926526C9.39477 0.388543 8.856787 0 8.308842 0C7.551681 0 6.993773 1.085928 6.445828 3.118306C6.41594 3.227895 5.061021 8.229141 3.965131 14.744707C3.706102 16.268991 3.417186 17.932752 3.088418 19.317559C2.909091 20.044832 2.450809 21.917808 1.643836 21.917808C1.285181 21.917808 1.046077 21.688667 1.036115 21.688667Z' id='g4-90'/>
+<path d='M0.408468 -2.530511C0.797011 -3.676214 1.882939 -3.686177 1.992528 -3.686177C3.496887 -3.686177 3.606476 -1.942715 3.606476 -1.155666C3.606476 -0.547945 3.556663 -0.37858 3.486924 -0.179328C3.267746 0.547945 2.968867 1.703611 2.968867 1.96264C2.968867 2.072229 3.01868 2.141968 3.098381 2.141968C3.227895 2.141968 3.307597 1.92279 3.417186 1.544209C3.646326 0.707347 3.745953 0.139477 3.785803 -0.169365C3.805729 -0.298879 3.825654 -0.428394 3.865504 -0.557908C4.184309 -1.544209 4.821918 -3.028643 5.220423 -3.815691C5.290162 -3.935243 5.409714 -4.154421 5.409714 -4.194271C5.409714 -4.293898 5.310087 -4.293898 5.290162 -4.293898C5.260274 -4.293898 5.200498 -4.293898 5.17061 -4.224159C4.652553 -3.277709 4.254047 -2.281445 3.855542 -1.275218C3.845579 -1.58406 3.835616 -2.34122 3.447073 -3.307597C3.20797 -3.915318 2.809465 -4.403487 2.122042 -4.403487C0.876712 -4.403487 0.179328 -2.889166 0.179328 -2.580324C0.179328 -2.480697 0.268991 -2.480697 0.368618 -2.480697L0.408468 -2.530511Z' id='g1-13'/>
+<path d='M5.140722 -6.804483C5.140722 -6.814446 5.140722 -6.914072 5.011208 -6.914072C4.861768 -6.914072 3.915318 -6.824408 3.745953 -6.804483C3.666252 -6.794521 3.606476 -6.744707 3.606476 -6.615193C3.606476 -6.495641 3.696139 -6.495641 3.845579 -6.495641C4.323786 -6.495641 4.343711 -6.425903 4.343711 -6.326276L4.313823 -6.127024L3.716065 -3.765878C3.536737 -4.134496 3.247821 -4.403487 2.799502 -4.403487C1.633873 -4.403487 0.398506 -2.938979 0.398506 -1.484433C0.398506 -0.547945 0.946451 0.109589 1.723537 0.109589C1.92279 0.109589 2.420922 0.069738 3.01868 -0.637609C3.098381 -0.219178 3.447073 0.109589 3.92528 0.109589C4.273973 0.109589 4.503113 -0.119552 4.662516 -0.438356C4.83188 -0.797011 4.961395 -1.404732 4.961395 -1.424658C4.961395 -1.524284 4.871731 -1.524284 4.841843 -1.524284C4.742217 -1.524284 4.732254 -1.484433 4.702366 -1.344956C4.533001 -0.697385 4.353674 -0.109589 3.945205 -0.109589C3.676214 -0.109589 3.646326 -0.368618 3.646326 -0.56787C3.646326 -0.806974 3.666252 -0.876712 3.706102 -1.046077L5.140722 -6.804483ZM3.068493 -1.185554C3.01868 -1.006227 3.01868 -0.986301 2.86924 -0.816936C2.430884 -0.268991 2.022416 -0.109589 1.743462 -0.109589C1.24533 -0.109589 1.105853 -0.657534 1.105853 -1.046077C1.105853 -1.544209 1.424658 -2.769614 1.653798 -3.227895C1.96264 -3.815691 2.410959 -4.184309 2.809465 -4.184309C3.457036 -4.184309 3.596513 -3.367372 3.596513 -3.307597S3.576588 -3.188045 3.566625 -3.138232L3.068493 -1.185554Z' id='g1-100'/>
+<path d='M3.327522 -3.008717C3.387298 -3.267746 3.616438 -4.184309 4.313823 -4.184309C4.363636 -4.184309 4.60274 -4.184309 4.811955 -4.054795C4.533001 -4.004981 4.333748 -3.755915 4.333748 -3.516812C4.333748 -3.35741 4.443337 -3.16812 4.712329 -3.16812C4.931507 -3.16812 5.250311 -3.347447 5.250311 -3.745953C5.250311 -4.26401 4.662516 -4.403487 4.323786 -4.403487C3.745953 -4.403487 3.39726 -3.875467 3.277709 -3.646326C3.028643 -4.303861 2.49066 -4.403487 2.201743 -4.403487C1.165629 -4.403487 0.597758 -3.118306 0.597758 -2.86924C0.597758 -2.769614 0.697385 -2.769614 0.71731 -2.769614C0.797011 -2.769614 0.826899 -2.789539 0.846824 -2.879203C1.185554 -3.935243 1.843088 -4.184309 2.181818 -4.184309C2.371108 -4.184309 2.719801 -4.094645 2.719801 -3.516812C2.719801 -3.20797 2.550436 -2.540473 2.181818 -1.145704C2.022416 -0.52802 1.673724 -0.109589 1.235367 -0.109589C1.175592 -0.109589 0.946451 -0.109589 0.737235 -0.239103C0.986301 -0.288917 1.205479 -0.498132 1.205479 -0.777086C1.205479 -1.046077 0.986301 -1.125778 0.836862 -1.125778C0.537983 -1.125778 0.288917 -0.86675 0.288917 -0.547945C0.288917 -0.089664 0.787049 0.109589 1.225405 0.109589C1.882939 0.109589 2.241594 -0.587796 2.271482 -0.647572C2.391034 -0.278954 2.749689 0.109589 3.347447 0.109589C4.373599 0.109589 4.941469 -1.175592 4.941469 -1.424658C4.941469 -1.524284 4.851806 -1.524284 4.821918 -1.524284C4.732254 -1.524284 4.712329 -1.484433 4.692403 -1.414695C4.363636 -0.348692 3.686177 -0.109589 3.367372 -0.109589C2.978829 -0.109589 2.819427 -0.428394 2.819427 -0.767123C2.819427 -0.986301 2.879203 -1.205479 2.988792 -1.643836L3.327522 -3.008717Z' id='g1-120'/>
+<path d='M4.841843 -3.795766C4.881694 -3.935243 4.881694 -3.955168 4.881694 -4.024907C4.881694 -4.204234 4.742217 -4.293898 4.592777 -4.293898C4.493151 -4.293898 4.333748 -4.234122 4.244085 -4.084682C4.224159 -4.034869 4.144458 -3.726027 4.104608 -3.5467C4.034869 -3.287671 3.965131 -3.01868 3.905355 -2.749689L3.457036 -0.956413C3.417186 -0.806974 2.988792 -0.109589 2.331258 -0.109589C1.823163 -0.109589 1.713574 -0.547945 1.713574 -0.916563C1.713574 -1.374844 1.882939 -1.992528 2.221669 -2.86924C2.381071 -3.277709 2.420922 -3.387298 2.420922 -3.58655C2.420922 -4.034869 2.102117 -4.403487 1.603985 -4.403487C0.657534 -4.403487 0.288917 -2.958904 0.288917 -2.86924C0.288917 -2.769614 0.388543 -2.769614 0.408468 -2.769614C0.508095 -2.769614 0.518057 -2.789539 0.56787 -2.948941C0.836862 -3.88543 1.235367 -4.184309 1.574097 -4.184309C1.653798 -4.184309 1.823163 -4.184309 1.823163 -3.865504C1.823163 -3.616438 1.723537 -3.35741 1.653798 -3.16812C1.255293 -2.11208 1.075965 -1.544209 1.075965 -1.075965C1.075965 -0.18929 1.703611 0.109589 2.291407 0.109589C2.67995 0.109589 3.01868 -0.059776 3.297634 -0.33873C3.16812 0.179328 3.048568 0.667497 2.650062 1.195517C2.391034 1.534247 2.012453 1.823163 1.554172 1.823163C1.414695 1.823163 0.966376 1.793275 0.797011 1.404732C0.956413 1.404732 1.085928 1.404732 1.225405 1.285181C1.325031 1.195517 1.424658 1.066002 1.424658 0.876712C1.424658 0.56787 1.155666 0.52802 1.05604 0.52802C0.826899 0.52802 0.498132 0.687422 0.498132 1.175592C0.498132 1.673724 0.936488 2.042341 1.554172 2.042341C2.580324 2.042341 3.606476 1.135741 3.88543 0.009963L4.841843 -3.795766Z' id='g1-121'/>
+<path d='M3.297634 2.391034C3.297634 2.361146 3.297634 2.34122 3.128269 2.171856C1.882939 0.916563 1.564134 -0.966376 1.564134 -2.49066C1.564134 -4.224159 1.942715 -5.957659 3.16812 -7.202989C3.297634 -7.32254 3.297634 -7.342466 3.297634 -7.372354C3.297634 -7.442092 3.257783 -7.47198 3.198007 -7.47198C3.098381 -7.47198 2.201743 -6.794521 1.613948 -5.529265C1.105853 -4.433375 0.986301 -3.327522 0.986301 -2.49066C0.986301 -1.713574 1.09589 -0.508095 1.643836 0.617684C2.241594 1.843088 3.098381 2.49066 3.198007 2.49066C3.257783 2.49066 3.297634 2.460772 3.297634 2.391034Z' id='g2-40'/>
+<path d='M2.879203 -2.49066C2.879203 -3.267746 2.769614 -4.473225 2.221669 -5.599004C1.62391 -6.824408 0.767123 -7.47198 0.667497 -7.47198C0.607721 -7.47198 0.56787 -7.43213 0.56787 -7.372354C0.56787 -7.342466 0.56787 -7.32254 0.757161 -7.143213C1.733499 -6.156912 2.30137 -4.572852 2.30137 -2.49066C2.30137 -0.787049 1.932752 0.966376 0.697385 2.221669C0.56787 2.34122 0.56787 2.361146 0.56787 2.391034C0.56787 2.450809 0.607721 2.49066 0.667497 2.49066C0.767123 2.49066 1.663761 1.8132 2.251557 0.547945C2.759651 -0.547945 2.879203 -1.653798 2.879203 -2.49066Z' id='g2-41'/>
+<path d='M6.844334 -3.257783C6.993773 -3.257783 7.183064 -3.257783 7.183064 -3.457036S6.993773 -3.656289 6.854296 -3.656289H0.886675C0.747198 -3.656289 0.557908 -3.656289 0.557908 -3.457036S0.747198 -3.257783 0.896638 -3.257783H6.844334ZM6.854296 -1.325031C6.993773 -1.325031 7.183064 -1.325031 7.183064 -1.524284S6.993773 -1.723537 6.844334 -1.723537H0.896638C0.747198 -1.723537 0.557908 -1.723537 0.557908 -1.524284S0.747198 -1.325031 0.886675 -1.325031H6.854296Z' id='g2-61'/>
+<path d='M1.165629 -2.171856C1.165629 -3.795766 1.982565 -4.214197 2.510585 -4.214197C2.600249 -4.214197 3.227895 -4.204234 3.576588 -3.845579C3.16812 -3.815691 3.108344 -3.516812 3.108344 -3.387298C3.108344 -3.128269 3.287671 -2.929016 3.566625 -2.929016C3.825654 -2.929016 4.024907 -3.098381 4.024907 -3.39726C4.024907 -4.07472 3.267746 -4.463263 2.500623 -4.463263C1.255293 -4.463263 0.33873 -3.387298 0.33873 -2.15193C0.33873 -0.876712 1.325031 0.109589 2.480697 0.109589C3.815691 0.109589 4.134496 -1.085928 4.134496 -1.185554S4.034869 -1.285181 4.004981 -1.285181C3.915318 -1.285181 3.895392 -1.24533 3.875467 -1.185554C3.58655 -0.259029 2.938979 -0.139477 2.570361 -0.139477C2.042341 -0.139477 1.165629 -0.56787 1.165629 -2.171856Z' id='g2-99'/>
+<path d='M4.692403 -2.132005C4.692403 -3.407223 3.696139 -4.463263 2.49066 -4.463263C1.24533 -4.463263 0.278954 -3.377335 0.278954 -2.132005C0.278954 -0.846824 1.315068 0.109589 2.480697 0.109589C3.686177 0.109589 4.692403 -0.86675 4.692403 -2.132005ZM2.49066 -0.139477C2.062267 -0.139477 1.62391 -0.348692 1.354919 -0.806974C1.105853 -1.24533 1.105853 -1.853051 1.105853 -2.211706C1.105853 -2.600249 1.105853 -3.138232 1.344956 -3.576588C1.613948 -4.034869 2.082192 -4.244085 2.480697 -4.244085C2.919054 -4.244085 3.347447 -4.024907 3.606476 -3.596513S3.865504 -2.590286 3.865504 -2.211706C3.865504 -1.853051 3.865504 -1.315068 3.646326 -0.876712C3.427148 -0.428394 2.988792 -0.139477 2.49066 -0.139477Z' id='g2-111'/>
+<path d='M2.072229 -1.932752C2.291407 -1.892902 3.108344 -1.733499 3.108344 -1.016189C3.108344 -0.508095 2.759651 -0.109589 1.982565 -0.109589C1.145704 -0.109589 0.787049 -0.67746 0.597758 -1.524284C0.56787 -1.653798 0.557908 -1.693649 0.458281 -1.693649C0.328767 -1.693649 0.328767 -1.62391 0.328767 -1.444583V-0.129514C0.328767 0.039851 0.328767 0.109589 0.438356 0.109589C0.488169 0.109589 0.498132 0.099626 0.687422 -0.089664C0.707347 -0.109589 0.707347 -0.129514 0.886675 -0.318804C1.325031 0.099626 1.77335 0.109589 1.982565 0.109589C3.128269 0.109589 3.58655 -0.557908 3.58655 -1.275218C3.58655 -1.803238 3.287671 -2.102117 3.16812 -2.221669C2.839352 -2.540473 2.450809 -2.620174 2.032379 -2.699875C1.474471 -2.809465 0.806974 -2.938979 0.806974 -3.516812C0.806974 -3.865504 1.066002 -4.273973 1.92279 -4.273973C3.01868 -4.273973 3.068493 -3.377335 3.088418 -3.068493C3.098381 -2.978829 3.188045 -2.978829 3.20797 -2.978829C3.337484 -2.978829 3.337484 -3.028643 3.337484 -3.217933V-4.224159C3.337484 -4.393524 3.337484 -4.463263 3.227895 -4.463263C3.178082 -4.463263 3.158157 -4.463263 3.028643 -4.343711C2.998755 -4.303861 2.899128 -4.214197 2.859278 -4.184309C2.480697 -4.463263 2.072229 -4.463263 1.92279 -4.463263C0.707347 -4.463263 0.328767 -3.795766 0.328767 -3.237858C0.328767 -2.889166 0.488169 -2.610212 0.757161 -2.391034C1.075965 -2.132005 1.354919 -2.072229 2.072229 -1.932752Z' id='g2-115'/>
+</defs>
+<g id='page1' transform='matrix(1.4 0 0 1.4 0 0)'>
+<use x='189.578372' xlink:href='#g1-121' y='77.86093'/>
+<use x='197.587648' xlink:href='#g2-61' y='77.86093'/>
+<use x='208.103728' xlink:href='#g4-90' y='64.30056'/>
+<use x='218.066383' xlink:href='#g0-49' y='66.763522'/>
+<use x='213.638545' xlink:href='#g3-48' y='86.938112'/>
+<use x='228.167375' xlink:href='#g1-13' y='77.86093'/>
+<use x='233.878806' xlink:href='#g3-50' y='73.747434'/>
+<use x='240.008575' xlink:href='#g2-99' y='77.86093'/>
+<use x='244.436427' xlink:href='#g2-111' y='77.86093'/>
+<use x='249.417766' xlink:href='#g2-115' y='77.86093'/>
+<use x='253.347455' xlink:href='#g2-40' y='77.86093'/>
+<use x='257.221829' xlink:href='#g1-120' y='77.86093'/>
+<use x='262.915761' xlink:href='#g2-41' y='77.86093'/>
+<use x='266.790135' xlink:href='#g1-100' y='77.86093'/>
+<use x='271.975567' xlink:href='#g1-120' y='77.86093'/>
+</g>
+</svg> \ No newline at end of file
diff --git a/latex-filter__2.svg b/latex-filter__2.svg
new file mode 100644
index 0000000..480b166
--- /dev/null
+++ b/latex-filter__2.svg
@@ -0,0 +1,78 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- This file was generated by dvisvgm 2.6.1 -->
+<svg height='63.936231pt' version='1.1' viewBox='107.39726 75.959102 180.700538 63.936231' width='180.700538pt' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>
+<defs>
+<path d='M2.168867 -2.531507H2.998755C2.894147 -2.113076 2.740722 -1.478456 2.740722 -0.927522C2.740722 -0.648568 2.775592 -0.460274 2.817435 -0.306849C2.929016 0.041843 3.019676 0.069738 3.131258 0.069738C3.291656 0.069738 3.459029 -0.076712 3.459029 -0.244085C3.459029 -0.299875 3.445081 -0.327771 3.403238 -0.397509C3.270735 -0.655542 3.145205 -1.053051 3.145205 -1.624907C3.145205 -1.75741 3.145205 -2.036364 3.242839 -2.531507H4.11457C4.2401 -2.531507 4.29589 -2.531507 4.372603 -2.587298C4.470237 -2.657036 4.491158 -2.768618 4.491158 -2.803487C4.491158 -3.005729 4.309838 -3.005729 4.191283 -3.005729H1.562142C1.276214 -3.005729 1.080946 -2.942964 0.767123 -2.650062C0.585803 -2.489664 0.313823 -2.113076 0.313823 -2.050311C0.313823 -1.966625 0.404483 -1.966625 0.432379 -1.966625C0.509091 -1.966625 0.516065 -1.980573 0.557908 -2.043337C0.913574 -2.531507 1.345953 -2.531507 1.499377 -2.531507H1.924782C1.708593 -1.764384 1.332005 -0.941469 1.12279 -0.523039C1.080946 -0.432379 1.011208 -0.285928 0.990286 -0.258032C0.983313 -0.230137 0.969365 -0.202242 0.969365 -0.153425C0.969365 -0.041843 1.053051 0.069738 1.21345 0.069738C1.492403 0.069738 1.569116 -0.244085 1.736488 -0.871731L2.168867 -2.531507Z' id='g1-25'/>
+<path d='M3.297634 2.391034C3.297634 2.361146 3.297634 2.34122 3.128269 2.171856C1.882939 0.916563 1.564134 -0.966376 1.564134 -2.49066C1.564134 -4.224159 1.942715 -5.957659 3.16812 -7.202989C3.297634 -7.32254 3.297634 -7.342466 3.297634 -7.372354C3.297634 -7.442092 3.257783 -7.47198 3.198007 -7.47198C3.098381 -7.47198 2.201743 -6.794521 1.613948 -5.529265C1.105853 -4.433375 0.986301 -3.327522 0.986301 -2.49066C0.986301 -1.713574 1.09589 -0.508095 1.643836 0.617684C2.241594 1.843088 3.098381 2.49066 3.198007 2.49066C3.257783 2.49066 3.297634 2.460772 3.297634 2.391034Z' id='g2-40'/>
+<path d='M2.879203 -2.49066C2.879203 -3.267746 2.769614 -4.473225 2.221669 -5.599004C1.62391 -6.824408 0.767123 -7.47198 0.667497 -7.47198C0.607721 -7.47198 0.56787 -7.43213 0.56787 -7.372354C0.56787 -7.342466 0.56787 -7.32254 0.757161 -7.143213C1.733499 -6.156912 2.30137 -4.572852 2.30137 -2.49066C2.30137 -0.787049 1.932752 0.966376 0.697385 2.221669C0.56787 2.34122 0.56787 2.361146 0.56787 2.391034C0.56787 2.450809 0.607721 2.49066 0.667497 2.49066C0.767123 2.49066 1.663761 1.8132 2.251557 0.547945C2.759651 -0.547945 2.879203 -1.653798 2.879203 -2.49066Z' id='g2-41'/>
+<path d='M1.912827 -0.52802C1.912827 -0.816936 1.673724 -1.05604 1.384807 -1.05604S0.856787 -0.816936 0.856787 -0.52802S1.09589 0 1.384807 0S1.912827 -0.239103 1.912827 -0.52802Z' id='g2-46'/>
+<path d='M4.582814 -3.188045C4.582814 -3.985056 4.533001 -4.782067 4.184309 -5.519303C3.726027 -6.475716 2.909091 -6.635118 2.49066 -6.635118C1.892902 -6.635118 1.165629 -6.37609 0.757161 -5.449564C0.438356 -4.762142 0.388543 -3.985056 0.388543 -3.188045C0.388543 -2.440847 0.428394 -1.544209 0.836862 -0.787049C1.265255 0.019925 1.992528 0.219178 2.480697 0.219178C3.01868 0.219178 3.775841 0.009963 4.214197 -0.936488C4.533001 -1.62391 4.582814 -2.400996 4.582814 -3.188045ZM2.480697 0C2.092154 0 1.504359 -0.249066 1.325031 -1.205479C1.215442 -1.803238 1.215442 -2.719801 1.215442 -3.307597C1.215442 -3.945205 1.215442 -4.60274 1.295143 -5.140722C1.484433 -6.326276 2.231631 -6.41594 2.480697 -6.41594C2.809465 -6.41594 3.466999 -6.236613 3.656289 -5.250311C3.755915 -4.692403 3.755915 -3.935243 3.755915 -3.307597C3.755915 -2.560399 3.755915 -1.882939 3.646326 -1.24533C3.496887 -0.298879 2.929016 0 2.480697 0Z' id='g2-48'/>
+<path d='M2.929016 -6.37609C2.929016 -6.615193 2.929016 -6.635118 2.699875 -6.635118C2.082192 -5.997509 1.205479 -5.997509 0.886675 -5.997509V-5.688667C1.085928 -5.688667 1.673724 -5.688667 2.191781 -5.947696V-0.787049C2.191781 -0.428394 2.161893 -0.308842 1.265255 -0.308842H0.946451V0C1.295143 -0.029888 2.161893 -0.029888 2.560399 -0.029888S3.825654 -0.029888 4.174346 0V-0.308842H3.855542C2.958904 -0.308842 2.929016 -0.418431 2.929016 -0.787049V-6.37609Z' id='g2-49'/>
+<path d='M1.265255 -0.767123L2.321295 -1.793275C3.875467 -3.16812 4.473225 -3.706102 4.473225 -4.702366C4.473225 -5.838107 3.576588 -6.635118 2.361146 -6.635118C1.235367 -6.635118 0.498132 -5.718555 0.498132 -4.83188C0.498132 -4.273973 0.996264 -4.273973 1.026152 -4.273973C1.195517 -4.273973 1.544209 -4.393524 1.544209 -4.801993C1.544209 -5.061021 1.364882 -5.32005 1.016189 -5.32005C0.936488 -5.32005 0.916563 -5.32005 0.886675 -5.310087C1.115816 -5.957659 1.653798 -6.326276 2.231631 -6.326276C3.138232 -6.326276 3.566625 -5.519303 3.566625 -4.702366C3.566625 -3.905355 3.068493 -3.118306 2.520548 -2.500623L0.607721 -0.368618C0.498132 -0.259029 0.498132 -0.239103 0.498132 0H4.194271L4.473225 -1.733499H4.224159C4.174346 -1.43462 4.104608 -0.996264 4.004981 -0.846824C3.935243 -0.767123 3.277709 -0.767123 3.058531 -0.767123H1.265255Z' id='g2-50'/>
+<path d='M2.889166 -3.506849C3.706102 -3.775841 4.283935 -4.473225 4.283935 -5.260274C4.283935 -6.07721 3.407223 -6.635118 2.450809 -6.635118C1.444583 -6.635118 0.687422 -6.03736 0.687422 -5.280199C0.687422 -4.951432 0.9066 -4.762142 1.195517 -4.762142C1.504359 -4.762142 1.703611 -4.98132 1.703611 -5.270237C1.703611 -5.768369 1.235367 -5.768369 1.085928 -5.768369C1.39477 -6.256538 2.052304 -6.386052 2.410959 -6.386052C2.819427 -6.386052 3.367372 -6.166874 3.367372 -5.270237C3.367372 -5.150685 3.347447 -4.572852 3.088418 -4.134496C2.789539 -3.656289 2.450809 -3.626401 2.201743 -3.616438C2.122042 -3.606476 1.882939 -3.58655 1.8132 -3.58655C1.733499 -3.576588 1.663761 -3.566625 1.663761 -3.466999C1.663761 -3.35741 1.733499 -3.35741 1.902864 -3.35741H2.34122C3.158157 -3.35741 3.526775 -2.67995 3.526775 -1.703611C3.526775 -0.348692 2.839352 -0.059776 2.400996 -0.059776C1.972603 -0.059776 1.225405 -0.229141 0.876712 -0.816936C1.225405 -0.767123 1.534247 -0.986301 1.534247 -1.364882C1.534247 -1.723537 1.265255 -1.92279 0.976339 -1.92279C0.737235 -1.92279 0.418431 -1.783313 0.418431 -1.344956C0.418431 -0.438356 1.344956 0.219178 2.430884 0.219178C3.646326 0.219178 4.552927 -0.687422 4.552927 -1.703611C4.552927 -2.520548 3.92528 -3.297634 2.889166 -3.506849Z' id='g2-51'/>
+<path d='M2.929016 -1.643836V-0.777086C2.929016 -0.418431 2.909091 -0.308842 2.171856 -0.308842H1.96264V0C2.371108 -0.029888 2.889166 -0.029888 3.307597 -0.029888S4.254047 -0.029888 4.662516 0V-0.308842H4.4533C3.716065 -0.308842 3.696139 -0.418431 3.696139 -0.777086V-1.643836H4.692403V-1.952677H3.696139V-6.485679C3.696139 -6.684932 3.696139 -6.744707 3.536737 -6.744707C3.447073 -6.744707 3.417186 -6.744707 3.337484 -6.625156L0.278954 -1.952677V-1.643836H2.929016ZM2.988792 -1.952677H0.557908L2.988792 -5.668742V-1.952677Z' id='g2-52'/>
+<path d='M1.315068 -3.267746V-3.506849C1.315068 -6.027397 2.550436 -6.386052 3.058531 -6.386052C3.297634 -6.386052 3.716065 -6.326276 3.935243 -5.987547C3.785803 -5.987547 3.387298 -5.987547 3.387298 -5.539228C3.387298 -5.230386 3.626401 -5.080946 3.845579 -5.080946C4.004981 -5.080946 4.303861 -5.17061 4.303861 -5.559153C4.303861 -6.156912 3.865504 -6.635118 3.038605 -6.635118C1.763387 -6.635118 0.418431 -5.349938 0.418431 -3.148194C0.418431 -0.488169 1.574097 0.219178 2.500623 0.219178C3.606476 0.219178 4.552927 -0.71731 4.552927 -2.032379C4.552927 -3.297634 3.666252 -4.254047 2.560399 -4.254047C1.882939 -4.254047 1.514321 -3.745953 1.315068 -3.267746ZM2.500623 -0.059776C1.872976 -0.059776 1.574097 -0.657534 1.514321 -0.806974C1.334994 -1.275218 1.334994 -2.072229 1.334994 -2.251557C1.334994 -3.028643 1.653798 -4.024907 2.550436 -4.024907C2.709838 -4.024907 3.16812 -4.024907 3.476961 -3.407223C3.656289 -3.038605 3.656289 -2.530511 3.656289 -2.042341C3.656289 -1.564134 3.656289 -1.066002 3.486924 -0.707347C3.188045 -0.109589 2.729763 -0.059776 2.500623 -0.059776Z' id='g2-54'/>
+<path d='M4.742217 -6.067248C4.83188 -6.1868 4.83188 -6.206725 4.83188 -6.41594H2.410959C1.195517 -6.41594 1.175592 -6.545455 1.135741 -6.734745H0.886675L0.557908 -4.682441H0.806974C0.836862 -4.841843 0.926526 -5.469489 1.05604 -5.589041C1.125778 -5.648817 1.902864 -5.648817 2.032379 -5.648817H4.094645C3.985056 -5.489415 3.198007 -4.403487 2.978829 -4.07472C2.082192 -2.729763 1.753425 -1.344956 1.753425 -0.328767C1.753425 -0.229141 1.753425 0.219178 2.211706 0.219178S2.669988 -0.229141 2.669988 -0.328767V-0.836862C2.669988 -1.384807 2.699875 -1.932752 2.779577 -2.470735C2.819427 -2.699875 2.958904 -3.556663 3.39726 -4.174346L4.742217 -6.067248Z' id='g2-55'/>
+<path d='M1.62391 -4.552927C1.165629 -4.851806 1.125778 -5.190535 1.125778 -5.3599C1.125778 -5.967621 1.77335 -6.386052 2.480697 -6.386052C3.20797 -6.386052 3.845579 -5.867995 3.845579 -5.150685C3.845579 -4.582814 3.457036 -4.104608 2.859278 -3.755915L1.62391 -4.552927ZM3.078456 -3.606476C3.795766 -3.975093 4.283935 -4.493151 4.283935 -5.150685C4.283935 -6.067248 3.39726 -6.635118 2.49066 -6.635118C1.494396 -6.635118 0.687422 -5.897883 0.687422 -4.971357C0.687422 -4.79203 0.707347 -4.343711 1.125778 -3.875467C1.235367 -3.755915 1.603985 -3.506849 1.853051 -3.337484C1.275218 -3.048568 0.418431 -2.49066 0.418431 -1.504359C0.418431 -0.448319 1.43462 0.219178 2.480697 0.219178C3.606476 0.219178 4.552927 -0.607721 4.552927 -1.673724C4.552927 -2.032379 4.443337 -2.480697 4.064757 -2.899128C3.875467 -3.108344 3.716065 -3.20797 3.078456 -3.606476ZM2.082192 -3.188045L3.307597 -2.410959C3.58655 -2.221669 4.054795 -1.92279 4.054795 -1.315068C4.054795 -0.577833 3.307597 -0.059776 2.49066 -0.059776C1.633873 -0.059776 0.916563 -0.67746 0.916563 -1.504359C0.916563 -2.082192 1.235367 -2.719801 2.082192 -3.188045Z' id='g2-56'/>
+<path d='M2.261519 -3.148194H3.945205C5.140722 -3.148194 6.216687 -3.955168 6.216687 -4.951432C6.216687 -5.927771 5.230386 -6.804483 3.865504 -6.804483H0.348692V-6.495641H0.587796C1.354919 -6.495641 1.374844 -6.386052 1.374844 -6.027397V-0.777086C1.374844 -0.418431 1.354919 -0.308842 0.587796 -0.308842H0.348692V0C0.697385 -0.029888 1.43462 -0.029888 1.8132 -0.029888S2.938979 -0.029888 3.287671 0V-0.308842H3.048568C2.281445 -0.308842 2.261519 -0.418431 2.261519 -0.777086V-3.148194ZM2.231631 -3.407223V-6.097136C2.231631 -6.425903 2.251557 -6.495641 2.719801 -6.495641H3.606476C5.190535 -6.495641 5.190535 -5.439601 5.190535 -4.951432C5.190535 -4.483188 5.190535 -3.407223 3.606476 -3.407223H2.231631Z' id='g2-80'/>
+<path d='M6.1868 -5.828144C6.326276 -6.196762 6.595268 -6.485679 7.272727 -6.495641V-6.804483C6.963885 -6.784558 6.56538 -6.774595 6.306351 -6.774595C6.007472 -6.774595 5.429639 -6.794521 5.17061 -6.804483V-6.495641C5.688667 -6.485679 5.897883 -6.22665 5.897883 -5.997509C5.897883 -5.917808 5.867995 -5.858032 5.84807 -5.798257L4.024907 -0.996264L2.122042 -6.027397C2.062267 -6.166874 2.062267 -6.1868 2.062267 -6.206725C2.062267 -6.495641 2.630137 -6.495641 2.879203 -6.495641V-6.804483C2.520548 -6.774595 1.833126 -6.774595 1.454545 -6.774595C0.976339 -6.774595 0.547945 -6.794521 0.18929 -6.804483V-6.495641C0.836862 -6.495641 1.026152 -6.495641 1.165629 -6.117061L3.476961 0C3.5467 0.18929 3.596513 0.219178 3.726027 0.219178C3.895392 0.219178 3.915318 0.169365 3.965131 0.029888L6.1868 -5.828144Z' id='g2-86'/>
+<path d='M3.317559 -0.757161C3.35741 -0.358655 3.626401 0.059776 4.094645 0.059776C4.303861 0.059776 4.911582 -0.079701 4.911582 -0.886675V-1.444583H4.662516V-0.886675C4.662516 -0.308842 4.41345 -0.249066 4.303861 -0.249066C3.975093 -0.249066 3.935243 -0.697385 3.935243 -0.747198V-2.739726C3.935243 -3.158157 3.935243 -3.5467 3.576588 -3.915318C3.188045 -4.303861 2.689913 -4.463263 2.211706 -4.463263C1.39477 -4.463263 0.707347 -3.995019 0.707347 -3.337484C0.707347 -3.038605 0.9066 -2.86924 1.165629 -2.86924C1.444583 -2.86924 1.62391 -3.068493 1.62391 -3.327522C1.62391 -3.447073 1.574097 -3.775841 1.115816 -3.785803C1.384807 -4.134496 1.872976 -4.244085 2.191781 -4.244085C2.67995 -4.244085 3.247821 -3.855542 3.247821 -2.968867V-2.600249C2.739726 -2.570361 2.042341 -2.540473 1.414695 -2.241594C0.667497 -1.902864 0.418431 -1.384807 0.418431 -0.946451C0.418431 -0.139477 1.384807 0.109589 2.012453 0.109589C2.669988 0.109589 3.128269 -0.288917 3.317559 -0.757161ZM3.247821 -2.391034V-1.39477C3.247821 -0.448319 2.530511 -0.109589 2.082192 -0.109589C1.594022 -0.109589 1.185554 -0.458281 1.185554 -0.956413C1.185554 -1.504359 1.603985 -2.331258 3.247821 -2.391034Z' id='g2-97'/>
+<path d='M1.115816 -2.510585C1.175592 -3.995019 2.012453 -4.244085 2.351183 -4.244085C3.377335 -4.244085 3.476961 -2.899128 3.476961 -2.510585H1.115816ZM1.105853 -2.30137H3.88543C4.104608 -2.30137 4.134496 -2.30137 4.134496 -2.510585C4.134496 -3.496887 3.596513 -4.463263 2.351183 -4.463263C1.195517 -4.463263 0.278954 -3.437111 0.278954 -2.191781C0.278954 -0.856787 1.325031 0.109589 2.470735 0.109589C3.686177 0.109589 4.134496 -0.996264 4.134496 -1.185554C4.134496 -1.285181 4.054795 -1.305106 4.004981 -1.305106C3.915318 -1.305106 3.895392 -1.24533 3.875467 -1.165629C3.526775 -0.139477 2.630137 -0.139477 2.530511 -0.139477C2.032379 -0.139477 1.633873 -0.438356 1.404732 -0.806974C1.105853 -1.285181 1.105853 -1.942715 1.105853 -2.30137Z' id='g2-101'/>
+<path d='M1.763387 -4.403487L0.368618 -4.293898V-3.985056C1.016189 -3.985056 1.105853 -3.92528 1.105853 -3.437111V-0.757161C1.105853 -0.308842 0.996264 -0.308842 0.328767 -0.308842V0C0.647572 -0.009963 1.185554 -0.029888 1.424658 -0.029888C1.77335 -0.029888 2.122042 -0.009963 2.460772 0V-0.308842C1.803238 -0.308842 1.763387 -0.358655 1.763387 -0.747198V-4.403487ZM1.803238 -6.136986C1.803238 -6.455791 1.554172 -6.665006 1.275218 -6.665006C0.966376 -6.665006 0.747198 -6.396015 0.747198 -6.136986C0.747198 -5.867995 0.966376 -5.608966 1.275218 -5.608966C1.554172 -5.608966 1.803238 -5.818182 1.803238 -6.136986Z' id='g2-105'/>
+<path d='M1.763387 -6.914072L0.328767 -6.804483V-6.495641C1.026152 -6.495641 1.105853 -6.425903 1.105853 -5.937733V-0.757161C1.105853 -0.308842 0.996264 -0.308842 0.328767 -0.308842V0C0.657534 -0.009963 1.185554 -0.029888 1.43462 -0.029888S2.171856 -0.009963 2.540473 0V-0.308842C1.872976 -0.308842 1.763387 -0.308842 1.763387 -0.757161V-6.914072Z' id='g2-108'/>
+<path d='M1.09589 -3.427148V-0.757161C1.09589 -0.308842 0.986301 -0.308842 0.318804 -0.308842V0C0.667497 -0.009963 1.175592 -0.029888 1.444583 -0.029888C1.703611 -0.029888 2.221669 -0.009963 2.560399 0V-0.308842C1.892902 -0.308842 1.783313 -0.308842 1.783313 -0.757161V-2.590286C1.783313 -3.626401 2.49066 -4.184309 3.128269 -4.184309C3.755915 -4.184309 3.865504 -3.646326 3.865504 -3.078456V-0.757161C3.865504 -0.308842 3.755915 -0.308842 3.088418 -0.308842V0C3.437111 -0.009963 3.945205 -0.029888 4.214197 -0.029888C4.473225 -0.029888 4.991283 -0.009963 5.330012 0V-0.308842C4.811955 -0.308842 4.562889 -0.308842 4.552927 -0.607721V-2.510585C4.552927 -3.367372 4.552927 -3.676214 4.244085 -4.034869C4.104608 -4.204234 3.775841 -4.403487 3.198007 -4.403487C2.470735 -4.403487 2.002491 -3.975093 1.723537 -3.35741V-4.403487L0.318804 -4.293898V-3.985056C1.016189 -3.985056 1.09589 -3.915318 1.09589 -3.427148Z' id='g2-110'/>
+<path d='M4.692403 -2.132005C4.692403 -3.407223 3.696139 -4.463263 2.49066 -4.463263C1.24533 -4.463263 0.278954 -3.377335 0.278954 -2.132005C0.278954 -0.846824 1.315068 0.109589 2.480697 0.109589C3.686177 0.109589 4.692403 -0.86675 4.692403 -2.132005ZM2.49066 -0.139477C2.062267 -0.139477 1.62391 -0.348692 1.354919 -0.806974C1.105853 -1.24533 1.105853 -1.853051 1.105853 -2.211706C1.105853 -2.600249 1.105853 -3.138232 1.344956 -3.576588C1.613948 -4.034869 2.082192 -4.244085 2.480697 -4.244085C2.919054 -4.244085 3.347447 -4.024907 3.606476 -3.596513S3.865504 -2.590286 3.865504 -2.211706C3.865504 -1.853051 3.865504 -1.315068 3.646326 -0.876712C3.427148 -0.428394 2.988792 -0.139477 2.49066 -0.139477Z' id='g2-111'/>
+<path d='M1.713574 -3.745953V-4.403487L0.278954 -4.293898V-3.985056C0.986301 -3.985056 1.05604 -3.92528 1.05604 -3.486924V1.175592C1.05604 1.62391 0.946451 1.62391 0.278954 1.62391V1.932752C0.617684 1.92279 1.135741 1.902864 1.39477 1.902864C1.663761 1.902864 2.171856 1.92279 2.520548 1.932752V1.62391C1.853051 1.62391 1.743462 1.62391 1.743462 1.175592V-0.498132V-0.587796C1.793275 -0.428394 2.211706 0.109589 2.968867 0.109589C4.154421 0.109589 5.190535 -0.86675 5.190535 -2.15193C5.190535 -3.417186 4.224159 -4.403487 3.108344 -4.403487C2.331258 -4.403487 1.912827 -3.965131 1.713574 -3.745953ZM1.743462 -1.135741V-3.35741C2.032379 -3.865504 2.520548 -4.154421 3.028643 -4.154421C3.755915 -4.154421 4.363636 -3.277709 4.363636 -2.15193C4.363636 -0.946451 3.666252 -0.109589 2.929016 -0.109589C2.530511 -0.109589 2.15193 -0.308842 1.882939 -0.71731C1.743462 -0.926526 1.743462 -0.936488 1.743462 -1.135741Z' id='g2-112'/>
+<path d='M1.663761 -3.307597V-4.403487L0.278954 -4.293898V-3.985056C0.976339 -3.985056 1.05604 -3.915318 1.05604 -3.427148V-0.757161C1.05604 -0.308842 0.946451 -0.308842 0.278954 -0.308842V0C0.667497 -0.009963 1.135741 -0.029888 1.414695 -0.029888C1.8132 -0.029888 2.281445 -0.029888 2.67995 0V-0.308842H2.470735C1.733499 -0.308842 1.713574 -0.418431 1.713574 -0.777086V-2.311333C1.713574 -3.297634 2.132005 -4.184309 2.889166 -4.184309C2.958904 -4.184309 2.978829 -4.184309 2.998755 -4.174346C2.968867 -4.164384 2.769614 -4.044832 2.769614 -3.785803C2.769614 -3.506849 2.978829 -3.35741 3.198007 -3.35741C3.377335 -3.35741 3.626401 -3.476961 3.626401 -3.795766S3.317559 -4.403487 2.889166 -4.403487C2.161893 -4.403487 1.803238 -3.73599 1.663761 -3.307597Z' id='g2-114'/>
+<path d='M2.072229 -1.932752C2.291407 -1.892902 3.108344 -1.733499 3.108344 -1.016189C3.108344 -0.508095 2.759651 -0.109589 1.982565 -0.109589C1.145704 -0.109589 0.787049 -0.67746 0.597758 -1.524284C0.56787 -1.653798 0.557908 -1.693649 0.458281 -1.693649C0.328767 -1.693649 0.328767 -1.62391 0.328767 -1.444583V-0.129514C0.328767 0.039851 0.328767 0.109589 0.438356 0.109589C0.488169 0.109589 0.498132 0.099626 0.687422 -0.089664C0.707347 -0.109589 0.707347 -0.129514 0.886675 -0.318804C1.325031 0.099626 1.77335 0.109589 1.982565 0.109589C3.128269 0.109589 3.58655 -0.557908 3.58655 -1.275218C3.58655 -1.803238 3.287671 -2.102117 3.16812 -2.221669C2.839352 -2.540473 2.450809 -2.620174 2.032379 -2.699875C1.474471 -2.809465 0.806974 -2.938979 0.806974 -3.516812C0.806974 -3.865504 1.066002 -4.273973 1.92279 -4.273973C3.01868 -4.273973 3.068493 -3.377335 3.088418 -3.068493C3.098381 -2.978829 3.188045 -2.978829 3.20797 -2.978829C3.337484 -2.978829 3.337484 -3.028643 3.337484 -3.217933V-4.224159C3.337484 -4.393524 3.337484 -4.463263 3.227895 -4.463263C3.178082 -4.463263 3.158157 -4.463263 3.028643 -4.343711C2.998755 -4.303861 2.899128 -4.214197 2.859278 -4.184309C2.480697 -4.463263 2.072229 -4.463263 1.92279 -4.463263C0.707347 -4.463263 0.328767 -3.795766 0.328767 -3.237858C0.328767 -2.889166 0.488169 -2.610212 0.757161 -2.391034C1.075965 -2.132005 1.354919 -2.072229 2.072229 -1.932752Z' id='g2-115'/>
+<path d='M3.895392 -0.787049V0.109589L5.330012 0V-0.308842C4.632628 -0.308842 4.552927 -0.37858 4.552927 -0.86675V-4.403487L3.088418 -4.293898V-3.985056C3.785803 -3.985056 3.865504 -3.915318 3.865504 -3.427148V-1.653798C3.865504 -0.787049 3.387298 -0.109589 2.660025 -0.109589C1.823163 -0.109589 1.783313 -0.577833 1.783313 -1.09589V-4.403487L0.318804 -4.293898V-3.985056C1.09589 -3.985056 1.09589 -3.955168 1.09589 -3.068493V-1.574097C1.09589 -0.797011 1.09589 0.109589 2.610212 0.109589C3.16812 0.109589 3.606476 -0.169365 3.895392 -0.787049Z' id='g2-117'/>
+<path d='M2.859278 -2.34122C3.158157 -2.719801 3.536737 -3.20797 3.775841 -3.466999C4.084682 -3.825654 4.493151 -3.975093 4.961395 -3.985056V-4.293898C4.702366 -4.273973 4.403487 -4.26401 4.144458 -4.26401C3.845579 -4.26401 3.317559 -4.283935 3.188045 -4.293898V-3.985056C3.39726 -3.965131 3.476961 -3.835616 3.476961 -3.676214S3.377335 -3.387298 3.327522 -3.327522L2.709838 -2.550436L1.932752 -3.556663C1.843088 -3.656289 1.843088 -3.676214 1.843088 -3.73599C1.843088 -3.88543 1.992528 -3.975093 2.191781 -3.985056V-4.293898C1.932752 -4.283935 1.275218 -4.26401 1.115816 -4.26401C0.9066 -4.26401 0.438356 -4.273973 0.169365 -4.293898V-3.985056C0.86675 -3.985056 0.876712 -3.975093 1.344956 -3.377335L2.331258 -2.092154L1.39477 -0.9066C0.916563 -0.328767 0.328767 -0.308842 0.119552 -0.308842V0C0.37858 -0.019925 0.687422 -0.029888 0.946451 -0.029888C1.235367 -0.029888 1.653798 -0.009963 1.892902 0V-0.308842C1.673724 -0.33873 1.603985 -0.468244 1.603985 -0.617684C1.603985 -0.836862 1.892902 -1.165629 2.500623 -1.882939L3.257783 -0.886675C3.337484 -0.777086 3.466999 -0.617684 3.466999 -0.557908C3.466999 -0.468244 3.377335 -0.318804 3.108344 -0.308842V0C3.407223 -0.009963 3.965131 -0.029888 4.184309 -0.029888C4.4533 -0.029888 4.841843 -0.019925 5.140722 0V-0.308842C4.60274 -0.308842 4.423412 -0.328767 4.194271 -0.617684L2.859278 -2.34122Z' id='g2-120'/>
+<path d='M2.6401 -3.716065H3.765878C3.437111 -2.241594 3.347447 -1.8132 3.347447 -1.145704C3.347447 -0.996264 3.347447 -0.727273 3.427148 -0.388543C3.526775 0.049813 3.636364 0.109589 3.785803 0.109589C3.985056 0.109589 4.194271 -0.069738 4.194271 -0.268991C4.194271 -0.328767 4.194271 -0.348692 4.134496 -0.488169C3.845579 -1.205479 3.845579 -1.853051 3.845579 -2.132005C3.845579 -2.660025 3.915318 -3.198007 4.024907 -3.716065H5.160648C5.290162 -3.716065 5.648817 -3.716065 5.648817 -4.054795C5.648817 -4.293898 5.439601 -4.293898 5.250311 -4.293898H1.912827C1.693649 -4.293898 1.315068 -4.293898 0.876712 -3.825654C0.52802 -3.437111 0.268991 -2.978829 0.268991 -2.929016C0.268991 -2.919054 0.268991 -2.82939 0.388543 -2.82939C0.468244 -2.82939 0.488169 -2.86924 0.547945 -2.948941C1.036115 -3.716065 1.613948 -3.716065 1.8132 -3.716065H2.381071C2.062267 -2.510585 1.524284 -1.305106 1.105853 -0.398506C1.026152 -0.249066 1.026152 -0.229141 1.026152 -0.159402C1.026152 0.029888 1.185554 0.109589 1.315068 0.109589C1.613948 0.109589 1.693649 -0.169365 1.8132 -0.537983C1.952677 -0.996264 1.952677 -1.016189 2.082192 -1.514321L2.6401 -3.716065Z' id='g0-25'/>
+</defs>
+<g id='page1' transform='matrix(1.4 0 0 1.4 0 0)'>
+<use x='82.689913' xlink:href='#g2-80' y='61.170574'/>
+<use x='89.47006' xlink:href='#g2-105' y='61.170574'/>
+<use x='95.558343' xlink:href='#g2-101' y='61.170574'/>
+<use x='99.986195' xlink:href='#g2-120' y='61.170574'/>
+<use x='105.244282' xlink:href='#g2-112' y='61.170574'/>
+<use x='110.779099' xlink:href='#g2-114' y='61.170574'/>
+<use x='114.68115' xlink:href='#g2-101' y='61.170574'/>
+<use x='119.109001' xlink:href='#g2-115' y='61.170574'/>
+<use x='123.038719' xlink:href='#g2-115' y='61.170574'/>
+<use x='126.968437' xlink:href='#g2-105' y='61.170574'/>
+<use x='129.735845' xlink:href='#g2-111' y='61.170574'/>
+<use x='134.717185' xlink:href='#g2-110' y='61.170574'/>
+<use x='163.830247' xlink:href='#g2-86' y='61.170574'/>
+<use x='170.472016' xlink:href='#g2-97' y='61.170574'/>
+<use x='175.453355' xlink:href='#g2-108' y='61.170574'/>
+<use x='178.220764' xlink:href='#g2-117' y='61.170574'/>
+<use x='183.755581' xlink:href='#g2-101' y='61.170574'/>
+<rect height='0.3985' width='129.071813' x='76.712329' y='64.757161'/>
+<use x='108.452723' xlink:href='#g0-25' y='73.524241'/>
+<use x='172.132457' xlink:href='#g2-51' y='73.524241'/>
+<use x='177.113796' xlink:href='#g2-46' y='73.524241'/>
+<use x='179.881216' xlink:href='#g2-49' y='73.524241'/>
+<use x='184.862555' xlink:href='#g2-52' y='73.524241'/>
+<use x='189.843894' xlink:href='#g2-49' y='73.524241'/>
+<use x='194.825233' xlink:href='#g2-54' y='73.524241'/>
+<use x='105.749116' xlink:href='#g0-25' y='85.479409'/>
+<use x='111.785533' xlink:href='#g1-25' y='81.864046'/>
+<use x='167.151122' xlink:href='#g2-51' y='85.479409'/>
+<use x='172.132461' xlink:href='#g2-54' y='85.479409'/>
+<use x='177.1138' xlink:href='#g2-46' y='85.479409'/>
+<use x='179.881216' xlink:href='#g2-52' y='85.479409'/>
+<use x='184.862555' xlink:href='#g2-54' y='85.479409'/>
+<use x='99.171153' xlink:href='#g2-40' y='97.434578'/>
+<use x='103.045527' xlink:href='#g0-25' y='97.434578'/>
+<use x='109.081944' xlink:href='#g1-25' y='93.819214'/>
+<use x='114.489142' xlink:href='#g2-41' y='97.434578'/>
+<use x='118.363516' xlink:href='#g1-25' y='93.819214'/>
+<use x='152.207116' xlink:href='#g2-56' y='97.434578'/>
+<use x='157.188455' xlink:href='#g2-48' y='97.434578'/>
+<use x='162.169794' xlink:href='#g2-54' y='97.434578'/>
+<use x='167.151134' xlink:href='#g2-54' y='97.434578'/>
+<use x='172.132473' xlink:href='#g2-50' y='97.434578'/>
+<use x='177.113812' xlink:href='#g2-46' y='97.434578'/>
+<use x='179.881216' xlink:href='#g2-55' y='97.434578'/>
+</g>
+</svg> \ No newline at end of file
diff --git a/latex1.svg b/latex1.svg
new file mode 100644
index 0000000..151b747
--- /dev/null
+++ b/latex1.svg
@@ -0,0 +1,61 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- This file was generated by dvisvgm 2.6.1 -->
+<svg height='32.950836pt' version='1.1' viewBox='222.057066 89.265255 208.359125 32.950836' width='208.359125pt' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>
+<defs>
+<path d='M6.56538 -2.291407C6.734745 -2.291407 6.914072 -2.291407 6.914072 -2.49066S6.734745 -2.689913 6.56538 -2.689913H1.175592C1.006227 -2.689913 0.826899 -2.689913 0.826899 -2.49066S1.006227 -2.291407 1.175592 -2.291407H6.56538Z' id='g0-0'/>
+<path d='M3.297634 2.391034C3.297634 2.361146 3.297634 2.34122 3.128269 2.171856C1.882939 0.916563 1.564134 -0.966376 1.564134 -2.49066C1.564134 -4.224159 1.942715 -5.957659 3.16812 -7.202989C3.297634 -7.32254 3.297634 -7.342466 3.297634 -7.372354C3.297634 -7.442092 3.257783 -7.47198 3.198007 -7.47198C3.098381 -7.47198 2.201743 -6.794521 1.613948 -5.529265C1.105853 -4.433375 0.986301 -3.327522 0.986301 -2.49066C0.986301 -1.713574 1.09589 -0.508095 1.643836 0.617684C2.241594 1.843088 3.098381 2.49066 3.198007 2.49066C3.257783 2.49066 3.297634 2.460772 3.297634 2.391034Z' id='g3-40'/>
+<path d='M2.879203 -2.49066C2.879203 -3.267746 2.769614 -4.473225 2.221669 -5.599004C1.62391 -6.824408 0.767123 -7.47198 0.667497 -7.47198C0.607721 -7.47198 0.56787 -7.43213 0.56787 -7.372354C0.56787 -7.342466 0.56787 -7.32254 0.757161 -7.143213C1.733499 -6.156912 2.30137 -4.572852 2.30137 -2.49066C2.30137 -0.787049 1.932752 0.966376 0.697385 2.221669C0.56787 2.34122 0.56787 2.361146 0.56787 2.391034C0.56787 2.450809 0.607721 2.49066 0.667497 2.49066C0.767123 2.49066 1.663761 1.8132 2.251557 0.547945C2.759651 -0.547945 2.879203 -1.653798 2.879203 -2.49066Z' id='g3-41'/>
+<path d='M4.07472 -2.291407H6.854296C6.993773 -2.291407 7.183064 -2.291407 7.183064 -2.49066S6.993773 -2.689913 6.854296 -2.689913H4.07472V-5.479452C4.07472 -5.618929 4.07472 -5.808219 3.875467 -5.808219S3.676214 -5.618929 3.676214 -5.479452V-2.689913H0.886675C0.747198 -2.689913 0.557908 -2.689913 0.557908 -2.49066S0.747198 -2.291407 0.886675 -2.291407H3.676214V0.498132C3.676214 0.637609 3.676214 0.826899 3.875467 0.826899S4.07472 0.637609 4.07472 0.498132V-2.291407Z' id='g3-43'/>
+<path d='M6.844334 -3.257783C6.993773 -3.257783 7.183064 -3.257783 7.183064 -3.457036S6.993773 -3.656289 6.854296 -3.656289H0.886675C0.747198 -3.656289 0.557908 -3.656289 0.557908 -3.457036S0.747198 -3.257783 0.896638 -3.257783H6.844334ZM6.854296 -1.325031C6.993773 -1.325031 7.183064 -1.325031 7.183064 -1.524284S6.993773 -1.723537 6.844334 -1.723537H0.896638C0.747198 -1.723537 0.557908 -1.723537 0.557908 -1.524284S0.747198 -1.325031 0.886675 -1.325031H6.854296Z' id='g3-61'/>
+<path d='M1.165629 -2.171856C1.165629 -3.795766 1.982565 -4.214197 2.510585 -4.214197C2.600249 -4.214197 3.227895 -4.204234 3.576588 -3.845579C3.16812 -3.815691 3.108344 -3.516812 3.108344 -3.387298C3.108344 -3.128269 3.287671 -2.929016 3.566625 -2.929016C3.825654 -2.929016 4.024907 -3.098381 4.024907 -3.39726C4.024907 -4.07472 3.267746 -4.463263 2.500623 -4.463263C1.255293 -4.463263 0.33873 -3.387298 0.33873 -2.15193C0.33873 -0.876712 1.325031 0.109589 2.480697 0.109589C3.815691 0.109589 4.134496 -1.085928 4.134496 -1.185554S4.034869 -1.285181 4.004981 -1.285181C3.915318 -1.285181 3.895392 -1.24533 3.875467 -1.185554C3.58655 -0.259029 2.938979 -0.139477 2.570361 -0.139477C2.042341 -0.139477 1.165629 -0.56787 1.165629 -2.171856Z' id='g3-99'/>
+<path d='M4.692403 -2.132005C4.692403 -3.407223 3.696139 -4.463263 2.49066 -4.463263C1.24533 -4.463263 0.278954 -3.377335 0.278954 -2.132005C0.278954 -0.846824 1.315068 0.109589 2.480697 0.109589C3.686177 0.109589 4.692403 -0.86675 4.692403 -2.132005ZM2.49066 -0.139477C2.062267 -0.139477 1.62391 -0.348692 1.354919 -0.806974C1.105853 -1.24533 1.105853 -1.853051 1.105853 -2.211706C1.105853 -2.600249 1.105853 -3.138232 1.344956 -3.576588C1.613948 -4.034869 2.082192 -4.244085 2.480697 -4.244085C2.919054 -4.244085 3.347447 -4.024907 3.606476 -3.596513S3.865504 -2.590286 3.865504 -2.211706C3.865504 -1.853051 3.865504 -1.315068 3.646326 -0.876712C3.427148 -0.428394 2.988792 -0.139477 2.49066 -0.139477Z' id='g3-111'/>
+<path d='M2.072229 -1.932752C2.291407 -1.892902 3.108344 -1.733499 3.108344 -1.016189C3.108344 -0.508095 2.759651 -0.109589 1.982565 -0.109589C1.145704 -0.109589 0.787049 -0.67746 0.597758 -1.524284C0.56787 -1.653798 0.557908 -1.693649 0.458281 -1.693649C0.328767 -1.693649 0.328767 -1.62391 0.328767 -1.444583V-0.129514C0.328767 0.039851 0.328767 0.109589 0.438356 0.109589C0.488169 0.109589 0.498132 0.099626 0.687422 -0.089664C0.707347 -0.109589 0.707347 -0.129514 0.886675 -0.318804C1.325031 0.099626 1.77335 0.109589 1.982565 0.109589C3.128269 0.109589 3.58655 -0.557908 3.58655 -1.275218C3.58655 -1.803238 3.287671 -2.102117 3.16812 -2.221669C2.839352 -2.540473 2.450809 -2.620174 2.032379 -2.699875C1.474471 -2.809465 0.806974 -2.938979 0.806974 -3.516812C0.806974 -3.865504 1.066002 -4.273973 1.92279 -4.273973C3.01868 -4.273973 3.068493 -3.377335 3.088418 -3.068493C3.098381 -2.978829 3.188045 -2.978829 3.20797 -2.978829C3.337484 -2.978829 3.337484 -3.028643 3.337484 -3.217933V-4.224159C3.337484 -4.393524 3.337484 -4.463263 3.227895 -4.463263C3.178082 -4.463263 3.158157 -4.463263 3.028643 -4.343711C2.998755 -4.303861 2.899128 -4.214197 2.859278 -4.184309C2.480697 -4.463263 2.072229 -4.463263 1.92279 -4.463263C0.707347 -4.463263 0.328767 -3.795766 0.328767 -3.237858C0.328767 -2.889166 0.488169 -2.610212 0.757161 -2.391034C1.075965 -2.132005 1.354919 -2.072229 2.072229 -1.932752Z' id='g3-115'/>
+<path d='M4.533001 -4.98132C4.533001 -5.638854 4.353674 -7.023661 3.337484 -7.023661C1.952677 -7.023661 0.418431 -4.214197 0.418431 -1.932752C0.418431 -0.996264 0.707347 0.109589 1.613948 0.109589C3.01868 0.109589 4.533001 -2.749689 4.533001 -4.98132ZM1.474471 -3.616438C1.643836 -4.254047 1.843088 -5.051059 2.241594 -5.758406C2.510585 -6.246575 2.879203 -6.804483 3.327522 -6.804483C3.815691 -6.804483 3.875467 -6.166874 3.875467 -5.599004C3.875467 -5.110834 3.795766 -4.60274 3.556663 -3.616438H1.474471ZM3.466999 -3.297634C3.35741 -2.839352 3.148194 -1.992528 2.769614 -1.275218C2.420922 -0.597758 2.042341 -0.109589 1.613948 -0.109589C1.285181 -0.109589 1.075965 -0.398506 1.075965 -1.325031C1.075965 -1.743462 1.135741 -2.321295 1.39477 -3.297634H3.466999Z' id='g1-18'/>
+<path d='M7.571606 -6.924035C7.571606 -6.953923 7.551681 -7.023661 7.462017 -7.023661C7.43213 -7.023661 7.422167 -7.013699 7.312578 -6.90411L6.615193 -6.136986C6.525529 -6.276463 6.067248 -7.023661 4.961395 -7.023661C2.739726 -7.023661 0.498132 -4.821918 0.498132 -2.510585C0.498132 -0.86675 1.673724 0.219178 3.198007 0.219178C4.064757 0.219178 4.821918 -0.179328 5.349938 -0.637609C6.276463 -1.454545 6.445828 -2.361146 6.445828 -2.391034C6.445828 -2.49066 6.346202 -2.49066 6.326276 -2.49066C6.266501 -2.49066 6.216687 -2.470735 6.196762 -2.391034C6.107098 -2.102117 5.877958 -1.39477 5.190535 -0.816936C4.503113 -0.259029 3.875467 -0.089664 3.35741 -0.089664C2.460772 -0.089664 1.404732 -0.607721 1.404732 -2.161893C1.404732 -2.729763 1.613948 -4.343711 2.610212 -5.50934C3.217933 -6.216687 4.154421 -6.714819 5.041096 -6.714819C6.057285 -6.714819 6.645081 -5.947696 6.645081 -4.79203C6.645081 -4.393524 6.615193 -4.383562 6.615193 -4.283935S6.724782 -4.184309 6.764633 -4.184309C6.894147 -4.184309 6.894147 -4.204234 6.94396 -4.383562L7.571606 -6.924035Z' id='g1-67'/>
+<path d='M6.256538 -5.668742C6.744707 -6.445828 7.163138 -6.475716 7.531756 -6.495641C7.651308 -6.505604 7.66127 -6.674969 7.66127 -6.684932C7.66127 -6.764633 7.611457 -6.804483 7.531756 -6.804483C7.272727 -6.804483 6.983811 -6.774595 6.714819 -6.774595C6.386052 -6.774595 6.047323 -6.804483 5.728518 -6.804483C5.668742 -6.804483 5.539228 -6.804483 5.539228 -6.615193C5.539228 -6.505604 5.628892 -6.495641 5.69863 -6.495641C5.967621 -6.475716 6.156912 -6.37609 6.156912 -6.166874C6.156912 -6.017435 6.007472 -5.798257 6.007472 -5.788294L2.948941 -0.926526L2.271482 -6.196762C2.271482 -6.366127 2.500623 -6.495641 2.958904 -6.495641C3.098381 -6.495641 3.20797 -6.495641 3.20797 -6.694894C3.20797 -6.784558 3.128269 -6.804483 3.068493 -6.804483C2.669988 -6.804483 2.241594 -6.774595 1.833126 -6.774595C1.653798 -6.774595 1.464508 -6.784558 1.285181 -6.784558S0.916563 -6.804483 0.747198 -6.804483C0.67746 -6.804483 0.557908 -6.804483 0.557908 -6.615193C0.557908 -6.495641 0.647572 -6.495641 0.806974 -6.495641C1.364882 -6.495641 1.374844 -6.405978 1.404732 -6.156912L2.191781 -0.009963C2.221669 0.18929 2.261519 0.219178 2.391034 0.219178C2.550436 0.219178 2.590286 0.169365 2.669988 0.039851L6.256538 -5.668742Z' id='g1-86'/>
+<path d='M3.598506 -2.224658C3.598506 -2.991781 3.507846 -3.542715 3.187049 -4.030884C2.970859 -4.351681 2.538481 -4.630635 1.980573 -4.630635C0.36264 -4.630635 0.36264 -2.726775 0.36264 -2.224658S0.36264 0.139477 1.980573 0.139477S3.598506 -1.72254 3.598506 -2.224658ZM1.980573 -0.055791C1.659776 -0.055791 1.234371 -0.244085 1.094894 -0.81594C0.99726 -1.227397 0.99726 -1.799253 0.99726 -2.315318C0.99726 -2.824408 0.99726 -3.354421 1.101868 -3.737983C1.248319 -4.288917 1.694645 -4.435367 1.980573 -4.435367C2.357161 -4.435367 2.719801 -4.20523 2.84533 -3.800747C2.956912 -3.424159 2.963885 -2.922042 2.963885 -2.315318C2.963885 -1.799253 2.963885 -1.283188 2.873225 -0.843836C2.733748 -0.209215 2.259527 -0.055791 1.980573 -0.055791Z' id='g4-48'/>
+<path d='M2.336239 -4.435367C2.336239 -4.623661 2.322291 -4.630635 2.127024 -4.630635C1.680697 -4.191283 1.046077 -4.184309 0.760149 -4.184309V-3.93325C0.927522 -3.93325 1.387796 -3.93325 1.771357 -4.128518V-0.571856C1.771357 -0.341719 1.771357 -0.251059 1.073973 -0.251059H0.808966V0C0.934496 -0.006974 1.792279 -0.027895 2.050311 -0.027895C2.266501 -0.027895 3.145205 -0.006974 3.29863 0V-0.251059H3.033624C2.336239 -0.251059 2.336239 -0.341719 2.336239 -0.571856V-4.435367Z' id='g4-49'/>
+<path d='M3.521793 -1.26924H3.284682C3.263761 -1.115816 3.194022 -0.704359 3.103362 -0.63462C3.047572 -0.592777 2.510585 -0.592777 2.412951 -0.592777H1.129763C1.862017 -1.241345 2.106102 -1.436613 2.524533 -1.764384C3.040598 -2.175841 3.521793 -2.608219 3.521793 -3.270735C3.521793 -4.11457 2.782565 -4.630635 1.889913 -4.630635C1.025156 -4.630635 0.439352 -4.02391 0.439352 -3.382316C0.439352 -3.02665 0.739228 -2.991781 0.808966 -2.991781C0.976339 -2.991781 1.17858 -3.110336 1.17858 -3.361395C1.17858 -3.486924 1.129763 -3.731009 0.767123 -3.731009C0.983313 -4.226152 1.457534 -4.379577 1.785305 -4.379577C2.48269 -4.379577 2.84533 -3.835616 2.84533 -3.270735C2.84533 -2.66401 2.412951 -2.182814 2.189788 -1.931756L0.509091 -0.27198C0.439352 -0.209215 0.439352 -0.195268 0.439352 0H3.312578L3.521793 -1.26924Z' id='g4-50'/>
+<path d='M1.903861 -2.329265C2.447821 -2.329265 2.838356 -1.952677 2.838356 -1.206476C2.838356 -0.341719 2.336239 -0.083686 1.931756 -0.083686C1.652802 -0.083686 1.039103 -0.160399 0.746202 -0.571856C1.073973 -0.585803 1.150685 -0.81594 1.150685 -0.962391C1.150685 -1.185554 0.983313 -1.345953 0.767123 -1.345953C0.571856 -1.345953 0.376588 -1.227397 0.376588 -0.941469C0.376588 -0.285928 1.101868 0.139477 1.945704 0.139477C2.915068 0.139477 3.584558 -0.509091 3.584558 -1.206476C3.584558 -1.750436 3.138232 -2.294396 2.371108 -2.454795C3.103362 -2.719801 3.368369 -3.242839 3.368369 -3.668244C3.368369 -4.219178 2.733748 -4.630635 1.959651 -4.630635S0.592777 -4.254047 0.592777 -3.696139C0.592777 -3.459029 0.746202 -3.326526 0.955417 -3.326526C1.171606 -3.326526 1.311083 -3.486924 1.311083 -3.682192C1.311083 -3.884433 1.171606 -4.030884 0.955417 -4.044832C1.199502 -4.351681 1.680697 -4.428394 1.93873 -4.428394C2.252553 -4.428394 2.691905 -4.274969 2.691905 -3.668244C2.691905 -3.375342 2.594271 -3.054545 2.412951 -2.838356C2.182814 -2.57335 1.987547 -2.559402 1.638854 -2.538481C1.464508 -2.524533 1.45056 -2.524533 1.415691 -2.517559C1.401743 -2.517559 1.345953 -2.503611 1.345953 -2.426899C1.345953 -2.329265 1.408717 -2.329265 1.527273 -2.329265H1.903861Z' id='g4-51'/>
+<path d='M3.689166 -1.143711V-1.39477H2.915068V-4.505106C2.915068 -4.651557 2.915068 -4.700374 2.761644 -4.700374C2.677958 -4.700374 2.650062 -4.700374 2.580324 -4.60274L0.27198 -1.39477V-1.143711H2.322291V-0.571856C2.322291 -0.334745 2.322291 -0.251059 1.75741 -0.251059H1.569116V0C1.917808 -0.013948 2.364134 -0.027895 2.615193 -0.027895C2.873225 -0.027895 3.319552 -0.013948 3.668244 0V-0.251059H3.47995C2.915068 -0.251059 2.915068 -0.334745 2.915068 -0.571856V-1.143711H3.689166ZM2.371108 -3.947198V-1.39477H0.530012L2.371108 -3.947198Z' id='g4-52'/>
+<path d='M2.259527 -4.358655C2.259527 -4.470237 2.175841 -4.623661 1.980573 -4.623661C1.792279 -4.623661 1.590037 -4.442341 1.590037 -4.2401C1.590037 -4.121544 1.680697 -3.975093 1.868991 -3.975093C2.071233 -3.975093 2.259527 -4.170361 2.259527 -4.358655ZM0.836862 -0.81594C0.808966 -0.72528 0.774097 -0.641594 0.774097 -0.523039C0.774097 -0.195268 1.053051 0.069738 1.436613 0.069738C2.133998 0.069738 2.440847 -0.892653 2.440847 -0.99726C2.440847 -1.08792 2.350187 -1.08792 2.329265 -1.08792C2.231631 -1.08792 2.224658 -1.046077 2.196762 -0.969365C2.036364 -0.411457 1.729514 -0.125529 1.457534 -0.125529C1.318057 -0.125529 1.283188 -0.216189 1.283188 -0.369614C1.283188 -0.530012 1.332005 -0.662516 1.39477 -0.81594C1.464508 -1.004234 1.54122 -1.192528 1.617933 -1.373848C1.680697 -1.54122 1.931756 -2.175841 1.959651 -2.259527C1.980573 -2.329265 2.001494 -2.412951 2.001494 -2.48269C2.001494 -2.810461 1.72254 -3.075467 1.338979 -3.075467C0.648568 -3.075467 0.327771 -2.127024 0.327771 -2.008468C0.327771 -1.917808 0.425405 -1.917808 0.446326 -1.917808C0.54396 -1.917808 0.550934 -1.952677 0.571856 -2.02939C0.753176 -2.629141 1.060025 -2.880199 1.318057 -2.880199C1.429639 -2.880199 1.492403 -2.824408 1.492403 -2.636115C1.492403 -2.475716 1.45056 -2.371108 1.276214 -1.93873L0.836862 -0.81594Z' id='g2-105'/>
+</defs>
+<g id='page1' transform='matrix(1.4 0 0 1.4 0 0)'>
+<use x='158.61219' xlink:href='#g1-86' y='77.972678'/>
+<use x='164.423736' xlink:href='#g2-105' y='79.467059'/>
+<use x='170.507915' xlink:href='#g3-61' y='77.972678'/>
+<use x='181.023995' xlink:href='#g1-67' y='77.972678'/>
+<use x='188.14451' xlink:href='#g4-48' y='79.467059'/>
+<use x='194.827746' xlink:href='#g0-0' y='77.972678'/>
+<use x='204.790359' xlink:href='#g1-67' y='77.972678'/>
+<use x='211.910874' xlink:href='#g4-51' y='79.467059'/>
+<use x='229.458945' xlink:href='#g1-67' y='71.232877'/>
+<use x='236.57946' xlink:href='#g4-49' y='72.727258'/>
+<use x='242.709229' xlink:href='#g3-99' y='71.232877'/>
+<use x='247.137081' xlink:href='#g3-111' y='71.232877'/>
+<use x='252.11842' xlink:href='#g3-115' y='71.232877'/>
+<use x='256.048109' xlink:href='#g3-40' y='71.232877'/>
+<use x='259.922483' xlink:href='#g1-18' y='71.232877'/>
+<use x='264.599387' xlink:href='#g2-105' y='72.727258'/>
+<use x='270.1301' xlink:href='#g3-43' y='71.232877'/>
+<use x='280.092713' xlink:href='#g1-67' y='71.232877'/>
+<use x='287.213228' xlink:href='#g4-51' y='72.727258'/>
+<use x='291.682598' xlink:href='#g3-41' y='71.232877'/>
+<rect height='0.398484' width='89.864379' x='217.575757' y='75.282768'/>
+<use x='217.575757' xlink:href='#g1-67' y='84.806548'/>
+<use x='224.696272' xlink:href='#g4-52' y='86.300929'/>
+<use x='231.379508' xlink:href='#g3-43' y='84.806548'/>
+<use x='241.342121' xlink:href='#g1-67' y='84.806548'/>
+<use x='248.462636' xlink:href='#g4-49' y='86.300929'/>
+<use x='254.592405' xlink:href='#g3-99' y='84.806548'/>
+<use x='259.020257' xlink:href='#g3-111' y='84.806548'/>
+<use x='264.001596' xlink:href='#g3-115' y='84.806548'/>
+<use x='267.931285' xlink:href='#g3-40' y='84.806548'/>
+<use x='271.805659' xlink:href='#g1-18' y='84.806548'/>
+<use x='276.482563' xlink:href='#g2-105' y='86.300929'/>
+<use x='282.013276' xlink:href='#g3-43' y='84.806548'/>
+<use x='291.975889' xlink:href='#g1-67' y='84.806548'/>
+<use x='299.096404' xlink:href='#g4-50' y='86.300929'/>
+<use x='303.565774' xlink:href='#g3-41' y='84.806548'/>
+</g>
+</svg> \ No newline at end of file
diff --git a/latex2.png b/latex2.png
new file mode 100644
index 0000000..8bbf34e
--- /dev/null
+++ b/latex2.png
Binary files differ
diff --git a/latex3.svg b/latex3.svg
new file mode 100644
index 0000000..66d51ac
--- /dev/null
+++ b/latex3.svg
@@ -0,0 +1,158 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- This file was generated by dvisvgm 2.6.1 -->
+<svg height='238.524584pt' version='1.1' viewBox='223.34936 89.118027 342.928663 238.524584' width='342.928663pt' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>
+<defs>
+<path d='M7.120299 -4.198257C7.183064 -4.456289 7.197011 -4.51208 7.713076 -4.51208C7.859527 -4.51208 7.950187 -4.51208 7.950187 -4.658531C7.950187 -4.763138 7.866501 -4.763138 7.740971 -4.763138H6.792528C6.590286 -4.763138 6.583313 -4.756164 6.492653 -4.623661L3.800747 -0.648568L3.110336 -4.574844C3.075467 -4.756164 3.075467 -4.763138 2.866252 -4.763138H1.868991C1.729514 -4.763138 1.638854 -4.763138 1.638854 -4.609714C1.638854 -4.51208 1.72254 -4.51208 1.875965 -4.51208C1.987547 -4.51208 2.015442 -4.51208 2.140971 -4.498132C2.280448 -4.484184 2.294396 -4.470237 2.294396 -4.400498C2.294396 -4.393524 2.294396 -4.351681 2.266501 -4.247073L1.387796 -0.746202C1.325031 -0.509091 1.220423 -0.27198 0.662516 -0.251059C0.606725 -0.251059 0.516065 -0.244085 0.516065 -0.097634C0.516065 -0.09066 0.523039 0 0.620672 0C0.829888 0 1.12279 -0.027895 1.345953 -0.027895C1.513325 -0.027895 1.917808 0 2.085181 0C2.12005 0 2.224658 0 2.224658 -0.153425C2.224658 -0.244085 2.133998 -0.251059 2.071233 -0.251059C1.624907 -0.265006 1.624907 -0.446326 1.624907 -0.54396C1.624907 -0.571856 1.624907 -0.606725 1.652802 -0.718306L2.580324 -4.428394H2.587298L3.333499 -0.188294C3.354421 -0.062765 3.368369 0 3.472976 0C3.57061 0 3.626401 -0.076712 3.675218 -0.153425L6.604234 -4.498132L6.611208 -4.491158L5.627895 -0.54396C5.572105 -0.306849 5.558157 -0.251059 5.014197 -0.251059C4.888667 -0.251059 4.804981 -0.251059 4.804981 -0.097634C4.804981 -0.09066 4.804981 0 4.916563 0C5.049066 0 5.209465 -0.020922 5.348941 -0.020922S5.648817 -0.027895 5.788294 -0.027895C5.983562 -0.027895 6.478705 0 6.673973 0C6.715816 0 6.820423 0 6.820423 -0.153425C6.820423 -0.251059 6.736737 -0.251059 6.59726 -0.251059C6.590286 -0.251059 6.457783 -0.251059 6.332254 -0.265006C6.171856 -0.278954 6.171856 -0.299875 6.171856 -0.369614C6.171856 -0.411457 6.192777 -0.481196 6.199751 -0.523039L7.120299 -4.198257Z' id='g2-77'/>
+<path d='M3.521793 -1.26924H3.284682C3.263761 -1.115816 3.194022 -0.704359 3.103362 -0.63462C3.047572 -0.592777 2.510585 -0.592777 2.412951 -0.592777H1.129763C1.862017 -1.241345 2.106102 -1.436613 2.524533 -1.764384C3.040598 -2.175841 3.521793 -2.608219 3.521793 -3.270735C3.521793 -4.11457 2.782565 -4.630635 1.889913 -4.630635C1.025156 -4.630635 0.439352 -4.02391 0.439352 -3.382316C0.439352 -3.02665 0.739228 -2.991781 0.808966 -2.991781C0.976339 -2.991781 1.17858 -3.110336 1.17858 -3.361395C1.17858 -3.486924 1.129763 -3.731009 0.767123 -3.731009C0.983313 -4.226152 1.457534 -4.379577 1.785305 -4.379577C2.48269 -4.379577 2.84533 -3.835616 2.84533 -3.270735C2.84533 -2.66401 2.412951 -2.182814 2.189788 -1.931756L0.509091 -0.27198C0.439352 -0.209215 0.439352 -0.195268 0.439352 0H3.312578L3.521793 -1.26924Z' id='g4-50'/>
+<path d='M3.686177 -6.924035C3.626401 -7.113325 3.566625 -7.13325 3.457036 -7.13325C3.297634 -7.13325 3.277709 -7.0934 3.227895 -6.924035L1.315068 -0.996264C1.215442 -0.697385 1.016189 -0.308842 0.318804 -0.308842V0C0.647572 -0.019925 1.155666 -0.029888 1.24533 -0.029888C1.534247 -0.029888 2.062267 -0.009963 2.371108 0V-0.308842C1.833126 -0.318804 1.603985 -0.587796 1.603985 -0.826899C1.603985 -0.876712 1.603985 -0.9066 1.653798 -1.046077L3.148194 -5.688667L4.722291 -0.787049C4.772105 -0.647572 4.772105 -0.627646 4.772105 -0.607721C4.772105 -0.308842 4.184309 -0.308842 3.92528 -0.308842V0C4.273973 -0.029888 4.98132 -0.029888 5.3599 -0.029888C5.748443 -0.029888 6.196762 -0.009963 6.585305 0V-0.308842C5.828144 -0.308842 5.798257 -0.368618 5.678705 -0.737235L3.686177 -6.924035Z' id='g3-3'/>
+<path d='M3.297634 2.391034C3.297634 2.361146 3.297634 2.34122 3.128269 2.171856C1.882939 0.916563 1.564134 -0.966376 1.564134 -2.49066C1.564134 -4.224159 1.942715 -5.957659 3.16812 -7.202989C3.297634 -7.32254 3.297634 -7.342466 3.297634 -7.372354C3.297634 -7.442092 3.257783 -7.47198 3.198007 -7.47198C3.098381 -7.47198 2.201743 -6.794521 1.613948 -5.529265C1.105853 -4.433375 0.986301 -3.327522 0.986301 -2.49066C0.986301 -1.713574 1.09589 -0.508095 1.643836 0.617684C2.241594 1.843088 3.098381 2.49066 3.198007 2.49066C3.257783 2.49066 3.297634 2.460772 3.297634 2.391034Z' id='g3-40'/>
+<path d='M2.879203 -2.49066C2.879203 -3.267746 2.769614 -4.473225 2.221669 -5.599004C1.62391 -6.824408 0.767123 -7.47198 0.667497 -7.47198C0.607721 -7.47198 0.56787 -7.43213 0.56787 -7.372354C0.56787 -7.342466 0.56787 -7.32254 0.757161 -7.143213C1.733499 -6.156912 2.30137 -4.572852 2.30137 -2.49066C2.30137 -0.787049 1.932752 0.966376 0.697385 2.221669C0.56787 2.34122 0.56787 2.361146 0.56787 2.391034C0.56787 2.450809 0.607721 2.49066 0.667497 2.49066C0.767123 2.49066 1.663761 1.8132 2.251557 0.547945C2.759651 -0.547945 2.879203 -1.653798 2.879203 -2.49066Z' id='g3-41'/>
+<path d='M4.07472 -2.291407H6.854296C6.993773 -2.291407 7.183064 -2.291407 7.183064 -2.49066S6.993773 -2.689913 6.854296 -2.689913H4.07472V-5.479452C4.07472 -5.618929 4.07472 -5.808219 3.875467 -5.808219S3.676214 -5.618929 3.676214 -5.479452V-2.689913H0.886675C0.747198 -2.689913 0.557908 -2.689913 0.557908 -2.49066S0.747198 -2.291407 0.886675 -2.291407H3.676214V0.498132C3.676214 0.637609 3.676214 0.826899 3.875467 0.826899S4.07472 0.637609 4.07472 0.498132V-2.291407Z' id='g3-43'/>
+<path d='M4.582814 -3.188045C4.582814 -3.985056 4.533001 -4.782067 4.184309 -5.519303C3.726027 -6.475716 2.909091 -6.635118 2.49066 -6.635118C1.892902 -6.635118 1.165629 -6.37609 0.757161 -5.449564C0.438356 -4.762142 0.388543 -3.985056 0.388543 -3.188045C0.388543 -2.440847 0.428394 -1.544209 0.836862 -0.787049C1.265255 0.019925 1.992528 0.219178 2.480697 0.219178C3.01868 0.219178 3.775841 0.009963 4.214197 -0.936488C4.533001 -1.62391 4.582814 -2.400996 4.582814 -3.188045ZM2.480697 0C2.092154 0 1.504359 -0.249066 1.325031 -1.205479C1.215442 -1.803238 1.215442 -2.719801 1.215442 -3.307597C1.215442 -3.945205 1.215442 -4.60274 1.295143 -5.140722C1.484433 -6.326276 2.231631 -6.41594 2.480697 -6.41594C2.809465 -6.41594 3.466999 -6.236613 3.656289 -5.250311C3.755915 -4.692403 3.755915 -3.935243 3.755915 -3.307597C3.755915 -2.560399 3.755915 -1.882939 3.646326 -1.24533C3.496887 -0.298879 2.929016 0 2.480697 0Z' id='g3-48'/>
+<path d='M2.929016 -6.37609C2.929016 -6.615193 2.929016 -6.635118 2.699875 -6.635118C2.082192 -5.997509 1.205479 -5.997509 0.886675 -5.997509V-5.688667C1.085928 -5.688667 1.673724 -5.688667 2.191781 -5.947696V-0.787049C2.191781 -0.428394 2.161893 -0.308842 1.265255 -0.308842H0.946451V0C1.295143 -0.029888 2.161893 -0.029888 2.560399 -0.029888S3.825654 -0.029888 4.174346 0V-0.308842H3.855542C2.958904 -0.308842 2.929016 -0.418431 2.929016 -0.787049V-6.37609Z' id='g3-49'/>
+<path d='M1.265255 -0.767123L2.321295 -1.793275C3.875467 -3.16812 4.473225 -3.706102 4.473225 -4.702366C4.473225 -5.838107 3.576588 -6.635118 2.361146 -6.635118C1.235367 -6.635118 0.498132 -5.718555 0.498132 -4.83188C0.498132 -4.273973 0.996264 -4.273973 1.026152 -4.273973C1.195517 -4.273973 1.544209 -4.393524 1.544209 -4.801993C1.544209 -5.061021 1.364882 -5.32005 1.016189 -5.32005C0.936488 -5.32005 0.916563 -5.32005 0.886675 -5.310087C1.115816 -5.957659 1.653798 -6.326276 2.231631 -6.326276C3.138232 -6.326276 3.566625 -5.519303 3.566625 -4.702366C3.566625 -3.905355 3.068493 -3.118306 2.520548 -2.500623L0.607721 -0.368618C0.498132 -0.259029 0.498132 -0.239103 0.498132 0H4.194271L4.473225 -1.733499H4.224159C4.174346 -1.43462 4.104608 -0.996264 4.004981 -0.846824C3.935243 -0.767123 3.277709 -0.767123 3.058531 -0.767123H1.265255Z' id='g3-50'/>
+<path d='M2.889166 -3.506849C3.706102 -3.775841 4.283935 -4.473225 4.283935 -5.260274C4.283935 -6.07721 3.407223 -6.635118 2.450809 -6.635118C1.444583 -6.635118 0.687422 -6.03736 0.687422 -5.280199C0.687422 -4.951432 0.9066 -4.762142 1.195517 -4.762142C1.504359 -4.762142 1.703611 -4.98132 1.703611 -5.270237C1.703611 -5.768369 1.235367 -5.768369 1.085928 -5.768369C1.39477 -6.256538 2.052304 -6.386052 2.410959 -6.386052C2.819427 -6.386052 3.367372 -6.166874 3.367372 -5.270237C3.367372 -5.150685 3.347447 -4.572852 3.088418 -4.134496C2.789539 -3.656289 2.450809 -3.626401 2.201743 -3.616438C2.122042 -3.606476 1.882939 -3.58655 1.8132 -3.58655C1.733499 -3.576588 1.663761 -3.566625 1.663761 -3.466999C1.663761 -3.35741 1.733499 -3.35741 1.902864 -3.35741H2.34122C3.158157 -3.35741 3.526775 -2.67995 3.526775 -1.703611C3.526775 -0.348692 2.839352 -0.059776 2.400996 -0.059776C1.972603 -0.059776 1.225405 -0.229141 0.876712 -0.816936C1.225405 -0.767123 1.534247 -0.986301 1.534247 -1.364882C1.534247 -1.723537 1.265255 -1.92279 0.976339 -1.92279C0.737235 -1.92279 0.418431 -1.783313 0.418431 -1.344956C0.418431 -0.438356 1.344956 0.219178 2.430884 0.219178C3.646326 0.219178 4.552927 -0.687422 4.552927 -1.703611C4.552927 -2.520548 3.92528 -3.297634 2.889166 -3.506849Z' id='g3-51'/>
+<path d='M2.929016 -1.643836V-0.777086C2.929016 -0.418431 2.909091 -0.308842 2.171856 -0.308842H1.96264V0C2.371108 -0.029888 2.889166 -0.029888 3.307597 -0.029888S4.254047 -0.029888 4.662516 0V-0.308842H4.4533C3.716065 -0.308842 3.696139 -0.418431 3.696139 -0.777086V-1.643836H4.692403V-1.952677H3.696139V-6.485679C3.696139 -6.684932 3.696139 -6.744707 3.536737 -6.744707C3.447073 -6.744707 3.417186 -6.744707 3.337484 -6.625156L0.278954 -1.952677V-1.643836H2.929016ZM2.988792 -1.952677H0.557908L2.988792 -5.668742V-1.952677Z' id='g3-52'/>
+<path d='M6.844334 -3.257783C6.993773 -3.257783 7.183064 -3.257783 7.183064 -3.457036S6.993773 -3.656289 6.854296 -3.656289H0.886675C0.747198 -3.656289 0.557908 -3.656289 0.557908 -3.457036S0.747198 -3.257783 0.896638 -3.257783H6.844334ZM6.854296 -1.325031C6.993773 -1.325031 7.183064 -1.325031 7.183064 -1.524284S6.993773 -1.723537 6.844334 -1.723537H0.896638C0.747198 -1.723537 0.557908 -1.723537 0.557908 -1.524284S0.747198 -1.325031 0.886675 -1.325031H6.854296Z' id='g3-61'/>
+<path d='M3.317559 -0.757161C3.35741 -0.358655 3.626401 0.059776 4.094645 0.059776C4.303861 0.059776 4.911582 -0.079701 4.911582 -0.886675V-1.444583H4.662516V-0.886675C4.662516 -0.308842 4.41345 -0.249066 4.303861 -0.249066C3.975093 -0.249066 3.935243 -0.697385 3.935243 -0.747198V-2.739726C3.935243 -3.158157 3.935243 -3.5467 3.576588 -3.915318C3.188045 -4.303861 2.689913 -4.463263 2.211706 -4.463263C1.39477 -4.463263 0.707347 -3.995019 0.707347 -3.337484C0.707347 -3.038605 0.9066 -2.86924 1.165629 -2.86924C1.444583 -2.86924 1.62391 -3.068493 1.62391 -3.327522C1.62391 -3.447073 1.574097 -3.775841 1.115816 -3.785803C1.384807 -4.134496 1.872976 -4.244085 2.191781 -4.244085C2.67995 -4.244085 3.247821 -3.855542 3.247821 -2.968867V-2.600249C2.739726 -2.570361 2.042341 -2.540473 1.414695 -2.241594C0.667497 -1.902864 0.418431 -1.384807 0.418431 -0.946451C0.418431 -0.139477 1.384807 0.109589 2.012453 0.109589C2.669988 0.109589 3.128269 -0.288917 3.317559 -0.757161ZM3.247821 -2.391034V-1.39477C3.247821 -0.448319 2.530511 -0.109589 2.082192 -0.109589C1.594022 -0.109589 1.185554 -0.458281 1.185554 -0.956413C1.185554 -1.504359 1.603985 -2.331258 3.247821 -2.391034Z' id='g3-97'/>
+<path d='M1.713574 -3.755915V-6.914072L0.278954 -6.804483V-6.495641C0.976339 -6.495641 1.05604 -6.425903 1.05604 -5.937733V0H1.305106C1.315068 -0.009963 1.39477 -0.14944 1.663761 -0.617684C1.8132 -0.388543 2.231631 0.109589 2.968867 0.109589C4.154421 0.109589 5.190535 -0.86675 5.190535 -2.15193C5.190535 -3.417186 4.214197 -4.403487 3.078456 -4.403487C2.30137 -4.403487 1.872976 -3.935243 1.713574 -3.755915ZM1.743462 -1.135741V-3.188045C1.743462 -3.377335 1.743462 -3.387298 1.853051 -3.5467C2.241594 -4.104608 2.789539 -4.184309 3.028643 -4.184309C3.476961 -4.184309 3.835616 -3.92528 4.07472 -3.5467C4.333748 -3.138232 4.363636 -2.570361 4.363636 -2.161893C4.363636 -1.793275 4.343711 -1.195517 4.054795 -0.747198C3.845579 -0.438356 3.466999 -0.109589 2.929016 -0.109589C2.480697 -0.109589 2.122042 -0.348692 1.882939 -0.71731C1.743462 -0.926526 1.743462 -0.956413 1.743462 -1.135741Z' id='g3-98'/>
+<path d='M1.165629 -2.171856C1.165629 -3.795766 1.982565 -4.214197 2.510585 -4.214197C2.600249 -4.214197 3.227895 -4.204234 3.576588 -3.845579C3.16812 -3.815691 3.108344 -3.516812 3.108344 -3.387298C3.108344 -3.128269 3.287671 -2.929016 3.566625 -2.929016C3.825654 -2.929016 4.024907 -3.098381 4.024907 -3.39726C4.024907 -4.07472 3.267746 -4.463263 2.500623 -4.463263C1.255293 -4.463263 0.33873 -3.387298 0.33873 -2.15193C0.33873 -0.876712 1.325031 0.109589 2.480697 0.109589C3.815691 0.109589 4.134496 -1.085928 4.134496 -1.185554S4.034869 -1.285181 4.004981 -1.285181C3.915318 -1.285181 3.895392 -1.24533 3.875467 -1.185554C3.58655 -0.259029 2.938979 -0.139477 2.570361 -0.139477C2.042341 -0.139477 1.165629 -0.56787 1.165629 -2.171856Z' id='g3-99'/>
+<path d='M2.211706 -1.713574C1.344956 -1.713574 1.344956 -2.709838 1.344956 -2.938979C1.344956 -3.20797 1.354919 -3.526775 1.504359 -3.775841C1.58406 -3.895392 1.8132 -4.174346 2.211706 -4.174346C3.078456 -4.174346 3.078456 -3.178082 3.078456 -2.948941C3.078456 -2.67995 3.068493 -2.361146 2.919054 -2.11208C2.839352 -1.992528 2.610212 -1.713574 2.211706 -1.713574ZM1.05604 -1.325031C1.05604 -1.364882 1.05604 -1.594022 1.225405 -1.793275C1.613948 -1.514321 2.022416 -1.484433 2.211706 -1.484433C3.138232 -1.484433 3.825654 -2.171856 3.825654 -2.938979C3.825654 -3.307597 3.666252 -3.676214 3.417186 -3.905355C3.775841 -4.244085 4.134496 -4.293898 4.313823 -4.293898C4.333748 -4.293898 4.383562 -4.293898 4.41345 -4.283935C4.303861 -4.244085 4.254047 -4.134496 4.254047 -4.014944C4.254047 -3.845579 4.383562 -3.726027 4.542964 -3.726027C4.64259 -3.726027 4.83188 -3.795766 4.83188 -4.024907C4.83188 -4.194271 4.712329 -4.513076 4.323786 -4.513076C4.124533 -4.513076 3.686177 -4.4533 3.267746 -4.044832C2.849315 -4.373599 2.430884 -4.403487 2.211706 -4.403487C1.285181 -4.403487 0.597758 -3.716065 0.597758 -2.948941C0.597758 -2.510585 0.816936 -2.132005 1.066002 -1.92279C0.936488 -1.77335 0.757161 -1.444583 0.757161 -1.09589C0.757161 -0.787049 0.886675 -0.408468 1.195517 -0.209215C0.597758 -0.039851 0.278954 0.388543 0.278954 0.787049C0.278954 1.504359 1.265255 2.052304 2.480697 2.052304C3.656289 2.052304 4.692403 1.544209 4.692403 0.767123C4.692403 0.418431 4.552927 -0.089664 4.044832 -0.368618C3.516812 -0.647572 2.938979 -0.647572 2.331258 -0.647572C2.082192 -0.647572 1.653798 -0.647572 1.58406 -0.657534C1.265255 -0.697385 1.05604 -1.006227 1.05604 -1.325031ZM2.49066 1.823163C1.484433 1.823163 0.797011 1.315068 0.797011 0.787049C0.797011 0.328767 1.175592 -0.039851 1.613948 -0.069738H2.201743C3.058531 -0.069738 4.174346 -0.069738 4.174346 0.787049C4.174346 1.325031 3.466999 1.823163 2.49066 1.823163Z' id='g3-103'/>
+<path d='M1.763387 -6.914072L0.328767 -6.804483V-6.495641C1.026152 -6.495641 1.105853 -6.425903 1.105853 -5.937733V-0.757161C1.105853 -0.308842 0.996264 -0.308842 0.328767 -0.308842V0C0.657534 -0.009963 1.185554 -0.029888 1.43462 -0.029888S2.171856 -0.009963 2.540473 0V-0.308842C1.872976 -0.308842 1.763387 -0.308842 1.763387 -0.757161V-6.914072Z' id='g3-108'/>
+<path d='M4.692403 -2.132005C4.692403 -3.407223 3.696139 -4.463263 2.49066 -4.463263C1.24533 -4.463263 0.278954 -3.377335 0.278954 -2.132005C0.278954 -0.846824 1.315068 0.109589 2.480697 0.109589C3.686177 0.109589 4.692403 -0.86675 4.692403 -2.132005ZM2.49066 -0.139477C2.062267 -0.139477 1.62391 -0.348692 1.354919 -0.806974C1.105853 -1.24533 1.105853 -1.853051 1.105853 -2.211706C1.105853 -2.600249 1.105853 -3.138232 1.344956 -3.576588C1.613948 -4.034869 2.082192 -4.244085 2.480697 -4.244085C2.919054 -4.244085 3.347447 -4.024907 3.606476 -3.596513S3.865504 -2.590286 3.865504 -2.211706C3.865504 -1.853051 3.865504 -1.315068 3.646326 -0.876712C3.427148 -0.428394 2.988792 -0.139477 2.49066 -0.139477Z' id='g3-111'/>
+<path d='M1.444583 5.818182C1.444583 5.977584 1.444583 6.1868 1.653798 6.1868C1.872976 6.1868 1.872976 5.987547 1.872976 5.818182V0.159402C1.872976 0 1.872976 -0.209215 1.663761 -0.209215C1.444583 -0.209215 1.444583 -0.009963 1.444583 0.159402V5.818182Z' id='g5-12'/>
+<path d='M6.973848 23.402242C6.973848 23.362391 6.953923 23.342466 6.933998 23.312578C6.56538 22.94396 5.897883 22.276463 5.230386 21.200498C3.626401 18.630137 2.899128 15.392279 2.899128 11.556663C2.899128 8.876712 3.257783 5.419676 4.901619 2.450809C5.688667 1.036115 6.505604 0.219178 6.94396 -0.219178C6.973848 -0.249066 6.973848 -0.268991 6.973848 -0.298879C6.973848 -0.398506 6.90411 -0.398506 6.764633 -0.398506S6.60523 -0.398506 6.455791 -0.249066C3.118306 2.789539 2.072229 7.352428 2.072229 11.5467C2.072229 15.462017 2.968867 19.407223 5.499377 22.386052C5.69863 22.615193 6.07721 23.023661 6.485679 23.382316C6.60523 23.501868 6.625156 23.501868 6.764633 23.501868S6.973848 23.501868 6.973848 23.402242Z' id='g5-18'/>
+<path d='M5.250311 11.556663C5.250311 7.641345 4.353674 3.696139 1.823163 0.71731C1.62391 0.488169 1.24533 0.079701 0.836862 -0.278954C0.71731 -0.398506 0.697385 -0.398506 0.557908 -0.398506C0.438356 -0.398506 0.348692 -0.398506 0.348692 -0.298879C0.348692 -0.259029 0.388543 -0.219178 0.408468 -0.199253C0.757161 0.159402 1.424658 0.826899 2.092154 1.902864C3.696139 4.473225 4.423412 7.711083 4.423412 11.5467C4.423412 14.22665 4.064757 17.683686 2.420922 20.652553C1.633873 22.067248 0.806974 22.894147 0.388543 23.312578C0.368618 23.342466 0.348692 23.372354 0.348692 23.402242C0.348692 23.501868 0.438356 23.501868 0.557908 23.501868C0.697385 23.501868 0.71731 23.501868 0.86675 23.352428C4.204234 20.313823 5.250311 15.750934 5.250311 11.556663Z' id='g5-19'/>
+<path d='M6.724782 -5.917808C6.834371 -5.967621 6.914072 -6.017435 6.914072 -6.136986C6.914072 -6.246575 6.834371 -6.336239 6.714819 -6.336239C6.665006 -6.336239 6.575342 -6.296389 6.535492 -6.276463L1.026152 -3.676214C0.856787 -3.596513 0.826899 -3.526775 0.826899 -3.447073C0.826899 -3.35741 0.886675 -3.287671 1.026152 -3.227895L6.535492 -0.637609C6.665006 -0.56787 6.684932 -0.56787 6.714819 -0.56787C6.824408 -0.56787 6.914072 -0.657534 6.914072 -0.767123C6.914072 -0.856787 6.874222 -0.916563 6.704857 -0.996264L1.494396 -3.447073L6.724782 -5.917808ZM6.56538 1.364882C6.734745 1.364882 6.914072 1.364882 6.914072 1.165629S6.704857 0.966376 6.555417 0.966376H1.185554C1.036115 0.966376 0.826899 0.966376 0.826899 1.165629S1.006227 1.364882 1.175592 1.364882H6.56538Z' id='g0-20'/>
+<path d='M5.708593 -6.983811C5.628892 -7.123288 5.618929 -7.13325 5.479452 -7.13325C4.79203 -7.13325 3.576588 -6.854296 3.058531 -6.007472C2.909091 -6.296389 2.420922 -7.023661 1.663761 -7.023661C0.986301 -7.023661 0.547945 -6.396015 0.547945 -5.828144C0.547945 -5.449564 0.777086 -5.200498 1.05604 -4.911582C1.613948 -4.353674 1.613948 -4.194271 1.613948 -3.825654C1.613948 -3.237858 1.554172 -2.6401 1.125778 -2.6401C0.856787 -2.6401 0.806974 -3.008717 0.797011 -3.188045C0.797011 -3.267746 0.787049 -3.347447 0.667497 -3.347447S0.547945 -3.237858 0.547945 -3.198007C0.547945 -3.01868 0.637609 -2.420922 1.125778 -2.420922C1.932752 -2.420922 1.932752 -3.696139 1.932752 -3.92528C1.932752 -4.224159 1.912827 -4.60274 1.235367 -5.230386C0.956413 -5.479452 0.846824 -5.628892 0.846824 -5.84807C0.846824 -6.276463 1.135741 -6.804483 1.653798 -6.804483S2.570361 -6.027397 2.570361 -4.861768V-1.92279C2.570361 -1.833126 2.570361 0 1.92279 0C1.554172 0 1.185554 -0.308842 0.976339 -0.936488C1.006227 -0.936488 1.205479 -1.006227 1.205479 -1.09589C1.205479 -1.155666 1.125778 -1.205479 1.09589 -1.205479C1.05604 -1.205479 0.926526 -1.155666 0.886675 -1.135741C0.876712 -1.195517 0.826899 -1.305106 0.757161 -1.305106C0.697385 -1.305106 0.627646 -1.225405 0.627646 -1.175592C0.627646 -1.135741 0.647572 -1.075965 0.667497 -1.046077C0.607721 -1.036115 0.458281 -0.976339 0.458281 -0.896638C0.458281 -0.846824 0.518057 -0.787049 0.56787 -0.787049C0.597758 -0.787049 0.71731 -0.826899 0.747198 -0.846824C1.066002 0.019925 1.574097 0.219178 1.92279 0.219178C2.630137 0.219178 3.417186 -0.687422 3.417186 -2.709838V-3.437111H4.562889L4.692403 -1.255293C4.692403 -1.185554 4.652553 -1.115816 4.652553 -0.926526C4.652553 -0.328767 5.140722 0.219178 5.808219 0.219178C5.937733 0.219178 5.957659 0.219178 6.146949 0.079701L6.864259 -0.478207C6.983811 -0.577833 6.993773 -0.587796 6.993773 -0.627646C6.993773 -0.707347 6.834371 -0.767123 6.804483 -0.767123C6.75467 -0.767123 6.396015 -0.478207 5.947696 -0.109589C5.608966 -0.328767 5.489415 -0.657534 5.489415 -0.926526C5.489415 -1.115816 5.529265 -1.145704 5.529265 -1.255293C5.529265 -1.544209 5.479452 -2.062267 5.469489 -2.371108C5.449564 -2.570361 5.409714 -3.367372 5.399751 -3.506849C5.957659 -3.686177 7.043587 -4.323786 7.063512 -4.333748C7.0934 -4.363636 7.113325 -4.383562 7.113325 -4.433375C7.113325 -4.4533 7.053549 -4.572852 7.043587 -4.582814L5.708593 -6.983811ZM6.276463 -4.254047C5.3599 -3.745953 5.150685 -3.745953 4.861768 -3.745953H3.417186V-4.234122C3.417186 -4.921544 3.327522 -5.310087 3.217933 -5.618929C3.566625 -6.575342 4.851806 -6.75467 4.861768 -6.75467C4.881694 -6.75467 4.941469 -6.655044 4.951432 -6.645081L6.276463 -4.254047Z' id='g0-60'/>
+<path d='M2.630137 -4.353674C1.384807 -4.054795 0.418431 -2.759651 0.418431 -1.554172C0.418431 -0.597758 1.05604 0.119552 1.992528 0.119552C3.158157 0.119552 3.985056 -1.444583 3.985056 -2.819427C3.985056 -3.726027 3.58655 -4.224159 3.247821 -4.672478C2.889166 -5.120797 2.30137 -5.867995 2.30137 -6.306351C2.30137 -6.525529 2.500623 -6.764633 2.849315 -6.764633C3.148194 -6.764633 3.347447 -6.635118 3.556663 -6.495641C3.755915 -6.37609 3.955168 -6.246575 4.104608 -6.246575C4.353674 -6.246575 4.503113 -6.485679 4.503113 -6.645081C4.503113 -6.864259 4.343711 -6.894147 3.985056 -6.973848C3.466999 -7.083437 3.327522 -7.083437 3.16812 -7.083437C2.391034 -7.083437 2.032379 -6.655044 2.032379 -6.057285C2.032379 -5.519303 2.321295 -4.961395 2.630137 -4.353674ZM2.749689 -4.134496C2.998755 -3.676214 3.297634 -3.138232 3.297634 -2.420922C3.297634 -1.763387 2.919054 -0.099626 1.992528 -0.099626C1.444583 -0.099626 1.036115 -0.518057 1.036115 -1.275218C1.036115 -1.902864 1.404732 -3.775841 2.749689 -4.134496Z' id='g1-14'/>
+<path d='M4.861768 -2.759651C4.911582 -2.938979 4.941469 -3.068493 4.941469 -3.337484C4.941469 -3.985056 4.542964 -4.403487 3.795766 -4.403487C3.008717 -4.403487 2.49066 -3.88543 2.251557 -3.536737C2.201743 -4.104608 1.783313 -4.403487 1.334994 -4.403487C0.876712 -4.403487 0.687422 -4.014944 0.597758 -3.835616C0.418431 -3.496887 0.288917 -2.899128 0.288917 -2.86924C0.288917 -2.769614 0.388543 -2.769614 0.408468 -2.769614C0.508095 -2.769614 0.518057 -2.779577 0.577833 -2.998755C0.747198 -3.706102 0.946451 -4.184309 1.305106 -4.184309C1.474471 -4.184309 1.613948 -4.104608 1.613948 -3.726027C1.613948 -3.516812 1.58406 -3.407223 1.454545 -2.889166L0.876712 -0.587796C0.846824 -0.438356 0.787049 -0.209215 0.787049 -0.159402C0.787049 0.019925 0.926526 0.109589 1.075965 0.109589C1.195517 0.109589 1.374844 0.029888 1.444583 -0.169365C1.454545 -0.18929 1.574097 -0.657534 1.633873 -0.9066L1.853051 -1.803238C1.912827 -2.022416 1.972603 -2.241594 2.022416 -2.470735C2.042341 -2.530511 2.122042 -2.859278 2.132005 -2.919054C2.161893 -3.008717 2.470735 -3.566625 2.809465 -3.835616C3.028643 -3.995019 3.337484 -4.184309 3.765878 -4.184309S4.303861 -3.845579 4.303861 -3.486924C4.303861 -3.437111 4.303861 -3.257783 4.204234 -2.859278L3.068493 1.723537C3.038605 1.843088 3.038605 1.863014 3.038605 1.882939C3.038605 2.032379 3.148194 2.15193 3.317559 2.15193C3.626401 2.15193 3.696139 1.863014 3.726027 1.753425L4.861768 -2.759651Z' id='g1-17'/>
+<path d='M4.533001 -4.98132C4.533001 -5.638854 4.353674 -7.023661 3.337484 -7.023661C1.952677 -7.023661 0.418431 -4.214197 0.418431 -1.932752C0.418431 -0.996264 0.707347 0.109589 1.613948 0.109589C3.01868 0.109589 4.533001 -2.749689 4.533001 -4.98132ZM1.474471 -3.616438C1.643836 -4.254047 1.843088 -5.051059 2.241594 -5.758406C2.510585 -6.246575 2.879203 -6.804483 3.327522 -6.804483C3.815691 -6.804483 3.875467 -6.166874 3.875467 -5.599004C3.875467 -5.110834 3.795766 -4.60274 3.556663 -3.616438H1.474471ZM3.466999 -3.297634C3.35741 -2.839352 3.148194 -1.992528 2.769614 -1.275218C2.420922 -0.597758 2.042341 -0.109589 1.613948 -0.109589C1.285181 -0.109589 1.075965 -0.398506 1.075965 -1.325031C1.075965 -1.743462 1.135741 -2.321295 1.39477 -3.297634H3.466999Z' id='g1-18'/>
+<path d='M2.6401 -3.716065H3.765878C3.437111 -2.241594 3.347447 -1.8132 3.347447 -1.145704C3.347447 -0.996264 3.347447 -0.727273 3.427148 -0.388543C3.526775 0.049813 3.636364 0.109589 3.785803 0.109589C3.985056 0.109589 4.194271 -0.069738 4.194271 -0.268991C4.194271 -0.328767 4.194271 -0.348692 4.134496 -0.488169C3.845579 -1.205479 3.845579 -1.853051 3.845579 -2.132005C3.845579 -2.660025 3.915318 -3.198007 4.024907 -3.716065H5.160648C5.290162 -3.716065 5.648817 -3.716065 5.648817 -4.054795C5.648817 -4.293898 5.439601 -4.293898 5.250311 -4.293898H1.912827C1.693649 -4.293898 1.315068 -4.293898 0.876712 -3.825654C0.52802 -3.437111 0.268991 -2.978829 0.268991 -2.929016C0.268991 -2.919054 0.268991 -2.82939 0.388543 -2.82939C0.468244 -2.82939 0.488169 -2.86924 0.547945 -2.948941C1.036115 -3.716065 1.613948 -3.716065 1.8132 -3.716065H2.381071C2.062267 -2.510585 1.524284 -1.305106 1.105853 -0.398506C1.026152 -0.249066 1.026152 -0.229141 1.026152 -0.159402C1.026152 0.029888 1.185554 0.109589 1.315068 0.109589C1.613948 0.109589 1.693649 -0.169365 1.8132 -0.537983C1.952677 -0.996264 1.952677 -1.016189 2.082192 -1.514321L2.6401 -3.716065Z' id='g1-25'/>
+<path d='M4.801993 -6.655044C4.811955 -6.694894 4.83188 -6.75467 4.83188 -6.804483C4.83188 -6.90411 4.762142 -6.914072 4.712329 -6.914072C4.612702 -6.914072 4.60274 -6.894147 4.562889 -6.714819L2.909091 -0.129514C2.15193 -0.219178 1.77335 -0.587796 1.77335 -1.24533C1.77335 -1.444583 1.77335 -1.703611 2.311333 -3.098381C2.351183 -3.217933 2.420922 -3.387298 2.420922 -3.58655C2.420922 -4.034869 2.102117 -4.403487 1.603985 -4.403487C0.657534 -4.403487 0.288917 -2.958904 0.288917 -2.86924C0.288917 -2.769614 0.388543 -2.769614 0.408468 -2.769614C0.508095 -2.769614 0.518057 -2.789539 0.56787 -2.948941C0.836862 -3.895392 1.235367 -4.184309 1.574097 -4.184309C1.653798 -4.184309 1.823163 -4.184309 1.823163 -3.865504C1.823163 -3.606476 1.723537 -3.35741 1.594022 -3.008717C1.115816 -1.753425 1.115816 -1.494396 1.115816 -1.325031C1.115816 -0.37858 1.892902 0.029888 2.849315 0.089664C2.769614 0.448319 2.769614 0.468244 2.630137 0.996264C2.600249 1.105853 2.400996 1.912827 2.400996 1.942715C2.400996 1.952677 2.400996 2.042341 2.520548 2.042341C2.540473 2.042341 2.590286 2.042341 2.610212 2.002491C2.6401 1.982565 2.699875 1.733499 2.729763 1.594022L3.108344 0.109589C3.476961 0.109589 4.353674 0.109589 5.290162 -0.956413C5.69863 -1.414695 5.907846 -1.853051 6.017435 -2.15193C6.107098 -2.400996 6.326276 -3.267746 6.326276 -3.706102C6.326276 -4.26401 6.057285 -4.403487 5.88792 -4.403487C5.638854 -4.403487 5.389788 -4.144458 5.389788 -3.92528C5.389788 -3.795766 5.449564 -3.73599 5.539228 -3.656289C5.648817 -3.5467 5.897883 -3.287671 5.897883 -2.809465C5.897883 -2.171856 5.379826 -1.354919 5.031133 -0.996264C4.154421 -0.109589 3.516812 -0.109589 3.158157 -0.109589L4.801993 -6.655044Z' id='g1-32'/>
+<path d='M1.912827 -0.52802C1.912827 -0.816936 1.673724 -1.05604 1.384807 -1.05604S0.856787 -0.816936 0.856787 -0.52802S1.09589 0 1.384807 0S1.912827 -0.239103 1.912827 -0.52802Z' id='g1-58'/>
+<path d='M2.022416 -0.009963C2.022416 -0.667497 1.77335 -1.05604 1.384807 -1.05604C1.05604 -1.05604 0.856787 -0.806974 0.856787 -0.52802C0.856787 -0.259029 1.05604 0 1.384807 0C1.504359 0 1.633873 -0.039851 1.733499 -0.129514C1.763387 -0.14944 1.77335 -0.159402 1.783313 -0.159402S1.803238 -0.14944 1.803238 -0.009963C1.803238 0.727273 1.454545 1.325031 1.125778 1.653798C1.016189 1.763387 1.016189 1.783313 1.016189 1.8132C1.016189 1.882939 1.066002 1.92279 1.115816 1.92279C1.225405 1.92279 2.022416 1.155666 2.022416 -0.009963Z' id='g1-59'/>
+<path d='M1.783313 -1.145704C1.384807 -0.478207 0.996264 -0.33873 0.557908 -0.308842C0.438356 -0.298879 0.348692 -0.298879 0.348692 -0.109589C0.348692 -0.049813 0.398506 0 0.478207 0C0.747198 0 1.05604 -0.029888 1.334994 -0.029888C1.663761 -0.029888 2.012453 0 2.331258 0C2.391034 0 2.520548 0 2.520548 -0.18929C2.520548 -0.298879 2.430884 -0.308842 2.361146 -0.308842C2.132005 -0.328767 1.892902 -0.408468 1.892902 -0.657534C1.892902 -0.777086 1.952677 -0.886675 2.032379 -1.026152L2.789539 -2.30137H5.290162C5.310087 -2.092154 5.449564 -0.737235 5.449564 -0.637609C5.449564 -0.33873 4.931507 -0.308842 4.732254 -0.308842C4.592777 -0.308842 4.493151 -0.308842 4.493151 -0.109589C4.493151 0 4.612702 0 4.632628 0C5.041096 0 5.469489 -0.029888 5.877958 -0.029888C6.127024 -0.029888 6.75467 0 7.003736 0C7.063512 0 7.183064 0 7.183064 -0.199253C7.183064 -0.308842 7.083437 -0.308842 6.953923 -0.308842C6.336239 -0.308842 6.336239 -0.37858 6.306351 -0.667497L5.69863 -6.894147C5.678705 -7.0934 5.678705 -7.13325 5.50934 -7.13325C5.349938 -7.13325 5.310087 -7.063512 5.250311 -6.963885L1.783313 -1.145704ZM2.978829 -2.610212L4.941469 -5.897883L5.260274 -2.610212H2.978829Z' id='g1-65'/>
+<path d='M1.594022 -0.777086C1.494396 -0.388543 1.474471 -0.308842 0.687422 -0.308842C0.518057 -0.308842 0.418431 -0.308842 0.418431 -0.109589C0.418431 0 0.508095 0 0.687422 0H4.244085C5.818182 0 6.993773 -1.175592 6.993773 -2.15193C6.993773 -2.86924 6.41594 -3.447073 5.449564 -3.556663C6.485679 -3.745953 7.531756 -4.483188 7.531756 -5.429639C7.531756 -6.166874 6.874222 -6.804483 5.678705 -6.804483H2.331258C2.141968 -6.804483 2.042341 -6.804483 2.042341 -6.60523C2.042341 -6.495641 2.132005 -6.495641 2.321295 -6.495641C2.34122 -6.495641 2.530511 -6.495641 2.699875 -6.475716C2.879203 -6.455791 2.968867 -6.445828 2.968867 -6.316314C2.968867 -6.276463 2.958904 -6.246575 2.929016 -6.127024L1.594022 -0.777086ZM3.098381 -3.646326L3.716065 -6.117061C3.805729 -6.465753 3.825654 -6.495641 4.254047 -6.495641H5.539228C6.41594 -6.495641 6.625156 -5.907846 6.625156 -5.469489C6.625156 -4.592777 5.768369 -3.646326 4.552927 -3.646326H3.098381ZM2.650062 -0.308842C2.510585 -0.308842 2.49066 -0.308842 2.430884 -0.318804C2.331258 -0.328767 2.30137 -0.33873 2.30137 -0.418431C2.30137 -0.448319 2.30137 -0.468244 2.351183 -0.647572L3.038605 -3.427148H4.921544C5.877958 -3.427148 6.067248 -2.689913 6.067248 -2.261519C6.067248 -1.275218 5.180573 -0.308842 4.004981 -0.308842H2.650062Z' id='g1-66'/>
+<path d='M7.571606 -6.924035C7.571606 -6.953923 7.551681 -7.023661 7.462017 -7.023661C7.43213 -7.023661 7.422167 -7.013699 7.312578 -6.90411L6.615193 -6.136986C6.525529 -6.276463 6.067248 -7.023661 4.961395 -7.023661C2.739726 -7.023661 0.498132 -4.821918 0.498132 -2.510585C0.498132 -0.86675 1.673724 0.219178 3.198007 0.219178C4.064757 0.219178 4.821918 -0.179328 5.349938 -0.637609C6.276463 -1.454545 6.445828 -2.361146 6.445828 -2.391034C6.445828 -2.49066 6.346202 -2.49066 6.326276 -2.49066C6.266501 -2.49066 6.216687 -2.470735 6.196762 -2.391034C6.107098 -2.102117 5.877958 -1.39477 5.190535 -0.816936C4.503113 -0.259029 3.875467 -0.089664 3.35741 -0.089664C2.460772 -0.089664 1.404732 -0.607721 1.404732 -2.161893C1.404732 -2.729763 1.613948 -4.343711 2.610212 -5.50934C3.217933 -6.216687 4.154421 -6.714819 5.041096 -6.714819C6.057285 -6.714819 6.645081 -5.947696 6.645081 -4.79203C6.645081 -4.393524 6.615193 -4.383562 6.615193 -4.283935S6.724782 -4.184309 6.764633 -4.184309C6.894147 -4.184309 6.894147 -4.204234 6.94396 -4.383562L7.571606 -6.924035Z' id='g1-67'/>
+<path d='M3.716065 -3.765878C3.536737 -4.134496 3.247821 -4.403487 2.799502 -4.403487C1.633873 -4.403487 0.398506 -2.938979 0.398506 -1.484433C0.398506 -0.547945 0.946451 0.109589 1.723537 0.109589C1.92279 0.109589 2.420922 0.069738 3.01868 -0.637609C3.098381 -0.219178 3.447073 0.109589 3.92528 0.109589C4.273973 0.109589 4.503113 -0.119552 4.662516 -0.438356C4.83188 -0.797011 4.961395 -1.404732 4.961395 -1.424658C4.961395 -1.524284 4.871731 -1.524284 4.841843 -1.524284C4.742217 -1.524284 4.732254 -1.484433 4.702366 -1.344956C4.533001 -0.697385 4.353674 -0.109589 3.945205 -0.109589C3.676214 -0.109589 3.646326 -0.368618 3.646326 -0.56787C3.646326 -0.787049 3.666252 -0.86675 3.775841 -1.305106C3.88543 -1.723537 3.905355 -1.823163 3.995019 -2.201743L4.353674 -3.596513C4.423412 -3.875467 4.423412 -3.895392 4.423412 -3.935243C4.423412 -4.104608 4.303861 -4.204234 4.134496 -4.204234C3.895392 -4.204234 3.745953 -3.985056 3.716065 -3.765878ZM3.068493 -1.185554C3.01868 -1.006227 3.01868 -0.986301 2.86924 -0.816936C2.430884 -0.268991 2.022416 -0.109589 1.743462 -0.109589C1.24533 -0.109589 1.105853 -0.657534 1.105853 -1.046077C1.105853 -1.544209 1.424658 -2.769614 1.653798 -3.227895C1.96264 -3.815691 2.410959 -4.184309 2.809465 -4.184309C3.457036 -4.184309 3.596513 -3.367372 3.596513 -3.307597S3.576588 -3.188045 3.566625 -3.138232L3.068493 -1.185554Z' id='g1-97'/>
+<path d='M2.381071 -6.804483C2.381071 -6.814446 2.381071 -6.914072 2.251557 -6.914072C2.022416 -6.914072 1.295143 -6.834371 1.036115 -6.814446C0.956413 -6.804483 0.846824 -6.794521 0.846824 -6.615193C0.846824 -6.495641 0.936488 -6.495641 1.085928 -6.495641C1.564134 -6.495641 1.58406 -6.425903 1.58406 -6.326276C1.58406 -6.256538 1.494396 -5.917808 1.444583 -5.708593L0.627646 -2.460772C0.508095 -1.96264 0.468244 -1.803238 0.468244 -1.454545C0.468244 -0.508095 0.996264 0.109589 1.733499 0.109589C2.909091 0.109589 4.134496 -1.374844 4.134496 -2.809465C4.134496 -3.716065 3.606476 -4.403487 2.809465 -4.403487C2.351183 -4.403487 1.942715 -4.11457 1.643836 -3.805729L2.381071 -6.804483ZM1.444583 -3.038605C1.504359 -3.257783 1.504359 -3.277709 1.594022 -3.387298C2.082192 -4.034869 2.530511 -4.184309 2.789539 -4.184309C3.148194 -4.184309 3.417186 -3.88543 3.417186 -3.247821C3.417186 -2.660025 3.088418 -1.514321 2.909091 -1.135741C2.580324 -0.468244 2.122042 -0.109589 1.733499 -0.109589C1.39477 -0.109589 1.066002 -0.37858 1.066002 -1.115816C1.066002 -1.305106 1.066002 -1.494396 1.225405 -2.122042L1.444583 -3.038605Z' id='g1-98'/>
+<path d='M3.945205 -3.785803C3.785803 -3.785803 3.646326 -3.785803 3.506849 -3.646326C3.347447 -3.496887 3.327522 -3.327522 3.327522 -3.257783C3.327522 -3.01868 3.506849 -2.909091 3.696139 -2.909091C3.985056 -2.909091 4.254047 -3.148194 4.254047 -3.5467C4.254047 -4.034869 3.785803 -4.403487 3.078456 -4.403487C1.733499 -4.403487 0.408468 -2.978829 0.408468 -1.574097C0.408468 -0.67746 0.986301 0.109589 2.022416 0.109589C3.447073 0.109589 4.283935 -0.946451 4.283935 -1.066002C4.283935 -1.125778 4.224159 -1.195517 4.164384 -1.195517C4.11457 -1.195517 4.094645 -1.175592 4.034869 -1.09589C3.247821 -0.109589 2.161893 -0.109589 2.042341 -0.109589C1.414695 -0.109589 1.145704 -0.597758 1.145704 -1.195517C1.145704 -1.603985 1.344956 -2.570361 1.683686 -3.188045C1.992528 -3.755915 2.540473 -4.184309 3.088418 -4.184309C3.427148 -4.184309 3.805729 -4.054795 3.945205 -3.785803Z' id='g1-99'/>
+<path d='M5.140722 -6.804483C5.140722 -6.814446 5.140722 -6.914072 5.011208 -6.914072C4.861768 -6.914072 3.915318 -6.824408 3.745953 -6.804483C3.666252 -6.794521 3.606476 -6.744707 3.606476 -6.615193C3.606476 -6.495641 3.696139 -6.495641 3.845579 -6.495641C4.323786 -6.495641 4.343711 -6.425903 4.343711 -6.326276L4.313823 -6.127024L3.716065 -3.765878C3.536737 -4.134496 3.247821 -4.403487 2.799502 -4.403487C1.633873 -4.403487 0.398506 -2.938979 0.398506 -1.484433C0.398506 -0.547945 0.946451 0.109589 1.723537 0.109589C1.92279 0.109589 2.420922 0.069738 3.01868 -0.637609C3.098381 -0.219178 3.447073 0.109589 3.92528 0.109589C4.273973 0.109589 4.503113 -0.119552 4.662516 -0.438356C4.83188 -0.797011 4.961395 -1.404732 4.961395 -1.424658C4.961395 -1.524284 4.871731 -1.524284 4.841843 -1.524284C4.742217 -1.524284 4.732254 -1.484433 4.702366 -1.344956C4.533001 -0.697385 4.353674 -0.109589 3.945205 -0.109589C3.676214 -0.109589 3.646326 -0.368618 3.646326 -0.56787C3.646326 -0.806974 3.666252 -0.876712 3.706102 -1.046077L5.140722 -6.804483ZM3.068493 -1.185554C3.01868 -1.006227 3.01868 -0.986301 2.86924 -0.816936C2.430884 -0.268991 2.022416 -0.109589 1.743462 -0.109589C1.24533 -0.109589 1.105853 -0.657534 1.105853 -1.046077C1.105853 -1.544209 1.424658 -2.769614 1.653798 -3.227895C1.96264 -3.815691 2.410959 -4.184309 2.809465 -4.184309C3.457036 -4.184309 3.596513 -3.367372 3.596513 -3.307597S3.576588 -3.188045 3.566625 -3.138232L3.068493 -1.185554Z' id='g1-100'/>
+<path d='M1.863014 -2.30137C2.15193 -2.30137 2.889166 -2.321295 3.387298 -2.530511C4.084682 -2.82939 4.134496 -3.417186 4.134496 -3.556663C4.134496 -3.995019 3.755915 -4.403487 3.068493 -4.403487C1.96264 -4.403487 0.458281 -3.437111 0.458281 -1.693649C0.458281 -0.67746 1.046077 0.109589 2.022416 0.109589C3.447073 0.109589 4.283935 -0.946451 4.283935 -1.066002C4.283935 -1.125778 4.224159 -1.195517 4.164384 -1.195517C4.11457 -1.195517 4.094645 -1.175592 4.034869 -1.09589C3.247821 -0.109589 2.161893 -0.109589 2.042341 -0.109589C1.265255 -0.109589 1.175592 -0.946451 1.175592 -1.265255C1.175592 -1.384807 1.185554 -1.693649 1.334994 -2.30137H1.863014ZM1.39477 -2.520548C1.783313 -4.034869 2.809465 -4.184309 3.068493 -4.184309C3.536737 -4.184309 3.805729 -3.895392 3.805729 -3.556663C3.805729 -2.520548 2.211706 -2.520548 1.803238 -2.520548H1.39477Z' id='g1-101'/>
+<path d='M3.656289 -3.985056H4.513076C4.712329 -3.985056 4.811955 -3.985056 4.811955 -4.184309C4.811955 -4.293898 4.712329 -4.293898 4.542964 -4.293898H3.716065L3.92528 -5.429639C3.965131 -5.638854 4.104608 -6.346202 4.164384 -6.465753C4.254047 -6.655044 4.423412 -6.804483 4.632628 -6.804483C4.672478 -6.804483 4.931507 -6.804483 5.120797 -6.625156C4.682441 -6.585305 4.582814 -6.236613 4.582814 -6.087173C4.582814 -5.858032 4.762142 -5.738481 4.951432 -5.738481C5.210461 -5.738481 5.499377 -5.957659 5.499377 -6.336239C5.499377 -6.794521 5.041096 -7.023661 4.632628 -7.023661C4.293898 -7.023661 3.666252 -6.844334 3.367372 -5.858032C3.307597 -5.648817 3.277709 -5.549191 3.038605 -4.293898H2.351183C2.161893 -4.293898 2.052304 -4.293898 2.052304 -4.104608C2.052304 -3.985056 2.141968 -3.985056 2.331258 -3.985056H2.988792L2.241594 -0.049813C2.062267 0.916563 1.892902 1.823163 1.374844 1.823163C1.334994 1.823163 1.085928 1.823163 0.896638 1.643836C1.354919 1.613948 1.444583 1.255293 1.444583 1.105853C1.444583 0.876712 1.265255 0.757161 1.075965 0.757161C0.816936 0.757161 0.52802 0.976339 0.52802 1.354919C0.52802 1.803238 0.966376 2.042341 1.374844 2.042341C1.92279 2.042341 2.321295 1.454545 2.500623 1.075965C2.819427 0.448319 3.048568 -0.757161 3.058531 -0.826899L3.656289 -3.985056Z' id='g1-102'/>
+<path d='M4.692403 -3.755915C4.702366 -3.815691 4.722291 -3.865504 4.722291 -3.935243C4.722291 -4.104608 4.60274 -4.204234 4.433375 -4.204234C4.333748 -4.204234 4.064757 -4.134496 4.024907 -3.775841C3.845579 -4.144458 3.496887 -4.403487 3.098381 -4.403487C1.96264 -4.403487 0.727273 -3.008717 0.727273 -1.574097C0.727273 -0.587796 1.334994 0 2.052304 0C2.6401 0 3.108344 -0.468244 3.20797 -0.577833L3.217933 -0.56787C3.008717 0.318804 2.889166 0.727273 2.889166 0.747198C2.849315 0.836862 2.510585 1.823163 1.454545 1.823163C1.265255 1.823163 0.936488 1.8132 0.657534 1.723537C0.956413 1.633873 1.066002 1.374844 1.066002 1.205479C1.066002 1.046077 0.956413 0.856787 0.687422 0.856787C0.468244 0.856787 0.14944 1.036115 0.14944 1.43462C0.14944 1.843088 0.518057 2.042341 1.474471 2.042341C2.719801 2.042341 3.437111 1.265255 3.58655 0.667497L4.692403 -3.755915ZM3.39726 -1.275218C3.337484 -1.016189 3.108344 -0.767123 2.889166 -0.577833C2.67995 -0.398506 2.371108 -0.219178 2.082192 -0.219178C1.58406 -0.219178 1.43462 -0.737235 1.43462 -1.135741C1.43462 -1.613948 1.723537 -2.789539 1.992528 -3.297634C2.261519 -3.785803 2.689913 -4.184309 3.108344 -4.184309C3.765878 -4.184309 3.905355 -3.377335 3.905355 -3.327522S3.88543 -3.217933 3.875467 -3.178082L3.39726 -1.275218Z' id='g1-103'/>
+<path d='M2.859278 -6.804483C2.859278 -6.814446 2.859278 -6.914072 2.729763 -6.914072C2.500623 -6.914072 1.77335 -6.834371 1.514321 -6.814446C1.43462 -6.804483 1.325031 -6.794521 1.325031 -6.615193C1.325031 -6.495641 1.414695 -6.495641 1.564134 -6.495641C2.042341 -6.495641 2.062267 -6.425903 2.062267 -6.326276L2.032379 -6.127024L0.587796 -0.388543C0.547945 -0.249066 0.547945 -0.229141 0.547945 -0.169365C0.547945 0.059776 0.747198 0.109589 0.836862 0.109589C0.996264 0.109589 1.155666 -0.009963 1.205479 -0.14944L1.39477 -0.9066L1.613948 -1.803238C1.673724 -2.022416 1.733499 -2.241594 1.783313 -2.470735C1.803238 -2.530511 1.882939 -2.859278 1.892902 -2.919054C1.92279 -3.008717 2.231631 -3.566625 2.570361 -3.835616C2.789539 -3.995019 3.098381 -4.184309 3.526775 -4.184309S4.064757 -3.845579 4.064757 -3.486924C4.064757 -2.948941 3.686177 -1.863014 3.447073 -1.255293C3.367372 -1.026152 3.317559 -0.9066 3.317559 -0.707347C3.317559 -0.239103 3.666252 0.109589 4.134496 0.109589C5.070984 0.109589 5.439601 -1.344956 5.439601 -1.424658C5.439601 -1.524284 5.349938 -1.524284 5.32005 -1.524284C5.220423 -1.524284 5.220423 -1.494396 5.17061 -1.344956C5.021171 -0.816936 4.702366 -0.109589 4.154421 -0.109589C3.985056 -0.109589 3.915318 -0.209215 3.915318 -0.438356C3.915318 -0.687422 4.004981 -0.926526 4.094645 -1.145704C4.254047 -1.574097 4.702366 -2.759651 4.702366 -3.337484C4.702366 -3.985056 4.303861 -4.403487 3.556663 -4.403487C2.929016 -4.403487 2.450809 -4.094645 2.082192 -3.636364L2.859278 -6.804483Z' id='g1-104'/>
+<path d='M2.82939 -6.22665C2.82939 -6.425903 2.689913 -6.585305 2.460772 -6.585305C2.191781 -6.585305 1.92279 -6.326276 1.92279 -6.057285C1.92279 -5.867995 2.062267 -5.69863 2.30137 -5.69863C2.530511 -5.69863 2.82939 -5.927771 2.82939 -6.22665ZM2.072229 -2.480697C2.191781 -2.769614 2.191781 -2.789539 2.291407 -3.058531C2.371108 -3.257783 2.420922 -3.39726 2.420922 -3.58655C2.420922 -4.034869 2.102117 -4.403487 1.603985 -4.403487C0.667497 -4.403487 0.288917 -2.958904 0.288917 -2.86924C0.288917 -2.769614 0.388543 -2.769614 0.408468 -2.769614C0.508095 -2.769614 0.518057 -2.789539 0.56787 -2.948941C0.836862 -3.88543 1.235367 -4.184309 1.574097 -4.184309C1.653798 -4.184309 1.823163 -4.184309 1.823163 -3.865504C1.823163 -3.656289 1.753425 -3.447073 1.713574 -3.347447C1.633873 -3.088418 1.185554 -1.932752 1.026152 -1.504359C0.926526 -1.24533 0.797011 -0.916563 0.797011 -0.707347C0.797011 -0.239103 1.135741 0.109589 1.613948 0.109589C2.550436 0.109589 2.919054 -1.334994 2.919054 -1.424658C2.919054 -1.524284 2.82939 -1.524284 2.799502 -1.524284C2.699875 -1.524284 2.699875 -1.494396 2.650062 -1.344956C2.470735 -0.71731 2.141968 -0.109589 1.633873 -0.109589C1.464508 -0.109589 1.39477 -0.209215 1.39477 -0.438356C1.39477 -0.687422 1.454545 -0.826899 1.683686 -1.43462L2.072229 -2.480697Z' id='g1-105'/>
+<path d='M3.955168 -6.22665C3.955168 -6.41594 3.815691 -6.585305 3.576588 -6.585305C3.347447 -6.585305 3.048568 -6.356164 3.048568 -6.057285C3.048568 -5.858032 3.188045 -5.69863 3.417186 -5.69863C3.686177 -5.69863 3.955168 -5.957659 3.955168 -6.22665ZM1.952677 0.498132C1.763387 1.255293 1.285181 1.823163 0.727273 1.823163C0.667497 1.823163 0.518057 1.823163 0.33873 1.733499C0.637609 1.663761 0.787049 1.404732 0.787049 1.205479C0.787049 1.046077 0.67746 0.856787 0.408468 0.856787C0.159402 0.856787 -0.129514 1.066002 -0.129514 1.424658C-0.129514 1.823163 0.268991 2.042341 0.747198 2.042341C1.444583 2.042341 2.371108 1.514321 2.620174 0.52802L3.536737 -3.118306C3.58655 -3.317559 3.58655 -3.457036 3.58655 -3.486924C3.58655 -4.054795 3.16812 -4.403487 2.669988 -4.403487C1.653798 -4.403487 1.085928 -2.958904 1.085928 -2.86924C1.085928 -2.769614 1.185554 -2.769614 1.205479 -2.769614C1.295143 -2.769614 1.305106 -2.779577 1.384807 -2.968867C1.633873 -3.576588 2.092154 -4.184309 2.6401 -4.184309C2.779577 -4.184309 2.958904 -4.144458 2.958904 -3.726027C2.958904 -3.496887 2.929016 -3.387298 2.889166 -3.217933L1.952677 0.498132Z' id='g1-106'/>
+<path d='M0.876712 -0.587796C0.846824 -0.438356 0.787049 -0.209215 0.787049 -0.159402C0.787049 0.019925 0.926526 0.109589 1.075965 0.109589C1.195517 0.109589 1.374844 0.029888 1.444583 -0.169365C1.454545 -0.18929 1.574097 -0.657534 1.633873 -0.9066L1.853051 -1.803238C1.912827 -2.022416 1.972603 -2.241594 2.022416 -2.470735C2.062267 -2.6401 2.141968 -2.929016 2.15193 -2.968867C2.30137 -3.277709 2.82939 -4.184309 3.775841 -4.184309C4.224159 -4.184309 4.313823 -3.815691 4.313823 -3.486924C4.313823 -2.86924 3.825654 -1.594022 3.666252 -1.165629C3.576588 -0.936488 3.566625 -0.816936 3.566625 -0.707347C3.566625 -0.239103 3.915318 0.109589 4.383562 0.109589C5.32005 0.109589 5.688667 -1.344956 5.688667 -1.424658C5.688667 -1.524284 5.599004 -1.524284 5.569116 -1.524284C5.469489 -1.524284 5.469489 -1.494396 5.419676 -1.344956C5.220423 -0.667497 4.891656 -0.109589 4.403487 -0.109589C4.234122 -0.109589 4.164384 -0.209215 4.164384 -0.438356C4.164384 -0.687422 4.254047 -0.926526 4.343711 -1.145704C4.533001 -1.673724 4.951432 -2.769614 4.951432 -3.337484C4.951432 -4.004981 4.523039 -4.403487 3.805729 -4.403487C2.909091 -4.403487 2.420922 -3.765878 2.251557 -3.536737C2.201743 -4.094645 1.793275 -4.403487 1.334994 -4.403487S0.687422 -4.014944 0.587796 -3.835616C0.428394 -3.496887 0.288917 -2.909091 0.288917 -2.86924C0.288917 -2.769614 0.388543 -2.769614 0.408468 -2.769614C0.508095 -2.769614 0.518057 -2.779577 0.577833 -2.998755C0.747198 -3.706102 0.946451 -4.184309 1.305106 -4.184309C1.504359 -4.184309 1.613948 -4.054795 1.613948 -3.726027C1.613948 -3.516812 1.58406 -3.407223 1.454545 -2.889166L0.876712 -0.587796Z' id='g1-110'/>
+<path d='M1.325031 -0.826899C1.863014 -1.404732 2.15193 -1.653798 2.510585 -1.96264C2.510585 -1.972603 3.128269 -2.500623 3.486924 -2.859278C4.433375 -3.785803 4.652553 -4.26401 4.652553 -4.303861C4.652553 -4.403487 4.562889 -4.403487 4.542964 -4.403487C4.473225 -4.403487 4.443337 -4.383562 4.393524 -4.293898C4.094645 -3.815691 3.88543 -3.656289 3.646326 -3.656289S3.287671 -3.805729 3.138232 -3.975093C2.948941 -4.204234 2.779577 -4.403487 2.450809 -4.403487C1.703611 -4.403487 1.24533 -3.476961 1.24533 -3.267746C1.24533 -3.217933 1.275218 -3.158157 1.364882 -3.158157S1.474471 -3.20797 1.494396 -3.267746C1.683686 -3.726027 2.261519 -3.73599 2.34122 -3.73599C2.550436 -3.73599 2.739726 -3.666252 2.968867 -3.58655C3.367372 -3.437111 3.476961 -3.437111 3.73599 -3.437111C3.377335 -3.008717 2.540473 -2.291407 2.351183 -2.132005L1.454545 -1.295143C0.777086 -0.627646 0.428394 -0.059776 0.428394 0.009963C0.428394 0.109589 0.52802 0.109589 0.547945 0.109589C0.627646 0.109589 0.647572 0.089664 0.707347 -0.019925C0.936488 -0.368618 1.235367 -0.637609 1.554172 -0.637609C1.783313 -0.637609 1.882939 -0.547945 2.132005 -0.259029C2.30137 -0.049813 2.480697 0.109589 2.769614 0.109589C3.755915 0.109589 4.333748 -1.155666 4.333748 -1.424658C4.333748 -1.474471 4.293898 -1.524284 4.214197 -1.524284C4.124533 -1.524284 4.104608 -1.464508 4.07472 -1.39477C3.845579 -0.747198 3.20797 -0.557908 2.879203 -0.557908C2.67995 -0.557908 2.500623 -0.617684 2.291407 -0.687422C1.952677 -0.816936 1.803238 -0.856787 1.594022 -0.856787C1.574097 -0.856787 1.414695 -0.856787 1.325031 -0.826899Z' id='g1-122'/>
+</defs>
+<g id='page1' transform='matrix(1.4 0 0 1.4 0 0)'>
+<use x='159.535257' xlink:href='#g0-60' y='88.138444'/>
+<use x='166.730517' xlink:href='#g1-122' y='88.138444'/>
+<use x='174.569134' xlink:href='#g3-61' y='88.138444'/>
+<use x='225.822935' xlink:href='#g1-110' y='77.419196'/>
+<use x='231.80286' xlink:href='#g1-25' y='77.419196'/>
+<use x='239.034791' xlink:href='#g1-18' y='70.679395'/>
+<use x='246.20231' xlink:href='#g3-43' y='70.679395'/>
+<use x='256.164923' xlink:href='#g1-32' y='70.679395'/>
+<rect height='0.398484' width='23.977148' x='239.034791' y='74.729287'/>
+<use x='248.532697' xlink:href='#g3-50' y='84.253067'/>
+<rect height='0.398484' width='117.468931' x='186.280728' y='85.448535'/>
+<use x='186.280728' xlink:href='#g5-18' y='89.472264'/>
+<use x='194.809885' xlink:href='#g1-18' y='96.779913'/>
+<use x='201.977404' xlink:href='#g3-43' y='96.779913'/>
+<use x='211.940018' xlink:href='#g1-32' y='96.779913'/>
+<rect height='0.398484' width='23.977148' x='194.809885' y='100.829804'/>
+<use x='204.307792' xlink:href='#g3-50' y='110.353584'/>
+<use x='219.982547' xlink:href='#g5-19' y='89.472264'/>
+<use x='227.316191' xlink:href='#g4-50' y='91.536742'/>
+<use x='233.999427' xlink:href='#g3-43' y='103.519714'/>
+<use x='243.96204' xlink:href='#g5-18' y='89.472264'/>
+<use x='252.491198' xlink:href='#g3-49' y='96.779913'/>
+<rect height='0.398484' width='4.981335' x='252.491198' y='100.829804'/>
+<use x='252.491198' xlink:href='#g3-50' y='110.353584'/>
+<use x='260.328446' xlink:href='#g3-108' y='103.519714'/>
+<use x='263.095855' xlink:href='#g3-111' y='103.519714'/>
+<use x='268.077194' xlink:href='#g3-103' y='103.519714'/>
+<use x='274.857276' xlink:href='#g5-12' y='89.073765'/>
+<use x='274.857276' xlink:href='#g5-12' y='95.051409'/>
+<use x='274.857276' xlink:href='#g5-12' y='101.029054'/>
+<use x='274.857276' xlink:href='#g5-12' y='107.006699'/>
+<use x='279.373665' xlink:href='#g1-66' y='96.779913'/>
+<rect height='0.398484' width='8.056595' x='279.373665' y='100.829804'/>
+<use x='279.665965' xlink:href='#g1-65' y='110.353584'/>
+<use x='288.625774' xlink:href='#g5-12' y='89.073765'/>
+<use x='288.625774' xlink:href='#g5-12' y='95.051409'/>
+<use x='288.625774' xlink:href='#g5-12' y='101.029054'/>
+<use x='288.625774' xlink:href='#g5-12' y='107.006699'/>
+<use x='291.946649' xlink:href='#g5-19' y='89.472264'/>
+<use x='299.280293' xlink:href='#g4-50' y='91.536727'/>
+<use x='304.945172' xlink:href='#g1-58' y='88.138444'/>
+<use x='392.749373' xlink:href='#g3-40' y='88.138444'/>
+<use x='396.623747' xlink:href='#g3-49' y='88.138444'/>
+<use x='401.605086' xlink:href='#g3-41' y='88.138444'/>
+<rect height='0.3985' width='108.702853' x='179.272491' y='121.054104'/>
+<rect height='15.940224' width='0.3985' x='179.272491' y='121.452603'/>
+<use x='182.659783' xlink:href='#g1-17' y='131.913375'/>
+<use x='190.731319' xlink:href='#g0-20' y='131.913375'/>
+<use x='201.247399' xlink:href='#g1-67' y='131.913375'/>
+<use x='209.080513' xlink:href='#g3-40' y='131.913375'/>
+<use x='212.954887' xlink:href='#g1-14' y='131.913375'/>
+<use x='217.759779' xlink:href='#g3-40' y='131.913375'/>
+<use x='221.634152' xlink:href='#g1-17' y='131.913375'/>
+<use x='226.938356' xlink:href='#g3-41' y='131.913375'/>
+<use x='233.026596' xlink:href='#g3-43' y='131.913375'/>
+<use x='242.98921' xlink:href='#g3-3' y='131.913375'/>
+<use x='249.907721' xlink:href='#g2-77' y='133.407756'/>
+<use x='258.750963' xlink:href='#g3-40' y='131.913375'/>
+<use x='262.625337' xlink:href='#g3-48' y='131.913375'/>
+<use x='267.606676' xlink:href='#g1-59' y='131.913375'/>
+<use x='272.034484' xlink:href='#g1-14' y='131.913375'/>
+<use x='276.839376' xlink:href='#g3-41' y='131.913375'/>
+<use x='280.71375' xlink:href='#g3-41' y='131.913375'/>
+<rect height='15.940224' width='0.3985' x='287.576845' y='121.452603'/>
+<rect height='0.3985' width='108.702853' x='179.272491' y='137.392827'/>
+<use x='392.749373' xlink:href='#g3-40' y='131.913375'/>
+<use x='396.623747' xlink:href='#g3-50' y='131.913375'/>
+<use x='401.605086' xlink:href='#g3-41' y='131.913375'/>
+<use x='213.967398' xlink:href='#g1-97' y='161.801296'/>
+<use x='222.000884' xlink:href='#g3-61' y='161.801296'/>
+<use x='232.516964' xlink:href='#g1-98' y='161.801296'/>
+<use x='239.006464' xlink:href='#g3-43' y='161.801296'/>
+<use x='248.969078' xlink:href='#g1-99' y='161.801296'/>
+<use x='392.749373' xlink:href='#g3-40' y='161.801296'/>
+<use x='396.623747' xlink:href='#g3-51' y='161.801296'/>
+<use x='401.605086' xlink:href='#g3-41' y='161.801296'/>
+<use x='204.56055' xlink:href='#g1-97' y='201.651856'/>
+<use x='212.594023' xlink:href='#g3-61' y='201.651856'/>
+<use x='223.110103' xlink:href='#g1-98' y='201.651856'/>
+<use x='229.599603' xlink:href='#g3-43' y='201.651856'/>
+<use x='239.562217' xlink:href='#g1-99' y='201.651856'/>
+<use x='387.768038' xlink:href='#g3-40' y='201.651856'/>
+<use x='391.642412' xlink:href='#g3-52' y='201.651856'/>
+<use x='396.623751' xlink:href='#g3-97' y='201.651856'/>
+<use x='401.60509' xlink:href='#g3-41' y='201.651856'/>
+<use x='204.641271' xlink:href='#g1-100' y='216.595816'/>
+<use x='212.594023' xlink:href='#g3-61' y='216.595816'/>
+<use x='223.110103' xlink:href='#g1-101' y='216.595816'/>
+<use x='229.96284' xlink:href='#g3-43' y='216.595816'/>
+<use x='239.925454' xlink:href='#g1-102' y='216.595816'/>
+<use x='248.089267' xlink:href='#g3-43' y='216.595816'/>
+<use x='258.051881' xlink:href='#g1-103' y='216.595816'/>
+<use x='387.214556' xlink:href='#g3-40' y='216.595816'/>
+<use x='391.08893' xlink:href='#g3-52' y='216.595816'/>
+<use x='396.070269' xlink:href='#g3-98' y='216.595816'/>
+<use x='401.605086' xlink:href='#g3-41' y='216.595816'/>
+<use x='204.086634' xlink:href='#g1-104' y='231.539776'/>
+<use x='212.594023' xlink:href='#g3-61' y='231.539776'/>
+<use x='223.110103' xlink:href='#g1-105' y='231.539776'/>
+<use x='228.756227' xlink:href='#g3-43' y='231.539776'/>
+<use x='238.718841' xlink:href='#g1-106' y='231.539776'/>
+<use x='388.321535' xlink:href='#g3-40' y='231.539776'/>
+<use x='392.195908' xlink:href='#g3-52' y='231.539776'/>
+<use x='397.177248' xlink:href='#g3-99' y='231.539776'/>
+<use x='401.605099' xlink:href='#g3-41' y='231.539776'/>
+</g>
+</svg> \ No newline at end of file
diff --git a/latexmath.html b/latexmath.html
new file mode 100644
index 0000000..6fad0c6
--- /dev/null
+++ b/latexmath.html
@@ -0,0 +1,183 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>Embedding LaTeX Math in AsciiDoc dblatex documents</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+<script type="text/javascript" src="./LaTeXMathML.js"></script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="latexmath.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>Embedding LaTeX Math in AsciiDoc dblatex documents</h1>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p>You can include LaTeX math equations in AsciiDoc documents that are
+processed by <a href="http://dblatex.sourceforge.net/">dblatex</a>. The AsciiDoc
+<em>latexmath</em> macros and passthrough blocks generate DocBook
+<em>inlineequation</em>, <em>informalequation</em> and <em>equation</em> elements
+containing the LaTeX markup which is processed by <em>dblatex</em>.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_inline_equations">Inline equations</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>This markup:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>An inline equation latexmath:[$C = \alpha + \beta Y^{\gamma} + \epsilon$]
+using the 'latexmath' inline macro.</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="paragraph"><p>An inline equation $C = \alpha + \beta Y^{\gamma} + \epsilon$
+using the <em>latexmath</em> inline macro.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_informal_equations">Informal equations</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Informal (untitled) equations are generated with a <em>latexmath</em> style
+passthrough delimited block. This markup:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[latexmath]
+++++++++++++++++++++++++++++++++++++++++++++
+\[C = \alpha + \beta Y^{\gamma} + \epsilon\]
+++++++++++++++++++++++++++++++++++++++++++++</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="mathblock">
+<div class="content">
+\[C = \alpha + \beta Y^{\gamma} + \epsilon\]
+</div></div>
+<div class="paragraph"><p>Functionally identical block macro syntax:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>latexmath::[\[C = \alpha + \beta Y^{\gamma} + \epsilon\]]</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="mathblock">
+<div class="content">
+\[C = \alpha + \beta Y^{\gamma} + \epsilon\]
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_formal_equations">Formal equations</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Formal equations are titled and are generated with a <em>latexmath</em> style
+passthrough delimited block.</p></div>
+<div class="paragraph"><p>This markup:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>.First equation
+[latexmath]
+++++++++++++++++++++++++++++++++++++++++++++
+\[C = \alpha + \beta Y^{\gamma} + \epsilon\]
+++++++++++++++++++++++++++++++++++++++++++++</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="mathblock">
+<div class="content">
+<div class="title">First equation</div>
+\[C = \alpha + \beta Y^{\gamma} + \epsilon\]
+</div></div>
+<div class="paragraph"><p>This markup:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>.Matrix
+[latexmath]
+++++++++++++++++++++++++++++++++++++++++++++
+\[ P^{e \rightarrow c}= \left[
+ \begin{array}{*{3}{r@{}l}}
+ &amp; \cos \theta &amp; &amp; \sin \theta \sin \varphi &amp; &amp; \sin \theta \cos \varphi\\
+
+ &amp; \sin \theta \sin \psi
+ &amp; &amp; \cos \varphi \cos \psi - \cos \theta \sin \varphi \sin \psi
+ &amp; - &amp; \sin \varphi \cos \psi - \cos \theta \cos \varphi \sin \psi\\
+
+ - &amp; \sin \theta \cos \psi
+ &amp; &amp; \cos \varphi \sin \psi + \cos \theta \sin \varphi \cos \psi
+ &amp; - &amp; \sin \varphi \sin \psi + \cos \theta \cos \varphi \cos \psi\\
+ \end{array}
+\right] \]
+++++++++++++++++++++++++++++++++++++++++++++</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="mathblock">
+<div class="content">
+<div class="title">Matrix</div>
+\[P^{e \rightarrow c}= \left[
+ \begin{array}{*{3}{r@{}l}}
+ & \cos \theta & & \sin \theta \sin \varphi & & \sin \theta \cos \varphi\\
+
+ & \sin \theta \sin \psi
+ & & \cos \varphi \cos \psi - \cos \theta \sin \varphi \sin \psi
+ & - & \sin \varphi \cos \psi - \cos \theta \cos \varphi \sin \psi\\
+
+ - & \sin \theta \cos \psi
+ & & \cos \varphi \sin \psi + \cos \theta \sin \varphi \cos \psi
+ & - & \sin \varphi \sin \psi + \cos \theta \cos \varphi \cos \psi\\
+ \end{array}
+\right]\]
+</div></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:15 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/latexmathml.html b/latexmathml.html
new file mode 100644
index 0000000..a73ff7f
--- /dev/null
+++ b/latexmathml.html
@@ -0,0 +1,126 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>LaTeXMathML Formulae</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="latexmathml.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>LaTeXMathML Formulae</h1>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p><a href="http://www.maths.nottingham.ac.uk/personal/drw/lm.html">LaTeXMathML</a>
+capability has been added to AsciiDoc for users who are more familar
+with or prefer LaTeX math formulas to the
+<a href="https://asciidoc.org/asciimathml.html">ASCIIMathML</a>
+notation.</p></div>
+<div class="paragraph"><p><em>LaTeXMathML</em> is a derivative of
+<a href="https://asciidoc.org/asciimathml.html">ASCIIMathML</a>&#8201;&#8212;&#8201;in
+terms of usage the only difference it that you use the <code>latexmath</code>
+attribute instead of the <code>asciimath</code> attribute.</p></div>
+<div class="paragraph"><p><em>LaTeXMathML</em> processes LaTeX math formulas not arbitrary LaTeX (as
+<code>dblatex(1)</code> does). See the
+<a href="http://www.maths.nottingham.ac.uk/personal/drw/lm.html">LaTeXMathML</a>
+website for details.</p></div>
+<div class="paragraph"><p>Here&#8217;s the <a href="latexmathml.txt">AsciiDoc source</a> that generated this
+page.</p></div>
+<div class="paragraph"><p>Some example <em>LaTeXMathML</em> formulas:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+$R_x = 10.0 \times \sin(R_\phi)$
+</p>
+</li>
+<li>
+<p>
+$\sum_{n=1}^\infty \frac{1}{2^n}$
+</p>
+</li>
+<li>
+<p>
+$\lim_{x\to\infty} f(x) = k \choose r + \frac ab
+ \sum_{n=1}^\infty a_n + \displaystyle{ \left\{ \frac{1}{13}
+ \sum_{n=1}^\infty b_n \right\} }$
+</p>
+</li>
+<li>
+<p>
+$\$\alpha + \$\beta = \$(\alpha + \beta)$
+</p>
+</li>
+<li>
+<p>
+$\begin{eqnarray} x &amp; = &amp; \frac{-7 \pm
+ \sqrt{49 - 24}}{6} \\ &amp; = &amp; -2 \textrm{ or } -\frac13.
+ \end{eqnarray}$
+</p>
+</li>
+<li>
+<p>
+$\displaystyle{ V_i = C_0 - C_3
+ \frac{C_1\cos(\theta_i+C_3)}{C_4+C_1\cos(\theta_i+C_2)} }$
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:15 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/manpage.html b/manpage.html
new file mode 100644
index 0000000..54a003b
--- /dev/null
+++ b/manpage.html
@@ -0,0 +1,489 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>ASCIIDOC(1)</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./asciidoc-manpage.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="manpage.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>
+ASCIIDOC(1) Manual Page
+</h1>
+<h2>NAME</h2>
+<div class="sectionbody">
+<p>asciidoc -
+ converts an AsciiDoc text file to HTML or DocBook
+</p>
+</div>
+</div>
+<div id="content">
+<div class="sect1">
+<h2 id="_synopsis">SYNOPSIS</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><strong>asciidoc</strong> [<em>OPTIONS</em>] <em>FILE</em></p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_description">DESCRIPTION</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The <code>asciidoc(1)</code> command translates the AsciiDoc text file <em>FILE</em> to
+DocBook or HTML. If <em>FILE</em> is <em>-</em> then the standard input is used.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_options">OPTIONS</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>-a, --attribute</strong>=<em>ATTRIBUTE</em>
+</dt>
+<dd>
+<p>
+ Define or delete document attribute. <em>ATTRIBUTE</em> is formatted like
+ <em>NAME=VALUE</em>. Command-line attributes take precedence over
+ document and configuration file attributes. Alternate acceptable
+ forms are <em>NAME</em> (the <em>VALUE</em> defaults to an empty string);
+ <em>NAME!</em> (delete the <em>NAME</em> attribute); <em>NAME=VALUE@</em> (do not override
+ document or configuration file attributes). Values containing
+ spaces should be enclosed in double-quote characters. This option
+ may be specified more than once. A special attribute named
+ <em>trace</em> controls the output of diagnostic information.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-b, --backend</strong>=<em>BACKEND</em>
+</dt>
+<dd>
+<p>
+ Backend output file format: <em>docbook45</em>, <em>docbook5</em>, <em>xhtml11</em>, <em>html4</em>,
+ <em>html5</em>, <em>slidy</em>, <em>wordpress</em> or <em>latex</em> (the <em>latex</em> backend is
+ experimental). You can also use the backend alias names <em>html</em>
+ (aliased to <em>xhtml11</em>) or <em>docbook</em> (aliased to <em>docbook45</em>).
+ Defaults to <em>html</em>. The <strong>--backend</strong> option is also used to manage
+ backend plugins (see <a href="#X1"><strong>PLUGIN COMMANDS</strong></a>).
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-f, --conf-file</strong>=<em>CONF_FILE</em>
+</dt>
+<dd>
+<p>
+ Use configuration file <em>CONF_FILE</em>.Configuration files processed
+ in command-line order (after implicit configuration files). This
+ option may be specified more than once.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>--doctest</strong>
+</dt>
+<dd>
+<p>
+ Run Python doctests in <em>asciidoc</em> module.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-d, --doctype</strong>=<em>DOCTYPE</em>
+</dt>
+<dd>
+<p>
+ Document type: <em>article</em>, <em>manpage</em> or <em>book</em>. The <em>book</em> document
+ type is only supported by the <em>docbook</em> backends. Default document
+ type is <em>article</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-c, --dump-conf</strong>
+</dt>
+<dd>
+<p>
+ Dump configuration to stdout.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>--filter</strong>=<em>FILTER</em>
+</dt>
+<dd>
+<p>
+ Specify the name of a filter to be loaded (used to load filters
+ that are not auto-loaded). This option may be specified more than
+ once. The <strong>--filter</strong> option is also used to manage filter plugins
+ (see <a href="#X1"><strong>PLUGIN COMMANDS</strong></a>).
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-h, --help</strong> [<em>TOPIC</em>]
+</dt>
+<dd>
+<p>
+ Print help TOPIC. <strong>--help</strong> <em>topics</em> will print a list of help
+ topics, <strong>--help</strong> <em>syntax</em> summarizes AsciiDoc syntax,
+ <strong>--help</strong> <em>manpage</em> prints the AsciiDoc manpage.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-e, --no-conf</strong>
+</dt>
+<dd>
+<p>
+ Exclude implicitly loaded configuration files except for those
+ named like the input file (<em>infile.conf</em> and
+ <em>infile-backend.conf</em>).
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-s, --no-header-footer</strong>
+</dt>
+<dd>
+<p>
+ Suppress document header and footer output.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-o, --out-file</strong>=<em>OUT_FILE</em>
+</dt>
+<dd>
+<p>
+ Write output to file <em>OUT_FILE</em>. Defaults to the base name of
+ input file with <em>backend</em> extension. If the input is stdin then
+ the outfile defaults to stdout. If <em>OUT_FILE</em> is <em>-</em> then the
+ standard output is used.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-n, --section-numbers</strong>
+</dt>
+<dd>
+<p>
+ Auto-number HTML article section titles. Synonym for
+ <strong>--attribute numbered</strong>.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>--safe</strong>
+</dt>
+<dd>
+<p>
+ Enable safe mode. Safe mode is disabled by default. AsciiDoc
+ <em>safe mode</em> skips potentially dangerous scripted sections in
+ AsciiDoc source files.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>--theme</strong>=<em>THEME</em>
+</dt>
+<dd>
+<p>
+ Specify a theme name. Synonym for <strong>--attribute theme</strong>=<em>THEME</em>.
+ The <strong>--theme</strong> option is also used to manage theme plugins (see
+ <a href="#X1"><strong>PLUGIN COMMANDS</strong></a>).
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>-v, --verbose</strong>
+</dt>
+<dd>
+<p>
+ Verbosely print processing information and configuration file
+ checks to stderr.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>--version</strong>
+</dt>
+<dd>
+<p>
+ Print program version number.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X1">PLUGIN COMMANDS</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The <code>asciidoc(1)</code> <strong>--filter</strong>, <strong>--backend</strong> and <strong>--theme</strong> options are used
+to install, remove and list AsciiDoc filter, backend and theme
+plugins. Syntax:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>asciidoc OPTION install ZIP_FILE [PLUGINS_DIR]
+asciidoc OPTION remove PLUGIN_NAME [PLUGINS_DIR]
+asciidoc OPTION list
+asciidoc OPTION build ZIP_FILE PLUGIN_SOURCE</code></pre>
+</div></div>
+<div class="paragraph"><p>Where:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>OPTION</strong>
+</dt>
+<dd>
+<p>
+ <code>asciidoc(1)</code> <strong>--filter</strong>, <strong>--backend</strong> or <strong>--theme</strong> option specifying
+ the type of plugin.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>PLUGIN_NAME</strong>
+</dt>
+<dd>
+<p>
+ A unique plugin name containing only alphanumeric or underscore
+ characters.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>ZIP_FILE</strong>
+</dt>
+<dd>
+<p>
+ A Zip file containing plugin resources, the name must start with the
+ plugin name e.g. <code>my_filter-1.0.zip</code> packages filter <code>my_filter</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>PLUGINS_DIR</strong>
+</dt>
+<dd>
+<p>
+ The directory containing installed plugins. Each plugin is contained
+ in its own separate subdirectory which has the same name as the
+ plugin.
+ <strong>PLUGINS_DIR</strong> defaults to the <code>$HOME/.asciidoc/filters</code> (for
+ filter plugins) or <code>$HOME/.asciidoc/backends</code> (for backend plugins) or
+ <code>$HOME/.asciidoc/themes</code> (for theme plugins).
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>PLUGIN_SOURCE</strong>
+</dt>
+<dd>
+<p>
+ The name of a directory containing the plugin source files or the
+ name of a single source file.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>The plugin commands perform as follows:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>install</strong>
+</dt>
+<dd>
+<p>
+ Create a subdirectory in <strong>PLUGINS_DIR</strong> with the same name as the
+ plugin then extract the <strong>ZIP_FILE</strong> into it.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>remove</strong>
+</dt>
+<dd>
+<p>
+ Delete the <strong>PLUGIN_NAME</strong> plugin subdirectory and all its contents
+ from the <strong>PLUGINS_DIR</strong>.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>list</strong>
+</dt>
+<dd>
+<p>
+ List the names and locations of all installed filter or theme
+ plugins (including standard plugins installed in the global
+ configuration directory).
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>build</strong>
+</dt>
+<dd>
+<p>
+ Create a plugin file named <strong>ZIP_FILE</strong> containing the files and
+ subdirectories specified by <strong>PLUGIN_SOURCE</strong>. File and directory
+ names starting with a period are skipped.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_environment_variables">ENVIRONMENT VARIABLES</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong><code>SOURCE_DATE_EPOCH</code></strong>
+</dt>
+<dd>
+<p>
+ If the <code>SOURCE_DATE_EPOCH</code> environment variable is set to a UNIX
+ timestamp, then the <code>{docdate}</code>, <code>{doctime}</code>, <code>{localdate}</code>, and
+ <code>{localtime}</code> attributes are computed in the UTC time zone, with any
+ timestamps newer than <code>SOURCE_DATE_EPOCH</code> replaced by
+ <code>SOURCE_DATE_EPOCH</code>. (This helps software using AsciiDoc to build
+ reproducibly.)
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_examples">EXAMPLES</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>asciidoc asciidoc_file_name.txt</code>
+</dt>
+<dd>
+<p>
+ Simply generate an html file from the asciidoc_file_name.txt that is in
+ current directory using asciidoc.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>asciidoc -b html5 asciidoc_file_name.txt</code>
+</dt>
+<dd>
+<p>
+ Use the <code>-b</code> switch to use one of the proposed backend or another one you
+ installed on your computer.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>asciidoc -a data-uri -a icons -a toc -a max-width=55em article.txt</code>
+</dt>
+<dd>
+<p>
+ Use the <code>-a</code> switch to set attributes from command-line. AsciiDoc generated
+ its stand-alone HTML user guide containing embedded CSS, JavaScript and
+ images from the AsciiDoc article template with this command.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>asciidoc -b html5 -d manpage asciidoc.1.txt</code>
+</dt>
+<dd>
+<p>
+ Generating the asciidoc manpage using the html5 backend.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_exit_status">EXIT STATUS</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>0</strong>
+</dt>
+<dd>
+<p>
+ Success
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>1</strong>
+</dt>
+<dd>
+<p>
+ Failure (syntax or usage error; configuration error; document
+ processing failure; unexpected error).
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_bugs">BUGS</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>See the AsciiDoc distribution BUGS file.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_author">AUTHOR</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc was originally written by Stuart Rackham. Many people have
+contributed to it.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_resources">RESOURCES</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>GitHub: <a href="https://github.com/asciidoc/asciidoc-py3/">https://github.com/asciidoc/asciidoc-py3/</a></p></div>
+<div class="paragraph"><p>Main web site: <a href="https://asciidoc.org/">https://asciidoc.org/</a></p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_see_also">SEE ALSO</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><code>a2x(1)</code></p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_copying">COPYING</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Copyright (C) 2002-2013 Stuart Rackham.</p></div>
+<div class="paragraph"><p>Copyright (C) 2013-2020 AsciiDoc Contributors.</p></div>
+<div class="paragraph"><p>Free use of this software is granted under the terms of the GNU General
+Public License version 2 (GPLv2).</p></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:15 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/music-filter.html b/music-filter.html
new file mode 100644
index 0000000..674ff16
--- /dev/null
+++ b/music-filter.html
@@ -0,0 +1,237 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>Music Filter</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="music-filter.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>Music Filter</h1>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p>The AsciiDoc distribution includes a Music Block filter that
+translates music in <a href="http://lilypond.org/">LilyPond</a> or
+<a href="http://abcnotation.org.uk/">ABC</a> notation to standard classical
+notation in the form of a trimmed PNG image which is automatically
+inserted into the AsciiDoc output document (see the examples below).</p></div>
+<div class="paragraph"><p>Actually the filter (<code>./filters/music/music2png.py</code>) can be used outside
+AsciiDoc to convert LilyPond or ABC music files to PNG images.
+Execute the following command to see how to use it:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ ./filters/music/music2png.py --help</code></pre>
+</div></div>
+<div class="exampleblock">
+<div class="title">Example 1. Music Block containing ABC notation</div>
+<div class="content">
+<div class="paragraph"><p>This Music Block:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>["music","music1.png",scaledwidth="100%"]
+---------------------------------------------------------------------
+T:The Butterfly
+R:slip jig
+C:Tommy Potts
+H:Fiddle player Tommy Potts made this tune from two older slip jigs,
+H:one of which is called "Skin the Peelers" in Roche's collection.
+H:This version by Peter Cooper.
+D:Bothy Band: 1975.
+M:9/8
+K:Em
+vB2(E G2)(E F3)|B2(E G2)(E F)ED|vB2(E G2)(E F3)|(B2d) d2(uB A)FD:|
+|:(vB2c) (e2f) g3|(uB2d) (g2e) (dBA)|(B2c) (e2f) g2(ua|b2a) (g2e) (dBA):|
+|:~B3 (B2A) G2A|~B3 BA(uB d)BA|~B3 (B2A) G2(A|B2d) (g2e) (dBA):|
+---------------------------------------------------------------------</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="imageblock music">
+<div class="content">
+<img src="music1.png" alt="music1.png" />
+</div>
+</div>
+</div></div>
+<div class="exampleblock">
+<div class="title">Example 2. Music Block containing LilyPond notation</div>
+<div class="content">
+<div class="paragraph"><p>This example contains LilyPond musical markup.</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[music]
+---------------------------------------------------------------------
+\version "2.14.2"
+\paper {
+ ragged-right = ##t
+}
+{
+ \time 3/4
+ \clef bass
+ c2 e4 g2. f4 e d c2 r4
+}
+---------------------------------------------------------------------</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="imageblock music">
+<div class="content">
+<img src="music-filter__1.png" alt="music-filter__1.png" />
+</div>
+</div>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">If you get an error processing the above example it may be that
+it is not compatible with your version of LilyPond. Use the LilyPond
+<code>convert-ly(1)</code> utility to update the source to the version that you
+are using.</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_using_the_filter">Using the Filter</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+The Music filter is invoked by setting the Listing block or
+ Paragraph style (the first positional block attribute) to <em>music</em>.
+</p>
+</li>
+<li>
+<p>
+The second positional attribute (named <em>target</em> is optional, it sets
+ the name of the generated PNG image file. If this is not supplied a
+ file name like <code>{docname}__{target-number}.png</code> is synthesised
+ (where <code>{docname}</code> is the document file name and <code>{target-number}</code>
+ is an integer number.
+</p>
+</li>
+<li>
+<p>
+The third positional attribute (<em>format</em>) specifies the music input
+ format: either <em>abc</em> for ABC or <em>ly</em> for LilyPond. If the format is
+ omitted ABC notation is assumed unless the text starts with a
+ backslash character, in which case the format is set to <em>ly</em>.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Because the LaTeX images are rendered using the image block templates
+you can also use the optional named image block attributes (see
+<a href="userguide.html#X55">Image macro attributes</a> in the AsciiDoc User
+Guide).</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_limitations">Limitations</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+The <code>asciidoc(1)</code> input and output files cannot both be <code>-</code> (stdin
+ and stdout), either the input or output files (or both) must be a
+ named file.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_installation">Installation</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>In addition to AsciiDoc you will need to have installed:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<a href="http://lilypond.org/web/">LilyPond</a> (most Linux distributions include
+ this package).
+</p>
+</li>
+<li>
+<p>
+<a href="http://www.imagemagick.org">ImageMagick</a> (most Linux distributions
+ include this package).
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Test the music filter it by converting the test file to HTML with AsciiDoc:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -v ./filters/music/music-filter-test.txt
+$ firefox ./filters/music/music-filter-test.html &amp;</code></pre>
+</div></div>
+<div class="paragraph"><p>The filter was developed and tested on Xubuntu Linux using LilyPond
+2.10.5 and ImageMagick 6.2.4.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">The filter does not work with LilyPond 2.2.6 because it did not
+generate the requested output file name correctly (2.6.3 does not have
+a problem).</td>
+</tr></table>
+</div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:15 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/music-filter__1.png b/music-filter__1.png
new file mode 100644
index 0000000..f3b03fc
--- /dev/null
+++ b/music-filter__1.png
Binary files differ
diff --git a/music1.png b/music1.png
new file mode 100644
index 0000000..079fb95
--- /dev/null
+++ b/music1.png
Binary files differ
diff --git a/newlists.html b/newlists.html
new file mode 100644
index 0000000..ddfdf2b
--- /dev/null
+++ b/newlists.html
@@ -0,0 +1,120 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>AsciiDoc New Lists</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="newlists.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>AsciiDoc New Lists</h1>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p><strong>New in version 8.3.0</strong></p></div>
+<div class="paragraph"><p>Lists can now be styled like other block elements, this allows the
+normal bulleted and labeled list syntax to be used for <em>glossary</em>,
+<em>qanda</em> (Question and Answer) and <em>bibliography</em> lists instead of
+having to remember a different syntax for each one. In the same vein
+there is only one labeled list syntax, horizontal labeled lists are
+rendered by applying the <em>horizontal</em> style. Examples:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[glossary]
+A glossary term::
+ The corresponding definition.
+A second glossary term::
+ The corresponding definition.
+
+[horizontal]
+Lorem:: Fusce euismod commodo velit.
+Ipsum:: Vivamus fringilla mi eu lacus.</code></pre>
+</div></div>
+<div class="paragraph"><p>The list related stuff in the configuration files has been
+rationalized with separate <em>listtags-*</em> sections (c.f. table
+<em>tabletags-*</em> sections). The old list tags are no longer supported so
+you&#8217;ll need to update your custom configuration file list definitions.</p></div>
+<div class="paragraph"><p>These changes necessitated the following backward incompatibilities:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+You have to explicitly precede horizontal labeled lists with the
+ <code>[horizontal]</code> style attribute&#8201;&#8212;&#8201;if you do nothing the existing
+ horizontal labeled lists will be rendered vertically.
+</p>
+</li>
+<li>
+<p>
+The old <em>compact</em> list style is now implemented as a list option, to
+ update replace <code>[compact]</code> with <code>[options="compact"]</code>. You can now
+ apply the <em>compact</em> option globally by setting the <code>compact-option</code>
+ document attribute.
+</p>
+</li>
+<li>
+<p>
+You&#8217;ll need to update any customized configuration file list
+ definitions that have been made.
+</p>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:17 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/newtables.html b/newtables.html
new file mode 100644
index 0000000..15cdde9
--- /dev/null
+++ b/newtables.html
@@ -0,0 +1,1392 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>AsciiDoc New tables</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="newtables.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>AsciiDoc New tables</h1>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p><strong>New in version 8.3.0</strong></p></div>
+<div class="paragraph"><p>I&#8217;ve finally come up with a <em>new tables</em> syntax that I&#8217;m happy with
+and can at last remove this footnote from the <em>User Guide</em>: &#8220;The
+current table syntax is overly complicated and unwieldy to edit,
+hopefully a more usable syntax will appear in future versions of
+AsciiDoc.&#8221;</p></div>
+<div class="sidebarblock">
+<div class="content">
+<div class="title">Update</div>
+<div class="paragraph"><p>The following additions were made at AsciiDoc 8.4.4:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Cell column and row spanning.
+</p>
+</li>
+<li>
+<p>
+Styles can be applied per cell.
+</p>
+</li>
+<li>
+<p>
+Vertical cell alignment can be applied to columns and cells.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>See the examples at the end of this document.</p></div>
+</div></div>
+<div class="paragraph"><p>At first glance it doesn&#8217;t look much different to the old syntax but
+it&#8217;s a lot more flexible, easier to enter and supports a lot of column
+styles (for example the <em>asciidoc</em> style supports AsciiDoc block and
+inline elements). The old tables syntax has been deprecated but is
+currently still processed. Here are some examples of AsciiDoc <em>new
+tables</em>:</p></div>
+<div class="tableblock">
+<table rules="all"
+width="15%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 1. Simple table</caption>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">1</p></td>
+<td align="left" valign="top"><p class="table">2</p></td>
+<td align="left" valign="top"><p class="table">A</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">3</p></td>
+<td align="left" valign="top"><p class="table">4</p></td>
+<td align="left" valign="top"><p class="table">B</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">5</p></td>
+<td align="left" valign="top"><p class="table">6</p></td>
+<td align="left" valign="top"><p class="table">C</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>[width="15%"]
+|=======
+|1 |2 |A
+|3 |4 |B
+|5 |6 |C
+|=======</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+width="40%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 2. Table with title, header and footer</caption>
+<col width="50%" />
+<col width="50%" />
+<thead>
+<tr>
+<th align="left" valign="top">Column 1 </th>
+<th align="left" valign="top">Column 2</th>
+</tr>
+</thead>
+<tfoot>
+<tr>
+<td align="left" valign="top"><p class="table">6</p></td>
+<td align="left" valign="top"><p class="table">Three items</p></td>
+</tr>
+</tfoot>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">1</p></td>
+<td align="left" valign="top"><p class="table">Item 1</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">2</p></td>
+<td align="left" valign="top"><p class="table">Item 2</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">3</p></td>
+<td align="left" valign="top"><p class="table">Item 3</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>.An example table
+[width="40%",frame="topbot",options="header,footer"]
+|======================
+|Column 1 |Column 2
+|1 |Item 1
+|2 |Item 2
+|3 |Item 3
+|6 |Three items
+|======================</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+width="50%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 3. Columns formatted with strong, monospaced and emphasis styles</caption>
+<col width="20%" />
+<col width="40%" />
+<col width="40%" />
+<thead>
+<tr>
+<th align="right" valign="top"> </th>
+<th colspan="2" align="center" valign="top">Columns 2 and 3</th>
+</tr>
+</thead>
+<tfoot>
+<tr>
+<td align="right" valign="top"><p class="table"><strong>footer 1</strong></p></td>
+<td align="center" valign="top"><p class="table"><code>footer 2</code></p></td>
+<td align="center" valign="top"><p class="table"><em>footer 3</em></p></td>
+</tr>
+</tfoot>
+<tbody>
+<tr>
+<td align="right" valign="top"><p class="table"><strong>1</strong></p></td>
+<td align="center" valign="top"><p class="table"><code>Item 1</code></p></td>
+<td align="center" valign="top"><p class="table"><em>Item 1</em></p></td>
+</tr>
+<tr>
+<td align="right" valign="top"><p class="table"><strong>2</strong></p></td>
+<td align="center" valign="top"><p class="table"><code>Item 2</code></p></td>
+<td align="center" valign="top"><p class="table"><em>Item 2</em></p></td>
+</tr>
+<tr>
+<td align="right" valign="top"><p class="table"><strong>3</strong></p></td>
+<td align="center" valign="top"><p class="table"><code>Item 3</code></p></td>
+<td align="center" valign="top"><p class="table"><em>Item 3</em></p></td>
+</tr>
+<tr>
+<td align="right" valign="top"><p class="table"><strong>4</strong></p></td>
+<td align="center" valign="top"><p class="table"><code>Item 4</code></p></td>
+<td align="center" valign="top"><p class="table"><em>Item 4</em></p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>.An example table
+[width="50%",cols="&gt;s,^2m,^2e",frame="topbot",options="header,footer"]
+|==========================
+| 2+|Columns 2 and 3
+|1 |Item 1 |Item 1
+|2 |Item 2 |Item 2
+|3 |Item 3 |Item 3
+|4 |Item 4 |Item 4
+|footer 1|footer 2|footer 3
+|==========================</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 4. A table with externally sourced CSV data</caption>
+<col width="11%" />
+<col width="22%" />
+<col width="22%" />
+<col width="22%" />
+<col width="22%" />
+<thead>
+<tr>
+<th align="center" valign="top">ID</th>
+<th align="left" valign="top">Customer Name</th>
+<th align="left" valign="top">Contact Name</th>
+<th align="left" valign="top">Customer Address</th>
+<th align="left" valign="top">Phone</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="center" valign="top"><p class="table">AROUT</p></td>
+<td align="left" valign="top"><p class="table">Around the Horn</p></td>
+<td align="left" valign="top"><p class="table">Thomas Hardy</p></td>
+<td align="left" valign="top"><p class="table">120 Hanover Sq.
+London</p></td>
+<td align="left" valign="top"><p class="table">(171) 555-7788</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BERGS</p></td>
+<td align="left" valign="top"><p class="table">Berglunds snabbkop</p></td>
+<td align="left" valign="top"><p class="table">Christina Berglund</p></td>
+<td align="left" valign="top"><p class="table">Berguvsvagen 8
+Lulea</p></td>
+<td align="left" valign="top"><p class="table">0921-12 34 65</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BLAUS</p></td>
+<td align="left" valign="top"><p class="table">Blauer See Delikatessen</p></td>
+<td align="left" valign="top"><p class="table">Hanna Moos</p></td>
+<td align="left" valign="top"><p class="table">Forsterstr. 57
+Mannheim</p></td>
+<td align="left" valign="top"><p class="table">0621-08460</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BLONP</p></td>
+<td align="left" valign="top"><p class="table">Blondel pere et fils</p></td>
+<td align="left" valign="top"><p class="table">Frederique Citeaux</p></td>
+<td align="left" valign="top"><p class="table">24, place Kleber
+Strasbourg</p></td>
+<td align="left" valign="top"><p class="table">88.60.15.31</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BOLID</p></td>
+<td align="left" valign="top"><p class="table">Bolido Comidas preparadas</p></td>
+<td align="left" valign="top"><p class="table">Martin Sommer</p></td>
+<td align="left" valign="top"><p class="table">C/ Araquil, 67
+Madrid</p></td>
+<td align="left" valign="top"><p class="table">(91) 555 22 82</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BONAP</p></td>
+<td align="left" valign="top"><p class="table">Bon app'</p></td>
+<td align="left" valign="top"><p class="table">Laurence Lebihan</p></td>
+<td align="left" valign="top"><p class="table">12, rue des Bouchers
+Marseille</p></td>
+<td align="left" valign="top"><p class="table">91.24.45.40</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BOTTM</p></td>
+<td align="left" valign="top"><p class="table">Bottom-Dollar Markets</p></td>
+<td align="left" valign="top"><p class="table">Elizabeth Lincoln</p></td>
+<td align="left" valign="top"><p class="table">23 Tsawassen Blvd.
+Tsawassen</p></td>
+<td align="left" valign="top"><p class="table">(604) 555-4729</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BSBEV</p></td>
+<td align="left" valign="top"><p class="table">B&#8217;s Beverages</p></td>
+<td align="left" valign="top"><p class="table">Victoria Ashworth</p></td>
+<td align="left" valign="top"><p class="table">Fauntleroy Circus
+London</p></td>
+<td align="left" valign="top"><p class="table">(171) 555-1212</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">CACTU</p></td>
+<td align="left" valign="top"><p class="table">Cactus Comidas para llevar</p></td>
+<td align="left" valign="top"><p class="table">Patricio Simpson</p></td>
+<td align="left" valign="top"><p class="table">Cerrito 333
+Buenos Aires</p></td>
+<td align="left" valign="top"><p class="table">(1) 135-5555</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code> [format="csv",cols="^1,4*2",options="header"]
+ |===================================================
+ ID,Customer Name,Contact Name,Customer Address,Phone
+ include::customers.csv[]
+ |===================================================</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+width="70%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 5. DVS formatted table</caption>
+<col width="14%" />
+<col width="14%" />
+<col width="14%" />
+<col width="14%" />
+<col width="14%" />
+<col width="14%" />
+<col width="14%" />
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">root</p></td>
+<td align="left" valign="top"><p class="table">x</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table">root</p></td>
+<td align="left" valign="top"><p class="table">/root</p></td>
+<td align="left" valign="top"><p class="table">/bin/bash</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">daemon</p></td>
+<td align="left" valign="top"><p class="table">x</p></td>
+<td align="left" valign="top"><p class="table">1</p></td>
+<td align="left" valign="top"><p class="table">1</p></td>
+<td align="left" valign="top"><p class="table">daemon</p></td>
+<td align="left" valign="top"><p class="table">/usr/sbin</p></td>
+<td align="left" valign="top"><p class="table">/bin/sh</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">bin</p></td>
+<td align="left" valign="top"><p class="table">x</p></td>
+<td align="left" valign="top"><p class="table">2</p></td>
+<td align="left" valign="top"><p class="table">2</p></td>
+<td align="left" valign="top"><p class="table">bin</p></td>
+<td align="left" valign="top"><p class="table">/bin</p></td>
+<td align="left" valign="top"><p class="table">/bin/sh</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">sys</p></td>
+<td align="left" valign="top"><p class="table">x</p></td>
+<td align="left" valign="top"><p class="table">3</p></td>
+<td align="left" valign="top"><p class="table">3</p></td>
+<td align="left" valign="top"><p class="table">sys</p></td>
+<td align="left" valign="top"><p class="table">/dev</p></td>
+<td align="left" valign="top"><p class="table">/bin/sh</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">sync</p></td>
+<td align="left" valign="top"><p class="table">x</p></td>
+<td align="left" valign="top"><p class="table">4</p></td>
+<td align="left" valign="top"><p class="table">65534</p></td>
+<td align="left" valign="top"><p class="table">sync</p></td>
+<td align="left" valign="top"><p class="table">/bin</p></td>
+<td align="left" valign="top"><p class="table">/bin/sync</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">games</p></td>
+<td align="left" valign="top"><p class="table">x</p></td>
+<td align="left" valign="top"><p class="table">5</p></td>
+<td align="left" valign="top"><p class="table">60</p></td>
+<td align="left" valign="top"><p class="table">games</p></td>
+<td align="left" valign="top"><p class="table">/usr/games</p></td>
+<td align="left" valign="top"><p class="table">/bin/sh</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>[width="70%",format="dsv"]
+|====================================
+root:x:0:0:root:/root:/bin/bash
+daemon:x:1:1:daemon:/usr/sbin:/bin/sh
+bin:x:2:2:bin:/bin:/bin/sh
+sys:x:3:3:sys:/dev:/bin/sh
+sync:x:4:65534:sync:/bin:/bin/sync
+games:x:5:60:games:/usr/games:/bin/sh
+|====================================</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+width="80%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 6. Horizontal and vertical source data</caption>
+<col width="17%" />
+<col width="11%" />
+<col width="11%" />
+<col width="58%" />
+<thead>
+<tr>
+<th align="left" valign="top">Date </th>
+<th align="center" valign="top">Duration </th>
+<th align="center" valign="top">Avg HR </th>
+<th align="left" valign="top">Notes</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">22-Aug-08</p></td>
+<td align="center" valign="top"><p class="table">10:24</p></td>
+<td align="center" valign="top"><p class="table">157</p></td>
+<td align="left" valign="top"><p class="table">Worked out MSHR (max sustainable heart rate) by going hard
+for this interval.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">22-Aug-08</p></td>
+<td align="center" valign="top"><p class="table">23:03</p></td>
+<td align="center" valign="top"><p class="table">152</p></td>
+<td align="left" valign="top"><p class="table">Back-to-back with previous interval.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">24-Aug-08</p></td>
+<td align="center" valign="top"><p class="table">40:00</p></td>
+<td align="center" valign="top"><p class="table">145</p></td>
+<td align="left" valign="top"><p class="table">Moderately hard interspersed with 3x 3min intervals (2min
+hard + 1min really hard taking the HR up to 160).</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="paragraph"><p>Short cells can be entered horizontally, longer cells vertically. The
+default behavior is to strip leading and trailing blank lines within a
+cell. These characteristics aid readability and data entry.</p></div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>.Windtrainer workouts
+[width="80%",cols="3,^2,^2,10",options="header"]
+|=========================================================
+|Date |Duration |Avg HR |Notes
+
+|22-Aug-08 |10:24 | 157 |
+Worked out MSHR (max sustainable heart rate) by going hard
+for this interval.
+
+|22-Aug-08 |23:03 | 152 |
+Back-to-back with previous interval.
+
+|24-Aug-08 |40:00 | 145 |
+Moderately hard interspersed with 3x 3min intervals (2min
+hard + 1min really hard taking the HR up to 160).
+
+|=========================================================</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 7. Default and verse styles</caption>
+<col width="50%" />
+<col width="50%" />
+<thead>
+<tr>
+<th align="left" valign="top">Default paragraphs </th>
+<th align="center" valign="top">Centered verses</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">Per id.</p>
+<p class="table">Consul <strong>necessitatibus</strong> per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</p>
+<p class="table">Consul <strong>necessitatibus</strong> per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</p></td>
+<td align="center" valign="top"><div class="verse">Per id.
+
+Consul <strong>necessitatibus</strong> per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.
+
+Consul <strong>necessitatibus</strong> per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</div></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>[cols=",^v",options="header"]
+|===================================
+|Default paragraphs |Centered verses
+2*|Per id.
+
+Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.
+
+Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.
+|===================================</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+width="50%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 8. Horizontal and vertial headings</caption>
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
+<thead>
+<tr>
+<th align="left" valign="top"> </th>
+<th align="left" valign="top">West </th>
+<th align="left" valign="top">Central </th>
+<th align="left" valign="top">East </th>
+<th align="left" valign="top"> Total</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table header">Q1</p></td>
+<td align="left" valign="top"><p class="table">270</p></td>
+<td align="left" valign="top"><p class="table">292</p></td>
+<td align="left" valign="top"><p class="table">342</p></td>
+<td align="left" valign="top"><p class="table">904</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table header">Q2</p></td>
+<td align="left" valign="top"><p class="table">322</p></td>
+<td align="left" valign="top"><p class="table">276</p></td>
+<td align="left" valign="top"><p class="table">383</p></td>
+<td align="left" valign="top"><p class="table">981</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table header">Q3</p></td>
+<td align="left" valign="top"><p class="table">298</p></td>
+<td align="left" valign="top"><p class="table">252</p></td>
+<td align="left" valign="top"><p class="table">274</p></td>
+<td align="left" valign="top"><p class="table">824</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table header">Q4</p></td>
+<td align="left" valign="top"><p class="table">344</p></td>
+<td align="left" valign="top"><p class="table">247</p></td>
+<td align="left" valign="top"><p class="table">402</p></td>
+<td align="left" valign="top"><p class="table">993</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>.Horizontal and vertial headings
+[cols="h,4*",options="header",width="50%"]
+|==================================
+| |West |Central |East | Total
+|Q1 |270 |292 |342 | 904
+|Q2 |322 |276 |383 | 981
+|Q3 |298 |252 |274 | 824
+|Q4 |344 |247 |402 | 993
+|==================================</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="cols"
+width="100%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 9. AsciiDoc style in first column, Literal in second</caption>
+<col width="50%" />
+<col width="50%" />
+<thead>
+<tr>
+<th align="left" valign="top">Output markup </th>
+<th align="left" valign="top">AsciiDoc source</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><div><div class="paragraph"><p>Consul <strong>necessitatibus</strong> per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</code></pre>
+</div></div>
+<div class="listingblock">
+<div class="title">Code filter example</div>
+<div class="content">
+<pre><code><span style="color:#bf0303">&apos;&apos;&apos; A multi-line</span>
+<span style="color:#bf0303"> comment.&apos;&apos;&apos;</span>
+<span style="color:#000000; font-weight:bold">def</span> <span style="color:#010181">sub_word</span><span style="color:#000000">(</span>mo<span style="color:#000000">):</span>
+ <span style="color:#bf0303">&apos;&apos;&apos; Single line comment.&apos;&apos;&apos;</span>
+ word <span style="color:#000000">=</span> mo<span style="color:#000000">.</span><span style="color:#010181">group</span><span style="color:#000000">(</span><span style="color:#bf0303">&apos;word&apos;</span><span style="color:#000000">)</span>
+ <span style="color:#000000; font-weight:bold">if</span> word <span style="color:#000000; font-weight:bold">in</span> keywords<span style="color:#000000">[</span>language<span style="color:#000000">]:</span>
+ <span style="color:#000000; font-weight:bold">return</span> quote <span style="color:#000000">+</span> word <span style="color:#000000">+</span> quote
+ <span style="color:#000000; font-weight:bold">else</span><span style="color:#000000">:</span>
+ <span style="color:#000000; font-weight:bold">return</span> word</code></pre>
+</div></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Lorem ipsum dolor sit amet,
+ consectetuer adipiscing elit.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+</li>
+<li>
+<p>
+Qui in magna commodo, est labitur
+ dolorum an. Est ne magna primis
+ adolescens. Sit munere ponderum
+ dignissim et. Minim luptatum et vel.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum nunc
+ consequat lobortis.
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+Nulla porttitor vulputate libero.
+</p>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+</ol></div>
+</li>
+</ul></div></div></td>
+<td align="left" valign="top"><div class="literal"><pre><code>Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.
+
+-----------------------------------
+Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.
+-----------------------------------
+
+.Code filter example
+[source,python]
+-----------------------------------
+''' A multi-line
+ comment.'''
+def sub_word(mo):
+ ''' Single line comment.'''
+ word = mo.group('word')
+ if word in keywords[language]:
+ return quote + word + quote
+ else:
+ return word
+-----------------------------------
+
+- Lorem ipsum dolor sit amet,
+ consectetuer adipiscing elit.
+ * Fusce euismod commodo velit.
+ * Qui in magna commodo, est labitur
+ dolorum an. Est ne magna primis
+ adolescens. Sit munere ponderum
+ dignissim et. Minim luptatum et vel.
+ * Vivamus fringilla mi eu lacus.
+ * Donec eget arcu bibendum nunc
+ consequat lobortis.
+- Nulla porttitor vulputate libero.
+ . Fusce euismod commodo velit.
+ . Vivamus fringilla mi eu lacus.</code></pre></div></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>[cols="asciidoc,literal",options="header",grid="cols"]
+|==================================
+|Output markup |AsciiDoc source
+2*|
+Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.
+
+-----------------------------------
+Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.
+-----------------------------------
+
+.Code filter example
+[source,python]
+-----------------------------------
+''' A multi-line
+ comment.'''
+def sub_word(mo):
+ ''' Single line comment.'''
+ word = mo.group('word')
+ if word in keywords[language]:
+ return quote + word + quote
+ else:
+ return word
+-----------------------------------
+
+- Lorem ipsum dolor sit amet,
+ consectetuer adipiscing elit.
+ * Fusce euismod commodo velit.
+ * Qui in magna commodo, est labitur
+ dolorum an. Est ne magna primis
+ adolescens. Sit munere ponderum
+ dignissim et. Minim luptatum et vel.
+ * Vivamus fringilla mi eu lacus.
+ * Donec eget arcu bibendum nunc
+ consequat lobortis.
+- Nulla porttitor vulputate libero.
+ . Fusce euismod commodo velit.
+ . Vivamus fringilla mi eu lacus.
+
+|==================================</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 10. Cell containing lots of example markup elements</caption>
+<col width="100%" />
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><em>URLs</em>:
+<a href="https://asciidoc.org/">The AsciiDoc home page</a>,
+<a href="https://asciidoc.org/">https://asciidoc.org/</a>,
+<a href="mailto:joe.bloggs@example.com">email Joe Bloggs</a>,
+<a href="mailto:joe.bloggs@example.com">joe.bloggs@example.com</a>,
+<a href="callto:joe.bloggs">joe.bloggs</a>.</p>
+<p class="table"><em>Link</em>: See <a href="#X1">AsciiDoc source</a>.</p>
+<p class="table"><em>Emphasized text</em>, <strong>Strong text</strong>, <code>Monospaced text</code>, &#8220;Quoted text&#8221;.</p>
+<p class="table"><em>Subscripts and superscripts</em>: e<sup>&#960;i</sup>+1 = 0. H<sub>2</sub>O and x<sup>10</sup>.
+Some <sup>super text</sup> and <sub>some sub text</sub></p>
+<p class="table"><em>Replacements</em>: &#169; copyright, &#8482; trademark, &#174; registered trademark,&#8201;&#8212;&#8201;em dash, &#8230; ellipsis, &#8594; right arrow, &#8592; left arrow, &#8658; right
+double arrow, &#8656; left double arrow.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock" id="X1">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>|====================================================================
+|'URLs':
+https://asciidoc.org/[The AsciiDoc home page],
+https://asciidoc.org/,
+mailto:joe.bloggs@example.com[email Joe Bloggs],
+joe.bloggs@example.com,
+callto:joe.bloggs[].
+
+'Link': See &lt;&lt;X1,AsciiDoc source&gt;&gt;.
+
+'Emphasized text', *Strong text*, +Monospaced text+, ``Quoted text''.
+
+'Subscripts and superscripts': e^{amp}#960;i^+1 = 0. H~2~O and x^10^.
+Some ^super text^ and ~some sub text~
+
+'Replacements': (C) copyright, (TM) trademark, (R) registered trademark,
+-- em dash, ... ellipsis, -&gt; right arrow, &lt;- left arrow, =&gt; right
+double arrow, &lt;= left double arrow.
+|====================================================================</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+width="75%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 11. Nested table</caption>
+<col width="33%" />
+<col width="66%" />
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">Normal cell</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Cell with nested table</p></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<col width="66%" />
+<col width="33%" />
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">Nested table cell 1</p></td>
+<td align="left" valign="top"><p class="table">Nested table cell 2</p></td>
+</tr>
+</tbody>
+</table>
+</div></div></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>[width="75%",cols="1,2a"]
+|==============================================
+|Normal cell
+
+|Cell with nested table
+
+[cols="2,1"]
+!==============================================
+!Nested table cell 1 !Nested table cell 2
+!==============================================
+
+|==============================================</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+width="25%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 12. Spans, alignments and styles</caption>
+<col width="25%" />
+<col width="25%" />
+<col width="25%" />
+<col width="25%" />
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><em>1</em></p></td>
+<td align="right" valign="top"><p class="table"><strong>2</strong></p></td>
+<td align="center" valign="top"><p class="table">3</p></td>
+<td align="right" valign="top"><p class="table"><strong>4</strong></p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table"><em>5</em></p></td>
+<td colspan="2" rowspan="2" align="center" valign="middle"><p class="table"><code>6</code></p></td>
+<td rowspan="3" align="left" valign="bottom"><p class="table"><code>7</code></p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table"><em>8</em></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>9</em></p></td>
+<td colspan="2" align="right" valign="top"><p class="table"><code>10</code></p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>.Spans, alignments and styles
+[cols="e,m,^,&gt;s",width="25%"]
+|================
+|1 &gt;s|2 |3 |4
+^|5 2.2+^.^|6 .3+&lt;.&gt;m|7
+^|8
+|9 2+&gt;|10
+|================</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 13. Three panes</caption>
+<col width="33%" />
+<col width="66%" />
+<tbody>
+<tr>
+<td align="left" valign="top"><div><h3 id="_top_left_pane" class="float">Top Left Pane</h3>
+<div class="paragraph"><p>Consul <strong>necessitatibus</strong> per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</p></div>
+<div class="paragraph"><p>Consul <strong>necessitatibus</strong> per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</p></div></div></td>
+<td rowspan="2" align="left" valign="top"><div><h3 id="_right_pane" class="float">Right Pane</h3>
+<div class="paragraph"><p>Consul <strong>necessitatibus</strong> per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</code></pre>
+</div></div>
+<div class="listingblock">
+<div class="title">Code filter example</div>
+<div class="content">
+<pre><code><span style="color:#bf0303">&apos;&apos;&apos; A multi-line</span>
+<span style="color:#bf0303"> comment.&apos;&apos;&apos;</span>
+<span style="color:#000000; font-weight:bold">def</span> <span style="color:#010181">sub_word</span><span style="color:#000000">(</span>mo<span style="color:#000000">):</span>
+ <span style="color:#bf0303">&apos;&apos;&apos; Single line comment.&apos;&apos;&apos;</span>
+ word <span style="color:#000000">=</span> mo<span style="color:#000000">.</span><span style="color:#010181">group</span><span style="color:#000000">(</span><span style="color:#bf0303">&apos;word&apos;</span><span style="color:#000000">)</span>
+ <span style="color:#000000; font-weight:bold">if</span> word <span style="color:#000000; font-weight:bold">in</span> keywords<span style="color:#000000">[</span>language<span style="color:#000000">]:</span>
+ <span style="color:#000000; font-weight:bold">return</span> quote <span style="color:#000000">+</span> word <span style="color:#000000">+</span> quote
+ <span style="color:#000000; font-weight:bold">else</span><span style="color:#000000">:</span>
+ <span style="color:#000000; font-weight:bold">return</span> word</code></pre>
+</div></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Lorem ipsum dolor sit amet,
+ consectetuer adipiscing elit.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+</li>
+<li>
+<p>
+Qui in magna commodo, est labitur
+ dolorum an. Est ne magna primis
+ adolescens. Sit munere ponderum
+ dignissim et. Minim luptatum et vel.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum nunc
+ consequat lobortis.
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+Nulla porttitor vulputate libero.
+</p>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+</ol></div>
+</li>
+</ul></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><div><h3 id="_bottom_left_pane" class="float">Bottom Left Pane</h3>
+<div class="paragraph"><p>Consul <strong>necessitatibus</strong> per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</p></div>
+<div class="paragraph"><p>Consul <strong>necessitatibus</strong> per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Lorem ipsum dolor sit amet,
+ consectetuer adipiscing elit.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+</li>
+<li>
+<p>
+Qui in magna commodo, est labitur
+ dolorum an. Est ne magna primis
+ adolescens. Sit munere ponderum
+ dignissim et. Minim luptatum et vel.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum nunc
+ consequat lobortis.
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+Nulla porttitor vulputate libero.
+</p>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+</ol></div>
+</li>
+</ul></div></div></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>.Three panes
+[cols="a,2a"]
+|==================================
+|
+[float]
+Top Left Pane
+~~~~~~~~~~~~~
+Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.
+
+Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.
+
+.2+|
+[float]
+Right Pane
+~~~~~~~~~~
+Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.
+
+-----------------------------------
+Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.
+-----------------------------------
+
+.Code filter example
+[source,python]
+-----------------------------------
+''' A multi-line
+ comment.'''
+def sub_word(mo):
+ ''' Single line comment.'''
+ word = mo.group('word')
+ if word in keywords[language]:
+ return quote + word + quote
+ else:
+ return word
+-----------------------------------
+
+- Lorem ipsum dolor sit amet,
+ consectetuer adipiscing elit.
+ * Fusce euismod commodo velit.
+ * Qui in magna commodo, est labitur
+ dolorum an. Est ne magna primis
+ adolescens. Sit munere ponderum
+ dignissim et. Minim luptatum et vel.
+ * Vivamus fringilla mi eu lacus.
+ * Donec eget arcu bibendum nunc
+ consequat lobortis.
+- Nulla porttitor vulputate libero.
+ . Fusce euismod commodo velit.
+ . Vivamus fringilla mi eu lacus.
+
+|
+[float]
+Bottom Left Pane
+~~~~~~~~~~~~~~~~
+Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.
+
+Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.
+
+- Lorem ipsum dolor sit amet,
+ consectetuer adipiscing elit.
+ * Fusce euismod commodo velit.
+ * Qui in magna commodo, est labitur
+ dolorum an. Est ne magna primis
+ adolescens. Sit munere ponderum
+ dignissim et. Minim luptatum et vel.
+ * Vivamus fringilla mi eu lacus.
+ * Donec eget arcu bibendum nunc
+ consequat lobortis.
+- Nulla porttitor vulputate libero.
+ . Fusce euismod commodo velit.
+ . Vivamus fringilla mi eu lacus.
+
+|==================================</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_combinations_of_em_align_em_em_frame_em_em_grid_em_em_valign_em_and_em_halign_em_attributes">Combinations of <em>align</em>, <em>frame</em>, <em>grid</em>, <em>valign</em> and <em>halign</em> attributes</h2>
+<div class="sectionbody">
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
+<thead>
+<tr>
+<th align="left" valign="top"></th>
+<th align="left" valign="top">frame </th>
+<th align="left" valign="top"> grid </th>
+<th align="left" valign="top">valign </th>
+<th align="left" valign="top">halign</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><div class="verse">&nbsp;
+&nbsp;
+&nbsp;</div></td>
+<td align="left" valign="top"><p class="table">all</p></td>
+<td align="left" valign="top"><p class="table">all</p></td>
+<td align="left" valign="top"><p class="table">top</p></td>
+<td align="left" valign="top"><p class="table">left</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>:frame: all
+:grid: all
+:halign: left
+:valign: top
+
+[options="header"]
+|====
+||frame | grid |valign |halign
+v|&amp;nbsp;
+&amp;nbsp;
+&amp;nbsp;
+|{frame} | {grid} |{valign} |{halign}
+|====</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="rows"
+width="50%"
+frame="vsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 14. Table test</caption>
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
+<thead>
+<tr>
+<th align="center" valign="middle"></th>
+<th align="center" valign="middle">frame </th>
+<th align="center" valign="middle"> grid </th>
+<th align="center" valign="middle">valign </th>
+<th align="center" valign="middle">halign</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="center" valign="middle"><div class="verse">&nbsp;
+&nbsp;
+&nbsp;</div></td>
+<td align="center" valign="middle"><p class="table">sides</p></td>
+<td align="center" valign="middle"><p class="table">rows</p></td>
+<td align="center" valign="middle"><p class="table">middle</p></td>
+<td align="center" valign="middle"><p class="table">center</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>:frame: sides
+:grid: rows
+:halign: center
+:valign: middle
+
+.Table test
+[width="50%",options="header"]
+|====
+||frame | grid |valign |halign
+v|&amp;nbsp;
+&amp;nbsp;
+&amp;nbsp;
+|{frame} | {grid} |{valign} |{halign}
+|====</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="cols"
+style="margin-left:auto; margin-right:0;"
+width="50%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
+<thead>
+<tr>
+<th align="right" valign="bottom"></th>
+<th align="right" valign="bottom">frame </th>
+<th align="right" valign="bottom"> grid </th>
+<th align="right" valign="bottom">valign </th>
+<th align="right" valign="bottom">halign</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="right" valign="bottom"><div class="verse">&nbsp;
+&nbsp;
+&nbsp;</div></td>
+<td align="right" valign="bottom"><p class="table">topbot</p></td>
+<td align="right" valign="bottom"><p class="table">cols</p></td>
+<td align="right" valign="bottom"><p class="table">bottom</p></td>
+<td align="right" valign="bottom"><p class="table">right</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>:frame: topbot
+:grid: cols
+:halign: right
+:valign: bottom
+
+[align="right",width="50%",options="header"]
+|====
+||frame | grid |valign |halign
+v|&amp;nbsp;
+&amp;nbsp;
+&amp;nbsp;
+|{frame} | {grid} |{valign} |{halign}
+|====</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="none"
+style="margin-left:auto; margin-right:auto;"
+width="50%"
+frame="void"
+cellspacing="0" cellpadding="4">
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
+<thead>
+<tr>
+<th align="left" valign="top"></th>
+<th align="left" valign="top">frame </th>
+<th align="left" valign="top"> grid </th>
+<th align="left" valign="top">valign </th>
+<th align="left" valign="top">halign</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><div class="verse">&nbsp;
+&nbsp;
+&nbsp;</div></td>
+<td align="left" valign="top"><p class="table">none</p></td>
+<td align="left" valign="top"><p class="table">none</p></td>
+<td align="left" valign="top"><p class="table">top</p></td>
+<td align="left" valign="top"><p class="table">left</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>:frame: none
+:grid: none
+:halign: left
+:valign: top
+
+[align="center",width="50%",options="header"]
+|====
+||frame | grid |valign |halign
+v|&amp;nbsp;
+&amp;nbsp;
+&amp;nbsp;
+|{frame} | {grid} |{valign} |{halign}
+|====</code></pre>
+</div></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:17 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/plugins.html b/plugins.html
new file mode 100644
index 0000000..5882fac
--- /dev/null
+++ b/plugins.html
@@ -0,0 +1,239 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>AsciiDoc Plugins</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="plugins.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>AsciiDoc Plugins</h1>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p>A list of backend, filter and theme <a href="userguide.html#X101">AsciiDoc
+plugins</a>.</p></div>
+<div class="paragraph"><p>If you have implemented a plugin and it&#8217;s not in the list please post
+a message to the <a href="http://groups.google.com/group/asciidoc">asciidoc
+discussion list</a> and I&#8217;ll add it.</p></div>
+<div class="tableblock" id="X1">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 1. Backend Plugins</caption>
+<col width="12%" />
+<col width="12%" />
+<col width="37%" />
+<col width="37%" />
+<thead>
+<tr>
+<th align="left" valign="top">Backend name </th>
+<th align="left" valign="top">Author </th>
+<th align="left" valign="top">Home page </th>
+<th align="left" valign="top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><em>9man</em></p></td>
+<td align="left" valign="top"><p class="table">Alex Efros</p></td>
+<td align="left" valign="top"><p class="table"><a href="http://powerman.name/asciidoc/">http://powerman.name/asciidoc/</a></p></td>
+<td align="left" valign="top"><p class="table">A backend plugin to generate man pages (troff) compatible with OS
+Inferno and Plan9.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>blogger</em></p></td>
+<td align="left" valign="top"><p class="table">Stuart Rackham</p></td>
+<td align="left" valign="top"><p class="table"><a href="https://github.com/srackham/asciidoc-blogger-backend">https://github.com/srackham/asciidoc-blogger-backend</a></p></td>
+<td align="left" valign="top"><p class="table">Generates Blogger friendly HTML from AsciiDoc source.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>deckjs</em></p></td>
+<td align="left" valign="top"><p class="table">Qingping Hou</p></td>
+<td align="left" valign="top"><p class="table"><a href="http://houqp.github.com/asciidoc-deckjs/">http://houqp.github.com/asciidoc-deckjs/</a></p></td>
+<td align="left" valign="top"><p class="table">A <em>deck.js</em> backend for AsciiDoc.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>fossil</em></p></td>
+<td align="left" valign="top"><p class="table">Stuart Rackham</p></td>
+<td align="left" valign="top"><p class="table"><a href="https://github.com/srackham/asciidoc-fossil-backend">https://github.com/srackham/asciidoc-fossil-backend</a></p></td>
+<td align="left" valign="top"><p class="table">Generates Fossil friendly Wiki markup from AsciiDoc source.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>ODF</em></p></td>
+<td align="left" valign="top"><p class="table">Dag Wieers</p></td>
+<td align="left" valign="top"><p class="table"><a href="https://github.com/dagwieers/asciidoc-odf">https://github.com/dagwieers/asciidoc-odf</a></p></td>
+<td align="left" valign="top"><p class="table">Backends for generating LibreOffice/OpenOffice Writer (<code>.fodt</code>) files
+and LibreOffice/OpenOffice Impress (<code>.fodp</code>) files.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>slidy2</em></p></td>
+<td align="left" valign="top"><p class="table">Jean-Michel Inglebert</p></td>
+<td align="left" valign="top"><p class="table"><a href="http://code.google.com/p/asciidoc-slidy2-backend-plugin/">http://code.google.com/p/asciidoc-slidy2-backend-plugin/</a></p></td>
+<td align="left" valign="top"><p class="table">Enhanced slidy backend.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>wordpress</em></p></td>
+<td align="left" valign="top"><p class="table">Stuart Rackham</p></td>
+<td align="left" valign="top"><p class="table"><a href="http://srackham.wordpress.com/blogpost-readme/">http://srackham.wordpress.com/blogpost-readme/</a></p></td>
+<td align="left" valign="top"><p class="table">Generates WordPress friendly markup and is part of the
+<a href="http://srackham.wordpress.com/blogpost-readme/">blogpost</a> project.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="tableblock" id="X2">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 2. Filter Plugins</caption>
+<col width="12%" />
+<col width="12%" />
+<col width="37%" />
+<col width="37%" />
+<thead>
+<tr>
+<th align="left" valign="top">Filter name </th>
+<th align="left" valign="top">Author </th>
+<th align="left" valign="top">Home page </th>
+<th align="left" valign="top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><em>aafigure</em></p></td>
+<td align="left" valign="top"><p class="table">Henrik Maier</p></td>
+<td align="left" valign="top"><p class="table"><a href="http://code.google.com/p/asciidoc-aafigure-filter/">http://code.google.com/p/asciidoc-aafigure-filter/</a></p></td>
+<td align="left" valign="top"><p class="table"><a href="https://launchpad.net/aafigure">Aafigure</a> ASCII line art filter.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>diag</em></p></td>
+<td align="left" valign="top"><p class="table">Michael Haberler</p></td>
+<td align="left" valign="top"><p class="table"><a href="https://code.google.com/p/asciidoc-diag-filter/">https://code.google.com/p/asciidoc-diag-filter/</a></p></td>
+<td align="left" valign="top"><p class="table"><a href="http://blockdiag.com/">blockdiag</a> diagrams filter.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>ditaa</em></p></td>
+<td align="left" valign="top"><p class="table">Henrik Maier</p></td>
+<td align="left" valign="top"><p class="table"><a href="http://code.google.com/p/asciidoc-ditaa-filter/">http://code.google.com/p/asciidoc-ditaa-filter/</a></p></td>
+<td align="left" valign="top"><p class="table"><a href="http://ditaa.sourceforge.net">ditaa</a> ASCII line art filter.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>graphviz-cmap</em></p></td>
+<td align="left" valign="top"><p class="table">Alex Efros</p></td>
+<td align="left" valign="top"><p class="table"><a href="http://powerman.name/asciidoc/">http://powerman.name/asciidoc/</a></p></td>
+<td align="left" valign="top"><p class="table">A variant of the built-in graphviz filter, which adds support for
+client-side imagemaps.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>matplotlib</em></p></td>
+<td align="left" valign="top"><p class="table">Leonid Volnitsky</p></td>
+<td align="left" valign="top"><p class="table"><a href="http://volnitsky.com/project/mplw/">http://volnitsky.com/project/mplw/</a></p></td>
+<td align="left" valign="top"><p class="table">Using this filter you can generate charts from inline matplotlib scripts.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>mscgen</em></p></td>
+<td align="left" valign="top"><p class="table">Henrik Maier</p></td>
+<td align="left" valign="top"><p class="table"><a href="http://code.google.com/p/asciidoc-mscgen-filter/">http://code.google.com/p/asciidoc-mscgen-filter/</a></p></td>
+<td align="left" valign="top"><p class="table">Message sequence chart filter.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>qrcode</em></p></td>
+<td align="left" valign="top"><p class="table">Jean-Marc Temmos</p></td>
+<td align="left" valign="top"><p class="table"><a href="http://code.google.com/p/asciidoc-qrencode-filter/">http://code.google.com/p/asciidoc-qrencode-filter/</a></p></td>
+<td align="left" valign="top"><p class="table">This filter generates
+<a href="http://fukuchi.org/works/qrencode/manual/index.html">QRencode</a> images.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="tableblock" id="X3">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 3. Theme Plugins</caption>
+<col width="12%" />
+<col width="12%" />
+<col width="37%" />
+<col width="37%" />
+<thead>
+<tr>
+<th align="left" valign="top">Theme name </th>
+<th align="left" valign="top">Author </th>
+<th align="left" valign="top">Home page </th>
+<th align="left" valign="top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><em>compact</em></p></td>
+<td align="left" valign="top"><p class="table">Alex Efros</p></td>
+<td align="left" valign="top"><p class="table"><a href="http://powerman.name/asciidoc/">http://powerman.name/asciidoc/</a></p></td>
+<td align="left" valign="top"><p class="table">Similar to default theme but more compact.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:19 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/publishing-ebooks-with-asciidoc.html b/publishing-ebooks-with-asciidoc.html
new file mode 100644
index 0000000..5865f85
--- /dev/null
+++ b/publishing-ebooks-with-asciidoc.html
@@ -0,0 +1,578 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<meta name="description" content="How to create EPUB and PDF ebooks using AsciiDoc." />
+<meta name="keywords" content="AsciiDoc, EPUB tools, EPUB, PDF, ebooks" />
+<title>Publishing eBooks with AsciiDoc</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install(1);
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="publishing-ebooks-with-asciidoc.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>Publishing eBooks with AsciiDoc</h1>
+<div id="toc">
+ <div id="toctitle">Table of Contents</div>
+ <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
+</div>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p>It&#8217;s easy to write and publish books in
+<a href="http://en.wikipedia.org/wiki/EPUB">EPUB</a> and PDF formats using
+<a href="https://asciidoc.org/">AsciiDoc</a>.</p></div>
+<div class="paragraph"><p>Here are three examples: The first is a <a href="#X1">minimal example</a>
+introducing the AsciiDoc format, the second <a href="#X2">The Brothers Karamazov</a> is a rather long multi-part book and the third <a href="#X3">The Adventures of Sherlock Holmes</a> includes a front cover image and
+customized page styling.</p></div>
+<div class="paragraph"><p>The examples presented below were created on a PC running Xubuntu
+Linux 10.04 but should be applicable to any UNIX-based operating
+system.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">A number of <em>asciidoc</em> and <em>a2x</em> features used in this article
+require newer versions of AsciiDoc&#8201;&#8212;&#8201;version 8.6.5 or better is
+recommended. The version of
+<a href="http://wiki.docbook.org/topic/DocBookXslStylesheets">DocBook XSL
+Stylesheets</a> used was 1.76.1.</td>
+</tr></table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">If you are experiencing <em>xsltproc</em> errors when you run <em>a2x</em> take
+a look at Francis Shanahan&#8217;s
+<a href="http://francisshanahan.com/index.php/2011/fixing-epub-problem-docbook-xsl-asciidoc-a2x/">Fixing
+the ePub problem with Docbook-XSL/A2X/Asciidoc</a> blog post.</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X1">Minimal Book</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>This didactic example contains a title and two chapters. The AsciiDoc
+source is a plain text file named <code>minimal-book.txt</code>:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>= The Book Title
+
+== The first chapter
+Nec vitae mus fringilla eu vel pede sed pellentesque. Nascetur fugiat
+nobis. Eu felis id mauris sollicitudin ut. Sem volutpat feugiat.
+Ornare convallis urna vitae.
+
+Nec mauris sed aliquam nam mauris dolor lorem imperdiet.
+
+== The second chapter
+Ut suspendisse nulla. Auctor felis facilisis. Rutrum vivamus nec
+lectus porttitor dui dapibus eu ridiculus tempor sodales et. Sit a
+cras. Id tellus cubilia erat.
+
+Quisque nullam et. Blandit dui tempor. Posuere in elit diam egestas
+sem vivamus vel ac.</code></pre>
+</div></div>
+<div class="paragraph"><p>To generate the EPUB formatted book file <code>minimal-book.epub</code> run
+AsciiDoc&#8217;s <em>a2x</em> toolchain wrapper command from the command-line:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>a2x -fepub -dbook minimal-book.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>The <code>-f</code> option specifies the output format, the <code>-d</code> option specifies
+the document type (book, article or manpage). The optional
+<code>--epubcheck</code> option tells <em>a2x</em> to validate the EPUB file using
+<a href="https://github.com/w3c/epubcheck">epubcheck</a>. To generate a PDF
+version (<code>minimal-book.pdf</code>) with <em>dblatex</em> run:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>a2x -fpdf -dbook minimal-book.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>The distributed example PDFs were built using FOP&#8201;&#8212;&#8201;if you prefer
+<a href="http://xmlgraphics.apache.org/fop/">FOP</a> over
+<a href="http://dblatex.sourceforge.net/">dblatex</a> use:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>a2x -fpdf -dbook --fop minimal-book.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>You can also generate an HTML formatted book, either using DocBook XSL
+Stylesheets:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>a2x -fxhtml -dbook minimal-book.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>or directly using the <em>asciidoc</em> command:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>asciidoc -dbook minimal-book.txt</code></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">
+<div class="paragraph"><p>The <a href="https://asciidoc.org/a2x.1.html">a2x toolchain
+wrapper</a> uses the following programs (most will be available
+prepackaged for your Linux distribution):</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<a href="http://xmlsoft.org/XSLT/">xsltproc</a>
+</p>
+</li>
+<li>
+<p>
+<a href="https://github.com/docbook/xslt10-stylesheets">DocBook XSL
+ Stylesheets</a>
+</p>
+</li>
+<li>
+<p>
+<a href="http://dblatex.sourceforge.net/">dblatex</a> (PDF file generator)
+</p>
+</li>
+<li>
+<p>
+<a href="http://xmlgraphics.apache.org/fop/">FOP</a> (alternative PDF file
+ generator)
+</p>
+</li>
+<li>
+<p>
+<a href="https://github.com/w3c/epubcheck">epubcheck</a> (optional EPUB file
+ validator)
+</p>
+</li>
+</ul></div>
+</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X2">The Brothers Karamazov</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><em>The Brothers Karamazov</em> is an example of a multi-part book. To
+generate the AsciiDoc source I downloaded the
+<a href="http://www.gutenberg.org">Project Gutenberg</a> plain text source and
+edited it manually (this took around 15 minutes). To generate the
+<code>brothers-karamazov.epub</code> EPUB file run this command:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>a2x brothers-karamazov.txt</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Brothers Karamazov source files and eBooks</caption>
+<col width="25%" />
+<col width="25%" />
+<col width="25%" />
+<col width="25%" />
+<thead>
+<tr>
+<th align="left" valign="top">EPUB </th>
+<th align="left" valign="top">PDF </th>
+<th align="left" valign="top">AsciiDoc source </th>
+<th align="left" valign="top">Project Gutenburg text</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><a href="examples/books/brothers-karamazov.epub">brothers-karamazov.epub</a></p></td>
+<td align="left" valign="top"><p class="table"><a href="examples/books/brothers-karamazov.pdf">brothers-karamazov.pdf</a></p></td>
+<td align="left" valign="top"><p class="table"><a href="examples/books/brothers-karamazov.zip">brothers-karamazov.zip</a></p></td>
+<td align="left" valign="top"><p class="table"><a href="http://www.gutenberg.org/etext/28054">http://www.gutenberg.org/etext/28054</a></p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="paragraph"><p>Here&#8217;s the start of the AsciiDoc source file showing the AsciiDoc
+specific meta-data:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>//
+// Text from Project Gutenburg http://www.gutenberg.org/etext/28054
+//
+// Formatted for AsciiDoc by Stuart Rackham.
+//
+// a2x default options.
+// a2x: -f epub -d book --epubcheck
+// Suppress revision history in dblatex outputs.
+// a2x: --dblatex-opts "-P latex.output.revhistory=0"
+// Suppress book part, chapter and section numbering in DocBook XSL outputs.
+// a2x: --xsltproc-opts
+// a2x: "--stringparam part.autolabel 0
+// a2x: --stringparam chapter.autolabel 0
+// a2x: --stringparam section.autolabel.max.depth 0"
+//
+
+= The Brothers Karamazov
+:author: Fyodor Dostoyevsky
+:encoding: iso-8859-1
+:plaintext:
+
+..........................................................................
+Translated from the Russian of Fyodor Dostoyevsky by Constance Garnett
+The Lowell Press New York
+
+ :
+ :
+
+***START OF THE PROJECT GUTENBERG EBOOK THE BROTHERS KARAMAZOV***
+..........................................................................
+
+
+= PART I
+
+== The History Of A Family
+
+=== Fyodor Pavlovitch Karamazov
+
+Alexey Fyodorovitch Karamazov was the third son of Fyodor Pavlovitch
+...</code></pre>
+</div></div>
+<div class="ulist"><ul>
+<li>
+<p>
+The book, book part and chapter titles have been edited to conform
+ to <a href="https://asciidoc.org/userguide.html#X17">AsciiDoc
+ title conventions</a>.
+</p>
+</li>
+<li>
+<p>
+Book part titles must be level zero titles:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>= Book title (level 0)
+= Part one title (level 0)
+== Chapter 1 title (level 1)
+ :</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Sub-chapter levels can be accommodated with <code>===</code>, <code>====</code> and
+ <code>=====</code> title prefixes.
+</p>
+</li>
+<li>
+<p>
+In this example the <em>Project Gutenberg</em> front matter was put in the
+ untitled preface inside an AsciiDoc literal block.
+</p>
+</li>
+<li>
+<p>
+The comment lines starting with <code>// a2x:</code> contain <em>a2x</em> command
+ options for this document (it&#8217;s easier to put them in the document
+ once than type them every time on the command-line).
+</p>
+</li>
+<li>
+<p>
+A number of <em>xsltproc</em> options are passed to <em>a2x</em> to suppress book
+ part, chapter and section numbering.
+</p>
+</li>
+<li>
+<p>
+Setting the AsciiDoc <em>plaintext</em> attribute suppresses most of
+ <a href="https://asciidoc.org/userguide.html#_text_formatting">AsciiDoc&#8217;s
+ text formatting</a> and substitution conventions, this allows large
+ amounts of text to be imported with little or no manual editing.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Once you have defined the AsciiDoc <em>plaintext</em> attribute the only
+ requisite manual editing will be to format the titles and rectify
+ the odd paragraph being interpreted as some other AsciiDoc block
+ element.
+</p>
+</li>
+<li>
+<p>
+In the combined 49 thousand lines of imported <em>Sherlock Holmes</em>
+ and <em>Brothers Karamazov</em> text I only encountered two
+ misinterpreted list items, neither affected the rendered output or
+ necessitated editing.
+</p>
+</li>
+<li>
+<p>
+You can selectively enable and disable the <em>plaintext</em> attribute
+ throughout your document using AsciiDoc
+ <a href="https://asciidoc.org/userguide.html#X18">attribute
+ entries</a>.
+</p>
+</li>
+</ul></div>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X3">The Adventures of Sherlock Holmes</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>This book includes a front cover image and a customized page design.
+To generate the <code>adventures-of-sherlock-holmes.epub</code> EPUB file run
+this command:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>a2x adventures-of-sherlock-holmes.txt</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Sherlock Holmes source files and eBooks</caption>
+<col width="25%" />
+<col width="25%" />
+<col width="25%" />
+<col width="25%" />
+<thead>
+<tr>
+<th align="left" valign="top">EPUB </th>
+<th align="left" valign="top">PDF </th>
+<th align="left" valign="top">AsciiDoc source </th>
+<th align="left" valign="top">Project Gutenburg text</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><a href="examples/books/adventures-of-sherlock-holmes.epub">adventures-of-sherlock-holmes.epub</a></p></td>
+<td align="left" valign="top"><p class="table"><a href="examples/books/adventures-of-sherlock-holmes.pdf">adventures-of-sherlock-holmes.pdf</a></p></td>
+<td align="left" valign="top"><p class="table"><a href="examples/books/adventures-of-sherlock-holmes.zip">adventures-of-sherlock-holmes.zip</a></p></td>
+<td align="left" valign="top"><p class="table"><a href="http://www.gutenberg.org/etext/1661">http://www.gutenberg.org/etext/1661</a></p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="paragraph"><p>Here&#8217;s a screenshot of the first page of the first chapter (rendered
+by the <a href="http://www.epubread.com/en/">Firefox EPUBReader addon</a>):</p></div>
+<div class="imageblock">
+<div class="content">
+<img src="examples/books/sherlock-epub.png" alt="examples/books/sherlock-epub.png" />
+</div>
+</div>
+<div class="paragraph"><p>The <a href="examples/books/adventures-of-sherlock-holmes.zip">AsciiDoc source
+Zip file</a> contains the following files:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>adventures-of-sherlock-holmes.txt</code>
+</dt>
+<dd>
+<p>
+ The AsciiDoc source (derived from the
+ <a href="http://www.gutenberg.org/etext/1661">Project Gutenberg plain text
+ source</a>).
+</p>
+</dd>
+<dt class="hdlist1">
+<code>adventures-of-sherlock-holmes.jpg</code>
+</dt>
+<dd>
+<p>
+ The front cover image.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>adventures-of-sherlock-holmes-docinfo.xml</code>
+</dt>
+<dd>
+<p>
+ A <a href="https://asciidoc.org/userguide.html#X87">docinfo</a> file
+ containing DocBook markup for the front cover image and the Project
+ Gutenberg frontmatter. DocBook XSL Stylesheets identifies the book
+ cover image by the <code>role="cover"</code> attribute in the DocBook
+ <code>mediaobject</code> element.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>adventures-of-sherlock-holmes.css</code>
+</dt>
+<dd>
+<p>
+ CSS rules for styling the page layout. The design is based on the
+ <em>Gbs</em> style from the defunct ePub Zen Garden (please let us know
+ if you are the author or know the author so we can give better
+ attribution). Because this file is not named <code>docbook-xsl.css</code>
+ the name must be specified explicitly using the <em>a2x</em> <code>--stylesheet</code>
+ option.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>underline.png</code>
+</dt>
+<dd>
+<p>
+ A title underline image that is used by the CSS stylesheet. This
+ resource has to be explicitly passed to <em>a2x</em> because <em>a2x</em> only
+ searches HTML files for resources.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>Here&#8217;s the start of the AsciiDoc source file showing the AsciiDoc
+specific meta-data:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>//
+// Text from Project Gutenburg http://www.gutenberg.org/etext/1661
+//
+// Formatted for AsciiDoc by Stuart Rackham.
+//
+// a2x default options.
+// a2x: -f epub -d book -a docinfo --epubcheck
+// a2x: --stylesheet adventures-of-sherlock-holmes.css
+// Suppress revision history in dblatex outputs.
+// a2x: --dblatex-opts "-P latex.output.revhistory=0"
+// Suppress book part, chapter and section numbering in DocBook XSL outputs.
+// a2x: --xsltproc-opts
+// a2x: "--stringparam part.autolabel 0
+// a2x: --stringparam chapter.autolabel 0
+// a2x: --stringparam section.autolabel.max.depth 0"
+// Additional resources.
+// a2x: --resource underline.png
+//
+
+= The Adventures of Sherlock Holmes
+:author: Sir Arthur Conan Doyle
+:encoding: iso-8859-1
+:plaintext:
+
+== A Scandal in Bohemia
+
+To Sherlock Holmes she is always THE woman. I have seldom heard
+...</code></pre>
+</div></div>
+<div class="paragraph"><p>The manual editing of imported plain text involves formatting the
+title and chapter names as
+<a href="https://asciidoc.org/userguide.html#X17">AsciiDoc titles</a>
+(in this example we&#8217;ve used the <em>single line</em> title format). Sherlock
+Holmes only has two title levels:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>= The Adventures of Sherlock Holmes
+== A Scandal in Bohemia
+== The Red-Headed League
+== A Case of Identity
+== The Boscombe Valley Mystery
+== The Five Orange Pips
+== The Man with the Twisted Lip
+== The Adventure of the Blue Carbuncle
+== The Adventure of the Speckled Band
+== The Adventure of the Engineer's Thumb
+== The Adventure of the Noble Bachelor
+== The Adventure of the Beryl Coronet
+== The Adventure of the Copper Beeches
+== Colophon</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_styling_your_books">Styling your books</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>You can customize the appearance of a document with CSS. CSS file.
+Either create your own or copy and edit the existing default
+<code>docbook-xsl.css</code> file (located in the AsciiDoc <code>stylesheets</code>
+configuration directory) then place it in the same directory as your
+AsciiDoc source file. Use the <em>a2x</em> <code>--stylesheet</code> option if you want
+to use a different stylesheet file. Take a look at the
+<code>adventures-of-sherlock-holmes.css</code> CSS file.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_including_embedded_fonts">Including embedded fonts</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>See <a href="https://asciidoc.org/faq.html#X5">this FAQ</a>.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_reading_epub_documents">Reading EPUB documents</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>To view and read epub files, you can use
+<a href="http://www.epubread.com/en/">EPUBReader addon</a>, which is available for
+Firefox, Chrome / Chromium, and Opera. EPUBReader honors the book&#8217;s
+CSS styling rules and renders the page as the author intended (many
+EPUB readers only process a sub-set of CSS styling rules).</p></div>
+<div class="paragraph"><p>As of writing this article most eBook readers (with the notable
+exception of Amazon&#8217;s Kindle) support the EPUB format.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_non_fiction_books_and_manuals">Non-fiction Books and Manuals</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc supports a rich set of markup conventions and can generate
+reference works and technical manuals complete with tables,
+illustrations, indexes, bibliographies and appendices. All the
+examples on the <a href="http:///asciidoc.org/">AsciiDoc web site</a>
+can be formatted as EPUB eBooks.</p></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:19 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/sample2.png b/sample2.png
new file mode 100644
index 0000000..8c0532a
--- /dev/null
+++ b/sample2.png
Binary files differ
diff --git a/sample3.png b/sample3.png
new file mode 100644
index 0000000..d05e7db
--- /dev/null
+++ b/sample3.png
Binary files differ
diff --git a/slidy-example.html b/slidy-example.html
new file mode 100644
index 0000000..7c75a7b
--- /dev/null
+++ b/slidy-example.html
@@ -0,0 +1,775 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>Slidy Example Slideshow</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="slidy-example.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>Slidy Example Slideshow</h1>
+<span id="author">Joe Bloggs</span><br />
+<span id="revision">version 9.0.5,</span>
+24 January 2021
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p>This preamble will appear on a separate slide.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_asciidoc_elements">AsciiDoc Elements</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Sagittis in vestibulum. Habitasse ante nulla enim bibendum nulla. Odio
+sed pede litora.</p></div>
+<h3 id="_titles_inside_delimited_blocks_must_be_floated" class="float">Titles inside delimited blocks must be floated</h3>
+<div class="paragraph"><p>Porta nisl metus. Justo porttitor vel. Cras consequat tincidunt id sed
+conubia. Feugiat felis justo. Nunc amet nulla. Eu ac orci mollis.</p></div>
+<div class="imageblock">
+<div class="content">
+<img alt="images/tiger.png"
+src="data:image/png;base64,
+iVBORw0KGgoAAAANSUhEUgAAAP4AAAEDCAMAAAAiM0kQAAAAdVBMVEUAAAAwMDBIAABgZGBgmACY
+JACYmJiYzDCgGCCgJEiwMFiwZGCwsLDIPEjIcCDIzMjgZIjgmJjg5LDofDjojEjojFDolFjomGDo
+pHDoqHjwsIjwuJDwvJjwxKjwzLD4cHj42MD43Mj44ND45ND48Oj4/Mj4/PhwEGyGAAAYuUlEQVR4
+nO2diXrbuBGA0WzcJm1NZldOLMuyoo1kvP8jlrjnBECRstI4820smgSB+WcGg4OU19h3LebWCtxW
+fuO/Z/mN/57lN/57lt/471l+479n+Y3/nuU3/nuW3/g3FxNFv2L0IgubXrvCea3reOzSVWxwO3yd
+rUK+tgFuhd9GpDIMVzDATfAluB5+J+vyvz2+Cgbh4BVecD0DvC1+w7OIdRhEq8BTKyi0vIrupjpC
+O5MOVORY6WmwWmRVwmpLLQGUIu5cA6TSVaXWpmzoAgkEA1SNQ01VN8BU6p8/Cz5lkxOdEguyceoG
+8NzjT4Kv4akWkIcCck4dLxL1mI9uiV8nbPAP/fcgdPuz4CPdJcoKB0v9HQYoLf8M+IRDIqw5chiI
+CVr8oOnb4xeGGmNVlAgw4kwZNX5z/KztxfCiCcKnVOnPhG/4CLdCHOTfWvQd077r4VN1g8Maqas3
+tWvys+DjFIWt0GeBVkps098MHzueh38dDiV7uZhyHmvxx43wqecVRJW/bQB9pgfVuA0+pL+0HzcM
+MAe/qurV8GUt5xpDNoBmVKRGR+xfAx/QazRLDaDVgPW4CX6i5w7rS+ncaPwupYZ/QD16nH8lfBSe
+uBv3bOlq/KBK+U6kxw3wjaH01fyt4MsLwwFV2sLvcv7q+AOmr7tcuSScpeHTxhdOXR2f0LfCXY0K
+ecMf8Dfx+5x/BfysW7urayVQN+f8Ov5YNLkRvkFxX4M3PKYFfM4ff6vydzp/XXyyVd+T5AfRAuhe
+kkaq+H/Mo78Cfj+7YAERf8Dlavj/GCH92+JD+l54xQBkiQiLGV4C8v8xSTf96vh1+I41Pl8mDpi/
+jo/kzfHretUMg/lBSdwn6ntdc+lXxA/gEqEbDpj2FQMY7GjZFG3+LqVXox/8oEeClhFVTACvk45w
+Ef+b43NQylPDN7w4Y8a3V/n7tF6XHnsxQQzsHPe4LIwZW6/C36n2qvgSkXDu6enJq/jVSxOfzqbA
+0K/y96q9Jn7yTp3+6Wkq/1IEmICVZcytTcB59Gvhq0lPoP+Bbw0mkEvjCgV8Zb00vHHws3mKRv81
+0Yf3N7MJvkp8tEbB/wJ6vPCm+LIODP/rjx+ofLr/h+cnt7M6hQb0fZG3m/bEDMSjk/ye4IG5Cn8H
+vsRvQNPzDbAGvnmeanl+fha7LqLPdzB8++Ophk93RqQ2pItvgg+goFoER/A99A93P49qDoiEG+At
+9vqeGT4MSE6PbJB/z+43FKbu/jp/IwDWeS92ojAFPyqA/V+Snk3MJARepGFe5ZcNMJd/Bfxnx0Hw
+w0fRZ/j6kge8zF9Q/K+T+6HuLXxpCiB2j+s+4c3OT/hFfaDvC+j3Cr59GiA/xZeCQnF9P/86+Dbi
++33erAxSLBfviP4afqX73wLfDJ4m4pNQBL+VG4yNwIS+5H4Zv9375/Mvx8/ZDDbJtKP4gd9Cejz0
+cXo+IiznXwHflK6MFYERIOJbcBQzRwd+D/9Atlg0zJW8D+lLAgb85kXCRwcRX3IkdaZ2QZ8YKZzL
+8I2B9CXjm7ATATIAwC/UJh7MRKyNfhr/FfDDrCatXYHzEzsIwYxvktUyfkHxvZ+hCL934PfxL8L/
+26k+YvzInfAz/wu8EfZ8gELxdcfq+Br/6vhmCPgjSvsAPeYwhm9why/0FvHX4lqnVy0jki7B/zsQ
+jNGHkB4GPuUH9Gzt59Y9GUMBq/m4dklCXYA/pPtHm1vL1GzoyfgJ1cSggfQAX1AfQqGwkfGZWa6A
+7/vxWLw/gKAV8QFrCYQiT/leBZ+6mKMqRhH5L8bHGPPwEX1cL2F8MXjhKRXfkDCBd6yGT2J2BPhQ
+RQlftGJW7QmwcXoZn5YTjTeUldZifGT5fIbi49wddvqEF09RF1CxyCmVXt8QW63vGypkn0/Hb7x4
+qUW0NgMSvWzirOtq+P5GV+Oz0/ijA/iWFEETV4pfffFwpEblLhXwBUy0dqjzL8Mf3EbXx48OX24R
+42N6mD1Hxi7Bcnto474waRL5F+Nbh//R4Q9pvFfxgUTcMUgKgycZXw+HCv9V8U3B/5eTb3cqt4CP
+4EH8P2E0nV5PfaaCz/kX4n97vgB/xLNdsP6ReUVOnd/McP9C/OHb34H/W4u+4Ps54sePLmUUxxNe
+NMwrlAq/2ick/mX4xq/6JvrnJn3Gd9H+0Yv9F8J/AbjDsIFbRXXvk8Gmxr8efpRv/inHczP2C370
+vO8zJfLhfsl0tHl42IB5dLf7jfQKuM5/6aQX+OR5kjZ9wh8DuEkfxZgQa9g8Pm6p+3vw4+297l+A
+P5QO2kEf8cfAbRA+VDbybDbbnTGmmuLEC/FEp/s78MWVEmqthz7P+VPUl+Dn9A5/5/C3D4qTEb+A
+r07CZuOLKyXY3t1dt/dNcnsUtlwAsPuDMbttDz4PfpWfLrk68AUDoGVdP75h+Ljfh0V5cP/ucDwe
+DvttD77ML+ITji58xg+r7qPPmR/y5+2upHl53jHsjsfTeTJAFz64KhVV+S/Dx/Q98JONsvcNo/cK
+w7ngdMdmfzqf7WQAilmi+83w6VIVcFWAkfgVn5OXl6jvi3kpquKJsDuzO55dY+djPqumCeH8QnxD
+dybwtQKpkX/wkumn4BeclM54NJLLN/tzbi6ibzYQpIqv8fd7nyzPEX4UgR6RFwMMX5lSQHdpo2ez
+O2c/hLP73TQX1PA3URr4mL8e/PitBGYA7vuIDs7fJQNo07DsWurJzeM+NJtPH/b7x8dkgA25xzw8
+PHrZwEoW4cPr+LYhTPYwvkdn7d1FfgHbgMkzi+PN4y7tg8bzUx7c7yYD+KsP9K5dElzNIvxSgLjf
+Jz2EJKFH/g8EH6rHXJ/UDl4EwWZcHtx7A0xBzvDNfr8/OKnzz8Q39KDQd831B98lEL+xKFENA0l6
+2UT71PsT/mSAqQfsDJfIfnTCK9P42wNf4Uf4hBz8Cke7dCqkwIwFZ3myik4ed/sjdL7Jh8Je+zHI
+NFc4g6FyI9U9C99y/Dsp4xf4D0hC0bucD5HrrUjvu/y05N3tifuLsAA4TeLQnbvO5fSGG6CBzya4
+hn7qUe/h8ak0CEZ++DhQpg9zgM3D4zbhswfB5+NxT/GztlgeyVyhhY/agdzh486nfAWfwcce4APC
+JQBPnKJfpA/wjj7hE/RsAIxJ9c9hsnsE/L75uvdTJaCMyfhhba/gQ3jaB2JP8GheL5E+wg9uDN86
+fBPHPsYPIxxdou4/7HZwrkQGcAXfwk5gMn6NfgLOx3DuAw1hwnuvYNCS4QM9QOP4mF/FP59Oh902
+889Y8BJ+p5xHUn1fguDDAI7Lb8ZMx0lfqGTyzJSqHjz8Y7xwRPN+qp9Aj+ud+M6TAfY5AGat90vS
+N+FnxfkfAH2JB5QLPKYLATbVmaYx/qOwuxL7wzSQ6fgsI3J8r/hkgONu+zAfH3xPxeZ1bpM+e54W
+BOt0a7aPRcmHh/ATsU/zmOPxDFO/iq9ZJY8ULgC28/Fz1g8vY+r4INrTASuT6T9M1U1z07SPFSI9
+W8Opv/OTOD+L6cE3yulyZQqAvcCv9yfCb9JUT6bPJyv05e/aTNWdjsAAKFqRoHFfcE6TP52bAuC4
+beHnNEtnOz4n6z2f0QuSt9/D2H/2BuD8FVHhO/B9ADS9D+2Apjsm4+uAVQkzjjDr8oY4ewOshC8m
+P0suOP4WfrrFGwDgx/Vt386m7HxAHxIgnrrMpNfw0Tl818nM6PvG2FJFxL+A3o9mD76uSA/kfLqQ
+3uA0IVuFAdJ6lOVNLGjSV7SmuX4DP260SfB+C8pX9/AQ53shHFzdZx8BHWFQc73Gb6kY2z3pTQb2
+R2UGq8DHQVuE3263zo5mG8b6qWQa/UtSn81v1asr4RcDNPA9/GPgfMTnw8md37ULu3CuzOND2eOx
+KSTn4rdTn3APN0fLAM5xdzX8CO8xd4V/swkrl+nstHKzJqzQ3V7kNoRA0i9rOscAtHxRuOX+Ofip
+rru7TaDn+CnAHdje7URGeHc+wu9jIrVmGuoOY35yu43K5vU11LnOr16qe34Ovom+9zv6fs0k4Ecf
+B3a33bjL/SHAT5NXYy3q3f7Ftunq9gQnWJrpRX71UpWejQSNlrP3w/MFhh8jPMD7vcbTaRdcHz3v
+Nl/TdoX/5kt4qW8cD/vprpMwOlUY9aVdL38XPupBIfNv3eOFu9gJcM7bJvjTyUyLlFN0vYd365aY
+P6m+o9uZPpmqGlV+Ofml388d/FoPKZVG79/5TTPXBzYE3tMfguONX6GdQ8YLq7bTKTg71RSbcLsQ
+x3G6aQR/YVPDt7pPOb9sqTn4ltrSOvzdw+buzj9hCfLwkLfkDh7+dI63nZPrD6dTmtZZZwPUyPnk
+o2UM5wVNBOfXxj96Ygk+bM+43Leb1qcPdy4HAAnbsYdAfy61nYPrvUW8jEZystuYd//zpMDPE7uo
+l66rjg/bNsoxrJBWPuEfJ/4pBWwfAbyjPwT6M6osun6M7++OeoD79zzDddHHzQhg56VSQIEWvrS6
+cPgT/900rrtZW5Stpz8menBfSAVjjPpaMDJ+Bo0xaQjwkmJ7YzZAA1+2yON2SlWHu8PeG2Cb9mn+
+/PPPCI9ixrpMkNNdsaJUs7HgjX4MgylQXRI94ccNhW+btvGFWieMx73bLoHn/gTC2zufIz0MO75s
+E9qCLLBWagtZURU/jGeEWRn40t2Z3rgvLZ6PiJkIizZ/q97r/bWs92hSAoQkgIIRsV6SbaLil38V
+fH5nOnOq4Av01liN3qTZX6g6fKsD9E9ofoAkVoRdX8cPS48avjK0+IOZvlfomb6JP8eKqcX2pfgp
+XtgZoRCFj7f20Y8GG1nQl9glf6FpTIU4XROfjRENso4zOfjCz27fqzOK8A2m5tpeljn4QtmOM7R2
+XJDzC22Nsu0bIBUdKrdeGT/XZw/+aAL+j+r10roGIX1dsV8IMThGA4NqYDkbNuhjbR7fIsfX7hLp
+K37MJ8eR/08WCKxhEwYLB6xYz3J8m6vNBYv7Z0RwxMIDO9/eHUE5ACLlsnRGuJTw+bAzHz9VXQpC
+fjXMOL3gDsWzXfgWkMv4cJ6frzR+5xqykuY/Wfr4DfyiLiuNJ39AeQii3AnjiF2wYTit4tY1R3Ps
+Qz7M+FLa53Ugx0OdbZ4eRVWLjZDfayFO6sP4zACz8Mk8Km+eEX69AreQlb0OtC5F4hH4TnfF+wyd
+zvqSDjX+Oj6obvooe4cGhb+GbsA0ltlgxF/Zh3+9oHgMwzfwsb6oJXmvo4FfagufYOsU8rPbQEYn
+E6DCKo7/2STQYcW5FfqUKiR8FABzvE+KwJ1jo+CDQC3PR0W9SXxDK2DtM6BkSSkuhGmPvNfTg4/0
+gE1EfPkmk96GYjfmKAeLm8xn0xQBEEBGuqoR6aVZX+lP8/ChG8gFnd7fhfmh3jS/Z2ybjy32eokj
+Ot9Ds118hfGj6VsnPjjEz02kRjh+XmQXIpoNEabNx5kXNoStJgSXhg83FPvxa4Ur+NHQIFwNimqQ
+zu+pBQpjZlMApeb1S24VXsVTMLTCVffb4n7m5nTqfhJqgNQJLCorTHK0xvVr40VLHlQ1b0krGP2X
+lAkbQCMIa08fDICJmJl0C8zCF2jn4RMDqM3kbQKbu4CJw0G67V42wDgC52s+vx0+Yu7Chz8Bf6QW
++OODsTIKzKKHwaOoVTvRKXUtcppmP0Mo3E+f98AAsDI/QvcZoKqafK3x+wz56y9VDz5fSb3GMzng
+wH9f4qDgl5vhrIj0hYpib4M/8U/y+iq0lZX0RaYPyFfiPR5M//4N+WEt0AC2FXSodflS4/c58leU
+VzU6M/5fE+I9cPc9DgAZ35boz/PGgl4xQMU4dOxegG8Sv28OG+GV4GfqT+ae8k8G+Dfkx3MN6HxL
+XMspi42ujp/5zdQD3H8B+9X/i/yvTvyp+zzKifwAnhvAEH501ZLCvIwOvBL+pHMCT/xe43vP788m
+/E/mnvGj4BeZKkCsqIh/6YK32thrkDSpid6L1vABbyL+PcTPkgZAGPyRglF149NFQpDLFryN1iJ+
+aTtWGlHuo/uR9xF/SPxOsI+FDtClUO4/Cv+q+JGfd8uMH9z/+irjf//+3ZjvEj42wEx8ubjw/txS
+fMQv4t/HEoF2wp96/ncoGj4wQH/fb/KvjW8QPtEC4EfYT44Xi9Hw4TjWhW+Q8OsjXfMux/f+z2oS
+Te4zf2T+JOAj71eYOpRp86+O7/hRugavKPqAh+7/FHo7wf/iRGVs4tOYq9xwHfzXONnIr0+mTa2A
+l/E/fRfwA30bvzbJt4xdKb8+fnR/oPcnx6yMhE+jvxu/Nsfnru/hXwXf5b/wCmM4Bx7jf8/8JtPX
+8GW2Bn/GpfyqwuIvl0ge8q3fz0unUfBT/Fldvx3Pyn6IsLPJiBdPe8oReJ6Xn9h/yfwt+gX4Mr2x
+7HUKTrwePngyV4I/4Yd018Zvw8FL4uMSgC+93WPWxAcKZe2gUl8K/4WxXx3MRn69wb/met/mZ1hR
+0dGWlRXB/67h9+d9ocRYxW/zr5X64jO0Mq2I9BD/oq7fwK+9J2gF/nW9D+n9yGcIfsv5ZiY97bkV
+epH/Ovjgjb05+Am+N+9T/IZkza6OX5TR8Tn95y91fAWpkz4OQ4h/7dSX6eMDfPiFhC9fqvwT/eca
+vUrUxEeBWONfA58sc0OTbXxA38S3pGvV6XNxgX91fLrIL99NaOBTeh0fVt6JD6ck6EWxlfHB0B+2
+d/NX8jzZZ5U/p72ET5IUobdkylahN7S0+mLfMvz8x00S/mt4Nw/iE/682Gd5D+NzeAtTy1x8hX8h
+vsFVpKcbBtBr+J+Z81EXFeB9WyMtoOLDXqm92LjU+wz/leEjfpN2vT5z5wue5U2i910FcHAXvH3M
+u5zrrvfhmm/M/LZMaFz4B5d7/VJ8CPQUX26PvySs4dPbDA3WNfHDWxnxmZcB+CECHLH7dJfdQRtf
+axB/JySUB1+JrODHkUpQfil9Uj499Yq0VMKun6dPBij0GF9tMb79giOkvLKoRk1ivwJ+eWP4tUiJ
+AYL/BYqAX7jY1zHiSZYc2vh8jmaX48eZboxHi/kBKsRH/ICefoE3fcODGQB86aOc87XUifilFfBj
+q/ntXRE/5kB20oj4iXKU+aUviIwkfSjKNs/ME/A37fJ4k8gp/QSr4UNKMFeVDABzPdLESIHSgF08
+6TXZAkWP0vXdktf/5zi/GBYSRsKP9YyjwG+gIFWUjlKHXYoP/txWOZfe6IGqvsZXfhA/pk8DOsYp
+/Ah9pPi2iS8MJ8snvWmGCRpJxOY1vfT0Gl9ywPgSPcQ3kpSLRBk5TUi6roYPKkeC6FAIhG4h0WP8
+ET2LNvmpRbTAKPyxpwq/4HgCsI7kR220dzPjMHqKT2sufczIEwIZP+9EyequKTkr/xeKGMOG0SM/
+Cd+8ADNW/whjZHNjjV/z/cr40W91XJUe4yvV59F1TEs4YAI5+al/SsKuiy9kv9n0EV95Ogn31eB7
+Omi0oHexF3oklZcL2lxgaTsyqvAIXwp92hqm8rfFuSN/EvYG+GRvwdJ5S1MSh9WcT9ojVNmelr/Y
+cH18Th8OIB4kRZ8kaDucz/HDueT8zoXdWvgoAeeDkeKNpXvCT9Jl+5SSEpopsd+1rF8JX6S30bs0
+JaWXv8rnZfjS2Hg7fLnDYlR4Up2f9+oklQNdwmhvsV/QVIciEk06R/Aj/xV0gg9dShPXxjfkRSLq
+c4oPCgn6LOIHU4OyLayWXtASbNLw6IY9urEPQfRZCT+EP5kYC80tlTDjsCDW/Q+e7YiI7kdbJ5cp
+Aw7z9naz8CLx+IgeIUtdX6vJ6FP02VqFf2+Abwp+u5trfSFuSazG34ykVfGjSEkQlxYzoUl/xlse
+0i9TqwF4hXakOJeWYUIVueOvxX8DfCRaR+D4aKr+/4af9zrI2c7hvmiyOv+Sy3MbGkn2E2c7yl5G
+9ddFWl18eWZDZaVryQGULv7Vsl9V1vZ++FeWvGLRt3R/XdbFZ1s1ymgo30xOvQX/mvh8kxZMBRv4
+wjOY/zN8U/p/3sjgyVBVY72p7gxZNfhz8k/4VhgL1DtrK7Nryaot5uQ/Ez9Z7tfCh8veUcDPhyuu
+8WbKVfDH8DQerfrTdgDcBCj33SDuY8vrVjbmrl/wcygAfDRCVpfkV5XV8ePDVxv+PFvY2Y+XQb8w
+cI54K/a1WzY2/y8Gcm8eDZ4KS/i3418Xv7xTm/DHHAZ2LPgmBMovh5/qzL15zJ18VPBvNOQFWT3z
+WwE/TocyPtzRSz9vI9doNxIFxyfnxndMRpPwR4j/S2T+XGfBT3BjeAXQDQSFOs12r6RHl6pXqNPE
+n5krz+pHFPO/Jn6uunAV5vJ3iy08/vXwLcc3FuOjXHkLuW6zRsA36HL4/DWWPFLtET+nQXFx84vi
+ly0M4Gi53HX10OTqzXbiX1sNRd6qXUM+b6TGjdvVgvy94L9tc0352fR5Y/mN/57lN/57lv8B8ElD
+m2i9J54AAAAASUVORK5CYII=" />
+</div>
+<div class="title">Figure 1. Tiger</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_incremental_elements">Incremental Elements</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The remaining elements on this page are incremental, press the space
+bar to reveal them.</p></div>
+<div class="ulist incremental"><ul>
+<li>
+<p>
+Rhoncus pede justo.
+</p>
+</li>
+<li>
+<p>
+Velit pede dolor.
+</p>
+</li>
+<li>
+<p>
+Iaculis commodo et.
+</p>
+</li>
+<li>
+<p>
+Volutpat tristique nec.
+</p>
+</li>
+</ul></div>
+<div class="openblock incremental">
+<div class="content">
+<div class="paragraph"><p>Sagittis in vestibulum. Habitasse ante nulla enim bibendum nulla. Odio
+sed pede litora.</p></div>
+</div></div>
+<div class="olist arabic incremental"><ol class="arabic">
+<li>
+<p>
+Rhoncus pede justo.
+</p>
+</li>
+<li>
+<p>
+Velit pede dolor.
+</p>
+</li>
+<li>
+<p>
+Iaculis commodo et.
+</p>
+</li>
+<li>
+<p>
+Volutpat tristique nec.
+</p>
+</li>
+</ol></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_outline_elements">Outline Elements</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The following list is a Slidy <em>outline</em> list&#8201;&#8212;&#8201;nested bulleted or
+numbered lists are expanded when the enclosing list item (the ones
+with blue bullet points or numbers) are clicked.</p></div>
+<div class="ulist outline"><ul>
+<li>
+<p>
+Rhoncus pede justo.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Rhoncus pede justo.
+</p>
+</li>
+<li>
+<p>
+Velit pede dolor.
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+Velit pede dolor.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Iaculis commodo et.
+</p>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img alt="Note" src="data:image/png;base64,
+iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAJhUlEQVRoge2ZWWycVxXHf+fce7/v
+m/GaGCde4pI0aQlJC0kRtE1L00JbLIjY4QkeUB9YHhAIJFCExAsKUkE8IAFFPIDUIqhBRSDRBUqC
+CimFFBCBpCWx02IaZ3G2SdyxPZ7vHh6+mcnSZnFjKIge6Wj8zYzvPf9z/me5d8TM+F8WfbkNuFx5
+BcDLLf/fAEZGRmx4eNh6enqsp6fHhoeHbWRk5D9aFeSlVqHNmzfb6H33sHnT7ZQmD5GfOMax6Sm+
+Pl5h1Yc+xpYtW2SBbX1ReUkRGBkZsdH77mHLW95EOv4Ms3ueJh6YYPHUFF9aljJ63z3cf//9/5FI
+vKQIDA8P293L2yhVjjH7t51ocDiviFecF46n7XzBreChhx4qNhH5t0XjJUVgx44ddGUZ9b/vIpQD
+oRQIWSDJAiFL6B9axo4dO4gxAmANWVDLG+Ln82URMRGhVCqRHxonlAPqFXWKC4r6IhI6OMjMzBN4
+/4LlTUQQEZxzZ32QJAlpmrb+p16vU6vVOHXq1AWjN18AnDj0F971vrs4OnmYJVkoDA4FCPUO172I
+Cgnt7SV++4vvsGhRJx3tJbIsRVVpsUnOBBABBVFEClKYwbKr7sTM7EIUnBcA7z21k7t49x1X8JXv
+bOWra7rw5QRtcN8PLCfvvZJvb9vJycpJpg4/hp/N0I4SMQs4Jw0A5zBXHGiCaIZIKABgpGlKjPEF
+0TpT5pUDRXiVt99+Le03r+WzuytM1gO6pB/3+o0cbxvk8yOPMjW6i2iR2lxOjJDHSDMFogmGwzQ7
+rRJAUpAENAGXIZq2AFzQpvkACCEQcahP+cRH3sKHn9zHXU+MM7rtGeD33NDXzaZynZU9gcezpUw9
+X6OzIyOakkfF4QEpPG6nDRNNEA2FSgKimETSNCXPc0II57VpXhEolUqoOrxPSLOMT330Dv5SqfKD
+NR388Y2L+caQsjITNv3pMBs3rOT56ZyZGaM+J0QUxDc0INrWUgggoRGBAOIRAt77hY1AmqaoeJxP
+cN645jVDbNn8Hj73o8fZ/af9mEE9j9y2YRXt5YzZWmRmzjj1/BwhTXAKzitOHEbeWlc0AVwDnCv8
+KoZzjotV33lTSL1HNKAuEtKM1169jM98/E6mTk3x4Nbd7Bk7TEdHRvAeVY+hmDqmZwx1kIkiqrhz
+S2zL+AbNMC6l/80LgHMOEY9oQvBCks5RKpXo7JhFxbhz42pet2aQet1YtLiDJAkIDq8BHwJmwlwO
+UaD0ojsrNKuUReIZyb9gABCHcwWFgg+0lTPyvIRToVzKWLpkMfV6REQplYvmZCj1uuBUSdJwTg8A
+XBdoCZMOsBkQBeGi/J83gBgjmABC8AlJGsjzFLMyaXDM1etEA0VR50iCx6mSZhkiijpPjEpQD+SF
+4WdJrTAewdCFB1CtVlFVVATnhMQnWJqC5aTBk+c5IIgWRoTgSZJAmiZAo1s7hwsppglI+fTiljeY
+nyHkLQotKIAYI4igzpFHISQOiwEnKTEG8hhRVZw6YjRQLfJGHcF7jleqTBw8znXr12MABnv37efY
+iSnesG4tiUsRUQwD7JIAzKsPqCqiRbVwweM04XdPjhJN+dvTBxgbn6G9q59yZx9/3HWEb33vN+zc
+/RzOJ+w/eJLtO8Z5ZNtT7PvHIUQTvvv9X/Lc/mN0d3by3fseRLQwvWh0Fy+h8wbQ2VFG1KM+xfuA
+qufo8So/fejPPD/rqJys8pvf7eLAoeNMHqnw2U9+kH3jVQ5MClMzKUla5obr13HliiEMmDx6gltv
+uY7Vr1nBQF8PJopQ9AFTt/AROFfMjCW9XTy19xB33Hodb924jr1j+/nDk3/nzTdei4jw3nfeyCOP
+bufa1y5jzeoVrcHM8HR3dfHlr/2Q+x94jFtuuh44/9B2PplXDryYLF3STXd3e+t5UXcHY89OsOH6
+NS2Qed7wpM1Rm50G4MGHH2P961Zy3bqreXrPP5mrzwLt5y6/cACq1eoLCKm+TN/SAebmfn8aUG83
+PYs7+cnPH+eqKwd5as8/edc7bi02847pmVkATk1VWbF8AOcca1Yv59DkqcYK0tCL02deACqVCldc
+0YdIwLmEPM9RV6NnUZlPf3wT6oqJcePN6wHhzTeu4/CRCrfctJ4sSxBRli7pYfHEMUSU97/7Th75
+1RP8eec+Yp5zzTVXM9DfDyogBvHS6HTJACYmJnjVoq5GFw0454gCEOnoaMfiNGZFFRFxJGkbywZ6
+i1NWoy9kWYmbb1gHKCHApuGbisVFGyoYUswa5OR5ftF56JIBjI6OMtDfWwAQ35jnc8AVpRXBohVq
+UowECKqK4RBxoE0W6gvGCcEjaOEAwEQWdpgbGxujt7erOLO2mk3R8i0Wz9EiuUGz+qlKEQEUaJbI
+4lTHmTVePKgWzpDGJGpc8CDTlEsuo88++wxXDA0UIUbAOP23KGZKjI48KnkuhcbiPbPCOBoeBikO
+Lk2VxjqNRilaAEqSZGEAbN261bZt+zW33XY7IAXXm6Ou0YhIMamaaUOl5WRrzg00viuKWWxpQUOH
+NAZFQRpD48Xlkig0MTHBB95zG+VSylz1KCbWyDOh2XyK+56IqjWMKigkUnzWnPPFFFRRLZ29SQRU
+ELOGY4pZ6LKOlM07mZ07d/KOtw1TcB4sGkTDiDQ9K1IkrKeYmQC08d7pZLSiRBpE5s7aS0XAHFEK
+AGY51Wr18g80Zmb33nsvX/z8XdSmj2AWOXhwkrxe46+79jB55Dh/3T2GxUhHextdXW2sXN7PNWtW
+IQKDA71FFBoAjIgQkVg/a5+oHrU5zIznDhxk964xKpXKggAoTlWW8+OfPorlOQ//cjsDy1bS2dFO
+W+diVly1iL6+Pqanpzl5qsL4pPHwN3/G1InDlMsZ7Z1tDA30cfWqIa5dexV9fb2YnT7UTxw4xsHJ
+o4yOjfOP8QOMjx/k4OQx7r777lY0zycXvJ02M4sxMjg4SL1eR0TYsGEDw8PD9PX10d7ejogUN3a1
+GqpKCIE8z5mdnUVVqVarbN++nba2Nvbu3csDDzyAqrJ8+atb+zjn6e/vZ/Xq1axatYq1a9fS29tL
+lmUMDQ1RKpXOm9EXvV6v1+tWr9eZnp5mZmaGWq1GjLHF62aiNZ+bnPfe45xrvTZzxMyYmZk56+LX
+zKjX661DvHOOJElIkoRSqYT3/vLvRlW15eHCa4VxzdvmpjZDfubzuXeb3vuzqCEixBhbo0NTkyS5
+PAr9L8j/96+U/w3yCoCXW14B8HLLvwDd67nwZIEPdgAAAABJRU5ErkJggg==" />
+</td>
+<td class="content"><em>Note</em> admonition paragraph.</td>
+</tr></table>
+</div>
+</li>
+<li>
+<p>
+Volutpat tristique nec.
+</p>
+<div class="imageblock">
+<div class="content">
+<img alt="images/tiger.png"
+src="data:image/png;base64,
+iVBORw0KGgoAAAANSUhEUgAAAP4AAAEDCAMAAAAiM0kQAAAAdVBMVEUAAAAwMDBIAABgZGBgmACY
+JACYmJiYzDCgGCCgJEiwMFiwZGCwsLDIPEjIcCDIzMjgZIjgmJjg5LDofDjojEjojFDolFjomGDo
+pHDoqHjwsIjwuJDwvJjwxKjwzLD4cHj42MD43Mj44ND45ND48Oj4/Mj4/PhwEGyGAAAYuUlEQVR4
+nO2diXrbuBGA0WzcJm1NZldOLMuyoo1kvP8jlrjnBECRstI4820smgSB+WcGg4OU19h3LebWCtxW
+fuO/Z/mN/57lN/57lt/471l+479n+Y3/nuU3/nuW3/g3FxNFv2L0IgubXrvCea3reOzSVWxwO3yd
+rUK+tgFuhd9GpDIMVzDATfAluB5+J+vyvz2+Cgbh4BVecD0DvC1+w7OIdRhEq8BTKyi0vIrupjpC
+O5MOVORY6WmwWmRVwmpLLQGUIu5cA6TSVaXWpmzoAgkEA1SNQ01VN8BU6p8/Cz5lkxOdEguyceoG
+8NzjT4Kv4akWkIcCck4dLxL1mI9uiV8nbPAP/fcgdPuz4CPdJcoKB0v9HQYoLf8M+IRDIqw5chiI
+CVr8oOnb4xeGGmNVlAgw4kwZNX5z/KztxfCiCcKnVOnPhG/4CLdCHOTfWvQd077r4VN1g8Maqas3
+tWvys+DjFIWt0GeBVkps098MHzueh38dDiV7uZhyHmvxx43wqecVRJW/bQB9pgfVuA0+pL+0HzcM
+MAe/qurV8GUt5xpDNoBmVKRGR+xfAx/QazRLDaDVgPW4CX6i5w7rS+ncaPwupYZ/QD16nH8lfBSe
+uBv3bOlq/KBK+U6kxw3wjaH01fyt4MsLwwFV2sLvcv7q+AOmr7tcuSScpeHTxhdOXR2f0LfCXY0K
+ecMf8Dfx+5x/BfysW7urayVQN+f8Ov5YNLkRvkFxX4M3PKYFfM4ff6vydzp/XXyyVd+T5AfRAuhe
+kkaq+H/Mo78Cfj+7YAERf8Dlavj/GCH92+JD+l54xQBkiQiLGV4C8v8xSTf96vh1+I41Pl8mDpi/
+jo/kzfHretUMg/lBSdwn6ntdc+lXxA/gEqEbDpj2FQMY7GjZFG3+LqVXox/8oEeClhFVTACvk45w
+Ef+b43NQylPDN7w4Y8a3V/n7tF6XHnsxQQzsHPe4LIwZW6/C36n2qvgSkXDu6enJq/jVSxOfzqbA
+0K/y96q9Jn7yTp3+6Wkq/1IEmICVZcytTcB59Gvhq0lPoP+Bbw0mkEvjCgV8Zb00vHHws3mKRv81
+0Yf3N7MJvkp8tEbB/wJ6vPCm+LIODP/rjx+ofLr/h+cnt7M6hQb0fZG3m/bEDMSjk/ye4IG5Cn8H
+vsRvQNPzDbAGvnmeanl+fha7LqLPdzB8++Ophk93RqQ2pItvgg+goFoER/A99A93P49qDoiEG+At
+9vqeGT4MSE6PbJB/z+43FKbu/jp/IwDWeS92ojAFPyqA/V+Snk3MJARepGFe5ZcNMJd/Bfxnx0Hw
+w0fRZ/j6kge8zF9Q/K+T+6HuLXxpCiB2j+s+4c3OT/hFfaDvC+j3Cr59GiA/xZeCQnF9P/86+Dbi
++33erAxSLBfviP4afqX73wLfDJ4m4pNQBL+VG4yNwIS+5H4Zv9375/Mvx8/ZDDbJtKP4gd9Cejz0
+cXo+IiznXwHflK6MFYERIOJbcBQzRwd+D/9Atlg0zJW8D+lLAgb85kXCRwcRX3IkdaZ2QZ8YKZzL
+8I2B9CXjm7ATATIAwC/UJh7MRKyNfhr/FfDDrCatXYHzEzsIwYxvktUyfkHxvZ+hCL934PfxL8L/
+26k+YvzInfAz/wu8EfZ8gELxdcfq+Br/6vhmCPgjSvsAPeYwhm9why/0FvHX4lqnVy0jki7B/zsQ
+jNGHkB4GPuUH9Gzt59Y9GUMBq/m4dklCXYA/pPtHm1vL1GzoyfgJ1cSggfQAX1AfQqGwkfGZWa6A
+7/vxWLw/gKAV8QFrCYQiT/leBZ+6mKMqRhH5L8bHGPPwEX1cL2F8MXjhKRXfkDCBd6yGT2J2BPhQ
+RQlftGJW7QmwcXoZn5YTjTeUldZifGT5fIbi49wddvqEF09RF1CxyCmVXt8QW63vGypkn0/Hb7x4
+qUW0NgMSvWzirOtq+P5GV+Oz0/ijA/iWFEETV4pfffFwpEblLhXwBUy0dqjzL8Mf3EbXx48OX24R
+42N6mD1Hxi7Bcnto474waRL5F+Nbh//R4Q9pvFfxgUTcMUgKgycZXw+HCv9V8U3B/5eTb3cqt4CP
+4EH8P2E0nV5PfaaCz/kX4n97vgB/xLNdsP6ReUVOnd/McP9C/OHb34H/W4u+4Ps54sePLmUUxxNe
+NMwrlAq/2ick/mX4xq/6JvrnJn3Gd9H+0Yv9F8J/AbjDsIFbRXXvk8Gmxr8efpRv/inHczP2C370
+vO8zJfLhfsl0tHl42IB5dLf7jfQKuM5/6aQX+OR5kjZ9wh8DuEkfxZgQa9g8Pm6p+3vw4+297l+A
+P5QO2kEf8cfAbRA+VDbybDbbnTGmmuLEC/FEp/s78MWVEmqthz7P+VPUl+Dn9A5/5/C3D4qTEb+A
+r07CZuOLKyXY3t1dt/dNcnsUtlwAsPuDMbttDz4PfpWfLrk68AUDoGVdP75h+Ljfh0V5cP/ucDwe
+DvttD77ML+ITji58xg+r7qPPmR/y5+2upHl53jHsjsfTeTJAFz64KhVV+S/Dx/Q98JONsvcNo/cK
+w7ngdMdmfzqf7WQAilmi+83w6VIVcFWAkfgVn5OXl6jvi3kpquKJsDuzO55dY+djPqumCeH8QnxD
+dybwtQKpkX/wkumn4BeclM54NJLLN/tzbi6ibzYQpIqv8fd7nyzPEX4UgR6RFwMMX5lSQHdpo2ez
+O2c/hLP73TQX1PA3URr4mL8e/PitBGYA7vuIDs7fJQNo07DsWurJzeM+NJtPH/b7x8dkgA25xzw8
+PHrZwEoW4cPr+LYhTPYwvkdn7d1FfgHbgMkzi+PN4y7tg8bzUx7c7yYD+KsP9K5dElzNIvxSgLjf
+Jz2EJKFH/g8EH6rHXJ/UDl4EwWZcHtx7A0xBzvDNfr8/OKnzz8Q39KDQd831B98lEL+xKFENA0l6
+2UT71PsT/mSAqQfsDJfIfnTCK9P42wNf4Uf4hBz8Cke7dCqkwIwFZ3myik4ed/sjdL7Jh8Je+zHI
+NFc4g6FyI9U9C99y/Dsp4xf4D0hC0bucD5HrrUjvu/y05N3tifuLsAA4TeLQnbvO5fSGG6CBzya4
+hn7qUe/h8ak0CEZ++DhQpg9zgM3D4zbhswfB5+NxT/GztlgeyVyhhY/agdzh486nfAWfwcce4APC
+JQBPnKJfpA/wjj7hE/RsAIxJ9c9hsnsE/L75uvdTJaCMyfhhba/gQ3jaB2JP8GheL5E+wg9uDN86
+fBPHPsYPIxxdou4/7HZwrkQGcAXfwk5gMn6NfgLOx3DuAw1hwnuvYNCS4QM9QOP4mF/FP59Oh902
+889Y8BJ+p5xHUn1fguDDAI7Lb8ZMx0lfqGTyzJSqHjz8Y7xwRPN+qp9Aj+ud+M6TAfY5AGat90vS
+N+FnxfkfAH2JB5QLPKYLATbVmaYx/qOwuxL7wzSQ6fgsI3J8r/hkgONu+zAfH3xPxeZ1bpM+e54W
+BOt0a7aPRcmHh/ATsU/zmOPxDFO/iq9ZJY8ULgC28/Fz1g8vY+r4INrTASuT6T9M1U1z07SPFSI9
+W8Opv/OTOD+L6cE3yulyZQqAvcCv9yfCb9JUT6bPJyv05e/aTNWdjsAAKFqRoHFfcE6TP52bAuC4
+beHnNEtnOz4n6z2f0QuSt9/D2H/2BuD8FVHhO/B9ADS9D+2Apjsm4+uAVQkzjjDr8oY4ewOshC8m
+P0suOP4WfrrFGwDgx/Vt386m7HxAHxIgnrrMpNfw0Tl818nM6PvG2FJFxL+A3o9mD76uSA/kfLqQ
+3uA0IVuFAdJ6lOVNLGjSV7SmuX4DP260SfB+C8pX9/AQ53shHFzdZx8BHWFQc73Gb6kY2z3pTQb2
+R2UGq8DHQVuE3263zo5mG8b6qWQa/UtSn81v1asr4RcDNPA9/GPgfMTnw8md37ULu3CuzOND2eOx
+KSTn4rdTn3APN0fLAM5xdzX8CO8xd4V/swkrl+nstHKzJqzQ3V7kNoRA0i9rOscAtHxRuOX+Ofip
+rru7TaDn+CnAHdje7URGeHc+wu9jIrVmGuoOY35yu43K5vU11LnOr16qe34Ovom+9zv6fs0k4Ecf
+B3a33bjL/SHAT5NXYy3q3f7Ftunq9gQnWJrpRX71UpWejQSNlrP3w/MFhh8jPMD7vcbTaRdcHz3v
+Nl/TdoX/5kt4qW8cD/vprpMwOlUY9aVdL38XPupBIfNv3eOFu9gJcM7bJvjTyUyLlFN0vYd365aY
+P6m+o9uZPpmqGlV+Ofml388d/FoPKZVG79/5TTPXBzYE3tMfguONX6GdQ8YLq7bTKTg71RSbcLsQ
+x3G6aQR/YVPDt7pPOb9sqTn4ltrSOvzdw+buzj9hCfLwkLfkDh7+dI63nZPrD6dTmtZZZwPUyPnk
+o2UM5wVNBOfXxj96Ygk+bM+43Leb1qcPdy4HAAnbsYdAfy61nYPrvUW8jEZystuYd//zpMDPE7uo
+l66rjg/bNsoxrJBWPuEfJ/4pBWwfAbyjPwT6M6osun6M7++OeoD79zzDddHHzQhg56VSQIEWvrS6
+cPgT/900rrtZW5Stpz8menBfSAVjjPpaMDJ+Bo0xaQjwkmJ7YzZAA1+2yON2SlWHu8PeG2Cb9mn+
+/PPPCI9ixrpMkNNdsaJUs7HgjX4MgylQXRI94ccNhW+btvGFWieMx73bLoHn/gTC2zufIz0MO75s
+E9qCLLBWagtZURU/jGeEWRn40t2Z3rgvLZ6PiJkIizZ/q97r/bWs92hSAoQkgIIRsV6SbaLil38V
+fH5nOnOq4Av01liN3qTZX6g6fKsD9E9ofoAkVoRdX8cPS48avjK0+IOZvlfomb6JP8eKqcX2pfgp
+XtgZoRCFj7f20Y8GG1nQl9glf6FpTIU4XROfjRENso4zOfjCz27fqzOK8A2m5tpeljn4QtmOM7R2
+XJDzC22Nsu0bIBUdKrdeGT/XZw/+aAL+j+r10roGIX1dsV8IMThGA4NqYDkbNuhjbR7fIsfX7hLp
+K37MJ8eR/08WCKxhEwYLB6xYz3J8m6vNBYv7Z0RwxMIDO9/eHUE5ACLlsnRGuJTw+bAzHz9VXQpC
+fjXMOL3gDsWzXfgWkMv4cJ6frzR+5xqykuY/Wfr4DfyiLiuNJ39AeQii3AnjiF2wYTit4tY1R3Ps
+Qz7M+FLa53Ugx0OdbZ4eRVWLjZDfayFO6sP4zACz8Mk8Km+eEX69AreQlb0OtC5F4hH4TnfF+wyd
+zvqSDjX+Oj6obvooe4cGhb+GbsA0ltlgxF/Zh3+9oHgMwzfwsb6oJXmvo4FfagufYOsU8rPbQEYn
+E6DCKo7/2STQYcW5FfqUKiR8FABzvE+KwJ1jo+CDQC3PR0W9SXxDK2DtM6BkSSkuhGmPvNfTg4/0
+gE1EfPkmk96GYjfmKAeLm8xn0xQBEEBGuqoR6aVZX+lP8/ChG8gFnd7fhfmh3jS/Z2ybjy32eokj
+Ot9Ds118hfGj6VsnPjjEz02kRjh+XmQXIpoNEabNx5kXNoStJgSXhg83FPvxa4Ur+NHQIFwNimqQ
+zu+pBQpjZlMApeb1S24VXsVTMLTCVffb4n7m5nTqfhJqgNQJLCorTHK0xvVr40VLHlQ1b0krGP2X
+lAkbQCMIa08fDICJmJl0C8zCF2jn4RMDqM3kbQKbu4CJw0G67V42wDgC52s+vx0+Yu7Chz8Bf6QW
++OODsTIKzKKHwaOoVTvRKXUtcppmP0Mo3E+f98AAsDI/QvcZoKqafK3x+wz56y9VDz5fSb3GMzng
+wH9f4qDgl5vhrIj0hYpib4M/8U/y+iq0lZX0RaYPyFfiPR5M//4N+WEt0AC2FXSodflS4/c58leU
+VzU6M/5fE+I9cPc9DgAZ35boz/PGgl4xQMU4dOxegG8Sv28OG+GV4GfqT+ae8k8G+Dfkx3MN6HxL
+XMspi42ujp/5zdQD3H8B+9X/i/yvTvyp+zzKifwAnhvAEH501ZLCvIwOvBL+pHMCT/xe43vP788m
+/E/mnvGj4BeZKkCsqIh/6YK32thrkDSpid6L1vABbyL+PcTPkgZAGPyRglF149NFQpDLFryN1iJ+
+aTtWGlHuo/uR9xF/SPxOsI+FDtClUO4/Cv+q+JGfd8uMH9z/+irjf//+3ZjvEj42wEx8ubjw/txS
+fMQv4t/HEoF2wp96/ncoGj4wQH/fb/KvjW8QPtEC4EfYT44Xi9Hw4TjWhW+Q8OsjXfMux/f+z2oS
+Te4zf2T+JOAj71eYOpRp86+O7/hRugavKPqAh+7/FHo7wf/iRGVs4tOYq9xwHfzXONnIr0+mTa2A
+l/E/fRfwA30bvzbJt4xdKb8+fnR/oPcnx6yMhE+jvxu/Nsfnru/hXwXf5b/wCmM4Bx7jf8/8JtPX
+8GW2Bn/GpfyqwuIvl0ge8q3fz0unUfBT/Fldvx3Pyn6IsLPJiBdPe8oReJ6Xn9h/yfwt+gX4Mr2x
+7HUKTrwePngyV4I/4Yd018Zvw8FL4uMSgC+93WPWxAcKZe2gUl8K/4WxXx3MRn69wb/met/mZ1hR
+0dGWlRXB/67h9+d9ocRYxW/zr5X64jO0Mq2I9BD/oq7fwK+9J2gF/nW9D+n9yGcIfsv5ZiY97bkV
+epH/Ovjgjb05+Am+N+9T/IZkza6OX5TR8Tn95y91fAWpkz4OQ4h/7dSX6eMDfPiFhC9fqvwT/eca
+vUrUxEeBWONfA58sc0OTbXxA38S3pGvV6XNxgX91fLrIL99NaOBTeh0fVt6JD6ck6EWxlfHB0B+2
+d/NX8jzZZ5U/p72ET5IUobdkylahN7S0+mLfMvz8x00S/mt4Nw/iE/682Gd5D+NzeAtTy1x8hX8h
+vsFVpKcbBtBr+J+Z81EXFeB9WyMtoOLDXqm92LjU+wz/leEjfpN2vT5z5wue5U2i910FcHAXvH3M
+u5zrrvfhmm/M/LZMaFz4B5d7/VJ8CPQUX26PvySs4dPbDA3WNfHDWxnxmZcB+CECHLH7dJfdQRtf
+axB/JySUB1+JrODHkUpQfil9Uj499Yq0VMKun6dPBij0GF9tMb79giOkvLKoRk1ivwJ+eWP4tUiJ
+AYL/BYqAX7jY1zHiSZYc2vh8jmaX48eZboxHi/kBKsRH/ICefoE3fcODGQB86aOc87XUifilFfBj
+q/ntXRE/5kB20oj4iXKU+aUviIwkfSjKNs/ME/A37fJ4k8gp/QSr4UNKMFeVDABzPdLESIHSgF08
+6TXZAkWP0vXdktf/5zi/GBYSRsKP9YyjwG+gIFWUjlKHXYoP/txWOZfe6IGqvsZXfhA/pk8DOsYp
+/Ah9pPi2iS8MJ8snvWmGCRpJxOY1vfT0Gl9ywPgSPcQ3kpSLRBk5TUi6roYPKkeC6FAIhG4h0WP8
+ET2LNvmpRbTAKPyxpwq/4HgCsI7kR220dzPjMHqKT2sufczIEwIZP+9EyequKTkr/xeKGMOG0SM/
+Cd+8ADNW/whjZHNjjV/z/cr40W91XJUe4yvV59F1TEs4YAI5+al/SsKuiy9kv9n0EV95Ogn31eB7
+Omi0oHexF3oklZcL2lxgaTsyqvAIXwp92hqm8rfFuSN/EvYG+GRvwdJ5S1MSh9WcT9ojVNmelr/Y
+cH18Th8OIB4kRZ8kaDucz/HDueT8zoXdWvgoAeeDkeKNpXvCT9Jl+5SSEpopsd+1rF8JX6S30bs0
+JaWXv8rnZfjS2Hg7fLnDYlR4Up2f9+oklQNdwmhvsV/QVIciEk06R/Aj/xV0gg9dShPXxjfkRSLq
+c4oPCgn6LOIHU4OyLayWXtASbNLw6IY9urEPQfRZCT+EP5kYC80tlTDjsCDW/Q+e7YiI7kdbJ5cp
+Aw7z9naz8CLx+IgeIUtdX6vJ6FP02VqFf2+Abwp+u5trfSFuSazG34ykVfGjSEkQlxYzoUl/xlse
+0i9TqwF4hXakOJeWYUIVueOvxX8DfCRaR+D4aKr+/4af9zrI2c7hvmiyOv+Sy3MbGkn2E2c7yl5G
+9ddFWl18eWZDZaVryQGULv7Vsl9V1vZ++FeWvGLRt3R/XdbFZ1s1ymgo30xOvQX/mvh8kxZMBRv4
+wjOY/zN8U/p/3sjgyVBVY72p7gxZNfhz8k/4VhgL1DtrK7Nryaot5uQ/Ez9Z7tfCh8veUcDPhyuu
+8WbKVfDH8DQerfrTdgDcBCj33SDuY8vrVjbmrl/wcygAfDRCVpfkV5XV8ePDVxv+PFvY2Y+XQb8w
+cI54K/a1WzY2/y8Gcm8eDZ4KS/i3418Xv7xTm/DHHAZ2LPgmBMovh5/qzL15zJ18VPBvNOQFWT3z
+WwE/TocyPtzRSz9vI9doNxIFxyfnxndMRpPwR4j/S2T+XGfBT3BjeAXQDQSFOs12r6RHl6pXqNPE
+n5krz+pHFPO/Jn6uunAV5vJ3iy08/vXwLcc3FuOjXHkLuW6zRsA36HL4/DWWPFLtET+nQXFx84vi
+ly0M4Gi53HX10OTqzXbiX1sNRd6qXUM+b6TGjdvVgvy94L9tc0352fR5Y/mN/57lN/57lv8B8ElD
+m2i9J54AAAAASUVORK5CYII=" />
+</div>
+</div>
+</li>
+<li>
+<p>
+Iaculis commodo et.
+</p>
+</li>
+<li>
+<p>
+Volutpat tristique nec.
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+Iaculis commodo et.
+</p>
+<div class="olist arabic outline"><ol class="arabic">
+<li>
+<p>
+Rhoncus pede justo.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Velit pede dolor.
+</p>
+</li>
+<li>
+<p>
+Iaculis commodo et.
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+Volutpat tristique nec.
+</p>
+</li>
+</ol></div>
+</li>
+<li>
+<p>
+Volutpat tristique nec.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_asciidoc_elements_2">AsciiDoc Elements</h2>
+<div class="sectionbody">
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img alt="Note" src="data:image/png;base64,
+iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAJhUlEQVRoge2ZWWycVxXHf+fce7/v
+m/GaGCde4pI0aQlJC0kRtE1L00JbLIjY4QkeUB9YHhAIJFCExAsKUkE8IAFFPIDUIqhBRSDRBUqC
+CimFFBCBpCWx02IaZ3G2SdyxPZ7vHh6+mcnSZnFjKIge6Wj8zYzvPf9z/me5d8TM+F8WfbkNuFx5
+BcDLLf/fAEZGRmx4eNh6enqsp6fHhoeHbWRk5D9aFeSlVqHNmzfb6H33sHnT7ZQmD5GfOMax6Sm+
+Pl5h1Yc+xpYtW2SBbX1ReUkRGBkZsdH77mHLW95EOv4Ms3ueJh6YYPHUFF9aljJ63z3cf//9/5FI
+vKQIDA8P293L2yhVjjH7t51ocDiviFecF46n7XzBreChhx4qNhH5t0XjJUVgx44ddGUZ9b/vIpQD
+oRQIWSDJAiFL6B9axo4dO4gxAmANWVDLG+Ln82URMRGhVCqRHxonlAPqFXWKC4r6IhI6OMjMzBN4
+/4LlTUQQEZxzZ32QJAlpmrb+p16vU6vVOHXq1AWjN18AnDj0F971vrs4OnmYJVkoDA4FCPUO172I
+Cgnt7SV++4vvsGhRJx3tJbIsRVVpsUnOBBABBVFEClKYwbKr7sTM7EIUnBcA7z21k7t49x1X8JXv
+bOWra7rw5QRtcN8PLCfvvZJvb9vJycpJpg4/hp/N0I4SMQs4Jw0A5zBXHGiCaIZIKABgpGlKjPEF
+0TpT5pUDRXiVt99+Le03r+WzuytM1gO6pB/3+o0cbxvk8yOPMjW6i2iR2lxOjJDHSDMFogmGwzQ7
+rRJAUpAENAGXIZq2AFzQpvkACCEQcahP+cRH3sKHn9zHXU+MM7rtGeD33NDXzaZynZU9gcezpUw9
+X6OzIyOakkfF4QEpPG6nDRNNEA2FSgKimETSNCXPc0II57VpXhEolUqoOrxPSLOMT330Dv5SqfKD
+NR388Y2L+caQsjITNv3pMBs3rOT56ZyZGaM+J0QUxDc0INrWUgggoRGBAOIRAt77hY1AmqaoeJxP
+cN645jVDbNn8Hj73o8fZ/af9mEE9j9y2YRXt5YzZWmRmzjj1/BwhTXAKzitOHEbeWlc0AVwDnCv8
+KoZzjotV33lTSL1HNKAuEtKM1169jM98/E6mTk3x4Nbd7Bk7TEdHRvAeVY+hmDqmZwx1kIkiqrhz
+S2zL+AbNMC6l/80LgHMOEY9oQvBCks5RKpXo7JhFxbhz42pet2aQet1YtLiDJAkIDq8BHwJmwlwO
+UaD0ojsrNKuUReIZyb9gABCHcwWFgg+0lTPyvIRToVzKWLpkMfV6REQplYvmZCj1uuBUSdJwTg8A
+XBdoCZMOsBkQBeGi/J83gBgjmABC8AlJGsjzFLMyaXDM1etEA0VR50iCx6mSZhkiijpPjEpQD+SF
+4WdJrTAewdCFB1CtVlFVVATnhMQnWJqC5aTBk+c5IIgWRoTgSZJAmiZAo1s7hwsppglI+fTiljeY
+nyHkLQotKIAYI4igzpFHISQOiwEnKTEG8hhRVZw6YjRQLfJGHcF7jleqTBw8znXr12MABnv37efY
+iSnesG4tiUsRUQwD7JIAzKsPqCqiRbVwweM04XdPjhJN+dvTBxgbn6G9q59yZx9/3HWEb33vN+zc
+/RzOJ+w/eJLtO8Z5ZNtT7PvHIUQTvvv9X/Lc/mN0d3by3fseRLQwvWh0Fy+h8wbQ2VFG1KM+xfuA
+qufo8So/fejPPD/rqJys8pvf7eLAoeNMHqnw2U9+kH3jVQ5MClMzKUla5obr13HliiEMmDx6gltv
+uY7Vr1nBQF8PJopQ9AFTt/AROFfMjCW9XTy19xB33Hodb924jr1j+/nDk3/nzTdei4jw3nfeyCOP
+bufa1y5jzeoVrcHM8HR3dfHlr/2Q+x94jFtuuh44/9B2PplXDryYLF3STXd3e+t5UXcHY89OsOH6
+NS2Qed7wpM1Rm50G4MGHH2P961Zy3bqreXrPP5mrzwLt5y6/cACq1eoLCKm+TN/SAebmfn8aUG83
+PYs7+cnPH+eqKwd5as8/edc7bi02847pmVkATk1VWbF8AOcca1Yv59DkqcYK0tCL02deACqVCldc
+0YdIwLmEPM9RV6NnUZlPf3wT6oqJcePN6wHhzTeu4/CRCrfctJ4sSxBRli7pYfHEMUSU97/7Th75
+1RP8eec+Yp5zzTVXM9DfDyogBvHS6HTJACYmJnjVoq5GFw0454gCEOnoaMfiNGZFFRFxJGkbywZ6
+i1NWoy9kWYmbb1gHKCHApuGbisVFGyoYUswa5OR5ftF56JIBjI6OMtDfWwAQ35jnc8AVpRXBohVq
+UowECKqK4RBxoE0W6gvGCcEjaOEAwEQWdpgbGxujt7erOLO2mk3R8i0Wz9EiuUGz+qlKEQEUaJbI
+4lTHmTVePKgWzpDGJGpc8CDTlEsuo88++wxXDA0UIUbAOP23KGZKjI48KnkuhcbiPbPCOBoeBikO
+Lk2VxjqNRilaAEqSZGEAbN261bZt+zW33XY7IAXXm6Ou0YhIMamaaUOl5WRrzg00viuKWWxpQUOH
+NAZFQRpD48Xlkig0MTHBB95zG+VSylz1KCbWyDOh2XyK+56IqjWMKigkUnzWnPPFFFRRLZ29SQRU
+ELOGY4pZ6LKOlM07mZ07d/KOtw1TcB4sGkTDiDQ9K1IkrKeYmQC08d7pZLSiRBpE5s7aS0XAHFEK
+AGY51Wr18g80Zmb33nsvX/z8XdSmj2AWOXhwkrxe46+79jB55Dh/3T2GxUhHextdXW2sXN7PNWtW
+IQKDA71FFBoAjIgQkVg/a5+oHrU5zIznDhxk964xKpXKggAoTlWW8+OfPorlOQ//cjsDy1bS2dFO
+W+diVly1iL6+Pqanpzl5qsL4pPHwN3/G1InDlMsZ7Z1tDA30cfWqIa5dexV9fb2YnT7UTxw4xsHJ
+o4yOjfOP8QOMjx/k4OQx7r777lY0zycXvJ02M4sxMjg4SL1eR0TYsGEDw8PD9PX10d7ejogUN3a1
+GqpKCIE8z5mdnUVVqVarbN++nba2Nvbu3csDDzyAqrJ8+atb+zjn6e/vZ/Xq1axatYq1a9fS29tL
+lmUMDQ1RKpXOm9EXvV6v1+tWr9eZnp5mZmaGWq1GjLHF62aiNZ+bnPfe45xrvTZzxMyYmZk56+LX
+zKjX661DvHOOJElIkoRSqYT3/vLvRlW15eHCa4VxzdvmpjZDfubzuXeb3vuzqCEixBhbo0NTkyS5
+PAr9L8j/96+U/w3yCoCXW14B8HLLvwDd67nwZIEPdgAAAABJRU5ErkJggg==" />
+</td>
+<td class="content"><em>Note</em> admonition paragraph.</td>
+</tr></table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img alt="Important" src="data:image/png;base64,
+iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAALa0lEQVRogdWZa2wc1RXHfzM7O/te
+P9e1vXHSmEdjx3YeDkkaF6REKRRCEDSEFNkRjdSWSsgC2iqoRWqLQKiqIBg1NOQDiMeHtkQIQkRR
+S9S4aWwgCQoUgl232KkT28J21l6vd3d2dx79sDuTXdtre03Uqlc62tl53Pv/n3PuOffcKxiGwf9z
+E//XAL5sk65WR0a6AaDrOjMtKwgCoigiCAKCIAhXa9wvTcAEHhoc5KMjR7jw3nucf+MN67k/GCS4
+YQOr77yTpl27kGUZm81mXC0ywlLnQDbwEwcO0P2b3yz4jV5RwZq2Nm5/5BH8fj+SJGGz2b4UiSUR
+MAzD0DSNEwcO8MdHHln8d0AcsAUCfOe551h7yy04HA7sdvuSrVEwAV3XjdDgIC/v2cOl06dznqWA
+JCAAMvn9MwlEgF1PP8037rsPt9uN3W5fkjUKIqDrujF+4QLP3XQTU0NDOc8UIAa4y8sJtrQQqK/H
+7XQSfv99Pn/nHQRRxNB16/0EEAUatm9n76uv4vP5cDgcBZNYNIF84I0MEK20lIZvf5sNe/dSWlqK
+1+vFxBEZHubT3/+evqNHmR4dJRWP55BevW0bra+8gt/vx+l0IknSokksikA+8ElgClixYwc3799P
+ZWUlTqczbz+x0VFOPvEEQ6dPE/niCwxdt0jUbd1K68svU1xcXBCJBQnMBz5eWkrL/v2s++Y3KSsr
+QxQXlxc7f/5zBjo7CQ8NoadSKKQn943t7dyyf79FYjHuNC8BwzAMVVV56Z57+OzNN3PAJ8vK+FZH
+B2s2b55X6/nahRMnOP7TnxLOKEXJyO2/+hVf37uXoqIinE6nmfzyksirMjNUvvGjH+WAVwG1vJxb
+Dhxg1bp1uFwuMwQWJCu3bWPN3r24SkoAcGbA/OXXv2bws8+IRqOkUqlZGX1RBAzDMHRd51+nTvHe
+wYNX7gPTQMO+faxav56SkpIlgTdlU3s7TXv2IGUs6AGioRDH2tuZmJggFouhqirGPCzyEUBVVX7X
+1pZzPwI0fP/7bNmzh7KysrzADh8+zP3338++ffs4ePBg3vdEUWTDD3/IsuZmRLsdW4bEpd5eOp99
+lnA4jKIoaJqWl8QsAqb2Txw4kDNp40BxXR0bWlspLy/PC+qZZ55hdHQUSZIYHByko6ODxx57bBZw
+cy3kq6xk6y9/ib+qCgQBmbQ7nT50iIs9PUSjUZLJJIZhzEliLgKMDQzwp5/9zLqnkQ51W3/xCwKB
+AE6nMy+B3t5exsfH6ezspLe3l3g8zuHDh2cBz5bKpibWtrXhLi0FwA3owNsPP8zExATxeBxVVecy
+QC4Bc+L+taNjluvU33031dddN6/2BUGgpKSE/v5+JicncweaA3i2tDz8MIHrr0eU0gsQBzDW10ff
+yZNEIhESicScrpRDQNd1xgYG+OC3v7XuJQBXIMDWn/yEioqKeUGMjY0hCAKKoszS1MjIyLzfAmx/
+4gmKli0DQcBJOmicfOopJicnicfjJoG5LWBq/+Szz+a8oABNe/bgdrvndR1BEKiqqiIejxOLxWYR
+CAaDC0alqjVrqGxowFNWhkDalUKff07f3/5mWSFTLFksLAK6rjN+4UKO9lXAUV7O2tbWeaNOthZl
+WZ4FHlh0aN3y4IPIHk+6L8AGvNfRQTgctuZCthVEU/u6rnPutddyBk0A9bt3W4us+QY2fbyurg6v
+15vTzw033LBoAsHmZoLNzdgcDgBcQKi/n391dTE9PU0ymcyxgkmAVCrF+4cO5WjfFgiwfoGwOTOy
+lJWVUVtba1mkUAKCILClvR1veTkA9owVPnzllZy8YFnA1H5/dzfTw8PWgziwcutWfD4fsiwvCNyU
+xsZG3G43lZWVVl933XVXQQSq161j+ebNlhXcwBdnzxIOh60lhmkFEUDTNP7++uvWgBrp6mrNHBk3
+H/BsAtFoFEdm8GAwyMaNGwsiIAgCjbt346uosKwgAp8cPWolNj1THInmsqHn6FGLQApY1thIxcqV
++Hy+WX6+0ETesWMHLpcLWZZ54IEHCgYvCAKrbrsNyem0JrQEXMzkhKzlBaKu61z+97+ZHhnJmbwr
+tm2zJu5CWp8pra2tNDU1sXPnTtrb25dEQBAEvrplC57MXJCB8XPniEQixONxa6Uq6brOQHd3jvvo
+QP2ttxZUpMxsL7zwwpK+AyxLXrt9Oxe6uxFEEXvGZc4fO0bVD35AMplM1wuapjGYtbugAp5AgKLq
+aquu/W/JTEs37dqFqihWzSADk8PD1jzQNC3tQtmrThUINDbm+H4h0tfXx6OPPsodd9xBW1sbPT09
+BQPPluu2b7fWRxIQ6usjFotZBCRN06wZbbZAfT1FRUWWKQtpzz//PMPDw/T09DA1NcXo6CjHjx+f
+11Xma95AwHJjEdB0HUVRrhCYuRGrAiXBoFUqFtq6u7sZHx9nJBMUurq65uxnsX0Hm5v56A9/ANIJ
+LXrpEolEwgqlUqZQyPlo6OOPlzx5ly1bxnBWQmxpackBW6hSBEC02axrpqasNZGmaek8kN0kYPDj
+j1FVdUlz4Mknn6Surs4Cb5aUhYZiUy59+GGOgm3V1WiadiUPCILAV9autV5wAaM9PXQeOWJprBBp
+aGjgxIkTpFIpOjs7aWxsXBJwUwZOnUKZmgLS2zl4vUjSlV1XURRFqtavv3IDKAVe/O53efPxx69a
+SCxUBs+c4dV77+Vyfz+xy5eBdG3iX7ECm81m9S2JokiwuZmiujrCPT1AuqgOAqcef5zzL77Imt27
+uemhhyipqVnYZ5cw8bPbR0eOcOall7g8MEB4aIhEJAJk9qOAwKZNyLJsHpQgRKNRIxQK0XPmDH/+
+3vdQQ6G8na/YtIk199zDypYWVmzceFWAT1y8yMWzZzn/9tv0vfsudqeTlKIQHRvL2QSOAqU7d/K1
+W2/l2muvpba2Nl3iJhIJIxKJMDw8TO/Zs3zw4x+jTUzkHVCw2fCUleHw+QiuXYu/upqqhgb8VVUY
+hkFNczPFweCs7z556y3r+vyxYwiiyD+PHwdBwNB1krEYhqYRC4UwdB2D9LJmmnRtXHz77VTfeCPL
+ly+ntraWmpqa9MaaqqqGoiiEQiGGhoYYHBzk00OHiHR2LkqDNlnG7nJhd7nQswqN+ZogiuipFMlY
+DDWRgBl5KEF6woqAUFFByc03U756NZWVlSxfvpyamhoCgQAejwdB13VDVVVisRihUIiRkRGGh4cZ
++sc/GO3qIt7VhZGJAle7mVpWuVKDCBng8jXX4N68Gc8111BUVER5eTnV1dVUV1cTCASuFFqGYaDr
+upFKpYjH40xMTDA+Ps7Y2Bjj4+OEw2EmenqYPneO1OAgZCWpxTY9S9QMcLhyHGUDRI8HqbISZ309
+zoYGnE4nHo8Hv99PaWkpgUCAiooK6/DE4XCkI1HW2a6hqiqKojA9Pc3k5KQl4XCY6elpotFoetuk
+v59UKIR66RLToRBJTcMYHUWIRvMSMPO6rbY2/SsIOFatQpYk5NWrkSQJWZZxOBy43W68Xi9+v5+i
+oiJKSkooLi7G5/PhdruRZdnads85HzD3hpLJJIqiEIvFiEajRCIRIpEI0WiUWCxGPB631iOKopBK
+pazUbi4Oc7Y+snKCzWbDZrMhSRKSJGG3262w6HK5cLlceDwevF4vPp8Pr9eL2+3G5XLhcDjMkxuE
+TNibdcBhnv9qmkYqlSKZTJJIJFAUhXg8jqIoKIpCIpGwSCSTSVRVtWSuk3qTiAnebrfngHc4HDid
+TpxOJy6Xy7qWZdk6wZzrxCbvCY1JRNd1NE3LAWgSM69ngp+PgCiK1gF3NhFTzHvmO+Y3wCzw8xLI
+JpL5tYCZpEyw2f/nWt1ag2UtM0x3Mq1iAp1j+bH0M7KFCGWDnfmbd8AMnuxfUzL/C0rp/wFnFd4n
+EQn3XQAAAABJRU5ErkJggg==" />
+</td>
+<td class="content"><em>Important</em> admonition paragraph.</td>
+</tr></table>
+</div>
+<div class="sidebarblock">
+<div class="content">
+<div class="title">Sidebar</div>
+<div class="paragraph"><p>Faucibus sagittis commodo sed et eu. Quam nullam ornare. Sed vel est.
+Mauris urna lobortis interdum placerat per id magnis enim.</p></div>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_asciidoc_elements_3">AsciiDoc Elements</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>A quote block:</p></div>
+<div class="quoteblock">
+<div class="content">
+<div class="paragraph"><p>A good notation has subtlety and suggestiveness which at times makes
+it almost seem like a live teacher.</p></div>
+</div>
+<div class="attribution">
+<em>The World of Mathematics (1956)</em><br />
+&#8212; Bertrand Russell
+</div></div>
+<div class="paragraph"><p>A verse block:</p></div>
+<div class="verseblock">
+<pre class="content">To see a world in a grain of sand,
+And a heaven in a wild flower,
+Hold infinity in the palm of your hand,
+And eternity in an hour.</pre>
+<div class="attribution">
+<em>from Auguries of Innocence</em><br />
+&#8212; William Blake
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_asciidoc_elements_4">AsciiDoc Elements</h2>
+<div class="sectionbody">
+<div class="tableblock">
+<table rules="all"
+width="80%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 1. Horizontal and vertical source data</caption>
+<col width="17%" />
+<col width="11%" />
+<col width="11%" />
+<col width="58%" />
+<thead>
+<tr>
+<th align="left" valign="top">Date </th>
+<th align="center" valign="top">Duration </th>
+<th align="center" valign="top">Avg HR </th>
+<th align="left" valign="top">Notes</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">22-Aug-08</p></td>
+<td align="center" valign="top"><p class="table">10:24</p></td>
+<td align="center" valign="top"><p class="table">157</p></td>
+<td align="left" valign="top"><p class="table">Worked out MSHR (max sustainable heart rate) by going hard
+for this interval.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">22-Aug-08</p></td>
+<td align="center" valign="top"><p class="table">23:03</p></td>
+<td align="center" valign="top"><p class="table">152</p></td>
+<td align="left" valign="top"><p class="table">Back-to-back with previous interval.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">24-Aug-08</p></td>
+<td align="center" valign="top"><p class="table">40:00</p></td>
+<td align="center" valign="top"><p class="table">145</p></td>
+<td align="left" valign="top"><p class="table">Moderately hard interspersed with 3x 3min intervals (2min
+hard + 1min really hard taking the HR up to 160).</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_filters">Filters</h2>
+<div class="sectionbody">
+<div class="listingblock">
+<div class="title">Python source</div>
+<div class="content">
+<pre><code><span style="color:#bf0303">&apos;&apos;&apos; A multi-line</span>
+<span style="color:#bf0303"> comment.&apos;&apos;&apos;</span>
+<span style="color:#000000; font-weight:bold">def</span> <span style="color:#010181">sub_word</span><span style="color:#000000">(</span>mo<span style="color:#000000">):</span>
+ <span style="color:#bf0303">&apos;&apos;&apos; Single line comment.&apos;&apos;&apos;</span>
+ word <span style="color:#000000">=</span> mo<span style="color:#000000">.</span><span style="color:#010181">group</span><span style="color:#000000">(</span><span style="color:#bf0303">&apos;word&apos;</span><span style="color:#000000">)</span> <span style="color:#838183; font-style:italic"># Inline comment</span>
+ <span style="color:#000000; font-weight:bold">if</span> word <span style="color:#000000; font-weight:bold">in</span> keywords<span style="color:#000000">[</span>language<span style="color:#000000">]:</span>
+ <span style="color:#000000; font-weight:bold">return</span> quote <span style="color:#000000">+</span> word <span style="color:#000000">+</span> quote
+ <span style="color:#000000; font-weight:bold">else</span><span style="color:#000000">:</span>
+ <span style="color:#000000; font-weight:bold">return</span> word</code></pre>
+</div></div>
+<div class="imageblock music">
+<div class="content">
+<img alt="slidy-example__1.png"
+src="data:image/png;base64,
+iVBORw0KGgoAAAANSUhEUgAAASEAAAAuCAAAAABCV/CmAAAF0klEQVRo3u1bMWzbRhR9LuRBiGOQ
+Hhy0HWIxSYMA7WDJaFGgyCJmCtqhsIwARYcCsQSkXYoClJZMWURPnQKI9loglTp0SRZRS2eRGjoE
+SGIKRhEUQQFSEBN4kIHrIFIWySN5lOk4DvQWC593///7uvvv/6O8QJACFEFMQ81bhGqUGUd+kIq9
+ZvusV5wU7SbryHQi9D5jHqE4zCMUh3mE4jCPUBwWJG3y2QQyyzNp0Zevsg0c2RcX/bLDV/YI2auL
+9BlmNpvGOv1qXgzzTPOGNxb2jfFH+1FvHXiCm3c+DI579vhfvL5GezKGdG2bzVG9Kvs8s/eeYOnu
+7V2EaLi1xag6Gn41u893mOZJWZAxzPy2SQgx8+AaxI8uJxHSANokBEWJsKEd0JEHJJOQ5iYhpCsF
+LYBVdTT8aqQi27xi0c1DJUvmAfAqN6i0YBREayqQjYHSQhmop/FteqHoubbMQytvACjtlNK3cFI4
+EVI6pXE+4mtAFQ29o00N4jGwAEBLqj0ezU1NBGRxwBIboyqKZYth4MyQKb3IeDNtAsh1CSFkH0Bz
+P1c0p7aaWa8TQoDQnTn7KYNJSDeP8SGIPmWmBADIn+op2677T1lmHCcVQL/eAiDk+uiWDE8U+ep4
+A1VS/85UaEJjB1xZBoBCIWKoJeoAAF0rsGiedRMJgm83O2zfAQAUAUC38NEN/0QdsI+urIXpDWX7
+w5dDD5GbvfWV6edmb3WE7PLqYphmdC47ql8cOJKbi5EmYtQ4CGV73V6frnj05UzFGHsK4GYNACQL
+X9EI9vGvb779JMR+CNvbj5oArAsPjw327ng803u/xS3tC0f1945g/X60iRg1Dnaf1+gD71n/PLw4
+tTKX7bscwHUJIYRwQJ16RAEuWR4y3WB0Q/NQGyQGbgJx71fyZoyJk+WhNoBNTx5yuKxgNBpGAQCM
+ASAagoftFV4wAGCgIgnquvNBSDQtEkWVP00TrVJAl5Opwbs01wJyhWq/r03dGlYHg7oygzl3VXzy
+uRRIGoQt311mmAmjoUGQE9tVKgC2ZWqEJmgANVRUfpow+AFXgQVwyVikP/6TbyWaFQo5KNLoJqz6
+DoCOlrR+MyoA6lWv0N/by33kyxA0z2auoVyAAiT/UhA4F6nCopqwxHHPpSeNkJAHtn0B8vT2AIa9
+o8znwWbafInR4cqlFYrWw1f2CG9Wr1MedVZHyF7ysbuf7YsxXrs0TR1p9i4P/SbodcEU2x++skcY
+ZWjnYdg7+vSSRzJhewf2vaMlmUbpzx58ufT8YpAg7b0Olu7e/u4CjTs7vwRqjiDbh5DusRKHpqkj
+9d4eZQqtLpiwvePxTxbV8LMfxdsewXFv73In1w0lQS/PjuF05t9QWwHKXcBJ2J7qVoiv8Ps7YXvH
+4/J1urmGrwo47u0BQBP0YkhJbwGcGuR6tzP/awvvHOj5z/W4+QPt4UJhH/7edYrLlCokCl8AALrg
+VK0R6L+bmwoPyHWmzvztgVYXsHjcha6js+GN0SRCVvmP7Vpo3dWCglJwe3VMHlpZh5RiTZgC5PBH
+kR5fQU6FWve+QHZPmSJYbSV0nWq/AXEQlOc0o7qhc1KES+8YIj0uoyQIZV+iGbP94dPsx1F3+Hr2
+xosD8AFqGh5Edead9UB5kDrbswpdNdEeP13031G4bG+/Dr2kB4DHo/vYPcBaHDP7vbpz+mzPKvT3
+9nTYez/7JFI2I8SnEOPvP3m0gZWkP/DIi/GyWJ1rYtRIZuEak/P/+cOxEuzLKCjVNMACLDV+Pecc
+lGtqlghtdQEYgNVG4fR6rHcVLBGqAkC5A/78UFaKYH1vb7QAPdkF2nuCTJXpiuCpmeWBr5c/S6Rc
+CrK9T2bGZ7bftfCR7EJXTVLoy5P39qeAWzLbrwfYXK22TyKcGQIL28+MfKrUdzK2nxnz3w/F4dxE
+SJDOyPD5idBZlRrnJkJnhnmE4sBSU8+KVP4hIhLi6ZuY76FYvIcREtNlvf8BXhy54R9ZSfoAAAAA
+SUVORK5CYII=" />
+</div>
+<div class="title">Figure 2. Music</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:19 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/slidy-example__1.png b/slidy-example__1.png
new file mode 100644
index 0000000..f3b03fc
--- /dev/null
+++ b/slidy-example__1.png
Binary files differ
diff --git a/slidy.html b/slidy.html
new file mode 100644
index 0000000..98cd968
--- /dev/null
+++ b/slidy.html
@@ -0,0 +1,292 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>Slidy backend for AsciiDoc</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="slidy.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>Slidy backend for AsciiDoc</h1>
+<span id="author">Stuart Rackham</span><br />
+<span id="revision">version 9.0.5,</span>
+24 January 2021
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p>Use the following command to create this document (<code>slidy.html</code>):</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>asciidoc slidy.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>Press the <em>Space</em> key or the <em>Left Arrow</em> key to continue the
+slideshow.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_overview">Overview</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc has a <em>slidy</em> backend for generating self contained <em>Slidy</em>
+HTML slideshows.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+An overview of <em>Slidy</em> can be found here:
+ <a href="http://www.w3.org/Talks/Tools/Slidy2/">http://www.w3.org/Talks/Tools/Slidy2/</a>
+</p>
+</li>
+<li>
+<p>
+AsciiDoc ships with the Slidy JavaScript a customised Slidy CSS
+ file.
+</p>
+</li>
+<li>
+<p>
+Use the <em>asciidoc</em> <code>--backend slidy</code> command-line option to generate
+ browser viewable HTML slideshow. Example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>asciidoc --backend slidy slidy-example.txt</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+By default, <em>asciidoc</em> creates a self contained distributable HTML
+ document which includes all necessary CSS and JavaScripts. Use the
+ <em>asciidoc</em> <code>--attribute linkcss</code> command-line option if you prefer
+ to link (rather than embed) external CSS and JavaScript files.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_how_slidy_uses_asciidoc_markup">How Slidy uses AsciiDoc markup</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+The document header is displayed as the first page of the slideshow.
+</p>
+</li>
+<li>
+<p>
+If the document has a <em>preamble</em> (the content between the header and
+ the first section) it will be displayed on the second page.
+</p>
+</li>
+<li>
+<p>
+Each top level section is displayed as a separate slide.
+</p>
+</li>
+<li>
+<p>
+If the AsciiDoc <em>incremental</em> attribute is defined then all lists
+ and OpenBlock elements are treated as <em>incremental</em> i.e. Slidy
+ exposes their child elements one at a time as you progress through
+ the slideshow.
+</p>
+</li>
+<li>
+<p>
+You can explicitly set an element as incremental by setting its
+ <em>role</em> attribute to <em>incremental</em>. Example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>[role="incremental"]
+Sagittis in vestibulum. Habitasse ante nulla enim bibendum nulla.
+Odio sed pede litora.</code></pre>
+</div></div>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_slidy_specific_attributes">Slidy Specific Attributes</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+incremental
+</dt>
+<dd>
+<p>
+If this attribute is defined then all lists and OpenBlock elements are
+classed as incremental i.e. Slidy will expose them one at a time as
+you progress through the slideshow. The default behavior is for the
+show to progress a full slide at at time. Elements that have been
+explicitly classed as <em>incremental</em> with the <em>role</em> attribute are
+always displayed incrementally.
+</p>
+</dd>
+<dt class="hdlist1">
+duration
+</dt>
+<dd>
+<p>
+Set this to the estimated number of minutes that your presentation
+will take and Slidy will display a countdown timer at the bottom right
+of the slideshow. For example, this <em>asciidoc</em> command-line option
+<code>--attribute duration=5</code> sets the duration to five minutes.
+</p>
+</dd>
+<dt class="hdlist1">
+copyright
+</dt>
+<dd>
+<p>
+If you set the <em>copyright</em> attribute it will be displayed in the Slidy
+menu bar at the bottom of the slide. If the <em>copyright</em> attribute is
+not define then the author name, if it is defined, will be displayed.
+</p>
+</dd>
+<dt class="hdlist1">
+outline
+</dt>
+<dd>
+<p>
+Setting the <em>role</em> attribute to <em>outline</em> in a bulleted or numbered
+list allows nested lists to be expanded and collapsed using the mouse.
+Nested lists are expanded when an enclosing list item (the ones with
+blue bullet points or numbers) is clicked.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_stylesheets">Stylesheets</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+<em>slidy</em> loads the <em>asciidoc.css</em> stylesheet followed by <em>slidy.css</em>:
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+<code>asciidoc.css</code> contains content presentational styles.
+</p>
+</li>
+<li>
+<p>
+The customized <code>slidy.css</code> stylesheet contains Slidy specific
+ styles (table of contents, menu and transition related).
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+You can use AsciiDoc CSS themes. For example, the <em>asciidoc</em>
+ <code>--attribute theme=volnitsky</code> command-line option will substitute
+ the <code>asciidoc.css</code> stylesheet for the distributed Volnitsky
+ <code>volnitsky.css</code> stylesheet.
+</p>
+</li>
+<li>
+<p>
+An additional stylesheet can be specified by setting the
+ <em>stylesheet</em> attribute. For example, the <code>--attribute
+ stylesheet=myslidy.css</code> will load <code>myslidy.css</code> after the standard
+ CSS files.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_tips">Tips</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+The Slidy <em>help?</em> and <em>contents?</em> links at the bottom left are your
+ friends.
+</p>
+</li>
+<li>
+<p>
+Use the AsciiDoc <em>data-uri</em> attribute to embed images in your
+ slideshow&#8201;&#8212;&#8201;add this attribute entry to your document&#8217;s header:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>:data-uri:</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Use the AsciiDoc <em>max-width</em> attribute to set the document display
+ width. For example, add this attribute entry to your document&#8217;s
+ header:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>:max-width: 45em</code></pre>
+</div></div>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:21 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/source-highlight-filter.html b/source-highlight-filter.html
new file mode 100644
index 0000000..1f33cf8
--- /dev/null
+++ b/source-highlight-filter.html
@@ -0,0 +1,464 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>Source Code Highlight Filter</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="source-highlight-filter.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>Source Code Highlight Filter</h1>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p>The AsciiDoc distribution includes a <em>source</em> filter for highlighting
+code syntax.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_docbook_outputs">DocBook Outputs</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc encloses the source code in a DocBook <em>programlisting</em>
+element and leaves source code highlighting to the DocBook toolchain
+(dblatex has a particularly nice programlisting highlighter). The
+DocBook programlisting element is assigned two attributes:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+The <em>language</em> attribute is set to the AsciiDoc <em>language</em>
+ attribute.
+</p>
+</li>
+<li>
+<p>
+The <em>linenumbering</em> attribute is set to the AsciiDoc <em>src_numbered</em>
+ attribute (<em>numbered</em> or <em>unnumbered</em>).
+</p>
+</li>
+</ol></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_html_outputs">HTML Outputs</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>You have the choice of three HTML source code highlighters, your
+selection is determined by the <em>source-highlighter</em> attribute (defaults
+to <em>source-highlight</em>):</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">Set the <em>source-highlighter</em> attribute from the <code>asciidoc(1)</code>
+command-line or in the document header (not in the document body,
+because the configuration file conditional macros are processed at
+load time).</td>
+</tr></table>
+</div>
+<div class="sect2">
+<h3 id="_gnu_source_highlight">GNU Source Highlight</h3>
+<div class="paragraph"><p>The default highlighter is the
+<a href="http://www.gnu.org/software/src-highlite/">GNU source-highlight</a> which
+can highlight <em>html4</em>, <em>html5</em> and <em>xhtml11</em> outputs. The GNU
+source-highlight must be installed and the <em>source-highlight</em> command
+must reside in the shell search <em>PATH</em>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_highlight">Highlight</h3>
+<div class="paragraph"><p>You can use
+<a href="http://www.andre-simon.de/doku/highlight/en/highlight.html">Highlight</a>
+syntax highlighter for <em>xhtml11</em>, <em>html5</em> and <em>html4</em> outputs (set the
+<em>source-highlighter</em> attribute to <em>highlighter</em>).</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+The <em>highlight</em> command must reside in the shell search <em>PATH</em>.
+</p>
+</li>
+<li>
+<p>
+To make Highlighter your default highlighter put the following line
+ your <code>~/.asciidoc/asciidoc.conf</code> file:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>source-highlighter=highlight</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+The AsciiDoc <em>encoding</em> attribute is passed to Highlighter using the
+ <code>--encoding</code> command-line option.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_pygments">Pygments</h3>
+<div class="paragraph"><p>The <a href="http://pygments.org/">Pygments</a> syntax highlighter can be used for
+<em>xhtml11</em> and <em>html5</em> outputs (set the <em>source-highlighter</em> attribute
+to <em>pygments</em>).</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+The <em>pygmentize</em> command must reside in the shell search <em>PATH</em>.
+</p>
+</li>
+<li>
+<p>
+You can customize Pygments CSS styles by editing
+ <code>./stylesheets/pygments.css</code>. The <code>pygments.css</code> CSS file was
+ generated with:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>from pygments.formatters import HtmlFormatter
+print HtmlFormatter().get_style_defs('.highlight')</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+To make Pygments your default highlighter put the following line
+ your <code>~/.asciidoc/asciidoc.conf</code> file:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>source-highlighter=pygments</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+The AsciiDoc <em>encoding</em> attribute is passed to Pygments using the
+ <code>-O</code> command-line option.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_block_attributes">Block attributes</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The following attributes can be included in source code block
+attribute lists.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<em>style</em> and <em>language</em> are mandatory.
+</p>
+</li>
+<li>
+<p>
+<em>style</em>, <em>language</em> and <em>src_numbered</em> are the first three
+ positional attributes in that order.
+</p>
+</li>
+<li>
+<p>
+The <em>args</em> attribute allows the inclusion of arbitrary (highlighter
+ dependent) command options.
+</p>
+</li>
+</ul></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+style
+</dt>
+<dd>
+<p>
+ Set to <em>source</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+language
+</dt>
+<dd>
+<p>
+ The source code language name.
+</p>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">The language names vary between highlighters&#8201;&#8212;&#8201;consult the
+selected highlighter manual.</td>
+</tr></table>
+</div>
+</dd>
+<dt class="hdlist1">
+src_numbered
+</dt>
+<dd>
+<p>
+ Set to <em>numbered</em> to include line numbers.
+</p>
+</dd>
+<dt class="hdlist1">
+src_tab
+</dt>
+<dd>
+<p>
+ Set tab size (GNU source-highlight only).
+</p>
+</dd>
+<dt class="hdlist1">
+args
+</dt>
+<dd>
+<p>
+ Include this attribute value in the highlighter command-line (HTML
+ outputs) or in the <code>programlisting</code> element (DocBook).
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_testing">Testing</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Test the filter by converting the test file to HTML with AsciiDoc:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -v ./filters/source/source-highlight-filter-test.txt
+$ firefox ./filters/source/source-highlight-filter-test.html &amp;</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_examples">Examples</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_source_code_paragraphs">Source code paragraphs</h3>
+<div class="paragraph"><p>The <code>source</code> paragraph style will highlight a paragraph of source
+code. These three code paragraphs:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[source,python]
+if n &lt; 0: print 'Hello World!'
+
+:language: python
+
+[source]
+if n &lt; 0: print 'Hello World!'
+
+[source,ruby,numbered]
+[true, false].cycle([0, 1, 2, 3, 4]) do |a, b|
+ puts "#{a.inspect} =&gt; #{b.inspect}"</code></pre>
+</div></div>
+<div class="paragraph"><p>Render this highlighted source code:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code><span style="color:#000000; font-weight:bold">if</span> n <span style="color:#000000">&lt;</span> <span style="color:#b07e00">0</span><span style="color:#000000">:</span> <span style="color:#000000; font-weight:bold">print</span> <span style="color:#bf0303">&apos;Hello World!&apos;</span></code></pre>
+</div></div>
+<div class="listingblock">
+<div class="content">
+<pre><code><span style="color:#000000; font-weight:bold">if</span> n <span style="color:#000000">&lt;</span> <span style="color:#b07e00">0</span><span style="color:#000000">:</span> <span style="color:#000000; font-weight:bold">print</span> <span style="color:#bf0303">&apos;Hello World!&apos;</span></code></pre>
+</div></div>
+<div class="listingblock">
+<div class="content">
+<pre><code><span style="color:#555555"> 1 </span><span style="color:#000000">[</span><span style="color:#000000; font-weight:bold">true</span><span style="color:#000000">,</span> <span style="color:#000000; font-weight:bold">false</span><span style="color:#000000">].</span><span style="color:#010181">cycle</span><span style="color:#000000">([</span><span style="color:#b07e00">0</span><span style="color:#000000">,</span> <span style="color:#b07e00">1</span><span style="color:#000000">,</span> <span style="color:#b07e00">2</span><span style="color:#000000">,</span> <span style="color:#b07e00">3</span><span style="color:#000000">,</span> <span style="color:#b07e00">4</span><span style="color:#000000">])</span> <span style="color:#000000; font-weight:bold">do</span> <span style="color:#000000">|</span>a<span style="color:#000000">,</span> b<span style="color:#000000">|</span>
+<span style="color:#555555"> 2 </span> puts <span style="color:#bf0303">&quot;#{a.inspect} =&gt; #{b.inspect}&quot;</span></code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_unnumbered_source_code_listing">Unnumbered source code listing</h3>
+<div class="paragraph"><p>This source-highlight filtered block:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code> [source,python]
+ ---------------------------------------------------------------------
+ ''' A multi-line
+ comment.'''
+ def sub_word(mo):
+ ''' Single line comment.'''
+ word = mo.group('word') # Inline comment
+ if word in keywords[language]:
+ return quote + word + quote
+ else:
+ return word
+ ---------------------------------------------------------------------</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders this highlighted source code:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code><span style="color:#bf0303">&apos;&apos;&apos; A multi-line</span>
+<span style="color:#bf0303"> comment.&apos;&apos;&apos;</span>
+<span style="color:#000000; font-weight:bold">def</span> <span style="color:#010181">sub_word</span><span style="color:#000000">(</span>mo<span style="color:#000000">):</span>
+ <span style="color:#bf0303">&apos;&apos;&apos; Single line comment.&apos;&apos;&apos;</span>
+ word <span style="color:#000000">=</span> mo<span style="color:#000000">.</span><span style="color:#010181">group</span><span style="color:#000000">(</span><span style="color:#bf0303">&apos;word&apos;</span><span style="color:#000000">)</span> <span style="color:#838183; font-style:italic"># Inline comment</span>
+ <span style="color:#000000; font-weight:bold">if</span> word <span style="color:#000000; font-weight:bold">in</span> keywords<span style="color:#000000">[</span>language<span style="color:#000000">]:</span>
+ <span style="color:#000000; font-weight:bold">return</span> quote <span style="color:#000000">+</span> word <span style="color:#000000">+</span> quote
+ <span style="color:#000000; font-weight:bold">else</span><span style="color:#000000">:</span>
+ <span style="color:#000000; font-weight:bold">return</span> word</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_numbered_source_code_listing_with_callouts">Numbered source code listing with callouts</h3>
+<div class="paragraph"><p>This source-highlight filtered block:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code> [source,ruby,numbered]
+ ---------------------------------------------------------------------
+ #
+ # Useful Ruby base class extensions.
+ #
+
+ class Array
+
+ # Execute a block passing it corresponding items in
+ # +self+ and +other_array+.
+ # If self has less items than other_array it is repeated.
+
+ def cycle(other_array) # :yields: item, other_item
+ other_array.each_with_index do |item, index|
+ yield(self[index % self.length], item)
+ end
+ end
+
+ end
+
+ if $0 == __FILE__ # &lt;1&gt;
+ # Array#cycle test
+ # true =&gt; 0
+ # false =&gt; 1
+ # true =&gt; 2
+ # false =&gt; 3
+ # true =&gt; 4
+ puts 'Array#cycle test' # &lt;2&gt;
+ [true, false].cycle([0, 1, 2, 3, 4]) do |a, b|
+ puts "#{a.inspect} =&gt; #{b.inspect}"
+ end
+ end
+ ---------------------------------------------------------------------
+
+ &lt;1&gt; First callout.
+ &lt;2&gt; Second callout.</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders this highlighted source code:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code><span style="color:#555555"> 1 </span><span style="color:#838183; font-style:italic">#</span>
+<span style="color:#555555"> 2 </span><span style="color:#838183; font-style:italic"># Useful Ruby base class extensions.</span>
+<span style="color:#555555"> 3 </span><span style="color:#838183; font-style:italic">#</span>
+<span style="color:#555555"> 4 </span>
+<span style="color:#555555"> 5 </span><span style="color:#000000; font-weight:bold">class</span> Array
+<span style="color:#555555"> 6 </span>
+<span style="color:#555555"> 7 </span> <span style="color:#838183; font-style:italic"># Execute a block passing it corresponding items in</span>
+<span style="color:#555555"> 8 </span> <span style="color:#838183; font-style:italic"># +self+ and +other_array+.</span>
+<span style="color:#555555"> 9 </span> <span style="color:#838183; font-style:italic"># If self has less items than other_array it is repeated.</span>
+<span style="color:#555555"> 10 </span>
+<span style="color:#555555"> 11 </span> <span style="color:#000000; font-weight:bold">def</span> <span style="color:#010181">cycle</span><span style="color:#000000">(</span>other_array<span style="color:#000000">)</span> <span style="color:#838183; font-style:italic"># :yields: item, other_item</span>
+<span style="color:#555555"> 12 </span> other_array<span style="color:#000000">.</span>each_with_index <span style="color:#000000; font-weight:bold">do</span> <span style="color:#000000">|</span>item<span style="color:#000000">,</span> index<span style="color:#000000">|</span>
+<span style="color:#555555"> 13 </span> <span style="color:#000000; font-weight:bold">yield</span><span style="color:#000000">(</span><span style="color:#000000; font-weight:bold">self</span><span style="color:#000000">[</span>index <span style="color:#000000">%</span> <span style="color:#000000; font-weight:bold">self</span><span style="color:#000000">.</span>length<span style="color:#000000">],</span> item<span style="color:#000000">)</span>
+<span style="color:#555555"> 14 </span> <span style="color:#000000; font-weight:bold">end</span>
+<span style="color:#555555"> 15 </span> <span style="color:#000000; font-weight:bold">end</span>
+<span style="color:#555555"> 16 </span>
+<span style="color:#555555"> 17 </span><span style="color:#000000; font-weight:bold">end</span>
+<span style="color:#555555"> 18 </span>
+<span style="color:#555555"> 19 </span><span style="color:#000000; font-weight:bold">if</span> <span style="color:#0057ae">$0</span> <span style="color:#000000">==</span> __FILE__ <span style="color:#838183; font-style:italic"># <img src="./images/icons/callouts/1.png" alt="1" /></span>
+<span style="color:#555555"> 20 </span> <span style="color:#838183; font-style:italic"># Array#cycle test</span>
+<span style="color:#555555"> 21 </span> <span style="color:#838183; font-style:italic"># true =&gt; 0</span>
+<span style="color:#555555"> 22 </span> <span style="color:#838183; font-style:italic"># false =&gt; 1</span>
+<span style="color:#555555"> 23 </span> <span style="color:#838183; font-style:italic"># true =&gt; 2</span>
+<span style="color:#555555"> 24 </span> <span style="color:#838183; font-style:italic"># false =&gt; 3</span>
+<span style="color:#555555"> 25 </span> <span style="color:#838183; font-style:italic"># true =&gt; 4</span>
+<span style="color:#555555"> 26 </span> puts <span style="color:#bf0303">&apos;Array#cycle test&apos;</span> <span style="color:#838183; font-style:italic"># <img src="./images/icons/callouts/2.png" alt="2" /></span>
+<span style="color:#555555"> 27 </span> <span style="color:#000000">[</span><span style="color:#000000; font-weight:bold">true</span><span style="color:#000000">,</span> <span style="color:#000000; font-weight:bold">false</span><span style="color:#000000">].</span><span style="color:#010181">cycle</span><span style="color:#000000">([</span><span style="color:#b07e00">0</span><span style="color:#000000">,</span> <span style="color:#b07e00">1</span><span style="color:#000000">,</span> <span style="color:#b07e00">2</span><span style="color:#000000">,</span> <span style="color:#b07e00">3</span><span style="color:#000000">,</span> <span style="color:#b07e00">4</span><span style="color:#000000">])</span> <span style="color:#000000; font-weight:bold">do</span> <span style="color:#000000">|</span>a<span style="color:#000000">,</span> b<span style="color:#000000">|</span>
+<span style="color:#555555"> 28 </span> puts <span style="color:#bf0303">&quot;#{a.inspect} =&gt; #{b.inspect}&quot;</span>
+<span style="color:#555555"> 29 </span> <span style="color:#000000; font-weight:bold">end</span>
+<span style="color:#555555"> 30 </span><span style="color:#000000; font-weight:bold">end</span></code></pre>
+</div></div>
+<div class="colist arabic"><table>
+<tr><td><img src="./images/icons/callouts/1.png" alt="1" /></td><td>
+First callout.
+</td></tr>
+<tr><td><img src="./images/icons/callouts/2.png" alt="2" /></td><td>
+Second callout.
+</td></tr>
+</table></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">
+<div class="ulist"><ul>
+<li>
+<p>
+If the source <em>language</em> attribute has been set (using an
+ <em>AttributeEntry</em> or from the command-line) you don&#8217;t have to specify
+ it in each source code block.
+</p>
+</li>
+<li>
+<p>
+You should place callout markers inside source code comments to
+ ensure they are not misinterpreted and mangled by the highlighter.
+</p>
+</li>
+</ul></div>
+</td>
+</tr></table>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:21 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/support.html b/support.html
new file mode 100644
index 0000000..f63b729
--- /dev/null
+++ b/support.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>AsciiDoc Support</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="support.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>AsciiDoc Support</h1>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+Bugs should be posted to our
+ <a href="https://github.com/asciidoc/asciidoc-py3">GitHub repository</a>.
+</p>
+</li>
+<li>
+<p>
+Questions about general syntax or usage should be posted to the
+ <a href="http://groups.google.com/group/asciidoc">AsciiDoc discussion list</a>
+ (thanks Terrence Brannon for setting it up).
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:21 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/testasciidoc.1.html b/testasciidoc.1.html
new file mode 100644
index 0000000..3a083da
--- /dev/null
+++ b/testasciidoc.1.html
@@ -0,0 +1,275 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>TESTASCIIDOC(1)</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./asciidoc-manpage.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="testasciidoc.1.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>
+TESTASCIIDOC(1) Manual Page
+</h1>
+<h2>NAME</h2>
+<div class="sectionbody">
+<p>testasciidoc -
+ Run AsciiDoc conformance tests specified in configuration file.
+</p>
+</div>
+</div>
+<div id="content">
+<div class="sect1">
+<h2 id="_synopsis">SYNOPSIS</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><strong>testasciidoc</strong> [<em>OPTIONS</em>] <em>COMMAND</em></p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_description">DESCRIPTION</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The testasciidoc command runs AsciiDoc conformance tests specified in
+configuration file.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_commands">COMMANDS</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The testasciidoc toolset has three different commands:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>testasciidoc list
+testasciidoc run [-n, --number NUMBER] [-b, --backend BACKEND] [OPTIONS]
+testasciidoc update [-n, --number NUMBER] [-b, --backend BACKEND] [OPTIONS]</code></pre>
+</div></div>
+<div class="paragraph"><p>The commands perform as follows:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>list</strong>
+</dt>
+<dd>
+<p>
+ List available tests cases.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>run</strong>
+</dt>
+<dd>
+<p>
+ Execute tests (regenerate temporary test cases and compare them to the
+ reference files).
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>update</strong>
+</dt>
+<dd>
+<p>
+ Regenerate and update test data reference files.
+ Needs to be launched at least once to have the reference files to compare to
+ during the tests.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>Where:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>NUMBER</strong>
+</dt>
+<dd>
+<p>
+ Is the index number of the test case from the <code>testasciidoc list</code> command.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>BACKEND</strong>
+</dt>
+<dd>
+<p>
+ Is the asciidoc backend to use.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>OPTIONS</strong>
+</dt>
+<dd>
+<p>
+ Are the options listed below.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_options">OPTIONS</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>-f, --conf-file</strong>=<em>CONF_FILE</em>
+</dt>
+<dd>
+<p>
+ Use configuration file CONF_FILE for more information about the
+ configuration file format refer to the tests documentation.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>--force</strong>
+</dt>
+<dd>
+<p>
+ Update all test data overwriting existing data
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_examples">EXAMPLES</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>testasciidoc list</code>
+</dt>
+<dd>
+<p>
+ Lists all the test actions available for running or updating.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>testasciidoc run</code>
+</dt>
+<dd>
+<p>
+ Runs all the testing actions available.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>testasciidoc run --number 1 --backend html5 --conf-file=/etc/asciidoc/testasciidoc.conf</code>
+</dt>
+<dd>
+<p>
+ Run the test case 1 for the html5 asciidoc backend using the configuration file
+ /etc/asciidoc/testasciidoc.conf.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>testasciidoc update --number 1 --backend html5</code>
+</dt>
+<dd>
+<p>
+ Generate or update the reference files used for the tests cases 1st action of
+ the html5 asciidoc backend.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_exit_status">EXIT STATUS</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>0</strong>
+</dt>
+<dd>
+<p>
+ Success
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>1</strong>
+</dt>
+<dd>
+<p>
+ Failure (syntax or usage error; configuration error; document
+ processing failure; unexpected error).
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_bugs">BUGS</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>See the AsciiDoc distribution BUGS file.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_author">AUTHOR</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc was originally written by Stuart Rackham. Many people have
+contributed to it.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_resources">RESOURCES</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>GitHub: <a href="https://github.com/asciidoc/asciidoc-py3">https://github.com/asciidoc/asciidoc-py3</a></p></div>
+<div class="paragraph"><p>Main web site: <a href="https://asciidoc.org/">https://asciidoc.org/</a></p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_see_also">SEE ALSO</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><code>asciidoc(1)</code>, <code>a2x(1)</code></p></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:21 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/testasciidoc.html b/testasciidoc.html
new file mode 100644
index 0000000..dc4774c
--- /dev/null
+++ b/testasciidoc.html
@@ -0,0 +1,424 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>AsciiDoc Tests</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install(1);
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="testasciidoc.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>AsciiDoc Tests</h1>
+<div id="toc">
+ <div id="toctitle">Table of Contents</div>
+ <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
+</div>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc includes <em>testasciidoc</em>, a Python script runs a set of
+AsciiDoc conformance tests. <em>testasciidoc</em> runs through a list of
+AsciiDoc source files, generates backend outputs and then compares
+them to expected result files. The whole process is driven by a
+configuration file containing a list of user configurable test
+specifications.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_rationale">Rationale</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>When modifying AsciiDoc configuration files or source code it&#8217;s very
+easy to introduce regression errors. <em>testasciidoc</em> is a tool for
+writing many and varied test cases that can be run after changes have
+been made in order to verify that existing behavior has not been
+broken.</p></div>
+<div class="paragraph"><p>The <em>testasciidoc</em> <em>update</em> command automates the (re)generation of
+expected test result data. Result data regeneration has to be
+performed after changes to test case source files or after legitimate
+changes to the AsciiDoc output formats&#8201;&#8212;&#8201;doing this manually is
+prohibitively tedious.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_running_testasciidoc">Running testasciidoc</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The <code>testasciidoc.py</code> script and the default <code>testasciidoc.conf</code>
+configuration file are located in the AsciiDoc distribution <code>tests</code>
+directory.</p></div>
+<div class="paragraph"><p>To view the command usage run:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>$ python3 tests/testasciidoc.py
+usage: testasciidoc.py [-h] [-v] [-f CONF_FILE] command ...
+
+Run AsciiDoc conformance tests specified in configuration FILE.
+
+positional arguments:
+ command
+ list List tests
+ run Execute tests
+ update Regenerate and update test data
+
+optional arguments:
+ -h, --help show this help message and exit
+ -v, --version show program's version number and exit
+ -f CONF_FILE, --conf-file CONF_FILE
+ Use configuration file CONF_FILE (default
+ configuration file is testasciidoc.conf in
+ testasciidoc.py directory)</code></pre>
+</div></div>
+<div class="paragraph"><p>To view the list of tests in the default <code>testasciidoc.conf</code>
+configuration file run the <em>list</em> command:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>$ python tests/testasciidoc.py list
+1: Test cases
+2: Tables
+3: Source highlighter
+4: Example article
+5: Example book
+6: Example multi-part book
+7: !User Guide</code></pre>
+</div></div>
+<div class="paragraph"><p>The <em>!</em> prefix signals that a test is currently disabled.</p></div>
+<div class="paragraph"><p>Before running the tests you will need to regenerate the expected
+outputs by running the <em>update</em> command:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>$ python tests/testasciidoc.py update
+WRITING: tests/data/testcases-html4.html
+WRITING: tests/data/testcases-xhtml11.html
+WRITING: tests/data/testcases-docbook.xml
+ :
+WRITING: tests/data/book-multi-docbook.xml</code></pre>
+</div></div>
+<div class="paragraph"><p>Now you can run the tests:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>$ python tests/testasciidoc.py run
+1: Test cases
+SOURCE: asciidoc: tests/data/testcases.txt
+PASSED: html4: tests/data/testcases-html4.html
+PASSED: xhtml11: tests/data/testcases-xhtml11.html
+PASSED: docbook: tests/data/testcases-docbook.xml
+ :
+6: Example multi-part book
+SOURCE: asciidoc: doc/book-multi.txt
+PASSED: html4: tests/data/book-multi-html4.html
+PASSED: xhtml11: tests/data/book-multi-xhtml11.html
+PASSED: docbook: tests/data/book-multi-docbook.xml
+
+TOTAL PASSED: 18</code></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">
+<div class="ulist"><ul>
+<li>
+<p>
+<em>testasciidoc</em> requires AsciiDoc is located in your environment
+ search path, if not you&#8217;ll need to set the <code>ASCIIDOC_PY</code> environment
+ variable to point to <code>asciidoc.py</code>.
+</p>
+</li>
+<li>
+<p>
+If you don&#8217;t have GNU source-highlight installed you should disable
+ the <em>Tables</em> and <em>Source highlighter</em> tests in the
+ <code>tests/testasciidoc.conf</code> configuration file.
+</p>
+</li>
+<li>
+<p>
+The <code>run</code> and <code>update</code> commands both take optional <code>--number</code> and
+ <code>--backend</code> options to specify a test case number and/or backend to
+ test against. Use <code>python3 tests/testasciidoc.py run --help</code> for more
+ information.
+</p>
+</li>
+</ul></div>
+</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_testasciidoc_commands">testasciidoc commands</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<em>list</em>
+</dt>
+<dd>
+<p>
+ List test numbers and titles. A <em>!</em> title prefix signals that a
+ test is currently disabled.
+</p>
+</dd>
+<dt class="hdlist1">
+<em>run</em>
+</dt>
+<dd>
+<p>
+ Read and execute tests from the test configuration file. A test
+ specifies AsciiDoc test case source file and command options. The
+ test compares generated outputs to expected outputs and any
+ differences displayed as a diff. You can run selected tests by
+ specifying the test number and/or backend after the <code>run</code> command.
+ Examples:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>python tests/testasciidoc.py run
+python tests/testasciidoc.py run --number 3
+python tests/testasciidoc.py run --backend html4
+python tests/testasciidoc.py run --number 3 --backend html4</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+<em>update</em>
+</dt>
+<dd>
+<p>
+ Generates and updates missing and out of date test output data
+ files, this eliminates one of the most time consuming aspect of test
+ management. Use the <code>--force</code> option to force updates.
+ Examples:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>python tests/testasciidoc.py update
+python tests/testasciidoc.py update --number 4 --force</code></pre>
+</div></div>
+</dd>
+</dl></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">You can run or update disabled tests by explicitly specifying
+the test number.</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_test_configuration_file">Test configuration file</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The tests configuration file format consists of one or more test specs
+separated by a line of one or more percent characters. Each test spec
+consists of an optional test title and description followed by one or
+more optional directives (a directive starts with a percent
+character). A <em>directive</em> consists begins with a line containing a <em>%</em>
+character followed by a directive name followed by zero or more lines
+of directive data.</p></div>
+<div class="sect2">
+<h3 id="_test_spec_format">Test spec format</h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>Optional test title
+Optional test description...
+
+% name
+Optional base output file name. Defaults to base source file name.
+
+% requires
+Optional external requirements necessary to run the test, e.g. dot.
+
+% source
+AsciiDoc source file name.
+
+% backends
+Optional list of backends to be tested(default is all backends).
+
+% options
+Optional list of command-line option tuples.
+
+% attributes
+Optional dictionary of attribute values.
+
+% artifacts
+Optional list of artifacts that get generated from test, and which
+will get cleaned up.</code></pre>
+</div></div>
+<div class="paragraph"><p>Example test spec:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>Example book
+
+% options
+['--section-numbers',('--doctype','book')]
+
+% requires
+['source-highlight', 'dot']
+
+% attributes
+# Exclude date from document footer.
+{'docdate':None}
+
+% source
+../doc/book.txt</code></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">Take a look at the default <code>tests/testasciidoc.conf</code>
+configuration file that comes with AsciiDoc.</td>
+</tr></table>
+</div>
+<div class="ulist"><ul>
+<li>
+<p>
+Tests can be disabled by prefixing the test title with an
+ exclamation <em>!</em> character.
+</p>
+</li>
+<li>
+<p>
+All relative file names are relative to the configuration file
+ directory.
+</p>
+</li>
+<li>
+<p>
+Multiple tests must by separated by a <code>%</code> separator line (one or
+ more percent characters).
+</p>
+</li>
+<li>
+<p>
+Lines starting with a percent character specify a test <em>directive</em>
+ and may be followed by zero or more lines of directive data.
+</p>
+</li>
+<li>
+<p>
+Directive data lines cannot start with a percent character.
+</p>
+</li>
+<li>
+<p>
+Lines starting with a <code>#</code> hash character are ignored.
+</p>
+</li>
+<li>
+<p>
+The <em>source</em> directive data is a single line containing the
+ AsciiDoc source file name.
+</p>
+</li>
+<li>
+<p>
+The <em>options</em> directive data is a Python list of <code>(name,value)</code>
+ tuples specifying AsciiDoc command-line options. A string item is
+ equivalent to a <code>(name,None)</code> tuple.
+</p>
+</li>
+<li>
+<p>
+The <em>attributes</em> directive data specifies a Python dictionary
+ containing AsciiDoc attributes to be passed to AsciiDoc.
+</p>
+</li>
+<li>
+<p>
+The <code>requires</code> directive data specifies a Python list of strings
+ which correspond to the command line program specified by filters
+ in that test.
+</p>
+</li>
+<li>
+<p>
+The <code>artifacts</code> directive data specifies a Python list of strings
+ which corresponds to the list of files (usually image or other such
+ files) that get generated when asciidoc is run over the input file.
+ The files are deleted after the test is for a given source file is
+ run for all backends.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_globals_directive">globals directive</h3>
+<div class="paragraph"><p>An optional <em>globals</em> directive can precede all test specs, the
+globals directive data is a Python dictionary containing global
+values. Currently the only global is <em>datadir</em>, the directory
+containing expected output files (defaults to configuration file
+directory). For example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>% globals
+{'datadir': 'data'}</code></pre>
+</div></div>
+<div class="paragraph"><p>Expected output test data files are stored in the <em>datadir</em> and are
+named after the corresponding AsciiDoc input source file. For example
+if the AsciiDoc file name is <code>article.txt</code> then the corresponding
+backend output files will be <code>article-html4.html</code>,
+<code>article-xhtml11.html</code>, <code>article-docbook.xml</code> (stored in the <em>datadir</em>
+directory).</p></div>
+</div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:21 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/userguide.html b/userguide.html
new file mode 100644
index 0000000..c4a046b
--- /dev/null
+++ b/userguide.html
@@ -0,0 +1,9778 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>AsciiDoc User Guide</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install(2);
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="userguide.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>AsciiDoc User Guide</h1>
+<span id="author">Stuart Rackham</span><br />
+<span id="email"><code>&lt;<a href="mailto:srackham@gmail.com">srackham@gmail.com</a>&gt;</code></span><br />
+<span id="revision">version 9.0.5,</span>
+24 January 2021
+<div id="toc">
+ <div id="toctitle">Table of Contents</div>
+ <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
+</div>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc is a text document format for writing notes, documentation,
+articles, books, ebooks, slideshows, web pages, blogs and UNIX man
+pages. AsciiDoc files can be translated to many formats including
+HTML, PDF, EPUB, man page. AsciiDoc is highly configurable: both the
+AsciiDoc source file syntax and the backend output markups (which can
+be almost any type of SGML/XML markup) can be customized and extended
+by the user.</p></div>
+<div class="sidebarblock">
+<div class="content">
+<div class="title">This document</div>
+<div class="paragraph"><p>This is an overly large document, it probably needs to be refactored
+into a Tutorial, Quick Reference and Formal Reference.</p></div>
+<div class="paragraph"><p>If you&#8217;re new to AsciiDoc read this section and the <a href="#X6">Getting Started</a> section and take a look at the example AsciiDoc (<code>*.txt</code>)
+source files in the distribution <code>doc</code> directory.</p></div>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_introduction">1. Introduction</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc is a plain text human readable/writable document format that
+can be translated to DocBook or HTML using the <code>asciidoc(1)</code> command.
+You can then either use <code>asciidoc(1)</code> generated HTML directly or run
+<code>asciidoc(1)</code> DocBook output through your favorite DocBook toolchain or
+use the AsciiDoc <code>a2x(1)</code> toolchain wrapper to produce PDF, EPUB, DVI,
+LaTeX, PostScript, man page, HTML and text formats.</p></div>
+<div class="paragraph"><p>The AsciiDoc format is a useful presentation format in its own right:
+AsciiDoc markup is simple, intuitive and as such is easily proofed and
+edited.</p></div>
+<div class="paragraph"><p>AsciiDoc is light weight: it consists of a single Python script and a
+bunch of configuration files. Apart from <code>asciidoc(1)</code> and a Python
+interpreter, no other programs are required to convert AsciiDoc text
+files to DocBook or HTML. See <a href="#X11">Example AsciiDoc Documents</a>
+below.</p></div>
+<div class="paragraph"><p>Text markup conventions tend to be a matter of (often strong) personal
+preference: if the default syntax is not to your liking you can define
+your own by editing the text based <code>asciidoc(1)</code> configuration files.
+You can also create configuration files to translate AsciiDoc
+documents to almost any SGML/XML markup.</p></div>
+<div class="paragraph"><p><code>asciidoc(1)</code> comes with a set of configuration files to translate
+AsciiDoc articles, books and man pages to HTML or DocBook backend
+formats.</p></div>
+<div class="sidebarblock">
+<div class="content">
+<div class="title">My AsciiDoc Itch</div>
+<div class="paragraph"><p>DocBook has emerged as the de facto standard Open Source documentation
+format. But DocBook is a complex language, the markup is difficult to
+read and even more difficult to write directly&#8201;&#8212;&#8201;I found I was
+spending more time typing markup tags, consulting reference manuals
+and fixing syntax errors, than I was writing the documentation.</p></div>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X6">2. Getting Started</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_installing_asciidoc">2.1. Installing AsciiDoc</h3>
+<div class="paragraph"><p>See the <code>README</code> and <code>INSTALL</code> files for install prerequisites and
+procedures. Packagers take a look at <a href="#X38">Packager Notes</a>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X11">2.2. Example AsciiDoc Documents</h3>
+<div class="paragraph"><p>The best way to quickly get a feel for AsciiDoc is to view the
+AsciiDoc web site and/or distributed examples:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Take a look at the linked examples on the AsciiDoc web site home
+ page <a href="https://asciidoc.org/">https://asciidoc.org/</a>. Press the <em>Page Source</em> sidebar menu item to view
+ corresponding AsciiDoc source.
+</p>
+</li>
+<li>
+<p>
+Read the <code>*.txt</code> source files in the distribution <code>./doc</code> directory
+ along with the corresponding HTML and DocBook XML files.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_asciidoc_document_types">3. AsciiDoc Document Types</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>There are three types of AsciiDoc documents: article, book and
+manpage. All document types share the same AsciiDoc format with some
+minor variations. If you are familiar with DocBook you will have
+noticed that AsciiDoc document types correspond to the same-named
+DocBook document types.</p></div>
+<div class="paragraph"><p>Use the <code>asciidoc(1)</code> <code>-d</code> (<code>--doctype</code>) option to specify the AsciiDoc
+document type&#8201;&#8212;&#8201;the default document type is <em>article</em>.</p></div>
+<div class="paragraph"><p>By convention the <code>.txt</code> file extension is used for AsciiDoc document
+source files.</p></div>
+<div class="sect2">
+<h3 id="_article">3.1. article</h3>
+<div class="paragraph"><p>Used for short documents, articles and general documentation. See the
+AsciiDoc distribution <code>./doc/article.txt</code> example.</p></div>
+<div class="paragraph"><p>AsciiDoc defines standard DocBook article frontmatter and backmatter
+<a href="#X93">section markup templates</a> (appendix, abstract, bibliography,
+glossary, index).</p></div>
+</div>
+<div class="sect2">
+<h3 id="_book">3.2. book</h3>
+<div class="paragraph"><p>Books share the same format as articles, with the following
+differences:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+The part titles in multi-part books are <a href="#X17">top level titles</a>
+ (same level as book title).
+</p>
+</li>
+<li>
+<p>
+Some sections are book specific e.g. preface and colophon.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Book documents will normally be used to produce DocBook output since
+DocBook processors can automatically generate footnotes, table of
+contents, list of tables, list of figures, list of examples and
+indexes.</p></div>
+<div class="paragraph"><p>AsciiDoc defines standard DocBook book frontmatter and backmatter
+<a href="#X93">section markup templates</a> (appendix, dedication, preface,
+bibliography, glossary, index, colophon).</p></div>
+<div class="dlist"><div class="title">Example book documents</div><dl>
+<dt class="hdlist1">
+Book
+</dt>
+<dd>
+<p>
+ The <code>./doc/book.txt</code> file in the AsciiDoc distribution.
+</p>
+</dd>
+<dt class="hdlist1">
+Multi-part book
+</dt>
+<dd>
+<p>
+ The <code>./doc/book-multi.txt</code> file in the AsciiDoc distribution.
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_manpage">3.3. manpage</h3>
+<div class="paragraph"><p>Used to generate roff format UNIX manual pages. AsciiDoc manpage
+documents observe special header title and section naming conventions&#8201;&#8212;&#8201;see the <a href="#X1">Manpage Documents</a> section for details.</p></div>
+<div class="paragraph"><p>AsciiDoc defines the <em>synopsis</em> <a href="#X93">section markup template</a> to
+generate the DocBook <code>refsynopsisdiv</code> section.</p></div>
+<div class="paragraph"><p>See also the <code>asciidoc(1)</code> man page source (<code>./doc/asciidoc.1.txt</code>) from
+the AsciiDoc distribution.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X5">4. AsciiDoc Backends</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The <code>asciidoc(1)</code> command translates an AsciiDoc formatted file to the
+backend format specified by the <code>-b</code> (<code>--backend</code>) command-line
+option. <code>asciidoc(1)</code> itself has little intrinsic knowledge of backend
+formats, all translation rules are contained in customizable cascading
+configuration files. Backend specific attributes are listed in the
+<a href="#X88">Backend Attributes</a> section.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+docbook45
+</dt>
+<dd>
+<p>
+ Outputs DocBook XML 4.5 markup.
+</p>
+</dd>
+<dt class="hdlist1">
+docbook5
+</dt>
+<dd>
+<p>
+ Outputs DocBook XML 5.0 markup.
+</p>
+</dd>
+<dt class="hdlist1">
+html4
+</dt>
+<dd>
+<p>
+ This backend generates plain HTML 4.01 Transitional markup.
+</p>
+</dd>
+<dt class="hdlist1">
+xhtml11
+</dt>
+<dd>
+<p>
+ This backend generates XHTML 1.1 markup styled with CSS2. Output
+ files have an <code>.html</code> extension.
+</p>
+</dd>
+<dt class="hdlist1">
+html5
+</dt>
+<dd>
+<p>
+ This backend generates HTML 5 markup, apart from the inclusion of
+ <a href="#X98">audio and video block macros</a> it is functionally identical to
+ the <em>xhtml11</em> backend.
+</p>
+</dd>
+<dt class="hdlist1">
+slidy
+</dt>
+<dd>
+<p>
+ Use this backend to generate self-contained
+ <a href="http://www.w3.org/Talks/Tools/Slidy2/">Slidy</a> HTML slideshows for
+ your web browser from AsciiDoc documents. The Slidy backend is
+ documented in the distribution <code>doc/slidy.txt</code> file and
+ <a href="https://asciidoc.org/slidy.html">online</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+wordpress
+</dt>
+<dd>
+<p>
+ A minor variant of the <em>html4</em> backend to support
+ <a href="http://srackham.wordpress.com/blogpost1/">blogpost</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+latex
+</dt>
+<dd>
+<p>
+ Experimental LaTeX backend.
+</p>
+</dd>
+</dl></div>
+<div class="sect2">
+<h3 id="_backend_aliases">4.1. Backend Aliases</h3>
+<div class="paragraph"><p>Backend aliases are alternative names for AsciiDoc backends. AsciiDoc
+comes with two backend aliases: <em>html</em> (aliased to <em>xhtml11</em>) and
+<em>docbook</em> (aliased to <em>docbook45</em>).</p></div>
+<div class="paragraph"><p>You can assign (or reassign) backend aliases by setting an AsciiDoc
+attribute named like <code>backend-alias-&lt;alias&gt;</code> to an AsciiDoc backend
+name. For example, the following backend alias attribute definitions
+appear in the <code>[attributes]</code> section of the global <code>asciidoc.conf</code>
+configuration file:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>backend-alias-html=xhtml11
+backend-alias-docbook=docbook45</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X100">4.2. Backend Plugins</h3>
+<div class="paragraph"><p>The <code>asciidoc(1)</code> <code>--backend</code> option is also used to install and manage
+backend <a href="#X101">plugins</a>.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+A backend plugin is used just like the built-in backends.
+</p>
+</li>
+<li>
+<p>
+Backend plugins <a href="#X27">take precedence</a> over built-in backends with
+ the same name.
+</p>
+</li>
+<li>
+<p>
+You can use the <code>{asciidoc-confdir}</code> <a href="#X60">intrinsic attribute</a> to
+ refer to the built-in backend configuration file location from
+ backend plugin configuration files.
+</p>
+</li>
+<li>
+<p>
+You can use the <code>{backend-confdir}</code> <a href="#X60">intrinsic attribute</a> to
+ refer to the backend plugin configuration file location.
+</p>
+</li>
+<li>
+<p>
+By default backends plugins are installed in
+ <code>$HOME/.asciidoc/backends/&lt;backend&gt;</code> where <code>&lt;backend&gt;</code> is the
+ backend name.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_docbook">5. DocBook</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc generates <em>article</em>, <em>book</em> and <em>refentry</em>
+<a href="http://www.docbook.org/">DocBook</a> documents (corresponding to the
+AsciiDoc <em>article</em>, <em>book</em> and <em>manpage</em> document types).</p></div>
+<div class="paragraph"><p>Most Linux distributions come with conversion tools (collectively
+called a toolchain) for <a href="#X12">converting DocBook files</a> to
+presentation formats such as Postscript, HTML, PDF, EPUB, DVI,
+PostScript, LaTeX, roff (the native man page format), HTMLHelp,
+JavaHelp and text. There are also programs that allow you to view
+DocBook files directly, for example <a href="http://live.gnome.org/Yelp">Yelp</a>
+(the GNOME help viewer).</p></div>
+<div class="sect2">
+<h3 id="X12">5.1. Converting DocBook to other file formats</h3>
+<div class="paragraph"><p>DocBook files are validated, parsed and translated various
+presentation file formats using a combination of applications
+collectively called a DocBook <em>tool chain</em>. The function of a tool
+chain is to read the DocBook markup (produced by AsciiDoc) and
+transform it to a presentation format (for example HTML, PDF, HTML
+Help, EPUB, DVI, PostScript, LaTeX).</p></div>
+<div class="paragraph"><p>A wide range of user output format requirements coupled with a choice
+of available tools and stylesheets results in many valid tool chain
+combinations.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X43">5.2. a2x Toolchain Wrapper</h3>
+<div class="paragraph"><p>One of the biggest hurdles for new users is installing, configuring
+and using a DocBook XML toolchain. <code>a2x(1)</code> can help&#8201;&#8212;&#8201;it&#8217;s a
+toolchain wrapper command that will generate XHTML (chunked and
+unchunked), PDF, EPUB, DVI, PS, LaTeX, man page, HTML Help and text
+file outputs from an AsciiDoc text file. <code>a2x(1)</code> does all the grunt
+work associated with generating and sequencing the toolchain commands
+and managing intermediate and output files. <code>a2x(1)</code> also optionally
+deploys admonition and navigation icons and a CSS stylesheet. See the
+<code>a2x(1)</code> man page for more details. In addition to <code>asciidoc(1)</code> you
+also need <a href="#X40">xsltproc(1)</a>, <a href="#X13">DocBook XSL Stylesheets</a> and
+optionally: <a href="#X31">dblatex</a> or <a href="#X14">FOP</a> (to generate PDF);
+<code>w3m(1)</code> or <code>lynx(1)</code> (to generate text).</p></div>
+<div class="paragraph"><p>The following examples generate <code>doc/source-highlight-filter.pdf</code> from
+the AsciiDoc <code>doc/source-highlight-filter.txt</code> source file. The first
+example uses <code>dblatex(1)</code> (the default PDF generator) the second
+example forces FOP to be used:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ a2x -f pdf doc/source-highlight-filter.txt
+$ a2x -f pdf --fop doc/source-highlight-filter.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>See the <code>a2x(1)</code> man page for details.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">Use the <code>--verbose</code> command-line option to view executed
+toolchain commands.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_html_generation">5.3. HTML generation</h3>
+<div class="paragraph"><p>AsciiDoc produces nicely styled HTML directly without requiring a
+DocBook toolchain but there are also advantages in going the DocBook
+route:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+HTML from DocBook can optionally include automatically generated
+ indexes, tables of contents, footnotes, lists of figures and tables.
+</p>
+</li>
+<li>
+<p>
+DocBook toolchains can also (optionally) generate separate (chunked)
+ linked HTML pages for each document section.
+</p>
+</li>
+<li>
+<p>
+Toolchain processing performs link and document validity checks.
+</p>
+</li>
+<li>
+<p>
+If the DocBook <em>lang</em> attribute is set then things like table of
+ contents, figure and table captions and admonition captions will be
+ output in the specified language (setting the AsciiDoc <em>lang</em>
+ attribute sets the DocBook <em>lang</em> attribute).
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>On the other hand, HTML output directly from AsciiDoc is much faster,
+is easily customized and can be used in situations where there is no
+suitable DocBook toolchain (for example, see the <a href="https://asciidoc.org/">AsciiDoc
+website</a>).</p></div>
+</div>
+<div class="sect2">
+<h3 id="_pdf_generation">5.4. PDF generation</h3>
+<div class="paragraph"><p>There are two commonly used tools to generate PDFs from DocBook,
+<a href="#X31">dblatex</a> and <a href="#X14">FOP</a>.</p></div>
+<div class="ulist"><div class="title">dblatex or FOP?</div><ul>
+<li>
+<p>
+<em>dblatex</em> is easier to install, there&#8217;s zero configuration
+ required and no Java VM to install&#8201;&#8212;&#8201;it just works out of the box.
+</p>
+</li>
+<li>
+<p>
+<em>dblatex</em> source code highlighting and numbering is superb.
+</p>
+</li>
+<li>
+<p>
+<em>dblatex</em> is easier to use as it converts DocBook directly to PDF
+ whereas before using <em>FOP</em> you have to convert DocBook to XML-FO
+ using <a href="#X13">DocBook XSL Stylesheets</a>.
+</p>
+</li>
+<li>
+<p>
+<em>FOP</em> is more feature complete (for example, callouts are processed
+ inside literal layouts) and arguably produces nicer looking output.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_html_help_generation">5.5. HTML Help generation</h3>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Convert DocBook XML documents to HTML Help compiler source files
+ using <a href="#X13">DocBook XSL Stylesheets</a> and <a href="#X40">xsltproc(1)</a>.
+</p>
+</li>
+<li>
+<p>
+Convert the HTML Help source (<code>.hhp</code> and <code>.html</code>) files to HTML Help
+ (<code>.chm</code>) files using the <a href="#X67">Microsoft HTML Help Compiler</a>.
+</p>
+</li>
+</ol></div>
+</div>
+<div class="sect2">
+<h3 id="_toolchain_components_summary">5.6. Toolchain components summary</h3>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+AsciiDoc
+</dt>
+<dd>
+<p>
+ Converts AsciiDoc (<code>.txt</code>) files to DocBook XML (<code>.xml</code>) files.
+</p>
+</dd>
+<dt class="hdlist1">
+<a id="X13"></a><a href="https://github.com/docbook/xslt10-stylesheets">DocBook XSLT Stylesheets</a>
+</dt>
+<dd>
+<p>
+ These are a set of XSL stylesheets containing rules for converting
+ DocBook XML documents to HTML, XSL-FO, manpage and HTML Help files.
+ The stylesheets are used in conjunction with an XML parser such as
+ <a href="#X40">xsltproc(1)</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+<a id="X40"></a><a href="http://www.xmlsoft.org">xsltproc</a>
+</dt>
+<dd>
+<p>
+ An XML parser for applying XSLT stylesheets (in our case the
+ <a href="#X13">DocBook XSL Stylesheets</a>) to XML documents.
+</p>
+</dd>
+<dt class="hdlist1">
+<a id="X31"></a><a href="http://dblatex.sourceforge.net/">dblatex</a>
+</dt>
+<dd>
+<p>
+ Generates PDF, DVI, PostScript and LaTeX formats directly from
+ DocBook source via the intermediate LaTeX typesetting language&#8201;&#8212;&#8201; uses <a href="#X13">DocBook XSL Stylesheets</a>, <a href="#X40">xsltproc(1)</a> and
+ <code>latex(1)</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+<a id="X14"></a><a href="http://xmlgraphics.apache.org/fop/">FOP</a>
+</dt>
+<dd>
+<p>
+ The Apache Formatting Objects Processor converts XSL-FO (<code>.fo</code>)
+ files to PDF files. The XSL-FO files are generated from DocBook
+ source files using <a href="#X13">DocBook XSL Stylesheets</a> and
+ <a href="#X40">xsltproc(1)</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+<a id="X67"></a>Microsoft Help Compiler
+</dt>
+<dd>
+<p>
+ The Microsoft HTML Help Compiler (<code>hhc.exe</code>) is a command-line tool
+ that converts HTML Help source files to a single HTML Help (<code>.chm</code>)
+ file. It runs on MS Windows platforms and can be downloaded from
+ <a href="http://www.microsoft.com">http://www.microsoft.com</a>.
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_asciidoc_dblatex_configuration_files">5.7. AsciiDoc dblatex configuration files</h3>
+<div class="paragraph"><p>The AsciiDoc distribution <code>./dblatex</code> directory contains
+<code>asciidoc-dblatex.xsl</code> (customized XSL parameter settings) and
+<code>asciidoc-dblatex.sty</code> (customized LaTeX settings). These are examples
+of optional <a href="#X31">dblatex</a> output customization and are used by
+<a href="#X43"><code>a2x(1)</code></a>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_asciidoc_docbook_xsl_stylesheets_drivers">5.8. AsciiDoc DocBook XSL Stylesheets drivers</h3>
+<div class="paragraph"><p>You will have noticed that the distributed HTML and HTML Help
+documentation files (for example <code>./doc/asciidoc.html</code>) are not the
+plain outputs produced using the default <em>DocBook XSL Stylesheets</em>
+configuration. This is because they have been processed using
+customized DocBook XSL Stylesheets along with (in the case of HTML
+outputs) the custom <code>./stylesheets/docbook-xsl.css</code> CSS stylesheet.</p></div>
+<div class="paragraph"><p>You&#8217;ll find the customized DocBook XSL drivers along with additional
+documentation in the distribution <code>./docbook-xsl</code> directory. The
+examples that follow are executed from the distribution documentation
+(<code>./doc</code>) directory. These drivers are also used by <a href="#X43"><code>a2x(1)</code></a>.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>common.xsl</code>
+</dt>
+<dd>
+<p>
+ Shared driver parameters. This file is not used directly but is
+ included in all the following drivers.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>chunked.xsl</code>
+</dt>
+<dd>
+<p>
+ Generate chunked XHTML (separate HTML pages for each document
+ section) in the <code>./doc/chunked</code> directory. For example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ python ../asciidoc.py -b docbook asciidoc.txt
+$ xsltproc --nonet ../docbook-xsl/chunked.xsl asciidoc.xml</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+<code>epub.xsl</code>
+</dt>
+<dd>
+<p>
+ Used by <a href="#X43"><code>a2x(1)</code></a> to generate EPUB formatted documents.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>fo.xsl</code>
+</dt>
+<dd>
+<p>
+ Generate XSL Formatting Object (<code>.fo</code>) files for subsequent PDF
+ file generation using FOP. For example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ python ../asciidoc.py -b docbook article.txt
+$ xsltproc --nonet ../docbook-xsl/fo.xsl article.xml &gt; article.fo
+$ fop article.fo article.pdf</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+<code>htmlhelp.xsl</code>
+</dt>
+<dd>
+<p>
+ Generate Microsoft HTML Help source files for the MS HTML Help
+ Compiler in the <code>./doc/htmlhelp</code> directory. This example is run on
+ MS Windows from a Cygwin shell prompt:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ python ../asciidoc.py -b docbook asciidoc.txt
+$ xsltproc --nonet ../docbook-xsl/htmlhelp.xsl asciidoc.xml
+$ c:/Program\ Files/HTML\ Help\ Workshop/hhc.exe htmlhelp.hhp</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+<code>manpage.xsl</code>
+</dt>
+<dd>
+<p>
+ Generate a <code>roff(1)</code> format UNIX man page from a DocBook XML
+ <em>refentry</em> document. This example generates an <code>asciidoc.1</code> man
+ page file:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ python ../asciidoc.py -d manpage -b docbook asciidoc.1.txt
+$ xsltproc --nonet ../docbook-xsl/manpage.xsl asciidoc.1.xml</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+<code>xhtml.xsl</code>
+</dt>
+<dd>
+<p>
+ Convert a DocBook XML file to a single XHTML file. For example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ python ../asciidoc.py -b docbook asciidoc.txt
+$ xsltproc --nonet ../docbook-xsl/xhtml.xsl asciidoc.xml &gt; asciidoc.html</code></pre>
+</div></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p>If you want to see how the complete documentation set is processed
+take a look at the A-A-P script <code>./doc/main.aap</code>.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_generating_plain_text_files">6. Generating Plain Text Files</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc does not have a text backend (for most purposes AsciiDoc
+source text is fine), however you can convert AsciiDoc text files to
+formatted text using the AsciiDoc <a href="#X43"><code>a2x(1)</code></a> toolchain wrapper
+utility.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X35">7. HTML5 and XHTML 1.1</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The <em>xhtml11</em> and <em>html5</em> backends embed or link CSS and JavaScript
+files in their outputs, there is also a <a href="#X99">themes</a> plugin
+framework.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+If the AsciiDoc <em>linkcss</em> attribute is defined then CSS and
+ JavaScript files are linked to the output document, otherwise they
+ are embedded (the default behavior).
+</p>
+</li>
+<li>
+<p>
+The default locations for CSS and JavaScript files can be changed by
+ setting the AsciiDoc <em>stylesdir</em> and <em>scriptsdir</em> attributes
+ respectively.
+</p>
+</li>
+<li>
+<p>
+The default locations for embedded and linked files differ and are
+ calculated at different times&#8201;&#8212;&#8201;embedded files are loaded when
+ <code>asciidoc(1)</code> generates the output document, linked files are loaded
+ by the browser when the user views the output document.
+</p>
+</li>
+<li>
+<p>
+Embedded files are automatically inserted in the output files but
+ you need to manually copy linked CSS and Javascript files from
+ AsciiDoc <a href="#X27">configuration directories</a> to the correct location
+ relative to the output document.
+</p>
+</li>
+</ul></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 1. Stylesheet file locations</caption>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+<thead>
+<tr>
+<th align="left" valign="top"><em>stylesdir</em> attribute</th>
+<th align="left" valign="top">Linked location (<em>linkcss</em> attribute defined)</th>
+<th align="left" valign="top">Embedded location (<em>linkcss</em> attribute undefined)</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">Undefined (default).</p></td>
+<td align="left" valign="top"><p class="table">Same directory as the output document.</p></td>
+<td align="left" valign="top"><p class="table"><code>stylesheets</code> subdirectory in the AsciiDoc configuration directory
+(the directory containing the backend conf file).</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">Absolute or relative directory name.</p></td>
+<td align="left" valign="top"><p class="table">Absolute or relative to the output document.</p></td>
+<td align="left" valign="top"><p class="table">Absolute or relative to the AsciiDoc configuration directory (the
+directory containing the backend conf file).</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 2. JavaScript file locations</caption>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+<thead>
+<tr>
+<th align="left" valign="top"><em>scriptsdir</em> attribute</th>
+<th align="left" valign="top">Linked location (<em>linkcss</em> attribute defined)</th>
+<th align="left" valign="top">Embedded location (<em>linkcss</em> attribute undefined)</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">Undefined (default).</p></td>
+<td align="left" valign="top"><p class="table">Same directory as the output document.</p></td>
+<td align="left" valign="top"><p class="table"><code>javascripts</code> subdirectory in the AsciiDoc configuration directory
+(the directory containing the backend conf file).</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">Absolute or relative directory name.</p></td>
+<td align="left" valign="top"><p class="table">Absolute or relative to the output document.</p></td>
+<td align="left" valign="top"><p class="table">Absolute or relative to the AsciiDoc configuration directory (the
+directory containing the backend conf file).</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="X99">7.1. Themes</h3>
+<div class="paragraph"><p>The AsciiDoc <em>theme</em> attribute is used to select an alternative CSS
+stylesheet and to optionally include additional JavaScript code.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Theme files reside in an AsciiDoc <a href="#X27">configuration directory</a>
+ named <code>themes/&lt;theme&gt;/</code> (where <code>&lt;theme&gt;</code> is the the theme name set
+ by the <em>theme</em> attribute). <code>asciidoc(1)</code> sets the <em>themedir</em> attribute
+ to the theme directory path name.
+</p>
+</li>
+<li>
+<p>
+The <em>theme</em> attribute can also be set using the <code>asciidoc(1)</code>
+ <code>--theme</code> option, the <code>--theme</code> option can also be used to manage
+ theme <a href="#X101">plugins</a>.
+</p>
+</li>
+<li>
+<p>
+AsciiDoc ships with two themes: <em>flask</em> and <em>volnitsky</em>.
+</p>
+</li>
+<li>
+<p>
+The <code>&lt;theme&gt;.css</code> file replaces the default <code>asciidoc.css</code> CSS file.
+</p>
+</li>
+<li>
+<p>
+The <code>&lt;theme&gt;.js</code> file is included in addition to the default
+ <code>asciidoc.js</code> JavaScript file.
+</p>
+</li>
+<li>
+<p>
+If the <a href="#X66">data-uri</a> attribute is defined then icons are loaded
+ from the theme <code>icons</code> sub-directory if it exists (i.e. the
+ <em>iconsdir</em> attribute is set to theme <code>icons</code> sub-directory path).
+</p>
+</li>
+<li>
+<p>
+Embedded theme files are automatically inserted in the output files
+ but you need to manually copy linked CSS and Javascript files to the
+ location of the output documents.
+</p>
+</li>
+<li>
+<p>
+Linked CSS and JavaScript theme files are linked to the same linked
+ locations as <a href="#X35">other CSS and JavaScript files</a>.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>For example, the command-line option <code>--theme foo</code> (or <code>--attribute
+theme=foo</code>) will cause <code>asciidoc(1)</code> to search <a href="#X27">configuration file locations 1</a> for a sub-directory called <code>themes/foo</code>
+containing the stylesheet <code>foo.css</code> and optionally a JavaScript file
+name <code>foo.js</code>.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_document_structure">8. Document Structure</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>An AsciiDoc document consists of a series of <a href="#X8">block elements</a>
+starting with an optional document Header, followed by an optional
+Preamble, followed by zero or more document Sections.</p></div>
+<div class="paragraph"><p>Almost any combination of zero or more elements constitutes a valid
+AsciiDoc document: documents can range from a single sentence to a
+multi-part book.</p></div>
+<div class="sect2">
+<h3 id="_block_elements">8.1. Block Elements</h3>
+<div class="paragraph"><p>Block elements consist of one or more lines of text and may contain
+other block elements.</p></div>
+<div class="paragraph"><p>The AsciiDoc block structure can be informally summarized as follows
+<span class="footnote"><br />[This is a rough structural guide, not a rigorous syntax
+definition]<br /></span>:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Document ::= (Header?,Preamble?,Section*)
+Header ::= (Title,(AuthorInfo,RevisionInfo?)?)
+AuthorInfo ::= (FirstName,(MiddleName?,LastName)?,EmailAddress?)
+RevisionInfo ::= (RevisionNumber?,RevisionDate,RevisionRemark?)
+Preamble ::= (SectionBody)
+Section ::= (Title,SectionBody?,(Section)*)
+SectionBody ::= ((BlockTitle?,Block)|BlockMacro)+
+Block ::= (Paragraph|DelimitedBlock|List|Table)
+List ::= (BulletedList|NumberedList|LabeledList|CalloutList)
+BulletedList ::= (ListItem)+
+NumberedList ::= (ListItem)+
+CalloutList ::= (ListItem)+
+LabeledList ::= (ListEntry)+
+ListEntry ::= (ListLabel,ListItem)
+ListLabel ::= (ListTerm+)
+ListItem ::= (ItemText,(List|ListParagraph|ListContinuation)*)</code></pre>
+</div></div>
+<div class="paragraph"><p>Where:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<em>?</em> implies zero or one occurrence, <em>+</em> implies one or more
+ occurrences, <em>*</em> implies zero or more occurrences.
+</p>
+</li>
+<li>
+<p>
+All block elements are separated by line boundaries.
+</p>
+</li>
+<li>
+<p>
+<code>BlockId</code>, <code>AttributeEntry</code> and <code>AttributeList</code> block elements (not
+ shown) can occur almost anywhere.
+</p>
+</li>
+<li>
+<p>
+There are a number of document type and backend specific
+ restrictions imposed on the block syntax.
+</p>
+</li>
+<li>
+<p>
+The following elements cannot contain blank lines: Header, Title,
+ Paragraph, ItemText.
+</p>
+</li>
+<li>
+<p>
+A ListParagraph is a Paragraph with its <em>listelement</em> option set.
+</p>
+</li>
+<li>
+<p>
+A ListContinuation is a <a href="#X15">list continuation element</a>.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="X95">8.2. Header</h3>
+<div class="paragraph"><p>The Header contains document meta-data, typically title plus optional
+authorship and revision information:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+The Header is optional, but if it is used it must start with a
+ document <a href="#X17">title</a>.
+</p>
+</li>
+<li>
+<p>
+Optional Author and Revision information immediately follows the
+ header title.
+</p>
+</li>
+<li>
+<p>
+The document header must be separated from the remainder of the
+ document by one or more blank lines and cannot contain blank lines.
+</p>
+</li>
+<li>
+<p>
+The header can include comments.
+</p>
+</li>
+<li>
+<p>
+The header can include <a href="#X18">attribute entries</a>, typically
+ <em>doctype</em>, <em>lang</em>, <em>encoding</em>, <em>icons</em>, <em>data-uri</em>, <em>toc</em>,
+ <em>numbered</em>.
+</p>
+</li>
+<li>
+<p>
+Header attributes are overridden by command-line attributes.
+</p>
+</li>
+<li>
+<p>
+If the header contains non-UTF-8 characters then the <em>encoding</em> must
+ precede the header (either in the document or on the command-line).
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Here&#8217;s an example AsciiDoc document header:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Writing Documentation using AsciiDoc
+====================================
+Joe Bloggs &lt;jbloggs@mymail.com&gt;
+v2.0, February 2003:
+Rewritten for version 2 release.</code></pre>
+</div></div>
+<div class="paragraph"><p>The author information line contains the author&#8217;s name optionally
+followed by the author&#8217;s email address. The author&#8217;s name is formatted
+like:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>firstname[ [middlename ]lastname][ &lt;email&gt;]]</code></pre>
+</div></div>
+<div class="paragraph"><p>i.e. a first name followed by optional middle and last names followed
+by an email address in that order. Multi-word first, middle and last
+names can be entered using the underscore as a word separator. The
+email address comes last and must be enclosed in angle &lt;&gt; brackets.
+Here a some examples of author information lines:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Joe Bloggs &lt;jbloggs@mymail.com&gt;
+Joe Bloggs
+Vincent Willem van_Gogh</code></pre>
+</div></div>
+<div class="paragraph"><p>If the author line does not match the above specification then the
+entire author line is treated as the first name.</p></div>
+<div class="paragraph"><p>The optional revision information line follows the author information
+line. The revision information can be one of two formats:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+An optional document revision number followed by an optional
+ revision date followed by an optional revision remark:
+</p>
+<div class="openblock">
+<div class="content">
+<div class="ulist"><ul>
+<li>
+<p>
+If the revision number is specified it must be followed by a
+ comma.
+</p>
+</li>
+<li>
+<p>
+The revision number must contain at least one numeric character.
+</p>
+</li>
+<li>
+<p>
+Any non-numeric characters preceding the first numeric character
+ will be dropped.
+</p>
+</li>
+<li>
+<p>
+If a revision remark is specified it must be preceded by a colon.
+ The revision remark extends from the colon up to the next blank
+ line, attribute entry or comment and is subject to normal text
+ substitutions.
+</p>
+</li>
+<li>
+<p>
+If a revision number or remark has been set but the revision date
+ has not been set then the revision date is set to the value of the
+ <em>docdate</em> attribute.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>v2.0, February 2003
+February 2003
+v2.0,
+v2.0, February 2003: Rewritten for version 2 release.
+February 2003: Rewritten for version 2 release.
+v2.0,: Rewritten for version 2 release.
+:Rewritten for version 2 release.</code></pre>
+</div></div>
+</div></div>
+</li>
+<li>
+<p>
+The revision information line can also be an RCS/CVS/SVN $Id$
+ marker:
+</p>
+<div class="openblock">
+<div class="content">
+<div class="ulist"><ul>
+<li>
+<p>
+AsciiDoc extracts the <em>revnumber</em>, <em>revdate</em>, and <em>author</em>
+ attributes from the $Id$ revision marker and displays them in the
+ document header.
+</p>
+</li>
+<li>
+<p>
+If an $Id$ revision marker is used the header author line can be
+ omitted.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$Id: mydoc.txt,v 1.5 2009/05/17 17:58:44 jbloggs Exp $</code></pre>
+</div></div>
+</div></div>
+</li>
+</ol></div>
+<div class="paragraph"><p>You can override or set header parameters by passing <em>revnumber</em>,
+<em>revremark</em>, <em>revdate</em>, <em>email</em>, <em>author</em>, <em>authorinitials</em>,
+<em>firstname</em> and <em>lastname</em> attributes using the <code>asciidoc(1)</code> <code>-a</code>
+(<code>--attribute</code>) command-line option. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a revdate=2004/07/27 article.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>Attribute entries can also be added to the header for substitution in
+the header template with <a href="#X18">Attribute Entry</a> elements.</p></div>
+<div class="paragraph"><p>The <em>title</em> element in HTML outputs is set to the AsciiDoc document
+title, you can set it to a different value by including a <em>title</em>
+attribute entry in the document header.</p></div>
+<div class="sect3">
+<h4 id="X87">8.2.1. Additional document header information</h4>
+<div class="paragraph"><p>AsciiDoc has two mechanisms for optionally including additional
+meta-data in the header of the output document:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<em>docinfo</em> configuration file sections
+</dt>
+<dd>
+<p>
+If a <a href="#X7">configuration file</a> section named <em>docinfo</em> has been loaded
+then it will be included in the document header. Typically the
+<em>docinfo</em> section name will be prefixed with a <em>+</em> character so that it
+is appended to (rather than replace) other <em>docinfo</em> sections.
+</p>
+</dd>
+<dt class="hdlist1">
+<em>docinfo</em> files
+</dt>
+<dd>
+<p>
+Two docinfo files are recognized: one named <code>docinfo</code> and a second
+named like the AsciiDoc source file with a <code>-docinfo</code> suffix. For
+example, if the source document is called <code>mydoc.txt</code> then the
+document information files would be <code>docinfo.xml</code> and
+<code>mydoc-docinfo.xml</code> (for DocBook outputs) and <code>docinfo.html</code> and
+<code>mydoc-docinfo.html</code> (for HTML outputs). The <a href="#X97">docinfo</a> attributes control which docinfo files are included in
+the output files.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>The contents docinfo templates and files is dependent on the type of
+output:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+HTML
+</dt>
+<dd>
+<p>
+ Valid <em>head</em> child elements. Typically <em>style</em> and <em>script</em> elements
+ for CSS and JavaScript inclusion.
+</p>
+</dd>
+<dt class="hdlist1">
+DocBook
+</dt>
+<dd>
+<p>
+ Valid <em>articleinfo</em> or <em>bookinfo</em> child elements. DocBook defines
+ numerous elements for document meta-data, for example: copyrights,
+ document history and authorship information. See the DocBook
+ <code>./doc/article-docinfo.xml</code> example that comes with the AsciiDoc
+ distribution. The rendering of meta-data elements (or not) is
+ DocBook processor dependent.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="X86">8.3. Preamble</h3>
+<div class="paragraph"><p>The Preamble is an optional untitled section body between the document
+Header and the first Section title.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_sections">8.4. Sections</h3>
+<div class="paragraph"><p>In addition to the document title (level 0), AsciiDoc supports four
+section levels: 1 (top) to 4 (bottom). Section levels are delimited
+by section <a href="#X17">titles</a>. Sections are translated using
+configuration file <a href="#X93">section markup templates</a>. AsciiDoc
+generates the following <a href="#X60">intrinsic attributes</a> specifically for
+use in section markup templates:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+level
+</dt>
+<dd>
+<p>
+The <code>level</code> attribute is the section level number, it is normally just
+the <a href="#X17">title</a> level number (1..4). However, if the <code>leveloffset</code>
+attribute is defined it will be added to the <code>level</code> attribute. The
+<code>leveloffset</code> attribute is useful for <a href="#X90">combining documents</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+sectnum
+</dt>
+<dd>
+<p>
+The <code>-n</code> (<code>--section-numbers</code>) command-line option generates the
+<code>sectnum</code> (section number) attribute. The <code>sectnum</code> attribute is used
+for section numbers in HTML outputs (DocBook section numbering are
+handled automatically by the DocBook toolchain commands).
+</p>
+</dd>
+</dl></div>
+<div class="sect3">
+<h4 id="X93">8.4.1. Section markup templates</h4>
+<div class="paragraph"><p>Section markup templates specify output markup and are defined in
+AsciiDoc configuration files. Section markup template names are
+derived as follows (in order of precedence):</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+From the title&#8217;s first positional attribute or <em>template</em>
+ attribute. For example, the following three section titles are
+ functionally equivalent:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>[[terms]]
+[glossary]
+List of Terms
+-------------
+
+["glossary",id="terms"]
+List of Terms
+-------------
+
+[template="glossary",id="terms"]
+List of Terms
+-------------</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+When the title text matches a configuration file
+ <a href="#X16"><code>[specialsections]</code></a> entry.
+</p>
+</li>
+<li>
+<p>
+If neither of the above the default <code>sect&lt;level&gt;</code> template is used
+ (where <code>&lt;level&gt;</code> is a number from 1 to 4).
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>In addition to the normal section template names (<em>sect1</em>, <em>sect2</em>,
+<em>sect3</em>, <em>sect4</em>) AsciiDoc has the following templates for
+frontmatter, backmatter and other special sections: <em>abstract</em>,
+<em>preface</em>, <em>colophon</em>, <em>dedication</em>, <em>glossary</em>, <em>bibliography</em>,
+<em>synopsis</em>, <em>appendix</em>, <em>index</em>. These special section templates
+generate the corresponding Docbook elements; for HTML outputs they
+default to the <em>sect1</em> section template.</p></div>
+</div>
+<div class="sect3">
+<h4 id="_section_ids">8.4.2. Section IDs</h4>
+<div class="paragraph"><p>If no explicit section ID is specified an ID will be synthesised from
+the section title. The primary purpose of this feature is to ensure
+persistence of table of contents links (permalinks): the missing
+section IDs are generated dynamically by the JavaScript TOC generator
+<strong>after</strong> the page is loaded. If you link to a dynamically generated TOC
+address the page will load but the browser will ignore the (as yet
+ungenerated) section ID.</p></div>
+<div class="paragraph"><p>The IDs are generated by the following algorithm:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Replace all non-alphanumeric title characters with underscores.
+</p>
+</li>
+<li>
+<p>
+Strip leading or trailing underscores.
+</p>
+</li>
+<li>
+<p>
+Convert to lowercase.
+</p>
+</li>
+<li>
+<p>
+Prepend the <code>idprefix</code> attribute (so there&#8217;s no possibility of name
+ clashes with existing document IDs). Prepend an underscore if the
+ <code>idprefix</code> attribute is not defined.
+</p>
+</li>
+<li>
+<p>
+A numbered suffix (<code>_2</code>, <code>_3</code> &#8230;) is added if a same named
+ auto-generated section ID exists.
+</p>
+</li>
+<li>
+<p>
+If the <code>ascii-ids</code> attribute is defined then non-ASCII characters
+ are replaced with ASCII equivalents. This attribute should be
+ <strong>should be avoided</strong> if possible as its sole purpose is to accommodate
+ deficient downstream applications that cannot process non-ASCII ID
+ attributes. If available, it will use the
+ <a href="https://pypi.org/project/trans/">trans python module</a>, otherwise it
+ will fallback to using NFKD algorithm, which cannot handle all
+ unicode characters. For example, <em>Wstęp żółtej łąki</em> will be
+ translated to <em>Wstep zoltej laki</em> under trans and <em>Wstep zotej aki</em>
+ under NFKD.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Example: the title <em>Jim&#8217;s House</em> would generate the ID <code>_jim_s_house</code>.</p></div>
+<div class="paragraph"><p>Section ID synthesis can be disabled by undefining the <code>sectids</code>
+attribute.</p></div>
+</div>
+<div class="sect3">
+<h4 id="X16">8.4.3. Special Section Titles</h4>
+<div class="paragraph"><p>AsciiDoc has a mechanism for mapping predefined section titles
+auto-magically to specific markup templates. For example a title
+<em>Appendix A: Code Reference</em> will automatically use the <em>appendix</em>
+<a href="#X93">section markup template</a>. The mappings from title to template
+name are specified in <code>[specialsections]</code> sections in the Asciidoc
+language configuration files (<code>lang-*.conf</code>). Section entries are
+formatted like:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;title&gt;=&lt;template&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p><code>&lt;title&gt;</code> is a Python regular expression and <code>&lt;template&gt;</code> is the name
+of a configuration file markup template section. If the <code>&lt;title&gt;</code>
+matches an AsciiDoc document section title then the backend output is
+marked up using the <code>&lt;template&gt;</code> markup template (instead of the
+default <code>sect&lt;level&gt;</code> section template). The <code>{title}</code> attribute value
+is set to the value of the matched regular expression group named
+<em>title</em>, if there is no <em>title</em> group <code>{title}</code> defaults to the whole
+of the AsciiDoc section title. If <code>&lt;template&gt;</code> is blank then any
+existing entry with the same <code>&lt;title&gt;</code> will be deleted.</p></div>
+<div class="sidebarblock">
+<div class="content">
+<div class="title">Special section titles vs. explicit template names</div>
+<div class="paragraph"><p>AsciiDoc has two mechanisms for specifying non-default section markup
+templates: you can specify the template name explicitly (using the
+<em>template</em> attribute) or indirectly (using <em>special section titles</em>).
+Specifying a <a href="#X93">section template</a> attribute explicitly is
+preferred. Auto-magical <em>special section titles</em> have the following
+drawbacks:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+They are non-obvious, you have to know the exact matching
+ title for each special section on a language by language basis.
+</p>
+</li>
+<li>
+<p>
+Section titles are predefined and can only be customised with a
+ configuration change.
+</p>
+</li>
+<li>
+<p>
+The implementation is complicated by multiple languages: every
+ special section title has to be defined for each language (in each
+ of the <code>lang-*.conf</code> files).
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Specifying special section template names explicitly does add more
+noise to the source document (the <em>template</em> attribute declaration),
+but the intention is obvious and the syntax is consistent with other
+AsciiDoc elements c.f. bibliographic, Q&amp;A and glossary lists.</p></div>
+<div class="paragraph"><p>Special section titles have been deprecated but are retained for
+backward compatibility.</p></div>
+</div></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_inline_elements">8.5. Inline Elements</h3>
+<div class="paragraph"><p><a href="#X34">Inline document elements</a> are used to format text and to
+perform various types of text substitution. Inline elements and inline
+element syntax is defined in the <code>asciidoc(1)</code> configuration files.</p></div>
+<div class="paragraph"><p>Here is a list of AsciiDoc inline elements in the (default) order in
+which they are processed:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+Special characters
+</dt>
+<dd>
+<p>
+ These character sequences escape special characters used by
+ the backend markup (typically <code>&lt;</code>, <code>&gt;</code>, and <code>&amp;</code> characters).
+ See <code>[specialcharacters]</code> configuration file sections.
+</p>
+</dd>
+<dt class="hdlist1">
+Quotes
+</dt>
+<dd>
+<p>
+ Elements that markup words and phrases; usually for character
+ formatting. See <code>[quotes]</code> configuration file sections.
+</p>
+</dd>
+<dt class="hdlist1">
+Special Words
+</dt>
+<dd>
+<p>
+ Word or word phrase patterns singled out for markup without
+ the need for further annotation. See <code>[specialwords]</code>
+ configuration file sections.
+</p>
+</dd>
+<dt class="hdlist1">
+Replacements
+</dt>
+<dd>
+<p>
+ Each replacement defines a word or word phrase pattern to
+ search for along with corresponding replacement text. See
+ <code>[replacements]</code> configuration file sections.
+</p>
+</dd>
+<dt class="hdlist1">
+Attribute references
+</dt>
+<dd>
+<p>
+ Document attribute names enclosed in braces are replaced by
+ the corresponding attribute value.
+</p>
+</dd>
+<dt class="hdlist1">
+Inline Macros
+</dt>
+<dd>
+<p>
+ Inline macros are replaced by the contents of parametrized
+ configuration file sections.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_document_processing">9. Document Processing</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The AsciiDoc source document is read and processed as follows:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+The document <em>Header</em> is parsed, header parameter values are
+ substituted into the configuration file <code>[header]</code> template section
+ which is then written to the output file.
+</p>
+</li>
+<li>
+<p>
+Each document <em>Section</em> is processed and its constituent elements
+ translated to the output file.
+</p>
+</li>
+<li>
+<p>
+The configuration file <code>[footer]</code> template section is substituted
+ and written to the output file.
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>When a block element is encountered <code>asciidoc(1)</code> determines the type of
+block by checking in the following order (first to last): (section)
+Titles, BlockMacros, Lists, DelimitedBlocks, Tables, AttributeEntrys,
+AttributeLists, BlockTitles, Paragraphs.</p></div>
+<div class="paragraph"><p>The default paragraph definition <code>[paradef-default]</code> is last element
+to be checked.</p></div>
+<div class="paragraph"><p>Knowing the parsing order will help you devise unambiguous macro, list
+and block syntax rules.</p></div>
+<div class="paragraph"><p>Inline substitutions within block elements are performed in the
+following default order:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Special characters
+</p>
+</li>
+<li>
+<p>
+Quotes
+</p>
+</li>
+<li>
+<p>
+Special words
+</p>
+</li>
+<li>
+<p>
+Replacements
+</p>
+</li>
+<li>
+<p>
+Attributes
+</p>
+</li>
+<li>
+<p>
+Inline Macros
+</p>
+</li>
+<li>
+<p>
+Replacements2
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>The substitutions and substitution order performed on
+Title, Paragraph and DelimitedBlock elements is determined by
+configuration file parameters.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_text_formatting">10. Text Formatting</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="X51">10.1. Quoted Text</h3>
+<div class="paragraph"><p>Words and phrases can be formatted by enclosing inline text with
+quote characters:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<em>Emphasized text</em>
+</dt>
+<dd>
+<p>
+ Word phrases 'enclosed in single quote characters' (acute
+ accents) or _underline characters_ are emphasized.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Strong text</strong>
+</dt>
+<dd>
+<p>
+ Word phrases *enclosed in asterisk characters* are rendered
+ in a strong font (usually bold).
+</p>
+</dd>
+<dt class="hdlist1">
+<a id="X81"></a><code>Monospaced text</code>
+</dt>
+<dd>
+<p>
+ Word phrases +enclosed in plus characters+ are rendered in a
+ monospaced font. Word phrases `enclosed in backtick
+ characters` (grave accents) are also rendered in a monospaced
+ font but in this case the enclosed text is rendered literally
+ and is not subject to further expansion (see <a href="#X80">inline literal passthrough</a>).
+</p>
+</dd>
+<dt class="hdlist1">
+&#8216;Single quoted text&#8217;
+</dt>
+<dd>
+<p>
+ Phrases enclosed with a `single grave accent to the left and
+ a single acute accent to the right' are rendered in single
+ quotation marks.
+</p>
+</dd>
+<dt class="hdlist1">
+&#8220;Double quoted text&#8221;
+</dt>
+<dd>
+<p>
+ Phrases enclosed with ``two grave accents to the left and
+ two acute accents to the right'' are rendered in quotation
+ marks.
+</p>
+</dd>
+<dt class="hdlist1">
+Unquoted text
+</dt>
+<dd>
+<p>
+ Placing #hashes around text# does nothing, it is a mechanism
+ to allow inline attributes to be applied to otherwise
+ unformatted text.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>New quote types can be defined by editing <code>asciidoc(1)</code> configuration
+files. See the <a href="#X7">Configuration Files</a> section for details.</p></div>
+<div class="ulist"><div class="title">Quoted text behavior</div><ul>
+<li>
+<p>
+Quoting cannot be overlapped.
+</p>
+</li>
+<li>
+<p>
+Different quoting types can be nested.
+</p>
+</li>
+<li>
+<p>
+To suppress quoted text formatting place a backslash character
+ immediately in front of the leading quote character(s). In the case
+ of ambiguity between escaped and non-escaped text you will need to
+ escape both leading and trailing quotes, in the case of
+ multi-character quotes you may even need to escape individual
+ characters.
+</p>
+</li>
+</ul></div>
+<div class="sect3">
+<h4 id="X96">10.1.1. Quoted text attributes</h4>
+<div class="paragraph"><p>Quoted text can be prefixed with an <a href="#X21">attribute list</a>. The first
+positional attribute (<em>role</em> attribute) is translated by AsciiDoc to
+an HTML <em>span</em> element <em>class</em> attribute or a DocBook <em>phrase</em> element
+<em>role</em> attribute.</p></div>
+<div class="paragraph"><p>DocBook XSL Stylesheets translate DocBook <em>phrase</em> elements with
+<em>role</em> attributes to corresponding HTML <em>span</em> elements with the same
+<em>class</em> attributes; CSS can then be used
+<a href="http://www.sagehill.net/docbookxsl/UsingCSS.html">to style the
+generated HTML</a>. Thus CSS styling can be applied to both DocBook and
+AsciiDoc generated HTML outputs. You can also specify multiple class
+names separated by spaces.</p></div>
+<div class="paragraph"><p>CSS rules for text color, text background color, text size and text
+decorators are included in the distributed AsciiDoc CSS files and are
+used in conjunction with AsciiDoc <em>xhtml11</em>, <em>html5</em> and <em>docbook</em>
+outputs. The CSS class names are:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<em>&lt;color&gt;</em> (text foreground color).
+</p>
+</li>
+<li>
+<p>
+<em>&lt;color&gt;-background</em> (text background color).
+</p>
+</li>
+<li>
+<p>
+<em>big</em> and <em>small</em> (text size).
+</p>
+</li>
+<li>
+<p>
+<em>underline</em>, <em>overline</em> and <em>line-through</em> (strike through) text
+ decorators.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Where <em>&lt;color&gt;</em> can be any of the
+<a href="http://en.wikipedia.org/wiki/Web_colors#HTML_color_names">sixteen HTML
+color names</a>. Examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[red]#Obvious# and [big red yellow-background]*very obvious*.</code></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[underline]#Underline text#, [overline]#overline text# and
+[blue line-through]*bold blue and line-through*.</code></pre>
+</div></div>
+<div class="paragraph"><p>is rendered as:</p></div>
+<div class="paragraph"><p><span class="red">Obvious</span> and <strong><span class="big red yellow-background">very obvious</span></strong>.</p></div>
+<div class="paragraph"><p><span class="underline">Underline text</span>, <span class="overline">overline text</span> and
+<strong><span class="bold blue line-through">bold blue and line-through</span></strong>.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">Color and text decorator attributes are rendered for XHTML and
+HTML 5 outputs using CSS stylesheets. The mechanism to implement
+color and text decorator attributes is provided for DocBook toolchains
+via the DocBook <em>phrase</em> element <em>role</em> attribute, but the actual
+rendering is toolchain specific and is not part of the AsciiDoc
+distribution.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect3">
+<h4 id="X52">10.1.2. Constrained and Unconstrained Quotes</h4>
+<div class="paragraph"><p>There are actually two types of quotes:</p></div>
+<div class="sect4">
+<h5 id="_constrained_quotes">Constrained quotes</h5>
+<div class="paragraph"><p>Quoted must be bounded by white space or commonly adjoining
+punctuation characters. These are the most commonly used type of
+quote.</p></div>
+</div>
+<div class="sect4">
+<h5 id="_unconstrained_quotes">Unconstrained quotes</h5>
+<div class="paragraph"><p>Unconstrained quotes have no boundary constraints and can be placed
+anywhere within inline text. For consistency and to make them easier
+to remember unconstrained quotes are double-ups of the <code>_</code>, <code>*</code>, <code>+</code>
+and <code>#</code> constrained quotes:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>__unconstrained emphasized text__
+**unconstrained strong text**
+++unconstrained monospaced text++
+##unconstrained unquoted text##</code></pre>
+</div></div>
+<div class="paragraph"><p>The following example emboldens the letter F:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>**F**ile Open...</code></pre>
+</div></div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_superscripts_and_subscripts">10.2. Superscripts and Subscripts</h3>
+<div class="paragraph"><p>Put ^carets on either^ side of the text to be superscripted, put
+~tildes on either side~ of text to be subscripted. For example, the
+following line:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>e^&amp;#960;i^+1 = 0. H~2~O and x^10^. Some ^super text^
+and ~some sub text~</code></pre>
+</div></div>
+<div class="paragraph"><p>Is rendered like:</p></div>
+<div class="paragraph"><p>e<sup>&#960;i</sup>+1 = 0. H<sub>2</sub>O and x<sup>10</sup>. Some <sup>super text</sup>
+and <sub>some sub text</sub></p></div>
+<div class="paragraph"><p>Superscripts and subscripts are implemented as <a href="#X52">unconstrained quotes</a> and they can be escaped with a leading backslash and prefixed
+with with an attribute list.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_line_breaks">10.3. Line Breaks</h3>
+<div class="paragraph"><p>A plus character preceded by at least one space character at the end
+of a non-blank line forces a line break. It generates a line break
+(<code>br</code>) tag for HTML outputs and a custom XML <code>asciidoc-br</code> processing
+instruction for DocBook outputs. The <code>asciidoc-br</code> processing
+instruction is handled by <a href="#X43"><code>a2x(1)</code></a>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_page_breaks">10.4. Page Breaks</h3>
+<div class="paragraph"><p>A line of three or more less-than (<code>&lt;&lt;&lt;</code>) characters will generate a
+hard page break in DocBook and printed HTML outputs. It uses the CSS
+<code>page-break-after</code> property for HTML outputs and a custom XML
+<code>asciidoc-pagebreak</code> processing instruction for DocBook outputs. The
+<code>asciidoc-pagebreak</code> processing instruction is handled by
+<a href="#X43"><code>a2x(1)</code></a>. Hard page breaks are sometimes handy but as a general
+rule you should let your page processor generate page breaks for you.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_rulers">10.5. Rulers</h3>
+<div class="paragraph"><p>A line of three or more apostrophe characters will generate a ruler
+line. It generates a ruler (<code>hr</code>) tag for HTML outputs and a custom
+XML <code>asciidoc-hr</code> processing instruction for DocBook outputs. The
+<code>asciidoc-hr</code> processing instruction is handled by <a href="#X43"><code>a2x(1)</code></a>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_tabs">10.6. Tabs</h3>
+<div class="paragraph"><p>By default tab characters input files will translated to 8 spaces. Tab
+expansion is set with the <em>tabsize</em> entry in the configuration file
+<code>[miscellaneous]</code> section and can be overridden in included files by
+setting a <em>tabsize</em> attribute in the <code>include</code> macro&#8217;s attribute list.
+For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>include::addendum.txt[tabsize=2]</code></pre>
+</div></div>
+<div class="paragraph"><p>The tab size can also be set using the attribute command-line option,
+for example <code>--attribute tabsize=4</code></p></div>
+</div>
+<div class="sect2">
+<h3 id="_replacements">10.7. Replacements</h3>
+<div class="paragraph"><p>The following replacements are defined in the default AsciiDoc
+configuration:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>(C) copyright, (TM) trademark, (R) registered trademark,
+-- em dash, ... ellipsis, -&gt; right arrow, &lt;- left arrow, =&gt; right
+double arrow, &lt;= left double arrow.</code></pre>
+</div></div>
+<div class="paragraph"><p>Which are rendered as:</p></div>
+<div class="paragraph"><p>&#169; copyright, &#8482; trademark, &#174; registered trademark,&#8201;&#8212;&#8201;em dash, &#8230; ellipsis, &#8594; right arrow, &#8592; left arrow, &#8658; right
+double arrow, &#8656; left double arrow.</p></div>
+<div class="paragraph"><p>You can also include arbitrary entity references in the AsciiDoc
+source. Examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&amp;#x278a; &amp;#182;</code></pre>
+</div></div>
+<div class="paragraph"><p>renders:</p></div>
+<div class="paragraph"><p>&#x278a; &#182;</p></div>
+<div class="paragraph"><p>To render a replacement literally escape it with a leading back-slash.</p></div>
+<div class="paragraph"><p>The <a href="#X7">Configuration Files</a> section explains how to configure your
+own replacements.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_special_words">10.8. Special Words</h3>
+<div class="paragraph"><p>Words defined in <code>[specialwords]</code> configuration file sections are
+automatically marked up without having to be explicitly notated.</p></div>
+<div class="paragraph"><p>The <a href="#X7">Configuration Files</a> section explains how to add and replace
+special words.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X17">11. Titles</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Document and section titles can be in either of two formats:</p></div>
+<div class="sect2">
+<h3 id="_two_line_titles">11.1. Two line titles</h3>
+<div class="paragraph"><p>A two line title consists of a title line, starting hard against the
+left margin, and an underline. Section underlines consist a repeated
+character pairs spanning the width of the preceding title (give or
+take up to two characters):</p></div>
+<div class="paragraph"><p>The default title underlines for each of the document levels are:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Level 0 (top level): ======================
+Level 1: ----------------------
+Level 2: ~~~~~~~~~~~~~~~~~~~~~~
+Level 3: ^^^^^^^^^^^^^^^^^^^^^^
+Level 4 (bottom level): ++++++++++++++++++++++</code></pre>
+</div></div>
+<div class="paragraph"><p>Examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Level One Section Title
+-----------------------</code></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Level 2 Subsection Title
+~~~~~~~~~~~~~~~~~~~~~~~~</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X46">11.2. One line titles</h3>
+<div class="paragraph"><p>One line titles consist of a single line delimited on either side by
+one or more equals characters (the number of equals characters
+corresponds to the section level minus one). Here are some examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>= Document Title (level 0) =
+== Section title (level 1) ==
+=== Section title (level 2) ===
+==== Section title (level 3) ====
+===== Section title (level 4) =====</code></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">
+<div class="ulist"><ul>
+<li>
+<p>
+One or more spaces must fall between the title and the delimiters.
+</p>
+</li>
+<li>
+<p>
+The trailing title delimiter is optional.
+</p>
+</li>
+<li>
+<p>
+The one-line title syntax can be changed by editing the
+ configuration file <code>[titles]</code> section <code>sect0</code>&#8230;<code>sect4</code> entries.
+</p>
+</li>
+</ul></div>
+</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_floating_titles">11.3. Floating titles</h3>
+<div class="paragraph"><p>Setting the title&#8217;s first positional attribute or <em>style</em> attribute to
+<em>float</em> generates a free-floating title. A free-floating title is
+rendered just like a normal section title but is not formally
+associated with a text body and is not part of the regular section
+hierarchy so the normal ordering rules do not apply. Floating titles
+can also be used in contexts where section titles are illegal: for
+example sidebar and admonition blocks. Example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[float]
+The second day
+~~~~~~~~~~~~~~</code></pre>
+</div></div>
+<div class="paragraph"><p>Floating titles do not appear in a document&#8217;s table of contents.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X42">12. Block Titles</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>A <em>BlockTitle</em> element is a single line beginning with a period
+followed by the title text. A BlockTitle is applied to the immediately
+following Paragraph, DelimitedBlock, List, Table or BlockMacro. For
+example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>.Notes
+- Note 1.
+- Note 2.</code></pre>
+</div></div>
+<div class="paragraph"><p>is rendered as:</p></div>
+<div class="ulist"><div class="title">Notes</div><ul>
+<li>
+<p>
+Note 1.
+</p>
+</li>
+<li>
+<p>
+Note 2.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X41">13. BlockId Element</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>A <em>BlockId</em> is a single line block element containing a unique
+identifier enclosed in double square brackets. It is used to assign an
+identifier to the ensuing block element. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[[chapter-titles]]
+Chapter titles can be ...</code></pre>
+</div></div>
+<div class="paragraph"><p>The preceding example identifies the ensuing paragraph so it can be
+referenced from other locations, for example with
+<code>&lt;&lt;chapter-titles,chapter titles&gt;&gt;</code>.</p></div>
+<div class="paragraph"><p><em>BlockId</em> elements can be applied to Title, Paragraph, List,
+DelimitedBlock, Table and BlockMacro elements. The BlockId element
+sets the <code>{id}</code> attribute for substitution in the subsequent block&#8217;s
+markup template. If a second positional argument is supplied it sets
+the <code>{reftext}</code> attribute which is used to set the DocBook <code>xreflabel</code>
+attribute.</p></div>
+<div class="paragraph"><p>The <em>BlockId</em> element has the same syntax and serves the same function
+to the <a href="#X30">anchor inline macro</a>.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X79">14. AttributeList Element</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>An <em>AttributeList</em> block element is an <a href="#X21">attribute list</a> on a
+line by itself:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<em>AttributeList</em> attributes are only applied to the immediately
+ following block element&#8201;&#8212;&#8201;the attributes are made available to the
+ block&#8217;s markup template.
+</p>
+</li>
+<li>
+<p>
+Multiple contiguous <em>AttributeList</em> elements are additively combined
+ in the order they appear.
+</p>
+</li>
+<li>
+<p>
+The first positional attribute in the list is often used to specify
+ the ensuing element&#8217;s <a href="#X23">style</a>.
+</p>
+</li>
+</ul></div>
+<div class="sect2">
+<h3 id="_attribute_value_substitution">14.1. Attribute value substitution</h3>
+<div class="paragraph"><p>By default, only substitutions that take place inside attribute list
+values are attribute references, this is because not all attributes
+are destined to be marked up and rendered as text (for example the
+table <em>cols</em> attribute). To perform normal inline text substitutions
+(special characters, quotes, macros, replacements) on an attribute
+value you need to enclose it in single quotes. In the following quote
+block the second attribute value in the AttributeList is quoted to
+ensure the <em>http</em> macro is expanded to a hyperlink.</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[quote,'http://en.wikipedia.org/wiki/Samuel_Johnson[Samuel Johnson]']
+_____________________________________________________________________
+Sir, a woman's preaching is like a dog's walking on his hind legs. It
+is not done well; but you are surprised to find it done at all.
+_____________________________________________________________________</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_common_attributes">14.2. Common attributes</h3>
+<div class="paragraph"><p>Most block elements support the following attributes:</p></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+<thead>
+<tr>
+<th align="left" valign="top">Name </th>
+<th align="left" valign="top">Backends </th>
+<th align="left" valign="top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><em>id</em></p></td>
+<td align="left" valign="top"><p class="table">html4, html5, xhtml11, docbook</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Unique identifier typically serve as link targets.
+Can also be set by the <em>BlockId</em> element.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>role</em></p></td>
+<td align="left" valign="top"><p class="table">html4, html5, xhtml11, docbook</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Role contains a string used to classify or subclassify an element and
+can be applied to AsciiDoc block elements. The AsciiDoc <em>role</em>
+attribute is translated to the <em>role</em> attribute in DocBook outputs and
+is included in the <em>class</em> attribute in HTML outputs, in this respect
+it behaves like the <a href="#X96">quoted text role attribute</a>.</p></div>
+<div class="paragraph"><p>DocBook XSL Stylesheets translate DocBook <em>role</em> attributes to HTML
+<em>class</em> attributes; CSS can then be used
+<a href="http://www.sagehill.net/docbookxsl/UsingCSS.html">to style the
+generated HTML</a>.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>reftext</em></p></td>
+<td align="left" valign="top"><p class="table">docbook</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p><em>reftext</em> is used to set the DocBook <em>xreflabel</em> attribute.
+The <em>reftext</em> attribute can an also be set by the <em>BlockId</em> element.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>floatstyle</em></p></td>
+<td align="left" valign="top"><p class="table">docbook</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p><em>floatstyle</em> is used to specify the floatstyle attribute for the
+titled table, example, image and equation blocks. This is useful when
+used in conjuction with the dblatex toolchain. A typical example
+would be to specify the value as <em>floatstyle="[htbp]"</em>.</p></div></div></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_paragraphs">15. Paragraphs</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Paragraphs are blocks of text terminated by a blank line, the end of
+file, or the start of a delimited block or a list. There are three
+paragraph syntaxes: normal, indented (literal) and admonition which
+are rendered, by default, with the corresponding paragraph style.</p></div>
+<div class="paragraph"><p>Each syntax has a default style, but you can explicitly apply any
+paragraph style to any paragraph syntax. You can also apply
+<a href="#X104">delimited block</a> styles to single paragraphs.</p></div>
+<div class="paragraph"><p>The built-in paragraph styles are: <em>normal</em>, <em>literal</em>, <em>verse</em>,
+<em>quote</em>, <em>listing</em>, <em>TIP</em>, <em>NOTE</em>, <em>IMPORTANT</em>, <em>WARNING</em>, <em>CAUTION</em>,
+<em>abstract</em>, <em>partintro</em>, <em>comment</em>, <em>example</em>, <em>sidebar</em>, <em>source</em>,
+<em>music</em>, <em>latex</em>, <em>graphviz</em>.</p></div>
+<div class="sect2">
+<h3 id="_normal_paragraph_syntax">15.1. normal paragraph syntax</h3>
+<div class="paragraph"><p>Normal paragraph syntax consists of one or more non-blank lines of
+text. The first line must start hard against the left margin (no
+intervening white space). The default processing expectation is that
+of a normal paragraph of text.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X85">15.2. literal paragraph syntax</h3>
+<div class="paragraph"><p>Literal paragraphs are rendered verbatim in a monospaced font without
+any distinguishing background or border. By default there is no text
+formatting or substitutions within Literal paragraphs apart from
+Special Characters and Callouts.</p></div>
+<div class="paragraph"><p>The <em>literal</em> style is applied implicitly to indented paragraphs i.e.
+where the first line of the paragraph is indented by one or more space
+or tab characters. For example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code> Consul *necessitatibus* per id,
+ consetetur, eu pro everti postulant
+ homero verear ea mea, qui.</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</code></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">Because <a href="#X64">lists</a> can be indented it&#8217;s possible for your
+indented paragraph to be misinterpreted as a list&#8201;&#8212;&#8201;in situations
+like this apply the <em>literal</em> style to a normal paragraph.</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>Instead of using a paragraph indent you could apply the <em>literal</em>
+style explicitly, for example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[literal]
+Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X94">15.3. quote and verse paragraph styles</h3>
+<div class="paragraph"><p>The optional <em>attribution</em> and <em>citetitle</em> attributes (positional
+attributes 2 and 3) specify the author and source respectively.</p></div>
+<div class="paragraph"><p>The <em>verse</em> style retains the line breaks, for example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[verse, William Blake, from Auguries of Innocence]
+To see a world in a grain of sand,
+And a heaven in a wild flower,
+Hold infinity in the palm of your hand,
+And eternity in an hour.</code></pre>
+</div></div>
+<div class="paragraph"><p>Which is rendered as:</p></div>
+<div class="verseblock">
+<pre class="content">To see a world in a grain of sand,
+And a heaven in a wild flower,
+Hold infinity in the palm of your hand,
+And eternity in an hour.</pre>
+<div class="attribution">
+<em>from Auguries of Innocence</em><br />
+&#8212; William Blake
+</div></div>
+<div class="paragraph"><p>The <em>quote</em> style flows the text at left and right margins, for
+example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[quote, Bertrand Russell, The World of Mathematics (1956)]
+A good notation has subtlety and suggestiveness which at times makes
+it almost seem like a live teacher.</code></pre>
+</div></div>
+<div class="paragraph"><p>Which is rendered as:</p></div>
+<div class="quoteblock">
+<div class="content">A good notation has subtlety and suggestiveness which at times makes
+it almost seem like a live teacher.</div>
+<div class="attribution">
+<em>The World of Mathematics (1956)</em><br />
+&#8212; Bertrand Russell
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X28">15.4. Admonition Paragraphs</h3>
+<div class="paragraph"><p><em>TIP</em>, <em>NOTE</em>, <em>IMPORTANT</em>, <em>WARNING</em> and <em>CAUTION</em> admonishment
+paragraph styles are generated by placing <code>NOTE:</code>, <code>TIP:</code>,
+<code>IMPORTANT:</code>, <code>WARNING:</code> or <code>CAUTION:</code> as the first word of the
+paragraph. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>NOTE: This is an example note.</code></pre>
+</div></div>
+<div class="paragraph"><p>Alternatively, you can specify the paragraph admonition style
+explicitly using an <a href="#X79">AttributeList element</a>. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[NOTE]
+This is an example note.</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">This is an example note.</td>
+</tr></table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">If your admonition requires more than a single paragraph use an
+<a href="#X22">admonition block</a> instead.</td>
+</tr></table>
+</div>
+<div class="sect3">
+<h4 id="X47">15.4.1. Admonition Icons and Captions</h4>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">Admonition customization with <code>icons</code>, <code>iconsdir</code>, <code>icon</code> and
+<code>caption</code> attributes does not apply when generating DocBook output. If
+you are going the DocBook route then the <a href="#X43"><code>a2x(1)</code></a> <code>--no-icons</code>
+and <code>--icons-dir</code> options can be used to set the appropriate XSL
+Stylesheets parameters.</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>By default the <code>asciidoc(1)</code> HTML backends generate text captions
+instead of admonition icon image links. To generate links to icon
+images define the <a href="#X45"><code>icons</code></a> attribute, for example using the <code>-a
+icons</code> command-line option.</p></div>
+<div class="paragraph"><p>The <a href="#X44"><code>iconsdir</code></a> attribute sets the location of linked icon
+images.</p></div>
+<div class="paragraph"><p>You can override the default icon image using the <code>icon</code> attribute to
+specify the path of the linked image. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[icon="./images/icons/wink.png"]
+NOTE: What lovely war.</code></pre>
+</div></div>
+<div class="paragraph"><p>Use the <code>caption</code> attribute to customize the admonition captions (not
+applicable to <code>docbook</code> backend). The following example suppresses the
+icon image and customizes the caption of a <em>NOTE</em> admonition
+(undefining the <code>icons</code> attribute with <code>icons=None</code> is only necessary
+if <a href="#X45">admonition icons</a> have been enabled):</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[icons=None, caption="My Special Note"]
+NOTE: This is my special note.</code></pre>
+</div></div>
+<div class="paragraph"><p>This subsection also applies to <a href="#X22">Admonition Blocks</a>.</p></div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X104">16. Delimited Blocks</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Delimited blocks are blocks of text enveloped by leading and trailing
+delimiter lines (normally a series of four or more repeated
+characters). The behavior of Delimited Blocks is specified by entries
+in configuration file <code>[blockdef-*]</code> sections.</p></div>
+<div class="sect2">
+<h3 id="_predefined_delimited_blocks">16.1. Predefined Delimited Blocks</h3>
+<div class="paragraph"><p>AsciiDoc ships with a number of predefined DelimitedBlocks (see the
+<code>asciidoc.conf</code> configuration file in the <code>asciidoc(1)</code> program
+directory):</p></div>
+<div class="paragraph"><p>Predefined delimited block underlines:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>CommentBlock: //////////////////////////
+PassthroughBlock: ++++++++++++++++++++++++++
+ListingBlock: --------------------------
+LiteralBlock: ..........................
+SidebarBlock: **************************
+QuoteBlock: __________________________
+ExampleBlock: ==========================
+OpenBlock: --</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 3. Default DelimitedBlock substitutions</caption>
+<col />
+<col />
+<col />
+<col />
+<col />
+<col />
+<col />
+<col />
+<thead>
+<tr>
+<th align="left" valign="top"> </th>
+<th align="center" valign="top">Attributes </th>
+<th align="center" valign="top">Callouts </th>
+<th align="center" valign="top">Macros </th>
+<th align="center" valign="top"> Quotes </th>
+<th align="center" valign="top">Replacements</th>
+<th align="center" valign="top">Special chars </th>
+<th align="center" valign="top">Special words</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><em>PassthroughBlock</em></p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>ListingBlock</em></p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>LiteralBlock</em></p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>SidebarBlock</em></p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>QuoteBlock</em></p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>ExampleBlock</em></p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>OpenBlock</em></p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">No</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+<td align="center" valign="top"><p class="table">Yes</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_listing_blocks">16.2. Listing Blocks</h3>
+<div class="paragraph"><p><em>ListingBlocks</em> are rendered verbatim in a monospaced font, they
+retain line and whitespace formatting and are often distinguished by a
+background or border. There is no text formatting or substitutions
+within Listing blocks apart from Special Characters and Callouts.
+Listing blocks are often used for computer output and file listings.</p></div>
+<div class="paragraph"><p>Here&#8217;s an example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>--------------------------------------
+#include &lt;stdio.h&gt;
+
+int main() {
+ printf("Hello World!\n");
+ exit(0);
+}
+--------------------------------------</code></pre>
+</div></div>
+<div class="paragraph"><p>Which will be rendered like:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>#include &lt;stdio.h&gt;
+
+int main() {
+ printf("Hello World!\n");
+ exit(0);
+}</code></pre>
+</div></div>
+<div class="paragraph"><p>By convention <a href="#X59">filter blocks</a> use the listing block syntax and
+are implemented as distinct listing block styles.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X65">16.3. Literal Blocks</h3>
+<div class="paragraph"><p><em>LiteralBlocks</em> are rendered just like <a href="#X85">literal paragraphs</a>.
+Example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>...................................
+Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.
+...................................</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Consul *necessitatibus* per id,
+consetetur, eu pro everti postulant
+homero verear ea mea, qui.</code></pre>
+</div></div>
+<div class="paragraph"><p>If the <em>listing</em> style is applied to a LiteralBlock it will be
+rendered as a ListingBlock (this is handy if you have a listing
+containing a ListingBlock).</p></div>
+</div>
+<div class="sect2">
+<h3 id="_sidebar_blocks">16.4. Sidebar Blocks</h3>
+<div class="paragraph"><p>A sidebar is a short piece of text presented outside the narrative
+flow of the main text. The sidebar is normally presented inside a
+bordered box to set it apart from the main text.</p></div>
+<div class="paragraph"><p>The sidebar body is treated like a normal section body.</p></div>
+<div class="paragraph"><p>Here&#8217;s an example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>.An Example Sidebar
+************************************************
+Any AsciiDoc SectionBody element (apart from
+SidebarBlocks) can be placed inside a sidebar.
+************************************************</code></pre>
+</div></div>
+<div class="paragraph"><p>Which will be rendered like:</p></div>
+<div class="sidebarblock">
+<div class="content">
+<div class="title">An Example Sidebar</div>
+<div class="paragraph"><p>Any AsciiDoc SectionBody element (apart from
+SidebarBlocks) can be placed inside a sidebar.</p></div>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X26">16.5. Comment Blocks</h3>
+<div class="paragraph"><p>The contents of <em>CommentBlocks</em> are not processed; they are useful for
+annotations and for excluding new or outdated content that you don&#8217;t
+want displayed. CommentBlocks are never written to output files.
+Example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>//////////////////////////////////////////
+CommentBlock contents are not processed by
+asciidoc(1).
+//////////////////////////////////////////</code></pre>
+</div></div>
+<div class="paragraph"><p>See also <a href="#X25">Comment Lines</a>.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">System macros are executed inside comment blocks.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="X76">16.6. Passthrough Blocks</h3>
+<div class="paragraph"><p>By default the block contents is subject only to <em>attributes</em> and
+<em>macros</em> substitutions (use an explicit <em>subs</em> attribute to apply
+different substitutions). PassthroughBlock content will often be
+backend specific. Here&#8217;s an example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[subs="quotes"]
+++++++++++++++++++++++++++++++++++++++
+&lt;table border="1"&gt;&lt;tr&gt;
+ &lt;td&gt;*Cell 1*&lt;/td&gt;
+ &lt;td&gt;*Cell 2*&lt;/td&gt;
+&lt;/tr&gt;&lt;/table&gt;
+++++++++++++++++++++++++++++++++++++++</code></pre>
+</div></div>
+<div class="paragraph"><p>The following styles can be applied to passthrough blocks:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+pass
+</dt>
+<dd>
+<p>
+ No substitutions are performed. This is equivalent to <code>subs="none"</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+asciimath, latexmath
+</dt>
+<dd>
+<p>
+ By default no substitutions are performed, the contents are rendered
+ as <a href="#X78">mathematical formulas</a>.
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_quote_blocks">16.7. Quote Blocks</h3>
+<div class="paragraph"><p><em>QuoteBlocks</em> are used for quoted passages of text. There are two
+styles: <em>quote</em> and <em>verse</em>. The style behavior is identical to
+<a href="#X94">quote and verse paragraphs</a> except that blocks can contain
+multiple paragraphs and, in the case of the <em>quote</em> style, other
+section elements. The first positional attribute sets the style, if
+no attributes are specified the <em>quote</em> style is used. The optional
+<em>attribution</em> and <em>citetitle</em> attributes (positional attributes 2 and
+3) specify the quote&#8217;s author and source. For example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[quote, Sir Arthur Conan Doyle, The Adventures of Sherlock Holmes]
+____________________________________________________________________
+As he spoke there was the sharp sound of horses' hoofs and
+grating wheels against the curb, followed by a sharp pull at the
+bell. Holmes whistled.
+
+"A pair, by the sound," said he. "Yes," he continued, glancing
+out of the window. "A nice little brougham and a pair of
+beauties. A hundred and fifty guineas apiece. There's money in
+this case, Watson, if there is nothing else."
+____________________________________________________________________</code></pre>
+</div></div>
+<div class="paragraph"><p>Which is rendered as:</p></div>
+<div class="quoteblock">
+<div class="content">
+<div class="paragraph"><p>As he spoke there was the sharp sound of horses' hoofs and
+grating wheels against the curb, followed by a sharp pull at the
+bell. Holmes whistled.</p></div>
+<div class="paragraph"><p>"A pair, by the sound," said he. "Yes," he continued, glancing
+out of the window. "A nice little brougham and a pair of
+beauties. A hundred and fifty guineas apiece. There&#8217;s money in
+this case, Watson, if there is nothing else."</p></div>
+</div>
+<div class="attribution">
+<em>The Adventures of Sherlock Holmes</em><br />
+&#8212; Sir Arthur Conan Doyle
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X48">16.8. Example Blocks</h3>
+<div class="paragraph"><p><em>ExampleBlocks</em> encapsulate the DocBook Example element and are used
+for, well, examples. Example blocks can be titled by preceding them
+with a <em>BlockTitle</em>. DocBook toolchains will normally automatically
+number examples and generate a <em>List of Examples</em> backmatter section.</p></div>
+<div class="paragraph"><p>Example blocks are delimited by lines of equals characters and can
+contain any block elements apart from Titles, BlockTitles and
+Sidebars) inside an example block. For example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>.An example
+=====================================================================
+Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+adolescens.
+=====================================================================</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="exampleblock">
+<div class="title">Example 1. An example</div>
+<div class="content">
+<div class="paragraph"><p>Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+adolescens.</p></div>
+</div></div>
+<div class="paragraph"><p>A title prefix that can be inserted with the <code>caption</code> attribute
+(HTML backends). For example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[caption="Example 1: "]
+.An example with a custom caption
+=====================================================================
+Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+adolescens.
+=====================================================================</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X22">16.9. Admonition Blocks</h3>
+<div class="paragraph"><p>The <em>ExampleBlock</em> definition includes a set of admonition
+<a href="#X23">styles</a> (<em>NOTE</em>, <em>TIP</em>, <em>IMPORTANT</em>, <em>WARNING</em>, <em>CAUTION</em>) for
+generating admonition blocks (admonitions containing more than a
+<a href="#X28">single paragraph</a>). Just precede the <em>ExampleBlock</em> with an
+attribute list specifying the admonition style name. For example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[NOTE]
+.A NOTE admonition block
+=====================================================================
+Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+adolescens.
+
+. Fusce euismod commodo velit.
+. Vivamus fringilla mi eu lacus.
+ .. Fusce euismod commodo velit.
+ .. Vivamus fringilla mi eu lacus.
+. Donec eget arcu bibendum
+ nunc consequat lobortis.
+=====================================================================</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">
+<div class="title">A NOTE admonition block</div>
+<div class="paragraph"><p>Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+adolescens.</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+<div class="olist loweralpha"><ol class="loweralpha">
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+</ol></div>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum
+ nunc consequat lobortis.
+</p>
+</li>
+</ol></div>
+</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>See also <a href="#X47">Admonition Icons and Captions</a>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X29">16.10. Open Blocks</h3>
+<div class="paragraph"><p>Open blocks are special:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+The open block delimiter is line containing two hyphen characters
+ (instead of four or more repeated characters).
+</p>
+</li>
+<li>
+<p>
+They can be used to group block elements for <a href="#X15">List item continuation</a>.
+</p>
+</li>
+<li>
+<p>
+Open blocks can be styled to behave like any other type of delimited
+ block. The following built-in styles can be applied to open
+ blocks: <em>literal</em>, <em>verse</em>, <em>quote</em>, <em>listing</em>, <em>TIP</em>, <em>NOTE</em>,
+ <em>IMPORTANT</em>, <em>WARNING</em>, <em>CAUTION</em>, <em>abstract</em>, <em>partintro</em>,
+ <em>comment</em>, <em>example</em>, <em>sidebar</em>, <em>source</em>, <em>music</em>, <em>latex</em>,
+ <em>graphviz</em>. For example, the following open block and listing block
+ are functionally identical:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>[listing]
+--
+Lorum ipsum ...
+--</code></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>---------------
+Lorum ipsum ...
+---------------</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+An unstyled open block groups section elements but otherwise does
+ nothing.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Open blocks are used to generate document abstracts and book part
+introductions:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Apply the <em>abstract</em> style to generate an abstract, for example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>[abstract]
+--
+In this paper we will ...
+--</code></pre>
+</div></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Apply the <em>partintro</em> style to generate a book part introduction for
+ a multi-part book, for example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>[partintro]
+.Optional part introduction title
+--
+Optional part introduction goes here.
+--</code></pre>
+</div></div>
+</li>
+</ol></div>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X64">17. Lists</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">List types</div><ul>
+<li>
+<p>
+Bulleted lists. Also known as itemized or unordered lists.
+</p>
+</li>
+<li>
+<p>
+Numbered lists. Also called ordered lists.
+</p>
+</li>
+<li>
+<p>
+Labeled lists. Sometimes called variable or definition lists.
+</p>
+</li>
+<li>
+<p>
+Callout lists (a list of callout annotations).
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">List behavior</div><ul>
+<li>
+<p>
+List item indentation is optional and does not determine nesting,
+ indentation does however make the source more readable.
+</p>
+</li>
+<li>
+<p>
+Another list or a literal paragraph immediately following a list
+ item will be implicitly included in the list item; use <a href="#X15">list item continuation</a> to explicitly append other block elements to a
+ list item.
+</p>
+</li>
+<li>
+<p>
+A comment block or a comment line block macro element will terminate
+ a list&#8201;&#8212;&#8201;use inline comment lines to put comments inside lists.
+</p>
+</li>
+<li>
+<p>
+The <code>listindex</code> <a href="#X60">intrinsic attribute</a> is the current list item
+ index (1..). If this attribute is used outside a list then it&#8217;s value
+ is the number of items in the most recently closed list. Useful for
+ displaying the number of items in a list.
+</p>
+</li>
+</ul></div>
+<div class="sect2">
+<h3 id="_bulleted_lists">17.1. Bulleted Lists</h3>
+<div class="paragraph"><p>Bulleted list items start with a single dash or one to five asterisks
+followed by some white space then some text. Bulleted list syntaxes
+are:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>- List item.
+* List item.
+** List item.
+*** List item.
+**** List item.
+***** List item.</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_numbered_lists">17.2. Numbered Lists</h3>
+<div class="paragraph"><p>List item numbers are explicit or implicit.</p></div>
+<div class="paragraph"><div class="title">Explicit numbering</div><p>List items begin with a number followed by some white space then the
+item text. The numbers can be decimal (arabic), roman (upper or lower
+case) or alpha (upper or lower case). Decimal and alpha numbers are
+terminated with a period, roman numbers are terminated with a closing
+parenthesis. The different terminators are necessary to ensure <em>i</em>,
+<em>v</em> and <em>x</em> roman numbers are are distinguishable from <em>x</em>, <em>v</em> and
+<em>x</em> alpha numbers. Examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>1. Arabic (decimal) numbered list item.
+a. Lower case alpha (letter) numbered list item.
+F. Upper case alpha (letter) numbered list item.
+iii) Lower case roman numbered list item.
+IX) Upper case roman numbered list item.</code></pre>
+</div></div>
+<div class="paragraph"><div class="title">Implicit numbering</div><p>List items begin one to five period characters, followed by some white
+space then the item text. Examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>. Arabic (decimal) numbered list item.
+.. Lower case alpha (letter) numbered list item.
+... Lower case roman numbered list item.
+.... Upper case alpha (letter) numbered list item.
+..... Upper case roman numbered list item.</code></pre>
+</div></div>
+<div class="paragraph"><p>You can use the <em>style</em> attribute (also the first positional
+attribute) to specify an alternative numbering style. The numbered
+list style can be one of the following values: <em>arabic</em>, <em>loweralpha</em>,
+<em>upperalpha</em>, <em>lowerroman</em>, <em>upperroman</em>.</p></div>
+<div class="paragraph"><p>Here are some examples of bulleted and numbered lists:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>- Praesent eget purus quis magna eleifend eleifend.
+ 1. Fusce euismod commodo velit.
+ a. Fusce euismod commodo velit.
+ b. Vivamus fringilla mi eu lacus.
+ c. Donec eget arcu bibendum nunc consequat lobortis.
+ 2. Vivamus fringilla mi eu lacus.
+ i) Fusce euismod commodo velit.
+ ii) Vivamus fringilla mi eu lacus.
+ 3. Donec eget arcu bibendum nunc consequat lobortis.
+ 4. Nam fermentum mattis ante.
+- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
+ * Fusce euismod commodo velit.
+ ** Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+ adolescens. Sit munere ponderum dignissim et. Minim luptatum et
+ vel.
+ ** Vivamus fringilla mi eu lacus.
+ * Donec eget arcu bibendum nunc consequat lobortis.
+- Nulla porttitor vulputate libero.
+ . Fusce euismod commodo velit.
+ . Vivamus fringilla mi eu lacus.
+[upperroman]
+ .. Fusce euismod commodo velit.
+ .. Vivamus fringilla mi eu lacus.
+ . Donec eget arcu bibendum nunc consequat lobortis.</code></pre>
+</div></div>
+<div class="paragraph"><p>Which render as:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Praesent eget purus quis magna eleifend eleifend.
+</p>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+<div class="olist loweralpha"><ol class="loweralpha">
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum nunc consequat lobortis.
+</p>
+</li>
+</ol></div>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+<div class="olist lowerroman"><ol class="lowerroman">
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+</ol></div>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum nunc consequat lobortis.
+</p>
+</li>
+<li>
+<p>
+Nam fermentum mattis ante.
+</p>
+</li>
+</ol></div>
+</li>
+<li>
+<p>
+Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Qui in magna commodo, est labitur dolorum an. Est ne magna primis
+ adolescens. Sit munere ponderum dignissim et. Minim luptatum et
+ vel.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum nunc consequat lobortis.
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+Nulla porttitor vulputate libero.
+</p>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+<div class="olist upperroman"><ol class="upperroman">
+<li>
+<p>
+Fusce euismod commodo velit.
+</p>
+</li>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+</ol></div>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum nunc consequat lobortis.
+</p>
+</li>
+</ol></div>
+</li>
+</ul></div>
+<div class="paragraph"><p>A predefined <em>compact</em> option is available to bulleted and numbered
+lists&#8201;&#8212;&#8201;this translates to the DocBook <em>spacing="compact"</em> lists
+attribute which may or may not be processed by the DocBook toolchain.
+Example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[options="compact"]
+- Compact list item.
+- Another compact list item.</code></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">To apply the <em>compact</em> option globally define a document-wide
+<em>compact-option</em> attribute, e.g. using the <code>-a compact-option</code>
+command-line option.</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>You can set the list start number using the <em>start</em> attribute (works
+for HTML outputs and DocBook outputs processed by DocBook XSL
+Stylesheets). Example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[start=7]
+. List item 7.
+. List item 8.</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_labeled_lists">17.3. Labeled Lists</h3>
+<div class="paragraph"><p>Labeled list items consist of one or more text labels followed by the
+text of the list item.</p></div>
+<div class="paragraph"><p>An item label begins a line with an alphanumeric character hard
+against the left margin and ends with two, three or four colons or two
+semi-colons. A list item can have multiple labels, one per line.</p></div>
+<div class="paragraph"><p>The list item text consists of one or more lines of text starting
+after the last label (either on the same line or a new line) and can
+be followed by nested List or ListParagraph elements. Item text can be
+optionally indented.</p></div>
+<div class="paragraph"><p>Here are some examples:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>In::
+Lorem::
+ Fusce euismod commodo velit.
+
+ Fusce euismod commodo velit.
+
+Ipsum:: Vivamus fringilla mi eu lacus.
+ * Vivamus fringilla mi eu lacus.
+ * Donec eget arcu bibendum nunc consequat lobortis.
+Dolor::
+ Donec eget arcu bibendum nunc consequat lobortis.
+ Suspendisse;;
+ A massa id sem aliquam auctor.
+ Morbi;;
+ Pretium nulla vel lorem.
+ In;;
+ Dictum mauris in urna.
+ Vivamus::: Fringilla mi eu lacus.
+ Donec::: Eget arcu bibendum nunc consequat lobortis.</code></pre>
+</div></div>
+<div class="paragraph"><p>Which render as:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+In
+</dt>
+<dt class="hdlist1">
+Lorem
+</dt>
+<dd>
+<p>
+ Fusce euismod commodo velit.
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>Fusce euismod commodo velit.</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+Ipsum
+</dt>
+<dd>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum nunc consequat lobortis.
+</p>
+</li>
+</ul></div>
+</dd>
+<dt class="hdlist1">
+Dolor
+</dt>
+<dd>
+<p>
+ Donec eget arcu bibendum nunc consequat lobortis.
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+Suspendisse
+</dt>
+<dd>
+<p>
+ A massa id sem aliquam auctor.
+</p>
+</dd>
+<dt class="hdlist1">
+Morbi
+</dt>
+<dd>
+<p>
+ Pretium nulla vel lorem.
+</p>
+</dd>
+<dt class="hdlist1">
+In
+</dt>
+<dd>
+<p>
+ Dictum mauris in urna.
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+Vivamus
+</dt>
+<dd>
+<p>
+Fringilla mi eu lacus.
+</p>
+</dd>
+<dt class="hdlist1">
+Donec
+</dt>
+<dd>
+<p>
+Eget arcu bibendum nunc consequat lobortis.
+</p>
+</dd>
+</dl></div>
+</dd>
+</dl></div>
+</dd>
+</dl></div>
+<div class="sect3">
+<h4 id="_horizontal_labeled_list_style">17.3.1. Horizontal labeled list style</h4>
+<div class="paragraph"><p>The <em>horizontal</em> labeled list style (also the first positional
+attribute) places the list text side-by-side with the label instead of
+under the label. Here is an example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[horizontal]
+*Lorem*:: Fusce euismod commodo velit. Qui in magna commodo, est
+labitur dolorum an. Est ne magna primis adolescens.
+
+ Fusce euismod commodo velit.
+
+*Ipsum*:: Vivamus fringilla mi eu lacus.
+- Vivamus fringilla mi eu lacus.
+- Donec eget arcu bibendum nunc consequat lobortis.
+
+*Dolor*::
+ - Vivamus fringilla mi eu lacus.
+ - Donec eget arcu bibendum nunc consequat lobortis.</code></pre>
+</div></div>
+<div class="paragraph"><p>Which render as:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+<strong>Lorem</strong>
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Fusce euismod commodo velit. Qui in magna commodo, est
+labitur dolorum an. Est ne magna primis adolescens.
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>Fusce euismod commodo velit.</code></pre>
+</div></div>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<strong>Ipsum</strong>
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Vivamus fringilla mi eu lacus.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum nunc consequat lobortis.
+</p>
+</li>
+</ul></div>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<strong>Dolor</strong>
+<br />
+</td>
+<td class="hdlist2">
+<div class="ulist"><ul>
+<li>
+<p>
+Vivamus fringilla mi eu lacus.
+</p>
+</li>
+<li>
+<p>
+Donec eget arcu bibendum nunc consequat lobortis.
+</p>
+</li>
+</ul></div>
+</td>
+</tr>
+</table></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">
+<div class="ulist"><ul>
+<li>
+<p>
+Current PDF toolchains do not make a good job of determining
+ the relative column widths for horizontal labeled lists.
+</p>
+</li>
+<li>
+<p>
+Nested horizontal labeled lists will generate DocBook validation
+ errors because the <em>DocBook XML V4.2</em> DTD does not permit nested
+ informal tables (although <a href="#X13">DocBook XSL Stylesheets</a> and
+ <a href="#X31">dblatex</a> process them correctly).
+</p>
+</li>
+<li>
+<p>
+The label width can be set as a percentage of the total width by
+ setting the <em>width</em> attribute e.g. <code>width="10%"</code>
+</p>
+</li>
+</ul></div>
+</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_question_and_answer_lists">17.4. Question and Answer Lists</h3>
+<div class="paragraph"><p>AsciiDoc comes pre-configured with a <em>qanda</em> style labeled list for generating
+DocBook question and answer (Q&amp;A) lists. Example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[qanda]
+Question one::
+ Answer one.
+Question two::
+ Answer two.</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="qlist qanda"><ol>
+<li>
+<p><em>
+Question one
+</em></p>
+<p>
+ Answer one.
+</p>
+</li>
+<li>
+<p><em>
+Question two
+</em></p>
+<p>
+ Answer two.
+</p>
+</li>
+</ol></div>
+</div>
+<div class="sect2">
+<h3 id="_glossary_lists">17.5. Glossary Lists</h3>
+<div class="paragraph"><p>AsciiDoc comes pre-configured with a <em>glossary</em> style labeled list for
+generating DocBook glossary lists. Example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[glossary]
+A glossary term::
+ The corresponding definition.
+A second glossary term::
+ The corresponding definition.</code></pre>
+</div></div>
+<div class="paragraph"><p>For working examples see the <code>article.txt</code> and <code>book.txt</code> documents in
+the AsciiDoc <code>./doc</code> distribution directory.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">To generate valid DocBook output glossary lists must be located
+in a section that uses the <em>glossary</em> <a href="#X93">section markup template</a>.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_bibliography_lists">17.6. Bibliography Lists</h3>
+<div class="paragraph"><p>AsciiDoc comes with a predefined <em>bibliography</em> bulleted list style
+generating DocBook bibliography entries. Example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[bibliography]
+.Optional list title
+- [[[taoup]]] Eric Steven Raymond. 'The Art of UNIX
+ Programming'. Addison-Wesley. ISBN 0-13-142901-9.
+- [[[walsh-muellner]]] Norman Walsh &amp; Leonard Muellner.
+ 'DocBook - The Definitive Guide'. O'Reilly &amp; Associates. 1999.
+ ISBN 1-56592-580-7.</code></pre>
+</div></div>
+<div class="paragraph"><p>The <code>[[[&lt;reference&gt;]]]</code> syntax is a bibliography entry anchor, it
+generates an anchor named <code>&lt;reference&gt;</code> and additionally displays
+<code>[&lt;reference&gt;]</code> at the anchor position. For example <code>[[[taoup]]]</code>
+generates an anchor named <code>taoup</code> that displays <code>[taoup]</code> at the
+anchor position. Cite the reference from elsewhere your document using
+<code>&lt;&lt;taoup&gt;&gt;</code>, this displays a hyperlink (<code>[taoup]</code>) to the
+corresponding bibliography entry anchor.</p></div>
+<div class="paragraph"><p>For working examples see the <code>article.txt</code> and <code>book.txt</code> documents in
+the AsciiDoc <code>./doc</code> distribution directory.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">To generate valid DocBook output bibliography lists must be
+located in a <a href="#X93">bibliography section</a>.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="X15">17.7. List Item Continuation</h3>
+<div class="paragraph"><p>Another list or a literal paragraph immediately following a list item
+is implicitly appended to the list item; to append other block
+elements to a list item you need to explicitly join them to the list
+item with a <em>list continuation</em> (a separator line containing a single
+plus character). Multiple block elements can be appended to a list
+item using list continuations (provided they are legal list item
+children in the backend markup).</p></div>
+<div class="paragraph"><p>Here are some examples of list item continuations: list item one
+contains multiple continuations; list item two is continued with an
+<a href="#X29">OpenBlock</a> containing multiple elements:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>1. List item one.
++
+List item one continued with a second paragraph followed by an
+Indented block.
++
+.................
+$ ls *.sh
+$ mv *.sh ~/tmp
+.................
++
+List item continued with a third paragraph.
+
+2. List item two continued with an open block.
++
+--
+This paragraph is part of the preceding list item.
+
+a. This list is nested and does not require explicit item continuation.
++
+This paragraph is part of the preceding list item.
+
+b. List item b.
+
+This paragraph belongs to item two of the outer list.
+--</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+List item one.
+</p>
+<div class="paragraph"><p>List item one continued with a second paragraph followed by an
+Indented block.</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ ls *.sh
+$ mv *.sh ~/tmp</code></pre>
+</div></div>
+<div class="paragraph"><p>List item continued with a third paragraph.</p></div>
+</li>
+<li>
+<p>
+List item two continued with an open block.
+</p>
+<div class="openblock">
+<div class="content">
+<div class="paragraph"><p>This paragraph is part of the preceding list item.</p></div>
+<div class="olist loweralpha"><ol class="loweralpha">
+<li>
+<p>
+This list is nested and does not require explicit item continuation.
+</p>
+<div class="paragraph"><p>This paragraph is part of the preceding list item.</p></div>
+</li>
+<li>
+<p>
+List item b.
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>This paragraph belongs to item two of the outer list.</p></div>
+</div></div>
+</li>
+</ol></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X92">18. Footnotes</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The shipped AsciiDoc configuration includes three footnote inline
+macros:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>footnote:[&lt;text&gt;]</code>
+</dt>
+<dd>
+<p>
+ Generates a footnote with text <code>&lt;text&gt;</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>footnoteref:[&lt;id&gt;,&lt;text&gt;]</code>
+</dt>
+<dd>
+<p>
+ Generates a footnote with a reference ID <code>&lt;id&gt;</code> and text <code>&lt;text&gt;</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>footnoteref:[&lt;id&gt;]</code>
+</dt>
+<dd>
+<p>
+ Generates a reference to the footnote with ID <code>&lt;id&gt;</code>.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>The footnote text can span multiple lines.</p></div>
+<div class="paragraph"><p>The <em>xhtml11</em> and <em>html5</em> backends render footnotes dynamically using
+JavaScript; <em>html4</em> outputs do not use JavaScript and leave the
+footnotes inline; <em>docbook</em> footnotes are processed by the downstream
+DocBook toolchain.</p></div>
+<div class="paragraph"><p>Example footnotes:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>A footnote footnote:[An example footnote.];
+a second footnote with a reference ID footnoteref:[note2,Second footnote.];
+finally a reference to the second footnote footnoteref:[note2].</code></pre>
+</div></div>
+<div class="paragraph"><p>Renders:</p></div>
+<div class="paragraph"><p>A footnote <span class="footnote"><br />[An example footnote.]<br /></span>;
+a second footnote with a reference ID <span class="footnote" id="_footnote_note2"><br />[Second footnote.]<br /></span>;
+finally a reference to the second footnote <span class="footnoteref"><br /><a href="#_footnote_note2">[note2]</a><br /></span>.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_indexes">19. Indexes</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The shipped AsciiDoc configuration includes the inline macros for
+generating DocBook index entries.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>indexterm:[&lt;primary&gt;,&lt;secondary&gt;,&lt;tertiary&gt;]</code>
+</dt>
+<dt class="hdlist1">
+<code>(((&lt;primary&gt;,&lt;secondary&gt;,&lt;tertiary&gt;)))</code>
+</dt>
+<dd>
+<p>
+ This inline macro generates an index term (the <code>&lt;secondary&gt;</code> and
+ <code>&lt;tertiary&gt;</code> positional attributes are optional). Example:
+ <code>indexterm:[Tigers,Big cats]</code> (or, using the alternative syntax
+ <code>(((Tigers,Big cats)))</code>. Index terms that have secondary and
+ tertiary entries also generate separate index terms for the
+ secondary and tertiary entries. The index terms appear in the
+ index, not the primary text flow.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>indexterm2:[&lt;primary&gt;]</code>
+</dt>
+<dt class="hdlist1">
+<code>((&lt;primary&gt;))</code>
+</dt>
+<dd>
+<p>
+ This inline macro generates an index term that appears in both the
+ index and the primary text flow. The <code>&lt;primary&gt;</code> should not be
+ padded to the left or right with white space characters.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>For working examples see the <code>article.txt</code> and <code>book.txt</code> documents in
+the AsciiDoc <code>./doc</code> distribution directory.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">Index entries only really make sense if you are generating
+DocBook markup&#8201;&#8212;&#8201;DocBook conversion programs automatically generate
+an index at the point an <em>Index</em> section appears in source document.</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X105">20. Callouts</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Callouts are a mechanism for annotating verbatim text (for example:
+source code, computer output and user input). Callout markers are
+placed inside the annotated text while the actual annotations are
+presented in a callout list after the annotated text. Here&#8217;s an
+example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code> .MS-DOS directory listing
+ -----------------------------------------------------
+ 10/17/97 9:04 &lt;DIR&gt; bin
+ 10/16/97 14:11 &lt;DIR&gt; DOS &lt;1&gt;
+ 10/16/97 14:40 &lt;DIR&gt; Program Files
+ 10/16/97 14:46 &lt;DIR&gt; TEMP
+ 10/17/97 9:04 &lt;DIR&gt; tmp
+ 10/16/97 14:37 &lt;DIR&gt; WINNT
+ 10/16/97 14:25 119 AUTOEXEC.BAT &lt;2&gt;
+ 2/13/94 6:21 54,619 COMMAND.COM &lt;2&gt;
+ 10/16/97 14:25 115 CONFIG.SYS &lt;2&gt;
+ 11/16/97 17:17 61,865,984 pagefile.sys
+ 2/13/94 6:21 9,349 WINA20.386 &lt;3&gt;
+ -----------------------------------------------------
+
+ &lt;1&gt; This directory holds MS-DOS.
+ &lt;2&gt; System startup code for DOS.
+ &lt;3&gt; Some sort of Windows 3.1 hack.</code></pre>
+</div></div>
+<div class="paragraph"><p>Which renders:</p></div>
+<div class="listingblock">
+<div class="title">MS-DOS directory listing</div>
+<div class="content">
+<pre><code>10/17/97 9:04 &lt;DIR&gt; bin
+10/16/97 14:11 &lt;DIR&gt; DOS <img src="./images/icons/callouts/1.png" alt="1" />
+10/16/97 14:40 &lt;DIR&gt; Program Files
+10/16/97 14:46 &lt;DIR&gt; TEMP
+10/17/97 9:04 &lt;DIR&gt; tmp
+10/16/97 14:37 &lt;DIR&gt; WINNT
+10/16/97 14:25 119 AUTOEXEC.BAT <img src="./images/icons/callouts/2.png" alt="2" />
+ 2/13/94 6:21 54,619 COMMAND.COM <img src="./images/icons/callouts/2.png" alt="2" />
+10/16/97 14:25 115 CONFIG.SYS <img src="./images/icons/callouts/2.png" alt="2" />
+11/16/97 17:17 61,865,984 pagefile.sys
+ 2/13/94 6:21 9,349 WINA20.386 <img src="./images/icons/callouts/3.png" alt="3" /></code></pre>
+</div></div>
+<div class="colist arabic"><table>
+<tr><td><img src="./images/icons/callouts/1.png" alt="1" /></td><td>
+This directory holds MS-DOS.
+</td></tr>
+<tr><td><img src="./images/icons/callouts/2.png" alt="2" /></td><td>
+System startup code for DOS.
+</td></tr>
+<tr><td><img src="./images/icons/callouts/3.png" alt="3" /></td><td>
+Some sort of Windows 3.1 hack.
+</td></tr>
+</table></div>
+<div class="ulist"><div class="title">Explanation</div><ul>
+<li>
+<p>
+The callout marks are whole numbers enclosed in angle brackets&#8201;&#8212;&#8201; they refer to the correspondingly numbered item in the following
+ callout list.
+</p>
+</li>
+<li>
+<p>
+By default callout marks are confined to <em>LiteralParagraphs</em>,
+ <em>LiteralBlocks</em> and <em>ListingBlocks</em> (although this is a
+ configuration file option and can be changed).
+</p>
+</li>
+<li>
+<p>
+Callout list item numbering is fairly relaxed&#8201;&#8212;&#8201;list items can
+ start with <code>&lt;n&gt;</code>, <code>n&gt;</code> or <code>&gt;</code> where <code>n</code> is the optional list item
+ number (in the latter case list items starting with a single <code>&gt;</code>
+ character are implicitly numbered starting at one).
+</p>
+</li>
+<li>
+<p>
+Callout lists should not be nested.
+</p>
+</li>
+<li>
+<p>
+Callout lists cannot be used within tables.
+</p>
+</li>
+<li>
+<p>
+Callout lists start list items hard against the left margin.
+</p>
+</li>
+<li>
+<p>
+If you want to present a number inside angle brackets you&#8217;ll need to
+ escape it with a backslash to prevent it being interpreted as a
+ callout mark.
+</p>
+</li>
+</ul></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">Define the AsciiDoc <em>icons</em> attribute (for example using the <code>-a
+icons</code> command-line option) to display callout icons.</td>
+</tr></table>
+</div>
+<div class="sect2">
+<h3 id="_implementation_notes">20.1. Implementation Notes</h3>
+<div class="paragraph"><p>Callout marks are generated by the <em>callout</em> inline macro while
+callout lists are generated using the <em>callout</em> list definition. The
+<em>callout</em> macro and <em>callout</em> list are special in that they work
+together. The <em>callout</em> inline macro is not enabled by the normal
+<em>macros</em> substitutions option, instead it has its own <em>callouts</em>
+substitution option.</p></div>
+<div class="paragraph"><p>The following attributes are available during inline callout macro
+substitution:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>{index}</code>
+</dt>
+<dd>
+<p>
+ The callout list item index inside the angle brackets.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{coid}</code>
+</dt>
+<dd>
+<p>
+ An identifier formatted like <code>CO&lt;listnumber&gt;-&lt;index&gt;</code> that
+ uniquely identifies the callout mark. For example <code>CO2-4</code>
+ identifies the fourth callout mark in the second set of callout
+ marks.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>The <code>{coids}</code> attribute can be used during callout list item
+substitution&#8201;&#8212;&#8201;it is a space delimited list of callout IDs that refer
+to the explanatory list item.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_including_callouts_in_included_code">20.2. Including callouts in included code</h3>
+<div class="paragraph"><p>You can annotate working code examples with callouts&#8201;&#8212;&#8201;just remember
+to put the callouts inside source code comments. This example displays
+the <code>test.py</code> source file (containing a single callout) using the
+<em>source</em> (code highlighter) filter:</p></div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code> [source,python]
+ -------------------------------------------
+ \include::test.py[]
+ -------------------------------------------
+
+ &lt;1&gt; Print statement.</code></pre>
+</div></div>
+<div class="listingblock">
+<div class="title">Included <code>test.py</code> source</div>
+<div class="content">
+<pre><code>print 'Hello World!' # &lt;1&gt;</code></pre>
+</div></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_macros">21. Macros</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Macros are a mechanism for substituting parametrized text into output
+documents.</p></div>
+<div class="paragraph"><p>Macros have a <em>name</em>, a single <em>target</em> argument and an <em>attribute
+list</em>. The usual syntax is <code>&lt;name&gt;:&lt;target&gt;[&lt;attrlist&gt;]</code> (for
+inline macros) and <code>&lt;name&gt;::&lt;target&gt;[&lt;attrlist&gt;]</code> (for block
+macros). Here are some examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>http://www.docbook.org/[DocBook.org]
+include::chapt1.txt[tabsize=2]
+mailto:srackham@gmail.com[]</code></pre>
+</div></div>
+<div class="ulist"><div class="title">Macro behavior</div><ul>
+<li>
+<p>
+<code>&lt;name&gt;</code> is the macro name. It can only contain letters, digits or
+ dash characters and cannot start with a dash.
+</p>
+</li>
+<li>
+<p>
+The optional <code>&lt;target&gt;</code> cannot contain white space characters.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;attrlist&gt;</code> is a <a href="#X21">list of attributes</a> enclosed in square
+ brackets.
+</p>
+</li>
+<li>
+<p>
+<code>]</code> characters inside attribute lists must be escaped with a
+ backslash.
+</p>
+</li>
+<li>
+<p>
+Expansion of macro references can normally be escaped by prefixing a
+ backslash character (see the AsciiDoc <em>FAQ</em> for examples of
+ exceptions to this rule).
+</p>
+</li>
+<li>
+<p>
+Attribute references in block macros are expanded.
+</p>
+</li>
+<li>
+<p>
+The substitutions performed prior to Inline macro macro expansion
+ are determined by the inline context.
+</p>
+</li>
+<li>
+<p>
+Macros are processed in the order they appear in the configuration
+ file(s).
+</p>
+</li>
+<li>
+<p>
+Calls to inline macros can be nested inside different inline macros
+ (an inline macro call cannot contain a nested call to itself).
+</p>
+</li>
+<li>
+<p>
+In addition to <code>&lt;name&gt;</code>, <code>&lt;target&gt;</code> and <code>&lt;attrlist&gt;</code> the
+ <code>&lt;passtext&gt;</code> and <code>&lt;subslist&gt;</code> named groups are available to
+ <a href="#X77">passthrough macros</a>. A macro is a passthrough macro if the
+ definition includes a <code>&lt;passtext&gt;</code> named group.
+</p>
+</li>
+</ul></div>
+<div class="sect2">
+<h3 id="_inline_macros">21.1. Inline Macros</h3>
+<div class="paragraph"><p>Inline Macros occur in an inline element context. Predefined Inline
+macros include <em>URLs</em>, <em>image</em> and <em>link</em> macros.</p></div>
+<div class="sect3">
+<h4 id="_urls">21.1.1. URLs</h4>
+<div class="paragraph"><p><em>http</em>, <em>https</em>, <em>ftp</em>, <em>file</em>, <em>mailto</em> and <em>callto</em> URLs are
+rendered using predefined inline macros.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+If you don&#8217;t need a custom link caption you can enter the <em>http</em>,
+ <em>https</em>, <em>ftp</em>, <em>file</em> URLs and email addresses without any special
+ macro syntax.
+</p>
+</li>
+<li>
+<p>
+If the <code>&lt;attrlist&gt;</code> is empty the URL is displayed.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Here are some examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>http://www.docbook.org/[DocBook.org]
+http://www.docbook.org/
+mailto:joe.bloggs@foobar.com[email Joe Bloggs]
+joe.bloggs@foobar.com</code></pre>
+</div></div>
+<div class="paragraph"><p>Which are rendered:</p></div>
+<div class="paragraph"><p><a href="http://www.docbook.org/">DocBook.org</a></p></div>
+<div class="paragraph"><p><a href="http://www.docbook.org/">http://www.docbook.org/</a></p></div>
+<div class="paragraph"><p><a href="mailto:joe.bloggs@foobar.com">email Joe Bloggs</a></p></div>
+<div class="paragraph"><p><a href="mailto:joe.bloggs@foobar.com">joe.bloggs@foobar.com</a></p></div>
+<div class="paragraph"><p>If the <code>&lt;target&gt;</code> necessitates space characters use <code>%20</code>, for example
+<code>large%20image.png</code>.</p></div>
+</div>
+<div class="sect3">
+<h4 id="_internal_cross_references">21.1.2. Internal Cross References</h4>
+<div class="paragraph"><p>Two AsciiDoc inline macros are provided for creating hypertext links
+within an AsciiDoc document. You can use either the standard macro
+syntax or the (preferred) alternative.</p></div>
+<div class="sect4">
+<h5 id="X30">anchor</h5>
+<div class="paragraph"><p>Used to specify hypertext link targets:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[[&lt;id&gt;,&lt;xreflabel&gt;]]
+anchor:&lt;id&gt;[&lt;xreflabel&gt;]</code></pre>
+</div></div>
+<div class="paragraph"><p>The <code>&lt;id&gt;</code> is a unique string that conforms to the output markup&#8217;s
+anchor syntax. The optional <code>&lt;xreflabel&gt;</code> is the text to be displayed
+by captionless <em>xref</em> macros that refer to this anchor. The optional
+<code>&lt;xreflabel&gt;</code> is only really useful when generating DocBook output.
+Example anchor:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[[X1]]</code></pre>
+</div></div>
+<div class="paragraph"><p>You may have noticed that the syntax of this inline element is the
+same as that of the <a href="#X41">BlockId block element</a>, this is no
+coincidence since they are functionally equivalent.</p></div>
+</div>
+<div class="sect4">
+<h5 id="_xref">xref</h5>
+<div class="paragraph"><p>Creates a hypertext link to a document anchor.</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;&lt;&lt;id&gt;,&lt;caption&gt;&gt;&gt;
+xref:&lt;id&gt;[&lt;caption&gt;]</code></pre>
+</div></div>
+<div class="paragraph"><p>The <code>&lt;id&gt;</code> refers to an anchor ID. The optional <code>&lt;caption&gt;</code> is the
+link&#8217;s displayed text. Example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;&lt;X21,attribute lists&gt;&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>If <code>&lt;caption&gt;</code> is not specified then the displayed text is
+auto-generated:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+The AsciiDoc <em>xhtml11</em> and <em>html5</em> backends display the <code>&lt;id&gt;</code>
+ enclosed in square brackets.
+</p>
+</li>
+<li>
+<p>
+If DocBook is produced the DocBook toolchain is responsible for the
+ displayed text which will normally be the referenced figure, table
+ or section title number followed by the element&#8217;s title text.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Here is an example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[[tiger_image]]
+.Tyger tyger
+image::tiger.png[]
+
+This can be seen in &lt;&lt;tiger_image&gt;&gt;.</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_linking_to_local_documents">21.1.3. Linking to Local Documents</h4>
+<div class="paragraph"><p>Hypertext links to files on the local file system are specified using
+the <em>link</em> inline macro.</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>link:&lt;target&gt;[&lt;caption&gt;]</code></pre>
+</div></div>
+<div class="paragraph"><p>The <em>link</em> macro generates relative URLs. The link macro <code>&lt;target&gt;</code> is
+the target file name (relative to the file system location of the
+referring document). The optional <code>&lt;caption&gt;</code> is the link&#8217;s displayed
+text. If <code>&lt;caption&gt;</code> is not specified then <code>&lt;target&gt;</code> is displayed.
+Example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>link:downloads/foo.zip[download foo.zip]</code></pre>
+</div></div>
+<div class="paragraph"><p>You can use the <code>&lt;filename&gt;#&lt;id&gt;</code> syntax to refer to an anchor within
+a target document but this usually only makes sense when targeting
+HTML documents.</p></div>
+</div>
+<div class="sect3">
+<h4 id="X9">21.1.4. Images</h4>
+<div class="paragraph"><p>Inline images are inserted into the output document using the <em>image</em>
+macro. The inline syntax is:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>image:&lt;target&gt;[&lt;attributes&gt;]</code></pre>
+</div></div>
+<div class="paragraph"><p>The contents of the image file <code>&lt;target&gt;</code> is displayed. To display the
+image its file format must be supported by the target backend
+application. HTML and DocBook applications normally support PNG or JPG
+files.</p></div>
+<div class="paragraph"><p><code>&lt;target&gt;</code> file name paths are relative to the location of the
+referring document.</p></div>
+<div class="ulist" id="X55"><div class="title">Image macro attributes</div><ul>
+<li>
+<p>
+The optional <em>alt</em> attribute is also the first positional attribute,
+ it specifies alternative text which is displayed if the output
+ application is unable to display the image file (see also
+ <a href="http://htmlhelp.com/feature/art3.htm">Use of ALT texts in IMGs</a>). For
+ example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>image:images/logo.png[Company Logo]</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+The optional <em>title</em> attribute provides a title for the image. The
+ <a href="#X49">block image macro</a> renders the title alongside the image.
+ The inline image macro displays the title as a popup &#8220;tooltip&#8221; in
+ visual browsers (AsciiDoc HTML outputs only).
+</p>
+</li>
+<li>
+<p>
+The optional <code>width</code> and <code>height</code> attributes scale the image size
+ and can be used in any combination. The units are pixels. The
+ following example scales the previous example to a height of 32
+ pixels:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>image:images/logo.png["Company Logo",height=32]</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+The optional <code>link</code> attribute is used to link the image to an
+ external document. The following example links a screenshot
+ thumbnail to a full size version:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>image:screen-thumbnail.png[height=32,link="screen.png"]</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+The optional <code>scaledwidth</code> attribute is only used in DocBook block
+ images (specifically for PDF documents). The following example
+ scales the images to 75% of the available print width:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>image::images/logo.png[scaledwidth="75%",alt="Company Logo"]</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+The image <code>scale</code> attribute sets the DocBook <code>imagedata</code> element
+ <code>scale</code> attribute.
+</p>
+</li>
+<li>
+<p>
+The optional <code>align</code> attribute aligns block macro images
+ horizontally. Allowed values are <code>center</code>, <code>left</code> and <code>right</code>. For
+ example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>image::images/tiger.png["Tiger image",align="left"]</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+The optional <code>float</code> attribute floats the image <code>left</code> or <code>right</code> on
+ the page (works with HTML outputs only, has no effect on DocBook
+ outputs). <code>float</code> and <code>align</code> attributes are mutually exclusive.
+ Use the <code>unfloat::[]</code> block macro to stop floating.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect3">
+<h4 id="_comment_lines">21.1.5. Comment Lines</h4>
+<div class="paragraph"><p>See <a href="#X25">comment block macro</a>.</p></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_block_macros">21.2. Block Macros</h3>
+<div class="paragraph"><p>A Block macro reference must be contained in a single line separated
+either side by a blank line or a block delimiter.</p></div>
+<div class="paragraph"><p>Block macros behave just like Inline macros, with the following
+differences:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+They occur in a block context.
+</p>
+</li>
+<li>
+<p>
+The default syntax is <code>&lt;name&gt;::&lt;target&gt;[&lt;attrlist&gt;]</code> (two
+ colons, not one).
+</p>
+</li>
+<li>
+<p>
+Markup template section names end in <code>-blockmacro</code> instead of
+ <code>-inlinemacro</code>.
+</p>
+</li>
+</ul></div>
+<div class="sect3">
+<h4 id="_block_identifier">21.2.1. Block Identifier</h4>
+<div class="paragraph"><p>The Block Identifier macro sets the <code>id</code> attribute and has the same
+syntax as the <a href="#X30">anchor inline macro</a> since it performs
+essentially the same function&#8201;&#8212;&#8201;block templates use the <code>id</code>
+attribute as a block element ID. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[[X30]]</code></pre>
+</div></div>
+<div class="paragraph"><p>This is equivalent to the <code>[id="X30"]</code> <a href="#X79">AttributeList element</a>).</p></div>
+</div>
+<div class="sect3">
+<h4 id="X49">21.2.2. Images</h4>
+<div class="paragraph"><p>The <em>image</em> block macro is used to display images in a block context.
+The syntax is:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>image::&lt;target&gt;[&lt;attributes&gt;]</code></pre>
+</div></div>
+<div class="paragraph"><p>The block <code>image</code> macro has the same <a href="#X55">macro attributes</a> as it&#8217;s
+<a href="#X9">inline image macro</a> counterpart.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/warning.png" alt="Warning" />
+</td>
+<td class="content">Unlike the inline <code>image</code> macro, the entire block <code>image</code> macro
+must be on a single line.</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>Block images can be titled by preceding the <em>image</em> macro with a
+<em>BlockTitle</em>. DocBook toolchains normally number titled block images
+and optionally list them in an automatically generated <em>List of
+Figures</em> backmatter section.</p></div>
+<div class="paragraph"><p>This example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>.Main circuit board
+image::images/layout.png[J14P main circuit board]</code></pre>
+</div></div>
+<div class="paragraph"><p>is equivalent to:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>image::images/layout.png["J14P main circuit board", title="Main circuit board"]</code></pre>
+</div></div>
+<div class="paragraph"><p>A title prefix that can be inserted with the <code>caption</code> attribute
+(HTML backends). For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>.Main circuit board
+[caption="Figure 2: "]
+image::images/layout.png[J14P main circuit board]</code></pre>
+</div></div>
+<div class="sidebarblock" id="X66">
+<div class="content">
+<div class="title">Embedding images in XHTML documents</div>
+<div class="paragraph"><p>If you define the <code>data-uri</code> attribute then images will be embedded in
+XHTML outputs using the
+<a href="http://en.wikipedia.org/wiki/Data:_URI_scheme">data URI scheme</a>. You
+can use the <em>data-uri</em> attribute with the <em>xhtml11</em> and <em>html5</em>
+backends to produce single-file XHTML documents with embedded images
+and CSS, for example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a data-uri mydocument.txt</code></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">
+<div class="ulist"><ul>
+<li>
+<p>
+All current popular browsers support data URIs, although versions
+ of Internet Explorer prior to version 8 do not.
+</p>
+</li>
+<li>
+<p>
+Some browsers limit the size of data URIs.
+</p>
+</li>
+</ul></div>
+</td>
+</tr></table>
+</div>
+</div></div>
+</div>
+<div class="sect3">
+<h4 id="X25">21.2.3. Comment Lines</h4>
+<div class="paragraph"><p>Single lines starting with two forward slashes hard up against the
+left margin are treated as comments. Comment lines do not appear in
+the output unless the <em>showcomments</em> attribute is defined. Comment
+lines have been implemented as both block and inline macros so a
+comment line can appear as a stand-alone block or within block elements
+that support inline macro expansion. Example comment line:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>// This is a comment.</code></pre>
+</div></div>
+<div class="paragraph"><p>If the <em>showcomments</em> attribute is defined comment lines are written
+to the output:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+In DocBook the comment lines are enclosed by the <em>remark</em> element
+ (which may or may not be rendered by your toolchain).
+</p>
+</li>
+<li>
+<p>
+The <em>showcomments</em> attribute does not expose <a href="#X26">Comment Blocks</a>.
+ Comment Blocks are never passed to the output.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_system_macros">21.3. System Macros</h3>
+<div class="paragraph"><p>System macros are block macros that perform a predefined task and are
+hardwired into the <code>asciidoc(1)</code> program.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+You can escape system macros with a leading backslash character
+ (as you can with other macros).
+</p>
+</li>
+<li>
+<p>
+The syntax and tasks performed by system macros is built into
+ <code>asciidoc(1)</code> so they don&#8217;t appear in configuration files. You can
+ however customize the syntax by adding entries to a configuration
+ file <code>[macros]</code> section.
+</p>
+</li>
+</ul></div>
+<div class="sect3">
+<h4 id="X63">21.3.1. Include Macros</h4>
+<div class="paragraph"><p>The <code>include</code> and <code>include1</code> system macros to include the contents of
+a named file into the source document.</p></div>
+<div class="paragraph"><p>The <code>include</code> macro includes a file as if it were part of the parent
+document&#8201;&#8212;&#8201;tabs are expanded and system macros processed. The
+contents of <code>include1</code> files are not subject to tab expansion or
+system macro processing nor are attribute or lower priority
+substitutions performed. The <code>include1</code> macro&#8217;s intended use is to
+include verbatim embedded CSS or scripts into configuration file
+headers. Example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>include::chapter1.txt[tabsize=4]</code></pre>
+</div></div>
+<div class="ulist"><div class="title">Include macro behavior</div><ul>
+<li>
+<p>
+If the included file name is specified with a relative path then the
+ path is relative to the location of the referring document.
+</p>
+</li>
+<li>
+<p>
+Include macros can appear inside configuration files.
+</p>
+</li>
+<li>
+<p>
+Files included from within <em>DelimitedBlocks</em> are read to completion
+ to avoid false end-of-block underline termination.
+</p>
+</li>
+<li>
+<p>
+Attribute references are expanded inside the include <em>target</em>; if an
+ attribute is undefined then the included file is silently skipped.
+</p>
+</li>
+<li>
+<p>
+The <em>tabsize</em> macro attribute sets the number of space characters to
+ be used for tab expansion in the included file (not applicable to
+ <code>include1</code> macro).
+</p>
+</li>
+<li>
+<p>
+The <em>depth</em> macro attribute sets the maximum permitted number of
+ subsequent nested includes (not applicable to <code>include1</code> macro which
+ does not process nested includes). Setting <em>depth</em> to <em>1</em> disables
+ nesting inside the included file. By default, nesting is limited to
+ a depth of ten.
+</p>
+</li>
+<li>
+<p>
+If the he <em>warnings</em> attribute is set to <em>False</em> (or any other
+ Python literal that evaluates to boolean false) then no warning
+ message is printed if the included file does not exist. By default
+ <em>warnings</em> are enabled.
+</p>
+</li>
+<li>
+<p>
+Internally the <code>include1</code> macro is translated to the <code>include1</code>
+ system attribute which means it must be evaluated in a region where
+ attribute substitution is enabled. To inhibit nested substitution in
+ included files it is preferable to use the <code>include</code> macro and set
+ the attribute <code>depth=1</code>.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect3">
+<h4 id="_conditional_inclusion_macros">21.3.2. Conditional Inclusion Macros</h4>
+<div class="paragraph"><p>Lines of text in the source document can be selectively included or
+excluded from processing based on the existence (or not) of a document
+attribute.</p></div>
+<div class="paragraph"><p>Document text between the <code>ifdef</code> and <code>endif</code> macros is included if a
+document attribute is defined:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>ifdef::&lt;attribute&gt;[]
+:
+endif::&lt;attribute&gt;[]</code></pre>
+</div></div>
+<div class="paragraph"><p>Document text between the <code>ifndef</code> and <code>endif</code> macros is not included
+if a document attribute is defined:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>ifndef::&lt;attribute&gt;[]
+:
+endif::&lt;attribute&gt;[]</code></pre>
+</div></div>
+<div class="paragraph"><p><code>&lt;attribute&gt;</code> is an attribute name which is optional in the trailing
+<code>endif</code> macro.</p></div>
+<div class="paragraph"><p>If you only want to process a single line of text then the text can be
+put inside the square brackets and the <code>endif</code> macro omitted, for
+example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>ifdef::revnumber[Version number 42]</code></pre>
+</div></div>
+<div class="paragraph"><p>Is equivalent to:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>ifdef::revnumber[]
+Version number 42
+endif::revnumber[]</code></pre>
+</div></div>
+<div class="paragraph"><p><em>ifdef</em> and <em>ifndef</em> macros also accept multiple attribute names:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Multiple <em>,</em> separated attribute names evaluate to defined if one
+ or more of the attributes is defined, otherwise it&#8217;s value is
+ undefined.
+</p>
+</li>
+<li>
+<p>
+Multiple <em>+</em> separated attribute names evaluate to defined if all
+ of the attributes is defined, otherwise it&#8217;s value is undefined.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Document text between the <code>ifeval</code> and <code>endif</code> macros is included if
+the Python expression inside the square brackets is true. Example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>ifeval::[{rs458}==2]
+:
+endif::[]</code></pre>
+</div></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Document attribute references are expanded before the expression is
+ evaluated.
+</p>
+</li>
+<li>
+<p>
+If an attribute reference is undefined then the expression is
+ considered false.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Take a look at the <code>*.conf</code> configuration files in the AsciiDoc
+distribution for examples of conditional inclusion macro usage.</p></div>
+</div>
+<div class="sect3">
+<h4 id="_executable_system_macros">21.3.3. Executable system macros</h4>
+<div class="paragraph"><p>The <em>eval</em>, <em>sys</em> and <em>sys2</em> block macros exhibit the same behavior as
+their same named <a href="#X24">system attribute references</a>. The difference
+is that system macros occur in a block macro context whereas system
+attributes are confined to inline contexts where attribute
+substitution is enabled.</p></div>
+<div class="paragraph"><p>The following example displays a long directory listing inside a
+literal block:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>------------------
+sys::[ls -l *.txt]
+------------------</code></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">There are no block macro versions of the <em>eval3</em> and <em>sys3</em>
+system attributes.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_template_system_macro">21.3.4. Template System Macro</h4>
+<div class="paragraph"><p>The <code>template</code> block macro allows the inclusion of one configuration
+file template section within another. The following example includes
+the <code>[admonitionblock]</code> section in the <code>[admonitionparagraph]</code>
+section:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[admonitionparagraph]
+template::[admonitionblock]</code></pre>
+</div></div>
+<div class="ulist"><div class="title">Template macro behavior</div><ul>
+<li>
+<p>
+The <code>template::[]</code> macro is useful for factoring configuration file
+ markup.
+</p>
+</li>
+<li>
+<p>
+<code>template::[]</code> macros cannot be nested.
+</p>
+</li>
+<li>
+<p>
+<code>template::[]</code> macro expansion is applied after all configuration
+ files have been read.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="X77">21.4. Passthrough macros</h3>
+<div class="paragraph"><p>Passthrough macros are analogous to <a href="#X76">passthrough blocks</a> and are
+used to pass text directly to the output. The substitution performed
+on the text is determined by the macro definition but can be overridden
+by the <code>&lt;subslist&gt;</code>. The usual syntax is
+<code>&lt;name&gt;:&lt;subslist&gt;[&lt;passtext&gt;]</code> (for inline macros) and
+<code>&lt;name&gt;::&lt;subslist&gt;[&lt;passtext&gt;]</code> (for block macros). Passthroughs, by
+definition, take precedence over all other text substitutions.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+pass
+</dt>
+<dd>
+<p>
+ Inline and block. Passes text unmodified (apart from explicitly
+ specified substitutions). Examples:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>pass:[&lt;q&gt;To be or not to be&lt;/q&gt;]
+pass:attributes,quotes[&lt;u&gt;the '{author}'&lt;/u&gt;]</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+asciimath, latexmath
+</dt>
+<dd>
+<p>
+ Inline and block. Passes text unmodified. Used for
+ <a href="#X78">mathematical formulas</a>.
+</p>
+</dd>
+<dt class="hdlist1">
++++
+</dt>
+<dd>
+<p>
+ Inline and block. The triple-plus passthrough is functionally
+ identical to the <em>pass</em> macro but you don&#8217;t have to escape <code>]</code>
+ characters and you can prefix with quoted attributes in the inline
+ version. Example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>Red [red]+++`sum_(i=1)\^n i=(n(n+1))/2`$+++ AsciiMathML formula</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+$$
+</dt>
+<dd>
+<p>
+ Inline and block. The double-dollar passthrough is functionally
+ identical to the triple-plus passthrough with one exception: special
+ characters are escaped. Example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$$`[[a,b],[c,d]]((n),(k))`$$</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+<a id="X80"></a>`
+</dt>
+<dd>
+<p>
+ Text quoted with single backtick characters constitutes an <em>inline
+ literal</em> passthrough. The enclosed text is rendered in a monospaced
+ font and is only subject to special character substitution. This
+ makes sense since monospace text is usually intended to be rendered
+ literally and often contains characters that would otherwise have to
+ be escaped. If you need monospaced text containing inline
+ substitutions use a <a href="#X81">plus character instead of a backtick</a>.
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_macro_definitions">21.5. Macro Definitions</h3>
+<div class="paragraph"><p>Each entry in the configuration <code>[macros]</code> section is a macro
+definition which can take one of the following forms:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>&lt;pattern&gt;=&lt;name&gt;[&lt;subslist]</code>
+</dt>
+<dd>
+<p>
+Inline macro definition.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>&lt;pattern&gt;=#&lt;name&gt;[&lt;subslist]</code>
+</dt>
+<dd>
+<p>
+Block macro definition.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>&lt;pattern&gt;=+&lt;name&gt;[&lt;subslist]</code>
+</dt>
+<dd>
+<p>
+System macro definition.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>&lt;pattern&gt;</code>
+</dt>
+<dd>
+<p>
+Delete the existing macro with this <code>&lt;pattern&gt;</code>.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p><code>&lt;pattern&gt;</code> is a Python regular expression and <code>&lt;name&gt;</code> is the name of
+a markup template. If <code>&lt;name&gt;</code> is omitted then it is the value of the
+regular expression match group named <em>name</em>. The optional
+<code>[&lt;subslist]</code> is a comma-separated list of substitution names enclosed
+in <code>[]</code> brackets, it sets the default substitutions for passthrough
+text, if omitted then no passthrough substitutions are performed.</p></div>
+<div class="paragraph"><div class="title">Pattern named groups</div><p>The following named groups can be used in macro <code>&lt;pattern&gt;</code> regular
+expressions and are available as markup template attributes:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+name
+</dt>
+<dd>
+<p>
+ The macro name.
+</p>
+</dd>
+<dt class="hdlist1">
+target
+</dt>
+<dd>
+<p>
+ The macro target.
+</p>
+</dd>
+<dt class="hdlist1">
+attrlist
+</dt>
+<dd>
+<p>
+ The macro attribute list.
+</p>
+</dd>
+<dt class="hdlist1">
+passtext
+</dt>
+<dd>
+<p>
+ Contents of this group are passed unmodified to the output subject
+ only to <em>subslist</em> substitutions.
+</p>
+</dd>
+<dt class="hdlist1">
+subslist
+</dt>
+<dd>
+<p>
+ Processed as a comma-separated list of substitution names for
+ <em>passtext</em> substitution, overrides the the macro definition
+ <em>subslist</em>.
+</p>
+</dd>
+</dl></div>
+<div class="ulist"><div class="title">Here&#8217;s what happens during macro substitution</div><ul>
+<li>
+<p>
+Each contextually relevant macro <em>pattern</em> from the <code>[macros]</code>
+ section is matched against the input source line.
+</p>
+</li>
+<li>
+<p>
+If a match is found the text to be substituted is loaded from a
+ configuration markup template section named like
+ <code>&lt;name&gt;-inlinemacro</code> or <code>&lt;name&gt;-blockmacro</code> (depending on the macro
+ type).
+</p>
+</li>
+<li>
+<p>
+Global and macro attribute list attributes are substituted in the
+ macro&#8217;s markup template.
+</p>
+</li>
+<li>
+<p>
+The substituted template replaces the macro reference in the output
+ document.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X98">22. HTML 5 audio and video block macros</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The <em>html5</em> backend <em>audio</em> and <em>video</em> block macros generate the HTML
+5 <em>audio</em> and <em>video</em> elements respectively. They follow the usual
+AsciiDoc block macro syntax <code>&lt;name&gt;::&lt;target&gt;[&lt;attrlist&gt;]</code> where:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+<code>&lt;name&gt;</code>
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+<em>audio</em> or <em>video</em>.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<code>&lt;target&gt;</code>
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The URL or file name of the video or audio file.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<code>&lt;attrlist&gt;</code>
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+A list of named attributes (see below).
+</p>
+</td>
+</tr>
+</table></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 4. Audio macro attributes</caption>
+<col width="16%" />
+<col width="83%" />
+<thead>
+<tr>
+<th align="left" valign="top">Name </th>
+<th align="left" valign="top"> Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">options</p></td>
+<td align="left" valign="top"><p class="table">A comma separated list of one or more of the following items:
+<em>autoplay</em>, <em>loop</em> which correspond to the same-named HTML 5 <em>audio</em>
+element boolean attributes. By default the player <em>controls</em> are
+enabled, include the <em>nocontrols</em> option value to hide them.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 5. Video macro attributes</caption>
+<col width="16%" />
+<col width="83%" />
+<thead>
+<tr>
+<th align="left" valign="top">Name </th>
+<th align="left" valign="top"> Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">height</p></td>
+<td align="left" valign="top"><p class="table">The height of the player in pixels.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">width</p></td>
+<td align="left" valign="top"><p class="table">The width of the player in pixels.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">poster</p></td>
+<td align="left" valign="top"><p class="table">The URL or file name of an image representing the video.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">options</p></td>
+<td align="left" valign="top"><p class="table">A comma separated list of one or more of the following items:
+<em>autoplay</em>, <em>loop</em> and <em>nocontrols</em>. The <em>autoplay</em> and <em>loop</em> options
+correspond to the same-named HTML 5 <em>video</em> element boolean
+attributes. By default the player <em>controls</em> are enabled, include the
+<em>nocontrols</em> option value to hide them.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="paragraph"><p>Examples:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>audio::images/example.ogg[]
+
+video::gizmo.ogv[width=200,options="nocontrols,autoplay"]
+
+.Example video
+video::gizmo.ogv[]
+
+video::http://www.808.dk/pics/video/gizmo.ogv[]</code></pre>
+</div></div>
+<div class="paragraph"><p>If your needs are more complex put raw HTML 5 in a markup block, for
+example (from <a href="http://www.808.dk/?code-html-5-video">http://www.808.dk/?code-html-5-video</a>):</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>++++
+&lt;video poster="pics/video/gizmo.jpg" id="video" style="cursor: pointer;" &gt;
+ &lt;source src="pics/video/gizmo.mp4" /&gt;
+ &lt;source src="pics/video/gizmo.webm" type="video/webm" /&gt;
+ &lt;source src="pics/video/gizmo.ogv" type="video/ogg" /&gt;
+ Video not playing? &lt;a href="pics/video/gizmo.mp4"&gt;Download file&lt;/a&gt; instead.
+&lt;/video&gt;
+
+&lt;script type="text/javascript"&gt;
+ var video = document.getElementById('video');
+ video.addEventListener('click',function(){
+ video.play();
+ },false);
+&lt;/script&gt;
+++++</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_tables">23. Tables</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The AsciiDoc table syntax looks and behaves like other delimited block
+types and supports standard <a href="#X73">block configuration entries</a>.
+Formatting is easy to read and, just as importantly, easy to enter.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Cells and columns can be formatted using built-in customizable styles.
+</p>
+</li>
+<li>
+<p>
+Horizontal and vertical cell alignment can be set on columns and
+ cell.
+</p>
+</li>
+<li>
+<p>
+Horizontal and vertical cell spanning is supported.
+</p>
+</li>
+</ul></div>
+<div class="sidebarblock">
+<div class="content">
+<div class="title">Use tables sparingly</div>
+<div class="paragraph"><p>When technical users first start creating documents, tables (complete
+with column spanning and table nesting) are often considered very
+important. The reality is that tables are seldom used, even in
+technical documentation.</p></div>
+<div class="paragraph"><p>Try this exercise: thumb through your library of technical books,
+you&#8217;ll be surprised just how seldom tables are actually used, even
+less seldom are tables containing block elements (such as paragraphs
+or lists) or spanned cells. This is no accident, like figures, tables
+are outside the normal document flow&#8201;&#8212;&#8201;tables are for consulting not
+for reading.</p></div>
+<div class="paragraph"><p>Tables are designed for, and should normally only be used for,
+displaying column oriented tabular data.</p></div>
+</div></div>
+<div class="sect2">
+<h3 id="_example_tables">23.1. Example tables</h3>
+<div class="tableblock">
+<table rules="all"
+width="15%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 6. Simple table</caption>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">1</p></td>
+<td align="left" valign="top"><p class="table">2</p></td>
+<td align="left" valign="top"><p class="table">A</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">3</p></td>
+<td align="left" valign="top"><p class="table">4</p></td>
+<td align="left" valign="top"><p class="table">B</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">5</p></td>
+<td align="left" valign="top"><p class="table">6</p></td>
+<td align="left" valign="top"><p class="table">C</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>[width="15%"]
+|=======
+|1 |2 |A
+|3 |4 |B
+|5 |6 |C
+|=======</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+width="50%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 7. Columns formatted with strong, monospaced and emphasis styles</caption>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+<thead>
+<tr>
+<th align="right" valign="top"> </th>
+<th colspan="2" align="center" valign="top">Columns 2 and 3</th>
+</tr>
+</thead>
+<tfoot>
+<tr>
+<td align="right" valign="top"><p class="table"><strong>footer 1</strong></p></td>
+<td align="center" valign="top"><p class="table"><code>footer 2</code></p></td>
+<td align="left" valign="top"><p class="table"><em>footer 3</em></p></td>
+</tr>
+</tfoot>
+<tbody>
+<tr>
+<td align="right" valign="top"><p class="table"><strong>1</strong></p></td>
+<td align="center" valign="top"><p class="table"><code>Item 1</code></p></td>
+<td align="left" valign="top"><p class="table"><em>Item 1</em></p></td>
+</tr>
+<tr>
+<td align="right" valign="top"><p class="table"><strong>2</strong></p></td>
+<td align="center" valign="top"><p class="table"><code>Item 2</code></p></td>
+<td align="left" valign="top"><p class="table"><em>Item 2</em></p></td>
+</tr>
+<tr>
+<td align="right" valign="top"><p class="table"><strong>3</strong></p></td>
+<td align="center" valign="top"><p class="table"><code>Item 3</code></p></td>
+<td align="left" valign="top"><p class="table"><em>Item 3</em></p></td>
+</tr>
+<tr>
+<td align="right" valign="top"><p class="table"><strong>4</strong></p></td>
+<td align="center" valign="top"><p class="table"><code>Item 4</code></p></td>
+<td align="left" valign="top"><p class="table"><em>Item 4</em></p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>.An example table
+[width="50%",cols="&gt;s,^m,e",frame="topbot",options="header,footer"]
+|==========================
+| 2+|Columns 2 and 3
+|1 |Item 1 |Item 1
+|2 |Item 2 |Item 2
+|3 |Item 3 |Item 3
+|4 |Item 4 |Item 4
+|footer 1|footer 2|footer 3
+|==========================</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+width="80%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 8. Horizontal and vertical source data</caption>
+<col width="17%" />
+<col width="11%" />
+<col width="11%" />
+<col width="58%" />
+<thead>
+<tr>
+<th align="left" valign="top">Date </th>
+<th align="center" valign="top">Duration </th>
+<th align="center" valign="top">Avg HR </th>
+<th align="left" valign="top">Notes</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">22-Aug-08</p></td>
+<td align="center" valign="top"><p class="table">10:24</p></td>
+<td align="center" valign="top"><p class="table">157</p></td>
+<td align="left" valign="top"><p class="table">Worked out MSHR (max sustainable heart rate) by going hard
+for this interval.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">22-Aug-08</p></td>
+<td align="center" valign="top"><p class="table">23:03</p></td>
+<td align="center" valign="top"><p class="table">152</p></td>
+<td align="left" valign="top"><p class="table">Back-to-back with previous interval.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">24-Aug-08</p></td>
+<td align="center" valign="top"><p class="table">40:00</p></td>
+<td align="center" valign="top"><p class="table">145</p></td>
+<td align="left" valign="top"><p class="table">Moderately hard interspersed with 3x 3min intervals (2min
+hard + 1min really hard taking the HR up to 160).</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="paragraph"><p>Short cells can be entered horizontally, longer cells vertically. The
+default behavior is to strip leading and trailing blank lines within a
+cell. These characteristics aid readability and data entry.</p></div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>.Windtrainer workouts
+[width="80%",cols="3,^2,^2,10",options="header"]
+|=========================================================
+|Date |Duration |Avg HR |Notes
+
+|22-Aug-08 |10:24 | 157 |
+Worked out MSHR (max sustainable heart rate) by going hard
+for this interval.
+
+|22-Aug-08 |23:03 | 152 |
+Back-to-back with previous interval.
+
+|24-Aug-08 |40:00 | 145 |
+Moderately hard interspersed with 3x 3min intervals (2min
+hard + 1min really hard taking the HR up to 160).
+
+|=========================================================</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 9. A table with externally sourced CSV data</caption>
+<col width="11%" />
+<col width="22%" />
+<col width="22%" />
+<col width="22%" />
+<col width="22%" />
+<thead>
+<tr>
+<th align="center" valign="top">ID</th>
+<th align="left" valign="top">Customer Name</th>
+<th align="left" valign="top">Contact Name</th>
+<th align="left" valign="top">Customer Address</th>
+<th align="left" valign="top">Phone</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="center" valign="top"><p class="table">AROUT</p></td>
+<td align="left" valign="top"><p class="table">Around the Horn</p></td>
+<td align="left" valign="top"><p class="table">Thomas Hardy</p></td>
+<td align="left" valign="top"><p class="table">120 Hanover Sq.
+London</p></td>
+<td align="left" valign="top"><p class="table">(171) 555-7788</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BERGS</p></td>
+<td align="left" valign="top"><p class="table">Berglunds snabbkop</p></td>
+<td align="left" valign="top"><p class="table">Christina Berglund</p></td>
+<td align="left" valign="top"><p class="table">Berguvsvagen 8
+Lulea</p></td>
+<td align="left" valign="top"><p class="table">0921-12 34 65</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BLAUS</p></td>
+<td align="left" valign="top"><p class="table">Blauer See Delikatessen</p></td>
+<td align="left" valign="top"><p class="table">Hanna Moos</p></td>
+<td align="left" valign="top"><p class="table">Forsterstr. 57
+Mannheim</p></td>
+<td align="left" valign="top"><p class="table">0621-08460</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BLONP</p></td>
+<td align="left" valign="top"><p class="table">Blondel pere et fils</p></td>
+<td align="left" valign="top"><p class="table">Frederique Citeaux</p></td>
+<td align="left" valign="top"><p class="table">24, place Kleber
+Strasbourg</p></td>
+<td align="left" valign="top"><p class="table">88.60.15.31</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BOLID</p></td>
+<td align="left" valign="top"><p class="table">Bolido Comidas preparadas</p></td>
+<td align="left" valign="top"><p class="table">Martin Sommer</p></td>
+<td align="left" valign="top"><p class="table">C/ Araquil, 67
+Madrid</p></td>
+<td align="left" valign="top"><p class="table">(91) 555 22 82</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BONAP</p></td>
+<td align="left" valign="top"><p class="table">Bon app'</p></td>
+<td align="left" valign="top"><p class="table">Laurence Lebihan</p></td>
+<td align="left" valign="top"><p class="table">12, rue des Bouchers
+Marseille</p></td>
+<td align="left" valign="top"><p class="table">91.24.45.40</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BOTTM</p></td>
+<td align="left" valign="top"><p class="table">Bottom-Dollar Markets</p></td>
+<td align="left" valign="top"><p class="table">Elizabeth Lincoln</p></td>
+<td align="left" valign="top"><p class="table">23 Tsawassen Blvd.
+Tsawassen</p></td>
+<td align="left" valign="top"><p class="table">(604) 555-4729</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">BSBEV</p></td>
+<td align="left" valign="top"><p class="table">B&#8217;s Beverages</p></td>
+<td align="left" valign="top"><p class="table">Victoria Ashworth</p></td>
+<td align="left" valign="top"><p class="table">Fauntleroy Circus
+London</p></td>
+<td align="left" valign="top"><p class="table">(171) 555-1212</p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table">CACTU</p></td>
+<td align="left" valign="top"><p class="table">Cactus Comidas para llevar</p></td>
+<td align="left" valign="top"><p class="table">Patricio Simpson</p></td>
+<td align="left" valign="top"><p class="table">Cerrito 333
+Buenos Aires</p></td>
+<td align="left" valign="top"><p class="table">(1) 135-5555</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>[format="csv",cols="^1,4*2",options="header"]
+|===================================================
+ID,Customer Name,Contact Name,Customer Address,Phone
+include::customers.csv[]
+|===================================================</code></pre>
+</div></div>
+<div class="tableblock">
+<table rules="all"
+width="25%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 10. Cell spans, alignments and styles</caption>
+<col width="25%" />
+<col width="25%" />
+<col width="25%" />
+<col width="25%" />
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><em>1</em></p></td>
+<td align="right" valign="top"><p class="table"><strong>2</strong></p></td>
+<td align="center" valign="top"><p class="table">3</p></td>
+<td align="right" valign="top"><p class="table"><strong>4</strong></p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table"><em>5</em></p></td>
+<td colspan="2" rowspan="2" align="center" valign="middle"><p class="table"><code>6</code></p></td>
+<td rowspan="3" align="left" valign="bottom"><p class="table"><code>7</code></p></td>
+</tr>
+<tr>
+<td align="center" valign="top"><p class="table"><em>8</em></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>9</em></p></td>
+<td colspan="2" align="right" valign="top"><p class="table"><code>10</code></p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">AsciiDoc source</div>
+<div class="content">
+<pre><code>[cols="e,m,^,&gt;s",width="25%"]
+|============================
+|1 &gt;s|2 |3 |4
+^|5 2.2+^.^|6 .3+&lt;.&gt;m|7
+^|8
+|9 2+&gt;|10
+|============================</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X68">23.2. Table input data formats</h3>
+<div class="paragraph"><p>AsciiDoc table data can be <em>psv</em>, <em>dsv</em> or <em>csv</em> formatted. The
+default table format is <em>psv</em>.</p></div>
+<div class="paragraph"><p>AsciiDoc <em>psv</em> (<em>Prefix Separated Values</em>) and <em>dsv</em> (<em>Delimiter
+Separated Values</em>) formats are cell oriented&#8201;&#8212;&#8201;the table is treated
+as a sequence of cells&#8201;&#8212;&#8201;there are no explicit row separators.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<em>psv</em> prefixes each cell with a separator whereas <em>dsv</em> delimits
+ cells with a separator.
+</p>
+</li>
+<li>
+<p>
+<em>psv</em> and <em>dsv</em> separators are Python regular expressions.
+</p>
+</li>
+<li>
+<p>
+The default <em>psv</em> separator contains <a href="#X84">cell specifier</a> related
+ named regular expression groups.
+</p>
+</li>
+<li>
+<p>
+The default <em>dsv</em> separator is <code>:|\n</code> (a colon or a new line
+ character).
+</p>
+</li>
+<li>
+<p>
+<em>psv</em> and <em>dsv</em> cell separators can be escaped by preceding them
+ with a backslash character.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Here are four <em>psv</em> cells (the second item spans two columns; the
+last contains an escaped separator):</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>|One 2+|Two and three |A \| separator character</code></pre>
+</div></div>
+<div class="paragraph"><p><em>csv</em> is the quasi-standard row oriented <em>Comma Separated Values
+(CSV)</em> format commonly used to import and export spreadsheet and
+database data.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X69">23.3. Table attributes</h3>
+<div class="paragraph"><p>Tables can be customized by the following attributes:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+format
+</dt>
+<dd>
+<p>
+<em>psv</em> (default), <em>dsv</em> or <em>csv</em> (See <a href="#X68">Table Data Formats</a>).
+</p>
+</dd>
+<dt class="hdlist1">
+separator
+</dt>
+<dd>
+<p>
+The cell separator. A Python regular expression (<em>psv</em> and <em>dsv</em>
+formats) or a single character (<em>csv</em> format).
+</p>
+</dd>
+<dt class="hdlist1">
+frame
+</dt>
+<dd>
+<p>
+Defines the table border and can take the following values: <em>topbot</em>
+(top and bottom), <em>all</em> (all sides), <em>none</em> and <em>sides</em> (left and
+right sides). The default value is <em>all</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+grid
+</dt>
+<dd>
+<p>
+Defines which ruler lines are drawn between table rows and columns.
+The <em>grid</em> attribute value can be any of the following values: <em>none</em>,
+<em>cols</em>, <em>rows</em> and <em>all</em>. The default value is <em>all</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+align
+</dt>
+<dd>
+<p>
+Use the <em>align</em> attribute to horizontally align the table on the
+page (works with HTML outputs only, has no effect on DocBook outputs).
+The following values are valid: <em>left</em>, <em>right</em>, and <em>center</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+float
+</dt>
+<dd>
+<p>
+Use the <em>float</em> attribute to float the table <em>left</em> or <em>right</em> on the
+page (works with HTML outputs only, has no effect on DocBook outputs).
+Floating only makes sense in conjunction with a table <em>width</em>
+attribute value of less than 100% (otherwise the table will take up
+all the available space). <em>float</em> and <em>align</em> attributes are mutually
+exclusive. Use the <code>unfloat::[]</code> block macro to stop floating.
+</p>
+</dd>
+<dt class="hdlist1">
+halign
+</dt>
+<dd>
+<p>
+Use the <em>halign</em> attribute to horizontally align all cells in a table.
+The following values are valid: <em>left</em>, <em>right</em>, and <em>center</em>
+(defaults to <em>left</em>). Overridden by <a href="#X70">Column specifiers</a> and
+<a href="#X84">Cell specifiers</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+valign
+</dt>
+<dd>
+<p>
+Use the <em>valign</em> attribute to vertically align all cells in a table.
+The following values are valid: <em>top</em>, <em>bottom</em>, and <em>middle</em>
+(defaults to <em>top</em>). Overridden by <a href="#X70">Column specifiers</a> and
+<a href="#X84">Cell specifiers</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+options
+</dt>
+<dd>
+<p>
+The <em>options</em> attribute can contain comma separated values, for
+example: <em>header</em>, <em>footer</em>. By default header and footer rows are
+omitted. See <a href="#X74">attribute options</a> for a complete list of
+available table options.
+</p>
+</dd>
+<dt class="hdlist1">
+cols
+</dt>
+<dd>
+<p>
+The <em>cols</em> attribute is a comma separated list of <a href="#X70">column specifiers</a>. For example <code>cols="2&lt;p,2*,4p,&gt;"</code>.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+If <em>cols</em> is present it must specify all columns.
+</p>
+</li>
+<li>
+<p>
+If the <em>cols</em> attribute is not specified the number of columns is
+ calculated as the number of data items in the <strong>first line</strong> of the
+ table.
+</p>
+</li>
+<li>
+<p>
+The degenerate form for the <em>cols</em> attribute is an integer
+ specifying the number of columns e.g. <code>cols=4</code>.
+</p>
+</li>
+</ul></div>
+</dd>
+<dt class="hdlist1">
+width
+</dt>
+<dd>
+<p>
+The <em>width</em> attribute is expressed as a percentage value
+(<em>"1%"</em>&#8230;<em>"99%"</em>). The width specifies the table width relative to
+the available width. HTML backends use this value to set the table
+width attribute. It&#8217;s a bit more complicated with DocBook, see the
+<a href="#X89">DocBook table widths</a> sidebar.
+</p>
+</dd>
+<dt class="hdlist1">
+filter
+</dt>
+<dd>
+<p>
+The <em>filter</em> attribute defines an external shell command that is
+invoked for each cell. The built-in <em>asciidoc</em> table style is
+implemented using a filter.
+</p>
+</dd>
+</dl></div>
+<div class="sidebarblock" id="X89">
+<div class="content">
+<div class="title">DocBook table widths</div>
+<div class="paragraph"><p>The AsciiDoc docbook backend generates CALS tables. CALS tables do not
+support a table width attribute&#8201;&#8212;&#8201;table width can only be controlled
+by specifying absolute column widths.</p></div>
+<div class="paragraph"><p>Specifying absolute column widths is not media independent because
+different presentation media have different physical dimensions. To
+get round this limitation both
+<a href="http://www.sagehill.net/docbookxsl/Tables.html#TableWidth">DocBook XSL
+Stylesheets</a> and
+<a href="http://dblatex.sourceforge.net/doc/manual/ch03s05.html#sec-table-width">dblatex</a>
+have implemented table width processing instructions for setting the
+table width as a percentage of the available width. AsciiDoc emits
+these processing instructions if the <em>width</em> attribute is set along
+with proportional column widths (the AsciiDoc docbook backend
+<em>pageunits</em> attribute defaults to <em>*</em>).</p></div>
+<div class="paragraph"><p>To generate DocBook tables with absolute column widths set the
+<em>pageunits</em> attribute to a CALS absolute unit such as <em>pt</em> and set the
+<em>pagewidth</em> attribute to match the width of the presentation media.</p></div>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X70">23.4. Column Specifiers</h3>
+<div class="paragraph"><p>Column specifiers define how columns are rendered and appear in the
+table <a href="#X69">cols attribute</a>. A column specifier consists of an
+optional column multiplier followed by optional alignment, width and
+style values and is formatted like:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[&lt;multiplier&gt;*][&lt;align&gt;][&lt;width&gt;][&lt;style&gt;]</code></pre>
+</div></div>
+<div class="ulist"><ul>
+<li>
+<p>
+All components are optional. The multiplier must be first and the
+ style last. The order of <code>&lt;align&gt;</code> or <code>&lt;width&gt;</code> is not important.
+</p>
+</li>
+<li>
+<p>
+Column <code>&lt;width&gt;</code> can be either an integer proportional value (1&#8230;)
+ or a percentage (1%&#8230;100%). The default value is 1. To ensure
+ portability across different backends, there is no provision for
+ absolute column widths (not to be confused with output column width
+ <a href="#X72">markup attributes</a> which are available in both percentage and
+ absolute units).
+</p>
+</li>
+<li>
+<p>
+The <em>&lt;align&gt;</em> column alignment specifier is formatted like:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>[&lt;horizontal&gt;][.&lt;vertical&gt;]</code></pre>
+</div></div>
+<div class="paragraph"><p>Where <code>&lt;horizontal&gt;</code> and <code>&lt;vertical&gt;</code> are one of the following
+characters: <code>&lt;</code>, <code>^</code> or <code>&gt;</code> which represent <em>left</em>, <em>center</em> and
+<em>right</em> horizontal alignment or <em>top</em>, <em>middle</em> and <em>bottom</em> vertical
+alignment respectively.</p></div>
+</li>
+<li>
+<p>
+A <code>&lt;multiplier&gt;</code> can be used to specify repeated columns e.g.
+ <code>cols="4*&lt;"</code> specifies four left-justified columns. The default
+ multiplier value is 1.
+</p>
+</li>
+<li>
+<p>
+The <code>&lt;style&gt;</code> name specifies a <a href="#X71">table style</a> to used to markup
+ column cells (you can use the full style names if you wish but the
+ first letter is normally sufficient).
+</p>
+</li>
+<li>
+<p>
+Column specific styles are not applied to header rows.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="X84">23.5. Cell Specifiers</h3>
+<div class="paragraph"><p>Cell specifiers allow individual cells in <em>psv</em> formatted tables to be
+spanned, multiplied, aligned and styled. Cell specifiers prefix <em>psv</em>
+<code>|</code> delimiters and are formatted like:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[&lt;span&gt;*|+][&lt;align&gt;][&lt;style&gt;]</code></pre>
+</div></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<em>&lt;span&gt;</em> specifies horizontal and vertical cell spans (<em>+</em> operator) or
+ the number of times the cell is replicated (<em>*</em> operator). <em>&lt;span&gt;</em>
+ is formatted like:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>[&lt;colspan&gt;][.&lt;rowspan&gt;]</code></pre>
+</div></div>
+<div class="paragraph"><p>Where <code>&lt;colspan&gt;</code> and <code>&lt;rowspan&gt;</code> are integers specifying the number of
+columns and rows to span.</p></div>
+</li>
+<li>
+<p>
+<code>&lt;align&gt;</code> specifies horizontal and vertical cell alignment an is the
+ same as in <a href="#X70">column specifiers</a>.
+</p>
+</li>
+<li>
+<p>
+A <code>&lt;style&gt;</code> value is the first letter of <a href="#X71">table style</a> name.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>For example, the following <em>psv</em> formatted cell will span two columns
+and the text will be centered and emphasized:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>`2+^e| Cell text`</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="X71">23.6. Table styles</h3>
+<div class="paragraph"><p>Table styles can be applied to the entire table (by setting the
+<em>style</em> attribute in the table&#8217;s attribute list) or on a per column
+basis (by specifying the style in the table&#8217;s <a href="#X69">cols attribute</a>).
+Table data can be formatted using the following predefined styles:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+default
+</dt>
+<dd>
+<p>
+The default style: AsciiDoc inline text formatting; blank lines are
+treated as paragraph breaks.
+</p>
+</dd>
+<dt class="hdlist1">
+emphasis
+</dt>
+<dd>
+<p>
+Like default but all text is emphasised.
+</p>
+</dd>
+<dt class="hdlist1">
+monospaced
+</dt>
+<dd>
+<p>
+Like default but all text is in a monospaced font.
+</p>
+</dd>
+<dt class="hdlist1">
+strong
+</dt>
+<dd>
+<p>
+Like default but all text is bold.
+</p>
+</dd>
+<dt class="hdlist1">
+header
+</dt>
+<dd>
+<p>
+Apply the same style as the table header. Normally used to create a
+vertical header in the first column.
+</p>
+</dd>
+<dt class="hdlist1">
+asciidoc
+</dt>
+<dd>
+<p>
+With this style table cells can contain any of the AsciiDoc elements
+that are allowed inside document sections. This style runs <code>asciidoc(1)</code>
+as a filter to process cell contents. See also <a href="#X83">Docbook table limitations</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+literal
+</dt>
+<dd>
+<p>
+No text formatting; monospaced font; all line breaks are retained
+(the same as the AsciiDoc <a href="#X65">LiteralBlock</a> element).
+</p>
+</dd>
+<dt class="hdlist1">
+verse
+</dt>
+<dd>
+<p>
+All line breaks are retained (just like the AsciiDoc <a href="#X94">verse paragraph style</a>).
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="X72">23.7. Markup attributes</h3>
+<div class="paragraph"><p>AsciiDoc makes a number of attributes available to table markup
+templates and tags. Column specific attributes are available when
+substituting the <em>colspec</em> cell data tags.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+pageunits
+</dt>
+<dd>
+<p>
+DocBook backend only. Specifies table column absolute width units.
+Defaults to <em>*</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+pagewidth
+</dt>
+<dd>
+<p>
+DocBook backend only. The nominal output page width in <em>pageunit</em>
+units. Used to calculate CALS tables absolute column and table
+widths. Defaults to <em>425</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+tableabswidth
+</dt>
+<dd>
+<p>
+Integer value calculated from <em>width</em> and <em>pagewidth</em> attributes.
+In <em>pageunit</em> units.
+</p>
+</dd>
+<dt class="hdlist1">
+tablepcwidth
+</dt>
+<dd>
+<p>
+Table width expressed as a percentage of the available width. Integer
+value (0..100).
+</p>
+</dd>
+<dt class="hdlist1">
+colabswidth
+</dt>
+<dd>
+<p>
+Integer value calculated from <em>cols</em> column width, <em>width</em> and
+<em>pagewidth</em> attributes. In <em>pageunit</em> units.
+</p>
+</dd>
+<dt class="hdlist1">
+colpcwidth
+</dt>
+<dd>
+<p>
+Column width expressed as a percentage of the table width. Integer
+value (0..100).
+</p>
+</dd>
+<dt class="hdlist1">
+colcount
+</dt>
+<dd>
+<p>
+Total number of table columns.
+</p>
+</dd>
+<dt class="hdlist1">
+rowcount
+</dt>
+<dd>
+<p>
+Total number of table rows.
+</p>
+</dd>
+<dt class="hdlist1">
+halign
+</dt>
+<dd>
+<p>
+Horizontal cell content alignment: <em>left</em>, <em>right</em> or <em>center</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+valign
+</dt>
+<dd>
+<p>
+Vertical cell content alignment: <em>top</em>, <em>bottom</em> or <em>middle</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+colnumber, colstart
+</dt>
+<dd>
+<p>
+The number of the leftmost column occupied by the cell (1&#8230;).
+</p>
+</dd>
+<dt class="hdlist1">
+colend
+</dt>
+<dd>
+<p>
+The number of the rightmost column occupied by the cell (1&#8230;).
+</p>
+</dd>
+<dt class="hdlist1">
+colspan
+</dt>
+<dd>
+<p>
+Number of columns the cell should span.
+</p>
+</dd>
+<dt class="hdlist1">
+rowspan
+</dt>
+<dd>
+<p>
+Number of rows the cell should span (1&#8230;).
+</p>
+</dd>
+<dt class="hdlist1">
+morerows
+</dt>
+<dd>
+<p>
+Number of additional rows the cell should span (0&#8230;).
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_nested_tables">23.8. Nested tables</h3>
+<div class="paragraph"><p>An alternative <em>psv</em> separator character <em>!</em> can be used (instead of
+<em>|</em>) in nested tables. This allows a single level of table nesting.
+Columns containing nested tables must use the <em>asciidoc</em> style. An
+example can be found in <code>./examples/website/newtables.txt</code>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X83">23.9. DocBook table limitations</h3>
+<div class="paragraph"><p>Fully implementing tables is not trivial, some DocBook toolchains do
+better than others. AsciiDoc HTML table outputs are rendered
+correctly in all the popular browsers&#8201;&#8212;&#8201;if your DocBook generated
+tables don&#8217;t look right compare them with the output generated by the
+AsciiDoc <em>xhtml11</em> backend or try a different DocBook toolchain. Here
+is a list of things to be aware of:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Although nested tables are not legal in DocBook 4 the FOP and
+ dblatex toolchains will process them correctly. If you use <code>a2x(1)</code>
+ you will need to include the <code>--no-xmllint</code> option to suppress
+ DocBook validation errors.
+</p>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">In theory you can nest DocBook 4 tables one level using the
+<em>entrytbl</em> element, but not all toolchains process <em>entrytbl</em>.</td>
+</tr></table>
+</div>
+</li>
+<li>
+<p>
+DocBook only allows a subset of block elements inside table cells so
+ not all AsciiDoc elements produce valid DocBook inside table cells.
+ If you get validation errors running <code>a2x(1)</code> try the <code>--no-xmllint</code>
+ option, toolchains will often process nested block elements such as
+ sidebar blocks and floating titles correctly even though, strictly
+ speaking, they are not legal.
+</p>
+</li>
+<li>
+<p>
+Text formatting in cells using the <em>monospaced</em> table style will
+ raise validation errors because the DocBook <em>literal</em> element was
+ not designed to support formatted text (using the <em>literal</em> element
+ is a kludge on the part of AsciiDoc as there is no easy way to set
+ the font style in DocBook.
+</p>
+</li>
+<li>
+<p>
+Cell alignments are ignored for <em>verse</em>, <em>literal</em> or <em>asciidoc</em>
+ table styles.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X1">24. Manpage Documents</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Sooner or later, if you program in a UNIX environment, you&#8217;re going
+to have to write a man page.</p></div>
+<div class="paragraph"><p>By observing a couple of additional conventions (detailed below) you
+can write AsciiDoc files that will generate HTML and PDF man pages
+plus the native manpage roff format. The easiest way to generate roff
+manpages from AsciiDoc source is to use the <code>a2x(1)</code> command. The
+following example generates a roff formatted manpage file called
+<code>asciidoc.1</code> (<code>a2x(1)</code> uses <code>asciidoc(1)</code> to convert <code>asciidoc.1.txt</code> to
+DocBook which it then converts to roff using DocBook XSL Stylesheets):</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>a2x --doctype manpage --format manpage asciidoc.1.txt</code></pre>
+</div></div>
+<div class="sidebarblock">
+<div class="content">
+<div class="title">Viewing and printing manpage files</div>
+<div class="paragraph"><p>Use the <code>man(1)</code> command to view the manpage file:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ man -l asciidoc.1</code></pre>
+</div></div>
+<div class="paragraph"><p>To print a high quality man page to a postscript printer:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ man -l -Tps asciidoc.1 | lpr</code></pre>
+</div></div>
+<div class="paragraph"><p>You could also create a PDF version of the man page by converting
+PostScript to PDF using <code>ps2pdf(1)</code>:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ man -l -Tps asciidoc.1 | ps2pdf - asciidoc.1.pdf</code></pre>
+</div></div>
+<div class="paragraph"><p>The <code>ps2pdf(1)</code> command is included in the Ghostscript distribution.</p></div>
+</div></div>
+<div class="paragraph"><p>To find out more about man pages view the <code>man(7)</code> manpage
+(<code>man 7 man</code> and <code>man man-pages</code> commands).</p></div>
+<div class="sect2">
+<h3 id="_document_header">24.1. Document Header</h3>
+<div class="paragraph"><p>A manpage document Header is mandatory. The title line contains the
+man page name followed immediately by the manual section number in
+brackets, for example <em>ASCIIDOC(1)</em>. The title name should not contain
+white space and the manual section number is a single digit optionally
+followed by a single character.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_the_name_section">24.2. The NAME Section</h3>
+<div class="paragraph"><p>The first manpage section is mandatory, must be titled <em>NAME</em> and must
+contain a single paragraph (usually a single line) consisting of a
+list of one or more comma separated command name(s) separated from the
+command purpose by a dash character. The dash must have at least one
+white space character on either side. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>printf, fprintf, sprintf - print formatted output</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_the_synopsis_section">24.3. The SYNOPSIS Section</h3>
+<div class="paragraph"><p>The second manpage section is mandatory and must be titled <em>SYNOPSIS</em>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_refmiscinfo_attributes">24.4. refmiscinfo attributes</h3>
+<div class="paragraph"><p>In addition to the automatically created man page <a href="#X60">intrinsic attributes</a> you can assign DocBook
+<a href="http://www.docbook.org/tdg5/en/html/refmiscinfo.html">refmiscinfo</a>
+element <em>source</em>, <em>version</em> and <em>manual</em> values using AsciiDoc
+<code>{mansource}</code>, <code>{manversion}</code> and <code>{manmanual}</code> attributes
+respectively. This example is from the AsciiDoc header of a man page
+source file:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>:man source: AsciiDoc
+:man version: {revnumber}
+:man manual: AsciiDoc Manual</code></pre>
+</div></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X78">25. Mathematical Formulas</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The <em>asciimath</em> and <em>latexmath</em> <a href="#X76">passthrough blocks</a> along with
+the <em>asciimath</em> and <em>latexmath</em> <a href="#X77">passthrough macros</a> provide a
+(backend dependent) mechanism for rendering mathematical formulas. You
+can use the following math markups:</p></div>
+<div class="sect2">
+<h3 id="_latex_math">25.1. LaTeX Math</h3>
+<div class="paragraph"><p><a href="ftp://ftp.ams.org/pub/tex/doc/amsmath/short-math-guide.pdf">LaTeX
+math</a> can be included in documents that are processed by
+<a href="#X31">dblatex(1)</a>. Example inline formula:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>latexmath:[$C = \alpha + \beta Y^{\gamma} + \epsilon$]</code></pre>
+</div></div>
+<div class="paragraph"><p>For more examples see the <a href="https://asciidoc.org/">AsciiDoc website</a> or the
+distributed <code>doc/latexmath.txt</code> file.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_mathjax">25.2. MathJax</h3>
+<div class="paragraph"><p><a href="http://www.mathjax.org/">MathJax</a> allows LaTeX Math style formulas to be included
+in XHTML documents generated via the AsciiDoc <em>xhtml11</em> and <em>html5</em> backends.
+This route overcomes several restrictions of the MathML-based approaches,
+notably, restricted support of MathML by many mainstream browsers. To enable
+<em>MathJax</em> support you must define the <em>mathjax</em> attribute, for example using the
+<code>-a mathjax</code> command-line option. Equations are specified as explained above
+using the <em>latexmath</em> passthrough blocks. By default, rendering of equations
+with <em>MathJax</em> requires a working internet connection and will thus not work if
+you are offline (but it can be configured differently).</p></div>
+</div>
+<div class="sect2">
+<h3 id="_latexmathml">25.3. LaTeXMathML</h3>
+<div class="paragraph"><p><em>LaTeXMathML</em> allows LaTeX Math style formulas to be included in XHTML
+documents generated using the AsciiDoc <em>xhtml11</em> and <em>html5</em> backends.
+AsciiDoc uses the
+<a href="http://www.maths.nottingham.ac.uk/personal/drw/lm.html">original
+LaTeXMathML</a> by Douglas Woodall. <em>LaTeXMathML</em> is derived from
+ASCIIMathML and is for users who are more familiar with or prefer
+using LaTeX math formulas (it recognizes a subset of LaTeX Math, the
+differences are documented on the <em>LaTeXMathML</em> web page). To enable
+LaTeXMathML support you must define the <em>latexmath</em> attribute, for
+example using the <code>-a latexmath</code> command-line option. Example inline
+formula:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>latexmath:[$\sum_{n=1}^\infty \frac{1}{2^n}$]</code></pre>
+</div></div>
+<div class="paragraph"><p>For more examples see the <a href="https://asciidoc.org/">AsciiDoc website</a> or the
+distributed <code>doc/latexmathml.txt</code> file.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">The <em>latexmath</em> macro used to include <em>LaTeX Math</em> in DocBook
+outputs is not the same as the <em>latexmath</em> macro used to include
+<em>LaTeX MathML</em> in XHTML outputs. <em>LaTeX Math</em> applies to DocBook
+outputs that are processed by <a href="#X31">dblatex</a> and is normally used to
+generate PDF files. <em>LaTeXMathML</em> is very much a subset of <em>LaTeX
+Math</em> and applies to XHTML documents. This remark does not
+apply to <em>MathJax</em> which does not use any of the <em>latexmath</em> macros
+(but only requires the <em>latexmath</em> passthrough blocks for identification
+of the equations).</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_asciimathml">25.4. ASCIIMathML</h3>
+<div class="paragraph"><p><a href="http://www1.chapman.edu/~jipsen/mathml/asciimath.html">ASCIIMathML</a>
+formulas can be included in XHTML documents generated using the
+<em>xhtml11</em> and <em>html5</em> backends. To enable ASCIIMathML support you must
+define the <em>asciimath</em> attribute, for example using the <code>-a asciimath</code>
+command-line option. Example inline formula:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>asciimath:[`x/x={(1,if x!=0),(text{undefined},if x=0):}`]</code></pre>
+</div></div>
+<div class="paragraph"><p>For more examples see the <a href="https://asciidoc.org/">AsciiDoc website</a> or the
+distributed <code>doc/asciimathml.txt</code> file.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_mathml">25.5. MathML</h3>
+<div class="paragraph"><p><a href="http://www.w3.org/Math/">MathML</a> is a low level XML markup for
+mathematics. AsciiDoc has no macros for MathML but users familiar with
+this markup could use passthrough macros and passthrough blocks to
+include MathML in output documents.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X7">26. Configuration Files</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc source file syntax and output file markup is largely
+controlled by a set of cascading, text based, configuration files. At
+runtime The AsciiDoc default configuration files are combined with
+optional user and document specific configuration files.</p></div>
+<div class="sect2">
+<h3 id="_configuration_file_format">26.1. Configuration File Format</h3>
+<div class="paragraph"><p>Configuration files contain named sections. Each section begins with a
+section name in square brackets []. The section body consists of the
+lines of text between adjacent section headings.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Section names consist of one or more alphanumeric, underscore or
+ dash characters and cannot begin or end with a dash.
+</p>
+</li>
+<li>
+<p>
+Lines starting with a <em>#</em> character are treated as comments and
+ ignored.
+</p>
+</li>
+<li>
+<p>
+If the section name is prefixed with a <em>+</em> character then the
+ section contents is appended to the contents of an already existing
+ same-named section.
+</p>
+</li>
+<li>
+<p>
+Otherwise same-named sections and section entries override
+ previously loaded sections and section entries (this is sometimes
+ referred to as <em>cascading</em>). Consequently, downstream configuration
+ files need only contain those sections and section entries that need
+ to be overridden.
+</p>
+</li>
+</ul></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">When creating custom configuration files you only need to include
+the sections and entries that differ from the default configuration.</td>
+</tr></table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">The best way to learn about configuration files is to read the
+default configuration files in the AsciiDoc distribution in
+conjunction with <code>asciidoc(1)</code> output files. You can view configuration
+file load sequence by turning on the <code>asciidoc(1)</code> <code>-v</code> (<code>--verbose</code>)
+command-line option.</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>AsciiDoc reserves the following section names for specific purposes:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+miscellaneous
+</dt>
+<dd>
+<p>
+ Configuration options that don&#8217;t belong anywhere else.
+</p>
+</dd>
+<dt class="hdlist1">
+attributes
+</dt>
+<dd>
+<p>
+ Attribute name/value entries.
+</p>
+</dd>
+<dt class="hdlist1">
+specialcharacters
+</dt>
+<dd>
+<p>
+ Special characters reserved by the backend markup.
+</p>
+</dd>
+<dt class="hdlist1">
+tags
+</dt>
+<dd>
+<p>
+ Backend markup tags.
+</p>
+</dd>
+<dt class="hdlist1">
+quotes
+</dt>
+<dd>
+<p>
+ Definitions for quoted inline character formatting.
+</p>
+</dd>
+<dt class="hdlist1">
+specialwords
+</dt>
+<dd>
+<p>
+ Lists of words and phrases singled out for special markup.
+</p>
+</dd>
+<dt class="hdlist1">
+replacements, replacements2, replacements3
+</dt>
+<dd>
+<p>
+ Find and replace substitution definitions.
+</p>
+</dd>
+<dt class="hdlist1">
+specialsections
+</dt>
+<dd>
+<p>
+ Used to single out special section names for specific markup.
+</p>
+</dd>
+<dt class="hdlist1">
+macros
+</dt>
+<dd>
+<p>
+ Macro syntax definitions.
+</p>
+</dd>
+<dt class="hdlist1">
+titles
+</dt>
+<dd>
+<p>
+ Heading, section and block title definitions.
+</p>
+</dd>
+<dt class="hdlist1">
+paradef-*
+</dt>
+<dd>
+<p>
+ Paragraph element definitions.
+</p>
+</dd>
+<dt class="hdlist1">
+blockdef-*
+</dt>
+<dd>
+<p>
+ DelimitedBlock element definitions.
+</p>
+</dd>
+<dt class="hdlist1">
+listdef-*
+</dt>
+<dd>
+<p>
+ List element definitions.
+</p>
+</dd>
+<dt class="hdlist1">
+listtags-*
+</dt>
+<dd>
+<p>
+ List element tag definitions.
+</p>
+</dd>
+<dt class="hdlist1">
+tabledef-*
+</dt>
+<dd>
+<p>
+ Table element definitions.
+</p>
+</dd>
+<dt class="hdlist1">
+tabletags-*
+</dt>
+<dd>
+<p>
+ Table element tag definitions.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>Each line of text in these sections is a <em>section entry</em>. Section
+entries share the following syntax:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+name=value
+</dt>
+<dd>
+<p>
+ The entry value is set to value.
+</p>
+</dd>
+<dt class="hdlist1">
+name=
+</dt>
+<dd>
+<p>
+ The entry value is set to a zero length string.
+</p>
+</dd>
+<dt class="hdlist1">
+name!
+</dt>
+<dd>
+<p>
+ The entry is undefined (deleted from the configuration). This
+ syntax only applies to <em>attributes</em> and <em>miscellaneous</em>
+ sections.
+</p>
+</dd>
+</dl></div>
+<div class="ulist"><div class="title">Section entry behavior</div><ul>
+<li>
+<p>
+All equals characters inside the <code>name</code> must be escaped with a
+ backslash character.
+</p>
+</li>
+<li>
+<p>
+<code>name</code> and <code>value</code> are stripped of leading and trailing white space.
+</p>
+</li>
+<li>
+<p>
+Attribute names, tag entry names and markup template section names
+ consist of one or more alphanumeric, underscore or dash characters.
+ Names should not begin or end with a dash.
+</p>
+</li>
+<li>
+<p>
+A blank configuration file section (one without any entries) deletes
+ any preceding section with the same name (applies to non-markup
+ template sections).
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_miscellaneous_section">26.2. Miscellaneous section</h3>
+<div class="paragraph"><p>The optional <code>[miscellaneous]</code> section specifies the following
+<code>name=value</code> options:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+newline
+</dt>
+<dd>
+<p>
+ Output file line termination characters. Can include any
+ valid Python string escape sequences. The default value is
+ <code>\r\n</code> (carriage return, line feed). Should not be quoted or
+ contain explicit spaces (use <code>\x20</code> instead). For example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a 'newline=\n' -b docbook mydoc.txt</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+outfilesuffix
+</dt>
+<dd>
+<p>
+ The default extension for the output file, for example
+ <code>outfilesuffix=.html</code>. Defaults to backend name.
+</p>
+</dd>
+<dt class="hdlist1">
+tabsize
+</dt>
+<dd>
+<p>
+ The number of spaces to expand tab characters, for example
+ <code>tabsize=4</code>. Defaults to 8. A <em>tabsize</em> of zero suppresses tab
+ expansion (useful when piping included files through block
+ filters). Included files can override this option using the
+ <em>tabsize</em> attribute.
+</p>
+</dd>
+<dt class="hdlist1">
+pagewidth, pageunits
+</dt>
+<dd>
+<p>
+ These global table related options are documented in the
+ <a href="#X4">Table Configuration File Definitions</a> sub-section.
+</p>
+</dd>
+</dl></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content"><code>[miscellaneous]</code> configuration file entries can be set using
+the <code>asciidoc(1)</code> <code>-a</code> (<code>--attribute</code>) command-line option.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_titles_section">26.3. Titles section</h3>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+sectiontitle
+</dt>
+<dd>
+<p>
+ Two line section title pattern. The entry value is a Python
+ regular expression containing the named group <em>title</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+underlines
+</dt>
+<dd>
+<p>
+ A comma separated list of document and section title underline
+ character pairs starting with the section level 0 and ending
+ with section level 4 underline. The default setting is:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>underlines="==","--","~~","^^","++"</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+sect0&#8230;sect4
+</dt>
+<dd>
+<p>
+ One line section title patterns. The entry value is a Python
+ regular expression containing the named group <em>title</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+blocktitle
+</dt>
+<dd>
+<p>
+ <a href="#X42">BlockTitle element</a> pattern. The entry value is a
+ Python regular expression containing the named group <em>title</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+subs
+</dt>
+<dd>
+<p>
+ A comma separated list of substitutions that are performed on
+ the document header and section titles. Defaults to <em>normal</em>
+ substitution.
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_tags_section">26.4. Tags section</h3>
+<div class="paragraph"><p>The <code>[tags]</code> section contains backend tag definitions (one per
+line). Tags are used to translate AsciiDoc elements to backend
+markup.</p></div>
+<div class="paragraph"><p>An AsciiDoc tag definition is formatted like
+<code>&lt;tagname&gt;=&lt;starttag&gt;|&lt;endtag&gt;</code>. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>emphasis=&lt;em&gt;|&lt;/em&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>In this example <code>asciidoc(1)</code> replaces the | character with the
+emphasized text from the AsciiDoc input file and writes the result to
+the output file.</p></div>
+<div class="paragraph"><p>Use the <code>{brvbar}</code> attribute reference if you need to include a | pipe
+character inside tag text.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_attributes_section">26.5. Attributes section</h3>
+<div class="paragraph"><p>The optional <code>[attributes]</code> section contains predefined attributes.</p></div>
+<div class="paragraph"><p>If the attribute value requires leading or trailing spaces then the
+text text should be enclosed in quotation mark (") characters.</p></div>
+<div class="paragraph"><p>To delete a attribute insert a <code>name!</code> entry in a downstream
+configuration file or use the <code>asciidoc(1)</code> <code>--attribute name!</code>
+command-line option (an attribute name suffixed with a <code>!</code> character
+deletes the attribute)</p></div>
+</div>
+<div class="sect2">
+<h3 id="_special_characters_section">26.6. Special Characters section</h3>
+<div class="paragraph"><p>The <code>[specialcharacters]</code> section specifies how to escape characters
+reserved by the backend markup. Each translation is specified on a
+single line formatted like:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;special_character&gt;=&lt;translated_characters&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>Special characters are normally confined to those that resolve
+markup ambiguity (in the case of HTML and XML markups the ampersand,
+less than and greater than characters). The following example causes
+all occurrences of the <code>&lt;</code> character to be replaced by <code>&amp;lt;</code>.</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;=&amp;lt;</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_quoted_text_section">26.7. Quoted Text section</h3>
+<div class="paragraph"><p>Quoting is used primarily for text formatting. The <code>[quotes]</code> section
+defines AsciiDoc quoting characters and their corresponding backend
+markup tags. Each section entry value is the name of a of a <code>[tags]</code>
+section entry. The entry name is the character (or characters) that
+quote the text. The following examples are taken from AsciiDoc
+configuration files:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[quotes]
+_=emphasis</code></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[tags]
+emphasis=&lt;em&gt;|&lt;/em&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>You can specify the left and right quote strings separately by
+separating them with a | character, for example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>``|''=quoted</code></pre>
+</div></div>
+<div class="paragraph"><p>Omitting the tag will disable quoting, for example, if you don&#8217;t want
+superscripts or subscripts put the following in a custom configuration
+file or edit the global <code>asciidoc.conf</code> configuration file:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[quotes]
+^=
+~=</code></pre>
+</div></div>
+<div class="paragraph"><p><a href="#X52">Unconstrained quotes</a> are differentiated from constrained
+quotes by prefixing the tag name with a hash character, for example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>__=#emphasis</code></pre>
+</div></div>
+<div class="ulist"><div class="title">Quoted text behavior</div><ul>
+<li>
+<p>
+Quote characters must be non-alphanumeric.
+</p>
+</li>
+<li>
+<p>
+To minimize quoting ambiguity try not to use the same quote
+ characters in different quote types.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_special_words_section">26.8. Special Words section</h3>
+<div class="paragraph"><p>The <code>[specialwords]</code> section is used to single out words and phrases
+that you want to consistently format in some way throughout your
+document without having to repeatedly specify the markup. The name of
+each entry corresponds to a markup template section and the entry
+value consists of a list of words and phrases to be marked up. For
+example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[specialwords]
+strongwords=NOTE IMPORTANT</code></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[strongwords]
+&lt;strong&gt;{words}&lt;/strong&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>The examples specifies that any occurrence of <code>NOTE</code> or <code>IMPORTANT</code>
+should appear in a bold font.</p></div>
+<div class="paragraph"><p>Words and word phrases are treated as Python regular expressions: for
+example, the word <code>^NOTE</code> would only match <code>NOTE</code> if appeared at
+the start of a line.</p></div>
+<div class="paragraph"><p>AsciiDoc comes with three built-in Special Word types:
+<em>emphasizedwords</em>, <em>monospacedwords</em> and <em>strongwords</em>, each has a
+corresponding (backend specific) markup template section. Edit the
+configuration files to customize existing Special Words and to add new
+ones.</p></div>
+<div class="ulist"><div class="title">Special word behavior</div><ul>
+<li>
+<p>
+Word list entries must be separated by space characters.
+</p>
+</li>
+<li>
+<p>
+Word list entries with embedded spaces should be enclosed in quotation (")
+ characters.
+</p>
+</li>
+<li>
+<p>
+A <code>[specialwords]</code> section entry of the form
+ <code>name=word1&#160;[word2&#8230;]</code> adds words to existing <code>name</code> entries.
+</p>
+</li>
+<li>
+<p>
+A <code>[specialwords]</code> section entry of the form <code>name</code> undefines
+ (deletes) all existing <code>name</code> words.
+</p>
+</li>
+<li>
+<p>
+Since word list entries are processed as Python regular expressions
+ you need to be careful to escape regular expression special
+ characters.
+</p>
+</li>
+<li>
+<p>
+By default Special Words are substituted before Inline Macros, this
+ may lead to undesirable consequences. For example the special word
+ <code>foobar</code> would be expanded inside the macro call
+ <code>http://www.foobar.com[]</code>. A possible solution is to emphasize
+ whole words only by defining the word using regular expression
+ characters, for example <code>\bfoobar\b</code>.
+</p>
+</li>
+<li>
+<p>
+If the first matched character of a special word is a backslash then
+ the remaining characters are output without markup i.e. the
+ backslash can be used to escape special word markup. For example
+ the special word <code>\\?\b[Tt]en\b</code> will mark up the words <code>Ten</code> and
+ <code>ten</code> only if they are not preceded by a backslash.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="X10">26.9. Replacements section</h3>
+<div class="paragraph"><p><code>[replacements]</code>, <code>[replacements2]</code> and <code>[replacements3]</code>
+configuration file entries specify find and replace text and are
+formatted like:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>&lt;find_pattern&gt;=&lt;replacement_text&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>The find text can be a Python regular expression; the replace text can
+contain Python regular expression group references.</p></div>
+<div class="paragraph"><p>Use Replacement shortcuts for often used macro references, for
+example (the second replacement allows us to backslash escape the
+macro name):</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>NEW!=image:./images/smallnew.png[New!]
+\\NEW!=NEW!</code></pre>
+</div></div>
+<div class="paragraph"><p>The only difference between the three replacement types is how they
+are applied. By default <em>replacements</em> and <em>replacements2</em> are applied
+in <a href="#X102">normal</a> substitution contexts whereas <em>replacements3</em> needs
+to be configured explicitly and should only be used in backend
+configuration files.</p></div>
+<div class="ulist"><div class="title">Replacement behavior</div><ul>
+<li>
+<p>
+The built-in replacements can be escaped with a backslash.
+</p>
+</li>
+<li>
+<p>
+If the find or replace text has leading or trailing spaces then the
+ text should be enclosed in quotation (") characters.
+</p>
+</li>
+<li>
+<p>
+Since the find text is processed as a regular expression you need to
+ be careful to escape regular expression special characters.
+</p>
+</li>
+<li>
+<p>
+Replacements are performed in the same order they appear in the
+ configuration file replacements section.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_markup_template_sections">26.10. Markup Template Sections</h3>
+<div class="paragraph"><p>Markup template sections supply backend markup for translating
+AsciiDoc elements. Since the text is normally backend dependent
+you&#8217;ll find these sections in the backend specific configuration
+files. Template sections differ from other sections in that they
+contain a single block of text instead of per line <em>name=value</em>
+entries. A markup template section body can contain:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Attribute references
+</p>
+</li>
+<li>
+<p>
+System macro calls.
+</p>
+</li>
+<li>
+<p>
+A document content placeholder
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>The document content placeholder is a single | character and is
+replaced by text from the source element. Use the <code>{brvbar}</code>
+attribute reference if you need a literal | character in the template.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X27">26.11. Configuration file names, precedence and locations</h3>
+<div class="paragraph"><p>Configuration files have a <code>.conf</code> file name extension; they are
+loaded from the following locations:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+The directory containing the asciidoc executable.
+</p>
+</li>
+<li>
+<p>
+If there is no <code>asciidoc.conf</code> file in the directory containing the
+ asciidoc executable then load from the global configuration
+ directory (normally <code>/etc/asciidoc</code> or <code>/usr/local/etc/asciidoc</code>)
+ i.e. the global configuration files directory is skipped if
+ AsciiDoc configuration files are installed in the same directory as
+ the asciidoc executable. This allows both a system wide copy and
+ multiple local copies of AsciiDoc to coexist on the same host PC.
+</p>
+</li>
+<li>
+<p>
+The user&#8217;s <code>$HOME/.asciidoc</code> directory (if it exists).
+</p>
+</li>
+<li>
+<p>
+The directory containing the AsciiDoc source file.
+</p>
+</li>
+<li>
+<p>
+Explicit configuration files specified using:
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+The <code>conf-files</code> attribute (one or more file names separated by a
+ <code>|</code> character). These files are loaded in the order they are
+ specified and prior to files specified using the <code>--conf-file</code>
+ command-line option.
+</p>
+</li>
+<li>
+<p>
+The <code>asciidoc(1)</code> <code>--conf-file</code>) command-line option. The
+ <code>--conf-file</code> option can be specified multiple times, in which
+ case configuration files will be processed in the same order they
+ appear on the command-line.
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+<a href="#X100">Backend plugin</a> configuration files are loaded from
+ subdirectories named like <code>backends/&lt;backend&gt;</code> in locations 1, 2
+ and 3.
+</p>
+</li>
+<li>
+<p>
+<a href="#X59">Filter</a> configuration files are loaded from subdirectories
+ named like <code>filters/&lt;filter&gt;</code> in locations 1, 2 and 3.
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>Configuration files from the above locations are loaded in the
+following order:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+The <code>[attributes]</code> section only from:
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+<code>asciidoc.conf</code> in location 3
+</p>
+</li>
+<li>
+<p>
+Files from location 5.
+</p>
+<div class="paragraph"><p>This first pass makes locally set attributes available in the global
+<code>asciidoc.conf</code> file.</p></div>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+<code>asciidoc.conf</code> from locations 1, 2, 3.
+</p>
+</li>
+<li>
+<p>
+<em>attributes</em>, <em>titles</em> and <em>specialcharacters</em> sections from the
+ <code>asciidoc.conf</code> in location 4.
+</p>
+</li>
+<li>
+<p>
+The document header is parsed at this point and we can assume the
+ <em>backend</em> and <em>doctype</em> have now been defined.
+</p>
+</li>
+<li>
+<p>
+Backend plugin <code>&lt;backend&gt;.conf</code> and <code>&lt;backend&gt;-&lt;doctype&gt;.conf</code> files
+ from locations 6. If a backend plugin is not found then try
+ locations 1, 2 and 3 for <code>&lt;backend&gt;.conf</code> and
+ <code>&lt;backend&gt;-&lt;doctype&gt;.conf</code> backend configuration files.
+</p>
+</li>
+<li>
+<p>
+Filter conf files from locations 7.
+</p>
+</li>
+<li>
+<p>
+<code>lang-&lt;lang&gt;.conf</code> from locations 1, 2, 3.
+</p>
+</li>
+<li>
+<p>
+<code>asciidoc.conf</code> from location 4.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;backend&gt;.conf</code> and <code>&lt;backend&gt;-&lt;doctype&gt;.conf</code> from location 4.
+</p>
+</li>
+<li>
+<p>
+Filter conf files from location 4.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;docfile&gt;.conf</code> and <code>&lt;docfile&gt;-&lt;backend&gt;.conf</code> from location 4.
+</p>
+</li>
+<li>
+<p>
+Configuration files from location 5.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Where:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<code>&lt;backend&gt;</code> and <code>&lt;doctype&gt;</code> are values specified by the <code>asciidoc(1)</code>
+ <code>-b</code> (<code>--backend</code>) and <code>-d</code> (<code>--doctype</code>) command-line options.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;infile&gt;</code> is the path name of the AsciiDoc input file without the
+ file name extension.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;lang&gt;</code> is a two letter country code set by the the AsciiDoc <em>lang</em>
+ attribute.
+</p>
+</li>
+</ul></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">
+<div class="paragraph"><p>The backend and language global configuration files are loaded <strong>after</strong>
+the header has been parsed. This means that you can set most
+attributes in the document header. Here&#8217;s an example header:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Life's Mysteries
+================
+:author: Hu Nose
+:doctype: book
+:toc:
+:icons:
+:data-uri:
+:lang: en
+:encoding: iso-8859-1</code></pre>
+</div></div>
+<div class="paragraph"><p>Attributes set in the document header take precedence over
+configuration file attributes.</p></div>
+</td>
+</tr></table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">Use the <code>asciidoc(1)</code> <code>-v</code> (<code>--verbose</code>) command-line option to see
+which configuration files are loaded and the order in which they are
+loaded.</td>
+</tr></table>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_document_attributes">27. Document Attributes</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>A document attribute is comprised of a <em>name</em> and a textual <em>value</em>
+and is used for textual substitution in AsciiDoc documents and
+configuration files. An attribute reference (an attribute name
+enclosed in braces) is replaced by the corresponding attribute
+value. Attribute names are case insensitive and can only contain
+alphanumeric, dash and underscore characters.</p></div>
+<div class="paragraph"><p>There are four sources of document attributes (from highest to lowest
+precedence):</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Command-line attributes.
+</p>
+</li>
+<li>
+<p>
+AttributeEntry, AttributeList, Macro and BlockId elements.
+</p>
+</li>
+<li>
+<p>
+Configuration file <code>[attributes]</code> sections.
+</p>
+</li>
+<li>
+<p>
+Intrinsic attributes.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Within each of these divisions the last processed entry takes
+precedence.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">If an attribute is not defined then the line containing the
+attribute reference is dropped. This property is used extensively in
+AsciiDoc configuration files to facilitate conditional markup
+generation.</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X18">28. Attribute Entries</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The <code>AttributeEntry</code> block element allows document attributes to be
+assigned within an AsciiDoc document. Attribute entries are added to
+the global document attributes dictionary. The attribute name/value
+syntax is a single line like:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>:&lt;name&gt;: &lt;value&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>:Author Initials: JB</code></pre>
+</div></div>
+<div class="paragraph"><p>This will set an attribute reference <code>{authorinitials}</code> to the value
+<em>JB</em> in the current document.</p></div>
+<div class="paragraph"><p>To delete (undefine) an attribute use the following syntax:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>:&lt;name&gt;!:</code></pre>
+</div></div>
+<div class="ulist"><div class="title">AttributeEntry behavior</div><ul>
+<li>
+<p>
+The attribute entry line begins with colon&#8201;&#8212;&#8201;no white space allowed
+ in left margin.
+</p>
+</li>
+<li>
+<p>
+AsciiDoc converts the <code>&lt;name&gt;</code> to a legal attribute name (lower
+ case, alphanumeric, dash and underscore characters only&#8201;&#8212;&#8201;all other
+ characters deleted). This allows more human friendly text to be
+ used.
+</p>
+</li>
+<li>
+<p>
+Leading and trailing white space is stripped from the <code>&lt;value&gt;</code>.
+</p>
+</li>
+<li>
+<p>
+Lines ending in a space followed by a plus character are continued
+ to the next line, for example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>:description: AsciiDoc is a text document format for writing notes, +
+ documentation, articles, books, slideshows, web pages +
+ and man pages.</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+If the <code>&lt;value&gt;</code> is blank then the corresponding attribute value is
+ set to an empty string.
+</p>
+</li>
+<li>
+<p>
+Attribute references contained in the entry <code>&lt;value&gt;</code> will be
+ expanded.
+</p>
+</li>
+<li>
+<p>
+By default AttributeEntry values are substituted for
+ <code>specialcharacters</code> and <code>attributes</code> (see above), if you want to
+ change or disable AttributeEntry substitution use the <a href="#X77">pass:[] inline macro</a> syntax.
+</p>
+</li>
+<li>
+<p>
+Attribute entries in the document Header are available for header
+ markup template substitution.
+</p>
+</li>
+<li>
+<p>
+Attribute elements override configuration file and intrinsic
+ attributes but do not override command-line attributes.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Here are some more attribute entry examples:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>AsciiDoc User Manual
+====================
+:author: Stuart Rackham
+:email: srackham@gmail.com
+:revdate: April 23, 2004
+:revnumber: 5.1.1</code></pre>
+</div></div>
+<div class="paragraph"><p>Which creates these attributes:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>{author}, {firstname}, {lastname}, {authorinitials}, {email},
+{revdate}, {revnumber}</code></pre>
+</div></div>
+<div class="paragraph"><p>The previous example is equivalent to this <a href="#X95">document header</a>:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>AsciiDoc User Manual
+====================
+Stuart Rackham &lt;srackham@gmail.com&gt;
+5.1.1, April 23, 2004</code></pre>
+</div></div>
+<div class="sect2">
+<h3 id="_setting_configuration_entries">28.1. Setting configuration entries</h3>
+<div class="paragraph"><p>A variant of the Attribute Entry syntax allows configuration file
+section entries and markup template sections to be set from within an
+AsciiDoc document:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>:&lt;section_name&gt;.[&lt;entry_name&gt;]: &lt;entry_value&gt;</code></pre>
+</div></div>
+<div class="paragraph"><p>Where <code>&lt;section_name&gt;</code> is the configuration section name,
+<code>&lt;entry_name&gt;</code> is the name of the entry and <code>&lt;entry_value&gt;</code> is the
+optional entry value. This example sets the default labeled list
+style to <em>horizontal</em>:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>:listdef-labeled.style: horizontal</code></pre>
+</div></div>
+<div class="paragraph"><p>It is exactly equivalent to a configuration file containing:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[listdef-labeled]
+style=horizontal</code></pre>
+</div></div>
+<div class="ulist"><ul>
+<li>
+<p>
+If the <code>&lt;entry_name&gt;</code> is omitted then the entire section is
+ substituted with the <code>&lt;entry_value&gt;</code>. This feature should only be
+ used to set markup template sections. The following example sets the
+ <em>xref2</em> inline macro markup template:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>:xref2-inlinemacro.: &lt;a href="#{1}"&gt;{2?{2}}&lt;/a&gt;</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+No substitution is performed on configuration file attribute entries
+ and they cannot be undefined.
+</p>
+</li>
+<li>
+<p>
+This feature can only be used in attribute entries&#8201;&#8212;&#8201;configuration
+ attributes cannot be set using the <code>asciidoc(1)</code> command <code>--attribute</code>
+ option.
+</p>
+</li>
+</ul></div>
+<div class="sidebarblock" id="X62">
+<div class="content">
+<div class="title">Attribute entries promote clarity and eliminate repetition</div>
+<div class="paragraph"><p>URLs and file names in AsciiDoc macros are often quite long&#8201;&#8212;&#8201;they
+break paragraph flow and readability suffers. The problem is
+compounded by redundancy if the same name is used repeatedly.
+Attribute entries can be used to make your documents easier to read
+and write, here are some examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>:1: http://freshmeat.net/projects/asciidoc/
+:homepage: http://asciidoc.org[AsciiDoc home page]
+:new: image:./images/smallnew.png[]
+:footnote1: footnote:[A meaningless latin term]</code></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Using previously defined attributes: See the {1}[Freshmeat summary]
+or the {homepage} for something new {new}. Lorem ispum {footnote1}.</code></pre>
+</div></div>
+<div class="ulist"><div class="title">Note</div><ul>
+<li>
+<p>
+The attribute entry definition must precede it&#8217;s usage.
+</p>
+</li>
+<li>
+<p>
+You are not limited to URLs or file names, entire macro calls or
+ arbitrary lines of text can be abbreviated.
+</p>
+</li>
+<li>
+<p>
+Shared attributes entries could be grouped into a separate file and
+ <a href="#X63">included</a> in multiple documents.
+</p>
+</li>
+</ul></div>
+</div></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X21">29. Attribute Lists</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+An attribute list is a comma separated list of attribute values.
+</p>
+</li>
+<li>
+<p>
+The entire list is enclosed in square brackets.
+</p>
+</li>
+<li>
+<p>
+Attribute lists are used to pass parameters to macros, blocks (using
+ the <a href="#X79">AttributeList element</a>) and inline quotes.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>The list consists of zero or more positional attribute values followed
+by zero or more named attribute values. Here are three examples: a
+single unquoted positional attribute; three unquoted positional
+attribute values; one positional attribute followed by two named
+attributes; the unquoted attribute value in the final example contains
+comma (<code>&amp;#44;</code>) and double-quote (<code>&amp;#34;</code>) character entities:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>[Hello]
+[quote, Bertrand Russell, The World of Mathematics (1956)]
+["22 times", backcolor="#0e0e0e", options="noborders,wide"]
+[A footnote&amp;#44; &amp;#34;with an image&amp;#34; image:smallnew.png[]]</code></pre>
+</div></div>
+<div class="ulist"><div class="title">Attribute list behavior</div><ul>
+<li>
+<p>
+If one or more attribute values contains a comma the all string
+ values must be quoted (enclosed in double quotation mark
+ characters).
+</p>
+</li>
+<li>
+<p>
+If the list contains any named or quoted attributes then all string
+ attribute values must be quoted.
+</p>
+</li>
+<li>
+<p>
+To include a double quotation mark (") character in a quoted
+ attribute value the the quotation mark must be escaped with a
+ backslash.
+</p>
+</li>
+<li>
+<p>
+List attributes take precedence over existing attributes.
+</p>
+</li>
+<li>
+<p>
+List attributes can only be referenced in configuration file markup
+ templates and tags, they are not available elsewhere in the
+ document.
+</p>
+</li>
+<li>
+<p>
+Setting a named attribute to <code>None</code> undefines the attribute.
+</p>
+</li>
+<li>
+<p>
+Positional attributes are referred to as <code>{1}</code>,<code>{2}</code>,<code>{3}</code>,&#8230;
+</p>
+</li>
+<li>
+<p>
+Attribute <code>{0}</code> refers to the entire list (excluding the enclosing
+ square brackets).
+</p>
+</li>
+<li>
+<p>
+Named attribute names cannot contain dash characters.
+</p>
+</li>
+</ul></div>
+<div class="sect2">
+<h3 id="X75">29.1. Options attribute</h3>
+<div class="paragraph"><p>If the attribute list contains an attribute named <code>options</code> it is
+processed as a comma separated list of option names:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Each name generates an attribute named like <code>&lt;option&gt;-option</code> (where
+ <code>&lt;option&gt;</code> is the option name) with an empty string value. For
+ example <code>[options="opt1,opt2,opt3"]</code> is equivalent to setting the
+ following three attributes
+ <code>[opt1-option="",opt2-option="",opt2-option=""]</code>.
+</p>
+</li>
+<li>
+<p>
+If you define a an option attribute globally (for example with an
+ <a href="#X18">attribute entry</a>) then it will apply to all elements in the
+ document.
+</p>
+</li>
+<li>
+<p>
+AsciiDoc implements a number of predefined options which are listed
+ in the <a href="#X74">Attribute Options appendix</a>.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_macro_attribute_lists">29.2. Macro Attribute lists</h3>
+<div class="paragraph"><p>Macros calls are suffixed with an attribute list. The list may be
+empty but it cannot be omitted. List entries are used to pass
+attribute values to macro markup templates.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_attribute_references">30. Attribute References</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>An attribute reference is an attribute name (possibly followed by an
+additional parameters) enclosed in curly braces. When an attribute
+reference is encountered it is evaluated and replaced by its
+corresponding text value. If the attribute is undefined the line
+containing the attribute is dropped.</p></div>
+<div class="paragraph"><p>There are three types of attribute reference: <em>Simple</em>, <em>Conditional</em>
+and <em>System</em>.</p></div>
+<div class="ulist"><div class="title">Attribute reference evaluation</div><ul>
+<li>
+<p>
+You can suppress attribute reference expansion by placing a
+ backslash character immediately in front of the opening brace
+ character.
+</p>
+</li>
+<li>
+<p>
+By default attribute references are not expanded in
+ <em>LiteralParagraphs</em>, <em>ListingBlocks</em> or <em>LiteralBlocks</em>.
+</p>
+</li>
+<li>
+<p>
+Attribute substitution proceeds line by line in reverse line order.
+</p>
+</li>
+<li>
+<p>
+Attribute reference evaluation is performed in the following order:
+ <em>Simple</em> then <em>Conditional</em> and finally <em>System</em>.
+</p>
+</li>
+</ul></div>
+<div class="sect2">
+<h3 id="_simple_attributes_references">30.1. Simple Attributes References</h3>
+<div class="paragraph"><p>Simple attribute references take the form <code>{&lt;name&gt;}</code>. If the
+attribute name is defined its text value is substituted otherwise the
+line containing the reference is dropped from the output.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_conditional_attribute_references">30.2. Conditional Attribute References</h3>
+<div class="paragraph"><p>Additional parameters are used in conjunction with attribute names to
+calculate a substitution value. Conditional attribute references take
+the following forms:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>{&lt;names&gt;=&lt;value&gt;}</code>
+</dt>
+<dd>
+<p>
+ <code>&lt;value&gt;</code> is substituted if the attribute <code>&lt;names&gt;</code> is
+ undefined otherwise its value is substituted. <code>&lt;value&gt;</code> can
+ contain simple attribute references.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{&lt;names&gt;?&lt;value&gt;}</code>
+</dt>
+<dd>
+<p>
+ <code>&lt;value&gt;</code> is substituted if the attribute <code>&lt;names&gt;</code> is defined
+ otherwise an empty string is substituted. <code>&lt;value&gt;</code> can
+ contain simple attribute references.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{&lt;names&gt;!&lt;value&gt;}</code>
+</dt>
+<dd>
+<p>
+ <code>&lt;value&gt;</code> is substituted if the attribute <code>&lt;names&gt;</code> is
+ undefined otherwise an empty string is substituted. <code>&lt;value&gt;</code>
+ can contain simple attribute references.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{&lt;names&gt;#&lt;value&gt;}</code>
+</dt>
+<dd>
+<p>
+ <code>&lt;value&gt;</code> is substituted if the attribute <code>&lt;names&gt;</code> is defined
+ otherwise the undefined attribute entry causes the containing
+ line to be dropped. <code>&lt;value&gt;</code> can contain simple attribute
+ references.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{&lt;names&gt;%&lt;value&gt;}</code>
+</dt>
+<dd>
+<p>
+ <code>&lt;value&gt;</code> is substituted if the attribute <code>&lt;names&gt;</code> is not
+ defined otherwise the containing line is dropped. <code>&lt;value&gt;</code>
+ can contain simple attribute references.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{&lt;names&gt;@&lt;regexp&gt;:&lt;value1&gt;[:&lt;value2&gt;]}</code>
+</dt>
+<dd>
+<p>
+ <code>&lt;value1&gt;</code> is substituted if the value of attribute <code>&lt;names&gt;</code>
+ matches the regular expression <code>&lt;regexp&gt;</code> otherwise <code>&lt;value2&gt;</code>
+ is substituted. If attribute <code>&lt;names&gt;</code> is not defined the
+ containing line is dropped. If <code>&lt;value2&gt;</code> is omitted an empty
+ string is assumed. The values and the regular expression can
+ contain simple attribute references. To embed colons in the
+ values or the regular expression escape them with backslashes.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{&lt;names&gt;$&lt;regexp&gt;:&lt;value1&gt;[:&lt;value2&gt;]}</code>
+</dt>
+<dd>
+<p>
+ Same behavior as the previous ternary attribute except for
+ the following cases:
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>{&lt;names&gt;$&lt;regexp&gt;:&lt;value&gt;}</code>
+</dt>
+<dd>
+<p>
+ Substitutes <code>&lt;value&gt;</code> if <code>&lt;names&gt;</code> matches <code>&lt;regexp&gt;</code>
+ otherwise the result is undefined and the containing
+ line is dropped.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{&lt;names&gt;$&lt;regexp&gt;::&lt;value&gt;}</code>
+</dt>
+<dd>
+<p>
+ Substitutes <code>&lt;value&gt;</code> if <code>&lt;names&gt;</code> does not match
+ <code>&lt;regexp&gt;</code> otherwise the result is undefined and the
+ containing line is dropped.
+</p>
+</dd>
+</dl></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p>The attribute <code>&lt;names&gt;</code> parameter normally consists of a single
+attribute name but it can be any one of the following:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+A single attribute name which evaluates to the attributes value.
+</p>
+</li>
+<li>
+<p>
+Multiple <em>,</em> separated attribute names which evaluates to an empty
+ string if one or more of the attributes is defined, otherwise it&#8217;s
+ value is undefined.
+</p>
+</li>
+<li>
+<p>
+Multiple <em>+</em> separated attribute names which evaluates to an empty
+ string if all of the attributes are defined, otherwise it&#8217;s value is
+ undefined.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Conditional attributes with single attribute names are evaluated first
+so they can be used inside the multi-attribute conditional <code>&lt;value&gt;</code>.</p></div>
+<div class="sect3">
+<h4 id="_conditional_attribute_examples">30.2.1. Conditional attribute examples</h4>
+<div class="paragraph"><p>Conditional attributes are mainly used in AsciiDoc configuration
+files&#8201;&#8212;&#8201;see the distribution <code>.conf</code> files for examples.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+Attribute equality test
+</dt>
+<dd>
+<p>
+ If <code>{backend}</code> is <em>docbook45</em> or <em>xhtml11</em> the example evaluates to
+ &#8220;DocBook 4.5 or XHTML 1.1 backend&#8221; otherwise it evaluates to
+ &#8220;some other backend&#8221;:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>{backend@docbook45|xhtml11:DocBook 4.5 or XHTML 1.1 backend:some other backend}</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+Attribute value map
+</dt>
+<dd>
+<p>
+ This example maps the <code>frame</code> attribute values [<code>topbot</code>, <code>all</code>,
+ <code>none</code>, <code>sides</code>] to [<code>hsides</code>, <code>border</code>, <code>void</code>, <code>vsides</code>]:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>{frame@topbot:hsides}{frame@all:border}{frame@none:void}{frame@sides:vsides}</code></pre>
+</div></div>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="X24">30.3. System Attribute References</h3>
+<div class="paragraph"><p>System attribute references generate the attribute text value by
+executing a predefined action that is parametrized by one or more
+arguments. The syntax is <code>{&lt;action&gt;:&lt;arguments&gt;}</code>.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<code>{counter:&lt;attrname&gt;[:&lt;seed&gt;]}</code>
+</dt>
+<dd>
+<p>
+ Increments the document attribute (if the attribute is
+ undefined it is set to <code>1</code>). Returns the new attribute value.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Counters generate global (document wide) attributes.
+</p>
+</li>
+<li>
+<p>
+The optional <code>&lt;seed&gt;</code> specifies the counter&#8217;s initial value;
+ it can be a number or a single letter; defaults to <em>1</em>.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;seed&gt;</code> can contain simple and conditional attribute
+ references.
+</p>
+</li>
+<li>
+<p>
+The <em>counter</em> system attribute will not be executed if the
+ containing line is dropped by the prior evaluation of an
+ undefined attribute.
+</p>
+</li>
+</ul></div>
+</dd>
+<dt class="hdlist1">
+<code>{counter2:&lt;attrname&gt;[:&lt;seed&gt;]}</code>
+</dt>
+<dd>
+<p>
+ Same as <code>counter</code> except the it always returns a blank string.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{eval:&lt;expression&gt;}</code>
+</dt>
+<dd>
+<p>
+ Substitutes the result of the Python <code>&lt;expression&gt;</code>.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+If <code>&lt;expression&gt;</code> evaluates to <code>None</code> or <code>False</code> the
+ reference is deemed undefined and the line containing the
+ reference is dropped from the output.
+</p>
+</li>
+<li>
+<p>
+If the expression evaluates to <code>True</code> the attribute
+ evaluates to an empty string.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;expression&gt;</code> can contain simple and conditional attribute
+ references.
+</p>
+</li>
+<li>
+<p>
+The <em>eval</em> system attribute can be nested inside other
+ system attributes.
+</p>
+</li>
+</ul></div>
+</dd>
+<dt class="hdlist1">
+<code>{eval3:&lt;command&gt;}</code>
+</dt>
+<dd>
+<p>
+ Passthrough version of <code>{eval:&lt;expression&gt;}</code>&#8201;&#8212;&#8201;the generated
+ output is written directly to the output without any further
+ substitutions.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{include:&lt;filename&gt;}</code>
+</dt>
+<dd>
+<p>
+ Substitutes contents of the file named <code>&lt;filename&gt;</code>.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+The included file is read at the time of attribute
+ substitution.
+</p>
+</li>
+<li>
+<p>
+If the file does not exist a warning is emitted and the line
+ containing the reference is dropped from the output file.
+</p>
+</li>
+<li>
+<p>
+Tabs are expanded based on the current <em>tabsize</em> attribute
+ value.
+</p>
+</li>
+</ul></div>
+</dd>
+<dt class="hdlist1">
+<code>{set:&lt;attrname&gt;[!][:&lt;value&gt;]}</code>
+</dt>
+<dd>
+<p>
+ Sets or unsets document attribute. Normally only used in
+ configuration file markup templates (use
+ <a href="#X18">AttributeEntries</a> in AsciiDoc documents).
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+If the attribute name is followed by an exclamation mark
+ the attribute becomes undefined.
+</p>
+</li>
+<li>
+<p>
+If <code>&lt;value&gt;</code> is omitted the attribute is set to a blank
+ string.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;value&gt;</code> can contain simple and conditional attribute
+ references.
+</p>
+</li>
+<li>
+<p>
+Returns a blank string unless the attribute is undefined in
+ which case the return value is undefined and the enclosing
+ line will be dropped.
+</p>
+</li>
+</ul></div>
+</dd>
+<dt class="hdlist1">
+<code>{set2:&lt;attrname&gt;[!][:&lt;value&gt;]}</code>
+</dt>
+<dd>
+<p>
+ Same as <code>set</code> except that the attribute scope is local to the
+ template.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{sys:&lt;command&gt;}</code>
+</dt>
+<dd>
+<p>
+ Substitutes the stdout generated by the execution of the shell
+ <code>&lt;command&gt;</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{sys2:&lt;command&gt;}</code>
+</dt>
+<dd>
+<p>
+ Substitutes the stdout and stderr generated by the execution
+ of the shell <code>&lt;command&gt;</code>.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{sys3:&lt;command&gt;}</code>
+</dt>
+<dd>
+<p>
+ Passthrough version of <code>{sys:&lt;command&gt;}</code>&#8201;&#8212;&#8201;the generated
+ output is written directly to the output without any further
+ substitutions.
+</p>
+</dd>
+<dt class="hdlist1">
+<code>{template:&lt;template&gt;}</code>
+</dt>
+<dd>
+<p>
+ Substitutes the contents of the configuration file section
+ named <code>&lt;template&gt;</code>. Attribute references contained in the
+ template are substituted.
+</p>
+</dd>
+</dl></div>
+<div class="ulist"><div class="title">System reference behavior</div><ul>
+<li>
+<p>
+System attribute arguments can contain non-system attribute
+ references.
+</p>
+</li>
+<li>
+<p>
+Closing brace characters inside system attribute arguments must be
+ escaped with a backslash.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X60">31. Intrinsic Attributes</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Intrinsic attributes are simple attributes that are created
+automatically from: AsciiDoc document header parameters; <code>asciidoc(1)</code>
+command-line arguments; attributes defined in the default
+configuration files; the execution context. Here&#8217;s the list of
+predefined intrinsic attributes:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>{amp} ampersand (&amp;) character entity
+{asciidoc-args} used to pass inherited arguments to asciidoc filters
+{asciidoc-confdir} the asciidoc(1) global configuration directory
+{asciidoc-dir} the asciidoc(1) application directory
+{asciidoc-file} the full path name of the asciidoc(1) script
+{asciidoc-version} the version of asciidoc(1)
+{author} author's full name
+{authored} empty string '' if {author} or {email} defined,
+{authorinitials} author initials (from document header)
+{backend-&lt;backend&gt;} empty string ''
+{&lt;backend&gt;-&lt;doctype&gt;} empty string ''
+{backend} document backend specified by `-b` option
+{backend-confdir} the directory containing the &lt;backend&gt;.conf file
+{backslash} backslash character
+{basebackend-&lt;base&gt;} empty string ''
+{basebackend} html or docbook
+{blockname} current block name (note 8).
+{brvbar} broken vertical bar (|) character
+{docdate} document last modified date (note 9)
+{docdir} document input directory name (note 5)
+{docfile} document file name (note 5)
+{docname} document file name without extension (note 6)
+{doctime} document last modified time (note 9)
+{doctitle} document title (from document header)
+{doctype-&lt;doctype&gt;} empty string ''
+{doctype} document type specified by `-d` option
+{email} author's email address (from document header)
+{empty} empty string ''
+{encoding} specifies input and output encoding
+{filetype-&lt;fileext&gt;} empty string ''
+{filetype} output file name file extension
+{firstname} author first name (from document header)
+{gt} greater than (&gt;) character entity
+{id} running block id generated by BlockId elements
+{indir} input file directory name (note 2,5)
+{infile} input file name (note 2,5)
+{lastname} author last name (from document header)
+{ldquo} Left double quote character (note 7)
+{level} title level 1..4 (in section titles)
+{listindex} the list index (1..) of the most recent list item
+{localdate} the current date (note 9)
+{localtime} the current time (note 9)
+{lsquo} Left single quote character (note 7)
+{lt} less than (&lt;) character entity
+{manname} manpage name (defined in NAME section)
+{manpurpose} manpage (defined in NAME section)
+{mantitle} document title minus the manpage volume number
+{manvolnum} manpage volume number (1..8) (from document header)
+{middlename} author middle name (from document header)
+{nbsp} non-breaking space character entity
+{notitle} do not display the document title
+{outdir} document output directory name (note 2)
+{outfile} output file name (note 2)
+{plus} plus character
+{python} the full path name of the Python interpreter executable
+{rdquo} right double quote character (note 7)
+{reftext} running block xreflabel generated by BlockId elements
+{revdate} document revision date (from document header)
+{revnumber} document revision number (from document header)
+{rsquo} right single quote character (note 7)
+{sectnum} formatted section number (in section titles)
+{sp} space character
+{showcomments} send comment lines to the output
+{title} section title (in titled elements)
+{two-colons} two colon characters
+{two-semicolons} two semicolon characters
+{user-dir} the ~/.asciidoc directory (if it exists)
+{verbose} defined as '' if --verbose command option specified
+{wj} word-joiner
+{zwsp} zero-width space character entity</code></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Intrinsic attributes are global so avoid defining custom attributes
+ with the same names.
+</p>
+</li>
+<li>
+<p>
+<code>{outfile}</code>, <code>{outdir}</code>, <code>{infile}</code>, <code>{indir}</code> attributes are
+ effectively read-only (you can set them but it won&#8217;t affect the
+ input or output file paths).
+</p>
+</li>
+<li>
+<p>
+See also the <a href="#X88">Backend Attributes</a> section for attributes
+ that relate to AsciiDoc XHTML file generation.
+</p>
+</li>
+<li>
+<p>
+The entries that translate to blank strings are designed to be used
+ for conditional text inclusion. You can also use the <code>ifdef</code>,
+ <code>ifndef</code> and <code>endif</code> System macros for conditional inclusion.
+ <span class="footnote"><br />[Conditional inclusion using <code>ifdef</code> and <code>ifndef</code> macros
+ differs from attribute conditional inclusion in that the former
+ occurs when the file is read while the latter occurs when the
+ contents are written.]<br /></span>
+</p>
+</li>
+<li>
+<p>
+<code>{docfile}</code> and <code>{docdir}</code> refer to root document specified on the
+ <code>asciidoc(1)</code> command-line; <code>{infile}</code> and <code>{indir}</code> refer to the
+ current input file which may be the root document or an included
+ file. When the input is being read from the standard input
+ (<code>stdin</code>) these attributes are undefined.
+</p>
+</li>
+<li>
+<p>
+If the input file is the standard input and the output file is not
+ the standard output then <code>{docname}</code> is the output file name sans
+ file extension.
+</p>
+</li>
+<li>
+<p>
+See
+ <a href="http://en.wikipedia.org/wiki/Non-English_usage_of_quotation_marks">non-English
+ usage of quotation marks</a>.
+</p>
+</li>
+<li>
+<p>
+The <code>{blockname}</code> attribute identifies the style of the current
+ block. It applies to delimited blocks, lists and tables. Here is a
+ list of <code>{blockname}</code> values (does not include filters or custom
+ block and style names):
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+delimited blocks
+</dt>
+<dd>
+<p>
+comment, sidebar, open, pass, literal, verse,
+ listing, quote, example, note, tip, important, caution, warning,
+ abstract, partintro
+</p>
+</dd>
+<dt class="hdlist1">
+lists
+</dt>
+<dd>
+<p>
+arabic, loweralpha, upperalpha, lowerroman, upperroman,
+ labeled, labeled3, labeled4, qanda, horizontal, bibliography,
+ glossary
+</p>
+</dd>
+<dt class="hdlist1">
+tables
+</dt>
+<dd>
+<p>
+table
+</p>
+</dd>
+</dl></div>
+</li>
+<li>
+<p>
+If the <code>SOURCE_DATE_EPOCH</code> environment variable is set to a UNIX
+ timestamp, then the <code>{docdate}</code>, <code>{doctime}</code>, <code>{localdate}</code>, and
+ <code>{localtime}</code> attributes are computed in the UTC time zone, with any
+ timestamps newer than <code>SOURCE_DATE_EPOCH</code> replaced by
+ <code>SOURCE_DATE_EPOCH</code>. (This helps software using AsciiDoc to build
+ reproducibly.)
+</p>
+</li>
+</ol></div>
+</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X73">32. Block Element Definitions</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The syntax and behavior of Paragraph, DelimitedBlock, List and Table
+block elements is determined by block definitions contained in
+<a href="#X7">AsciiDoc configuration file</a> sections.</p></div>
+<div class="paragraph"><p>Each definition consists of a section title followed by one or more
+section entries. Each entry defines a block parameter controlling some
+aspect of the block&#8217;s behavior. Here&#8217;s an example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[blockdef-listing]
+delimiter=^-{4,}$
+template=listingblock
+presubs=specialcharacters,callouts</code></pre>
+</div></div>
+<div class="paragraph"><p>Configuration file block definition sections are processed
+incrementally after each configuration file is loaded. Block
+definition section entries are merged into the block definition, this
+allows block parameters to be overridden and extended by later
+<a href="#X27">loading configuration files</a>.</p></div>
+<div class="paragraph"><p>AsciiDoc Paragraph, DelimitedBlock, List and Table block elements
+share a common subset of configuration file parameters:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+delimiter
+</dt>
+<dd>
+<p>
+ A Python regular expression that matches the first line of a block
+ element&#8201;&#8212;&#8201;in the case of DelimitedBlocks and Tables it also matches
+ the last line.
+</p>
+</dd>
+<dt class="hdlist1">
+template
+</dt>
+<dd>
+<p>
+ The name of the configuration file markup template section that will
+ envelope the block contents. The pipe (<em>|</em>) character is substituted
+ for the block contents. List elements use a set of (list specific)
+ tag parameters instead of a single template. The template name can
+ contain attribute references allowing dynamic template selection a
+ the time of template substitution.
+</p>
+</dd>
+<dt class="hdlist1">
+options
+</dt>
+<dd>
+<p>
+ A comma delimited list of element specific option names. In addition
+ to being used internally, options are available during markup tag
+ and template substitution as attributes with an empty string value
+ named like <code>&lt;option&gt;-option</code> (where <code>&lt;option&gt;</code> is the option name).
+ See <a href="#X74">attribute options</a> for a complete list of available
+ options.
+</p>
+</dd>
+<dt class="hdlist1">
+subs, presubs, postsubs
+</dt>
+<dd>
+<div class="ulist"><ul>
+<li>
+<p>
+<em>presubs</em> and <em>postsubs</em> are lists of comma separated substitutions that are
+ performed on the block contents. <em>presubs</em> is applied first,
+ <em>postsubs</em> (if specified) second.
+</p>
+</li>
+<li>
+<p>
+<em>subs</em> is an alias for <em>presubs</em>.
+</p>
+</li>
+<li>
+<p>
+If a <em>filter</em> is allowed (Paragraphs, DelimitedBlocks and Tables)
+ and has been specified then <em>presubs</em> and <em>postsubs</em> substitutions
+ are performed before and after the filter is run respectively.
+</p>
+</li>
+<li>
+<p>
+Allowed values: <em>specialcharacters</em>, <em>quotes</em>, <em>specialwords</em>,
+ <em>replacements</em>, <em>macros</em>, <em>attributes</em>, <em>callouts</em>.
+</p>
+</li>
+<li>
+<p>
+<a id="X102"></a>The following composite values are also allowed:
+</p>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<em>none</em>
+</dt>
+<dd>
+<p>
+ No substitutions.
+</p>
+</dd>
+<dt class="hdlist1">
+<em>normal</em>
+</dt>
+<dd>
+<p>
+ The following substitutions in the following order:
+ <em>specialcharacters</em>, <em>quotes</em>, <em>attributes</em>, <em>specialwords</em>,
+ <em>replacements</em>, <em>macros</em>, <em>replacements2</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+<em>verbatim</em>
+</dt>
+<dd>
+<p>
+ The following substitutions in the following order:
+ <em>specialcharacters</em> and <em>callouts</em>.
+</p>
+</dd>
+</dl></div>
+</li>
+<li>
+<p>
+<em>normal</em> and <em>verbatim</em> substitutions can be redefined by with
+ <code>subsnormal</code> and <code>subsverbatim</code> entries in a configuration file
+ <code>[miscellaneous]</code> section.
+</p>
+</li>
+<li>
+<p>
+The substitutions are processed in the order in which they are
+ listed and can appear more than once.
+</p>
+</li>
+</ul></div>
+</dd>
+<dt class="hdlist1">
+filter
+</dt>
+<dd>
+<p>
+ This optional entry specifies an executable shell command for
+ processing block content (Paragraphs, DelimitedBlocks and Tables).
+ The filter command can contain attribute references.
+</p>
+</dd>
+<dt class="hdlist1">
+posattrs
+</dt>
+<dd>
+<p>
+ Optional comma separated list of positional attribute names. This
+ list maps positional attributes (in the block&#8217;s <a href="#X21">attribute list</a>) to named block attributes. The following example, from the
+ QuoteBlock definition, maps the first and section positional
+ attributes:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>posattrs=attribution,citetitle</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+style
+</dt>
+<dd>
+<p>
+ This optional parameter specifies the default style name.
+</p>
+</dd>
+<dt class="hdlist1">
+&lt;stylename&gt;-style
+</dt>
+<dd>
+<p>
+ Optional style definition (see <a href="#X23">Styles</a> below).
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>The following block parameters behave like document attributes and can
+be set in block attribute lists and style definitions: <em>template</em>,
+<em>options</em>, <em>subs</em>, <em>presubs</em>, <em>postsubs</em>, <em>filter</em>.</p></div>
+<div class="sect2">
+<h3 id="X23">32.1. Styles</h3>
+<div class="paragraph"><p>A style is a set of block parameter bundled as a single named
+parameter. The following example defines a style named <em>verbatim</em>:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>verbatim-style=template="literalblock",subs="verbatim"</code></pre>
+</div></div>
+<div class="paragraph"><p>If a block&#8217;s <a href="#X21">attribute list</a> contains a <em>style</em> attribute then
+the corresponding style parameters are be merged into the default
+block definition parameters.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+All style parameter names must be suffixed with <code>-style</code> and the
+ style parameter value is in the form of a list of <a href="#X21">named attributes</a>.
+</p>
+</li>
+<li>
+<p>
+The <em>template</em> style parameter is mandatory, other parameters can be
+ omitted in which case they inherit their values from the default
+ block definition parameters.
+</p>
+</li>
+<li>
+<p>
+Multi-item style parameters (<em>subs</em>,<em>presubs</em>,<em>postsubs</em>,<em>posattrs</em>)
+ must be specified using Python tuple syntax (rather than a simple
+ list of values as they in separate entries) e.g.
+ <code>postsubs=("callouts",)</code> not <code>postsubs="callouts"</code>.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_paragraphs_2">32.2. Paragraphs</h3>
+<div class="paragraph"><p>Paragraph translation is controlled by <code>[paradef-*]</code> configuration
+file section entries. Users can define new types of paragraphs and
+modify the behavior of existing types by editing AsciiDoc
+configuration files.</p></div>
+<div class="paragraph"><p>Here is the shipped Default paragraph definition:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>[paradef-default]
+delimiter=(?P&lt;text&gt;\S.*)
+template=paragraph</code></pre>
+</div></div>
+<div class="paragraph"><p>The normal paragraph definition has a couple of special properties:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+It must exist and be defined in a configuration file section named
+ <code>[paradef-default]</code>.
+</p>
+</li>
+<li>
+<p>
+Irrespective of its position in the configuration files default
+ paragraph document matches are attempted only after trying all
+ other paragraph types.
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>Paragraph specific block parameter notes:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+delimiter
+</dt>
+<dd>
+<p>
+ This regular expression must contain the named group <em>text</em> which
+ matches the text on the first line. Paragraphs are terminated by a
+ blank line, the end of file, or the start of a DelimitedBlock.
+</p>
+</dd>
+<dt class="hdlist1">
+options
+</dt>
+<dd>
+<p>
+ The <em>listelement</em> option specifies that paragraphs of this type will
+ automatically be considered part of immediately preceding list
+ items. The <em>skip</em> option causes the paragraph to be treated as a
+ comment (see <a href="#X26">CommentBlocks</a>).
+</p>
+</dd>
+</dl></div>
+<div class="olist arabic"><div class="title">Paragraph processing proceeds as follows:</div><ol class="arabic">
+<li>
+<p>
+The paragraph text is aligned to the left margin.
+</p>
+</li>
+<li>
+<p>
+Optional <em>presubs</em> inline substitutions are performed on the
+ paragraph text.
+</p>
+</li>
+<li>
+<p>
+If a filter command is specified it is executed and the paragraph
+ text piped to its standard input; the filter output replaces the
+ paragraph text.
+</p>
+</li>
+<li>
+<p>
+Optional <em>postsubs</em> inline substitutions are performed on the
+ paragraph text.
+</p>
+</li>
+<li>
+<p>
+The paragraph text is enveloped by the paragraph&#8217;s markup template
+ and written to the output file.
+</p>
+</li>
+</ol></div>
+</div>
+<div class="sect2">
+<h3 id="_delimited_blocks">32.3. Delimited Blocks</h3>
+<div class="paragraph"><p>DelimitedBlock <em>options</em> values are:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+sectionbody
+</dt>
+<dd>
+<p>
+ The block contents are processed as a SectionBody.
+</p>
+</dd>
+<dt class="hdlist1">
+skip
+</dt>
+<dd>
+<p>
+ The block is treated as a comment (see <a href="#X26">CommentBlocks</a>).
+ Preceding <a href="#X21">attribute lists</a> and <a href="#X42">block titles</a> are not
+ consumed.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p><em>presubs</em>, <em>postsubs</em> and <em>filter</em> entries are ignored when
+<em>sectionbody</em> or <em>skip</em> options are set.</p></div>
+<div class="paragraph"><p>DelimitedBlock processing proceeds as follows:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Optional <em>presubs</em> substitutions are performed on the block
+ contents.
+</p>
+</li>
+<li>
+<p>
+If a filter is specified it is executed and the block&#8217;s contents
+ piped to its standard input. The filter output replaces the block
+ contents.
+</p>
+</li>
+<li>
+<p>
+Optional <em>postsubs</em> substitutions are performed on the block
+ contents.
+</p>
+</li>
+<li>
+<p>
+The block contents is enveloped by the block&#8217;s markup template and
+ written to the output file.
+</p>
+</li>
+</ol></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">Attribute expansion is performed on the block filter command
+before it is executed, this is useful for passing arguments to the
+filter.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_lists">32.4. Lists</h3>
+<div class="paragraph"><p>List behavior and syntax is determined by <code>[listdef-*]</code> configuration
+file sections. The user can change existing list behavior and add new
+list types by editing configuration files.</p></div>
+<div class="paragraph"><p>List specific block definition notes:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+type
+</dt>
+<dd>
+<p>
+ This is either <em>bulleted</em>,<em>numbered</em>,<em>labeled</em> or <em>callout</em>.
+</p>
+</dd>
+<dt class="hdlist1">
+delimiter
+</dt>
+<dd>
+<p>
+ A Python regular expression that matches the first line of a
+ list element entry. This expression can contain the named groups
+ <em>text</em> (bulleted groups), <em>index</em> and <em>text</em> (numbered lists),
+ <em>label</em> and <em>text</em> (labeled lists).
+</p>
+</dd>
+<dt class="hdlist1">
+tags
+</dt>
+<dd>
+<p>
+ The <code>&lt;name&gt;</code> of the <code>[listtags-&lt;name&gt;]</code> configuration file section
+ containing list markup tag definitions. The tag entries (<em>list</em>,
+ <em>entry</em>, <em>label</em>, <em>term</em>, <em>text</em>) map the AsciiDoc list structure to
+ backend markup; see the <em>listtags</em> sections in the AsciiDoc
+ distributed backend <code>.conf</code> configuration files for examples.
+</p>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="_tables_2">32.5. Tables</h3>
+<div class="paragraph"><p>Table behavior and syntax is determined by <code>[tabledef-*]</code> and
+<code>[tabletags-*]</code> configuration file sections. The user can change
+existing table behavior and add new table types by editing
+configuration files. The following <code>[tabledef-*]</code> section entries
+generate table output markup elements:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+colspec
+</dt>
+<dd>
+<p>
+ The table <em>colspec</em> tag definition.
+</p>
+</dd>
+<dt class="hdlist1">
+headrow, footrow, bodyrow
+</dt>
+<dd>
+<p>
+ Table header, footer and body row tag definitions. <em>headrow</em> and
+ <em>footrow</em> table definition entries default to <em>bodyrow</em> if
+ they are undefined.
+</p>
+</dd>
+<dt class="hdlist1">
+headdata, footdata, bodydata
+</dt>
+<dd>
+<p>
+ Table header, footer and body data tag definitions. <em>headdata</em> and
+ <em>footdata</em> table definition entries default to <em>bodydata</em> if they
+ are undefined.
+</p>
+</dd>
+<dt class="hdlist1">
+paragraph
+</dt>
+<dd>
+<p>
+ If the <em>paragraph</em> tag is specified then blank lines in the cell
+ data are treated as paragraph delimiters and marked up using this
+ tag.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph" id="X4"><p>Table behavior is also influenced by the following <code>[miscellaneous]</code>
+configuration file entries:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+pagewidth
+</dt>
+<dd>
+<p>
+ This integer value is the printable width of the output media. See
+ <a href="#X69">table attributes</a>.
+</p>
+</dd>
+<dt class="hdlist1">
+pageunits
+</dt>
+<dd>
+<p>
+ The units of width in output markup width attribute values.
+</p>
+</dd>
+</dl></div>
+<div class="ulist"><div class="title">Table definition behavior</div><ul>
+<li>
+<p>
+The output markup generation is specifically designed to work with
+ the HTML and CALS (DocBook) table models, but should be adaptable to
+ most XML table schema.
+</p>
+</li>
+<li>
+<p>
+Table definitions can be &#8220;mixed in&#8221; from multiple cascading
+ configuration files.
+</p>
+</li>
+<li>
+<p>
+New table definitions inherit the default table and table tags
+ definitions (<code>[tabledef-default]</code> and <code>[tabletags-default]</code>) so you
+ only need to override those conf file entries that require
+ modification.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X59">33. Filters</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc filters allow external commands to process AsciiDoc
+<em>Paragraphs</em>, <em>DelimitedBlocks</em> and <em>Table</em> content. Filters are
+primarily an extension mechanism for generating specialized outputs.
+Filters are implemented using external commands which are specified in
+configuration file definitions.</p></div>
+<div class="paragraph"><p>There&#8217;s nothing special about the filters, they&#8217;re just standard UNIX
+filters: they read text from the standard input, process it, and write
+to the standard output.</p></div>
+<div class="paragraph"><p>The <code>asciidoc(1)</code> command <code>--filter</code> option can be used to install and
+remove filters. The same option is used to unconditionally load a
+filter.</p></div>
+<div class="paragraph"><p>Attribute substitution is performed on the filter command prior to
+execution&#8201;&#8212;&#8201;attributes can be used to pass parameters from the
+AsciiDoc source document to the filter.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/warning.png" alt="Warning" />
+</td>
+<td class="content">Filters sometimes included executable code. Before installing
+a filter you should verify that it is from a trusted source.</td>
+</tr></table>
+</div>
+<div class="sect2">
+<h3 id="_filter_search_paths">33.1. Filter Search Paths</h3>
+<div class="paragraph"><p>If the filter command does not specify a directory path then
+<code>asciidoc(1)</code> recursively searches for the executable filter command:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+First it looks in the user&#8217;s <code>$HOME/.asciidoc/filters</code> directory.
+</p>
+</li>
+<li>
+<p>
+Next the global filters directory (usually <code>/etc/asciidoc/filters</code>
+ or <code>/usr/local/etc/asciidoc</code>) directory is searched.
+</p>
+</li>
+<li>
+<p>
+Then it looks in the <code>asciidoc(1)</code> <code>./filters</code> directory.
+</p>
+</li>
+<li>
+<p>
+Finally it relies on the executing shell to search the environment
+ search path (<code>$PATH</code>).
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Standard practice is to install each filter in it&#8217;s own sub-directory
+with the same name as the filter&#8217;s style definition. For example the
+music filter&#8217;s style name is <em>music</em> so it&#8217;s configuration and filter
+files are stored in the <code>filters/music</code> directory.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_filter_configuration_files">33.2. Filter Configuration Files</h3>
+<div class="paragraph"><p>Filters are normally accompanied by a configuration file containing a
+Paragraph or DelimitedBlock definition along with corresponding markup
+templates.</p></div>
+<div class="paragraph"><p>While it is possible to create new <em>Paragraph</em> or <em>DelimitedBlock</em>
+definitions the preferred way to implement a filter is to add a
+<a href="#X23">style</a> to the existing Paragraph and ListingBlock definitions
+(all filters shipped with AsciiDoc use this technique). The filter is
+applied to the paragraph or delimited block by preceding it with an
+attribute list: the first positional attribute is the style name,
+remaining attributes are normally filter specific parameters.</p></div>
+<div class="paragraph"><p><code>asciidoc(1)</code> auto-loads all <code>.conf</code> files found in the filter search
+paths unless the container directory also contains a file named
+<code>__noautoload__</code> (see previous section). The <code>__noautoload__</code> feature
+is used for filters that will be loaded manually using the <code>--filter</code>
+option.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X56">33.3. Example Filter</h3>
+<div class="paragraph"><p>AsciiDoc comes with a toy filter for highlighting source code keywords
+and comments. See also the <code>./filters/code/code-filter-readme.txt</code>
+file.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">The purpose of this toy filter is to demonstrate how to write a
+filter&#8201;&#8212;&#8201;it&#8217;s much to simplistic to be passed off as a code syntax
+highlighter. If you want a full featured multi-language highlighter
+use the <a href="https://asciidoc.org/source-highlight-filter.html">source code highlighter
+filter</a>.</td>
+</tr></table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_built_in_filters">33.4. Built-in filters</h3>
+<div class="paragraph"><p>The AsciiDoc distribution includes <em>source</em>, <em>music</em>, <em>latex</em> and
+<em>graphviz</em> filters, details are on the
+<a href="https://asciidoc.org/index.html#_filters">AsciiDoc website</a>.</p></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 11. Built-in filters list</caption>
+<col width="16%" />
+<col width="83%" />
+<thead>
+<tr>
+<th align="left" valign="top">Filter name </th>
+<th align="left" valign="top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><em>music</em></p></td>
+<td align="left" valign="top"><p class="table">A <a href="https://asciidoc.org/music-filter.html">music filter</a> is included in the
+distribution <code>./filters/</code> directory. It translates music in
+<a href="http://lilypond.org/">LilyPond</a> or <a href="http://abcnotation.org.uk/">ABC</a>
+notation to standard classical notation.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>source</em></p></td>
+<td align="left" valign="top"><p class="table">A <a href="https://asciidoc.org/source-highlight-filter.html">source code highlight filter</a>
+is included in the distribution <code>./filters/</code> directory.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>latex</em></p></td>
+<td align="left" valign="top"><p class="table">The <a href="https://asciidoc.org/latex-filter.html">AsciiDoc LaTeX filter</a> translates
+LaTeX source to an image that is automatically inserted into the
+AsciiDoc output documents.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>graphviz</em></p></td>
+<td align="left" valign="top"><p class="table">Gouichi Iisaka has written a <a href="http://www.graphviz.org/">Graphviz</a>
+filter for AsciiDoc. Graphviz generates diagrams from a textual
+specification. Gouichi Iisaka&#8217;s Graphviz filter is included in the
+AsciiDoc distribution. Here are some
+<a href="https://asciidoc.org/asciidoc-graphviz-sample.html">AsciiDoc Graphviz examples</a>.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="X58">33.5. Filter plugins</h3>
+<div class="paragraph"><p>Filter <a href="#X101">plugins</a> are a mechanism for distributing AsciiDoc
+filters. A filter plugin is a Zip file containing the files that
+constitute a filter. The <code>asciidoc(1)</code> <code>--filter</code> option is used to
+load and manage filer <a href="#X101">plugins</a>.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Filter plugins <a href="#X27">take precedence</a> over built-in filters with
+ the same name.
+</p>
+</li>
+<li>
+<p>
+By default filter plugins are installed in
+ <code>$HOME/.asciidoc/filters/&lt;filter&gt;</code> where <code>&lt;filter&gt;</code> is the filter
+ name.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X101">34. Plugins</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The AsciiDoc plugin architecture is an extension mechanism that allows
+additional <a href="#X100">backends</a>, <a href="#X58">filters</a> and <a href="#X99">themes</a> to be
+added to AsciiDoc.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+A plugin is a Zip file containing an AsciiDoc backend, filter or
+ theme (configuration files, stylesheets, scripts, images).
+</p>
+</li>
+<li>
+<p>
+The <code>asciidoc(1)</code> <code>--backend</code>, <code>--filter</code> and <code>--theme</code> command-line
+ options are used to load and manage plugins. Each of these options
+ responds to the plugin management <em>install</em>, <em>list</em>, <em>remove</em> and
+ <em>build</em> commands.
+</p>
+</li>
+<li>
+<p>
+The plugin management command names are reserved and cannot be used
+ for filter, backend or theme names.
+</p>
+</li>
+<li>
+<p>
+The plugin Zip file name always begins with the backend, filter or
+ theme name.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Plugin commands and conventions are documented in the <code>asciidoc(1)</code> man
+page. You can find lists of plugins on the
+<a href="https://asciidoc.org/plugins.html">AsciiDoc website</a>.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X36">35. Help Commands</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The <code>asciidoc(1)</code> command has a <code>--help</code> option which prints help topics
+to stdout. The default topic summarizes <code>asciidoc(1)</code> usage:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc --help</code></pre>
+</div></div>
+<div class="paragraph"><p>To print a help topic specify the topic name as a command argument.
+Help topic names can be shortened so long as they are not ambiguous.
+Examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc --help manpage
+$ asciidoc -h m # Short version of previous example.
+$ asciidoc --help syntax
+$ asciidoc -h s # Short version of previous example.</code></pre>
+</div></div>
+<div class="sect2">
+<h3 id="_customizing_help">35.1. Customizing Help</h3>
+<div class="paragraph"><p>To change, delete or add your own help topics edit a help
+configuration file. The help file name <code>help-&lt;lang&gt;.conf</code> is based on
+the setting of the <code>lang</code> attribute, it defaults to <code>help.conf</code>
+(English). The <a href="#X27">help file location</a> will depend on whether you
+want the topics to apply to all users or just the current user.</p></div>
+<div class="paragraph"><p>The help topic files have the same named section format as other
+<a href="#X7">configuration files</a>. The <code>help.conf</code> files are stored in the
+same locations and loaded in the same order as other configuration
+files.</p></div>
+<div class="paragraph"><p>When the <code>--help</code> command-line option is specified AsciiDoc loads the
+appropriate help files and then prints the contents of the section
+whose name matches the help topic name. If a topic name is not
+specified <code>default</code> is used. You don&#8217;t need to specify the whole help
+topic name on the command-line, just enough letters to ensure it&#8217;s not
+ambiguous. If a matching help file section is not found a list of
+available topics is printed.</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_tips_and_tricks">36. Tips and Tricks</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_know_your_editor">36.1. Know Your Editor</h3>
+<div class="paragraph"><p>Writing AsciiDoc documents will be a whole lot more pleasant if you
+know your favorite text editor. Learn how to indent and reformat text
+blocks, paragraphs, lists and sentences. <a href="#X20">Tips for <em>vim</em> users</a>
+follow.</p></div>
+</div>
+<div class="sect2">
+<h3 id="X20">36.2. Vim Commands for Formatting AsciiDoc</h3>
+<div class="sect3">
+<h4 id="_text_wrap_paragraphs">36.2.1. Text Wrap Paragraphs</h4>
+<div class="paragraph"><p>Use the vim <code>:gq</code> command to reformat paragraphs. Setting the
+<em>textwidth</em> sets the right text wrap margin; for example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>:set textwidth=70</code></pre>
+</div></div>
+<div class="paragraph"><p>To reformat a paragraph:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Position the cursor at the start of the paragraph.
+</p>
+</li>
+<li>
+<p>
+Type <code>gq}</code>.
+</p>
+</li>
+</ol></div>
+<div class="paragraph"><p>Execute <code>:help gq</code> command to read about the vim gq command.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/tip.png" alt="Tip" />
+</td>
+<td class="content">
+<div class="ulist"><ul>
+<li>
+<p>
+Assign the <code>gq}</code> command to the Q key with the <code>nnoremap Q gq}</code>
+ command or put it in your <code>~/.vimrc</code> file to so it&#8217;s always
+ available (see the <a href="#X61">Example <code>~/.vimrc</code> file</a>).
+</p>
+</li>
+<li>
+<p>
+Put <code>set</code> commands in your <code>~/.vimrc</code> file so you don&#8217;t have to
+ enter them manually.
+</p>
+</li>
+<li>
+<p>
+The Vim website (<a href="http://www.vim.org">http://www.vim.org</a>) has a wealth of resources,
+ including scripts for automated spell checking and ASCII Art
+ drawing.
+</p>
+</li>
+</ul></div>
+</td>
+</tr></table>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_format_lists">36.2.2. Format Lists</h4>
+<div class="paragraph"><p>The <code>gq</code> command can also be used to format bulleted, numbered and
+callout lists. First you need to set the <code>comments</code>, <code>formatoptions</code>
+and <code>formatlistpat</code> (see the <a href="#X61">Example <code>~/.vimrc</code> file</a>).</p></div>
+<div class="paragraph"><p>Now you can format simple lists that use dash, asterisk, period and
+plus bullets along with numbered ordered lists:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Position the cursor at the start of the list.
+</p>
+</li>
+<li>
+<p>
+Type <code>gq}</code>.
+</p>
+</li>
+</ol></div>
+</div>
+<div class="sect3">
+<h4 id="_indent_paragraphs">36.2.3. Indent Paragraphs</h4>
+<div class="paragraph"><p>Indent whole paragraphs by indenting the fist line with the desired
+indent and then executing the <code>gq}</code> command.</p></div>
+</div>
+<div class="sect3">
+<h4 id="X61">36.2.4. Example <code>~/.vimrc</code> File</h4>
+<div class="listingblock">
+<div class="content">
+<pre><code>" Use bold bright fonts.
+set background=dark
+
+" Show tabs and trailing characters.
+"set listchars=tab:»·,trail:·,eol:¬
+set listchars=tab:»·,trail:·
+set list
+
+" Reformat paragraphs and list.
+nnoremap &lt;Leader&gt;r gq}
+
+" Delete trailing white space and Dos-returns and to expand tabs to spaces.
+nnoremap &lt;Leader&gt;t :set et&lt;CR&gt;:retab!&lt;CR&gt;:%s/[\r \t]\+$//&lt;CR&gt;
+
+autocmd BufRead,BufNewFile *.txt,*.asciidoc,README,TODO,CHANGELOG,NOTES,ABOUT
+ \ setlocal autoindent expandtab tabstop=8 softtabstop=2 shiftwidth=2 filetype=asciidoc
+ \ textwidth=70 wrap formatoptions=tcqn
+ \ formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\\|^\\s*&lt;\\d\\+&gt;\\s\\+\\\\|^\\s*[a-zA-Z.]\\.\\s\\+\\\\|^\\s*[ivxIVX]\\+\\.\\s\\+
+ \ comments=s1:/*,ex:*/,://,b:#,:%,:XCOMM,fb:-,fb:*,fb:+,fb:.,fb:&gt;</code></pre>
+</div></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_troubleshooting">36.3. Troubleshooting</h3>
+<div class="paragraph"><p>AsciiDoc diagnostic features are detailed in the <a href="#X82">Diagnostics appendix</a>.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_gotchas">36.4. Gotchas</h3>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+Incorrect character encoding
+</dt>
+<dd>
+<p>
+ If you get an error message like <code>'UTF-8' codec can't decode ...</code>
+ then you source file contains invalid UTF-8 characters&#8201;&#8212;&#8201;set the
+ AsciiDoc <a href="#X54">encoding attribute</a> for the correct character set
+ (typically ISO-8859-1 (Latin-1) for European languages).
+</p>
+</dd>
+<dt class="hdlist1">
+Invalid output
+</dt>
+<dd>
+<p>
+ AsciiDoc attempts to validate the input AsciiDoc source but makes
+ no attempt to validate the output markup, it leaves that to
+ external tools such as <code>xmllint(1)</code> (integrated into <code>a2x(1)</code>).
+ Backend validation cannot be hardcoded into AsciiDoc because
+ backends are dynamically configured. The following example
+ generates valid HTML but invalid DocBook (the DocBook <code>literal</code>
+ element cannot contain an <code>emphasis</code> element):
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>+monospaced text with an _emphasized_ word+</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+Misinterpreted text formatting
+</dt>
+<dd>
+<p>
+ You can suppress markup expansion by placing a backslash character
+ immediately in front of the element. The following example
+ suppresses inline monospaced formatting:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>\+1 for C++.</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+Overlapping text formatting
+</dt>
+<dd>
+<p>
+ Overlapping text formatting will generate illegal overlapping
+ markup tags which will result in downstream XML parsing errors.
+ Here&#8217;s an example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>Some *strong markup _that overlaps* emphasized markup_.</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+Ambiguous underlines
+</dt>
+<dd>
+<p>
+ A DelimitedBlock can immediately follow a paragraph without an
+ intervening blank line, but be careful, a single line paragraph
+ underline may be misinterpreted as a section title underline
+ resulting in a &#8220;closing block delimiter expected&#8221; error.
+</p>
+</dd>
+<dt class="hdlist1">
+Ambiguous ordered list items
+</dt>
+<dd>
+<p>
+ Lines beginning with numbers at the end of sentences will be
+ interpreted as ordered list items. The following example
+ (incorrectly) begins a new list with item number 1999:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>He was last sighted in
+1999. Since then things have moved on.</code></pre>
+</div></div>
+<div class="paragraph"><p>The <em>list item out of sequence</em> warning makes it unlikely that this
+problem will go unnoticed.</p></div>
+</dd>
+<dt class="hdlist1">
+Special characters in attribute values
+</dt>
+<dd>
+<p>
+ Special character substitution precedes attribute substitution so
+ if attribute values contain special characters you may, depending
+ on the substitution context, need to escape the special characters
+ yourself. For example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a 'orgname=Bill &amp;amp; Ben Inc.' mydoc.txt</code></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+Attribute lists
+</dt>
+<dd>
+<p>
+ If any named attribute entries are present then all string
+ attribute values must be quoted. For example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>["Desktop screenshot",width=32]</code></pre>
+</div></div>
+</dd>
+</dl></div>
+</div>
+<div class="sect2">
+<h3 id="X90">36.5. Combining separate documents</h3>
+<div class="paragraph"><p>You have a number of stand-alone AsciiDoc documents that you want to
+process as a single document. Simply processing them with a series of
+<code>include</code> macros won&#8217;t work because the documents contain (level 0)
+document titles. The solution is to create a top level wrapper
+document and use the <code>leveloffset</code> attribute to push them all down one
+level. For example:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>Combined Document Title
+=======================
+
+// Push titles down one level.
+:leveloffset: 1
+
+include::document1.txt[]
+
+// Return to normal title levels.
+:leveloffset: 0
+
+A Top Level Section
+-------------------
+Lorum ipsum.
+
+// Push titles down one level.
+:leveloffset: 1
+
+include::document2.txt[]
+
+include::document3.txt[]</code></pre>
+</div></div>
+<div class="paragraph"><p>The document titles in the included documents will now be processed as
+level 1 section titles, level 1 sections as level 2 sections and so
+on.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Put a blank line between the <code>include</code> macro lines to ensure the
+ title of the included document is not seen as part of the last
+ paragraph of the previous document.
+</p>
+</li>
+<li>
+<p>
+You won&#8217;t want non-title document header lines (for example, Author
+ and Revision lines) in the included files&#8201;&#8212;&#8201;conditionally exclude
+ them if they are necessary for stand-alone processing.
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_processing_document_sections_separately">36.6. Processing document sections separately</h3>
+<div class="paragraph"><p>You have divided your AsciiDoc document into separate files (one per
+top level section) which are combined and processed with the following
+top level document:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>Combined Document Title
+=======================
+Joe Bloggs
+v1.0, 12-Aug-03
+
+include::section1.txt[]
+
+include::section2.txt[]
+
+include::section3.txt[]</code></pre>
+</div></div>
+<div class="paragraph"><p>You also want to process the section files as separate documents.
+This is easy because <code>asciidoc(1)</code> will quite happily process
+<code>section1.txt</code>, <code>section2.txt</code> and <code>section3.txt</code> separately&#8201;&#8212;&#8201;the
+resulting output documents contain the section but have no document
+title.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_processing_document_snippets">36.7. Processing document snippets</h3>
+<div class="paragraph"><p>Use the <code>-s</code> (<code>--no-header-footer</code>) command-line option to suppress
+header and footer output, this is useful if the processed output is to
+be included in another file. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -sb docbook section1.txt</code></pre>
+</div></div>
+<div class="paragraph"><p><code>asciidoc(1)</code> can be used as a filter, so you can pipe chunks of text
+through it. For example:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ echo 'Hello *World!*' | asciidoc -s -
+&lt;div class="paragraph"&gt;&lt;p&gt;Hello &lt;strong&gt;World!&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_badges_in_html_page_footers">36.8. Badges in HTML page footers</h3>
+<div class="paragraph"><p>See the <code>[footer]</code> section in the AsciiDoc distribution <code>xhtml11.conf</code>
+configuration file.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_pretty_printing_asciidoc_output">36.9. Pretty printing AsciiDoc output</h3>
+<div class="paragraph"><p>If the indentation and layout of the <code>asciidoc(1)</code> output is not to your
+liking you can:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Change the indentation and layout of configuration file markup
+ template sections. The <code>{empty}</code> attribute is useful for outputting
+ trailing blank lines in markup templates.
+</p>
+</li>
+<li>
+<p>
+Use Dave Raggett&#8217;s <a href="http://tidy.sourceforge.net/">HTML Tidy</a> program
+ to tidy <code>asciidoc(1)</code> output. Example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -b docbook -o - mydoc.txt | tidy -indent -xml &gt;mydoc.xml</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Use the <code>xmllint(1)</code> format option. Example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ xmllint --format mydoc.xml</code></pre>
+</div></div>
+</li>
+</ol></div>
+</div>
+<div class="sect2">
+<h3 id="_supporting_minor_docbook_dtd_variations">36.10. Supporting minor DocBook DTD variations</h3>
+<div class="paragraph"><p>The conditional inclusion of DocBook SGML markup at the end of the
+distribution <code>docbook45.conf</code> file illustrates how to support minor
+DTD variations. The included sections override corresponding entries
+from preceding sections.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_creating_stand_alone_html_documents">36.11. Creating stand-alone HTML documents</h3>
+<div class="paragraph"><p>If you&#8217;ve ever tried to send someone an HTML document that includes
+stylesheets and images you&#8217;ll know that it&#8217;s not as straight-forward
+as exchanging a single file. AsciiDoc has options to create
+stand-alone documents containing embedded images, stylesheets and
+scripts. The following AsciiDoc command creates a single file
+containing <a href="#X66">embedded images</a>, CSS stylesheets, and JavaScript
+(for table of contents and footnotes):</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a data-uri -a icons -a toc -a max-width=55em article.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>You can view the HTML file here: <a href="https://asciidoc.org/article-standalone.html">https://asciidoc.org/article-standalone.html</a></p></div>
+</div>
+<div class="sect2">
+<h3 id="_shipping_stand_alone_asciidoc_source">36.12. Shipping stand-alone AsciiDoc source</h3>
+<div class="paragraph"><p>Reproducing presentation documents from someone else&#8217;s source has one
+major problem: unless your configuration files are the same as the
+creator&#8217;s you won&#8217;t get the same output.</p></div>
+<div class="paragraph"><p>The solution is to create a single backend specific configuration file
+using the <code>asciidoc(1)</code> <code>-c</code> (<code>--dump-conf</code>) command-line option. You
+then ship this file along with the AsciiDoc source document plus the
+<code>asciidoc.py</code> script. The only end user requirement is that they have
+Python installed (and that they consider you a trusted source). This
+example creates a composite HTML configuration file for <code>mydoc.txt</code>:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -cb xhtml11 mydoc.txt &gt; mydoc-xhtml11.conf</code></pre>
+</div></div>
+<div class="paragraph"><p>Ship <code>mydoc.txt</code>, <code>mydoc-html.conf</code>, and <code>asciidoc.py</code>. With
+these three files (and a Python interpreter) the recipient can
+regenerate the HMTL output:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ ./asciidoc.py -eb xhtml11 mydoc.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>The <code>-e</code> (<code>--no-conf</code>) option excludes the use of implicit
+configuration files, ensuring that only entries from the
+<code>mydoc-html.conf</code> configuration are used.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_inserting_blank_space">36.13. Inserting blank space</h3>
+<div class="paragraph"><p>Adjust your style sheets to add the correct separation between block
+elements. Inserting blank paragraphs containing a single non-breaking
+space character <code>{nbsp}</code> works but is an ad hoc solution compared
+to using style sheets.</p></div>
+</div>
+<div class="sect2">
+<h3 id="_closing_open_sections">36.14. Closing open sections</h3>
+<div class="paragraph"><p>You can close off section tags up to level <code>N</code> by calling the
+<code>eval::[Section.setlevel(N)]</code> system macro. This is useful if you
+want to include a section composed of raw markup. The following
+example includes a DocBook glossary division at the top section level
+(level 0):</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>ifdef::basebackend-docbook[]
+
+eval::[Section.setlevel(0)]
+
++++++++++++++++++++++++++++++++
+&lt;glossary&gt;
+ &lt;title&gt;Glossary&lt;/title&gt;
+ &lt;glossdiv&gt;
+ ...
+ &lt;/glossdiv&gt;
+&lt;/glossary&gt;
++++++++++++++++++++++++++++++++
+endif::basebackend-docbook[]</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_validating_output_files">36.15. Validating output files</h3>
+<div class="paragraph"><p>Use <code>xmllint(1)</code> to check the AsciiDoc generated markup is both well
+formed and valid. Here are some examples:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ xmllint --nonet --noout --valid docbook-file.xml
+$ xmllint --nonet --noout --valid xhtml11-file.html
+$ xmllint --nonet --noout --valid --html html4-file.html</code></pre>
+</div></div>
+<div class="paragraph"><p>The <code>--valid</code> option checks the file is valid against the document
+type&#8217;s DTD, if the DTD is not installed in your system&#8217;s catalog then
+it will be fetched from its Internet location. If you omit the
+<code>--valid</code> option the document will only be checked that it is well
+formed.</p></div>
+<div class="paragraph"><p>The online <a href="http://validator.w3.org/#validate_by_uri+with_options">W3C
+Markup Validation Service</a> is the defacto standard when it comes to
+validating HTML (it validates all HTML standards including HTML5).</p></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_glossary">Glossary</h2>
+<div class="sectionbody">
+<div class="dlist glossary"><dl>
+<dt>
+<a id="X8"></a> Block element
+</dt>
+<dd>
+<p>
+ An AsciiDoc block element is a document entity composed of one or
+ more whole lines of text.
+</p>
+</dd>
+<dt>
+<a id="X34"></a> Inline element
+</dt>
+<dd>
+<p>
+ AsciiDoc inline elements occur within block element textual
+ content, they perform formatting and substitution tasks.
+</p>
+</dd>
+<dt>
+Formal element
+</dt>
+<dd>
+<p>
+ An AsciiDoc block element that has a BlockTitle. Formal elements
+ are normally listed in front or back matter, for example lists of
+ tables, examples and figures.
+</p>
+</dd>
+<dt>
+Verbatim element
+</dt>
+<dd>
+<p>
+ The word verbatim indicates that white space and line breaks in
+ the source document are to be preserved in the output document.
+</p>
+</dd>
+</dl></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_migration_notes">Appendix A: Migration Notes</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="X53">Version 7 to version 8</h3>
+<div class="ulist"><ul>
+<li>
+<p>
+A new set of quotes has been introduced which may match inline text
+ in existing documents&#8201;&#8212;&#8201;if they do you&#8217;ll need to escape the
+ matched text with backslashes.
+</p>
+</li>
+<li>
+<p>
+The index entry inline macro syntax has changed&#8201;&#8212;&#8201;if your documents
+ include indexes you may need to edit them.
+</p>
+</li>
+<li>
+<p>
+Replaced <code>a2x(1)</code> <code>--no-icons</code> and <code>--no-copy</code> options with their
+ negated equivalents: <code>--icons</code> and <code>--copy</code> respectively. The
+ default behavior has also changed&#8201;&#8212;&#8201;the use of icons and copying of
+ icon and CSS files must be specified explicitly with the <code>--icons</code>
+ and <code>--copy</code> options.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>The rationale for the changes can be found in the AsciiDoc
+<code>CHANGELOG</code>.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">If you want to disable unconstrained quotes, the new alternative
+constrained quotes syntax and the new index entry syntax then you can
+define the attribute <code>asciidoc7compatible</code> (for example by using the
+<code>-a asciidoc7compatible</code> command-line option).</td>
+</tr></table>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X38">Appendix B: Packager Notes</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Read the <code>README</code> and <code>INSTALL</code> files (in the distribution root
+directory) for install prerequisites and procedures. The distribution
+<code>Makefile.in</code> (used by <code>configure</code> to generate the <code>Makefile</code>) is the
+canonical installation procedure.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X39">Appendix C: AsciiDoc Safe Mode</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc <em>safe mode</em> skips potentially dangerous scripted sections in
+AsciiDoc source files by inhibiting the execution of arbitrary code or
+the inclusion of arbitrary files.</p></div>
+<div class="paragraph"><p>The safe mode is disabled by default, it can be enabled with the
+<code>asciidoc(1)</code> <code>--safe</code> command-line option.</p></div>
+<div class="ulist"><div class="title">Safe mode constraints</div><ul>
+<li>
+<p>
+<code>eval</code>, <code>sys</code> and <code>sys2</code> executable attributes and block macros are
+ not executed.
+</p>
+</li>
+<li>
+<p>
+<code>include::&lt;filename&gt;[]</code> and <code>include1::&lt;filename&gt;[]</code> block macro
+ files must reside inside the parent file&#8217;s directory.
+</p>
+</li>
+<li>
+<p>
+<code>{include:&lt;filename&gt;}</code> executable attribute files must reside
+ inside the source document directory.
+</p>
+</li>
+<li>
+<p>
+Passthrough Blocks are dropped.
+</p>
+</li>
+</ul></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/warning.png" alt="Warning" />
+</td>
+<td class="content">
+<div class="paragraph"><p>The safe mode is not designed to protect against unsafe AsciiDoc
+configuration files. Be especially careful when:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Implementing filters.
+</p>
+</li>
+<li>
+<p>
+Implementing elements that don&#8217;t escape special characters.
+</p>
+</li>
+<li>
+<p>
+Accepting configuration files from untrusted sources.
+</p>
+</li>
+</ol></div>
+</td>
+</tr></table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_using_asciidoc_with_non_english_languages">Appendix D: Using AsciiDoc with non-English Languages</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc can process UTF-8 character sets but there are some things
+you need to be aware of:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+If you are generating output documents using a DocBook toolchain
+ then you should set the AsciiDoc <code>lang</code> attribute to the appropriate
+ language (it defaults to <code>en</code> (English)). This will ensure things
+ like table of contents, figure and table captions and admonition
+ captions are output in the specified language. For example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ a2x -a lang=es doc/article.txt</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+If you are outputting HTML directly from <code>asciidoc(1)</code> you&#8217;ll
+ need to set the various <code>*_caption</code> attributes to match your target
+ language (see the list of captions and titles in the <code>[attributes]</code>
+ section of the distribution <code>lang-*.conf</code> files). The easiest way is
+ to create a language <code>.conf</code> file (see the AsciiDoc&#8217;s <code>lang-en.conf</code>
+ file).
+</p>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">You still use the <em>NOTE</em>, <em>CAUTION</em>, <em>TIP</em>, <em>WARNING</em>,
+<em>IMPORTANT</em> captions in the AsciiDoc source, they get translated in
+the HTML output file.</td>
+</tr></table>
+</div>
+</li>
+<li>
+<p>
+<code>asciidoc(1)</code> automatically loads configuration files named like
+ <code>lang-&lt;lang&gt;.conf</code> where <code>&lt;lang&gt;</code> is a two letter language code that
+ matches the current AsciiDoc <code>lang</code> attribute. See also
+ <a href="#X27">Configuration File Names and Locations</a>.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_vim_syntax_highlighter">Appendix E: Vim Syntax Highlighter</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Syntax highlighting is incredibly useful, in addition to making
+reading AsciiDoc documents much easier syntax highlighting also helps
+you catch AsciiDoc syntax errors as you write your documents.</p></div>
+<div class="paragraph"><p>The AsciiDoc distribution directory contains a Vim syntax highlighter
+for AsciiDoc (<code>./vim/syntax/asciidoc.vim</code>), you can find the latest
+version in the online
+<a href="https://code.google.com/p/asciidoc/source/browse/">AsciiDoc
+repository</a>.</p></div>
+<div class="paragraph"><p>Install the highlighter by copying <code>asciidoc.vim</code> to your
+<code>$HOME/.vim/syntax</code> directory (create it if it doesn&#8217;t already exist).</p></div>
+<div class="paragraph"><p>To enable syntax highlighting:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Put a Vim <em>autocmd</em> in your Vim configuration file (see the
+ <a href="#X61">example vimrc file</a>).
+</p>
+</li>
+<li>
+<p>
+or execute the Vim command <code>:set syntax=asciidoc</code>.
+</p>
+</li>
+<li>
+<p>
+or add the following line to the end of you AsciiDoc source files:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>// vim: set syntax=asciidoc:</code></pre>
+</div></div>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X74">Appendix F: Attribute Options</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Here is the list of predefined <a href="#X75">attribute list options</a>:</p></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<col width="18%" />
+<col width="18%" />
+<col width="18%" />
+<col width="45%" />
+<thead>
+<tr>
+<th align="left" valign="top">Option</th>
+<th align="left" valign="top">Backends</th>
+<th align="left" valign="top">AsciiDoc Elements</th>
+<th align="left" valign="top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><em>autowidth</em></p></td>
+<td align="left" valign="top"><p class="table">xhtml11, html5, html4</p></td>
+<td align="left" valign="top"><p class="table">table</p></td>
+<td align="left" valign="top"><p class="table">The column widths are determined by the browser, not the AsciiDoc
+<em>cols</em> attribute. If there is no <em>width</em> attribute the table width is
+also left up to the browser.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>unbreakable</em></p></td>
+<td align="left" valign="top"><p class="table">xhtml11, html5</p></td>
+<td align="left" valign="top"><p class="table">block elements</p></td>
+<td align="left" valign="top"><p class="table"><em>unbreakable</em> attempts to keep the block element together on a single
+printed page c.f. the <em>breakable</em> and <em>unbreakable</em> docbook (XSL/FO)
+options below.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>breakable, unbreakable</em></p></td>
+<td align="left" valign="top"><p class="table">docbook (XSL/FO)</p></td>
+<td align="left" valign="top"><p class="table">table, example, block image</p></td>
+<td align="left" valign="top"><p class="table">The <em>breakable</em> options allows block elements to break across page
+boundaries; <em>unbreakable</em> attempts to keep the block element together
+on a single page. If neither option is specified the default XSL
+stylesheet behavior prevails.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>compact</em></p></td>
+<td align="left" valign="top"><p class="table">docbook, xhtml11, html5</p></td>
+<td align="left" valign="top"><p class="table">bulleted list, numbered list</p></td>
+<td align="left" valign="top"><p class="table">Minimizes vertical space in the list</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>footer</em></p></td>
+<td align="left" valign="top"><p class="table">docbook, xhtml11, html5, html4</p></td>
+<td align="left" valign="top"><p class="table">table</p></td>
+<td align="left" valign="top"><p class="table">The last row of the table is rendered as a footer.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>header</em></p></td>
+<td align="left" valign="top"><p class="table">docbook, xhtml11, html5, html4</p></td>
+<td align="left" valign="top"><p class="table">table</p></td>
+<td align="left" valign="top"><p class="table">The first row of the table is rendered as a header.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>pgwide</em></p></td>
+<td align="left" valign="top"><p class="table">docbook (XSL/FO)</p></td>
+<td align="left" valign="top"><p class="table">table, block image, horizontal labeled list</p></td>
+<td align="left" valign="top"><p class="table">Specifies that the element should be rendered across the full text
+width of the page irrespective of the current indentation.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>strong</em></p></td>
+<td align="left" valign="top"><p class="table">xhtml11, html5, html4</p></td>
+<td align="left" valign="top"><p class="table">labeled lists</p></td>
+<td align="left" valign="top"><p class="table">Emboldens label text.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X82">Appendix G: Diagnostics</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The <code>asciidoc(1)</code> <code>--verbose</code> command-line option prints additional
+information to stderr: files processed, filters processed, warnings,
+system attribute evaluation.</p></div>
+<div class="paragraph"><p>A special attribute named <em>trace</em> enables the output of
+element-by-element diagnostic messages detailing output markup
+generation to stderr. The <em>trace</em> attribute can be set on the
+command-line or from within the document using <a href="#X18">Attribute Entries</a> (the latter allows tracing to be confined to specific
+portions of the document).</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Trace messages print the source file name and line number and the
+ trace name followed by related markup.
+</p>
+</li>
+<li>
+<p>
+<em>trace names</em> are normally the names of AsciiDoc elements (see the
+ list below).
+</p>
+</li>
+<li>
+<p>
+The trace message is only printed if the <em>trace</em> attribute value
+ matches the start of a <em>trace name</em>. The <em>trace</em> attribute value can
+ be any Python regular expression. If a trace value is not specified
+ all trace messages will be printed (this can result in large amounts
+ of output if applied to the whole document).
+</p>
+</li>
+<li>
+<p>
+In the case of inline substitutions:
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+The text before and after the substitution is printed; the before
+ text is preceded by a line containing <code>&lt;&lt;&lt;</code> and the after text by
+ a line containing <code>&gt;&gt;&gt;</code>.
+</p>
+</li>
+<li>
+<p>
+The <em>subs</em> trace value is an alias for all inline substitutions.
+</p>
+</li>
+</ul></div>
+</li>
+</ul></div>
+<div class="literalblock">
+<div class="title">Trace names</div>
+<div class="content">
+<pre><code>&lt;blockname&gt; block close
+&lt;blockname&gt; block open
+&lt;subs&gt;
+dropped line (a line containing an undefined attribute reference).
+floating title
+footer
+header
+list close
+list entry close
+list entry open
+list item close
+list item open
+list label close
+list label open
+list open
+macro block (a block macro)
+name (man page NAME section)
+paragraph
+preamble close
+preamble open
+push blockname
+pop blockname
+section close
+section open: level &lt;level&gt;
+subs (all inline substitutions)
+table</code></pre>
+</div></div>
+<div class="paragraph"><p>Where:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<code>&lt;level&gt;</code> is section level number <em>0&#8230;4</em>.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;blockname&gt;</code> is a delimited block name: <em>comment</em>, <em>sidebar</em>,
+ <em>open</em>, <em>pass</em>, <em>listing</em>, <em>literal</em>, <em>quote</em>, <em>example</em>.
+</p>
+</li>
+<li>
+<p>
+<code>&lt;subs&gt;</code> is an inline substitution type:
+ <em>specialcharacters</em>,<em>quotes</em>,<em>specialwords</em>, <em>replacements</em>,
+ <em>attributes</em>,<em>macros</em>,<em>callouts</em>, <em>replacements2</em>, <em>replacements3</em>.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Command-line examples:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Trace the entire document.
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a trace mydoc.txt</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Trace messages whose names start with <code>quotes</code> or <code>macros</code>:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a 'trace=quotes|macros' mydoc.txt</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Print the first line of each trace message:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a trace mydoc.txt 2&gt;&amp;1 | grep ^TRACE:</code></pre>
+</div></div>
+</li>
+</ol></div>
+<div class="paragraph"><p>Attribute Entry examples:</p></div>
+<div class="olist arabic"><ol class="arabic">
+<li>
+<p>
+Begin printing all trace messages:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>:trace:</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Print only matched trace messages:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>:trace: quotes|macros</code></pre>
+</div></div>
+</li>
+<li>
+<p>
+Turn trace messages off:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>:trace!:</code></pre>
+</div></div>
+</li>
+</ol></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="X88">Appendix H: Backend Attributes</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>This table contains a list of optional attributes that influence the
+generated outputs.</p></div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="hsides"
+cellspacing="0" cellpadding="4">
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+<thead>
+<tr>
+<th align="left" valign="top">Name </th>
+<th align="left" valign="top">Backends </th>
+<th align="left" valign="top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><em>badges</em></p></td>
+<td align="left" valign="top"><p class="table">xhtml11, html5</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Link badges (<em>XHTML 1.1</em> and <em>CSS</em>) in document footers. By default
+badges are omitted (<em>badges</em> is undefined).</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">The path names of images, icons and scripts are relative path
+names to the output document not the source document.</td>
+</tr></table>
+</div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>data-uri</em></p></td>
+<td align="left" valign="top"><p class="table">xhtml11, html5</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Embed images using the <a href="#X66">data: uri scheme</a>.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>css-signature</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Set a <em>CSS signature</em> for the document (sets the <em>id</em> attribute of the
+HTML <em>body</em> element). CSS signatures provide a mechanism that allows
+users to personalize the document appearance. The term <em>CSS signature</em>
+was <a href="http://archivist.incutio.com/viewlist/css-discuss/13291">coined by
+Eric Meyer</a>.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>disable-javascript</em></p></td>
+<td align="left" valign="top"><p class="table">xhtml11, html5</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>If the <code>disable-javascript</code> attribute is defined the <code>asciidoc.js</code>
+JavaScript is not embedded or linked to the output document. By
+default AsciiDoc automatically embeds or links the <code>asciidoc.js</code>
+JavaScript to the output document. The script dynamically generates
+<a href="#X91">table of contents</a> and <a href="#X92">footnotes</a>.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em><a id="X97"></a> docinfo, docinfo1, docinfo2</em></p></td>
+<td align="left" valign="top"><p class="table">All backends</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>These three attributes control which <a href="#X87">document information files</a> will be included in the the header of the output file:</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+docinfo
+</dt>
+<dd>
+<p>
+Include <code>&lt;filename&gt;-docinfo.&lt;ext&gt;</code>
+</p>
+</dd>
+<dt class="hdlist1">
+docinfo1
+</dt>
+<dd>
+<p>
+Include <code>docinfo.&lt;ext&gt;</code>
+</p>
+</dd>
+<dt class="hdlist1">
+docinfo2
+</dt>
+<dd>
+<p>
+Include <code>docinfo.&lt;ext&gt;</code> and <code>&lt;filename&gt;-docinfo.&lt;ext&gt;</code>
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>Where <code>&lt;filename&gt;</code> is the file name (sans extension) of the AsciiDoc
+input file and <code>&lt;ext&gt;</code> is <code>.html</code> for HTML outputs or <code>.xml</code> for
+DocBook outputs. If the input file is the standard input then the
+output file name is used. The following example will include the
+<code>mydoc-docinfo.xml</code> docinfo file in the DocBook <code>mydoc.xml</code> output
+file:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a docinfo -b docbook mydoc.txt</code></pre>
+</div></div>
+<div class="paragraph"><p>This next example will include <code>docinfo.html</code> and <code>mydoc-docinfo.html</code>
+docinfo files in the HTML output file:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a docinfo2 -b html4 mydoc.txt</code></pre>
+</div></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em><a id="X54"></a>encoding</em></p></td>
+<td align="left" valign="top"><p class="table">html4, html5, xhtml11, docbook</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Set the input and output document character set encoding. For example
+the <code>--attribute encoding=ISO-8859-1</code> command-line option will set the
+character set encoding to <code>ISO-8859-1</code>.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+The default encoding is UTF-8.
+</p>
+</li>
+<li>
+<p>
+This attribute specifies the character set in the output document.
+</p>
+</li>
+<li>
+<p>
+The encoding name must correspond to a Python codec name or alias.
+</p>
+</li>
+<li>
+<p>
+The <em>encoding</em> attribute can be set using an AttributeEntry inside
+ the document header. For example:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>:encoding: ISO-8859-1</code></pre>
+</div></div>
+</li>
+</ul></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>hr</em></p></td>
+<td align="left" valign="top"><p class="table">html4</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Defines the <em>html4</em> inter-section horizontal ruler element. By default
+<em>html4</em> top level sections are separated by a horizontal ruler
+element, undefine this attribute or set it to an empty string if you
+do not want them. The default <em>html4</em> backend value for the <em>hr</em>
+attribute is <code>&lt;hr&gt;</code>.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em><a id="X45"></a>icons</em></p></td>
+<td align="left" valign="top"><p class="table">xhtml11, html5</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Link admonition paragraph and admonition block icon images and badge
+images. By default <em>icons</em> is undefined and text is used in place of
+icon images.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em><a id="X44"></a>iconsdir</em></p></td>
+<td align="left" valign="top"><p class="table">html4, html5, xhtml11, docbook</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>The name of the directory containing linked admonition icons,
+navigation icons and the <code>callouts</code> sub-directory (the <code>callouts</code>
+sub-directory contains <a href="#X105">callout</a> number images). <em>iconsdir</em>
+defaults to <code>./images/icons</code>. If admonition icons are embedded using
+the <a href="#X66">data-uri</a> scheme then the <em>iconsdir</em> attribute defaults to
+the location of the icons installed in the AsciiDoc configuration
+directory.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>imagesdir</em></p></td>
+<td align="left" valign="top"><p class="table">html4, html5, xhtml11, docbook</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>If this attribute is defined it is prepended to the target image file
+name paths in inline and block image macros.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>keywords, description, title</em></p></td>
+<td align="left" valign="top"><p class="table">html4, html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>The <em>keywords</em> and <em>description</em> attributes set the correspondingly
+named HTML meta tag contents; the <em>title</em> attribute sets the HTML
+title tag contents. Their principle use is for SEO (Search Engine
+Optimisation). All three are optional, but if they are used they must
+appear in the document header (or on the command-line). If <em>title</em> is
+not specified the AsciiDoc document title is used.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>linkcss</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Link CSS stylesheets and JavaScripts. By default <em>linkcss</em> is
+undefined in which case stylesheets and scripts are automatically
+embedded in the output document.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em><a id="X103"></a>max-width</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Set the document maximum display width (sets the <em>body</em> element CSS
+<em>max-width</em> property).</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>numbered</em></p></td>
+<td align="left" valign="top"><p class="table">html4, html5, xhtml11, docbook (XSL Stylesheets)</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Adds section numbers to section titles. The <em>docbook</em> backend ignores
+<em>numbered</em> attribute entries after the document header.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>plaintext</em></p></td>
+<td align="left" valign="top"><p class="table">All backends</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>If this global attribute is defined all inline substitutions are
+suppressed and block indents are retained. This option is useful when
+dealing with large amounts of imported plain text.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>quirks</em></p></td>
+<td align="left" valign="top"><p class="table">xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Include the <code>xhtml11-quirks.conf</code> configuration file and
+<code>xhtml11-quirks.css</code> <a href="#X35">stylesheet</a> to work around IE6 browser
+incompatibilities. This feature is deprecated and its use is
+discouraged&#8201;&#8212;&#8201;documents are still viewable in IE6 without it.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>revremark</em></p></td>
+<td align="left" valign="top"><p class="table">docbook</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>A short summary of changes in this document revision. Must be defined
+prior to the first document section. The document also needs to be
+dated to output this attribute.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>footer-style</em></p></td>
+<td align="left" valign="top"><p class="table">html4, html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Changes the "Last updated" field in the footer of the document or removes this
+field and the revision number (in the footer only).<br />
+Can take 3 values:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+none : Don&#8217;t display the "Last updated" and "Revision number" fields in the
+ footer of the document
+</p>
+</li>
+<li>
+<p>
+revdate : The "Last updated" field&#8217;s date in the footer will be the revision
+ date specified in the document (<code>revdate</code> attribute)
+</p>
+</li>
+<li>
+<p>
+default (or any other value) : The "Last updated" field&#8217;s date in the footer
+ will be the date of the input file modification
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>This attribute can be set, for example, using <code>:footer-style: revdate</code> in the
+header of the file or using the <code>--attribute footer-style=revdate</code> command-line
+option.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>scriptsdir</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>The name of the directory containing linked JavaScripts.
+See <a href="#X35">HTML stylesheets and JavaScript locations</a>.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>sgml</em></p></td>
+<td align="left" valign="top"><p class="table">docbook45</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>The <code>--backend=docbook45</code> command-line option produces DocBook 4.5
+XML. You can produce the older DocBook SGML format using the
+<code>--attribute sgml</code> command-line option.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>stylesdir</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>The name of the directory containing linked or embedded
+<a href="#X35">stylesheets</a>.
+See <a href="#X35">HTML stylesheets and JavaScript locations</a>.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>stylesheet</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>The file name of an optional additional CSS <a href="#X35">stylesheet</a>.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>theme</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Use alternative stylesheet (see <a href="#X35">Stylesheets</a>).</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em><a id="X91"></a>toc</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11, docbook (XSL Stylesheets)</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Adds a table of contents to the start of an article or book document.
+The <code>toc</code> attribute can be specified using the <code>--attribute toc</code>
+command-line option or a <code>:toc:</code> attribute entry in the document
+header. The <em>toc</em> attribute is defined by default when the <em>docbook</em>
+backend is used. To disable table of contents generation undefine the
+<em>toc</em> attribute by putting a <code>:toc!:</code> attribute entry in the document
+header or from the command-line with an <code>--attribute toc!</code> option.</p></div>
+<div class="paragraph"><p><strong>xhtml11 and html5 backends</strong></p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+JavaScript needs to be enabled in your browser.
+</p>
+</li>
+<li>
+<p>
+The following example generates a numbered table of contents using a
+ JavaScript embedded in the <code>mydoc.html</code> output document:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a toc -a numbered mydoc.txt</code></pre>
+</div></div>
+</li>
+</ul></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>toc2</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Adds a scrollable table of contents in the left hand margin of an
+article or book document. Use the <em>max-width</em> attribute to change the
+content width. In all other respects behaves the same as the <em>toc</em>
+attribute.</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>toc-placement</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>When set to <em>auto</em> (the default value) <code>asciidoc(1)</code> will place the
+table of contents in the document header. When <em>toc-placement</em> is set
+to <em>manual</em> the TOC can be positioned anywhere in the document by
+placing the <code>toc::[]</code> block macro at the point you want the TOC to
+appear.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<img src="./images/icons/note.png" alt="Note" />
+</td>
+<td class="content">If you use <em>toc-placement</em> then you also have to define the
+<a href="#X91">toc</a> attribute.</td>
+</tr></table>
+</div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>toc-title</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Sets the table of contents title (defaults to <em>Table of Contents</em>).</p></div></div></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><em>toclevels</em></p></td>
+<td align="left" valign="top"><p class="table">html5, xhtml11</p></td>
+<td align="left" valign="top"><div><div class="paragraph"><p>Sets the number of title levels (1..4) reported in the table of
+contents (see the <em>toc</em> attribute above). Defaults to 2 and must be
+used with the <em>toc</em> attribute. Example usage:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>$ asciidoc -a toc -a toclevels=3 doc/asciidoc.txt</code></pre>
+</div></div></div></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_license">Appendix I: License</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>AsciiDoc is free software; you can redistribute it and/or modify it
+under the terms of the <em>GNU General Public License version 2</em> (GPLv2)
+as published by the Free Software Foundation.</p></div>
+<div class="paragraph"><p>AsciiDoc is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License version 2 for more details.</p></div>
+<div class="paragraph"><p>Copyright &#169; 2002-2013 Stuart Rackham.</p></div>
+<div class="paragraph"><p>Copyright &#169; 2013-2020 AsciiDoc Contributors.</p></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:22 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/version83.html b/version83.html
new file mode 100644
index 0000000..d89d412
--- /dev/null
+++ b/version83.html
@@ -0,0 +1,130 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 10.0.0a2" />
+<title>AsciiDoc Version 8.3</title>
+<link rel="stylesheet" href="./asciidoc.css" type="text/css" />
+<link rel="stylesheet" href="./layout2.css" type="text/css" />
+<script type="text/javascript" src="./asciidoc.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+asciidoc.install();
+/*]]>*/
+</script>
+</head>
+<body style="max-width:70em">
+<div id="layout-menu-box">
+<div id="layout-menu">
+ <div>&#187;<a href="index.html">Home</a></div>
+ <div>&#187;<a href="userguide.html">User&nbsp;Guide</a></div>
+ <div>&#187;<a href="INSTALL.html">Installation</a></div>
+ <div>&#187;<a href="faq.html">FAQ</a></div>
+ <div>&#187;<a href="manpage.html">asciidoc(1)</a></div>
+ <div>&#187;<a href="a2x.1.html">a2x(1)</a></div>
+ <div>&#187;<a href="asciidocapi.html">API</a></div>
+ <div>&#187;<a href="plugins.html">Plugins</a></div>
+ <div>&#187;<a href="http://powerman.name/doc/asciidoc">Cheatsheet</a></div>
+ <div>&#187;<a href="testasciidoc.html">Tests</a></div>
+ <div>&#187;<a href="CHANGELOG.html">ChangeLog</a></div>
+ <div>&#187;<a href="support.html">Support</a></div>
+ <div id="page-source">&#187;<a href="version83.txt">Page&nbsp;Source</a></div>
+</div>
+</div>
+<div id="layout-content-box">
+<div id="layout-banner">
+ <div id="layout-title">AsciiDoc</div>
+ <div id="layout-description">Text based document generation</div>
+</div>
+<div id="layout-content">
+<div id="header">
+<h1>AsciiDoc Version 8.3</h1>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p>This is significant release, it gets rid of unused cruft, simplifies
+the <a href="https://asciidoc.org/newlists.html">lists</a> syntax and
+introduces a decent
+<a href="https://asciidoc.org/newtables.html">tables</a> syntax.
+There are a few fairly minor backward compatibility issues, please
+read the <a href="CHANGELOG.html#X1">compatibility issues</a> section in the
+CHANGLOG before upgrading.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_new_features">New Features</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+AsciiDoc tables have been redesigned. The <a href="newtables.html">new
+ syntax and features</a> are a huge improvement over the old tables. The
+ old tables syntax has been deprecated but is currently still
+ processed.
+</p>
+</li>
+<li>
+<p>
+Lists can now be styled like other block elements. This allows a
+ single list syntax for <em>glossary</em>, <em>qanda</em> (Question and Answer) and
+ <em>bibliography</em> lists instead of having to remember a different
+ syntax for each type. <a href="newlists.html">Here is some more
+ information</a>.
+</p>
+</li>
+<li>
+<p>
+Inline passthroughs macros have been improved and block passthrough
+ macros added. Attribute substitution can be optionally specified
+ when the macro is called.
+</p>
+</li>
+<li>
+<p>
+The passthrough block has a fully transparent passthrough delimited
+ block block style called <em>pass</em>.
+</p>
+</li>
+<li>
+<p>
+The <em>asciimath</em> and <em>latexmath</em> <a href="userguide.html#X77">passthrough
+ macros</a> along with <em>asciimath</em> and <em>latexmath</em>
+ <a href="userguide.html#X76">passthrough blocks</a> provide a (backend
+ dependent) mechanism for rendering mathematical formulas. There are
+ <a href="latexmath.pdf">LaTeX Math</a>, <a href="asciimathml.html">AsciiMathML</a>
+ and <a href="latexmathml.html">LaTeXMathML</a> examples on the AsciiDoc
+ website.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Read the <a href="CHANGELOG.html">CHANGELOG</a> for a full list of all
+additions and changes.</p></div>
+</div>
+</div>
+</div>
+<div id="footnotes"><hr /></div>
+<div id="footer">
+<div id="footer-text">
+Version 9.0.5<br />
+Last updated 2021-01-30 05:18:30 UTC<br />
+AsciiDoc is a trademark of the Eclipse Foundation, Inc.
+</div>
+<div id="footer-badges">
+<a href="https://validator.w3.org/check?uri=referer">
+ <img style="border:0;width:88px;height:31px"
+ src="https://www.w3.org/Icons/valid-xhtml11-blue"
+ alt="Valid XHTML 1.1" height="31" width="88" />
+</a>
+<a href="https://jigsaw.w3.org/css-validator/">
+ <img style="border:0;width:88px;height:31px"
+ src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ alt="Valid CSS!" />
+</a>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>