Another question: is it possible to keep the superscripts unbolded? For example 
if you run the codes below, it can be seen that using the 
expression(bold(paste(...))) command will result in the text being bolded but 
not the superscripts.

ourtitle <- function(title, footnotes=NULL) {
  if (length(footnotes) > 0) {
    fn <- paste(footnotes, collapse=' ')
    title <- eval(substitute(expression(bold(paste(title, ""^fn))),
                             list(title=title, fn=fn)))
  }
  title
}

plot(0, type="n")
text(1,0, expression(bold(paste("stuff",""^1, " "^2, " "^3))))
text(1,0.5,ourtitle("stuff",1:3))

-----Original Message-----
From: Kevin Coombes [mailto:kevin.r.coom...@gmail.com] 
Sent: Monday, May 10, 2010 1:02 PM
To: Shang Gao
Cc: r-help@r-project.org
Subject: Re: [R] Supercripting text

Sigh; that's because I forget to include it in the 'substitute' list.  
Here is a version that works (and has been tested...).

ourtitle <- function(title, footnotes=NULL) {
  if (length(footnotes) > 0) {
    fn <- paste(footnotes, collapse=' ')
    title <- eval(substitute(expression(bold(paste(title, ""^fn))),
                             list(title=title, fn=fn)))
  }
  title
}

Shang Gao wrote:
> I tried writing that function before, but the expression() command is not 
> preserved when we incorporate it into a function(). The first example you 
> gave me, if run in R, produced a title that reads "title" instead of "stuff". 
> It seems that in this case the expression() can't read the character string 
> in the argument specified in the function() command.
>
> -----Original Message-----
> From: Kevin Coombes [mailto:kevin.r.coom...@gmail.com] 
> Sent: Monday, May 10, 2010 12:08 PM
> To: Shang Gao
> Cc: r-help@r-project.org
> Subject: Re: [R] Supercripting text
>
> You probably want to write your own titling function to add 
> superscripts.  The following code will serve as a reasonable starting point:
>
> # make the title expression
> ourtitle <- function(title, footnotes=NULL) {
>   if (length(footnotes) > 0) {
>     fn <- paste(footnotes, collapse=' ')
>     title <- eval(substitute(expression(bold(paste(title, ""^fn))), 
> list(fn=fn)))
>   }
>   title
> }
> # example with footnotes
> tt <- ourtitle("stuff", 1:3)
> plot(1, 1)
> title(tt)
> # example without footnotes
> plot(1, 1)
> title(ourtitle("stuff"))
>
> Note that the only way I could make this work was to combine the 
> footnote list before calling the eval-substitute-expression code; I 
> cannot get it to work by applying things ot a list.
>
>     Kevin
>
> Shang Gao wrote:
>   
>> Dear R users,
>>
>> I recently developed a plotting function in R and introduced it to my 
>> coworkers. The function is designed to make plotting easier and more 
>> efficient, which will in turn be more cost-effective for the company. The 
>> reviews for the function have been positive thus far, except for one issue 
>> -- addition of superscripts to the title. We need superscipts in the titles 
>> sometimes to highlight footnotes which appear at the bottom of the plots.
>>
>> The syntax for supersciprts, however, is rather cumbersome, especially in 
>> titles since it needs to be bolded. So far the only way of superscripting is 
>> to use the expression() function. But to go about formatting the text such 
>> that it appears bolded as a title in my plots, I would have to type in the 
>> command
>>   
>>     
>>> text(expression(bold(paste("text for title",""^1)))....)
>>>     
>>>       
>> In some cases, the plot would require 3 footnotes to be shown, and the code 
>> would be
>>   
>>     
>>> text(expression(bold(paste("text for title",""^1, " "^2, " "^3))).....)
>>>     
>>>       
>> Most of my coworkers are still in the process of picking up R, some have 
>> never used R before. The above commands may be a little too much for them to 
>> handle.
>>
>> Is there an easier way of superscripting texts in R? It would be great if 
>> any of you know of alternative ways other than using the expression() 
>> function.
>>
>> I greatly appreciate your help.
>>
>> Thank you.
>>
>> Sincerely,
>> Shang
>>
>>
>>      [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-help@r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>   
>>     

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to