Diff for /Amaya/doc/languages.html between versions 1.33 and 1.34

version 1.33, 2000/12/26 16:32:37 version 1.34, 2000/12/28 15:26:27
Line 15 Line 15
   
 <h4>Translated from French by Ethan Munson</h4>  <h4>Translated from French by Ethan Munson</h4>
   
 <h4>Version of December 26, 2000</h4>  <h4>Version of December 28, 2000</h4>
   
 <p>© 1996-2000 INRIA</p>  <p>© 1996-2000 INRIA</p>
 <hr>  <hr>
Line 70 Line 70
             schemas</a></li>              schemas</a></li>
           <li><a href="#sectc324">The default presentation</a></li>            <li><a href="#sectc324">The default presentation</a></li>
           <li><a href="#sectc325">Global Attributes</a></li>            <li><a href="#sectc325">Global Attributes</a></li>
           <li><a href="#sectc326">Parameters</a></li>  
           <li><a href="#sectc327">Structured elements</a></li>            <li><a href="#sectc327">Structured elements</a></li>
           <li><a href="#sectc328">Structure definitions</a>            <li><a href="#sectc328">Structure definitions</a>
             <ul>              <ul>
Line 107 Line 106
           <li><a href="#sectc413">Views and visibility</a></li>            <li><a href="#sectc413">Views and visibility</a></li>
           <li><a href="#sectc414">Pages</a></li>            <li><a href="#sectc414">Pages</a></li>
           <li><a href="#sectc415">Numbering</a></li>            <li><a href="#sectc415">Numbering</a></li>
           <li><a href="#sectc416">Presentation parameters</a></li>            <li><a href="#sectc416">Presentation properties</a></li>
         </ul>          </ul>
       </li>        </li>
       <li><strong><a href="#sectb42">Presentation description        <li><strong><a href="#sectb42">Presentation description
Line 173 Line 172
           <li><a href="#sectc4223">Page breaking and line breaking            <li><a href="#sectc4223">Page breaking and line breaking
             conditions</a></li>              conditions</a></li>
           <li><a href="#sectc4224">Visibility</a></li>            <li><a href="#sectc4224">Visibility</a></li>
           <li><a href="#sectc4225">Character style parameters</a>            <li><a href="#sectc4225">Character style properties</a>
             <ul>              <ul>
               <li><small><a href="#sectd42251">Character size</a></small></li>                <li><small><a href="#sectd42251">Character size</a></small></li>
               <li><small><a href="#sectd42252">Font and character                <li><small><a href="#sectd42252">Font and character
Line 221 Line 220
                 position of the element</a></small></li>                  position of the element</a></small></li>
               <li><small><a href="#sectd5282">Conditions on                <li><small><a href="#sectd5282">Conditions on
                 references</a></small></li>                  references</a></small></li>
               <li><small><a href="#sectd5283">Conditions on the  
                 parameters</a></small></li>  
               <li><small><a href="#sectd5284">Conditions on the                <li><small><a href="#sectd5284">Conditions on the
                 alphabets</a></small></li>                  alphabets</a></small></li>
               <li><small><a href="#sectd5285">Conditions on page                <li><small><a href="#sectd5285">Conditions on page
                 breaks</a></small></li>                  breaks</a></small></li>
               <li><small><a href="#sectd5286">Conditions on the element's                <li><small><a href="#sectd5286">Conditions on the element's
                 content</a></small></li>                  content</a></small></li>
               <li><small><a href="#sectd5287">Conditions on the presence of  
                 comments</a></small></li>  
               <li><small><a href="#sectd5288">Conditions on the presence of                <li><small><a href="#sectd5288">Conditions on the presence of
                 specific presentation rules</a></small></li>                  specific presentation rules</a></small></li>
               <li><small><a href="#sectd5289">Conditions on the presence of                <li><small><a href="#sectd5289">Conditions on the presence of
Line 1231  followed by a semicolon.</p> Line 1226  followed by a semicolon.</p>
 <p>In the case of a complete schema (that is, a schema which is not an  <p>In the case of a complete schema (that is, a schema which is not an
 extension), the definition of the name of the structure is followed by the  extension), the definition of the name of the structure is followed by the
 declarations of the default presentation schema, the global attributes, the  declarations of the default presentation schema, the global attributes, the
 parameters, the structure rules, the associated elements, the units, the  structure rules, the associated elements, the units, the skeleton elements and
 skeleton elements and the exceptions.  Only the definition of the structure  the exceptions.  Only the definition of the structure rules is required.  Each
 rules is required.  Each series of declarations begins with a keyword:  series of declarations begins with a keyword: <tt>DEFPRES</tt>, <tt>ATTR</tt>,
 <tt>DEFPRES</tt>, <tt>ATTR</tt>, <tt>PARAM</tt>, <tt>STRUCT</tt>,  <tt>STRUCT</tt>, <tt>ASSOC</tt>, <tt>UNITS</tt>, <tt>EXPORT</tt>,
 <tt>ASSOC</tt>, <tt>UNITS</tt>, <tt>EXPORT</tt>, <tt>EXCEPT</tt>.</p>  <tt>EXCEPT</tt>.</p>
   
 <p>In the case of an extension schema, there are neither parameters nor  <p>In the case of an extension schema, there are no skeleton elements and the
 skeleton elements and the <tt>STRUCT</tt> section is optional, while that  <tt>STRUCT</tt> section is optional, while that section is required in a
 section is required in a schema that is not an extension.  On the other hand,  schema that is not an extension.  On the other hand, extension schemas can
 extension schemas can contain an <tt>EXTENS</tt> section, which must not  contain an <tt>EXTENS</tt> section, which must not appear in a schema which is
 appear in a schema which is not an extension; this section defines the  not an extension; this section defines the complements to attach to the rules
 complements to attach to the rules found in the schema to which the extension  found in the schema to which the extension will be added. The sections
 will be added. The sections <tt>ATTR</tt>, <tt>STRUCT</tt>, <tt>ASSOC</tt>,  <tt>ATTR</tt>, <tt>STRUCT</tt>, <tt>ASSOC</tt>, and <tt>UNITS</tt> define new
 and <tt>UNITS</tt> define new attributes, new elements, new associated  attributes, new elements, new associated elements, and new units which add
 elements, and new units which add their definitions to the principal  their definitions to the principal schema.</p>
 schema.</p>  
 <pre>     StructSchema ='STRUCTURE' ElemID ';'  <pre>     StructSchema ='STRUCTURE' ElemID ';'
                    'DEFPRES' PresID ';'                     'DEFPRES' PresID ';'
                  [ 'ATTR' AttrSeq ]                   [ 'ATTR' AttrSeq ]
                  [ 'PARAM' RulesSeq ]  
                    'STRUCT' RulesSeq                     'STRUCT' RulesSeq
                  [ 'ASSOC' RulesSeq ]                   [ 'ASSOC' RulesSeq ]
                  [ 'UNITS' RulesSeq ]                   [ 'UNITS' RulesSeq ]
Line 1352  declared attribute: the system acts as i Line 1345  declared attribute: the system acts as i
 </div>  </div>
   
 <div class="subsection">  <div class="subsection">
 <h3><a name="sectc326">Parameters</a></h3>  
   
 <p>A parameter is a document element which can appear many times in the  
 document, but always has the same value.  This value can only be modified in a  
 controlled way by certain applications.  For example, in an advertising  
 circular, the name of the recipient may appear in the address part and in the  
 text of the circular.  If the recipient's name were a parameter, it might only  
 be able to be changed by a ``mail-merge'' application.</p>  
   
 <p>Parameters are not needed for every document class, but if the schema  
 includes parameters they are declared after the keyword <tt>PARAM</tt>. Each  
 parameter declaration is made in the same way as a <a  
 href="#sectc327">structure element declaration</a>.</p>  
   
 <p>During editing, Thot permits the insertion of parameters wherever the  
 structure schema allows; it also permits the removal of parameters which are  
 already in the document but does not allow the modification of the parameter's  
 content in any way.  The content is generated automatically by Thot during the  
 creation of the parameter, based on the value of the parameter in the  
 document.</p>  
 </div>  
   
 <div class="subsection">  
 <h3><a name="sectc327">Structured elements</a></h3>  <h3><a name="sectc327">Structured elements</a></h3>
   
 <p>The rules for defining structured elements are required, except in an  <p>The rules for defining structured elements are required, except in an
Line 2674  type, whereas all fraction bars are hori Line 2644  type, whereas all fraction bars are hori
 </div>  </div>
   
 <div class="subsection">  <div class="subsection">
 <h3><a name="sectc416">Presentation parameters</a></h3>  <h3><a name="sectc416">Presentation properties</a></h3>
   
 <p>The principal parameters which determine document presentation are the  <p>The principal properties which determine document presentation are the
 <em>positions</em> and <em>dimensions</em> of boxes, the <em>font</em>, the  <em>positions</em> and <em>dimensions</em> of boxes, the <em>font</em>, the
 <em>style</em>, the <em>size</em>, the <em>underlining</em> and the  <em>style</em>, the <em>size</em>, the <em>underlining</em> and the
 <em>color</em> of their content.  From these parameters, and some others of  <em>color</em> of their content.  From these properties, and some others of
 less importance, it is possible to represent the usual typographic parameters  less importance, it is possible to represent the usual typographic properties
 for the textual parts of the document.  These same parameters can be used to  for the textual parts of the document.  These same properties can be used to
 describe the geometry of the non-textual elements, even though they are  describe the geometry of the non-textual elements, even though they are
 two-dimensional elements unlike the text, which is linear.</p>  two-dimensional elements unlike the text, which is linear.</p>
   
 <p>As we have already  seen, the positions of the boxes always respect the  <p>As we have already  seen, the positions of the boxes always respect the
 rule of enclosure: a box in the tree encloses all the boxes of the next lower  rule of enclosure: a box in the tree encloses all the boxes of the next lower
 level which are attached to it.  The positional parameters permit the  level which are attached to it.  The positional properties permit the
 specification of the position of each box in relation to the enclosing box or  specification of the position of each box in relation to the enclosing box or
 to its sibling boxes (boxes directly attached to the same enclosing box in the  to its sibling boxes (boxes directly attached to the same enclosing box in the
 tree of boxes).</p>  tree of boxes).</p>
   
 <p>The presentation parameters also provide control over the dimensions of the  <p>The presentation properties also provide control over the dimensions of the
 boxes.  The dimensions of a box can depend either on its content or on its  boxes.  The dimensions of a box can depend either on its content or on its
 context (its sibling boxes and the enclosing box). Each dimension (height or  context (its sibling boxes and the enclosing box). Each dimension (height or
 width) can be defined independently of the other.</p>  width) can be defined independently of the other.</p>
   
 <p>Because of the position and dimension parameters, it is possible to do the  <p>Because of the position and dimension properties, it is possible to do the
 same things that are normally done in typography by changing margins, line  same things that are normally done in typography by changing margins, line
 lengths, and vertical or horizontal skips.  This approach can also align or  lengths, and vertical or horizontal skips.  This approach can also align or
 center elements and groups of elements.</p>  center elements and groups of elements.</p>
   
 <p>In contrast to the position and dimension parameters, the font, style,  <p>In contrast to the position and dimension properties, the font, style,
 size, underlining, and color do not concern the box itself (the rectangle  size, underlining, and color do not concern the box itself (the rectangle
 delimiting the element), but its content.  These parameters indicate the  delimiting the element), but its content.  These properties indicate the
 typographic attributes which must be applied to the text contained in the box,  typographic attributes which must be applied to the text contained in the box,
 and by extension, to all base elements.</p>  and by extension, to all base elements.</p>
   
 <p>For text, the font parameter is used to change the family of characters  <p>For text, the font property is used to change the family of characters
 (Times, Helvetica, Courier, etc.); the style is used to obtain italic or  (Times, Helvetica, Courier, etc.); the style is used to obtain italic or
 roman, bold or light characters;  the size determines the point size of the  roman, bold or light characters;  the size determines the point size of the
 characters; underlining defines the type and thickness of the lines drawn  characters; underlining defines the type and thickness of the lines drawn
 above, below, or through the characters.</p>  above, below, or through the characters.</p>
   
 <p>For graphics, the line style parameter can be either solid, dotted, or  <p>For graphics, the line style property can be either solid, dotted, or
 dashed; the line thickness parameter controls the width of the lines; the fill  dashed; the line thickness property controls the width of the lines; the fill
 pattern parameter determines how closed geometric figures must be filled.</p>  pattern property determines how closed geometric figures must be filled.</p>
   
 <p>While some of the parameters which determine the appearance of a box's  <p>While some of the properties which determine the appearance of a box's
 contents make sense only for one content type (text or graphic), other  contents make sense only for one content type (text or graphic), other
 parameters apply to all content types: these are the color parameters. These  properties apply to all content types: these are the color properties. These
 indicate the color of lines and the background color.</p>  indicate the color of lines and the background color.</p>
 </div>  </div>
 </div>  </div>
Line 2728  indicate the color of lines and the back Line 2698  indicate the color of lines and the back
 <div class="section">  <div class="section">
 <h2><a name="sectb42">Presentation description language</a></h2>  <h2><a name="sectb42">Presentation description language</a></h2>
   
 <p>A generic presentation defines the values of presentation parameters (or  <p>A generic presentation defines the values of presentation properties (or
 the way to calculate those values) for a generic structure, or more precisely,  the way to calculate those values) for a generic structure, or more precisely,
 for all the element types and all the global and local attributes defined in  for all the element types and all the global and local attributes defined in
 that generic structure.  This definition of the presentation parameters is  that generic structure.  This definition of the presentation properties is
 made with the P language.  A program written in this language, that is a  made with the P language.  A program written in this language, that is a
 generic presentation expressed in P, is call a <em>presentation schema</em>.  generic presentation expressed in P, is call a <em>presentation schema</em>.
 This section describes the syntax and semantics of the language, using the  This section describes the syntax and semantics of the language, using the
Line 3257  concerned by the function.</p> Line 3227  concerned by the function.</p>
   
 <p>In order to avoid having to specify, for each element type defined in the  <p>In order to avoid having to specify, for each element type defined in the
 structure schema, values for every one of the numerous presentation  structure schema, values for every one of the numerous presentation
 parameters, the presentation schema allows the definition of a set of default  properties, the presentation schema allows the definition of a set of default
 presentation rules.  These rules apply to all the boxes of the elements  presentation rules.  These rules apply to all the boxes of the elements
 defined in the structure schema and to the presentation boxes and page layout  defined in the structure schema and to the presentation boxes and page layout
 boxes defined in the presentation schema.  Only rules which differ from these  boxes defined in the presentation schema.  Only rules which differ from these
 default need to be specified in other sections of the presentation schema.</p>  default need to be specified in other sections of the presentation schema.</p>
   
 <p>For the primary view, the default rules can define every presentation  <p>For the primary view, the default rules can define every presentation
 parameter, but not the <a href="#presfunct">presentation functions</a> or the  property, but not the <a href="#presfunct">presentation functions</a> or the
 <a href="#sectc4223">linebreaking conditions</a> (the <tt>NoBreak1</tt>,  <a href="#sectc4223">linebreaking conditions</a> (the <tt>NoBreak1</tt>,
 <tt>NoBreak2</tt>, and <tt>Gather</tt> rules).</p>  <tt>NoBreak2</tt>, and <tt>Gather</tt> rules).</p>
   
Line 4015  conditions are syntactically correct but Line 3985  conditions are syntactically correct but
 <div class="subsection">  <div class="subsection">
 <h3><a name="sectc4215">A presentation rule</a></h3>  <h3><a name="sectc4215">A presentation rule</a></h3>
   
 <p>A presentation rule defines either a presentation parameter or presentation  <p>A presentation rule defines either a presentation property or presentation
 function.  The parameters are:</p>  function.  The properties are:</p>
 <ul>  <ul>
   <li>the position of the vertical and horizontal reference axes of the    <li>the position of the vertical and horizontal reference axes of the
   box,</li>    box,</li>
Line 4046  function.  The parameters are:</p> Line 4016  function.  The parameters are:</p>
   <li>the display of a background picture and its aspect.</li>    <li>the display of a background picture and its aspect.</li>
 </ul>  </ul>
   
 <p>For each box and each view, every presentation parameter is defined once  <p>For each box and each view, every presentation property is defined once and
 and only once, either explicitly or by the <a href="#sectc427">default  only once, either explicitly or by the <a href="#sectc427">default rules</a>.
 rules</a>. In contrast, presentation functions are not obligatory and can  In contrast, presentation functions are not obligatory and can appear many
 appear many times for the same element.  for example an element can create  times for the same element.  for example an element can create many
 many presentation boxes.  Another element may not use any presentation  presentation boxes.  Another element may not use any presentation
 functions.</p>  functions.</p>
   
 <p>Each rule defining a presentation parameter begins with a keyword followed  <p>Each rule defining a presentation property begins with a keyword followed
 by a colon.  The keyword indicates the parameter which is the subject of the  by a colon.  The keyword indicates the property which is the subject of the
 rule. After the keyword and the colon, the remainder of the rule varies.  All  rule. After the keyword and the colon, the remainder of the rule varies.  All
 rules are terminated by a semicolon.</p>  rules are terminated by a semicolon.</p>
 <pre>     Rule      = PresParam ';' / PresFunc ';' .  <pre>     Rule      = Property ';' / PresFunc ';' .
      PresParam ='VertRef' ':'       PositionHoriz /       Property  ='VertRef' ':'       PositionHoriz /
                 'HorizRef' ':'      PositionVert /                  'HorizRef' ':'      PositionVert /
                 'VertPos' ':'       VPos /                  'VertPos' ':'       VPos /
                 'HorizPos' ':'      HPos /                  'HorizPos' ':'      HPos /
Line 4731  ColorName     =  NAME .</pre> Line 4701  ColorName     =  NAME .</pre>
 <div class="subsection">  <div class="subsection">
 <h3><a name="sectc4221">Inheritance</a></h3>  <h3><a name="sectc4221">Inheritance</a></h3>
   
 <p>A presentation parameter can be defined by reference to the same parameter  <p>A presentation property can be defined by reference to the same property of
 of another box in the tree of boxes.  These structural links are expressed by  another box in the tree of boxes.  These structural links are expressed by
 kinship.  The reference box can be that of the element immediately above in  kinship.  The reference box can be that of the element immediately above in
 the structure (<tt>Enclosing</tt>), two levels above (<tt>GrandFather</tt>),  the structure (<tt>Enclosing</tt>), two levels above (<tt>GrandFather</tt>),
 immediately below (<tt>Enclosed</tt>) or immediately before  immediately below (<tt>Enclosed</tt>) or immediately before
Line 4742  case, the reference box may be the eleme Line 4712  case, the reference box may be the eleme
   
 <p>Kinship is expressed in terms of the logical structure of the document and  <p>Kinship is expressed in terms of the logical structure of the document and
 not in terms of the tree of boxes.  The presentation box cannot transmit any  not in terms of the tree of boxes.  The presentation box cannot transmit any
 of their parameters by inheritance; only structured element boxes can do so.  of their properties by inheritance; only structured element boxes can do so.
 As an example, consider an element B which follows an element A in the logical  As an example, consider an element B which follows an element A in the logical
 structure.  The element B creates a presentation box P in front of itself,  structure.  The element B creates a presentation box P in front of itself,
 using the <tt>CreateBefore</tt> rule (see the <a href="#sectc4232">creation  using the <tt>CreateBefore</tt> rule (see the <a href="#sectc4232">creation
Line 4751  rules</a>).  If element B's box inherits Line 4721  rules</a>).  If element B's box inherits
 not from P's box.  Inheritance works differently for positions and extents,  not from P's box.  Inheritance works differently for positions and extents,
 which can refer to presentation boxes.</p>  which can refer to presentation boxes.</p>
   
 <p>The inherited parameter value can be the same as that of the reference box.  <p>The inherited property value can be the same as that of the reference box.
 This is indicated by an equals sign.  However, for numeric parameters, a  This is indicated by an equals sign.  However, for numeric properties, a
 different value can be obtained by adding or subtracting a number from the  different value can be obtained by adding or subtracting a number from the
 reference box's parameter value.  Addition is indicated by a plus sign before  reference box's property value.  Addition is indicated by a plus sign before
 the number, while subtraction is specified with a minus sign.  The value of a  the number, while subtraction is specified with a minus sign.  The value of a
 parameter can also be given a maximum (if the sign is a plus) or minimum (if  property can also be given a maximum (if the sign is a plus) or minimum (if
 the sign is a minus).</p>  the sign is a minus).</p>
   
 <p>If the rule is being applied to a numeric attribute, the number to add or  <p>If the rule is being applied to a numeric attribute, the number to add or
Line 4778  of the attribute is used.</p> Line 4748  of the attribute is used.</p>
   minimumA       = minimum / AttrID .    minimumA       = minimum / AttrID .
   minimum        = NUMBER .</pre>    minimum        = NUMBER .</pre>
   
 <p>The parameters which can be obtained by inheritance are justification,  <p>The properties which can be obtained by inheritance are justification,
 hyphenation, interline spacing, character font (font family), font style, font  hyphenation, interline spacing, character font (font family), font style, font
 size, visibility, indentation, underlining, alignment of text, stacking order  size, visibility, indentation, underlining, alignment of text, stacking order
 of objects, the style and thickness of lines, fill pattern and the colors of  of objects, the style and thickness of lines, fill pattern and the colors of
Line 4907  and produced by a <tt>Line</tt> rule sho Line 4877  and produced by a <tt>Line</tt> rule sho
 the entire width of their enclosing box.  The first and last lines are treated  the entire width of their enclosing box.  The first and last lines are treated
 specially: the position of the beginning of the first line is fixed by the  specially: the position of the beginning of the first line is fixed by the
 <tt>Indent</tt> rule and last line is not extended.  The justification  <tt>Indent</tt> rule and last line is not extended.  The justification
 parameter defined by this rule takes a boolean value, which can be a constant  property defined by this rule takes a boolean value, which can be a constant
 or inherited.  A constant boolean value is expressed by either the  or inherited.  A constant boolean value is expressed by either the
 <tt>Yes</tt> or the <tt>No</tt> keyword.  An inherited value can only be the  <tt>Yes</tt> or the <tt>No</tt> keyword.  An inherited value can only be the
 same as that of the reference box and is specified by a kinship keyword  same as that of the reference box and is specified by a kinship keyword
Line 4916  followed by an equals sign.</p> Line 4886  followed by an equals sign.</p>
      BoolInherit = Boolean / Kinship '=' .       BoolInherit = Boolean / Kinship '=' .
      Boolean     ='Yes' / 'No' .</pre>       Boolean     ='Yes' / 'No' .</pre>
   
 <p>When the lines are justified, the alignment parameter specified in the  <p>When the lines are justified, the alignment property specified in the
 <tt>Adjust</tt> rule has no influence, other than on the last line produced.  <tt>Adjust</tt> rule has no influence, other than on the last line produced.
 This occurs because, when the other are extended to the limits of the box, the  This occurs because, when the other are extended to the limits of the box, the
 alignment style is no longer perceptible.</p>  alignment style is no longer perceptible.</p>
Line 4968  by hyphenation at the end of lines.  It Line 4938  by hyphenation at the end of lines.  It
 <tt>Line</tt> rule and contained in the box carrying the <tt>Hyphenate</tt>  <tt>Line</tt> rule and contained in the box carrying the <tt>Hyphenate</tt>
 rule.</p>  rule.</p>
   
 <p>The hyphenation parameter takes a boolean value, which can be either  <p>The hyphenation property takes a boolean value, which can be either
 constant or inherited.  A constant boolean value is expressed by either the  constant or inherited.  A constant boolean value is expressed by either the
 <tt>Yes</tt> or the <tt>No</tt> keyword.  An inherited value can only be the  <tt>Yes</tt> or the <tt>No</tt> keyword.  An inherited value can only be the
 same as that of the reference box and is specified by a kinship keyword  same as that of the reference box and is specified by a kinship keyword
Line 5141  to all views defined in the presentation Line 5111  to all views defined in the presentation
 <div class="subsection">  <div class="subsection">
 <h3><a name="sectc4224">Visibility</a></h3>  <h3><a name="sectc4224">Visibility</a></h3>
   
 <p>The visibility parameter is used to control which elements should or should  <p>The visibility property is used to control which elements should or should
 not be displayed, based on context.  An element can have different  not be displayed, based on context.  An element can have different
 visibilities in different views.  If an element's visibility is zero for a  visibilities in different views.  If an element's visibility is zero for a
 view, that element is not displayed in that view and does not occupy any space  view, that element is not displayed in that view and does not occupy any space
Line 5149  view, that element is not displayed in t Line 5119  view, that element is not displayed in t
   
 <p>Visibility takes non-negative integer values (positive or zero).  If values  <p>Visibility takes non-negative integer values (positive or zero).  If values
 greater than 1 are used, they allow the user to choose a degree of visibility  greater than 1 are used, they allow the user to choose a degree of visibility
 and, thus, to see only those boxes whose visibility parameter exceeds a  and, thus, to see only those boxes whose visibility property exceeds a certain
 certain threshold.  This gives the user control over the granularity of the  threshold.  This gives the user control over the granularity of the displayed
 displayed pictures.</p>  pictures.</p>
   
 <p>The visibility parameter can be defined as a constant or by inheritance. If  <p>The visibility property can be defined as a constant or by inheritance. If
 defined by inheritance, it cannot be based on the value of the next or  defined by inheritance, it cannot be based on the value of the next or
 previous box.  Visibility can only be inherited from above.</p>  previous box.  Visibility can only be inherited from above.</p>
   
Line 5183  used.</p> Line 5153  used.</p>
 </div>  </div>
   
 <div class="subsection">  <div class="subsection">
 <h3><a name="sectc4225">Character style parameters</a></h3>  <h3><a name="sectc4225">Character style properties</a></h3>
   
 <p>Four parameters are used to determine which characters are used to display  <p>Four properties are used to determine which characters are used to display
 text.  They are size, font, style, and underlining.</p>  text.  They are size, font, style, and underlining.</p>
   
 <div class="subsubsection">  <div class="subsubsection">
 <h4><a name="sectd42251">Character size</a></h4>  <h4><a name="sectd42251">Character size</a></h4>
   
 <p>The size parameter has two effects.  First, it is used to specify the  <p>The size property has two effects.  First, it is used to specify the actual
 actual size and distance units for boxes defined in <a  size and distance units for boxes defined in <a href="#sectc4217">relative
 href="#sectc4217">relative units</a>.  Second, it defines the size of the  units</a>.  Second, it defines the size of the characters contained in the
 characters contained in the box.</p>  box.</p>
   
 <p>As a distance or length, the size can be expressed in abstract or absolute  <p>As a distance or length, the size can be expressed in abstract or absolute
 units.  It can also be inherited.  If it is not inherited, it is expressed  units.  It can also be inherited.  If it is not inherited, it is expressed
Line 5207  table which can be modified statically o Line 5177  table which can be modified statically o
 execution of the Thot editor.</p>  execution of the Thot editor.</p>
   
 <p>If the <tt>Size</tt> rule is a numeric attribute's presentation rule, the  <p>If the <tt>Size</tt> rule is a numeric attribute's presentation rule, the
 value of the size parameter can be specified by the attribute's name, in which  value of the size property can be specified by the attribute's name, in which
 case the value of the attribute is used.</p>  case the value of the attribute is used.</p>
   
 <p><strong>Note:</strong> the only unit available for  defining an absolute  <p><strong>Note:</strong> the only unit available for  defining an absolute
Line 5266  Summary : Line 5236  Summary :
      Size : Enclosing - 1;</pre>       Size : Enclosing - 1;</pre>
   
   <p>Thus, the character sizes in the entire document can be changed by    <p>Thus, the character sizes in the entire document can be changed by
   changing the size parameter of the Report element, while preserving the    changing the size property of the Report element, while preserving the
   relationships between the sizes of the different elements.</p>    relationships between the sizes of the different elements.</p>
 </blockquote>  </blockquote>
 </div>  </div>
Line 5338  ThicknessInherit = Kinship '=' / 'Thick' Line 5308  ThicknessInherit = Kinship '=' / 'Thick'
   
 <p>The <tt>Depth</tt> rule is used to define the stacking order of terminal  <p>The <tt>Depth</tt> rule is used to define the stacking order of terminal
 boxes when multiple boxes at least partially overlap.  This rule defines how  boxes when multiple boxes at least partially overlap.  This rule defines how
 the depth parameter, which is zero or a positive integer, is calculated.  The  the depth property, which is zero or a positive integer, is calculated.  The
 depth parameter has a value for all boxes.  For terminal boxes in the  depth property has a value for all boxes.  For terminal boxes in the structure
 structure and for presentation boxes, the depth value is used during display  and for presentation boxes, the depth value is used during display and
 and printing: the boxes with the lowest value overlap those with higher  printing: the boxes with the lowest value overlap those with higher depths.
 depths.  For non-terminal boxes, the depth is not interpreted during display,  For non-terminal boxes, the depth is not interpreted during display, but it is
 but it is used to calculate the depth of terminal boxes by inheritance.</p>  used to calculate the depth of terminal boxes by inheritance.</p>
   
 <p>Like most other rules, the depth rule is defined in the <a  <p>Like most other rules, the depth rule is defined in the <a
 href="#sectc427">default rules</a> of each presentation schema.  Thus, there  href="#sectc427">default rules</a> of each presentation schema.  Thus, there
 is always a depth value, even when it is not necessary because there is no  is always a depth value, even when it is not necessary because there is no
 overlapping.  To avoid useless operations, a zero value can be given to the  overlapping.  To avoid useless operations, a zero value can be given to the
 depth parameter, which signifies that overlapping is never a problem.</p>  depth property, which signifies that overlapping is never a problem.</p>
   
 <p>The depth rule has the same form as the <a href="#sectc4224">visibility  <p>The depth rule has the same form as the <a href="#sectc4224">visibility
 rule</a>. It can be defined by inheritance or by a constant numeric value.  rule</a>. It can be defined by inheritance or by a constant numeric value.
Line 5751  href="#sectc4231">content</a>.</p> Line 5721  href="#sectc4231">content</a>.</p>
 <p>Creation rules can only appear in the block of rules for the primary view;  <p>Creation rules can only appear in the block of rules for the primary view;
 creation is provoked by a document element for all views. However, for each  creation is provoked by a document element for all views. However, for each
 view, the presentation box is only created if the creating element is itself a  view, the presentation box is only created if the creating element is itself a
 box in the view. Moreover, the visibility parameter of the presentation box  box in the view. Moreover, the visibility property of the presentation box can
 can be adjusted to control the creation of the box on a view-by-view  be adjusted to control the creation of the box on a view-by-view basis.</p>
 basis.</p>  
 <pre>                     Creation '(' BoxID ')'  <pre>                     Creation '(' BoxID ')'
      Creation      = Create [ 'Repeated' ] .       Creation      = Create [ 'Repeated' ] .
      Create        ='CreateFirst' / 'CreateLast' /       Create        ='CreateFirst' / 'CreateLast' /
Line 6575  ancestor, the key word <tt>Ancestor</tt> Line 6544  ancestor, the key word <tt>Ancestor</tt>
 <tt>Parent</tt> instead of <tt>Ancestor 1</tt>.</p>  <tt>Parent</tt> instead of <tt>Ancestor 1</tt>.</p>
   
 <p>Only conditions <tt>First</tt>, <tt>Last</tt>, <tt>Referred</tt>,  <p>Only conditions <tt>First</tt>, <tt>Last</tt>, <tt>Referred</tt>,
 <tt>Within</tt>, <tt>Attributes</tt>, <tt>Presentation</tt>, <tt>Comment</tt>  <tt>Within</tt>, <tt>Attributes</tt>, <tt>Presentation</tt>, and those
 and those concerning an attribute or a specific presentation can apply to an  concerning an attribute or a specific presentation can apply to an ancestor.
 ancestor. Conditions <tt>Defined</tt>, <tt>FirstRef</tt>, <tt>LastRef</tt>,  Conditions <tt>FirstRef</tt>, <tt>LastRef</tt>, <tt>ExternalRef</tt>,
 <tt>ExternalRef</tt>, <tt>Alphabet</tt>, <tt>FirstAttr</tt>,  <tt>Alphabet</tt>, <tt>FirstAttr</tt>, <tt>LastAttr</tt>,
 <tt>LastAttr</tt>, <tt>ComputedPage</tt>, <tt>StartPage</tt>,  <tt>ComputedPage</tt>, <tt>StartPage</tt>, <tt>UserPage</tt>,
 <tt>UserPage</tt>, <tt>ReminderPage</tt>, <tt>Empty</tt> cannot be preceded by  <tt>ReminderPage</tt>, <tt>Empty</tt> cannot be preceded by keywords
 keywords <tt>Parent</tt> or <tt>Ancestor</tt>.</p>  <tt>Parent</tt> or <tt>Ancestor</tt>.</p>
   
 <p>In condition <tt>Referred</tt> and in the condition that applies to a named  <p>In condition <tt>Referred</tt> and in the condition that applies to a named
 attribute, a symbol '<tt>*</tt>' can indicate that the condition is related  attribute, a symbol '<tt>*</tt>' can indicate that the condition is related
Line 6646  keyword.</p> Line 6615  keyword.</p>
 </div>  </div>
   
 <div class="subsubsection">  <div class="subsubsection">
 <h4><a name="sectd5283">Conditions on the parameters</a></h4>  
   
 <p>Elements which are <a href="#sectc326">parameters</a> can be given a  
 particular condition which is based on whether or not the parameter is given a  
 value in the document (<tt>Defined</tt> or <tt>NOT Defined</tt>,  
 respectively).</p>  
 </div>  
   
 <div class="subsubsection">  
 <h4><a name="sectd5284">Conditions on the alphabets</a></h4>  <h4><a name="sectd5284">Conditions on the alphabets</a></h4>
   
 <p>The character string base type (and only this type) can use the condition  <p>The character string base type (and only this type) can use the condition
Line 6692  optionally preceded by the <tt>NOT</tt> Line 6652  optionally preceded by the <tt>NOT</tt>
 </div>  </div>
   
 <div class="subsubsection">  <div class="subsubsection">
 <h4><a name="sectd5287">Conditions on the presence of comments</a></h4>  
   
 <p>The condition can be based on the presence or absence of comments  
 associated with the translated element.  This condition is expressed by the  
 keyword <tt>Comment</tt>, optionally preceded by the keyword <tt>NOT</tt>.</p>  
 </div>  
   
 <div class="subsubsection">  
 <h4><a name="sectd5288">Conditions on the presence of specific presentation  <h4><a name="sectd5288">Conditions on the presence of specific presentation
 rules</a></h4>  rules</a></h4>
   
Line 6832  between the keywords <tt>BEGIN</tt> and Line 6784  between the keywords <tt>BEGIN</tt> and
    Cond         = CondElem / CondAscend .     Cond         = CondElem / CondAscend .
    CondElem     ='FirstRef' / 'LastRef' /     CondElem     ='FirstRef' / 'LastRef' /
                  'ExternalRef' /                   'ExternalRef' /
                  'Defined' /  
                  'Alphabet' '=' Alphabet /                   'Alphabet' '=' Alphabet /
                  'ComputedPage' / 'StartPage' /                    'ComputedPage' / 'StartPage' / 
                  'UserPage' / 'ReminderPage' /                   'UserPage' / 'ReminderPage' /
Line 6850  between the keywords <tt>BEGIN</tt> and Line 6801  between the keywords <tt>BEGIN</tt> and
                  'Attributes' /                   'Attributes' /
                   AttrID [ RelatAttr ] /                    AttrID [ RelatAttr ] /
                  'Presentation' /                   'Presentation' /
                   PresRule /                    PresRule .
                  'Comment' .                    
    NumParent    = [ GreaterLess ] NParent .     NumParent    = [ GreaterLess ] NParent .
    GreaterLess  = '&gt;' / '&lt;' .     GreaterLess  = '&gt;' / '&lt;' .
    NParent      = NUMBER.     NParent      = NUMBER.
Line 6979  when the translation is finished.</p> Line 6929  when the translation is finished.</p>
                 [ 'Translated' ] AttrID /                  [ 'Translated' ] AttrID /
                'Value' /                 'Value' /
                'Content' /                 'Content' /
                'Comment' /   
                'Attributes' /                 'Attributes' /
                'Presentation' /                 'Presentation' /
                'RefId' /                 'RefId' /
Line 7021  when the translation is finished.</p> Line 6970  when the translation is finished.</p>
   <li>the element's content.  That is, the content of the leaves of the    <li>the element's content.  That is, the content of the leaves of the
     subtree of the translated element.  This is specified by the      subtree of the translated element.  This is specified by the
     <tt>Content</tt> keyword;</li>      <tt>Content</tt> keyword;</li>
   <li>the comment attached to the element.  When the element doesn't have a  
     comment, nothing is generated.  This is indicated by the <tt>Comment</tt>  
     keyword;</li>  
   <li>the translation of all attributes of the element (which is primarily    <li>the translation of all attributes of the element (which is primarily
     used to apply the attribute translation rules <a      used to apply the attribute translation rules <a
     href="#sectc5222">before</a> those of the element type).  This is      href="#sectc5222">before</a> those of the element type).  This is
Line 7899  here in the M meta-language.</p> Line 7845  here in the M meta-language.</p>
 <pre>StructSchema   = 'STRUCTURE' [ 'EXTENSION' ] ElemID ';'  <pre>StructSchema   = 'STRUCTURE' [ 'EXTENSION' ] ElemID ';'
                  'DEFPRES' PresID ';'                   'DEFPRES' PresID ';'
                [ 'ATTR' AttrSeq ]                 [ 'ATTR' AttrSeq ]
                [ 'PARAM' RulesSeq ]  
                [ 'STRUCT' RulesSeq ]                 [ 'STRUCT' RulesSeq ]
                [ 'EXTENS' ExtensRuleSeq ]                 [ 'EXTENS' ExtensRuleSeq ]
                [ 'ASSOC' RulesSeq ]                 [ 'ASSOC' RulesSeq ]
Line 8145  EqCtrVal        = NUMBER . Line 8090  EqCtrVal        = NUMBER .
 MaxCtrBound     = NUMBER .  MaxCtrBound     = NUMBER .
 MinCtrBound     = NUMBER .  MinCtrBound     = NUMBER .
   
 Rule            = PresParam ';' / PresFunc ';' .  Rule            = Property ';' / PresFunc ';' .
 PresParam       = 'VertRef' ':' HorizPosition /  Property        = 'VertRef' ':' HorizPosition /
                   'HorizRef' ':' VertPosition /                    'HorizRef' ':' VertPosition /
                   'VertPos' ':' VPos /                    'VertPos' ':' VPos /
                   'HorizPos' ':' HPos /                    'HorizPos' ':' HPos /
Line 8420  Condition     = [ 'NOT' ] [ 'Target' ] C Line 8365  Condition     = [ 'NOT' ] [ 'Target' ] C
 Cond          = CondElem / CondAscend .  Cond          = CondElem / CondAscend .
 CondElem      = 'FirstRef' / 'LastRef' /  CondElem      = 'FirstRef' / 'LastRef' /
                 'ExternalRef' /                  'ExternalRef' /
                 'Defined' /  
                 'Alphabet' '=' Alphabet /                  'Alphabet' '=' Alphabet /
                 'ComputedPage' / 'StartPage' /                   'ComputedPage' / 'StartPage' / 
                 'UserPage' / 'ReminderPage' /                  'UserPage' / 'ReminderPage' /
Line 8438  CondOnAscend  = 'First' / 'Last' / Line 8382  CondOnAscend  = 'First' / 'Last' /
                 'Attributes' /                  'Attributes' /
                 AttrID [ RelatAttr ] /                  AttrID [ RelatAttr ] /
                 'Presentation' /                  'Presentation' /
                 PresRule /                  PresRule .
                 'Comment' .                    
 NumParent     = [ GreaterLess ] NParent .  NumParent     = [ GreaterLess ] NParent .
 GreaterLess   = '&gt;' / '&lt;' .  GreaterLess   = '&gt;' / '&lt;' .
 NParent       = NUMBER.  NParent       = NUMBER.
Line 8491  Object        = ConstID / CharString / Line 8434  Object        = ConstID / CharString /
                  [ 'Translated' ] AttrID /                   [ 'Translated' ] AttrID /
                 'Value' /                  'Value' /
                 'Content' /                  'Content' /
                 'Comment' /   
                 'Attributes' /                  'Attributes' /
                 'Presentation' /                  'Presentation' /
                 'RefId' /                  'RefId' /

Removed from v.1.33  
changed lines
  Added in v.1.34


Webmaster