Thanks for the input, but I can confirm the either form of the paste command i.e. expression(paste("Length (", mu*m, ")")) or my original which had expression(paste("Length (", mu, "m)")), and the expression command alone have the same effect. It may be limited to Linux machines (which I did state I used in my first post) as when I previously used an OS X machine I didn't see the bug. I don't use OS X anymore, I've implemented a completely Linux based lab and would like to get this sorted out. Any suggestions? Rolf, if you can repoduce it then I think we have a bug report but to whom? R or Cairo?
John ________________________________________ From: David Winsemius [dwinsem...@comcast.net] Sent: Monday, January 09, 2012 10:36 PM To: Rolf Turner Cc: Walker, John Stephen; r-help@r-project.org Subject: Re: [R] CairoPDF and greek letter spacing On Jan 10, 2012, at 12:22 AM, Rolf Turner wrote: > On 10/01/12 15:25, David Winsemius wrote: >> >> On Jan 9, 2012, at 8:19 PM, Rolf Turner wrote: >> >>> On 10/01/12 11:40, John Walker wrote: >>>> I have a small problem with R graphics output. When I use the >>>> lattice >>>> package and CairoPDF to generate publication quality graphs I >>>> often use >>>> the expression to create an axis title that has microlitres or >>>> micrometers as a unit. I use something like the following >>>> 'expression(paste("Length (", mu,"m )"))' as an argument to the >>>> xlabel >>>> function. The command works but the mu and 'm' have a space between >>>> them. It looks like 'u m' rather than 'um'. It only seems to >>>> happen with >>>> the CairoPDF output on my linux machine, it's fine on the X11 >>>> device. >>>> I've fixed it in the past by importing the pdf into inkscape and >>>> manually adjusting the spacing (it's more difficult than it sounds >>>> because I can't actually adjust the spacing but have to delete >>>> the mu >>>> and re-enter it). Is there something I'm doing wrong? Is this a >>>> known >>>> bug? How can I fix it? >>> I can't help, but I can confirm the problem, for what *that* is >>> worth. >>> >>> It seems be an unfortunate interaction between lattice graphics and >>> the cairo_pdf() device. >>> >>> The space between the "mu" and the "m" does not appear with >>> ``ordinary'' R graphics, irrespective of device, nor does it appear >>> with lattice graphics and, e.g. the pdf() device. But it does >>> appear >>> with lattice graphics *and* the cairo_pdf() device. >>> >>> That probably means that the problem is subtle and will be difficult >>> to impossible to fix. :-( >> >> Doubtful. Do either of you realize that `paste` is a plotmath >> function that is misused more often than correctly used (at least >> as judged by the number o errors submitted to r-help)? I see no >> workable example, but if I did I would be trying instead : >> >> expression(Length~mu*m) > > You meant expression(Length==mu*m). I thought what was wanted: main=expression(Length~group("(",mu*m,")")) # Or main=expression(Length~"("*mu*m*")") And on a Mac (Leopard, R 2.14.1 Patched) I could not get a different display on the screen device and either pdf or cairo_pdf so your experience may have something to do with the as yet unstated OSes. > And yes that helps a bit, but there's > still a bit more space between the mu and the m than one would like. > > Compare: > > require(lattice) > cairo_pdf(file="mung.pdf") > > print > (xyplot > (y~x,data=data.frame(x=1:10,y=1:10),main=expression(Length==mu*m))) > dev.off() > and > pdf(file="gorp.pdf") > > print > (xyplot > (y~x,data=data.frame(x=1:10,y=1:10),main=expression(Length==mu*m))) > dev.off() > > There's not much in it, but there's just enough to be annoying. > > cheers, > > Rolf > > P. S. And I have never been able to figure out *anything* about how > paste() and > expression() interact. It is a complete mystery, and a matter of > trying things more > or less at random until something more or less works. > > R. T. > > P^2. S. I just realised that there's more space between the letters > of "Length" in > the cairo_pdf version, as well. Which is, I guess, The > Explanation. Is it a font thing? > > R. T. David Winsemius, MD West Hartford, CT ______________________________________________ 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.