I'm getting warning in log when using superscript 'Monotype Shorts" font symbol in the footnote.
Ex.
ods rtf ;
footnote1 height=5 PCT justify=left
font='Monotype Sorts' color=CX009900 ^{super '6E'X} font=Ariel " Point 1";
data a;
a='a';
run;proc print; run;
ods rtf close;
Log:
WARNING: The FOOTNOTE statement is ambiguous due to invalid options or unquoted text.
If I try to quote i.e. "^{super '6E'X}", It displays some different symbols. Tried to store in macro variable however didn't work. Any solution ? Please don't ask to use different font.
That last example with letter n I posted works for me on PC SAS 9.4M4:
ods escapechar='^' ;
ods rtf file='c:\junk\me.rtf';
footnote1 height=5 PCT justify=left
font='Monotype Sorts' color=CX009900 "^{super n}" font=Arial " Point 1";
data a;
a='a';
run;
proc print; run;
ods rtf close;
There are no nested quotes, so all of the quotes have the usual meaning, to define a text string.
Edit: Sorry, below is wrong. : )
Hi,
The quoted font name with a space is fine. The problem is the superscript part is text for the title, so it needs to be in quotes, e.g.:
footnote1 height=5 PCT justify=left
font='Monotype Sorts' color=CX009900 "^{super '6E'X}" font=Arial " Point 1";
Gotcha, I see what you're doing now. It's not a font problem. This code works:
footnote1 "AAA" "^{super foo}" "BBB";
You need the ^{super foo} part inside quotes so that SAS knows it is part of the title value, and not an option for the title statement.
But you're trying to put a hex code in there, like:
footnote1 "AAA" "^{super '6E'X}" "BBB";
And when you do that, SAS sees '6E'x as a 5-character string, instead of a hex value.
Someone else will know a solution. I thought maybe:
footnote1 "AAA" '^{super ''6E''X}' "BBB";
But that gives the same results as above.
Maybe there's some other way to encode '6E'X that doesn't require quotes? Wait, isn't '6E'x just the character n?
Looks like I get the result you want with just:
footnote1 height=5 PCT justify=left
font='Monotype Sorts' color=CX009900 "^{super n}" font=Arial " Point 1";
That last example with letter n I posted works for me on PC SAS 9.4M4:
ods escapechar='^' ;
ods rtf file='c:\junk\me.rtf';
footnote1 height=5 PCT justify=left
font='Monotype Sorts' color=CX009900 "^{super n}" font=Arial " Point 1";
data a;
a='a';
run;
proc print; run;
ods rtf close;
There are no nested quotes, so all of the quotes have the usual meaning, to define a text string.
Not that if you did want to use hexcode that did not happen to be something simple like a lowercase letter you could use the byte function to generate it as a string.
"^{super %qsysfunc(byte(06Ex))}"
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.