/doc/English/tags-reference.t2t
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