PageRenderTime 91ms CodeModel.GetById 58ms app.highlight 12ms RepoModel.GetById 1ms app.codeStats 0ms

/doc/English/tags-reference.t2t

http://txt2tags.googlecode.com/
Unknown | 2149 lines | 1409 code | 740 blank | 0 comment | 0 complexity | 33937581c5ab2b012173eb94e87c01ef MD5 | raw file

Large files files are truncated, but you can click here to view the full 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 r…

Large files files are truncated, but you can click here to view the full file