1 |
File Format .aw |
Anyware shares the same Applixware file formats.
This chapter describes the generic ASCII file format of all Version 4.3, 4.4 and 5.0 Applixware documents and the Applixware Words internal ASCII file format. These formats consist of statements and properties that define all of the text, graphics, formatting, and layout constructs of an Applixware document.
The following topics are described:
· An explanation of the document conventions used in this chapter.
· A description of the Version 4.3/4.4/5.0 file format for Applixware Words.
· A description of the supported Applixware Words statements and their properties.
In the following listing of statements, these conventions apply:
UPPERCASE Courier uppercase indicates an actual statement. At this point, turn to the "Statements Reference" later in this chapter to look up the exact syntax of the statement.
Example: DOCUMENT_BEGIN is a self-contained statement and may be found in the "Statements Reference."
italic Courier italic indicates a statement group.
When you reach an italic entry, look further down the list to see the statements that make up the group.
Example:
The document group outlines the overall structure of the document file. Within the document structure, the definitions entry indicates a group of statements that defines items for the entire document. Look under definitions in the left column for the statements that make up the definitions group.
{ braces } Braces indicate a required entry; that is, you must choose one of the indicated elements.
[ brackets ] Brackets indicate an optional entry, which may or may not appear in the document.
Example:
[ object_definition ]
This entry appears in the file only if one or more objects are included in the document.
... (ellipse) Any entry followed by an ellipse (...) indicates that the statement or group may be repeated any number of times.
Example:
paragraph...
This shows that the statement group can contain any number of paragraphs.
vertical | bar A vertical bar between items indicates that the document entry includes one of the options.
Example:
object_definition = OBJECT | GRAPHICS
This indicates that the object_definition section can include one of the keywords OBJECT or GRAPHICS.
The first line of the file is a header line that identifies the file as an Applixware file, specifies the encoding method and gives the Applixware version number.
The file header is:
*BEGIN1
datatype VERSION=version
[ ENCODING=encoding] [C=content]
[future data elements]
The last line of the file is
*END datatype
The following defines these elements:
content = This field depends on the datatype field. It gives further information about the content of the file.
datatype = WORDS | GRAPHICS | SPREADSHEETS | QUERYDATA | MACROS | EQUATIONS | ASCII | BINARY
The significance of datatype is that you know how to process each of these types of contents. The data in the Applixware file is encoded to prevent accidental asterisk (*) lines from occurring. Datatype sections that are unknown to this version are skipped.
ASCII and BINARY are two different encodings for arbitrary data, such as local foreign insets in an Applixware Words application. This is used for foreign insets. ASCII provides a base level of readability in the Applixware file; however, it does not provide any more or less information than BINARY.
version = Should be 430 for a file in Release 4.3 format, 440 for a file in Release 4.4 format, or 500 (documented here). 311 was used for a file in Release 3 format.
For embedded data, use *BEGIN and *END to delimit the data.
For each external link in the file, a LINK statement must appear somewhere in the file to permit a simple scan for links.
*LINK pathname
Programs that write files should write short lines (at most 80 characters) for the convenience of people using text editors. Programs that read files should be able to handle lines as long as 4090 characters. If a statement needs to be longer than the desired line length, the continuation line format is used.
An application is free to define how continuation lines are handled within its data segment. The one restriction is that the first character of a line is never an asterisk.
In Words, if a statement is longer than the standard line length (80 characters for files written by Words), it is broken into multiple lines. A backslash is added to the end of each line (except for the last line). A space is added to the start of each line after the first line. The lines are rejoined and these backslashes and spaces are discarded when Words reads the file.
NOTE: If a Words document contains embedded Applixware objects, the application that owns the object determines the continuation line format for that object.
8-bit and 16-bit characters should, be default, be encoded in the output file so that the files are 8-bit clean (that is, the file contains only 7-bit characters). Such files will have the token "ENCODING=7BIT" in their *BEGIN header lines (as would Applixware objects embedded within Applixware files).
Here are the algorithms for folding 8- and 16-bit characters into 7 bits.
For both algorithms, the carat character '^' is used as an escape character to signal the start of an 8- or 16-bit character. To output a real carat character, escape it with another carat (i.e. double it). For example, given the following string in a Words document:
Here is a single carat: ^
The following line would appear in the Words file:
<Text "Here is a single carat: ^^">
Assume a hexadecimal system where 'a' represents 0, 'b' is 1, ... 'p' is 15. An 8-bit character is represented as a carat character followed by a pair of these "hex letters". For example, the tab character (character code 9) is represented as "^aj", where a=0, j=9, and thus (0 * 16) + 9 = 9. The (US) cents character ("¢"), which is code 162, is represented as "^kc", where k=10, c=2, and thus (10 * 16) + 2 = 162.
Any 8-bit character larger or equal to 128, or smaller than 32 (but excluding character 10, the line break) is output in this format. Character code 10 is output as "\n". Any other character is output in its ASCII representation.
For character codes less than 256, the 8-bit system is used as described above. For character codes greater than 256, a system is used where space is 0, '!' is 1, ... underscore is 63. However, the backquote (code 96) is used to represent 2 instead of the double quote. The overall representation is of the form ^XYY, where X is a 6-bit value in this system, and Y is a 5-bit value. Thus the largest possible 16-bit code (65535) would be represented as "^_??", where _=63, ?=31, and thus (63 * 1024) + (31 * 32) + 31 = 65535. The character code 256 is not used in this system.
Note there is no intersection between the codes used to represent 8-bit values (a-p) and the codes used to represent 16-bit values (space to underscore, plus back quote). Following an unescaped carat you should either see a pair of 8-bit codes or a triple of 16-bit codes.
An application is free to support escape characters, in addition to the carat as described above.
In a Words file, the backslash character '\' is used as an escape character within quoted strings. Backslashes and double quotes must be escaped. "\n" represents a line break.
The following table describes the supported escape sequences in quoted strings within a Words file:
Table 1-1 Escape Sequences in Quoted Strings
Appearance in File |
Meaning |
\\ |
Backslash within string |
\" |
Double quote within string |
\n |
Newline within string |
Lines that start with ** are comments; they have no inherent semantics. However, they are treated as significant in that applications will preserve them.
A comment line can contain any legal Applixware character. The comment cannot be longer than one line.
Comments can be inserted at the beginning of any line within a document. When a document is stored by an Applixware application, all Applixware comments are written to the stored image immediately following the *BEGIN line of the document. Comments within embedded data remain within that data and are not moved to the start of the file.
Third party developers and users can attach their own semantics and additional syntax to comments. VistaSource strongly suggests that developers adhere to the following conventions:
· A structured comment will consist of the following sequence:
** "keyword" string
keyword is an agreed upon sequence of case sensitive characters enclosed in quotes and string is any sequence of legal characters terminated by the end of the line.
· All Applixware keywords begin with one of the following strings: ax, Ax, or AX. These strings are reserved for Applix's use.
This section describes Applixware Words statements. Most statements consist of:
1. A left angle bracket
2. A keyword
3. A sequence of items
4. A terminating right angle bracket
When an item appears, it must appear in the order specified. For example:
< keyword
item1
item2
>
There are three types of items that can be used in statement syntax:
Literal text Literal text is indicated by Courier text. It is to be specified exactly as shown.
Variables Variables are represented by Courier italic text, followed by the type of the variable in parenthesis. A number or string of the appropriate type should be provided.
Property
reference
A property reference is represented by mixed-case Courier italic. The property is either described immediately below the statement syntax description or in the "Supported Properties" section later in this chapter.
Unless otherwise indicated, the items within the statements are optional and have a default value when not specified.
< ice_cream /* abbrev: i_c */
jimmies | nuts
scoops:numscoops(int)
flavor:flavorName
>
flavorName = "Vanilla" | "Chocolate"
The following table describes each of the components of the statements:
Table 1-2 Statement Elements (cont.) | |
---|---|
Element |
Meaning |
< |
Opening bracket |
ice_cream |
May substitute a short form here: for example, i_c |
jimmies | nuts |
Can specify either of these literals |
scoops:numscoops(int) |
Literal followed by variable |
flavor:flavorName |
Mixed case, no type: must be a property |
> |
Closing bracket |
flavorName = "Vanilla" | "Chocolate" |
The property definition. If the property definition is not included immediately below the statement definition, look up the property in the "Supported Properties" section later in this chapter. |
Using this definition, we can derive the following legal statements:
<ice_cream>
Uses all defaults.
<i_c scoops:1>
Uses the keyword abbreviation.
<ice_cream jimmies scoops:2 flavor:"Vanilla">
Includes a literal (jimmies), a variable (scoops), and a property (flavor). Spaces around the colons are optional.
If an item is omitted, default values are used. The default is either described in a comment or can be assumed to be one of the following:
· Zero
· Not present
· FALSE
The following variable types are used in this chapter:
Table 1-3 Variable Types (cont.) | |
---|---|
Type |
Meaning |
float |
Floating point number. This is a number greater than or equal to zero unless otherwise indicated. |
int |
An integer. This is a number greater than or equal to zero unless otherwise indicated. |
mils |
Units of 1/1000th of an inch. This is a positive integer unless otherwise indicated. |
points |
Text size (72 points to the inch). This should be a positive integer. |
string |
A text string in double quotes; for example, "Vanilla". The backslash (\) is used as an escape character in quoted strings in a Words file. Double quotes (") must be escaped, as are backslashes used in the text. The newline character (code 10) is represented as "\n". See "Wide and Multi-byte Characters" earlier in this chapter for a discussion of the treatment of other 8-bit and special characters. As an example, given the following string in a Words document: The character "\" is a backslash The following line would appear in the Words file: <Text "The character \"\\\" is a backslash"> |
All other units are described in context.
The following example displays the sequence of statements in a Words document. These statements are explained in detail in the sections following this example, listed in alphabetical order:
document = DOCUMENT_BEGIN
definitions
FLOW_BEGIN
[ contents ]...
paragraph /* Minimum flow contents is one
PARA */
SECTION
FLOW_END
[ secondary_flow ]...
[ object_definition ]...
variables
DOCUMENT_END
definitions = STYLES_BEGIN
STYLE /* Top-level style */
[ STYLE | SERIES | COLOR | glossary ]...
STYLES_END
glossary = GLOSSARY_BEGIN
[ contents | material ]...
GLOSSARY_END
contents = paragraph | row
paragraph = [ material ]...
PARA
material = field | TEXT | PICTURE | break | MARKER2 | ERROR | EQUATION
row = ROW_START
cell... /* Last cell specially
marked as such */
cell = paragraph... /* No frames or
section/column/page breaks
allowed */
/* Cell must end with PARA */
CELL_END
field = FIELD_BEGIN
material /* Field method - defines field;
see Chapter 3, "Field Method
Syntax." */
LINK /* Required for linked objects;
omit for others */
FIELD_VALUE
/* Field value - contents of
field */
[ contents | material ]...
FIELD_END
break = LINE_BREAK | COLUMN_BREAK | SECTION | PAGE_BREAK
secondary_flow =
hdr_ftr
| footnote
object_definition =
OBJECT | GRAPHICS
variables = VARS_BEGIN
[ DOC_VARIABLE ]...
VARS_END
hdr_ftr = HDRFTR_BEGIN
[ contents ]...
paragraph /* Must end with PARA */
HDRFTR_END
footnote = FOOTNOTE_BEGIN
field /* ...of type Footnote
Numbering */
[ contents ]...
paragraph /* Must end with PARA */
FOOTNOTE_END
NOTE: The TEXT statements that make up a field method must contain specific strings. Field methods are described in Chapter 3.
< cell_end /* abbrev: CE */
width:width(mils)
[ center | bottom ]
[ leftCellMargin:margin(mils) ] /* abbrev: lm */
[ rightCellMargin:margin(mils) ] /* abbrev: rm */
[ topCellMargin:margin(mils) ] /* abbrev: tm */
[ bottomCellMargin:margin(mils) ] /* abbrev: bm */
[ borderAttributes ]
[ locked ]
[ id:cell_id(string) ]
[ nextId:cell_id(string) ]
[ doubleClickMacro:macro(string) ]
[ enterMacro:macro(string) ]
[ exitMacro:macro(string) ]
[ maxChars:maxChars(int) ]
[ nextIfFull ]
[ case:caseCode(int) ]
[ promptText:promptText(string) ]
lastCellInRow /* abbrev: last */
>
The following table describes the items in the CELL_END statement:
Table 1-4 CELL_END Comments (cont.) | |
---|---|
Element |
Notes |
borderAttributes |
Border and shading properties of the cell. See "Supported Statements" |
case: caseCode(int) |
Causes the case of text typed into the cell in Forms mode to be altered as follows: 0 = No change (the default) 1 = Force lowercase 2 = Force uppercase This item did not exist in releases prior to release 4.1, and is meaningful only in Forms mode. |
center | bottom |
Vertical alignment of material in cell; omit for default (top) |
doubleClickMacro: macro (string) |
The name of an ELF macro that will be executed when a user double clicks upon a cell in Forms mode This item did not exist in releases prior to release 4, and is meaningful only in Forms mode. |
enterMacro: macro (string) |
The name of an ELF macro that will be executed when the cursor moves into a cell in Forms mode This item did not exist in releases prior to release 4, and is meaningful only in Forms mode. |
exitMacro: macro (string) |
The name of an ELF macro that will be executed when the cursor leaves a cell while in Forms mode This item did not exist in releases prior to release 4, and is meaningful only in Forms mode. |
id: cell_id (string) |
An arbitrary string identifying a cell This item did not exist in releases prior to release 4. |
lastCellInRow |
This must be specified for the last cell (and only the last cell) in each row |
leftCellMargin, rightCellMargin, topCellMargin, bottomCellMargin: margin (mils) |
Space between left/right/top/bottom border of the cell and material within the cell |
locked |
This only exists if a cell is locked (which means the cell cannot be selected, entered, or edited in Forms mode) This item did not exist in releases prior to release 4, and is meaningful only in Forms mode. |
maxChars: maxChars(int) |
Maximum number of characters allowed to be typed into the cell in Forms mode. This item did not exist in releases prior to release 4.1, and is meaningful only in Forms mode. |
nextID: cell_id (string) |
The id of a cell to which the "Go To Next Cell" command will move the cursor when in Forms mode This item did not exist in releases prior to release 4, and is meaningful only in Forms mode. |
nextIfFull |
If present, and if a maxChars value is specified, when the cursor is in the cell in Forms mode and the cell becomes "full" (as defined by maxChars), the cursor is moved to the cell with the nextID cell id. This item did not exist in releases prior to release 4.1, and is meaningful only in Forms mode. |
promptText: promptText(string) |
When the cursor enters the cell, this text will be displayed on the status line at the bottom of the Words window. This item did not exist in releases prior to release 4.1, and is meaningful only in Forms mode. |
width (mils) |
Overall width of cell, in mils |
< color
name(string):C:M:Y:K
>
Table 1-5 COLOR Comments (cont.) | |
---|---|
Element |
Meaning |
C:M:Y:K |
Required. The C, M, Y, and K values are integers between 0 and 255 representing the cyan, magenta, yellow, and black values respectively of the color |
< column_break >
< variable
name(string) /* Required */
elfData
>
*BEGIN WORDS VERSION=vnum ENCODING=encoding
<Applix Words>
< Globals
levelIndent:indent(mils)
hyphMethod: hyphCode
headerMargins:header(mils)
footerMargins:footer(mils)
changeBarPos:barPos
[ facingPages ]
>
If the beads were contained in a formatted Macro Editor document, the first statement would be as follows:
*BEGIN MACROS VERSION=vnum ENCODING=encoding
The following table describes items in the DOCUMENT_BEGIN statement:
Table 1-6 DOCUMENT_BEGIN Comments (cont.) | |
---|---|
Element |
Notes |
changeBarPos:barPos |
barPos is an integer controlling the placement of change bars in the document. The code numbers corresponding to the WP#CB#POS# defines in wp_.am are as follows: 0 = left margin |
facingPages |
If present, the document is in "facing pages" mode; the main effect is the treatment of the left and right page margins (see the Section bead, below). Note this does not imply the document will be printed in double-sided mode. |
footerMargins:footer(mils) |
Distance between the bottom of the page and the bottom of the footer, if any |
headerMargins:header(mils) |
Distance between the top of the page and the top of the header, if any |
hyphMethod:hyphcode |
hyphCode is an integer indicating the method used to hyphenate words in the dictionary. The code numbers corresponding to the WP#HYPHENATE# defines in wp_.am are as follows: 0 = use rules for hyphenation 3 = look in dictionary only 4 = use profiled value (wpSpellEnglishOpts for English; wpSpellFrenchOpts for French, etc.; profiles use the HYPH_ defines in wp_.am). This option is supported as of release 4.4. |
levelIndent:indent(mils) |
Extra indent per para level. |
< end_document >
*END WORDS
If the beads were contained in a formatted Macro Editor document, the last statement would be:
*END MACROS
See "Equation Statements" later in this chapter for more information.
Contains compilation error message for an ELF macro document. This information is not written to or read from a file.
< start_field /* abbrev: S_F */
[ { botPage | endDoc } footnote footNoteId(string) ]
[ date:dateStamp ]
[ docType:docTypeCode ]
[ appType:appTypeCode ]
[ editable ]
[ outDated ]
>
Table 1-7 FIELD_BEGIN Comments (cont.) | |
---|---|
Element |
Meaning |
appType:appTypeCode |
Only used for linked or embedded object fields; appTypeCode is described in the OBJECT statement |
{ botPage | endDoc } footnote footNoteId(string) |
Only used for footnote reference fields. footNoteId is a string that identifies the matching footnote body. botPage is used for footnotes that are to be placed at the bottom of the page; endDoc for footnotes that are to be placed at the end of the document. |
date:dateStamp |
Only used for linked object fields; dateStamp is the time the linked file was last modified This is the same format as the time returned by DATE_LAST_MODIFIED@ |
docType:docTypeCode |
Only used for linked or embedded object fields; docTypeCode is described in the OBJECT statement |
editable |
If present, the field value can be edited; that is, it is unprotected |
endDoc footnote name(string) |
Only used for end-of-document footnote reference field |
outDated |
If present, the field value is reevaluated when the document is read |
The FIELD_BEGIN statement is followed by the field method. See Chapter 3 for information.
< end_field > /* abbrev: < E_F > */
< field_value > /* abbrev: < FV > */
< start_flow >
< end_flow >
< start_footnote
footNoteId
>
Table 1-8 FOOTNOTE_BEGIN Comments (cont.) | |
---|---|
Element |
Meaning |
footNoteId |
A string that identifies the matching footnote reference field |
< end_footnote >
< start_glossary /* abbrev: < S_G */
name(string)
[ live ]
>
Table 1-9 GLOSSARY_BEGIN Comments (cont.) | |
---|---|
Element |
Meaning |
live |
If specified, matching references change when the glossary's contents change |
name(string) |
Required; name of glossary |
< end_glossary > /* abbrev: < E_G > */
< graphics
name(string)
[ changedFlag ]
>
asciiData
The graphics bead is used as a temporary container for the actual graphics data in a linked graphics file. This information is discarded on save and recreated when the document is read back in. Thus the Graphics bead does not usually appear in the Words file.
Table 1-10 GRAPHICS Comments (cont.) | |
---|---|
Element |
Meaning |
asciiData |
Contents of graphics |
name(string) |
Unique name for this data |
< start_hdrftr
hdrftrname(string)
>
Table 1-11 HDRFTR_BEGIN Comments (cont.) | |
---|---|
Element |
Meaning |
hdrftrname(string) |
This name matches the name in the hdrFtrReference statement. The name should be of the format "_AX_HF_#", where "#" is a number; e.g. "_AX_HF_1". |
< end_hdrftr>
\n
The line break is represented by a backslash-n in the file.
*LINK pathname
Table 1-12 LINK Comments (cont.) | |
---|---|
Element |
Meaning |
pathname |
The name of the external file to which you are linking |
<marker
markername(string)
>
Creates a named location in a file. This bead was not written to file during a Save operation in releases prior to release 4.
< object
name(string)
docType:docTypeCode
appType:appTypeCode
[ cvtMacro:macro(string) ]
[ appMacro:macro(string) ]
[ allowUnreferenced ]
[ changedFlag ]
>
asciiData | binaryData /* Contents of object */
Table 1-13 OBJECT Comments (cont.) | |
---|---|
Element |
Meaning |
allowUnreferenced |
If present, this object will be preserved at save time even if not referenced in the document. If absent, this object will not be written to the output file if it is not referenced within the document (default behavior). |
appMacro: macro(string) |
The name of the ELF macro to execute when the object is double-clicked upon (not needed for an Applixware object). Note this value will be overridden by a similar specification in the object field that references this object, if the field has such a specification. |
appType:appTypeCode |
An integer representing the Applixware application matching the object. For example, if the object is a graphics object of any type (e.g. GIF, JPEG, Applixware Graphics), the value will be 2, representing "Applixware Graphics". See the appTypeCode section below for more information. Note this value will be overridden by a similar specification in the object field that references this object, if the field has such a specification. |
docMacro: macro(string) |
The name of the ELF macro to be used when converting the object into Applixware format (not needed for an Applixware object). Note this value will be overridden by a similar specification in the object field that references this object, if the field has such a specification. |
docType:docTypeCode |
Is an integer representing the origin of the object. The same coding system is used by the RECOGNIZE_FILE@ macro Some of the common codes are: 0 = ASCII See recgfil_.am for more codes. Note this value will be overridden by a similar specification in the object field that references this object, if the field has such a specification. |
name(string) |
This required field matches the name in an object field method |
< page_break
[ odd_page | even_page ]
>
Table 1-14 PAGE_BREAK Comments (cont.) | |
---|---|
Element |
Meaning |
odd_page | even_page |
If odd_page is specified, the material following the page break will begin on the next odd page. If even_page is specified, it will begin on the next even page. If nothing is specified, the material will begin on the next page, regardless of whether it is an odd or even page (default behavior). |
< para /* abbrev: < P */
styleName(string)
[ borderAttributes ]
[ paraAttributes ]
[ tabDefinitions ]
[ frameAttributes ]
[ textAttributes ]
[ changedFlag ]
>
Table 1-15 PARA Comments (cont.) | |
---|---|
Element |
Meaning |
changedFlag |
For change bar operations only, If this attribute is used, it always occurs just before the bead's concluding ">" |
styleName |
The name of the style controlling the inherited attributes of this paragraph |
< picture
name(string)
[ builtIn ]
appId:appTypeCode
[ proportional ]
[ clipMode:clipModeCode(int)
[ xScale:xscale(float) ]
[ yScale:yscale(float) ]
[ xOffset:xoffset(mils) ]
[ yOffset:yoffset(mils) ]
[ srcWidth:srcWidth(mils) ]
[ srcHeight:srcHeight(mils) ]
[ picSource:"elfStringArray" ]
[ width:displayWidth(mils)/ ]
[ height:displayHeight(mils) ]
[ changedFlag ]
>
Table 1-16 PICTURE Comments (cont.) | |
---|---|
Element |
Meaning |
builtIn |
Obsolete as of 4.3. |
appId:appTypeCode |
An integer representing the Applixware application matching the inset. For example, if the inset is a graphics object of any type (e.g. GIF, JPEG, Applixware Graphics), the value will be 2, representing "Applixware Graphics". See the appTypeCode section below for more information. Note this value will be overridden by a similar specification in the inset field that references this object, if the field has such a specification. |
clipMode: clipModeCode |
This controls how the picture is scaled or clipped. Possible values are: 0: This is the default if "clipMode" is not specified. If the picture is in a frame, the picture is scaled to the size of the frame. If the frame has auto width or height or both, the corresponding width/height of the picture is not scaled, i.e., it is displayed at full size. In release 4.3 and before, if the picture is not in a frame, the picture is not scaled, but may be clipped if it is larger than the margins. As of release 4.4, the picture will be sized so its width exactly fits the column or cell it falls within3, and its height adjusted proportinately, even if the proportional flag is absent. However, the 4.3 behavior can be preserved (i.e. the picture only resizes if it is in a frame) by setting the wpNoInsetScaleToFit profile to 1. 1: The picture is clipped if it is larger than the frame (if the picture is within a frame) or the margins (if the picture is not in a frame). |
Note in release 4.2, a graphics inset in a cell was not clipped to the cell margins. As of release 4.3, any picture inset in a cell is clipped to the cell margins. As of release 4.4, the release 4.2 behavior can be recovered (i.e. an inset will not be clipped to the cell margins) by setting the wpNoClip profile to 1. The picture is scaled using the "xScale" and "yScale" attributes of the PICTURE bead, if any. | |
height:displayHeight (mils) |
Only used for filters. height and width define the display size of the picture, taking into account the source specification (or offsets and source size) and the scale factor. height and width are included only to provide conversion compatibility with foreign formats that require this information. Words will recalculate these values when the file is read and the object first displayed. |
name(string) |
This is a required field. For an embedded object, name matches the name in an object or graphic bead containing the data being displayed. For a linked inset, name represents the (absolute or relative) filename of the entity. As of release 4.3, name can be a URL. |
proportional |
If omitted, xScale and yScale can differ |
picSource:"elfStringArray" |
As of release 4.3, this format is used to indicate what portion of the inset to display. For a Graphics inset, this might describe a rectangular area within the object; for a Spreadsheet, a cell range, etc. This format represents an ELF array which will be different for each object type. For a Graphics inset, see gr_inset_source@ in graphic_.am. For a Spreadsheet inset, see ss_inset_source@ in spsheet_.am. For a Words inset, see wp_inset_source@ in wp_.am. For a Graphics inset only, if no picSource is specified, and any combination of xOffset, yOffset, srcWidth, and srcHeight are specified, these values are used to manufacture a picSource. |
srcHeight: srcHeight(mils) |
For a graphics inset only. If omitted, the entire height of the source object is used xOffset, yOffset, srcWidth, and srcHeight define the area of the source material used by the picture. As of 4.3, all insets will write their source specification data in picSource:"elfStringArray" format. |
srcWidth: srcWidth(mils) |
For a graphics inset only. If omitted, the entire width of the source object is used. See srcHeight for more information. |
width: displayWidth (mils) |
Only used for filters; see height for more information |
xOffset: xoffset(mils) |
For a graphics inset only. See srcHeight for more information |
xScale: xscale(float) |
If omitted, a default value of 1 is used xScale is the horizontal scale factor by which the source material will be scaled |
yOffset: yoffset(mils) |
For a graphics inset only. See srcHeight for more information |
yScale: yscale(float) |
If omitted, a default value of 1 is used yScale is the vertical scale factor by which the source material will be scaled |
< row_start /* abbrev: < RS */
[ justifyLeft | justifyRight | justifyCenter ]
[ leftIndent:indent(mils) ]
[ topRowMargin:margin(mils) ]
[ bottomRowMargin:margin(mils) ]
[ height:height(mils) | minHeight: height(mils) | maxHeight:height(mils) ]
[ heading ]
>
Table 1-17 ROW_START Comments (cont.) | |
---|---|
Element |
Meaning |
bottomRowMargin: margin(mils) |
Amount of whitespace below the row (before the next row or paragraph). Assumed to be zero if omitted. |
heading |
If present and this is the first row in the table, this row will be repeated as the first row on subsequent pages which contain rows of the same table This is a Release 4 feature |
height:height(mils) | minHeight:height(mils) | maxHeight:height(mils) |
If omitted, row is as high as the tallest cell; otherwise, the heights are as follows: height exactly
this tall |
justifyLeft | justifyRight | justifyCenter |
The default is left justified |
leftIndent |
If omitted, the row begins at the left column or margin |
topRowMargin: margin(mils) |
Amount of whitespace above the row (after the preceding row or paragraph). Assumed to be zero if omitted. |
< section
[ next_column | next_page | even_page | odd_page ]
[ landscape ]
pageWidth:width(mils)
pageHeight: height(mils)
[ paperSize:paperCode(int) ]
[ leftMargin:margin(mils) ]
[ rightMargin:margin(mils) ]
[ topMargin:margin(mils) ]
[ bottomMargin:margin(mils) ]
[ bindingMargin:margin(mils) ]
[ columns:columns(1-19) ]
[ gutterWidth:gutter(mils) ]
[ oddHeader:hdrFtrReference ]
[ evenHeader:hdrFtrReference ]
[ firstHeader:hdrFtrReference ]
[ lastHeader:hdrFtrReference ]
[ oddFooter:hdrFtrReference ]
[ evenFooter:hdrFtrReference ]
[ firstFooter:hdrFtrReference ]
[ lastFooter:hdrFtrReference ]
[ sectNumFmt:numstyle ]
[ sectNumCtl:sectnumctl ]
[ sectNumVal:sectnum(int) ]
[ sectPageSep:separator(string) ]
[ pageNumFmt:numstyle ]
[ pageNumCtl:pagenumctl ]
[ pageNumVal:pagenum(int) ]
[ printSourceTray:sourceTray(int) ]
[ printDestTray:destTray(int) ]
[ duplex:duplex(int) ]
>
The section and page numbering properties control the appearance of the page number fields that fall into the section (that is, before this section bead but after any preceding section beads). Page numbering consists of a page number, optionally preceded by a section number. Within the section, the page numbers increment, but the section number does not.
Table 1-18 SECTION Comments (cont.) | |
---|---|
Element |
Meaning |
bindingMargin: margin(mils) |
If the document is in "facing pages" mode, this margin is added to the inner margin of each page. If the document is not in "facing pages" mode, this margin is added to the left margin of each page. |
columns:columns(1-19) |
Single column if omitted |
duplex:duplex(int) |
Indication of whether the physical printing should occur on one or both sides of the paper. Note this is not related to the "facing pages" mode. The codes are: 0 = simplex (single-sided) print (the default) 1 = duplex (double-sided), long edge 2 = duplex (double-sided), short edge On a sheet of paper printed in duplex-long, the paper must be rotated about the long (vertical) axis in order to view the back right side up. In duplex-short, the paper must be rotated about the short (horizontal) axis to view the back right side up. This item did not exist in releases prior to release 4.2. |
gutterWidth:gutter(mils) |
The space left between columns, if the section has more than one column. |
landscape |
If omitted, the pages in the section are printed in normal (portrait) mode. If present, pages are printed in landscape mode. In landscape mode, all text and graphics is rotated 90 degrees with respect to the physical paper. |
leftMargin:margin(mils) rightMargin:margin(mils) topMargin:margin(mils) bottomMargin:margin(mils) |
The left, right, top, and bottom margins; that is, the whitespace between the main flow rectangle and the edge of the paper. Note the header and footer ignore the top and bottom margins. The margins are place relative to the direction of the text. In a portrait (normal) section of US Letter size, the top and bottom margins run along the short (8.5 inch) sides of the paper. In a landscape section of the same page size, the top and bottom margins run along the long (11 inch) sides of the paper. If the document is in "facing pages" mode, leftMargin represents the inner margin (i.e. the left margin of an odd page and the right margin of an even page) and rightMargin represents the outer margin. |
next_column | next_page | even_page | odd_page | Continuous |
If omitted, the default is Continuous |
oddHeader:hdrFtrReference... lastFooter:hdrFtrReference |
The status of the headers and footers on the first, odd, even, and last pages of the section. See hdrFtrReference for more information. |
pageWidth:width(mils), pageHeight:height(mils) |
Actual paper (page) size for pages that fall into this section. Will override paperSize (see below) if a mismatch occurs. Note that these values are not swapped when the document moves between portrait and landscape mode |
pageNumCtl:pagenumctl |
If omitted, increment last page in previous section pagenumctl is a Boolean controlling the value of the first page in the section. The code is as follows: 0 = increment last page in previous section |
pageNumFmt:numstyle |
If omitted, Arabic numbering is used |
pageNumVal:pagenum(int) |
If this is used, the page number to a specific value pagenum is an integer used as the value of the first page number in the section only when pagenumctl is set to 1 |
paperSize:paperCode(int) |
Code indicating desired paper size, as displayed in the Page Setup dialog box. Must be kept in synch with pageWidth and pageHeight (see above) as they control the actual values used for the page size. The code values are as follows: 1 = US Letter 2 = US Tabloid 3 = US Ledger 4 = US Legal 5 = US Statement 6 = US Executive 7 = US Envelope 10 8 = US Envelope 9 9 = US Envelope 6 10 = A3 11 = A4 12 = A5 13 = B4 14 = B5 15 = Envelope C4 16 = Envelope C5 17 = Envelope DIN |
printDestTray: destTray(int) |
Printer tray number into which printed paper is put during a print. Zero represents the default destination tray. This item did not exist in releases prior to release 4.2. |
printSourceTray: sourceTray(int) |
Printer tray number from which paper is drawn during a print. Zero represents the default source tray. This item did not exist in releases prior to release 4.2. |
sectNumCtl:sectnumctl |
If omitted, section numbering is the same as the previous section sectnumctl is an integer indicating the method of determining the value of the section numbering. The code numbers, corresponding to the WP#SECT#NUM# defines in wp_.am, are as follows: 0 = same value as previous section |
sectNumFmt:numstyle |
If omitted, no section numbering numstyle is an integer representing the section or page numbering format The code numbers, corresponding to the WP#NUMBERING# defines in wp_.am, are as follows: -1 =
no numbering Numbers larger than 1000 indicate document variables that define a macro for a custom series format (1000+N corresponds to document variable UserSeriesN) Refer to the UtilitiesÝ Edit Numbered Series Ý Custom Series dialog box for more information |
sectNumVal:sectnum(int) |
If used, the section number is forced to this value sectnum is the section numbering value when sectnumctl is set to 2 |
sectPageSep:separator(string) |
If omitted, the page separator is a hyphen separator is the string separating the section and page numbering; it is only displayed if both section and page numbering are displayed (that is, both numstyles are not -1) |
< series
name(string)
n0 n1 n2 n3 n4 n5 n6 n7 n8 n9
[ leader:leader(string) ]
[ trailer:trailer(string) ]
[ leaders0:leader (string) ]
[ leaders1:leader (string) ]
[ leaders2:leader (string) ]
[ leaders3:leader (string) ]
[ leaders4:leader (string) ]
[ leaders5:leader (string) ]
[ leaders6:leader (string) ]
[ leaders7:leader (string) ]
[ leaders8:leader (string) ]
[ leaders9:leader (string) ]
[ trailers0:trailer (string) ]
[ trailers1:trailer (string) ]
[ trailers2:trailer (string) ]
[ trailers3:trailer (string) ]
[ trailers4:trailer (string) ]
[ trailers5:trailer (string) ]
[ trailers6:trailer (string) ]
[ trailers7:trailer (string) ]
[ trailers8:trailer (string) ]
[ trailers9:trailer (string) ]
[ multiLevel ] /* Display single level only if omitted */
[ sep1:separator (string) ]
[ sep2:separator (string) ]
[ sep3:separator (string) ]
[ sep4:separator (string) ]
[ sep5:separator (string) ]
[ sep6:separator (string) ]
[ sep7:separator (string) ]
[ sep8:separator (string) ]
[ sep9:separator (string) ]
[ from1:level to show from(0-1) ]
[ from2:level to show from(0-2) ]
[ from3:level to show from(0-3) ]
[ from4:level to show from(0-4) ]
[ from5:level to show from(0-5) ]
[ from6:level to show from(0-6) ]
[ from7:level to show from(0-7) ]
[ from8:level to show from(0-8) ]
[ from9:level to show from(0-9) ]
>
Table 1-19 SERIES Comments (cont.) | |
---|---|
Element |
Meaning |
name(string) |
Name of the series. |
n0...n9 (int) |
Integers representing the format of the levels of the series. The level of an instance of the series is, by default, determined by the level of the paragraph the series field falls within. The code numbers, corresponding to the WP#NUMBERING# defines in wp_.am, are as follows: -1 =
no numbering Numbers larger than 1000 indicate document variables which define a macro for a custom series format (1000+N corresponds to document variable UserSeriesN); refer to the Utilities Ý Edit Numbered Series Ý Custom Series dialog box for more information |
leader: leader (string) |
If present, the string to be displayed before the series number(s) or letter(s). |
trailer: trailer (string) |
If present, the string to be displayed after the series number(s) or letter(s). |
leaders0...leaders9: leader (string) |
Strings representing individual leaders for particular levels of the series. These can be used as an alternative to, or in addition to, the global leader. If a series at a particular level has a level-dependent leader as well as a global leader, the global leader precedes the level-dependent leader. This feature was implemented in release 4.0 |
trailers0...trailers9: trailer (string) |
Strings representing individual trailers for particular levels of the series. These can be used as an alternative to, or in addition to, the global trailer. If a series at a particular level has a level-dependent trailer as well as a global trailer, the global trailer follows the level-dependent trailer. This feature was implemented in release 4.0 |
multilevel |
If omitted, only display single level |
from1...from9: level to show from (int) |
Numbers representing, for a particular level, which higher levels to display. For example, if the formats for levels 0, 1, and 2 are "A", "a", and "i" respectively, the following would be displayed at level 2: Flag displayed from2:2 i from2:1 a.i from2:0 A.a.i These flags are only serviced when the multilevel flag is set. |
sep1...sep9: separator (string) |
Strings representing individual separators between particular levels of the series. These separators are only displayed when the multilevel flag is set, and the from flag for the given level specifies the display of higher levels. The separator for a given level precedes the string for that level, if the next-higher level is also being displayed. |
< style
name(string)
parent name(string)
[ nextStyle name(string) ]
[ borderAttributes ]
[ frameAttributes ]
[ glossary name(string)] /* Style has no leading glossary if omitted*/
[ paraAttributes ]
[ tabDefinitions ]
[ textAttributes ]
>
Table 1-20 STYLE Comments (cont.) | |
---|---|
Element |
Meaning |
glossary name(string) |
If present, name of glossary to be inserted before each instance of a paragraph that uses this style (e.g. a glossary containing a bullet, or a numbered series field). |
name(string) |
Name of current style. All styles in a document must have unique names. The first style in a document should be the top-level style, from which all other styles should be directly or indirectly descended. |
nextStyle name(string) |
Name of style to be used when user puts cursor at the end of a paragraph of current style and hits return, thus creating a new, empty paragraph. If omitted, the current style will be used. |
parent name(string) |
This is required except for the top-level style where it is omitted The top-level style does not have itself for a parent |
< start_styles >
< end_styles >
< text /* abbrev: < T */
text(string)
[ textAttributes ]
[ changedFlag ]
>
Table 1-21 TEXT Comments (cont.) | |
---|---|
Element |
Meaning |
text(string) |
This cannot be empty; if it is, the bead is discarded |
changedFlag |
(Change bar operations only) If present, it always occurs just before the ">" |
< start_vars >
< end_vars >
This section describes the properties of the supported statements. The properties are listed in alphabetical order. Generally, properties are optional and have a default value when they are omitted. The formatting conventions from the "Supported Statements" section are also used here.
appTypeCode is an integer representing an Applixware application type. The same coding system is used by the AX_APP_TYPE_FROM_DOC_TYPE@ macro; some of the common codes are:
1= Words
2= Graphics
3= Spreadsheets
4= Macros
5= Audio
6= Bitmap
10= Data
12 = Equations
14 = HTML Author
See app_ids_.am for more codes.
asciiData
<start_data ascii >
asciiData
<end_data>
asciiData is printable ASCII characters. Newlines are ignored. To make a newline in the data, use \n. The maximum line length is 1000 characters. The following are the other escape sequences:
\t tab
\< left angle bracket
\> right angle bracket
\\ backslash
\* asterisk
See the section on Wide and Multi-byte Characters earlier in this chapter for a discussion of the treatment of other 8-bit and special characters.
In Release 4.0 and beyond, ASCII data that extends across multiple lines should be in continuation line format, with a backslash at the end of each line (except for the last line), and a space at the beginning of each line (except the first line). For example:
<start_data ascii >
Here is the first line.\nHere is the second line; no\
te the backslash and leading space. Here is the las\
t line which has no final backslash.
<end_data>
Prior to Release 4.0, continuation line format was not used for ASCII data. For example:
<start_data ascii >
Here is the first line in 3.11 format.\nHere is th
e second line; note there are no trailing backslas
hes or leading spaces in this version.
<end_data>
It is important that the format of the ASCII data be appropriate for the version number in the document header (use continuation lines when the version number is 400 or larger).
binaryData
<start_data binary >
hexData
<end_data>
hexData is any binary data where bytes are represented by two hexadecimal digits. New lines are ignored. The maximum line length is 1000 characters.
borderAttributes
See the sections CELL_END, PARA, and STYLE.
bottomBorder:thickness(mils) :double(bool):color(string) /* or bB:*/
dropShadow:shadingStyle
horizontal:thickness(mils) :double(bool):color(string) /* or hB:*/
horizontalMargin:margin(mils)
leftBorder:thickness(mils):double(bool):color(string) /* or lB :*/
rightBorder:thickness(mils) :double(bool):color(string) /* or rB :*/
shading:shadingStyle:foregroundcolor(string):backgroundcolor(string)
topBorder:thickness(mils) :double(bool):color(string) /* or tB :*/
verticalBorder:thickness(mils) :double(bool):color(string) /* or vB:*/
verticalMargin:margin(mils)
shadingStyle is an integer representing the desired shading pattern, as defined by the WP#SHADING# defines in wp_.am. WP#SHADING#NONE, or integer value 18, is the default.
changedFlag
See the sections PARA and TEXT.
Changes:added | deleted | changed
This property controls the type of change bar to be displayed adjacent to the line containing the statement. If omitted, no change bar is displayed.
docTypeCode
See OBJECT for information on docTypeCodes.
elfData
See DOC_VARIABLE and elfDataArray.
value(int) | value(float) | value(string) | binaryData | elfDataArray
elfDataArray
See elfData in the previous section.
<
elfData...
>
elfString
See PICTURE and elfStringArray.
value(int) | value(float) | value(string) | ~ | elfDataArray
Table 1-22 elfString Comments (cont.) | |
---|---|
Element |
Meaning |
~ |
The tilde character '~' represents a NULL element in an array. |
elfStringArray
See elfString in the previous section.
<
elfString...
>
frameAttributes
See the PARA and STYLE sections.
bottomFrameMargin: margin(mils)
frameMargin: margin(mils) */
height:height(mils) | minHeight:height(mils) | maxHeight: height(mils)
jumpOver | background /* Frame type; omit for default (flow around) */
leftFrameMargin: margin(mils)
noFrame /* If present, para has no frame */
rightFrameMargin: margin(mils)
topFrameMargin: margin(mils)
width:framewidth(mils)
xpos:position(mils)
xposMarginRelative | xposColumnRelative
xposTypeCenter | xposTypeRight | xposTypeOutside | xposTypeInside
ypos:position(mils)
yposMarginRelative | yposParaRelative
yposTypeCenter | yposTypeBottom
Table 1-23 frameAttributes Comments (cont.) | |
---|---|
Element |
Meaning |
frameMargin: margin(mils) |
If present, it is the value to which all four margins are set |
height:height(mils) | minHeight:height(mils) |
If omitted, the height will be autosized |
jumpOver | background |
Frame type; omit for the default, which is flow around |
noFrame |
If present, the paragraph does not have a frame |
width:framewidth(mils) |
If omitted, the width will be autosized |
xposMarginRelative | xposColumnRelative |
Relative to (horizontally); omit for default, which is page |
xposTypeCenter | xposTypeRight | xposTypeOutside | xposTypeInside |
Horizontal alignment; omit for the default, which is left align |
yposMarginRelative | yposParaRelative |
If omitted, the height is autosized |
yposTypeCenter | yposTypeBottom |
Vertical alignment; omit for default, which is top align |
hdrFtrReference
inherit
| none
| Normal:hdrftrName(string)
|
UseGlossary: glossaryName(string)
Table 1-24 hdrFtrReference Comments | |
Element |
Meaning |
glossaryName |
Match the name in a GLOSSARY_BEGIN statement |
hdrftrName |
Match the name in a HDRFTR_BEGIN statement. The name should be of the format "_AX_HF_#", where # is a number; For example: "_AX_HF_1" |
inherit |
Inherit from the previous section |
none |
Do not use a header or footer of this type in this section |
paraAttributes
Note that if properties are missing, then the values are inherited.
firstIndent:indent(mils)
hyphMinFrag:frag(# of chars)
hyphZone:zone(mils)
indentToLevel | no-indentToLevel
justifyLeft | justifyRight | justifyCenter | justifyFull
leftIndent:indent(mils)
level:level(0-10)
lineSpacing:spacing (mils)
lineSpacingMode:mode
lineSpacingCountHeight:value (number, mils)
lineSpacingSep:value (mils)
no-keepWith | keepWith
postParaSpacing:spacing(mils)
preParaSpacing:spacing(mils)
rightIndent:indent(mils)
spellcheck | no-spellcheck
Table 1-25 paraAttributes Comments (cont.) | |
---|---|
Element |
Meaning |
indentToLevel |
If indenting, add an extra indent of |
level |
Levels are 1-based in the user interface; however, they are zero-based in the file |
lineSpacing |
Spacing is a number specifying leading. Retained for compatibility with versions earlier than 4.4.2. |
lineSpacingMode |
Mode is a number specifying "multiple-line", "exact", or "at least" line spacing mode. |
lineSpacingCountHeight |
"Multiple-line" mode:
Value is number of lines, in 1000ths of lines (1000 = single). |
lineSpacingSep |
"Multiple-line" mode only. Value is added to space between bottom and top of consecutive lines. |
tabDefinitions
See PARA, STYLE
localTabs
[tabStop]...
Table 1-26 tabDefinitions Comments (cont.) | |
---|---|
Element |
Meaning |
localTabs |
If omitted, all tabs are inherited; otherwise, no tabs are inherited |
tabStop |
Set of tabs if tabs are not inherited |
tabStop
See tabDefinitions
A tabstop definition consists of one of the following:
centerTab:position(mils)) [:leaders(string) ] /* abbrev cT */
/* abbrev dT */
decimalTab:position:alignChar(string) [:leaders(string) ]
leftTab:position(mils) [:leaders(string) ]
/* abbrev: lT */
rightTab:position(mils) [:leaders(string) ]
/* abbrev rT */
Table 1-27 tabStop Comments (cont.) | |
---|---|
Element |
Meaning |
alignChar |
A string containing a single character; the matching character in the text following a tab will align at this tab stop An alignChar is required in a decimal tab |
leaders |
The string that is replicated along the length of the tab up to the tabbed text; if omitted, the tab has no leader |
textAttributes
See PARA, STYLE
Note that if properties are missing, values are inherited.
bold | no-bold
color:name(string)
face: name(string)
hyphenate | no-hyphenate
italic | no-italic
no-underline | underline | double-underline | word-underline |double-word-underline | underline-no-tabs | double-underline-no-tabs
position:offset (points)
size: size(points)
strikethru | no-strikethru
Table 1-28 textAttributes Comments (cont.) | |
---|---|
Element |
Meaning |
offset |
A positive number is a superscript; a negative number is a subscript |
Equations uses two different formats. One format is used when the equation is contained as an embedded object; the second is used when the object is localized.
The following is the sequence of statements used when Equation information is stored as an embedded object.
document = DOCUMENT_BEGIN
[ EQUATION-SETTINGS ]
equation
DOCUMENT_END
equation = EQUATION_BEGIN
[ TEMPLATE ]
EQUATION_END
subequations = [ equation ] ...
The following format is used when an Equation object is localized:
equationBead =
EQUATION_BEAD_BEGIN
[ EQUATION-SETTINGS ]
equation
EQUATION_BEAD_END
*BEGIN4 EQUATIONS
VERSION=vnum ENCODING=encoding
<APPLIX EQUATIONS>
<end_document>
*END EQUATIONS
>
<equation
<eqn_begin
[ pileAlign ]
[ matrixRowAlign ]
[ matrixColAlign ]
>
<eqn_end>
fullSize: fontSize(points)
subSize: fontSize(points)
subSubSize: fontSize(points)
symbolSize: fontSize(points)
subSymbolSize: fontSize(points)
lineSpace: percent | amount(points)
matrixRowSpace: percent | amount(points)
matrixColSpace: percent | amount(points)
subscriptDepth: percent | amount(points)
superscriptHeight: percent | amount(points)
limitHeight: percent | amount(points)
Only amounts that differ from their default values are stored in a file. A negative spacing attribute value represents a relative value in percent of the fontHeight of the font with a size=fullSize.
The following are the default value for each of these equation settings:
Table 1-29 Equation Setting Defaults (cont.) | |
---|---|
Element |
Default Value |
fullSize |
12 points |
subSize |
8 points |
subSubSize |
6 points |
symbolSize |
24 points |
subSymbolSize |
18 points |
lineSpace |
-150 |
matrixRowSpace |
-150 |
matrixColSpace |
-100 |
subscriptDepth |
-40 |
superscriptHeight |
-20 |
limitHeight |
-20 |
<tmpl
template-type
[ xnudge: amount(mils) ]
[ ynudge: amount(mils) ]
>
subequations...
The number of subequations depends on the type of template.
leftAlign | centerAlign | rightAlign | equalsAlign | markerAlign | decimalAlign
Only a matrixColAlign attribute that differs from the default is saved in a file. The default value is leftAlign.
topAlign | centerAlign | bottomAlgin | baselineAlign
Only a matrixRowAlign attribute that differs from the default is saved in a file. The default value is topAlign.
leftAlign | centerAlign | rightAlign | equalsAlign | markerAlign | decimalAlign
Only a pileAlign attribute that differs from the default is saved in a file. The default value is leftAlign.
symbol { string
| char:asciiCode(num)
| space:amount(mils)
| alignMarker } |
relSymbol { string | char:asciiCode(num)
} |
greekSymbol {string
| char:asciiCode(num) }
A symbol template is a simple template. That is, it is a template whose contents do not contain any subequations. All adjacent symbol templates with similar properties are normally combined to form string.
Automatic mathematical function recognition is performed upon symbols.
To qualify for a function name, all the letters in the function should exist as symbol templates with no attribute exceptions. In addition, they must all be adjacent.
Non-printable characters are stored with a char:asciiCode description.
AlignMarker and spaces (which are also simple templates) are treated as symbol templates.
greekSymbol and relSymbol are derived from symbol templates; however, their default font is Symbol.
no-bold
| bold
no-italic | italic
face: fontName(name)
size: fontSize(pts)
Only attributes which differ from their default values are stored in a file. The default values for these properties are:
Table 1-30 symbolAttribute Defaults (cont.) | |
---|---|
Element |
Default Value |
no-bold | bold |
no-bold |
no-italic | italic |
italic |
face: fontName(name) |
Times |
size: fontSize(pts) |
fullSize |
symbol [ symbol-attributes ] |
paren | ltparen | rtparen |
brace | ltbrace | rtbrace |
bracket | ltbracket | rtbracket |
vert | ltvert | rtvert |
dblvert | ltdblvert | rtdblvert |
floor | ltfloor | rtfloor |
ceil | ltceil | rtceil|
ltltbracket | rtrtbracket | oppBracket |
parenBracket | bracketParen |
underbar | dblunderbar |
overbar | dbloverbar |
over | divide | slash | by | vertslash |
sqrt | nroot |
sub | sup | subsup | ltsub | ltsup | ltsubsup |
script | scriptup | scriptdn| scriptupdn |
sum
| sumup
| sumdn
| sumupdn
| sumsup
| sumsub
|
sumsubsup |
prod
| produp
| proddn
| produpdn
| prodsup
| prodsub
|
prodsubsup |
cup | cupup | cupdn | cupupdn | cupsup | cupsub | cupsubsup |
cap | capup | capdn | capupdn | capsup | capsub | capsubsup |
int | intup | intdn | intupdn | intsup | intsub | intsubsup |
tint | tintup | tintdn | tintupdn | tintsup | tintsub | tintsubsup |
thint
| thintup
| thintdn
| thintupdn
| thintsup
| thintsub |
thintsubsup |
oint | ointup | ointdn | ointupdn | ointsup | ointsub | ointsubsup |
ltarrowup | rtarrowup | ltrtarrowup |
ltarrowdn | rtarrowdn | ltrtarrowdn |
matrix matrixRows:number MatrixCols: number
[matrixRowAlign: topAlign | centerAlign | bottomAlign | baselineAlign ]
[matrixColAlign: leftAlign | centerAlign | rightAlign | equalsAlign | markerAlign | decimalAlign ]
[equalRowHeights] [equalColWidths] |
eqn_break
The following table describes various template types and the number of subequations they contain.
Table 1-31 Template Descriptions (cont.) | ||
---|---|---|
Types |
# |
Description |
symbol |
0 |
symbol, relSymbol, greekSymbol, space, alignMarker are members of this template, which are simple templates |
eqn_break |
1 |
Piles of equations are built with eqn_break template as the separator between equations |
fences |
1 |
paren, ltparen, rtparen, brace, ltbrace, rtbrace, bracket, ltbracket, rtbracket, vert, ltvert, rtvert, dblvert, ltdblvert, rtdblvert, underbar, dblunderbar, overbar, dbloverbar, floor, ltfloor, rtfloor, ceil, ltceil, rtceil, ltltbracket, rtrtbracket, and oppBracket are members of the fences template The size of the subequation is fullsize |
fraction |
2 |
over, divide, slash, by and vertslash are members of the fraction template The order of equations stored in files is: [numerator][denominator] The size of both subequations is fullSize |
sqrt |
* |
sqrt(1), nroot(2) are members of the sqrt template The number in parentheses indicates the number of subequations these templates contain. The order of equations stored in files is: Size of `body' equation is fullSize The size of `nroot' equation is subSize |
script |
* |
script(1), scriptup(2), scriptdn(2) and scriptupdn(3) are members of the script templates. The number in parenthesis indicates the number of subequations these templates contain The order of equations stored in files
is : The size of `body' equation is fullSize The size of both the limit equations is subSize |
summation |
* |
sum(1), sumup(2),
sumdn(2), sumupdn(3), sumsup(2), sumsub(2), sumsubsup(3) The order of equations stored is: The size of `body' equation is fullSize and size of both the limit equations is subSize |
subscript/ superscript |
* |
sub(1), sup(1), subsup(2), ltsub(1), ltsup(1) , and ltsubsup(2) are members of the subscript/superscript template The order of equations stored is: The size of both the script equations is subSize |
label-arrows |
1 |
ltarrowup, rtarrowup, ltrtarrowup, ltarrowdn, rtarrowdn, ltrtarrowdn are members of the label-arrows template Size of the subequation is subSize |
matrix |
* |
Total number of subequations inside a matrix of m rows and n cols is m x n The order of equations stored in files is row major ; that is, elements in the top row are stored first from left-column to right-column and then the second row and then the third row and so on All subequations are created with fullSize |
* An asterisk in the second column indicates the number of subequations is variable and is described in 'description' column.