See ?strwidth On Sat, Mar 27, 2010 at 3:42 PM, Dennis Fisher <fis...@plessthan.com> wrote: > Colleagues, > > I am trying to create a PDF document in which I use margin text with two > different fonts. The resulting text might be: > XXXXXyZZZ > where X and Z are one font and Y is the other. > > My plan was to do this in the following manner: > mtext("XXXXX ZZZ", cex=2, adj=0.5, family=SOMEFONT) > mtext("Y", cex=2, adj=??, family=DIFFERENTFONT) > > My question regards how to calculate "adj" for the second string. > > I tried the following (different strings here and the same font was used for > both strings - even under these circumstances, it does not work correctly): >> STRING1 <- "0123456789 0" >> STRING2 <- " x " >> pdf("GREEK.pdf", width=10, height=8) >> par(mfrow=c(1,1)) >> WIDTH1 <- strwidth("0123456789", cex=1, units="inches", family="", >> font=1) >> WIDTH2 <- strwidth("0", cex=1, units="inches", family="", >> font=1) >> plot(1,1,type="n", axes=F, xlab="", ylab="") >> mtext(line=-1, outer=T, cex=1, family="", font=1, adj=0.5, STRING1) >> mtext(line=-1, outer=T, cex=1, family="", font=1, adj=0.5 - (WIDTH2 - >> WIDTH1)/2/par()$pin[1], STRING2) >> mtext(line=-1, outer=F, cex=1, family="", font=1, adj=0.5, STRING1) >> mtext(line=-1, outer=F, cex=1, family="", font=1, adj=0.5 - (WIDTH2 - >> WIDTH1)/2/par()$din[1], STRING2) >> dev.off() > > > The logic is: > 1. determine the width of the first and second portions of the string > for the first font > 2. one-half of the difference between these two should be the offset > 3. however, WIDTH1 and WIDTH2 have units of inches - so I need to > normalize them to the width of the figure (if outer=T, use width of the page) > > Unfortunately, spacing is not perfect. Perhaps I misunderstand how "adj" is > applied or I am apply. Can anyone help me to understand how "adj" is applied? > > Thanks in advance. > > Dennis > > Dennis Fisher MD > P < (The "P Less Than" Company) > Phone: 1-866-PLessThan (1-866-753-7784) > Fax: 1-866-PLessThan (1-866-753-7784) > www.PLessThan.com > > > [[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. >
-- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O ______________________________________________ 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.