PageRenderTime 48ms CodeModel.GetById 3ms app.highlight 19ms RepoModel.GetById 1ms app.codeStats 1ms

/doc/English/tags-reference.t2t

http://txt2tags.googlecode.com/
Unknown | 2149 lines | 1409 code | 740 blank | 0 comment | 0 complexity | 33937581c5ab2b012173eb94e87c01ef MD5 | raw file
   1All TAGS Reference
   2
   3
   4    =Introduction=[Introduction]
   5
   6This document is a reference for all available TAGS available to
   7developers for adding new targets, as found in the //getTags()// function.
   8It is intended for **advanced users** and **developers** who wish to
   9add a new target to Txt2tags without needing to know the source code
  10in detail.
  11
  12This reference will describe all available tags, including how and
  13where they will appear in the final tagged document, how the various
  14rules in the //getRules()// function affect them, and what special
  15characters and macros are expanded in the output.
  16
  17Txt2tags has fairly complex rules and gotchas, and it can be
  18difficult searching through the entire source code to see exactly
  19what each tag does. Often, when creating a new target, a developer
  20is surprised when the output is not quite how it was expected to be,
  21and in particular that certain tags did not behave as expected. It
  22is hoped that this reference will make it easier to create new
  23targets with fewer bugs and surprises, so txt2tags can continue to
  24grow as "one source, many targets".
  25
  26
  27    +The Parts of a Document+[chapter-ThePartsofaDocument]
  28
  29Before looking at the individual tags, it is important to understand
  30exactly how the different parts of a document fit together.
  31
  32A document is built from a **template**, which is filled with the
  33document's **headers**, **body**, and an optional **table of contents**.
  34
  35    ++Template++[section-Template]
  36
  37The template of a document consists of the basic opening and closing
  38markup that all examples of that type of file must have. All
  39supported targets have a default template included in the source
  40code, in the //HEADER_TEMPLATE// area. Alternatively, the user may
  41use a custom header using the //--template// command line option.
  42
  43Templates should make use of the **%(HEADER1)s**, **%(HEADER2)s**,
  44and **%(HEADER3)s** macros, as well as **%(ENCODING)s** and
  45**%(STYLE)s** if the target supports character encodings and
  46external stylesheets. These macros will be replaced with the
  47appropriate values from the source document. If any value is blank,
  48the entire line including the macro is removed unless the target has
  49included the rule ['keepblankheaderline' #keepblankheaderline].
  50
  51It is not required, but by convention **HEADER1** refers to the title,
  52**HEADER2** to the author, and **HEADER3** to the date the document was
  53created. Several targets reflect this convention in their use of the
  54**HEADER** metadata in their default templates.
  55
  56Custom templates must also include the **%(BODY)s** macro, which
  57will be expanded to the fully tagged body of the document. The
  58default template should not include this, as it is automatically
  59added to the end of the //HEADER_TEMPLATE// text.
  60
  61    ++Body Text++[section-BodyText]
  62
  63The body of a document consists of the fully tagged text converted
  64from the original source document. It is nothing more or less than
  65the original document with all txt2tags markup removed, and replaced
  66with the target-specific markup. All of the tags from //getTags()//
  67end up in this section, along with all user text.
  68
  69The document is parsed into blocks, and each block is processed line
  70by line. Note that this seraration of lines is kept throughout the
  71process, and in nearly all cases the final tagged text is broken in
  72the same locations as the original. This is important to remember,
  73as several tags depend on this line by line behaviour, and their
  74output changes that line it self, not the block.
  75
  76    ++Table of Contents++[section-TableofContents]
  77
  78Txt2tags is able to add a table of contents to the output document.
  79If the target supports creating a table of contents itself, Txt2tags
  80can take advantage of that. Otherwise, Txt2tags can generate a table
  81of contents automatically and insert it where appropriate.
  82
  83If the command line option //--toc// is used, Txt2tags will add a
  84table of contents to the output. If the command line option
  85//--toc-only// is used, then the table of contents will be the only
  86thing output, and the rest of the body text will not.
  87
  88By default, the table of contents will be emitted as the first text
  89in the body of the document. That is, it will be emitted directly
  90after [bodyOpen #bodyOpen] and before the main text. If this is not
  91appropriate, the user can insert the **%%toc** macro into the source
  92text, and it will be emitted there instead.
  93
  94Full details on how the table of contents is emitted is given in the
  95section on the Table of Contents tags.
  96
  97    ++Escapes++[section-Escapes]
  98
  99One final note, though this is not really part of the document
 100structures. Most text is processed throught the functions
 101//doEscape()// and //doFinalEscape()// before being emitted in the
 102final output. This is used to allow certain characters that may give
 103problems in Txt2tags, such as backslashes or characters that are the
 104same as Txt2tags markup.
 105
 106The emitted tags are not processed by these functions at all. Some
 107tags also prevent parts of the text from being processed by these
 108functions. The reference will note when this is the case.
 109
 110
 111    +Basic Blocks+[chapter-BasicBlocks]
 112
 113    ++Paragraphs++[section-Paragraphs]
 114
 115Paragraphs are the most common, and most basic of all text blocks.
 116They are the simple, regular body text of the document.
 117
 118If the rule ['blanksaroundpara' #blanksaroundpara] is defined, an empty line will be
 119emitted before and after the paragraph and tags.
 120
 121If the rule ['onelinepara' #onelinepara] is defined, the paragraph text will have
 122all newlines removed and replaced with spaces, emitting the
 123paragraph as a single line.
 124
 125    ===paragraphOpen===[paragraphOpen]
 126
 127This tag is emitted, on its own line, before each paragraph of body
 128text. If this tag (and [paragraphClose #paragraphClose]) are not defined for a
 129target, the body text is simply printed as unadorned plain text,
 130much like the source document.
 131
 132: Macros:
 133  : **~D~**
 134    If this macro is included in the tag, it will be expanded to the
 135    value of the depth of that particular paragraph. Most paragraphs
 136    have depth '1', pargraphs inside a top-level list will have
 137    depth level '2', and so on.
 138
 139    If the rule ['blockdepthmultiply' #blockdepthmultiply] is defined for the target,
 140    the depth value will be multiplied by that amount before being
 141    emitted. If the rule ['depthmultiplyplus' #depthmultiplyplus] is defined, then that
 142    value will be added to the depth before multiplying by
 143    ['blockdepthmultiply' #blockdepthmultiply], but only if used with
 144    ['blockdepthmultiply' #blockdepthmultiply].
 145
 146    If the rule ['zerodepthpara' #zerodepthpara] is defined, then top-level
 147    paragraphs (those not nested inside a list) will always have
 148    **~D~** replaced with '0', regardless of the other rules.
 149
 150
 151    ===paragraphClose===[paragraphClose]
 152
 153This tag is emitted, on its own line, after each paragraph of body
 154text.
 155
 156: Macros
 157  None
 158
 159
 160    ++Block Quotations++[section-BlockQuotations]
 161
 162Block quotes are paragraphs that are set apart from regular
 163paragraphs, usually to show that they are quoted from some external
 164source.
 165
 166Note that, at this time, Txt2tags is not able to emit multiple
 167paragraphs within a single block quote. Each separate paragraph
 168will be emitted as a separate block quote with Open and Close tags.
 169
 170Nested block quotes are allowed, unless the rule ['quotenotnested' #quotenotnested]
 171is defined for the target.
 172
 173If the rule ['keepquoteindent' #keepquoteindent] is defined, then each line of the
 174block quote will have tab characters added before the text equal to
 175the depth of that quote.
 176
 177If the rule ['blanksaroundquote' #blanksaroundquote] is defined, an extra blank line is
 178emitted before and after the block quote.
 179
 180    ===blockQuoteOpen===[blockQuoteOpen]
 181
 182This tag is emitted, on its own line, before each paragraph of a
 183block quote.
 184
 185The block depth is given by a number of tab characters.
 186``blockQuoteOpen`` will have these tabs inserted before the tag,
 187unless the rule ['tagnotindentable' #tagnotindentable] is defined.
 188
 189: Macros:
 190  : **~D~**
 191    If this macro is included in the tag, it will be expanded to the
 192    value of the depth of that particular block quote paragraph. The
 193    first Block Quote has a depth level of '1'. A quote nested
 194    within the first will have a depth of '2', and so on.
 195
 196    If the rule ['blockdepthmultiply' #blockdepthmultiply] is defined for the target,
 197    the depth value will be multiplied by that amount before being
 198    emitted. If the rule ['depthmultiplyplus' #depthmultiplyplus] is defined, then that
 199    value will be added to the depth before multiplying by
 200    ['blockdepthmultiply' #blockdepthmultiply], but only if used with
 201    ['blockdepthmultiply' #blockdepthmultiply].
 202
 203
 204    ===blockQuoteLine===[blockQuoteLine]
 205
 206If this tag is present, it will be added before each line of the
 207block quote.
 208
 209This tag is emitted multiple times for nested quotes, one copy of
 210the tag for each level of depth. For example, if the quote is
 211defined as '*', then for a third-level nested quote each line
 212will begin with '***'.
 213
 214If the rule ['keepquoteindent' #keepquoteindent] is defined, all copies of this tag
 215are emitted after the tab characters and before the quote text.
 216
 217: Macros:
 218  None
 219
 220
 221    ===blockQuoteClose===[blockQuoteClose]
 222
 223This tag is emitted, on its own line, at the end of each block
 224quote.
 225
 226The block depth is given by a number of tab characters.
 227``blockQuoteClose`` will have these tabs inserted before the tag,
 228unless the rule ['tagnotindentable' #tagnotindentable] is defined.
 229
 230: Macros:
 231  None
 232
 233
 234    ++Verbatim Blocks++[section-VerbatimBlocks]
 235
 236Verbatim blocks are used when the user needs to keep control over
 237the spaces and line breaks of a block of text. Verbatim blocks are
 238usually emitted in a monospace font, and all spaces and line breaks
 239will be the same as in the source text. It is commonly used for
 240ASCII art and for source code listings.
 241
 242Note that this is not the same as raw text. Raw text blocks are
 243emitted exactly as they are in the source text, with no processing.
 244Verbatim blocks are processed, and are emitted so that they
 245//appear// the same as in the source text.
 246
 247By default, verbatim blocks are passed through //doEscape()// but
 248not //doFinalEscape()//. If the rule ['verbblocknotescaped' #verbblocknotescaped] is
 249defined, the text will not be passed through //doEscape()//. If the
 250rule ['verbblockfinalescape' #verbblockfinalescape] is defined, then the text will be be
 251passed through //doFinalEscape()//.
 252
 253If the rule ['indentverbblock' #indentverbblock] is defined, then each line of the
 254text will be emitted with two spaces inserted before the text.
 255
 256If the rule ['blanksaroundverb' #blanksaroundverb] is defined, an extra blank line
 257will be emitted before and after the verbatim block.
 258
 259Note that the entire verbatim area is emitted as a single block.
 260Blank lines within a verbatim block do not separate paragraphs.
 261
 262    ===blockVerbOpen===[blockVerbOpen]
 263
 264This tag is emitted, on its own line, before each block of verbatim
 265text.
 266
 267: Macros:
 268  None
 269
 270
 271    ===blockVerbLine===[blockVerbLine]
 272
 273This tag is emitted before each line of text in the verbatim block.
 274Some targets require this to keep the entire verbatim block
 275together, or to maintain formatting.
 276
 277If the rule ['indentverbblock' #indentverbblock] is defined, this tag is emitted
 278after the spaces used for the indent, before the block text.
 279
 280: Macros:
 281  None
 282
 283
 284    ===blockVerbSep===[blockVerbSep]
 285
 286This tag is emitted, on a line by itself, in between each line of
 287text in the verbatim block.
 288
 289: Macros:
 290  None
 291
 292
 293    ===blockVerbClose===[blockVerbClose]
 294
 295This tag is emitted, on its own line, after each block of verbatim
 296text.
 297
 298: Macros:
 299  None
 300
 301
 302    +Inline Tags+[chapter-InlineTags]
 303
 304These tags are used to add additional formatting to text within the
 305basic blocks. They are useable within regular paragraphs and block
 306quotes, and unless otherwise noted, within lists and tables as
 307well.
 308
 309All of these tags are inline, meaning that they do not begin or end
 310blocks and do not add or remove lines of text.
 311
 312    ++Text Beautifiers++[section-TextBeautifiers]
 313
 314These are the simple tags used to change how text appears in the
 315final output.
 316
 317None of these tags use any special macros.
 318
 319    ===fontItalicOpen, fontItalicClose===[fontItalic]
 320
 321These tags are emitted, respectively, immediately before and after
 322some text that should appear in //italics// for emphasis.
 323
 324    ===fontBoldOpen, fontBoldClose===[fontBold]
 325
 326These tags are emitted, respectively, immediately before and after
 327some text that should appear in **bold** for strong emphasis.
 328
 329    ===fontUnderlineOpen, fontUnderlineClose===[fontUnderline]
 330
 331These tags are emitted, respectively, immediately before and after
 332some text that should appear __underlined__.
 333
 334    ===fontStrikeOpen, fontStrikeClose===[fontStrike]
 335
 336These tags are emitted, respectively, immediately before and after
 337some text that should appear --struck out--.
 338
 339    ===fontMonoOpen, fontMonoClose===[fontMono]
 340
 341These tags are emitted, respectively, immediately before and after
 342some text that should appear in a ``monospaced`` font, such as
 343inline source code.
 344
 345    ++Links++[section-Links]
 346
 347These tags are used to insert links to external files, pages, or
 348resources, as well as internal links within the document itself.
 349
 350The link text itself is a **url**. Ordinarily, urls are not escaped
 351so as to preserve all characters within it exactly as typed. It the
 352rule ['escapeurl' #escapeurl] is defined for a target, the url will be passed
 353through //doEscape()// after all. Additionally, if the rule
 354['linkable' #linkable] is not defined, signalling that this target does not
 355support true links, then the url will be escaped as well.
 356
 357    ===url===[url]
 358
 359This tag is used to insert a bare url without a label.
 360
 361: Macros:
 362  : **\a**
 363    This mark within the tag will be expanded into the text of the
 364    url itself. For example, if the ``url`` tag is '[url=\a]'
 365    and the url in the source document in 'example.com', then
 366    the text '[url=example.com]' will be emitted.
 367
 368
 369    ===urlMark===[urlMark]
 370
 371This tag is used for a link with a label. The label will appear in
 372the final document, possibly formatted differently to set it apart,
 373but it will function as a link to the url.
 374
 375: Macros:
 376  : **\a**
 377    This mark should appear twice in the tag. The first instance is
 378    expanded to the text of the url, the second instance is expanded
 379    to the text of the label.
 380
 381    If the rule ['labelbeforelink' #labelbeforelink] is defined for the target, then
 382    the first instance is the label, and the second instance is the
 383    url.
 384
 385    If the rule ['imglinkable' #imglinkable] is defined for the target, then an
 386    [img #img] tag (see below) is allowed as the label.
 387
 388
 389    ===urlMarkAnchor===[urlMarkAnchor]
 390
 391This tag is used if the url begins with a '#', designating an
 392internal link to an anchor within the document. Some targets require
 393a different tag for internal links than for external links.
 394
 395This tag otherwise behaves identically as [urlMark #urlMark], with the same
 396macro definitions.
 397
 398
 399    ===email===[email]
 400
 401This tag is used if the url is detected as being for an email
 402address rather than to a webpage or file. Ordinarily Txt2tags will
 403detect automatically that the url represents an email address.
 404
 405Just like [url #url], this tag is used for a plain email with no label
 406defined.
 407
 408: Macros:
 409  : **\a**
 410    This mark is expanded to the full text of the email address.
 411
 412
 413    ===emailMark===[emailMark]
 414
 415Similar to [urlMark #urlMark], this tag is used for email addresses that
 416are assigned a label in the source document.
 417
 418: Macros:
 419  : **\a**
 420    This mark appears twice in the tag, just like [urlMark #urlMark]. The
 421    first instance is expanded to the text of the email address, and
 422    the second instance to the text of the label. If the rule
 423    ['labelbeforelink' #labelbeforelink] is defined, then the first instance is the
 424    label and the second instance is the email address.
 425
 426
 427    ++Images++[section-Images]
 428
 429Many targets allow images to be included in documents, often with a
 430syntax similar to that of links. These tags are used to insert
 431images into your documents
 432
 433    ===img===[img]
 434
 435This is the basic tag used to insert an image into the output
 436document. The image is represented by a file path to the image file,
 437and is linked into the document.
 438
 439The filename is not escaped, and is assumed to represent a real file
 440on the same filesystem as the document. As this time, links to
 441remote files are not supported.
 442
 443: Macros:
 444  : **\a**
 445    This mark is expanded to the text of the file path pointing to
 446    the inserted image.
 447
 448  : **~A~**
 449    This mark represents the alignment of the image. If the rule
 450    ['imgalignable' #imgalignable] is defined for the target, then this mark will
 451    be replaced with the contents of [_imgAlignLeft, _imgAlignRight, or _imgAlignCenter #_imgAlign] as appropriate. (Note
 452    the underscore at the beginning of each tag.)
 453
 454
 455    ===_imgAlignLeft, _imgAlignRight, _imgAlignCenter===[_imgAlign]
 456
 457These tags are used to add alignment to the [img #img] tag. If the rule
 458['imgalignable' #imgalignable] is defined, then whichever of these tags is
 459appropriate will replace the **~A~** mark within the [img #img] tag.
 460
 461Note the underscores at the beginning of the tag names. Do not
 462confuse these with the [imgAlignLeft, imgAlignRight, and imgAlignCenter #imgAlign] tags, explained below.
 463
 464: Macros:
 465  None
 466
 467
 468    ===imgAlignLeft, imgAlignRight, imgAlignCenter===[imgAlign]
 469
 470These tags are used if the alignment changes the image tags too much
 471to simply use [img #img] and [_imgAlign* #_imgAlign].
 472
 473If the rule ['imgalignable' #imgalignable] is defined and these tags are defined,
 474then they will be used //instead of// the [img #img] tag. Each of these
 475tags should have whatever markup is needed for image align in them,
 476and they will not have **~A~** expanded.
 477
 478: Macros:
 479  : **\a**
 480    This mark is expanded to the file path of the image file, just
 481    as in the [img #img] tag.
 482
 483
 484    ===imgEmbed===[imgEmbed]
 485
 486This tag is used to embed image data directly into the document
 487itself, rather than to link to the image file externally. If the
 488command-line option //--embed-images// is used, then this tag will be
 489used //instead of// the [img #img] tag.
 490
 491Currently this is only used by the **RTF** target, and will require
 492additional functionality to be added to Txt2tags to add support to
 493another target.
 494
 495: Macros:
 496  : **\a**
 497    This mark is expanded into the full file data of the embedded
 498    image file, as well as whatever additional markup may be
 499    required to make it work with the target.
 500
 501
 502    +Titles and Sections+[chapter-TitlesandSections]
 503
 504Txt2tags allows you to specify markup for separating documents into
 505sections, and for adding titles or headings to each section. It
 506accomplishes both these tasks with the ``title`` family of tags.
 507
 508There are two methods used, depending on the tags and rules
 509specified. By default, the [title* #title1] tags are used simply to mark
 510up each section heading or subsection heading. Sections are implied
 511by these headings, but do not have explicit markup.
 512
 513If the rule ['titleblocks' #titleblocks] is defined for the target, then the
 514[title*Open* #title1Open] and [blockTitle*Open* #blockTitle1Open] family of tags is used
 515instead. These explicitly separate sections and subsections and
 516allow additional markup for section commands as needed.
 517
 518Either way, the titles are used to generate the automatic table of
 519contents, if desired. If the target supports its own table of
 520contents, then markup to add the titles/sections to it should be
 521included in the tags.
 522
 523The title text itself does not support any additional Txt2tags
 524markup. That is, the user may not apply ''//italics//'' to the
 525title, as the marks will simply appear in the title as is. The title
 526text is escaped with the //doEscape()// function and, if the rule
 527['finalescapetitle' #finalescapetitle] is defined, it is escaped by
 528//doFinalEscape()// as well.
 529
 530    ++The Anchor++[section-TheAnchor]
 531
 532    ===anchor===[anchor]
 533
 534This tag is used to add a linkable anchor the title heading, if the
 535target supports internal links. This should include all needed
 536markup to allow a [urlMark #urlMark] or [urlMarkAnchor #urlMarkAnchor] tag to link
 537directly to it from another part of the document.
 538
 539If the command-line option //--toc// is specified, then all titles
 540will have anchors added to them (if they do not have one already)
 541and the table of contents will include direct links to each section
 542of the document.
 543
 544: Macros:
 545  : **\a**
 546    This mark is expanded into the label text for the anchor, as
 547    specified by the user or generated automatically by Txt2tags if
 548    none has been specified and the //--toc// option is in effect.
 549
 550
 551    ++Titles++[section-Titles]
 552
 553The basic title tags are only used if the rule ['titleblocks' #titleblocks] is
 554not defined for the target. These are for simple markup of headings,
 555or simple section separators, for targets that do not require any
 556complicated markup for sections and subsections.
 557
 558    ===title1, title2, title3, title4, title5===[title1]
 559
 560These tags are for basic standard headings. ``title1`` is considered
 561the top level heading, ``title2`` the next level below it, and so
 562on.
 563
 564If the rule ['blanksaroundtitle' #blanksaroundtitle] is defined, and extra blank line
 565will be emitted before and after this tag.
 566
 567: Macros:
 568  : **\a**
 569    This mark is expanded into the text of the title itself,
 570    unchanged excepts for necessary escapes from the source
 571    document.
 572  : **~A~**
 573    This mark is expanded into the value of the [anchor #anchor] tag,
 574    along with the text of the label for that anchor. It is removed
 575    if the title does not have a label specified, and if txt2tags is
 576    not creating a tabel of contents.
 577
 578
 579    ===numtitle1, numtitle2, numtitle3, numtitle4, numtitle5===[numtitle1]
 580
 581These tags are used for sections heading that should be numbered.
 582They are otherwise treated the same as [title* #title1].
 583
 584If the rule ['autonumbertitle' #autonumbertitle] is defined, then these tags are
 585simply emitted as is, and the target is assumed to add the needed
 586numbers. If this rule is not defined for the target, then it is
 587assumed that the target does not have automatic numbering. In that
 588case, Txt2tags will automatically generate the correct
 589section/heading numbers and add that at the beginning of the title
 590text.
 591
 592If the rule ['blanksaroundnumtitle' #blanksaroundnumtitle] is defined, an extra blank line
 593will be emitted before and after this tag.
 594
 595: Macros:
 596  : **\a**
 597    This mark is expanded into the text of the title itself,
 598    unchanged excepts for necessary escapes from the source
 599    document.
 600  : **~A~**
 601    This mark is expanded into the value of the [anchor #anchor] tag,
 602    along with the text of the label for that anchor. It is removed
 603    if the title does not have a label specified, and if txt2tags is
 604    not creating a tabel of contents.
 605
 606
 607    ++Sectioning Tags++[section-SectioningTags]
 608
 609If the rule ['titleblocks' #titleblocks] is defined for the target, then the
 610above [title* #title1] tags are not used. Instead, the tags below are used
 611to separate the sections as a whole while also marking up the
 612section headings as needed.
 613
 614    ===title1Open, title2Open, title3Open, title4Open, title5Open===[title1Open]
 615
 616These tags are used to mark the beginning of a section or
 617subsection, as well as to mark up the heading for that section. They
 618work very similarly to the [title* #title1] tags above.
 619
 620If the rule ['blanksaroundtitle' #blanksaroundtitle] is defined, an extra blank line
 621will be emitted before and after this tag.
 622
 623: Macros:
 624  : **\a**
 625    This mark is expanded into the text of the title itself,
 626    unchanged excepts for necessary escapes from the source
 627    document.
 628  : **~A~**
 629    This mark is expanded into the value of the [anchor #anchor] tag,
 630    along with the text of the label for that anchor. It is removed
 631    if the title does not have a label specified, and if txt2tags is
 632    not creating a tabel of contents.
 633
 634
 635    ===title1Close, title2Close, title3Close, title4Close, title5Close===[title1Close]
 636
 637These tags are used to mark the end of a section that has been
 638opened with [title*Open* #title1Open]. It is emitted just before the opening
 639tag of the next section, as well as at the end of the document to
 640close all still-open sections.
 641
 642Note that sections nest. If a second level section is specified just
 643after a first level section, and then another first level section,
 644the order of the tags will be: ``title1Open``, ``title2Open``,
 645``title2Close``, ``title1Close``, ``title1Open``, and so on.
 646
 647: Macros:
 648  None
 649
 650
 651    ===blocktitle1Open, blocktitle2Open, blocktitle3Open===[blocktitle1Open]
 652
 653These tags are used to open a group of sections that are at the
 654same level. If multiple sections/titles are given in a row at the
 655same level, then the same level ``blocktitle*Open`` tag will be emitted
 656before the first [title*Open* #title1Open].
 657
 658: Macros:
 659  None
 660
 661
 662    ===blocktitle1Close, blocktitle2Close, blocktitle3Close===[blocktitle1Close]
 663
 664These tags are used to close a group of sections that are at the
 665same level. If multiple sections/titles are given in a row at the
 666same level, then the same level ``blocktitle*Close`` tag will be emitted
 667after the last [title*Close* #title1Close].
 668
 669: Macros:
 670  None
 671
 672
 673    +Lists+[chapter-Lists]
 674
 675Lists are used to add structure to small groups of items. They can
 676be numbered or unnumbered, and they can be nested.
 677
 678If the rule ['compactlist' #compactlist] is defined for a target, then lists will
 679be considered compact or wide, depending on whether or not an
 680item in the list includes multiple paragraphs. If even a simple list
 681item has more then one paragraph (that is, a blank line in the item
 682that is not immediately followed by another list item), then the
 683entire list is considered a wide list. If each item in the list is
 684contained within a single paragraph, then the list is considered
 685compact.
 686
 687If the rule ['compactlist' #compactlist] is //not// defined, then there is no
 688difference bewteen wide and compact lists, and all lists are treated
 689as wide lists.
 690
 691If the rule ['parainsidelist' #parainsidelist] is defined for a target, then the
 692blank lines in wide lists are emitted as an empty paragraph. That
 693is, [paragraphOpen #paragraphOpen] followed immediately by [paragraphClose #paragraphClose].
 694
 695The rule ['spacedlistitem' #spacedlistitem] appears to be intended to show that a
 696target supports wide or spaced lists. However, at this time the rule
 697appears to be unused by Txt2tags, and does not affect output at all.
 698
 699The rule ['listmaxdepth' #listmaxdepth] is used to tell Txt2tags how many levels
 700of lists may be nested within one another for each target.
 701
 702If the rule ['listnotnested' #listnotnested] is defined for a target, then it does
 703not support nested lists. Nested lists in the source are emitted as
 704if all items belonged to the same, top-level list.
 705
 706If the rule ['listitemnotnested' #listitemnotnested] is defined for a target, then
 707list items are closed before emitting a nested list, rather than wrapping
 708around the nested list.
 709
 710    ++Unordered Lists++[section-UnorderedLists]
 711
 712These lists do not use numbers to separate each item. Typically each
 713list item is set off with a bullet symbol, though this can vary for
 714different targets.
 715
 716If the rule ['blanksaroundlist' #blanksaroundlist] is defined for a target, an extra
 717blank line is emitted before and after the top level list. No
 718additional lines are emitted for nested lists with this rule.
 719
 720If the rule ['blanksaroundnestedlist' #blanksaroundnestedlist] is defined for a target, an
 721extra blank line is emitted before and after all lists, including
 722nested lists.
 723
 724    ===listOpen===[listOpen]
 725
 726This tag is emitted to mark the start of a new bulleted list.
 727
 728By default this tag is emitted on its own line. The rule
 729['notbreaklistopen' #notbreaklistopen] is intended to allow
 730``listOpen`` to be on the same line as its first item, however
 731this rule is not yet supported and does not affect the output.
 732
 733By default, the indent of a nested list is added (in spaces) at the
 734beginning of the line this tag is on. If the rule
 735['tagnotindentable' #tagnotindentable] is defined, or the rule ['keeplistindent' #keeplistindent] is
 736not defined, these spaces are removed.
 737
 738If the rule ['compactlist' #compactlist] is defined for a target, then this tag
 739is only used for wide lists. Otherwise it is used for both.
 740
 741: Macros:
 742  None
 743
 744
 745    ===listCompactOpen===[listCompactOpen]
 746
 747This tag marks the beginning of a new compact bulleted list.
 748
 749This tag is only used if the rule ['compactlist' #compactlist] is defined.
 750
 751By default, the indent of a nested list is added (in spaces) at the
 752beginning of the line this tag is on. If the rule
 753['tagnotindentable' #tagnotindentable] is defined, or the rule ['keeplistindent' #keeplistindent] is
 754not defined, these spaces are removed.
 755
 756: Macros:
 757  None
 758
 759
 760    ===listClose, listCompactClose===[listClose]
 761
 762These tags are emitted, on their own line, to close the list opened
 763by the previous tags.
 764
 765By default, the indent of a nested list is added (in spaces) at the
 766beginning of the line this tag is on. If the rule
 767['tagnotindentable' #tagnotindentable] is defined, or the rule ['keeplistindent' #keeplistindent] is
 768not defined, these spaces are removed.
 769
 770: Macros:
 771  None
 772
 773
 774    ===listItemOpen===[listItemOpen]
 775
 776This tag is emitted before each item within a bullet list.
 777
 778By default, the indent of a nested list is added (in spaces) at the
 779beginning of the line this tag is on. If the rule
 780['tagnotindentable' #tagnotindentable] is defined, or the rule ['keeplistindent' #keeplistindent] is
 781not defined, these spaces are removed.
 782
 783If the tag [listItemLine #listItemLine] is defined, it will be emitted
 784immediately before ``listItemOpen``. If the rule
 785['listlineafteropen' #listlineafteropen] is defined,
 786[listItemLine #listItemLine] will be emitted after ``listItemOpen``.
 787
 788If the rule ['spacedlistitemopen' #spacedlistitemopen] is defined, then two spaces will
 789be emitted after ``listItemOpen`` and [listItemLine #listItemLine], before the
 790list item text.
 791
 792: Macros:
 793  : **~D~**
 794    If this macro is included in the tag, it will be expanded to the
 795    value of the depth of that particular list. Top level lists
 796    have depth '1', a nested list inside the top level would have
 797    depth level '2', and so on.
 798
 799    If the rule ['blockdepthmultiply' #blockdepthmultiply] is defined for the target,
 800    the depth value will be multiplied by that amount before being
 801    emitted. If the rule ['depthmultiplyplus' #depthmultiplyplus] is defined, then that
 802    value will be added to the depth before multiplying by
 803    ['blockdepthmultiply' #blockdepthmultiply], but only if used with
 804    ['blockdepthmultiply' #blockdepthmultiply].
 805  : **~V~**
 806    This macro will be expanded to the nesting level of the list. It
 807    is not affected by ['blockdepthmultiply' #blockdepthmultiply], so the numbers will
 808    always count one by one.
 809
 810    If the rule ['listlevelzerobased' #listlevelzerobased] is defined for a target, then
 811    the top level lists will be level '0', the next level '1',
 812    and so on. Otherwise, the top level is '1' and the next level
 813    '2' and so on.
 814
 815
 816    ===listItemLine===[listItemLine]
 817
 818This tag is emitted for each item in the list. It is emitted either
 819right before or after [listItemOpen #listItemOpen] (see above).
 820
 821This is emitted a number of times equal to the depth level of the
 822list. For example, if ``listItemLine`` is defined as '*', then
 823each item in a list nested three levels deep would begin with
 824'***'.
 825
 826Despite the name, this is only emitted at the beginning of each
 827item, and not for every line of the item.
 828
 829: Macros:
 830  None
 831
 832
 833    ===listItemClose===[listItemClose]
 834
 835This tag is emitted after each item in the list.
 836
 837: Macros:
 838  None
 839
 840
 841    ++Numbered Lists++[section-NumberedLists]
 842
 843Numbered lists behave much like unordered lists, except (as their
 844name implies) they have numbers instead of bullets.
 845
 846Each item in the list will have its own number, counting from '1'.
 847By default, nested lists will use a dotted number format, as in
 848'1.', '2.', and so on. This can vary between different
 849targets, however.
 850
 851If the rule ['blanksaroundnumlist' #blanksaroundnumlist] is defined for a target, an extra
 852blank line is emitted before and after the top level list. No
 853additional lines are emitted for nested lists.
 854
 855If the rule ['blanksaroundnestedlist' #blanksaroundnestedlist] is defined for a target, an
 856extra blank line is emitted before and after all lists, including
 857nested lists.
 858
 859    ===numlistOpen===[numlistOpen]
 860
 861This tag is emitted to mark the start of a new numbered list.
 862
 863By default this tag is emitted on its own line. The rule
 864['notbreaklistopen' #notbreaklistopen] is intended to allow
 865``numlistOpen`` to be on the same line as its first item, however
 866this rule is not yet supported and does not affect the output.
 867
 868By default, the indent of a nested list is added (in spaces) at the
 869beginning of the line this tag is on. If the rule
 870['tagnotindentable' #tagnotindentable] is defined, or the rule ['keeplistindent' #keeplistindent] is
 871not defined, these spaces are removed.
 872
 873If the rule ['compactlist' #compactlist] is defined for a target, then this tag
 874is only used for wide lists. Otherwise it is used for both.
 875
 876: Macros:
 877  None
 878
 879
 880    ===numlistCompactOpen===[numlistCompactOpen]
 881
 882This tag marks the beginning of a new compact numbered list.
 883
 884This tag is only used if the rule ['compactlist' #compactlist] is defined.
 885
 886By default, the indent of a nested list is added (in spaces) at the
 887beginning of the line this tag is on. If the rule
 888['tagnotindentable' #tagnotindentable] is defined, or the rule ['keeplistindent' #keeplistindent] is
 889not defined, these spaces are removed.
 890
 891: Macros:
 892  None
 893
 894
 895    ===numlistClose, numlistCompactClose===[numlistClose]
 896
 897These tags are emitted, on their own line, to close the list opened
 898by the previous tags.
 899
 900By default, the indent of a nested list is added (in spaces) at the
 901beginning of the line this tag is on. If the rule
 902['tagnotindentable' #tagnotindentable] is defined, or the rule ['keeplistindent' #keeplistindent] is
 903not defined, these spaces are removed.
 904
 905: Macros:
 906  None
 907
 908
 909    ===numlistItemOpen===[numlistItemOpen]
 910
 911This tag is emitted before each item within a numbered list.
 912
 913If the rule ['autonumberlist' #autonumberlist] is defined, then the target is
 914assumed to put the numbers in itself. In this case Txt2Tags simply
 915emits this tag just like [listItemOpen #listItemOpen]. If it is not defined,
 916then the correct number is calculated and inserted by Txt2tags. It
 917uses the default number format given at the beginning of this
 918subsection above.
 919
 920By default, the indent of a nested list is added (in spaces) at the
 921beginning of the line this tag is on. If the rule
 922['tagnotindentable' #tagnotindentable] is defined, or the rule ['keeplistindent' #keeplistindent] is
 923not defined, these spaces are removed.
 924
 925If the tag [numlistItemLine #numlistItemLine] is defined, it will be emitted
 926immediately before ``numlistItemOpen``. If the rule
 927['listlineafteropen' #listlineafteropen] is defined, [numlistItemLine #numlistItemLine] will be emitted
 928after ``numlistItemOpen``.
 929
 930If the rule ['spacednumlistitemopen' #spacednumlistitemopen] is defined, then two spaces will
 931be emitted after ``numlistItemOpen`` and [numlistItemLine #numlistItemLine], before the
 932list item text.
 933
 934: Macros:
 935  : **\a**
 936    If the rule ['autonumberlist' #autonumberlist] is //not// defined, then this
 937    mark is expanded into the correct number for this list item.
 938  : **~D~**
 939    If this macro is included in the tag, it will be expanded to the
 940    value of the depth of that particular list. Top level lists
 941    have depth '1', a nested list inside the top level would have
 942    depth level '2', and so on.
 943
 944    If the rule ['blockdepthmultiply' #blockdepthmultiply] is defined for the target,
 945    the depth value will be multiplied by that amount before being
 946    emitted. If the rule ['depthmultiplyplus' #depthmultiplyplus] is defined, then that
 947    value will be added to the depth before multiplying by
 948    ['blockdepthmultiply' #blockdepthmultiply], but only if used with
 949    ['blockdepthmultiply' #blockdepthmultiply].
 950  : **~V~**
 951    This macro will be expanded to the nesting level of the list. It
 952    is not affected by ['blockdepthmultiply' #blockdepthmultiply], so the numbers will
 953    always count one by one.
 954
 955    If the rule ['listlevelzerobased' #listlevelzerobased] is defined for a target, then
 956    the top level lists will be level '0', the next level '1',
 957    and so on. Otherwise, the top level is '1' and the next level
 958    '2' and so on.
 959
 960
 961    ===numlistItemLine===[numlistItemLine]
 962
 963This tag is emitted for each item in the list. It is emitted either
 964right before or after [numlistItemOpen #numlistItemOpen] (see above).
 965
 966This is emitted a number of times equal to the depth level of the
 967list. For example, if ``numlistItemLine`` is defined as '+', then
 968each item in a list nested three levels deep would begin with
 969'+++'.
 970
 971Despite the name, this is only emitted at the beginning of each
 972item, and not for every line of the item.
 973
 974: Macros:
 975  None
 976
 977
 978    ===numlistItemClose===[numlistItemClose]
 979
 980This tag is emitted after each item in the list.
 981
 982: Macros:
 983  None
 984
 985
 986    ++Definition Lists++[section-DefinitionLists]
 987
 988Definition lists work a little bit differently from standard lists.
 989Each list item has two parts: the item or word to be defined, and
 990the definition itself.
 991
 992If the rule ['deflisttextstrip' #deflisttextstrip] is defined, then each line of the
 993definition will have extra spaces stripped off, even if
 994['keeplistindent' #keeplistindent] is also defined.
 995
 996If the rule ['blanksarounddeflist' #blanksarounddeflist] is defined for a target, an extra
 997blank line is emitted before and after the top level list. No
 998additional lines are emitted for nested lists.
 999
1000If the rule ['blanksaroundnestedlist' #blanksaroundnestedlist] is defined for a target, an
1001extra blank line is emitted before and after all lists, including
1002nested lists.
1003
1004    ===deflistOpen===[deflistOpen]
1005
1006This tag is emitted to mark the start of a new definition list.
1007
1008By default this tag is emitted on its own line. The rule
1009['notbreaklistopen' #notbreaklistopen] is intended to allow [listOpen #listOpen] to be on the
1010same line as its first item, however this rule is not yet supported
1011and does not affect the output.
1012
1013By default, the indent of a nested list is added (in spaces) at the
1014beginning of the line this tag is on. If the rule
1015['tagnotindentable' #tagnotindentable] is defined, or the rule ['keeplistindent' #keeplistindent] is
1016not defined, these spaces are removed.
1017
1018If the rule ['compactlist' #compactlist] is defined for a target, then this tag
1019is only used for wide lists. Otherwise it is used for both.
1020
1021: Macros:
1022  None
1023
1024
1025    ===deflistCompactOpen===[deflistCompactOpen]
1026
1027This tag marks the beginning of a new compact definition list.
1028
1029This tag is only used if the rule ['compactlist' #compactlist] is defined.
1030
1031By default, the indent of a nested list is added (in spaces) at the
1032beginning of the line this tag is on. If the rule
1033['tagnotindentable' #tagnotindentable] is defined, or the rule ['keeplistindent' #keeplistindent] is
1034not defined, these spaces are removed.
1035
1036: Macros:
1037  None
1038
1039
1040    ===deflistClose, deflistCompactClose===[deflistClose]
1041
1042These tags are emitted, on their own line, to close the list opened
1043by the previous tags.
1044
1045By default, the indent of a nested list is added (in spaces) at the
1046beginning of the line this tag is on. If the rule
1047['tagnotindentable' #tagnotindentable] is defined, or the rule ['keeplistindent' #keeplistindent] is
1048not defined, these spaces are removed.
1049
1050: Macros:
1051  None
1052
1053
1054    ===deflistItem1Open===[deflistItem1Open]
1055
1056This tag is emitted before each item within a definition list. It is
1057specifically meant to go before the term to be defined.
1058
1059By default, the indent of a nested list is added (in spaces) at the
1060beginning of the line this tag is on. If the rule
1061['tagnotindentable' #tagnotindentable] is defined, or the rule ['keeplistindent' #keeplistindent] is
1062not defined, these spaces are removed.
1063
1064If the rule ['imgasdefterm' #imgasdefterm] is defined, then a linked image is
1065allowed as the term to be defined. Otherwise, only text is allowed.
1066
1067: Macros:
1068  : **~D~**
1069    If this macro is included in the tag, it will be expanded to the
1070    value of the depth of that particular list. Top level lists
1071    have depth '1', a nested list inside the top level would have
1072    depth level '2', and so on.
1073
1074    If the rule ['blockdepthmultiply' #blockdepthmultiply] is defined for the target,
1075    the depth value will be multiplied by that amount before being
1076    emitted. If the rule ['depthmultiplyplus' #depthmultiplyplus] is defined, then that
1077    value will be added to the depth before multiplying by
1078    ['blockdepthmultiply' #blockdepthmultiply], but only if used with
1079    ['blockdepthmultiply' #blockdepthmultiply].
1080  : **~V~**
1081    This macro will be expanded to the nesting level of the list. It
1082    is not affected by ['blockdepthmultiply' #blockdepthmultiply], so the numbers will
1083    always count one by one.
1084
1085    If the rule ['listlevelzerobased' #listlevelzerobased] is defined for a target, then
1086    the top level lists will be level '0', the next level '1',
1087    and so on. Otherwise, the top level is '1' and the next level
1088    '2' and so on.
1089
1090
1091    ===deflistItem1Close===[deflistItem1Close]
1092
1093This tag is emitted after each definition term, but before the
1094definition itself, for each item in the list.
1095
1096: Macros:
1097  None
1098
1099
1100    ===deflistItem2Open===[deflistItem2Open]
1101
1102This tag is emitted directly after [deflistItem1Close #deflistItem1Close], and is
1103used right before the definition text of the item.
1104
1105: Macros:
1106  None
1107
1108
1109    ===deflistItem2LinePrefix===[deflistItem2LinePrefix]
1110
1111This tag is emitted at the beginning of each line of the definition
1112text for each item.
1113
1114Note that it is not multiplied for nexted lists. It is the same for
1115every level of a nested list.
1116
1117If the rule ['keeplistindent' #keeplistindent] is defined and ['deflisttextstrip' #deflisttextstrip]
1118is not defined, then this is emitted after the indent for each line
1119of the list.
1120
1121: Macros:
1122  None
1123
1124
1125    ===deflistItem2Close===[deflistItem2Close]
1126
1127This tag is emitted at the end of each definition, and therefor at
1128the end of each item of the definition list.
1129
1130For examples, the tags for a definition list are emitted as follows:
1131``deflistOpen``, ``deflistItem1Open``, ``deflistItem1Close``,
1132``deflistItem2Open``, (``deflistItem2LinePrefix`` for each line),
1133``deflistItem2Close``, ``deflistItem1Open``, and so on for the
1134entire list.
1135
1136: Macros:
1137  None
1138
1139
1140
1141    +Tables+[chapter-Tables]
1142
1143Tables allow the user to arrange data in rows and columns for better
1144organization. Some targets support very complicated tables, while
1145others only support limited options within tables or do not support
1146tables at all. Txt2tags is limited to the most basic and most common
1147table options usable by the greatest number of targets.
1148
1149If the rule ['tableable' #tableable] is //not// defined, then the table markup
1150is emitted unchanged from the source document and put inside a
1151verbatim block.
1152
1153If the rule ['blanksaroundtable' #blanksaroundtable] is defined, then an extra blank
1154line will be emitted before and after the table markup.
1155
1156    ++Macros++[section-Macros]
1157
1158Because of how complicated most table markup can be, there are
1159several macro tags that can be defined that may be expanded by
1160several other tags. These tags will all be defined here to be easier
1161to find in this reference.
1162
1163    ===_tableBorder===[_tableBorder]
1164
1165This tag may be inserted into the outer table and row tags to
1166designate that this table should have a border.
1167
1168For tags that support it, it will replace the macro **~B~**.
1169
1170    ===_tableCellBorder===[_tableCellBorder]
1171
1172This tag may be inserted into the markup of each individual cell to
1173designate that this table should have a border.
1174
1175It will replace the macro **~B~**.
1176
1177    ===_tableAlignLeft, _tableAlignCenter===[_tableAlign]
1178
1179These tags may be inserted into the outer table and row tags to
1180designate how the entire table should be aligned within the
1181document, if the target supports table alignment.
1182
1183Note that Txt2tags does not currently allow right-aligned tables.
1184
1185Whichever tag is appropriate will replace the macro **~A~**.
1186
1187    ===_tableColAlignLeft, _tableColAlignRight, _tableColAlignCenter===[_tableColAlign]
1188
1189If the rule ['tablecellaligntype' #tablecellaligntype] is set to the value ['column' #column]
1190for the target, then these tags may be inserted into the outer table
1191or row tags for that table.
1192
1193These alignment settings will be used for each cell in the column,
1194for targets that do not support per-cell alignment.
1195
1196The column alignment 'group' is made out of several copies of these
1197tags, one for each column in the table. They may be separated by
1198[tableColAlignSep #tableColAlignSep]. Then the entire group is inserted into the
1199appropriate opening tags of the table.
1200
1201The column alignment group will replace the macro **~C~**.
1202
1203    ===tableColAlignSep===[tableColAlignSep]
1204
1205If the table has a border, then each item in the column alignment
1206group (see above) will be separated by this tag. It is also used in
1207multicolumn cells (see below) for the same purpose.
1208
1209Note that, if the table does not have a border, then not only will
1210this tag not be inserted into the alignment group, but any copies of
1211the tag already in the relevant tags of the table will also be
1212removed.
1213
1214    ===_tableCellAlignLeft, _tableCellAlignRight, _tableCellAlignCenter===[_tableCellAlign]
1215
1216If the rule ['tablecellaligntype' #tablecellaligntype] is set to the value ['cell' #cell]
1217for the target, then these tags may be inserted into the cell tags
1218for the table. This is for targets that support per-cell alignment.
1219
1220The alignment tag will replace the macro **~A~**.
1221
1222    ===_tableCellColSpan===[_tableCellColSpan]
1223
1224If the rule ['tablecellspannable' #tablecellspannable] is defined for a target, then
1225this tag will be inserted into cells that span more than one column.
1226
1227It replaces the macro **~S~**.
1228
1229: Macros:
1230  : **\a**
1231    This mark is used inside the tag to give the span of the cell.
1232    It is replaced with the numeric value of the number of columns
1233    that this cell spans.
1234
1235    ``_tableCellColSpan`` will only be emitted for cells that have a
1236    span value greater than '1'.
1237
1238    If the rule ['cellspancumulative' #cellspancumulative] is defined for a target, then
1239    this value will grow for each cell in a row. That is, cell '1'
1240    will have a span value of '1', cell '2' will have a span value of
1241    '2', and so on, with spanned cells increasing the value more.
1242
1243    If the rule ['cellspanmultiplier' #cellspanmultiplier] is defined for a target, then
1244    the span value will be multiplied by this value, after
1245    accumulation if appropriate.
1246
1247
1248    ===_tableCellColSpanChar===[_tableCellColSpanChar]
1249
1250If the rule ['tablecellspannable' #tablecellspannable] is defined for a target and this
1251tag is also defined, it will be used instead of
1252[_tableCellColSpan #_tableCellColSpan].
1253
1254This tag will be emitted the same number of times as columns that
1255the cell spans, //minus 1//. For example, if the tag is defined as
1256'|', and a cell spans three columns, then '||' will be emitted.
1257
1258The tag, however many need to be emitted, will replace the macro
1259**~S~**.
1260
1261    ===_tableAttrDelimiter===[_tableAttrDelimiter]
1262
1263This tag may be inserted into cells that have either a cell
1264alignment or a cell span to insert. This may be used to separate the
1265cell attributes from the body of the cell itself.
1266
1267If the cell has neither an alignment or span to insert, then the
1268macro for this tag is removed.
1269
1270This tag will replace the macro **~Z~**.
1271
1272    ++Table Structure++[section-TableStructure]
1273
1274    ===tableOpen, tableClose===[tableOpen]
1275
1276These tags are the first and last tag emitted for a table. They are
1277emitted on lines of their own, and are emitted only once for each table.
1278
1279: Macros:
1280  : **~A~**
1281    This will be replaced with [_tableAlign* #_tableAlign] for a left or center
1282    aligned table.
1283  : **~B~**
1284    This will be replaced with the [_tableBorder #_tableBorder] tag for tables
1285    that have a border, or removed otherwise.
1286  : **~C~**
1287    If the rule ['tablecellaligntype' #tablecellaligntype] is set to ['column' #column], then
1288    this will be replaced with the column alignment group for the
1289    table. (See [_tableColAlign* #_tableColAlign] above.)
1290
1291
1292    ===tableRowOpen===[tableRowOpen]
1293
1294This tag is emitted at the beginning of each row of cells.
1295
1296By default each row is emitted on a single line. If the rule
1297['breaktablelineopen' #breaktablelineopen] is defined, then a linebreak will be emitted
1298after this tag before the cells.
1299
1300: Macros:
1301  : **~A~**
1302    This will be replaced with [_tableAlign* #_tableAlign] for a left or center
1303    aligned table.
1304  : **~B~**
1305    This will be replaced with the [_tableBorder #_tableBorder] tag for tables
1306    that have a border, or removed otherwise.
1307  : **~C~**
1308    If the rule ['tablecellaligntype' #tablecellaligntype] is set to ['column' #column], then
1309    this will be replaced with the column alignment group for the
1310    table. (See [_tableColAlign* #_tableColAlign] above.)
1311
1312
1313    ===tableTitleRowOpen===[tableTitleRowOpen]
1314
1315This tag, if defined, will be used instead of [tableRowOpen #tableRowOpen] for
1316title rows. If it is not defined, [tableRowOpen #tableRowOpen] will be used for
1317all rows.
1318
1319Note that title rows are not required, and do not need to be the
1320first row of a table.
1321
1322If the rule ['breaktablelineopen' #breaktablelineopen] is defined, then a linebreak will
1323be emitted after this tag before the cells.
1324
1325: Macros:
1326  : **~A~**
1327    This will be replaced with [_tableAlign* #_tableAlign] for a left or center
1328    aligned table.
1329  : **~B~**
1330    This will be replaced with the [_tableBorder #_tableBorder] tag for tables
1331    that have a border, or removed otherwise.
1332  : **~C~**
1333    If the rule ['tablecellaligntype' #tablecellaligntype] is set to ['column' #column], then
1334    this will be replaced with the column alignment group for the
1335    table. (See [_tableColAlign* #_tableColAlign] above.)
1336
1337
1338    ===tableRowClose, tableTitleRowClose===[tableRowClose]
1339
1340These tags are emitted at the end of each row begun by the tags
1341above.
1342
1343If ``tableTitleRowClose`` is not defined, ``tableRowClose`` will be
1344used instead.
1345
1346: Macros:
1347  : **~A~**
1348    This will be replaced with [_tableAlign* #_tableAlign] for a left or center
1349    aligned table.
1350  : **~B~**
1351    This will be replaced with the [_tableBorder #_tableBorder] tag for tables
1352    that have a border, or removed otherwise.
1353  : **~C~**
1354    If the rule ['tablecellaligntype' #tablecellaligntype] is set to ['column' #column], then
1355    this will be replaced with the column alignment group for the
1356    table. (See [_tableColAlign* #_tableColAlign] above.)
1357
1358
1359    ===tableRowSep===[tableRowSep]
1360
1361This tag will be emitted in between each row of cells.
1362
1363Note that if this tag is defined, then [tableRowOpen #tableRowOpen] and
1364[tableRowClose #tableRowClose] will not be used at all.
1365
1366: Macros:
1367  : **~A~**
1368    This will be replaced with [_tableAlign* #_tableAlign] for a left or center
1369    aligned table.
1370  : **~B~**
1371    This will be replaced with the [_tableBorder #_tableBorder] tag for tables
1372    that have a border, or removed otherwise.
1373  : **~C~**
1374    If the rule ['tablecellaligntype' #tablecellaligntype] is set to ['column' #column], then
1375    this will be replaced with the column alignment group for the
1376    table. (See [_tableColAlign* #_tableColAlign] above.)
1377
1378
1379    ++Cells++[section-Cells]
1380
1381Each cell of data for a table may be marked up separately.
1382
1383By default, each row of cells is emitted on a single line. If the
1384rule ['breaktablecell' #breaktablecell] is defined for a target, then a linebreak
1385will be emitted after each cell.
1386
1387If the rule ['tablecellstrip' #tablecellstrip] is defined for a target, then any
1388extra spaces will be stripped from each cell before it is emitted.
1389Otherwise, all spaces from the source document (including that used
1390to determine cell alignment) will be included in the final output.
1391
1392If the rule ['tabletitlerowinbold' #tabletitlerowinbold] is defined, then all cells
1393considered part of a title row will have their contents wrapped in
1394[fontBoldOpen and fontBoldClose #fontBold] tags.
1395
1396    ===tableCellOpen, tableTitleCellOpen===[tableCellOpen]
1397
1398These tags are emitted at the beginning of each cell within the
1399table. If ``tableTitleCellOpen`` is defined, then it will be used
1400for the cells on a title row. Otherwise, ``tableCellOpen`` will be
1401used for all cells.
1402
1403: Macros:
1404  : **~A~**
1405    If the rule ['tablecellaligntype' #tablecellaligntype] is set to the value
1406    ['cell' #cell] for a target, then this will be replaced with the
1407    appropriate [_tableCellAlign* #_tableCellAlign] tag.
1408  : **~B~**
1409    If the table has a border, this will be replaced with the
1410    [_tableCellBorder #_tableCellBorder] tag, or removed if not.
1411  : **~S~**
1412    If the rule ['tablecellspannable' #tablecellspannable] is defined, and the cell
1413    spans multiple columns, then this tag will be replaced with the
1414    value of either [_tableCellColSpanChar #_tableCellColSpanChar] or
1415    [_tableCellColSpan #_tableCellColSpan] as appropriate.
1416  : **~Z~**
1417    If the cell has and alignment or column span to be inserted,
1418    then this tag will be replaced with [_tableAttrDelimiter #_tableAttrDelimiter]. If
1419    the cell has neither, then it will be removed.
1420
1421
1422    ===tableCellClose, tableTitleCellClose===[tableCellClose]
1423
1424These tags are emitted at the end of each cell within the table. If
1425``tableTitleCellClose`` is defined, then it will be used for the
1426cells on a title row. Otherwise, ``tableCellClose`` will be used for
1427all cells.
1428
1429: Macros:
1430  : **~A~**
1431    If the rule ['tablecellaligntype' #tablecellaligntype] is set to the value
1432    ['cell' #cell] for a target, then this will be replaced with the
1433    appropriate [_tableCellAlign* #_tableCellAlign] tag.
1434  : **~B~**
1435    If the table has a border, this will be replaced with the
1436    [_tableCellBorder #_tableCellBorder] tag, or removed if not.
1437  : **~S~**
1438    If the rule ['tablecellspannable' #tablecellspannable] is defined, and the cell
1439    spans multiple columns, then this tag will be replaced with the
1440    value of either [_tableCellColSpanChar #_tableCellColSpanChar] or
1441    [_tableCellColSpan #_tableCellColSpan] as appropriate.
1442
1443
1444    ===tableCellSep, tableTitleCellSep===[tableCellSep]
1445
1446These tags are emitted in between each cell of a row. If
1447``tableTitleCellSep`` is defined, then it will be used for the cells
1448on a title row. Otherwise, ``tableCellSep`` will be used for all
1449cells.
1450
1451These tags are only emited between cells. They do not appear before
1452the first cell of a row or after the last cell of a row.
1453
1454Note that, unlike [tableRowSep #tableRowSep], these tags are used as well as
1455[tableCellOpen #tableCellOpen] and [tableCellClose #tableCellClose]. If all are defined, then
1456``tableCellSep`` will be emitted after ``tableCellClose`` and before
1457the next ``tableCellOpen``.
1458
1459: Macros:
1460  None
1461
1462
1463    ===_tableCellMulticolOpen===[_tableCellMulticolOpen]
1464
1465If the rule ['tablecellmulticol' #tablecellmulticol] is defined for a target, and a
1466cell spans more than one column, then this tag will be used instead
1467of [tableCellOpen #tableCellOpen].
1468
1469: Macros:
1470  : **\a**
1471    This will be replaced with the current cell's column span value.
1472    See [_tableCellColSpan #_tableCellColSpan] above for an explanation of this
1473    value.
1474  : **~A~**
1475    If the rule ['tablecellaligntype' #tablecellaligntype] is set to the value
1476    ['cell' #cell] for a target, then this will be replaced with the
1477    appropriate [_tableCellAlign* #_tableCellAlign] tag.
1478  : **~Z~**
1479    If the cell has an alignment or column span to be inserted,
1480    then this tag will be replaced with [_tableAttrDelimiter #_tableAttrDelimiter]. If
1481    the cell has neither, then it will be removed.
1482
1483
1484    ===_tableCellMulticolClose===[_tableCellMulticolClose]
1485
1486If the rule ['tablecellmulticol' #tablecellmulticol] is defined for a target, and a
1487cell spans more than one column, then this tag will be used instead
1488of [tableCellClose #tableCellClose].
1489
1490: Macros:
1491  None
1492
1493
1494    ===tableCellHead, tableTitleCellHead===[tableCellHead]
1495
1496These tags are use to define 'headers', one for each cell, that are
1497inserted at the beginning of a row before the cell data itself.
1498
1499For example, the order of tags for a row with three cells may be
1500``tableRowOpen``, ``tableCellHead``, ``tableCellHead``,
1501``tableCellHead``, ``tableCellOpen``, and so on.
1502
1503If ``tableTitleCellHead`` is defined, it will be used for cells in a
1504title row, otherwise ``tableCellHead`` will be used for all rows.
1505
1506: Macros:
1507  : **~A~**
1508    If the rule ['tablecellaligntype' #tablecellaligntype] is set to the value
1509    ['cell' #cell] for a target, then this will be replaced with the
1510    appropriate [_tableCellAlign* #_tableCellAlign] tag.
1511  : **~B~**
1512    If the table has a border, this will be replaced with the
1513    [_tableCellBorder #_tableCellBorder] tag, or removed if not.
1514  : **~S~**
1515    If the rule ['tablecellspannable' #tablecellspannable] is defined, and the cell
1516    spans multiple columns, then this tag will be replaced with the
1517    value of either [_tableCellColSpanChar #_tableCellColSpanChar] or
1518    [_tableCellColSpan #_tableCellColSpan] as appropriate.
1519
1520
1521    ===tableCellAlignLeft, tableCellAlignRight, tableCellAlignCenter===[tableCellAlign]
1522
1523If these tags are defined and a cell has an alignment attribute,
1524then the cell text will be wrapped by the appropriate tag before it
1525is emitted.
1526
1527Note that these cells do not begin with an underscore. Do not get
1528them confused with the [_tableCellAlign* #_tableCellAlign] tags, which replace
1529macros within the other cell tags.
1530
1531: Macros:
1532  : **\a**
1533    This will be replaced by the text of the cell itself.
1534
1535
1536    +Miscellaneous+[chapter-Miscellaneous]
1537
1538These tags are useful or necessary for a fully implemented target,
1539but did not fit well within the other categories.
1540
1541    ++Document Structure and Formatting++[section-DocumentStructureandFormatting]
1542
1543    ===pageBreak===[pageBreak]
1544
1545For targets that support separation into pages, this tag is used to
1546force a page break in the output.
1547
1548    ===bar1, bar2===[bar1]
1549
1550These tags are used to insert a horizontal line in the output,
1551usually used as a lesser section break without beginning a new
1552section.
1553
1554``bar1`` is considered a normal line, and ``bar2`` is considered a
1555strong or thick line.
1556
1557If the rule ['barinsidequote' #barinsidequote] is defined, then a bar is allowed
1558inside a block quote. Otherwise the block quote must be closed and
1559reopened around the bar.
1560
1561If the rule ['mapbar2pagebreak' #mapbar2pagebreak] is defined, then the value of
1562``bar2`` is ignored and a [pageBreak #pageBreak] is emitted instead.
1563
1564: Macros:
1565  : **\a**
1566    If this mark is present, it will be replaced with the text of
1567    the actual marks used for the bar in the source document.
1568
1569
1570    ===EOD===[EOD]
1571
1572This is the End Of Document tag, and is the very last thing emitted
1573to the output.
1574
1575Any tags that were opened in the default //HEADER_TEMPLATE// should be
1576closed in this tag.
1577
1578If the command line option //--template// is used, then this tag is
1579not emitted. Anything necessary for a complete document should be
1580included in the template.
1581
1582The default template can thus be considered: //HEADER_TEMPLATE// +
1583**%%body** + ``EOD``.
1584
1585    ===bodyOpen, bodyClose===[bodyOpen]
1586
1587These are the first and last tags emitted for the document body text
1588itself. ``bodyOpen`` is emitted immediately after
1589//HEADER_TEMPLATE// and ``bodyClose`` is immediately before [EOD #EOD].
1590
1591    ++HTML++[section-HTML]
1592
1593    ===cssOpen, cssClose===[cssOpen]
1594
1595These tags are used to insert a stylesheet directly into the text of
1596the output document itself.
1597
1598If the command line option //--css-inside// is used, then the
1599contents of external stylesheets will be inserted into the document
1600header. Each stylesheet will be wrapped in these tags before being
1601emitted.
1602
1603Currently this option, and these tags, are only used by the HTML
1604family of targets, are have no effect on any other target.
1605
1606    ++Comments++[section-Comments]
1607
1608    ===comment===[comment]
1609
1610This tag is used to insert a single line comment into the output. It
1611should be such that it will not appear to readers in the final
1612document, only in the tagged source of the document.
1613
1614It is used, if available, to insert a comment at the end of the
1615docment stating the date and version of Txt2tags used to generate
1616the output document.
1617
1618: Macros:
1619  : **\a**
1620    This is replaced with the text of the comment generated by
1621    Txt2tags.
1622
1623
1624    ===blockCommentOpen, blockCommentClose===[blockComment]
1625
1626These are intended to be used before and after multiline comments in
1627the output.
1628
1629Currently, all comments in the source are ignored, so these tags are
1630unused.
1631
1632    ++Table Of Contents++[section-TableOfContents]
1633
1634The automatic table of contents is emitted as a [list #chapter-Lists], with each
1635list item corresponding to a [title* #title1] within the document. Lower
1636level titles will be emitted as nested lists.
1637
1638If the target supports them, each list item in the list will be a
1639link to the corresponding title. Each title will have an anchor
1640added automatically if they do not have one already.
1641
1642If the rule ['autotocwithbars' #autotocwithbars] is defined, then a [bar1 #bar1] will be
1643added before and after the table of contents.
1644
1645If the rule ['blankendautotoc' #blankendautotoc] is defined, then an extra blank line
1646will be added after the table of contents.
1647
1648If the rule ['autotocnewpagebefore' #autotocnewpagebefore] is defined, then a
1649[pageBreak #pageBreak] will be emitted before the table of contents.
1650
1651If the rule ['autotocnewpageafter' #autotocnewpageafter] is defined, then a
1652[pageBreak #pageBreak] will be emitted after the table of contents.
1653
1654    ===tocOpen, tocClose===[tocOpen]
1655
1656These tags will be emitted directly before and after the
1657automatically generated table of contents.
1658
1659    ===TOC===[TOC]
1660
1661This tag is used for targets that support their own table of
1662contents. If this tag is defined, then it will be emitted, on its
1663own, instead of the automatically generated table of contents. No
1664other processing will be done and all of the rules pretaining to the
1665automatic table of contents will be ignored.
1666
1667
1668    =Appendix: Rules=[Appendix]
1669
1670    ===linkable===[linkable]
1671
1672This target supports external links.
1673
1674It affects the output of [url #url], [urlMark #urlMark], [urlMarkAnchor #urlMarkAnchor],
1675[email #email], [emailMark #emailMark].
1676
1677
1678    ===tableable===[tableable]
1679
1680This target supports tables. If this is not defined, then all tags
1681in the [Table #chapter-Tables] section are ignored.
1682
1683
1684    ===imglinkable===[imglinkable]
1685
1686This target supports images as links.
1687
1688It may affect the output of [url #url] and [img #img].
1689
1690
1691    ===imgalignable===[imgalignable]
1692
1693This target supports image alignment. If it is not defined, then all
1694[_imgAlign #_imgAlign] and [imgAlign #imgAlign] tags are ignored.
1695
1696It affects the output of [img #img].
1697
1698
1699    ===imgasdefterm===[imgasdefterm]
1700
1701This target supports images as definition terms.
1702
1703It may affect the output of [deflistItem1Open #deflistItem1Open].
1704
1705
1706    ===autonumberlist===[autonumberlist]
1707
1708This target supports numbered lists natively. If this is defined,
1709then numbers will not be generated by Txt2tags for numbered lists.
1710
1711It affects the output of [numlistItemOpen #numlistItemOpen].
1712
1713
1714    ===autonumbertitle===[autonumbertitle]
1715
1716This target supports numbered titles natively. If this is defined,
1717then numbers will not be generated by Txt2tags for numbered titles.
1718
1719It affects the output of [numtitle* #numtitle1].
1720
1721
1722    ===stylable===[stylable]
1723
1724This target supports external style files. If this is defined, then
1725the **%(STYLE)s** macros may be expanded. Otherwise style
1726definitions are ignored.
1727
1728It affects the output of the [Template #section-Template]
1729
1730
1731    ===parainsidelist===[parainsidelist]
1732
1733This target supports paragraph tags inside lists. If this is
1734defined, then [paragraphOpen #paragraphOpen] and [paragraphClose #paragraphClose] tags may be
1735inserted into [lists #chapter-Lists].
1736
1737
1738    ===compactlist===[compactlist]
1739
1740This target has separate enclosing tags for compact lists. If this
1741is not defined, then [listCompactOpen #listCompactOpen], [numlistCompactOpen #numlistCompactOpen],
1742and [deflistCompactOpen #deflistCompactOpen] are ignored.
1743
1744
1745    ===spacedlistitem===[spacedlistitem]
1746
1747This target supports blank lines between items in lists.
1748
1749This rule is currently unused and ignored.
1750
1751
1752    ===listnotnested===[listnotnested]
1753
1754This target does not support nested lists.
1755
1756If this is defined, then all lists are emitted as a single,
1757top-level list. It affects the output of [lists #chapter-Lists].
1758
1759
1760    ===listitemnotnested===[listitemnotnested]
1761
1762This target does not allow nested lists to be inside a list
1763item.
1764
1765If this is defined, then list items are closed before sublists
1766are emitted. If it is not defined, then list items are closed
1767after the sublists they contain. It affects the output of
1768[lists #chapter-Lists].
1769
1770
1771    ===quotenotnested===[quotenotnested]
1772
1773This target does not support nested quotes.
1774
1775If this is defines, all block quotations are emitted at the same,
1776top level. If affects the output of [block quotes #section-BlockQuotations].
1777
1778
1779    ===verbblocknotescaped===[verbblocknotescaped]
1780
1781This target should not run verbatim blocks through //doEscape()//.
1782
1783It affects the output of [verbatim blocks #section-VerbatimBlocks].
1784
1785
1786    ===verbblockfinalescape===[verbblockfinalescape]
1787
1788This target //should// run verbatim blocks through
1789//doFinalEscape()//.
1790
1791It affects the output of [verbatim blocks #section-VerbatimBlocks].
1792
1793
1794    ===escapeurl===[escapeurl]
1795
1796This target should run **URLs** through //doEscape()//.
1797
1798It affects the output of [url #url], [urlMark #urlMark], [urlMarkAnchor #urlMarkAnchor],
1799[email #email], and [emailMark #emailMark].
1800
1801
1802    ===labelbeforelink===[labelbeforelink]
1803
1804For this target, labels should come before the link in a **URL**.
1805
1806It affects the output of [urlMark #urlMark], [urlMarkAnchor #urlMarkAnchor], and
1807[emailMark #emailMark].
1808
1809
1810    ===onelinepara===[onelinepara]
1811
1812This target should emit paragraphs as a single long line.
1813
1814It affects the output of [paragraphs #section-Paragraphs].
1815
1816
1817    ===tabletitlerowinbold===[tabletitlerowinbold]
1818
1819This target should manually emit table title rows in bold face.
1820
1821It affects the output of [table cells #section-Cells].
1822
1823
1824    ===tablecellstrip===[tablecellstrip]
1825
1826This target should strip extra spaces from each table cell.
1827
1828It affects the output of [table cells #section-Cells].
1829
1830
1831    ===tablecellspannable===[tablecellspannable]
1832
1833This target supports the span attribute in table cells.
1834
1835It may affect the output of [tableCellOpen #tableCellOpen], [tableCellClose #tableCellClose],
1836and [tableCellHead #tableCellHead].
1837
1838
1839    ===tablecellmulticol===[tablecellmulticol]
1840
1841This target has separate open and close tags for multicolumn cells.
1842
1843If it is defined, then [_tableCellMulticolOpen #_tableCellMulticolOpen] will be used for
1844multicolumn cells instead of [tableCellOpen #tableCellOpen].
1845
1846
1847    ===barinsidequote===[barinsidequote]
1848
1849This target allows horizontal bars inside block quotes.
1850
1851It affects the output of [block quotes #section-BlockQuotations],
1852and uses [bar1 #bar1].
1853
1854
1855    ===finalescapetitle===[finalescapetitle]
1856
1857This target should run the text of titles through
1858//doFinalEscape()//
1859
1860It affects the output of [titles #chapter-TitlesandSections].
1861
1862
1863    ===autotocnewpagebefore===[autotocnewpagebefore]
1864
1865This target should emit a [pageBreak #pageBreak] before the automatic Table
1866of Contents.
1867
1868
1869    ===autotocnewpageafter===[autotocnewpageafter]
1870
1871This target should emit a [pageBreak #pageBreak] after the automatic Table
1872of Contents.
1873
1874
1875    ===autotocwithbars===[autotocwithbars]
1876
1877This target should emit a [bar1 #bar1] before and after the automatic
1878Table of Contents.
1879
1880
1881    ===mapbar2pagebreak===[mapbar2pagebreak]
1882
1883This target should use a [pageBreak #pageBreak] instead of [bar2 #bar1]. If
1884it is defined, the anything defined for ``bar2`` is ignored.
1885
1886
1887    ===titleblocks===[titleblocks]
1888
1889This target uses title and section blocks.
1890
1891If it is defined, then [title* #title1] tags are ignored. Instead
1892[title*Open #title1open] and [blockTitle*Open #blockTitle1Open] tags
1893will be used to set off titles and sections.
1894
1895This affects the output of [titles #chapter-TitlesandSections].
1896
1897
1898    ===listlineafteropen===[listlineafteropen]
1899
1900This target should emit [listItemLine #listItemLine] after [listItemOpen #listItemOpen].
1901
1902
1903    ===escapexmlchars===[escapexmlchars]
1904
1905This target should escape the XML special characters: < > &
1906
1907
1908    ===listlevelzerobased===[listlevelzerobased]
1909
1910This target should start list levels at 0 when encoding the level
1911into list tags.
1912
1913It affects the output of [listItemOpen #listItemOpen], [numlistItemOpen #numlistItemOpen], and
1914[deflistItemOpen #deflistItemOpen].
1915
1916
1917    ===zerodepthparagraph===[zerodepthparagraph]
1918
1919For this target, non-nested paragraphs should have block depth of 0
1920instead of 1 when the block depth is encoded into the output.
1921
1922This affects the output of [paragraphOpen #paragraphOpen].
1923
1924
1925    ===cellspancumulative===[cellspancumulative]
1926
1927For this target, cell span values add up for each cell of a row.
1928
1929It affects the output of [_tableCellColSpan #_tableCellColSpan], and from that it may
1930affect the output of [tableCellOpen #tableCellOpen], [tableCellClose #tableCellClose],
1931[tableCellHead #tableCellHead], and [_tableCellMulticolOpen #_tableCellMulticolOpen].
1932
1933
1934    ===keepblankheaderline===[keepblankheaderline]
1935
1936For this target, template lines are not removed if the macros being
1937inserted are blank.
1938
1939This affects the output of [the template #section-Template].
1940
1941
1942    ===indentverbblock===[indentverbblock]
1943
1944This target should add leading spaces to verb block lines.
1945
1946It affects the output of [verbatim blocks #section-VerbatimBlocks].
1947
1948
1949    ===breaktablecell===[breaktablecell]
1950
1951This target should insert line breaks after every table cell.
1952
1953If affects the output of [table cells #section-Cells].
1954
1955
1956    ===breaktablelineopen===[breaktablelineopen]
1957
1958This target should insert a line break after [tableRowOpen #tableRowOpen] and
1959[tableTitleRowOpen #tableTitleRowOpen].
1960
1961
1962    ===notbreaklistopen===[notbreaklistopen]
1963
1964This target should //not// insert a line break after [listOpen #listOpen],
1965[numlistOpen #numlistOpen] or [deflistOpen #deflistOpen].
1966
1967
1968    ===keepquoteindent===[keepquoteindent]
1969
1970This target should not remove the leading TABs in block quotes.
1971
1972It affects the output of [block quotations #section-BlockQuotations].
1973
1974
1975    ===keeplistindent===[keeplistindent]
1976
1977This target should not remove the leading spaces on list tags.
1978
1979It affects the output of all tags for [lists #chapter-Lists].
1980
1981
1982    ===blankendautotoc===[blankendautotoc]
1983
1984This target should append a blank line at the end of the automatic
1985Table of Contents.
1986
1987
1988    ===tagnotindentable===[tagnotindentable]
1989
1990For this target, tags must be placed at the line beginning.
1991
1992If affects the tags for [block quotes #section-BlockQuotations] and
1993[lists #chapter-Lists].
1994
1995
1996    ===spacedlistitemopen===[spacedlistitemopen]
1997
1998This target should append a space after [listItemOpen #listItemOpen].
1999
2000
2001    ===spacednumlistitemopen===[spacednumlistitemopen]
2002
2003This target should append a space after [numlistItemOpen #numlistItemOpen].
2004
2005
2006    ===deflisttextstrip===[deflisttextstrip]
2007
2008This target should strip the whitespace off of the definition list
2009text.
2010
2011It affects the output of [definition lists #section-DefinitionLists].
2012
2013
2014    ===blanksaroundpara===[blanksaroundpara]
2015
2016This target should put a blank line before and after paragraphs.
2017
2018It affects the output of [paragraphs #section-Paragraphs].
2019
2020
2021    ===blanksaroundverb===[blanksaroundverb]
2022
2023This target should put a blank line before and after verb blocks.
2024
2025It affects the output of [verbatim blocks #section-VerbatimBlocks].
2026
2027
2028    ===blanksaroundquote===[blanksaroundquote]
2029
2030This target should put a blank line before and after quotes.
2031
2032It affects the output of [block quotations #section-BlockQuotations].
2033
2034
2035    ===blanksaroundlist===[blanksaroundlist]
2036
2037This target should put a blank line before and after lists.
2038
2039It affects the output of [regular lists #section-UnorderedLists].
2040
2041
2042    ===blanksaroundnumlist===[blanksaroundnumlist]
2043
2044This target should put a blank line before and after numbered lists.
2045
2046It affects the output of [numbered lists [#section-NumberedLists].
2047
2048
2049    ===blanksarounddeflist===[blanksarounddeflist]
2050
2051This target should put a blank line before and after definition
2052lists.
2053
2054It affects the output of [definition lists [#section-DefinitionLists].
2055
2056
2057    ===blanksaroundnestedlist===[blanksaroundnestedlist]
2058
2059This target should put a blank line before and after all types of
2060nested lists.
2061
2062It affects the output of all [lists #chapter-Lists].
2063
2064
2065    ===blanksaroundtable===[blanksaroundtable]
2066
2067This target should put a blank line before and after tables.
2068
2069It affects the output of [tables #chapter-Tables].
2070
2071
2072    ===blanksaroundbar===[blanksaroundbar]
2073
2074This target should put a blank line before and after horizontal
2075lines.
2076
2077It affects the output of [bar1 and bar2 #bar1].
2078
2079
2080    ===blanksaroundtitle===[blanksaroundtitle]
2081
2082This target should put a blank line before and after titles.
2083
2084It affects the output of [title* #title1] and [title*Open #title1open].
2085
2086
2087    ===blanksaroundnumtitle===[blanksaroundnumtitle]
2088
2089This target should put a blank line before and after numbered
2090titles.
2091
2092If affects the output of [numtitle* #numtitle1].
2093
2094
2095    ===listmaxdepth===[listmaxdepth]
2096
2097This is a value rule defining the maximum nesting depth for lists.
2098
2099It affects the output of [lists #chapter-Lists].
2100
2101
2102    ===quotemaxdepth===[quotemaxdepth]
2103
2104This is a value rule defining the maximum nesting depth for block
2105quotes.
2106
2107It affects the output of [block quotations #section-BlockQuotations].
2108
2109
2110    ===tablecellaligntype===[tablecellaligntype]
2111
2112This is a value rule defining the type of alignment allowed for
2113tables cells. The legal values are 'cell' or 'column'.
2114
2115Its value affects whether [_tableColAlign* #_tableColAlign] or
2116[_tableCellAlign* #_tableCellAlign] tags are used.
2117
2118It may affect the output of [tableOpen #tableOpen], [tableRowOpen #tableRowOpen],
2119[tableRowSep #tableRowSep], [tableCellOpen #tableCellOpen], [_tableCellMulticolOpen #_tableCellMulticolOpen],
2120[tableCellHead #tableCellHead], and other related tags.
2121
2122
2123    ===blockdepthmultiply===[blockdepthmultiply]
2124
2125This value rule changes the value of a blocks depth value, for
2126targets that encode depth into the output tags.
2127
2128It may affect the output of [paragraphOpen #paragraphOpen], [blockQuoteOpen #blockQuoteOpen],
2129[listItemOpen #listItemOpen], [numlistItemOpen #numlistItemOpen], and [deflistItemOpen #deflistItemOpen].
2130
2131
2132    ===depthmultiplyplus===[depthmultiplyplus]
2133
2134This value rule is added to add to the block depth before
2135multiplying by 'blockdepthmultiply'.
2136
2137It may affect the output of [paragraphOpen #paragraphOpen], [blockQuoteOpen #blockQuoteOpen],
2138[listItemOpen #listItemOpen], [numlistItemOpen #numlistItemOpen], and [deflistItemOpen #deflistItemOpen].
2139
2140
2141    ===cellspanmultiplier===[cellspanmultiplier]
2142
2143This value rule changes the value of a table cell span.
2144
2145It affects the output of [_tableCellColSpan #_tableCellColSpan], and from that may
2146affect the output of [tableCellOpen #tableCellOpen], [tableCellClose #tableCellClose],
2147[_tableCellMulticolOpen #_tableCellMulticolOpen] and [tableCellHead #tableCellHead].
2148
2149