How do I modify the following template to get a double-underline at the end of each table?
proc template;
define style Styles.xxx;
parent = styles.rtf;
style Body from Body /
leftmargin = 0.3in rightmargin = 0.3in topmargin = 0.3in
bottommargin = 0.3in rules=none frame=void;
style Table from Output /
frame = void rules = none cellspacing = 0 cellpadding = 0pt;
replace fonts from Fonts /
'TitleFont2' = ("Courier New",8pt)
'TitleFont' = ("Courier New",8pt)
'StrongFont' = ("Courier New",8pt,bold)
'EmphasisFont' = ("Courier New",8pt,italic)
'FixedEmphasisFont' = ("Courier New",8pt,italic)
'FixedStrongFont' = ("Courier New",8pt,bold)
'FixedHeadingFont' = ("Courier New",8pt,bold)
'BatchFixedFont' = ("Courier New",8pt)
'FixedFont' = ("Courier New",8pt)
'HeadingEmphasisFont' = ("Courier New",8pt,italic)
'HeadingFont' = ("Courier New",8pt)
'DocFont' = ("Courier New",8pt)
'FooterFont' = ("Courier New",6pt);
replace TitlesAndFooters from TitlesAndFooters/
font=Fonts('TitleFont2')
vjust=T just=L cellspacing=0 cellpadding=1pt;
style SystemTitle from TitlesAndFooters / protectspecialchars=off;
style SystemFooter from TitlesAndFooters / protectspecialchars=on;
replace Cell from Cell / font=Fonts('DocFont') protectspecialchars=off;
replace HeadersAndFooters from HeadersAndFooters /
font=Fonts('HeadingFont') protectspecialchars=off background=white;
style RowHeader from HeadersAndFooters;
style ColumnHeader from HeadersAndFooters;
style Data from Cell;
style table from table/
rules=groups /* INTERNAL BORDERS: SET TO BOTTOM BORDER ON ROW HEADERS */
frame=above /* EXTERNAL BORDERS: SET TO TOP LINE OF TABLE ONLY */
borderwidth = 1px
borderbottomwidth = 1px;
end;
run;
Are you using multiple procedures to generate your tables or only one, such as Proc Report?
If this is for a single procedure, such as Proc Report you might consider showing that procedure code as it may be easier to modify then dealing with styles that can affect a lot of different output tables.
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9.
Lock in the best rate now before the price increases on April 1.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.