Macro Language Reference > PIs > Text > <?align>
  
<?align>
Description
This commands handles block alignment by balancing points in separate text streams within the page (and across pages if tied).
Syntax
<?align x or X:L>
<?align id:n ( ',' top:o ( ',' sets_down:n ( ',' sets:n ( ',' sets_bottom:n )? )? )? )?>
<?align>
[no parameter]
If no parameter is specified, PTC ALD will deactivate the alignment process from the current point onwards, in the given stream. When this form of syntax is used, it must be the last alignment property in the stream.
x or X
Tells PTC ALD to wait until formatting of all aligned streams has been completed on the page before processing the current stream. When this form of syntax is used, it must be the unique alignment property in the stream.
For example if you are using this command to align text in multiple columns/streams which each have running header references, you would use this parameter in your running header frame text stream. PTC ALD will wait until the whole page has been formatted before evaluating the appropriate running header text.
id
Alignment name label whose presence indicates the start of a block that is to be aligned with other blocks from other streams. PTC ALD will automatically sync or re-sync the start position of all aligned blocks across streams, based on the alphanumeric position of their labels. Labels can be any name or number, but must be sequential within each formatted stream.
top
Specifies how to align text in different text streams.
0
Aligns the block's first text line baseline
1
Aligns the block's first text line top position
sets_down
Specifies whether the alignment block can flow along other sets. The given value is the sum of the given binary numbers of all permitted sets (for instance, 7 would allow the current block to flow along sets 1, 2 and 4).
sets
Specifies to which alignment block sets the current block belongs. PTC ALD will align together all blocks belonging to common sets. The given value is the sum of the given binary numbers of all permitted sets (for instance, 7 would align the current block with sets 1, 2 and 4).
sets_bottom
Specifies which alignment block sets will be pushed down to the bottom of the current block, i.e. which block sets will have their vertical start position impacted by the current block depth. The given value is the sum of the given binary numbers of all permitted sets (for instance, 7 would push sets 1, 2 and 4 to the bottom of the current block).
Additional Information
Property placement within the style
The <?align> paragraph property, like running header extractions or bookmarks, ends the global paragraph definition and marks the start of the text. It is therefore essential to place it carefully in your style, ensuring it is the last paragraph property within the style, and making sure it is located before any other property ending the paragraph definition.
* 
In a complex SGML/XML composition, you may use <?queue> to ensure a correct processing order of all paragraph properties.
Providing correct labelling for synoptic composition
Distinct data sources may become de-synchronized at some level, since each of them may have its own document life (for instance, be partially translated). To ensure the publishing process can re-synchronize such streams, synoptic alignment information must be provided along the data streams, either implicitly (depending on the data structure) or explicitly (e.g. through id attributes within the markup).
* 
In a complex SGML/XML composition, it is very likely that you will need to generate the property dynamically (using a showstring, see <?show> for further information), extracting the label and alignment set information from data context.
Related Links