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.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.