Hello ,
I am looking for a simple tweak in my style template , to mention title1-title4 as left justified and title5-title9 as center justified . I have got some 30 tables to report and I do not want to insert j=c in every table title4-9 . Please let me know if there is an easy way to achieve this multiple justification for all the tables in a report. proc template; header ? or any function that checks title number ?
Thanks !
What's your destination, HTML, PDF?
You could probably do it via a template or CSS Style sheet.
See if this gives you a starting point.
proc template;
define style Styles.myFontsize ;
parent = Styles.default; /* or the one you prefer*/
style SystemTitle from TitlesAndFooters /
fontsize= 26pt;
style SystemTitle2 from SystemTitle /
fontsize= 24pt;
style SystemTitle3 from SystemTitle2 /
fontsize= 22pt;
style SystemTitle4 from SystemTitle3 /
just=center
fontsize= 20pt;
style SystemTitle5 from SystemTitle4 /
fontsize= 18pt;
style SystemTitle6 from SystemTitle5 /
fontsize= 16pt;
style SystemTitle7 from SystemTitle6 /
fontsize= 14pt;
style SystemTitle8 from SystemTitle7 /
just=right
fontsize= 12pt;
style SystemTitle9 from SystemTitle8 /
fontsize= 10pt;
style SystemTitle10 from SystemTitle9 /
fontsize= 8pt;
style SystemFooter from TitlesAndFooters /
fontsize= 26pt;
style SystemFooter2 from SystemFooter /
fontsize= 24pt;
style SystemFooter3 from SystemFooter2 /
just=center
fontsize= 22pt;
style SystemFooter4 from SystemFooter3 /
fontsize= 20pt;
style SystemFooter5 from SystemFooter4 /
fontsize= 18pt;
style SystemFooter6 from SystemFooter5 /
fontsize= 16pt;
style SystemFooter7 from SystemFooter6 /
just=right
fontsize= 14pt;
style SystemFooter8 from SystemFooter7 /
fontsize= 12pt;
style SystemFooter9 from SystemFooter8 /
fontsize= 10pt;
style SystemFooter10 from SystemFooter9 /
fontsize= 8pt;
end;
run;
ods html style=Styles.myFontsize;
title1 'title1 ';
title2 'title2 ';
title3 'title3 ';
title4 'title4 ';
title5 'title5 ';
title6 'title6 ';
title7 'title7 ';
title8 'title8 ';
title9 'title9 ';
title10 'title10';
footnote1 'footnote1 ';
footnote2 'footnote2 ';
footnote3 'footnote3 ';
footnote4 'footnote4 ';
footnote5 'footnote5 ';
footnote6 'footnote6 ';
footnote7 'footnote7 ';
footnote8 'footnote8 ';
footnote9 'footnote9 ';
footnote10 'footnote10';
proc print data=sashelp.class (obs=1);run;
Thanks a lot Ballard ! It worx . Does title10 really work ? it has many times overwritten my title1 .
Reeza , I was writing to a PDF.
Test Code :
proc template;
define style Styles.testpatience ;
parent = Styles.Mypdf;
style systemTitle /
just = left
font_size = 5
font_weight = bold
font_style = italic
;
/* Until title5 the above attribs are applied */
style SystemTitle5 from SystemTitle /
just=center;
/*This Attrib is Applied to all the titles from title5 */
style systemFooter /
just = left
font_size = 5
;
end;
run;
The example I provided, at least in HTML, shows Title10 text on my system.
I would look for a missing "0" (zero) on a title statement somewhere that you think is a title10 statement.
As an alternative, you could set a dataset up to hold title/footnote and style information and generate from there:
SECTION NO JUST TEXT ... Could add style etc.
TITLE 1 L ABV
TITLE 2 R ERT
...
data _null_;
call execute(cats(section," ",strip(put(no,best.))," j=",just," '",text,"';");
run;
If you have a lot of titles it nice to be able to store them, qc them, manage them in a dataset or Excel file and not need to type them out.
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 how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.