DBT Codes Quick Reference

1995-2021 Duxbury Systems, Inc., All Rights Reserved.

Contents

This topic provides brief descriptions of DBT's translation and formatting codes (formerly called "dollar codes"), as well as other codes that solve special problems. The codes are presented alphabetically in the table below.

Often the easiest way to find a code in this topic is to use the Find dialog opened by pressing the Ctrl+F keys. Include the open square bracket in your search to insure you find the code itself instead of other text. E.g., searching for [lea finds the first appearance of the "lea" code in the table. Then you can find additional references using the Previous and Next buttons. Without the open square bracket your search will find every instance of the letters "lea".

The sections of this topic are as follows:

DBT Codes, Alphabetical

Special Print-Text Codes

Notes on General Code Syntax

Notes on Margin Treatment

The information on the correspondence of braille file characters to dot patterns, formerly included here, is now in a separate topic: Embosser Character Table.

For information on handling codes in DBT, see the Layout Menu and Finding and Replacing Codes.

General DBT Codes, Alphabetical

Back to Contents

DBT codes are shown in brackets, e.g. [p], corresponding to the coded view in DBT. (Brackets replace the old "dollar codes" format, $p which gave these codes their original name.) To get familiar with the symbols used for the parameters of DBT codes, please see the section, Notes on General Code Syntax.

Note: Codes listed as synonyms for other codes are generally not included in DBT's Layout menu, but are nevertheless allowed for compatibility with older text files, usually for languages other than English.

Click on a letter below to go directly to that alphabetical section. To return here, click the Back button at the top of the Help window or press the backspace key.

A B C D E F G H I K L M N O P Q R S T U V W X Y

Table of Available DBT Codes
CODE & DESCRIPTION

[#S] – Align next word or group per tab stop S. E.g. [#3]word tabs "word" according to the current setting for stop 3. (See [ctb] & [stb] for clearing and setting stops.)

[#S:F~X] – Align next word or group per tab stop S with intervening fill type F, character X. E.g. [#3:p~"]word tabs "word" per stop 3, with partial fill using fill character (") (in braille, dot 5).

[/] – Translation code, to prevent contractions straddling the code. E.g. line[/]age would assure that no "ea" contraction is used in the word lineage, as appropriate when the word has the unusual meaning "quantity of lines".

['] – Hard-space code. This code displays as a space, but acts like a non-space character (usually to keep 2 words together on a line). It can also be used to force multiple spaces between words in braille (where multiple spaces are usually suppressed), to insure an attribute indicator remains on the same line as the word it governs, etc.
[-] – Assisted-hyphenation code. This code tells the formatter that, if necessary, the word may be broken at that point to hyphenate at the end of line, e.g., longi[-]tude. This code is not recommended for frequent use, as it must not be used in the midst of or abutting contractions affected by hyphenation. However, it can be useful for better format treatment in the case of exceedingly long words.

[:] – Start word group to be treated as one (for alignment). E.g. [fr][:]several words[;] will set "several words" flush right on the line.

[;] – End word group to be treated as one (for alignment). See [:] (above)

[<] – Force new line (hard return); similar in effect to [sl1] and [hl]. See [ki] regarding interruption of a protected block.

[>] – Tab to next stop, according to its alignment. E.g. [>]word tabs "word" according to the setting for the next tab stop to the right on the current line.

[ab] – Equivalent to [g2] (French "abrégé")

[ah] or [ahyN] – translation code that sets the level whereby assisted-hyphenation codes [q.v.] are automatically incorporated into the braille during the process of translation from print to braille. Generally, [ahy0] means to turn off the feature, so that no assisted-hyphenation codes are added. [ahy] is generally equivalent to [ahy1] and means that the feature should be turned on. In those tables that incorporate the feature, the default (initial) condition is that the feature is turned on. Relatively few translation tables support this feature, however; consult the documentation for the table in use to see if it is supported. (If there is no mention, it is not supported.)
[amhh...][ammh1] (or just [ammh]) declares that "always in math, hyphens are hyphens" – i.e. it causes hyphen-minus to be treated as a hyphen even in math. [ammh0] restores the default treatment, i.e. hyphens within math are treated as minus sign. As usual, these commands may be used freely anywhere within a file (and in styles) to affect subsequent text. (Note: the unambiguous hyphen (U+2010) and minus sign (U+2212) are not affected by this change. As before, they are always interpreted per their Unicode definition regardless of context.)
[amspN][This Code is no longer used from DBT 11.3]
Unified English Braille Tables only. This is intended to allow optional spacing of certain signs in mathematical context. The syntax is:
[amsp1] = space around signs of comparison only.
[amsp3] = space around signs of comparison and signs of operation.
[amsp0] or [amsp] = restore normal default (no artificial spacing)
(Level 2 is not presently defined.)
When artificial spacing is in effect, spaces are added ONLY in math technical notation (that is, only inside [ts]...[te] command pairs), which are typically treated as grade 1 passages, and ONLY when there is no space from another source (either in the original text or artificially added for the previous sign) on either side of the sign in question.
[as-is]– Puts the formatter into a mode that preserves all the spaces that appear in the following text until it encounters a [compress] code. Note: this code does not have any effect if placed inside a style definition. It must be input directly. (See [compress])

[atxN]Note: This code is supported only in Pre-UEB translator tables to control the interpretation of special print-text codes, which themselves are supported only Pre-UEB.

Using [atx1] initiates a mode wherein all ordinary (printable) ASCII characters are treated as literal text, even characters that are defined as "special print-text codes" for the translation table in use. An example of such a control is the two-character sequence &+, which forces a "letter sign" when certain Pre-UEB tables are in use. To enable such codes, [atx0] turns on the mode wherein the print-text codes defined for the table in use are recognized and processed as such. Again, [atxN] is not relevant for those tables in which there are no special in-text controls defined. (Click here to see the list of special print-text controls)

[bar] – Translation code, providing a short way to signal that the previous letter or digit has a "bar" over it. See also the [bolim] and [bulim] codes. Note that more generally [e]...[os][oe] can be used for "bar" over any expression, e.g. [e]x+y[os][oe] would mean a bar over the entire expression "x+y". (Note: The "―" symbol shown above is a Horizontal Bar - Unicode U+2015 - DUSCI designation D+ec45)

[be] – Base/subscript end; see [bs].

[big] – designates a following sign of enclosure, such as a parenthesis or bracket, as being large, e.g. spanning several lines. This is typically used in technical (e.g. math) text, and only in certain translation tables; otherwise it is ignored.

[bline] – Translation code, used in Nemeth code only, where it is necessary to force inclusion of a baseline/multipurpose indicator (dot 5). (Most such indicators are produced automatically in translation.) See also [tcs] and [ts].

[bolim] – Translation code, used for "lim" with bar over (upper limit).

[bs] – Translation code, to mark the beginning of a base or subscript level. The [bs] ... [be] pair may include any expression, including further levels of subscripts; i.e. the codes may be nested. E.g. log[bs]2[be] x[bs]i[be] means "log to the base 2 of x sub i". See also [tcs] and [ts].

[bsfe] – Translation code (British tables only); terminates [bsfs]...

[bsfs] is a translation code, presently applicable only in the British tables, which can be used to begin the name of a special math function, in the case of uncommon functions that are not directly recognized (most are recognized). For example, [bsfs]tr[bsfe](x) would cause the "tr" in "tr(x)" to be treated as a function name rather than the product of t and r.

[bulim] – Translation code, used for "lim" with bar under (lower limit).

[cap-invert] – Translation code applicable only in computer notation to be transcribed according to BANA Computer Braille Code (CBC); causes "inverted" treatment of capitals (i.e. lowercase is indicated, uppercase is not).

[cap-normal] – Reverses the effect of [cap-invert] (see above).

[caplvN] – Translation code to determine whether capital letters are to be shown in braille and if so, under what circumstances. This code is applicable to certain tables only; the documentation for the particular table within the translation tables usage guide should be consulted as to what values of N are valid, and their meanings.

[caplv1] – Suppress capitals except in technical notation (math) and BCN computerese)

[caplv3] – Use capitals everywhere – which is the default, that is initial, condition.
These are actually effective only when using "British with capitals" translation table selection; "- without capitals" suppresses all capitals in all notations regardless of the "caplv" setting.

[cb] – Translation code; when supported by a particular translation table, this coded marks the start of text that is to be transcribed into a form of computer notation. The might include CBC (for BANA rules), British Computer Braille, or French Computer Braille. The computer notation is terminated either a [tx] or [cz] code (each of which initiates a different form of translation. See also [cbi] and [cbn].

[cb-&] – Translation code applicable only in computer notation to be transcribed according to BANA Computer Braille Code (CBC) (as is true of all the [cb-...] codes following in this list). Explicitly inserts a CBC "continuation indicator" into the braille. (See also the [wb-cb] for a more automatic, hence generally better way to provide for continuation indicators.)

[cb-de] – Translation code similar to [cb-&] above; explicitly inserts ending indicator for CBC "halfline down" mode.

[cb-ds] – Translation code similar to [cb-&] above; explicitly inserts starting indicator for CBC "halfline down" mode.

[cb-ee] – Translation code similar to [cb-&] above; explicitly inserts ending indicator for CBC "emphasized" mode.

[cb-es] – Translation code similar to [cb-&] above; explicitly inserts starting indicator for CBC "emphasized" mode.

[cb-ne] – Translation code similar to [cb-&] above; explicitly inserts ending indicator for CBC "Nemeth" mode.

[cb-ns] – Translation code similar to [cb-&] above; explicitly inserts starting indicator for CBC "Nemeth" mode.

[cb-se] – Translation code similar to [cb-&] above; explicitly inserts ending indicator for CBC "shape" mode.

[cb-ss] – Translation code similar to [cb-&] above; explicitly inserts starting indicator for CBC "shape" mode.

[cb-t1] – Translation code similar to [cb-&] above; explicitly inserts CBC "transcriber's primary option symbol".

[cb-t2] – Translation code similar to [cb-&] above; explicitly inserts CBC "transcriber's secondary option symbol".

[cb-ue] – Translation code similar to [cb-&] above; explicitly inserts ending indicator for CBC "halfline up" mode.

[cb-us] – Translation code similar to [cb-&] above; explicitly inserts starting indicator for CBC "halfline up" mode.

[cbi] – Translation code, a variant of [cb], which has the same effect and also unconditionally puts the CBC start-CBC indicator into the braille.

[cbn] – Translation code, a variant of [cb], which has the same effect and also unconditionally will NOT put the CBC start-CBC indicator into the braille.

[compress] – Ends the effect of the [as-is] code. It returns the formatter to the normal mode in which it eliminates extra spaces from the translated document. Note: this code does not have any effect if placed inside a style definition. It must be input directly. (see [as-is])

[cpN] – (Conditional Page Eject) Position on new line (if necessary), then eject page if fewer than N+1 lines remain. E.g. [cp4] would start a new page if fewer than 5 blank lines remained, and otherwise would be equivalent to [l].

[cpN:L] – Eject to new page under the same conditions as [cpN], and otherwise skip L lines. E.g. [cp4:1].

[cs] – Translation code applicable only in computer notation to be transcribed according to BANA Computer Braille Code (CBC); causes explicitly indicated "countable spaces" to be used where appropriate (i.e. where long sequences of spaces occur) in computer notation.

[cs-off] – Reverses the effect of [cs]. (see above).

[ctb] – Clear all tab stop settings (usually prior to a series of [stb...] settings). E.g. [ctb][stb1:l:5][stb2:d:22] would clear tabs, then set stop 1 for left alignment at position 5 and stop 2 for decimal alignment at position 22.

[cz] – Translation code, initiates material already directly in braille (North American ASCII braille code), sometimes also called "computer grade 0" braille. See also [tx] and [cb], which initiate alternate modes, terminating the effect of [cz]; and also [d...] and [q...] for other ways of setting short braille sequences directly.

[d~W] – Set word W directly (unchanged) in output, followed by space. May be used for forcing braille. E.g. [d~,8x0'] would set ",8x0'" (braille dots 6,2-3-6,1-3-4-6,3-5-6,3). See also [q...] (which is now generally preferred).

[e] – Translation code, to mark the beginning of an expression modified by a directly-under subscript expression and/or a directly-over superscript expression. Note: when the same base expression is affected by both directly-under and directly-over indices, the former should be given first. E.g. [e]Σ[us]i = 1[ue][os]n[oe]x[bs]i[be] means "the sum (signified by a capital Greek sigma) from i = 1 to n of x sub i". See also [tcs] and [ts]. (Note: A Greek capital Sigma "Σ" is used above - Unicode designation U+03a3 - DUSCI D+e253)

[ecane] – End of cancelled expression; see [ecans].

[ecans] – Translation code, to mark the beginning of a cancelled expression. E.g. [ecans]x+1[ecane] signifies that the expression x+1 is shown as cancelled, i.e. has a line through it. See also [tcs] and [ts].

[ee~E] – End text element (style) E. See [es...].

[enclis] – Translation code, used in Nemeth code only, to signify that a list of items qualifies as an "enclosed list" and therefore is to be translated in the more efficient manner reserved for such lists. See Nemeth manual for a full definition of such lists. This code is placed before the opening enclosure symbol (e.g. left parenthesis) that starts the list. E.g. [enclis](a, a+1, ...) signifies that the entire list meets the definition of an "enclosed list". See also [tcs] and [ts].

[eng] – Translation code, initiate English text (in Swahili tables only). See [lng~...] and [swa].

[eqvn] – Translation code, used primarily in Nemeth code, to signify that a letter stands for a digit when it occurs first in a number. E.g. [eqvn]t2e4 signifies that the t stands for a digit, e.g. 3. See also [tcs] and [ts].

[es~E] – Start text element (style) E. E.g. [es~h1.]A Heading[ee~h1.] would mark the text "A Heading" as an element of type "h1.".

[evb] – Translation code, to stand in for an extended vertical bar, as in a matrix (not to be confused with the ASCII vertical bar, which is an ordinary character). The code is repeated on each line as necessary, aligned with those above and below that form a single vertical line. See also [tcs] and [ts].

[fe] – End of fraction; see [fs].

[fl] – Line within fraction; see [fs].

[fls] – "Slanted" fraction line. It is therefore an alternative to the more common [fl] used for a horizontal fraction line, and would typically appear within a [fs] ... [fls] ... [fe] sequence. Note that a slanted fraction line and an ordinary text slash (/) are not the same thing: in a true fraction, even with a slanted fraction line, the numerator is written on a higher text level relative to the denominator, whereas the text on both sides of an ordinary slash is typically at the same level.

[fl-lifg] – Translation code, initiates mode in which grade 1 is presumed to be Latin, Italian, French or German text (in American tables only). Allowed for historical compatibility; see [lng~...] for currently preferred way to switch languages. See also [fl-span] and [fl-none].

[fl-none] – Translation code, initiates mode in which grade 1 carries no presumption as to language. (This is now the normal mode.) See also [fl-span] and [fl-lifg], which are cancelled by this code.

[fl-span] – Translation code, initiates mode in which grade 1 is presumed to be Spanish (in American tables only). Allowed for historical compatibility; see [lng~...] for currently preferred way to switch languages. See also [fl-lifg] and [fl-none].

[foldsN~X] – Set up for N fold lines, that is lines that will be skipped in the braille to permit folding of the sheet, for example to mail as a letter. The default for N is 2. X is an optional fill or score character. i.e. 3 will produce dots 2 & 5 [folds2~3] will result it 2 fold lines or dots 2 & 5. The ~x parameter may be omitted if preferred.

[fr] – Align next word or group flush-right on line (ignoring any right margin). See [:].

[fr;F~X] – Align flush-right, with intervening fill type F using fill character X. If X comprises two characters, the first is used for braille, and the second for print; otherwise character X is used for both media. E.g. [fr;p~".]word would set "word" flush right on the line, with partial fill (i.e. a space at each end of the fill) consisting of (") (braille dot 5) in the braille, and "." in the print.

[fs] – Translation code, to mark the beginning of a fraction. E.g. [fs]x+1[fl]b[fe] means the fraction whose numerator is x+1 and whose denominator is b. See also [tcs] and [ts].

[fte~X] – font/typeform end; see [fts~X].

[fts~X] – font/typeform start – This translation code allows you to identify letters, words, or phrases that employ specific font attributes, such as italic or bold, or other print emphasis techniques, such as colored text or text highlighting. The codes are used in pairs, e.g., [fts~i]emphasized text[fte~i].

Collectively, these emphasis techniques are called "typeforms". Typeforms are important for braille when needed to convey a meaning, such as identifying the terms that appear in a glossary. They are also important in an educational setting to help a student locate specific text, e.g., a teacher might direct attention to a word in bold. The typeform (attribute X) is indicated by one of the letters: b, i, u, s, where b = bold, i = italic, u = underlined, s = script (as in the script fonts used in mathematics; this option is only recognized in the Pre-UEB English/American table).

For UEB and some other "unified" translator tables {as of DBT 12.2}, the s (script) typeform is supported. Furthermore, the numbers: 1 – 5 represent transcriber-defined typeforms. They convey a customized meaning defined by the transcriber in a note at the beginning of the document, e.g., a transcriber might assign [fts~1] and [fte~1] to yellow highlighted text and so note at the start of the document along with what that typeform signifies. (For more details, see [fts] and [ftlvN] in the "Supported DBT Translation Codes" section of the help topic for your selected translator table.)

[ftlvN] – Translation code to determine whether emphasized text (as marked by [fts~...] ...[fte~...] codes) is to be indicated in braille, and if so, under what circumstances. This code is applicable to certain tables only. The table usage guide should be consulted as to what values of N are valid, and their meanings.

[gN] – Translation code, initiate translation in grade N (N = 1, 1.5 or 2), according to the translation table in use. Grade 2 is normal except for tables designed for uncontracted translation, in which this code is ignored. (See [gNL] regarding "locking")

[gNL] – Translation code to "lock" (L = l) or "unlock" (L = u) the grade of translation in the same manner as the corresponding [gN] code except for the concept of "locking," which works as follows. When a "lock" code is given, any subsequent [gN] or [gNL] code EXCEPT for the exactly corresponding "unlocking" form is ignored. For example, after a [g1l] code, only a [g1u] code "unlocks" the grade (which nevertheless remains in grade 1). These codes are provided so that ordinary [gN] forms may be used for switching levels within styles, yet it is possible to override their effect and, for example, do an entire file in grade 1. These codes are applicable to certain tables only, and the table usage guide should be consulted as to what values of N are valid, and their meanings.

[gd~...] – This code is for inclusion of graphics data. Normally, this command is entered in a file as a result of using DBT's Layout/Picture menu item. It is not practical to enter this command manually, e.g. by the direct code list, because the graphic image information is included with the command as a parameter, and that information is specially coded and usually lengthy. For the same reason, the command parameter is not shown in DBT's coded view.

[hde] – End centered heading. See [hds].

[hds] – Start centered heading, with possible line skip or page eject according to current default settings. (For braille files, this is usually equivalent to [hds1:0]; for print files, to [hds2:1].) E.g. [hds]Some Heading[hde] would cause "Some Heading" to be centered on a new line.

[hdsN] – Start centering, as with [hds], but first eject page if fewer than N+1 blank lines remain.

[hdsN:L] – Start centering, with conditional new page as with [hdsN], but skip L lines (before heading) if no page eject. E.g. [hds3:1]Some Heading[hde]

[hiL:V:R:I:J:K:M:N:O:P] – Hierarchy Initialization – resets the current hierarchy level to 1, the left margin to L, the overflow (runover) margin to V, and the right margin offset to R (defaulting to 1, 1 and 0 respectively). It sets the characteristic increment for each of these margins to I, J, and K respectively. (The increments can be negative, and all default to 0). [hi…] determines the effect of subsequent [hlN] commands, which mark the start of each new hierarchy level and set the margins accordingly. Limits M, N, O and P are optional. If supplied, they work as follows: M sets an upper limit on the number of levels that may be declared; that is, any higher value as a parameter to an [hlN] command is treated as M. Likewise N, O and P set limits on the left and runover margin sites, and right margin indentation amount. If the increment in I, J, or K is positive (increasing indent), the limit in N, O, or P is an upper limit on that indent. If the increment in I, J, or K is negative (decreasing indent), the limit in N, O, or P is a lower limit. For all the limits, M, N, O, and P, a negative value (-1) means there is no limit, hence the default value for all is -1. As an example, [hi1:5:0:2:2] sets up margin treatment for an outline where level 1 items are to start at position 1 and run over to 5, and both of those margins increase by 2 for each higher level, and no limits are imposed. The code [hi] with no parameters is a reset; it returns the hierarchy to level 1 and sets all margins to their normal default positions.

[hiL:V:R:I:J:K:M:N:O:P:Q] – Parameter Q, the 11th parameter on the Hierarchy Initializer code {as of DBT DBT 12.2}, can have the value 0, 1, or 2. The value 0 (the default) indicates that the left margin (L) and runover margin (V) parameters represent exact offsets, i.e. exact positions on the line. That is normal hi operation, therefore if Q is 0 it can be left out. But the other values for Q change the interpretation of the L and V parameters. If the line before the hi code is not blank, the values 1 and 2 both indicate that L and V are calculated as additional indents from the margins used on the prior line. If the line before the hi is blank, however, the value 1 directs the formatter to keep looking back until a non-blank line is found and add the L and V values to the margin positions of that line, whereas, the value 2 indicates that, if the prior line is blank, the formatter is to treat the L and V values as relative to a left margin of 0. If the whole page before the hi code is blank, the value 1 has the same effect as the value 2.

[hiL:V:R:I:J:K:M:N:O:P:Q:S:T:U]{as of DBT 12.2} the optional parameters S, T, and U provide positioning controls in the same manner as the [svprg] code, which sets up paragraph formatting. Parameter S sets the position at which to begin the new paragraph (default 0 for print, 3 for braille). Parameter T sets the number of lines to skip before starting the new paragraph (default 1 for print, 0 for braille). If parameter U is 0 (the default), it indicates that the value S is an absolute position; if 1, it indicates that the value S is relative to the currently established left margin. These parameters come into play in the less common circumstance where a [p] code is used to separate some elements of the hierarchy, for which parameters S and T set the position for the next paragraph, and U indicates whether the position S is relative to the prior element, or an absolute position.

For the common case where the hl code separates items of the hierarchy these parameters are not needed and would be left out, but for certain complex formats, they create the correct alignment of the elements. As one example, these parameters are used in the <Attribution.> style in the UEB BANA template. When this style is invoked, and a [p] code is placed before the second and subsequent paragraphs of an attribution, the S, T, and U parameter values are used to position those extra paragraphs. Of course, these parameters can also be used for hi codes that appear in other styles and for hi entered directly into the document.

[hlN] – Set current hierarchy level to N, and the left, runover and right margin accordingly (see the description of command [hi], above). The default for N is the current level, i.e. [hl] is synonymous with [<]. See [ki] regarding interruption of a protected block.

[htbfmtN:FFF] – Set Table Layout

N = 0 means to use BANA rules for table layouts.

N = 1 means to use RNIB rules.

N = 2+ is reserved for future use.

FFF is a list of formats to try, in the order they should be tried.

FFF might be something like “csl” to try first Columnar format, then Stairstep format, then Listed format. (Implicitly, Linear – or “paragraph” format is always a fallback for “Auto-format” tables; thus, we could specify “cslp” instead of “csl”. The two are functionally equivalent.)

[htbfmt] is generally intended for use within the <initial> style definition, though it could be found anywhere. It applies only to tables that are to be “auto” formatted. If X/Y swap is allowed when more compact, then the FFF sequence is followed independently for the swapped and unswapped cases, and the more compact presentation is chosen. In other words, we might be comparing the size of an unswapped paragraph table to a swapped columnar table to choose the more compact form.

[htbs;1:2:3:4:5:6] – Set Table Properties.

Note: the easy way to set this code is through the Table Properties dialog of the Table menu. Here are the uses of the 6 parameters, in order.

Parameter 1: "r" for "Related Columns" (or "Regular Table" if you prefer), "u" for "Unrelated Columns", "m" for "Matrix".

Parameter 2: number of header rows. For example, if there is a single header row, DBT displays a line of underscores below the top row in the print file, or a leading dot 5, then dots 2 5, under the top row in the braille.

Parameter 3: number of header columns.

Parameter 4: This parameter is currently unused.

Parameter 5: N/n/0 to disallow X/Y swap. Y/y/1 to require it. A/a to allow it (swap if more compact).

Parameter 6: requested layout:
a (or blank) = Automatic
c = Columnar
2 = Two-page
s = Stairstep
l = Listed
p = Linear (The mnemonic is for "Paragraph", which is a misnomer for "Linear".)

[i] – Translation code that initiates grade 1 treatment for the following word only. E.g. In But [i]NOW voted for the proposal. the word NOW will be translated in grade 1 ("intégral" in French), while the surrounding words will be translated according to the prevailing grade. See also [ii] and [g...].

[iN] – Translation code, a generalized form of the [i] code that allows for the opposite effect. N = 1 is synonymous with an ordinary [i], that is, it marks the following word as to be translated in grade 1. N = 0 means that the following word is to be translated according to the prevailing grade, that is NOT to be forcibly translated in grade 1, even though the general logic may otherwise cause that effect. For example, words in contracted French that end in the letters "tz" are normally forced to grade 1 (and marked as such) because that combination would be read back as "tez". However, certain words regarded as commonly recognizable are exempted from this rule and can be forced to be treated normally by prefixing the [i0] code – for example, [i0]chintz would be treated normally (with "ch" and "in" contractions) in contracted French. These codes are applicable to certain tables only; consult the table usage guide as to whether they are available.

[idle] – With no parameters [idle] is a placeholder that has no effect on translation or formatting. It can appear in DBT files from its use in DBT internal processing. In back translation, it marks symbols that have no print equivalent: [idle~{{symbol}}]. In document import, it carries analysis done by one step of the importer to deliver it to the next step and sometimes into DBT. Inside DBT, [idle~X] codes are used to obtain special results from a translation table. For example, in UEB for certain cases in math, the code [idle~lfs] adds a "left function space" before a mathematical function name.

[ifbrl] – Include next ordinary word or format control in braille output only. E.g. This is [ifprt]print [ifbrl]braille text. would set a sentence describing the type of type of text in which it resides. See also [ifprt]below.

[ifprt] – Include next ordinary word or format control in print output only. E.g. [ifbrl][fr;p~"][ifprt][fr;f~."]123 would set "123" flush right on the line, with intervening space partially filled with dot-5 in the braille and completely filled with "." in the print.

[ii] – Translation code, acts like [i], that is it causes a word to be translated in grade 1, and moreover prefixes an appropriate grade 1 indicator, according to the language (e.g. dots 5-6 in English).

[in] – Equivalent to [g1] (French "integral")

[ind] – Restore left margin to normal, i.e. to the full width for pages in this document; equivalent to [ind0].

[indP] – Position the text following on a new line (if not already on a new line), at position P, and set left margin to P. Example, the sentence, "[ind5]This text goes on a new line." starts at cell (position) 5 on a new line.

[inmP] – Set left margin to position P, but do not alter current position. In the sentence, "Never in the history of the world,[inm5] have so many owed so much to so few" the code sets the margin for the following lines to cell (position) 5, but it does not cause the line to end. After the code, the rest of the current line is filled out and the new margin setting begins with whatever word wraps to the new line.

[ixrtd] – Delimiter between index and root in general indexed root expression; see [ixrts].

[ixrte] – End of general indexed root expression; see [ixrts].

[ixrts~X] – Translation code, used to mark the start of a general indexed root expression, i.e. a root that has an explicit index, such as 3 for a cube root. When there is no index, i.e. the expression is a square root, see [sqrts] instead. E.g. [ixrts]n[ixrtd]x+1[ixrte] means "the nth root of the expression x+1". See also [tcs] and [ts].

[kbeL:M] – End block-protect on a character block basis. This is like [kpeL:M] but without the implied [l]. See [kbs].

[kbs] – Start block-protect on a character block basis. This is like [kps] but without the implied [l]. E.g. The [kbs]protected text ... will be on one[kbe] page.

[kbs1] (note that the numeric parameter 1, not the letter l, follows the "s") – Start block-protect on a character block basis, as for [kbs], but consider the beginning of this actual line (possibly caused by a soft return) to be the beginning of the block. This can be used, for example, to assure that the last line of the last paragraph of the body of a letter is on the same page with the signature block.

[kdtxe]] – "keep-deferred text, end" {as of DBT 12.2, this code is EXPERIMENTAL ONLY and NOT RECOMMENDED for GENERAL USE}. This formatting code is paired with [kdtxs]. It marks the end of a footnote or endnote that must be kept (i.e. deferred) until the page formatter reaches the position in the document where the note should be placed. This pair of codes allows a footnote or endnote to be entered where the reference to it appears in the document. It is recommended to use these codes in a style definition along with whatever other formatting the setting of the footnote or endnote requires. See [kdtxs] and [kdtxp].

[kdtxpN~X] – "keep-deferred text, placement" {as of DBT 12.2, this code is EXPERIMENTAL ONLY and NOT RECOMMENDED for GENERAL USE}. This code shows the page formatter the position in the document where all the notes collected (deferred) thus far must be placed. The parameter X is either the word "footnote" or "endnote" to indicate which list to place. Optional parameter N is a number with the value 0, 1, or 2. The value 0 (or no value) indicates "manual placement," i.e. notes are to be placed at the position where kdtxp appears. Entering [kdtxp0~footnote] or [kdtxp~footnote] puts the current list of footnotes into the document at the current location. The value 1 turns on (enables) automatic "lea" placement. Instead of placing the collected notes where the [kdtxp~X] appears, the formatter looks for the next instance of the [lea] code (the reference document page number) and puts the notes just before the reference page number. The value 2 turns off (disables) automatic "lea" placement, allowing the user to return to manual placement. After each automatic or manual execution of [kdtxp~X] the normal entries in list X are cleared. Only recurring entries remain, to be used again with the new footnotes or endnotes collected before the next execution of [kdtxp]. See also [kdtxs].

[kdtxs~X] – "keep-deferred text, start" {as of DBT 12.2, this code is EXPERIMENTAL ONLY and NOT RECOMMENDED for GENERAL USE}. Use [kdtxs] and [kdtxe] to surround a footnote or endnote. "Deferred" means the page formatter holds the footnote (or endnote) text until instructed to insert it into the document by the note placement command, [kdtxp]. The pair [kdtxs~X] and [kdtxe] make it possible to define the markup and text for a note at the place where the reference to it appears. Parameter X is the word "footnote" or "endnote". An example use might be, "[kdtxs~footnote][l]Oxford English Dictionary, Second Ed., 1997.[l][kdtxe]". Note that kdtxs and kdtxe add no additional formatting. The example adds conditional newline codes [l] to insure that the note stands on its own line. Other formatting codes may likewise be used. We recommend doing all this in style definitions for easier document markup.

The page formatter keeps track of footnotes and endnotes as 2 distinct sets. As a note in either list is encountered, the formatter adds it to the list specified. At the position in the document where the collected list of footnotes or endnotes should appear, enter [kdtxp~footnote] or [kdtxp~endnote], and the list will be placed at that point. (See [kdtxp].)

[kdtxsN~X]– "keep-deferred text, start" {DBT 12.2, EXPERIMENTAL ONLY} most often appears as above, but it can take a numeric parameter (N) with a value of either 0 or 1. The default value 0 (or no value) indicates a normal note entry. The value 1 indicates a recurring entry. Any note defined by [kdtxs1~X] is saved and placed every time the [kdtxp~X] code is invoked. This option allows one to define a footnote separation line to be placed at the start of each new set of footnotes, setting them apart from the main text above them. Code for this purpose can be found in the "initial" style of certain DBT (BANA) templates.

[kiN] – Declares whether [hl] and [<] commands cause "interruption" of a protected (kept) block, i.e. whether there is an implied [kpe] before and [kps] after these commands. N=0 (the default) for no, N=1 for yes.

[kpe] – End keeping text on one page (block protect). There is an implied [l] even if a page break is not necessary. See also [kps].

[kpeL:M] – End keeping text on one page after L lines. That is, an additional L lines are effectively added to the protected block. M may be omitted and defaults to 0, but otherwise must be in the range 0 < M <= L, and in that case any new block-protect beginning within M lines is effectively attached to the current block, so that both are kept together. See also [kps].

[kpfL:M] – Finish all keeping-text blocks on one page after L lines, attaching any new blocks opened within M lines. This is equivalent to giving as many [kpe] commands as may be needed to terminate any [kps] ... blocks opened within the outermost one, and then a [kpeL:M] command. See also [kps].

[kps] – Start keeping text on one page (block protect). There is an implied [l] (new line if necessary), even if a page break is not necessary. E.g. [kps]These[l]three small[l]lines[kpe] will keep the text: "These ... lines" together on the same page.

[l] – Begin a new line if necessary (but do nothing if already on a new line). This is therefore a "conditional" hard return; see also [<], the unconditional hard return.

[lea] – Accept the next word or group as the "reference document page number". (In a braille file, this would be called the "print" or "inkprint" page number.) E.g. [lea]26 would be given at the point in the text where page 26 begins in the reference edition of the document. The command is equivalent to [lea;f~-]. The actual treatment of the page number depends on current default settings. See [svles...].

[lea;F~X] – Accept the "reference document page number" as with [lea], but use variant fill type F and fill character X in the output treatment.

[lec] – Accept the next word or group as the reference document page number for purposes of display on continuation pages only (overriding the setting of the most recent [lea] command). E.g. [lea]123-127 word [lec]127 would accept "123-127" as the reference page number at the point of the reference page break (a form that might be used when reference pages 123-126 are blank), but then, for use on any continuation pages, replace that range with just "127".

[led] – Discontinue using reference page number, i.e. stop showing the reference page number on continuation pages.

[linenum] or [linenumC:A] – This code indicates that the next word following is a line number for line-numbered poetry or prose. The parameters indicate the column for line number placement and the alignment to use at that column. The linenum code needs to be placed in front of the line that it affects.

If a line number comprises more than one word, then the words should be grouped using [:] and [;], e.g., [linenum][:]48 B[;]

[linenum] (without parameters) causes the line number to be placed on the right margin, adjusting that margin automatically to allow space for it. A right margin set implicitly by [linenum] overrides any later attempt on the page to reduce the right margin using the[rm] code, unless both parameters are given, e.g., [rm0:0]. (See [rmN:O].)

Similarly, the automatic margin calculated by linenum overrides the margin for any text that appears earlier on the same page, unless an [rmN:O] code appears before the first linenum on the page.

linenum takes two optional parameters. The first specifies a column for alignment purposes. Here, -1 (negative one) can be used to specify the rightmost cell on the page (whereas, 1 specifies the first, leftmost cell). The second parameter, if specified, should be l, r, or c, to specify left, right, or center alignment on the chosen cell. Note that the parameters control where the line number is placed; they do not affect other text on the line. Without parameters, [linenum] is equivalent to [linenum-1:r], right alignment on the last cell of the line. Alternatively, [linenum1:l] causes the line number to be placed in the first cell, left aligned.

Again, the linenum code should be put at the start of the line to which it refers. Note, too, that it may cause a line break in the text.

If there has been text since the last forced line break, i.e., if the line number comes in the middle or at the end of a "paragraph", then [linenum] behaves similarly to [pm3] (magazine paragraphing), which can cause a gap of 3 cells in the current line to indicate the start of the line marked by linenum. Or, it can result in a line break, so that the line number itself and the text following it will be placed on the next line. This is intended to avoid having two line numbers occupy the same physical space in the braille layout, without requiring the transcriber to plan ahead.

For each page, [linenum] (without parameters) automatically adjusts the right margin to leave room for the widest line number on the page plus two spaces. The right margin imposed by [linenum] is ordinarily reset at the end of each page. However, it can be reset earlier, to separate a page into different sections for margin computations. Alternatively, it can be carried across a page boundary by using the "override margin" feature of [rm].

The linenum code is nearly unique in that it does not interfere with pending effects of other DBT codes. So, if [linenum] and a line number appear after a [tab] code, but before the word to be placed at a tab stop, the tab stop placement will be correct even so.

Note: World braille authorities have different standard locations for line numbers (left margin v. right margin, etc.), but many DBT templates contain line number styles for you to use, defined to follow the local conventions.

[lnb~X] – switches the base translation table from the current table to the one corresponding to the Table Designator X. Table Designators for each language are shown under Help: Language Translation Tables for each language.

A detailed explanation of this code is also given in the Language Switching Topic)

[lng] – Translation code, to revert to the base (initial or default) language according to the table in use.

[lng~X] – Translation code, to switch to a new language. The initial (base or default) language is always the main one supported by the table, E.g. English in the American tables, French in the French tables. The [lng~X] code is preferred for language switching thereafter. X indicates the new language as specified by the ISO 639 standard 2-letter language code. (In some cases, an older 3-letter DBT code is also accepted.) The codes currently accepted in the American tables, and at least partially in some other tables, are as follows: de or deu = German; en or eng = English; es or esp = Spanish; fi = Finnish; fr or fra = French; it or ita = Italian; la or lat = Latin; mi or mao = Maori; nl = Dutch; pt = Portuguese; sv = Swedish; sw or swa = Kiswahili (Swahili).

[lpr] – Restore line position per last save. See [lps].

[lps] – Save current line position. This is generally to allow temporary repositioning for placement of text at a special place on the line, to be followed by resumption of the current position. E.g. worda [lps][taa36]123[lpr]wordb would cause "123" to be placed in column 36 of the same line in which "worda" appears, and then "wordb" would follow "worda" normally.

[mec] – Accept the next word as the "continued" text for guide words. (Without this command, there is no special text for "continued" pages.) E.g. [mec](cont.) would declare "(cont.)" as the text for continuation pages, a commonly-used setting for English.

[meg] – Accept the next word as a "guide word," e.g., abcedarian [meg]abcedarian - a stickler for correct grammar. ...would set "abcedarian" as text and associate this point in the text with the guideword "abcedarian."

[mfce] – This code indicates the end point of a "major formatting context" {as of DBT 11.2 SR3}. See [mfcs].

[mfcs~X] – means "major formatting context, start" {as of DBT 11.2 SR3}. A major formatting context is a hierarchically indented section of a document such as a list, or table of contents, an index, or even a poem with indented lines. [mfcs] automatically calculates indents that, otherwise, the user would have to define manually using the [hi] code. Its job is to scan forward to the companion [mfce] code to calculate automatically the correct runover margin for the enclosed text based on the [hl] codes it encounters – which indicate the number of levels the text contains. (Each level below the first is indented another 2 cells. The runover is indented an additional 2 cells from there.)

[mfcs] cannot be modified by following it with an hi code. Instead, it has a parameter that indicates the type of formatting context in which it applies. The options are: "contents, exercise, glossary, index, list", or "poetry". The [mfcs/mfce] codes appear in a few style definitions in the DBT templates, but these options do NOT YET have different format effects.

The plan is for [mfcs~X] to apply additional effects that are useful in each specific context, e.g., whether lines should be skipped before and after, whether the text lines must be kept together, etc. Interested users are encouraged to write Duxbury about the formatting effects they would like to see in each of those formatting contexts to guide the development of these options.

[music:{parameter}] – This code is for music braille that has been brought in from Dancing Dots' GOODFEEL® program.
The music code may take two parameters. The numeric parameter gives a number corresponding to the music file. When a music file is inserted, it is stored in a separate part of the document and is identified by a numeric index. If there is a string parameter, then it is ignored; DBT places the name of the original filename in the string parameter, but it is not used by DBT; it is only stored as an aid to the user. Inserting a music code through ctrl-[ does not cause the music file to be inserted into the document; that can only be done through Edit, Insert File... Music will only be translated if the goodfeel.dll is installed.
The [lg] code is not supported.

[nr] – Translation code for new row or line that, in the braille, is only indicated by a special symbol rather than an actual new line. For example, may be used in linear poetry or in a binomial coefficient or Christoffel symbol in mathematics.

[oe] – End of directly-over superscript expression; see [e].

[one] – End of passage in which numeric indicators are to be omitted; see [ons].

[ons~X] – Translation code, used to mark the start of a passage where numeric indicators are to be omitted. E.g. [ons]123[one] would cause the numeric indicator to be omitted on "123" in braille. See also [tcs] and [ts].

[os] – Start of directly-over superscript expression; see [e].

[p] – Begin new paragraph, with possible line skip and/or indent according to current default settings (see [svprg...]). (In braille files, this is usually a new line, beginning at cell 3. In print files, this is usually a line skip only.)

[pe] – Power/superscript end; see [ps].

[pg] – Begin new page unconditionally.

[pg~X] – Begin new page, and set the page number prefix character to X. E.g. [pg~p]

[pgN] – Begin new page, and set the page number to N. E.g. [pg123]

[pgN~X] – Begin new page, and set the page number to N and the page number prefix to character X. E.g. [pg1~p] would start a new page, numbering that page "p1". See also [pv...].

[pi...] – This former code, for including graphics "pictures", is NOT supported in the same form in the new DBT (from 1995 onward). See the [gd...] (graphics data) command, which replaces it.

[pm] – Begin magazine-style new paragraph. This causes the next word to be set on the current line after 3 spaces, or if that is not possible, to be set as after a [p] command. Using [pm] alone is equivalent to [pm3:1]. (See [pmN:C], next.)

[pmN:C][pm] can take two optional parameters. The first is the number of spaces to place on the line when a line break will not be necessary. The default is 3.

The second parameter affects where the first character of the next line is placed when [pm] does cause a line break. Valid values for the second parameter are:

-1 = the next line will be indented as if by [p]. This is the default.
-2 = next line will be at the prevailing left margin.
-3 = next line will be at the prevailing runover margin.
any positive integer = indicates a specific cell position.

[pnta] – Set page number type to Arabic.

[pntr] – Set page number type to Roman.

[ps] – Translation code, to mark the beginning of a power or superscript level. The [ps] ... [pe] pair may include any expression, including further levels of superscripts; i.e. the codes may be nested. E.g. y[ps]x[ps]2[pe][pe] means "y to the power x-squared". See also [tcs] and [ts].

[ptye] – End poetry mode. (See [ptys...]. This command is actually equivalent to [ptys0].)

[ptys] – Start poetry mode, i.e. indent runover (word-wrapped) lines by the default amount (usually 2 characters in braille documents, 5 in print.)

[ptysN] – Start poetry mode, i.e. indent runovers, by N character positions.

[pvN~X] – Set the page number to N and the page prefix character to X. All the variant forms, corresponding to the [pg...] series, may be used, and have the same meaning except that command does not in itself cause a new page to be started.

[q~W] – Set word W directly (unchanged) in output. A following space is not automatically forced, as in the case of the [d...] command; thus "[q~W] text" is equivalent to "[d~W]text". E.g. [q~,8]xy would set ",8xy" (braille dots 6,2-3-6,1-3-4-6,1-3-4-5-6).

[remw] – Accept the following word or group as a remark. Note that such comments must be quite short, not longer than a word (or line) could be in the formatted document. E.g. [remw]comment and [remw][:]so is this[;] would cause "comment" and "so is this" to be treated as comments – that is, to be ignored; only the word "and" would be set as text.

[rfd] – Discontinue using running footer. See [rfs] and [rfe].

[rfe] – End definition of running footer. See [rfs].

[rfs] – Start definition of running footer. E.g. [rfs]Section V[rfe] would cause "Section V" to be used as the running footer, from that point in the document until another running footer was similarly declared or the footer was discontinued (see [rfd]). The actual usage of the footer on even, odd, both or neither pages may be separately controlled by the [svrfp...] command.

[rm] – Restore right margin to normal, i.e. to the full width for pages in this document; equivalent to [rm0] or [rm0:1] Restore Right Margin (but not Override Margin. (See [rmN].

[rmN] – Indent right margin by N positions from the normal full page width. This affects only the "word wrap" (runover) point, not text that is set by explicit tabulation. E.g. [rm6]

[rmN:O] – Indent right margin by the greater of N or O positions from the normal full page width, and adjust the right margin implied by the [linenum] code to O. (That is "O" as in "Oscar".) In this instance, O is an override margin; the default for this parameter, -1, will result in no adjustment to the override margin, leaving any previous setting in place. When an override margin is in effect, [rm] (and [rmN] without the "O") cannot be used to reduce the margin to less than the effective override margin or the prevailing automatic margin introduced by [linenum]. Some useful applications of the override margin parameter include [rm0:0] to reset the right margin to 0, even if earlier text on the page included line numbers, and [rm8:8] to force a right margin of 8 cells, starting at this point, keeping the right margin impervious to the effects of [rm] or [rm0] codes that may be embedded in style definitions.

[rmn] – Translation code, used primarily in Nemeth code, to signify that the following letter(s) constitute a Roman numeral. E.g. [rmn]I See also [tcs] and [ts].

[rpe] – Terminates [rps]...

[rpsN] – Marks the beginning of text to be included in the table of contents. N is the "level" of the text within the TOC hierarchy, defaulting to 1 (highest). Use [vss]...[vse] if the text is not also to appear at the current position within the document, i.e. it is to appear ONLY in the TOC, for example: [rps2][vss]This heading appears only in the TOC[vse][rpe]

[run] – Tab to the current runover point. This command is equivalent to [taaN], where N is the current runover position.

[scL:M:N:P] – Skip lines conditionally, that is skip only if the line just above is not blank. L is the number of lines normally skipped; M is an exceptional value to use following a line that indicates change of reference page; N is an exceptional value to use following a running head. (N or M may be omitted, defaulting to L.) E.g. [sc1:0] is commonly used in American braille, to skip a line after any non-blank line except a print page break line.

{As of version DBT 11.1} The 4th parameter (P) indicates the number of lines to skip at the very top of a page without a running header (which formerly was always treated as a "space above" case). Its default value is 0.

[sdN] – Start a new line if necessary (like [l]), and then start a new page if the then current page is not even (if N=0) or odd (if N=1). E.g. ... [pg][sd1]Start on odd ... would start a new page in any case, and if necessary advance the page again so that "Start on odd ..." begins on an odd page.

[skL] – Skip L lines. This is equivalent to: [l][slL]. E.g. [sk2]

[sk-N] – Skips to Nth line from end of page (unless already at or beyond that point on the page). E.g. [sk-1] would skip to the last line on the page.

[sknL:M] – Skipped-line nullify. This command cancels up to L skipped (blank) lines produced as a final effect of the immediately preceding command, plus M lines produced by either the immediately preceding or immediately following command. L defaults to 1 and M defaults to 0. Nonblank lines are not affected

[slL] – Force L line endings; see [sk...], which is generally preferable for skipping a certain number of lines.

[sqrte] – End of square root expression; see [sqrts].

[sqrts] – Translation code, used to mark the start of a square root expression, i.e. a root that has no explicit index. When there is an explicit index, such as 3 for a cube root, see [ixrts] instead. E.g. [sqrts]x+1[sqrte] means "the square root of the expression x+1". See also [tcs] and [ts].

[stL] – Skips to line L (counting from top line = 1) on page (unless already at or beyond that point).

[stbS:A:P] – is the code for setting up tab stops. In the parameters, S is the tab stop number (1 to 9), A indicates alignment, and P the position on the line. Values for alignment are "L" for left, "R" for right, "D" for decimal, or "C" for centering. P is a number that indicates the focal position for the alignment. As an example, [ctb][stb1:l:5][stb2:d:22] first clears existing tabs, then sets stop #1 for left alignment at line position 5, and stop #2 for decimal alignment at line position 22. Then entering, "[#2]123.45" selects tab stop 2, which aligns the following text "123.45" so that the decimal point falls in line position 22.

[stbS:A:P:F~X] – In addition to the tab settings above, the parameters F and X{new as of DBT 12.2} allow the user to set a fill type and one or two fill characters to use. The only fill types are "F" for full and "P" for partial, where partial means a space appears at each end of the fill. If the fill type is specified, then the fill character must be also. If X is a single character, that character is used for both print and braille. If X holds 2 characters, the first is the fill character for braille and the second is the fill for print. For example, the codes [ctb][stb1:l:5][stb2:d:22:F~".] clear tabs and set tab #1 as before, then make tab #2 decimally align at position 22, but this time with a fill of dot-5’s in braille (") and periods (.) in print.

[svantN] – Set option for running headers and/or reference page numbers to be anticipatory, i.e. to reflect any changes that take place on the page, rather than the condition at top of page. N = 1 for running-head anticipatory, 2 = reference page number, 3 = both, 0 = neither (which is the assumed value at beginning of file).

[svcbhN~string] - where the optional parameter N = 0 (default) - set the computer-braille hyphen (line continuation indicator, applicable to text within [wb-cb]...[wb] pairs) to the string, i.e. the original meaning of [svcbh~string] is unchanged;

1 - set the regular hyphen override to the first character in the string (must be a printable ASCII character whose value is in the range [32,127]);

2 - set both the cb and regular hyphen override as per 0 and 1;

3 - cancel any regular hyphen override (hyphen reverts to the setting given in the .hct table).

So for example, [svcbh2~"] would set the soft hyphen to dot 5 for both computerese and regular text, as would be appropriate for UEB and related braille codes.

[svdac~X] – Set decimal alignment character to X. This sets the character that is used by the tab commands to control decimal alignment. The default is the character that is common for American usage, i.e. presently [svdac~.] for both print and braille files (= dots 4-6 in the latter).

[svgan~X] – Set values for generated Arabic numbers. This sets the "numeric indicator" character and, optionally, the characters used for the digits 0-9 in generated Arabic numbers (such as page numbers). X is a string of characters, the first of which is used to represent the "numeric indicator," if any. (Normally this is # [standing for dots 3-4-5-6] in a braille file, blank [meaning there is no indicator] in a print file. (To set this character to blank, use an opening curly brace [{].) The remaining characters of the string, if any, overwrite the characters used for the digits 0 through 9, respectively. Normally these are JABCDEFGHI in a braille file, 0123456789 in a print file. If these characters are not supplied, the current settings are not changed. Ex (note that the brackets within the string "#*<%?:$]\[" are literally brackets, NOT stand-ins for command delimiters): [ifbrl][svgan~,#*<%?:$]\[] would, in a braille file only, set up so that "Antoine digits" are used in the page numbers, prefaced by a dot 6, as is necessary in some French documents.

[svgrn~X] – Set indicator for generated Roman numbers. This sets any indicator character needed prior to a generated Roman number, E.g. page numbers. X is the indicator character. (Normally this is a semicolon [;], standing for dots 5-6, in a braille file, blank [meaning there is no indicator] in a print file. (To set this character to blank, use an opening curly brace [{].) E.g. [ifbrl][svgrn~,] would, in a braille file only, set up so that dot 6 precedes any Roman page numbers, as is necessary in some French documents.

As of version DBT 11.1 - [svgrn~}] – svgrn with a closing curly brace as the parameter has the special meaning, "Set Roman numeral page numbers with grade 1 indicators as required for contracted Unified English Braille (UEB)". In most cases this would require no prefix, but for Roman numerals that can have a contraction meaning, such as "x" and "cd", a grade 1 indicator (dots 56) prefix would be inserted to prevent ambiguity.

[svlesN:M:L:P] – Set parameters for treatment of reference page numbers (see [lea] command). N determines the treatment at the point of the page break: 0 for American style (a full line of dots 3-6 to the number flush right), 1 for British (RNIB) style (the number centered, preceded by dot 5, 25). M determines the treatment on continuing pages: 0 for American (a, b ... prefixes on continuation pages), 1 for British (unprefixed). L determines the "bottom tolerance", i.e. the number of lines that must be available at the bottom of the page AFTER the print page break indicator line. P determines the initial text position after the page break: 0 for the left margin, 1 for the runover margin. If all four values are defaulted, the settings are restored to values as at the file beginning, which are N=0, M=0, L=2 and P=0 respectively. If one or more values are specified, any unspecified values remain unchanged.

[svlma:N:M] – (set value of left margin adjustment) sets the current "left margin adjustment" (lma) per a (possibly) signed value N. If M is 0 (the default), lma is directly set to N; if M is 1, lma is increased by the value of N. Setting the lma per this command does not immediately affect the left margin setting nor the position in the text, but until a later svlma changes the value, any setting of the left margin, e.g. by subsequent [ind...] or [hi...] commands, is adjusted implicitly by the lma. For example, after a [svlma2] command, [ind5] is implicitly [ind7] and [ind1] is implicitly [ind3]. Either [svlma0] or an [svlma:N:1] command that effectively sets the lma back to 0 cancels the adjustment effect.

[svmtsN] – Set minimum tab spacing to N. This determines the minimum amount that a word must be spaced away from the prior word as a result of a tabulation command (see the [tab...] and [tas...] commands). The default (initial) value is 1.

[svpalS:N] – Set values for positioning after [linenum] code. This affects the placement of the next word after a line number that is set with the [linenum] code or the BANA template's <linenums> style, which uses this code. The first numeric parameter, S, is the number of spaces to skip. The default is 3. The second numeric parameter, N, specifies how to place the word on the next line if, when including the specified S spaces, it won't fit on the current line. The meaning of this parameter is identical to the meaning of the second parameter to the [pm] code. The default is -3, which specifies putting the next word at the runover position of the next line. If you don't insert this code at all, the default settings of 3 and -3 will be used for positioning text after a [linenum] code (or <linenum> style in a BANA template). When you insert this code in a document, it remains in effect until the occurrence of another [svpalS:N] code if there is one, and otherwise to the end of the document. In general, if you want settings different from the default ones, you would insert the appropriate [svpalS:N] code at the beginning of the document or at the beginning of line numbered material {as of DBT 11.2 SR3}.

[svpfdN] – Set page number first displayed to N. Pages whose page numbers are less than N will not be explicitly numbered. The initial value is normally 2; the default for the command is 1.

[svpnpN:N:N:N] – Set page number placement values. The N's are given in the order: braille (internal) page number on odd sides, internal number on even sides, print (reference) number on odd sides, reference number on even sides. The possible values for any N are: 0 for no place, 1 for upper left, 2 for upper right, 3 for lower left, 4 for lower right. The default values are 4, 4, 2 and 2 respectively (corresponding to American "textbook format"). E.g. [svpnp2:2:0:0] would establish customary literary format, with braille page numbers at upper right and no print page numbers shown.

[svprgN:L:M] – Set paragraph treatment values, i.e. the parameters for the [p] command. N determines the position at which to begin a new paragraph; the default value is 3 for braille and 0 for print. L determines how many lines to skip before a paragraph; the default is 0 for braille and 1 for print. M is 0 (the default) if N is to be an absolute position, or is 1 if N is to be relative to the current left margin (i.e. the left margin reckoned as position 1). If all values are omitted, the values are reset to their values at the beginning of the file.

[svrfpN] – Set running-footer usage value. N is 1 for usage on odd pages only, 2 for even only, 3 for usage on both, 0 on neither. If N is omitted, the initial value is restored, i.e. 3.

[svrfsM:N] – Set running-footer sideroom. M sets the fixed amount of space reserved on the left for the largest page number expected, and N for a similar amount on the right. (When centering running footers, the two amounts are actually used only in their total.) The default is 8:8 (total 16). E.g. [svrfs5:5] would reserve only 5 spaces on either side of the running footer (10 total), permitting a longer footer to fit. An optional parameter J can specify left justification (l) or right justification (r).

[svrhpN] – Set running-header usage value. N is 1 for usage on odd pages only, 2 for even only, 3 for usage on both, 0 on neither. If N is omitted, the initial value is restored, i.e. 3.

[svrhsM:N:J] – Set running-header sideroom. M sets the fixed amount of space reserved on the left for the largest page number expected, and N for a similar amount on the right. (When centering running headers, the two amounts are actually used only in their total.) The default is 8:8 (total 16). E.g. [svrhs5:5] would reserve only 5 spaces on either side of the running header (10 total), permitting a longer header to fit. An optional parameter J can specify left justification (l) or right justification (r).

[svrlbN] – Reserve N lines at the end of each page. All text, including footers and page numbers, will be placed above these reserved lines. This code is useful for allowing for corrections to pages after printing has commenced. Specifying no value, or a value of 0, will disable this behavior.

[svrptN] – This is for future use, to set a value that determines the treatment of reference points, i.e. the layout of the table of contents; see [rpsN].

[svsblN] – Set interline spacing value to N. E.g. [svsbl1] starts double-spacing, i.e. 1 blank line between text lines.

[swa] – Translation code, resume Swahili text (in Swahili tables only). See [lng~...] and [eng].

[taaP:A:F~X] – Absolute tab with intervening fill (a.k.a., leader dots). Parameter P is the position on the line at which to align the next word (or a group of words enclosed by [:] ... [;]). A is the type of alignment: L for left, R for right, D for decimal, or C for centering. F is the type of fill: F for full (all cells between the current position and the tabbed item are filled) or P (the first and last intervening positions are always spaces, and also the third if there are only three). X is the fill character, e.g., the double quote mark (") for braille dot 5. The default for A is L (left), and if F~X is omitted then intervening spaces are not filled. [taa] causes this tabulation on the current line regardless of the current position, even if already set text will be overwritten (see also [lps], [tab...], and [tas...]). For example, [taa38:r]abc causes the text "abc" to be set so that the "c" falls into position 38 on the current line even if "abc" overwrites existing characters. See also the example with [lps].

[tabP:A:F~X] – Tab with (optional) intervening fill (leader dots). Parameter P is the line position (column) at which to align the next word (or multiple words enclosed by [:] ... [;]). Parameter A gives the type of alignment: L for left, R for right, D for decimal or C for centering. (Left is the default.) Parameter F is the type of fill: F for full, i.e. all cells between the current position and the tabbed item are filled, or P for partial, which means the first and last intervening positions are left as spaces, and also the third if there are only three. X is the fill character, e.g., a double quote mark (") for braille dot 5. If F~X is omitted then intervening spaces are not filled (no leader dots). Entering [tab] causes tabulation on the current line if there is enough space (see the [svmts...] command). Otherwise, the tabbed word (or group) is set on a new line. (Compare with [taa...] and [tas...]). Entering "[tab25:d:p~-]123.45" causes the text "123.45" to be set so that the decimal point falls at line position 25, with the intervening positions filled by braille dots (3,6), and with spaces left at both ends of the fill. Entering "[tab30]x" places "x" in column 30.

[tasP:A:F~X] – Tab or space, with intervening fill (leader dots). This command acts just like the [tab...] command above, except that in the case where there is not enough space on the current line, the tabbed word (or group) is simply forced to the right of the current position by the minimum spacing (usually 1 space). Unlike [taa], text on the current line is not overwritten. Unlike [tab], the tabbed word is not forced to the next line to appear at position P.

[tce] – End of technical context; see [tcs].

[tcs] – Translation code, used to mark the start of "technical context", that is material that is to be translated according to special code rules when such rules are applicable to all the text surrounding technical notation, not just the notation itself. This is intended primarily for the Nemeth Braille Code for Mathematics and Science Notation, whose rules have that characteristic. In a work to be translated according to Nemeth Code, the [tcs] ... [tce] codes normally surround practically the whole text, excluding only the title page at the beginning and the numbers associated with print page breaks, which are done according to "literary" conventions. (Note: Print page breaks normally occur frequently, and so for convenience in editing works to be done in Nemeth code, it is advisable to set up the termination and resumption of "technical context" to take place in a style automatically, right along with the declaration of print page change. For example, use a code sequence such as [tce][lea] at the beginning and [l][tcs] at the end of the style.) See also [ts].

[te] – Marks the "end of technical notation" {as of DBT 11.3 SR1}. See [ts].

[tld] – Discontinue using title (running head). See the [tls] ... [tle] commands.

[tle] – End definition of title (running head). See [tls].

[tls] – Begin definition of running head. The text between this command and the next [tle] is saved aside and used as the heading for any new pages that may be begun, from the point of definition until either redefined by a new [tls] ... [tle] or discontinued by [tld]. Actual usage on particular pages is governed by [svrhp...]. E.g. [tls]Chapter One[tle] would cause "Chapter One" to be used for a running head until further notice.

[tne] – Transcriber note ending (see [tns]).

[tns] – Translation code to set the indicator for the start of a transcriber's note. [tne] sets the corresponding ending indicator. For example: [tns]In print, an upward arrow is shown.[tne] These codes are applicable to certain tables only; consult the table usage guide as to whether they are available.

[top] – Top of page (no effect if already on fresh page, otherwise equivalent to [pg]).

[ts] – A translation code, used to mark the start of "technical notation", i.e. material that is definitely technical in nature, such as mathematics, not words in English or some other natural language. Many braille codes, including Nemeth code, call for such material to be brailled differently than it would be if the same text were interpreted as a word or an abbreviation. It is not generally necessary to mark material that from the outset is clearly technical, such as numbers, though it does no harm to do so. However, it is advisable to mark any technical notation commencing with letters. In this example, "The base of triangle [ts]RST[te]is[ts]x+1[te] inches long." The [ts] and [te] mark RST and x+1 as technical expressions {as of DBT 11.3 SR1}. See also [te] and [tcs].

[tx] – Translation code, resumes normal text translation, cancelling any special mode for computer notation or direct braille. See also [cb] and[cz], which initiate alternate modes, terminating the effect of [tx] or its variants [txi] and [txn].

[txi] – Translation code, a variant of [tx], which has the same effect and also unconditionally puts the CBC end-CBC indicator into the braille.

[txn] – Translation code, a variant of [tx], which has the same effect and also unconditionally will NOT put the CBC end-CBC indicator into the braille.

[u] – Translation code to mark the following individual symbol (only) as to be translated in grade 1, i.e. as uncontracted. This code is applicable to certain tables only; consult the table usage guide as to whether it is available. See also [ui].

[uclN~X] – Translation code to turn on, or off, literal treatment of certain characters. N = 0 means to turn off, N = 1 means to turn on, literal treatment. For example, when using the English/Unified table, the command [ucl1~"] causes the ordinary keyboard double quote character (U+0022) to be translated as the UEB "nondirectional" quote, whereas otherwise it is usually sensed as an opening or closing double quote depending on its immediate context. This code is applicable to certain tables only; consult the table usage guide as to whether it is available, the characters (X) to which it may be applied, and any details as what constitutes literal vs. more flexible treatment.

[uce] – Upper case end.
[ucs] – Upper case start ([uce] end). When using certain translation tables as individually documented, these translation codes can be placed around text (entered as lowercase letters) that is to be treated as an uppercase "passage" with specific starting and ending points. This is not normally necessary because the translation logic senses uppercase letters, words and passages, but it is sometimes necessary to override that logic – for example, when the automatic logic would break the "passage" at a forced line break whereas the transcriber determines that a single passage could carry over the line break.
[ucsnge] - Ends the by-single-letter capitalization restriction for technical notation in UEB print to braille translation. The chemistry style in UEB templates ends with this code.
[ucsngs] - In UEB print to braille translation, this code starts a restriction to capitalize by-single-letters only within passages of technical notation. This restriction, which is terminated by [ucsnge], is for use with chemical formulas, such as CO (carbon monoxide). While this restriction is in force, a sequence such as: [ts]CO[te] translates as ,c,o instead of ,,co, i.e., the capital letters are marked individually and the capital word indicator is not used. The chemistry style in UEB templates begins with the code [ucsngs] and ends with [ucsnge]. Within the bounds of the chemistry style, all sequences of capital letters translate without the capitalized word indicator as long as they are marked as technical notation (either between [ts] and [te] codes or within the math style). If CO is inside the chemistry style, but is not marked as technical notation, then it is translated with the capitalized word indicator. Again, the chemistry style only appears in UEB templates.

[ue] – End of directly-under subscript expression; see [e].

[ui] – Translation code to mark the following individual symbol (only) as to be translated in grade 1, i.e. as uncontracted, and to be so marked using the appropriate indicator (e.g. dots 56, the "grade 1 symbol" indicator, in Unified English Braille). This code is applicable to certain tables only; consult the table usage guide as to whether it is available.

[uoq~X] – Translation code for setting the "outer quote", i.e. to designate which character is to be regarded as the usual, or outer, quote mark for translation purposes. This code is applicable to certain tables only; consult the table usage guide as to whether it is available, the characters (X) that may be designated, and other pertinent details.

[us] – Start of directly-under subscript expression; see [e].

[utpN] – where N=0 (the initial and default condition) means that DBT employs its own "judgment" as to whether a [ts] code should result in an extended g1 mode, N=1 means that an extended g1 mode should always be used (except for those extremely simple cases), and N=2 means that the current grade (normally grade 2) should be maintained – that is, the [ts] code should effectively be ignored.

[vce] – Ends vertical centering. See [vcs]

[vcs] – Starts vertical centering. The vertical centering takes place when a page is finished, so the [vcs] can come anywhere on the first page that is to be vertically centered, that is before any [pg] or [top] command that would eject that page, and the [vce] must come AFTER the command that ejects the last page to be vertically centered.

[vcsM:N] – Start vertical page alignment by applying the fraction N/M to the number of lines that would otherwise be left empty at the bottom, and adding that many blank lines to the top. M and N default to 2 and 1 respectively. Thus [vcs1] effects approximate bottom alignment. (Bottom alignment may not always be "perfect" because, when a body of text is started later on a page and re-flowed, under some circumstances [such as when the first line as been shortened to accommodate a page number] the line breaks may not always occur at the same positions and hence the text itself may occupy a different number of lines than it did originally.)

[vrn~X] – Translation code, peculiar to the table in use, to initiate translation according to some small variation of standard rules. If the parameter is omitted, or the parameter is not supported by the table in use, then standard translation treatment is resumed. Only one variation code may be in effect at a time; a new variation code cancels the prior one. The variation is designated by a code of 2 or more letters.

Notes: A "variation" generally refers to a relatively minor, informal departure, whereas officially defined major code dialects are represented by distinct tables or specific switching codes such as [cb] (for computer braille notation). Variations need not have the same meaning from one table to the next, although in cases of related tables, a reasonable consistency will be attempted. Variations may be discontinued or changed at any time, without the usual concern for compatibility.

Currently defined variation codes:

[vrn~frac] - applies in Pre-UEB American English tables.

[vrn~inf] - applies in Pre-UEB American English and Australian English tables.

[vrn~rq] - applies to the English Moon table.

[vrn~sdbold] - applies to the Pre-UEB American English Textbook table.

[vrn~spc] - applies to the Ingush table.

[vrn~spp] - {as of DBT 12.2} applies to the UEB table (for Spanish as a secondary language).

[vrn~tyfs] - {as of DBT 12.2}applies to the UEB, Biblical Languages, Ingush, Venda, and Welsh tables.

[vrn~t2] - {as of DBT 11.1} applies to the Mandarin tables (Chinese and Taiwanese).

Note: This list may not be comprehensive.

[vse] – Terminates [vss].

[vss] – Marks the start of text that is not "visible," that is not set as formatted text at the point of encounter, though it may be processed for other purposes. See an example of use with [rpsN]

[wb] – Restore normal word breaking (per hyphenation table in use). See the [wb-cb] and [wb-no] commands.

[wb-cb] – Use computer-braille (CBC) continuation indicator and word (string) breaking rules. The normal logic for breaking words that do not fit at the end of line is suspended, and instead the rules applicable to BANA Computer Braille Code, including the automatic supplying of a continuation indicator, are used instead. This effect is terminated by the next [wb] or [wb-no] command.

[wb-no] – Suspend all word breaking. After this command, a word (that is, a series of non-spaces) will not be broken, even at explicit internal hyphens or dashes. This effect is terminated by the next [wb] or [wb-cb] command. E.g. [wb-no]124-127[wb]

[wlf~X]{as of DBT 12.2} – "Whole Line Fill" creates lines that are filled end to end with a fill character (the default is the full cell, all 6 dots). [wlf] takes a single, optional parameter (X), the name of a line fill style. (The standard styles are discussed in the [wlf~stylename] entry below.) With no parameter, entering "[wlf][<]" (the wlf code followed by the force new-line code) fills the whole line from margin to margin with the fill character. [wlf] can be followed by up to three pieces of text included before the forced new-line. For example, "[wlf]Please note[<]" sets the words "Please note" at the left-alignment point and inserts fills for the remainder of the line. Using tabs to separate the text pieces, "[wlf]Lead-off[>]Middle[>]Final[<]" sets the first text piece left-aligned, the second center-aligned, and the third right-aligned with fill characters in between as space allows. [wlf] can skip the left-aligned or centered fields by entering tabs with no text, e.g., "[wlf][>][>]Set right[<]" sets a filled line with these words aligned at the right margin.
[wlf~stylename]{as of DBT 12.2} – The resource file, linefill.xml, defines a few standard styles of line fill that can be invoked by name, "banaboxtop" and "banaboxbottom". These styles work to create box styles according to the BANA standard. Style banaboxtop declares a fill character (dots 2356) and the placement of a text field if one is used (left-aligned). Style banaboxbottom declares a different fill character (dots 1245) and that the placement of its text field, if used, is right-aligned. See also the linefill.xml file in your DBT executable folder.

[xcs] – Cancel (end) passage of capitalized words. Its purpose is to allow manual interruption of capitalized word sequences when it is not desirable that the entire sequence be treated as a single "passage," as for example when the end of one sentence and the beginning of the next contain fully capitalized words, e.g.:

"I assure you, THAT FUSE IS TOO SHORT. BUT IF YOU INSIST, go ahead and light it – after I have left."

Introduction of an [xcs] after the period in the above sentence would prevent recognition of the two partial sentences as a single capitalized passage. Currently this code is only active in the English/British, English/Unified, and French/Unified tables.

[ypr0] – This code appears only in style definitions, and it indicates that the particular style is hidden when the normal list of DBT styles is displayed. This code is often placed in obsolete styles that still may appear in old files but that are deprecated for use in new work. Like the [idle] code, it has no effect on translation or formatting.
Special Print-Text Codes

Back to Contents

Note: With the advent of UEB braille, the special print-text codes are no longer supported. Two of these code combinations, the &+ for letter sign and the &@ for the termination sign are included in the Layout: Character Codes menu, but they do not work in UEB, only in Pre-UEB translators.

The remainder of this topic (with the exception of the ASCII accent grave character) applies to Pre-UEB translators only .

Special print-text codes are translation codes. They are entered directly as ordinary text in the print file, and they have a "code" meaning for the braille. Except for those specifically mentioned as being for technical (math) context, these are traditional codes that may be used only in literary context. Often, they function as alternate forms of characters or codes that are now available by other means. Those other means are preferred when available, as these codes are gradually being phased out, but for the present they are retained for compatibility reasons.

_ – Single-underscore indicates the beginning of a single emphasized (italic, bold or underlined) literary word, or the last word in a series of four or more such words. (See the next entry.)

__ – Double underscore indicates the beginning of a series of four or more emphasized (italic, bold or underlined) literary words. E.g. __These words are all _emphasized.

% – A percent sign used before a letter in English literary text indicates that the letter has an accent mark on it. However, it is now preferable to use the actual accented letter.

// – Double slash is used to prevent contractions, equivalent to the [/] code in literary text. It is now preferable to use the [/] code.

/_ ... _/ – These slash and underscore combinations surround contractions that are to be "forced". Lowercase must be used for all letters enclosed by or abutting the contraction. For example, war/_th_/og forces the "th" contraction in this instance of "warthog", even though it would not normally be used. However, see the direct braille codes [cz] and [q...], which are now preferred.

` – The ASCII accent grave character (not the apostrophe), was used pre-UEB for a single quote mark as in the following sentence. He said, "She said, `You're not my type!`" It is still used in UEB in some contexts. See the "Supported DBT Translation Codes" section of the translation table topic for your particular language and look for [uoq].

Notes on General Code (Command) Syntax

Back to Contents

The square brackets shown surrounding DBT codes are not ordinary bracket characters, and they cannot be typed in that way. In the DBT coded view they appear as brackets, but in an alternate color, so there is no possibility of confusion with ordinary text.

Within these brackets, DBT codes have, in the most general case, three parts: (1) the command proper, (2) one or more numeric or single-letter parameters, and (3) a "string" parameter. Not all commands have parameters (parts 2 and 3), and in any case it is often permissible to omit some or all of them, in which case default values apply.

Part 1, the command proper: This is just the command name, E.g. "hds" or "#" or "wb-no". The command name immediately follows the opening bracket. In the descriptions, if the name is alphabetic, then it includes everything up to but not including the first uppercase letter, digit, semicolon, tilde or the closing bracket. Note that although the descriptions always show any letters within the command name in lowercase, the case of letters is not significant in an actual instance of a command. (Lowercase is customary and recommended.)

Part 2, ordinary numeric or single-letter parameters: the value of each parameter of this kind has one of two forms: (a) a number, that is a series of digits, possibly preceded by a hyphen acting as a minus sign, or (b) a single letter.

In the descriptions, a capital letter represents a parameter symbolically, that is it stands in for a value that is to be supplied in the actual code. For instance, the description might have "N" (for "number") where one might use either "7" or "12" in an actual code. For convenience and brevity the capital letter used generally follows the conventions described later in this section.

As with commands, the values in single-letter parameters may be either capitalized or lower case, the meaning is the same, e.g., [fts~b] and [fts~B] are identical.

Defaults and punctuation within parameters: Part 2 parameters may be omitted, in which case a described default value is implied. If fewer values are supplied than the number of permitted parameters, it is assumed that the first (leftmost) parameters have been specified, and one or more on the right end have been defaulted. Thus if no parameter values are supplied, then no punctuation is needed, but if any parameters are supplied, then internal punctuation within Part 2 may be needed for clarification, as follows: (a) A colon (:) must separate any two adjacent parameter values, when two or more are supplied, to clarify the boundaries. Note that this allows a parameter to be defaulted in the midst of a longer sequence where others are being supplied. For example, in: [svpnp4::2] the first parameter is supplied as 4, the second is defaulted, the third is 2, and the fourth is defaulted. (Note: it is permissible to omit the colon on either side of a supplied letter parameter, because in that case the parameter boundary is obvious.) (b) If the very first parameter value is a letter, then a semicolon (;) must follow the command name to separate it from the letter. The semicolon should NOT be used in any other case, such as when the first parameter is numeric.

Part 3, the "string" parameter: If supplied, this parameter must be preceded by a tilde (~). Only printable ASCII characters may be used. Certain special characters: `{}|~ and spaces are not allowed. A capital letter X represents the string in the code descriptions.

Examples: In [fr;p~"] the command is "fr", there is a letter parameter, "p", and finally a string parameter comprising a double-quote character. In [hds2] the command is "hds" and there is a numeric parameter, 2.

Conventions for capital letters that stand for parameters in the code descriptions:

A is used for a parameter that specifies the type of tabular alignment – where the values allowed are: l for left, r for right, c for centering or d for decimal.

E is used for the name of a style (text element).

F is used for a tabulation fill mode - where the values are either f for complete filling of the space up to the tabbed item, or p for partial fill (leaving a space at each end of the fill).

S is used for a tab stop number, 1-9.

W and X are used for arbitrary characters or strings.

Other letters generally stand for numbers, possibly negative in some cases, according to the description.

Note on old syntax: In older "DBT-coded text (TXT) files", including those imported and exported by the current DBT, the surrounding characters were typically the dollar sign and the space (hence the traditional name "dollar codes"), or vertical-bar and space in coded braille (BRU) files, rather than the code boundaries shown here as brackets. For some commands with multiple parameters, the former syntax also allowed for other minor differences in internal punctuation, not described here. On import, DBT converts the older syntax to the newer forms as needed.

Notes on Margin Treatment

Back to Contents

A number of the formatting codes manipulate the current settings of margins, or use those settings to determine exactly what they are to do.

At all times, DBT formatting is affected by three margins, termed the left, runover and right margins respectively. The left margin is defined as the starting position on the line whenever transition to a new line is "forced" by a command, E.g. by a [l] or [<] command or by any of the many commands where starting on a new line is implied. The runover margin is defined as the starting position when it is necessary to start a new line because a word will not fit on the current line (word wrap). The right margin is defined as the point where words will be wrapped, and does not affect flush-right or other direct tabulation commands.

Initially, the left and runover margins are at the full left (position 1) and the right margin at full right (offset 0). These margins may be subsequently set by [hi] and [hl] commands, both of which directly set all three margins, and/or [ind], [inm] and [ptys] commands. Note that [ptys] commands set the runover margin in terms of a relative distance (offset) from the left margin, and [ind] and [inm] commands set not only the left margin but also indirectly set the runover margin, in order to maintain the current runover offset.