BookmarkSubscribeRSS Feed
Niugg2010
Obsidian | Level 7

Hello,

I have a footnote question.

In my real listing report I have over 10 footnotes, so I tried to concatenate some footnotes together then output. But some concatenated footnote text length is too long, so they are truncated, like the below example.

In this example ls=135 and can not be changed,  and footnote text length is over 135, so the footnote text "BBBBBBB" was truncated in output. I know, if output is rtf or pdf, we have no this issue. But for listing,  I have not figured out a method to deal with it. Can someone help me out? Thanks

 

%let ft=%sysfunc(repeat(A, 135))BBBBBBBBBB;
%put &ft.;
proc printto print="xxxxxx\ft.lst" new; run;

proc report data=sashelp.cars (obs=10) ps=48 ls=135 split='|';
column make Model;
run;
footnote1 "&ft.";
proc printto print=print; run;

 

 

6 REPLIES 6
sbxkoenk
SAS Super FREQ

Hello,

Why are you displaying output as listing? Why not the standard HTML?

ods html;
footnote height=5pt 'little footnote';
proc print data=sashelp.class;
run;
/* end of program */

I do not think height= will work in 'ODS LISTING;'. You don't get an error but it will have no effect.

I come back to you on ODS LISTING after the weekend.

Might be that for ODS LISTING everything will become little (also the body of the report).

Will see.

Koen

Tom
Super User Tom
Super User

Change the LS (aka LINESIZE) setting if you want longer lines.

Niugg2010
Obsidian | Level 7
Thank you for your suggestion. For some reason, we will transfer listing output as PDF in the next step. So we can not output HTML and we have to set LS around 135 in order to fit PDF output.
Tom
Super User Tom
Super User

Are the footnotes static?  just use a text editor to fit the content into 10*135 character limit.

Are all of your reports using PROC REPORT?  If so why not move the footnotes into the body of the report instead. Then you would not have a limit of 10 footnotes.

Are the footnotes short?  I have a macro from Tom Hoffman from 1997 that collapses multiple short strings into footnotes or titles.

223  options mprint;
224  %align
225  (A: this is the first footnote
226  \B: this is the second footnote
227  \C: this is the third footnote which is longest
228  \D: this is the fourth footnote
229  ,tn=1
230  ,ft=f
231  )
MPRINT(ALIGN):   footnote1 "A: this is the first footnote                   B: this is the second footnote                  C: this is the thirdfootnote which is longest ";
MPRINT(ALIGN):   footnote2 "D: this is the fourth footnote                     ";
ghosh
Barite | Level 11

The pdf output works fine, even after playing with various margins, page orientation, and footnote lengths.  The font specification is optional, I was testing with  large font sizes. 

 


%let fnt=%str('Helvetica', 8pt);
ods _all_ close; 
ods escapechar='^'; 
options nonumber nodate nocenter orientation=portrait papersize=letter 
	leftmargin=1.5cm rightmargin=1.5cm topmargin=1.5cm bottommargin=1.5cm;;
ods pdf file="&path./test.pdf" dpi=300 notoc; 
proc report data=sashelp.cars (obs=10) ps=48 ls=135 split='|';
column make Model;
run;
footnote1 "^S={}^S={font=(&fnt)} &ft.";
ods pdf close;

test.gif

Niugg2010
Obsidian | Level 7

Ghosh and Tom, Thank you very much.

  Yes. For PDF or rtf we do not need to worry about the footnote length. 

  I can put part of footnote into body through compute block in proc report.

However, I cooperate with others and their method has limitations and I have  to put footnote in footnote statement and output as lst file first. At beginning, I thought maybe we have options to set footnote output in listing and let footnote turn over if it is too long, like RTF or PDF. I guess we have no that option for listing currently. Do not mind. Thanks again

George

 

 

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!
How to Concatenate Values

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 6 replies
  • 931 views
  • 1 like
  • 4 in conversation