Local formatting

Top  Previous  Next

While global formatting is nice sometimes certain items require individual attention. GAMS provides item specific formatting for this, which overrides global format settings.  For text items the syntax of this feature is as follows:

 

Put item:justificationsymbol width;

 

While for numeric items it is

 

Put item:justificationsymbol width:decimals;

 

The justificationsymbol is

 >        for right flush

 <        for left flush

 <>        for centering

 

and the item, width, decimals and colons are as laid out above.

Examples:

(putex10.gms)

file my1;

put my1;

set mine abc

/a1  seta1

 b1234  setbabhijklmnopqrstuvwxyz

 small/;

set small(mine) smallone /small/;

scalar number regnumber /1.2356/

       smallnumber /0.00000001/

       largenumber /1000000000/;

put 'start quoted text here $':0 'Quot':>15 '$ end here'/;

put 'start quoted text here $':0 'Quot':<15 '$ end here'/;

put 'start quoted text here $':0 'Quot': <>15 '$ end here'//;

put 'start item explanatory text here $':0 mine.ts: >20 '$ end here'/;

put 'start item explanatory text here $':0 mine.ts: <20 '$ end here'/;

put 'start item explanatory text here $':0 mine.ts: <>20 '$ end here'//;

put /;

loop(mine,

put 'start set element name here $':0 mine.tl: >20 '$ end here'/;)

put /;

loop(mine,

put 'start set element explanatory text here $':0 mine.te(mine):<20 '$ end here'/;)

put /;

loop(mine,

put 'start set element value here $':0 mine(mine): <>10

     '$ end here for name ' mine.tl /;)

put /;

put 'start number here       $':0 number: <20:4 '$ end here'/;

put 'start number here       $':0 number: >20:4 '$ end here'/;

put 'start number here       $':0 number:<>20:4 '$ end here'/;

put 'start large number here $':0 largenumber:10:4 '$ end here'/;

put 'start large number here $':0 largenumber: <10:4 '$ end here'/;

put /;

 

and the result is

 

start quoted text here $           Quot$ end here

start quoted text here $Quot           $ end here

start quoted text here $     Quot      $ end here

start item explanatory text here $                 abc$ end here

start item explanatory text here $abc                 $ end here

start item explanatory text here $        abc         $ end here

start set element name here $                  a1$ end here

start set element name here $               b1234$ end here

start set element name here $               small$ end here

start set element explanatory text here $seta1               $ end here

start set element explanatory text here $setbabhijklmnopqrstu$ end here

start set element explanatory text here $small               $ end here

start set element value here $   YES    $ end here for name a1

start set element value here $   YES    $ end here for name b1234

start set element value here $   YES    $ end here for name small

start number here       $1.2356              $ end here

start number here       $              1.2356$ end here

start number here       $       1.2356       $ end here

start large number here $1.00000E+9$ end here

start large number here $1.00000E+9$ end here

 

where items are flushed right by the use of > ,  others are flushed left by the use of < and some are centered by the use of <> .  Note the green entries are unaffected since the item fills up the field.