diff options
Diffstat (limited to 'Master/texmf-dist/doc/plain/zztex/zzphrase.dat')
-rw-r--r-- | Master/texmf-dist/doc/plain/zztex/zzphrase.dat | 3085 |
1 files changed, 3085 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/plain/zztex/zzphrase.dat b/Master/texmf-dist/doc/plain/zztex/zzphrase.dat new file mode 100644 index 00000000000..5265a533721 --- /dev/null +++ b/Master/texmf-dist/doc/plain/zztex/zzphrase.dat @@ -0,0 +1,3085 @@ +//--------------------------------------------------------------------------- +// +// Copyright (c) 2012--2018 by Paul C. Anagnostopoulos +// +// This software may be used on your own computer systems and may +// be distributed freely to other people. It may not be sold or +// incorporated into any commercial products. +// +// Paul C. Anagnostopoulos +// Windfall Software +// 978 371-2316 +// paul@windfall.com +// +//--------------------------------------------------------------------------- +// +// ZzExplore: Describe built-in TeX, Plain TeX, ZzTeX, and design +// file entities for compositors. +// +// This is the main phrase file. +// +// Created: 3 March 2016 + + +// The following three templates are used to produce helpful explanations +// for phrases that do not match. + +// No match to phrase + +.template no_match += No Match +Your request: ~.phrase; + +There is no match for "~.word;". + +~if not empty? choice; +Some possibilities are: +~foreach ph, choice; +* ~.ph; +~end; +*. +~fi; +---- +If you think your request is reasonable, please inform Paul. + +// Ambiguous match to phrase + +.template ambiguous_match += Ambiguous Match +Your request: ~.phrase; + +The word "~.word;" is ambiguous. + +Some possibilities are: +~foreach ph, choice; +* ~.ph; +~end; +*. +---- +If you think your request is unambiguous, please inform Paul. + +// Partial phrase + +.template partial_phrase += Partial Phrase +Your request: ~.phrase; + +These words match the beginning of a phrase, but additional +words are needed. + +~if not empty? choice; +Some possibilities are: +~foreach ph, choice; +* ~.ph; +~end; +*. +~fi; + +If you are looking for a concept instead of specific examples, +it might help to try the plural of the word. +---- +If you think your request is complete enough to produce +a description, please inform Paul. + +// Help Text +// ---- ---- + + +// Help + +.phrase help help : text +.template += ~.facility; v~.version; + +~.facility; allows you to view descriptions of characters, commands, +block designs, and other entities that are defined by built-in TeX, +Plain TeX, ZzTeX, and book design files. It can also present more +detailed reports on concepts such as tags and tabular material. + +Invoke ~.facility; as follows: + +| > ~.facility; *word* *word* ... + +The *word* parameters form a phrase that ~.facility; uses to determine +which information you want to see. If you don't include any words, this +help text is displayed. Do *not* include question words and verbs in your +request (e.g., "what is"). + +~include command_line_chars; + +Without any options, the description is displayed on your terminal. If you +want to view a more stylish description in your browser, enter + +| > ~.facility; -browser *word* *word* ... + +The browser starts up in an independent window, allowing you to work and +read the description at the same time. Remember that you can close the +browser window with Alt+F4. + +It is recommended that you add the following +alias to your 4NT/Take Command alias file: + + exp*lore=~.facility; -browser %$ + +For a list of interesting examples of ~.facility;, enter + +| > ~.facility; examples + +For a list of what's new in version ~.version; and earlier versions, enter + +| > ~.facility; what's new + +.phrase examples examples : text +.template += Examples + +Here are some examples of things you can do with ~.facility;. + +* To see an overview of the current project: + + ~.facility; overview + +* To learn about a particular command: + + ~.facility; \overrideparlength + +* To find out whether a command is available for the current book: + + ~.facility; \separatefloat + +* To get information about a particular math character: + + ~.facility; \beta + +* To find out which types of enunciations or lists are available: + + ~.facility; enunciations + ~.facility; lists + +* To see some details about a particular enunciation: + + ~.facility; \enunciation theorem + +* To learn the names of the zzd design macros for enunciations: + + ~.facility; enunciation designs + +* To see all the details about the design of a particular enunciation: + + ~.facility; \enunciationtheoremdesign details + +* To learn what a count register is: + + ~.facility; counts + +* To get a list of all count registers or learn about a particular one: + + ~.facility; all counts + ~.facility; \sectionnumber + +* To see which type styles are available in the current book: + + ~.facility; type styles + +* To find out which type relationship commands are available +for a particular style: + + ~.facility; \tt + +* To find out which styles are established for a particular type +size and whether they can be used in math: + + ~.facility; \footnotesize + +.phrase whats_new what's new : text +.synonym what is new +.template += What's New in ~.facility; v~.version; + +* Complete description of the |\enunciation| block. +* Complete description of the indexing facility. +* Report of all bibliography entries for the project. +* Report of missing art files. +* List of commands for bibliography citations. +* Improved word matching for design elements that are not blocks. +* Improved report on at-sign commands. +* Complete documentation on the ZzSizeArt utility. +* Complete documentation on the new |\tabbing| block. +*. + +== What's New in ~.facility; v1.1 + +* This "what's new" report. +* Improved report on math classes. +* Improved report on individual characters. +* Improved report on Greek letter commands. +* Report on the new |\immediatemathdisplay| modifier. +* Improved report on the |\immediatesublist| modifier. +* Reports on the new |\breakabove| and |\breakbelow| modifiers. +* Improved reports on the |\bottomfloat| et al. modifiers. +* New page make-up report. +* Complete documentation on the |\tabular| block and related commands. +* Lists of commands for horizontal spacing and vertical spacing. +* Report on penalties. +* Complete documentation on the |\todo| command. +* Complete documentation on the title adjustment commands. +* Report on block modifiers. +* Complete documentation on the |\code| block and related commands. +* Improved documentation on tags. +* Complete documentation on the various forms of |\eqno|. +* Complete documentation on the |\letterspace| command. +* Complete documentation on the |\art| block. +* Complete documentation on running heads and feet (runners). +*. + +// ZzTeX et al Phrases +// ----- -- -- ------- + + +// Accents + +.phrase accents accents +.synonym text accents +.template += Accent Commands + +An accent command produces an accent over a character. +For example, + + Ha\v{c}ek na\"{\i}vet\'e, anyone? + +produces + +& Haček naïveté, anyone? +&. + +Here is a list of all the accent commands. + +&= Command& Description +---- +~foreach acc, accent_table; +& |~.acc;|& ~.accent_table[acc]; +~end; +&. +---- +For information on a specific accent, try |~.facility; \*name*|. + +// (Assumes that the 'one_command' group will also be populated.) +.phrase one_accent <name> accent +.synonym accent <name> +.synonym <name> text accent +.synonym text accent <name> +.template += |~.name;| Accent Command + +~include common_info; + +~.comment; + +An accent command produces an accent over a character. +---- +For a list of all accents, try |~.facility; accents|. + +// Attributes + +.phrase attributes attributes : text +.synonym command attributes +.template += Attributes + +When ~.facility; reports information about commands, math characters, and +other entities, it includes an item called *attributes*. An attribute +specifies special behavior of the command or character. Here is a list +of all the attributes. + +* internal: The command is internal to Plain TeX or ZzTeX and is never +used directly in design or book files. +* long: The argument to the command can include multiple paragraphs. +* outer: The command can only be used directly in a book file; it cannot +be used by another command. +* limits: The large operator (e.g., |\sum|) sets its limits above and below. +* no limits: The large operator sets its limit as sub- and +superscripts. +* display limits: The large operator set its limits above and below when +used in a math display; as scripts when used in text. +*. + +// Blocks + +.phrase blocks blocks : text +.synonym elements +.template += Blocks + +The block is the primary design element provided by ZzTeX design +files. A block generally spans a large amount of text that must +be formatted in a special way. Examples are lists, footnotes, +and framed text. + +Most blocks are started and ended with specific commands: + + \list{bullet} + \item ... + ... + \endlist + +A few blocks, however, are started and ended with the same command: + + \footnote{This is a footnote that will appear at the bottom.} + +A footnote has only one design style, or *type*. However, there can be an +arbitrary number of different types of lists, such as bullet, number, +label, and dialog. If a block requires a type, the type name is the first +argument to the block command, as with |\list{bullet}| above. + +Two blocks, |\text| and |\list|, can also be nested to produce, say, +multi-level lists. ZzTeX maintains the level counter automatically. + +Each block type and level has its own design. The designs are +embodied in design macros in the design file. For example, +the name of the design macro for a second-level bullet list is +|\listbulletiidesign|. A design macro is essentially a list of +assignments to *parameters* that control the formatting of the +block's text. + +There are two ways to modify the design of a specific block. +The first is to use a variant modifier, which produces predetermined +changes to the design. Try |~.facility; variants| for more information. +The second method is the |\with| modifier, which alters specified +design parameters for the block. Try |~.facility; \with| for +more information. +---- +For a list of all the available blocks, try |~.facility; all blocks|.&/ +For details on a specific block, try |~.facility; \*name*|. + +.phrase all_blocks all blocks +.template += List of Blocks + +This is the list of all the block elements available in ZzTeX. + +&= & Multiple& Can be& Used in +&= Block command& types?& nested?& ~.project; design? +---- +~foreach blk, type_table; +& |~.blk;|& ~.type_table[blk];& ~.nest_table[blk];& ~.used_table[blk]; +~end; +&. +---- +For more information, try |~.facility; blocks|&/ +For information on a particular block, try |~.facility; \*name*| + +// (Assumes that the 'one_command' group will also be populated.) +.phrase one_block <name> block +.synonym block <name> +.synonym <name> element +.synonym element <name> +.synonym <name> types +.synonym <nb-name> +.synonym <nb-name> blocks +.synonym <nb-name> elements +.synonym <nb-name> types +.synonym <nb-name-s> +.template += |~.name;| Block + +~include common_info; + +~.comment; + +The ~.name; block is one of the primary elements supported +by ZzTeX. + +~if not used?; +This block is not used in the ~.project; book. +~elsif empty? level_table; +This block is used in the ~.project; book. +A ~.name; does not have multiple design types. Its single +design is defined in ~.design_where;. +~else; +This table presents all the different +types of |~.name;| blocks available in the ~.project; design. + +&= Type& Levels& Defined +---- +~foreach type, level_table; +& |~.type;|& ~.level_table[type];& ~.where_table[type]; +~end; +&. +~fi; +---- +To see a description of this block's design parameters, +try |~.facility; ~.name; parameters|.&/ +~if used?;~ +To see some details about the |~.name;| design~* not empty? level_table; for the ~.project; +book, try |~.facility; ~.name; design|.&/~ +~fi; +For more information about blocks in general, try |~.facility; blocks|.&/ +For a list of all available blocks, try |~.facility; all blocks|.&/ + +.phrase block_params <name> parameters +.synonym <name>=\mathdisplay:$$ parameters +.synonym <name> design parameters +.synonym <name>=\mathdisplay:$$ design parameters +.template += |~.name;| Block Design Parameters + +Here is a list of all the design parameters for the |~.name;| +block. + +&= Parameter& Type& Description +---- +~foreach param, type_table; +& |~.param;|& ~.type_table[param];& ~.desc_table[param]; +~end; +&. + +// Block variants + +.phrase block_variants block variants : text +.synonym variants +.synonym design variants +.template += Block Variants + +A block variant is a modifier that can be applied to a block +command to alter the design of the block. Variants may only +be applied to block commands. + +For example, the |\widefigure| variant might be applicable +to a |\float| command to select a wider style for the figure. + + \widefigure \float{figure} + +Often there is a group of variants that all vary the design +of a block is related ways. For example, in addition to +|\widefigure| we might have + +* |\sidebysidefigure| +* |\widefigure| +* |\broadsidefigure| +*. + +Each of these modifiers applies to a figure float and vary its +design in specific ways. The three variants are mutually exclusive: +only one may be specified on any given |\float| command. +---- +For more information about a specific variant, try |~.facility; \*name*|.&/ +To see a list of variants for a specific block, try |~.facility; \*block*|. + +.phrase one_block_variant <name> +.synonym <name> variant +.synonym variant <name> +.synonym <name> block variant +.synonym block variant <name> +.synonym <name> design variant +.synonym design variant <name> +.template += |~.name;| Block Variant + +~include common_info; + +~.comment; + +A block variant is a modifier that can be applied to a block +command to alter the design of the block. This variant +applies to the |~.block;| block. It is a member of a group +of variants: + +~foreach i, variant_list; +* |~.variant_list[i];| +~end; +*. + +---- +For more information on block variants, try |~.facility; variants|. + +// Block modifiers + +.phrase block_modifiers block modifiers +.synonym modifiers +.template += Block Modifiers + +A block modifier is a command that can be applied to a block +to alter the design of the block. Modifiers may only +be applied to block commands. + +For example, the |\bottomfloat| modifier can be applied to +a |\float| command to place the float at the bottom of the page. + + \bottomfloat \float{figure} + +Note that block variants are another type of block modifier. + +Here is a list of all the block modifiers provided by ZzTeX and +the ~.project; design. It does not include block variants. + +&= Modifier& Where defined +---- +~foreach mod, where_table; +& |~.mod;|& ~.where_table[mod]; +~end; +&. +---- +For more information about a specific modifier, try |~.facility; \*name*|.&/ +For more information on block variants, a type of modifier, +try |~.facility; variants|. + +.phrase one_block_modifier <name> +.synonym <name> modifier +.synonym modifier <name> +.synonym <name> block modifier +.synonym block modifier <name> +.template += |~.name;| Block Modifier + +~include common_info; + +~.comment; + +A block modifier is a command that can be applied to a block +to alter the design of the block. +---- +For more information on block modifiers, try |~.facility; modifiers|. + +// Box registers + +.phrase boxes box registers : text +.synonym boxes +.template += Box Registers + +A box register contains a box that has horizontal or vertical material +in it. A box can contain a paragraph, a vertical sequence of paragraphs, +a short text fragment for measuring, etc. + +A box register is accessed and set as follows: + +| \box \*name* +| \setbox \*name* = \hbox {*horizontal material*} +| \setbox \*name* = \vbox {*vertical material*} +| \setbox \*name* = \vtop {*vertical material*} + +Boxes are never used directly in book files. +---- +For a list of all boxes, try |~.facility; all boxes|.&/ +For information on a particular box, try |~.facility; \*name*| + +.phrase all_boxes all box registers +.synonym all boxes +.template += List of Box Registers + +This is the list of all box registers available in ZzTeX. + +&= Register& Description +---- +~foreach reg, reg_table; +& |~.reg;|& ~.reg_table[reg]; +~end; +&. +~include internal_note; +---- +For more information, try |~.facility; boxes| + +.phrase one_box <name> +.synonym <name> box +.synonym box <name> +.synonym <name> register +.synonym register <name> +.synonym <name> box register +.synonym box register <name> +.template += |~.name;| Box Register + +~include common_info; + +~.comment; + +Default: |~.default;| + +A box register contains a box that has horizontal or vertical material +in it. A box can contain a paragraph, a vertical sequence of paragraphs, +a short text fragment for measuring, etc. +---- +For more information, try |~.facility; boxes| + +// Catcodes + +.phrase catcodes catcodes +.synonym category codes +.synonym character categories +.synonym character category codes +.template += Catcodes (Category Codes) + +A category code is assigned to every character read by TeX as it +processes files. A character's category code determines how TeX handles +that character. + +Here is a list of all the category codes. + +&= Number& Name& Meaning (example) +---- +~foreach i, name_table; +& ~.i;& |~.name_table[i];|& ~.meaning_table[i]; +~end; +&. + +.phrase one_catcode <name> +.synonym <name> catcode +.synonym catcode <name> +.synonym <name> category code +.synonym category code <name> +.template += |~.name;| Category Code + +~include common_info; + +~.comment; + +Value: ~.value; + +A category code is assigned to every character read by TeX as it +processes files. A character's category code determines how TeX handles +that character. +---- +For more information and list of all catcodes, try |~.facility; catcodes| + +// Characters + +.phrase characters characters + +.phrase one_character <name> +.synonym <name>=`T:tab +.synonym <name>=`F:formfeed +.synonym <name>=`R:newline +.synonym <name>=`_:space +.synonym <name>=":quote +.synonym <name>=%:percent +.synonym <name>=&:ampersand +.synonym <name>=':apostrophe +.synonym <name>=(:lparen +.synonym <name>=,:comma +.synonym <name>=<:less +.synonym <name>=>:greater +.synonym <name>=^:hat +.synonym <name>=`=:equal +.synonym <name>=``:backquote +.synonym <name>=|:bar +.template += ~.name; Character + +~include common_info; + +~.comment; + +& Catcode:& |~.catcode;| +& Font position:& |~.position;| +& Math class:& |~.math_class;| +& Math family:& |~.math_family;| +&. +---- +For information on catcodes, try |~.facility; catcodes|.&/ +For information on math classes, try |~.facility; classes|.&/ +For information on math families, try |~.facility; families|. + +// Citation commands + +.phrase citations citations +.synonym citation commands +.template += Citation Commands + +A citation command is a command that accepts a bibliography item tag and produces +a citation (reference) to that item. For example + + As \citenoun{smith16} describes, the widget ... + +might produce + +& As Smith [2016] describes, the widget ... +&. + +The following table lists all the citation commands available +for the ~.project; book. Be careful to read about the commands +defined in the design file (~.project;.zzd) first; some of +them might specify that certain other citation commands should +not be used. + +&= Command& Defined +---- +~foreach cmd, where_table; +& |~.cmd;|& ~.where_table[cmd]; +~end; +&. + +// Command line + +.phrase command_line command line : text +.template += Command Line + +Some characters are difficult or impossible to specify on the +4NT/Take Command command line. The following table shows how to +specify such characters by themselves or as the second +character of a character command. + +& & How to Specify& How to Specify +& Character& Character& Character Command +---- +& <newline>& |newline|& |\.newline| +& <formfeed>& |formfeed|& |\.formfeed| +& <space>& |space|& |\.space| +& |"|& |quote|& |\.quote| +& |%|& |percent|& |\.percent| +& |&&|& |ampersand|& |\.ampersand| +& |'|& |apostrophe|& |\.apostrophe| +& |(|& |lparen|& |\.lparen| +& |,|& |comma|& |\.comma| +& |<|& |less|& |\.less| +& |&=|& |equal|& |\.equal| +& |>|& |greater|& |\.greater| +& |^|& |hat|& |\.hat| +& |`|& |backquote|& |\.backquote| +& |&||& |bar|& |\.bar| +&. + +// Commands + +.phrase commands commands +.synonym macros +.template += Commands + +Commands are the primary entity with which TeX files are coded +to produce beautiful text. A command name consists of a backslash +(|\|) followed by + +* A sequence of upper- and lowercase letters (e.g., |\sin|), or +* A single non-letter character (e.g., |\,|) +*. + +Command names are *case-sensitive;* that is, an uppercase letter +is different from the same lowercase letter. So |\big| and |\Big| +are two different commands. + +A command name can operate by itself or it can require *arguments,* +which are pieces of text that the command uses to perform its +function. Arguments are usually enclosing in braces (|{|...|}|). +However, if there is a single argument composed of a single Roman +or Greek letter, then no braces are necessary. + + For example, you can set an acute accent on a character using + braces, as in \'{a}, but the braces aren't necessary: \'a. + +When scanning a command, TeX has one rule that can cause trouble. +Spaces and a single line break following a letter command are ignored. +So the text + + Don't you love the text that \TeX can produce? + +will result in the following: + +& Don't you love the text that TeXcan produce? +&. + +There are two solutions, the first of which is preferred. + + Don't you love the text that \TeX\ can produce? + Don't you love the text that \TeX{} can produce? + +Command names containing an at-sign (|@|) or beginning with '|z|' +are internal to TeX and ZzTeX. +---- +For information on a specific command, try |~.facility; \*name*|.&/ +For information on the attributes item included with individual +command descriptions, try |~.facility; attributes|.&/ +~include command_line_chars; + +== Command Counts + +For your edification, this table presents the number of commands +defined by TeX and ZzTeX. + +&= Count& Origin of command +---- +& ~.builtin_count;& Built-in TeX +& ~.plain_count;& Plain TeX macro package (many superceded by ZzTeX) +& ~.zztex_count;& ZzTeX macro package +& ~.zzd_count;& Design file(s) +&. + +.phrase one_command <name> +.synonym <name>=\`R:\.newline +.synonym <name>=\`_:\.space +.synonym <name>=\":\.quote +.synonym <name>=\':\.apostrophe +.synonym <name>=\,:\.comma +.synonym <name>=\^:\.hat +.synonym <name>=\`=:\.equal +.synonym <name>=\``:\.backquote +.synonym <name>=\mathdisplay:$$ +.synonym <name> command +.synonym <name>=\`R:\.newline command +.synonym <name>=\`_:\.space command +.synonym <name>=\":\.quote command +.synonym <name>=\':\.apostrophe command +.synonym <name>=\,:\.comma command +.synonym <name>=\^:\.hat command +.synonym <name>=\`=:\.equal command +.synonym <name>=\``:\.backquote command +.synonym command <name> +.synonym <name> macro +.synonym macro <name> +.template += |~.name;| Command + +~include common_info; + +~.comment; +---- +~include command_info; + +// Count registers + +.phrase counts count registers : text +.synonym counts +.template += Count Registers + +A count register contains an integer that can be used as a counter, +to number elements, to hold an integer parameter value, etc. + +A count register is accessed and set as follows: + +| \*name* +| \*name* = *integer* + +Counts are rarely used directly in book files. +---- +For a list of all count registers, try |~.facility; all counts|.&/ +For information on a particular count register, try |~.facility; \*name*|. + +.phrase all_counts all count registers +.synonym all counts +.template += List of Count Registers + +This is the list of all count registers available in ZzTeX. + +&= Register& Description +---- +~foreach reg, reg_table; +& |~.reg;|& ~.reg_table[reg]; +~end; +&. +~include internal_note; +---- +For more information, try |~.facility; count registers| + +.phrase one_count <name> +.synonym <name> count +.synonym count <name> +.synonym <name> register +.synonym register <name> +.synonym <name> count register +.synonym count register <name> +.template += |~.name;| Count Register + +~include common_info; + +~.comment; + +Default: |~.default;| + +A count register contains an integer that can be used as a counter, +to number elements, to hold an integer parameter value, etc. +---- +For more information, try |~.facility; counts| + +// Declarations + +.phrase declarations declarations : text +.template += Declarations + +A TeX declaration has a name like a command, but it does not +take any arguments. Instead, it pertains to the following text in +the current brace group. + +Example: |{\it *text*}| + +The *text* is set in italic style, but text following the close brace +is not. The braces limit the scope of the declaration. + +Declarations are used in design files but rarely in book files. +There is almost always a command that should be used instead. + +Example: |\emph{*text*}| +---- +For information on commands, try |~.facility; commands| + +.phrase one_declaration <name> +.synonym <name> declaration +.synonym declaration <name> + +// Designs + +.phrase designs designs : text +.synonym block designs +.template += Block Designs + +A block design is embodied in a macro usually located in a +book's design file. There are a few block designs built into +ZzTeX. The block design macro contains a list of block +parameter assignments that together specify the features +and format of the block. + +The block design macro name comes in three flavors. + +& |\def \footnotedesign|& The block does not have multiple types +& |\def \floatfiguredesign|& The block has multiple types +& |\def \listbulletidesign|& The block has multiple types and levels +&. + +Within the design macro definition is a sequence of parameter +assignments and other TeX coding to establish the design for +that particular block, block type, or block type/level. Each +time ZzTeX encounters a block in a book file, it executes the +design macro to establish the design, then processes the contents +of the block. +---- +To see details about a design, try things like: + +| ~.facility; \listbulletidesign +| ~.facility; \float{figure} +| ~.facility; list bullet i + +// The phrases for a block with no type; e.g., \footnotedesign. + +.phrase one_design_notype <name> +.synonym <name> macro +.synonym <block> design +.synonym <block>=\mathdisplay:$$ design +.synonym <block> design macro +.synonym <nb-block> design +.synonym <nb-block> design macro +.template += |~.name;| Design Macro + +~include common_info; + +~include design_info; + +~.comment; +---- +~include gory_details; + +// The phrases for a block with a type, but no type specified. + +.phrase-dups one_design_type_general <block> designs +.synonym <block> design macros +.synonym <nb-block> designs +.synonym <nb-block> design macros +.template += |~.block;| Design Macros + +The following table shows a list of all the design macros +available in the ~.project; book for the various types of |~.block;|. + +&= Design Macro& Element +---- +~foreach des, design_table; +& |~.des;|& ~.design_table[des]; +~end; +&. +---- +For information on a specific type, try |~.facility; ~.block; *type*|. + +// The phrases for a block with a specified type. + +.phrase one_design_type_specific <name> +.synonym <name> macro +.synonym <block> <type> +.synonym <block> <type> design +.synonym <block> <type> design macro +.synonym <nb-block> <type> +.synonym <nb-block> <type> design +.synonym <nb-block> <type> design macro +.synonym <type> <nb-block-s> +.synonym <type> <nb-block> designs +.synonym <type> <nb-block> design macros +.template += |~.name;| Design Macro + +~include common_info; + +~include design_info; + +~.comment; +---- +~include gory_details; + +// The phrases for a block with a type and level, but no type or level specified. + +.phrase-dups one_design_level_general <block> designs +.synonym <block> design macros +.synonym <nb-block> designs +.synonym <nb-block> design macros +.synonym <block> <type> designs +.synonym <block> <type> design macros +.synonym <nb-block> <type> designs +.synonym <nb-block> <type> design macros +.synonym <type> <nb-block-s> +.synonym <type> <nb-block> designs +.synonym <type> <nb-block> design macros +.template += |~.block;| Design Macros + +The following table shows a list of all the design macros +available in the ~.project; book for the various types of |~.block;|. + +&= Design Macro& Element +---- +~foreach des, design_table; +& |~.des;|& ~.design_table[des]; +~end; +&. +---- +For information on a specific type and level, +try |~.facility; ~.block; *type* *level*|. + +// The phrases for a block with a specified type and level. + +.phrase one_design_level_specific <name> +.synonym <name> macro +.synonym <block> <type> <level> +.synonym <block> <type> <level> design +.synonym <block> <type> <level> design macro +.synonym <nb-block> <type> <level> +.synonym <nb-block> <type> <level> design +.synonym <nb-block> <type> <level> design macro +.template += |~.name;| Design Macro + +~include common_info; + +~include design_info; + +~.comment; +---- +~include gory_details; + +.phrase design_details <name> details +.template += ~.name; Design Details + +~include common_info; + +~include design_info; + +~if not empty? inblock_set; +The design is modified when the block appears inside these surrounding blocks: +~foreach blk,inblock_set,iter;~,blk,iter /= 1;~end; +~fi; + +Here is a table of all the parameter values set by this design macro. + +&= Parameter& Type& Value& Note +---- +~foreach param, type_table; +& |~.param;|& ~.type_table[param];& |~.value_table[param];|& ~.note_table[param]; +~end; +&. + +~if affected?; +(Some parameters may be missing due to design changes caused by variants +or nesting inside outer blocks.) +~fi; +---- +For the complete story on this design, see ~.where;. + +// Dimen registers + +.phrase dimens dimension registers : text +.synonym dimensions +.template += Dimen(sion) Registers + +A dimen register contains a dimension that can be used as the width, +height, or depth of a box, an indentation amount, a page dimension, etc. + +A dimen register is accessed and set as follows: + +| \*name* +| \*name* = *dimension* + +Dimensions are rarely used directly in book files. +---- +For a list of all dimen registers, try |~.facility; all dimens|.&/ +For information on a particular dimen register, try |~.facility; \*name*|. + +.phrase all_dimens all dimension registers +.synonym all dimensions +.template += List of Dimen(sion) Registers + +This is the list of all dimen registers available in ZzTeX. + +&= Register& Description +---- +~foreach reg, reg_table; +& |~.reg;|& ~.reg_table[reg]; +~end; +&. +~include internal_note; +---- +For more information, try |~.facility; dimen registers| + +.phrase one_dimen <name> +.synonym <name> dimension +.synonym dimension <name> +.synonym <name> register +.synonym register <name> +.synonym <name> dimension register +.synonym dimension register <name> +.template += |~.name;| Dimen(sion) Register + +~include common_info; + +~.comment; + +Default: |~.default;| + +A dimen(sion) register contains a dimension that can be used as the width, +height, or depth of a box, an indentation amount, a page dimension, etc. +---- +For more information, try |~.facility; dimens| + +// Encodings + +.phrase encodings style encodings +.synonym encodings +.synonym font encodings +.template += Style Encodings + +A style encoding is an integer value that specifies the overall organization +of the fonts associated with that style. For example: + +* \encoderoman is the encoding for typical Roman text fonts. +* \encodeitalic is the encoding for typical italic text fonts. +* \encodemathitalic is the encoding for math fonts containing +italic letters for use as variables. +*. + +The encoding for a type style is specified in the |\definetypestyle| +command for that style. + +Here are all the style encodings supported by ZzTeX. + +&= Encoding& Value& Meaning +---- +~foreach val, value_set; +& ~.encoding_table[val];& ~.val;& ~.meaning_table[val]; +~end; +&. +---- +For a list of type styles and their encodings, try |~.facility; type styles|. + +.phrase one_encoding <name> +.synonym <name> encoding +.synonym encoding <name> +.synonym <name> style encoding +.synonym style encoding <name> +.synonym <name> font encoding +.synonym font encoding <name> +.template += |~.name;| Style Encoding + +~include common_info; + +~.comment; + +Value: ~.value; + +A style encoding is an integer value that specifies the overall organization +of the fonts associated with that style. +---- +For more information and list of all encodings, try |~.facility; style encodings| + +// End-of-enunciation dingbats + +.phrase eoe_dingbats end-of-enunciation dingbats : text +.synonym dingbats +.synonym eoe dingbats +.synonym enunciation dingbats +.template += End-of-Enunciation Dingbats + +An end-of-enunciation dingbat (eoe dingbat) is an icon that is set +at the end of an enunciation. A mathemtical proof, for example, almost +always has a dingbat at the end. The command for the dingbat would be +|\qed|. + +The dingbat is set automatically at the end of the enunciation, or you +can specify it explicitly using its command name. +---- +For information on a specific dingbat, try |~.facility; \*name*| + +// (Assumes that the 'one_command' group will also be populated.) +.phrase one_eoe_dingbat <name> dingbat +.synonym dingbat <name> +.synonym <name> eoe dingbat +.synonym eoe dingbat <name> +.synonym <name> enunciation dingbat +.synonym enunciation dingbat <name> +.synonym <name> end-of-enunciation dingbat +.synonym end-of-enunciation dingbat <name> +.template += |~.name;| End-of-Enunciation Dingbat Command + +~include common_info; + +~.comment; + +& Text of dingbat:& |~.text;| +& Position:& |~.position;| +&. + +An end-of-enunciation dingbat (eoe dingbat) is an icon that is set +at the end of an enunciation. +---- +For information on dingbats in general, try |~.facility; dingbats| + +// Enumerated Names + +.phrase one_chardef_enum <name> +.template += ~.name; Symbolic Number + +~include common_info; + +~.comment; + +Value: ~.value; + +A symbolic number is a name assigned to a number to make it easier +to refer to the number without having to remember its value. A symbolic +number is often referred to as an *enumerated value.* + +~include internal_note; + +// Flags + +.phrase flags flags : text +.synonym booleans +.template += Flags + +A flag is a true/false (boolean) value stored in a TeX macro +(not a register). It can be used to specify a yes/no option, +the state of some binary choice, the result of a test, etc. + +A flag is accessed and set as follows: + +| \*name* +| \setflag \*name* = \true +| \setflag \*name* = \false + +Flags are rarely used directly in book files. +---- +For a list of all flags, try |~.facility; all flags|.&/ +For information on a particular flag, try |~.facility; \*name*|. + +.phrase all_flags all flags +.synonym all booleans +.template += List of Flags + +This is the list of all flags available in ZzTeX. + +&= Name& Description +---- +~foreach flag, flag_table; +& |~.flag;|& ~.flag_table[flag]; +~end; +&. +~include internal_note; +---- +For more information, try |~.facility; flags| + +.phrase one_flag <name> +.synonym <name> flag +.synonym flag <name> +.synonym <name> boolean +.synonym boolean <name> +.template += |~.name;| Flag + +~include common_info; + +~.comment; + +Default: |~.default;| + +A flag is a true/false (boolean) value stored in a TeX macro +(not a register). It can be used to specify a yes/no option, +the state of some binary choice, the result of a test, etc. +---- +For more information, try |~.facility; flags| + +// Fonts + +.phrase fonts fonts : text +.synonym type fonts +.template += Font Declarations + +A font declaration establishes the type font for the current brace +group. In TeX, a font is a specific type family and style set at a +particular size. Some common examples: + +&= Font Declaration& Family, Style, Size +---- +& |\tenhalfrm|& morg at 10.5pt& (|morg| is Minion-Regular) +& |\tenhalfmit|& mtmiz at 10.5pt& (|mtmiz| is MathTime Math Italic) +& |\tenhalfit|& moi at 10.5pt& (|moi| is Minion-Italic) +& |\twelvedbf|& Flama-Bold at 12pt +&. + +Font declarations are never used directly in design or book files, instead +operating behind the scenes when font sizes and styles are selected. +---- +For a list of all fonts in the ~.project; book, try |~.facility; all fonts|.&/ +For information about a particular font, try |~.facility; \*name*|.&/ +For information on type sizes or styles, try |~.facility; sizes| or +|~.facility; styles|. + +.phrase all_fonts all fonts +.template += List of Fonts + +This is the list of all the fonts used in the ~.project; book. + +&= Fonts& Family, style, size +---- +~foreach font, font_table; +& |~.font;|& ~.font_table[font]; +~end; +&. +---- +For more information, try |~.facility; fonts|. + +// (Assumes that the 'one_declaration' group will also be populated.) +.phrase one_font <name> font +.synonym font <name> +.synonym <name> type font +.synonym type font <name> +.template += |~.name;| Font Declaration + +~include common_info; + +Font: ~.font_size;. + +A font declaration establishes the type font for the current brace group. +Font declarations are never used directly in design or book files, instead +operating behind the scenes when font sizes or styles are selected. +---- +For more information on fonts, try |~.facility; fonts|.&/ +~include declaration_info; + +// Glyphs + +.phrase glyphs glyphs + +// (Assumes that the 'one_command' group will also be populated.) +.phrase one_glyph <name> glyph +.synonym glyph <name> +.template += |~.name;| Glyph Command + +~include common_info; + +~.comment; + +Art spec: ~.art_spec; + +A glyph is a command that sets a small graphic used as an icon +or attention indicator. The glyph scales with the surrounding font. + +// Ifs + +.phrase ifs ifs : text +.synonym if flags +.template += If Flags + +An if flag is similar to ZzTeX's flags but is only used by Plain +TeX. Because all the if flags are internal to Plain TeX and +never used in design or book files, no more information will +be provided. + +// Inserts + +.phrase inserts inserts : text +.template += Inserts + +An insert is one or more chunks of text that are to be inserted on +the page at the top or bottom. Examples are floating figures, +floating tables, and footnotes. + +ZzTeX defines an insert for floats at the top of the page, +floats at the bottom, and footnotes. Each insert consist of +three registers needed to manage the text: a count, a dimen, +and a skip. + +Since the operation of inserts is entirely internal, there is no +additional information about them. + +// Lets + +.phrase one_let <name> +.synonym <name>=\%:\.percent +.synonym <name>=\&:\.ampersand +.synonym <name>=\<:\.less +.synonym <name>=\>:\.greater +.synonym <name> synonym +.synonym <name>=\&:\.ampersand synonym +.synonym <name>=\%:\.percent synonym +.synonym <name>=\<:\.less synonym +.synonym <name>=\>:\.greater synonym +.synonym synonym <name> +.template += |~.name;| Synonym + +~include common_info; + +Synonym for: |~.parent;| + +~.comment; + +A synonym is a name established with the |\let| command and is +equivalent to its "parent" command. To see information on this name's +parent command, try |~.facility; ~.parent;|. + +// Locators + +.phrase locators locators +.synonym indexing commands +.synonym indexing locators +.template += Index Locators + +An index locator is a command that creates an entry in the +book's index. It takes an argument with one, two, or three headings +separated by bars: + + \xpage{Main|subhead} + +Some locators can specify a page range, in which case there are +two additional commands: + + \xpagebegin{Main|subhead} + \xpageend{Main|subhead} + +If it is a command like |\xsee| and |\xseealso|, it takes an additional +first argument with the heading to consult. In this example, the heading +|Synonym| will refer to the heading |Primary|: + + \xsee{Primary}{Synonym} + +The following locators are available for the ~.project; book: + +&= & Begin/end& See-like +&= Command& commands?& reference? +---- +~foreach i, command_list; +& |~.command_list[i];|& ~.range_list[i];& ~.refers_list[i]; +~end; +&. +---- +~include indexing_info; + +// (Assumes that the 'one_command' group will also be populated.) +.phrase one_locator <name> locator +.synonym locator <name> +.synonym <name> indexer +.synonym indexer <name> +.synonym <name> indexing command +.synonym indexing command <name> +.synonym <name> locator command +.synonym locator command <name> +.template += |~.name;| Index Locator Command + +~include common_info; + +~.comment; + +An index locator is a command that creates an entry in the book's index. +The format of this locator command is shown above. There is one command +if this kind of locator can only specify a single page. There are three +commands if it can specify a single page or a page range. The commands for +this locator are: + +~foreach cmd, command_list; +* ~.command_list[cmd]; +~end; +*. +---- +For more information on locators, try |~.facility; locators|. + +// Marks + +.phrase marks marks +.synonym page marks +.template += Mark Pseudo-Commands + +A mark is a chunk of text inserted into the current page using the +|\mark| command. The purpose of a mark is to hold information +for running heads and feet. This information can be extracted from +the page using pseudo-commands such as |\topmark| in the header +and footer formatting macros. + +The |\mark| command and the extracting pseudo-commands are not used +directly in ZzTeX design or book files. Instead, |\setmarkinfo| and +|\markinfo| are used. + +Here is a list of all the mark pseudo-commands. + +&= Command& Description +---- +~foreach mark, desc_table; +& |~.mark;|& ~.desc_table[mark]; +~end; +&. + +(Do not confuse marks with markers.) +---- +For information on a specific mark, try |~.facility; \*name*|. + +.phrase one_mark <name> +.synonym <name> mark +.synonym mark <name> +.synonym <name> page mark +.synonym page mark <name> +.template += |~.name;| Mark Pseudo-Command + +~include common_info; + +~.comment; + +A mark is a chunk of text inserted into the current page using the +|\mark| command. The purpose of a mark is to hold information +for running heads and feet. +---- +For more information on marks, try |~.facility; marks|. + +// Markers + +.phrase markers markers +.synonym argument markers +.synonym command markers +.template += Markers + +A marker indicates a point in a command argument where the following +text is interpreted differently from the preceding text. For example, + + $$ + a = b \eqno + $$ + +The |\eqno| marker indicates that the following text (empty in this +example) should be interpreted as the equation number. + +Here is a list of all the markers provided by ZzTeX. + +&= Marker& Meaning +---- +~foreach marker, comment_table; +& |~.marker;|& ~.comment_table[marker]; +~end; +&. + +(Do not confuse markers with marks.) +---- +For information on a specific marker, try |~.facility; \*name*|. + +.phrase one_marker <name> +.synonym <name> marker +.synonym marker <name> +.template += |~.name;| Marker + +~include common_info; + +~.comment; + +A marker indicates a point in a command argument where the following +text is interpreted differently from the preceding text. +---- +For more information on markers, try |~.facility; markers|. + +// Math accents + +.phrase math_accents math accents +.template += Math Accent Commands + +A math accent command produces an accent over a math character. +For example, + + x = y \times \hat{a} + +produces + +& *x* = *y* × *â* +&. + +Here is a list of all the math accent commands. + +&= Command& Description +---- +~foreach acc, accent_table; +& |~.acc;|& ~.accent_table[acc]; +~end; +&. +~include internal_note; +---- +For information on a specific accent, try |~.facility; \*name*|. + +// (Assumes that the 'one_command' group will also be populated.) +.phrase one_math_accent <name> accent +.synonym accent <name> +.synonym <name> math accent +.synonym math accent <name> +.template += |~.name;| Math Accent Command + +~include common_info; + +~.comment; + +A math accent command produces an accent over a math character. +---- +For a list of all math accents, try |~.facility; math accents|. + +// Math characters + +// (Assumes that the 'one_command' group will also be populated.) +.phrase one_math_char <name> character +.synonym character <name> +.synonym <name> symbol +.synonym symbol <name> +.synonym <name> math character +.synonym math character <name> +.synonym <name> math symbol +.synonym math symbol <name> +.template += |~.name;| Math Character + +~include common_info; + +~.comment; + +This command sets a math character or symbol with the following properties. + +& Math class:& |~.math_class;| +& Math family:& |~.math_family;| +& Font position:& ~.position; +&. + +// Math character constants + +.phrase one_math_char_constant <name> + +// Math classes + +.phrase math_classes math classes +.synonym classes +.template += Math Classes + +Each math character and subexpression is assigned to one of the +math classes shown below. The class determines how the character or +subexpression is formatted. In particular, it determines the amount +of space on each side of it. Each class is assigned a number, although +you never need to worry about them. + +You can force a math expression into a particular class using the +commands in the following table. Each takes an argument that is +the expression to be classified. For example: + + x \mathbin{.} y + +This forces the period to act like a binary operator, thus being set +with a thin space on either side of it. + +&= Class& Number& Class Command& Description +---- +~foreach i, class_list; +& |~.class_list[i];|& ~.i;& |~.command_list[i];|& ~.desc_list[i]; +~end; +&. + +.phrase one_chardef_math_class <name> +.synonym <name> math class +.synonym math class <name> +.synonym <name> class +.synonym class <name> +.template += |~.name;| Math Class + +~include common_info; + +~.comment; + +Value: ~.value; + +Each math character and subexpression is assigned to a math class. +The class determines how the character or subexpression is formatted. +---- +For more information and list of all math classes, try |~.facility; math classes|. + +// (Assumes that the 'one_command' group will also be populated.) +.phrase one_command_math_class <name> math class +.synonym math class <name> +.synonym <name> class +.synonym class <name> +.template += |~.name;| Math Class Command + +~include common_info; + +~.comment; + +A math class command forces its argument to be interpreted +according to a particular math class (specified above) rather than its standard +math class. +---- +For more information on math classes, try |~.facility; math classes|.&/ +~include command_info; + +// Math families + +.phrase math_families math families : text +.synonym family +.synonym families +.synonym type family +.synonym type families +.template += Math Families + +A math family is a number that is assigned to a type style so the +style can be used in math expressions. Associated with the family +are three fonts, one each for text size, script size, and scriptscript +size. A type style cannot be used in math without a family number. +This is occasionally a problem because there is a limit of 15 families. +---- +For information about a particular family, try |~.facility; \*xx*fam|; +for example, |~.facility; \rmfam|&/ +For a list of type styles and their associated families, +try |~.facility; type styles|. + +.phrase one_math_family <name> +.synonym family <name> +.synonym <name> family +.synonym <name> math family +.synonym <name> type family +.synonym math family <name> +.synonym type family <name> +.template += |~.name;| Math Family + +~include common_info; + +~.comment; + +& Type style:& |~.style;| +& Family number:& ~.number; +&. + +A math family is a number assigned to a type style so the style +can be used in math expressions. Only families 0--14 are usable +in math. +---- +For more information on math families, try |~.facility; math families| + +// Math functions + +.phrase math_functions math functions : text +.synonym functions +.template += Math Functions + +Math functions are commands that set the names of mathematical functions +such as sin and max. If the command is followed by a fence, the fence +abuts the name. Otherwise a thin space follows the name. For example, + + ... the $\sin x$ and the $\sin(x)$ are both ways of writing ... + +produces + +& ... the sin *x* and the sin(*x*) are both ways of writing ... +&. +---- +For information on a specific function, try |~.facility; \*name*| + +// (Assumes that the 'one_command' group will also be populated.) +.phrase one_math_function <name> function +.synonym function <name> +.synonym <name> math function +.synonym math function <name> +.template += |~.name;| Math Function + +~include common_info; + +~.comment; + +& Sets:& ~.function; +& Limits:& ~.limits; +&. + +A math function is a command that sets a math function name, +usually in roman. +---- +For more information, try |~.facility; math functions| + +// Math joined symbols + +// (Assumes that the 'one_command' group will also be populated.) +.phrase one_math_joined <name> joined math symbol +.synonym joined math symbol <name> +.synonym <name> joined symbol +.synonym joined symbol <name> +.synonym <name> math symbol +.synonym math symbol <name> +.template += |~.name;| Joined Math Symbol + +~include common_info; + +~.comment; + +A joined math symbol is constructed by adjoining one symbol +with another. In this case, the symbol is built as: + + ~.left; ~.right; +---- +~include math_class_info; + +// Math stacked symbols + +// (Assumes that the 'one_command' group will also be populated.) +.phrase one_math_stacked <name> stacked math symbol +.synonym stacked math symbol <name> +.synonym <name> stacked symbol +.synonym stacked symbol <name> +.synonym <name> math symbol +.synonym math symbol <name> +.template += |~.name;| Stacked Math Symbol + +~include common_info; + +~.comment; + +A stacked math symbol is constructed by stacking one symbol +on top of another. In this case, the symbol is built as: + + ~.above; + ~.below; +---- +~include math_class_info; + +// Muskip registers + +.phrase muskips muskip registers : text +.synonym muskips +.template += Muskip Registers + +A muskip register contains a glue value (nominal, stretch, shrink) +measured in math mu units (1/18 em). It can specify a horizontal space +to be used in math. Muskip registers are only used in math. + +A muskip register is accessed and set as follows: + +| \*name* +| \*name* = *mu-glue* + +Muskip registers are never used directly in book files. +---- +For a list of all muskip registers, try |~.facility; all muskips|.&/ +For information on a particular muskip register, try |~.facility; \*name*|. + +.phrase all_muskips all muskip registers +.synonym all muskips +.template += List of Muskip Registers + +This is the list of all muskip registers available in ZzTeX. + +&= Register& Description +---- +~foreach reg, reg_table; +& |~.reg;|& ~.reg_table[reg]; +~end; +&. +~include internal_note; +---- +For more information, try |~.facility; muskip registers| + +.phrase one_muskip <name> +.synonym <name> muskip +.synonym muskip <name> +.synonym <name> register +.synonym register <name> +.synonym <name> muskip register +.synonym muskip register <name> +.template += |~.name;| Muskip Register + +~include common_info; + +~.comment; + +Default: |~.default;| + +A muskip register contains a glue value (nominal, stretch, shrink) +measured in math mu units (1/18 em). It can specify a horizontal space +to be used in math. +---- +For more information, try |~.facility; muskips| + +// Math \text command + +.phrase math_text math \text : text +.template += Math |\text| Command + +There is a |\text| command that can be used in math expressions +to typeset its argument in text mode. + +Usage: |\text{*text*}| + +For example, + + $$ + x = 0.999\ldots = 1\quad \text{(see limits description)} + $$ + +This math display would be set as follows. + +& *x* = 0.999... = 1&_(see limits description) +&. + +Note that this |\text| command is only defined in math mode. + +// Named Characters + +.phrase one_named_char <name> +.synonym <name>=\|:\.bar +.synonym <name> character +.synonym <name>=\|:\.bar character +.synonym character <name> +.template += ~.name; Named Character + +~include common_info; + +~.comment; + +Font position: |~.position;| + +A named character is a single character that is not on the keyboard but is +assigned a name so that it can be easily typed. Some named characters also +have a character command synonym (e.g., |\@| = |\atsign|). + +// Page make-up + +.phrase page_makeup page make-up +.synonym page makeup +.synonym paging +.template += Page Make-Up + +Page make-up is the process of formatting the text on each +page of a book. In particular, it involves deciding what +text should appear on each page and on each spread. + +The following ZzTeX commands can help with page make-up. + +~foreach name, makeup_set; +* |~.name;| +~end; +*. + +// Penalties + +.phrase penalties penalties +.synonym penalty +.template += Penalties + +A penalty is a number that specifies how much TeX should favor or +disfavor a line break or page break. Positive penalties cause TeX +to disfavor breaks, while negative penalties cause it to favor breaks. +Penalties range from -10,000 (meaning always break) to +10,000 (meaning +never break). + +Penalties are used in commands such as |\vpenalty|, |\linebreak|, and +|\columnbreak|. These commands are rarely used in book files. + +Here is a table of all the available penalties. + +&= Penalty& Meaning +---- +~foreach name, comment_table; +& |~.name;|& ~.comment_table[name]; +~end; +&. + +.phrase one_penalty <name> +.synonym <name> penalty +.synonym penalty <name> +.template += |~.name;| Penalty + +~include common_info; + +~.comment; +---- +For more information, try |~.facility; penalties|. + +// Prefixes + +.phrase prefixes prefixes +.synonym command prefixes +.template += Prefixes + +A prefix specifies an attribute of the name being defined +using |\def| and related commands. It also specifies an +attribute of I/O operations. + +Here is a list of all the prefixes. + +&= Prefix& Description +---- +~foreach pre, prefix_table; +& |~.pre;|& ~.prefix_table[pre]; +~end; +&. + +.phrase one_prefix <name> +.synonym <name> prefix +.synonym prefix <name> +.synonym <name> command prefix +.synonym command prefix <name> +.template += |~.name;| Prefix + +~include common_info; + +~.comment; + +A prefix specifies an attribute of the name being defined +using |\def| and related commands. It also specifies an +attribute of I/O operations. +---- +For more information, try |~.facility; prefixes|. + +// Skip (Glue) registers + +.phrase skips skip registers : text +.synonym skips +.synonym glue registers +.synonym glues +.template += Skip Registers + +A skip register contains a glue value (nominal, stretch, shrink) +that can specify a horizontal or vertical space, a left or right +indentation, a gutter, etc. + +A skip register is accessed and set as follows: + +| \*name* +| \*name* = *glue* + +Skip registers are never used directly in book files. +---- +For a list of all skip registers, try |~.facility; all skips|.&/ +For information on a particular skip register, try |~.facility; \*name*|. + +.phrase all_skips all skip registers +.synonym all skips +.synonym all glue registers +.template += List of Skip (Glue) Registers + +This is the list of all skip registers available in ZzTeX. + +&= Register& Description +---- +~foreach reg, reg_table; +& |~.reg;|& ~.reg_table[reg]; +~end; +&. +~include internal_note; +---- +For more information, try |~.facility; skip registers| + +.phrase one_skip <name> +.synonym <name> skip +.synonym skip <name> +.synonym <name> register +.synonym register <name> +.synonym <name> skip register +.synonym skip register <name> + +.synonym <name> glue +.synonym glue <name> +.synonym <name> glue register +.synonym glue register <name> +.template += |~.name;| Skip (Glue) Register + +~include common_info; + +~.comment; + +Default: |~.default;| + +A skip register contains a glue value (nominal, stretch, shrink) +that can specify a horizontal or vertical space, a left or right +indentation, a gutter, etc. +---- +For more information, try |~.facility; skips| + +// Spacing + +.phrase spacing spacing : text +.template += Spacing Commands + +To see a list of commands for horizontal spacing, +try |~.facility; horizontal spacing|. + +To see a list of commands for vertical spacing, +try |~.facility; vertical spacing|. + +.phrase horizontal_spacing horizontal spacing +.template += Horizontal Spacing + +This table presents a list of all the horizontal spacing commands +available in ZzTeX. + +A command described as *breakable* allows a preceding line break, and the +space is discarded. A command described as *unbreakable* does not allow a +preceding line break. + +~foreach cmd, comment_table; +& |~.cmd;|& ~.comment_table[cmd]; +~end; +&. +---- +For more information on any of these commands, try |~.facility; \*name*|. + +.phrase vertical_spacing vertical spacing +.template += Vertical Spacing + +Here is a list of all the vertical spacing commands available in ZzTeX. + +~foreach name, name_set; +* |~.name;| +~end; +*. +---- +For more information on any of these commands, try |~.facility; \*name*|. + +// Suffixes + +.phrase suffixes suffixes +.synonym command suffixes +.template += Suffixes + +A suffix can be affixed to certain math commands to specify +how limits are to be set. + +Here is a list of all the suffixes. + +&= Suffix& Description +---- +~foreach suf, suffix_table; +& |~.suf;|& ~.suffix_table[suf]; +~end; +&. + +.phrase one_suffix <name> +.synonym <name> suffix +.synonym suffix <name> +.synonym <name> command suffix +.synonym command suffix <name> +.template += |~.name;| Suffix + +~include common_info; + +~.comment; + +A suffix can be affixed to certain math commands to specify +how limits are to be set. +---- +For more information, try |~.facility; suffixes|. + +// Titles + +.phrase titles titles +.synonym heads +.synonym adjustments +.synonym head adjustments +.synonym title adjustments +.template += Titles and Their Adjustment + +A *title* or *head* appears in various ZzTeX commands, including +hierarchy commands such as |\chapter| and |\section|, captions, +enunciations, etc. Each of these commands takes an argument that +specifies the text of the title. + +| \chapter{*title-text*} + +The title text can appear in various places: + +* In the body of the text at the position of the |\chapter| command. +* In the running heads or feet of multiple pages. +* In the main table of contents or a "mini-ToC" such as might +appear at the beginning of each chapter. +*. + +Sometimes it is necessary to modify the title slightly when it appears in +these various places. For example, if a title has a footnote, that footnote +does not want to appear in the running head or table of contents. ZzTeX +provides the following commands that can be used within the text of a title +to make such adjustments. + +~foreach cmd, command_set; +* |~.cmd;| +~end; +*. + +// Toks registers + +.phrase toks toks registers : text +.synonym toks +.synonym tokens +.synonym token registers +.template += Toks (Token) Registers + +A toks (token) register contains a sequence of TeX tokens (characters, commands, +spaces, etc.) that can specify a text fragment, file name, tag, options +list, etc. + +A toks register is accessed and set as follows: + +| \*name* +| \*name* = {*tokens*} + +Toks registers are never used directly in book files. +---- +For a list of all toks registers, try |~.facility; all toks|.&/ +For information on a particular toks register, try |~.facility; \*name*|. + +.phrase all_toks all toks registers +.synonym all toks +.synonym all token registers +.synonym all tokens +.template += List of Toks (Token) Registers + +This is the list of all toks registers available in ZzTeX. + +&= Register& Description +---- +~foreach reg, reg_table; +& |~.reg;|& ~.reg_table[reg]; +~end; +&. +~include internal_note; +---- +For more information, try |~.facility; toks registers| + +.phrase one_toks <name> +.synonym <name> toks +.synonym toks <name> +.synonym <name> register +.synonym register <name> +.synonym <name> toks register +.synonym toks register <name> + +.synonym <name> token +.synonym token <name> +.synonym <name> token register +.synonym token register <name> +.template += |~.name;| Toks (Token) Register + +~include common_info; + +~.comment; + +Default: |~.default;| + +A toks register contains a sequence of TeX tokens (characters, commands, +spaces, etc.) that can specify a text fragment, file name, tag, options +list, etc. +---- +For more information, try |~.facility; toks| + +// Style relations + +.phrase style_relations style relations +.synonym relations +.synonym font relations +.synonym type relations +.template += Style Relation Commands + +A style relation is a command that selects a new type style for +its argument text based on the prevailing type style. The argument text +is set in the new style and then the prevailing style continues. +For example, + +| *...* a set of \emph{dependencies} on parent structures *...* + +might typeset the text as + +& *...* a set of *dependencies* on parent structures *...* +&. + +Style relation commands are used instead of the underlying type +style declarations (e.g., |\it|) for various reasons, the most +important one being that the style change is restricted to the +argument text. + +Here is a list of the relation commands available for the ~.project; +book. For more details about a particular relation, try |~.facility; +\*name*|. + +&= Relation& Where defined +---- +~foreach rel, relation_table; +& |~.rel;|& ~.relation_table[rel]; +~end; +&. + +*Note:* The |\mono| command is used like a relation, but it is +actually just a normal command. +---- +~include command_info; + +// (Assumes that the 'one_command' group will also be populated.) +.phrase one_style_relation relation <name> +.synonym <name> relation +.synonym <name> font relation +.synonym <name> style relation +.synonym <name> type relation +.synonym font relation <name> +.synonym style relation <name> +.synonym type relation <name> +.template += |~.name;| Style Relation Command + +~include common_info; + +~.comment; + +A style relation is a command that selects a new type style for +its argument based on the prevailing type style. The argument text +is set in the new style and then the prevailing style continues. + +Here is a table of all the relationships established by this command. + +&= Prevailing& & New +&= style& & style +---- +~foreach sty, style_map; +& ~.sty;& ⇒& ~.style_map[sty]; +~end; +&. +---- +For more information on style relations and a list of all available +relations, try |~.facility; style relations|.&/ +~include command_info; + +// Tags + +.phrase tags tags : text +.template += Tags + +A tag is a TeX name that is used to store information about a particular +spot in a book. You can tag a spot using the |\tag| command. + + \section{All About Tags} + \tag{S:about-tags} + +The following information is associated with the tag |S:about-tags|: + +* The page number on which the tag is defined. + +* The composite number text of the enclosing element (in the above example, +the section number). + +* The title or caption of the enclosing element. +*. + +The following cross-referencing commands can be used to typeset the +information asociated with a tag: + +& |\ref{*tag*}|& Set the composite number text. +& |\refpage{*tag*}|& Set the page number. +& |\reftitle{*tag*}|& Set the title (rarely used). +&. + +If the |\tag| command is used at a point in the text where there is +no surrounding taggable element, an error message is produced. In this +situation, if you only want to reference the page number, use the |\tagpageonly| +command instead. + +== Tag Names + +If you need to add a tag to a book, please follow the naming conventions +chosen by the author. If the author was haphazard, use the following +prefixes on tags of various kinds: + +&= Prefix& Meaning +---- +& |A:|& appendix +& |C:|& chapter or quasichapter +& |E:|& equation +& |F:|& figure +& |I:|& list item +& |P:|& page number of arbitrary text (with |\tagpageonly|) +& |S:|& section, subsection, etc. +& |T:|& table +& |X:|& exercise +&. + +Tags names beginning with |z*X*:|, where *X* is a capital letter, are +internal to ZzTeX. For a description of these internal tags, +try |~.facility; internal tags|. +---- +To obtain a list of all the tags in the ~.project; book, try +|~.facility; all tags|. + +.phrase internal_tags internal tags : text +.template += Internal Tags + +Here is a list of all the internal tags used by ZzTeX. + +&= Tag prefix& Usage +---- +& |zB:|& Bibliographic entry information. +& |zE:|& Page number of frame element. +& |zF:|& Page number of float element. +& |zH:|& Error message help text. +& |zM:|& Page number of marginnote element. +& |zP:|& Page number of proofnote element. +& |zR:|& Page number of marginrule element. +& |zS:|& Composite cross-reference snapshot information. +&. +---- +For a description of tags in general, try |~.facility; tags|. + +// Type styles + +.phrase type_styles type styles +.synonym styles +.synonym font styles +.template += Type Styles + +A type style is a declaration that establishes the current style for +text (e.g., roman, italic). As with all declarations, it pertains only +to the following text in the current brace group. + +Type styles are rarely used directly in book files. Instead, the current +style is established using a style relation command such as |\emph| or +|\bold|. To see a list of all the relation commands, try |~.facility; +type relations|. To see a list for a particular style, along with +information about that style, try |~.facility; \*style*|. + +Here are all the type styles available for the ~.project; book. +&= & & Family& Family& Usable +&= Style& Encoding& number& name& in math? +---- +~foreach fam, family_list; +& |~.style_list[fam];|& |~.encoding_list[fam];|& ~.fam;& |~.family_list[fam];|& +~.math_list[fam]; +~end; +&. +---- +For information on encodings, try |~.facility; encodings|.&/ +~include declaration_info; + +// (Assumes that the 'one_declaration' group will also be populated.) +.phrase one_type_style type style <name> +.synonym <name> style +.synonym style <name> +.synonym <name> font style +.synonym font style <name> +.template += |~.name;| Type Style Declaration + +~include common_info; + +~.comment; + +A type style is a declaration that establishes the current style for +text (e.g., roman, italic). Instead of using the style declaration, +you should use a style relation command. Here are the style relations +pertinent to this style. + +&= Current style& Relation& New style +---- +~foreach rel, new_style; +& |~.name;|& |~.rel;|& |~.new_style[rel];| +~end; +&. +---- +For more information on type styles, try |~.facility; type styles|&/ +For more information on type relations, try |~.facility; type relations| + +// Type sizes + +.phrase type_sizes type sizes : text +.synonym sizes +.synonym font sizes +.template += Type Sizes + +A type size is a declaration that establishes the current size +for text. As with all declarations, it pertains only +to the following text in the current brace group. + +When a type size is established, there is no current style +for the subsequent text. You must also establish a style +after establishing a size. + + {\footnotesize\it That '\it' command was necessary + to establish the style.} + +Type sizes are rarely used directly in book files. Instead, the +surrounding element (typically a block) establishes the size +for the text in that element. The main text size is always called +|\textsize|. +---- +To see a list of all the available type sizes, try |~.facility; all sizes|.&/ +To see the details of a particular size, try |~.facility; \*name*|. + +.phrase all_type_sizes all type sizes +.synonym all sizes +.synonym all font sizes +.template += List of Type Sizes + +This is the list of all type sizes available in the ~.project; book. + +&= Size declaration& Available styles +---- +~foreach size, style_table; +& |~.size;|& |~.style_table[size];| +~end; +&. +---- +For more information, try |~.facility; type sizes|.&/ +To see the details of a particular size, try |~.facility; \*name*|. + +// (Assumes that the 'one_declaration' group will also be populated.) +.phrase one_type_size size <name> +.synonym <name> size +.synonym <name> type size +.synonym type size <name> +.synonym <name> font size +.synonym font size <name> +.template += |~.name;| Type Size Declaration + +~include common_info; + +~.comment; + +A type size is a declaration that establishes the current size +for text. As with all declarations, it pertains only +to the following text in the current brace group. + +Here is a list of all the type styles available in |~.name;|. + +&= & Can use& Can use +&= Style& in math?& in scripts?& Family, style, size +---- +~foreach i, style_list; +& |~.style_list[i];|& ~.math_list[i];& ~.script_list[i];& ~.font_list[i]; +~end; +&. +---- +For more information on type sizes, try |~.facility; type sizes|.&/ +To see a list of all the available type sizes, try |~.facility; all sizes|. + +// Composite Cross-Reference Phrases +// --------- --------------- ------- + + +.phrase all_art_files all art files +.synonym art files +.template += List of All Art Files for ~.project; + +This is a list of all the art files used in ~.project;, in order +by file name. + +Count: ~.*div_table; + +&= Division& Page& File& Size at scale& Reused? +---- +~foreach file, div_table; +& ~.div_table[file];& ~.page_table[file];& ~.file;& ~.size_table[file];& ~.reused_table[file]; +~end; +&. +---- +For a list of just the missing art files, try |~.facility; missing art files|. + +.phrase all_biblio_entries all bibliography entries +.synonym all bibliography tags +.synonym bibliography entry list +.synonym bibliography entries +.template += List of All Bibliography Entries for ~.project; + +This is a list of all the bibliography entries in the ~.project; +bibliography, in order by tag. + +Count: ~.*page_table; + +&= Page& Tag& Author& Year +---- +~foreach tag, page_table; +& ~.page_table[tag];& |~.tag;|& ~.author_table[tag];& ~.year_table[tag]; +~end; +&. + +.phrase all_tags all tags +.synonym tag list +.template += List of All Tags for ~.project; + +This is a list of all the tags used in ~.project;, +in order by tag name. +(This list does not include bibliography entry tags.) + +Count: ~.*comp_table; + +&= Tag& Comp. Text& Division& Page +---- +~foreach tag, comp_table; +& |~.tag;|& ~.comp_table[tag];& ~.div_table[tag];& ~.page_table[tag]; +~end; +&. + +Tags beginning with |\z*X*:| are internal to ZzTeX. For a description +of those tags, try |~.facility; internal tags|.&/ +---- +For a list of all the bibliography entry tags, try |~.facility; +all biblio tags|. + +.phrase book_info book information : text +.template += Book Information + +~.facility; can show you all kinds of information about the +~.project; project. + +& |~.facility;| command words& Report produced +---- +& |overview|& Overview of the book and its design. +& |all art files|& List of all art files. +& |all biblio entries|& List of all bibliography entries. +& |all tags|& List of all tags. +& |cleanup report|& Report about cleanup of files. +& |contents|& High-level table of contents. +& |design report|& Report of elements with explanatory comments. +& |duplicate tags|& List of duplicate tags. +& |library|& List of documentation files in ZzTeX directory. +& |missing art files|& List of missing art files. +& |printer report|& Report to accompany final printer PDF. +& |proofnote list|& List of outstanding proofnotes. +& |to-do list|& List of outstanding to-dos. +& |undefined tags|& List of undefined tags. +&. + +.phrase contents contents +.synonym table of contents +.template += Table of Contents for ~.project; + +~foreach i, page_list; +& ~.page_list[i];& ~.comp_list[i];& ~.title_list[i]; +~end; +&. + +.phrase design_report design report +.synonym compositor's design report +.template += Design Report for ~.project; + +~include title_author_publisher_isbn; +&. + +== Summary of Design + +~include design_summary; + +Every project starts with a cleanup of the text files. +Try |~.facility; cleanup report| for a description of +the cleanup of ~.project;. + +== Documented Elements + +The following sections present the book design elements that +have specific documentation in the main design file ~.zzd_file;. +It is a good idea to review these elements at the start of a project. + +~foreach i, head_list; +~if not empty? head_list[i]; +=== ~.head_list[i]; +~fi; + +★&_~.usage_list[i]; + +~if value? style_list[i]; +& Style: ~.style_list[i]; +&. +~fi; + +~.comment_list[i]; +~end; + +.phrase duplicate_tags duplicate tags +.synonym duplicate tags list +.template += List of Duplicate Tags for ~.project; + +This is a list of all the duplicate tags in the ~.project; book. + +Count: ~.*comp_table; + +&= Tag& Comp. Texts& Divisions& Pages +---- +~foreach tag, comp_table; +& |~.tag;|& ~.comp_table[tag];& ~.div_table[tag];& ~.page_table[tag]; +~end; +&. +---- +To see a list of all the tags, try |~.facility; all tags|. + +.phrase library library +.synonym documentation +.template += ZzTeX Documentation library + +The following text documents are available in the ZzTeX directory. +They present details about various facilities in ZzTeX. + +&= Document& Topic +---- +~foreach file, title_table; +& ~.file;& ~.title_table[file]; +~end; +&. + +.phrase missing_art_files missing art files +.synonym missing art +.template += List of Missing Art Files for ~.project; + +This is a list of the missing art files used in ~.project;, in order +by file name. An art file is missing if there is an |\art| command +for it but it does not exist in the art directory. + +Count: ~.*div_table; + +&= Division& Page& File& Size at scale& Reused? +---- +~foreach file, div_table; +& ~.div_table[file];& ~.page_table[file];& ~.file;& ~.size_table[file];& ~.reused_table[file]; +~end; +&. +---- +For a list of all the art files, try |~.facility; all art files|. + +.phrase printer_report printer report +.template += Printer Report for ~.project; + +~include title_author_publisher_isbn; +& &` +& Trim:& ~.trimwidth; × ~.trimheight; +& Head&`margin:& ~.headmargin; +& Gutter:& ~.eveninnermargin; +& &` +& Fonts:& All embedded and subsetted at 100% +& Art:& All embedded +&. + +&` + +---- +Black: For 2-color books, please set Overprint Black as the default. +---- + +&` + +Paul C. Anagnostopoulos&/ +Windfall Software&/ +978 371-2316&/ +paul@windfall.com + +&` + += Pagination + +~foreach i, page_list; +& ~.page_list[i];& ~.comp_list[i];& ~.title_list[i]; +~end; +&. + +.phrase-dups project_overview <project> +.synonym book +.synonym overview +.synonym project +.synonym book overview +.synonym project overview +.template += ~.project; Overview + +~include title_author_publisher_isbn; +& &` +& Processed:& ~.date; ~.time; +& ZzTeX&`version:& v~.zztex_version; +& &` +& Art&`root:& ~.art_root; +& Placing&`art?& ~.place_art; +& PDF&`hyperlinks?& ~.hyperlinks; +& &` +& Proof&`ident:& ~.proof; +& Compositor:& ~.compositor; +& Company:& ~.company; +&. + +== Summary of Design + +~include design_summary; +---- +~.facility; can present all sorts of information about this project. +Try |~.facility; book info|. + +.phrase proofnote_list proofnote list +.synonym all proofnotes +.template += List of All Proofnotes for ~.project; + +This is a list of all the outstanding proofnotes in the ~.project; +files. + +Count: ~.*div_list; + +&= Division& Page& Note +---- +~foreach i, div_list; +& ~.div_list[i];& ~.page_list[i];& ~.note_list[i]; +~end; +&. + +.phrase todo_list to-dos +.synonym todos +.synonym to-do list +.synonym todo list +.synonym all to-dos +.synonym all todos +.template += List of All To-Dos for ~.project; + +This is a list of all the outstanding to-do notes in the ~.project; +files. + +Count: ~.*div_list; + +&= Division& Page& Note +---- +~foreach i, div_list; +& ~.div_list[i];& ~.page_list[i];& ~.note_list[i]; +~end; +&. +---- + +.phrase undefined_tags undefined tags +.synonym undefined tags list +.template += List of Undefined Tags for ~.project; + +This is a list of all the undefined tags in the ~.project; files. + +Count: ~.*div_table; + +&= & First& First +&= Tag& Division& Page& References +---- +~foreach tag, div_table; +& |~.tag;|& ~.div_table[tag];& ~.page_table[tag];& ~.refs_table[tag]; +~end; +&. +---- +To see a list of all the tags, try |~.facility; all tags|. + +// Footnotes +// --------- + + +.footnote defineenunciation_enunciation \defineenunciation one_command +.footnote defineenunciation_enunciation \title one_marker +.footnote defineenunciation_enunciation \attributiontypecase one_command +.footnote defineenunciation_enunciation \defineeoedingbat one_command +.template defineenunciation_enunciation +For a complete description of this item, try |~.facility; \enunciation|. + +.footnote definelocator_locators \definelocator one_command +.footnote definelocator_locators \definelocatorformat one_command +.footnote definelocator_locators \generateindex one_command +.footnote definelocator_locators \indexentry one_command +.footnote definelocator_locators \alphabreak one_command +.template definelocator_locators +~include indexing_info; + +.footnote hat_zmhat \hat one_named_char +.template hat_zmhat +*Note:* When used in math mode, |\hat| is a synonym for |\zmhat| +and produces a hat accent over its argument. + +.footnote space_spacing space one_character +.template space_spacing +If you are looking for information on spacing commands, +try |~.facility; spacing|. + +.footnote proofnote_note_list \proofnote one_block +.template proofnote_note_list +If you are looking for a list of the outstanding proofnotes +for the ~.project; project, try |~.facility; proofnote list|. + +.footnote text_math_text \text one_block +.template text_math_text +If you are looking for information on the \text command that +is used in math, try |~.facility; math \text|. + +.footnote tilde_zmtilde \tilde one_named_char +.template tilde_zmtilde +*Note:* When used in math mode, |\tilde| is a synonym for |\zmtilde| +and produces a tilde accent over its argument. + +.footnote toc_contents \toc one_block +.template toc_contents +If you are looking for a table of contents for ~.project;, +try |~.facility; contents|. + +.footnote zmhat_hat \zmhat one_math_accent +.template zmhat_hat +*Note:* This is the internal accent command. Use |\hat| in book files. + +.footnote zmtilde_tilde \zmtilde one_math_accent +.template zmtilde_tilde +*Note:* This is the internal accent command. Use |\tilde| in book files. + +// Included Templates +// -------- --------- + + +.template command_line_chars +Some characters are difficult or impossible to type on the 4NT/Take +Command command line. For an explanation of how to enter them, +try |~.facility; command line|. + +.template common_info +& What it is:& ~.class; +& Where it is:& ~.where; +& Attributes:& ~.attributes; +~if value? overridden;& Supercedes:& ~.overridden;~fi; +&. + +~if value? usage;Usage: |~.usage;|~fi; + +.template command_info +For information on commands in general, try |~.facility; commands|. + +.template declaration_info +For information on declarations in general, try |~.facility; declarations|. + +.template design_info +& Design macro for:& ~.design; +~if value? derived;& Derived from:& |~.derived;|~fi; +~if value? style;& Element style:& |~.style;|~fi; +~if not empty? variant_list;& Affecting variants:& ~ + |~foreach i,variant_list,iter;~,variant_list[i],iter /= 1;~end;|~fi; +&. + +.template design_summary +& Trim:& ~.trimwidth; × ~.trimheight; +& Text measure:& ~.textmeasure; +& Lines per page:& ~.linesperpage; +& For make-up:& ~.linesshort; short, ~.lineslong; long +& Even text margins:& left = ~.evenlefttextmargin;, right = ~.evenrighttextmargin; +& Odd text margins:& left = ~.oddlefttextmargin;, right = ~.oddrighttextmargin; +& Paragraph indent:& ~.parindent; +&. + +.template gory_details +To see more details about the design, try |~.facility; ~.name; details|. + +.template indexing_info +For a complete description of the ZzTeX indexing facility, +try |~.facility; indexing|. + +.template internal_note +(Note that names containing at-signs or beginning with 'z' are internal.) + +.template math_class_info +For more information on math classes, try |~.facility; math classes|. + +.template title_author_publisher_isbn +& Title:& *~.title;* +~foreach i,author,iter; +& ~if iter = 1;Author:~fi;& ~.author[i]; +~end; +& Publisher:& ~.publisher; +& ISBN:& ~.isbn; + +.include zzdetails.dat +.end |