FooBarWidget-mizuho 0.9.1 → 0.9.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (136) hide show
  1. data/README.markdown +1 -1
  2. data/Rakefile +14 -2
  3. data/asciidoc/BUGS +11 -6
  4. data/asciidoc/BUGS.txt +7 -3
  5. data/asciidoc/CHANGELOG +313 -151
  6. data/asciidoc/CHANGELOG.txt +177 -12
  7. data/asciidoc/INSTALL +30 -36
  8. data/asciidoc/INSTALL.txt +20 -20
  9. data/asciidoc/Makefile.in +145 -0
  10. data/asciidoc/README +11 -11
  11. data/asciidoc/README.txt +9 -9
  12. data/asciidoc/a2x +40 -7
  13. data/asciidoc/asciidoc.conf +180 -126
  14. data/asciidoc/asciidoc.py +1667 -977
  15. data/asciidoc/common.aap +2 -2
  16. data/asciidoc/configure +2840 -0
  17. data/asciidoc/configure.ac +11 -0
  18. data/asciidoc/dblatex/asciidoc-dblatex.sty +2 -0
  19. data/asciidoc/dblatex/asciidoc-dblatex.xsl +15 -0
  20. data/asciidoc/dblatex/dblatex-readme.txt +19 -2
  21. data/asciidoc/doc/a2x.1 +77 -67
  22. data/asciidoc/doc/a2x.1.txt +11 -2
  23. data/asciidoc/doc/article.css-embedded.html +85 -63
  24. data/asciidoc/doc/article.html +644 -62
  25. data/asciidoc/doc/article.pdf +0 -0
  26. data/asciidoc/doc/article.txt +15 -17
  27. data/asciidoc/doc/asciidoc.1 +34 -40
  28. data/asciidoc/doc/asciidoc.1.css-embedded.html +67 -32
  29. data/asciidoc/doc/asciidoc.1.css.html +28 -28
  30. data/asciidoc/doc/asciidoc.1.html +33 -33
  31. data/asciidoc/doc/asciidoc.css-embedded.html +2234 -2348
  32. data/asciidoc/doc/asciidoc.css.html +2203 -2352
  33. data/asciidoc/doc/asciidoc.dict +52 -1
  34. data/asciidoc/doc/asciidoc.html +980 -1160
  35. data/asciidoc/doc/asciidoc.txt +941 -738
  36. data/asciidoc/doc/asciimathml.txt +63 -0
  37. data/asciidoc/doc/book-multi.html +26 -43
  38. data/asciidoc/doc/book-multi.txt +19 -23
  39. data/asciidoc/doc/book.css-embedded.html +92 -71
  40. data/asciidoc/doc/book.html +24 -41
  41. data/asciidoc/doc/book.txt +19 -21
  42. data/asciidoc/doc/docbook-xsl.css +1 -0
  43. data/asciidoc/doc/faq.txt +288 -60
  44. data/asciidoc/doc/images +1 -0
  45. data/asciidoc/doc/latex-backend.html +16 -123
  46. data/asciidoc/doc/latex-backend.txt +17 -19
  47. data/asciidoc/doc/latexmath.txt +233 -24
  48. data/asciidoc/doc/latexmathml.txt +41 -0
  49. data/asciidoc/doc/main.aap +9 -5
  50. data/asciidoc/doc/music-filter.pdf +0 -0
  51. data/asciidoc/doc/music-filter.txt +2 -2
  52. data/asciidoc/doc/source-highlight-filter.html +476 -105
  53. data/asciidoc/doc/source-highlight-filter.pdf +0 -0
  54. data/asciidoc/doc/source-highlight-filter.txt +39 -10
  55. data/asciidoc/docbook-xsl/asciidoc-docbook-xsl.txt +1 -29
  56. data/asciidoc/docbook-xsl/fo.xsl +35 -3
  57. data/asciidoc/docbook-xsl/manpage.xsl +3 -0
  58. data/asciidoc/docbook-xsl/text.xsl +50 -0
  59. data/asciidoc/docbook.conf +182 -73
  60. data/asciidoc/examples/website/ASCIIMathML.js +1 -0
  61. data/asciidoc/examples/website/CHANGELOG.html +618 -182
  62. data/asciidoc/examples/website/CHANGELOG.txt +1 -0
  63. data/asciidoc/examples/website/INSTALL.html +34 -36
  64. data/asciidoc/examples/website/INSTALL.txt +1 -0
  65. data/asciidoc/examples/website/LaTeXMathML.js +1 -0
  66. data/asciidoc/examples/website/README-website.html +26 -37
  67. data/asciidoc/examples/website/README-website.txt +6 -6
  68. data/asciidoc/examples/website/README.html +15 -15
  69. data/asciidoc/examples/website/README.txt +1 -0
  70. data/asciidoc/examples/website/a2x.1.html +74 -50
  71. data/asciidoc/examples/website/a2x.1.txt +1 -0
  72. data/asciidoc/examples/website/asciidoc-docbook-xsl.html +13 -48
  73. data/asciidoc/examples/website/asciidoc-docbook-xsl.txt +1 -0
  74. data/asciidoc/examples/website/asciimathml.txt +1 -0
  75. data/asciidoc/examples/website/customers.csv +1 -0
  76. data/asciidoc/examples/website/downloads.html +69 -31
  77. data/asciidoc/examples/website/downloads.txt +28 -5
  78. data/asciidoc/examples/website/faq.html +370 -124
  79. data/asciidoc/examples/website/faq.txt +1 -0
  80. data/asciidoc/examples/website/images +1 -0
  81. data/asciidoc/examples/website/index.html +64 -64
  82. data/asciidoc/examples/website/index.txt +22 -15
  83. data/asciidoc/examples/website/latex-backend.html +152 -257
  84. data/asciidoc/examples/website/latex-backend.txt +1 -0
  85. data/asciidoc/examples/website/latexmathml.txt +1 -0
  86. data/asciidoc/examples/website/manpage.html +27 -27
  87. data/asciidoc/examples/website/manpage.txt +1 -0
  88. data/asciidoc/examples/website/music-filter.html +18 -18
  89. data/asciidoc/examples/website/music-filter.txt +1 -0
  90. data/asciidoc/examples/website/music1.abc +1 -1
  91. data/asciidoc/examples/website/music1.png +0 -0
  92. data/asciidoc/examples/website/music2.ly +1 -1
  93. data/asciidoc/examples/website/music2.png +0 -0
  94. data/asciidoc/examples/website/newlists.txt +40 -0
  95. data/asciidoc/examples/website/newtables.txt +397 -0
  96. data/asciidoc/examples/website/source-highlight-filter.html +67 -32
  97. data/asciidoc/examples/website/source-highlight-filter.txt +1 -0
  98. data/asciidoc/examples/website/support.html +4 -4
  99. data/asciidoc/examples/website/toc.js +1 -0
  100. data/asciidoc/examples/website/userguide.html +2190 -2339
  101. data/asciidoc/examples/website/userguide.txt +1 -0
  102. data/asciidoc/examples/website/version83.txt +37 -0
  103. data/asciidoc/examples/website/version9.html +13 -13
  104. data/asciidoc/examples/website/xhtml11-manpage.css +1 -0
  105. data/asciidoc/examples/website/xhtml11-quirks.css +1 -0
  106. data/asciidoc/examples/website/xhtml11.css +1 -0
  107. data/asciidoc/filters/code-filter-readme.txt +3 -3
  108. data/asciidoc/filters/code-filter-test.txt +6 -6
  109. data/asciidoc/filters/source-highlight-filter.conf +12 -5
  110. data/asciidoc/html4.conf +152 -58
  111. data/asciidoc/install-sh +201 -0
  112. data/asciidoc/latex.conf +41 -41
  113. data/asciidoc/stylesheets/docbook-xsl.css +1 -0
  114. data/asciidoc/stylesheets/xhtml11.css +39 -4
  115. data/asciidoc/text.conf +4 -4
  116. data/asciidoc/vim/syntax/asciidoc.vim +58 -32
  117. data/asciidoc/wordpress.conf +48 -0
  118. data/asciidoc/xhtml11-quirks.conf +1 -1
  119. data/asciidoc/xhtml11.conf +198 -70
  120. data/bin/mizuho +5 -2
  121. data/lib/mizuho/generator.rb +48 -19
  122. data/mizuho.gemspec +16 -6
  123. metadata +58 -15
  124. data/asciidoc/doc/asciimath.txt +0 -47
  125. data/asciidoc/docbook-xsl/shaded-literallayout.patch +0 -32
  126. data/asciidoc/examples/website/asciimath.html +0 -157
  127. data/asciidoc/examples/website/latexmath.html +0 -119
  128. data/asciidoc/filters/code-filter-test-c++.txt +0 -7
  129. data/asciidoc/install.sh +0 -55
  130. data/asciidoc/linuxdoc.conf +0 -285
  131. data/asciidoc/math.conf +0 -50
  132. data/asciidoc/stylesheets/xhtml-deprecated-manpage.css +0 -21
  133. data/asciidoc/stylesheets/xhtml-deprecated.css +0 -247
  134. data/asciidoc/t.conf +0 -20
  135. data/asciidoc/xhtml-deprecated-css.conf +0 -235
  136. data/asciidoc/xhtml-deprecated.conf +0 -351
@@ -221,13 +221,19 @@ linkcss::
221
221
  which case stylesheets and scripts are automatically embedded in the
222
222
  output document.
223
223
 
224
+ scriptsdir::
225
+ The name of the directory containing linked JavaScripts. Defaults to
226
+ `.` (the same directory as the linking document).
227
+
224
228
  stylesdir::
225
229
  The name of the directory containing linked stylesheets. Defaults to
226
230
  `.` (the same directory as the linking document).
227
231
 
228
- scriptsdir::
229
- The name of the directory containing linked JavaScripts. Defaults to
230
- `.` (the same directory as the linking document).
232
+ stylesheet::
233
+ The file name of an optional additional CSS stylesheet. If you are
234
+ embedding the stylesheet specify the actual file name; if you are
235
+ linking CSS specify the file name relative to the directory
236
+ specified by the 'stylesdir' attribute.
231
237
 
232
238
  [[X45]]
233
239
  icons::
@@ -305,45 +311,20 @@ Default 'xhtml11' stylesheets:
305
311
  Stylesheet modifications to work around IE6 browser
306
312
  incompatibilities.
307
313
 
308
- Use the 'theme' attribute to select and alternative set of
309
- stylesheets. For example, the command-line option `-a theme=foo` will
310
- use stylesheets `foo.css`, `foo-manpage.css` and `foo-quirks.css`.
314
+ Use the 'theme' attribute to select an alternative set of stylesheets.
315
+ For example, the command-line option `-a theme=foo` will use
316
+ stylesheets `foo.css`, `foo-manpage.css` and `foo-quirks.css` instead
317
+ of the default stylesheets.
311
318
 
319
+ Use the 'stylesheet' attribute to include an additional stylesheet in
320
+ XHTML documents. For example, the command-line option `-a
321
+ stylesheet=newsletter.css` will use stylesheets `newsletter.css`.
312
322
 
313
323
  html4
314
324
  ~~~~~
315
325
  This backend generates plain (unstyled) HTML 4.01 Transitional markup.
316
326
 
317
327
 
318
- linuxdoc
319
- ~~~~~~~~
320
- WARNING: The AsciiDoc linuxdoc backend is still distributed but is no
321
- longer being actively developed or tested with new AsciiDoc releases
322
- (the last supported release was AsciiDoc 6.0.3).
323
-
324
- - Tables are not supported.
325
- - Images are not supported.
326
- - Callouts are not supported.
327
- - Horizontal labeled lists are not supported.
328
- - Only article document types are allowed.
329
- - The Abstract section can consist only of a single paragraph.
330
- - An AsciiDoc Preamble is not allowed.
331
- - The LinuxDoc output format does not support multiple labels per
332
- labeled list item although LinuxDoc conversion programs generally
333
- output all the labels with a warning.
334
- - Don't apply character formatting to the `link` macro attributes,
335
- LinuxDoc does not allow displayed link text to be formatted.
336
-
337
- The default output file name extension is `.sgml`.
338
-
339
- latex
340
- ~~~~~
341
- An experimental LaTeX backend has been written for AsciiDoc by
342
- Benjamin Klum. A tutorial `./doc/latex-backend.html` is included in
343
- the AsciiDoc distribution which can also be viewed at
344
- http://www.methods.co.nz/asciidoc/latex-backend.html.
345
-
346
-
347
328
  Document Structure
348
329
  ------------------
349
330
  An AsciiDoc document consists of a series of <<X8,block elements>>
@@ -375,13 +356,10 @@ definition] as follows:
375
356
  BulletedList ::= (ListItem)+
376
357
  NumberedList ::= (ListItem)+
377
358
  CalloutList ::= (ListItem)+
378
- LabeledList ::= (ItemLabel+,ListItem)+
359
+ LabeledList ::= (ListEntry)+
360
+ ListEntry ::= (ListLabel,ListItem)
361
+ ListLabel ::= (ListTerm+)
379
362
  ListItem ::= (ItemText,(List|ListParagraph|ListContinuation)*)
380
- Table ::= (Ruler,TableHeader?,TableBody,TableFooter?)
381
- TableHeader ::= (TableRow+,TableUnderline)
382
- TableFooter ::= (TableRow+,TableUnderline)
383
- TableBody ::= (TableRow+,TableUnderline)
384
- TableRow ::= (TableData+)
385
363
 
386
364
  Where:
387
365
 
@@ -474,11 +452,12 @@ load but the browser will ignore the (as yet ungenerated) section ID.
474
452
 
475
453
  The IDs are generated by the following algorithm:
476
454
 
477
- - Replace all non-alphanumeric title characters with an underscore.
455
+ - Replace all non-alphanumeric title characters with underscores.
478
456
  - Strip leading or trailing underscores.
479
457
  - Convert to lowercase.
480
- - Prepend an underscore (so there's no possibility of name clashes
481
- with existing document IDs).
458
+ - Prepend the `idprefix` attribute (so there's no possibility of name
459
+ clashes with existing document IDs). Prepend an underscore if the
460
+ `idprefix` attribute is not defined.
482
461
  - A numbered suffix (`_2`, `_3` ...) is added if a same named
483
462
  auto-generated section ID exists.
484
463
 
@@ -591,8 +570,7 @@ following default order:
591
570
  4. Replacements
592
571
  5. Attributes
593
572
  6. Inline Macros
594
- 7. Passthroughs
595
- 8. Replacements2
573
+ 7. Replacements2
596
574
 
597
575
  The substitutions and substitution order performed on
598
576
  Title, Paragraph and DelimitedBlock elements is determined by
@@ -617,11 +595,18 @@ _Emphasized text_::
617
595
 
618
596
  +Monospaced text+::
619
597
  Word phrases \`enclosed in backtick characters` (grave
620
- accents) or \+plus characters+ are rendered in a monospaced font.
598
+ accents) or \+plus characters+ are rendered in a monospaced
599
+ font.
600
+
601
+ `Single quoted text'::
602
+ Phrases enclosed with a \`single grave accent to the left and
603
+ a single acute accent to the right' are rendered in single
604
+ quotation marks.
621
605
 
622
- ``Quoted text''::
623
- Phrases \``enclosed with two grave accents to the left and two
624
- acute accents to the right\'' are rendered in quotation marks.
606
+ ``Double quoted text''::
607
+ Phrases enclosed with \\``two grave accents to the left and
608
+ two acute accents to the right'' are rendered in quotation
609
+ marks.
625
610
 
626
611
  #Unquoted text#::
627
612
  Placing \#hashes around text# does nothing, it is a mechanism
@@ -651,7 +636,7 @@ is a number which treated as em units. Here are some examples:
651
636
  New quotes can be defined by editing asciidoc(1) configuration files.
652
637
  See the <<X7,Configuration Files>> section for details.
653
638
 
654
- .Quoted text properties
639
+ .Quoted text behavior
655
640
  - Quoting cannot be overlapped.
656
641
  - Different quoting types can be nested.
657
642
  - To suppress quoted text formatting place a backslash character
@@ -700,20 +685,6 @@ constrained quotes) -- here's how to escape the previous example:
700
685
 
701
686
  =====================================================================
702
687
 
703
- [[X50]]
704
- Inline Passthroughs
705
- ~~~~~~~~~~~~~~~~~~~
706
- This special text quoting mechanism passes inline text to the output
707
- document without the usual substitutions. There are two flavors:
708
-
709
- \+\++Triple-plus passthrough\+\++::
710
- No change is made to the quoted text, it is passed verbatim to the
711
- output document.
712
-
713
- \$$Double-dollar passthrough$$::
714
- Special characters are escaped but no other changes are made.
715
- This passthrough can be prefixed with inline attributes.
716
-
717
688
  Superscripts and Subscripts
718
689
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~
719
690
  Put \^carets on either^ side of the text to be superscripted, put
@@ -732,29 +703,45 @@ Superscripts and subscripts are implemented as <<X52,unconstrained
732
703
  quotes>> so they can be escaped with a leading backslash and prefixed
733
704
  with with an attribute list.
734
705
 
735
- Line Breaks (HTML/XHTML)
736
- ~~~~~~~~~~~~~~~~~~~~~~~~
706
+ Line Breaks
707
+ ~~~~~~~~~~~
737
708
  A plus character preceded by at least one space character at the end
738
- of a line forces a line break. It generates an HTML line break
739
- (`<br />`) tag. Line breaks are ignored when outputting to DocBook
740
- since it has no line break element.
709
+ of a non-blank line forces a line break. It generates a line break
710
+ (`br`) tag for HTML outputs and a custom XML `asciidoc-br` processing
711
+ instruction for DocBook outputs. The `asciidoc-br` processing
712
+ instruction is handled by <<X43,a2x(1)>> if you use FOP.
741
713
 
742
- Rulers (HTML/XHTML)
743
- ~~~~~~~~~~~~~~~~~~~
744
- A line of four or more apostrophe characters will generate an HTML
745
- ruler (`<hr />`) tag. Ignored when generating non-HTML output formats.
714
+ Page Breaks
715
+ ~~~~~~~~~~~
716
+ A line of three or more less-than (`<<<`) characters will generate a
717
+ hard page break in DocBook and printed HTML outputs. It uses the CSS
718
+ `page-break-after` property for HTML outputs and a custom XML
719
+ `asciidoc-pagebreak` processing instruction for DocBook outputs. The
720
+ `asciidoc-pagebreak` processing instruction is handled by
721
+ <<X43,a2x(1)>> if you use FOP. Hard page breaks are sometimes handy
722
+ but as a general rule you should let your page processor generate page
723
+ breaks for you.
724
+
725
+ Rulers
726
+ ~~~~~~
727
+ A line of three or more apostrophe characters will generate a ruler
728
+ line. It generates a ruler (`hr`) tag for HTML outputs and a custom XML
729
+ `asciidoc-hr` processing instruction for DocBook outputs. The
730
+ `asciidoc-hr` processing instruction is handled by <<X43,a2x(1)>> if
731
+ you use FOP.
746
732
 
747
733
  Tabs
748
734
  ~~~~
749
735
  By default tab characters input files will translated to 8 spaces. Tab
750
736
  expansion is set with the 'tabsize' entry in the configuration file
751
- `[miscellaneous]` section and can be overridden in the 'include' block macro
752
- by setting a 'tabsize' attribute in the macro's attribute list. For example:
737
+ `[miscellaneous]` section and can be overridden in included files by
738
+ setting a 'tabsize' attribute in the `include` macro's attribute list.
739
+ For example:
753
740
 
754
741
  include::addendum.txt[tabsize=2]
755
742
 
756
743
  The tab size can also be set using the attribute command-line option,
757
- for example `\--attribute tabsize=4`
744
+ for example `--attribute tabsize=4`
758
745
 
759
746
  Replacements
760
747
  ~~~~~~~~~~~~
@@ -771,6 +758,17 @@ Which are rendered as:
771
758
  -- em dash, ... ellipsis, -> right arrow, <- left arrow, => right
772
759
  double arrow, <= left double arrow.
773
760
 
761
+ You can also include arbitrary entity references in the AsciiDoc
762
+ source. Examples:
763
+
764
+ &#x278a; &#182;
765
+
766
+ renders:
767
+
768
+ &#x278a; &#182;
769
+
770
+ To render a replacement literally escape it with a leading back-slash.
771
+
774
772
  The <<X7,Configuration Files>> section explains how to configure your
775
773
  own replacements.
776
774
 
@@ -1023,17 +1021,17 @@ The <<X56,code>>, <<X57,source>> and <<X58,music>> filter blocks are
1023
1021
  detailed in the <<X59,Filters>> section.
1024
1022
 
1025
1023
  .Default DelimitedBlock substitutions
1026
- `-------------.------------.---------.---------.---------.---------
1027
- Passthrough Listing Literal Sidebar Quote
1028
- -------------------------------------------------------------------
1029
- Callouts No Yes Yes No No
1030
- Attributes Yes No No Yes Yes
1031
- Inline Macros Yes No No Yes Yes
1032
- Quotes No No No Yes Yes
1033
- Replacements No No No Yes Yes
1034
- Special chars No Yes Yes Yes Yes
1035
- Special words No No No Yes Yes
1036
- -------------------------------------------------------------------
1024
+ [cols="2,5*^",options="header"]
1025
+ |==================================================================
1026
+ | |Passthrough |Listing |Literal |Sidebar |Quote
1027
+ |Callouts | No | Yes | Yes | No | No
1028
+ |Attributes | Yes | No | No | Yes | Yes
1029
+ |Inline Macros | Yes | No | No | Yes | Yes
1030
+ |Quotes | No | No | No | Yes | Yes
1031
+ |Replacements | No | No | No | Yes | Yes
1032
+ |Special chars | No | Yes | Yes | Yes | Yes
1033
+ |Special words | No | No | No | Yes | Yes
1034
+ |==================================================================
1037
1035
 
1038
1036
  Listing Blocks
1039
1037
  ~~~~~~~~~~~~~~
@@ -1045,14 +1043,16 @@ often used for code and file listings.
1045
1043
 
1046
1044
  Here's an example:
1047
1045
 
1048
- --------------------------------------
1049
- #include <stdio.h>
1046
+ ---------------------------------------
1047
+ --------------------------------------
1048
+ #include <stdio.h>
1050
1049
 
1051
1050
  int main() {
1052
- printf("Hello World!\n");
1053
- exit(0);
1054
- }
1055
- --------------------------------------
1051
+ printf("Hello World!\n");
1052
+ exit(0);
1053
+ }
1054
+ --------------------------------------
1055
+ ---------------------------------------
1056
1056
 
1057
1057
  Which will be rendered like:
1058
1058
 
@@ -1130,11 +1130,12 @@ asciidoc(1).
1130
1130
 
1131
1131
  See also <<X25,Comment Lines>>.
1132
1132
 
1133
+ [[X76]]
1133
1134
  Passthrough Blocks
1134
1135
  ~~~~~~~~~~~~~~~~~~
1135
- PassthroughBlocks are for backend specific markup, text is only
1136
- subject to attribute and macro substitution. PassthroughBlock content
1137
- will generally be backend specific. Here's an example:
1136
+ By default the block contents is subject to attribute and macro
1137
+ substitution, no other markup is generated. PassthroughBlock content
1138
+ will often be backend specific. Here's an example:
1138
1139
 
1139
1140
  ---------------------------------------------------------------------
1140
1141
  ++++++++++++++++++++++++++++++++++++++
@@ -1145,6 +1146,16 @@ will generally be backend specific. Here's an example:
1145
1146
  ++++++++++++++++++++++++++++++++++++++
1146
1147
  ---------------------------------------------------------------------
1147
1148
 
1149
+ Use and explicit 'subs' attribute to control substitution. The
1150
+ following styles can be applied to passthrough blocks:
1151
+
1152
+ pass::
1153
+ By default no substitutions are performed.
1154
+
1155
+ asciimath, latexmath::
1156
+ By default no substitutions are performed, the contents are rendered
1157
+ as <<X78,mathematical formulas>>.
1158
+
1148
1159
  Quote Blocks
1149
1160
  ~~~~~~~~~~~~
1150
1161
  QuoteBlocks are used for quoted passages of text. There are two
@@ -1222,9 +1233,8 @@ Qui in magna commodo, est labitur dolorum an. Est ne magna primis
1222
1233
  adolescens.
1223
1234
  =====================================================================
1224
1235
 
1225
- The title prefix that is automatically inserted by asciidoc(1) can be
1226
- customized with the `caption` attribute (`xhtml11` and `html4`
1227
- backends). For example
1236
+ A title prefix that can be inserted with the `caption` attribute
1237
+ (`xhtml11` and `html4` backends). For example:
1228
1238
 
1229
1239
  ---------------------------------------------------------------------
1230
1240
  [caption="Example 1: "]
@@ -1289,20 +1299,22 @@ Lists
1289
1299
  - Callout lists (a list of callout annotations).
1290
1300
 
1291
1301
  .List behavior
1292
- - Indentation is optional and does not determine nesting, indentation
1293
- does however make the source more readable.
1302
+ - List item indentation is optional and does not determine nesting,
1303
+ indentation does however make the source more readable.
1294
1304
  - A nested list must use a different syntax from its parent so that
1295
1305
  asciidoc(1) can distinguish the start of a nested list.
1296
1306
  - By default lists of the same type can only be nested two deep; this
1297
1307
  could be increased by defining new list definitions.
1298
1308
  - In addition to nested lists a list item will include immediately
1299
1309
  following Literal paragraphs.
1300
- - Use <<X15, List Item Continuation>> to include other block elements
1301
- in a list item.
1310
+ - Use <<X15, List Item Continuation>> to append other block elements
1311
+ to a list item.
1302
1312
  - The `listindex` <<X60,intrinsic attribute>> is the current list item
1303
1313
  index (1..). If this attribute is not inside a list then it's value
1304
1314
  is the number of items in the most recently closed list. Useful for
1305
1315
  displaying the number of items in a list.
1316
+ - You need to use <<X15,list item continuation>> if a nested list is
1317
+ accompanied by an <<X21,attribute list>>.
1306
1318
 
1307
1319
  Bulleted and Numbered Lists
1308
1320
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1373,28 +1385,43 @@ Which render as:
1373
1385
  3. Donec eget arcu bibendum nunc consequat lobortis.
1374
1386
  4. Nam fermentum mattis ante.
1375
1387
 
1376
- Vertical Labeled Lists
1377
- ~~~~~~~~~~~~~~~~~~~~~~
1388
+ A predefined 'compact' option is available to bulleted and numbered
1389
+ lists -- this translates to the DocBook 'spacing="compact"' lists
1390
+ attribute which may or may not be processed by the DocBook toolchain.
1391
+ Example:
1392
+
1393
+ [options="compact"]
1394
+ - Compact list item.
1395
+ - Another compact list item.
1396
+
1397
+ TIP: To apply the 'compact' option globally define a document-wide
1398
+ 'compact-option' attribute, e.g. using the `-a compact-option`
1399
+ command-line option.
1400
+
1401
+ Labeled Lists
1402
+ ~~~~~~~~~~~~~
1378
1403
  Labeled list items consist of one or more text labels followed the
1379
1404
  text of the list item.
1380
1405
 
1381
1406
  An item label begins a line with an alphanumeric character hard
1382
1407
  against the left margin and ends with a double colon `::` or
1383
- semi-colon `;;`.
1408
+ semi-colon `;;`. A list item can have multiple labels, one per line.
1384
1409
 
1385
- The list item text consists of one or more lines of text starting on
1386
- the line immediately following the label and can be followed by nested
1387
- List or ListParagraph elements. Item text can be optionally indented.
1410
+ The list item text consists of one or more lines of text starting
1411
+ after the last label (either on the same line or a new line) and can
1412
+ be followed by nested List or ListParagraph elements. Item text can be
1413
+ optionally indented.
1388
1414
 
1389
1415
  Here are some examples:
1416
+
1390
1417
  ---------------------------------------------------------------------
1418
+ In::
1391
1419
  Lorem::
1392
1420
  Fusce euismod commodo velit.
1393
1421
 
1394
1422
  Fusce euismod commodo velit.
1395
1423
 
1396
- Ipsum::
1397
- Vivamus fringilla mi eu lacus.
1424
+ Ipsum:: Vivamus fringilla mi eu lacus.
1398
1425
  * Vivamus fringilla mi eu lacus.
1399
1426
  * Donec eget arcu bibendum nunc consequat lobortis.
1400
1427
  Dolor::
@@ -1409,13 +1436,13 @@ Dolor::
1409
1436
 
1410
1437
  Which render as:
1411
1438
 
1439
+ In::
1412
1440
  Lorem::
1413
1441
  Fusce euismod commodo velit.
1414
1442
 
1415
1443
  Fusce euismod commodo velit.
1416
1444
 
1417
- Ipsum::
1418
- Vivamus fringilla mi eu lacus.
1445
+ Ipsum:: Vivamus fringilla mi eu lacus.
1419
1446
  * Vivamus fringilla mi eu lacus.
1420
1447
  * Donec eget arcu bibendum nunc consequat lobortis.
1421
1448
  Dolor::
@@ -1427,18 +1454,13 @@ Dolor::
1427
1454
  In;;
1428
1455
  Dictum mauris in urna.
1429
1456
 
1430
- Horizontal Labeled Lists
1431
- ~~~~~~~~~~~~~~~~~~~~~~~~
1432
- Horizontal labeled lists differ from vertical labeled lists in that
1433
- the label and the list item sit side-by-side as opposed to the item
1434
- under the label. Item text must begin on the same line as the label
1435
- although you can begin item text on the next line if you follow the
1436
- label with a backslash.
1437
-
1438
- The following horizontal list example also illustrates the omission
1439
- of optional indentation:
1457
+ Horizontal labeled list style
1458
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1459
+ The 'horizontal' labeled list style places the list text side-by-side
1460
+ with the label instead of under the label. Here is an example:
1440
1461
 
1441
1462
  ---------------------------------------------------------------------
1463
+ [horizontal]
1442
1464
  *Lorem*:: Fusce euismod commodo velit. Qui in magna commodo, est
1443
1465
  labitur dolorum an. Est ne magna primis adolescens.
1444
1466
 
@@ -1448,7 +1470,7 @@ labitur dolorum an. Est ne magna primis adolescens.
1448
1470
  - Vivamus fringilla mi eu lacus.
1449
1471
  - Donec eget arcu bibendum nunc consequat lobortis.
1450
1472
 
1451
- *Dolor*:: \
1473
+ *Dolor*::
1452
1474
  - Vivamus fringilla mi eu lacus.
1453
1475
  - Donec eget arcu bibendum nunc consequat lobortis.
1454
1476
 
@@ -1456,6 +1478,7 @@ labitur dolorum an. Est ne magna primis adolescens.
1456
1478
 
1457
1479
  Which render as:
1458
1480
 
1481
+ [horizontal]
1459
1482
  *Lorem*:: Fusce euismod commodo velit. Qui in magna commodo, est
1460
1483
  labitur dolorum an. Est ne magna primis adolescens.
1461
1484
 
@@ -1465,50 +1488,54 @@ labitur dolorum an. Est ne magna primis adolescens.
1465
1488
  - Vivamus fringilla mi eu lacus.
1466
1489
  - Donec eget arcu bibendum nunc consequat lobortis.
1467
1490
 
1468
- *Dolor*:: \
1491
+ *Dolor*::
1469
1492
  - Vivamus fringilla mi eu lacus.
1470
1493
  - Donec eget arcu bibendum nunc consequat lobortis.
1471
1494
 
1472
- [WARNING]
1495
+ [NOTE]
1473
1496
  =====================================================================
1474
- - Use vertical labeled lists in preference to horizontal labeled lists
1475
- -- current PDF toolchains do not make a good job of determining
1476
- the relative column widths.
1477
- - If you are generating DocBook markup the horizontal labeled lists
1497
+ - Current PDF toolchains do not make a good job of determining
1498
+ the relative column widths for horizontal labeled lists.
1499
+ - If you are generating DocBook markup then horizontal labeled lists
1478
1500
  should not be nested because the 'DocBook XML V4.2' DTD does not
1479
1501
  permit nested informal tables (although <<X13,DocBook XSL
1480
- Stylesheets>> process them correctly).
1502
+ Stylesheets>> and <<X31,dblatex>> process them correctly).
1503
+ - The label width can be set as a percentage of the total width by
1504
+ setting the 'width' attribute e.g. `width="10%"`
1505
+
1481
1506
  =====================================================================
1482
1507
 
1483
1508
  Question and Answer Lists
1484
1509
  ~~~~~~~~~~~~~~~~~~~~~~~~~
1485
- AsciiDoc comes pre-configured with a labeled list for generating
1486
- DocBook question and answer (Q&A) lists (`??` label delimiter).
1487
- Example:
1510
+ AsciiDoc comes pre-configured with a 'qanda' style labeled list for generating
1511
+ DocBook question and answer (Q&A) lists. Example:
1488
1512
 
1489
1513
  ---------------------------------------------------------------------
1490
- Question one??
1514
+ [qanda]
1515
+ Question one::
1491
1516
  Answer one.
1492
- Question two??
1517
+ Question two::
1493
1518
  Answer two.
1494
1519
  ---------------------------------------------------------------------
1495
1520
 
1496
1521
  Renders:
1497
1522
 
1498
- Question one??
1523
+ [qanda]
1524
+ Question one::
1499
1525
  Answer one.
1500
- Question two??
1526
+ Question two::
1501
1527
  Answer two.
1502
1528
 
1503
1529
  Glossary Lists
1504
1530
  ~~~~~~~~~~~~~~
1505
- AsciiDoc comes pre-configured with a labeled list (`:-` label
1506
- delimiter) for generating DocBook glossary lists. Example:
1531
+ AsciiDoc comes pre-configured with a 'glossary' style labeled list for
1532
+ generating DocBook glossary lists. Example:
1507
1533
 
1508
1534
  ---------------------------------------------------------------------
1509
- A glossary term:-
1535
+ [glossary]
1536
+ A glossary term::
1510
1537
  The corresponding definition.
1511
- A second glossary term:-
1538
+ A second glossary term::
1512
1539
  The corresponding definition.
1513
1540
  ---------------------------------------------------------------------
1514
1541
 
@@ -1520,13 +1547,14 @@ in a glossary section.
1520
1547
 
1521
1548
  Bibliography Lists
1522
1549
  ~~~~~~~~~~~~~~~~~~
1523
- AsciiDoc comes with a predefined itemized list (`+` item bullet) for
1524
- generating bibliography entries. Example:
1550
+ AsciiDoc comes with a predefined 'bibliography' bulleted list style
1551
+ generating DocBook bibliography entries. Example:
1525
1552
 
1526
1553
  ---------------------------------------------------------------------
1527
- + [[[taoup]]] Eric Steven Raymond. 'The Art of UNIX
1554
+ [bibliography]
1555
+ - [[[taoup]]] Eric Steven Raymond. 'The Art of UNIX
1528
1556
  Programming'. Addison-Wesley. ISBN 0-13-142901-9.
1529
- + [[[walsh-muellner]]] Norman Walsh & Leonard Muellner.
1557
+ - [[[walsh-muellner]]] Norman Walsh & Leonard Muellner.
1530
1558
  'DocBook - The Definitive Guide'. O'Reilly & Associates.
1531
1559
  1999. ISBN 1-56592-580-7.
1532
1560
  ---------------------------------------------------------------------
@@ -1553,7 +1581,11 @@ implicitly included nested lists and Literal paragraphs) place a
1553
1581
  separator line containing a single plus character between the list
1554
1582
  item and the ensuing list continuation element. Multiple block
1555
1583
  elements (excluding section Titles and BlockTitles) may be included in
1556
- a list item using this technique. For example:
1584
+ a list item using this technique. Note that the continued items must
1585
+ be indented as they normally would be outside of the list.
1586
+
1587
+ You also need to use list item continuation if a nested list is
1588
+ accompanied by an <<X21,attribute list>>.
1557
1589
 
1558
1590
  Here's an example of list item continuation:
1559
1591
 
@@ -1677,14 +1709,26 @@ This paragraph belongs to item 1.
1677
1709
  Footnotes
1678
1710
  ---------
1679
1711
  The shipped AsciiDoc configuration includes the `\footnote:[<text>]`
1680
- inline macro for generating footnotes. The footnote text can span
1681
- multiple lines. Example footnote:
1712
+ and `\footnoteref:[<id>,<text>]` inline macros for generating
1713
+ footnotes:
1714
+
1715
+ - The `footnote` macro generates a footnote.
1716
+ - The `footnoteref` macro has two forms: if the text is supplied a
1717
+ foot note with an ID is generated; if the text is omitted a
1718
+ reference to the footnote with the specified ID is generated.
1719
+ - The footnote text can span multiple lines.
1720
+
1721
+ Example footnote:
1682
1722
 
1683
- A footnote footnote:[An example footnote.]
1723
+ A footnote footnote:[An example footnote.];
1724
+ a second footnote with a reference ID footnoteref:[note2,Second footnote.];
1725
+ finally a reference to the second footnote footnoteref:[note2].
1684
1726
 
1685
1727
  Which renders:
1686
1728
 
1687
- A footnote footnote:[An example footnote.]
1729
+ A footnote footnote:[An example footnote.];
1730
+ a second footnote with a reference ID footnoteref:[note2,Second footnote];
1731
+ finally a reference to the second footnote footnoteref:[note2].
1688
1732
 
1689
1733
  Footnotes are primarily useful when generating DocBook output --
1690
1734
  DocBook conversion programs render footnote outside the primary text
@@ -1729,30 +1773,30 @@ presented in a callout list after the annotated text. Here's an
1729
1773
  example:
1730
1774
 
1731
1775
  ---------------------------------------------------------------------
1732
- .MS-DOS directory listing
1733
- .....................................................
1734
- 10/17/97 9:04 <DIR> bin
1735
- 10/16/97 14:11 <DIR> DOS \<1>
1736
- 10/16/97 14:40 <DIR> Program Files
1737
- 10/16/97 14:46 <DIR> TEMP
1738
- 10/17/97 9:04 <DIR> tmp
1739
- 10/16/97 14:37 <DIR> WINNT
1740
- 10/16/97 14:25 119 AUTOEXEC.BAT \<2>
1741
- 2/13/94 6:21 54,619 COMMAND.COM \<2>
1742
- 10/16/97 14:25 115 CONFIG.SYS \<2>
1743
- 11/16/97 17:17 61,865,984 pagefile.sys
1744
- 2/13/94 6:21 9,349 WINA20.386 \<3>
1745
- .....................................................
1746
-
1747
- \<1> This directory holds MS-DOS.
1748
- \<2> System startup code for DOS.
1749
- \<3> Some sort of Windows 3.1 hack.
1776
+ .MS-DOS directory listing
1777
+ -----------------------------------------------------
1778
+ 10/17/97 9:04 <DIR> bin
1779
+ 10/16/97 14:11 <DIR> DOS \<1>
1780
+ 10/16/97 14:40 <DIR> Program Files
1781
+ 10/16/97 14:46 <DIR> TEMP
1782
+ 10/17/97 9:04 <DIR> tmp
1783
+ 10/16/97 14:37 <DIR> WINNT
1784
+ 10/16/97 14:25 119 AUTOEXEC.BAT \<2>
1785
+ 2/13/94 6:21 54,619 COMMAND.COM \<2>
1786
+ 10/16/97 14:25 115 CONFIG.SYS \<2>
1787
+ 11/16/97 17:17 61,865,984 pagefile.sys
1788
+ 2/13/94 6:21 9,349 WINA20.386 \<3>
1789
+ -----------------------------------------------------
1790
+
1791
+ \<1> This directory holds MS-DOS.
1792
+ \<2> System startup code for DOS.
1793
+ \<3> Some sort of Windows 3.1 hack.
1750
1794
  ---------------------------------------------------------------------
1751
1795
 
1752
1796
  Which renders:
1753
1797
 
1754
1798
  .MS-DOS directory listing
1755
- .....................................................................
1799
+ -----------------------------------------------------
1756
1800
  10/17/97 9:04 <DIR> bin
1757
1801
  10/16/97 14:11 <DIR> DOS <1>
1758
1802
  10/16/97 14:40 <DIR> Program Files
@@ -1764,7 +1808,7 @@ Which renders:
1764
1808
  10/16/97 14:25 115 CONFIG.SYS <2>
1765
1809
  11/16/97 17:17 61,865,984 pagefile.sys
1766
1810
  2/13/94 6:21 9,349 WINA20.386 <3>
1767
- .....................................................................
1811
+ -----------------------------------------------------
1768
1812
 
1769
1813
  <1> This directory holds MS-DOS.
1770
1814
  <2> System startup code for DOS.
@@ -1842,8 +1886,8 @@ Macros are a mechanism for substituting parametrized text into output
1842
1886
  documents.
1843
1887
 
1844
1888
  Macros have a 'name', a single 'target' argument and an 'attribute
1845
- list'. The default syntax is `<name>:<target>[<attributelist>]` (for
1846
- inline macros) and `<name>::<target>[<attributelist>]` (for block
1889
+ list'. The usual syntax is `<name>:<target>[<attrlist>]` (for
1890
+ inline macros) and `<name>::<target>[<attrlist>]` (for block
1847
1891
  macros). Here are some examples:
1848
1892
 
1849
1893
  http://www.methods.co.nz/asciidoc/index.html[Asciidoc home page]
@@ -1854,19 +1898,24 @@ macros). Here are some examples:
1854
1898
  - `<name>` is the macro name. It can only contain letters, digits or
1855
1899
  dash characters and cannot start with a dash.
1856
1900
  - The optional `<target>` cannot contain white space characters.
1857
- - `<attributelist>` is a <<X21,list of attributes>> enclosed in square
1901
+ - `<attrlist>` is a <<X21,list of attributes>> enclosed in square
1858
1902
  brackets.
1859
- - The attribute list is mandatory except for URLs and email addresses.
1860
- - Expansion of non-system macro references can be escaped by
1861
- prefixing a backslash character.
1862
- - Block macro attribute reference substitution is performed prior to
1863
- macro expansion.
1903
+ - `]` characters in attribute lists that are enclosed in `[]` brackets
1904
+ must be escaped with a backslash.
1905
+ - Expansion of non-system macro references can normally be escaped by
1906
+ prefixing a backslash character (see the AsciiDoc 'FAQ' for examples
1907
+ of exceptions to this rule).
1908
+ - System macros cannot be escaped.
1909
+ - Attribute references in block macros are expanded.
1864
1910
  - The substitutions performed prior to Inline macro macro expansion
1865
1911
  are determined by the inline context.
1866
1912
  - Macros are processed in the order they appear in the configuration
1867
1913
  file(s).
1868
1914
  - Calls to inline macros can be nested inside different inline macros
1869
1915
  (an inline macro call cannot contain a nested call to itself).
1916
+ - In addition to `<name>`, `<target>` and `<attrlist>` the
1917
+ `<passtext>` and `<subslist>` named groups are available to
1918
+ <<X77,passthrough macros>>.
1870
1919
 
1871
1920
  Inline Macros
1872
1921
  ~~~~~~~~~~~~~
@@ -1881,7 +1930,7 @@ rendered using predefined inline macros.
1881
1930
  - If you don't need a customized the link caption you can enter the
1882
1931
  'http', 'https', 'ftp', 'file' URLs and email addresses without any
1883
1932
  special macro syntax.
1884
- - If no caption text is specified the URL is displayed.
1933
+ - If the `<attrlist>` is empty the URL is displayed.
1885
1934
 
1886
1935
  Here are some examples:
1887
1936
 
@@ -2044,7 +2093,7 @@ Block macros behave just like Inline macros, with the following
2044
2093
  differences:
2045
2094
 
2046
2095
  - They occur in a block context.
2047
- - The default syntax is `<name>::<target>[<attributelist>]` (two
2096
+ - The default syntax is `<name>::<target>[<attrlist>]` (two
2048
2097
  colons, not one).
2049
2098
  - Markup template section names end in `-blockmacro` instead of
2050
2099
  `-inlinemacro`.
@@ -2080,9 +2129,8 @@ For example:
2080
2129
  .Main circuit board
2081
2130
  image::images/layout.png[J14P main circuit board]
2082
2131
 
2083
- `xhtml11` and `html4` backends precede the title with a `Figure :`
2084
- prefix. You can customize this prefix with the `caption` attribute.
2085
- For example:
2132
+ A title prefix that can be inserted with the `caption` attribute
2133
+ (`xhtml11` and `html4` backends). For example:
2086
2134
 
2087
2135
  .Main circuit board
2088
2136
  [caption="Figure 2:"]
@@ -2120,7 +2168,6 @@ paragraphs or delimited blocks. Example comment line:
2120
2168
 
2121
2169
  See also <<X26,Comment Blocks>>.
2122
2170
 
2123
-
2124
2171
  System Macros
2125
2172
  ~~~~~~~~~~~~~
2126
2173
  System macros are block macros that perform a predefined task which is
@@ -2155,17 +2202,23 @@ Example:
2155
2202
  - If the included file name is specified with a relative path then the
2156
2203
  path is relative to the location of the referring document.
2157
2204
  - Include macros can appear inside configuration files.
2158
- - Files included from within `DelimitedBlocks` are read to completion
2205
+ - Files included from within 'DelimitedBlocks' are read to completion
2159
2206
  to avoid false end-of-block underline termination.
2160
- - File inclusion is limited to a depth of 5 to catch recursive loops.
2161
- - Attribute references are expanded inside the include `target`; if an
2207
+ - Attribute references are expanded inside the include 'target'; if an
2162
2208
  attribute is undefined then the included file is silently skipped.
2163
2209
  - The 'tabsize' macro attribute sets the number of space characters to
2164
- be used for tab expansion in the included file.
2210
+ be used for tab expansion in the included file (not applicable to
2211
+ `include1` macro).
2212
+ - The 'depth' macro attribute sets the maximum permitted number of
2213
+ subsequent nested includes (not applicable to `include1` macro which
2214
+ does not process nested includes). Setting 'depth' to one disables
2215
+ nesting inside the included file. By default, nesting is limited to
2216
+ a depth of five.
2165
2217
  - Internally the `include1` macro is translated to the `include1`
2166
2218
  system attribute which means it must be evaluated in a region where
2167
- attribute substitution is enabled -- use the `include` macro
2168
- instead.
2219
+ attribute substitution is enabled. To inhibit nested substitution in
2220
+ included files it is preferable to use the `include` macro and set
2221
+ the attribute `depth=1`.
2169
2222
 
2170
2223
  Conditional Inclusion Macros
2171
2224
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -2255,30 +2308,91 @@ section:
2255
2308
  template::[admonitionblock]
2256
2309
 
2257
2310
  .Template macro behavior
2258
- - The `\template::[]` macro is useful for factoring configuration file
2311
+ - The `template::[]` macro is useful for factoring configuration file
2259
2312
  markup.
2260
- - `\template::[]` macros cannot be nested.
2261
- - `\template::[]` macro expansion is applied to all sections
2313
+ - `template::[]` macros cannot be nested.
2314
+ - `template::[]` macro expansion is applied to all sections
2262
2315
  after all configuration files have been read.
2263
2316
 
2264
2317
 
2318
+ [[X77]]
2319
+ Passthrough macros
2320
+ ~~~~~~~~~~~~~~~~~~
2321
+ Passthrough macros are analogous to <<X76,passthrough blocks>> and are
2322
+ used to pass text directly to the output. The substitution performed
2323
+ on the text is determined by the macro definition but can be overridden
2324
+ by the `<subslist>`. The usual syntax is
2325
+ `<name>:<subslist>[<passtext>]` (for inline macros) and
2326
+ `<name>::<subslist>[<passtext>]` (for block macros).
2327
+
2328
+ pass::
2329
+ Inline and block. Passes text unmodified apart from explicitly
2330
+ specified substitutions). Examples:
2331
+
2332
+ pass:[<q>To be or not to be</q>]
2333
+ pass:attributes,quotes[<u>the '{author}'</u>]
2334
+
2335
+ asciimath, latexmath::
2336
+ Inline and block. Passes text unmodified. Used for
2337
+ <<X78,mathematical formulas>>.
2338
+
2339
+ \+++::
2340
+ Inline and block. The triple-plus passthrough is functionally
2341
+ identical to the 'pass' macro but you don't have to escape `]`
2342
+ characters and you can prefix with quoted attributes in the inline
2343
+ version. Example:
2344
+
2345
+ Red [red]+++`sum_(i=1)\^n i=(n(n+1))/2`$+++ AsciiMathML formula
2346
+
2347
+ $$::
2348
+ Inline and block. The double-dollar passthrough is functionally
2349
+ identical with one exception: special characters are escaped.
2350
+ Example:
2351
+
2352
+ $$`[[a,b],[c,d]]((n),(k))`$$
2353
+
2265
2354
  Macro Definitions
2266
2355
  ~~~~~~~~~~~~~~~~~
2267
2356
  Each entry in the configuration `[macros]` section is a macro
2268
2357
  definition which can take one of the following forms:
2269
2358
 
2270
- `<pattern>=<name>`::
2359
+ `<pattern>=<name>[<subslist]`::
2271
2360
  Inline macro definition.
2272
- `<pattern>=#<name>`::
2361
+ `<pattern>=#<name>[<subslist]`::
2273
2362
  Block macro definition.
2274
- `<pattern>=+<name>`::
2363
+ `<pattern>=+<name>[<subslist]`::
2275
2364
  System macro definition.
2276
2365
  `<pattern>`::
2277
2366
  Delete the existing macro with this `<pattern>`.
2278
2367
 
2279
2368
  `<pattern>` is a Python regular expression and `<name>` is the name of
2280
2369
  a markup template. If `<name>` is omitted then it is the value of the
2281
- regular expression match group named 'name'.
2370
+ regular expression match group named 'name'. The optional
2371
+ `[<subslist]` is a comma-separated list of substitution names enclosed
2372
+ in `[]` brackets, it sets the default substitutions for passthrough
2373
+ text.
2374
+
2375
+ .Pattern named groups
2376
+ The following named groups can be used in macro `<pattern>` regular
2377
+ expressions and are available as markup template attributes:
2378
+
2379
+ name::
2380
+ The macro name.
2381
+
2382
+ target::
2383
+ The macro target.
2384
+
2385
+ attrlist::
2386
+ The macro attribute list.
2387
+
2388
+ passtext::
2389
+ Contents of this group are passed unmodified to the output subject
2390
+ only to 'subslist' substitutions.
2391
+
2392
+ subslist::
2393
+ Processed as a comma-separated list of substitution names for
2394
+ 'passtext' substitution, overrides the the macro definition
2395
+ 'subslist'.
2282
2396
 
2283
2397
  .Here's what happens during macro substitution
2284
2398
  - Each contextually relevant macro 'pattern' from the `[macros]`
@@ -2295,294 +2409,352 @@ regular expression match group named 'name'.
2295
2409
 
2296
2410
  Tables
2297
2411
  ------
2298
- Tables are the most complex AsciiDoc elements and this section is
2299
- quite long. footnote:[The current table syntax is overly complicated
2300
- and unwieldy to edit, hopefully a more usable syntax will appear in
2301
- future versions of AsciiDoc.]
2302
-
2303
- NOTE: AsciiDoc generates nice HTML tables, but the current crop of
2304
- DocBook toolchains render tables with varying degrees of success. Use
2305
- tables only when really necessary.
2412
+ The AsciiDoc table syntax looks and behaves like other delimited block
2413
+ types and supports standard <<X73,block configuration entries>>.
2414
+ Formatting is easy to read and, just as importantly, easy to enter.
2415
+ There are a wide variety of built-in customizable styles.
2306
2416
 
2307
- Example Tables
2308
- ~~~~~~~~~~~~~~
2309
- The following annotated examples are all you'll need to start creating
2310
- your own tables.
2417
+ - All table meta-data is contained specified in the table's attribute
2418
+ list, not in the the table data.
2419
+ - There is no provision for cells to span multiple columns.
2311
2420
 
2312
- The only non-obvious thing you'll need to remember are the column stop
2313
- characters:
2421
+ .Use tables sparingly
2422
+ *********************************************************************
2423
+ When technical users first start creating documents, tables (complete
2424
+ with column spanning and table nesting) are often considered very
2425
+ important. important must-have feature. The reality is that tables
2426
+ are seldom used, even in technical documentation.
2314
2427
 
2315
- - Backtick (`) -- align left.
2316
- - Single quote (') -- align right.
2317
- - Period (.) -- align center.
2428
+ Try this exercise: thumb through your library of technical books,
2429
+ you'll be surprised just how seldom tables are actually used, even
2430
+ less seldom are tables containing block elements such as paragraphs or
2431
+ lists. This is no accident, like figures, tables are outside the
2432
+ normal document flow -- tables are for consulting not for reading.
2318
2433
 
2319
- Simple table:
2434
+ Tables are designed for, and should normally only be used for,
2435
+ displaying column oriented tabular data.
2320
2436
 
2321
- ---------------------------------------------------------------------
2322
- `---`---
2323
- 1 2
2324
- 3 4
2325
- 5 6
2326
- --------
2327
- ---------------------------------------------------------------------
2437
+ *********************************************************************
2328
2438
 
2329
- Output:
2439
+ Example tables
2440
+ ~~~~~~~~~~~~~~
2441
+ Simple table
2442
+ ^^^^^^^^^^^^
2330
2443
 
2331
- `---`---
2332
- 1 2
2333
- 3 4
2334
- 5 6
2335
- --------
2444
+ [width="15%"]
2445
+ |=======
2446
+ |1 |2 |A
2447
+ |3 |4 |B
2448
+ |5 |6 |C
2449
+ |=======
2336
2450
 
2337
- Table with title, header and footer:
2451
+ AsciiDoc source:
2338
2452
 
2339
2453
  ---------------------------------------------------------------------
2340
- .An example table
2341
- [grid="all"]
2342
- '---------.--------------
2343
- Column 1 Column 2
2344
- -------------------------
2345
- 1 Item 1
2346
- 2 Item 2
2347
- 3 Item 3
2348
- -------------------------
2349
- 6 Three items
2350
- -------------------------
2454
+ [width="15%"]
2455
+ |=======
2456
+ |1 |2 |A
2457
+ |3 |4 |B
2458
+ |5 |6 |C
2459
+ |=======
2351
2460
  ---------------------------------------------------------------------
2352
2461
 
2353
- Output:
2462
+ Columns formatted with strong, monospaced and emphasis styles
2463
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2354
2464
 
2355
2465
  .An example table
2356
- [grid="all"]
2357
- `-----------.--------------
2358
- Column 1 Column 2
2359
- ---------------------------
2360
- 1 Item 1
2361
- 2 Item 2
2362
- 3 Item 3
2363
- ---------------------------
2364
- 6 Three items
2365
- ---------------------------
2366
-
2367
- Four columns totaling 15% of the 'pagewidth', CSV data:
2466
+ [width="50%",cols=">s,^m,e",frame="none",options="header,footer"]
2467
+ |==========================
2468
+ | |Column 2|Column 3
2469
+ |1 |Item 1 |Item 1
2470
+ |2 |Item 2 |Item 2
2471
+ |3 |Item 3 |Item 3
2472
+ |4 |Item 4 |Item 4
2473
+ |footer 1|footer 2|footer 3
2474
+ |==========================
2475
+
2476
+ AsciiDoc source:
2368
2477
 
2369
2478
  ---------------------------------------------------------------------
2370
- [frame="all"]
2371
- ````~15
2372
- 1,2,3,4
2373
- a,b,c,d
2374
- A,B,C,D
2375
- ~~~~~~~~
2479
+ .An example table
2480
+ [width="50%",cols=">s,^m,e",frame="none",options="header,footer"]
2481
+ |==========================
2482
+ | |Column 2|Column 3
2483
+ |1 |Item 1 |Item 1
2484
+ |2 |Item 2 |Item 2
2485
+ |3 |Item 3 |Item 3
2486
+ |4 |Item 4 |Item 4
2487
+ |footer 1|footer 2|footer 3
2488
+ |==========================
2376
2489
  ---------------------------------------------------------------------
2377
2490
 
2378
- Output:
2491
+ Horizontal and vertical source data
2492
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2493
+ Short cells can be entered horizontally, longer cells vertically. The
2494
+ default behavior is to strip leading and trailing blank lines within a
2495
+ cell. These characteristics aid readability and data entry.
2379
2496
 
2380
- [frame="all"]
2381
- ````~15
2382
- 1,2,3,4
2383
- a,b,c,d
2384
- A,B,C,D
2385
- ~~~~~~~~
2497
+ .Windtrainer workouts
2498
+ [width="80%",cols="3,^2,^2,10",options="header"]
2499
+ |=========================================================
2500
+ |Date |Duration |Avg HR |Notes
2386
2501
 
2387
- A table with a numeric ruler and externally sourced CSV data:
2502
+ |22-Aug-08 |10:24 | 157 |
2503
+ Worked out MSHR (max sustainable heart rate) by going hard
2504
+ for this interval.
2505
+
2506
+ |22-Aug-08 |23:03 | 152 |
2507
+ Back-to-back with previous interval.
2508
+
2509
+ |24-Aug-08 |40:00 | 145 |
2510
+ Moderately hard interspersed with 3x 3min intervals (2min
2511
+ hard + 1min really hard taking the HR up to 160).
2512
+
2513
+ |=========================================================
2514
+
2515
+ AsciiDoc source:
2388
2516
 
2389
2517
  ---------------------------------------------------------------------
2390
- [frame="all", grid="all"]
2391
- .15`20`25`20`~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2392
- ID,Customer Name,Contact Name,Customer Address,Phone
2393
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2394
- include::customers.csv[]
2395
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2396
- ---------------------------------------------------------------------
2518
+ .Windtrainer workouts
2519
+ [width="80%",cols="3,^2,^2,10",options="header"]
2520
+ |=========================================================
2521
+ |Date |Duration |Avg HR |Notes
2397
2522
 
2398
- Renders:
2523
+ |22-Aug-08 |10:24 | 157 |
2524
+ Worked out MSHR (max sustainable heart rate) by going hard
2525
+ for this interval.
2399
2526
 
2400
- [frame="all", grid="all"]
2401
- .15`20`25`20`~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2402
- ID,Customer Name,Contact Name,Customer Address,Phone
2403
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2404
- include::customers.csv[]
2405
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2527
+ |22-Aug-08 |23:03 | 152 |
2528
+ Back-to-back with previous interval.
2406
2529
 
2407
- AsciiDoc Table Block Elements
2408
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2409
- This sub-section details the AsciiDoc table format.
2410
-
2411
- Table ::= (Ruler,Header?,Body,Footer?)
2412
- Header ::= (Row+,Underline)
2413
- Footer ::= (Row+,Underline)
2414
- Body ::= (Row+,Underline)
2415
- Row ::= (Data+)
2416
-
2417
- A table is terminated when the table underline is followed by a blank
2418
- line or an end of file. Table underlines which separate table headers,
2419
- bodies and footers should not be followed by a blank line.
2420
-
2421
- Ruler
2422
- ^^^^^
2423
- The first line of the table is called the 'Ruler'. The Ruler specifies
2424
- which configuration file table definition to use, column widths,
2425
- column alignments and the overall table width.
2426
-
2427
- There are two ruler formats:
2428
-
2429
- Character ruler::
2430
- The column widths are determined by the number of table fill
2431
- characters between column stop characters.
2432
- Numeric ruler::
2433
- The column widths are specified numerically. If a column width
2434
- is omitted the previous width is used. In the degenerate case
2435
- of no widths being specified columns are allocated equal
2436
- widths.
2437
-
2438
- The ruler format can be summarized as:
2439
-
2440
- ruler ::= ((colstop,colwidth?,fillchar*)+, fillchar+, tablewidth?
2441
-
2442
- - The 'ruler' starts with a column stop character (designating the
2443
- start of the first column).
2444
- - Column stop characters specify the start and alignment of each
2445
- column:
2446
- * Backtick (`) -- align left.
2447
- * Single quote (') -- align right.
2448
- * Period (.) -- align center.
2449
- - In the case of 'fixed' format tables the ruler column widths specify
2450
- source row data column boundaries.
2451
- - The optional 'tablewidth' is a number representing the size of the
2452
- output table relative to the 'pagewidth'. If 'tablewidth' is less
2453
- than one then it is interpreted as a fraction of the page width; if
2454
- it is greater than one then it is interpreted as a percentage of
2455
- the page width. If 'tablewidth' is not specified then the table
2456
- occupies the full 'pagewidth' (numeric rulers) or the relative width
2457
- of the ruler compared to the 'textwidth' (character rulers).
2458
-
2459
- Row and Data Elements
2460
- ^^^^^^^^^^^^^^^^^^^^^
2461
- Each table row consists of a line of text containing the same number
2462
- of 'Data' items as there are columns in the table,
2530
+ |24-Aug-08 |40:00 | 145 |
2531
+ Moderately hard interspersed with 3x 3min intervals (2min
2532
+ hard + 1min really hard taking the HR up to 160).
2463
2533
 
2464
- Lines ending in a backslash character are continued on the next line.
2534
+ |=========================================================
2535
+ ---------------------------------------------------------------------
2465
2536
 
2466
- Each 'Data' item is an AsciiDoc substitutable string. The substitutions
2467
- performed are specified by the 'subs' table definition entry. Data
2468
- cannot contain AsciiDoc block elements.
2537
+ A table with externally sourced CSV data
2538
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2469
2539
 
2470
- The format of the row is determined by the table definition 'format'
2471
- value:
2540
+ [format="csv",cols="^1,4*2",options="header"]
2541
+ |===================================================
2542
+ ID,Customer Name,Contact Name,Customer Address,Phone
2543
+ include::customers.csv[]
2544
+ |===================================================
2472
2545
 
2473
- fixed::
2474
- Row data items are assigned by chopping the row up at ruler column
2475
- width boundaries.
2546
+ AsciiDoc source:
2476
2547
 
2477
- csv::
2478
- Data items are assigned the parsed CSV (Comma Separated Values)
2479
- data.
2548
+ ---------------------------------------------------------------------
2549
+ [format="csv",cols="^1,4*2",options="header"]
2550
+ |===================================================
2551
+ ID,Customer Name,Contact Name,Customer Address,Phone
2552
+ include::customers.csv[]
2553
+ |===================================================
2554
+ ---------------------------------------------------------------------
2480
2555
 
2481
- dsv::
2482
- The DSV (Delimiter Separated Values) format is a common UNIX tabular
2483
- text file format.
2484
- - The separator character is a colon (although this can be set to
2485
- any letter using the 'separator' table attribute).
2486
- - Common C-style backslash escapes are supported.
2487
- - Blank lines are skipped.
2488
2556
 
2489
- Underline
2490
- ^^^^^^^^^
2491
- A table 'Underline' consists of a line of three or more 'fillchar'
2492
- characters which are end delimiters for table header, footer and body
2493
- sections.
2557
+ [[X68]]
2558
+ Table input data formats
2559
+ ~~~~~~~~~~~~~~~~~~~~~~~~
2560
+ AsciiDoc table data can be 'psv', 'dsv' or 'csv' formatted. The
2561
+ default AsciiDoc table format is 'psv'.
2562
+
2563
+ 'csv' is the quasi-standard row oriented 'Comma Separated Values
2564
+ (CSV)' format commonly used to import and export spreadsheet and
2565
+ database data.
2566
+
2567
+ AsciiDoc 'psv' ('Prefix Separated Values') and 'dsv' ('Delimiter
2568
+ Separated Values') formats are cell oriented -- the table is treated
2569
+ as a sequence of cells -- there are no mandatory row separators.
2570
+
2571
+ - 'psv' prefixes each cell with a separator whereas 'dsv' delimits
2572
+ cells with a separator, that really the only difference (apart from
2573
+ different default separators).
2574
+ - 'psv' and 'dsv' separators are Python regular expressions.
2575
+ - The default 'psv' separator is `((?P<cellcount>\d+)\*)?\|` (a pipe
2576
+ character with optional cell multiplier prefix); the default 'dsv'
2577
+ separator is `:|\n` (a colon or a line break).
2578
+ - 'psv' and 'dsv' cell separators can be escaped by preceding them
2579
+ with a backslash character.
2580
+ - The 'psv' format allows cells to be stacked vertically, this makes
2581
+ it easy to enter large amounts of text per cell while still
2582
+ retaining readability.
2583
+
2584
+ Here are four 'psv' cells (the second item is multiplied by two; the
2585
+ last contains an escaped separator):
2586
+
2587
+ |One 2*|Two and three |A \| separator character
2588
+
2589
+ [[X69]]
2590
+ Table attributes
2591
+ ~~~~~~~~~~~~~~~~
2592
+ Individual tables are customized by an optional <<X21,AttributeList>>
2593
+ preceding the table. Specify attributes when you want to change the
2594
+ default table format:
2494
2595
 
2495
- Attribute List
2496
- ^^^^^^^^^^^^^^
2497
- The following optional table attributes can be specified in an
2498
- <<X21,AttributeList>> preceding the table:
2596
+ format::
2597
+ 'psv' (default), 'dsv' or 'csv' (See <<X68, Table Data Formats>>).
2499
2598
 
2500
2599
  separator::
2501
- The default DSV format colon separator can be changed using the
2502
- 'separator' attribute. For example: `[separator="|"]`.
2600
+ The cell separator. A Python regular expression ('psv' and 'dsv'
2601
+ formats) or a single character ('csv' format).
2503
2602
 
2504
2603
  frame::
2505
- Defines the table border and can take the following values: 'topbot'
2506
- (top and bottom), 'all' (all sides), 'none' and 'sides' (left and
2507
- right sides). The default value is 'topbot'.
2604
+ Defines the table border and can take the following values: 'topbot'
2605
+ (top and bottom), 'all' (all sides), 'none' and 'sides' (left and
2606
+ right sides). The default value is 'all'.
2508
2607
 
2509
2608
  grid::
2510
- Defines which ruler lines are drawn between table rows and columns.
2511
- The 'grid' attribute value can be any of the following values:
2512
- 'none', 'cols', 'rows' and 'all'. The default value is 'none'. For
2513
- example `[frame="all", grid="none"]`.
2514
-
2515
- format, tablewidth::
2516
- See <<X37,Markup Attributes>> below.
2609
+ Defines which ruler lines are drawn between table rows and columns.
2610
+ The 'grid' attribute value can be any of the following values: 'none',
2611
+ 'cols', 'rows' and 'all'. The default value is 'all'.
2517
2612
 
2518
- You can also use an AttributeList to override the following table
2519
- definition and ruler parameters: 'format', 'subs', 'tablewidth'.
2613
+ valign::
2614
+ Use the 'valign' attribute to vertically align all cells in a table.
2615
+ The following values are valid: 'top', 'bottom', and 'middle'
2616
+ (defaults to 'top').
2520
2617
 
2521
- [[X37]]
2522
- Markup Attributes
2523
- ^^^^^^^^^^^^^^^^^
2524
- The following attributes are automatically available inside table tag
2525
- and markup templates.
2618
+ options::
2619
+ The 'options' attribute can contain the following comma separated
2620
+ values: 'header', 'footer'. By default header and footer rows are
2621
+ omitted.
2526
2622
 
2527
2623
  cols::
2528
- The number of columns in the table.
2624
+ The 'cols' attribute is a comma separated list of <<X70,column
2625
+ specifiers>>. For example `cols="2<p,2*,4p,>"`.
2626
+ +
2627
+ - If 'cols' is present it must specify all columns.
2628
+ - If the 'cols' attribute is not specified the number of columns is
2629
+ calculated as the number of data items in the *first line* of the
2630
+ table.
2631
+ - The degenerate form for the 'cols' attribute is an integer
2632
+ specifying the number of columns e.g. `cols=4`.
2633
+
2634
+ width::
2635
+ The 'width' attribute is expressed as a percentage value
2636
+ ('"1%"'...'"99%"'). The width specifies the table width relative to
2637
+ the available width. HTML outputs use this value directly. If width is
2638
+ specified DocBook uses the absolute widths (see calculated
2639
+ <<X72,markup attributes>> ), if no width is specified all of the
2640
+ available width is used.
2529
2641
 
2530
- colalign::
2531
- Column alignment assumes one of three values ('left', 'right' or
2532
- 'center'). The value is determined by the corresponding ruler column
2533
- stop character (only valid inside 'colspec', 'headdata', 'bodydata'
2534
- and 'footdata' tags).
2642
+ filter::
2643
+ The 'filter' attribute defines an external shell command that is
2644
+ invoked for each cell. The built-in 'asciidoc' table style is
2645
+ implemented using a filter.
2535
2646
 
2536
- colwidth::
2537
- The output column widths are calculated integers (only valid inside
2538
- 'colspec', 'headdata', 'bodydata' and 'footdata' tags).
2647
+ [[X70]]
2648
+ Column Specifiers
2649
+ ~~~~~~~~~~~~~~~~~
2650
+ Column specifiers define how columns are presented and are used in the
2651
+ table <<X69,cols attribute>>. A column specifier consists of an
2652
+ optional column multiplier followed by optional alignment, width and
2653
+ style values and is formatted like:
2654
+
2655
+ [<multiplier>*][<align>][<width>][<style>]
2656
+
2657
+ - All components are optional. The multiplier must be first and the
2658
+ style last. The order of 'align' or 'width' is not important.
2659
+ - Column '<width>' can be either an integer proportional value (1...)
2660
+ or a percentage (1%...100%). The default value is 1. To ensure
2661
+ portability across different backends, there is no provision for
2662
+ absolute column widths (not to be confused with output column width
2663
+ <<X72,markup attributes>> which are available in both percentage and
2664
+ absolute units).
2665
+ - The column '<align>' character can be '<' (left), '^' (center) or
2666
+ '>' (right). Cells are left aligned by default.
2667
+ - A '<multiplier>' can be used to specify repeated columns e.g.
2668
+ `cols="4*<"` specifies four left-justified columns. Default value 1.
2669
+ - The '<style>' name specifies a <<X71,table style>> to used to markup
2670
+ column cells (you can use the full style names if you wish but the
2671
+ first letter is normally sufficient).
2672
+ - Column specific styles are not applied to 'header' row formatting.
2673
+
2674
+ [[X71]]
2675
+ Table styles
2676
+ ~~~~~~~~~~~~
2677
+ Table styles can be applied to the entire table (by setting the
2678
+ 'style' attribute in the table's attribute list) or on a per column
2679
+ basis (by specifying the style in the table's <<X69,cols attribute>>).
2680
+ Tables come with the following predefined styles:
2539
2681
 
2540
- colnumber::
2541
- The table column number starting at 1 (only valid inside 'colspec',
2542
- 'headdata`, `bodydata` and `footdata` tags).
2682
+ default::
2683
+ The default style: AsciiDoc inline text formatting; blank lines are
2684
+ treated as paragraph breaks.
2543
2685
 
2544
- format::
2545
- The table definition 'format' value (can be overridden with
2546
- attribute list entry).
2686
+ emphasis::
2687
+ Like default but all text is emphasised.
2547
2688
 
2548
- tablewidth::
2549
- The ruler 'tablewidth' value (can be overridden with attribute list
2550
- entry).
2689
+ monospaced::
2690
+ Like default but all text is in a monospaced font.
2551
2691
 
2552
- pagewidth::
2553
- The 'pagewidth' miscellaneous configuration option.
2692
+ strong::
2693
+ Like default but all text is bold.
2694
+
2695
+ asciidoc::
2696
+ With this style table cells can contain any of the AsciiDoc elements
2697
+ that are allowed inside document sections. This style runs asciidoc(1)
2698
+ as a filter to process cell contents.
2699
+
2700
+ literal::
2701
+ No text formatting; monospaced font; all line breaks are retained
2702
+ (like AsciiDoc 'LiteralBlock').
2703
+
2704
+ verse::
2705
+ Text formatting; all line breaks are retained (c.f. AsciiDoc delimited
2706
+ block 'verse' style).
2707
+
2708
+ [[X72]]
2709
+ Markup attributes
2710
+ ~~~~~~~~~~~~~~~~~
2711
+ AsciiDoc makes a number of attributes available to table markup
2712
+ templates and tags. Both absolute and percentage width values are
2713
+ available. Column specific attributes are available when substituting
2714
+ the 'colspec' cell data tags.
2554
2715
 
2555
2716
  pageunits::
2556
- The 'pageunits' miscellaneous configuration option.
2717
+ Only used by DocBook, defaults to 'pt'.
2557
2718
 
2558
- The 'colwidth' value is calculated as (`N` is the ruler column width
2559
- number and `M` is the sum of the ruler column widths):
2719
+ pagewidth::
2720
+ The nominal output page width in 'pageunit' units. Used to calculate
2721
+ table and column widths. Only used by DocBook, defaults to '425'.
2560
2722
 
2561
- ( N / M ) * pagewidth
2723
+ tableabswidth::
2724
+ Integer value calculated from 'width' and 'pagewidth' attributes.
2725
+ In 'pageunit' units.
2562
2726
 
2563
- If the ruler 'tablewidth' was specified the column width is multiplied
2564
- again by this value.
2727
+ tablepcwidth::
2728
+ Table width expressed as a percentage of the available width. Integer
2729
+ value (0..100).
2565
2730
 
2566
- There is one exception: character rulers that have no 'pagewidth'
2567
- specified. In this case the 'colwidth' value is calculated as (where
2568
- `N` is the column character width measured on the table ruler):
2731
+ colalign::
2732
+ 'left', 'right' or 'center'.
2569
2733
 
2570
- ( N / textwidth ) * pagewidth
2734
+ colabswidth::
2735
+ Integer value calculated from 'cols' column width, 'width' and
2736
+ 'pagewidth' attributes. In 'pageunit' units.
2571
2737
 
2572
- The following attributes are available to the table markup template:
2738
+ colpcwidth::
2739
+ Column width expressed as a percentage of the table width. Integer
2740
+ value (0..100).
2573
2741
 
2574
- comspecs::
2575
- Expands to N substituted 'comspec' tags where N is the number of
2576
- columns.
2742
+ colnumber::
2743
+ Integer value: '1' for column 1, '2' for column 2 ...
2577
2744
 
2578
- headrows, footrows, bodyrows::
2579
- These references expand to sets of substituted header, footer and
2580
- body rows as defined by the corresponding row and data configuration
2581
- parameters.
2745
+ Nested tables
2746
+ ~~~~~~~~~~~~~
2747
+ An alternative table syntax using a '!' character instead of a '|'
2748
+ character is provided to allow a single level of table nesting.
2749
+ Columns containing nested tables must use the 'asciidoc' style. An
2750
+ example can be found in `./examples/website/newtables.txt`.
2582
2751
 
2583
- rows::
2584
- Experimental attribute (number of source lines in table) available
2585
- in table markup templates (used by experimental LaTeX backend).
2752
+ NOTE: When generating PDF nested tables using `a2x(1)` you will need
2753
+ to use the `--no-xmllint` option. This is because the nested tables
2754
+ are not legal in DocBook (you have to use the DocBook 4 'entrytbl'
2755
+ element). But both 'dblatex' (as of version 0.28) and 'FOP' (as of
2756
+ version 0.95beta) will process nested DocBook tables, but not
2757
+ 'entrytbl' elements.
2586
2758
 
2587
2759
 
2588
2760
  [[X1]]
@@ -2661,6 +2833,89 @@ source file:
2661
2833
  :man manual: AsciiDoc Manual
2662
2834
 
2663
2835
 
2836
+ [[X78]]
2837
+ Mathematical Formulas
2838
+ ---------------------
2839
+ The 'asciimath' and 'latexmath' <<X77,passthrough macros>> along with
2840
+ 'asciimath' and 'latexmath' <<X76,passthrough blocks>> provide a
2841
+ (backend dependent) mechanism for rendering mathematical formulas. You
2842
+ can use the following math markups:
2843
+
2844
+ NOTE: The 'latexmath' macro used to include 'LaTeX Math' in DocBook
2845
+ outputs is not the same as the 'latexmath' macro used to include
2846
+ 'LaTeX MathML' in XHTML outputs. 'LaTeX Math' applies to DocBook
2847
+ outputs that are processed by <<X31,dblatex>> and is normally used to
2848
+ generate PDF files. 'LaTeXMathML' is very much a subset of 'LaTeX
2849
+ Math' and applies to XHTML documents.
2850
+
2851
+ LaTeX Math
2852
+ ~~~~~~~~~~
2853
+ ftp://ftp.ams.org/pub/tex/doc/amsmath/short-math-guide.pdf[LaTeX
2854
+ math] can be included in documents that are processed by
2855
+ <<X31,dblatex(1)>>. Example inline formula:
2856
+
2857
+ latexmath:[$C = \alpha + \beta Y^{\gamma} + \epsilon$]
2858
+
2859
+ For more examples see the http://www.methods.co.nz/asciidoc/[AsciiDoc
2860
+ website] or the distributed `doc/latexmath.txt` file.
2861
+
2862
+ ASCIIMathML
2863
+ ~~~~~~~~~~~
2864
+ /////////////////////////////////////////////////////////////////////
2865
+ The older ASCIIMathML 1.47 version is used instead of version 2
2866
+ because:
2867
+
2868
+ 1. Version 2 doesn't work when embedded.
2869
+ 2. Version 2 is much larger.
2870
+ /////////////////////////////////////////////////////////////////////
2871
+
2872
+ http://www1.chapman.edu/~jipsen/mathml/asciimath.html[ASCIIMathML]
2873
+ formulas can be included in XHTML documents generated using the
2874
+ 'xhtml11' backend. To enable ASCIIMathML support you must define the
2875
+ 'asciimath' attribute, for example using the `-a asciimath`
2876
+ command-line option. Example inline formula:
2877
+
2878
+ asciimath:[`x/x={(1,if x!=0),(text{undefined},if x=0):}`]
2879
+
2880
+ For more examples see the http://www.methods.co.nz/asciidoc/[AsciiDoc
2881
+ website] or the distributed `doc/asciimathml.txt` file.
2882
+
2883
+ LaTeXMathML
2884
+ ~~~~~~~~~~~
2885
+ /////////////////////////////////////////////////////////////////////
2886
+ There is an http://math.etsu.edu/LaTeXMathML/[extended LaTeXMathML
2887
+ version] by Jeff Knisley, in addition to a JavaScript file it requires
2888
+ the inclusion of a CSS file.
2889
+ /////////////////////////////////////////////////////////////////////
2890
+
2891
+ 'LaTeXMathML' allows LaTeX Math style formulas to be included in XHTML
2892
+ documents generated using the AsciiDoc 'xhtml11' backend. AsciiDoc
2893
+ uses the
2894
+ http://www.maths.nottingham.ac.uk/personal/drw/lm.html[original
2895
+ LaTeXMathML] by Douglas Woodall. 'LaTeXMathML' is derived from
2896
+ ASCIIMathML and is for users who are more familiar with or prefer
2897
+ using LaTeX math formulas (it recognizes a subset of LaTeX Math, the
2898
+ differences are documented on the 'LaTeXMathML' web page). To enable
2899
+ LaTeXMathML support you must define the 'latexmath' attribute, for
2900
+ example using the `-a latexmath` command-line option. Example inline
2901
+ formula:
2902
+
2903
+ latexmath:[$\sum_{n=1}^\infty \frac{1}{2^n}$]
2904
+
2905
+ For more examples see the http://www.methods.co.nz/asciidoc/[AsciiDoc
2906
+ website] or the distributed `doc/latexmathml.txt` file.
2907
+
2908
+ There are more examples on the
2909
+ http://www.methods.co.nz/asciidoc/[AsciiDoc website].
2910
+
2911
+ MathML
2912
+ ~~~~~~
2913
+ http://www.w3.org/Math/[MathML] is a low level XML markup for
2914
+ mathematics. AsciiDoc has no macros for MathML but users familiar with
2915
+ this markup could use passthrough macros and passthrough blocks to
2916
+ include MathML in output documents.
2917
+
2918
+
2664
2919
  [[X7]]
2665
2920
  Configuration Files
2666
2921
  -------------------
@@ -2694,26 +2949,7 @@ conjunction with asciidoc(1) output files. You can view configuration
2694
2949
  file load sequence by turning on the asciidoc(1) `-v` (`--verbose`)
2695
2950
  command-line option.
2696
2951
 
2697
- Markup Template Sections
2698
- ~~~~~~~~~~~~~~~~~~~~~~~~
2699
- Markup template sections supply backend markup for translating
2700
- AsciiDoc elements. Since the text is normally backend dependent
2701
- you'll find these sections in the backend specific configuration
2702
- files. A markup template section body can contain:
2703
-
2704
- - Backend markup
2705
- - Attribute references
2706
- - System macro calls.
2707
- - A document content placeholder
2708
-
2709
- The document content placeholder is a single | character and is
2710
- replaced by text from the source element. Use the `\{brvbar}`
2711
- attribute reference if you need a literal | character in the template.
2712
-
2713
- Special Sections
2714
- ~~~~~~~~~~~~~~~~
2715
- AsciiDoc reserves the following predefined special section names for
2716
- specific purposes:
2952
+ AsciiDoc reserves the following section names for specific purposes:
2717
2953
 
2718
2954
  miscellaneous::
2719
2955
  Configuration options that don't belong anywhere else.
@@ -2735,24 +2971,30 @@ macros::
2735
2971
  Macro syntax definitions.
2736
2972
  titles::
2737
2973
  Heading, section and block title definitions.
2738
- paradef*::
2974
+ paradef-*::
2739
2975
  Paragraph element definitions.
2740
- blockdef*::
2976
+ blockdef-*::
2741
2977
  DelimitedBlock element definitions.
2742
- listdef*::
2978
+ listdef-*::
2743
2979
  List element definitions.
2744
- tabledef*::
2980
+ listtags-*::
2981
+ List element tag definitions.
2982
+ tabledef-*::
2745
2983
  Table element definitions.
2984
+ tabletags-*::
2985
+ Table element tag definitions.
2746
2986
 
2747
- Each line of text in a special section is a 'section entry'. Section
2987
+ Each line of text in these sections is a 'section entry'. Section
2748
2988
  entries share the following syntax:
2749
2989
 
2750
- 'name=value'::
2751
- The entry value is set to 'value'.
2752
- 'name='::
2990
+ name=value::
2991
+ The entry value is set to value.
2992
+ name=::
2753
2993
  The entry value is set to a zero length string.
2754
- 'name'::
2755
- The entry is undefined (deleted from the configuration).
2994
+ name!::
2995
+ The entry is undefined (deleted from the configuration). This
2996
+ syntax only applies to 'attributes' and 'miscellaneous'
2997
+ sections.
2756
2998
 
2757
2999
  .Section entry behavior
2758
3000
  - All equals characters inside the `name` must be escaped with a
@@ -2766,8 +3008,8 @@ entries share the following syntax:
2766
3008
  template sections).
2767
3009
 
2768
3010
 
2769
- Miscellaneous
2770
- ^^^^^^^^^^^^^
3011
+ Miscellaneous section
3012
+ ~~~~~~~~~~~~~~~~~~~~~
2771
3013
  The optional `[miscellaneous]` section specifies the following
2772
3014
  `name=value` options:
2773
3015
 
@@ -2788,15 +3030,15 @@ tabsize::
2788
3030
  expansion (useful when piping included files through block
2789
3031
  filters). Included files can override this option using the
2790
3032
  'tabsize' attribute.
2791
- textwidth, pagewidth, pageunits::
3033
+ pagewidth, pageunits::
2792
3034
  These global table related options are documented in the
2793
3035
  <<X4,Table Configuration File Definitions>> sub-section.
2794
3036
 
2795
3037
  NOTE: `[miscellaneous]` configuration file entries can be set using
2796
3038
  the asciidoc(1) `-a` (`--attribute`) command-line option.
2797
3039
 
2798
- Titles
2799
- ^^^^^^
3040
+ Titles section
3041
+ ~~~~~~~~~~~~~~
2800
3042
  sectiontitle::
2801
3043
  Two line section title pattern. The entry value is a Python
2802
3044
  regular expression containing the named group 'title'.
@@ -2821,8 +3063,8 @@ subs::
2821
3063
  the document header and section titles. Defaults to 'normal'
2822
3064
  substitution.
2823
3065
 
2824
- Tags
2825
- ^^^^
3066
+ Tags section
3067
+ ~~~~~~~~~~~~
2826
3068
  The `[tags]` section contains backend tag definitions (one per
2827
3069
  line). Tags are used to translate AsciiDoc elements to backend
2828
3070
  markup.
@@ -2839,20 +3081,20 @@ the output file.
2839
3081
  Use the `\{brvbar}` attribute reference if you need to include a | pipe
2840
3082
  character inside tag text.
2841
3083
 
2842
- Attributes Section
2843
- ^^^^^^^^^^^^^^^^^^
3084
+ Attributes section
3085
+ ~~~~~~~~~~~~~~~~~~
2844
3086
  The optional `[attributes]` section contains predefined attributes.
2845
3087
 
2846
3088
  If the attribute value requires leading or trailing spaces then the
2847
- text text should be enclosed in double-quote (") characters.
3089
+ text text should be enclosed in quotation mark (") characters.
2848
3090
 
2849
- To delete a attribute insert a name only entry in a downstream
3091
+ To delete a attribute insert a `name!` entry in a downstream
2850
3092
  configuration file or use the asciidoc(1) `--attribute name!`
2851
- command-line option (the attribute name is suffixed with a ! character
2852
- to delete it).
3093
+ command-line option (an attribute name suffixed with a `!` character
3094
+ deletes the attribute)
2853
3095
 
2854
- Special Characters
2855
- ^^^^^^^^^^^^^^^^^^
3096
+ Special Characters section
3097
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
2856
3098
  The `[specialcharacters]` section specifies how to escape characters
2857
3099
  reserved by the backend markup. Each translation is specified on a
2858
3100
  single line formatted like:
@@ -2862,12 +3104,12 @@ single line formatted like:
2862
3104
  Special characters are normally confined to those that resolve
2863
3105
  markup ambiguity (in the case of SGML/XML markups the ampersand, less
2864
3106
  than and greater than characters). The following example causes all
2865
- occurrences of the `<` character to be replaced by `&lt;`.
3107
+ occurrences of the `<` character to be replaced by `\&lt;`.
2866
3108
 
2867
3109
  <=&lt;
2868
3110
 
2869
- Quoted Text
2870
- ^^^^^^^^^^^
3111
+ Quoted Text section
3112
+ ~~~~~~~~~~~~~~~~~~~
2871
3113
  Quoting is used primarily for text formatting. The `[quotes]` section
2872
3114
  defines AsciiDoc quoting characters and their corresponding backend
2873
3115
  markup tags. Each section entry value is the name of a of a `[tags]`
@@ -2904,8 +3146,8 @@ name with a hash character, for example:
2904
3146
  - To minimize quoting ambiguity try not to use the same quote
2905
3147
  characters in different quote types.
2906
3148
 
2907
- Special Words
2908
- ^^^^^^^^^^^^^
3149
+ Special Words section
3150
+ ~~~~~~~~~~~~~~~~~~~~~
2909
3151
  The `[specialwords]` section is used to single out words and phrases
2910
3152
  that you want to consistently format in some way throughout your
2911
3153
  document without having to repeatedly specify the markup. The name of
@@ -2956,8 +3198,8 @@ ones.
2956
3198
  `ten` only if they are not preceded by a backslash.
2957
3199
 
2958
3200
  [[X10]]
2959
- Replacements
2960
- ^^^^^^^^^^^^
3201
+ Replacements section
3202
+ ~~~~~~~~~~~~~~~~~~~~
2961
3203
  `[replacements]` and `[replacements2]` configuration file entries
2962
3204
  specify find and replace text and are formatted like:
2963
3205
 
@@ -2982,6 +3224,23 @@ macro name):
2982
3224
  - Replacements are performed in the same order they appear in the
2983
3225
  configuration file replacements section.
2984
3226
 
3227
+ Markup Template Sections
3228
+ ~~~~~~~~~~~~~~~~~~~~~~~~
3229
+ Markup template sections supply backend markup for translating
3230
+ AsciiDoc elements. Since the text is normally backend dependent
3231
+ you'll find these sections in the backend specific configuration
3232
+ files. Template sections differ from other sections in that they
3233
+ contain a single block of text instead of per line 'name=value'
3234
+ entries. A markup template section body can contain:
3235
+
3236
+ - Attribute references
3237
+ - System macro calls.
3238
+ - A document content placeholder
3239
+
3240
+ The document content placeholder is a single | character and is
3241
+ replaced by text from the source element. Use the `\{brvbar}`
3242
+ attribute reference if you need a literal | character in the template.
3243
+
2985
3244
  [[X27]]
2986
3245
  Configuration File Names and Locations
2987
3246
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -2993,7 +3252,8 @@ option).
2993
3252
  Implicit configuration files are loaded from the following directories
2994
3253
  in the following order:
2995
3254
 
2996
- 1. The `/etc/asciidoc` directory (if it exists).
3255
+ 1. The global configuration directory (normally `/etc/asciidoc` or
3256
+ `/usr/local/etc/asciidoc`) if it exists.
2997
3257
  2. The directory containing the asciidoc executable.
2998
3258
  3. The user's `$HOME/.asciidoc` directory (if it exists).
2999
3259
  4. The directory containing the AsciiDoc source file.
@@ -3111,7 +3371,7 @@ To delete (undefine) an attribute use the following syntax:
3111
3371
 
3112
3372
  :<name>!:
3113
3373
 
3114
- .AttributeEntry properties
3374
+ .AttributeEntry behavior
3115
3375
  - The attribute entry line begins with colon -- no white space allowed
3116
3376
  in left margin.
3117
3377
  - AsciiDoc converts the `<name>` to a legal attribute name (lower
@@ -3120,9 +3380,9 @@ To delete (undefine) an attribute use the following syntax:
3120
3380
  - Leading and trailing white space is stripped from the `<value>`.
3121
3381
  - If the `<value>` is blank then the corresponding attribute value is
3122
3382
  set to an empty string.
3123
- - Special characters in the entry `<value>` are substituted. To
3124
- include special characters use the predefined `\{gt}`, `\{lt}`,
3125
- `\{amp}` attribute references.
3383
+ - Special characters in the entry `<value>` are substituted. You can
3384
+ enter special characters using character entity values, for example
3385
+ `\&amp;`.
3126
3386
  - Attribute references contained in the entry `<value>` will be
3127
3387
  expanded.
3128
3388
  - By default AttributeEntry values are substituted for
@@ -3133,8 +3393,7 @@ To delete (undefine) an attribute use the following syntax:
3133
3393
  markup template substitution.
3134
3394
  - Attribute elements override configuration file and intrinsic
3135
3395
  attributes but do not override command-line attributes.
3136
-
3137
- Here's another example:
3396
+ Here are some more attribute entry examples:
3138
3397
 
3139
3398
  ---------------------------------------------------------------------
3140
3399
  AsciiDoc User Manual
@@ -3162,6 +3421,25 @@ the document's directory then it will be added verbatim to the DocBook
3162
3421
  header (see the `./doc/asciidoc-revhistory.xml` example that comes
3163
3422
  with the AsciiDoc distribution).].
3164
3423
 
3424
+ Setting configuration entries
3425
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3426
+ A variant of the Attribute Entry syntax allows configuration file
3427
+ entries to be set from within an AsciiDoc document:
3428
+
3429
+ :<section_name>.<entry_name>: <entry_value>
3430
+
3431
+ Where `<section_name>` is the configuration section name,
3432
+ `<entry_name>` is the name of the entry and `<entry_value>` is the
3433
+ optional entry value. This example sets the default labeled list style
3434
+ to 'horizontal':
3435
+
3436
+ :listdef-labeled.style: horizontal
3437
+
3438
+ It is exactly equivalent to a configuration file containing:
3439
+
3440
+ [listdef-labeled]
3441
+ style=horizontal
3442
+
3165
3443
  [[X62]]
3166
3444
  .Attribute entries promote clarity and eliminate repetition
3167
3445
  *********************************************************************
@@ -3171,12 +3449,13 @@ compounded by redundancy if the same name is used repeatedly.
3171
3449
  Attribute entries can be used to make your documents easier to read
3172
3450
  and write, here are some examples:
3173
3451
 
3174
- :1: http://freshmeat.net/projects/asciidoc/
3175
- :homepage: http://hg.sharesource.org/asciidoc/[AsciiDoc home page]
3176
- :new: image:./images/smallnew.png[]
3452
+ :1: http://freshmeat.net/projects/asciidoc/
3453
+ :homepage: http://hg.sharesource.org/asciidoc/[AsciiDoc home page]
3454
+ :new: image:./images/smallnew.png[]
3455
+ :footnote1: footnote:[A meaningless latin term]
3177
3456
 
3178
3457
  Using previously defined attributes: See the {1}[Freshmeat summary]
3179
- or the {homepage} for something new {new}.
3458
+ or the {homepage} for something new {new}. Lorem ispum {footnote1}.
3180
3459
 
3181
3460
  .Note
3182
3461
  - The attribute entry definition must precede it's usage.
@@ -3193,20 +3472,29 @@ Attribute Lists
3193
3472
  ---------------
3194
3473
  An attribute list is a comma separated list of attribute values. The
3195
3474
  entire list is enclosed in square brackets. Attribute lists are used
3196
- to pass parameters to macros, blocks and inline quotes.
3475
+ to pass parameters to macros, blocks and inline quotes:
3476
+
3477
+ - The list consists of zero or more positional attribute values
3478
+ followed by zero or more named attribute values.
3479
+ - Attribute values are enclosed in quotation mark (") characters.
3480
+ - If the attribute list only contains positional attribute values and
3481
+ the values contain no commas then quoting is unnecessary.
3197
3482
 
3198
- The list consists of zero or more positional attribute values followed
3199
- by zero or more named attribute values. Here are three examples:
3483
+ Here are three examples (a single unquoted positional attribute; three
3484
+ unquoted attribute values; one positional attribute followed by two
3485
+ named attributes):
3200
3486
 
3201
3487
  [Hello]
3202
3488
  [quote, Bertrand Russell, The World of Mathematics (1956)]
3203
3489
  ["22 times", backcolor="#0e0e0e", options="noborders,wide"]
3204
3490
 
3205
- .Attribute list properties
3491
+ .Attribute list behavior
3206
3492
  - If one or more attribute values contains a comma the all values must
3207
3493
  be quoted (enclosed in quotation characters).
3208
- - If the list contains any named attributes the all string attribute
3209
- values must be quoted.
3494
+ - If the list contains any named or quoted attributes then all string
3495
+ attribute values must be quoted.
3496
+ - To include a quotation mark (") character in a quoted attribute
3497
+ value the the quotation mark must be escaped with a backslash.
3210
3498
  - List attributes take precedence over existing attributes.
3211
3499
  - List attributes can only be referenced in configuration file markup
3212
3500
  templates and tags, they are not available inside the document.
@@ -3215,15 +3503,28 @@ by zero or more named attribute values. Here are three examples:
3215
3503
  - Positional attributes are referred to as `\{1}`,`\{2}`,`\{3}`,...
3216
3504
  - Attribute `\{0}` refers to the entire list (excluding the enclosing
3217
3505
  square brackets).
3218
- - If an attribute named `options` is present it is processed as a
3219
- comma separated list of attributes with zero length string values.
3220
- For example `[options="opt1,opt2,opt3"]` is equivalent to
3221
- `[opt1="",opt2="",opt2=""]`.
3222
3506
  - Attribute lists are evaluated as a list of Python function
3223
3507
  arguments. If this fails or any of the items do not evaluate to a
3224
3508
  string, a number or None then all list items are treated as string
3225
3509
  literals.
3226
3510
 
3511
+ [[X75]]
3512
+ Options attribute
3513
+ ~~~~~~~~~~~~~~~~~
3514
+ If the attribute list contains an attribute named `options` it is
3515
+ processed as a comma separated list of option names:
3516
+
3517
+ - Each name generates an attribute named like `<option>-option` (where
3518
+ `<option>` is the option name) with an empty string value. For
3519
+ example `[options="opt1,opt2,opt3"]` is equivalent to setting the
3520
+ following three attributes
3521
+ `[opt1-option="",opt2-option="",opt2-option=""]`.
3522
+ - If you define a an option attribute globally (for example with an
3523
+ <<X18,attribute entry>>) then it will apply to all elements in the
3524
+ document.
3525
+ - AsciiDoc implements a number of predefined options which are listed
3526
+ in the <<X74,Attribute Options appendix>>.
3527
+
3227
3528
  Macro Attribute lists
3228
3529
  ~~~~~~~~~~~~~~~~~~~~~
3229
3530
  Macros calls are suffixed with an attribute list. The list may be
@@ -3232,10 +3533,10 @@ attribute values to macro markup templates.
3232
3533
 
3233
3534
  AttributeList Element
3234
3535
  ~~~~~~~~~~~~~~~~~~~~~
3235
- An attribute list on a line by itself constitutes an 'AttributeList'
3236
- block element, its function is to parametrize the following block
3237
- element. The list attributes are passed to the next block element for
3238
- markup template substitution.
3536
+ An <<X21,attribute list>> on a line by itself constitutes an
3537
+ 'AttributeList' block element, its attributes apply to the following
3538
+ block element. The list attributes are passed to the next block
3539
+ element for markup template substitution.
3239
3540
 
3240
3541
 
3241
3542
  Attribute References
@@ -3384,7 +3685,9 @@ command-line arguments, execution parameters along with attributes
3384
3685
  defined in the default configuration files. Here's the list of
3385
3686
  predefined intrinsic attributes:
3386
3687
 
3688
+ {amp} ampersand (&) character
3387
3689
  {asciidoc-dir} the asciidoc(1) application directory
3690
+ {asciidoc-file} the full path name of the asciidoc(1) script
3388
3691
  {asciidoc-version} the version of asciidoc(1)
3389
3692
  {author} author's full name
3390
3693
  {authored} empty string '' if {author} or {email} defined,
@@ -3392,6 +3695,7 @@ predefined intrinsic attributes:
3392
3695
  {backend-<backend>} empty string ''
3393
3696
  {<backend>-<doctype>} empty string ''
3394
3697
  {backend} document backend specified by `-b` option
3698
+ {backslash} backslash character
3395
3699
  {basebackend-<base>} empty string ''
3396
3700
  {basebackend} html or docbook
3397
3701
  {brvbar} broken vertical bar (|) character
@@ -3402,6 +3706,7 @@ predefined intrinsic attributes:
3402
3706
  {doctype} document type specified by `-d` option
3403
3707
  {email} author's email address (from document header)
3404
3708
  {empty} empty string ''
3709
+ {encoding} specifies input and output encoding
3405
3710
  {filetype-<fileext>} empty string ''
3406
3711
  {filetype} output file name file extension
3407
3712
  {firstname} author first name (from document header)
@@ -3419,11 +3724,14 @@ predefined intrinsic attributes:
3419
3724
  {mantitle} document title minus the manpage volume number
3420
3725
  {manvolnum} manpage volume number (1..8) (from document header)
3421
3726
  {middlename} author middle name (from document header)
3727
+ {nbsp} Non-breaking space entity
3422
3728
  {outdir} document output directory name (note 1)
3423
3729
  {outfile} output file name (note 1)
3424
3730
  {revision} document revision number (from document header)
3425
3731
  {sectnum} section number (in section titles)
3426
3732
  {title} section title (in titled elements)
3733
+ {two_colons} Two colon characters.
3734
+ {two_semicolons} Two semicolon characters.
3427
3735
  {user-dir} the ~/.asciidoc directory (if it exists)
3428
3736
  {verbose} defined as '' if --verbose command option specified
3429
3737
 
@@ -3447,6 +3755,7 @@ predefined intrinsic attributes:
3447
3755
  contents are written.]
3448
3756
 
3449
3757
 
3758
+ [[X73]]
3450
3759
  Block Element Definitions
3451
3760
  -------------------------
3452
3761
  The syntax and behavior of Paragraph, DelimitedBlock, List and Table
@@ -3480,7 +3789,10 @@ template::
3480
3789
  parameters instead of a single template.
3481
3790
 
3482
3791
  options::
3483
- A comma delimited list of element specific option names.
3792
+ A comma delimited list of element specific option names. In addition
3793
+ to being used internally, options are available during markup tag
3794
+ and template substitution as attributes with an empty string value
3795
+ named like `<option>-option` (where `<option>` is the option name).
3484
3796
 
3485
3797
  subs, presubs, postsubs::
3486
3798
  * 'presubs' and 'postsubs' are lists of comma separated substitutions that are
@@ -3489,9 +3801,9 @@ subs, presubs, postsubs::
3489
3801
 
3490
3802
  * 'subs' is an alias for 'presubs'.
3491
3803
 
3492
- * If a 'filter' is allowed (Paragraphs and DelimitedBlocks) and has
3493
- been specified then 'presubs' and 'postsubs' substitutions are
3494
- performed before and after the filter is run respectively.
3804
+ * If a 'filter' is allowed (Paragraphs, DelimitedBlocks and Tables)
3805
+ and has been specified then 'presubs' and 'postsubs' substitutions
3806
+ are performed before and after the filter is run respectively.
3495
3807
 
3496
3808
  * Allowed values: 'specialcharacters', 'quotes', 'specialwords',
3497
3809
  'replacements', 'macros', 'attributes', 'callouts'.
@@ -3503,7 +3815,7 @@ subs, presubs, postsubs::
3503
3815
  'normal';;
3504
3816
  The following substitutions:
3505
3817
  'specialcharacters','quotes','attributes','specialwords',
3506
- 'replacements','macros','passthroughs'.
3818
+ 'replacements','macros'.
3507
3819
  'verbatim';;
3508
3820
  'specialcharacters' and 'callouts' substitutions.
3509
3821
 
@@ -3516,8 +3828,8 @@ subs, presubs, postsubs::
3516
3828
 
3517
3829
  filter::
3518
3830
  This optional entry specifies an executable shell command for
3519
- processing block content (Paragraphs and DelimitedBlocks). The
3520
- filter command can contain attribute references.
3831
+ processing block content (Paragraphs, DelimitedBlocks and Tables).
3832
+ The filter command can contain attribute references.
3521
3833
 
3522
3834
  posattrs::
3523
3835
  Optional comma separated list of positional attribute names. This
@@ -3545,7 +3857,7 @@ Styles
3545
3857
  A style is a set of block attributes bundled as a single named
3546
3858
  attribute. The following example defines a style named 'verbatim':
3547
3859
 
3548
- verbatim-style=template="literalblock",subs="verbatim",font="monospaced"
3860
+ verbatim-style=template="literalblock",subs="verbatim"
3549
3861
 
3550
3862
  - All style parameter names must be suffixed with `-style` and the
3551
3863
  style parameter value is in the form of a list of <<X21,named
@@ -3586,9 +3898,9 @@ delimiter::
3586
3898
  blank line, the end of file, or the start of a DelimitedBlock.
3587
3899
 
3588
3900
  options::
3589
- The only allowable option is 'listelement'. The 'listelement'
3590
- option specifies that paragraphs of this type will automatically be
3591
- considered part of immediately preceding list items.
3901
+ The 'listelement' option specifies that paragraphs of this type will
3902
+ automatically be considered part of immediately preceding list
3903
+ items.
3592
3904
 
3593
3905
  .Paragraph processing proceeds as follows:
3594
3906
  1. The paragraph text is aligned to the left margin.
@@ -3604,19 +3916,16 @@ options::
3604
3916
 
3605
3917
  Delimited Blocks
3606
3918
  ~~~~~~~~~~~~~~~~
3607
- DelimitedBlock specific block definition notes:
3608
-
3609
- options::
3610
- Allowed values are:
3919
+ DelimitedBlock 'options' values are:
3611
3920
 
3612
- 'sectionbody';;
3613
- The block contents are processed as a SectionBody.
3921
+ sectionbody::
3922
+ The block contents are processed as a SectionBody.
3614
3923
 
3615
- 'skip';;
3616
- The block is treated as a comment (see 'CommentBlocks').
3924
+ skip::
3925
+ The block is treated as a comment (see CommentBlocks).
3617
3926
 
3618
- 'list';;
3619
- The block is a <<X29,list block>>.
3927
+ list::
3928
+ The block is a <<X29,list block>>.
3620
3929
 
3621
3930
  'presubs', 'postsubs' and 'filter' entries are meaningless when
3622
3931
  'sectionbody', 'skip' or 'list' options are set.
@@ -3650,47 +3959,24 @@ type::
3650
3959
 
3651
3960
  delimiter::
3652
3961
  A Python regular expression that matches the first line of a
3653
- list element entry. This expression must contain the named
3654
- group 'text' which matches text in the first line.
3655
-
3656
- subs::
3657
- Substitutions that are performed on list item text and terms.
3658
-
3659
- listtag::
3660
- The name of the tag that envelopes the List.
3661
-
3662
- itemtag::
3663
- The name of the tag that envelopes the ListItem.
3664
-
3665
- texttag::
3666
- The name of the tag that envelopes the list item text.
3667
-
3668
- labeltag::
3669
- The name of the tag that envelopes a variable list label.
3962
+ list element entry. This expression can contain the named groups
3963
+ 'text' (bulleted groups), 'index' and 'text' (numbered lists),
3964
+ 'label' and 'text' (labeled lists).
3670
3965
 
3671
- entrytag::
3672
- The name of the tag that envelopes a labeled list entry.
3673
-
3674
- The tag entries map the AsciiDoc list structure to backend markup; see
3675
- the AsciiDoc distribution `.conf` configuration files for examples.
3966
+ tags::
3967
+ The `<name>` of the `[listtags-<name>]` configuration file section
3968
+ containing list markup tag definitions. The tag entries ('list',
3969
+ 'entry', 'label', 'term', 'text') map the AsciiDoc list structure to
3970
+ backend markup; see the 'listtags' sections in the AsciiDoc
3971
+ distributed backend `.conf` configuration files for examples.
3676
3972
 
3677
3973
  Tables
3678
3974
  ~~~~~~
3679
- Table behavior and syntax is determined by `[tabledef*]` configuration
3680
- file sections. The user can change existing list behavior and add new
3681
- list types by editing configuration files.
3682
-
3683
- Table specific block definition notes:
3684
-
3685
- fillchar::
3686
- A single character that fills table ruler and underline
3687
- lines.
3688
-
3689
- subs::
3690
- Substitutions performed on table data items.
3691
-
3692
- format::
3693
- The source row data format ('fixed', 'csv' or 'dsv').
3975
+ Table behavior and syntax is determined by `[tabledef*]` and
3976
+ `[tabletags*]` configuration file sections. The user can change
3977
+ existing table behavior and add new table types by editing
3978
+ configuration files. The following `[tabledef*]` section entries
3979
+ generate table output markup elements:
3694
3980
 
3695
3981
  comspec::
3696
3982
  The table 'comspec' tag definition.
@@ -3705,18 +3991,18 @@ headdata, footdata, bodydata::
3705
3991
  'footdata' table definition entries default to 'bodydata' if they
3706
3992
  are undefined.
3707
3993
 
3994
+ paragraph::
3995
+ If the 'paragraph' tag is specified then blank lines in the cell
3996
+ data are treated as paragraph delimiters and marked up using this
3997
+ tag.
3998
+
3708
3999
  [[X4]]
3709
4000
  Table behavior is also influenced by the following `[miscellaneous]`
3710
4001
  configuration file entries:
3711
4002
 
3712
- textwidth::
3713
- The page width (in characters) of the source text. This setting is
3714
- compared to the table ruler width when calculating the relative
3715
- size of character ruler tables on the output page.
3716
-
3717
4003
  pagewidth::
3718
- This integer value is the printable width of the output media. Used
3719
- to calculate 'colwidth' and 'tablewidth' substitution values.
4004
+ This integer value is the printable width of the output media. See
4005
+ <<X69,table attributes>>.
3720
4006
 
3721
4007
  pageunits::
3722
4008
  The units of width in output markup width attribute values.
@@ -3727,9 +4013,10 @@ pageunits::
3727
4013
  most XML table schema.
3728
4014
  - Table definitions can be ``mixed in'' from multiple cascading
3729
4015
  configuration files.
3730
- - New table definitions inherit the default table definition
3731
- ('[tabledef-default]') so you only need to override those conf file
3732
- entries that require modification when defining a new table type.
4016
+ - New table definitions inherit the default table and table tags
4017
+ definitions (`[tabledef-default]` and `[tabletags-default]`) so you
4018
+ only need to override those conf file entries that require
4019
+ modification.
3733
4020
 
3734
4021
 
3735
4022
  [[X59]]
@@ -3751,9 +4038,6 @@ WARNING: Filters can potentially generate unsafe output. Before
3751
4038
  installing a filter you should verify that it can't be coerced into
3752
4039
  generating malicious output or exposing sensitive information.
3753
4040
 
3754
- NOTE: Filter functionality is currently only available on POSIX
3755
- platforms (this includes Cygwin).
3756
-
3757
4041
  Filter Search Paths
3758
4042
  ~~~~~~~~~~~~~~~~~~~
3759
4043
  If the filter command does not specify a directory path then
@@ -3794,19 +4078,21 @@ it's much to simplistic to be passed off as a code syntax highlighter.
3794
4078
  If you want a full featured multi-language highlighter use the
3795
4079
  <<X57,Source Code Highlighter Filter>>.
3796
4080
 
3797
- .Code filter example
3798
- [code,python]
3799
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3800
- ''' A multi-line
3801
- comment.'''
3802
- def sub_word(mo):
3803
- ''' Single line comment.'''
3804
- word = mo.group('word') # Inline comment
3805
- if word in keywords[language]:
3806
- return quote + word + quote
3807
- else:
3808
- return word
3809
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4081
+ ---------------------------------------------------------------------
4082
+ .Code filter example
4083
+ [code,python]
4084
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4085
+ ''' A multi-line
4086
+ comment.'''
4087
+ def sub_word(mo):
4088
+ ''' Single line comment.'''
4089
+ word = mo.group('word') # Inline comment
4090
+ if word in keywords[language]:
4091
+ return quote + word + quote
4092
+ else:
4093
+ return word
4094
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4095
+ ---------------------------------------------------------------------
3810
4096
 
3811
4097
  Outputs:
3812
4098
 
@@ -3868,9 +4154,9 @@ associated with generating and sequencing the toolchain commands and
3868
4154
  managing intermediate and output files. a2x(1) also optionally
3869
4155
  deploys admonition and navigation icons and a CSS stylesheet. See the
3870
4156
  `a2x(1)` man page for more details. All you need is
3871
- <<X40,xsltproc(1)>>, <<X13,DocBook XSL Stylesheets>> and, optionally
3872
- <<X31,dblatex>> or <<X14,FOP>> (if you want PDF), or `lynx(1)` (if you
3873
- want text).
4157
+ <<X40,xsltproc(1)>>, <<X13,DocBook XSL Stylesheets>> and optionally:
4158
+ <<X31,dblatex>> or <<X14,FOP>> (if you want PDF); `w3m(1)` or
4159
+ `lynx(1)` (if you want text).
3874
4160
 
3875
4161
  The following examples generate `doc/source-highlight-filter.pdf` from
3876
4162
  the AsciiDoc `doc/source-highlight-filter.txt` source file. The first
@@ -3878,7 +4164,7 @@ example uses `dblatex(1)` (the default PDF generator) the second
3878
4164
  example forces FOP to be used:
3879
4165
 
3880
4166
  $ a2x -f pdf doc/source-highlight-filter.txt
3881
- $ a2x -f pdf --fop-options="" doc/source-highlight-filter.txt
4167
+ $ a2x -f pdf --fop doc/source-highlight-filter.txt
3882
4168
 
3883
4169
  See the `a2x(1)` man page for details.
3884
4170
 
@@ -4052,8 +4338,8 @@ composing your own configuration file `[header]` section).
4052
4338
  TIP: If you get an 'undefined entity' error when processing DocBook
4053
4339
  files you'll may find that you've used an undefined HTML character
4054
4340
  entity. An easy (although inelegant) fix is to use the character's
4055
- character code instead of its symbolic name (for example use `&#160;`
4056
- instead of `&nbsp;`).
4341
+ character code instead of its symbolic name (for example use `\&#160;`
4342
+ instead of `\&nbsp;`).
4057
4343
 
4058
4344
  If your system has been configured with an XML catalog you may find a
4059
4345
  number of entity sets are already automatically included.
@@ -4070,7 +4356,7 @@ Non-standard fonts should be embedded in the distributed document.
4070
4356
  [[X36]]
4071
4357
  Help Commands
4072
4358
  -------------
4073
- The asciidoc(1) command has a `\--help` option which prints help topics
4359
+ The asciidoc(1) command has a `--help` option which prints help topics
4074
4360
  to stdout. The default topic summarizes asciidoc(1) usage:
4075
4361
 
4076
4362
  $ asciidoc --help
@@ -4101,7 +4387,7 @@ The help topic files have the same named section format as other
4101
4387
  same locations and loaded in the same order as other configuration
4102
4388
  files.
4103
4389
 
4104
- When the `\--help` command-line option is specified AsciiDoc loads the
4390
+ When the `--help` command-line option is specified AsciiDoc loads the
4105
4391
  appropriate help files and then prints the contents of the section
4106
4392
  whose name matches the help topic name. If a topic name is not
4107
4393
  specified `default` is used. You don't need to specify the whole help
@@ -4141,9 +4427,9 @@ Execute `:help gq` command to read about the vim gq command.
4141
4427
  =====================================================================
4142
4428
  - Assign the `gq}` command to the Q key with the `nnoremap Q gq}`
4143
4429
  command or put it in your `\~/.vimrc` file to so it's always
4144
- available (see the <<X61, Example `\~/.vimrc` file>>).
4145
- - Put `set` commands in your `\~/.vimrc` file so you don't have to
4146
- enter them manually <<X61, Example `\~/.vimrc` file>>).
4430
+ available (see the <<X61, Example `~/.vimrc` file>>).
4431
+ - Put `set` commands in your `~/.vimrc` file so you don't have to
4432
+ enter them manually.
4147
4433
  - The Vim website (http://www.vim.org) has a wealth of resources,
4148
4434
  including scripts for automated spell checking and ASCII Art
4149
4435
  drawing.
@@ -4152,9 +4438,9 @@ Execute `:help gq` command to read about the vim gq command.
4152
4438
 
4153
4439
  Format Lists
4154
4440
  ^^^^^^^^^^^^
4155
- The `gq` command can also be used to format bulleted and numbered
4156
- lists. First you need to set the `comments` and `formatoptions` (see
4157
- the <<X61, Example `\~/.vimrc` file>>).
4441
+ The `gq` command can also be used to format bulleted, numbered and
4442
+ callout lists. First you need to set the `comments`, `formatoptions`
4443
+ and `formatlistpat` (see the <<X61, Example `~/.vimrc` file>>).
4158
4444
 
4159
4445
  Now you can format simple lists that use dash, asterisk, period and
4160
4446
  plus bullets along with numbered ordered lists:
@@ -4168,8 +4454,8 @@ Indent whole paragraphs by indenting the fist line with the desired
4168
4454
  indent and then executing the `gq}` command.
4169
4455
 
4170
4456
  [[X61]]
4171
- Example `\~/.vimrc` File
4172
- ^^^^^^^^^^^^^^^^^^^^^^^^
4457
+ Example `~/.vimrc` File
4458
+ ^^^^^^^^^^^^^^^^^^^^^^^
4173
4459
  ---------------------------------------------------------------------
4174
4460
  " Show tabs and trailing characters.
4175
4461
  set listchars=tab:»·,trail:·
@@ -4191,6 +4477,7 @@ nnoremap W :%s/[\r \t]\+$//<CR>:set et<CR>:retab!<CR>
4191
4477
  autocmd BufRead,BufNewFile *.txt,README,TODO,CHANGELOG,NOTES
4192
4478
  \ setlocal autoindent expandtab tabstop=8 softtabstop=2 shiftwidth=2
4193
4479
  \ textwidth=70 wrap formatoptions=tcqn
4480
+ \ formatlistpat=^\\s*<\\?\\d\\+[\\]:.)}\\t\ >]\\s*
4194
4481
  \ comments=s1:/*,ex:*/,://,b:#,:%,:XCOMM,fb:-,fb:*,fb:+,fb:.,fb:>
4195
4482
  ---------------------------------------------------------------------
4196
4483
 
@@ -4245,12 +4532,6 @@ Ambiguous ordered list items::
4245
4532
  The 'list item out of sequence' warning makes it unlikely that this
4246
4533
  problem will go unnoticed.
4247
4534
 
4248
- Escaping inside DSV table data::
4249
- Delimiter separated text uses C style backslash escape sequences.
4250
- If you want to enter a backslash (for example, to escape AsciiDoc
4251
- text formatting or an inline macro) you need to escape it by
4252
- entering two backslashes.
4253
-
4254
4535
  Special characters in attribute values::
4255
4536
  Special character substitution precedes attribute substitution so
4256
4537
  if attribute values contain special characters you may, depending
@@ -4427,7 +4708,7 @@ to using style sheets.
4427
4708
  Closing Open Sections
4428
4709
  ~~~~~~~~~~~~~~~~~~~~~
4429
4710
  You can close off section tags up to level `N` by calling the
4430
- `\eval::[Section.setlevel(N)]` system macro. This is useful if you
4711
+ `eval::[Section.setlevel(N)]` system macro. This is useful if you
4431
4712
  want to include a section composed of raw markup. The following
4432
4713
  example includes a DocBook glossary division at the top section level
4433
4714
  (level 0):
@@ -4467,20 +4748,21 @@ formed.
4467
4748
 
4468
4749
  Glossary
4469
4750
  --------
4470
- [[X8]] Block element:-
4751
+ [glossary]
4752
+ [[X8]] Block element::
4471
4753
  An AsciiDoc block element is a document entity composed of one or
4472
4754
  more whole lines of text.
4473
4755
 
4474
- [[X34]] Inline element:-
4756
+ [[X34]] Inline element::
4475
4757
  AsciiDoc inline elements occur within block element textual
4476
4758
  content, they perform formatting and substitution tasks.
4477
4759
 
4478
- Formal element:-
4760
+ Formal element::
4479
4761
  An AsciiDoc block element that has a BlockTitle. Formal elements
4480
4762
  are normally listed in front or back matter, for example lists of
4481
4763
  tables, examples and figures.
4482
4764
 
4483
- Verbatim element:-
4765
+ Verbatim element::
4484
4766
  The word verbatim indicates that white space and line breaks in
4485
4767
  the source document are to be preserved in the output document.
4486
4768
 
@@ -4495,11 +4777,11 @@ Version 7 to version 8
4495
4777
  matched text with backslashes.
4496
4778
  - The index entry inline macro syntax has changed -- if your documents
4497
4779
  include indexes you may need to edit them.
4498
- - Replaced a2x(1) `\--no-icons` and `\--no-copy` options with their
4499
- negated equivalents: `\--icons` and `\--copy` respectively. The
4780
+ - Replaced a2x(1) `--no-icons` and `--no-copy` options with their
4781
+ negated equivalents: `--icons` and `--copy` respectively. The
4500
4782
  default behavior has also changed -- the use of icons and copying of
4501
- icon and CSS files must be specified explicitly with the `\--icons`
4502
- and `\--copy` options.
4783
+ icon and CSS files must be specified explicitly with the `--icons`
4784
+ and `--copy` options.
4503
4785
 
4504
4786
  The rationale for the changes can be found in the AsciiDoc
4505
4787
  `CHANGELOG`.
@@ -4509,78 +4791,13 @@ constrained quotes syntax and the new index entry syntax then you can
4509
4791
  define the attribute `asciidoc7compatible` (for example by using the
4510
4792
  `-a asciidoc7compatible` command-line option).
4511
4793
 
4512
- [[X32]]
4513
- Version 6 to version 7
4514
- ~~~~~~~~~~~~~~~~~~~~~~
4515
- The changes that affect the most users relate to renamed and
4516
- deprecated backends and command-line syntax:
4517
-
4518
- . The 'html' backend has been renamed 'html4'.
4519
- . The 'xhtml' backend has been deprecated to 'xhtml-deprecated' (use
4520
- the new 'xhtml11' backend in preference).
4521
- . The use of CSS specific `css` and `css-embedded` backends has been
4522
- dropped in favor of using attributes (see the table below and
4523
- <<X33,xhtml backend attributes>>).
4524
- . Deprecated features that emitted warnings in prior versions are no
4525
- longer tolerated.
4526
- . The command-line syntax for deleting (undefining) an attribute has
4527
- changed from `-a ^name` to `-a name!`.
4528
-
4529
- .Equivalent command-line syntax
4530
- [grid="all"]
4531
- ```~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4532
- Version 6 (old),Version 7 (new),Version 7 (backward compatible)
4533
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4534
- -b html,-b html4,-b html4
4535
- -b css,-b xhtml11 -a linkcss -a icons,-b xhtml-deprecated -a css -a linkcss -a icons
4536
- -b css-embedded,-b xhtml11 -a icons,-b xhtml-deprecated -a css -a icons
4537
- -b xhtml,-b xhtml11,-b xhtml-deprecated
4538
- -b docbook-sgml,-b docbook -a sgml,-b docbook -a sgml
4539
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4540
-
4541
- If you've customized version 6 distribution stylesheets then you'll
4542
- need to either bring them in line with the new
4543
- `./stylesheets/xhtml11*.css` class and id names or stick with the
4544
- backward compatible `xhtml-deprecated` backend.
4545
-
4546
- Changes to configuration file syntax:
4547
-
4548
- . To undefine an attribute in the `[attributes]` section use `name!`
4549
- instead of `name` (`name` now sets that attribute to a blank
4550
- string).
4551
-
4552
-
4553
4794
  [[X38]]
4554
4795
  Appendix B: Packager Notes
4555
4796
  ---------------------------
4556
4797
  Read the `README` and `INSTALL` files (in the distribution root
4557
- directory) for install prerequisites and procedures.
4558
-
4559
- The distribution `install.sh` shell script is the canonical
4560
- installation procedure and is the definitive installation description.
4561
- Here's a summary of the installation procedure:
4562
-
4563
- - Unpack entire distribution tarball to `/usr/share/asciidoc/`.
4564
- - Move `asciidoc.py` to `/usr/bin/`; rename to `asciidoc`; if
4565
- necessary modify shebang line; ensure executable permissions are
4566
- set.
4567
- - Move `a2x` to `/usr/bin/`; if necessary modify shebang line; ensure
4568
- executable permissions are set.
4569
- - Move the `./*.conf` files to `/etc/asciidoc/`.
4570
- - Move `./filters/{\*.conf,*.py}` to `/etc/asciidoc/filters/`.
4571
- - Move `./docbook-xsl/*.xsl` to `/etc/asciidoc/docbook-xsl/`.
4572
- - Move `./dblatex/*.{xsl,sty}` to `/etc/asciidoc/dblatex/`.
4573
- - Copy `./stylesheets/*.css` to `/etc/asciidoc/stylesheets/`.
4574
- - Copy `./javascripts/*.js` to `/etc/asciidoc/javascripts/`.
4575
- - Copy `./images/icons/*` to `/etc/asciidoc/images/icons/`
4576
- (recursively including the `icons` subdirectory and its contents).
4577
- - Compress the asciidoc(1) and ax2(1) man pages (`./doc/*.1`) with
4578
- gzip(1) and move them to `/usr/share/man/man1/`.
4579
- - If Vim is installed then install Vim syntax and filetype detection
4580
- files.
4581
-
4582
- Leaving stylesheets and images in `/usr/share/asciidoc/` ensures the
4583
- docs and example website are not broken.
4798
+ directory) for install prerequisites and procedures. The distribution
4799
+ `Makefile.in` (used by `configure` to generate the `Makefile`) is the
4800
+ canonical installation procedure.
4584
4801
 
4585
4802
 
4586
4803
  [[X39]]
@@ -4646,43 +4863,7 @@ you need to be aware of:
4646
4863
  format.
4647
4864
 
4648
4865
 
4649
- Appendix E: ASCIIMathML Support
4650
- -------------------------------
4651
- http://www1.chapman.edu/~jipsen/mathml/asciimath.html[ASCIIMathML] is
4652
- a clever JavaScript written by Peter Jipsen that transforms
4653
- mathematical formulae written in plain text to standard mathematical
4654
- notation on an HTML page.
4655
-
4656
- To enable ASCIIMathML support on the `xhtml11` backend include the `-a
4657
- asciimath` command-line option. Here's what the `asciimath` attribute
4658
- does:
4659
-
4660
- - Embeds the `ASCIIMathML.js` script in the output document (links it
4661
- if `-a linkcss` has been specified).
4662
- - Escapes ASCIIMathML delimiters.
4663
-
4664
- When entering ASCIIMathML formulas you *must* enclose them inside
4665
- <<X50,double-dollar passthroughs>> (this is necessary because
4666
- ASCIIMathML characters clash with AsciiDoc formatting characters). The
4667
- double-dollar passthrough has the bonus of also escaping special
4668
- characters so the output document is valid XHTML. You can see an
4669
- ASCIIMathML example at
4670
- http://www.methods.co.nz/asciidoc/asciimath.html, the same example
4671
- can be found in the AsciiDoc distribution `./doc` directory.
4672
-
4673
- [NOTE]
4674
- =====================================================================
4675
- - See the
4676
- http://www1.chapman.edu/~jipsen/mathml/asciimath.html[ASCIIMathML]
4677
- website for ASCIIMathML documentation and the latest version.
4678
- - If you use Mozilla you need to install the
4679
- http://www.mozilla.org/projects/mathml/fonts/[required math fonts].
4680
- - If you use Microsoft Internet Explorer 6 you need to install
4681
- http://www.dessci.com/en/products/mathplayer/[MathPlayer].
4682
- =====================================================================
4683
-
4684
-
4685
- Appendix F: Vim Syntax Highlighter
4866
+ Appendix E: Vim Syntax Highlighter
4686
4867
  ----------------------------------
4687
4868
  The AsciiDoc `./vim/` distribution directory contains Vim syntax
4688
4869
  highlighter and filetype detection scripts for AsciiDoc. Syntax
@@ -4718,17 +4899,8 @@ around the problems:
4718
4899
  preceding blank lines, or putting a list continuation character
4719
4900
  (`+`) in the preceding blank line.
4720
4901
 
4721
- - Nested text formatting is highlighted according to the outer format.
4722
-
4723
- - Most escaped inline elements will be highlighted.
4724
-
4725
- - Unterminated quotes are highlighted, for example `'tis` would be
4726
- seen as the start of emphasized text. As a damage control measure
4727
- quoted text and macro attribute list containing quoted text always
4728
- terminate at a blank line. This problem is usually ameliorated by
4729
- the fact that characters such as `\~`, `+`, `^` and `_` will
4730
- normally occur inside monospaced quotes (unless they are used for
4731
- quoting), for example `~/projects`.
4902
+ - Nested quoted text formatting is highlighted according to the outer
4903
+ format.
4732
4904
 
4733
4905
  - If a closing block delimiter is not preceded by a blank line it is
4734
4906
  sometimes mistaken for a title underline. A workaround is to insert
@@ -4737,9 +4909,6 @@ around the problems:
4737
4909
  - If a list block delimiter is mistaken for a title underline precede
4738
4910
  it with a blank line.
4739
4911
 
4740
- - Tables are terminated by a blank line -- use a space character on
4741
- blank lines within your table.
4742
-
4743
4912
  - Lines within a paragraph beginning with a period will be highlighted
4744
4913
  as block titles. For example:
4745
4914
 
@@ -4755,3 +4924,37 @@ that appear blank but contain white space characters -- setting your
4755
4924
  editor options so that white space characters are visible is a good
4756
4925
  idea.
4757
4926
 
4927
+
4928
+ [[X74]]
4929
+ Appendix F: Attribute Options
4930
+ -----------------------------
4931
+ Here is the list of predefined <<X75,attribute list options>>:
4932
+
4933
+
4934
+ [cols="2,2,2,5",options="header"]
4935
+ |====================================================================
4936
+ |Option|Backends|AsciiDoc Elements|Description
4937
+
4938
+ |compact |docbook, xhtml11 |bulleted list, numbered list|
4939
+ Minimizes vertical space in the list
4940
+
4941
+ |strong |xhtml11,html4 |labeled lists|
4942
+ Emboldens label text.
4943
+
4944
+ |footer |docbook, xhtml11, html4 |table|
4945
+ The last row of the table is rendered as a footer.
4946
+
4947
+ |header |docbook, xhtml11, html4 |table|
4948
+ The first row of the table is rendered as a header.
4949
+
4950
+ |breakable, unbreakable |docbook (XSL/FO) |table|
4951
+ The 'breakable' options allows the table to break across page
4952
+ boundaries (the default behavior); 'unbreakable' attempts to keep the
4953
+ table together on a single page. If neither option is specified the
4954
+ default XSL stylesheet behavior prevails.
4955
+
4956
+ |pgwide |docbook (XSL/FO) |table, block image, horizontal labeled list|
4957
+ Specifies that the element should be rendered across the full text
4958
+ width of the page irrespective of the current indentation.
4959
+
4960
+ |====================================================================